@litigiovirtual/ius-design-components 2.2.0 → 2.2.2
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.
|
@@ -1933,7 +1933,7 @@ class CountdownRingComponent {
|
|
|
1933
1933
|
inject(DestroyRef).onDestroy(() => this.clock.destroy());
|
|
1934
1934
|
}
|
|
1935
1935
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CountdownRingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1936
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: CountdownRingComponent, isStandalone: true, selector: "ius-countdown-ring", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, seconds: { classPropertyName: "seconds", publicName: "seconds", isSignal: true, isRequired: false, transformFunction: null }, running: { classPropertyName: "running", publicName: "running", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null }, inverse: { classPropertyName: "inverse", publicName: "inverse", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completed: "completed" }, host: { attributes: { "role": "img" }, properties: { "attr.data-size": "size()", "attr.data-eased": "isControlled() ? 'true' : null", "attr.aria-label": "ariaLabel() || null", "style.--_cdr-arc": "toneVars().arc", "style.--_cdr-trk": "toneVars().trk", "style.width.px": "dim().d", "style.height.px": "dim().d" }, classAttribute: "ius-cdring" }, ngImport: i0, template: "<svg\n class=\"ius-cdring__svg\"\n [attr.width]=\"dim().d\"\n [attr.height]=\"dim().d\"\n [attr.viewBox]=\"'0 0 ' + dim().d + ' ' + dim().d\"\n>\n <circle\n class=\"ius-cdring__trk\"\n [attr.cx]=\"dim().d / 2\"\n [attr.cy]=\"dim().d / 2\"\n [attr.r]=\"ringR()\"\n [attr.stroke-width]=\"dim().s\"\n pathLength=\"100\"\n />\n @if (arcLen() > 0) {\n <circle\n class=\"ius-cdring__arc\"\n [attr.cx]=\"dim().d / 2\"\n [attr.cy]=\"dim().d / 2\"\n [attr.r]=\"ringR()\"\n [attr.stroke-width]=\"dim().s\"\n pathLength=\"100\"\n [style.stroke-dasharray]=\"dashArray()\"\n />\n }\n</svg>\n\n<span class=\"ius-cdring__center\"><ng-content /></span>\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle}.ius-cdring__svg{display:block;transform:rotate(-90deg)}.ius-cdring__svg circle{fill:none}.ius-cdring__trk{stroke:var(--_cdr-trk)}.ius-cdring__arc{stroke:var(--_cdr-arc);stroke-linecap:round}:host([data-eased=true]) .ius-cdring__arc{transition:stroke-dasharray var(--ius-duration-base, .22s) var(--ius-ease-standard)}@media(prefers-reduced-motion:reduce){:host([data-eased=true]) .ius-cdring__arc{transition:none}}.ius-cdring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);line-height:1;font-variant-numeric:tabular-nums}:host([data-size=small]) .ius-cdring__center{display:none}:host([data-size=medium]) .ius-cdring__center{font-size:var(--ius-fs-sm)}:host([data-size=large]) .ius-cdring__center{font-size:var(--ius-fs-sm)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1936
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: CountdownRingComponent, isStandalone: true, selector: "ius-countdown-ring", inputs: { progress: { classPropertyName: "progress", publicName: "progress", isSignal: true, isRequired: false, transformFunction: null }, seconds: { classPropertyName: "seconds", publicName: "seconds", isSignal: true, isRequired: false, transformFunction: null }, running: { classPropertyName: "running", publicName: "running", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null }, inverse: { classPropertyName: "inverse", publicName: "inverse", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completed: "completed" }, host: { attributes: { "role": "img" }, properties: { "attr.data-size": "size()", "attr.data-eased": "isControlled() ? 'true' : null", "attr.aria-label": "ariaLabel() || null", "style.--_cdr-arc": "toneVars().arc", "style.--_cdr-trk": "toneVars().trk", "style.width.px": "dim().d", "style.height.px": "dim().d" }, classAttribute: "ius-cdring" }, ngImport: i0, template: "<svg\r\n class=\"ius-cdring__svg\"\r\n [attr.width]=\"dim().d\"\r\n [attr.height]=\"dim().d\"\r\n [attr.viewBox]=\"'0 0 ' + dim().d + ' ' + dim().d\"\r\n>\r\n <circle\r\n class=\"ius-cdring__trk\"\r\n [attr.cx]=\"dim().d / 2\"\r\n [attr.cy]=\"dim().d / 2\"\r\n [attr.r]=\"ringR()\"\r\n [attr.stroke-width]=\"dim().s\"\r\n pathLength=\"100\"\r\n />\r\n @if (arcLen() > 0) {\r\n <circle\r\n class=\"ius-cdring__arc\"\r\n [attr.cx]=\"dim().d / 2\"\r\n [attr.cy]=\"dim().d / 2\"\r\n [attr.r]=\"ringR()\"\r\n [attr.stroke-width]=\"dim().s\"\r\n pathLength=\"100\"\r\n [style.stroke-dasharray]=\"dashArray()\"\r\n />\r\n }\r\n</svg>\r\n\r\n<span class=\"ius-cdring__center\"><ng-content /></span>\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle}.ius-cdring__svg{display:block;transform:rotate(-90deg)}.ius-cdring__svg circle{fill:none}.ius-cdring__trk{stroke:var(--_cdr-trk)}.ius-cdring__arc{stroke:var(--_cdr-arc);stroke-linecap:round}:host([data-eased=true]) .ius-cdring__arc{transition:stroke-dasharray var(--ius-duration-base, .22s) var(--ius-ease-standard)}@media(prefers-reduced-motion:reduce){:host([data-eased=true]) .ius-cdring__arc{transition:none}}.ius-cdring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);line-height:1;font-variant-numeric:tabular-nums}:host([data-size=small]) .ius-cdring__center{display:none}:host([data-size=medium]) .ius-cdring__center{font-size:var(--ius-fs-sm)}:host([data-size=large]) .ius-cdring__center{font-size:var(--ius-fs-sm)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1937
1937
|
}
|
|
1938
1938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CountdownRingComponent, decorators: [{
|
|
1939
1939
|
type: Component,
|
|
@@ -1947,7 +1947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
1947
1947
|
'[style.--_cdr-trk]': 'toneVars().trk',
|
|
1948
1948
|
'[style.width.px]': 'dim().d',
|
|
1949
1949
|
'[style.height.px]': 'dim().d',
|
|
1950
|
-
}, template: "<svg\n class=\"ius-cdring__svg\"\n [attr.width]=\"dim().d\"\n [attr.height]=\"dim().d\"\n [attr.viewBox]=\"'0 0 ' + dim().d + ' ' + dim().d\"\n>\n <circle\n class=\"ius-cdring__trk\"\n [attr.cx]=\"dim().d / 2\"\n [attr.cy]=\"dim().d / 2\"\n [attr.r]=\"ringR()\"\n [attr.stroke-width]=\"dim().s\"\n pathLength=\"100\"\n />\n @if (arcLen() > 0) {\n <circle\n class=\"ius-cdring__arc\"\n [attr.cx]=\"dim().d / 2\"\n [attr.cy]=\"dim().d / 2\"\n [attr.r]=\"ringR()\"\n [attr.stroke-width]=\"dim().s\"\n pathLength=\"100\"\n [style.stroke-dasharray]=\"dashArray()\"\n />\n }\n</svg>\n\n<span class=\"ius-cdring__center\"><ng-content /></span>\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle}.ius-cdring__svg{display:block;transform:rotate(-90deg)}.ius-cdring__svg circle{fill:none}.ius-cdring__trk{stroke:var(--_cdr-trk)}.ius-cdring__arc{stroke:var(--_cdr-arc);stroke-linecap:round}:host([data-eased=true]) .ius-cdring__arc{transition:stroke-dasharray var(--ius-duration-base, .22s) var(--ius-ease-standard)}@media(prefers-reduced-motion:reduce){:host([data-eased=true]) .ius-cdring__arc{transition:none}}.ius-cdring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);line-height:1;font-variant-numeric:tabular-nums}:host([data-size=small]) .ius-cdring__center{display:none}:host([data-size=medium]) .ius-cdring__center{font-size:var(--ius-fs-sm)}:host([data-size=large]) .ius-cdring__center{font-size:var(--ius-fs-sm)}\n"] }]
|
|
1950
|
+
}, template: "<svg\r\n class=\"ius-cdring__svg\"\r\n [attr.width]=\"dim().d\"\r\n [attr.height]=\"dim().d\"\r\n [attr.viewBox]=\"'0 0 ' + dim().d + ' ' + dim().d\"\r\n>\r\n <circle\r\n class=\"ius-cdring__trk\"\r\n [attr.cx]=\"dim().d / 2\"\r\n [attr.cy]=\"dim().d / 2\"\r\n [attr.r]=\"ringR()\"\r\n [attr.stroke-width]=\"dim().s\"\r\n pathLength=\"100\"\r\n />\r\n @if (arcLen() > 0) {\r\n <circle\r\n class=\"ius-cdring__arc\"\r\n [attr.cx]=\"dim().d / 2\"\r\n [attr.cy]=\"dim().d / 2\"\r\n [attr.r]=\"ringR()\"\r\n [attr.stroke-width]=\"dim().s\"\r\n pathLength=\"100\"\r\n [style.stroke-dasharray]=\"dashArray()\"\r\n />\r\n }\r\n</svg>\r\n\r\n<span class=\"ius-cdring__center\"><ng-content /></span>\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;vertical-align:middle}.ius-cdring__svg{display:block;transform:rotate(-90deg)}.ius-cdring__svg circle{fill:none}.ius-cdring__trk{stroke:var(--_cdr-trk)}.ius-cdring__arc{stroke:var(--_cdr-arc);stroke-linecap:round}:host([data-eased=true]) .ius-cdring__arc{transition:stroke-dasharray var(--ius-duration-base, .22s) var(--ius-ease-standard)}@media(prefers-reduced-motion:reduce){:host([data-eased=true]) .ius-cdring__arc{transition:none}}.ius-cdring__center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);line-height:1;font-variant-numeric:tabular-nums}:host([data-size=small]) .ius-cdring__center{display:none}:host([data-size=medium]) .ius-cdring__center{font-size:var(--ius-fs-sm)}:host([data-size=large]) .ius-cdring__center{font-size:var(--ius-fs-sm)}\n"] }]
|
|
1951
1951
|
}], ctorParameters: () => [], propDecorators: { progress: [{ type: i0.Input, args: [{ isSignal: true, alias: "progress", required: false }] }], seconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "seconds", required: false }] }], running: [{ type: i0.Input, args: [{ isSignal: true, alias: "running", required: false }] }], paused: [{ type: i0.Input, args: [{ isSignal: true, alias: "paused", required: false }] }], inverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "inverse", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], completed: [{ type: i0.Output, args: ["completed"] }] } });
|
|
1952
1952
|
|
|
1953
1953
|
/** Color del número por tono (espeja el arco del CountdownRing). */
|
|
@@ -2064,7 +2064,7 @@ class CountdownComponent {
|
|
|
2064
2064
|
inject(DestroyRef).onDestroy(() => this.clock.destroy());
|
|
2065
2065
|
}
|
|
2066
2066
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CountdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2067
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: CountdownComponent, isStandalone: true, selector: "ius-countdown", inputs: { seconds: { classPropertyName: "seconds", publicName: "seconds", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, running: { classPropertyName: "running", publicName: "running", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showRing: { classPropertyName: "showRing", publicName: "showRing", isSignal: true, isRequired: false, transformFunction: null }, ringPlacement: { classPropertyName: "ringPlacement", publicName: "ringPlacement", isSignal: true, isRequired: false, transformFunction: null }, ringInverse: { classPropertyName: "ringInverse", publicName: "ringInverse", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completed: "completed" }, host: { attributes: { "role": "timer", "aria-live": "off" }, properties: { "attr.data-size": "size()", "attr.data-done": "done() ? 'true' : null", "attr.aria-label": "ariaLabel() || null", "style.--_cd-num": "numColor()" }, classAttribute: "ius-countdown" }, ngImport: i0, template: "@if (showRing() && ringPlacement() === 'start') {\n <ius-countdown-ring\n [progress]=\"fraction()\"\n [inverse]=\"ringInv()\"\n [tone]=\"tone()\"\n [size]=\"size()\"\n />\n}\n\n@if (label() != null) {\n <span class=\"ius-countdown__label\">{{ label() }}</span>\n}\n\n<span class=\"ius-countdown__time\">{{ text() }}</span>\n\n@if (showRing() && ringPlacement() === 'end') {\n <ius-countdown-ring\n [progress]=\"fraction()\"\n [inverse]=\"ringInv()\"\n [tone]=\"tone()\"\n [size]=\"size()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-display);line-height:1;-webkit-user-select:none;user-select:none}.ius-countdown__label{color:var(--ius-text-secondary);font-weight:var(--ius-fw-regular, 400)}.ius-countdown__time{color:var(--_cd-num, var(--ius-primary-900));font-weight:var(--ius-fw-bold, 700);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:host([data-done=true]) .ius-countdown__time{opacity:.55}:host([data-size=small]) .ius-countdown__label{font-size:var(--ius-fs-sm)}:host([data-size=small]) .ius-countdown__time{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__label{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__time{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__label{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__time{font-size:var(--ius-fs-h3)}\n"], dependencies: [{ kind: "component", type: CountdownRingComponent, selector: "ius-countdown-ring", inputs: ["progress", "seconds", "running", "paused", "inverse", "tone", "size", "ariaLabel"], outputs: ["completed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2067
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: CountdownComponent, isStandalone: true, selector: "ius-countdown", inputs: { seconds: { classPropertyName: "seconds", publicName: "seconds", isSignal: true, isRequired: true, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, running: { classPropertyName: "running", publicName: "running", isSignal: true, isRequired: false, transformFunction: null }, paused: { classPropertyName: "paused", publicName: "paused", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, suffix: { classPropertyName: "suffix", publicName: "suffix", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, showRing: { classPropertyName: "showRing", publicName: "showRing", isSignal: true, isRequired: false, transformFunction: null }, ringPlacement: { classPropertyName: "ringPlacement", publicName: "ringPlacement", isSignal: true, isRequired: false, transformFunction: null }, ringInverse: { classPropertyName: "ringInverse", publicName: "ringInverse", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { completed: "completed" }, host: { attributes: { "role": "timer", "aria-live": "off" }, properties: { "attr.data-size": "size()", "attr.data-done": "done() ? 'true' : null", "attr.aria-label": "ariaLabel() || null", "style.--_cd-num": "numColor()" }, classAttribute: "ius-countdown" }, ngImport: i0, template: "@if (showRing() && ringPlacement() === 'start') {\r\n <ius-countdown-ring\r\n [progress]=\"fraction()\"\r\n [inverse]=\"ringInv()\"\r\n [tone]=\"tone()\"\r\n [size]=\"size()\"\r\n />\r\n}\r\n\r\n@if (label() != null) {\r\n <span class=\"ius-countdown__label\">{{ label() }}</span>\r\n}\r\n\r\n<span class=\"ius-countdown__time\">{{ text() }}</span>\r\n\r\n@if (showRing() && ringPlacement() === 'end') {\r\n <ius-countdown-ring\r\n [progress]=\"fraction()\"\r\n [inverse]=\"ringInv()\"\r\n [tone]=\"tone()\"\r\n [size]=\"size()\"\r\n />\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-display);line-height:1;-webkit-user-select:none;user-select:none}.ius-countdown__label{color:var(--ius-text-secondary);font-weight:var(--ius-fw-regular, 400)}.ius-countdown__time{color:var(--_cd-num, var(--ius-primary-900));font-weight:var(--ius-fw-bold, 700);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:host([data-done=true]) .ius-countdown__time{opacity:.55}:host([data-size=small]) .ius-countdown__label{font-size:var(--ius-fs-sm)}:host([data-size=small]) .ius-countdown__time{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__label{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__time{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__label{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__time{font-size:var(--ius-fs-h3)}\n"], dependencies: [{ kind: "component", type: CountdownRingComponent, selector: "ius-countdown-ring", inputs: ["progress", "seconds", "running", "paused", "inverse", "tone", "size", "ariaLabel"], outputs: ["completed"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2068
2068
|
}
|
|
2069
2069
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CountdownComponent, decorators: [{
|
|
2070
2070
|
type: Component,
|
|
@@ -2076,7 +2076,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
2076
2076
|
'[attr.data-done]': "done() ? 'true' : null",
|
|
2077
2077
|
'[attr.aria-label]': 'ariaLabel() || null',
|
|
2078
2078
|
'[style.--_cd-num]': 'numColor()',
|
|
2079
|
-
}, template: "@if (showRing() && ringPlacement() === 'start') {\n <ius-countdown-ring\n [progress]=\"fraction()\"\n [inverse]=\"ringInv()\"\n [tone]=\"tone()\"\n [size]=\"size()\"\n />\n}\n\n@if (label() != null) {\n <span class=\"ius-countdown__label\">{{ label() }}</span>\n}\n\n<span class=\"ius-countdown__time\">{{ text() }}</span>\n\n@if (showRing() && ringPlacement() === 'end') {\n <ius-countdown-ring\n [progress]=\"fraction()\"\n [inverse]=\"ringInv()\"\n [tone]=\"tone()\"\n [size]=\"size()\"\n />\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-display);line-height:1;-webkit-user-select:none;user-select:none}.ius-countdown__label{color:var(--ius-text-secondary);font-weight:var(--ius-fw-regular, 400)}.ius-countdown__time{color:var(--_cd-num, var(--ius-primary-900));font-weight:var(--ius-fw-bold, 700);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:host([data-done=true]) .ius-countdown__time{opacity:.55}:host([data-size=small]) .ius-countdown__label{font-size:var(--ius-fs-sm)}:host([data-size=small]) .ius-countdown__time{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__label{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__time{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__label{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__time{font-size:var(--ius-fs-h3)}\n"] }]
|
|
2079
|
+
}, template: "@if (showRing() && ringPlacement() === 'start') {\r\n <ius-countdown-ring\r\n [progress]=\"fraction()\"\r\n [inverse]=\"ringInv()\"\r\n [tone]=\"tone()\"\r\n [size]=\"size()\"\r\n />\r\n}\r\n\r\n@if (label() != null) {\r\n <span class=\"ius-countdown__label\">{{ label() }}</span>\r\n}\r\n\r\n<span class=\"ius-countdown__time\">{{ text() }}</span>\r\n\r\n@if (showRing() && ringPlacement() === 'end') {\r\n <ius-countdown-ring\r\n [progress]=\"fraction()\"\r\n [inverse]=\"ringInv()\"\r\n [tone]=\"tone()\"\r\n [size]=\"size()\"\r\n />\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-display);line-height:1;-webkit-user-select:none;user-select:none}.ius-countdown__label{color:var(--ius-text-secondary);font-weight:var(--ius-fw-regular, 400)}.ius-countdown__time{color:var(--_cd-num, var(--ius-primary-900));font-weight:var(--ius-fw-bold, 700);font-variant-numeric:tabular-nums;letter-spacing:-.01em}:host([data-done=true]) .ius-countdown__time{opacity:.55}:host([data-size=small]) .ius-countdown__label{font-size:var(--ius-fs-sm)}:host([data-size=small]) .ius-countdown__time{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__label{font-size:var(--ius-fs-lg)}:host([data-size=medium]) .ius-countdown__time{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__label{font-size:var(--ius-fs-h5)}:host([data-size=large]) .ius-countdown__time{font-size:var(--ius-fs-h3)}\n"] }]
|
|
2080
2080
|
}], ctorParameters: () => [], propDecorators: { seconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "seconds", required: true }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], running: [{ type: i0.Input, args: [{ isSignal: true, alias: "running", required: false }] }], paused: [{ type: i0.Input, args: [{ isSignal: true, alias: "paused", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], suffix: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffix", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], showRing: [{ type: i0.Input, args: [{ isSignal: true, alias: "showRing", required: false }] }], ringPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "ringPlacement", required: false }] }], ringInverse: [{ type: i0.Input, args: [{ isSignal: true, alias: "ringInverse", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], completed: [{ type: i0.Output, args: ["completed"] }] } });
|
|
2081
2081
|
|
|
2082
2082
|
/** Ícono por defecto según el tono. */
|
|
@@ -2492,11 +2492,11 @@ class IllustrationComponent {
|
|
|
2492
2492
|
this.safeInner = this.sanitizer.bypassSecurityTrustHtml(inner);
|
|
2493
2493
|
}
|
|
2494
2494
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: IllustrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: IllustrationComponent, isStandalone: true, selector: "ius-illustration", inputs: { name: "name", size: "size", title: "title" }, host: { classAttribute: "ius-illustration" }, ngImport: i0, template: "@if (hasEntry) {\n <svg\n [attr.viewBox]=\"viewBox\"\n [attr.width]=\"px\"\n [attr.height]=\"px\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel\"\n [innerHTML]=\"safeInner\"\n ></svg>\n} @else {\n <!-- Placeholder: nombre v\u00E1lido sin arte disponible (data parcial) o nombre\n desconocido. Espejo del fallback de Illustration.jsx. -->\n <svg\n viewBox=\"0 0 110 110\"\n [attr.width]=\"px\"\n [attr.height]=\"px\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <rect\n x=\"6\"\n y=\"6\"\n width=\"98\"\n height=\"98\"\n rx=\"14\"\n fill=\"var(--ius-neutral-2)\"\n stroke=\"var(--ius-stroke)\"\n stroke-dasharray=\"4 4\"\n />\n </svg>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0}svg{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2495
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: IllustrationComponent, isStandalone: true, selector: "ius-illustration", inputs: { name: "name", size: "size", title: "title" }, host: { classAttribute: "ius-illustration" }, ngImport: i0, template: "@if (hasEntry) {\r\n <svg\r\n [attr.viewBox]=\"viewBox\"\r\n [attr.width]=\"px\"\r\n [attr.height]=\"px\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [innerHTML]=\"safeInner\"\r\n ></svg>\r\n} @else {\r\n <!-- Placeholder: nombre v\u00E1lido sin arte disponible (data parcial) o nombre\r\n desconocido. Espejo del fallback de Illustration.jsx. -->\r\n <svg\r\n viewBox=\"0 0 110 110\"\r\n [attr.width]=\"px\"\r\n [attr.height]=\"px\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n >\r\n <rect\r\n x=\"6\"\r\n y=\"6\"\r\n width=\"98\"\r\n height=\"98\"\r\n rx=\"14\"\r\n fill=\"var(--ius-neutral-2)\"\r\n stroke=\"var(--ius-stroke)\"\r\n stroke-dasharray=\"4 4\"\r\n />\r\n </svg>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0}svg{display:block}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2496
2496
|
}
|
|
2497
2497
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: IllustrationComponent, decorators: [{
|
|
2498
2498
|
type: Component,
|
|
2499
|
-
args: [{ selector: 'ius-illustration', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-illustration' }, template: "@if (hasEntry) {\n <svg\n [attr.viewBox]=\"viewBox\"\n [attr.width]=\"px\"\n [attr.height]=\"px\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel\"\n [innerHTML]=\"safeInner\"\n ></svg>\n} @else {\n <!-- Placeholder: nombre v\u00E1lido sin arte disponible (data parcial) o nombre\n desconocido. Espejo del fallback de Illustration.jsx. -->\n <svg\n viewBox=\"0 0 110 110\"\n [attr.width]=\"px\"\n [attr.height]=\"px\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <rect\n x=\"6\"\n y=\"6\"\n width=\"98\"\n height=\"98\"\n rx=\"14\"\n fill=\"var(--ius-neutral-2)\"\n stroke=\"var(--ius-stroke)\"\n stroke-dasharray=\"4 4\"\n />\n </svg>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0}svg{display:block}\n"] }]
|
|
2499
|
+
args: [{ selector: 'ius-illustration', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-illustration' }, template: "@if (hasEntry) {\r\n <svg\r\n [attr.viewBox]=\"viewBox\"\r\n [attr.width]=\"px\"\r\n [attr.height]=\"px\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [innerHTML]=\"safeInner\"\r\n ></svg>\r\n} @else {\r\n <!-- Placeholder: nombre v\u00E1lido sin arte disponible (data parcial) o nombre\r\n desconocido. Espejo del fallback de Illustration.jsx. -->\r\n <svg\r\n viewBox=\"0 0 110 110\"\r\n [attr.width]=\"px\"\r\n [attr.height]=\"px\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n >\r\n <rect\r\n x=\"6\"\r\n y=\"6\"\r\n width=\"98\"\r\n height=\"98\"\r\n rx=\"14\"\r\n fill=\"var(--ius-neutral-2)\"\r\n stroke=\"var(--ius-stroke)\"\r\n stroke-dasharray=\"4 4\"\r\n />\r\n </svg>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0}svg{display:block}\n"] }]
|
|
2500
2500
|
}], propDecorators: { name: [{
|
|
2501
2501
|
type: Input,
|
|
2502
2502
|
args: [{ required: true }]
|
|
@@ -3640,7 +3640,7 @@ class AccountItemComponent {
|
|
|
3640
3640
|
this.clicked.emit(event);
|
|
3641
3641
|
}
|
|
3642
3642
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccountItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3643
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AccountItemComponent, isStandalone: true, selector: "ius-account-item", inputs: { name: "name", subtitle: "subtitle", avatar: "avatar", icon: "icon", monogram: "monogram", color: "color", shape: "shape", selected: ["selected", "selected", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], actions: "actions", actionsLabel: "actionsLabel", state: "state", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.data-state": "state || null", "attr.data-disabled": "disabled ? 'true' : null", "attr.data-actionable": "actionable ? 'true' : null" }, classAttribute: "ius-acctitem" }, queries: [{ propertyName: "nameRef", first: true, predicate: IusAccountItemNameDirective, descendants: true, isSignal: true }, { propertyName: "subtitleRef", first: true, predicate: IusAccountItemSubtitleDirective, descendants: true, isSignal: true }, { propertyName: "trailingRef", first: true, predicate: IusAccountItemTrailingDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- La superficie la pone ius-card (outlined \u00B7 radius lg \u00B7 padding none), como\
|
|
3643
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AccountItemComponent, isStandalone: true, selector: "ius-account-item", inputs: { name: "name", subtitle: "subtitle", avatar: "avatar", icon: "icon", monogram: "monogram", color: "color", shape: "shape", selected: ["selected", "selected", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], actions: "actions", actionsLabel: "actionsLabel", state: "state", ariaLabel: "ariaLabel" }, outputs: { clicked: "clicked" }, host: { properties: { "attr.data-state": "state || null", "attr.data-disabled": "disabled ? 'true' : null", "attr.data-actionable": "actionable ? 'true' : null" }, classAttribute: "ius-acctitem" }, queries: [{ propertyName: "nameRef", first: true, predicate: IusAccountItemNameDirective, descendants: true, isSignal: true }, { propertyName: "subtitleRef", first: true, predicate: IusAccountItemSubtitleDirective, descendants: true, isSignal: true }, { propertyName: "trailingRef", first: true, predicate: IusAccountItemTrailingDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- La superficie la pone ius-card (outlined \u00B7 radius lg \u00B7 padding none), como\n manda la ng-spec: no se reescribe a mano. Con `padding=\"none\"` el padding de\n la fila lo pone .ius-acctitem__row, que es \u00ABel propio cuerpo\u00BB del que habla\n Card (el golden lo escribe sobre .ius-card__body, encapsulado aqu\u00ED).\n\n La ra\u00EDz NO es navegable: el \u00E1rea primaria es el <button> interno\n .ius-acctitem__main, como en la rama `split` del golden \u2014 as\u00ED el \u22EE nunca\n queda anidado dentro de otro control. Ver la nota de port del .ts. -->\n<ius-card\n class=\"ius-acctitem__card\"\n variant=\"outlined\"\n radius=\"lg\"\n padding=\"none\"\n [selected]=\"selected\"\n>\n <div class=\"ius-acctitem__row\">\n <button\n type=\"button\"\n class=\"ius-acctitem__main\"\n [attr.aria-label]=\"label\"\n [attr.aria-pressed]=\"ariaPressed\"\n [disabled]=\"disabled\"\n (click)=\"onMainClick($event)\"\n >\n <ius-avatar\n size=\"small\"\n [shape]=\"shape\"\n [src]=\"avatar\"\n [name]=\"avatarName\"\n [monogram]=\"monogram\"\n [icon]=\"effIcon\"\n [color]=\"color\"\n [ariaLabel]=\"name\"\n />\n\n <span class=\"ius-acctitem__body\">\n <span class=\"ius-acctitem__name\">{{ name }}<ng-content select=\"[iusAccountItemName]\" /></span>\n @if (hasSubtitle) {\n <span class=\"ius-acctitem__sub\">{{ subtitle }}<ng-content select=\"[iusAccountItemSubtitle]\" /></span>\n }\n </span>\n\n @if (selected) {\n <span class=\"ius-acctitem__check\"><span translate=\"no\" class=\"ius-icon\">check_circle</span></span>\n }\n </button>\n\n @if (hasTrailing) {\n <span class=\"ius-acctitem__trailing\"><ng-content select=\"[iusAccountItemTrailing]\" /></span>\n }\n\n @if (showMenu) {\n <!-- Slot de ancho fijo (--_ai-actions-w): alinea todas las listas de\n cuentas del ecosistema. Compone ius-dropdown; su clic no dispara la\n fila (el \u00E1rea primaria es un bot\u00F3n hermano, no un ancestro). -->\n <span class=\"ius-acctitem__actions\">\n <ius-dropdown [items]=\"actions\" placement=\"bottom-end\" [ariaLabel]=\"actionsLabel\">\n <ius-icon-button\n iusDropdownTrigger\n icon=\"more_vert\"\n variant=\"tertiary\"\n size=\"small\"\n [ariaLabel]=\"menuLabel\"\n [disabled]=\"disabled\"\n />\n </ius-dropdown>\n </span>\n }\n </div>\n</ius-card>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;text-align:left;--_ai-actions-w: 36px}.ius-acctitem__row{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm)}.ius-acctitem__main{appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-acctitem__main:focus-visible{outline:none}:host(:has(.ius-acctitem__main:focus-visible)) .ius-acctitem__card{box-shadow:var(--ius-focus-ring)}:host([data-actionable=true]:hover) .ius-acctitem__card,:host([data-state=hover]) .ius-acctitem__card{box-shadow:none;transform:none;border-color:var(--ius-info-300)}:host([data-actionable=true]:has(.ius-acctitem__main:active)) .ius-acctitem__card,:host([data-state=pressed]) .ius-acctitem__card{box-shadow:none;transform:none;background:var(--ius-info-100);border-color:var(--ius-info-300)}.ius-acctitem__card[data-selected=true]{background:var(--ius-info-100);border-color:var(--ius-info-300);box-shadow:none}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-acctitem__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ius-acctitem__name{font-size:var(--ius-fs-base);line-height:1.3;font-weight:var(--ius-fw-medium, 500);color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-acctitem__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-acctitem__check{flex:0 0 auto;display:inline-flex;color:var(--ius-primary-900)}.ius-acctitem__check .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-acctitem__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-acctitem__actions{flex:0 0 auto;width:var(--_ai-actions-w);display:inline-flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "component", type: AvatarComponent, selector: "ius-avatar", inputs: ["alt", "name", "monogram", "icon", "shape", "size", "color", "editable", "editIcon", "ariaLabel", "src"], outputs: ["edit"] }, { kind: "component", type: CardComponent, selector: "ius-card, a[ius-card], button[ius-card], section[ius-card], article[ius-card]", inputs: ["variant", "padding", "radius", "interactive", "selected", "ariaLabel"], outputs: ["clicked"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "directive", type: IusDropdownTriggerDirective, selector: "[iusDropdownTrigger]" }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3644
3644
|
}
|
|
3645
3645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AccountItemComponent, decorators: [{
|
|
3646
3646
|
type: Component,
|
|
@@ -3655,7 +3655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
3655
3655
|
'[attr.data-state]': 'state || null',
|
|
3656
3656
|
'[attr.data-disabled]': "disabled ? 'true' : null",
|
|
3657
3657
|
'[attr.data-actionable]': "actionable ? 'true' : null",
|
|
3658
|
-
}, template: "<!-- La superficie la pone ius-card (outlined \u00B7 radius lg \u00B7 padding none), como\
|
|
3658
|
+
}, template: "<!-- La superficie la pone ius-card (outlined \u00B7 radius lg \u00B7 padding none), como\n manda la ng-spec: no se reescribe a mano. Con `padding=\"none\"` el padding de\n la fila lo pone .ius-acctitem__row, que es \u00ABel propio cuerpo\u00BB del que habla\n Card (el golden lo escribe sobre .ius-card__body, encapsulado aqu\u00ED).\n\n La ra\u00EDz NO es navegable: el \u00E1rea primaria es el <button> interno\n .ius-acctitem__main, como en la rama `split` del golden \u2014 as\u00ED el \u22EE nunca\n queda anidado dentro de otro control. Ver la nota de port del .ts. -->\n<ius-card\n class=\"ius-acctitem__card\"\n variant=\"outlined\"\n radius=\"lg\"\n padding=\"none\"\n [selected]=\"selected\"\n>\n <div class=\"ius-acctitem__row\">\n <button\n type=\"button\"\n class=\"ius-acctitem__main\"\n [attr.aria-label]=\"label\"\n [attr.aria-pressed]=\"ariaPressed\"\n [disabled]=\"disabled\"\n (click)=\"onMainClick($event)\"\n >\n <ius-avatar\n size=\"small\"\n [shape]=\"shape\"\n [src]=\"avatar\"\n [name]=\"avatarName\"\n [monogram]=\"monogram\"\n [icon]=\"effIcon\"\n [color]=\"color\"\n [ariaLabel]=\"name\"\n />\n\n <span class=\"ius-acctitem__body\">\n <span class=\"ius-acctitem__name\">{{ name }}<ng-content select=\"[iusAccountItemName]\" /></span>\n @if (hasSubtitle) {\n <span class=\"ius-acctitem__sub\">{{ subtitle }}<ng-content select=\"[iusAccountItemSubtitle]\" /></span>\n }\n </span>\n\n @if (selected) {\n <span class=\"ius-acctitem__check\"><span translate=\"no\" class=\"ius-icon\">check_circle</span></span>\n }\n </button>\n\n @if (hasTrailing) {\n <span class=\"ius-acctitem__trailing\"><ng-content select=\"[iusAccountItemTrailing]\" /></span>\n }\n\n @if (showMenu) {\n <!-- Slot de ancho fijo (--_ai-actions-w): alinea todas las listas de\n cuentas del ecosistema. Compone ius-dropdown; su clic no dispara la\n fila (el \u00E1rea primaria es un bot\u00F3n hermano, no un ancestro). -->\n <span class=\"ius-acctitem__actions\">\n <ius-dropdown [items]=\"actions\" placement=\"bottom-end\" [ariaLabel]=\"actionsLabel\">\n <ius-icon-button\n iusDropdownTrigger\n icon=\"more_vert\"\n variant=\"tertiary\"\n size=\"small\"\n [ariaLabel]=\"menuLabel\"\n [disabled]=\"disabled\"\n />\n </ius-dropdown>\n </span>\n }\n </div>\n</ius-card>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-width:0;box-sizing:border-box;-webkit-user-select:none;user-select:none;text-align:left;--_ai-actions-w: 36px}.ius-acctitem__row{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm)}.ius-acctitem__main{appearance:none;background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer;flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-acctitem__main:focus-visible{outline:none}:host(:has(.ius-acctitem__main:focus-visible)) .ius-acctitem__card{box-shadow:var(--ius-focus-ring)}:host([data-actionable=true]:hover) .ius-acctitem__card,:host([data-state=hover]) .ius-acctitem__card{box-shadow:none;transform:none;border-color:var(--ius-info-300)}:host([data-actionable=true]:has(.ius-acctitem__main:active)) .ius-acctitem__card,:host([data-state=pressed]) .ius-acctitem__card{box-shadow:none;transform:none;background:var(--ius-info-100);border-color:var(--ius-info-300)}.ius-acctitem__card[data-selected=true]{background:var(--ius-info-100);border-color:var(--ius-info-300);box-shadow:none}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-acctitem__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.ius-acctitem__name{font-size:var(--ius-fs-base);line-height:1.3;font-weight:var(--ius-fw-medium, 500);color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-acctitem__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-acctitem__check{flex:0 0 auto;display:inline-flex;color:var(--ius-primary-900)}.ius-acctitem__check .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-acctitem__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-acctitem__actions{flex:0 0 auto;width:var(--_ai-actions-w);display:inline-flex;align-items:center;justify-content:center}\n"] }]
|
|
3659
3659
|
}], propDecorators: { name: [{
|
|
3660
3660
|
type: Input
|
|
3661
3661
|
}], subtitle: [{
|
|
@@ -4770,7 +4770,7 @@ class LoadingMarkComponent {
|
|
|
4770
4770
|
return this.surface === 'dark' ? 'var(--ius-primary-600)' : 'var(--ius-primary-900)';
|
|
4771
4771
|
}
|
|
4772
4772
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LoadingMarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4773
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.8", type: LoadingMarkComponent, isStandalone: true, selector: "ius-loading-mark", inputs: { size: ["size", "size", numberAttribute], surface: "surface", paused: ["paused", "paused", booleanAttribute], ariaLabel: "ariaLabel" }, host: { attributes: { "role": "status", "aria-live": "polite" }, properties: { "attr.data-surface": "surface", "attr.data-paused": "paused ? 'true' : null", "attr.aria-label": "ariaLabel" } }, ngImport: i0, template: "<svg\
|
|
4773
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "22.0.8", type: LoadingMarkComponent, isStandalone: true, selector: "ius-loading-mark", inputs: { size: ["size", "size", numberAttribute], surface: "surface", paused: ["paused", "paused", booleanAttribute], ariaLabel: "ariaLabel" }, host: { attributes: { "role": "status", "aria-live": "polite" }, properties: { "attr.data-surface": "surface", "attr.data-paused": "paused ? 'true' : null", "attr.aria-label": "ariaLabel" } }, ngImport: i0, template: "<svg\n class=\"ius-loadmark__svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n viewBox=\"-16 -16 132 132\"\n aria-hidden=\"true\"\n>\n <defs>\n <!-- Degradado base (navy \u00B7 navy\u2192cian en dark) -->\n <linearGradient\n [attr.id]=\"baseId\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"6\"\n y1=\"94\"\n x2=\"94\"\n y2=\"6\"\n >\n <stop offset=\"0\" [attr.stop-color]=\"baseFrom\" />\n <stop offset=\"1\" [attr.stop-color]=\"baseTo\" />\n </linearGradient>\n\n <!-- Glow del cometa -->\n <radialGradient [attr.id]=\"glowId\">\n <stop offset=\"0%\" stop-color=\"var(--ius-primary-100)\" />\n <stop offset=\"35%\" stop-color=\"var(--ius-primary-400)\" />\n <stop offset=\"100%\" stop-color=\"var(--ius-primary-400)\" stop-opacity=\"0\" />\n </radialGradient>\n\n <!-- Desenfoque de la cola -->\n <filter [attr.id]=\"softId\" x=\"-60%\" y=\"-60%\" width=\"220%\" height=\"220%\">\n <feGaussianBlur stdDeviation=\"5\" />\n </filter>\n\n <!-- M\u00E1scara: tres fichas deslizantes -->\n <mask [attr.id]=\"maskId\" maskUnits=\"userSpaceOnUse\">\n <g class=\"ius-loadmark__tile ius-loadmark__tile--a\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"ius-loadmark__tile ius-loadmark__tile--b\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"ius-loadmark__tile ius-loadmark__tile--c\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n </mask>\n </defs>\n\n <!-- Giro del conjunto -->\n <g class=\"ius-loadmark__spin\">\n <g [attr.mask]=\"'url(#' + maskId + ')'\">\n <rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" [attr.fill]=\"'url(#' + baseId + ')'\" />\n <!-- Cometa orbitando el contorno -->\n <g class=\"ius-loadmark__orbit\">\n <circle\n cx=\"50\"\n cy=\"4\"\n r=\"40\"\n [attr.fill]=\"'url(#' + glowId + ')'\"\n [attr.filter]=\"'url(#' + softId + ')'\"\n />\n </g>\n </g>\n </g>\n</svg>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0;color:var(--ius-primary-900)}.ius-loadmark__svg{display:block}.ius-loadmark__spin{transform-box:view-box;transform-origin:50px 50px;animation:ius-lm-spin var(--ius-duration-ambient) linear infinite;animation-play-state:var(--ius-motion-loop)}@keyframes ius-lm-spin{to{transform:rotate(360deg)}}.ius-loadmark__orbit{transform-box:view-box;transform-origin:50px 50px;animation:ius-lm-orbit 2s linear infinite;animation-play-state:var(--ius-motion-loop)}@keyframes ius-lm-orbit{to{transform:rotate(360deg)}}.ius-loadmark__tile{animation-duration:5s;animation-iteration-count:infinite;animation-timing-function:var(--ius-ease-ambient);animation-play-state:var(--ius-motion-loop)}.ius-loadmark__tile--a{animation-name:ius-lm-a}.ius-loadmark__tile--b{animation-name:ius-lm-b}.ius-loadmark__tile--c{animation-name:ius-lm-c}@keyframes ius-lm-a{0%{transform:translate(5px,5px)}8.333%{transform:translate(57px,5px)}25%{transform:translate(57px,5px)}33.333%{transform:translate(57px,57px)}50%{transform:translate(57px,57px)}58.333%{transform:translate(5px,57px)}75%{transform:translate(5px,57px)}83.333%{transform:translate(5px,5px)}to{transform:translate(5px,5px)}}@keyframes ius-lm-b{0%{transform:translate(57px,57px)}16.667%{transform:translate(57px,57px)}25%{transform:translate(5px,57px)}41.667%{transform:translate(5px,57px)}50%{transform:translate(5px,5px)}66.667%{transform:translate(5px,5px)}75%{transform:translate(57px,5px)}91.667%{transform:translate(57px,5px)}to{transform:translate(57px,57px)}}@keyframes ius-lm-c{0%{transform:translate(5px,57px)}8.333%{transform:translate(5px,57px)}16.667%{transform:translate(5px,5px)}33.333%{transform:translate(5px,5px)}41.667%{transform:translate(57px,5px)}58.333%{transform:translate(57px,5px)}66.667%{transform:translate(57px,57px)}83.333%{transform:translate(57px,57px)}91.667%{transform:translate(5px,57px)}to{transform:translate(5px,57px)}}:host([data-paused=true]) .ius-loadmark__spin,:host([data-paused=true]) .ius-loadmark__orbit,:host([data-paused=true]) .ius-loadmark__tile{animation-play-state:paused}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4774
4774
|
}
|
|
4775
4775
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LoadingMarkComponent, decorators: [{
|
|
4776
4776
|
type: Component,
|
|
@@ -4780,7 +4780,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
4780
4780
|
'[attr.data-surface]': 'surface',
|
|
4781
4781
|
'[attr.data-paused]': "paused ? 'true' : null",
|
|
4782
4782
|
'[attr.aria-label]': 'ariaLabel',
|
|
4783
|
-
}, template: "<svg\
|
|
4783
|
+
}, template: "<svg\n class=\"ius-loadmark__svg\"\n [attr.width]=\"size\"\n [attr.height]=\"size\"\n viewBox=\"-16 -16 132 132\"\n aria-hidden=\"true\"\n>\n <defs>\n <!-- Degradado base (navy \u00B7 navy\u2192cian en dark) -->\n <linearGradient\n [attr.id]=\"baseId\"\n gradientUnits=\"userSpaceOnUse\"\n x1=\"6\"\n y1=\"94\"\n x2=\"94\"\n y2=\"6\"\n >\n <stop offset=\"0\" [attr.stop-color]=\"baseFrom\" />\n <stop offset=\"1\" [attr.stop-color]=\"baseTo\" />\n </linearGradient>\n\n <!-- Glow del cometa -->\n <radialGradient [attr.id]=\"glowId\">\n <stop offset=\"0%\" stop-color=\"var(--ius-primary-100)\" />\n <stop offset=\"35%\" stop-color=\"var(--ius-primary-400)\" />\n <stop offset=\"100%\" stop-color=\"var(--ius-primary-400)\" stop-opacity=\"0\" />\n </radialGradient>\n\n <!-- Desenfoque de la cola -->\n <filter [attr.id]=\"softId\" x=\"-60%\" y=\"-60%\" width=\"220%\" height=\"220%\">\n <feGaussianBlur stdDeviation=\"5\" />\n </filter>\n\n <!-- M\u00E1scara: tres fichas deslizantes -->\n <mask [attr.id]=\"maskId\" maskUnits=\"userSpaceOnUse\">\n <g class=\"ius-loadmark__tile ius-loadmark__tile--a\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"ius-loadmark__tile ius-loadmark__tile--b\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n <g class=\"ius-loadmark__tile ius-loadmark__tile--c\">\n <rect\n x=\"0\"\n y=\"0\"\n width=\"38\"\n height=\"38\"\n rx=\"10\"\n fill=\"none\"\n stroke=\"var(--ius-neutral-white)\"\n stroke-width=\"6\"\n stroke-linejoin=\"round\"\n />\n </g>\n </mask>\n </defs>\n\n <!-- Giro del conjunto -->\n <g class=\"ius-loadmark__spin\">\n <g [attr.mask]=\"'url(#' + maskId + ')'\">\n <rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" [attr.fill]=\"'url(#' + baseId + ')'\" />\n <!-- Cometa orbitando el contorno -->\n <g class=\"ius-loadmark__orbit\">\n <circle\n cx=\"50\"\n cy=\"4\"\n r=\"40\"\n [attr.fill]=\"'url(#' + glowId + ')'\"\n [attr.filter]=\"'url(#' + softId + ')'\"\n />\n </g>\n </g>\n </g>\n</svg>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;line-height:0;color:var(--ius-primary-900)}.ius-loadmark__svg{display:block}.ius-loadmark__spin{transform-box:view-box;transform-origin:50px 50px;animation:ius-lm-spin var(--ius-duration-ambient) linear infinite;animation-play-state:var(--ius-motion-loop)}@keyframes ius-lm-spin{to{transform:rotate(360deg)}}.ius-loadmark__orbit{transform-box:view-box;transform-origin:50px 50px;animation:ius-lm-orbit 2s linear infinite;animation-play-state:var(--ius-motion-loop)}@keyframes ius-lm-orbit{to{transform:rotate(360deg)}}.ius-loadmark__tile{animation-duration:5s;animation-iteration-count:infinite;animation-timing-function:var(--ius-ease-ambient);animation-play-state:var(--ius-motion-loop)}.ius-loadmark__tile--a{animation-name:ius-lm-a}.ius-loadmark__tile--b{animation-name:ius-lm-b}.ius-loadmark__tile--c{animation-name:ius-lm-c}@keyframes ius-lm-a{0%{transform:translate(5px,5px)}8.333%{transform:translate(57px,5px)}25%{transform:translate(57px,5px)}33.333%{transform:translate(57px,57px)}50%{transform:translate(57px,57px)}58.333%{transform:translate(5px,57px)}75%{transform:translate(5px,57px)}83.333%{transform:translate(5px,5px)}to{transform:translate(5px,5px)}}@keyframes ius-lm-b{0%{transform:translate(57px,57px)}16.667%{transform:translate(57px,57px)}25%{transform:translate(5px,57px)}41.667%{transform:translate(5px,57px)}50%{transform:translate(5px,5px)}66.667%{transform:translate(5px,5px)}75%{transform:translate(57px,5px)}91.667%{transform:translate(57px,5px)}to{transform:translate(57px,57px)}}@keyframes ius-lm-c{0%{transform:translate(5px,57px)}8.333%{transform:translate(5px,57px)}16.667%{transform:translate(5px,5px)}33.333%{transform:translate(5px,5px)}41.667%{transform:translate(57px,5px)}58.333%{transform:translate(57px,5px)}66.667%{transform:translate(57px,57px)}83.333%{transform:translate(57px,57px)}91.667%{transform:translate(5px,57px)}to{transform:translate(5px,57px)}}:host([data-paused=true]) .ius-loadmark__spin,:host([data-paused=true]) .ius-loadmark__orbit,:host([data-paused=true]) .ius-loadmark__tile{animation-play-state:paused}\n"] }]
|
|
4784
4784
|
}], propDecorators: { size: [{
|
|
4785
4785
|
type: Input,
|
|
4786
4786
|
args: [{ transform: numberAttribute }]
|
|
@@ -7993,7 +7993,7 @@ class ListViewPaginationComponent {
|
|
|
7993
7993
|
this.pageSizeChange.emit(n);
|
|
7994
7994
|
}
|
|
7995
7995
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ListViewPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7996
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ListViewPaginationComponent, isStandalone: true, selector: "ius-list-view-pagination", inputs: { variant: "variant", page: "page", defaultPage: ["defaultPage", "defaultPage", numberAttribute], totalPages: "totalPages", total: "total", pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", showCount: ["showCount", "showCount", booleanAttribute], countNoun: "countNoun", siblingCount: ["siblingCount", "siblingCount", numberAttribute], boundaryCount: ["boundaryCount", "boundaryCount", numberAttribute], size: "size", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, host: { attributes: { "role": "navigation", "aria-label": "Paginaci\u00F3n" }, properties: { "attr.data-variant": "variant", "attr.data-block": "showCountBlock ? 'true' : null", "style.--_pg-h": "preset.h + 'px'", "style.--_pg-icon": "preset.icon", "style.--_pg-fs": "preset.fs", "style.--_pg-gap": "preset.gap + 'px'" }, classAttribute: "ius-pagination" }, ngImport: i0, template: "<!-- Conteo X\u2013Y de Z (opcional, empuja el resto a la derecha v\u00EDa data-block) -->\n@if (showCountBlock) {\n <div class=\"ius-pagination__count\">\n @if (countRanged) {\n <b>{{ countFrom }}</b>\u2013<b>{{ countTo }}</b> de <b>{{ fmt(total!) }}</b> {{ countNoun }}\n } @else {\n <b>{{ fmt(total!) }}</b> {{ countNoun }}\n }\n </div>\n}\n\n<div class=\"ius-pagination__main\">\n <!-- Selector \"Filas por p\u00E1gina\" -->\n @if (pageSizeSelectOptions.length) {\n <div class=\"ius-pagination__sizer\">\n <span>Filas</span>\n <span class=\"ius-pagination__numsel\">\n <ius-select\n [options]=\"pageSizeSelectOptions\"\n [value]=\"pageSize\"\n (valueChange)=\"onSelectPageSize($event)\"\n compact\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n placeholder=\"\"\n />\n </span>\n </div>\n }\n\n @if (variant === 'compact') {\n <div class=\"ius-pagination__nav\">\n <ius-icon-button\n icon=\"first_page\"\n variant=\"tertiary\"\n ariaLabel=\"Primera p\u00E1gina\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(1)\"\n />\n <ius-icon-button\n icon=\"chevron_left\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina anterior\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(currentPage - 1)\"\n />\n <span class=\"ius-pagination__compact\">\n P\u00E1gina \n <span class=\"ius-pagination__numsel\">\n <ius-select\n [options]=\"pageOptions\"\n [value]=\"currentPage\"\n (valueChange)=\"onSelectPage($event)\"\n compact\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [size]=\"size\"\n [disabled]=\"disabled || effTotalPages <= 1\"\n placeholder=\"\"\n />\n </span>\n <span> de </span>\n <b>{{ fmt(effTotalPages) }}</b>\n </span>\n <ius-icon-button\n icon=\"chevron_right\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina siguiente\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(currentPage + 1)\"\n />\n <ius-icon-button\n icon=\"last_page\"\n variant=\"tertiary\"\n ariaLabel=\"\u00DAltima p\u00E1gina\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(effTotalPages)\"\n />\n </div>\n } @else {\n <div class=\"ius-pagination__nav\">\n <ius-icon-button\n icon=\"chevron_left\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina anterior\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(currentPage - 1)\"\n />\n <div class=\"ius-pagination__pages\">\n @for (row of pageRows; track $index) {\n @if (row.ellipsis) {\n <span class=\"ius-pagination__ellipsis\" aria-hidden=\"true\">\u2026</span>\n } @else {\n <ius-button\n class=\"ius-pagination__num\"\n [variant]=\"row.value === currentPage ? 'primary' : 'tertiary'\"\n [size]=\"size\"\n [label]=\"fmt(row.value!)\"\n [disabled]=\"disabled\"\n [attr.aria-current]=\"row.value === currentPage ? 'page' : null\"\n (clicked)=\"goTo(row.value!)\"\n />\n }\n }\n </div>\n <ius-icon-button\n icon=\"chevron_right\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina siguiente\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(currentPage + 1)\"\n />\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-secondary)}:host([data-block=true]){width:100%;justify-content:space-between}.ius-pagination__count{font-size:var(--_pg-fs, 14px);line-height:1.4;color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__count b{font-weight:var(--ius-fw-medium);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-pagination__main{display:flex;align-items:center;gap:var(--ius-space-lg)}.ius-pagination__nav,.ius-pagination__pages{display:flex;align-items:center;gap:var(--_pg-gap, var(--ius-space-xs))}.ius-pagination__nav ::ng-deep .ius-iconbtn{--_ib-size: var(--_pg-h, 40px);--_ib-icon: var(--_pg-icon, var(--ius-icon-md))}.ius-pagination__num ::ng-deep .ius-btn{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);padding-left:var(--ius-space-xs);padding-right:var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-pagination__ellipsis{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:var(--ius-space-xs);color:var(--ius-text-tertiary);font-size:var(--_pg-fs, 14px);line-height:1}.ius-pagination__compact{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary)}.ius-pagination__compact b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-pagination__sizer{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__numsel ::ng-deep .ius-tf__field{padding-right:var(--ius-space-xs);padding-left:var(--ius-space-sm);gap:var(--ius-space-xxs)}.ius-pagination__numsel ::ng-deep .ius-select__value{font-variant-numeric:tabular-nums;min-width:16px}.ius-pagination__numsel ::ng-deep .ius-select__chevron .ius-icon{font-size:var(--ius-icon-md)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ius-button", inputs: ["variant", "label", "prefixIcon", "sufixIcon", "dynamic", "loading", "status", "disabled", "pressed", "fullWidth", "type", "ariaLabel", "action", "size"], outputs: ["clicked"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: SelectComponent, selector: "ius-select", inputs: ["options", "multiple", "size", "disabled", "error", "state", "open", "value", "label", "required", "placeholder", "prefixIcon", "searchable", "searchPlaceholder", "emptyText", "creatable", "createPlaceholder", "createLabel", "createFactory", "maxVisible", "helpText", "errorText", "showHelpText", "showIconHelp", "iconHelpTitle", "iconHelpContent", "showClear", "defaultOpen", "compact", "defaultValue", "id", "name"], outputs: ["valueChange", "cleared", "openChange", "created"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7996
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ListViewPaginationComponent, isStandalone: true, selector: "ius-list-view-pagination", inputs: { variant: "variant", page: "page", defaultPage: ["defaultPage", "defaultPage", numberAttribute], totalPages: "totalPages", total: "total", pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", showCount: ["showCount", "showCount", booleanAttribute], countNoun: "countNoun", siblingCount: ["siblingCount", "siblingCount", numberAttribute], boundaryCount: ["boundaryCount", "boundaryCount", numberAttribute], size: "size", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, host: { attributes: { "role": "navigation", "aria-label": "Paginaci\u00F3n" }, properties: { "attr.data-variant": "variant", "attr.data-block": "showCountBlock ? 'true' : null", "style.--_pg-h": "preset.h + 'px'", "style.--_pg-icon": "preset.icon", "style.--_pg-fs": "preset.fs", "style.--_pg-gap": "preset.gap + 'px'" }, classAttribute: "ius-pagination" }, ngImport: i0, template: "<!-- Conteo X\u2013Y de Z (opcional, empuja el resto a la derecha v\u00EDa data-block) -->\r\n@if (showCountBlock) {\r\n <div class=\"ius-pagination__count\">\r\n @if (countRanged) {\r\n <b>{{ countFrom }}</b>\u2013<b>{{ countTo }}</b> de <b>{{ fmt(total!) }}</b> {{ countNoun }}\r\n } @else {\r\n <b>{{ fmt(total!) }}</b> {{ countNoun }}\r\n }\r\n </div>\r\n}\r\n\r\n<div class=\"ius-pagination__main\">\r\n <!-- Selector \"Filas por p\u00E1gina\" -->\r\n @if (pageSizeSelectOptions.length) {\r\n <div class=\"ius-pagination__sizer\">\r\n <span>Filas</span>\r\n <span class=\"ius-pagination__numsel\">\r\n <ius-select\r\n [options]=\"pageSizeSelectOptions\"\r\n [value]=\"pageSize\"\r\n (valueChange)=\"onSelectPageSize($event)\"\r\n compact\r\n [searchable]=\"false\"\r\n [showClear]=\"false\"\r\n [showHelpText]=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n placeholder=\"\"\r\n />\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (variant === 'compact') {\r\n <div class=\"ius-pagination__nav\">\r\n <ius-icon-button\r\n icon=\"first_page\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"Primera p\u00E1gina\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(1)\"\r\n />\r\n <ius-icon-button\r\n icon=\"chevron_left\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina anterior\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(currentPage - 1)\"\r\n />\r\n <span class=\"ius-pagination__compact\">\r\n P\u00E1gina \r\n <span class=\"ius-pagination__numsel\">\r\n <ius-select\r\n [options]=\"pageOptions\"\r\n [value]=\"currentPage\"\r\n (valueChange)=\"onSelectPage($event)\"\r\n compact\r\n [searchable]=\"false\"\r\n [showClear]=\"false\"\r\n [showHelpText]=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled || effTotalPages <= 1\"\r\n placeholder=\"\"\r\n />\r\n </span>\r\n <span> de </span>\r\n <b>{{ fmt(effTotalPages) }}</b>\r\n </span>\r\n <ius-icon-button\r\n icon=\"chevron_right\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina siguiente\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(currentPage + 1)\"\r\n />\r\n <ius-icon-button\r\n icon=\"last_page\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"\u00DAltima p\u00E1gina\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(effTotalPages)\"\r\n />\r\n </div>\r\n } @else {\r\n <div class=\"ius-pagination__nav\">\r\n <ius-icon-button\r\n icon=\"chevron_left\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina anterior\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(currentPage - 1)\"\r\n />\r\n <div class=\"ius-pagination__pages\">\r\n @for (row of pageRows; track $index) {\r\n @if (row.ellipsis) {\r\n <span class=\"ius-pagination__ellipsis\" aria-hidden=\"true\">\u2026</span>\r\n } @else {\r\n <ius-button\r\n class=\"ius-pagination__num\"\r\n [variant]=\"row.value === currentPage ? 'primary' : 'tertiary'\"\r\n [size]=\"size\"\r\n [label]=\"fmt(row.value!)\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-current]=\"row.value === currentPage ? 'page' : null\"\r\n (clicked)=\"goTo(row.value!)\"\r\n />\r\n }\r\n }\r\n </div>\r\n <ius-icon-button\r\n icon=\"chevron_right\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina siguiente\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(currentPage + 1)\"\r\n />\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-secondary)}:host([data-block=true]){width:100%;justify-content:space-between}.ius-pagination__count{font-size:var(--_pg-fs, 14px);line-height:1.4;color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__count b{font-weight:var(--ius-fw-medium);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-pagination__main{display:flex;align-items:center;gap:var(--ius-space-lg)}.ius-pagination__nav,.ius-pagination__pages{display:flex;align-items:center;gap:var(--_pg-gap, var(--ius-space-xs))}.ius-pagination__nav ::ng-deep .ius-iconbtn{--_ib-size: var(--_pg-h, 40px);--_ib-icon: var(--_pg-icon, var(--ius-icon-md))}.ius-pagination__num ::ng-deep .ius-btn{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);padding-left:var(--ius-space-xs);padding-right:var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-pagination__ellipsis{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:var(--ius-space-xs);color:var(--ius-text-tertiary);font-size:var(--_pg-fs, 14px);line-height:1}.ius-pagination__compact{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary)}.ius-pagination__compact b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-pagination__sizer{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__numsel ::ng-deep .ius-tf__field{padding-right:var(--ius-space-xs);padding-left:var(--ius-space-sm);gap:var(--ius-space-xxs)}.ius-pagination__numsel ::ng-deep .ius-select__value{font-variant-numeric:tabular-nums;min-width:16px}.ius-pagination__numsel ::ng-deep .ius-select__chevron .ius-icon{font-size:var(--ius-icon-md)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ius-button", inputs: ["variant", "label", "prefixIcon", "sufixIcon", "dynamic", "loading", "status", "disabled", "pressed", "fullWidth", "type", "ariaLabel", "action", "size"], outputs: ["clicked"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: SelectComponent, selector: "ius-select", inputs: ["options", "multiple", "size", "disabled", "error", "state", "open", "value", "label", "required", "placeholder", "prefixIcon", "searchable", "searchPlaceholder", "emptyText", "creatable", "createPlaceholder", "createLabel", "createFactory", "maxVisible", "helpText", "errorText", "showHelpText", "showIconHelp", "iconHelpTitle", "iconHelpContent", "showClear", "defaultOpen", "compact", "defaultValue", "id", "name"], outputs: ["valueChange", "cleared", "openChange", "created"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7997
7997
|
}
|
|
7998
7998
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ListViewPaginationComponent, decorators: [{
|
|
7999
7999
|
type: Component,
|
|
@@ -8007,7 +8007,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
8007
8007
|
'[style.--_pg-icon]': 'preset.icon',
|
|
8008
8008
|
'[style.--_pg-fs]': 'preset.fs',
|
|
8009
8009
|
'[style.--_pg-gap]': "preset.gap + 'px'",
|
|
8010
|
-
}, template: "<!-- Conteo X\u2013Y de Z (opcional, empuja el resto a la derecha v\u00EDa data-block) -->\n@if (showCountBlock) {\n <div class=\"ius-pagination__count\">\n @if (countRanged) {\n <b>{{ countFrom }}</b>\u2013<b>{{ countTo }}</b> de <b>{{ fmt(total!) }}</b> {{ countNoun }}\n } @else {\n <b>{{ fmt(total!) }}</b> {{ countNoun }}\n }\n </div>\n}\n\n<div class=\"ius-pagination__main\">\n <!-- Selector \"Filas por p\u00E1gina\" -->\n @if (pageSizeSelectOptions.length) {\n <div class=\"ius-pagination__sizer\">\n <span>Filas</span>\n <span class=\"ius-pagination__numsel\">\n <ius-select\n [options]=\"pageSizeSelectOptions\"\n [value]=\"pageSize\"\n (valueChange)=\"onSelectPageSize($event)\"\n compact\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [size]=\"size\"\n [disabled]=\"disabled\"\n placeholder=\"\"\n />\n </span>\n </div>\n }\n\n @if (variant === 'compact') {\n <div class=\"ius-pagination__nav\">\n <ius-icon-button\n icon=\"first_page\"\n variant=\"tertiary\"\n ariaLabel=\"Primera p\u00E1gina\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(1)\"\n />\n <ius-icon-button\n icon=\"chevron_left\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina anterior\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(currentPage - 1)\"\n />\n <span class=\"ius-pagination__compact\">\n P\u00E1gina \n <span class=\"ius-pagination__numsel\">\n <ius-select\n [options]=\"pageOptions\"\n [value]=\"currentPage\"\n (valueChange)=\"onSelectPage($event)\"\n compact\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [size]=\"size\"\n [disabled]=\"disabled || effTotalPages <= 1\"\n placeholder=\"\"\n />\n </span>\n <span> de </span>\n <b>{{ fmt(effTotalPages) }}</b>\n </span>\n <ius-icon-button\n icon=\"chevron_right\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina siguiente\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(currentPage + 1)\"\n />\n <ius-icon-button\n icon=\"last_page\"\n variant=\"tertiary\"\n ariaLabel=\"\u00DAltima p\u00E1gina\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(effTotalPages)\"\n />\n </div>\n } @else {\n <div class=\"ius-pagination__nav\">\n <ius-icon-button\n icon=\"chevron_left\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina anterior\"\n [disabled]=\"disabled || atStart\"\n (clicked)=\"goTo(currentPage - 1)\"\n />\n <div class=\"ius-pagination__pages\">\n @for (row of pageRows; track $index) {\n @if (row.ellipsis) {\n <span class=\"ius-pagination__ellipsis\" aria-hidden=\"true\">\u2026</span>\n } @else {\n <ius-button\n class=\"ius-pagination__num\"\n [variant]=\"row.value === currentPage ? 'primary' : 'tertiary'\"\n [size]=\"size\"\n [label]=\"fmt(row.value!)\"\n [disabled]=\"disabled\"\n [attr.aria-current]=\"row.value === currentPage ? 'page' : null\"\n (clicked)=\"goTo(row.value!)\"\n />\n }\n }\n </div>\n <ius-icon-button\n icon=\"chevron_right\"\n variant=\"tertiary\"\n ariaLabel=\"P\u00E1gina siguiente\"\n [disabled]=\"disabled || atEnd\"\n (clicked)=\"goTo(currentPage + 1)\"\n />\n </div>\n }\n</div>\n", styles: ["@charset \"UTF-8\";:host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-secondary)}:host([data-block=true]){width:100%;justify-content:space-between}.ius-pagination__count{font-size:var(--_pg-fs, 14px);line-height:1.4;color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__count b{font-weight:var(--ius-fw-medium);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-pagination__main{display:flex;align-items:center;gap:var(--ius-space-lg)}.ius-pagination__nav,.ius-pagination__pages{display:flex;align-items:center;gap:var(--_pg-gap, var(--ius-space-xs))}.ius-pagination__nav ::ng-deep .ius-iconbtn{--_ib-size: var(--_pg-h, 40px);--_ib-icon: var(--_pg-icon, var(--ius-icon-md))}.ius-pagination__num ::ng-deep .ius-btn{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);padding-left:var(--ius-space-xs);padding-right:var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-pagination__ellipsis{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:var(--ius-space-xs);color:var(--ius-text-tertiary);font-size:var(--_pg-fs, 14px);line-height:1}.ius-pagination__compact{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary)}.ius-pagination__compact b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-pagination__sizer{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__numsel ::ng-deep .ius-tf__field{padding-right:var(--ius-space-xs);padding-left:var(--ius-space-sm);gap:var(--ius-space-xxs)}.ius-pagination__numsel ::ng-deep .ius-select__value{font-variant-numeric:tabular-nums;min-width:16px}.ius-pagination__numsel ::ng-deep .ius-select__chevron .ius-icon{font-size:var(--ius-icon-md)}\n"] }]
|
|
8010
|
+
}, template: "<!-- Conteo X\u2013Y de Z (opcional, empuja el resto a la derecha v\u00EDa data-block) -->\r\n@if (showCountBlock) {\r\n <div class=\"ius-pagination__count\">\r\n @if (countRanged) {\r\n <b>{{ countFrom }}</b>\u2013<b>{{ countTo }}</b> de <b>{{ fmt(total!) }}</b> {{ countNoun }}\r\n } @else {\r\n <b>{{ fmt(total!) }}</b> {{ countNoun }}\r\n }\r\n </div>\r\n}\r\n\r\n<div class=\"ius-pagination__main\">\r\n <!-- Selector \"Filas por p\u00E1gina\" -->\r\n @if (pageSizeSelectOptions.length) {\r\n <div class=\"ius-pagination__sizer\">\r\n <span>Filas</span>\r\n <span class=\"ius-pagination__numsel\">\r\n <ius-select\r\n [options]=\"pageSizeSelectOptions\"\r\n [value]=\"pageSize\"\r\n (valueChange)=\"onSelectPageSize($event)\"\r\n compact\r\n [searchable]=\"false\"\r\n [showClear]=\"false\"\r\n [showHelpText]=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled\"\r\n placeholder=\"\"\r\n />\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (variant === 'compact') {\r\n <div class=\"ius-pagination__nav\">\r\n <ius-icon-button\r\n icon=\"first_page\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"Primera p\u00E1gina\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(1)\"\r\n />\r\n <ius-icon-button\r\n icon=\"chevron_left\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina anterior\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(currentPage - 1)\"\r\n />\r\n <span class=\"ius-pagination__compact\">\r\n P\u00E1gina \r\n <span class=\"ius-pagination__numsel\">\r\n <ius-select\r\n [options]=\"pageOptions\"\r\n [value]=\"currentPage\"\r\n (valueChange)=\"onSelectPage($event)\"\r\n compact\r\n [searchable]=\"false\"\r\n [showClear]=\"false\"\r\n [showHelpText]=\"false\"\r\n [size]=\"size\"\r\n [disabled]=\"disabled || effTotalPages <= 1\"\r\n placeholder=\"\"\r\n />\r\n </span>\r\n <span> de </span>\r\n <b>{{ fmt(effTotalPages) }}</b>\r\n </span>\r\n <ius-icon-button\r\n icon=\"chevron_right\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina siguiente\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(currentPage + 1)\"\r\n />\r\n <ius-icon-button\r\n icon=\"last_page\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"\u00DAltima p\u00E1gina\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(effTotalPages)\"\r\n />\r\n </div>\r\n } @else {\r\n <div class=\"ius-pagination__nav\">\r\n <ius-icon-button\r\n icon=\"chevron_left\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina anterior\"\r\n [disabled]=\"disabled || atStart\"\r\n (clicked)=\"goTo(currentPage - 1)\"\r\n />\r\n <div class=\"ius-pagination__pages\">\r\n @for (row of pageRows; track $index) {\r\n @if (row.ellipsis) {\r\n <span class=\"ius-pagination__ellipsis\" aria-hidden=\"true\">\u2026</span>\r\n } @else {\r\n <ius-button\r\n class=\"ius-pagination__num\"\r\n [variant]=\"row.value === currentPage ? 'primary' : 'tertiary'\"\r\n [size]=\"size\"\r\n [label]=\"fmt(row.value!)\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-current]=\"row.value === currentPage ? 'page' : null\"\r\n (clicked)=\"goTo(row.value!)\"\r\n />\r\n }\r\n }\r\n </div>\r\n <ius-icon-button\r\n icon=\"chevron_right\"\r\n variant=\"tertiary\"\r\n ariaLabel=\"P\u00E1gina siguiente\"\r\n [disabled]=\"disabled || atEnd\"\r\n (clicked)=\"goTo(currentPage + 1)\"\r\n />\r\n </div>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{-webkit-user-select:none;user-select:none;display:flex;align-items:center;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-secondary)}:host([data-block=true]){width:100%;justify-content:space-between}.ius-pagination__count{font-size:var(--_pg-fs, 14px);line-height:1.4;color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__count b{font-weight:var(--ius-fw-medium);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-pagination__main{display:flex;align-items:center;gap:var(--ius-space-lg)}.ius-pagination__nav,.ius-pagination__pages{display:flex;align-items:center;gap:var(--_pg-gap, var(--ius-space-xs))}.ius-pagination__nav ::ng-deep .ius-iconbtn{--_ib-size: var(--_pg-h, 40px);--_ib-icon: var(--_pg-icon, var(--ius-icon-md))}.ius-pagination__num ::ng-deep .ius-btn{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);padding-left:var(--ius-space-xs);padding-right:var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-pagination__ellipsis{min-width:var(--_pg-h, 40px);height:var(--_pg-h, 40px);display:inline-flex;align-items:flex-end;justify-content:center;padding-bottom:var(--ius-space-xs);color:var(--ius-text-tertiary);font-size:var(--_pg-fs, 14px);line-height:1}.ius-pagination__compact{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary)}.ius-pagination__compact b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-pagination__sizer{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--_pg-fs, 14px);color:var(--ius-text-secondary);white-space:nowrap}.ius-pagination__numsel ::ng-deep .ius-tf__field{padding-right:var(--ius-space-xs);padding-left:var(--ius-space-sm);gap:var(--ius-space-xxs)}.ius-pagination__numsel ::ng-deep .ius-select__value{font-variant-numeric:tabular-nums;min-width:16px}.ius-pagination__numsel ::ng-deep .ius-select__chevron .ius-icon{font-size:var(--ius-icon-md)}\n"] }]
|
|
8011
8011
|
}], propDecorators: { variant: [{
|
|
8012
8012
|
type: Input
|
|
8013
8013
|
}], page: [{
|
|
@@ -8250,7 +8250,7 @@ class ListViewComponent {
|
|
|
8250
8250
|
this.sortChange.emit(payload.value);
|
|
8251
8251
|
}
|
|
8252
8252
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ListViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8253
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ListViewComponent, isStandalone: true, selector: "ius-list-view", inputs: { hideHeader: ["hideHeader", "hideHeader", booleanAttribute], selectable: ["selectable", "selectable", booleanAttribute], allSelected: ["allSelected", "allSelected", booleanAttribute], someSelected: ["someSelected", "someSelected", booleanAttribute], selectLabel: "selectLabel", sortOptions: "sortOptions", sortValue: "sortValue", actions: "actions", selectedCount: ["selectedCount", "selectedCount", numberAttribute], selectionActions: "selectionActions", gap: "gap", bodyPadding: "bodyPadding", bordered: ["bordered", "bordered", booleanAttribute], scrollTrackMargin: "scrollTrackMargin", fit: ["fit", "fit", booleanAttribute], fieldWidths: "fieldWidths", hideFooter: ["hideFooter", "hideFooter", booleanAttribute], total: "total", countNoun: "countNoun", pagination: ["pagination", "pagination", booleanAttribute], paginationVariant: "paginationVariant", page: "page", pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", size: "size" }, outputs: { selectAll: "selectAll", sortChange: "sortChange", clearSelection: "clearSelection", pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, host: { properties: { "attr.data-size": "size !== 'medium' ? size : null", "attr.data-bordered": "bordered ? 'true' : 'false'", "attr.data-fit": "fit ? 'height' : null" }, classAttribute: "ius-listview" }, queries: [{ propertyName: "filtersRef", first: true, predicate: IusListViewFiltersDirective, descendants: true, isSignal: true }, { propertyName: "headerStartRef", first: true, predicate: IusListViewHeaderStartDirective, descendants: true, isSignal: true }, { propertyName: "headerEndRef", first: true, predicate: IusListViewHeaderEndDirective, descendants: true, isSignal: true }, { propertyName: "toolbarRef", first: true, predicate: IusListViewToolbarDirective, descendants: true, isSignal: true }, { propertyName: "footerStartRef", first: true, predicate: IusListViewFooterStartDirective, descendants: true, isSignal: true }, { propertyName: "footerEndRef", first: true, predicate: IusListViewFooterEndDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Header: modo selecci\u00F3n > toolbar > integrado -->\n@if (!hideHeader) {\n @if (inSelection) {\n <div class=\"ius-listview__header\" data-mode=\"selection\">\n @if (selectable) {\n <ius-checkbox\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n size=\"small\"\n (checkedChange)=\"selectAll.emit($event)\"\n />\n }\n <span class=\"ius-listview__selcount\">{{ selCountText }}</span>\n @if (selectionActions.length) {\n <span class=\"ius-listview__divider\"></span>\n }\n <div class=\"ius-listview__actions\">\n @for (a of selectionActions; track a.key ?? $index) {\n <ius-icon-button\n [icon]=\"a.icon\"\n variant=\"tertiary\"\n [size]=\"iconSize\"\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\n [disabled]=\"a.disabled ?? false\"\n (clicked)=\"onAction(a, $event)\"\n />\n }\n </div>\n <span class=\"ius-listview__spacer\"></span>\n @if (showClear) {\n <ius-text-button label=\"Limpiar\" (clicked)=\"clearSelection.emit()\" />\n }\n </div>\n } @else if (hasToolbar) {\n <div class=\"ius-listview__header ius-listview__header--toolbar\">\n <ng-content select=\"[iusListViewToolbar]\" />\n </div>\n } @else {\n <div class=\"ius-listview__header\">\n <div class=\"ius-listview__hgroup ius-listview__hgroup--grow\">\n <ng-content select=\"[iusListViewHeaderStart]\" />\n @if (selectable) {\n <ius-checkbox\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n size=\"small\"\n [label]=\"selectLabel\"\n (checkedChange)=\"selectAll.emit($event)\"\n />\n }\n @if (sortOptions.length) {\n <!-- orden: Dropdown de selecci\u00F3n \u00FAnica (trigger ghost swap_vert, tone neutral) -->\n <span class=\"ius-listview__sort\">\n <ius-dropdown\n selectable\n [items]=\"sortOptions\"\n [value]=\"sortValue\"\n [triggerLabel]=\"sortTriggerFallback\"\n triggerIcon=\"swap_vert\"\n tone=\"neutral\"\n ariaLabel=\"Ordenar\"\n (valueChange)=\"onSortChange($event)\"\n />\n </span>\n }\n @if (hasFilters) {\n <div class=\"ius-listview__filters\"><ng-content select=\"[iusListViewFilters]\" /></div>\n }\n </div>\n <div class=\"ius-listview__hgroup ius-listview__hgroup--end\">\n @if (actions.length) {\n <div class=\"ius-listview__actions\">\n @for (a of actions; track a.key ?? $index) {\n <ius-icon-button\n [icon]=\"a.icon\"\n variant=\"tertiary\"\n [size]=\"iconSize\"\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\n [disabled]=\"a.disabled ?? false\"\n (clicked)=\"onAction(a, $event)\"\n />\n }\n </div>\n }\n <ng-content select=\"[iusListViewHeaderEnd]\" />\n </div>\n </div>\n }\n}\n\n<!-- Body: \u00FAnico scroller; emite la rejilla --_lc-col-N a los ListCard proyectados -->\n<div\n class=\"ius-listview__body ius-scroll\"\n [style.gap]=\"px(gap)\"\n [style.padding]=\"px(bodyPadding)\"\n [style.--_sb-track-margin]=\"px(scrollTrackMargin)\"\n [style.--_lc-col-1]=\"colVar(0)\"\n [style.--_lc-col-2]=\"colVar(1)\"\n [style.--_lc-col-3]=\"colVar(2)\"\n [style.--_lc-col-4]=\"colVar(3)\"\n [style.--_lc-col-5]=\"colVar(4)\"\n [style.--_lc-col-6]=\"colVar(5)\"\n>\n <ng-content />\n</div>\n\n<!-- Footer: total a la izquierda + paginaci\u00F3n a la derecha -->\n@if (showFooter) {\n <div class=\"ius-listview__footer\">\n <ng-content select=\"[iusListViewFooterStart]\" />\n @if (countText) {\n <span class=\"ius-listview__count\">{{ countText }}</span>\n }\n @if (pagination) {\n <!-- FALLBACK Pagination: port interno (reemplazar por ius-pagination cuando exista) -->\n <ius-list-view-pagination\n [variant]=\"paginationVariant\"\n [total]=\"total\"\n [page]=\"page\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n size=\"small\"\n (pageChange)=\"pageChange.emit($event)\"\n (pageSizeChange)=\"pageSizeChange.emit($event)\"\n />\n }\n <ng-content select=\"[iusListViewFooterEnd]\" />\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-height:0;width:100%;height:100%;font-family:var(--ius-font-body);box-sizing:border-box}:host([data-bordered=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-listview__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:nowrap;padding:var(--ius-space-xs) var(--ius-space-md);min-height:40px}.ius-listview__hgroup{display:flex;align-items:center;gap:var(--ius-space-sm);min-width:0;flex-wrap:wrap}.ius-listview__hgroup--grow{flex:1 1 auto}.ius-listview__hgroup--end{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}:host([data-bordered=true]) .ius-listview__header{border-bottom:1px solid var(--ius-stroke)}.ius-listview__header--toolbar{flex-wrap:wrap;min-height:0}:host([data-size=small]) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}@container style(--ius-density: small){:host(:not([data-size])) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}}.ius-listview__spacer{flex:1 1 auto}.ius-listview__divider{align-self:stretch;width:1px;background:var(--ius-stroke);margin:var(--ius-space-xxs) var(--ius-space-xs)}.ius-listview__filters{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}.ius-listview__actions{display:flex;align-items:center;gap:var(--ius-space-xxs)}.ius-listview__selcount{font:var(--ius-fw-regular, 400) var(--ius-fs-base)/var(--ius-lh-base) var(--ius-font-body);color:var(--ius-primary-900);font-variant-numeric:tabular-nums}.ius-listview__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}:host([data-fit=height]){flex:1 1 auto;min-height:0;overflow:hidden}.ius-listview__body ::ng-deep .ius-listcard:hover{z-index:2}.ius-listview__footer{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-bordered=true]) .ius-listview__footer{border-top:1px solid var(--ius-stroke)}.ius-listview__count{font:var(--ius-fw-regular, 400) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary);font-variant-numeric:tabular-nums}.ius-listview__footer .ius-pagination{margin-left:auto;flex:0 0 auto}.ius-listview__sort{display:inline-flex}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "ius-checkbox", inputs: ["label", "labelPosition", "showIconHelp", "iconHelpTitle", "iconHelpContent", "name", "value", "ariaLabel", "size", "checked", "defaultChecked", "indeterminate", "disabled"], outputs: ["checkedChange"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: TextButtonComponent, selector: "ius-text-button", inputs: ["label", "prefixIcon", "sufixIcon", "size", "disabled", "type", "ariaExpanded", "ariaControls"], outputs: ["clicked"] }, { kind: "component", type: ListViewPaginationComponent, selector: "ius-list-view-pagination", inputs: ["variant", "page", "defaultPage", "totalPages", "total", "pageSize", "pageSizeOptions", "showCount", "countNoun", "siblingCount", "boundaryCount", "size", "disabled"], outputs: ["pageChange", "pageSizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8253
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: ListViewComponent, isStandalone: true, selector: "ius-list-view", inputs: { hideHeader: ["hideHeader", "hideHeader", booleanAttribute], selectable: ["selectable", "selectable", booleanAttribute], allSelected: ["allSelected", "allSelected", booleanAttribute], someSelected: ["someSelected", "someSelected", booleanAttribute], selectLabel: "selectLabel", sortOptions: "sortOptions", sortValue: "sortValue", actions: "actions", selectedCount: ["selectedCount", "selectedCount", numberAttribute], selectionActions: "selectionActions", gap: "gap", bodyPadding: "bodyPadding", bordered: ["bordered", "bordered", booleanAttribute], scrollTrackMargin: "scrollTrackMargin", fit: ["fit", "fit", booleanAttribute], fieldWidths: "fieldWidths", hideFooter: ["hideFooter", "hideFooter", booleanAttribute], total: "total", countNoun: "countNoun", pagination: ["pagination", "pagination", booleanAttribute], paginationVariant: "paginationVariant", page: "page", pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", size: "size" }, outputs: { selectAll: "selectAll", sortChange: "sortChange", clearSelection: "clearSelection", pageChange: "pageChange", pageSizeChange: "pageSizeChange" }, host: { properties: { "attr.data-size": "size !== 'medium' ? size : null", "attr.data-bordered": "bordered ? 'true' : 'false'", "attr.data-fit": "fit ? 'height' : null" }, classAttribute: "ius-listview" }, queries: [{ propertyName: "filtersRef", first: true, predicate: IusListViewFiltersDirective, descendants: true, isSignal: true }, { propertyName: "headerStartRef", first: true, predicate: IusListViewHeaderStartDirective, descendants: true, isSignal: true }, { propertyName: "headerEndRef", first: true, predicate: IusListViewHeaderEndDirective, descendants: true, isSignal: true }, { propertyName: "toolbarRef", first: true, predicate: IusListViewToolbarDirective, descendants: true, isSignal: true }, { propertyName: "footerStartRef", first: true, predicate: IusListViewFooterStartDirective, descendants: true, isSignal: true }, { propertyName: "footerEndRef", first: true, predicate: IusListViewFooterEndDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Header: modo selecci\u00F3n > toolbar > integrado -->\r\n@if (!hideHeader) {\r\n @if (inSelection) {\r\n <div class=\"ius-listview__header\" data-mode=\"selection\">\r\n @if (selectable) {\r\n <ius-checkbox\r\n [checked]=\"allSelected\"\r\n [indeterminate]=\"someSelected\"\r\n size=\"small\"\r\n (checkedChange)=\"selectAll.emit($event)\"\r\n />\r\n }\r\n <span class=\"ius-listview__selcount\">{{ selCountText }}</span>\r\n @if (selectionActions.length) {\r\n <span class=\"ius-listview__divider\"></span>\r\n }\r\n <div class=\"ius-listview__actions\">\r\n @for (a of selectionActions; track a.key ?? $index) {\r\n <ius-icon-button\r\n [icon]=\"a.icon\"\r\n variant=\"tertiary\"\r\n [size]=\"iconSize\"\r\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\r\n [disabled]=\"a.disabled ?? false\"\r\n (clicked)=\"onAction(a, $event)\"\r\n />\r\n }\r\n </div>\r\n <span class=\"ius-listview__spacer\"></span>\r\n @if (showClear) {\r\n <ius-text-button label=\"Limpiar\" (clicked)=\"clearSelection.emit()\" />\r\n }\r\n </div>\r\n } @else if (hasToolbar) {\r\n <div class=\"ius-listview__header ius-listview__header--toolbar\">\r\n <ng-content select=\"[iusListViewToolbar]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ius-listview__header\">\r\n <div class=\"ius-listview__hgroup ius-listview__hgroup--grow\">\r\n <ng-content select=\"[iusListViewHeaderStart]\" />\r\n @if (selectable) {\r\n <ius-checkbox\r\n [checked]=\"allSelected\"\r\n [indeterminate]=\"someSelected\"\r\n size=\"small\"\r\n [label]=\"selectLabel\"\r\n (checkedChange)=\"selectAll.emit($event)\"\r\n />\r\n }\r\n @if (sortOptions.length) {\r\n <!-- orden: Dropdown de selecci\u00F3n \u00FAnica (trigger ghost swap_vert, tone neutral) -->\r\n <span class=\"ius-listview__sort\">\r\n <ius-dropdown\r\n selectable\r\n [items]=\"sortOptions\"\r\n [value]=\"sortValue\"\r\n [triggerLabel]=\"sortTriggerFallback\"\r\n triggerIcon=\"swap_vert\"\r\n tone=\"neutral\"\r\n ariaLabel=\"Ordenar\"\r\n (valueChange)=\"onSortChange($event)\"\r\n />\r\n </span>\r\n }\r\n @if (hasFilters) {\r\n <div class=\"ius-listview__filters\"><ng-content select=\"[iusListViewFilters]\" /></div>\r\n }\r\n </div>\r\n <div class=\"ius-listview__hgroup ius-listview__hgroup--end\">\r\n @if (actions.length) {\r\n <div class=\"ius-listview__actions\">\r\n @for (a of actions; track a.key ?? $index) {\r\n <ius-icon-button\r\n [icon]=\"a.icon\"\r\n variant=\"tertiary\"\r\n [size]=\"iconSize\"\r\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\r\n [disabled]=\"a.disabled ?? false\"\r\n (clicked)=\"onAction(a, $event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n <ng-content select=\"[iusListViewHeaderEnd]\" />\r\n </div>\r\n </div>\r\n }\r\n}\r\n\r\n<!-- Body: \u00FAnico scroller; emite la rejilla --_lc-col-N a los ListCard proyectados -->\r\n<div\r\n class=\"ius-listview__body ius-scroll\"\r\n [style.gap]=\"px(gap)\"\r\n [style.padding]=\"px(bodyPadding)\"\r\n [style.--_sb-track-margin]=\"px(scrollTrackMargin)\"\r\n [style.--_lc-col-1]=\"colVar(0)\"\r\n [style.--_lc-col-2]=\"colVar(1)\"\r\n [style.--_lc-col-3]=\"colVar(2)\"\r\n [style.--_lc-col-4]=\"colVar(3)\"\r\n [style.--_lc-col-5]=\"colVar(4)\"\r\n [style.--_lc-col-6]=\"colVar(5)\"\r\n>\r\n <ng-content />\r\n</div>\r\n\r\n<!-- Footer: total a la izquierda + paginaci\u00F3n a la derecha -->\r\n@if (showFooter) {\r\n <div class=\"ius-listview__footer\">\r\n <ng-content select=\"[iusListViewFooterStart]\" />\r\n @if (countText) {\r\n <span class=\"ius-listview__count\">{{ countText }}</span>\r\n }\r\n @if (pagination) {\r\n <!-- FALLBACK Pagination: port interno (reemplazar por ius-pagination cuando exista) -->\r\n <ius-list-view-pagination\r\n [variant]=\"paginationVariant\"\r\n [total]=\"total\"\r\n [page]=\"page\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n size=\"small\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n (pageSizeChange)=\"pageSizeChange.emit($event)\"\r\n />\r\n }\r\n <ng-content select=\"[iusListViewFooterEnd]\" />\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-height:0;width:100%;height:100%;font-family:var(--ius-font-body);box-sizing:border-box}:host([data-bordered=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-listview__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:nowrap;padding:var(--ius-space-xs) var(--ius-space-md);min-height:40px}.ius-listview__hgroup{display:flex;align-items:center;gap:var(--ius-space-sm);min-width:0;flex-wrap:wrap}.ius-listview__hgroup--grow{flex:1 1 auto}.ius-listview__hgroup--end{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}:host([data-bordered=true]) .ius-listview__header{border-bottom:1px solid var(--ius-stroke)}.ius-listview__header--toolbar{flex-wrap:wrap;min-height:0}:host([data-size=small]) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}@container style(--ius-density: small){:host(:not([data-size])) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}}.ius-listview__spacer{flex:1 1 auto}.ius-listview__divider{align-self:stretch;width:1px;background:var(--ius-stroke);margin:var(--ius-space-xxs) var(--ius-space-xs)}.ius-listview__filters{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}.ius-listview__actions{display:flex;align-items:center;gap:var(--ius-space-xxs)}.ius-listview__selcount{font:var(--ius-fw-regular, 400) var(--ius-fs-base)/var(--ius-lh-base) var(--ius-font-body);color:var(--ius-primary-900);font-variant-numeric:tabular-nums}.ius-listview__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}:host([data-fit=height]){flex:1 1 auto;min-height:0;overflow:hidden}.ius-listview__body ::ng-deep .ius-listcard:hover{z-index:2}.ius-listview__footer{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-bordered=true]) .ius-listview__footer{border-top:1px solid var(--ius-stroke)}.ius-listview__count{font:var(--ius-fw-regular, 400) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary);font-variant-numeric:tabular-nums}.ius-listview__footer .ius-pagination{margin-left:auto;flex:0 0 auto}.ius-listview__sort{display:inline-flex}\n"], dependencies: [{ kind: "component", type: CheckboxComponent, selector: "ius-checkbox", inputs: ["label", "labelPosition", "showIconHelp", "iconHelpTitle", "iconHelpContent", "name", "value", "ariaLabel", "size", "checked", "defaultChecked", "indeterminate", "disabled"], outputs: ["checkedChange"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: TextButtonComponent, selector: "ius-text-button", inputs: ["label", "prefixIcon", "sufixIcon", "size", "disabled", "type", "ariaExpanded", "ariaControls"], outputs: ["clicked"] }, { kind: "component", type: ListViewPaginationComponent, selector: "ius-list-view-pagination", inputs: ["variant", "page", "defaultPage", "totalPages", "total", "pageSize", "pageSizeOptions", "showCount", "countNoun", "siblingCount", "boundaryCount", "size", "disabled"], outputs: ["pageChange", "pageSizeChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8254
8254
|
}
|
|
8255
8255
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ListViewComponent, decorators: [{
|
|
8256
8256
|
type: Component,
|
|
@@ -8265,7 +8265,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
8265
8265
|
'[attr.data-size]': "size !== 'medium' ? size : null",
|
|
8266
8266
|
'[attr.data-bordered]': "bordered ? 'true' : 'false'",
|
|
8267
8267
|
'[attr.data-fit]': "fit ? 'height' : null",
|
|
8268
|
-
}, template: "<!-- Header: modo selecci\u00F3n > toolbar > integrado -->\n@if (!hideHeader) {\n @if (inSelection) {\n <div class=\"ius-listview__header\" data-mode=\"selection\">\n @if (selectable) {\n <ius-checkbox\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n size=\"small\"\n (checkedChange)=\"selectAll.emit($event)\"\n />\n }\n <span class=\"ius-listview__selcount\">{{ selCountText }}</span>\n @if (selectionActions.length) {\n <span class=\"ius-listview__divider\"></span>\n }\n <div class=\"ius-listview__actions\">\n @for (a of selectionActions; track a.key ?? $index) {\n <ius-icon-button\n [icon]=\"a.icon\"\n variant=\"tertiary\"\n [size]=\"iconSize\"\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\n [disabled]=\"a.disabled ?? false\"\n (clicked)=\"onAction(a, $event)\"\n />\n }\n </div>\n <span class=\"ius-listview__spacer\"></span>\n @if (showClear) {\n <ius-text-button label=\"Limpiar\" (clicked)=\"clearSelection.emit()\" />\n }\n </div>\n } @else if (hasToolbar) {\n <div class=\"ius-listview__header ius-listview__header--toolbar\">\n <ng-content select=\"[iusListViewToolbar]\" />\n </div>\n } @else {\n <div class=\"ius-listview__header\">\n <div class=\"ius-listview__hgroup ius-listview__hgroup--grow\">\n <ng-content select=\"[iusListViewHeaderStart]\" />\n @if (selectable) {\n <ius-checkbox\n [checked]=\"allSelected\"\n [indeterminate]=\"someSelected\"\n size=\"small\"\n [label]=\"selectLabel\"\n (checkedChange)=\"selectAll.emit($event)\"\n />\n }\n @if (sortOptions.length) {\n <!-- orden: Dropdown de selecci\u00F3n \u00FAnica (trigger ghost swap_vert, tone neutral) -->\n <span class=\"ius-listview__sort\">\n <ius-dropdown\n selectable\n [items]=\"sortOptions\"\n [value]=\"sortValue\"\n [triggerLabel]=\"sortTriggerFallback\"\n triggerIcon=\"swap_vert\"\n tone=\"neutral\"\n ariaLabel=\"Ordenar\"\n (valueChange)=\"onSortChange($event)\"\n />\n </span>\n }\n @if (hasFilters) {\n <div class=\"ius-listview__filters\"><ng-content select=\"[iusListViewFilters]\" /></div>\n }\n </div>\n <div class=\"ius-listview__hgroup ius-listview__hgroup--end\">\n @if (actions.length) {\n <div class=\"ius-listview__actions\">\n @for (a of actions; track a.key ?? $index) {\n <ius-icon-button\n [icon]=\"a.icon\"\n variant=\"tertiary\"\n [size]=\"iconSize\"\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\n [disabled]=\"a.disabled ?? false\"\n (clicked)=\"onAction(a, $event)\"\n />\n }\n </div>\n }\n <ng-content select=\"[iusListViewHeaderEnd]\" />\n </div>\n </div>\n }\n}\n\n<!-- Body: \u00FAnico scroller; emite la rejilla --_lc-col-N a los ListCard proyectados -->\n<div\n class=\"ius-listview__body ius-scroll\"\n [style.gap]=\"px(gap)\"\n [style.padding]=\"px(bodyPadding)\"\n [style.--_sb-track-margin]=\"px(scrollTrackMargin)\"\n [style.--_lc-col-1]=\"colVar(0)\"\n [style.--_lc-col-2]=\"colVar(1)\"\n [style.--_lc-col-3]=\"colVar(2)\"\n [style.--_lc-col-4]=\"colVar(3)\"\n [style.--_lc-col-5]=\"colVar(4)\"\n [style.--_lc-col-6]=\"colVar(5)\"\n>\n <ng-content />\n</div>\n\n<!-- Footer: total a la izquierda + paginaci\u00F3n a la derecha -->\n@if (showFooter) {\n <div class=\"ius-listview__footer\">\n <ng-content select=\"[iusListViewFooterStart]\" />\n @if (countText) {\n <span class=\"ius-listview__count\">{{ countText }}</span>\n }\n @if (pagination) {\n <!-- FALLBACK Pagination: port interno (reemplazar por ius-pagination cuando exista) -->\n <ius-list-view-pagination\n [variant]=\"paginationVariant\"\n [total]=\"total\"\n [page]=\"page\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n size=\"small\"\n (pageChange)=\"pageChange.emit($event)\"\n (pageSizeChange)=\"pageSizeChange.emit($event)\"\n />\n }\n <ng-content select=\"[iusListViewFooterEnd]\" />\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-height:0;width:100%;height:100%;font-family:var(--ius-font-body);box-sizing:border-box}:host([data-bordered=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-listview__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:nowrap;padding:var(--ius-space-xs) var(--ius-space-md);min-height:40px}.ius-listview__hgroup{display:flex;align-items:center;gap:var(--ius-space-sm);min-width:0;flex-wrap:wrap}.ius-listview__hgroup--grow{flex:1 1 auto}.ius-listview__hgroup--end{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}:host([data-bordered=true]) .ius-listview__header{border-bottom:1px solid var(--ius-stroke)}.ius-listview__header--toolbar{flex-wrap:wrap;min-height:0}:host([data-size=small]) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}@container style(--ius-density: small){:host(:not([data-size])) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}}.ius-listview__spacer{flex:1 1 auto}.ius-listview__divider{align-self:stretch;width:1px;background:var(--ius-stroke);margin:var(--ius-space-xxs) var(--ius-space-xs)}.ius-listview__filters{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}.ius-listview__actions{display:flex;align-items:center;gap:var(--ius-space-xxs)}.ius-listview__selcount{font:var(--ius-fw-regular, 400) var(--ius-fs-base)/var(--ius-lh-base) var(--ius-font-body);color:var(--ius-primary-900);font-variant-numeric:tabular-nums}.ius-listview__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}:host([data-fit=height]){flex:1 1 auto;min-height:0;overflow:hidden}.ius-listview__body ::ng-deep .ius-listcard:hover{z-index:2}.ius-listview__footer{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-bordered=true]) .ius-listview__footer{border-top:1px solid var(--ius-stroke)}.ius-listview__count{font:var(--ius-fw-regular, 400) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary);font-variant-numeric:tabular-nums}.ius-listview__footer .ius-pagination{margin-left:auto;flex:0 0 auto}.ius-listview__sort{display:inline-flex}\n"] }]
|
|
8268
|
+
}, template: "<!-- Header: modo selecci\u00F3n > toolbar > integrado -->\r\n@if (!hideHeader) {\r\n @if (inSelection) {\r\n <div class=\"ius-listview__header\" data-mode=\"selection\">\r\n @if (selectable) {\r\n <ius-checkbox\r\n [checked]=\"allSelected\"\r\n [indeterminate]=\"someSelected\"\r\n size=\"small\"\r\n (checkedChange)=\"selectAll.emit($event)\"\r\n />\r\n }\r\n <span class=\"ius-listview__selcount\">{{ selCountText }}</span>\r\n @if (selectionActions.length) {\r\n <span class=\"ius-listview__divider\"></span>\r\n }\r\n <div class=\"ius-listview__actions\">\r\n @for (a of selectionActions; track a.key ?? $index) {\r\n <ius-icon-button\r\n [icon]=\"a.icon\"\r\n variant=\"tertiary\"\r\n [size]=\"iconSize\"\r\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\r\n [disabled]=\"a.disabled ?? false\"\r\n (clicked)=\"onAction(a, $event)\"\r\n />\r\n }\r\n </div>\r\n <span class=\"ius-listview__spacer\"></span>\r\n @if (showClear) {\r\n <ius-text-button label=\"Limpiar\" (clicked)=\"clearSelection.emit()\" />\r\n }\r\n </div>\r\n } @else if (hasToolbar) {\r\n <div class=\"ius-listview__header ius-listview__header--toolbar\">\r\n <ng-content select=\"[iusListViewToolbar]\" />\r\n </div>\r\n } @else {\r\n <div class=\"ius-listview__header\">\r\n <div class=\"ius-listview__hgroup ius-listview__hgroup--grow\">\r\n <ng-content select=\"[iusListViewHeaderStart]\" />\r\n @if (selectable) {\r\n <ius-checkbox\r\n [checked]=\"allSelected\"\r\n [indeterminate]=\"someSelected\"\r\n size=\"small\"\r\n [label]=\"selectLabel\"\r\n (checkedChange)=\"selectAll.emit($event)\"\r\n />\r\n }\r\n @if (sortOptions.length) {\r\n <!-- orden: Dropdown de selecci\u00F3n \u00FAnica (trigger ghost swap_vert, tone neutral) -->\r\n <span class=\"ius-listview__sort\">\r\n <ius-dropdown\r\n selectable\r\n [items]=\"sortOptions\"\r\n [value]=\"sortValue\"\r\n [triggerLabel]=\"sortTriggerFallback\"\r\n triggerIcon=\"swap_vert\"\r\n tone=\"neutral\"\r\n ariaLabel=\"Ordenar\"\r\n (valueChange)=\"onSortChange($event)\"\r\n />\r\n </span>\r\n }\r\n @if (hasFilters) {\r\n <div class=\"ius-listview__filters\"><ng-content select=\"[iusListViewFilters]\" /></div>\r\n }\r\n </div>\r\n <div class=\"ius-listview__hgroup ius-listview__hgroup--end\">\r\n @if (actions.length) {\r\n <div class=\"ius-listview__actions\">\r\n @for (a of actions; track a.key ?? $index) {\r\n <ius-icon-button\r\n [icon]=\"a.icon\"\r\n variant=\"tertiary\"\r\n [size]=\"iconSize\"\r\n [ariaLabel]=\"a.ariaLabel || a.label || a.icon\"\r\n [disabled]=\"a.disabled ?? false\"\r\n (clicked)=\"onAction(a, $event)\"\r\n />\r\n }\r\n </div>\r\n }\r\n <ng-content select=\"[iusListViewHeaderEnd]\" />\r\n </div>\r\n </div>\r\n }\r\n}\r\n\r\n<!-- Body: \u00FAnico scroller; emite la rejilla --_lc-col-N a los ListCard proyectados -->\r\n<div\r\n class=\"ius-listview__body ius-scroll\"\r\n [style.gap]=\"px(gap)\"\r\n [style.padding]=\"px(bodyPadding)\"\r\n [style.--_sb-track-margin]=\"px(scrollTrackMargin)\"\r\n [style.--_lc-col-1]=\"colVar(0)\"\r\n [style.--_lc-col-2]=\"colVar(1)\"\r\n [style.--_lc-col-3]=\"colVar(2)\"\r\n [style.--_lc-col-4]=\"colVar(3)\"\r\n [style.--_lc-col-5]=\"colVar(4)\"\r\n [style.--_lc-col-6]=\"colVar(5)\"\r\n>\r\n <ng-content />\r\n</div>\r\n\r\n<!-- Footer: total a la izquierda + paginaci\u00F3n a la derecha -->\r\n@if (showFooter) {\r\n <div class=\"ius-listview__footer\">\r\n <ng-content select=\"[iusListViewFooterStart]\" />\r\n @if (countText) {\r\n <span class=\"ius-listview__count\">{{ countText }}</span>\r\n }\r\n @if (pagination) {\r\n <!-- FALLBACK Pagination: port interno (reemplazar por ius-pagination cuando exista) -->\r\n <ius-list-view-pagination\r\n [variant]=\"paginationVariant\"\r\n [total]=\"total\"\r\n [page]=\"page\"\r\n [pageSize]=\"pageSize\"\r\n [pageSizeOptions]=\"pageSizeOptions\"\r\n size=\"small\"\r\n (pageChange)=\"pageChange.emit($event)\"\r\n (pageSizeChange)=\"pageSizeChange.emit($event)\"\r\n />\r\n }\r\n <ng-content select=\"[iusListViewFooterEnd]\" />\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;min-height:0;width:100%;height:100%;font-family:var(--ius-font-body);box-sizing:border-box}:host([data-bordered=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-listview__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:nowrap;padding:var(--ius-space-xs) var(--ius-space-md);min-height:40px}.ius-listview__hgroup{display:flex;align-items:center;gap:var(--ius-space-sm);min-width:0;flex-wrap:wrap}.ius-listview__hgroup--grow{flex:1 1 auto}.ius-listview__hgroup--end{flex:0 0 auto;flex-wrap:nowrap;justify-content:flex-end}:host([data-bordered=true]) .ius-listview__header{border-bottom:1px solid var(--ius-stroke)}.ius-listview__header--toolbar{flex-wrap:wrap;min-height:0}:host([data-size=small]) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}@container style(--ius-density: small){:host(:not([data-size])) .ius-listview__header{gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-sm);min-height:36px}}.ius-listview__spacer{flex:1 1 auto}.ius-listview__divider{align-self:stretch;width:1px;background:var(--ius-stroke);margin:var(--ius-space-xxs) var(--ius-space-xs)}.ius-listview__filters{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}.ius-listview__actions{display:flex;align-items:center;gap:var(--ius-space-xxs)}.ius-listview__selcount{font:var(--ius-fw-regular, 400) var(--ius-fs-base)/var(--ius-lh-base) var(--ius-font-body);color:var(--ius-primary-900);font-variant-numeric:tabular-nums}.ius-listview__body{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column}:host([data-fit=height]){flex:1 1 auto;min-height:0;overflow:hidden}.ius-listview__body ::ng-deep .ius-listcard:hover{z-index:2}.ius-listview__footer{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-sm);padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-bordered=true]) .ius-listview__footer{border-top:1px solid var(--ius-stroke)}.ius-listview__count{font:var(--ius-fw-regular, 400) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary);font-variant-numeric:tabular-nums}.ius-listview__footer .ius-pagination{margin-left:auto;flex:0 0 auto}.ius-listview__sort{display:inline-flex}\n"] }]
|
|
8269
8269
|
}], propDecorators: { hideHeader: [{
|
|
8270
8270
|
type: Input,
|
|
8271
8271
|
args: [{ transform: booleanAttribute }]
|
|
@@ -8771,11 +8771,11 @@ class DrawerComponent {
|
|
|
8771
8771
|
this.timers = [];
|
|
8772
8772
|
}
|
|
8773
8773
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
8774
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: DrawerComponent, isStandalone: true, selector: "ius-drawer", inputs: { open: "open", defaultOpen: ["defaultOpen", "defaultOpen", booleanAttribute], side: "side", size: "size", title: "title", centerTitle: ["centerTitle", "centerTitle", booleanAttribute], showBack: "showBack", showClose: ["showClose", "showClose", booleanAttribute], closeOnScrim: ["closeOnScrim", "closeOnScrim", booleanAttribute], closeOnEsc: ["closeOnEsc", "closeOnEsc", booleanAttribute], showScrim: ["showScrim", "showScrim", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { closed: "closed", openChange: "openChange", back: "back" }, queries: [{ propertyName: "titleSlot", first: true, predicate: IusDrawerTitleDirective, descendants: true }, { propertyName: "actionsSlot", first: true, predicate: IusDrawerHeaderActionsDirective, descendants: true }, { propertyName: "footerSlot", first: true, predicate: IusDrawerFooterDirective, descendants: true }], viewQueries: [{ propertyName: "tpl", first: true, predicate: ["tpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #tpl>\n @if (showScrim) {\n <div\n class=\"ius-drawer-scrim\"\n [attr.data-visible]=\"visible() ? 'true' : null\"\n (click)=\"onScrimClick()\"\n ></div>\n }\n <div\n class=\"ius-drawer\"\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.data-side]=\"side\"\n [attr.data-size]=\"size\"\n [attr.data-visible]=\"visible() ? 'true' : null\"\n [attr.data-entered]=\"entered() ? 'true' : null\"\n >\n @if (hasHeader) {\n <div class=\"ius-drawer__header\">\n @if (showBackBtn) {\n <ius-icon-button\n icon=\"arrow_back\"\n variant=\"tertiary\"\n size=\"medium\"\n ariaLabel=\"Volver\"\n (clicked)=\"onBackClick()\"\n />\n }\n @if (hasTitle) {\n <h2\n class=\"ius-drawer__title\"\n [class.ius-drawer__title--center]=\"centerTitle\"\n [id]=\"titleId\"\n >{{ title }}<ng-content select=\"[iusDrawerTitle]\" /></h2>\n }\n @if (hasActionsZone) {\n <div class=\"ius-drawer__actions\">\n <ng-content select=\"[iusDrawerHeaderActions]\" />\n @if (showClose) {\n <ius-icon-button\n icon=\"close\"\n variant=\"tertiary\"\n size=\"medium\"\n ariaLabel=\"Cerrar\"\n (clicked)=\"requestClose()\"\n />\n }\n </div>\n }\n </div>\n }\n\n <div class=\"ius-drawer__body ius-scroll\"><ng-content /></div>\n\n @if (footerSlot) {\n <div class=\"ius-drawer__footer\"><ng-content select=\"[iusDrawerFooter]\" /></div>\n }\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.ius-drawer-scrim{position:fixed;inset:0;background:var(--ius-surface-overlay);opacity:0;transition:opacity var(--ius-duration-slow) var(--ius-ease-standard)}.ius-drawer-scrim[data-visible=true]{opacity:1}.ius-drawer{position:fixed;top:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;width:var(--_drawer-w, min(440px, 100vw));background:var(--ius-surface-card);box-shadow:var(--ius-elevation-400);font-family:var(--ius-font-body);transition:transform var(--ius-duration-slow) var(--ius-ease-decelerate, cubic-bezier(0, 0, .2, 1))}.ius-drawer[data-side=right]{right:0;transform:translate(100%);border-radius:var(--ius-radius-lg) 0 0 var(--ius-radius-lg)}.ius-drawer[data-side=left]{left:0;transform:translate(-100%);border-radius:0 var(--ius-radius-lg) var(--ius-radius-lg) 0}.ius-drawer[data-visible=true]{transform:translate(0)}.ius-drawer[data-entered=true]{transform:none}.ius-drawer[data-size=sm]{--_drawer-w: min(400px, 100vw)}.ius-drawer[data-size=md]{--_drawer-w: min(440px, 100vw)}.ius-drawer[data-size=lg]{--_drawer-w: min(560px, 100vw)}.ius-drawer[data-size=xl]{--_drawer-w: min(720px, 100vw)}@media(max-width:480px){.ius-drawer{width:100vw;border-radius:0}}@media(prefers-reduced-motion:reduce){.ius-drawer,.ius-drawer-scrim{transition:none}}.ius-drawer__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-xs);height:56px;box-sizing:border-box;padding:0 var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-drawer__title{flex:1 1 auto;min-width:0;margin:0;font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-lg);line-height:var(--ius-lh-lg);color:var(--ius-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ius-drawer__title--center{text-align:center}.ius-drawer__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-drawer__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--ius-space-lg) var(--ius-space-md);display:flex;flex-direction:column;gap:var(--ius-space-md);scrollbar-width:thin;scrollbar-color:var(--ius-neutral-5) transparent}.ius-drawer__body::-webkit-scrollbar{width:10px}.ius-drawer__body::-webkit-scrollbar-track{background:transparent}.ius-drawer__body::-webkit-scrollbar-thumb{background:var(--ius-neutral-5);border-radius:var(--ius-radius-pill);border:3px solid var(--ius-surface-card);background-clip:padding-box}.ius-drawer__body::-webkit-scrollbar-thumb:hover{background:var(--ius-neutral-6);background-clip:padding-box}.ius-drawer__body ::ng-deep .ius-tf,.ius-drawer__body ::ng-deep .ius-sb{max-width:none}.ius-drawer__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md);border-top:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-drawer[data-side=right] .ius-drawer__footer{border-bottom-left-radius:var(--ius-radius-lg)}.ius-drawer[data-side=left] .ius-drawer__footer{border-bottom-right-radius:var(--ius-radius-lg)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8774
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: DrawerComponent, isStandalone: true, selector: "ius-drawer", inputs: { open: "open", defaultOpen: ["defaultOpen", "defaultOpen", booleanAttribute], side: "side", size: "size", title: "title", centerTitle: ["centerTitle", "centerTitle", booleanAttribute], showBack: "showBack", showClose: ["showClose", "showClose", booleanAttribute], closeOnScrim: ["closeOnScrim", "closeOnScrim", booleanAttribute], closeOnEsc: ["closeOnEsc", "closeOnEsc", booleanAttribute], showScrim: ["showScrim", "showScrim", booleanAttribute], ariaLabel: "ariaLabel" }, outputs: { closed: "closed", openChange: "openChange", back: "back" }, queries: [{ propertyName: "titleSlot", first: true, predicate: IusDrawerTitleDirective, descendants: true }, { propertyName: "actionsSlot", first: true, predicate: IusDrawerHeaderActionsDirective, descendants: true }, { propertyName: "footerSlot", first: true, predicate: IusDrawerFooterDirective, descendants: true }], viewQueries: [{ propertyName: "tpl", first: true, predicate: ["tpl"], descendants: true, static: true }], ngImport: i0, template: "<ng-template #tpl>\r\n @if (showScrim) {\r\n <div\r\n class=\"ius-drawer-scrim\"\r\n [attr.data-visible]=\"visible() ? 'true' : null\"\r\n (click)=\"onScrimClick()\"\r\n ></div>\r\n }\r\n <div\r\n class=\"ius-drawer\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n tabindex=\"-1\"\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"labelledBy\"\r\n [attr.data-side]=\"side\"\r\n [attr.data-size]=\"size\"\r\n [attr.data-visible]=\"visible() ? 'true' : null\"\r\n [attr.data-entered]=\"entered() ? 'true' : null\"\r\n >\r\n @if (hasHeader) {\r\n <div class=\"ius-drawer__header\">\r\n @if (showBackBtn) {\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"medium\"\r\n ariaLabel=\"Volver\"\r\n (clicked)=\"onBackClick()\"\r\n />\r\n }\r\n @if (hasTitle) {\r\n <h2\r\n class=\"ius-drawer__title\"\r\n [class.ius-drawer__title--center]=\"centerTitle\"\r\n [id]=\"titleId\"\r\n >{{ title }}<ng-content select=\"[iusDrawerTitle]\" /></h2>\r\n }\r\n @if (hasActionsZone) {\r\n <div class=\"ius-drawer__actions\">\r\n <ng-content select=\"[iusDrawerHeaderActions]\" />\r\n @if (showClose) {\r\n <ius-icon-button\r\n icon=\"close\"\r\n variant=\"tertiary\"\r\n size=\"medium\"\r\n ariaLabel=\"Cerrar\"\r\n (clicked)=\"requestClose()\"\r\n />\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-drawer__body ius-scroll\"><ng-content /></div>\r\n\r\n @if (footerSlot) {\r\n <div class=\"ius-drawer__footer\"><ng-content select=\"[iusDrawerFooter]\" /></div>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.ius-drawer-scrim{position:fixed;inset:0;background:var(--ius-surface-overlay);opacity:0;transition:opacity var(--ius-duration-slow) var(--ius-ease-standard)}.ius-drawer-scrim[data-visible=true]{opacity:1}.ius-drawer{position:fixed;top:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;width:var(--_drawer-w, min(440px, 100vw));background:var(--ius-surface-card);box-shadow:var(--ius-elevation-400);font-family:var(--ius-font-body);transition:transform var(--ius-duration-slow) var(--ius-ease-decelerate, cubic-bezier(0, 0, .2, 1))}.ius-drawer[data-side=right]{right:0;transform:translate(100%);border-radius:var(--ius-radius-lg) 0 0 var(--ius-radius-lg)}.ius-drawer[data-side=left]{left:0;transform:translate(-100%);border-radius:0 var(--ius-radius-lg) var(--ius-radius-lg) 0}.ius-drawer[data-visible=true]{transform:translate(0)}.ius-drawer[data-entered=true]{transform:none}.ius-drawer[data-size=sm]{--_drawer-w: min(400px, 100vw)}.ius-drawer[data-size=md]{--_drawer-w: min(440px, 100vw)}.ius-drawer[data-size=lg]{--_drawer-w: min(560px, 100vw)}.ius-drawer[data-size=xl]{--_drawer-w: min(720px, 100vw)}@media(max-width:480px){.ius-drawer{width:100vw;border-radius:0}}@media(prefers-reduced-motion:reduce){.ius-drawer,.ius-drawer-scrim{transition:none}}.ius-drawer__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-xs);height:56px;box-sizing:border-box;padding:0 var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-drawer__title{flex:1 1 auto;min-width:0;margin:0;font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-lg);line-height:var(--ius-lh-lg);color:var(--ius-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ius-drawer__title--center{text-align:center}.ius-drawer__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-drawer__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--ius-space-lg) var(--ius-space-md);display:flex;flex-direction:column;gap:var(--ius-space-md);scrollbar-width:thin;scrollbar-color:var(--ius-neutral-5) transparent}.ius-drawer__body::-webkit-scrollbar{width:10px}.ius-drawer__body::-webkit-scrollbar-track{background:transparent}.ius-drawer__body::-webkit-scrollbar-thumb{background:var(--ius-neutral-5);border-radius:var(--ius-radius-pill);border:3px solid var(--ius-surface-card);background-clip:padding-box}.ius-drawer__body::-webkit-scrollbar-thumb:hover{background:var(--ius-neutral-6);background-clip:padding-box}.ius-drawer__body ::ng-deep .ius-tf,.ius-drawer__body ::ng-deep .ius-sb{max-width:none}.ius-drawer__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md);border-top:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-drawer[data-side=right] .ius-drawer__footer{border-bottom-left-radius:var(--ius-radius-lg)}.ius-drawer[data-side=left] .ius-drawer__footer{border-bottom-right-radius:var(--ius-radius-lg)}\n"], dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8775
8775
|
}
|
|
8776
8776
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DrawerComponent, decorators: [{
|
|
8777
8777
|
type: Component,
|
|
8778
|
-
args: [{ selector: 'ius-drawer', standalone: true, imports: [A11yModule, IconButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #tpl>\n @if (showScrim) {\n <div\n class=\"ius-drawer-scrim\"\n [attr.data-visible]=\"visible() ? 'true' : null\"\n (click)=\"onScrimClick()\"\n ></div>\n }\n <div\n class=\"ius-drawer\"\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.data-side]=\"side\"\n [attr.data-size]=\"size\"\n [attr.data-visible]=\"visible() ? 'true' : null\"\n [attr.data-entered]=\"entered() ? 'true' : null\"\n >\n @if (hasHeader) {\n <div class=\"ius-drawer__header\">\n @if (showBackBtn) {\n <ius-icon-button\n icon=\"arrow_back\"\n variant=\"tertiary\"\n size=\"medium\"\n ariaLabel=\"Volver\"\n (clicked)=\"onBackClick()\"\n />\n }\n @if (hasTitle) {\n <h2\n class=\"ius-drawer__title\"\n [class.ius-drawer__title--center]=\"centerTitle\"\n [id]=\"titleId\"\n >{{ title }}<ng-content select=\"[iusDrawerTitle]\" /></h2>\n }\n @if (hasActionsZone) {\n <div class=\"ius-drawer__actions\">\n <ng-content select=\"[iusDrawerHeaderActions]\" />\n @if (showClose) {\n <ius-icon-button\n icon=\"close\"\n variant=\"tertiary\"\n size=\"medium\"\n ariaLabel=\"Cerrar\"\n (clicked)=\"requestClose()\"\n />\n }\n </div>\n }\n </div>\n }\n\n <div class=\"ius-drawer__body ius-scroll\"><ng-content /></div>\n\n @if (footerSlot) {\n <div class=\"ius-drawer__footer\"><ng-content select=\"[iusDrawerFooter]\" /></div>\n }\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.ius-drawer-scrim{position:fixed;inset:0;background:var(--ius-surface-overlay);opacity:0;transition:opacity var(--ius-duration-slow) var(--ius-ease-standard)}.ius-drawer-scrim[data-visible=true]{opacity:1}.ius-drawer{position:fixed;top:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;width:var(--_drawer-w, min(440px, 100vw));background:var(--ius-surface-card);box-shadow:var(--ius-elevation-400);font-family:var(--ius-font-body);transition:transform var(--ius-duration-slow) var(--ius-ease-decelerate, cubic-bezier(0, 0, .2, 1))}.ius-drawer[data-side=right]{right:0;transform:translate(100%);border-radius:var(--ius-radius-lg) 0 0 var(--ius-radius-lg)}.ius-drawer[data-side=left]{left:0;transform:translate(-100%);border-radius:0 var(--ius-radius-lg) var(--ius-radius-lg) 0}.ius-drawer[data-visible=true]{transform:translate(0)}.ius-drawer[data-entered=true]{transform:none}.ius-drawer[data-size=sm]{--_drawer-w: min(400px, 100vw)}.ius-drawer[data-size=md]{--_drawer-w: min(440px, 100vw)}.ius-drawer[data-size=lg]{--_drawer-w: min(560px, 100vw)}.ius-drawer[data-size=xl]{--_drawer-w: min(720px, 100vw)}@media(max-width:480px){.ius-drawer{width:100vw;border-radius:0}}@media(prefers-reduced-motion:reduce){.ius-drawer,.ius-drawer-scrim{transition:none}}.ius-drawer__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-xs);height:56px;box-sizing:border-box;padding:0 var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-drawer__title{flex:1 1 auto;min-width:0;margin:0;font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-lg);line-height:var(--ius-lh-lg);color:var(--ius-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ius-drawer__title--center{text-align:center}.ius-drawer__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-drawer__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--ius-space-lg) var(--ius-space-md);display:flex;flex-direction:column;gap:var(--ius-space-md);scrollbar-width:thin;scrollbar-color:var(--ius-neutral-5) transparent}.ius-drawer__body::-webkit-scrollbar{width:10px}.ius-drawer__body::-webkit-scrollbar-track{background:transparent}.ius-drawer__body::-webkit-scrollbar-thumb{background:var(--ius-neutral-5);border-radius:var(--ius-radius-pill);border:3px solid var(--ius-surface-card);background-clip:padding-box}.ius-drawer__body::-webkit-scrollbar-thumb:hover{background:var(--ius-neutral-6);background-clip:padding-box}.ius-drawer__body ::ng-deep .ius-tf,.ius-drawer__body ::ng-deep .ius-sb{max-width:none}.ius-drawer__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md);border-top:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-drawer[data-side=right] .ius-drawer__footer{border-bottom-left-radius:var(--ius-radius-lg)}.ius-drawer[data-side=left] .ius-drawer__footer{border-bottom-right-radius:var(--ius-radius-lg)}\n"] }]
|
|
8778
|
+
args: [{ selector: 'ius-drawer', standalone: true, imports: [A11yModule, IconButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #tpl>\r\n @if (showScrim) {\r\n <div\r\n class=\"ius-drawer-scrim\"\r\n [attr.data-visible]=\"visible() ? 'true' : null\"\r\n (click)=\"onScrimClick()\"\r\n ></div>\r\n }\r\n <div\r\n class=\"ius-drawer\"\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n tabindex=\"-1\"\r\n cdkTrapFocus\r\n [cdkTrapFocusAutoCapture]=\"true\"\r\n [attr.aria-label]=\"ariaLabel || null\"\r\n [attr.aria-labelledby]=\"labelledBy\"\r\n [attr.data-side]=\"side\"\r\n [attr.data-size]=\"size\"\r\n [attr.data-visible]=\"visible() ? 'true' : null\"\r\n [attr.data-entered]=\"entered() ? 'true' : null\"\r\n >\r\n @if (hasHeader) {\r\n <div class=\"ius-drawer__header\">\r\n @if (showBackBtn) {\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"medium\"\r\n ariaLabel=\"Volver\"\r\n (clicked)=\"onBackClick()\"\r\n />\r\n }\r\n @if (hasTitle) {\r\n <h2\r\n class=\"ius-drawer__title\"\r\n [class.ius-drawer__title--center]=\"centerTitle\"\r\n [id]=\"titleId\"\r\n >{{ title }}<ng-content select=\"[iusDrawerTitle]\" /></h2>\r\n }\r\n @if (hasActionsZone) {\r\n <div class=\"ius-drawer__actions\">\r\n <ng-content select=\"[iusDrawerHeaderActions]\" />\r\n @if (showClose) {\r\n <ius-icon-button\r\n icon=\"close\"\r\n variant=\"tertiary\"\r\n size=\"medium\"\r\n ariaLabel=\"Cerrar\"\r\n (clicked)=\"requestClose()\"\r\n />\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-drawer__body ius-scroll\"><ng-content /></div>\r\n\r\n @if (footerSlot) {\r\n <div class=\"ius-drawer__footer\"><ng-content select=\"[iusDrawerFooter]\" /></div>\r\n }\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.ius-drawer-scrim{position:fixed;inset:0;background:var(--ius-surface-overlay);opacity:0;transition:opacity var(--ius-duration-slow) var(--ius-ease-standard)}.ius-drawer-scrim[data-visible=true]{opacity:1}.ius-drawer{position:fixed;top:0;bottom:0;display:flex;flex-direction:column;box-sizing:border-box;width:var(--_drawer-w, min(440px, 100vw));background:var(--ius-surface-card);box-shadow:var(--ius-elevation-400);font-family:var(--ius-font-body);transition:transform var(--ius-duration-slow) var(--ius-ease-decelerate, cubic-bezier(0, 0, .2, 1))}.ius-drawer[data-side=right]{right:0;transform:translate(100%);border-radius:var(--ius-radius-lg) 0 0 var(--ius-radius-lg)}.ius-drawer[data-side=left]{left:0;transform:translate(-100%);border-radius:0 var(--ius-radius-lg) var(--ius-radius-lg) 0}.ius-drawer[data-visible=true]{transform:translate(0)}.ius-drawer[data-entered=true]{transform:none}.ius-drawer[data-size=sm]{--_drawer-w: min(400px, 100vw)}.ius-drawer[data-size=md]{--_drawer-w: min(440px, 100vw)}.ius-drawer[data-size=lg]{--_drawer-w: min(560px, 100vw)}.ius-drawer[data-size=xl]{--_drawer-w: min(720px, 100vw)}@media(max-width:480px){.ius-drawer{width:100vw;border-radius:0}}@media(prefers-reduced-motion:reduce){.ius-drawer,.ius-drawer-scrim{transition:none}}.ius-drawer__header{flex:0 0 auto;display:flex;align-items:center;gap:var(--ius-space-xs);height:56px;box-sizing:border-box;padding:0 var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-drawer__title{flex:1 1 auto;min-width:0;margin:0;font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-lg);line-height:var(--ius-lh-lg);color:var(--ius-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ius-drawer__title--center{text-align:center}.ius-drawer__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-drawer__body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:var(--ius-space-lg) var(--ius-space-md);display:flex;flex-direction:column;gap:var(--ius-space-md);scrollbar-width:thin;scrollbar-color:var(--ius-neutral-5) transparent}.ius-drawer__body::-webkit-scrollbar{width:10px}.ius-drawer__body::-webkit-scrollbar-track{background:transparent}.ius-drawer__body::-webkit-scrollbar-thumb{background:var(--ius-neutral-5);border-radius:var(--ius-radius-pill);border:3px solid var(--ius-surface-card);background-clip:padding-box}.ius-drawer__body::-webkit-scrollbar-thumb:hover{background:var(--ius-neutral-6);background-clip:padding-box}.ius-drawer__body ::ng-deep .ius-tf,.ius-drawer__body ::ng-deep .ius-sb{max-width:none}.ius-drawer__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md);border-top:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-drawer[data-side=right] .ius-drawer__footer{border-bottom-left-radius:var(--ius-radius-lg)}.ius-drawer[data-side=left] .ius-drawer__footer{border-bottom-right-radius:var(--ius-radius-lg)}\n"] }]
|
|
8779
8779
|
}], propDecorators: { tpl: [{
|
|
8780
8780
|
type: ViewChild,
|
|
8781
8781
|
args: ['tpl', { static: true }]
|
|
@@ -10381,11 +10381,11 @@ class WizardComponent {
|
|
|
10381
10381
|
return Math.round(this.percent);
|
|
10382
10382
|
}
|
|
10383
10383
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10384
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: WizardComponent, isStandalone: true, selector: "ius-wizard", inputs: { api: "api", showIndicator: ["showIndicator", "showIndicator", booleanAttribute], indicator: "indicator", showStepLabel: ["showStepLabel", "showStepLabel", booleanAttribute], stepWord: "stepWord", ofWord: "ofWord" }, host: { classAttribute: "ius-wizard" }, ngImport: i0, template: "@if (api) {\
|
|
10384
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: WizardComponent, isStandalone: true, selector: "ius-wizard", inputs: { api: "api", showIndicator: ["showIndicator", "showIndicator", booleanAttribute], indicator: "indicator", showStepLabel: ["showStepLabel", "showStepLabel", booleanAttribute], stepWord: "stepWord", ofWord: "ofWord" }, host: { classAttribute: "ius-wizard" }, ngImport: i0, template: "@if (api) {\n @if (showIndicator || showStepLabel) {\n <div class=\"ius-wizard__head\">\n @if (showIndicator) {\n @if (indicator) {\n <ng-container [ngTemplateOutlet]=\"indicator\" />\n } @else {\n <div\n class=\"ius-lpb\"\n role=\"progressbar\"\n aria-label=\"Progreso\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"ariaNow\"\n >\n <div class=\"ius-lpb__track\">\n <div class=\"ius-lpb__fill\" [style.width.%]=\"percent\"></div>\n @if (percent < 100) {\n <div class=\"ius-lpb__rest\"></div>\n }\n </div>\n </div>\n }\n }\n @if (showStepLabel) {\n <span class=\"ius-wizard__label\">\n {{ stepWord }} <b>{{ api.step }}</b> {{ ofWord }} {{ api.total }}\n @if (api.current?.label) {\n <span> \u00B7 {{ api.current?.label }}</span>\n }\n </span>\n }\n </div>\n }\n\n <div class=\"ius-wizard__step\">\n @if (api.current?.content) {\n <ng-container [ngTemplateOutlet]=\"api.current!.content!\" />\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-md);font-family:var(--ius-font-body);min-width:0}.ius-wizard__head{display:flex;flex-direction:column;gap:var(--ius-space-xs)}.ius-wizard__label{font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-wizard__label b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium)}.ius-wizard__step{min-width:0}.ius-lpb{--_lpb-h: 6px;--_lpb-track: var(--ius-neutral-3);--_lpb-fill: var(--ius-info-500);width:100%;display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body)}.ius-lpb__track{display:flex;align-items:center;gap:var(--ius-space-xxs);width:100%;height:var(--_lpb-h)}.ius-lpb__fill{height:100%;flex:0 0 auto;min-width:var(--_lpb-h);background:var(--_lpb-fill);border-radius:var(--ius-radius-pill);transition:width var(--ius-duration-slow, .32s) var(--ius-ease-standard)}.ius-lpb__rest{height:100%;flex:1 1 0;min-width:0;background:var(--_lpb-track);border-radius:var(--ius-radius-pill)}@media(prefers-reduced-motion:reduce){.ius-lpb__fill{transition:none}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10385
10385
|
}
|
|
10386
10386
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: WizardComponent, decorators: [{
|
|
10387
10387
|
type: Component,
|
|
10388
|
-
args: [{ selector: 'ius-wizard', standalone: true, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-wizard' }, template: "@if (api) {\
|
|
10388
|
+
args: [{ selector: 'ius-wizard', standalone: true, imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-wizard' }, template: "@if (api) {\n @if (showIndicator || showStepLabel) {\n <div class=\"ius-wizard__head\">\n @if (showIndicator) {\n @if (indicator) {\n <ng-container [ngTemplateOutlet]=\"indicator\" />\n } @else {\n <div\n class=\"ius-lpb\"\n role=\"progressbar\"\n aria-label=\"Progreso\"\n [attr.aria-valuemin]=\"0\"\n [attr.aria-valuemax]=\"100\"\n [attr.aria-valuenow]=\"ariaNow\"\n >\n <div class=\"ius-lpb__track\">\n <div class=\"ius-lpb__fill\" [style.width.%]=\"percent\"></div>\n @if (percent < 100) {\n <div class=\"ius-lpb__rest\"></div>\n }\n </div>\n </div>\n }\n }\n @if (showStepLabel) {\n <span class=\"ius-wizard__label\">\n {{ stepWord }} <b>{{ api.step }}</b> {{ ofWord }} {{ api.total }}\n @if (api.current?.label) {\n <span> \u00B7 {{ api.current?.label }}</span>\n }\n </span>\n }\n </div>\n }\n\n <div class=\"ius-wizard__step\">\n @if (api.current?.content) {\n <ng-container [ngTemplateOutlet]=\"api.current!.content!\" />\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-md);font-family:var(--ius-font-body);min-width:0}.ius-wizard__head{display:flex;flex-direction:column;gap:var(--ius-space-xs)}.ius-wizard__label{font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-wizard__label b{color:var(--ius-text-primary);font-weight:var(--ius-fw-medium)}.ius-wizard__step{min-width:0}.ius-lpb{--_lpb-h: 6px;--_lpb-track: var(--ius-neutral-3);--_lpb-fill: var(--ius-info-500);width:100%;display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body)}.ius-lpb__track{display:flex;align-items:center;gap:var(--ius-space-xxs);width:100%;height:var(--_lpb-h)}.ius-lpb__fill{height:100%;flex:0 0 auto;min-width:var(--_lpb-h);background:var(--_lpb-fill);border-radius:var(--ius-radius-pill);transition:width var(--ius-duration-slow, .32s) var(--ius-ease-standard)}.ius-lpb__rest{height:100%;flex:1 1 0;min-width:0;background:var(--_lpb-track);border-radius:var(--ius-radius-pill)}@media(prefers-reduced-motion:reduce){.ius-lpb__fill{transition:none}}\n"] }]
|
|
10389
10389
|
}], propDecorators: { api: [{
|
|
10390
10390
|
type: Input,
|
|
10391
10391
|
args: [{ required: true }]
|
|
@@ -10451,11 +10451,11 @@ class WizardNavComponent {
|
|
|
10451
10451
|
this.finishAction?.();
|
|
10452
10452
|
}
|
|
10453
10453
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: WizardNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10454
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: WizardNavComponent, isStandalone: true, selector: "ius-wizard-nav", inputs: { api: "api", backLabel: "backLabel", nextLabel: "nextLabel", finishLabel: "finishLabel", nextIcon: "nextIcon", finishDynamic: ["finishDynamic", "finishDynamic", booleanAttribute], nextDisabled: ["nextDisabled", "nextDisabled", booleanAttribute], hideBackOnFirst: ["hideBackOnFirst", "hideBackOnFirst", booleanAttribute], finishAction: "finishAction" }, outputs: { finish: "finish" }, host: { classAttribute: "ius-wizard-nav" }, ngImport: i0, template: "@if (api) {\
|
|
10454
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: WizardNavComponent, isStandalone: true, selector: "ius-wizard-nav", inputs: { api: "api", backLabel: "backLabel", nextLabel: "nextLabel", finishLabel: "finishLabel", nextIcon: "nextIcon", finishDynamic: ["finishDynamic", "finishDynamic", booleanAttribute], nextDisabled: ["nextDisabled", "nextDisabled", booleanAttribute], hideBackOnFirst: ["hideBackOnFirst", "hideBackOnFirst", booleanAttribute], finishAction: "finishAction" }, outputs: { finish: "finish" }, host: { classAttribute: "ius-wizard-nav" }, ngImport: i0, template: "@if (api) {\n @if (!(hideBackOnFirst && api.isFirst)) {\n <ius-button\n variant=\"secondary\"\n fullWidth\n [label]=\"backLabel\"\n [disabled]=\"api.isFirst\"\n (clicked)=\"api.back()\"\n />\n }\n\n @if (api.isLast) {\n @if (finishDynamic) {\n <ius-button\n variant=\"primary\"\n fullWidth\n dynamic\n [label]=\"finishLabel\"\n [action]=\"runFinish\"\n />\n } @else {\n <ius-button\n variant=\"primary\"\n fullWidth\n [label]=\"finishLabel\"\n (clicked)=\"onFinishClick()\"\n />\n }\n } @else {\n <ius-button\n variant=\"primary\"\n fullWidth\n [label]=\"nextLabel\"\n [sufixIcon]=\"nextIcon\"\n [disabled]=\"nextDisabled\"\n (clicked)=\"api.next()\"\n />\n }\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;gap:var(--ius-space-sm)}:host>*{flex:1 1 0;min-width:0}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ius-button", inputs: ["variant", "label", "prefixIcon", "sufixIcon", "dynamic", "loading", "status", "disabled", "pressed", "fullWidth", "type", "ariaLabel", "action", "size"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10455
10455
|
}
|
|
10456
10456
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: WizardNavComponent, decorators: [{
|
|
10457
10457
|
type: Component,
|
|
10458
|
-
args: [{ selector: 'ius-wizard-nav', standalone: true, imports: [ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-wizard-nav' }, template: "@if (api) {\
|
|
10458
|
+
args: [{ selector: 'ius-wizard-nav', standalone: true, imports: [ButtonComponent], changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'ius-wizard-nav' }, template: "@if (api) {\n @if (!(hideBackOnFirst && api.isFirst)) {\n <ius-button\n variant=\"secondary\"\n fullWidth\n [label]=\"backLabel\"\n [disabled]=\"api.isFirst\"\n (clicked)=\"api.back()\"\n />\n }\n\n @if (api.isLast) {\n @if (finishDynamic) {\n <ius-button\n variant=\"primary\"\n fullWidth\n dynamic\n [label]=\"finishLabel\"\n [action]=\"runFinish\"\n />\n } @else {\n <ius-button\n variant=\"primary\"\n fullWidth\n [label]=\"finishLabel\"\n (clicked)=\"onFinishClick()\"\n />\n }\n } @else {\n <ius-button\n variant=\"primary\"\n fullWidth\n [label]=\"nextLabel\"\n [sufixIcon]=\"nextIcon\"\n [disabled]=\"nextDisabled\"\n (clicked)=\"api.next()\"\n />\n }\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;gap:var(--ius-space-sm)}:host>*{flex:1 1 0;min-width:0}\n"] }]
|
|
10459
10459
|
}], propDecorators: { api: [{
|
|
10460
10460
|
type: Input,
|
|
10461
10461
|
args: [{ required: true }]
|
|
@@ -10587,7 +10587,7 @@ class ScrollAreaComponent {
|
|
|
10587
10587
|
}
|
|
10588
10588
|
}
|
|
10589
10589
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10590
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: ScrollAreaComponent, isStandalone: true, selector: "ius-scroll-area", inputs: { axis: "axis", size: "size", autoHide: ["autoHide", "autoHide", booleanAttribute], fade: ["fade", "fade", booleanAttribute], maxHeight: "maxHeight", maxWidth: "maxWidth", viewClassName: "viewClassName" }, outputs: { scrolled: "scrolled" }, host: { properties: { "attr.data-axis": "axis", "attr.data-fade": "fade ? 'true' : 'false'" }, classAttribute: "ius-sa" }, viewQueries: [{ propertyName: "view", first: true, predicate: ["view"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\
|
|
10590
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.8", type: ScrollAreaComponent, isStandalone: true, selector: "ius-scroll-area", inputs: { axis: "axis", size: "size", autoHide: ["autoHide", "autoHide", booleanAttribute], fade: ["fade", "fade", booleanAttribute], maxHeight: "maxHeight", maxWidth: "maxWidth", viewClassName: "viewClassName" }, outputs: { scrolled: "scrolled" }, host: { properties: { "attr.data-axis": "axis", "attr.data-fade": "fade ? 'true' : 'false'" }, classAttribute: "ius-sa" }, viewQueries: [{ propertyName: "view", first: true, predicate: ["view"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n #view\n [class]=\"viewClasses\"\n [style.max-height]=\"maxHeightCss\"\n [style.max-width]=\"maxWidthCss\"\n>\n <ng-content />\n</div>\n", styles: ["@charset \"UTF-8\";:host{position:relative;box-sizing:border-box;display:block;min-height:0;min-width:0}.ius-sa__view{box-sizing:border-box;width:100%;height:100%}:host([data-axis=y]) .ius-sa__view{overflow-y:auto;overflow-x:hidden}:host([data-axis=x]) .ius-sa__view{overflow-x:auto;overflow-y:hidden}:host([data-axis=both]) .ius-sa__view{overflow:auto}:host([data-fade=true][data-axis=y]) .ius-sa__view{--_sa-top: 0px;--_sa-bot: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--_sa-top),#000 calc(100% - var(--_sa-bot)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--_sa-top),#000 calc(100% - var(--_sa-bot)),transparent 100%)}:host([data-fade=true][data-axis=x]) .ius-sa__view{--_sa-l: 0px;--_sa-r: 0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--_sa-l),#000 calc(100% - var(--_sa-r)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--_sa-l),#000 calc(100% - var(--_sa-r)),transparent 100%)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
10591
10591
|
}
|
|
10592
10592
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: ScrollAreaComponent, decorators: [{
|
|
10593
10593
|
type: Component,
|
|
@@ -10595,7 +10595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
10595
10595
|
class: 'ius-sa',
|
|
10596
10596
|
'[attr.data-axis]': 'axis',
|
|
10597
10597
|
'[attr.data-fade]': "fade ? 'true' : 'false'",
|
|
10598
|
-
}, template: "<div\
|
|
10598
|
+
}, template: "<div\n #view\n [class]=\"viewClasses\"\n [style.max-height]=\"maxHeightCss\"\n [style.max-width]=\"maxWidthCss\"\n>\n <ng-content />\n</div>\n", styles: ["@charset \"UTF-8\";:host{position:relative;box-sizing:border-box;display:block;min-height:0;min-width:0}.ius-sa__view{box-sizing:border-box;width:100%;height:100%}:host([data-axis=y]) .ius-sa__view{overflow-y:auto;overflow-x:hidden}:host([data-axis=x]) .ius-sa__view{overflow-x:auto;overflow-y:hidden}:host([data-axis=both]) .ius-sa__view{overflow:auto}:host([data-fade=true][data-axis=y]) .ius-sa__view{--_sa-top: 0px;--_sa-bot: 0px;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 var(--_sa-top),#000 calc(100% - var(--_sa-bot)),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 var(--_sa-top),#000 calc(100% - var(--_sa-bot)),transparent 100%)}:host([data-fade=true][data-axis=x]) .ius-sa__view{--_sa-l: 0px;--_sa-r: 0px;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--_sa-l),#000 calc(100% - var(--_sa-r)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--_sa-l),#000 calc(100% - var(--_sa-r)),transparent 100%)}\n"] }]
|
|
10599
10599
|
}], propDecorators: { axis: [{
|
|
10600
10600
|
type: Input
|
|
10601
10601
|
}], size: [{
|
|
@@ -12302,7 +12302,7 @@ class SettingsNavComponent {
|
|
|
12302
12302
|
this.visibleCount.set(count);
|
|
12303
12303
|
}
|
|
12304
12304
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SettingsNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12305
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SettingsNavComponent, isStandalone: true, selector: "ius-settings-nav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedId: { classPropertyName: "selectedId", publicName: "selectedId", isSignal: true, isRequired: false, transformFunction: null }, accent: { classPropertyName: "accent", publicName: "accent", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, defaultCollapsed: { classPropertyName: "defaultCollapsed", publicName: "defaultCollapsed", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, overflowLabel: { classPropertyName: "overflowLabel", publicName: "overflowLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIdChange: "selectedIdChange", itemClick: "itemClick", collapsedChange: "collapsedChange" }, host: { attributes: { "role": "navigation" }, properties: { "attr.aria-label": "ariaLabel()", "attr.data-collapsed": "isCollapsed() ? 'true' : null", "attr.title": "null", "style.--_sn-w": "widthCss()", "style.--_sn-cico-h": "cicoH()", "style.--_sn-fg": "accentFg()", "style.--_sn-tint": "accentTint()" }, classAttribute: "ius-settings-nav" }, queries: [{ propertyName: "headerRef", first: true, predicate: IusSettingsNavHeaderDirective, descendants: true, isSignal: true }, { propertyName: "footerRef", first: true, predicate: IusSettingsNavFooterDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "wrapRef", first: true, predicate: ["wrap"], descendants: true, isSignal: true }, { propertyName: "measRef", first: true, predicate: ["meas"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\r\n SettingsNav \u2014 el HOST es el `<nav>` (ver `host:` del .ts), as\u00ED que aqu\u00ED\r\n arranca directamente el contenido: encabezado \u00B7 columna de filas \u00B7 pie.\r\n-->\r\n\r\n<!--\r\n Encabezado. El slot `[iusSettingsNavHeader]` MANDA sobre `title`, y `title`\r\n se oculta al colapsar (ambas condiciones viven en `showTitle()`).\r\n El `ng-content` va en un \u00FAnico `@if` (nunca anidado): con `@if` anidados el\r\n compilador solo iza el atributo `select` un nivel y la proyecci\u00F3n fallar\u00EDa en\r\n silencio.\r\n-->\r\n@if (headerRef() || showTitle()) {\r\n <div class=\"ius-settings-nav__header\">\r\n <ng-content select=\"[iusSettingsNavHeader]\" />\r\n @if (showTitle()) {\r\n <div class=\"ius-settings-nav__title\">{{ title() }}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<!-- Columna de filas: NO scrollea (priority+ recoge lo que no cabe). -->\r\n<div class=\"ius-settings-nav__items\" #wrap>\r\n @for (it of visibleItems(); track it.id) {\r\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\r\n }\r\n\r\n <!-- Desborde: lo que no cabe en alto se recoge en un Popover a la derecha. -->\r\n @if (hasOverflow()) {\r\n <ius-popover\r\n [open]=\"moreOpen()\"\r\n trigger=\"click\"\r\n placement=\"right-start\"\r\n [showArrow]=\"false\"\r\n [offset]=\"8\"\r\n [dismissable]=\"true\"\r\n (openChange)=\"moreOpen.set($event)\"\r\n >\r\n @if (isCollapsed()) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [attr.data-selected]=\"anyHiddenSelected() ? 'true' : null\"\r\n [attr.aria-label]=\"overflowLabel()\"\r\n aria-haspopup=\"menu\"\r\n [attr.aria-expanded]=\"moreOpen()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">more_horiz</span>\r\n @if (anyHiddenSelected()) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </button>\r\n } @else {\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n icon=\"more_horiz\"\r\n [label]=\"overflowLabel()\"\r\n [selected]=\"anyHiddenSelected()\"\r\n [ariaLabel]=\"overflowLabel() + ' secciones'\"\r\n />\r\n }\r\n\r\n <!--\r\n Panel del desborde. Se estampa en el overlay del CDK (FUERA del host),\r\n as\u00ED que las variables de acento NO se heredan: se repiten en l\u00EDnea, tal\r\n como el golden repite `accentVars(accent)` en este mismo nodo.\r\n -->\r\n <div\r\n iusPopoverContent\r\n class=\"ius-settings-nav__pop\"\r\n role=\"menu\"\r\n [style.--_sn-fg]=\"accentFg()\"\r\n [style.--_sn-tint]=\"accentTint()\"\r\n >\r\n @for (it of hiddenItems(); track it.id) {\r\n <ius-menu-item\r\n variant=\"menu\"\r\n itemRole=\"menuitem\"\r\n [size]=\"size()\"\r\n [icon]=\"it.icon\"\r\n [label]=\"it.label\"\r\n [badge]=\"it.badge\"\r\n [selected]=\"it.id === selectedId()\"\r\n [disabled]=\"!!it.disabled\"\r\n [href]=\"it.href\"\r\n (clicked)=\"handleFromOverflow(it)\"\r\n />\r\n }\r\n </div>\r\n </ius-popover>\r\n }\r\n\r\n <!--\r\n Contenedor de MEDICI\u00D3N (priority+): clona TODAS las filas fuera de vista\r\n (`position: absolute` + `visibility: hidden`, as\u00ED que no aporta alto ni\r\n entra en el orden de tabulaci\u00F3n) y de ah\u00ED se leen los `offsetHeight`.\r\n Cada clon va envuelto en `__mrow` porque el host de `ius-menu-item` es\r\n `display: contents` y no generar\u00EDa caja que medir.\r\n -->\r\n <div class=\"ius-settings-nav__measure\" #meas aria-hidden=\"true\">\r\n @for (it of items(); track it.id) {\r\n <div class=\"ius-settings-nav__mrow\">\r\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<!-- Pie: slot libre + bot\u00F3n propio de colapso, sobre una l\u00EDnea separadora. -->\r\n@if (hasFooter()) {\r\n <div class=\"ius-settings-nav__sep\"></div>\r\n <div class=\"ius-settings-nav__footer\">\r\n <ng-content select=\"[iusSettingsNavFooter]\" />\r\n\r\n @if (collapsible()) {\r\n @if (isCollapsed()) {\r\n <ius-tooltip [label]=\"toggleLabel()\" placement=\"right\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [attr.aria-label]=\"toggleLabel()\"\r\n aria-expanded=\"false\"\r\n (click)=\"toggleCollapsed()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ toggleIcon() }}</span>\r\n </button>\r\n </ius-tooltip>\r\n } @else {\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n [icon]=\"toggleIcon()\"\r\n [label]=\"toggleLabel()\"\r\n [ariaLabel]=\"toggleLabel()\"\r\n (clicked)=\"toggleCollapsed()\"\r\n />\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<!--\r\n UNA sola plantilla de fila, estampada con `NgTemplateOutlet` en la columna\r\n visible y en el contenedor de medici\u00F3n. El contexto de un `ng-template` no\r\n est\u00E1 tipado, as\u00ED que `asItem()` le devuelve el tipo y `strictTemplates`\r\n vuelve a comprobar todo el cuerpo.\r\n-->\r\n<ng-template #fila let-raw=\"it\">\r\n @let it = asItem(raw);\r\n @let sel = it.id === selectedId();\r\n\r\n @if (isCollapsed()) {\r\n <!-- Colapsado: solo \u00EDcono; el nombre accesible lo dan Tooltip + aria-label. -->\r\n <ius-tooltip [label]=\"it.label\" placement=\"right\">\r\n @if (isLink(it)) {\r\n <a\r\n class=\"ius-settings-nav__cico\"\r\n [href]=\"it.href\"\r\n [attr.data-selected]=\"sel ? 'true' : null\"\r\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\r\n [attr.aria-current]=\"sel ? 'page' : null\"\r\n [attr.aria-label]=\"it.label\"\r\n (click)=\"handle(it)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\r\n @if (it.badge) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </a>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [disabled]=\"!it.href && !!it.disabled\"\r\n [attr.data-selected]=\"sel ? 'true' : null\"\r\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\r\n [attr.aria-current]=\"sel ? 'page' : null\"\r\n [attr.aria-label]=\"it.label\"\r\n (click)=\"handle(it)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\r\n @if (it.badge) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </button>\r\n }\r\n </ius-tooltip>\r\n } @else {\r\n <!-- Expandido: la fila ES un MenuItem `rail` (idle/hover/pressed heredados). -->\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n [icon]=\"it.icon\"\r\n [label]=\"it.label\"\r\n [badge]=\"it.badge\"\r\n [selected]=\"sel\"\r\n [disabled]=\"!!it.disabled\"\r\n [href]=\"it.href\"\r\n (clicked)=\"handle(it)\"\r\n />\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:var(--_sn-w, 240px);min-width:var(--_sn-w, 240px);height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);padding:var(--ius-space-sm) var(--ius-space-xs);gap:var(--ius-space-xxs);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:var(--_sn-wc, 64px);min-width:var(--_sn-wc, 64px)}.ius-settings-nav__header{flex:0 0 auto;padding:var(--ius-space-xs) var(--ius-space-xs) var(--ius-space-sm);min-height:0}.ius-settings-nav__title{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);line-height:1.2;text-transform:uppercase;letter-spacing:.04em;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-settings-nav__items{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs);overflow:hidden;position:relative}.ius-settings-nav__measure{position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__mrow{display:flex;flex-direction:column}.ius-settings-nav__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__sep{height:1px;background:var(--ius-stroke);margin:var(--ius-space-xs) var(--ius-space-xs);flex:0 0 auto}:host ::ng-deep .ius-menuitem[data-variant=rail]{--_mi-icon: var(--ius-neutral-8)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}:host ::ng-deep ius-tooltip{align-items:stretch}:host ::ng-deep ius-tooltip>ius-popover{flex:1 1 auto;min-width:0;align-items:stretch}.ius-settings-nav__cico{appearance:none;border:0;background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--_sn-cico-h, var(--ius-hit-target-min));border-radius:var(--ius-radius-md);color:var(--ius-neutral-8);text-decoration:none;transition:background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-settings-nav__cico:hover{background:var(--ius-neutral-2)}.ius-settings-nav__cico:active{background:var(--ius-neutral-3)}.ius-settings-nav__cico:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}.ius-settings-nav__cico[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.ius-settings-nav__cico[data-selected=true]{background:var(--_sn-tint);color:var(--_sn-fg)}.ius-settings-nav__cico .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-settings-nav__cico-badge{position:absolute;top:7px;right:12px;width:8px;height:8px;border-radius:var(--ius-radius-pill);background:var(--ius-info-500);box-shadow:0 0 0 2px var(--ius-surface-card)}.ius-settings-nav__pop{display:flex;flex-direction:column;gap:var(--ius-space-xxs);min-width:208px;padding:var(--ius-space-xxs)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["icon", "label", "badge", "variant", "size", "selected", "disabled", "danger", "state", "href", "ariaLabel", "itemRole"], outputs: ["clicked"] }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TooltipComponent, selector: "ius-tooltip", inputs: ["label", "placement", "trigger", "offset", "showArrow", "disabled", "open", "defaultOpen"], outputs: ["openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12305
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SettingsNavComponent, isStandalone: true, selector: "ius-settings-nav", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, selectedId: { classPropertyName: "selectedId", publicName: "selectedId", isSignal: true, isRequired: false, transformFunction: null }, accent: { classPropertyName: "accent", publicName: "accent", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, defaultCollapsed: { classPropertyName: "defaultCollapsed", publicName: "defaultCollapsed", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, overflowLabel: { classPropertyName: "overflowLabel", publicName: "overflowLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selectedIdChange: "selectedIdChange", itemClick: "itemClick", collapsedChange: "collapsedChange" }, host: { attributes: { "role": "navigation" }, properties: { "attr.aria-label": "ariaLabel()", "attr.data-collapsed": "isCollapsed() ? 'true' : null", "attr.title": "null", "style.--_sn-w": "widthCss()", "style.--_sn-cico-h": "cicoH()", "style.--_sn-fg": "accentFg()", "style.--_sn-tint": "accentTint()" }, classAttribute: "ius-settings-nav" }, queries: [{ propertyName: "headerRef", first: true, predicate: IusSettingsNavHeaderDirective, descendants: true, isSignal: true }, { propertyName: "footerRef", first: true, predicate: IusSettingsNavFooterDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "wrapRef", first: true, predicate: ["wrap"], descendants: true, isSignal: true }, { propertyName: "measRef", first: true, predicate: ["meas"], descendants: true, isSignal: true }], ngImport: i0, template: "<!--\n SettingsNav \u2014 el HOST es el `<nav>` (ver `host:` del .ts), as\u00ED que aqu\u00ED\n arranca directamente el contenido: encabezado \u00B7 columna de filas \u00B7 pie.\n-->\n\n<!--\n Encabezado. El slot `[iusSettingsNavHeader]` MANDA sobre `title`, y `title`\n se oculta al colapsar (ambas condiciones viven en `showTitle()`).\n El `ng-content` va en un \u00FAnico `@if` (nunca anidado): con `@if` anidados el\n compilador solo iza el atributo `select` un nivel y la proyecci\u00F3n fallar\u00EDa en\n silencio.\n-->\n@if (headerRef() || showTitle()) {\n <div class=\"ius-settings-nav__header\">\n <ng-content select=\"[iusSettingsNavHeader]\" />\n @if (showTitle()) {\n <div class=\"ius-settings-nav__title\">{{ title() }}</div>\n }\n </div>\n}\n\n<!-- Columna de filas: NO scrollea (priority+ recoge lo que no cabe). -->\n<div class=\"ius-settings-nav__items\" #wrap>\n @for (it of visibleItems(); track it.id) {\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\n }\n\n <!-- Desborde: lo que no cabe en alto se recoge en un Popover a la derecha. -->\n @if (hasOverflow()) {\n <ius-popover\n [open]=\"moreOpen()\"\n trigger=\"click\"\n placement=\"right-start\"\n [showArrow]=\"false\"\n [offset]=\"8\"\n [dismissable]=\"true\"\n (openChange)=\"moreOpen.set($event)\"\n >\n @if (isCollapsed()) {\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [attr.data-selected]=\"anyHiddenSelected() ? 'true' : null\"\n [attr.aria-label]=\"overflowLabel()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"moreOpen()\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">more_horiz</span>\n @if (anyHiddenSelected()) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </button>\n } @else {\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n icon=\"more_horiz\"\n [label]=\"overflowLabel()\"\n [selected]=\"anyHiddenSelected()\"\n [ariaLabel]=\"overflowLabel() + ' secciones'\"\n />\n }\n\n <!--\n Panel del desborde. Se estampa en el overlay del CDK (FUERA del host),\n as\u00ED que las variables de acento NO se heredan: se repiten en l\u00EDnea, tal\n como el golden repite `accentVars(accent)` en este mismo nodo.\n -->\n <div\n iusPopoverContent\n class=\"ius-settings-nav__pop\"\n role=\"menu\"\n [style.--_sn-fg]=\"accentFg()\"\n [style.--_sn-tint]=\"accentTint()\"\n >\n @for (it of hiddenItems(); track it.id) {\n <ius-menu-item\n variant=\"menu\"\n itemRole=\"menuitem\"\n [size]=\"size()\"\n [icon]=\"it.icon\"\n [label]=\"it.label\"\n [badge]=\"it.badge\"\n [selected]=\"it.id === selectedId()\"\n [disabled]=\"!!it.disabled\"\n [href]=\"it.href\"\n (clicked)=\"handleFromOverflow(it)\"\n />\n }\n </div>\n </ius-popover>\n }\n\n <!--\n Contenedor de MEDICI\u00D3N (priority+): clona TODAS las filas fuera de vista\n (`position: absolute` + `visibility: hidden`, as\u00ED que no aporta alto ni\n entra en el orden de tabulaci\u00F3n) y de ah\u00ED se leen los `offsetHeight`.\n Cada clon va envuelto en `__mrow` porque el host de `ius-menu-item` es\n `display: contents` y no generar\u00EDa caja que medir.\n -->\n <div class=\"ius-settings-nav__measure\" #meas aria-hidden=\"true\">\n @for (it of items(); track it.id) {\n <div class=\"ius-settings-nav__mrow\">\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\n </div>\n }\n </div>\n</div>\n\n<!-- Pie: slot libre + bot\u00F3n propio de colapso, sobre una l\u00EDnea separadora. -->\n@if (hasFooter()) {\n <div class=\"ius-settings-nav__sep\"></div>\n <div class=\"ius-settings-nav__footer\">\n <ng-content select=\"[iusSettingsNavFooter]\" />\n\n @if (collapsible()) {\n @if (isCollapsed()) {\n <ius-tooltip [label]=\"toggleLabel()\" placement=\"right\">\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [attr.aria-label]=\"toggleLabel()\"\n aria-expanded=\"false\"\n (click)=\"toggleCollapsed()\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ toggleIcon() }}</span>\n </button>\n </ius-tooltip>\n } @else {\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n [icon]=\"toggleIcon()\"\n [label]=\"toggleLabel()\"\n [ariaLabel]=\"toggleLabel()\"\n (clicked)=\"toggleCollapsed()\"\n />\n }\n }\n </div>\n}\n\n<!--\n UNA sola plantilla de fila, estampada con `NgTemplateOutlet` en la columna\n visible y en el contenedor de medici\u00F3n. El contexto de un `ng-template` no\n est\u00E1 tipado, as\u00ED que `asItem()` le devuelve el tipo y `strictTemplates`\n vuelve a comprobar todo el cuerpo.\n-->\n<ng-template #fila let-raw=\"it\">\n @let it = asItem(raw);\n @let sel = it.id === selectedId();\n\n @if (isCollapsed()) {\n <!-- Colapsado: solo \u00EDcono; el nombre accesible lo dan Tooltip + aria-label. -->\n <ius-tooltip [label]=\"it.label\" placement=\"right\">\n @if (isLink(it)) {\n <a\n class=\"ius-settings-nav__cico\"\n [href]=\"it.href\"\n [attr.data-selected]=\"sel ? 'true' : null\"\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\n [attr.aria-current]=\"sel ? 'page' : null\"\n [attr.aria-label]=\"it.label\"\n (click)=\"handle(it)\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\n @if (it.badge) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [disabled]=\"!it.href && !!it.disabled\"\n [attr.data-selected]=\"sel ? 'true' : null\"\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\n [attr.aria-current]=\"sel ? 'page' : null\"\n [attr.aria-label]=\"it.label\"\n (click)=\"handle(it)\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\n @if (it.badge) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </button>\n }\n </ius-tooltip>\n } @else {\n <!-- Expandido: la fila ES un MenuItem `rail` (idle/hover/pressed heredados). -->\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n [icon]=\"it.icon\"\n [label]=\"it.label\"\n [badge]=\"it.badge\"\n [selected]=\"sel\"\n [disabled]=\"!!it.disabled\"\n [href]=\"it.href\"\n (clicked)=\"handle(it)\"\n />\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:var(--_sn-w, 240px);min-width:var(--_sn-w, 240px);height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);padding:var(--ius-space-sm) var(--ius-space-xs);gap:var(--ius-space-xxs);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:var(--_sn-wc, 64px);min-width:var(--_sn-wc, 64px)}.ius-settings-nav__header{flex:0 0 auto;padding:var(--ius-space-xs) var(--ius-space-xs) var(--ius-space-sm);min-height:0}.ius-settings-nav__title{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);line-height:1.2;text-transform:uppercase;letter-spacing:.04em;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-settings-nav__items{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs);overflow:hidden;position:relative}.ius-settings-nav__measure{position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__mrow{display:flex;flex-direction:column}.ius-settings-nav__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__sep{height:1px;background:var(--ius-stroke);margin:var(--ius-space-xs) var(--ius-space-xs);flex:0 0 auto}:host ::ng-deep .ius-menuitem[data-variant=rail]{--_mi-icon: var(--ius-neutral-8)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}:host ::ng-deep ius-tooltip{align-items:stretch}:host ::ng-deep ius-tooltip>ius-popover{flex:1 1 auto;min-width:0;align-items:stretch}.ius-settings-nav__cico{appearance:none;border:0;background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--_sn-cico-h, var(--ius-hit-target-min));border-radius:var(--ius-radius-md);color:var(--ius-neutral-8);text-decoration:none;transition:background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-settings-nav__cico:hover{background:var(--ius-neutral-2)}.ius-settings-nav__cico:active{background:var(--ius-neutral-3)}.ius-settings-nav__cico:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}.ius-settings-nav__cico[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.ius-settings-nav__cico[data-selected=true]{background:var(--_sn-tint);color:var(--_sn-fg)}.ius-settings-nav__cico .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-settings-nav__cico-badge{position:absolute;top:7px;right:12px;width:8px;height:8px;border-radius:var(--ius-radius-pill);background:var(--ius-info-500);box-shadow:0 0 0 2px var(--ius-surface-card)}.ius-settings-nav__pop{display:flex;flex-direction:column;gap:var(--ius-space-xxs);min-width:208px;padding:var(--ius-space-xxs)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["icon", "label", "badge", "variant", "size", "selected", "disabled", "danger", "state", "href", "ariaLabel", "itemRole"], outputs: ["clicked"] }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TooltipComponent, selector: "ius-tooltip", inputs: ["label", "placement", "trigger", "offset", "showArrow", "disabled", "open", "defaultOpen"], outputs: ["openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
12306
12306
|
}
|
|
12307
12307
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SettingsNavComponent, decorators: [{
|
|
12308
12308
|
type: Component,
|
|
@@ -12321,7 +12321,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
12321
12321
|
'[style.--_sn-cico-h]': 'cicoH()',
|
|
12322
12322
|
'[style.--_sn-fg]': 'accentFg()',
|
|
12323
12323
|
'[style.--_sn-tint]': 'accentTint()',
|
|
12324
|
-
}, template: "<!--\r\n SettingsNav \u2014 el HOST es el `<nav>` (ver `host:` del .ts), as\u00ED que aqu\u00ED\r\n arranca directamente el contenido: encabezado \u00B7 columna de filas \u00B7 pie.\r\n-->\r\n\r\n<!--\r\n Encabezado. El slot `[iusSettingsNavHeader]` MANDA sobre `title`, y `title`\r\n se oculta al colapsar (ambas condiciones viven en `showTitle()`).\r\n El `ng-content` va en un \u00FAnico `@if` (nunca anidado): con `@if` anidados el\r\n compilador solo iza el atributo `select` un nivel y la proyecci\u00F3n fallar\u00EDa en\r\n silencio.\r\n-->\r\n@if (headerRef() || showTitle()) {\r\n <div class=\"ius-settings-nav__header\">\r\n <ng-content select=\"[iusSettingsNavHeader]\" />\r\n @if (showTitle()) {\r\n <div class=\"ius-settings-nav__title\">{{ title() }}</div>\r\n }\r\n </div>\r\n}\r\n\r\n<!-- Columna de filas: NO scrollea (priority+ recoge lo que no cabe). -->\r\n<div class=\"ius-settings-nav__items\" #wrap>\r\n @for (it of visibleItems(); track it.id) {\r\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\r\n }\r\n\r\n <!-- Desborde: lo que no cabe en alto se recoge en un Popover a la derecha. -->\r\n @if (hasOverflow()) {\r\n <ius-popover\r\n [open]=\"moreOpen()\"\r\n trigger=\"click\"\r\n placement=\"right-start\"\r\n [showArrow]=\"false\"\r\n [offset]=\"8\"\r\n [dismissable]=\"true\"\r\n (openChange)=\"moreOpen.set($event)\"\r\n >\r\n @if (isCollapsed()) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [attr.data-selected]=\"anyHiddenSelected() ? 'true' : null\"\r\n [attr.aria-label]=\"overflowLabel()\"\r\n aria-haspopup=\"menu\"\r\n [attr.aria-expanded]=\"moreOpen()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">more_horiz</span>\r\n @if (anyHiddenSelected()) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </button>\r\n } @else {\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n icon=\"more_horiz\"\r\n [label]=\"overflowLabel()\"\r\n [selected]=\"anyHiddenSelected()\"\r\n [ariaLabel]=\"overflowLabel() + ' secciones'\"\r\n />\r\n }\r\n\r\n <!--\r\n Panel del desborde. Se estampa en el overlay del CDK (FUERA del host),\r\n as\u00ED que las variables de acento NO se heredan: se repiten en l\u00EDnea, tal\r\n como el golden repite `accentVars(accent)` en este mismo nodo.\r\n -->\r\n <div\r\n iusPopoverContent\r\n class=\"ius-settings-nav__pop\"\r\n role=\"menu\"\r\n [style.--_sn-fg]=\"accentFg()\"\r\n [style.--_sn-tint]=\"accentTint()\"\r\n >\r\n @for (it of hiddenItems(); track it.id) {\r\n <ius-menu-item\r\n variant=\"menu\"\r\n itemRole=\"menuitem\"\r\n [size]=\"size()\"\r\n [icon]=\"it.icon\"\r\n [label]=\"it.label\"\r\n [badge]=\"it.badge\"\r\n [selected]=\"it.id === selectedId()\"\r\n [disabled]=\"!!it.disabled\"\r\n [href]=\"it.href\"\r\n (clicked)=\"handleFromOverflow(it)\"\r\n />\r\n }\r\n </div>\r\n </ius-popover>\r\n }\r\n\r\n <!--\r\n Contenedor de MEDICI\u00D3N (priority+): clona TODAS las filas fuera de vista\r\n (`position: absolute` + `visibility: hidden`, as\u00ED que no aporta alto ni\r\n entra en el orden de tabulaci\u00F3n) y de ah\u00ED se leen los `offsetHeight`.\r\n Cada clon va envuelto en `__mrow` porque el host de `ius-menu-item` es\r\n `display: contents` y no generar\u00EDa caja que medir.\r\n -->\r\n <div class=\"ius-settings-nav__measure\" #meas aria-hidden=\"true\">\r\n @for (it of items(); track it.id) {\r\n <div class=\"ius-settings-nav__mrow\">\r\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<!-- Pie: slot libre + bot\u00F3n propio de colapso, sobre una l\u00EDnea separadora. -->\r\n@if (hasFooter()) {\r\n <div class=\"ius-settings-nav__sep\"></div>\r\n <div class=\"ius-settings-nav__footer\">\r\n <ng-content select=\"[iusSettingsNavFooter]\" />\r\n\r\n @if (collapsible()) {\r\n @if (isCollapsed()) {\r\n <ius-tooltip [label]=\"toggleLabel()\" placement=\"right\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [attr.aria-label]=\"toggleLabel()\"\r\n aria-expanded=\"false\"\r\n (click)=\"toggleCollapsed()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ toggleIcon() }}</span>\r\n </button>\r\n </ius-tooltip>\r\n } @else {\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n [icon]=\"toggleIcon()\"\r\n [label]=\"toggleLabel()\"\r\n [ariaLabel]=\"toggleLabel()\"\r\n (clicked)=\"toggleCollapsed()\"\r\n />\r\n }\r\n }\r\n </div>\r\n}\r\n\r\n<!--\r\n UNA sola plantilla de fila, estampada con `NgTemplateOutlet` en la columna\r\n visible y en el contenedor de medici\u00F3n. El contexto de un `ng-template` no\r\n est\u00E1 tipado, as\u00ED que `asItem()` le devuelve el tipo y `strictTemplates`\r\n vuelve a comprobar todo el cuerpo.\r\n-->\r\n<ng-template #fila let-raw=\"it\">\r\n @let it = asItem(raw);\r\n @let sel = it.id === selectedId();\r\n\r\n @if (isCollapsed()) {\r\n <!-- Colapsado: solo \u00EDcono; el nombre accesible lo dan Tooltip + aria-label. -->\r\n <ius-tooltip [label]=\"it.label\" placement=\"right\">\r\n @if (isLink(it)) {\r\n <a\r\n class=\"ius-settings-nav__cico\"\r\n [href]=\"it.href\"\r\n [attr.data-selected]=\"sel ? 'true' : null\"\r\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\r\n [attr.aria-current]=\"sel ? 'page' : null\"\r\n [attr.aria-label]=\"it.label\"\r\n (click)=\"handle(it)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\r\n @if (it.badge) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </a>\r\n } @else {\r\n <button\r\n type=\"button\"\r\n class=\"ius-settings-nav__cico\"\r\n [disabled]=\"!it.href && !!it.disabled\"\r\n [attr.data-selected]=\"sel ? 'true' : null\"\r\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\r\n [attr.aria-current]=\"sel ? 'page' : null\"\r\n [attr.aria-label]=\"it.label\"\r\n (click)=\"handle(it)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\r\n @if (it.badge) {\r\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\r\n }\r\n </button>\r\n }\r\n </ius-tooltip>\r\n } @else {\r\n <!-- Expandido: la fila ES un MenuItem `rail` (idle/hover/pressed heredados). -->\r\n <ius-menu-item\r\n variant=\"rail\"\r\n [size]=\"size()\"\r\n [icon]=\"it.icon\"\r\n [label]=\"it.label\"\r\n [badge]=\"it.badge\"\r\n [selected]=\"sel\"\r\n [disabled]=\"!!it.disabled\"\r\n [href]=\"it.href\"\r\n (clicked)=\"handle(it)\"\r\n />\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:var(--_sn-w, 240px);min-width:var(--_sn-w, 240px);height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);padding:var(--ius-space-sm) var(--ius-space-xs);gap:var(--ius-space-xxs);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:var(--_sn-wc, 64px);min-width:var(--_sn-wc, 64px)}.ius-settings-nav__header{flex:0 0 auto;padding:var(--ius-space-xs) var(--ius-space-xs) var(--ius-space-sm);min-height:0}.ius-settings-nav__title{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);line-height:1.2;text-transform:uppercase;letter-spacing:.04em;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-settings-nav__items{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs);overflow:hidden;position:relative}.ius-settings-nav__measure{position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__mrow{display:flex;flex-direction:column}.ius-settings-nav__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__sep{height:1px;background:var(--ius-stroke);margin:var(--ius-space-xs) var(--ius-space-xs);flex:0 0 auto}:host ::ng-deep .ius-menuitem[data-variant=rail]{--_mi-icon: var(--ius-neutral-8)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}:host ::ng-deep ius-tooltip{align-items:stretch}:host ::ng-deep ius-tooltip>ius-popover{flex:1 1 auto;min-width:0;align-items:stretch}.ius-settings-nav__cico{appearance:none;border:0;background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--_sn-cico-h, var(--ius-hit-target-min));border-radius:var(--ius-radius-md);color:var(--ius-neutral-8);text-decoration:none;transition:background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-settings-nav__cico:hover{background:var(--ius-neutral-2)}.ius-settings-nav__cico:active{background:var(--ius-neutral-3)}.ius-settings-nav__cico:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}.ius-settings-nav__cico[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.ius-settings-nav__cico[data-selected=true]{background:var(--_sn-tint);color:var(--_sn-fg)}.ius-settings-nav__cico .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-settings-nav__cico-badge{position:absolute;top:7px;right:12px;width:8px;height:8px;border-radius:var(--ius-radius-pill);background:var(--ius-info-500);box-shadow:0 0 0 2px var(--ius-surface-card)}.ius-settings-nav__pop{display:flex;flex-direction:column;gap:var(--ius-space-xxs);min-width:208px;padding:var(--ius-space-xxs)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}\n"] }]
|
|
12324
|
+
}, template: "<!--\n SettingsNav \u2014 el HOST es el `<nav>` (ver `host:` del .ts), as\u00ED que aqu\u00ED\n arranca directamente el contenido: encabezado \u00B7 columna de filas \u00B7 pie.\n-->\n\n<!--\n Encabezado. El slot `[iusSettingsNavHeader]` MANDA sobre `title`, y `title`\n se oculta al colapsar (ambas condiciones viven en `showTitle()`).\n El `ng-content` va en un \u00FAnico `@if` (nunca anidado): con `@if` anidados el\n compilador solo iza el atributo `select` un nivel y la proyecci\u00F3n fallar\u00EDa en\n silencio.\n-->\n@if (headerRef() || showTitle()) {\n <div class=\"ius-settings-nav__header\">\n <ng-content select=\"[iusSettingsNavHeader]\" />\n @if (showTitle()) {\n <div class=\"ius-settings-nav__title\">{{ title() }}</div>\n }\n </div>\n}\n\n<!-- Columna de filas: NO scrollea (priority+ recoge lo que no cabe). -->\n<div class=\"ius-settings-nav__items\" #wrap>\n @for (it of visibleItems(); track it.id) {\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\n }\n\n <!-- Desborde: lo que no cabe en alto se recoge en un Popover a la derecha. -->\n @if (hasOverflow()) {\n <ius-popover\n [open]=\"moreOpen()\"\n trigger=\"click\"\n placement=\"right-start\"\n [showArrow]=\"false\"\n [offset]=\"8\"\n [dismissable]=\"true\"\n (openChange)=\"moreOpen.set($event)\"\n >\n @if (isCollapsed()) {\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [attr.data-selected]=\"anyHiddenSelected() ? 'true' : null\"\n [attr.aria-label]=\"overflowLabel()\"\n aria-haspopup=\"menu\"\n [attr.aria-expanded]=\"moreOpen()\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">more_horiz</span>\n @if (anyHiddenSelected()) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </button>\n } @else {\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n icon=\"more_horiz\"\n [label]=\"overflowLabel()\"\n [selected]=\"anyHiddenSelected()\"\n [ariaLabel]=\"overflowLabel() + ' secciones'\"\n />\n }\n\n <!--\n Panel del desborde. Se estampa en el overlay del CDK (FUERA del host),\n as\u00ED que las variables de acento NO se heredan: se repiten en l\u00EDnea, tal\n como el golden repite `accentVars(accent)` en este mismo nodo.\n -->\n <div\n iusPopoverContent\n class=\"ius-settings-nav__pop\"\n role=\"menu\"\n [style.--_sn-fg]=\"accentFg()\"\n [style.--_sn-tint]=\"accentTint()\"\n >\n @for (it of hiddenItems(); track it.id) {\n <ius-menu-item\n variant=\"menu\"\n itemRole=\"menuitem\"\n [size]=\"size()\"\n [icon]=\"it.icon\"\n [label]=\"it.label\"\n [badge]=\"it.badge\"\n [selected]=\"it.id === selectedId()\"\n [disabled]=\"!!it.disabled\"\n [href]=\"it.href\"\n (clicked)=\"handleFromOverflow(it)\"\n />\n }\n </div>\n </ius-popover>\n }\n\n <!--\n Contenedor de MEDICI\u00D3N (priority+): clona TODAS las filas fuera de vista\n (`position: absolute` + `visibility: hidden`, as\u00ED que no aporta alto ni\n entra en el orden de tabulaci\u00F3n) y de ah\u00ED se leen los `offsetHeight`.\n Cada clon va envuelto en `__mrow` porque el host de `ius-menu-item` es\n `display: contents` y no generar\u00EDa caja que medir.\n -->\n <div class=\"ius-settings-nav__measure\" #meas aria-hidden=\"true\">\n @for (it of items(); track it.id) {\n <div class=\"ius-settings-nav__mrow\">\n <ng-container [ngTemplateOutlet]=\"fila\" [ngTemplateOutletContext]=\"{ it: it }\" />\n </div>\n }\n </div>\n</div>\n\n<!-- Pie: slot libre + bot\u00F3n propio de colapso, sobre una l\u00EDnea separadora. -->\n@if (hasFooter()) {\n <div class=\"ius-settings-nav__sep\"></div>\n <div class=\"ius-settings-nav__footer\">\n <ng-content select=\"[iusSettingsNavFooter]\" />\n\n @if (collapsible()) {\n @if (isCollapsed()) {\n <ius-tooltip [label]=\"toggleLabel()\" placement=\"right\">\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [attr.aria-label]=\"toggleLabel()\"\n aria-expanded=\"false\"\n (click)=\"toggleCollapsed()\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ toggleIcon() }}</span>\n </button>\n </ius-tooltip>\n } @else {\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n [icon]=\"toggleIcon()\"\n [label]=\"toggleLabel()\"\n [ariaLabel]=\"toggleLabel()\"\n (clicked)=\"toggleCollapsed()\"\n />\n }\n }\n </div>\n}\n\n<!--\n UNA sola plantilla de fila, estampada con `NgTemplateOutlet` en la columna\n visible y en el contenedor de medici\u00F3n. El contexto de un `ng-template` no\n est\u00E1 tipado, as\u00ED que `asItem()` le devuelve el tipo y `strictTemplates`\n vuelve a comprobar todo el cuerpo.\n-->\n<ng-template #fila let-raw=\"it\">\n @let it = asItem(raw);\n @let sel = it.id === selectedId();\n\n @if (isCollapsed()) {\n <!-- Colapsado: solo \u00EDcono; el nombre accesible lo dan Tooltip + aria-label. -->\n <ius-tooltip [label]=\"it.label\" placement=\"right\">\n @if (isLink(it)) {\n <a\n class=\"ius-settings-nav__cico\"\n [href]=\"it.href\"\n [attr.data-selected]=\"sel ? 'true' : null\"\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\n [attr.aria-current]=\"sel ? 'page' : null\"\n [attr.aria-label]=\"it.label\"\n (click)=\"handle(it)\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\n @if (it.badge) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </a>\n } @else {\n <button\n type=\"button\"\n class=\"ius-settings-nav__cico\"\n [disabled]=\"!it.href && !!it.disabled\"\n [attr.data-selected]=\"sel ? 'true' : null\"\n [attr.data-disabled]=\"it.disabled ? 'true' : null\"\n [attr.aria-current]=\"sel ? 'page' : null\"\n [attr.aria-label]=\"it.label\"\n (click)=\"handle(it)\"\n >\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">{{ it.icon }}</span>\n @if (it.badge) {\n <span class=\"ius-settings-nav__cico-badge\" aria-hidden=\"true\"></span>\n }\n </button>\n }\n </ius-tooltip>\n } @else {\n <!-- Expandido: la fila ES un MenuItem `rail` (idle/hover/pressed heredados). -->\n <ius-menu-item\n variant=\"rail\"\n [size]=\"size()\"\n [icon]=\"it.icon\"\n [label]=\"it.label\"\n [badge]=\"it.badge\"\n [selected]=\"sel\"\n [disabled]=\"!!it.disabled\"\n [href]=\"it.href\"\n (clicked)=\"handle(it)\"\n />\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:var(--_sn-w, 240px);min-width:var(--_sn-w, 240px);height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);padding:var(--ius-space-sm) var(--ius-space-xs);gap:var(--ius-space-xxs);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:var(--_sn-wc, 64px);min-width:var(--_sn-wc, 64px)}.ius-settings-nav__header{flex:0 0 auto;padding:var(--ius-space-xs) var(--ius-space-xs) var(--ius-space-sm);min-height:0}.ius-settings-nav__title{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);line-height:1.2;text-transform:uppercase;letter-spacing:.04em;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-settings-nav__items{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs);overflow:hidden;position:relative}.ius-settings-nav__measure{position:absolute;top:0;left:0;right:0;visibility:hidden;pointer-events:none;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__mrow{display:flex;flex-direction:column}.ius-settings-nav__footer{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-settings-nav__sep{height:1px;background:var(--ius-stroke);margin:var(--ius-space-xs) var(--ius-space-xs);flex:0 0 auto}:host ::ng-deep .ius-menuitem[data-variant=rail]{--_mi-icon: var(--ius-neutral-8)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}:host ::ng-deep .ius-menuitem[data-variant=rail][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}:host ::ng-deep ius-tooltip{align-items:stretch}:host ::ng-deep ius-tooltip>ius-popover{flex:1 1 auto;min-width:0;align-items:stretch}.ius-settings-nav__cico{appearance:none;border:0;background:transparent;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:var(--_sn-cico-h, var(--ius-hit-target-min));border-radius:var(--ius-radius-md);color:var(--ius-neutral-8);text-decoration:none;transition:background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-settings-nav__cico:hover{background:var(--ius-neutral-2)}.ius-settings-nav__cico:active{background:var(--ius-neutral-3)}.ius-settings-nav__cico:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}.ius-settings-nav__cico[data-disabled=true]{opacity:.5;pointer-events:none;cursor:default}.ius-settings-nav__cico[data-selected=true]{background:var(--_sn-tint);color:var(--_sn-fg)}.ius-settings-nav__cico .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-settings-nav__cico-badge{position:absolute;top:7px;right:12px;width:8px;height:8px;border-radius:var(--ius-radius-pill);background:var(--ius-info-500);box-shadow:0 0 0 2px var(--ius-surface-card)}.ius-settings-nav__pop{display:flex;flex-direction:column;gap:var(--ius-space-xxs);min-width:208px;padding:var(--ius-space-xxs)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true]{background:var(--_sn-tint);--_mi-icon: var(--_sn-fg)}.ius-settings-nav__pop ::ng-deep .ius-menuitem[data-variant=menu][data-selected=true] .ius-menuitem__label{color:var(--_sn-fg)}\n"] }]
|
|
12325
12325
|
}], ctorParameters: () => [], propDecorators: { items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], selectedId: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedId", required: false }] }], accent: [{ type: i0.Input, args: [{ isSignal: true, alias: "accent", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], defaultCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCollapsed", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], overflowLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "overflowLabel", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], selectedIdChange: [{ type: i0.Output, args: ["selectedIdChange"] }], itemClick: [{ type: i0.Output, args: ["itemClick"] }], collapsedChange: [{ type: i0.Output, args: ["collapsedChange"] }], headerRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusSettingsNavHeaderDirective), { isSignal: true }] }], footerRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusSettingsNavFooterDirective), { isSignal: true }] }], wrapRef: [{ type: i0.ViewChild, args: ['wrap', { isSignal: true }] }], measRef: [{ type: i0.ViewChild, args: ['meas', { isSignal: true }] }] } });
|
|
12326
12326
|
|
|
12327
12327
|
/** Ícono por defecto según el tono (mapa `DEFAULT_ICON` del golden). */
|
|
@@ -14198,7 +14198,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
14198
14198
|
* PageHeader — Ius Design v2 (familia navigation).
|
|
14199
14199
|
*
|
|
14200
14200
|
* Encabezado **de la vista** dentro del `main`: [breadcrumb/volver] ·
|
|
14201
|
-
* overline · título (h1
|
|
14201
|
+
* overline · título (h1…h5) + subtítulo · acciones · [toolbar] ·
|
|
14202
14202
|
* [divider/surface]. Cáscara por slots: no conoce datos. Fuente de verdad:
|
|
14203
14203
|
* `PageHeader.jsx` + `PageHeader.d.ts` + `PageHeader.ng-spec.md`.
|
|
14204
14204
|
*
|
|
@@ -14212,6 +14212,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
14212
14212
|
* `title`/`subtitle`/`overline` son proyección en el contrato (nodos): cada
|
|
14213
14213
|
* uno acepta el input de texto O contenido proyectado con su directiva
|
|
14214
14214
|
* (`iusPageHeaderTitle`…), como ListCard. El input, si viene, manda.
|
|
14215
|
+
*
|
|
14216
|
+
* `density="compact"`: paddings/gaps reducidos, subtítulo tenue (fs-sm,
|
|
14217
|
+
* text-tertiary), `titleLevel` `h4` por defecto y `--ius-control-size: small`
|
|
14218
|
+
* para los controles proyectados. Objetivo: encabezado de detalle ≤ ~140px.
|
|
14215
14219
|
*/
|
|
14216
14220
|
class PageHeaderComponent {
|
|
14217
14221
|
constructor() {
|
|
@@ -14224,9 +14228,15 @@ class PageHeaderComponent {
|
|
|
14224
14228
|
/** Categoría / sección sobre el título (mayúsculas). */
|
|
14225
14229
|
this.overline = input(/* @ts-ignore */
|
|
14226
14230
|
...(ngDevMode ? [undefined, { debugName: "overline" }] : /* istanbul ignore next */ []));
|
|
14227
|
-
/**
|
|
14228
|
-
|
|
14229
|
-
|
|
14231
|
+
/**
|
|
14232
|
+
* Nivel tipográfico del título. Si se omite, es `h3` en densidad `default`
|
|
14233
|
+
* y `h4` en `compact` (igual que el golden).
|
|
14234
|
+
*/
|
|
14235
|
+
this.titleLevel = input(/* @ts-ignore */
|
|
14236
|
+
...(ngDevMode ? [undefined, { debugName: "titleLevel" }] : /* istanbul ignore next */ []));
|
|
14237
|
+
/** Densidad del encabezado. Default `default` (comportamiento histórico). */
|
|
14238
|
+
this.density = input('default', /* @ts-ignore */
|
|
14239
|
+
...(ngDevMode ? [{ debugName: "density" }] : /* istanbul ignore next */ []));
|
|
14230
14240
|
/** Muestra la flecha de volver (leading). */
|
|
14231
14241
|
this.showBack = input(false, { ...(ngDevMode ? { debugName: "showBack" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
14232
14242
|
/** Texto accesible de la flecha de volver. */
|
|
@@ -14262,12 +14272,15 @@ class PageHeaderComponent {
|
|
|
14262
14272
|
...(ngDevMode ? [{ debugName: "hasTitleSlot" }] : /* istanbul ignore next */ []));
|
|
14263
14273
|
this.hasSubtitleSlot = computed(() => !!this.subtitleRef(), /* @ts-ignore */
|
|
14264
14274
|
...(ngDevMode ? [{ debugName: "hasSubtitleSlot" }] : /* istanbul ignore next */ []));
|
|
14275
|
+
/** Nivel efectivo del título: el input manda; si no, `h3`/`h4` según densidad. */
|
|
14276
|
+
this.titleLevelEfectivo = computed(() => this.titleLevel() ?? (this.density() === 'compact' ? 'h4' : 'h3'), /* @ts-ignore */
|
|
14277
|
+
...(ngDevMode ? [{ debugName: "titleLevelEfectivo" }] : /* istanbul ignore next */ []));
|
|
14265
14278
|
/** Volver es leading: si hay breadcrumb, encabeza esa fila. */
|
|
14266
14279
|
this.backInBreadcrumb = computed(() => this.showBack() && this.hasBreadcrumb(), /* @ts-ignore */
|
|
14267
14280
|
...(ngDevMode ? [{ debugName: "backInBreadcrumb" }] : /* istanbul ignore next */ []));
|
|
14268
14281
|
}
|
|
14269
14282
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PageHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14270
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: PageHeaderComponent, isStandalone: true, selector: "ius-page-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, overline: { classPropertyName: "overline", publicName: "overline", isSignal: true, isRequired: false, transformFunction: null }, titleLevel: { classPropertyName: "titleLevel", publicName: "titleLevel", isSignal: true, isRequired: false, transformFunction: null }, showBack: { classPropertyName: "showBack", publicName: "showBack", isSignal: true, isRequired: false, transformFunction: null }, backLabel: { classPropertyName: "backLabel", publicName: "backLabel", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, host: { properties: { "attr.data-divider": "divider() ? 'true' : null", "attr.data-surface": "surface() ? 'true' : null" }, classAttribute: "ius-pageheader" }, queries: [{ propertyName: "breadcrumbRef", first: true, predicate: IusPageHeaderBreadcrumbDirective, descendants: true, isSignal: true }, { propertyName: "actionsRef", first: true, predicate: IusPageHeaderActionsDirective, descendants: true, isSignal: true }, { propertyName: "toolbarRef", first: true, predicate: IusPageHeaderToolbarDirective, descendants: true, isSignal: true }, { propertyName: "overlineRef", first: true, predicate: IusPageHeaderOverlineDirective, descendants: true, isSignal: true }, { propertyName: "titleRef", first: true, predicate: IusPageHeaderTitleDirective, descendants: true, isSignal: true }, { propertyName: "subtitleRef", first: true, predicate: IusPageHeaderSubtitleDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Fila de breadcrumb (solo detalle); volver la encabeza si existe -->\r\n@if (hasBreadcrumb()) {\r\n <div class=\"ius-pageheader__bc\">\r\n @if (backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <ng-content select=\"[iusPageHeaderBreadcrumb]\" />\r\n </div>\r\n}\r\n\r\n<div class=\"ius-pageheader__top\">\r\n <div class=\"ius-pageheader__lead\">\r\n @if (showBack() && !backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <div class=\"ius-pageheader__titles\">\r\n <!-- Cada pieza: input de texto \u203A contenido proyectado con su directiva -->\r\n @if (overline() != null || hasOverlineSlot()) {\r\n <span class=\"ius-pageheader__overline\">\r\n @if (overline() != null) {\r\n {{ overline() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderOverline]\" />\r\n }\r\n </span>\r\n }\r\n @if (title() != null || hasTitleSlot()) {\r\n <h1 class=\"ius-pageheader__title\" [class]=\"'ius-' +
|
|
14283
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: PageHeaderComponent, isStandalone: true, selector: "ius-page-header", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, subtitle: { classPropertyName: "subtitle", publicName: "subtitle", isSignal: true, isRequired: false, transformFunction: null }, overline: { classPropertyName: "overline", publicName: "overline", isSignal: true, isRequired: false, transformFunction: null }, titleLevel: { classPropertyName: "titleLevel", publicName: "titleLevel", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null }, showBack: { classPropertyName: "showBack", publicName: "showBack", isSignal: true, isRequired: false, transformFunction: null }, backLabel: { classPropertyName: "backLabel", publicName: "backLabel", isSignal: true, isRequired: false, transformFunction: null }, divider: { classPropertyName: "divider", publicName: "divider", isSignal: true, isRequired: false, transformFunction: null }, surface: { classPropertyName: "surface", publicName: "surface", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { back: "back" }, host: { properties: { "attr.data-divider": "divider() ? 'true' : null", "attr.data-surface": "surface() ? 'true' : null", "attr.data-density": "density() === 'compact' ? 'compact' : null" }, classAttribute: "ius-pageheader" }, queries: [{ propertyName: "breadcrumbRef", first: true, predicate: IusPageHeaderBreadcrumbDirective, descendants: true, isSignal: true }, { propertyName: "actionsRef", first: true, predicate: IusPageHeaderActionsDirective, descendants: true, isSignal: true }, { propertyName: "toolbarRef", first: true, predicate: IusPageHeaderToolbarDirective, descendants: true, isSignal: true }, { propertyName: "overlineRef", first: true, predicate: IusPageHeaderOverlineDirective, descendants: true, isSignal: true }, { propertyName: "titleRef", first: true, predicate: IusPageHeaderTitleDirective, descendants: true, isSignal: true }, { propertyName: "subtitleRef", first: true, predicate: IusPageHeaderSubtitleDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Fila de breadcrumb (solo detalle); volver la encabeza si existe -->\r\n@if (hasBreadcrumb()) {\r\n <div class=\"ius-pageheader__bc\">\r\n @if (backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <ng-content select=\"[iusPageHeaderBreadcrumb]\" />\r\n </div>\r\n}\r\n\r\n<div class=\"ius-pageheader__top\">\r\n <div class=\"ius-pageheader__lead\">\r\n @if (showBack() && !backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <div class=\"ius-pageheader__titles\">\r\n <!-- Cada pieza: input de texto \u203A contenido proyectado con su directiva -->\r\n @if (overline() != null || hasOverlineSlot()) {\r\n <span class=\"ius-pageheader__overline\">\r\n @if (overline() != null) {\r\n {{ overline() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderOverline]\" />\r\n }\r\n </span>\r\n }\r\n @if (title() != null || hasTitleSlot()) {\r\n <h1 class=\"ius-pageheader__title\" [class]=\"'ius-' + titleLevelEfectivo()\">\r\n @if (title() != null) {\r\n {{ title() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderTitle]\" />\r\n }\r\n </h1>\r\n }\r\n @if (subtitle() != null || hasSubtitleSlot()) {\r\n <p class=\"ius-pageheader__subtitle\">\r\n @if (subtitle() != null) {\r\n {{ subtitle() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderSubtitle]\" />\r\n }\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n @if (hasActions()) {\r\n <div class=\"ius-pageheader__actions\"><ng-content select=\"[iusPageHeaderActions]\" /></div>\r\n }\r\n</div>\r\n\r\n@if (hasToolbar()) {\r\n <div class=\"ius-pageheader__toolbar\"><ng-content select=\"[iusPageHeaderToolbar]\" /></div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-xs)}:host([data-surface=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);padding:var(--ius-space-md) var(--ius-space-lg)}:host([data-divider=true]){border-bottom:1px solid var(--ius-stroke);padding-bottom:var(--ius-space-sm)}.ius-pageheader__bc{min-width:0;display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-pageheader__bc .ius-pageheader__back{margin-top:0}.ius-pageheader__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ius-space-lg)}.ius-pageheader__lead{display:flex;align-items:flex-start;gap:var(--ius-space-sm);min-width:0}.ius-pageheader__back{flex:0 0 auto}.ius-pageheader__titles{min-width:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-pageheader__overline{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);line-height:var(--ius-lh-sm);letter-spacing:var(--ius-ls-emphasis);text-transform:uppercase;color:var(--ius-text-tertiary)}.ius-pageheader__title{margin:0}.ius-pageheader__subtitle{margin:0;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-pageheader__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-sm)}.ius-pageheader__toolbar{display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:wrap}:host([data-density=compact]){--ius-control-size: small;gap:0}:host([data-density=compact]) .ius-pageheader__bc{line-height:var(--ius-lh-sm)}:host([data-density=compact]) .ius-pageheader__top{align-items:center;gap:var(--ius-space-sm)}:host([data-density=compact]) .ius-pageheader__lead{align-items:center;gap:var(--ius-space-xs)}:host([data-density=compact]) .ius-pageheader__titles{gap:0}:host([data-density=compact]) .ius-pageheader__overline{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm)}:host([data-density=compact]) .ius-pageheader__subtitle{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}:host([data-density=compact][data-surface=true]){padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-density=compact][data-divider=true]){padding-bottom:var(--ius-space-xs)}\n"], dependencies: [{ kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14271
14284
|
}
|
|
14272
14285
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: PageHeaderComponent, decorators: [{
|
|
14273
14286
|
type: Component,
|
|
@@ -14275,8 +14288,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
14275
14288
|
class: 'ius-pageheader',
|
|
14276
14289
|
'[attr.data-divider]': "divider() ? 'true' : null",
|
|
14277
14290
|
'[attr.data-surface]': "surface() ? 'true' : null",
|
|
14278
|
-
|
|
14279
|
-
|
|
14291
|
+
'[attr.data-density]': "density() === 'compact' ? 'compact' : null",
|
|
14292
|
+
}, template: "<!-- Fila de breadcrumb (solo detalle); volver la encabeza si existe -->\r\n@if (hasBreadcrumb()) {\r\n <div class=\"ius-pageheader__bc\">\r\n @if (backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <ng-content select=\"[iusPageHeaderBreadcrumb]\" />\r\n </div>\r\n}\r\n\r\n<div class=\"ius-pageheader__top\">\r\n <div class=\"ius-pageheader__lead\">\r\n @if (showBack() && !backInBreadcrumb()) {\r\n <span class=\"ius-pageheader__back\">\r\n <ius-icon-button\r\n icon=\"arrow_back\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [ariaLabel]=\"backLabel()\"\r\n (clicked)=\"back.emit($event)\"\r\n />\r\n </span>\r\n }\r\n <div class=\"ius-pageheader__titles\">\r\n <!-- Cada pieza: input de texto \u203A contenido proyectado con su directiva -->\r\n @if (overline() != null || hasOverlineSlot()) {\r\n <span class=\"ius-pageheader__overline\">\r\n @if (overline() != null) {\r\n {{ overline() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderOverline]\" />\r\n }\r\n </span>\r\n }\r\n @if (title() != null || hasTitleSlot()) {\r\n <h1 class=\"ius-pageheader__title\" [class]=\"'ius-' + titleLevelEfectivo()\">\r\n @if (title() != null) {\r\n {{ title() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderTitle]\" />\r\n }\r\n </h1>\r\n }\r\n @if (subtitle() != null || hasSubtitleSlot()) {\r\n <p class=\"ius-pageheader__subtitle\">\r\n @if (subtitle() != null) {\r\n {{ subtitle() }}\r\n } @else {\r\n <ng-content select=\"[iusPageHeaderSubtitle]\" />\r\n }\r\n </p>\r\n }\r\n </div>\r\n </div>\r\n @if (hasActions()) {\r\n <div class=\"ius-pageheader__actions\"><ng-content select=\"[iusPageHeaderActions]\" /></div>\r\n }\r\n</div>\r\n\r\n@if (hasToolbar()) {\r\n <div class=\"ius-pageheader__toolbar\"><ng-content select=\"[iusPageHeaderToolbar]\" /></div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-xs)}:host([data-surface=true]){background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-lg);padding:var(--ius-space-md) var(--ius-space-lg)}:host([data-divider=true]){border-bottom:1px solid var(--ius-stroke);padding-bottom:var(--ius-space-sm)}.ius-pageheader__bc{min-width:0;display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-pageheader__bc .ius-pageheader__back{margin-top:0}.ius-pageheader__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ius-space-lg)}.ius-pageheader__lead{display:flex;align-items:flex-start;gap:var(--ius-space-sm);min-width:0}.ius-pageheader__back{flex:0 0 auto}.ius-pageheader__titles{min-width:0;display:flex;flex-direction:column;gap:var(--ius-space-xxs)}.ius-pageheader__overline{font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);line-height:var(--ius-lh-sm);letter-spacing:var(--ius-ls-emphasis);text-transform:uppercase;color:var(--ius-text-tertiary)}.ius-pageheader__title{margin:0}.ius-pageheader__subtitle{margin:0;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-pageheader__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-sm)}.ius-pageheader__toolbar{display:flex;align-items:center;gap:var(--ius-space-sm);flex-wrap:wrap}:host([data-density=compact]){--ius-control-size: small;gap:0}:host([data-density=compact]) .ius-pageheader__bc{line-height:var(--ius-lh-sm)}:host([data-density=compact]) .ius-pageheader__top{align-items:center;gap:var(--ius-space-sm)}:host([data-density=compact]) .ius-pageheader__lead{align-items:center;gap:var(--ius-space-xs)}:host([data-density=compact]) .ius-pageheader__titles{gap:0}:host([data-density=compact]) .ius-pageheader__overline{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm)}:host([data-density=compact]) .ius-pageheader__subtitle{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}:host([data-density=compact][data-surface=true]){padding:var(--ius-space-xs) var(--ius-space-md)}:host([data-density=compact][data-divider=true]){padding-bottom:var(--ius-space-xs)}\n"] }]
|
|
14293
|
+
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], subtitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "subtitle", required: false }] }], overline: [{ type: i0.Input, args: [{ isSignal: true, alias: "overline", required: false }] }], titleLevel: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleLevel", required: false }] }], density: [{ type: i0.Input, args: [{ isSignal: true, alias: "density", required: false }] }], showBack: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBack", required: false }] }], backLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "backLabel", required: false }] }], divider: [{ type: i0.Input, args: [{ isSignal: true, alias: "divider", required: false }] }], surface: [{ type: i0.Input, args: [{ isSignal: true, alias: "surface", required: false }] }], back: [{ type: i0.Output, args: ["back"] }], breadcrumbRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderBreadcrumbDirective), { isSignal: true }] }], actionsRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderActionsDirective), { isSignal: true }] }], toolbarRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderToolbarDirective), { isSignal: true }] }], overlineRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderOverlineDirective), { isSignal: true }] }], titleRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderTitleDirective), { isSignal: true }] }], subtitleRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusPageHeaderSubtitleDirective), { isSignal: true }] }] } });
|
|
14280
14294
|
|
|
14281
14295
|
let uid$8 = 0;
|
|
14282
14296
|
/** `min`/`max`/`step` llegan como número o como atributo de texto; vacío = sin valor.
|
|
@@ -15207,7 +15221,7 @@ class SparklineComponent {
|
|
|
15207
15221
|
...(ngDevMode ? [{ debugName: "bars" }] : /* istanbul ignore next */ []));
|
|
15208
15222
|
}
|
|
15209
15223
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SparklineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15210
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SparklineComponent, isStandalone: true, selector: "ius-sparkline", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, trend: { classPropertyName: "trend", publicName: "trend", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showDot: { classPropertyName: "showDot", publicName: "showDot", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.width.px": "width()", "style.height.px": "height()" }, classAttribute: "ius-spark" }, ngImport: i0, template: "<!-- Sin datos el golden deja el span vac\u00EDo con su caja (width/height van en el host). -->\n@if (hasData()) {\n <svg\n class=\"ius-spark__svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n @if (variant() === 'bar') {\n <g>\n @for (b of bars(); track $index) {\n <rect\n [attr.x]=\"b.x\"\n [attr.y]=\"b.y\"\n [attr.width]=\"b.w\"\n [attr.height]=\"b.h\"\n [attr.rx]=\"b.rx\"\n [attr.fill]=\"color()\"\n [attr.fill-opacity]=\"b.opacity\"\n />\n }\n </g>\n } @else {\n <g>\n @if (area()) {\n <defs>\n <linearGradient [attr.id]=\"gid\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.24\" />\n <stop offset=\"100%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.02\" />\n </linearGradient>\n </defs>\n <path [attr.d]=\"dArea()\" [attr.fill]=\"'url(#' + gid + ')'\" />\n }\n <path class=\"ius-spark__line\" [attr.d]=\"dLine()\" [attr.stroke]=\"color()\" [attr.stroke-width]=\"strokeWidth()\" />\n @if (showDot()) {\n @if (last(); as p) {\n <circle class=\"ius-spark__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" [attr.r]=\"dotR()\" [attr.fill]=\"color()\" stroke-width=\"1\" />\n }\n }\n </g>\n }\n </svg>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0;vertical-align:middle;-webkit-user-select:none;user-select:none}.ius-spark__svg{display:block;overflow:visible}.ius-spark__line{fill:none;stroke-linecap:round;stroke-linejoin:round}.ius-spark__dot{stroke:var(--ius-surface-card)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15224
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SparklineComponent, isStandalone: true, selector: "ius-sparkline", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, trend: { classPropertyName: "trend", publicName: "trend", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showDot: { classPropertyName: "showDot", publicName: "showDot", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.width.px": "width()", "style.height.px": "height()" }, classAttribute: "ius-spark" }, ngImport: i0, template: "<!-- Sin datos el golden deja el span vac\u00EDo con su caja (width/height van en el host). -->\r\n@if (hasData()) {\r\n <svg\r\n class=\"ius-spark__svg\"\r\n [attr.width]=\"width()\"\r\n [attr.height]=\"height()\"\r\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n >\r\n @if (variant() === 'bar') {\r\n <g>\r\n @for (b of bars(); track $index) {\r\n <rect\r\n [attr.x]=\"b.x\"\r\n [attr.y]=\"b.y\"\r\n [attr.width]=\"b.w\"\r\n [attr.height]=\"b.h\"\r\n [attr.rx]=\"b.rx\"\r\n [attr.fill]=\"color()\"\r\n [attr.fill-opacity]=\"b.opacity\"\r\n />\r\n }\r\n </g>\r\n } @else {\r\n <g>\r\n @if (area()) {\r\n <defs>\r\n <linearGradient [attr.id]=\"gid\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.24\" />\r\n <stop offset=\"100%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.02\" />\r\n </linearGradient>\r\n </defs>\r\n <path [attr.d]=\"dArea()\" [attr.fill]=\"'url(#' + gid + ')'\" />\r\n }\r\n <path class=\"ius-spark__line\" [attr.d]=\"dLine()\" [attr.stroke]=\"color()\" [attr.stroke-width]=\"strokeWidth()\" />\r\n @if (showDot()) {\r\n @if (last(); as p) {\r\n <circle class=\"ius-spark__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" [attr.r]=\"dotR()\" [attr.fill]=\"color()\" stroke-width=\"1\" />\r\n }\r\n }\r\n </g>\r\n }\r\n </svg>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0;vertical-align:middle;-webkit-user-select:none;user-select:none}.ius-spark__svg{display:block;overflow:visible}.ius-spark__line{fill:none;stroke-linecap:round;stroke-linejoin:round}.ius-spark__dot{stroke:var(--ius-surface-card)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15211
15225
|
}
|
|
15212
15226
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SparklineComponent, decorators: [{
|
|
15213
15227
|
type: Component,
|
|
@@ -15215,7 +15229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
15215
15229
|
class: 'ius-spark',
|
|
15216
15230
|
'[style.width.px]': 'width()',
|
|
15217
15231
|
'[style.height.px]': 'height()',
|
|
15218
|
-
}, template: "<!-- Sin datos el golden deja el span vac\u00EDo con su caja (width/height van en el host). -->\n@if (hasData()) {\n <svg\n class=\"ius-spark__svg\"\n [attr.width]=\"width()\"\n [attr.height]=\"height()\"\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n @if (variant() === 'bar') {\n <g>\n @for (b of bars(); track $index) {\n <rect\n [attr.x]=\"b.x\"\n [attr.y]=\"b.y\"\n [attr.width]=\"b.w\"\n [attr.height]=\"b.h\"\n [attr.rx]=\"b.rx\"\n [attr.fill]=\"color()\"\n [attr.fill-opacity]=\"b.opacity\"\n />\n }\n </g>\n } @else {\n <g>\n @if (area()) {\n <defs>\n <linearGradient [attr.id]=\"gid\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.24\" />\n <stop offset=\"100%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.02\" />\n </linearGradient>\n </defs>\n <path [attr.d]=\"dArea()\" [attr.fill]=\"'url(#' + gid + ')'\" />\n }\n <path class=\"ius-spark__line\" [attr.d]=\"dLine()\" [attr.stroke]=\"color()\" [attr.stroke-width]=\"strokeWidth()\" />\n @if (showDot()) {\n @if (last(); as p) {\n <circle class=\"ius-spark__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" [attr.r]=\"dotR()\" [attr.fill]=\"color()\" stroke-width=\"1\" />\n }\n }\n </g>\n }\n </svg>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0;vertical-align:middle;-webkit-user-select:none;user-select:none}.ius-spark__svg{display:block;overflow:visible}.ius-spark__line{fill:none;stroke-linecap:round;stroke-linejoin:round}.ius-spark__dot{stroke:var(--ius-surface-card)}\n"] }]
|
|
15232
|
+
}, template: "<!-- Sin datos el golden deja el span vac\u00EDo con su caja (width/height van en el host). -->\r\n@if (hasData()) {\r\n <svg\r\n class=\"ius-spark__svg\"\r\n [attr.width]=\"width()\"\r\n [attr.height]=\"height()\"\r\n [attr.viewBox]=\"'0 0 ' + width() + ' ' + height()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n >\r\n @if (variant() === 'bar') {\r\n <g>\r\n @for (b of bars(); track $index) {\r\n <rect\r\n [attr.x]=\"b.x\"\r\n [attr.y]=\"b.y\"\r\n [attr.width]=\"b.w\"\r\n [attr.height]=\"b.h\"\r\n [attr.rx]=\"b.rx\"\r\n [attr.fill]=\"color()\"\r\n [attr.fill-opacity]=\"b.opacity\"\r\n />\r\n }\r\n </g>\r\n } @else {\r\n <g>\r\n @if (area()) {\r\n <defs>\r\n <linearGradient [attr.id]=\"gid\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.24\" />\r\n <stop offset=\"100%\" [attr.stop-color]=\"color()\" stop-opacity=\"0.02\" />\r\n </linearGradient>\r\n </defs>\r\n <path [attr.d]=\"dArea()\" [attr.fill]=\"'url(#' + gid + ')'\" />\r\n }\r\n <path class=\"ius-spark__line\" [attr.d]=\"dLine()\" [attr.stroke]=\"color()\" [attr.stroke-width]=\"strokeWidth()\" />\r\n @if (showDot()) {\r\n @if (last(); as p) {\r\n <circle class=\"ius-spark__dot\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" [attr.r]=\"dotR()\" [attr.fill]=\"color()\" stroke-width=\"1\" />\r\n }\r\n }\r\n </g>\r\n }\r\n </svg>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-block;line-height:0;vertical-align:middle;-webkit-user-select:none;user-select:none}.ius-spark__svg{display:block;overflow:visible}.ius-spark__line{fill:none;stroke-linecap:round;stroke-linejoin:round}.ius-spark__dot{stroke:var(--ius-surface-card)}\n"] }]
|
|
15219
15233
|
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], trend: [{ type: i0.Input, args: [{ isSignal: true, alias: "trend", required: false }] }], area: [{ type: i0.Input, args: [{ isSignal: true, alias: "area", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }], showDot: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDot", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
|
|
15220
15234
|
|
|
15221
15235
|
let uid$4 = 0;
|
|
@@ -15636,7 +15650,7 @@ class LineChartComponent {
|
|
|
15636
15650
|
this.animations = [];
|
|
15637
15651
|
}
|
|
15638
15652
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LineChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15639
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: LineChartComponent, isStandalone: true, selector: "ius-line-chart", inputs: { categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, aspectRatio: { classPropertyName: "aspectRatio", publicName: "aspectRatio", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, yAxisWidth: { classPropertyName: "yAxisWidth", publicName: "yAxisWidth", isSignal: true, isRequired: false, transformFunction: null }, showXAxis: { classPropertyName: "showXAxis", publicName: "showXAxis", isSignal: true, isRequired: false, transformFunction: null }, showYAxis: { classPropertyName: "showYAxis", publicName: "showYAxis", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, yTicks: { classPropertyName: "yTicks", publicName: "yTicks", isSignal: true, isRequired: false, transformFunction: null }, yMin: { classPropertyName: "yMin", publicName: "yMin", isSignal: true, isRequired: false, transformFunction: null }, yMax: { classPropertyName: "yMax", publicName: "yMax", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, showPoints: { classPropertyName: "showPoints", publicName: "showPoints", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, xFormat: { classPropertyName: "xFormat", publicName: "xFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-animate": "animate() && !loading() ? 'true' : 'false'", "style.width.px": "width() ?? null" }, classAttribute: "ius-chart" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\n <div class=\"ius-chart__block\" [style.height.px]=\"frame().H\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n @if (legendOn() && !loading()) {\n <div class=\"ius-chart__legend\">\n @for (l of lines(); track l.key) {\n <span class=\"ius-chart__leg\">\n <span class=\"ius-chart__dot\" [style.background]=\"l.color\"></span>\n {{ l.label }}\n </span>\n }\n </div>\n }\n\n <div class=\"ius-chart__plot\">\n <svg\n class=\"ius-chart__svg\"\n [attr.viewBox]=\"viewBox()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n (mousemove)=\"onMove($event)\"\n (mouseleave)=\"onLeave()\"\n >\n <defs>\n @for (l of lines(); track l.key) {\n <linearGradient [attr.id]=\"l.gradId\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.22\" />\n <stop offset=\"100%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.02\" />\n </linearGradient>\n }\n </defs>\n\n <!-- grilla -->\n @if (showGrid() && !loading()) {\n <g class=\"ius-chart__grid\">\n @for (y of gridYs(); track $index) {\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"y\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"y\" />\n }\n </g>\n }\n\n <!-- eje Y -->\n @if (showYAxis()) {\n <g class=\"ius-chart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\n @for (t of yTickItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.y\">{{ t.text }}</text>\n }\n </g>\n }\n\n <!-- skeleton -->\n @if (loading()) {\n <g>\n <rect\n class=\"ius-chart__skel\"\n [attr.x]=\"frame().mL\"\n [attr.y]=\"frame().mT\"\n [attr.width]=\"frame().innerW\"\n [attr.height]=\"frame().innerH\"\n rx=\"8\"\n opacity=\"0.5\"\n />\n <path class=\"ius-chart__skel--line\" [attr.d]=\"skeletonPath()\" />\n </g>\n }\n\n <!-- \u00E1reas + l\u00EDneas -->\n @if (!loading()) {\n @for (l of lines(); track l.key) {\n <g>\n @if (l.dArea) {\n <path class=\"ius-chart__area\" [attr.d]=\"l.dArea\" [attr.fill]=\"'url(#' + l.gradId + ')'\" />\n }\n <path class=\"ius-chart__line\" [attr.data-dashed]=\"l.dashed ? 'true' : null\" [attr.d]=\"l.dLine\" [attr.stroke]=\"l.color\" />\n @if (showPoints() === 'always') {\n @for (p of l.points; track $index) {\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3.5\" [attr.fill]=\"l.color\" />\n }\n }\n </g>\n }\n }\n\n <!-- etiquetas de valor (1 serie recomendado) -->\n @if (!loading() && showValueLabels()) {\n @for (v of valueLabels(); track $index) {\n <text class=\"ius-chart__vlabel\" [attr.x]=\"v.x\" [attr.y]=\"v.y\">{{ v.text }}</text>\n }\n }\n\n <!-- gu\u00EDa vertical + puntos activos -->\n @if (activeMarks(); as am) {\n <g>\n <line class=\"ius-chart__guide\" [attr.x1]=\"am.x\" [attr.y1]=\"am.y1\" [attr.x2]=\"am.x\" [attr.y2]=\"am.y2\" />\n @for (p of am.points; track p.key) {\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"4.5\" [attr.fill]=\"p.color\" />\n }\n </g>\n }\n\n <!-- eje X -->\n @if (showXAxis() && !loading()) {\n <g class=\"ius-chart__xlabel\" text-anchor=\"middle\">\n <line\n class=\"ius-chart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT + frame().innerH\"\n [attr.x2]=\"frame().mL + frame().innerW\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (x of xLabels(); track $index) {\n <text [attr.x]=\"x.x\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ x.text }}</text>\n }\n </g>\n }\n </svg>\n\n <!-- tooltip (HTML) -->\n @if (tooltip(); as tip) {\n <div class=\"ius-chart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-chart__tip-x\">{{ tip.title }}</div>\n @for (r of tip.rows; track r.key) {\n <div class=\"ius-chart__tip-row\">\n <span class=\"ius-chart__dot\" [style.background]=\"r.color\"></span>\n {{ r.label }}\n <b>{{ r.value }}</b>\n </div>\n }\n </div>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-chart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-chart__plot{position:relative}.ius-chart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-chart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-chart__tick,.ius-chart__xlabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ius-chart__line[data-dashed=true]{stroke-dasharray:6 5}.ius-chart__pt{stroke:var(--ius-surface-card);stroke-width:2}.ius-chart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle}.ius-chart__guide{stroke:var(--ius-stroke-strong);stroke-width:1;stroke-dasharray:4 4}.ius-chart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-chart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-chart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-chart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-chart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-chart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-chart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-chart__skel{fill:var(--ius-neutral-2)}.ius-chart__skel--line{stroke:var(--ius-neutral-3);stroke-width:2;fill:none}.ius-chart__block{display:grid;place-items:center;min-height:160px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15653
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: LineChartComponent, isStandalone: true, selector: "ius-line-chart", inputs: { categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, aspectRatio: { classPropertyName: "aspectRatio", publicName: "aspectRatio", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, yAxisWidth: { classPropertyName: "yAxisWidth", publicName: "yAxisWidth", isSignal: true, isRequired: false, transformFunction: null }, showXAxis: { classPropertyName: "showXAxis", publicName: "showXAxis", isSignal: true, isRequired: false, transformFunction: null }, showYAxis: { classPropertyName: "showYAxis", publicName: "showYAxis", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, yTicks: { classPropertyName: "yTicks", publicName: "yTicks", isSignal: true, isRequired: false, transformFunction: null }, yMin: { classPropertyName: "yMin", publicName: "yMin", isSignal: true, isRequired: false, transformFunction: null }, yMax: { classPropertyName: "yMax", publicName: "yMax", isSignal: true, isRequired: false, transformFunction: null }, area: { classPropertyName: "area", publicName: "area", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, showPoints: { classPropertyName: "showPoints", publicName: "showPoints", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, xFormat: { classPropertyName: "xFormat", publicName: "xFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-animate": "animate() && !loading() ? 'true' : 'false'", "style.width.px": "width() ?? null" }, classAttribute: "ius-chart" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\r\n <div class=\"ius-chart__block\" [style.height.px]=\"frame().H\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n @if (legendOn() && !loading()) {\r\n <div class=\"ius-chart__legend\">\r\n @for (l of lines(); track l.key) {\r\n <span class=\"ius-chart__leg\">\r\n <span class=\"ius-chart__dot\" [style.background]=\"l.color\"></span>\r\n {{ l.label }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-chart__plot\">\r\n <svg\r\n class=\"ius-chart__svg\"\r\n [attr.viewBox]=\"viewBox()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (mousemove)=\"onMove($event)\"\r\n (mouseleave)=\"onLeave()\"\r\n >\r\n <defs>\r\n @for (l of lines(); track l.key) {\r\n <linearGradient [attr.id]=\"l.gradId\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.22\" />\r\n <stop offset=\"100%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.02\" />\r\n </linearGradient>\r\n }\r\n </defs>\r\n\r\n <!-- grilla -->\r\n @if (showGrid() && !loading()) {\r\n <g class=\"ius-chart__grid\">\r\n @for (y of gridYs(); track $index) {\r\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"y\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"y\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje Y -->\r\n @if (showYAxis()) {\r\n <g class=\"ius-chart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n @for (t of yTickItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.y\">{{ t.text }}</text>\r\n }\r\n </g>\r\n }\r\n\r\n <!-- skeleton -->\r\n @if (loading()) {\r\n <g>\r\n <rect\r\n class=\"ius-chart__skel\"\r\n [attr.x]=\"frame().mL\"\r\n [attr.y]=\"frame().mT\"\r\n [attr.width]=\"frame().innerW\"\r\n [attr.height]=\"frame().innerH\"\r\n rx=\"8\"\r\n opacity=\"0.5\"\r\n />\r\n <path class=\"ius-chart__skel--line\" [attr.d]=\"skeletonPath()\" />\r\n </g>\r\n }\r\n\r\n <!-- \u00E1reas + l\u00EDneas -->\r\n @if (!loading()) {\r\n @for (l of lines(); track l.key) {\r\n <g>\r\n @if (l.dArea) {\r\n <path class=\"ius-chart__area\" [attr.d]=\"l.dArea\" [attr.fill]=\"'url(#' + l.gradId + ')'\" />\r\n }\r\n <path class=\"ius-chart__line\" [attr.data-dashed]=\"l.dashed ? 'true' : null\" [attr.d]=\"l.dLine\" [attr.stroke]=\"l.color\" />\r\n @if (showPoints() === 'always') {\r\n @for (p of l.points; track $index) {\r\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3.5\" [attr.fill]=\"l.color\" />\r\n }\r\n }\r\n </g>\r\n }\r\n }\r\n\r\n <!-- etiquetas de valor (1 serie recomendado) -->\r\n @if (!loading() && showValueLabels()) {\r\n @for (v of valueLabels(); track $index) {\r\n <text class=\"ius-chart__vlabel\" [attr.x]=\"v.x\" [attr.y]=\"v.y\">{{ v.text }}</text>\r\n }\r\n }\r\n\r\n <!-- gu\u00EDa vertical + puntos activos -->\r\n @if (activeMarks(); as am) {\r\n <g>\r\n <line class=\"ius-chart__guide\" [attr.x1]=\"am.x\" [attr.y1]=\"am.y1\" [attr.x2]=\"am.x\" [attr.y2]=\"am.y2\" />\r\n @for (p of am.points; track p.key) {\r\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"4.5\" [attr.fill]=\"p.color\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje X -->\r\n @if (showXAxis() && !loading()) {\r\n <g class=\"ius-chart__xlabel\" text-anchor=\"middle\">\r\n <line\r\n class=\"ius-chart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT + frame().innerH\"\r\n [attr.x2]=\"frame().mL + frame().innerW\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (x of xLabels(); track $index) {\r\n <text [attr.x]=\"x.x\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ x.text }}</text>\r\n }\r\n </g>\r\n }\r\n </svg>\r\n\r\n <!-- tooltip (HTML) -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-chart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-chart__tip-x\">{{ tip.title }}</div>\r\n @for (r of tip.rows; track r.key) {\r\n <div class=\"ius-chart__tip-row\">\r\n <span class=\"ius-chart__dot\" [style.background]=\"r.color\"></span>\r\n {{ r.label }}\r\n <b>{{ r.value }}</b>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-chart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-chart__plot{position:relative}.ius-chart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-chart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-chart__tick,.ius-chart__xlabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ius-chart__line[data-dashed=true]{stroke-dasharray:6 5}.ius-chart__pt{stroke:var(--ius-surface-card);stroke-width:2}.ius-chart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle}.ius-chart__guide{stroke:var(--ius-stroke-strong);stroke-width:1;stroke-dasharray:4 4}.ius-chart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-chart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-chart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-chart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-chart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-chart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-chart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-chart__skel{fill:var(--ius-neutral-2)}.ius-chart__skel--line{stroke:var(--ius-neutral-3);stroke-width:2;fill:none}.ius-chart__block{display:grid;place-items:center;min-height:160px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15640
15654
|
}
|
|
15641
15655
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: LineChartComponent, decorators: [{
|
|
15642
15656
|
type: Component,
|
|
@@ -15644,7 +15658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
15644
15658
|
class: 'ius-chart',
|
|
15645
15659
|
'[attr.data-animate]': "animate() && !loading() ? 'true' : 'false'",
|
|
15646
15660
|
'[style.width.px]': 'width() ?? null',
|
|
15647
|
-
}, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\n <div class=\"ius-chart__block\" [style.height.px]=\"frame().H\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n @if (legendOn() && !loading()) {\n <div class=\"ius-chart__legend\">\n @for (l of lines(); track l.key) {\n <span class=\"ius-chart__leg\">\n <span class=\"ius-chart__dot\" [style.background]=\"l.color\"></span>\n {{ l.label }}\n </span>\n }\n </div>\n }\n\n <div class=\"ius-chart__plot\">\n <svg\n class=\"ius-chart__svg\"\n [attr.viewBox]=\"viewBox()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n (mousemove)=\"onMove($event)\"\n (mouseleave)=\"onLeave()\"\n >\n <defs>\n @for (l of lines(); track l.key) {\n <linearGradient [attr.id]=\"l.gradId\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n <stop offset=\"0%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.22\" />\n <stop offset=\"100%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.02\" />\n </linearGradient>\n }\n </defs>\n\n <!-- grilla -->\n @if (showGrid() && !loading()) {\n <g class=\"ius-chart__grid\">\n @for (y of gridYs(); track $index) {\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"y\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"y\" />\n }\n </g>\n }\n\n <!-- eje Y -->\n @if (showYAxis()) {\n <g class=\"ius-chart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\n @for (t of yTickItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.y\">{{ t.text }}</text>\n }\n </g>\n }\n\n <!-- skeleton -->\n @if (loading()) {\n <g>\n <rect\n class=\"ius-chart__skel\"\n [attr.x]=\"frame().mL\"\n [attr.y]=\"frame().mT\"\n [attr.width]=\"frame().innerW\"\n [attr.height]=\"frame().innerH\"\n rx=\"8\"\n opacity=\"0.5\"\n />\n <path class=\"ius-chart__skel--line\" [attr.d]=\"skeletonPath()\" />\n </g>\n }\n\n <!-- \u00E1reas + l\u00EDneas -->\n @if (!loading()) {\n @for (l of lines(); track l.key) {\n <g>\n @if (l.dArea) {\n <path class=\"ius-chart__area\" [attr.d]=\"l.dArea\" [attr.fill]=\"'url(#' + l.gradId + ')'\" />\n }\n <path class=\"ius-chart__line\" [attr.data-dashed]=\"l.dashed ? 'true' : null\" [attr.d]=\"l.dLine\" [attr.stroke]=\"l.color\" />\n @if (showPoints() === 'always') {\n @for (p of l.points; track $index) {\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3.5\" [attr.fill]=\"l.color\" />\n }\n }\n </g>\n }\n }\n\n <!-- etiquetas de valor (1 serie recomendado) -->\n @if (!loading() && showValueLabels()) {\n @for (v of valueLabels(); track $index) {\n <text class=\"ius-chart__vlabel\" [attr.x]=\"v.x\" [attr.y]=\"v.y\">{{ v.text }}</text>\n }\n }\n\n <!-- gu\u00EDa vertical + puntos activos -->\n @if (activeMarks(); as am) {\n <g>\n <line class=\"ius-chart__guide\" [attr.x1]=\"am.x\" [attr.y1]=\"am.y1\" [attr.x2]=\"am.x\" [attr.y2]=\"am.y2\" />\n @for (p of am.points; track p.key) {\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"4.5\" [attr.fill]=\"p.color\" />\n }\n </g>\n }\n\n <!-- eje X -->\n @if (showXAxis() && !loading()) {\n <g class=\"ius-chart__xlabel\" text-anchor=\"middle\">\n <line\n class=\"ius-chart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT + frame().innerH\"\n [attr.x2]=\"frame().mL + frame().innerW\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (x of xLabels(); track $index) {\n <text [attr.x]=\"x.x\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ x.text }}</text>\n }\n </g>\n }\n </svg>\n\n <!-- tooltip (HTML) -->\n @if (tooltip(); as tip) {\n <div class=\"ius-chart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-chart__tip-x\">{{ tip.title }}</div>\n @for (r of tip.rows; track r.key) {\n <div class=\"ius-chart__tip-row\">\n <span class=\"ius-chart__dot\" [style.background]=\"r.color\"></span>\n {{ r.label }}\n <b>{{ r.value }}</b>\n </div>\n }\n </div>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-chart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-chart__plot{position:relative}.ius-chart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-chart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-chart__tick,.ius-chart__xlabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ius-chart__line[data-dashed=true]{stroke-dasharray:6 5}.ius-chart__pt{stroke:var(--ius-surface-card);stroke-width:2}.ius-chart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle}.ius-chart__guide{stroke:var(--ius-stroke-strong);stroke-width:1;stroke-dasharray:4 4}.ius-chart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-chart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-chart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-chart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-chart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-chart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-chart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-chart__skel{fill:var(--ius-neutral-2)}.ius-chart__skel--line{stroke:var(--ius-neutral-3);stroke-width:2;fill:none}.ius-chart__block{display:grid;place-items:center;min-height:160px}\n"] }]
|
|
15661
|
+
}, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\r\n <div class=\"ius-chart__block\" [style.height.px]=\"frame().H\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n @if (legendOn() && !loading()) {\r\n <div class=\"ius-chart__legend\">\r\n @for (l of lines(); track l.key) {\r\n <span class=\"ius-chart__leg\">\r\n <span class=\"ius-chart__dot\" [style.background]=\"l.color\"></span>\r\n {{ l.label }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-chart__plot\">\r\n <svg\r\n class=\"ius-chart__svg\"\r\n [attr.viewBox]=\"viewBox()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n (mousemove)=\"onMove($event)\"\r\n (mouseleave)=\"onLeave()\"\r\n >\r\n <defs>\r\n @for (l of lines(); track l.key) {\r\n <linearGradient [attr.id]=\"l.gradId\" x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\r\n <stop offset=\"0%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.22\" />\r\n <stop offset=\"100%\" [attr.stop-color]=\"l.color\" stop-opacity=\"0.02\" />\r\n </linearGradient>\r\n }\r\n </defs>\r\n\r\n <!-- grilla -->\r\n @if (showGrid() && !loading()) {\r\n <g class=\"ius-chart__grid\">\r\n @for (y of gridYs(); track $index) {\r\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"y\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"y\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje Y -->\r\n @if (showYAxis()) {\r\n <g class=\"ius-chart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n @for (t of yTickItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.y\">{{ t.text }}</text>\r\n }\r\n </g>\r\n }\r\n\r\n <!-- skeleton -->\r\n @if (loading()) {\r\n <g>\r\n <rect\r\n class=\"ius-chart__skel\"\r\n [attr.x]=\"frame().mL\"\r\n [attr.y]=\"frame().mT\"\r\n [attr.width]=\"frame().innerW\"\r\n [attr.height]=\"frame().innerH\"\r\n rx=\"8\"\r\n opacity=\"0.5\"\r\n />\r\n <path class=\"ius-chart__skel--line\" [attr.d]=\"skeletonPath()\" />\r\n </g>\r\n }\r\n\r\n <!-- \u00E1reas + l\u00EDneas -->\r\n @if (!loading()) {\r\n @for (l of lines(); track l.key) {\r\n <g>\r\n @if (l.dArea) {\r\n <path class=\"ius-chart__area\" [attr.d]=\"l.dArea\" [attr.fill]=\"'url(#' + l.gradId + ')'\" />\r\n }\r\n <path class=\"ius-chart__line\" [attr.data-dashed]=\"l.dashed ? 'true' : null\" [attr.d]=\"l.dLine\" [attr.stroke]=\"l.color\" />\r\n @if (showPoints() === 'always') {\r\n @for (p of l.points; track $index) {\r\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"3.5\" [attr.fill]=\"l.color\" />\r\n }\r\n }\r\n </g>\r\n }\r\n }\r\n\r\n <!-- etiquetas de valor (1 serie recomendado) -->\r\n @if (!loading() && showValueLabels()) {\r\n @for (v of valueLabels(); track $index) {\r\n <text class=\"ius-chart__vlabel\" [attr.x]=\"v.x\" [attr.y]=\"v.y\">{{ v.text }}</text>\r\n }\r\n }\r\n\r\n <!-- gu\u00EDa vertical + puntos activos -->\r\n @if (activeMarks(); as am) {\r\n <g>\r\n <line class=\"ius-chart__guide\" [attr.x1]=\"am.x\" [attr.y1]=\"am.y1\" [attr.x2]=\"am.x\" [attr.y2]=\"am.y2\" />\r\n @for (p of am.points; track p.key) {\r\n <circle class=\"ius-chart__pt\" [attr.cx]=\"p.x\" [attr.cy]=\"p.y\" r=\"4.5\" [attr.fill]=\"p.color\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje X -->\r\n @if (showXAxis() && !loading()) {\r\n <g class=\"ius-chart__xlabel\" text-anchor=\"middle\">\r\n <line\r\n class=\"ius-chart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT + frame().innerH\"\r\n [attr.x2]=\"frame().mL + frame().innerW\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (x of xLabels(); track $index) {\r\n <text [attr.x]=\"x.x\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ x.text }}</text>\r\n }\r\n </g>\r\n }\r\n </svg>\r\n\r\n <!-- tooltip (HTML) -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-chart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-chart__tip-x\">{{ tip.title }}</div>\r\n @for (r of tip.rows; track r.key) {\r\n <div class=\"ius-chart__tip-row\">\r\n <span class=\"ius-chart__dot\" [style.background]=\"r.color\"></span>\r\n {{ r.label }}\r\n <b>{{ r.value }}</b>\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-chart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-chart__plot{position:relative}.ius-chart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-chart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-chart__tick,.ius-chart__xlabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-chart__line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ius-chart__line[data-dashed=true]{stroke-dasharray:6 5}.ius-chart__pt{stroke:var(--ius-surface-card);stroke-width:2}.ius-chart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle}.ius-chart__guide{stroke:var(--ius-stroke-strong);stroke-width:1;stroke-dasharray:4 4}.ius-chart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-chart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-chart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-chart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-chart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-chart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-chart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-chart__skel{fill:var(--ius-neutral-2)}.ius-chart__skel--line{stroke:var(--ius-neutral-3);stroke-width:2;fill:none}.ius-chart__block{display:grid;place-items:center;min-height:160px}\n"] }]
|
|
15648
15662
|
}], ctorParameters: () => [], propDecorators: { categories: [{ type: i0.Input, args: [{ isSignal: true, alias: "categories", required: false }] }], series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], aspectRatio: [{ type: i0.Input, args: [{ isSignal: true, alias: "aspectRatio", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], yAxisWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "yAxisWidth", required: false }] }], showXAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "showXAxis", required: false }] }], showYAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "showYAxis", required: false }] }], showGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGrid", required: false }] }], yTicks: [{ type: i0.Input, args: [{ isSignal: true, alias: "yTicks", required: false }] }], yMin: [{ type: i0.Input, args: [{ isSignal: true, alias: "yMin", required: false }] }], yMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "yMax", required: false }] }], area: [{ type: i0.Input, args: [{ isSignal: true, alias: "area", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], showPoints: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPoints", required: false }] }], showValueLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValueLabels", required: false }] }], showLegend: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLegend", required: false }] }], showTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTooltip", required: false }] }], valueFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormat", required: false }] }], xFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "xFormat", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTemplate", required: false }] }], emptyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTitle", required: false }] }], emptyDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyDescription", required: false }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
|
|
15649
15663
|
|
|
15650
15664
|
/*
|
|
@@ -15976,7 +15990,7 @@ class EntityRowComponent {
|
|
|
15976
15990
|
this.menuOpen.set(open);
|
|
15977
15991
|
}
|
|
15978
15992
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: EntityRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15979
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: EntityRowComponent, isStandalone: true, selector: "ius-entity-row", inputs: { kind: "kind", icon: "icon", label: "label", sublabel: "sublabel", level: ["level", "level", numberAttribute], accent: "accent", expandable: ["expandable", "expandable", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], loading: ["loading", "loading", booleanAttribute], selected: ["selected", "selected", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], count: "count", unread: "unread", hasUnread: ["hasUnread", "hasUnread", booleanAttribute], noveltyTone: "noveltyTone", pinned: ["pinned", "pinned", booleanAttribute], pinnable: ["pinnable", "pinnable", booleanAttribute], actions: "actions", actionsLabel: "actionsLabel", ariaLabel: "ariaLabel" }, outputs: { toggle: "toggle", togglePin: "togglePin", clicked: "clicked" }, host: { attributes: { "role": "button" }, listeners: { "click": "onRowClick($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "disabled ? null : 0", "attr.data-level": "level", "attr.data-accent": "accent", "attr.data-expanded": "expanded ? 'true' : null", "attr.data-selected": "selected ? 'true' : null", "attr.data-unread": "hasNovelty ? 'true' : null", "attr.data-disabled": "disabled ? 'true' : null", "attr.data-menu-open": "menuOpen() ? 'true' : null", "attr.data-loading": "loading ? 'true' : null", "attr.aria-busy": "loading ? 'true' : null", "attr.aria-expanded": "expandable ? (expanded ? 'true' : 'false') : null", "attr.aria-current": "selected ? 'true' : null", "attr.aria-label": "ariaLabel || null", "style.padding-left.px": "padLeft" }, classAttribute: "ius-entityrow" }, queries: [{ propertyName: "labelRef", first: true, predicate: IusEntityRowLabelDirective, descendants: true, isSignal: true }, { propertyName: "sublabelRef", first: true, predicate: IusEntityRowSublabelDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Orden verbatim del golden: twisty \u00B7 \u00EDcono \u00B7 punto de novedad \u00B7 cuerpo \u00B7\r\n contador \u00B7 acciones. La ra\u00EDz es el propio host (ver el .scss). -->\r\n\r\n<!-- Chevron / aro de carga / hueco.\r\n `loading` gana: el aro ocupa la MISMA caja de 18 px, as\u00ED la fila no salta.\r\n El chevron no entra en el orden de tabulaci\u00F3n (igual que el golden): en un\r\n \u00E1rbol grande ser\u00EDa un tab-stop por fila; el estado lo comunica el\r\n `aria-expanded` de la fila. -->\r\n@if (loading) {\r\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--loading\">\r\n <ius-circular-progress\r\n [indeterminate]=\"true\"\r\n size=\"small\"\r\n tone=\"neutral\"\r\n ariaLabel=\"Cargando contenido\"\r\n />\r\n </span>\r\n} @else if (expandable) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entityrow__twisty\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </button>\r\n} @else {\r\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--spacer\" aria-hidden=\"true\">\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </span>\r\n}\r\n\r\n<span class=\"ius-entityrow__icon\">\r\n <span translate=\"no\" class=\"ius-icon\">{{ effIcon }}</span>\r\n</span>\r\n\r\n<!-- Contenedor con novedad: solo el punto, sin n\u00FAmero (la hoja la comunica con\r\n su contador). Si adem\u00E1s llega `unread`, gana `unread` y esto no se pinta. -->\r\n@if (showNoveltyDot) {\r\n <span class=\"ius-entityrow__lead\">\r\n <ius-insignia\r\n variant=\"dot\"\r\n [tone]=\"noveltyTone\"\r\n size=\"small\"\r\n ariaLabel=\"Con novedades sin leer\"\r\n />\r\n </span>\r\n}\r\n\r\n<!-- Los dos slots se instancian SIEMPRE, nunca dentro de un `@if`: un\r\n `<ng-content>` detr\u00E1s de una condici\u00F3n que a\u00FAn no es cierta en el primer\r\n render pierde el contenido proyectado en silencio (el `contentChild` que\r\n alimentaba la condici\u00F3n se resuelve un tick tarde). El subt\u00EDtulo vac\u00EDo se\r\n oculta por CSS con `data-empty`, no quit\u00E1ndolo del \u00E1rbol. -->\r\n<span class=\"ius-entityrow__body\">\r\n <span class=\"ius-entityrow__label\">{{ label }}<ng-content select=\"[iusEntityRowLabel]\" /></span>\r\n <span class=\"ius-entityrow__sub\" [attr.data-empty]=\"hasSublabel ? null : 'true'\">{{ sublabel }}<ng-content select=\"[iusEntityRowSublabel]\" /></span>\r\n</span>\r\n\r\n<!-- Novedad (s\u00F3lido, alto contraste) vs conteo neutro de hijos: nunca ambos. -->\r\n@if (hasNovelty) {\r\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\r\n <ius-insignia\r\n variant=\"count\"\r\n [tone]=\"noveltyTone\"\r\n [count]=\"unread\"\r\n [ariaLabel]=\"unread + ' sin leer'\"\r\n />\r\n </span>\r\n} @else if (showCount) {\r\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\r\n <ius-insignia variant=\"count-soft\" [tone]=\"selected ? accent : 'neutral'\" [count]=\"count\" />\r\n </span>\r\n}\r\n\r\n<!-- Pin de acceso r\u00E1pido + men\u00FA \u22EE, revelados en hover. Un clic nacido aqu\u00ED\r\n dentro no navega (guarda `closest` en onRowClick). -->\r\n@if (hasRowActions) {\r\n <span class=\"ius-entityrow__actions\">\r\n @if (hasPin) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entityrow__act ius-entityrow__act--pin\"\r\n [attr.data-pinned]=\"pinned ? 'true' : null\"\r\n [attr.aria-label]=\"pinLabel\"\r\n [attr.aria-pressed]=\"pinned\"\r\n (click)=\"onPinClick($event)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">push_pin</span>\r\n </button>\r\n }\r\n @if (hasActions) {\r\n <!-- ius-dropdown ES la composici\u00F3n Popover+Menu del golden, ya encapsulada:\r\n respeta `group` (divisores) y `danger` (al fondo, en rojo). -->\r\n <ius-dropdown\r\n [items]=\"actions\"\r\n placement=\"bottom-end\"\r\n [ariaLabel]=\"menuLabel\"\r\n (openChange)=\"onMenuOpenChange($event)\"\r\n >\r\n <button iusDropdownTrigger type=\"button\" class=\"ius-entityrow__act\" [attr.aria-label]=\"menuLabel\">\r\n <span translate=\"no\" class=\"ius-icon\">more_vert</span>\r\n </button>\r\n </ius-dropdown>\r\n }\r\n </span>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;width:100%;display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-xs);background:transparent;border:0;border-radius:var(--ius-radius-md);cursor:pointer;font-family:var(--ius-font-body);color:var(--ius-text-primary);text-align:left;transition:background var(--ius-duration-fast) var(--ius-ease-standard);--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host(:hover){background:var(--ius-neutral-2)}:host(:focus-visible){outline:none;box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-entityrow__twisty{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ius-text-tertiary);transition:transform var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__twisty .ius-icon{font-size:var(--ius-icon-md)}:host([data-expanded=true]) .ius-entityrow__twisty{transform:rotate(90deg)}.ius-entityrow__twisty--spacer{visibility:hidden}.ius-entityrow__twisty--loading{--_er-spin-scale: .818;transform:none}:host([data-expanded=true]) .ius-entityrow__twisty--loading{transform:none}.ius-entityrow__twisty--loading ius-circular-progress{transform:scale(var(--_er-spin-scale))}.ius-entityrow__icon{flex:0 0 auto;display:inline-flex;color:var(--ius-neutral-7)}.ius-entityrow__icon .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0}.ius-entityrow__label{font-size:var(--ius-fs-base);line-height:1.3;color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub[data-empty=true]{display:none}:host([data-level=\"0\"]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}:host([data-unread=true]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}.ius-entityrow__lead{flex:0 0 auto;display:inline-flex;align-items:center}.ius-entityrow__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entityrow__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-entityrow__act{appearance:none;border:0;background:transparent;cursor:pointer;width:26px;height:26px;border-radius:var(--ius-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ius-text-tertiary);opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__act .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__act:hover{background:var(--ius-neutral-3);color:var(--ius-text-primary)}.ius-entityrow__act:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);opacity:1}:host([data-selected=true]) .ius-entityrow__act{color:var(--_er-accent)}:host([data-selected=true]) .ius-entityrow__act:hover{background:color-mix(in srgb,var(--_er-accent) 16%,white);color:var(--_er-accent)}:host(:hover) .ius-entityrow__act,:host([data-menu-open=true]) .ius-entityrow__act{opacity:1}.ius-entityrow__act--pin[data-pinned=true]{opacity:1;color:var(--_er-accent)}.ius-entityrow__act--pin[data-pinned=true] .ius-icon{font-variation-settings:\"FILL\" 1,\"wght\" 500,\"GRAD\" 200,\"opsz\" 24}:host(:hover) .ius-entityrow__trailing[data-dim=true],:host([data-menu-open=true]) .ius-entityrow__trailing[data-dim=true]{display:none}:host([data-accent=primary]){--_er-accent: var(--ius-primary-700);--_er-tint: color-mix(in srgb, var(--ius-primary-500) 14%, white)}:host([data-accent=info]){--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host([data-accent=success]){--_er-accent: var(--ius-success-600);--_er-tint: color-mix(in srgb, var(--ius-success-500) 14%, white)}:host([data-accent=warning]){--_er-accent: var(--ius-warning-600);--_er-tint: color-mix(in srgb, var(--ius-warning-500) 14%, white)}:host([data-accent=danger]){--_er-accent: var(--ius-danger-600);--_er-tint: color-mix(in srgb, var(--ius-danger-500) 14%, white)}:host([data-accent=neutral]){--_er-accent: var(--ius-neutral-9);--_er-tint: color-mix(in srgb, var(--ius-neutral-7) 14%, white)}:host([data-accent=durazno]){--_er-accent: var(--ius-durazno-600);--_er-tint: color-mix(in srgb, var(--ius-durazno-500) 14%, white)}:host([data-accent=banano]){--_er-accent: var(--ius-banano-600);--_er-tint: color-mix(in srgb, var(--ius-banano-500) 14%, white)}:host([data-accent=sandia]){--_er-accent: var(--ius-sandia-600);--_er-tint: color-mix(in srgb, var(--ius-sandia-500) 14%, white)}:host([data-accent=arandano]){--_er-accent: var(--ius-arandano-600);--_er-tint: color-mix(in srgb, var(--ius-arandano-500) 14%, white)}:host([data-accent=uva]){--_er-accent: var(--ius-uva-600);--_er-tint: color-mix(in srgb, var(--ius-uva-500) 14%, white)}:host([data-accent=aguacate]){--_er-accent: var(--ius-aguacate-600);--_er-tint: color-mix(in srgb, var(--ius-aguacate-500) 14%, white)}:host([data-selected=true]){background:var(--_er-tint)}:host([data-selected=true]) .ius-entityrow__label{color:var(--_er-accent);font-weight:var(--ius-fw-semibold)}:host([data-selected=true]) .ius-entityrow__icon,:host([data-selected=true]) .ius-entityrow__twisty{color:var(--_er-accent)}:host([data-selected=true]:hover){background:var(--_er-tint)}\n"], dependencies: [{ kind: "component", type: CircularProgressComponent, selector: "ius-circular-progress", inputs: ["value", "max", "indeterminate", "tone", "size", "showValue", "ariaLabel", "duration", "paused"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "directive", type: IusDropdownTriggerDirective, selector: "[iusDropdownTrigger]" }, { kind: "component", type: InsigniaComponent, selector: "ius-insignia", inputs: ["variant", "tone", "size", "label", "count", "max", "ring", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15993
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: EntityRowComponent, isStandalone: true, selector: "ius-entity-row", inputs: { kind: "kind", icon: "icon", label: "label", sublabel: "sublabel", level: ["level", "level", numberAttribute], accent: "accent", expandable: ["expandable", "expandable", booleanAttribute], expanded: ["expanded", "expanded", booleanAttribute], loading: ["loading", "loading", booleanAttribute], selected: ["selected", "selected", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], count: "count", unread: "unread", hasUnread: ["hasUnread", "hasUnread", booleanAttribute], noveltyTone: "noveltyTone", pinned: ["pinned", "pinned", booleanAttribute], pinnable: ["pinnable", "pinnable", booleanAttribute], actions: "actions", actionsLabel: "actionsLabel", ariaLabel: "ariaLabel" }, outputs: { toggle: "toggle", togglePin: "togglePin", clicked: "clicked" }, host: { attributes: { "role": "button" }, listeners: { "click": "onRowClick($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.tabindex": "disabled ? null : 0", "attr.data-level": "level", "attr.data-accent": "accent", "attr.data-expanded": "expanded ? 'true' : null", "attr.data-selected": "selected ? 'true' : null", "attr.data-unread": "hasNovelty ? 'true' : null", "attr.data-disabled": "disabled ? 'true' : null", "attr.data-menu-open": "menuOpen() ? 'true' : null", "attr.data-loading": "loading ? 'true' : null", "attr.aria-busy": "loading ? 'true' : null", "attr.aria-expanded": "expandable ? (expanded ? 'true' : 'false') : null", "attr.aria-current": "selected ? 'true' : null", "attr.aria-label": "ariaLabel || null", "style.padding-left.px": "padLeft" }, classAttribute: "ius-entityrow" }, queries: [{ propertyName: "labelRef", first: true, predicate: IusEntityRowLabelDirective, descendants: true, isSignal: true }, { propertyName: "sublabelRef", first: true, predicate: IusEntityRowSublabelDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Orden verbatim del golden: twisty \u00B7 \u00EDcono \u00B7 punto de novedad \u00B7 cuerpo \u00B7\n contador \u00B7 acciones. La ra\u00EDz es el propio host (ver el .scss). -->\n\n<!-- Chevron / aro de carga / hueco.\n `loading` gana: el aro ocupa la MISMA caja de 18 px, as\u00ED la fila no salta.\n El chevron no entra en el orden de tabulaci\u00F3n (igual que el golden): en un\n \u00E1rbol grande ser\u00EDa un tab-stop por fila; el estado lo comunica el\n `aria-expanded` de la fila. -->\n@if (loading) {\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--loading\">\n <ius-circular-progress\n [indeterminate]=\"true\"\n size=\"small\"\n tone=\"neutral\"\n ariaLabel=\"Cargando contenido\"\n />\n </span>\n} @else if (expandable) {\n <button\n type=\"button\"\n class=\"ius-entityrow__twisty\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n (click)=\"onToggleClick($event)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </button>\n} @else {\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--spacer\" aria-hidden=\"true\">\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </span>\n}\n\n<span class=\"ius-entityrow__icon\">\n <span translate=\"no\" class=\"ius-icon\">{{ effIcon }}</span>\n</span>\n\n<!-- Contenedor con novedad: solo el punto, sin n\u00FAmero (la hoja la comunica con\n su contador). Si adem\u00E1s llega `unread`, gana `unread` y esto no se pinta. -->\n@if (showNoveltyDot) {\n <span class=\"ius-entityrow__lead\">\n <ius-insignia\n variant=\"dot\"\n [tone]=\"noveltyTone\"\n size=\"small\"\n ariaLabel=\"Con novedades sin leer\"\n />\n </span>\n}\n\n<!-- Los dos slots se instancian SIEMPRE, nunca dentro de un `@if`: un\n `<ng-content>` detr\u00E1s de una condici\u00F3n que a\u00FAn no es cierta en el primer\n render pierde el contenido proyectado en silencio (el `contentChild` que\n alimentaba la condici\u00F3n se resuelve un tick tarde). El subt\u00EDtulo vac\u00EDo se\n oculta por CSS con `data-empty`, no quit\u00E1ndolo del \u00E1rbol. -->\n<span class=\"ius-entityrow__body\">\n <span class=\"ius-entityrow__label\">{{ label }}<ng-content select=\"[iusEntityRowLabel]\" /></span>\n <span class=\"ius-entityrow__sub\" [attr.data-empty]=\"hasSublabel ? null : 'true'\">{{ sublabel }}<ng-content select=\"[iusEntityRowSublabel]\" /></span>\n</span>\n\n<!-- Novedad (s\u00F3lido, alto contraste) vs conteo neutro de hijos: nunca ambos. -->\n@if (hasNovelty) {\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\n <ius-insignia\n variant=\"count\"\n [tone]=\"noveltyTone\"\n [count]=\"unread\"\n [ariaLabel]=\"unread + ' sin leer'\"\n />\n </span>\n} @else if (showCount) {\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\n <ius-insignia variant=\"count-soft\" [tone]=\"selected ? accent : 'neutral'\" [count]=\"count\" />\n </span>\n}\n\n<!-- Pin de acceso r\u00E1pido + men\u00FA \u22EE, revelados en hover. Un clic nacido aqu\u00ED\n dentro no navega (guarda `closest` en onRowClick). -->\n@if (hasRowActions) {\n <span class=\"ius-entityrow__actions\">\n @if (hasPin) {\n <button\n type=\"button\"\n class=\"ius-entityrow__act ius-entityrow__act--pin\"\n [attr.data-pinned]=\"pinned ? 'true' : null\"\n [attr.aria-label]=\"pinLabel\"\n [attr.aria-pressed]=\"pinned\"\n (click)=\"onPinClick($event)\"\n >\n <span translate=\"no\" class=\"ius-icon\">push_pin</span>\n </button>\n }\n @if (hasActions) {\n <!-- ius-dropdown ES la composici\u00F3n Popover+Menu del golden, ya encapsulada:\n respeta `group` (divisores) y `danger` (al fondo, en rojo). -->\n <ius-dropdown\n [items]=\"actions\"\n placement=\"bottom-end\"\n [ariaLabel]=\"menuLabel\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <button iusDropdownTrigger type=\"button\" class=\"ius-entityrow__act\" [attr.aria-label]=\"menuLabel\">\n <span translate=\"no\" class=\"ius-icon\">more_vert</span>\n </button>\n </ius-dropdown>\n }\n </span>\n}\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;width:100%;display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-xs);background:transparent;border:0;border-radius:var(--ius-radius-md);cursor:pointer;font-family:var(--ius-font-body);color:var(--ius-text-primary);text-align:left;transition:background var(--ius-duration-fast) var(--ius-ease-standard);--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host(:hover){background:var(--ius-neutral-2)}:host(:focus-visible){outline:none;box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-entityrow__twisty{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ius-text-tertiary);transition:transform var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__twisty .ius-icon{font-size:var(--ius-icon-md)}:host([data-expanded=true]) .ius-entityrow__twisty{transform:rotate(90deg)}.ius-entityrow__twisty--spacer{visibility:hidden}.ius-entityrow__twisty--loading{--_er-spin-scale: .818;transform:none}:host([data-expanded=true]) .ius-entityrow__twisty--loading{transform:none}.ius-entityrow__twisty--loading ius-circular-progress{transform:scale(var(--_er-spin-scale))}.ius-entityrow__icon{flex:0 0 auto;display:inline-flex;color:var(--ius-neutral-7)}.ius-entityrow__icon .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0}.ius-entityrow__label{font-size:var(--ius-fs-base);line-height:1.3;color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub[data-empty=true]{display:none}:host([data-level=\"0\"]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}:host([data-unread=true]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}.ius-entityrow__lead{flex:0 0 auto;display:inline-flex;align-items:center}.ius-entityrow__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entityrow__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-entityrow__act{appearance:none;border:0;background:transparent;cursor:pointer;width:26px;height:26px;border-radius:var(--ius-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ius-text-tertiary);opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__act .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__act:hover{background:var(--ius-neutral-3);color:var(--ius-text-primary)}.ius-entityrow__act:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);opacity:1}:host([data-selected=true]) .ius-entityrow__act{color:var(--_er-accent)}:host([data-selected=true]) .ius-entityrow__act:hover{background:color-mix(in srgb,var(--_er-accent) 16%,white);color:var(--_er-accent)}:host(:hover) .ius-entityrow__act,:host([data-menu-open=true]) .ius-entityrow__act{opacity:1}.ius-entityrow__act--pin[data-pinned=true]{opacity:1;color:var(--_er-accent)}.ius-entityrow__act--pin[data-pinned=true] .ius-icon{font-variation-settings:\"FILL\" 1,\"wght\" 500,\"GRAD\" 200,\"opsz\" 24}:host(:hover) .ius-entityrow__trailing[data-dim=true],:host([data-menu-open=true]) .ius-entityrow__trailing[data-dim=true]{display:none}:host([data-accent=primary]){--_er-accent: var(--ius-primary-700);--_er-tint: color-mix(in srgb, var(--ius-primary-500) 14%, white)}:host([data-accent=info]){--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host([data-accent=success]){--_er-accent: var(--ius-success-600);--_er-tint: color-mix(in srgb, var(--ius-success-500) 14%, white)}:host([data-accent=warning]){--_er-accent: var(--ius-warning-600);--_er-tint: color-mix(in srgb, var(--ius-warning-500) 14%, white)}:host([data-accent=danger]){--_er-accent: var(--ius-danger-600);--_er-tint: color-mix(in srgb, var(--ius-danger-500) 14%, white)}:host([data-accent=neutral]){--_er-accent: var(--ius-neutral-9);--_er-tint: color-mix(in srgb, var(--ius-neutral-7) 14%, white)}:host([data-accent=durazno]){--_er-accent: var(--ius-durazno-600);--_er-tint: color-mix(in srgb, var(--ius-durazno-500) 14%, white)}:host([data-accent=banano]){--_er-accent: var(--ius-banano-600);--_er-tint: color-mix(in srgb, var(--ius-banano-500) 14%, white)}:host([data-accent=sandia]){--_er-accent: var(--ius-sandia-600);--_er-tint: color-mix(in srgb, var(--ius-sandia-500) 14%, white)}:host([data-accent=arandano]){--_er-accent: var(--ius-arandano-600);--_er-tint: color-mix(in srgb, var(--ius-arandano-500) 14%, white)}:host([data-accent=uva]){--_er-accent: var(--ius-uva-600);--_er-tint: color-mix(in srgb, var(--ius-uva-500) 14%, white)}:host([data-accent=aguacate]){--_er-accent: var(--ius-aguacate-600);--_er-tint: color-mix(in srgb, var(--ius-aguacate-500) 14%, white)}:host([data-selected=true]){background:var(--_er-tint)}:host([data-selected=true]) .ius-entityrow__label{color:var(--_er-accent);font-weight:var(--ius-fw-semibold)}:host([data-selected=true]) .ius-entityrow__icon,:host([data-selected=true]) .ius-entityrow__twisty{color:var(--_er-accent)}:host([data-selected=true]:hover){background:var(--_er-tint)}\n"], dependencies: [{ kind: "component", type: CircularProgressComponent, selector: "ius-circular-progress", inputs: ["value", "max", "indeterminate", "tone", "size", "showValue", "ariaLabel", "duration", "paused"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "directive", type: IusDropdownTriggerDirective, selector: "[iusDropdownTrigger]" }, { kind: "component", type: InsigniaComponent, selector: "ius-insignia", inputs: ["variant", "tone", "size", "label", "count", "max", "ring", "ariaLabel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15980
15994
|
}
|
|
15981
15995
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: EntityRowComponent, decorators: [{
|
|
15982
15996
|
type: Component,
|
|
@@ -16004,7 +16018,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
16004
16018
|
'[style.padding-left.px]': 'padLeft',
|
|
16005
16019
|
'(click)': 'onRowClick($event)',
|
|
16006
16020
|
'(keydown)': 'onKeyDown($event)',
|
|
16007
|
-
}, template: "<!-- Orden verbatim del golden: twisty \u00B7 \u00EDcono \u00B7 punto de novedad \u00B7 cuerpo \u00B7\r\n contador \u00B7 acciones. La ra\u00EDz es el propio host (ver el .scss). -->\r\n\r\n<!-- Chevron / aro de carga / hueco.\r\n `loading` gana: el aro ocupa la MISMA caja de 18 px, as\u00ED la fila no salta.\r\n El chevron no entra en el orden de tabulaci\u00F3n (igual que el golden): en un\r\n \u00E1rbol grande ser\u00EDa un tab-stop por fila; el estado lo comunica el\r\n `aria-expanded` de la fila. -->\r\n@if (loading) {\r\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--loading\">\r\n <ius-circular-progress\r\n [indeterminate]=\"true\"\r\n size=\"small\"\r\n tone=\"neutral\"\r\n ariaLabel=\"Cargando contenido\"\r\n />\r\n </span>\r\n} @else if (expandable) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entityrow__twisty\"\r\n tabindex=\"-1\"\r\n aria-hidden=\"true\"\r\n (click)=\"onToggleClick($event)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </button>\r\n} @else {\r\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--spacer\" aria-hidden=\"true\">\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </span>\r\n}\r\n\r\n<span class=\"ius-entityrow__icon\">\r\n <span translate=\"no\" class=\"ius-icon\">{{ effIcon }}</span>\r\n</span>\r\n\r\n<!-- Contenedor con novedad: solo el punto, sin n\u00FAmero (la hoja la comunica con\r\n su contador). Si adem\u00E1s llega `unread`, gana `unread` y esto no se pinta. -->\r\n@if (showNoveltyDot) {\r\n <span class=\"ius-entityrow__lead\">\r\n <ius-insignia\r\n variant=\"dot\"\r\n [tone]=\"noveltyTone\"\r\n size=\"small\"\r\n ariaLabel=\"Con novedades sin leer\"\r\n />\r\n </span>\r\n}\r\n\r\n<!-- Los dos slots se instancian SIEMPRE, nunca dentro de un `@if`: un\r\n `<ng-content>` detr\u00E1s de una condici\u00F3n que a\u00FAn no es cierta en el primer\r\n render pierde el contenido proyectado en silencio (el `contentChild` que\r\n alimentaba la condici\u00F3n se resuelve un tick tarde). El subt\u00EDtulo vac\u00EDo se\r\n oculta por CSS con `data-empty`, no quit\u00E1ndolo del \u00E1rbol. -->\r\n<span class=\"ius-entityrow__body\">\r\n <span class=\"ius-entityrow__label\">{{ label }}<ng-content select=\"[iusEntityRowLabel]\" /></span>\r\n <span class=\"ius-entityrow__sub\" [attr.data-empty]=\"hasSublabel ? null : 'true'\">{{ sublabel }}<ng-content select=\"[iusEntityRowSublabel]\" /></span>\r\n</span>\r\n\r\n<!-- Novedad (s\u00F3lido, alto contraste) vs conteo neutro de hijos: nunca ambos. -->\r\n@if (hasNovelty) {\r\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\r\n <ius-insignia\r\n variant=\"count\"\r\n [tone]=\"noveltyTone\"\r\n [count]=\"unread\"\r\n [ariaLabel]=\"unread + ' sin leer'\"\r\n />\r\n </span>\r\n} @else if (showCount) {\r\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\r\n <ius-insignia variant=\"count-soft\" [tone]=\"selected ? accent : 'neutral'\" [count]=\"count\" />\r\n </span>\r\n}\r\n\r\n<!-- Pin de acceso r\u00E1pido + men\u00FA \u22EE, revelados en hover. Un clic nacido aqu\u00ED\r\n dentro no navega (guarda `closest` en onRowClick). -->\r\n@if (hasRowActions) {\r\n <span class=\"ius-entityrow__actions\">\r\n @if (hasPin) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entityrow__act ius-entityrow__act--pin\"\r\n [attr.data-pinned]=\"pinned ? 'true' : null\"\r\n [attr.aria-label]=\"pinLabel\"\r\n [attr.aria-pressed]=\"pinned\"\r\n (click)=\"onPinClick($event)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">push_pin</span>\r\n </button>\r\n }\r\n @if (hasActions) {\r\n <!-- ius-dropdown ES la composici\u00F3n Popover+Menu del golden, ya encapsulada:\r\n respeta `group` (divisores) y `danger` (al fondo, en rojo). -->\r\n <ius-dropdown\r\n [items]=\"actions\"\r\n placement=\"bottom-end\"\r\n [ariaLabel]=\"menuLabel\"\r\n (openChange)=\"onMenuOpenChange($event)\"\r\n >\r\n <button iusDropdownTrigger type=\"button\" class=\"ius-entityrow__act\" [attr.aria-label]=\"menuLabel\">\r\n <span translate=\"no\" class=\"ius-icon\">more_vert</span>\r\n </button>\r\n </ius-dropdown>\r\n }\r\n </span>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;width:100%;display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-xs);background:transparent;border:0;border-radius:var(--ius-radius-md);cursor:pointer;font-family:var(--ius-font-body);color:var(--ius-text-primary);text-align:left;transition:background var(--ius-duration-fast) var(--ius-ease-standard);--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host(:hover){background:var(--ius-neutral-2)}:host(:focus-visible){outline:none;box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-entityrow__twisty{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ius-text-tertiary);transition:transform var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__twisty .ius-icon{font-size:var(--ius-icon-md)}:host([data-expanded=true]) .ius-entityrow__twisty{transform:rotate(90deg)}.ius-entityrow__twisty--spacer{visibility:hidden}.ius-entityrow__twisty--loading{--_er-spin-scale: .818;transform:none}:host([data-expanded=true]) .ius-entityrow__twisty--loading{transform:none}.ius-entityrow__twisty--loading ius-circular-progress{transform:scale(var(--_er-spin-scale))}.ius-entityrow__icon{flex:0 0 auto;display:inline-flex;color:var(--ius-neutral-7)}.ius-entityrow__icon .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0}.ius-entityrow__label{font-size:var(--ius-fs-base);line-height:1.3;color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub[data-empty=true]{display:none}:host([data-level=\"0\"]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}:host([data-unread=true]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}.ius-entityrow__lead{flex:0 0 auto;display:inline-flex;align-items:center}.ius-entityrow__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entityrow__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-entityrow__act{appearance:none;border:0;background:transparent;cursor:pointer;width:26px;height:26px;border-radius:var(--ius-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ius-text-tertiary);opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__act .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__act:hover{background:var(--ius-neutral-3);color:var(--ius-text-primary)}.ius-entityrow__act:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);opacity:1}:host([data-selected=true]) .ius-entityrow__act{color:var(--_er-accent)}:host([data-selected=true]) .ius-entityrow__act:hover{background:color-mix(in srgb,var(--_er-accent) 16%,white);color:var(--_er-accent)}:host(:hover) .ius-entityrow__act,:host([data-menu-open=true]) .ius-entityrow__act{opacity:1}.ius-entityrow__act--pin[data-pinned=true]{opacity:1;color:var(--_er-accent)}.ius-entityrow__act--pin[data-pinned=true] .ius-icon{font-variation-settings:\"FILL\" 1,\"wght\" 500,\"GRAD\" 200,\"opsz\" 24}:host(:hover) .ius-entityrow__trailing[data-dim=true],:host([data-menu-open=true]) .ius-entityrow__trailing[data-dim=true]{display:none}:host([data-accent=primary]){--_er-accent: var(--ius-primary-700);--_er-tint: color-mix(in srgb, var(--ius-primary-500) 14%, white)}:host([data-accent=info]){--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host([data-accent=success]){--_er-accent: var(--ius-success-600);--_er-tint: color-mix(in srgb, var(--ius-success-500) 14%, white)}:host([data-accent=warning]){--_er-accent: var(--ius-warning-600);--_er-tint: color-mix(in srgb, var(--ius-warning-500) 14%, white)}:host([data-accent=danger]){--_er-accent: var(--ius-danger-600);--_er-tint: color-mix(in srgb, var(--ius-danger-500) 14%, white)}:host([data-accent=neutral]){--_er-accent: var(--ius-neutral-9);--_er-tint: color-mix(in srgb, var(--ius-neutral-7) 14%, white)}:host([data-accent=durazno]){--_er-accent: var(--ius-durazno-600);--_er-tint: color-mix(in srgb, var(--ius-durazno-500) 14%, white)}:host([data-accent=banano]){--_er-accent: var(--ius-banano-600);--_er-tint: color-mix(in srgb, var(--ius-banano-500) 14%, white)}:host([data-accent=sandia]){--_er-accent: var(--ius-sandia-600);--_er-tint: color-mix(in srgb, var(--ius-sandia-500) 14%, white)}:host([data-accent=arandano]){--_er-accent: var(--ius-arandano-600);--_er-tint: color-mix(in srgb, var(--ius-arandano-500) 14%, white)}:host([data-accent=uva]){--_er-accent: var(--ius-uva-600);--_er-tint: color-mix(in srgb, var(--ius-uva-500) 14%, white)}:host([data-accent=aguacate]){--_er-accent: var(--ius-aguacate-600);--_er-tint: color-mix(in srgb, var(--ius-aguacate-500) 14%, white)}:host([data-selected=true]){background:var(--_er-tint)}:host([data-selected=true]) .ius-entityrow__label{color:var(--_er-accent);font-weight:var(--ius-fw-semibold)}:host([data-selected=true]) .ius-entityrow__icon,:host([data-selected=true]) .ius-entityrow__twisty{color:var(--_er-accent)}:host([data-selected=true]:hover){background:var(--_er-tint)}\n"] }]
|
|
16021
|
+
}, template: "<!-- Orden verbatim del golden: twisty \u00B7 \u00EDcono \u00B7 punto de novedad \u00B7 cuerpo \u00B7\n contador \u00B7 acciones. La ra\u00EDz es el propio host (ver el .scss). -->\n\n<!-- Chevron / aro de carga / hueco.\n `loading` gana: el aro ocupa la MISMA caja de 18 px, as\u00ED la fila no salta.\n El chevron no entra en el orden de tabulaci\u00F3n (igual que el golden): en un\n \u00E1rbol grande ser\u00EDa un tab-stop por fila; el estado lo comunica el\n `aria-expanded` de la fila. -->\n@if (loading) {\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--loading\">\n <ius-circular-progress\n [indeterminate]=\"true\"\n size=\"small\"\n tone=\"neutral\"\n ariaLabel=\"Cargando contenido\"\n />\n </span>\n} @else if (expandable) {\n <button\n type=\"button\"\n class=\"ius-entityrow__twisty\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n (click)=\"onToggleClick($event)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </button>\n} @else {\n <span class=\"ius-entityrow__twisty ius-entityrow__twisty--spacer\" aria-hidden=\"true\">\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </span>\n}\n\n<span class=\"ius-entityrow__icon\">\n <span translate=\"no\" class=\"ius-icon\">{{ effIcon }}</span>\n</span>\n\n<!-- Contenedor con novedad: solo el punto, sin n\u00FAmero (la hoja la comunica con\n su contador). Si adem\u00E1s llega `unread`, gana `unread` y esto no se pinta. -->\n@if (showNoveltyDot) {\n <span class=\"ius-entityrow__lead\">\n <ius-insignia\n variant=\"dot\"\n [tone]=\"noveltyTone\"\n size=\"small\"\n ariaLabel=\"Con novedades sin leer\"\n />\n </span>\n}\n\n<!-- Los dos slots se instancian SIEMPRE, nunca dentro de un `@if`: un\n `<ng-content>` detr\u00E1s de una condici\u00F3n que a\u00FAn no es cierta en el primer\n render pierde el contenido proyectado en silencio (el `contentChild` que\n alimentaba la condici\u00F3n se resuelve un tick tarde). El subt\u00EDtulo vac\u00EDo se\n oculta por CSS con `data-empty`, no quit\u00E1ndolo del \u00E1rbol. -->\n<span class=\"ius-entityrow__body\">\n <span class=\"ius-entityrow__label\">{{ label }}<ng-content select=\"[iusEntityRowLabel]\" /></span>\n <span class=\"ius-entityrow__sub\" [attr.data-empty]=\"hasSublabel ? null : 'true'\">{{ sublabel }}<ng-content select=\"[iusEntityRowSublabel]\" /></span>\n</span>\n\n<!-- Novedad (s\u00F3lido, alto contraste) vs conteo neutro de hijos: nunca ambos. -->\n@if (hasNovelty) {\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\n <ius-insignia\n variant=\"count\"\n [tone]=\"noveltyTone\"\n [count]=\"unread\"\n [ariaLabel]=\"unread + ' sin leer'\"\n />\n </span>\n} @else if (showCount) {\n <span class=\"ius-entityrow__trailing\" [attr.data-dim]=\"dim\">\n <ius-insignia variant=\"count-soft\" [tone]=\"selected ? accent : 'neutral'\" [count]=\"count\" />\n </span>\n}\n\n<!-- Pin de acceso r\u00E1pido + men\u00FA \u22EE, revelados en hover. Un clic nacido aqu\u00ED\n dentro no navega (guarda `closest` en onRowClick). -->\n@if (hasRowActions) {\n <span class=\"ius-entityrow__actions\">\n @if (hasPin) {\n <button\n type=\"button\"\n class=\"ius-entityrow__act ius-entityrow__act--pin\"\n [attr.data-pinned]=\"pinned ? 'true' : null\"\n [attr.aria-label]=\"pinLabel\"\n [attr.aria-pressed]=\"pinned\"\n (click)=\"onPinClick($event)\"\n >\n <span translate=\"no\" class=\"ius-icon\">push_pin</span>\n </button>\n }\n @if (hasActions) {\n <!-- ius-dropdown ES la composici\u00F3n Popover+Menu del golden, ya encapsulada:\n respeta `group` (divisores) y `danger` (al fondo, en rojo). -->\n <ius-dropdown\n [items]=\"actions\"\n placement=\"bottom-end\"\n [ariaLabel]=\"menuLabel\"\n (openChange)=\"onMenuOpenChange($event)\"\n >\n <button iusDropdownTrigger type=\"button\" class=\"ius-entityrow__act\" [attr.aria-label]=\"menuLabel\">\n <span translate=\"no\" class=\"ius-icon\">more_vert</span>\n </button>\n </ius-dropdown>\n }\n </span>\n}\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;width:100%;display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs) var(--ius-space-xs);background:transparent;border:0;border-radius:var(--ius-radius-md);cursor:pointer;font-family:var(--ius-font-body);color:var(--ius-text-primary);text-align:left;transition:background var(--ius-duration-fast) var(--ius-ease-standard);--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host(:hover){background:var(--ius-neutral-2)}:host(:focus-visible){outline:none;box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]){cursor:default;opacity:.5;pointer-events:none}.ius-entityrow__twisty{flex:0 0 auto;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;background:transparent;cursor:pointer;color:var(--ius-text-tertiary);transition:transform var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__twisty .ius-icon{font-size:var(--ius-icon-md)}:host([data-expanded=true]) .ius-entityrow__twisty{transform:rotate(90deg)}.ius-entityrow__twisty--spacer{visibility:hidden}.ius-entityrow__twisty--loading{--_er-spin-scale: .818;transform:none}:host([data-expanded=true]) .ius-entityrow__twisty--loading{transform:none}.ius-entityrow__twisty--loading ius-circular-progress{transform:scale(var(--_er-spin-scale))}.ius-entityrow__icon{flex:0 0 auto;display:inline-flex;color:var(--ius-neutral-7)}.ius-entityrow__icon .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:0}.ius-entityrow__label{font-size:var(--ius-fs-base);line-height:1.3;color:var(--ius-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub{font-size:var(--ius-fs-sm);line-height:1.3;color:var(--ius-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entityrow__sub[data-empty=true]{display:none}:host([data-level=\"0\"]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}:host([data-unread=true]) .ius-entityrow__label{font-weight:var(--ius-fw-semibold)}.ius-entityrow__lead{flex:0 0 auto;display:inline-flex;align-items:center}.ius-entityrow__trailing{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entityrow__actions{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-entityrow__act{appearance:none;border:0;background:transparent;cursor:pointer;width:26px;height:26px;border-radius:var(--ius-radius-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--ius-text-tertiary);opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entityrow__act .ius-icon{font-size:var(--ius-icon-md)}.ius-entityrow__act:hover{background:var(--ius-neutral-3);color:var(--ius-text-primary)}.ius-entityrow__act:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);opacity:1}:host([data-selected=true]) .ius-entityrow__act{color:var(--_er-accent)}:host([data-selected=true]) .ius-entityrow__act:hover{background:color-mix(in srgb,var(--_er-accent) 16%,white);color:var(--_er-accent)}:host(:hover) .ius-entityrow__act,:host([data-menu-open=true]) .ius-entityrow__act{opacity:1}.ius-entityrow__act--pin[data-pinned=true]{opacity:1;color:var(--_er-accent)}.ius-entityrow__act--pin[data-pinned=true] .ius-icon{font-variation-settings:\"FILL\" 1,\"wght\" 500,\"GRAD\" 200,\"opsz\" 24}:host(:hover) .ius-entityrow__trailing[data-dim=true],:host([data-menu-open=true]) .ius-entityrow__trailing[data-dim=true]{display:none}:host([data-accent=primary]){--_er-accent: var(--ius-primary-700);--_er-tint: color-mix(in srgb, var(--ius-primary-500) 14%, white)}:host([data-accent=info]){--_er-accent: var(--ius-info-600);--_er-tint: color-mix(in srgb, var(--ius-info-500) 14%, white)}:host([data-accent=success]){--_er-accent: var(--ius-success-600);--_er-tint: color-mix(in srgb, var(--ius-success-500) 14%, white)}:host([data-accent=warning]){--_er-accent: var(--ius-warning-600);--_er-tint: color-mix(in srgb, var(--ius-warning-500) 14%, white)}:host([data-accent=danger]){--_er-accent: var(--ius-danger-600);--_er-tint: color-mix(in srgb, var(--ius-danger-500) 14%, white)}:host([data-accent=neutral]){--_er-accent: var(--ius-neutral-9);--_er-tint: color-mix(in srgb, var(--ius-neutral-7) 14%, white)}:host([data-accent=durazno]){--_er-accent: var(--ius-durazno-600);--_er-tint: color-mix(in srgb, var(--ius-durazno-500) 14%, white)}:host([data-accent=banano]){--_er-accent: var(--ius-banano-600);--_er-tint: color-mix(in srgb, var(--ius-banano-500) 14%, white)}:host([data-accent=sandia]){--_er-accent: var(--ius-sandia-600);--_er-tint: color-mix(in srgb, var(--ius-sandia-500) 14%, white)}:host([data-accent=arandano]){--_er-accent: var(--ius-arandano-600);--_er-tint: color-mix(in srgb, var(--ius-arandano-500) 14%, white)}:host([data-accent=uva]){--_er-accent: var(--ius-uva-600);--_er-tint: color-mix(in srgb, var(--ius-uva-500) 14%, white)}:host([data-accent=aguacate]){--_er-accent: var(--ius-aguacate-600);--_er-tint: color-mix(in srgb, var(--ius-aguacate-500) 14%, white)}:host([data-selected=true]){background:var(--_er-tint)}:host([data-selected=true]) .ius-entityrow__label{color:var(--_er-accent);font-weight:var(--ius-fw-semibold)}:host([data-selected=true]) .ius-entityrow__icon,:host([data-selected=true]) .ius-entityrow__twisty{color:var(--_er-accent)}:host([data-selected=true]:hover){background:var(--_er-tint)}\n"] }]
|
|
16008
16022
|
}], propDecorators: { kind: [{
|
|
16009
16023
|
type: Input
|
|
16010
16024
|
}], icon: [{
|
|
@@ -16177,7 +16191,7 @@ class SwitchComponent {
|
|
|
16177
16191
|
useExisting: forwardRef(() => SwitchComponent),
|
|
16178
16192
|
multi: true,
|
|
16179
16193
|
},
|
|
16180
|
-
], ngImport: i0, template: "<label class=\"ius-sw__inner\" [attr.data-label-position]=\"labelPosition\">\
|
|
16194
|
+
], ngImport: i0, template: "<label class=\"ius-sw__inner\" [attr.data-label-position]=\"labelPosition\">\n <!-- Input primero + pista inmediatamente despu\u00E9s: el halo de foco usa el\n selector adyacente `.ius-sw__input:focus-visible + .ius-sw__track`, as\u00ED\n que el orden DOM se fija aqu\u00ED y la posici\u00F3n visual del label la resuelve\n `order` en el SCSS (labelPosition left/right). -->\n <input\n [id]=\"inputId\"\n class=\"ius-sw__input\"\n type=\"checkbox\"\n role=\"switch\"\n [name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-label]=\"ariaLabel ?? null\"\n (change)=\"onToggle()\"\n (blur)=\"onBlur()\"\n />\n\n <span class=\"ius-sw__track\" aria-hidden=\"true\">\n <span class=\"ius-sw__knob\"></span>\n </span>\n\n @if (label != null) {\n <span class=\"ius-sw__label\">\n <span>{{ label }}</span>\n @if (showIconHelp) {\n <ius-popover\n [title]=\"iconHelpTitle\"\n [content]=\"iconHelpContent\"\n [disabled]=\"!iconHelpTitle && !iconHelpContent\"\n >\n <span\n class=\"ius-sw__help\"\n tabindex=\"0\"\n aria-label=\"Ayuda\"\n (click)=\"$event.preventDefault()\"\n >\n <span translate=\"no\" class=\"ius-icon\">help</span>\n </span>\n </ius-popover>\n }\n </span>\n }\n</label>\n", styles: ["@charset \"UTF-8\";:host{--_sw-w: 44px;--_sw-h: 24px;--_sw-knob: 18px;--_sw-fs: var(--ius-fs-base);display:inline-block;vertical-align:middle}:host([data-size=small]){--_sw-w: 36px;--_sw-h: 20px;--_sw-knob: 14px;--_sw-fs: var(--ius-fs-base)}:host([data-size=large]){--_sw-w: 52px;--_sw-h: 28px;--_sw-knob: 22px;--_sw-fs: var(--ius-fs-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_sw-w: 36px;--_sw-h: 20px;--_sw-knob: 14px;--_sw-fs: var(--ius-fs-base)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_sw-w: 52px;--_sw-h: 28px;--_sw-knob: 22px;--_sw-fs: var(--ius-fs-lg)}}.ius-sw__inner{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--_sw-fs);color:var(--ius-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ius-sw__inner[data-label-position=left] .ius-sw__label{order:-1}:host([data-disabled=true]) .ius-sw__inner{cursor:not-allowed;color:var(--ius-text-disabled)}.ius-sw__input{position:absolute;opacity:0;width:0;height:0;margin:0}.ius-sw__track{position:relative;flex:0 0 auto;width:var(--_sw-w);height:var(--_sw-h);border-radius:var(--ius-radius-pill);background:var(--ius-neutral-4);transition:background-color var(--ius-duration-base) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-sw__knob{position:absolute;top:50%;left:calc((var(--_sw-h) - var(--_sw-knob)) / 2);transform:translateY(-50%);width:var(--_sw-knob);height:var(--_sw-knob);border-radius:var(--ius-radius-pill);background:var(--ius-neutral-white);box-shadow:var(--ius-elevation-100);transition:left var(--ius-duration-base) var(--ius-ease-standard)}:host(:hover) .ius-sw__track,:host([data-force=hover]) .ius-sw__track{background:var(--ius-neutral-5)}:host(:active) .ius-sw__track,:host([data-force=pressed]) .ius-sw__track{background:var(--ius-neutral-6)}:host([data-checked=true]) .ius-sw__track{background:var(--ius-primary-900)}:host([data-checked=true]) .ius-sw__knob{left:calc(var(--_sw-w) - var(--_sw-knob) - (var(--_sw-h) - var(--_sw-knob)) / 2)}:host([data-checked=true]:hover) .ius-sw__track,:host([data-checked=true][data-force=hover]) .ius-sw__track{background:var(--ius-primary-800)}:host([data-checked=true]:active) .ius-sw__track,:host([data-checked=true][data-force=pressed]) .ius-sw__track{background:var(--ius-info-700)}:host([data-force=focused]) .ius-sw__track,.ius-sw__input:focus-visible+.ius-sw__track{box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]) .ius-sw__track{background:var(--ius-neutral-3)}:host([data-disabled=true][data-checked=true]) .ius-sw__track{background:var(--ius-info-200)}:host([data-disabled=true]) .ius-sw__knob{box-shadow:none;background:var(--ius-neutral-1)}.ius-sw__label{display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-sw__help{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-sw__help .ius-icon{font-size:calc(var(--_sw-fs) + 4px);line-height:1}:host([data-disabled=true]) .ius-sw__help{color:var(--ius-text-disabled)}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16181
16195
|
}
|
|
16182
16196
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SwitchComponent, decorators: [{
|
|
16183
16197
|
type: Component,
|
|
@@ -16192,7 +16206,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
16192
16206
|
'[attr.data-size]': "size !== 'medium' ? size : null",
|
|
16193
16207
|
'[attr.data-checked]': "checked ? 'true' : null",
|
|
16194
16208
|
'[attr.data-disabled]': "disabled ? 'true' : null",
|
|
16195
|
-
}, template: "<label class=\"ius-sw__inner\" [attr.data-label-position]=\"labelPosition\">\
|
|
16209
|
+
}, template: "<label class=\"ius-sw__inner\" [attr.data-label-position]=\"labelPosition\">\n <!-- Input primero + pista inmediatamente despu\u00E9s: el halo de foco usa el\n selector adyacente `.ius-sw__input:focus-visible + .ius-sw__track`, as\u00ED\n que el orden DOM se fija aqu\u00ED y la posici\u00F3n visual del label la resuelve\n `order` en el SCSS (labelPosition left/right). -->\n <input\n [id]=\"inputId\"\n class=\"ius-sw__input\"\n type=\"checkbox\"\n role=\"switch\"\n [name]=\"name\"\n [attr.value]=\"value\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"ariaChecked\"\n [attr.aria-label]=\"ariaLabel ?? null\"\n (change)=\"onToggle()\"\n (blur)=\"onBlur()\"\n />\n\n <span class=\"ius-sw__track\" aria-hidden=\"true\">\n <span class=\"ius-sw__knob\"></span>\n </span>\n\n @if (label != null) {\n <span class=\"ius-sw__label\">\n <span>{{ label }}</span>\n @if (showIconHelp) {\n <ius-popover\n [title]=\"iconHelpTitle\"\n [content]=\"iconHelpContent\"\n [disabled]=\"!iconHelpTitle && !iconHelpContent\"\n >\n <span\n class=\"ius-sw__help\"\n tabindex=\"0\"\n aria-label=\"Ayuda\"\n (click)=\"$event.preventDefault()\"\n >\n <span translate=\"no\" class=\"ius-icon\">help</span>\n </span>\n </ius-popover>\n }\n </span>\n }\n</label>\n", styles: ["@charset \"UTF-8\";:host{--_sw-w: 44px;--_sw-h: 24px;--_sw-knob: 18px;--_sw-fs: var(--ius-fs-base);display:inline-block;vertical-align:middle}:host([data-size=small]){--_sw-w: 36px;--_sw-h: 20px;--_sw-knob: 14px;--_sw-fs: var(--ius-fs-base)}:host([data-size=large]){--_sw-w: 52px;--_sw-h: 28px;--_sw-knob: 22px;--_sw-fs: var(--ius-fs-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_sw-w: 36px;--_sw-h: 20px;--_sw-knob: 14px;--_sw-fs: var(--ius-fs-base)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_sw-w: 52px;--_sw-h: 28px;--_sw-knob: 22px;--_sw-fs: var(--ius-fs-lg)}}.ius-sw__inner{display:inline-flex;align-items:center;gap:var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--_sw-fs);color:var(--ius-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ius-sw__inner[data-label-position=left] .ius-sw__label{order:-1}:host([data-disabled=true]) .ius-sw__inner{cursor:not-allowed;color:var(--ius-text-disabled)}.ius-sw__input{position:absolute;opacity:0;width:0;height:0;margin:0}.ius-sw__track{position:relative;flex:0 0 auto;width:var(--_sw-w);height:var(--_sw-h);border-radius:var(--ius-radius-pill);background:var(--ius-neutral-4);transition:background-color var(--ius-duration-base) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-sw__knob{position:absolute;top:50%;left:calc((var(--_sw-h) - var(--_sw-knob)) / 2);transform:translateY(-50%);width:var(--_sw-knob);height:var(--_sw-knob);border-radius:var(--ius-radius-pill);background:var(--ius-neutral-white);box-shadow:var(--ius-elevation-100);transition:left var(--ius-duration-base) var(--ius-ease-standard)}:host(:hover) .ius-sw__track,:host([data-force=hover]) .ius-sw__track{background:var(--ius-neutral-5)}:host(:active) .ius-sw__track,:host([data-force=pressed]) .ius-sw__track{background:var(--ius-neutral-6)}:host([data-checked=true]) .ius-sw__track{background:var(--ius-primary-900)}:host([data-checked=true]) .ius-sw__knob{left:calc(var(--_sw-w) - var(--_sw-knob) - (var(--_sw-h) - var(--_sw-knob)) / 2)}:host([data-checked=true]:hover) .ius-sw__track,:host([data-checked=true][data-force=hover]) .ius-sw__track{background:var(--ius-primary-800)}:host([data-checked=true]:active) .ius-sw__track,:host([data-checked=true][data-force=pressed]) .ius-sw__track{background:var(--ius-info-700)}:host([data-force=focused]) .ius-sw__track,.ius-sw__input:focus-visible+.ius-sw__track{box-shadow:var(--ius-focus-ring)}:host([data-disabled=true]) .ius-sw__track{background:var(--ius-neutral-3)}:host([data-disabled=true][data-checked=true]) .ius-sw__track{background:var(--ius-info-200)}:host([data-disabled=true]) .ius-sw__knob{box-shadow:none;background:var(--ius-neutral-1)}.ius-sw__label{display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-sw__help{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-sw__help .ius-icon{font-size:calc(var(--_sw-fs) + 4px);line-height:1}:host([data-disabled=true]) .ius-sw__help{color:var(--ius-text-disabled)}\n"] }]
|
|
16196
16210
|
}], propDecorators: { label: [{
|
|
16197
16211
|
type: Input
|
|
16198
16212
|
}], labelPosition: [{
|
|
@@ -16369,6 +16383,14 @@ class EntityNavigatorComponent {
|
|
|
16369
16383
|
this.groupLimit = input(undefined, /* @ts-ignore */
|
|
16370
16384
|
...(ngDevMode ? [{ debugName: "groupLimit" }] : /* istanbul ignore next */ []));
|
|
16371
16385
|
this.collapsibleGroups = input(false, { ...(ngDevMode ? { debugName: "collapsibleGroups" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
16386
|
+
/**
|
|
16387
|
+
* Grupos plegados **controlado** (keys). Presente → el consumidor gobierna el
|
|
16388
|
+
* plegado; el navegador refleja este set y emite `groupCollapse(next)` en cada
|
|
16389
|
+
* cambio — incluido el auto-despliegue del salto por letra sobre un grupo
|
|
16390
|
+
* plegado. Sin él, el plegado es estado interno. Requiere `collapsibleGroups`.
|
|
16391
|
+
*/
|
|
16392
|
+
this.collapsedGroups = input(undefined, /* @ts-ignore */
|
|
16393
|
+
...(ngDevMode ? [{ debugName: "collapsedGroups" }] : /* istanbul ignore next */ []));
|
|
16372
16394
|
this.stickyHeaders = input(false, { ...(ngDevMode ? { debugName: "stickyHeaders" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
16373
16395
|
this.pinnableGroups = input(false, { ...(ngDevMode ? { debugName: "pinnableGroups" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
|
|
16374
16396
|
this.defaultPinnedGroup = input(null, /* @ts-ignore */
|
|
@@ -16416,6 +16438,8 @@ class EntityNavigatorComponent {
|
|
|
16416
16438
|
this.togglePin = new EventEmitter();
|
|
16417
16439
|
this.create = new EventEmitter();
|
|
16418
16440
|
this.pinGroup = new EventEmitter();
|
|
16441
|
+
/** Par two-way de `collapsedGroups`. */
|
|
16442
|
+
this.groupCollapse = new EventEmitter();
|
|
16419
16443
|
this.more = new EventEmitter();
|
|
16420
16444
|
/** Par two-way de `collapsed`. */
|
|
16421
16445
|
this.collapsedChange = new EventEmitter();
|
|
@@ -16487,6 +16511,12 @@ class EntityNavigatorComponent {
|
|
|
16487
16511
|
this.vRaf = 0;
|
|
16488
16512
|
this.isCollapsed = computed(() => this.collapsed() ?? this.internalCollapsed(), /* @ts-ignore */
|
|
16489
16513
|
...(ngDevMode ? [{ debugName: "isCollapsed" }] : /* istanbul ignore next */ []));
|
|
16514
|
+
/** Grupos plegados efectivos: el input controlado manda sobre el interno. */
|
|
16515
|
+
this.plegados = computed(() => {
|
|
16516
|
+
const ctrl = this.collapsedGroups();
|
|
16517
|
+
return ctrl !== undefined ? new Set(ctrl) : this.grpCollapsed();
|
|
16518
|
+
}, /* @ts-ignore */
|
|
16519
|
+
...(ngDevMode ? [{ debugName: "plegados" }] : /* istanbul ignore next */ []));
|
|
16490
16520
|
this.activeKeys = computed(() => {
|
|
16491
16521
|
const ctrl = this.selectedFilters();
|
|
16492
16522
|
return ctrl !== undefined ? new Set(ctrl) : this.internalFilterKeys();
|
|
@@ -16585,7 +16615,7 @@ class EntityNavigatorComponent {
|
|
|
16585
16615
|
const puedeAnclar = this.togglePin.observed;
|
|
16586
16616
|
const gl = this.groupLimit();
|
|
16587
16617
|
const grpExp = this.grpExpanded();
|
|
16588
|
-
const grpCol = this.
|
|
16618
|
+
const grpCol = this.plegados();
|
|
16589
16619
|
const pinned = this.pinnedKey();
|
|
16590
16620
|
const virt = this.virtualized();
|
|
16591
16621
|
const umbral = this.virtualizeThreshold();
|
|
@@ -16630,8 +16660,11 @@ class EntityNavigatorComponent {
|
|
|
16630
16660
|
// offset de cada letra dentro del flujo (la cabecera desplaza en 1 el índice)
|
|
16631
16661
|
const base = conCabecera ? 1 : 0;
|
|
16632
16662
|
descs.forEach((d, i) => {
|
|
16633
|
-
|
|
16663
|
+
// Primera aparición gana: el ancla del DOM que resuelve el salto no
|
|
16664
|
+
// virtualizado es también la primera, y ambos caminos deben coincidir.
|
|
16665
|
+
if (d.kind === 'letter' && d.letter && letras[d.letter] == null) {
|
|
16634
16666
|
letras[d.letter] = inicios[base + i];
|
|
16667
|
+
}
|
|
16635
16668
|
});
|
|
16636
16669
|
cursor += altoSeccion;
|
|
16637
16670
|
}
|
|
@@ -16740,26 +16773,34 @@ class EntityNavigatorComponent {
|
|
|
16740
16773
|
// ════════════════════════════════════════════════════════════════════════
|
|
16741
16774
|
// Índice alfabético
|
|
16742
16775
|
// ════════════════════════════════════════════════════════════════════════
|
|
16743
|
-
/**
|
|
16744
|
-
|
|
16745
|
-
|
|
16746
|
-
|
|
16747
|
-
|
|
16776
|
+
/**
|
|
16777
|
+
* Barrido único del nivel superior: las letras presentes (en orden de
|
|
16778
|
+
* aparición) y el grupo donde cae cada una. Recorre `g.items` **crudo**, así
|
|
16779
|
+
* que ve también los grupos plegados — de ahí sale el auto-despliegue del
|
|
16780
|
+
* salto. Primera aparición gana, igual que el ancla del DOM.
|
|
16781
|
+
*/
|
|
16782
|
+
this.barridoDeLetras = computed(() => {
|
|
16783
|
+
const orden = [];
|
|
16784
|
+
const grupo = new Map();
|
|
16785
|
+
const scan = (list, gk) => {
|
|
16748
16786
|
for (const n of list ?? []) {
|
|
16749
|
-
if (n.letter && !
|
|
16750
|
-
|
|
16751
|
-
|
|
16787
|
+
if (n.letter && !grupo.has(n.letter)) {
|
|
16788
|
+
grupo.set(n.letter, gk);
|
|
16789
|
+
orden.push(n.letter);
|
|
16752
16790
|
}
|
|
16753
16791
|
}
|
|
16754
16792
|
};
|
|
16755
16793
|
const gs = this.groups();
|
|
16756
16794
|
if (gs)
|
|
16757
16795
|
for (const g of gs)
|
|
16758
|
-
scan(g.items);
|
|
16796
|
+
scan(g.items, g.key || g.label || '');
|
|
16759
16797
|
else
|
|
16760
|
-
scan(this.items());
|
|
16761
|
-
return
|
|
16798
|
+
scan(this.items(), '');
|
|
16799
|
+
return { orden, grupo };
|
|
16762
16800
|
}, /* @ts-ignore */
|
|
16801
|
+
...(ngDevMode ? [{ debugName: "barridoDeLetras" }] : /* istanbul ignore next */ []));
|
|
16802
|
+
/** Letras realmente presentes en el nivel superior, en orden de aparición. */
|
|
16803
|
+
this.letrasPresentes = computed(() => this.barridoDeLetras().orden, /* @ts-ignore */
|
|
16763
16804
|
...(ngDevMode ? [{ debugName: "letrasPresentes" }] : /* istanbul ignore next */ []));
|
|
16764
16805
|
this.setPresentes = computed(() => new Set(this.letrasPresentes()), /* @ts-ignore */
|
|
16765
16806
|
...(ngDevMode ? [{ debugName: "setPresentes" }] : /* istanbul ignore next */ []));
|
|
@@ -17011,14 +17052,22 @@ class EntityNavigatorComponent {
|
|
|
17011
17052
|
});
|
|
17012
17053
|
}
|
|
17013
17054
|
alternarPlegadoGrupo(key) {
|
|
17014
|
-
this.
|
|
17015
|
-
|
|
17016
|
-
|
|
17017
|
-
|
|
17018
|
-
|
|
17019
|
-
|
|
17020
|
-
|
|
17021
|
-
|
|
17055
|
+
const next = new Set(this.plegados());
|
|
17056
|
+
if (next.has(key))
|
|
17057
|
+
next.delete(key);
|
|
17058
|
+
else
|
|
17059
|
+
next.add(key);
|
|
17060
|
+
this.aplicarPlegado(next);
|
|
17061
|
+
}
|
|
17062
|
+
/**
|
|
17063
|
+
* Camino único del plegado: si `collapsedGroups` es controlado solo emite
|
|
17064
|
+
* (el consumidor manda el set); si no, muta el estado interno. Lo usan tanto
|
|
17065
|
+
* el chevron del encabezado como el auto-despliegue del salto por letra.
|
|
17066
|
+
*/
|
|
17067
|
+
aplicarPlegado(next) {
|
|
17068
|
+
if (this.collapsedGroups() === undefined)
|
|
17069
|
+
this.grpCollapsed.set(next);
|
|
17070
|
+
this.groupCollapse.emit([...next]);
|
|
17022
17071
|
}
|
|
17023
17072
|
alternarColapso() {
|
|
17024
17073
|
const next = !this.isCollapsed();
|
|
@@ -17165,6 +17214,14 @@ class EntityNavigatorComponent {
|
|
|
17165
17214
|
if (!container)
|
|
17166
17215
|
return;
|
|
17167
17216
|
const suave = !this.prefiereMenosMovimiento();
|
|
17217
|
+
// El destino puede caer dentro de un grupo plegado: sin sus filas no hay
|
|
17218
|
+
// ancla ni offset y el rail quedaría clicable pero muerto. Se despliega y
|
|
17219
|
+
// el desplazamiento lo resuelve el efecto post-render, ya con layout.
|
|
17220
|
+
if (this.desplegarGrupoDeLetra(letter)) {
|
|
17221
|
+
this.pendingLetter = letter;
|
|
17222
|
+
this.activeLetter.set(letter);
|
|
17223
|
+
return;
|
|
17224
|
+
}
|
|
17168
17225
|
// Con ventana de render el ancla puede no estar pintada: el destino sale del
|
|
17169
17226
|
// índice en la lista aplanada, no del offsetTop.
|
|
17170
17227
|
if (this.modelo().virtOn) {
|
|
@@ -17196,6 +17253,26 @@ class EntityNavigatorComponent {
|
|
|
17196
17253
|
container.scrollTo({ top: this.topDeAncla(container, el), behavior: suave ? 'smooth' : 'auto' });
|
|
17197
17254
|
this.activeLetter.set(letter);
|
|
17198
17255
|
}
|
|
17256
|
+
/**
|
|
17257
|
+
* Despliega el grupo que contiene `letter` si está plegado. Va por el mismo
|
|
17258
|
+
* camino que el chevron (`aplicarPlegado`): con `collapsedGroups` controlado
|
|
17259
|
+
* emite `groupCollapse` para sincronizar al consumidor, si no muta el estado
|
|
17260
|
+
* interno. Devuelve `true` si hubo que desplegar (el salto queda pendiente).
|
|
17261
|
+
*/
|
|
17262
|
+
desplegarGrupoDeLetra(letter) {
|
|
17263
|
+
if (!this.collapsibleGroups())
|
|
17264
|
+
return false;
|
|
17265
|
+
const gk = this.barridoDeLetras().grupo.get(letter);
|
|
17266
|
+
if (gk === undefined)
|
|
17267
|
+
return false;
|
|
17268
|
+
const plegados = this.plegados();
|
|
17269
|
+
if (!plegados.has(gk))
|
|
17270
|
+
return false;
|
|
17271
|
+
const next = new Set(plegados);
|
|
17272
|
+
next.delete(gk);
|
|
17273
|
+
this.aplicarPlegado(next);
|
|
17274
|
+
return true;
|
|
17275
|
+
}
|
|
17199
17276
|
anclaDeLetra(letter) {
|
|
17200
17277
|
for (const ref of this.letterAnchors()) {
|
|
17201
17278
|
if (ref.nativeElement.getAttribute('data-letter') === letter)
|
|
@@ -17372,7 +17449,7 @@ class EntityNavigatorComponent {
|
|
|
17372
17449
|
return fijada ? 'Dejar de fijar sección arriba' : 'Fijar sección arriba';
|
|
17373
17450
|
}
|
|
17374
17451
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: EntityNavigatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17375
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: EntityNavigatorComponent, isStandalone: true, selector: "ius-entity-navigator", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleIcon: { classPropertyName: "titleIcon", publicName: "titleIcon", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchThreshold: { classPropertyName: "searchThreshold", publicName: "searchThreshold", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, searchValue: { classPropertyName: "searchValue", publicName: "searchValue", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, selectedFilters: { classPropertyName: "selectedFilters", publicName: "selectedFilters", isSignal: true, isRequired: false, transformFunction: null }, availableFilters: { classPropertyName: "availableFilters", publicName: "availableFilters", isSignal: true, isRequired: false, transformFunction: null }, activeFacets: { classPropertyName: "activeFacets", publicName: "activeFacets", isSignal: true, isRequired: false, transformFunction: null }, stateSegments: { classPropertyName: "stateSegments", publicName: "stateSegments", isSignal: true, isRequired: false, transformFunction: null }, stateValue: { classPropertyName: "stateValue", publicName: "stateValue", isSignal: true, isRequired: false, transformFunction: null }, sortLabel: { classPropertyName: "sortLabel", publicName: "sortLabel", isSignal: true, isRequired: false, transformFunction: null }, sortOptions: { classPropertyName: "sortOptions", publicName: "sortOptions", isSignal: true, isRequired: false, transformFunction: null }, sortValue: { classPropertyName: "sortValue", publicName: "sortValue", isSignal: true, isRequired: false, transformFunction: null }, metaLabel: { classPropertyName: "metaLabel", publicName: "metaLabel", isSignal: true, isRequired: false, transformFunction: null }, groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, accent: { classPropertyName: "accent", publicName: "accent", isSignal: true, isRequired: false, transformFunction: null }, defaultExpanded: { classPropertyName: "defaultExpanded", publicName: "defaultExpanded", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, autoExpandOnFilter: { classPropertyName: "autoExpandOnFilter", publicName: "autoExpandOnFilter", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "defaultSelected", isSignal: true, isRequired: false, transformFunction: null }, emptyStateTemplate: { classPropertyName: "emptyStateTemplate", publicName: "emptyStateTemplate", isSignal: true, isRequired: false, transformFunction: null }, noResultsLabel: { classPropertyName: "noResultsLabel", publicName: "noResultsLabel", isSignal: true, isRequired: false, transformFunction: null }, createLabel: { classPropertyName: "createLabel", publicName: "createLabel", isSignal: true, isRequired: false, transformFunction: null }, createIcon: { classPropertyName: "createIcon", publicName: "createIcon", isSignal: true, isRequired: false, transformFunction: null }, groupLimit: { classPropertyName: "groupLimit", publicName: "groupLimit", isSignal: true, isRequired: false, transformFunction: null }, collapsibleGroups: { classPropertyName: "collapsibleGroups", publicName: "collapsibleGroups", isSignal: true, isRequired: false, transformFunction: null }, stickyHeaders: { classPropertyName: "stickyHeaders", publicName: "stickyHeaders", isSignal: true, isRequired: false, transformFunction: null }, pinnableGroups: { classPropertyName: "pinnableGroups", publicName: "pinnableGroups", isSignal: true, isRequired: false, transformFunction: null }, defaultPinnedGroup: { classPropertyName: "defaultPinnedGroup", publicName: "defaultPinnedGroup", isSignal: true, isRequired: false, transformFunction: null }, moreLabel: { classPropertyName: "moreLabel", publicName: "moreLabel", isSignal: true, isRequired: false, transformFunction: null }, alphaIndex: { classPropertyName: "alphaIndex", publicName: "alphaIndex", isSignal: true, isRequired: false, transformFunction: null }, alphaIndexLetters: { classPropertyName: "alphaIndexLetters", publicName: "alphaIndexLetters", isSignal: true, isRequired: false, transformFunction: null }, loadMoreLabel: { classPropertyName: "loadMoreLabel", publicName: "loadMoreLabel", isSignal: true, isRequired: false, transformFunction: null }, virtualized: { classPropertyName: "virtualized", publicName: "virtualized", isSignal: true, isRequired: false, transformFunction: null }, virtualizeThreshold: { classPropertyName: "virtualizeThreshold", publicName: "virtualizeThreshold", isSignal: true, isRequired: false, transformFunction: null }, itemHeights: { classPropertyName: "itemHeights", publicName: "itemHeights", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, defaultCollapsed: { classPropertyName: "defaultCollapsed", publicName: "defaultCollapsed", isSignal: true, isRequired: false, transformFunction: null }, fluidWidth: { classPropertyName: "fluidWidth", publicName: "fluidWidth", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { search: "search", searchChange: "searchChange", searchClear: "searchClear", filter: "filter", filterRemove: "filterRemove", addFilter: "addFilter", stateChange: "stateChange", facetAdd: "facetAdd", facetRemove: "facetRemove", sort: "sort", select: "select", selectedChange: "selectedChange", expandedChange: "expandedChange", togglePin: "togglePin", create: "create", pinGroup: "pinGroup", more: "more", collapsedChange: "collapsedChange", jumpToLetter: "jumpToLetter", loadMore: "loadMore", expandLoad: "expandLoad" }, host: { properties: { "attr.data-collapsed": "isCollapsed() ? 'true' : null", "attr.data-fluid": "fluidWidth() ? 'true' : null", "attr.aria-label": "ariaLabel() || title() || null" }, classAttribute: "ius-entnav" }, viewQueries: [{ propertyName: "bodyRef", first: true, predicate: ["body"], descendants: true, isSignal: true }, { propertyName: "alphaRef", first: true, predicate: ["alpha"], descendants: true, isSignal: true }, { propertyName: "searchRef", first: true, predicate: ["searchBox"], descendants: true, isSignal: true }, { propertyName: "sentinels", predicate: ["lmSentinel"], descendants: true, isSignal: true }, { propertyName: "letterAnchors", predicate: ["letterAnchor"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Riel colapsado: solo expandir + CTA. Rama aparte, como el golden. -->\r\n@if (collapsible() && isCollapsed()) {\r\n <div class=\"ius-entnav__rail\">\r\n <ius-icon-button\r\n icon=\"left_panel_open\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Expandir\"\r\n (clicked)=\"alternarColapso()\"\r\n />\r\n @if (hayPie()) {\r\n <ius-icon-button\r\n [icon]=\"createIcon()\"\r\n variant=\"secondary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n [ariaLabel]=\"createLabel()\"\r\n (clicked)=\"create.emit($event)\"\r\n />\r\n }\r\n </div>\r\n} @else {\r\n <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Cabecera \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"ius-entnav__head\">\r\n @if (hayCabecera()) {\r\n <div class=\"ius-entnav__titlerow\">\r\n @if (title()) {\r\n <div class=\"ius-entnav__title\">\r\n @if (titleIcon()) {\r\n <span translate=\"no\" class=\"ius-icon\">{{ titleIcon() }}</span>\r\n }\r\n {{ title() }}\r\n </div>\r\n } @else {\r\n <span></span>\r\n }\r\n <span class=\"ius-entnav__actions\">\r\n @if (showSearchToggle()) {\r\n <!-- El `state: pressed` del golden no se porta: IconButton omite `state`\r\n de su API p\u00FAblica a prop\u00F3sito (decisi\u00F3n suya, documentada). -->\r\n <ius-icon-button\r\n icon=\"search\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Buscar (\u2318K)\"\r\n (clicked)=\"alternarBusqueda()\"\r\n />\r\n }\r\n @if (collapsible()) {\r\n <ius-icon-button\r\n icon=\"left_panel_close\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Colapsar\"\r\n (clicked)=\"alternarColapso()\"\r\n />\r\n }\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (searchVisible()) {\r\n <div #searchBox>\r\n <ius-search-bar\r\n [placeholder]=\"searchPlaceholder()\"\r\n size=\"medium\"\r\n [value]=\"searchValue()\"\r\n (valueChange)=\"onSearchValueChange($event)\"\r\n (search)=\"search.emit($event)\"\r\n (cleared)=\"searchClear.emit()\"\r\n />\r\n </div>\r\n }\r\n\r\n <!-- Eje de estado: excluyente, ortogonal a facetas y b\u00FAsqueda; no poda datos. -->\r\n @if (stateSegments()?.length) {\r\n <div class=\"ius-entnav__state\">\r\n <ius-segmented-control\r\n [options]=\"segmentos()\"\r\n [value]=\"stateVal()\"\r\n size=\"small\"\r\n variant=\"subtle\"\r\n fullWidth\r\n (valueChange)=\"elegirEstado($event)\"\r\n />\r\n </div>\r\n }\r\n\r\n @if (hayBarraFiltros()) {\r\n <div class=\"ius-entnav__filters\">\r\n @for (f of filters(); track f.key) {\r\n <ius-tag\r\n role=\"filter\"\r\n size=\"small\"\r\n [tone]=\"tonoFiltro(f)\"\r\n [icon]=\"f.icon\"\r\n [dot]=\"f.dot\"\r\n [count]=\"f.count\"\r\n [label]=\"f.label\"\r\n [selected]=\"activeKeys().has(f.key)\"\r\n [closable]=\"!!f.removable\"\r\n (clicked)=\"alternarFiltro(f.key)\"\r\n (closed)=\"quitarFiltro(f.key)\"\r\n />\r\n }\r\n\r\n <!-- Facetas: Tag `soft` con el tono categ\u00F3rico de su categor\u00EDa, NUNCA solid. -->\r\n @for (f of facets(); track f.key) {\r\n <ius-tag\r\n role=\"label\"\r\n variant=\"soft\"\r\n size=\"small\"\r\n [tone]=\"tonoFaceta(f)\"\r\n [icon]=\"f.icon\"\r\n closable\r\n [label]=\"textoFaceta(f)\"\r\n (closed)=\"quitarFaceta(f.key)\"\r\n />\r\n }\r\n\r\n @if (availableFilters().length) {\r\n <ius-popover\r\n trigger=\"manual\"\r\n [open]=\"addOpen()\"\r\n [dismissable]=\"true\"\r\n placement=\"bottom-start\"\r\n [offset]=\"6\"\r\n [showArrow]=\"false\"\r\n padding=\"none\"\r\n (openChange)=\"onAddOpenChange($event)\"\r\n >\r\n <ius-tag\r\n role=\"filter\"\r\n variant=\"outline\"\r\n tone=\"neutral\"\r\n size=\"small\"\r\n icon=\"add\"\r\n label=\"Filtro\"\r\n [selected]=\"addOpen()\"\r\n (clicked)=\"alternarMenuFiltro()\"\r\n />\r\n\r\n <div iusPopoverContent class=\"ius-entnav__addpanel\">\r\n @if (addStep(); as step) {\r\n <div class=\"ius-entnav__addhead\">\r\n <ius-menu-item\r\n icon=\"chevron_left\"\r\n [label]=\"step.label\"\r\n size=\"small\"\r\n (clicked)=\"volverDelPaso()\"\r\n />\r\n @if (step.picker === 'search') {\r\n <ius-search-bar\r\n size=\"small\"\r\n placeholder=\"Buscar\u2026\"\r\n [value]=\"addQuery()\"\r\n (valueChange)=\"addQuery.set($event)\"\r\n (cleared)=\"addQuery.set('')\"\r\n />\r\n }\r\n </div>\r\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\r\n @if (opcionesDelPaso().length === 0) {\r\n <div class=\"ius-entnav__addempty\">Sin resultados</div>\r\n } @else {\r\n @for (o of opcionesDelPaso(); track o.key) {\r\n <!-- El check se proyecta SIEMPRE y se oculta por CSS: un\r\n `<ng-content>` detr\u00E1s de un `@if` que depende de un\r\n contentChild se pierde en el primer render. -->\r\n <ius-menu-item\r\n [label]=\"o.label\"\r\n size=\"small\"\r\n [selected]=\"facetaActiva(step, o)\"\r\n (clicked)=\"elegirValor(step, o)\"\r\n >\r\n <span\r\n iusMenuItemTrailing\r\n translate=\"no\"\r\n class=\"ius-icon\"\r\n [class.ius-entnav__check--off]=\"!facetaActiva(step, o)\"\r\n >check</span\r\n >\r\n </ius-menu-item>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\r\n @for (a of categoriasDisponibles(); track a.key) {\r\n <ius-menu-item\r\n [icon]=\"a.icon\"\r\n [label]=\"a.label\"\r\n size=\"small\"\r\n (clicked)=\"elegirCategoria(a)\"\r\n >\r\n <span\r\n iusMenuItemTrailing\r\n translate=\"no\"\r\n class=\"ius-icon\"\r\n [class.ius-entnav__check--off]=\"!a.picker\"\r\n >chevron_right</span\r\n >\r\n </ius-menu-item>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </ius-popover>\r\n }\r\n </div>\r\n }\r\n\r\n @if (hayMeta()) {\r\n <div class=\"ius-entnav__meta\">\r\n <span>{{ metaLabel() || '' }}</span>\r\n @if (sortOptions()?.length) {\r\n <ius-dropdown\r\n [selectable]=\"true\"\r\n [value]=\"sortValue()\"\r\n label=\"Ordenar por\"\r\n tone=\"neutral\"\r\n [items]=\"sortOptions() ?? []\"\r\n placement=\"bottom-end\"\r\n (valueChange)=\"onSort($event)\"\r\n />\r\n } @else if (sortLabel()) {\r\n <button type=\"button\" class=\"ius-entnav__sort\" (click)=\"sort.emit({ value: sortValue() })\">\r\n {{ sortLabel() }}\r\n <span translate=\"no\" class=\"ius-icon\">expand_more</span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Secci\u00F3n fijada: vive FUERA del cuerpo con scroll (no entra en la ventana\r\n de render ni en el cursor aritm\u00E9tico de la virtualizaci\u00F3n). -->\r\n @if (modelo().fijada; as fijada) {\r\n <div class=\"ius-entnav__pinned\">\r\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: fijada }\" />\r\n </div>\r\n }\r\n\r\n <div class=\"ius-entnav__scrollwrap\">\r\n <div\r\n class=\"ius-entnav__body ius-scroll ius-scroll--sm\"\r\n #body\r\n [attr.data-scrolled]=\"bodyScrolled() ? 'true' : null\"\r\n >\r\n @if (vacio()) {\r\n <div class=\"ius-entnav__empty\">\r\n @if (emptyStateTemplate(); as tpl) {\r\n <ng-container [ngTemplateOutlet]=\"tpl\" />\r\n } @else {\r\n <ius-empty-state\r\n variant=\"no-results\"\r\n size=\"compact\"\r\n [title]=\"noResultsLabel()\"\r\n [description]=\"descripcionVacio()\"\r\n />\r\n }\r\n </div>\r\n } @else {\r\n @for (s of modelo().secciones; track s.gk) {\r\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: s }\" />\r\n }\r\n }\r\n </div>\r\n\r\n <!-- \u00CDndice alfab\u00E9tico: navega, no reordena. Se oculta con b\u00FAsqueda/filtros. -->\r\n @if (alphaVisible()) {\r\n <nav\r\n class=\"ius-entnav__alpha\"\r\n #alpha\r\n role=\"navigation\"\r\n aria-label=\"\u00CDndice alfab\u00E9tico\"\r\n (keydown)=\"onRailKey($event)\"\r\n >\r\n @for (L of displayLetters(); track L) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entnav__alpha-let\"\r\n [disabled]=\"!letraHabilitada(L)\"\r\n [attr.data-active]=\"activeLetter() === L ? 'true' : null\"\r\n [attr.aria-current]=\"activeLetter() === L ? 'true' : null\"\r\n [attr.aria-label]=\"'Ir a ' + L\"\r\n [attr.tabindex]=\"letraHabilitada(L) ? (L === alphaTabStop() ? 0 : -1) : -1\"\r\n (click)=\"saltarALetra(L)\"\r\n >\r\n {{ L }}\r\n </button>\r\n }\r\n </nav>\r\n }\r\n </div>\r\n\r\n @if (hayPie()) {\r\n <div class=\"ius-entnav__footer\">\r\n <ius-button\r\n variant=\"primary\"\r\n [prefixIcon]=\"createIcon()\"\r\n [label]=\"createLabel()\"\r\n fullWidth\r\n class=\"ius-entnav__cta\"\r\n (clicked)=\"create.emit($event)\"\r\n />\r\n </div>\r\n }\r\n}\r\n\r\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Plantilla de secci\u00F3n (cuerpo y secci\u00F3n fijada comparten) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n<ng-template #seccionTpl let-s>\r\n <section class=\"ius-entnav__section\" [attr.data-pinned]=\"s.isPinned ? 'true' : null\">\r\n @if (s.hasHeader) {\r\n <ius-section-header\r\n [icon]=\"s.group.icon\"\r\n [count]=\"s.group.count\"\r\n [accent]=\"accent()\"\r\n [sticky]=\"s.sticky\"\r\n [collapsible]=\"collapsibleGroups()\"\r\n [collapsed]=\"s.isCollapsed\"\r\n (toggle)=\"alternarPlegadoGrupo(s.gk)\"\r\n >\r\n {{ s.group.label }}\r\n @if (pinnableGroups()) {\r\n <ius-icon-button\r\n iusSectionHeaderAction\r\n class=\"ius-entnav__pinbtn\"\r\n [class.ius-entnav__pinbtn--on]=\"s.isPinned\"\r\n icon=\"pinboard\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n [ariaLabel]=\"etiquetaPinGrupo(s.isPinned)\"\r\n (clicked)=\"alternarPinGrupo(s.gk)\"\r\n />\r\n }\r\n </ius-section-header>\r\n }\r\n\r\n @if (s.padTop) {\r\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padTop\" aria-hidden=\"true\"></div>\r\n }\r\n\r\n @for (d of s.visible; track d.key) {\r\n @switch (d.kind) {\r\n @case ('letter') {\r\n <div class=\"ius-entnav__lanchor\" #letterAnchor [attr.data-letter]=\"d.letter\">\r\n <ius-section-header variant=\"letter\" [accent]=\"accent()\">{{ d.letter }}</ius-section-header>\r\n </div>\r\n }\r\n @case ('addChild') {\r\n <div class=\"ius-entnav__addchild\" [style.padding-left.px]=\"padAddChild(d.level)\">\r\n <ius-text-button\r\n size=\"small\"\r\n prefixIcon=\"add\"\r\n [label]=\"d.node.addChildLabel\"\r\n (clicked)=\"onAddChild(d.node, $event)\"\r\n />\r\n </div>\r\n }\r\n @default {\r\n <ius-entity-row\r\n [kind]=\"d.node.kind ?? 'expediente'\"\r\n [icon]=\"d.node.icon\"\r\n [label]=\"d.node.label\"\r\n [sublabel]=\"d.node.sublabel\"\r\n [level]=\"d.level\"\r\n [accent]=\"accent()\"\r\n [expandable]=\"d.expandable\"\r\n [expanded]=\"d.expanded\"\r\n [loading]=\"d.loading\"\r\n [selected]=\"d.selected\"\r\n [count]=\"d.node.count\"\r\n [unread]=\"d.node.unread\"\r\n [hasUnread]=\"!!d.node.hasUnread\"\r\n [noveltyTone]=\"d.node.noveltyTone ?? 'info'\"\r\n [pinned]=\"!!d.node.pinned\"\r\n [pinnable]=\"d.canPin\"\r\n [actions]=\"d.node.actions ?? []\"\r\n (toggle)=\"alternarNodo(d.node)\"\r\n (togglePin)=\"onTogglePinNodo(d.node, $event)\"\r\n (clicked)=\"elegirNodo(d)\"\r\n />\r\n }\r\n }\r\n }\r\n\r\n @if (s.padBot) {\r\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padBot\" aria-hidden=\"true\"></div>\r\n }\r\n\r\n @if (s.showMore) {\r\n <div class=\"ius-entnav__morerow\">\r\n <ius-show-more\r\n [expanded]=\"s.moreExpanded\"\r\n [remaining]=\"s.moreRemaining\"\r\n align=\"end\"\r\n (toggle)=\"alternarShowMore(s.gk)\"\r\n />\r\n </div>\r\n }\r\n\r\n <!-- Carga por lotes: centinela (IntersectionObserver) + \u00ABCargar m\u00E1s\u00BB. -->\r\n @if (s.showLoadMore) {\r\n <div class=\"ius-entnav__loadmore\">\r\n @if (s.loadingMore) {\r\n <ius-loading variant=\"inline\" size=\"small\" [label]=\"textoCargando()\" />\r\n } @else {\r\n <div\r\n class=\"ius-entnav__sentinel\"\r\n #lmSentinel\r\n [attr.data-lm-group]=\"s.gk\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n <ius-text-button size=\"small\" [label]=\"textoCargarMas()\" (clicked)=\"dispararLote(s.gk)\" />\r\n }\r\n </div>\r\n }\r\n </section>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:340px;min-width:0;height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:52px}:host([data-fluid=true]:not([data-collapsed=true])){width:100%}.ius-entnav__rail{display:flex;flex-direction:column;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs)}.ius-entnav__head{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md) var(--ius-space-md) var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__titlerow{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs)}.ius-entnav__actions{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);margin-right:-4px}.ius-entnav__title{font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ius-text-tertiary);display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entnav__title .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__filters{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs)}.ius-entnav__state{display:flex}.ius-entnav__state+.ius-entnav__filters{padding-top:var(--ius-space-xs);border-top:1px solid var(--ius-stroke)}.ius-entnav__addpanel{display:flex;flex-direction:column;min-width:224px;max-width:300px;max-height:min(52vh,360px)}.ius-entnav__addhead{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__addlist{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);--_sb-track-margin: var(--ius-space-sm)}.ius-entnav__addempty{padding:var(--ius-space-lg) var(--ius-space-sm);text-align:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__check--off{visibility:hidden}.ius-entnav__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__meta>span:first-child{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entnav__meta>ius-dropdown{flex:0 0 auto}.ius-entnav__sort{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-family:var(--ius-font-body);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);line-height:1.2;color:var(--ius-primary-700)}.ius-entnav__sort .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__sort:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);border-radius:var(--ius-radius-sm)}.ius-entnav__scrollwrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.ius-entnav__body{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 var(--ius-space-xs) var(--ius-space-xs);position:relative}.ius-entnav__body[data-scrolled=true]{box-shadow:inset 0 7px 6px -6px #26262629}.ius-entnav__body[data-scrolled=true]:before{content:\"\";position:sticky;top:0;z-index:3;display:block;height:0;margin:0 -8px;border-top:1px solid var(--ius-stroke)}.ius-entnav__section{display:contents}.ius-entnav__body ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__morerow{padding:var(--ius-space-xxs) 0}ius-show-more{padding-right:var(--ius-space-xs)}.ius-entnav__loadmore{display:flex;justify-content:center;padding:var(--ius-space-xs) 0 var(--ius-space-sm)}.ius-entnav__sentinel{height:1px;margin:0;padding:0;pointer-events:none}.ius-entnav__pinned{flex:0 0 auto;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs);border-bottom:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-entnav__pinned ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__pinbtn{opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}ius-section-header:hover .ius-entnav__pinbtn,.ius-entnav__pinbtn:focus-within,.ius-entnav__pinbtn--on{opacity:1}.ius-entnav__addchild{display:flex;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs) 0}.ius-entnav__empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--ius-space-xl) var(--ius-space-md)}.ius-entnav__footer{flex:0 0 auto;padding:var(--ius-space-sm) var(--ius-space-md);border-top:1px solid var(--ius-stroke)}.ius-entnav__cta{width:100%}.ius-entnav__alpha{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--ius-space-none);width:var(--ius-space-lg);padding:var(--ius-space-xxs) 0;overflow:hidden;-webkit-user-select:none;user-select:none}.ius-entnav__alpha-let{appearance:none;border:0;background:transparent;cursor:pointer;flex:1 1 0;min-height:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);border-radius:var(--ius-radius-sm);transition:color var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entnav__alpha-let:hover{color:var(--ius-primary-700)}.ius-entnav__alpha-let[data-active=true]{color:var(--ius-primary-900);background:var(--ius-neutral-2);font-weight:var(--ius-fw-bold)}.ius-entnav__alpha-let:disabled{color:var(--ius-text-tertiary);opacity:.35;cursor:default}.ius-entnav__alpha-let:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ius-button", inputs: ["variant", "label", "prefixIcon", "sufixIcon", "dynamic", "loading", "status", "disabled", "pressed", "fullWidth", "type", "ariaLabel", "action", "size"], outputs: ["clicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }, { kind: "component", type: EntityRowComponent, selector: "ius-entity-row", inputs: ["kind", "icon", "label", "sublabel", "level", "accent", "expandable", "expanded", "loading", "selected", "disabled", "count", "unread", "hasUnread", "noveltyTone", "pinned", "pinnable", "actions", "actionsLabel", "ariaLabel"], outputs: ["toggle", "togglePin", "clicked"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "directive", type: IusMenuItemTrailingDirective, selector: "[iusMenuItemTrailing]" }, { kind: "component", type: LoadingComponent, selector: "ius-loading", inputs: ["variant", "label", "showLabel", "tone", "brand", "size", "active", "ariaLabel"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["icon", "label", "badge", "variant", "size", "selected", "disabled", "danger", "state", "href", "ariaLabel", "itemRole"], outputs: ["clicked"] }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: SearchBarComponent, selector: "ius-search-bar", inputs: ["value", "defaultValue", "size", "disabled", "state", "placeholder", "ariaLabel", "name", "id"], outputs: ["valueChange", "search", "cleared"] }, { kind: "component", type: SectionHeaderComponent, selector: "ius-section-header", inputs: ["icon", "count", "variant", "accent", "collapsible", "collapsed", "sticky", "ariaLabel"], outputs: ["toggle"] }, { kind: "component", type: SegmentedControlComponent, selector: "ius-segmented-control", inputs: ["options", "size", "variant", "fullWidth", "iconOnly", "ariaLabel", "name", "value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: ShowMoreComponent, selector: "ius-show-more", inputs: ["expanded", "remaining", "moreLabel", "lessLabel", "collapsible", "size", "align", "ariaControls"], outputs: ["toggle"] }, { kind: "component", type: TagComponent, selector: "ius-tag", inputs: ["label", "role", "tone", "variant", "size", "shape", "icon", "dot", "count", "closable", "closeLabel", "selected", "disabled", "interactive", "state"], outputs: ["clicked", "closed"] }, { kind: "component", type: TextButtonComponent, selector: "ius-text-button", inputs: ["label", "prefixIcon", "sufixIcon", "size", "disabled", "type", "ariaExpanded", "ariaControls"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17452
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: EntityNavigatorComponent, isStandalone: true, selector: "ius-entity-navigator", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleIcon: { classPropertyName: "titleIcon", publicName: "titleIcon", isSignal: true, isRequired: false, transformFunction: null }, searchable: { classPropertyName: "searchable", publicName: "searchable", isSignal: true, isRequired: false, transformFunction: null }, searchThreshold: { classPropertyName: "searchThreshold", publicName: "searchThreshold", isSignal: true, isRequired: false, transformFunction: null }, searchPlaceholder: { classPropertyName: "searchPlaceholder", publicName: "searchPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, searchValue: { classPropertyName: "searchValue", publicName: "searchValue", isSignal: true, isRequired: false, transformFunction: null }, filters: { classPropertyName: "filters", publicName: "filters", isSignal: true, isRequired: false, transformFunction: null }, selectedFilters: { classPropertyName: "selectedFilters", publicName: "selectedFilters", isSignal: true, isRequired: false, transformFunction: null }, availableFilters: { classPropertyName: "availableFilters", publicName: "availableFilters", isSignal: true, isRequired: false, transformFunction: null }, activeFacets: { classPropertyName: "activeFacets", publicName: "activeFacets", isSignal: true, isRequired: false, transformFunction: null }, stateSegments: { classPropertyName: "stateSegments", publicName: "stateSegments", isSignal: true, isRequired: false, transformFunction: null }, stateValue: { classPropertyName: "stateValue", publicName: "stateValue", isSignal: true, isRequired: false, transformFunction: null }, sortLabel: { classPropertyName: "sortLabel", publicName: "sortLabel", isSignal: true, isRequired: false, transformFunction: null }, sortOptions: { classPropertyName: "sortOptions", publicName: "sortOptions", isSignal: true, isRequired: false, transformFunction: null }, sortValue: { classPropertyName: "sortValue", publicName: "sortValue", isSignal: true, isRequired: false, transformFunction: null }, metaLabel: { classPropertyName: "metaLabel", publicName: "metaLabel", isSignal: true, isRequired: false, transformFunction: null }, groups: { classPropertyName: "groups", publicName: "groups", isSignal: true, isRequired: false, transformFunction: null }, items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, accent: { classPropertyName: "accent", publicName: "accent", isSignal: true, isRequired: false, transformFunction: null }, defaultExpanded: { classPropertyName: "defaultExpanded", publicName: "defaultExpanded", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, autoExpandOnFilter: { classPropertyName: "autoExpandOnFilter", publicName: "autoExpandOnFilter", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "defaultSelected", isSignal: true, isRequired: false, transformFunction: null }, emptyStateTemplate: { classPropertyName: "emptyStateTemplate", publicName: "emptyStateTemplate", isSignal: true, isRequired: false, transformFunction: null }, noResultsLabel: { classPropertyName: "noResultsLabel", publicName: "noResultsLabel", isSignal: true, isRequired: false, transformFunction: null }, createLabel: { classPropertyName: "createLabel", publicName: "createLabel", isSignal: true, isRequired: false, transformFunction: null }, createIcon: { classPropertyName: "createIcon", publicName: "createIcon", isSignal: true, isRequired: false, transformFunction: null }, groupLimit: { classPropertyName: "groupLimit", publicName: "groupLimit", isSignal: true, isRequired: false, transformFunction: null }, collapsibleGroups: { classPropertyName: "collapsibleGroups", publicName: "collapsibleGroups", isSignal: true, isRequired: false, transformFunction: null }, collapsedGroups: { classPropertyName: "collapsedGroups", publicName: "collapsedGroups", isSignal: true, isRequired: false, transformFunction: null }, stickyHeaders: { classPropertyName: "stickyHeaders", publicName: "stickyHeaders", isSignal: true, isRequired: false, transformFunction: null }, pinnableGroups: { classPropertyName: "pinnableGroups", publicName: "pinnableGroups", isSignal: true, isRequired: false, transformFunction: null }, defaultPinnedGroup: { classPropertyName: "defaultPinnedGroup", publicName: "defaultPinnedGroup", isSignal: true, isRequired: false, transformFunction: null }, moreLabel: { classPropertyName: "moreLabel", publicName: "moreLabel", isSignal: true, isRequired: false, transformFunction: null }, alphaIndex: { classPropertyName: "alphaIndex", publicName: "alphaIndex", isSignal: true, isRequired: false, transformFunction: null }, alphaIndexLetters: { classPropertyName: "alphaIndexLetters", publicName: "alphaIndexLetters", isSignal: true, isRequired: false, transformFunction: null }, loadMoreLabel: { classPropertyName: "loadMoreLabel", publicName: "loadMoreLabel", isSignal: true, isRequired: false, transformFunction: null }, virtualized: { classPropertyName: "virtualized", publicName: "virtualized", isSignal: true, isRequired: false, transformFunction: null }, virtualizeThreshold: { classPropertyName: "virtualizeThreshold", publicName: "virtualizeThreshold", isSignal: true, isRequired: false, transformFunction: null }, itemHeights: { classPropertyName: "itemHeights", publicName: "itemHeights", isSignal: true, isRequired: false, transformFunction: null }, collapsible: { classPropertyName: "collapsible", publicName: "collapsible", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, defaultCollapsed: { classPropertyName: "defaultCollapsed", publicName: "defaultCollapsed", isSignal: true, isRequired: false, transformFunction: null }, fluidWidth: { classPropertyName: "fluidWidth", publicName: "fluidWidth", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { search: "search", searchChange: "searchChange", searchClear: "searchClear", filter: "filter", filterRemove: "filterRemove", addFilter: "addFilter", stateChange: "stateChange", facetAdd: "facetAdd", facetRemove: "facetRemove", sort: "sort", select: "select", selectedChange: "selectedChange", expandedChange: "expandedChange", togglePin: "togglePin", create: "create", pinGroup: "pinGroup", groupCollapse: "groupCollapse", more: "more", collapsedChange: "collapsedChange", jumpToLetter: "jumpToLetter", loadMore: "loadMore", expandLoad: "expandLoad" }, host: { properties: { "attr.data-collapsed": "isCollapsed() ? 'true' : null", "attr.data-fluid": "fluidWidth() ? 'true' : null", "attr.aria-label": "ariaLabel() || title() || null" }, classAttribute: "ius-entnav" }, viewQueries: [{ propertyName: "bodyRef", first: true, predicate: ["body"], descendants: true, isSignal: true }, { propertyName: "alphaRef", first: true, predicate: ["alpha"], descendants: true, isSignal: true }, { propertyName: "searchRef", first: true, predicate: ["searchBox"], descendants: true, isSignal: true }, { propertyName: "sentinels", predicate: ["lmSentinel"], descendants: true, isSignal: true }, { propertyName: "letterAnchors", predicate: ["letterAnchor"], descendants: true, isSignal: true }], ngImport: i0, template: "<!-- Riel colapsado: solo expandir + CTA. Rama aparte, como el golden. -->\n@if (collapsible() && isCollapsed()) {\n <div class=\"ius-entnav__rail\">\n <ius-icon-button\n icon=\"left_panel_open\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Expandir\"\n (clicked)=\"alternarColapso()\"\n />\n @if (hayPie()) {\n <ius-icon-button\n [icon]=\"createIcon()\"\n variant=\"secondary\"\n shape=\"circle\"\n size=\"small\"\n [ariaLabel]=\"createLabel()\"\n (clicked)=\"create.emit($event)\"\n />\n }\n </div>\n} @else {\n <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Cabecera \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n <div class=\"ius-entnav__head\">\n @if (hayCabecera()) {\n <div class=\"ius-entnav__titlerow\">\n @if (title()) {\n <div class=\"ius-entnav__title\">\n @if (titleIcon()) {\n <span translate=\"no\" class=\"ius-icon\">{{ titleIcon() }}</span>\n }\n {{ title() }}\n </div>\n } @else {\n <span></span>\n }\n <span class=\"ius-entnav__actions\">\n @if (showSearchToggle()) {\n <!-- El `state: pressed` del golden no se porta: IconButton omite `state`\n de su API p\u00FAblica a prop\u00F3sito (decisi\u00F3n suya, documentada). -->\n <ius-icon-button\n icon=\"search\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Buscar (\u2318K)\"\n (clicked)=\"alternarBusqueda()\"\n />\n }\n @if (collapsible()) {\n <ius-icon-button\n icon=\"left_panel_close\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Colapsar\"\n (clicked)=\"alternarColapso()\"\n />\n }\n </span>\n </div>\n }\n\n @if (searchVisible()) {\n <div #searchBox>\n <ius-search-bar\n [placeholder]=\"searchPlaceholder()\"\n size=\"medium\"\n [value]=\"searchValue()\"\n (valueChange)=\"onSearchValueChange($event)\"\n (search)=\"search.emit($event)\"\n (cleared)=\"searchClear.emit()\"\n />\n </div>\n }\n\n <!-- Eje de estado: excluyente, ortogonal a facetas y b\u00FAsqueda; no poda datos. -->\n @if (stateSegments()?.length) {\n <div class=\"ius-entnav__state\">\n <ius-segmented-control\n [options]=\"segmentos()\"\n [value]=\"stateVal()\"\n size=\"small\"\n variant=\"subtle\"\n fullWidth\n (valueChange)=\"elegirEstado($event)\"\n />\n </div>\n }\n\n @if (hayBarraFiltros()) {\n <div class=\"ius-entnav__filters\">\n @for (f of filters(); track f.key) {\n <ius-tag\n role=\"filter\"\n size=\"small\"\n [tone]=\"tonoFiltro(f)\"\n [icon]=\"f.icon\"\n [dot]=\"f.dot\"\n [count]=\"f.count\"\n [label]=\"f.label\"\n [selected]=\"activeKeys().has(f.key)\"\n [closable]=\"!!f.removable\"\n (clicked)=\"alternarFiltro(f.key)\"\n (closed)=\"quitarFiltro(f.key)\"\n />\n }\n\n <!-- Facetas: Tag `soft` con el tono categ\u00F3rico de su categor\u00EDa, NUNCA solid. -->\n @for (f of facets(); track f.key) {\n <ius-tag\n role=\"label\"\n variant=\"soft\"\n size=\"small\"\n [tone]=\"tonoFaceta(f)\"\n [icon]=\"f.icon\"\n closable\n [label]=\"textoFaceta(f)\"\n (closed)=\"quitarFaceta(f.key)\"\n />\n }\n\n @if (availableFilters().length) {\n <ius-popover\n trigger=\"manual\"\n [open]=\"addOpen()\"\n [dismissable]=\"true\"\n placement=\"bottom-start\"\n [offset]=\"6\"\n [showArrow]=\"false\"\n padding=\"none\"\n (openChange)=\"onAddOpenChange($event)\"\n >\n <ius-tag\n role=\"filter\"\n variant=\"outline\"\n tone=\"neutral\"\n size=\"small\"\n icon=\"add\"\n label=\"Filtro\"\n [selected]=\"addOpen()\"\n (clicked)=\"alternarMenuFiltro()\"\n />\n\n <div iusPopoverContent class=\"ius-entnav__addpanel\">\n @if (addStep(); as step) {\n <div class=\"ius-entnav__addhead\">\n <ius-menu-item\n icon=\"chevron_left\"\n [label]=\"step.label\"\n size=\"small\"\n (clicked)=\"volverDelPaso()\"\n />\n @if (step.picker === 'search') {\n <ius-search-bar\n size=\"small\"\n placeholder=\"Buscar\u2026\"\n [value]=\"addQuery()\"\n (valueChange)=\"addQuery.set($event)\"\n (cleared)=\"addQuery.set('')\"\n />\n }\n </div>\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\n @if (opcionesDelPaso().length === 0) {\n <div class=\"ius-entnav__addempty\">Sin resultados</div>\n } @else {\n @for (o of opcionesDelPaso(); track o.key) {\n <!-- El check se proyecta SIEMPRE y se oculta por CSS: un\n `<ng-content>` detr\u00E1s de un `@if` que depende de un\n contentChild se pierde en el primer render. -->\n <ius-menu-item\n [label]=\"o.label\"\n size=\"small\"\n [selected]=\"facetaActiva(step, o)\"\n (clicked)=\"elegirValor(step, o)\"\n >\n <span\n iusMenuItemTrailing\n translate=\"no\"\n class=\"ius-icon\"\n [class.ius-entnav__check--off]=\"!facetaActiva(step, o)\"\n >check</span\n >\n </ius-menu-item>\n }\n }\n </div>\n } @else {\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\n @for (a of categoriasDisponibles(); track a.key) {\n <ius-menu-item\n [icon]=\"a.icon\"\n [label]=\"a.label\"\n size=\"small\"\n (clicked)=\"elegirCategoria(a)\"\n >\n <span\n iusMenuItemTrailing\n translate=\"no\"\n class=\"ius-icon\"\n [class.ius-entnav__check--off]=\"!a.picker\"\n >chevron_right</span\n >\n </ius-menu-item>\n }\n </div>\n }\n </div>\n </ius-popover>\n }\n </div>\n }\n\n @if (hayMeta()) {\n <div class=\"ius-entnav__meta\">\n <span>{{ metaLabel() || '' }}</span>\n @if (sortOptions()?.length) {\n <ius-dropdown\n [selectable]=\"true\"\n [value]=\"sortValue()\"\n label=\"Ordenar por\"\n tone=\"neutral\"\n [items]=\"sortOptions() ?? []\"\n placement=\"bottom-end\"\n (valueChange)=\"onSort($event)\"\n />\n } @else if (sortLabel()) {\n <button type=\"button\" class=\"ius-entnav__sort\" (click)=\"sort.emit({ value: sortValue() })\">\n {{ sortLabel() }}\n <span translate=\"no\" class=\"ius-icon\">expand_more</span>\n </button>\n }\n </div>\n }\n </div>\n\n <!-- Secci\u00F3n fijada: vive FUERA del cuerpo con scroll (no entra en la ventana\n de render ni en el cursor aritm\u00E9tico de la virtualizaci\u00F3n). -->\n @if (modelo().fijada; as fijada) {\n <div class=\"ius-entnav__pinned\">\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: fijada }\" />\n </div>\n }\n\n <div class=\"ius-entnav__scrollwrap\">\n <div\n class=\"ius-entnav__body ius-scroll ius-scroll--sm\"\n #body\n [attr.data-scrolled]=\"bodyScrolled() ? 'true' : null\"\n >\n @if (vacio()) {\n <div class=\"ius-entnav__empty\">\n @if (emptyStateTemplate(); as tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\" />\n } @else {\n <ius-empty-state\n variant=\"no-results\"\n size=\"compact\"\n [title]=\"noResultsLabel()\"\n [description]=\"descripcionVacio()\"\n />\n }\n </div>\n } @else {\n @for (s of modelo().secciones; track s.gk) {\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: s }\" />\n }\n }\n </div>\n\n <!-- \u00CDndice alfab\u00E9tico: navega, no reordena. Se oculta con b\u00FAsqueda/filtros. -->\n @if (alphaVisible()) {\n <nav\n class=\"ius-entnav__alpha\"\n #alpha\n role=\"navigation\"\n aria-label=\"\u00CDndice alfab\u00E9tico\"\n (keydown)=\"onRailKey($event)\"\n >\n @for (L of displayLetters(); track L) {\n <button\n type=\"button\"\n class=\"ius-entnav__alpha-let\"\n [disabled]=\"!letraHabilitada(L)\"\n [attr.data-active]=\"activeLetter() === L ? 'true' : null\"\n [attr.aria-current]=\"activeLetter() === L ? 'true' : null\"\n [attr.aria-label]=\"'Ir a ' + L\"\n [attr.tabindex]=\"letraHabilitada(L) ? (L === alphaTabStop() ? 0 : -1) : -1\"\n (click)=\"saltarALetra(L)\"\n >\n {{ L }}\n </button>\n }\n </nav>\n }\n </div>\n\n @if (hayPie()) {\n <div class=\"ius-entnav__footer\">\n <ius-button\n variant=\"primary\"\n [prefixIcon]=\"createIcon()\"\n [label]=\"createLabel()\"\n fullWidth\n class=\"ius-entnav__cta\"\n (clicked)=\"create.emit($event)\"\n />\n </div>\n }\n}\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Plantilla de secci\u00F3n (cuerpo y secci\u00F3n fijada comparten) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<ng-template #seccionTpl let-s>\n <section class=\"ius-entnav__section\" [attr.data-pinned]=\"s.isPinned ? 'true' : null\">\n @if (s.hasHeader) {\n <ius-section-header\n [icon]=\"s.group.icon\"\n [count]=\"s.group.count\"\n [accent]=\"accent()\"\n [sticky]=\"s.sticky\"\n [collapsible]=\"collapsibleGroups()\"\n [collapsed]=\"s.isCollapsed\"\n (toggle)=\"alternarPlegadoGrupo(s.gk)\"\n >\n {{ s.group.label }}\n @if (pinnableGroups()) {\n <ius-icon-button\n iusSectionHeaderAction\n class=\"ius-entnav__pinbtn\"\n [class.ius-entnav__pinbtn--on]=\"s.isPinned\"\n icon=\"pinboard\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n [ariaLabel]=\"etiquetaPinGrupo(s.isPinned)\"\n (clicked)=\"alternarPinGrupo(s.gk)\"\n />\n }\n </ius-section-header>\n }\n\n @if (s.padTop) {\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padTop\" aria-hidden=\"true\"></div>\n }\n\n @for (d of s.visible; track d.key) {\n @switch (d.kind) {\n @case ('letter') {\n <div class=\"ius-entnav__lanchor\" #letterAnchor [attr.data-letter]=\"d.letter\">\n <ius-section-header variant=\"letter\" [accent]=\"accent()\">{{ d.letter }}</ius-section-header>\n </div>\n }\n @case ('addChild') {\n <div class=\"ius-entnav__addchild\" [style.padding-left.px]=\"padAddChild(d.level)\">\n <ius-text-button\n size=\"small\"\n prefixIcon=\"add\"\n [label]=\"d.node.addChildLabel\"\n (clicked)=\"onAddChild(d.node, $event)\"\n />\n </div>\n }\n @default {\n <ius-entity-row\n [kind]=\"d.node.kind ?? 'expediente'\"\n [icon]=\"d.node.icon\"\n [label]=\"d.node.label\"\n [sublabel]=\"d.node.sublabel\"\n [level]=\"d.level\"\n [accent]=\"accent()\"\n [expandable]=\"d.expandable\"\n [expanded]=\"d.expanded\"\n [loading]=\"d.loading\"\n [selected]=\"d.selected\"\n [count]=\"d.node.count\"\n [unread]=\"d.node.unread\"\n [hasUnread]=\"!!d.node.hasUnread\"\n [noveltyTone]=\"d.node.noveltyTone ?? 'info'\"\n [pinned]=\"!!d.node.pinned\"\n [pinnable]=\"d.canPin\"\n [actions]=\"d.node.actions ?? []\"\n (toggle)=\"alternarNodo(d.node)\"\n (togglePin)=\"onTogglePinNodo(d.node, $event)\"\n (clicked)=\"elegirNodo(d)\"\n />\n }\n }\n }\n\n @if (s.padBot) {\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padBot\" aria-hidden=\"true\"></div>\n }\n\n @if (s.showMore) {\n <div class=\"ius-entnav__morerow\">\n <ius-show-more\n [expanded]=\"s.moreExpanded\"\n [remaining]=\"s.moreRemaining\"\n align=\"end\"\n (toggle)=\"alternarShowMore(s.gk)\"\n />\n </div>\n }\n\n <!-- Carga por lotes: centinela (IntersectionObserver) + \u00ABCargar m\u00E1s\u00BB. -->\n @if (s.showLoadMore) {\n <div class=\"ius-entnav__loadmore\">\n @if (s.loadingMore) {\n <ius-loading variant=\"inline\" size=\"small\" [label]=\"textoCargando()\" />\n } @else {\n <div\n class=\"ius-entnav__sentinel\"\n #lmSentinel\n [attr.data-lm-group]=\"s.gk\"\n aria-hidden=\"true\"\n ></div>\n <ius-text-button size=\"small\" [label]=\"textoCargarMas()\" (clicked)=\"dispararLote(s.gk)\" />\n }\n </div>\n }\n </section>\n</ng-template>\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:340px;min-width:0;height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:52px}:host([data-fluid=true]:not([data-collapsed=true])){width:100%}.ius-entnav__rail{display:flex;flex-direction:column;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs)}.ius-entnav__head{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md) var(--ius-space-md) var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__titlerow{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs)}.ius-entnav__actions{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);margin-right:-4px}.ius-entnav__title{font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ius-text-tertiary);display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entnav__title .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__filters{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs)}.ius-entnav__state{display:flex}.ius-entnav__state+.ius-entnav__filters{padding-top:var(--ius-space-xs);border-top:1px solid var(--ius-stroke)}.ius-entnav__addpanel{display:flex;flex-direction:column;min-width:224px;max-width:300px;max-height:min(52vh,360px)}.ius-entnav__addhead{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__addlist{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);--_sb-track-margin: var(--ius-space-sm)}.ius-entnav__addempty{padding:var(--ius-space-lg) var(--ius-space-sm);text-align:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__check--off{visibility:hidden}.ius-entnav__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__meta>span:first-child{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entnav__meta>ius-dropdown{flex:0 0 auto}.ius-entnav__sort{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-family:var(--ius-font-body);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);line-height:1.2;color:var(--ius-primary-700)}.ius-entnav__sort .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__sort:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);border-radius:var(--ius-radius-sm)}.ius-entnav__scrollwrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.ius-entnav__body{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 var(--ius-space-xs) var(--ius-space-xs);position:relative}.ius-entnav__body[data-scrolled=true]{box-shadow:inset 0 7px 6px -6px #26262629}.ius-entnav__body[data-scrolled=true]:before{content:\"\";position:sticky;top:0;z-index:3;display:block;height:0;margin:0 -8px;border-top:1px solid var(--ius-stroke)}.ius-entnav__section{display:contents}.ius-entnav__body ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__morerow{padding:var(--ius-space-xxs) 0}ius-show-more{padding-right:var(--ius-space-xs)}.ius-entnav__loadmore{display:flex;justify-content:center;padding:var(--ius-space-xs) 0 var(--ius-space-sm)}.ius-entnav__sentinel{height:1px;margin:0;padding:0;pointer-events:none}.ius-entnav__pinned{flex:0 0 auto;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs);border-bottom:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-entnav__pinned ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__pinbtn{opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}ius-section-header:hover .ius-entnav__pinbtn,.ius-entnav__pinbtn:focus-within,.ius-entnav__pinbtn--on{opacity:1}.ius-entnav__addchild{display:flex;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs) 0}.ius-entnav__empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--ius-space-xl) var(--ius-space-md)}.ius-entnav__footer{flex:0 0 auto;padding:var(--ius-space-sm) var(--ius-space-md);border-top:1px solid var(--ius-stroke)}.ius-entnav__cta{width:100%}.ius-entnav__alpha{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--ius-space-none);width:var(--ius-space-lg);padding:var(--ius-space-xxs) 0;overflow:hidden;-webkit-user-select:none;user-select:none}.ius-entnav__alpha-let{appearance:none;border:0;background:transparent;cursor:pointer;flex:1 1 0;min-height:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);border-radius:var(--ius-radius-sm);transition:color var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entnav__alpha-let:hover{color:var(--ius-primary-700)}.ius-entnav__alpha-let[data-active=true]{color:var(--ius-primary-900);background:var(--ius-neutral-2);font-weight:var(--ius-fw-bold)}.ius-entnav__alpha-let:disabled{color:var(--ius-text-tertiary);opacity:.35;cursor:default}.ius-entnav__alpha-let:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}\n"], dependencies: [{ kind: "component", type: ButtonComponent, selector: "ius-button", inputs: ["variant", "label", "prefixIcon", "sufixIcon", "dynamic", "loading", "status", "disabled", "pressed", "fullWidth", "type", "ariaLabel", "action", "size"], outputs: ["clicked"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: DropdownComponent, selector: "ius-dropdown", inputs: ["items", "selectable", "value", "label", "triggerLabel", "triggerIcon", "tone", "variant", "placement", "open", "defaultOpen", "ariaLabel"], outputs: ["valueChange", "openChange"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }, { kind: "component", type: EntityRowComponent, selector: "ius-entity-row", inputs: ["kind", "icon", "label", "sublabel", "level", "accent", "expandable", "expanded", "loading", "selected", "disabled", "count", "unread", "hasUnread", "noveltyTone", "pinned", "pinnable", "actions", "actionsLabel", "ariaLabel"], outputs: ["toggle", "togglePin", "clicked"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "directive", type: IusMenuItemTrailingDirective, selector: "[iusMenuItemTrailing]" }, { kind: "component", type: LoadingComponent, selector: "ius-loading", inputs: ["variant", "label", "showLabel", "tone", "brand", "size", "active", "ariaLabel"] }, { kind: "component", type: MenuItemComponent, selector: "ius-menu-item", inputs: ["icon", "label", "badge", "variant", "size", "selected", "disabled", "danger", "state", "href", "ariaLabel", "itemRole"], outputs: ["clicked"] }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: SearchBarComponent, selector: "ius-search-bar", inputs: ["value", "defaultValue", "size", "disabled", "state", "placeholder", "ariaLabel", "name", "id"], outputs: ["valueChange", "search", "cleared"] }, { kind: "component", type: SectionHeaderComponent, selector: "ius-section-header", inputs: ["icon", "count", "variant", "accent", "collapsible", "collapsed", "sticky", "ariaLabel"], outputs: ["toggle"] }, { kind: "component", type: SegmentedControlComponent, selector: "ius-segmented-control", inputs: ["options", "size", "variant", "fullWidth", "iconOnly", "ariaLabel", "name", "value", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: ShowMoreComponent, selector: "ius-show-more", inputs: ["expanded", "remaining", "moreLabel", "lessLabel", "collapsible", "size", "align", "ariaControls"], outputs: ["toggle"] }, { kind: "component", type: TagComponent, selector: "ius-tag", inputs: ["label", "role", "tone", "variant", "size", "shape", "icon", "dot", "count", "closable", "closeLabel", "selected", "disabled", "interactive", "state"], outputs: ["clicked", "closed"] }, { kind: "component", type: TextButtonComponent, selector: "ius-text-button", inputs: ["label", "prefixIcon", "sufixIcon", "size", "disabled", "type", "ariaExpanded", "ariaControls"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17376
17453
|
}
|
|
17377
17454
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: EntityNavigatorComponent, decorators: [{
|
|
17378
17455
|
type: Component,
|
|
@@ -17398,8 +17475,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
17398
17475
|
'[attr.data-collapsed]': "isCollapsed() ? 'true' : null",
|
|
17399
17476
|
'[attr.data-fluid]': "fluidWidth() ? 'true' : null",
|
|
17400
17477
|
'[attr.aria-label]': 'ariaLabel() || title() || null',
|
|
17401
|
-
}, template: "<!-- Riel colapsado: solo expandir + CTA. Rama aparte, como el golden. -->\r\n@if (collapsible() && isCollapsed()) {\r\n <div class=\"ius-entnav__rail\">\r\n <ius-icon-button\r\n icon=\"left_panel_open\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Expandir\"\r\n (clicked)=\"alternarColapso()\"\r\n />\r\n @if (hayPie()) {\r\n <ius-icon-button\r\n [icon]=\"createIcon()\"\r\n variant=\"secondary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n [ariaLabel]=\"createLabel()\"\r\n (clicked)=\"create.emit($event)\"\r\n />\r\n }\r\n </div>\r\n} @else {\r\n <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Cabecera \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n <div class=\"ius-entnav__head\">\r\n @if (hayCabecera()) {\r\n <div class=\"ius-entnav__titlerow\">\r\n @if (title()) {\r\n <div class=\"ius-entnav__title\">\r\n @if (titleIcon()) {\r\n <span translate=\"no\" class=\"ius-icon\">{{ titleIcon() }}</span>\r\n }\r\n {{ title() }}\r\n </div>\r\n } @else {\r\n <span></span>\r\n }\r\n <span class=\"ius-entnav__actions\">\r\n @if (showSearchToggle()) {\r\n <!-- El `state: pressed` del golden no se porta: IconButton omite `state`\r\n de su API p\u00FAblica a prop\u00F3sito (decisi\u00F3n suya, documentada). -->\r\n <ius-icon-button\r\n icon=\"search\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Buscar (\u2318K)\"\r\n (clicked)=\"alternarBusqueda()\"\r\n />\r\n }\r\n @if (collapsible()) {\r\n <ius-icon-button\r\n icon=\"left_panel_close\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n ariaLabel=\"Colapsar\"\r\n (clicked)=\"alternarColapso()\"\r\n />\r\n }\r\n </span>\r\n </div>\r\n }\r\n\r\n @if (searchVisible()) {\r\n <div #searchBox>\r\n <ius-search-bar\r\n [placeholder]=\"searchPlaceholder()\"\r\n size=\"medium\"\r\n [value]=\"searchValue()\"\r\n (valueChange)=\"onSearchValueChange($event)\"\r\n (search)=\"search.emit($event)\"\r\n (cleared)=\"searchClear.emit()\"\r\n />\r\n </div>\r\n }\r\n\r\n <!-- Eje de estado: excluyente, ortogonal a facetas y b\u00FAsqueda; no poda datos. -->\r\n @if (stateSegments()?.length) {\r\n <div class=\"ius-entnav__state\">\r\n <ius-segmented-control\r\n [options]=\"segmentos()\"\r\n [value]=\"stateVal()\"\r\n size=\"small\"\r\n variant=\"subtle\"\r\n fullWidth\r\n (valueChange)=\"elegirEstado($event)\"\r\n />\r\n </div>\r\n }\r\n\r\n @if (hayBarraFiltros()) {\r\n <div class=\"ius-entnav__filters\">\r\n @for (f of filters(); track f.key) {\r\n <ius-tag\r\n role=\"filter\"\r\n size=\"small\"\r\n [tone]=\"tonoFiltro(f)\"\r\n [icon]=\"f.icon\"\r\n [dot]=\"f.dot\"\r\n [count]=\"f.count\"\r\n [label]=\"f.label\"\r\n [selected]=\"activeKeys().has(f.key)\"\r\n [closable]=\"!!f.removable\"\r\n (clicked)=\"alternarFiltro(f.key)\"\r\n (closed)=\"quitarFiltro(f.key)\"\r\n />\r\n }\r\n\r\n <!-- Facetas: Tag `soft` con el tono categ\u00F3rico de su categor\u00EDa, NUNCA solid. -->\r\n @for (f of facets(); track f.key) {\r\n <ius-tag\r\n role=\"label\"\r\n variant=\"soft\"\r\n size=\"small\"\r\n [tone]=\"tonoFaceta(f)\"\r\n [icon]=\"f.icon\"\r\n closable\r\n [label]=\"textoFaceta(f)\"\r\n (closed)=\"quitarFaceta(f.key)\"\r\n />\r\n }\r\n\r\n @if (availableFilters().length) {\r\n <ius-popover\r\n trigger=\"manual\"\r\n [open]=\"addOpen()\"\r\n [dismissable]=\"true\"\r\n placement=\"bottom-start\"\r\n [offset]=\"6\"\r\n [showArrow]=\"false\"\r\n padding=\"none\"\r\n (openChange)=\"onAddOpenChange($event)\"\r\n >\r\n <ius-tag\r\n role=\"filter\"\r\n variant=\"outline\"\r\n tone=\"neutral\"\r\n size=\"small\"\r\n icon=\"add\"\r\n label=\"Filtro\"\r\n [selected]=\"addOpen()\"\r\n (clicked)=\"alternarMenuFiltro()\"\r\n />\r\n\r\n <div iusPopoverContent class=\"ius-entnav__addpanel\">\r\n @if (addStep(); as step) {\r\n <div class=\"ius-entnav__addhead\">\r\n <ius-menu-item\r\n icon=\"chevron_left\"\r\n [label]=\"step.label\"\r\n size=\"small\"\r\n (clicked)=\"volverDelPaso()\"\r\n />\r\n @if (step.picker === 'search') {\r\n <ius-search-bar\r\n size=\"small\"\r\n placeholder=\"Buscar\u2026\"\r\n [value]=\"addQuery()\"\r\n (valueChange)=\"addQuery.set($event)\"\r\n (cleared)=\"addQuery.set('')\"\r\n />\r\n }\r\n </div>\r\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\r\n @if (opcionesDelPaso().length === 0) {\r\n <div class=\"ius-entnav__addempty\">Sin resultados</div>\r\n } @else {\r\n @for (o of opcionesDelPaso(); track o.key) {\r\n <!-- El check se proyecta SIEMPRE y se oculta por CSS: un\r\n `<ng-content>` detr\u00E1s de un `@if` que depende de un\r\n contentChild se pierde en el primer render. -->\r\n <ius-menu-item\r\n [label]=\"o.label\"\r\n size=\"small\"\r\n [selected]=\"facetaActiva(step, o)\"\r\n (clicked)=\"elegirValor(step, o)\"\r\n >\r\n <span\r\n iusMenuItemTrailing\r\n translate=\"no\"\r\n class=\"ius-icon\"\r\n [class.ius-entnav__check--off]=\"!facetaActiva(step, o)\"\r\n >check</span\r\n >\r\n </ius-menu-item>\r\n }\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\r\n @for (a of categoriasDisponibles(); track a.key) {\r\n <ius-menu-item\r\n [icon]=\"a.icon\"\r\n [label]=\"a.label\"\r\n size=\"small\"\r\n (clicked)=\"elegirCategoria(a)\"\r\n >\r\n <span\r\n iusMenuItemTrailing\r\n translate=\"no\"\r\n class=\"ius-icon\"\r\n [class.ius-entnav__check--off]=\"!a.picker\"\r\n >chevron_right</span\r\n >\r\n </ius-menu-item>\r\n }\r\n </div>\r\n }\r\n </div>\r\n </ius-popover>\r\n }\r\n </div>\r\n }\r\n\r\n @if (hayMeta()) {\r\n <div class=\"ius-entnav__meta\">\r\n <span>{{ metaLabel() || '' }}</span>\r\n @if (sortOptions()?.length) {\r\n <ius-dropdown\r\n [selectable]=\"true\"\r\n [value]=\"sortValue()\"\r\n label=\"Ordenar por\"\r\n tone=\"neutral\"\r\n [items]=\"sortOptions() ?? []\"\r\n placement=\"bottom-end\"\r\n (valueChange)=\"onSort($event)\"\r\n />\r\n } @else if (sortLabel()) {\r\n <button type=\"button\" class=\"ius-entnav__sort\" (click)=\"sort.emit({ value: sortValue() })\">\r\n {{ sortLabel() }}\r\n <span translate=\"no\" class=\"ius-icon\">expand_more</span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n <!-- Secci\u00F3n fijada: vive FUERA del cuerpo con scroll (no entra en la ventana\r\n de render ni en el cursor aritm\u00E9tico de la virtualizaci\u00F3n). -->\r\n @if (modelo().fijada; as fijada) {\r\n <div class=\"ius-entnav__pinned\">\r\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: fijada }\" />\r\n </div>\r\n }\r\n\r\n <div class=\"ius-entnav__scrollwrap\">\r\n <div\r\n class=\"ius-entnav__body ius-scroll ius-scroll--sm\"\r\n #body\r\n [attr.data-scrolled]=\"bodyScrolled() ? 'true' : null\"\r\n >\r\n @if (vacio()) {\r\n <div class=\"ius-entnav__empty\">\r\n @if (emptyStateTemplate(); as tpl) {\r\n <ng-container [ngTemplateOutlet]=\"tpl\" />\r\n } @else {\r\n <ius-empty-state\r\n variant=\"no-results\"\r\n size=\"compact\"\r\n [title]=\"noResultsLabel()\"\r\n [description]=\"descripcionVacio()\"\r\n />\r\n }\r\n </div>\r\n } @else {\r\n @for (s of modelo().secciones; track s.gk) {\r\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: s }\" />\r\n }\r\n }\r\n </div>\r\n\r\n <!-- \u00CDndice alfab\u00E9tico: navega, no reordena. Se oculta con b\u00FAsqueda/filtros. -->\r\n @if (alphaVisible()) {\r\n <nav\r\n class=\"ius-entnav__alpha\"\r\n #alpha\r\n role=\"navigation\"\r\n aria-label=\"\u00CDndice alfab\u00E9tico\"\r\n (keydown)=\"onRailKey($event)\"\r\n >\r\n @for (L of displayLetters(); track L) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-entnav__alpha-let\"\r\n [disabled]=\"!letraHabilitada(L)\"\r\n [attr.data-active]=\"activeLetter() === L ? 'true' : null\"\r\n [attr.aria-current]=\"activeLetter() === L ? 'true' : null\"\r\n [attr.aria-label]=\"'Ir a ' + L\"\r\n [attr.tabindex]=\"letraHabilitada(L) ? (L === alphaTabStop() ? 0 : -1) : -1\"\r\n (click)=\"saltarALetra(L)\"\r\n >\r\n {{ L }}\r\n </button>\r\n }\r\n </nav>\r\n }\r\n </div>\r\n\r\n @if (hayPie()) {\r\n <div class=\"ius-entnav__footer\">\r\n <ius-button\r\n variant=\"primary\"\r\n [prefixIcon]=\"createIcon()\"\r\n [label]=\"createLabel()\"\r\n fullWidth\r\n class=\"ius-entnav__cta\"\r\n (clicked)=\"create.emit($event)\"\r\n />\r\n </div>\r\n }\r\n}\r\n\r\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Plantilla de secci\u00F3n (cuerpo y secci\u00F3n fijada comparten) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\r\n<ng-template #seccionTpl let-s>\r\n <section class=\"ius-entnav__section\" [attr.data-pinned]=\"s.isPinned ? 'true' : null\">\r\n @if (s.hasHeader) {\r\n <ius-section-header\r\n [icon]=\"s.group.icon\"\r\n [count]=\"s.group.count\"\r\n [accent]=\"accent()\"\r\n [sticky]=\"s.sticky\"\r\n [collapsible]=\"collapsibleGroups()\"\r\n [collapsed]=\"s.isCollapsed\"\r\n (toggle)=\"alternarPlegadoGrupo(s.gk)\"\r\n >\r\n {{ s.group.label }}\r\n @if (pinnableGroups()) {\r\n <ius-icon-button\r\n iusSectionHeaderAction\r\n class=\"ius-entnav__pinbtn\"\r\n [class.ius-entnav__pinbtn--on]=\"s.isPinned\"\r\n icon=\"pinboard\"\r\n variant=\"tertiary\"\r\n shape=\"circle\"\r\n size=\"small\"\r\n [ariaLabel]=\"etiquetaPinGrupo(s.isPinned)\"\r\n (clicked)=\"alternarPinGrupo(s.gk)\"\r\n />\r\n }\r\n </ius-section-header>\r\n }\r\n\r\n @if (s.padTop) {\r\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padTop\" aria-hidden=\"true\"></div>\r\n }\r\n\r\n @for (d of s.visible; track d.key) {\r\n @switch (d.kind) {\r\n @case ('letter') {\r\n <div class=\"ius-entnav__lanchor\" #letterAnchor [attr.data-letter]=\"d.letter\">\r\n <ius-section-header variant=\"letter\" [accent]=\"accent()\">{{ d.letter }}</ius-section-header>\r\n </div>\r\n }\r\n @case ('addChild') {\r\n <div class=\"ius-entnav__addchild\" [style.padding-left.px]=\"padAddChild(d.level)\">\r\n <ius-text-button\r\n size=\"small\"\r\n prefixIcon=\"add\"\r\n [label]=\"d.node.addChildLabel\"\r\n (clicked)=\"onAddChild(d.node, $event)\"\r\n />\r\n </div>\r\n }\r\n @default {\r\n <ius-entity-row\r\n [kind]=\"d.node.kind ?? 'expediente'\"\r\n [icon]=\"d.node.icon\"\r\n [label]=\"d.node.label\"\r\n [sublabel]=\"d.node.sublabel\"\r\n [level]=\"d.level\"\r\n [accent]=\"accent()\"\r\n [expandable]=\"d.expandable\"\r\n [expanded]=\"d.expanded\"\r\n [loading]=\"d.loading\"\r\n [selected]=\"d.selected\"\r\n [count]=\"d.node.count\"\r\n [unread]=\"d.node.unread\"\r\n [hasUnread]=\"!!d.node.hasUnread\"\r\n [noveltyTone]=\"d.node.noveltyTone ?? 'info'\"\r\n [pinned]=\"!!d.node.pinned\"\r\n [pinnable]=\"d.canPin\"\r\n [actions]=\"d.node.actions ?? []\"\r\n (toggle)=\"alternarNodo(d.node)\"\r\n (togglePin)=\"onTogglePinNodo(d.node, $event)\"\r\n (clicked)=\"elegirNodo(d)\"\r\n />\r\n }\r\n }\r\n }\r\n\r\n @if (s.padBot) {\r\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padBot\" aria-hidden=\"true\"></div>\r\n }\r\n\r\n @if (s.showMore) {\r\n <div class=\"ius-entnav__morerow\">\r\n <ius-show-more\r\n [expanded]=\"s.moreExpanded\"\r\n [remaining]=\"s.moreRemaining\"\r\n align=\"end\"\r\n (toggle)=\"alternarShowMore(s.gk)\"\r\n />\r\n </div>\r\n }\r\n\r\n <!-- Carga por lotes: centinela (IntersectionObserver) + \u00ABCargar m\u00E1s\u00BB. -->\r\n @if (s.showLoadMore) {\r\n <div class=\"ius-entnav__loadmore\">\r\n @if (s.loadingMore) {\r\n <ius-loading variant=\"inline\" size=\"small\" [label]=\"textoCargando()\" />\r\n } @else {\r\n <div\r\n class=\"ius-entnav__sentinel\"\r\n #lmSentinel\r\n [attr.data-lm-group]=\"s.gk\"\r\n aria-hidden=\"true\"\r\n ></div>\r\n <ius-text-button size=\"small\" [label]=\"textoCargarMas()\" (clicked)=\"dispararLote(s.gk)\" />\r\n }\r\n </div>\r\n }\r\n </section>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:340px;min-width:0;height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:52px}:host([data-fluid=true]:not([data-collapsed=true])){width:100%}.ius-entnav__rail{display:flex;flex-direction:column;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs)}.ius-entnav__head{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md) var(--ius-space-md) var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__titlerow{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs)}.ius-entnav__actions{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);margin-right:-4px}.ius-entnav__title{font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ius-text-tertiary);display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entnav__title .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__filters{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs)}.ius-entnav__state{display:flex}.ius-entnav__state+.ius-entnav__filters{padding-top:var(--ius-space-xs);border-top:1px solid var(--ius-stroke)}.ius-entnav__addpanel{display:flex;flex-direction:column;min-width:224px;max-width:300px;max-height:min(52vh,360px)}.ius-entnav__addhead{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__addlist{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);--_sb-track-margin: var(--ius-space-sm)}.ius-entnav__addempty{padding:var(--ius-space-lg) var(--ius-space-sm);text-align:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__check--off{visibility:hidden}.ius-entnav__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__meta>span:first-child{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entnav__meta>ius-dropdown{flex:0 0 auto}.ius-entnav__sort{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-family:var(--ius-font-body);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);line-height:1.2;color:var(--ius-primary-700)}.ius-entnav__sort .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__sort:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);border-radius:var(--ius-radius-sm)}.ius-entnav__scrollwrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.ius-entnav__body{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 var(--ius-space-xs) var(--ius-space-xs);position:relative}.ius-entnav__body[data-scrolled=true]{box-shadow:inset 0 7px 6px -6px #26262629}.ius-entnav__body[data-scrolled=true]:before{content:\"\";position:sticky;top:0;z-index:3;display:block;height:0;margin:0 -8px;border-top:1px solid var(--ius-stroke)}.ius-entnav__section{display:contents}.ius-entnav__body ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__morerow{padding:var(--ius-space-xxs) 0}ius-show-more{padding-right:var(--ius-space-xs)}.ius-entnav__loadmore{display:flex;justify-content:center;padding:var(--ius-space-xs) 0 var(--ius-space-sm)}.ius-entnav__sentinel{height:1px;margin:0;padding:0;pointer-events:none}.ius-entnav__pinned{flex:0 0 auto;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs);border-bottom:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-entnav__pinned ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__pinbtn{opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}ius-section-header:hover .ius-entnav__pinbtn,.ius-entnav__pinbtn:focus-within,.ius-entnav__pinbtn--on{opacity:1}.ius-entnav__addchild{display:flex;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs) 0}.ius-entnav__empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--ius-space-xl) var(--ius-space-md)}.ius-entnav__footer{flex:0 0 auto;padding:var(--ius-space-sm) var(--ius-space-md);border-top:1px solid var(--ius-stroke)}.ius-entnav__cta{width:100%}.ius-entnav__alpha{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--ius-space-none);width:var(--ius-space-lg);padding:var(--ius-space-xxs) 0;overflow:hidden;-webkit-user-select:none;user-select:none}.ius-entnav__alpha-let{appearance:none;border:0;background:transparent;cursor:pointer;flex:1 1 0;min-height:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);border-radius:var(--ius-radius-sm);transition:color var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entnav__alpha-let:hover{color:var(--ius-primary-700)}.ius-entnav__alpha-let[data-active=true]{color:var(--ius-primary-900);background:var(--ius-neutral-2);font-weight:var(--ius-fw-bold)}.ius-entnav__alpha-let:disabled{color:var(--ius-text-tertiary);opacity:.35;cursor:default}.ius-entnav__alpha-let:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}\n"] }]
|
|
17402
|
-
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], titleIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleIcon", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], searchThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchThreshold", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], searchValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchValue", required: false }] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }], selectedFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedFilters", required: false }] }], availableFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableFilters", required: false }] }], activeFacets: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeFacets", required: false }] }], stateSegments: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateSegments", required: false }] }], stateValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateValue", required: false }] }], sortLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortLabel", required: false }] }], sortOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortOptions", required: false }] }], sortValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortValue", required: false }] }], metaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaLabel", required: false }] }], groups: [{ type: i0.Input, args: [{ isSignal: true, alias: "groups", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], accent: [{ type: i0.Input, args: [{ isSignal: true, alias: "accent", required: false }] }], defaultExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultExpanded", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], autoExpandOnFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoExpandOnFilter", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], defaultSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSelected", required: false }] }], emptyStateTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyStateTemplate", required: false }] }], noResultsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsLabel", required: false }] }], createLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "createLabel", required: false }] }], createIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "createIcon", required: false }] }], groupLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupLimit", required: false }] }], collapsibleGroups: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsibleGroups", required: false }] }], stickyHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeaders", required: false }] }], pinnableGroups: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnableGroups", required: false }] }], defaultPinnedGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPinnedGroup", required: false }] }], moreLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "moreLabel", required: false }] }], alphaIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "alphaIndex", required: false }] }], alphaIndexLetters: [{ type: i0.Input, args: [{ isSignal: true, alias: "alphaIndexLetters", required: false }] }], loadMoreLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadMoreLabel", required: false }] }], virtualized: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualized", required: false }] }], virtualizeThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualizeThreshold", required: false }] }], itemHeights: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeights", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], defaultCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCollapsed", required: false }] }], fluidWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluidWidth", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], search: [{
|
|
17478
|
+
}, template: "<!-- Riel colapsado: solo expandir + CTA. Rama aparte, como el golden. -->\n@if (collapsible() && isCollapsed()) {\n <div class=\"ius-entnav__rail\">\n <ius-icon-button\n icon=\"left_panel_open\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Expandir\"\n (clicked)=\"alternarColapso()\"\n />\n @if (hayPie()) {\n <ius-icon-button\n [icon]=\"createIcon()\"\n variant=\"secondary\"\n shape=\"circle\"\n size=\"small\"\n [ariaLabel]=\"createLabel()\"\n (clicked)=\"create.emit($event)\"\n />\n }\n </div>\n} @else {\n <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Cabecera \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n <div class=\"ius-entnav__head\">\n @if (hayCabecera()) {\n <div class=\"ius-entnav__titlerow\">\n @if (title()) {\n <div class=\"ius-entnav__title\">\n @if (titleIcon()) {\n <span translate=\"no\" class=\"ius-icon\">{{ titleIcon() }}</span>\n }\n {{ title() }}\n </div>\n } @else {\n <span></span>\n }\n <span class=\"ius-entnav__actions\">\n @if (showSearchToggle()) {\n <!-- El `state: pressed` del golden no se porta: IconButton omite `state`\n de su API p\u00FAblica a prop\u00F3sito (decisi\u00F3n suya, documentada). -->\n <ius-icon-button\n icon=\"search\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Buscar (\u2318K)\"\n (clicked)=\"alternarBusqueda()\"\n />\n }\n @if (collapsible()) {\n <ius-icon-button\n icon=\"left_panel_close\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n ariaLabel=\"Colapsar\"\n (clicked)=\"alternarColapso()\"\n />\n }\n </span>\n </div>\n }\n\n @if (searchVisible()) {\n <div #searchBox>\n <ius-search-bar\n [placeholder]=\"searchPlaceholder()\"\n size=\"medium\"\n [value]=\"searchValue()\"\n (valueChange)=\"onSearchValueChange($event)\"\n (search)=\"search.emit($event)\"\n (cleared)=\"searchClear.emit()\"\n />\n </div>\n }\n\n <!-- Eje de estado: excluyente, ortogonal a facetas y b\u00FAsqueda; no poda datos. -->\n @if (stateSegments()?.length) {\n <div class=\"ius-entnav__state\">\n <ius-segmented-control\n [options]=\"segmentos()\"\n [value]=\"stateVal()\"\n size=\"small\"\n variant=\"subtle\"\n fullWidth\n (valueChange)=\"elegirEstado($event)\"\n />\n </div>\n }\n\n @if (hayBarraFiltros()) {\n <div class=\"ius-entnav__filters\">\n @for (f of filters(); track f.key) {\n <ius-tag\n role=\"filter\"\n size=\"small\"\n [tone]=\"tonoFiltro(f)\"\n [icon]=\"f.icon\"\n [dot]=\"f.dot\"\n [count]=\"f.count\"\n [label]=\"f.label\"\n [selected]=\"activeKeys().has(f.key)\"\n [closable]=\"!!f.removable\"\n (clicked)=\"alternarFiltro(f.key)\"\n (closed)=\"quitarFiltro(f.key)\"\n />\n }\n\n <!-- Facetas: Tag `soft` con el tono categ\u00F3rico de su categor\u00EDa, NUNCA solid. -->\n @for (f of facets(); track f.key) {\n <ius-tag\n role=\"label\"\n variant=\"soft\"\n size=\"small\"\n [tone]=\"tonoFaceta(f)\"\n [icon]=\"f.icon\"\n closable\n [label]=\"textoFaceta(f)\"\n (closed)=\"quitarFaceta(f.key)\"\n />\n }\n\n @if (availableFilters().length) {\n <ius-popover\n trigger=\"manual\"\n [open]=\"addOpen()\"\n [dismissable]=\"true\"\n placement=\"bottom-start\"\n [offset]=\"6\"\n [showArrow]=\"false\"\n padding=\"none\"\n (openChange)=\"onAddOpenChange($event)\"\n >\n <ius-tag\n role=\"filter\"\n variant=\"outline\"\n tone=\"neutral\"\n size=\"small\"\n icon=\"add\"\n label=\"Filtro\"\n [selected]=\"addOpen()\"\n (clicked)=\"alternarMenuFiltro()\"\n />\n\n <div iusPopoverContent class=\"ius-entnav__addpanel\">\n @if (addStep(); as step) {\n <div class=\"ius-entnav__addhead\">\n <ius-menu-item\n icon=\"chevron_left\"\n [label]=\"step.label\"\n size=\"small\"\n (clicked)=\"volverDelPaso()\"\n />\n @if (step.picker === 'search') {\n <ius-search-bar\n size=\"small\"\n placeholder=\"Buscar\u2026\"\n [value]=\"addQuery()\"\n (valueChange)=\"addQuery.set($event)\"\n (cleared)=\"addQuery.set('')\"\n />\n }\n </div>\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\n @if (opcionesDelPaso().length === 0) {\n <div class=\"ius-entnav__addempty\">Sin resultados</div>\n } @else {\n @for (o of opcionesDelPaso(); track o.key) {\n <!-- El check se proyecta SIEMPRE y se oculta por CSS: un\n `<ng-content>` detr\u00E1s de un `@if` que depende de un\n contentChild se pierde en el primer render. -->\n <ius-menu-item\n [label]=\"o.label\"\n size=\"small\"\n [selected]=\"facetaActiva(step, o)\"\n (clicked)=\"elegirValor(step, o)\"\n >\n <span\n iusMenuItemTrailing\n translate=\"no\"\n class=\"ius-icon\"\n [class.ius-entnav__check--off]=\"!facetaActiva(step, o)\"\n >check</span\n >\n </ius-menu-item>\n }\n }\n </div>\n } @else {\n <div class=\"ius-entnav__addlist ius-scroll ius-scroll--sm\">\n @for (a of categoriasDisponibles(); track a.key) {\n <ius-menu-item\n [icon]=\"a.icon\"\n [label]=\"a.label\"\n size=\"small\"\n (clicked)=\"elegirCategoria(a)\"\n >\n <span\n iusMenuItemTrailing\n translate=\"no\"\n class=\"ius-icon\"\n [class.ius-entnav__check--off]=\"!a.picker\"\n >chevron_right</span\n >\n </ius-menu-item>\n }\n </div>\n }\n </div>\n </ius-popover>\n }\n </div>\n }\n\n @if (hayMeta()) {\n <div class=\"ius-entnav__meta\">\n <span>{{ metaLabel() || '' }}</span>\n @if (sortOptions()?.length) {\n <ius-dropdown\n [selectable]=\"true\"\n [value]=\"sortValue()\"\n label=\"Ordenar por\"\n tone=\"neutral\"\n [items]=\"sortOptions() ?? []\"\n placement=\"bottom-end\"\n (valueChange)=\"onSort($event)\"\n />\n } @else if (sortLabel()) {\n <button type=\"button\" class=\"ius-entnav__sort\" (click)=\"sort.emit({ value: sortValue() })\">\n {{ sortLabel() }}\n <span translate=\"no\" class=\"ius-icon\">expand_more</span>\n </button>\n }\n </div>\n }\n </div>\n\n <!-- Secci\u00F3n fijada: vive FUERA del cuerpo con scroll (no entra en la ventana\n de render ni en el cursor aritm\u00E9tico de la virtualizaci\u00F3n). -->\n @if (modelo().fijada; as fijada) {\n <div class=\"ius-entnav__pinned\">\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: fijada }\" />\n </div>\n }\n\n <div class=\"ius-entnav__scrollwrap\">\n <div\n class=\"ius-entnav__body ius-scroll ius-scroll--sm\"\n #body\n [attr.data-scrolled]=\"bodyScrolled() ? 'true' : null\"\n >\n @if (vacio()) {\n <div class=\"ius-entnav__empty\">\n @if (emptyStateTemplate(); as tpl) {\n <ng-container [ngTemplateOutlet]=\"tpl\" />\n } @else {\n <ius-empty-state\n variant=\"no-results\"\n size=\"compact\"\n [title]=\"noResultsLabel()\"\n [description]=\"descripcionVacio()\"\n />\n }\n </div>\n } @else {\n @for (s of modelo().secciones; track s.gk) {\n <ng-container [ngTemplateOutlet]=\"seccionTpl\" [ngTemplateOutletContext]=\"{ $implicit: s }\" />\n }\n }\n </div>\n\n <!-- \u00CDndice alfab\u00E9tico: navega, no reordena. Se oculta con b\u00FAsqueda/filtros. -->\n @if (alphaVisible()) {\n <nav\n class=\"ius-entnav__alpha\"\n #alpha\n role=\"navigation\"\n aria-label=\"\u00CDndice alfab\u00E9tico\"\n (keydown)=\"onRailKey($event)\"\n >\n @for (L of displayLetters(); track L) {\n <button\n type=\"button\"\n class=\"ius-entnav__alpha-let\"\n [disabled]=\"!letraHabilitada(L)\"\n [attr.data-active]=\"activeLetter() === L ? 'true' : null\"\n [attr.aria-current]=\"activeLetter() === L ? 'true' : null\"\n [attr.aria-label]=\"'Ir a ' + L\"\n [attr.tabindex]=\"letraHabilitada(L) ? (L === alphaTabStop() ? 0 : -1) : -1\"\n (click)=\"saltarALetra(L)\"\n >\n {{ L }}\n </button>\n }\n </nav>\n }\n </div>\n\n @if (hayPie()) {\n <div class=\"ius-entnav__footer\">\n <ius-button\n variant=\"primary\"\n [prefixIcon]=\"createIcon()\"\n [label]=\"createLabel()\"\n fullWidth\n class=\"ius-entnav__cta\"\n (clicked)=\"create.emit($event)\"\n />\n </div>\n }\n}\n\n<!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 Plantilla de secci\u00F3n (cuerpo y secci\u00F3n fijada comparten) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n<ng-template #seccionTpl let-s>\n <section class=\"ius-entnav__section\" [attr.data-pinned]=\"s.isPinned ? 'true' : null\">\n @if (s.hasHeader) {\n <ius-section-header\n [icon]=\"s.group.icon\"\n [count]=\"s.group.count\"\n [accent]=\"accent()\"\n [sticky]=\"s.sticky\"\n [collapsible]=\"collapsibleGroups()\"\n [collapsed]=\"s.isCollapsed\"\n (toggle)=\"alternarPlegadoGrupo(s.gk)\"\n >\n {{ s.group.label }}\n @if (pinnableGroups()) {\n <ius-icon-button\n iusSectionHeaderAction\n class=\"ius-entnav__pinbtn\"\n [class.ius-entnav__pinbtn--on]=\"s.isPinned\"\n icon=\"pinboard\"\n variant=\"tertiary\"\n shape=\"circle\"\n size=\"small\"\n [ariaLabel]=\"etiquetaPinGrupo(s.isPinned)\"\n (clicked)=\"alternarPinGrupo(s.gk)\"\n />\n }\n </ius-section-header>\n }\n\n @if (s.padTop) {\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padTop\" aria-hidden=\"true\"></div>\n }\n\n @for (d of s.visible; track d.key) {\n @switch (d.kind) {\n @case ('letter') {\n <div class=\"ius-entnav__lanchor\" #letterAnchor [attr.data-letter]=\"d.letter\">\n <ius-section-header variant=\"letter\" [accent]=\"accent()\">{{ d.letter }}</ius-section-header>\n </div>\n }\n @case ('addChild') {\n <div class=\"ius-entnav__addchild\" [style.padding-left.px]=\"padAddChild(d.level)\">\n <ius-text-button\n size=\"small\"\n prefixIcon=\"add\"\n [label]=\"d.node.addChildLabel\"\n (clicked)=\"onAddChild(d.node, $event)\"\n />\n </div>\n }\n @default {\n <ius-entity-row\n [kind]=\"d.node.kind ?? 'expediente'\"\n [icon]=\"d.node.icon\"\n [label]=\"d.node.label\"\n [sublabel]=\"d.node.sublabel\"\n [level]=\"d.level\"\n [accent]=\"accent()\"\n [expandable]=\"d.expandable\"\n [expanded]=\"d.expanded\"\n [loading]=\"d.loading\"\n [selected]=\"d.selected\"\n [count]=\"d.node.count\"\n [unread]=\"d.node.unread\"\n [hasUnread]=\"!!d.node.hasUnread\"\n [noveltyTone]=\"d.node.noveltyTone ?? 'info'\"\n [pinned]=\"!!d.node.pinned\"\n [pinnable]=\"d.canPin\"\n [actions]=\"d.node.actions ?? []\"\n (toggle)=\"alternarNodo(d.node)\"\n (togglePin)=\"onTogglePinNodo(d.node, $event)\"\n (clicked)=\"elegirNodo(d)\"\n />\n }\n }\n }\n\n @if (s.padBot) {\n <div class=\"ius-entnav__vpad\" [style.height.px]=\"s.padBot\" aria-hidden=\"true\"></div>\n }\n\n @if (s.showMore) {\n <div class=\"ius-entnav__morerow\">\n <ius-show-more\n [expanded]=\"s.moreExpanded\"\n [remaining]=\"s.moreRemaining\"\n align=\"end\"\n (toggle)=\"alternarShowMore(s.gk)\"\n />\n </div>\n }\n\n <!-- Carga por lotes: centinela (IntersectionObserver) + \u00ABCargar m\u00E1s\u00BB. -->\n @if (s.showLoadMore) {\n <div class=\"ius-entnav__loadmore\">\n @if (s.loadingMore) {\n <ius-loading variant=\"inline\" size=\"small\" [label]=\"textoCargando()\" />\n } @else {\n <div\n class=\"ius-entnav__sentinel\"\n #lmSentinel\n [attr.data-lm-group]=\"s.gk\"\n aria-hidden=\"true\"\n ></div>\n <ius-text-button size=\"small\" [label]=\"textoCargarMas()\" (clicked)=\"dispararLote(s.gk)\" />\n }\n </div>\n }\n </section>\n</ng-template>\n", styles: ["@charset \"UTF-8\";:host{box-sizing:border-box;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;width:340px;min-width:0;height:100%;background:var(--ius-surface-card);border-right:1px solid var(--ius-stroke);font-family:var(--ius-font-body)}:host([data-collapsed=true]){width:52px}:host([data-fluid=true]:not([data-collapsed=true])){width:100%}.ius-entnav__rail{display:flex;flex-direction:column;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs)}.ius-entnav__head{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xs);padding:var(--ius-space-md) var(--ius-space-md) var(--ius-space-sm);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__titlerow{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs)}.ius-entnav__actions{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);margin-right:-4px}.ius-entnav__title{font-family:var(--ius-font-display);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);letter-spacing:.06em;text-transform:uppercase;color:var(--ius-text-tertiary);display:inline-flex;align-items:center;gap:var(--ius-space-xs)}.ius-entnav__title .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__filters{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs)}.ius-entnav__state{display:flex}.ius-entnav__state+.ius-entnav__filters{padding-top:var(--ius-space-xs);border-top:1px solid var(--ius-stroke)}.ius-entnav__addpanel{display:flex;flex-direction:column;min-width:224px;max-width:300px;max-height:min(52vh,360px)}.ius-entnav__addhead{flex:0 0 auto;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);border-bottom:1px solid var(--ius-stroke)}.ius-entnav__addlist{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);--_sb-track-margin: var(--ius-space-sm)}.ius-entnav__addempty{padding:var(--ius-space-lg) var(--ius-space-sm);text-align:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__check--off{visibility:hidden}.ius-entnav__meta{display:flex;align-items:center;justify-content:space-between;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary)}.ius-entnav__meta>span:first-child{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ius-entnav__meta>ius-dropdown{flex:0 0 auto}.ius-entnav__sort{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-family:var(--ius-font-body);font-weight:var(--ius-fw-semibold);font-size:var(--ius-fs-sm);line-height:1.2;color:var(--ius-primary-700)}.ius-entnav__sort .ius-icon{font-size:var(--ius-icon-sm)}.ius-entnav__sort:focus-visible{outline:none;box-shadow:var(--ius-focus-ring);border-radius:var(--ius-radius-sm)}.ius-entnav__scrollwrap{position:relative;flex:1 1 auto;min-height:0;display:flex}.ius-entnav__body{flex:1 1 auto;min-width:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:0 var(--ius-space-xs) var(--ius-space-xs);position:relative}.ius-entnav__body[data-scrolled=true]{box-shadow:inset 0 7px 6px -6px #26262629}.ius-entnav__body[data-scrolled=true]:before{content:\"\";position:sticky;top:0;z-index:3;display:block;height:0;margin:0 -8px;border-top:1px solid var(--ius-stroke)}.ius-entnav__section{display:contents}.ius-entnav__body ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__morerow{padding:var(--ius-space-xxs) 0}ius-show-more{padding-right:var(--ius-space-xs)}.ius-entnav__loadmore{display:flex;justify-content:center;padding:var(--ius-space-xs) 0 var(--ius-space-sm)}.ius-entnav__sentinel{height:1px;margin:0;padding:0;pointer-events:none}.ius-entnav__pinned{flex:0 0 auto;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs);border-bottom:1px solid var(--ius-stroke);background:var(--ius-surface-card)}.ius-entnav__pinned ius-section-header[data-variant=group]{margin:0 -8px;padding-left:var(--ius-space-md);padding-right:var(--ius-space-md)}.ius-entnav__pinbtn{opacity:0;transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}ius-section-header:hover .ius-entnav__pinbtn,.ius-entnav__pinbtn:focus-within,.ius-entnav__pinbtn--on{opacity:1}.ius-entnav__addchild{display:flex;padding:var(--ius-space-xxs) var(--ius-space-xs) var(--ius-space-xs) 0}.ius-entnav__empty{display:flex;align-items:center;justify-content:center;min-height:220px;padding:var(--ius-space-xl) var(--ius-space-md)}.ius-entnav__footer{flex:0 0 auto;padding:var(--ius-space-sm) var(--ius-space-md);border-top:1px solid var(--ius-stroke)}.ius-entnav__cta{width:100%}.ius-entnav__alpha{flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch;gap:var(--ius-space-none);width:var(--ius-space-lg);padding:var(--ius-space-xxs) 0;overflow:hidden;-webkit-user-select:none;user-select:none}.ius-entnav__alpha-let{appearance:none;border:0;background:transparent;cursor:pointer;flex:1 1 0;min-height:0;display:inline-flex;align-items:center;justify-content:center;padding:0;font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);border-radius:var(--ius-radius-sm);transition:color var(--ius-duration-fast) var(--ius-ease-standard),background var(--ius-duration-fast) var(--ius-ease-standard)}.ius-entnav__alpha-let:hover{color:var(--ius-primary-700)}.ius-entnav__alpha-let[data-active=true]{color:var(--ius-primary-900);background:var(--ius-neutral-2);font-weight:var(--ius-fw-bold)}.ius-entnav__alpha-let:disabled{color:var(--ius-text-tertiary);opacity:.35;cursor:default}.ius-entnav__alpha-let:focus-visible{outline:none;box-shadow:var(--ius-focus-ring)}\n"] }]
|
|
17479
|
+
}], ctorParameters: () => [], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], titleIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleIcon", required: false }] }], searchable: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchable", required: false }] }], searchThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchThreshold", required: false }] }], searchPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchPlaceholder", required: false }] }], searchValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchValue", required: false }] }], filters: [{ type: i0.Input, args: [{ isSignal: true, alias: "filters", required: false }] }], selectedFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedFilters", required: false }] }], availableFilters: [{ type: i0.Input, args: [{ isSignal: true, alias: "availableFilters", required: false }] }], activeFacets: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeFacets", required: false }] }], stateSegments: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateSegments", required: false }] }], stateValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "stateValue", required: false }] }], sortLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortLabel", required: false }] }], sortOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortOptions", required: false }] }], sortValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortValue", required: false }] }], metaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "metaLabel", required: false }] }], groups: [{ type: i0.Input, args: [{ isSignal: true, alias: "groups", required: false }] }], items: [{ type: i0.Input, args: [{ isSignal: true, alias: "items", required: false }] }], accent: [{ type: i0.Input, args: [{ isSignal: true, alias: "accent", required: false }] }], defaultExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultExpanded", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], autoExpandOnFilter: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoExpandOnFilter", required: false }] }], selected: [{ type: i0.Input, args: [{ isSignal: true, alias: "selected", required: false }] }], defaultSelected: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultSelected", required: false }] }], emptyStateTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyStateTemplate", required: false }] }], noResultsLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "noResultsLabel", required: false }] }], createLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "createLabel", required: false }] }], createIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "createIcon", required: false }] }], groupLimit: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupLimit", required: false }] }], collapsibleGroups: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsibleGroups", required: false }] }], collapsedGroups: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedGroups", required: false }] }], stickyHeaders: [{ type: i0.Input, args: [{ isSignal: true, alias: "stickyHeaders", required: false }] }], pinnableGroups: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnableGroups", required: false }] }], defaultPinnedGroup: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultPinnedGroup", required: false }] }], moreLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "moreLabel", required: false }] }], alphaIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "alphaIndex", required: false }] }], alphaIndexLetters: [{ type: i0.Input, args: [{ isSignal: true, alias: "alphaIndexLetters", required: false }] }], loadMoreLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "loadMoreLabel", required: false }] }], virtualized: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualized", required: false }] }], virtualizeThreshold: [{ type: i0.Input, args: [{ isSignal: true, alias: "virtualizeThreshold", required: false }] }], itemHeights: [{ type: i0.Input, args: [{ isSignal: true, alias: "itemHeights", required: false }] }], collapsible: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsible", required: false }] }], collapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsed", required: false }] }], defaultCollapsed: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultCollapsed", required: false }] }], fluidWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fluidWidth", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }], search: [{
|
|
17403
17480
|
type: Output
|
|
17404
17481
|
}], searchChange: [{
|
|
17405
17482
|
type: Output
|
|
@@ -17431,6 +17508,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
17431
17508
|
type: Output
|
|
17432
17509
|
}], pinGroup: [{
|
|
17433
17510
|
type: Output
|
|
17511
|
+
}], groupCollapse: [{
|
|
17512
|
+
type: Output
|
|
17434
17513
|
}], more: [{
|
|
17435
17514
|
type: Output
|
|
17436
17515
|
}], collapsedChange: [{
|
|
@@ -17975,7 +18054,7 @@ class RepeatableFieldComponent {
|
|
|
17975
18054
|
useExisting: forwardRef(() => RepeatableFieldComponent),
|
|
17976
18055
|
multi: true,
|
|
17977
18056
|
},
|
|
17978
|
-
], ngImport: i0, template: "@if (label) {\
|
|
18057
|
+
], ngImport: i0, template: "@if (label) {\n <span class=\"ius-repeat__label\" [id]=\"labelId\">\n @if (required) {\n <span class=\"ius-repeat__req\" aria-hidden=\"true\"></span>\n }\n {{ label }}\n </span>\n}\n\n<div class=\"ius-repeat__rows\" role=\"group\" [attr.aria-labelledby]=\"label ? labelId : null\">\n @for (vm of filasVM(); track vm.fila.id) {\n <div class=\"ius-repeat__row\">\n @if (conTipos()) {\n <div class=\"ius-repeat__type\" [style.width]=\"anchoTipo\">\n <ius-select\n [options]=\"opcionesTipo()\"\n [value]=\"vm.fila.type ?? null\"\n [placeholder]=\"typePlaceholder\"\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n (valueChange)=\"setTipo(vm.fila.id, $event)\"\n />\n </div>\n }\n\n <div class=\"ius-repeat__control\">\n @if (renderControl) {\n <ng-container [ngTemplateOutlet]=\"renderControl\" [ngTemplateOutletContext]=\"vm.ctx\" />\n } @else {\n <!--\n `[ngModel]` de una v\u00EDa: TextField expone su valor solo por CVA (mismo\n recurso que ius-query-builder). `standalone` evita que un <form> del\n consumidor intente registrar estos inputs como controles con nombre.\n -->\n <ius-text-field\n [ngModel]=\"vm.texto\"\n [ngModelOptions]=\"ngModelSuelto\"\n [placeholder]=\"placeholder\"\n [prefixIcon]=\"prefixIcon\"\n [type]=\"tipoInput()\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [error]=\"vm.error\"\n [errorText]=\"vm.errorText\"\n [showHelpText]=\"!!vm.errorText\"\n [showClear]=\"false\"\n (ngModelChange)=\"setValor(vm.fila.id, $event)\"\n />\n }\n </div>\n\n <div class=\"ius-repeat__remove\">\n <ius-icon-button\n icon=\"close\"\n variant=\"tertiary\"\n shape=\"squared\"\n size=\"small\"\n tooltip=\"Quitar\"\n ariaLabel=\"Quitar fila\"\n [disabled]=\"vm.quitarDeshabilitado\"\n (clicked)=\"quitar(vm.fila.id)\"\n />\n </div>\n </div>\n }\n</div>\n\n<div class=\"ius-repeat__foot\">\n <ius-text-button\n [prefixIcon]=\"addIcon\"\n [label]=\"addLabel\"\n [size]=\"size\"\n [disabled]=\"disabled || alTope()\"\n (clicked)=\"agregar()\"\n />\n</div>\n\n@if (pie()) {\n <span class=\"ius-repeat__hint\">{{ pie() }}</span>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);--_rf-field-h: 40px}:host([data-size=small]){--_rf-field-h: 34px}:host([data-size=large]){--_rf-field-h: 48px}@container style(--ius-control-size: small){:host(:not([data-size])){--_rf-field-h: 34px}}@container style(--ius-control-size: large){:host(:not([data-size])){--_rf-field-h: 48px}}.ius-repeat__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font:var(--ius-fw-medium) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary)}.ius-repeat__req{width:6px;height:6px;border-radius:var(--ius-radius-pill);background:var(--ius-danger-500);flex:0 0 auto}.ius-repeat__rows{display:flex;flex-direction:column;gap:var(--ius-space-sm)}.ius-repeat__row{display:flex;align-items:flex-start;gap:var(--ius-space-xs)}.ius-repeat__type{flex:0 0 auto;width:var(--_rf-type-w, 150px)}.ius-repeat__type .ius-tf{min-width:0;max-width:none;width:100%}.ius-repeat__type ::ng-deep .ius-select__chevron{height:var(--ius-lh-base)}.ius-repeat__row ::ng-deep .ius-tf__field{align-items:center}.ius-repeat__control{flex:1 1 auto;min-width:0}.ius-repeat__control .ius-tf{max-width:none;width:100%}.ius-repeat__remove{flex:0 0 auto;height:var(--_rf-field-h);display:flex;align-items:center}.ius-repeat__foot{display:flex}.ius-repeat__hint{font:var(--ius-fw-regular) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-tertiary)}:host([data-error=true]) .ius-repeat__hint{color:var(--ius-danger-700)}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TextFieldComponent, selector: "ius-text-field", inputs: ["label", "placeholder", "required", "prefixIcon", "showClear", "helpText", "errorText", "showHelpText", "showIconHelp", "iconHelpTitle", "iconHelpContent", "error", "name", "autocomplete", "type", "size", "disabled"], outputs: ["valueChange", "cleared"] }, { kind: "component", type: SelectComponent, selector: "ius-select", inputs: ["options", "multiple", "size", "disabled", "error", "state", "open", "value", "label", "required", "placeholder", "prefixIcon", "searchable", "searchPlaceholder", "emptyText", "creatable", "createPlaceholder", "createLabel", "createFactory", "maxVisible", "helpText", "errorText", "showHelpText", "showIconHelp", "iconHelpTitle", "iconHelpContent", "showClear", "defaultOpen", "compact", "defaultValue", "id", "name"], outputs: ["valueChange", "cleared", "openChange", "created"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: TextButtonComponent, selector: "ius-text-button", inputs: ["label", "prefixIcon", "sufixIcon", "size", "disabled", "type", "ariaExpanded", "ariaControls"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
17979
18058
|
}
|
|
17980
18059
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: RepeatableFieldComponent, decorators: [{
|
|
17981
18060
|
type: Component,
|
|
@@ -17996,7 +18075,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
17996
18075
|
class: 'ius-repeat',
|
|
17997
18076
|
'[attr.data-size]': "size !== 'medium' ? size : null",
|
|
17998
18077
|
'[attr.data-error]': "error ? 'true' : null",
|
|
17999
|
-
}, template: "@if (label) {\
|
|
18078
|
+
}, template: "@if (label) {\n <span class=\"ius-repeat__label\" [id]=\"labelId\">\n @if (required) {\n <span class=\"ius-repeat__req\" aria-hidden=\"true\"></span>\n }\n {{ label }}\n </span>\n}\n\n<div class=\"ius-repeat__rows\" role=\"group\" [attr.aria-labelledby]=\"label ? labelId : null\">\n @for (vm of filasVM(); track vm.fila.id) {\n <div class=\"ius-repeat__row\">\n @if (conTipos()) {\n <div class=\"ius-repeat__type\" [style.width]=\"anchoTipo\">\n <ius-select\n [options]=\"opcionesTipo()\"\n [value]=\"vm.fila.type ?? null\"\n [placeholder]=\"typePlaceholder\"\n [searchable]=\"false\"\n [showClear]=\"false\"\n [showHelpText]=\"false\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n (valueChange)=\"setTipo(vm.fila.id, $event)\"\n />\n </div>\n }\n\n <div class=\"ius-repeat__control\">\n @if (renderControl) {\n <ng-container [ngTemplateOutlet]=\"renderControl\" [ngTemplateOutletContext]=\"vm.ctx\" />\n } @else {\n <!--\n `[ngModel]` de una v\u00EDa: TextField expone su valor solo por CVA (mismo\n recurso que ius-query-builder). `standalone` evita que un <form> del\n consumidor intente registrar estos inputs como controles con nombre.\n -->\n <ius-text-field\n [ngModel]=\"vm.texto\"\n [ngModelOptions]=\"ngModelSuelto\"\n [placeholder]=\"placeholder\"\n [prefixIcon]=\"prefixIcon\"\n [type]=\"tipoInput()\"\n [disabled]=\"disabled\"\n [size]=\"size\"\n [error]=\"vm.error\"\n [errorText]=\"vm.errorText\"\n [showHelpText]=\"!!vm.errorText\"\n [showClear]=\"false\"\n (ngModelChange)=\"setValor(vm.fila.id, $event)\"\n />\n }\n </div>\n\n <div class=\"ius-repeat__remove\">\n <ius-icon-button\n icon=\"close\"\n variant=\"tertiary\"\n shape=\"squared\"\n size=\"small\"\n tooltip=\"Quitar\"\n ariaLabel=\"Quitar fila\"\n [disabled]=\"vm.quitarDeshabilitado\"\n (clicked)=\"quitar(vm.fila.id)\"\n />\n </div>\n </div>\n }\n</div>\n\n<div class=\"ius-repeat__foot\">\n <ius-text-button\n [prefixIcon]=\"addIcon\"\n [label]=\"addLabel\"\n [size]=\"size\"\n [disabled]=\"disabled || alTope()\"\n (clicked)=\"agregar()\"\n />\n</div>\n\n@if (pie()) {\n <span class=\"ius-repeat__hint\">{{ pie() }}</span>\n}\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);--_rf-field-h: 40px}:host([data-size=small]){--_rf-field-h: 34px}:host([data-size=large]){--_rf-field-h: 48px}@container style(--ius-control-size: small){:host(:not([data-size])){--_rf-field-h: 34px}}@container style(--ius-control-size: large){:host(:not([data-size])){--_rf-field-h: 48px}}.ius-repeat__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font:var(--ius-fw-medium) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-secondary)}.ius-repeat__req{width:6px;height:6px;border-radius:var(--ius-radius-pill);background:var(--ius-danger-500);flex:0 0 auto}.ius-repeat__rows{display:flex;flex-direction:column;gap:var(--ius-space-sm)}.ius-repeat__row{display:flex;align-items:flex-start;gap:var(--ius-space-xs)}.ius-repeat__type{flex:0 0 auto;width:var(--_rf-type-w, 150px)}.ius-repeat__type .ius-tf{min-width:0;max-width:none;width:100%}.ius-repeat__type ::ng-deep .ius-select__chevron{height:var(--ius-lh-base)}.ius-repeat__row ::ng-deep .ius-tf__field{align-items:center}.ius-repeat__control{flex:1 1 auto;min-width:0}.ius-repeat__control .ius-tf{max-width:none;width:100%}.ius-repeat__remove{flex:0 0 auto;height:var(--_rf-field-h);display:flex;align-items:center}.ius-repeat__foot{display:flex}.ius-repeat__hint{font:var(--ius-fw-regular) var(--ius-fs-sm)/var(--ius-lh-sm) var(--ius-font-body);color:var(--ius-text-tertiary)}:host([data-error=true]) .ius-repeat__hint{color:var(--ius-danger-700)}\n"] }]
|
|
18000
18079
|
}], propDecorators: { items: [{
|
|
18001
18080
|
type: Input
|
|
18002
18081
|
}], defaultItems: [{
|
|
@@ -18574,7 +18653,7 @@ class BarChartComponent {
|
|
|
18574
18653
|
this.animations = [];
|
|
18575
18654
|
}
|
|
18576
18655
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18577
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: BarChartComponent, isStandalone: true, selector: "ius-bar-chart", inputs: { categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, aspectRatio: { classPropertyName: "aspectRatio", publicName: "aspectRatio", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, axisWidth: { classPropertyName: "axisWidth", publicName: "axisWidth", isSignal: true, isRequired: false, transformFunction: null }, barSize: { classPropertyName: "barSize", publicName: "barSize", isSignal: true, isRequired: false, transformFunction: null }, showCategoryAxis: { classPropertyName: "showCategoryAxis", publicName: "showCategoryAxis", isSignal: true, isRequired: false, transformFunction: null }, showValueAxis: { classPropertyName: "showValueAxis", publicName: "showValueAxis", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, valueTicks: { classPropertyName: "valueTicks", publicName: "valueTicks", isSignal: true, isRequired: false, transformFunction: null }, valueMin: { classPropertyName: "valueMin", publicName: "valueMin", isSignal: true, isRequired: false, transformFunction: null }, valueMax: { classPropertyName: "valueMax", publicName: "valueMax", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, categoryFormat: { classPropertyName: "categoryFormat", publicName: "categoryFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-dim": "active() != null ? 'true' : 'false'", "style.width.px": "width() ?? null" }, classAttribute: "ius-bchart" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\n <div class=\"ius-bchart__block\" [style.height.px]=\"frame().H\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n @if (legendOn() && !loading()) {\n <div class=\"ius-bchart__legend\">\n @for (s of seriesView(); track s.key) {\n <span class=\"ius-bchart__leg\">\n <span class=\"ius-bchart__dot\" [style.background]=\"s.color\"></span>\n {{ s.label }}\n </span>\n }\n </div>\n }\n\n <div class=\"ius-bchart__plot\">\n <svg class=\"ius-bchart__svg\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"ariaLabel() || null\">\n <!-- grilla (sobre eje de valor) -->\n @if (showGrid() && !loading()) {\n <g class=\"ius-bchart__grid\">\n @for (t of tickItems(); track $index) {\n @if (frame().vertical) {\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"t.pos\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"t.pos\" />\n } @else {\n <line [attr.x1]=\"t.pos\" [attr.y1]=\"frame().mT\" [attr.x2]=\"t.pos\" [attr.y2]=\"frame().mT + frame().innerH\" />\n }\n }\n </g>\n }\n\n <!-- eje de valor -->\n @if (showValueAxis() && !loading()) {\n @if (frame().vertical) {\n <g class=\"ius-bchart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\n @for (t of tickItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.pos\">{{ t.text }}</text>\n }\n </g>\n } @else {\n <g class=\"ius-bchart__tick\" text-anchor=\"middle\">\n @for (t of tickItems(); track $index) {\n <text [attr.x]=\"t.pos\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ t.text }}</text>\n }\n </g>\n }\n }\n\n <!-- skeleton -->\n @if (loading()) {\n <g>\n @for (r of skeletonRects(); track $index) {\n <rect class=\"ius-bchart__skel\" [attr.x]=\"r.x\" [attr.y]=\"r.y\" [attr.width]=\"r.w\" [attr.height]=\"r.h\" rx=\"3\" />\n }\n </g>\n }\n\n <!-- bandas de hover (tooltip por categor\u00EDa) -->\n @if (!loading() && showTooltip()) {\n <g>\n @for (b of hoverBands(); track b.i) {\n <rect\n class=\"ius-bchart__hover\"\n [attr.data-active]=\"active() === b.i ? 'true' : null\"\n [attr.x]=\"b.x\"\n [attr.y]=\"b.y\"\n [attr.width]=\"b.w\"\n [attr.height]=\"b.h\"\n (mouseenter)=\"onBandEnter(b.i)\"\n (mouseleave)=\"onBandLeave(b.i)\"\n />\n }\n </g>\n }\n\n <!-- barras -->\n @if (!loading()) {\n <g>\n @for (r of rects(); track $index) {\n @if (r.d) {\n <path\n class=\"ius-bchart__bar\"\n [attr.data-cat]=\"r.i\"\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\n [attr.d]=\"r.d\"\n [attr.fill]=\"r.color\"\n />\n } @else {\n <rect\n class=\"ius-bchart__bar\"\n [attr.data-cat]=\"r.i\"\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\n [attr.x]=\"r.x\"\n [attr.y]=\"r.y\"\n [attr.width]=\"r.w\"\n [attr.height]=\"r.h\"\n [attr.rx]=\"r.rx\"\n [attr.fill]=\"r.color\"\n />\n }\n }\n </g>\n }\n\n <!-- etiquetas de valor -->\n @if (valueLabelItems().length) {\n <g>\n @for (v of valueLabelItems(); track $index) {\n <text\n class=\"ius-bchart__vlabel\"\n [attr.text-anchor]=\"v.anchor\"\n [attr.dominant-baseline]=\"v.baseline\"\n [attr.x]=\"v.x\"\n [attr.y]=\"v.y\"\n >{{ v.text }}</text>\n }\n </g>\n }\n\n <!-- eje de categor\u00EDas -->\n @if (showCategoryAxis() && !loading()) {\n @if (frame().vertical) {\n <g class=\"ius-bchart__clabel\" text-anchor=\"middle\">\n <line\n class=\"ius-bchart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT + frame().innerH\"\n [attr.x2]=\"frame().mL + frame().innerW\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (c of catItems(); track $index) {\n <text [attr.x]=\"c.center\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ c.text }}</text>\n }\n </g>\n } @else {\n <g class=\"ius-bchart__clabel\" text-anchor=\"end\" dominant-baseline=\"middle\">\n <line\n class=\"ius-bchart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT\"\n [attr.x2]=\"frame().mL\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (c of catItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"c.center\">{{ c.text }}</text>\n }\n </g>\n }\n }\n </svg>\n\n <!-- tooltip (HTML) -->\n @if (tooltip(); as tip) {\n <div class=\"ius-bchart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-bchart__tip-x\">{{ tip.title }}</div>\n @for (r of tip.rows; track r.key) {\n <div class=\"ius-bchart__tip-row\">\n <span class=\"ius-bchart__dot\" [style.background]=\"r.color\"></span>\n {{ r.label }}\n <b>{{ r.value }}</b>\n </div>\n }\n @if (tip.total) {\n <div class=\"ius-bchart__tip-row ius-bchart__tip-row--total\">Total<b>{{ tip.total }}</b></div>\n }\n </div>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-bchart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-bchart__plot{position:relative}.ius-bchart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__tick,.ius-bchart__clabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-bchart__bar{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-bchart__bar:not([data-active=true]){opacity:.38}.ius-bchart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium)}.ius-bchart__hover{fill:var(--ius-neutral-2);opacity:0}.ius-bchart__hover[data-active=true]{opacity:.5}.ius-bchart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-bchart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-bchart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-bchart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-bchart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-bchart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-bchart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-bchart__tip-row--total{border-top:1px solid var(--ius-stroke);margin-top:var(--ius-space-xxs);padding-top:var(--ius-space-xxs)}.ius-bchart__skel{fill:var(--ius-neutral-2)}.ius-bchart__block{display:grid;place-items:center;min-height:160px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18656
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: BarChartComponent, isStandalone: true, selector: "ius-bar-chart", inputs: { categories: { classPropertyName: "categories", publicName: "categories", isSignal: true, isRequired: false, transformFunction: null }, series: { classPropertyName: "series", publicName: "series", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, aspectRatio: { classPropertyName: "aspectRatio", publicName: "aspectRatio", isSignal: true, isRequired: false, transformFunction: null }, minWidth: { classPropertyName: "minWidth", publicName: "minWidth", isSignal: true, isRequired: false, transformFunction: null }, axisWidth: { classPropertyName: "axisWidth", publicName: "axisWidth", isSignal: true, isRequired: false, transformFunction: null }, barSize: { classPropertyName: "barSize", publicName: "barSize", isSignal: true, isRequired: false, transformFunction: null }, showCategoryAxis: { classPropertyName: "showCategoryAxis", publicName: "showCategoryAxis", isSignal: true, isRequired: false, transformFunction: null }, showValueAxis: { classPropertyName: "showValueAxis", publicName: "showValueAxis", isSignal: true, isRequired: false, transformFunction: null }, showGrid: { classPropertyName: "showGrid", publicName: "showGrid", isSignal: true, isRequired: false, transformFunction: null }, valueTicks: { classPropertyName: "valueTicks", publicName: "valueTicks", isSignal: true, isRequired: false, transformFunction: null }, valueMin: { classPropertyName: "valueMin", publicName: "valueMin", isSignal: true, isRequired: false, transformFunction: null }, valueMax: { classPropertyName: "valueMax", publicName: "valueMax", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, categoryFormat: { classPropertyName: "categoryFormat", publicName: "categoryFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-dim": "active() != null ? 'true' : 'false'", "style.width.px": "width() ?? null" }, classAttribute: "ius-bchart" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\r\n <div class=\"ius-bchart__block\" [style.height.px]=\"frame().H\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n @if (legendOn() && !loading()) {\r\n <div class=\"ius-bchart__legend\">\r\n @for (s of seriesView(); track s.key) {\r\n <span class=\"ius-bchart__leg\">\r\n <span class=\"ius-bchart__dot\" [style.background]=\"s.color\"></span>\r\n {{ s.label }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-bchart__plot\">\r\n <svg class=\"ius-bchart__svg\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"ariaLabel() || null\">\r\n <!-- grilla (sobre eje de valor) -->\r\n @if (showGrid() && !loading()) {\r\n <g class=\"ius-bchart__grid\">\r\n @for (t of tickItems(); track $index) {\r\n @if (frame().vertical) {\r\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"t.pos\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"t.pos\" />\r\n } @else {\r\n <line [attr.x1]=\"t.pos\" [attr.y1]=\"frame().mT\" [attr.x2]=\"t.pos\" [attr.y2]=\"frame().mT + frame().innerH\" />\r\n }\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje de valor -->\r\n @if (showValueAxis() && !loading()) {\r\n @if (frame().vertical) {\r\n <g class=\"ius-bchart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n @for (t of tickItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.pos\">{{ t.text }}</text>\r\n }\r\n </g>\r\n } @else {\r\n <g class=\"ius-bchart__tick\" text-anchor=\"middle\">\r\n @for (t of tickItems(); track $index) {\r\n <text [attr.x]=\"t.pos\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ t.text }}</text>\r\n }\r\n </g>\r\n }\r\n }\r\n\r\n <!-- skeleton -->\r\n @if (loading()) {\r\n <g>\r\n @for (r of skeletonRects(); track $index) {\r\n <rect class=\"ius-bchart__skel\" [attr.x]=\"r.x\" [attr.y]=\"r.y\" [attr.width]=\"r.w\" [attr.height]=\"r.h\" rx=\"3\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- bandas de hover (tooltip por categor\u00EDa) -->\r\n @if (!loading() && showTooltip()) {\r\n <g>\r\n @for (b of hoverBands(); track b.i) {\r\n <rect\r\n class=\"ius-bchart__hover\"\r\n [attr.data-active]=\"active() === b.i ? 'true' : null\"\r\n [attr.x]=\"b.x\"\r\n [attr.y]=\"b.y\"\r\n [attr.width]=\"b.w\"\r\n [attr.height]=\"b.h\"\r\n (mouseenter)=\"onBandEnter(b.i)\"\r\n (mouseleave)=\"onBandLeave(b.i)\"\r\n />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- barras -->\r\n @if (!loading()) {\r\n <g>\r\n @for (r of rects(); track $index) {\r\n @if (r.d) {\r\n <path\r\n class=\"ius-bchart__bar\"\r\n [attr.data-cat]=\"r.i\"\r\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\r\n [attr.d]=\"r.d\"\r\n [attr.fill]=\"r.color\"\r\n />\r\n } @else {\r\n <rect\r\n class=\"ius-bchart__bar\"\r\n [attr.data-cat]=\"r.i\"\r\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\r\n [attr.x]=\"r.x\"\r\n [attr.y]=\"r.y\"\r\n [attr.width]=\"r.w\"\r\n [attr.height]=\"r.h\"\r\n [attr.rx]=\"r.rx\"\r\n [attr.fill]=\"r.color\"\r\n />\r\n }\r\n }\r\n </g>\r\n }\r\n\r\n <!-- etiquetas de valor -->\r\n @if (valueLabelItems().length) {\r\n <g>\r\n @for (v of valueLabelItems(); track $index) {\r\n <text\r\n class=\"ius-bchart__vlabel\"\r\n [attr.text-anchor]=\"v.anchor\"\r\n [attr.dominant-baseline]=\"v.baseline\"\r\n [attr.x]=\"v.x\"\r\n [attr.y]=\"v.y\"\r\n >{{ v.text }}</text>\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje de categor\u00EDas -->\r\n @if (showCategoryAxis() && !loading()) {\r\n @if (frame().vertical) {\r\n <g class=\"ius-bchart__clabel\" text-anchor=\"middle\">\r\n <line\r\n class=\"ius-bchart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT + frame().innerH\"\r\n [attr.x2]=\"frame().mL + frame().innerW\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (c of catItems(); track $index) {\r\n <text [attr.x]=\"c.center\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ c.text }}</text>\r\n }\r\n </g>\r\n } @else {\r\n <g class=\"ius-bchart__clabel\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n <line\r\n class=\"ius-bchart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT\"\r\n [attr.x2]=\"frame().mL\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (c of catItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"c.center\">{{ c.text }}</text>\r\n }\r\n </g>\r\n }\r\n }\r\n </svg>\r\n\r\n <!-- tooltip (HTML) -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-bchart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-bchart__tip-x\">{{ tip.title }}</div>\r\n @for (r of tip.rows; track r.key) {\r\n <div class=\"ius-bchart__tip-row\">\r\n <span class=\"ius-bchart__dot\" [style.background]=\"r.color\"></span>\r\n {{ r.label }}\r\n <b>{{ r.value }}</b>\r\n </div>\r\n }\r\n @if (tip.total) {\r\n <div class=\"ius-bchart__tip-row ius-bchart__tip-row--total\">Total<b>{{ tip.total }}</b></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-bchart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-bchart__plot{position:relative}.ius-bchart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__tick,.ius-bchart__clabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-bchart__bar{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-bchart__bar:not([data-active=true]){opacity:.38}.ius-bchart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium)}.ius-bchart__hover{fill:var(--ius-neutral-2);opacity:0}.ius-bchart__hover[data-active=true]{opacity:.5}.ius-bchart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-bchart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-bchart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-bchart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-bchart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-bchart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-bchart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-bchart__tip-row--total{border-top:1px solid var(--ius-stroke);margin-top:var(--ius-space-xxs);padding-top:var(--ius-space-xxs)}.ius-bchart__skel{fill:var(--ius-neutral-2)}.ius-bchart__block{display:grid;place-items:center;min-height:160px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18578
18657
|
}
|
|
18579
18658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: BarChartComponent, decorators: [{
|
|
18580
18659
|
type: Component,
|
|
@@ -18582,7 +18661,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
18582
18661
|
class: 'ius-bchart',
|
|
18583
18662
|
'[attr.data-dim]': "active() != null ? 'true' : 'false'",
|
|
18584
18663
|
'[style.width.px]': 'width() ?? null',
|
|
18585
|
-
}, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\n <div class=\"ius-bchart__block\" [style.height.px]=\"frame().H\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n @if (legendOn() && !loading()) {\n <div class=\"ius-bchart__legend\">\n @for (s of seriesView(); track s.key) {\n <span class=\"ius-bchart__leg\">\n <span class=\"ius-bchart__dot\" [style.background]=\"s.color\"></span>\n {{ s.label }}\n </span>\n }\n </div>\n }\n\n <div class=\"ius-bchart__plot\">\n <svg class=\"ius-bchart__svg\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"ariaLabel() || null\">\n <!-- grilla (sobre eje de valor) -->\n @if (showGrid() && !loading()) {\n <g class=\"ius-bchart__grid\">\n @for (t of tickItems(); track $index) {\n @if (frame().vertical) {\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"t.pos\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"t.pos\" />\n } @else {\n <line [attr.x1]=\"t.pos\" [attr.y1]=\"frame().mT\" [attr.x2]=\"t.pos\" [attr.y2]=\"frame().mT + frame().innerH\" />\n }\n }\n </g>\n }\n\n <!-- eje de valor -->\n @if (showValueAxis() && !loading()) {\n @if (frame().vertical) {\n <g class=\"ius-bchart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\n @for (t of tickItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.pos\">{{ t.text }}</text>\n }\n </g>\n } @else {\n <g class=\"ius-bchart__tick\" text-anchor=\"middle\">\n @for (t of tickItems(); track $index) {\n <text [attr.x]=\"t.pos\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ t.text }}</text>\n }\n </g>\n }\n }\n\n <!-- skeleton -->\n @if (loading()) {\n <g>\n @for (r of skeletonRects(); track $index) {\n <rect class=\"ius-bchart__skel\" [attr.x]=\"r.x\" [attr.y]=\"r.y\" [attr.width]=\"r.w\" [attr.height]=\"r.h\" rx=\"3\" />\n }\n </g>\n }\n\n <!-- bandas de hover (tooltip por categor\u00EDa) -->\n @if (!loading() && showTooltip()) {\n <g>\n @for (b of hoverBands(); track b.i) {\n <rect\n class=\"ius-bchart__hover\"\n [attr.data-active]=\"active() === b.i ? 'true' : null\"\n [attr.x]=\"b.x\"\n [attr.y]=\"b.y\"\n [attr.width]=\"b.w\"\n [attr.height]=\"b.h\"\n (mouseenter)=\"onBandEnter(b.i)\"\n (mouseleave)=\"onBandLeave(b.i)\"\n />\n }\n </g>\n }\n\n <!-- barras -->\n @if (!loading()) {\n <g>\n @for (r of rects(); track $index) {\n @if (r.d) {\n <path\n class=\"ius-bchart__bar\"\n [attr.data-cat]=\"r.i\"\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\n [attr.d]=\"r.d\"\n [attr.fill]=\"r.color\"\n />\n } @else {\n <rect\n class=\"ius-bchart__bar\"\n [attr.data-cat]=\"r.i\"\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\n [attr.x]=\"r.x\"\n [attr.y]=\"r.y\"\n [attr.width]=\"r.w\"\n [attr.height]=\"r.h\"\n [attr.rx]=\"r.rx\"\n [attr.fill]=\"r.color\"\n />\n }\n }\n </g>\n }\n\n <!-- etiquetas de valor -->\n @if (valueLabelItems().length) {\n <g>\n @for (v of valueLabelItems(); track $index) {\n <text\n class=\"ius-bchart__vlabel\"\n [attr.text-anchor]=\"v.anchor\"\n [attr.dominant-baseline]=\"v.baseline\"\n [attr.x]=\"v.x\"\n [attr.y]=\"v.y\"\n >{{ v.text }}</text>\n }\n </g>\n }\n\n <!-- eje de categor\u00EDas -->\n @if (showCategoryAxis() && !loading()) {\n @if (frame().vertical) {\n <g class=\"ius-bchart__clabel\" text-anchor=\"middle\">\n <line\n class=\"ius-bchart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT + frame().innerH\"\n [attr.x2]=\"frame().mL + frame().innerW\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (c of catItems(); track $index) {\n <text [attr.x]=\"c.center\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ c.text }}</text>\n }\n </g>\n } @else {\n <g class=\"ius-bchart__clabel\" text-anchor=\"end\" dominant-baseline=\"middle\">\n <line\n class=\"ius-bchart__axisline\"\n [attr.x1]=\"frame().mL\"\n [attr.y1]=\"frame().mT\"\n [attr.x2]=\"frame().mL\"\n [attr.y2]=\"frame().mT + frame().innerH\"\n />\n @for (c of catItems(); track $index) {\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"c.center\">{{ c.text }}</text>\n }\n </g>\n }\n }\n </svg>\n\n <!-- tooltip (HTML) -->\n @if (tooltip(); as tip) {\n <div class=\"ius-bchart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-bchart__tip-x\">{{ tip.title }}</div>\n @for (r of tip.rows; track r.key) {\n <div class=\"ius-bchart__tip-row\">\n <span class=\"ius-bchart__dot\" [style.background]=\"r.color\"></span>\n {{ r.label }}\n <b>{{ r.value }}</b>\n </div>\n }\n @if (tip.total) {\n <div class=\"ius-bchart__tip-row ius-bchart__tip-row--total\">Total<b>{{ tip.total }}</b></div>\n }\n </div>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-bchart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-bchart__plot{position:relative}.ius-bchart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__tick,.ius-bchart__clabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-bchart__bar{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-bchart__bar:not([data-active=true]){opacity:.38}.ius-bchart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium)}.ius-bchart__hover{fill:var(--ius-neutral-2);opacity:0}.ius-bchart__hover[data-active=true]{opacity:.5}.ius-bchart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-bchart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-bchart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-bchart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-bchart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-bchart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-bchart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-bchart__tip-row--total{border-top:1px solid var(--ius-stroke);margin-top:var(--ius-space-xxs);padding-top:var(--ius-space-xxs)}.ius-bchart__skel{fill:var(--ius-neutral-2)}.ius-bchart__block{display:grid;place-items:center;min-height:160px}\n"] }]
|
|
18664
|
+
}, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor), a la altura del \u00E1rea. -->\r\n <div class=\"ius-bchart__block\" [style.height.px]=\"frame().H\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n @if (legendOn() && !loading()) {\r\n <div class=\"ius-bchart__legend\">\r\n @for (s of seriesView(); track s.key) {\r\n <span class=\"ius-bchart__leg\">\r\n <span class=\"ius-bchart__dot\" [style.background]=\"s.color\"></span>\r\n {{ s.label }}\r\n </span>\r\n }\r\n </div>\r\n }\r\n\r\n <div class=\"ius-bchart__plot\">\r\n <svg class=\"ius-bchart__svg\" [attr.viewBox]=\"viewBox()\" role=\"img\" [attr.aria-label]=\"ariaLabel() || null\">\r\n <!-- grilla (sobre eje de valor) -->\r\n @if (showGrid() && !loading()) {\r\n <g class=\"ius-bchart__grid\">\r\n @for (t of tickItems(); track $index) {\r\n @if (frame().vertical) {\r\n <line [attr.x1]=\"frame().mL\" [attr.y1]=\"t.pos\" [attr.x2]=\"frame().mL + frame().innerW\" [attr.y2]=\"t.pos\" />\r\n } @else {\r\n <line [attr.x1]=\"t.pos\" [attr.y1]=\"frame().mT\" [attr.x2]=\"t.pos\" [attr.y2]=\"frame().mT + frame().innerH\" />\r\n }\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje de valor -->\r\n @if (showValueAxis() && !loading()) {\r\n @if (frame().vertical) {\r\n <g class=\"ius-bchart__tick\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n @for (t of tickItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"t.pos\">{{ t.text }}</text>\r\n }\r\n </g>\r\n } @else {\r\n <g class=\"ius-bchart__tick\" text-anchor=\"middle\">\r\n @for (t of tickItems(); track $index) {\r\n <text [attr.x]=\"t.pos\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ t.text }}</text>\r\n }\r\n </g>\r\n }\r\n }\r\n\r\n <!-- skeleton -->\r\n @if (loading()) {\r\n <g>\r\n @for (r of skeletonRects(); track $index) {\r\n <rect class=\"ius-bchart__skel\" [attr.x]=\"r.x\" [attr.y]=\"r.y\" [attr.width]=\"r.w\" [attr.height]=\"r.h\" rx=\"3\" />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- bandas de hover (tooltip por categor\u00EDa) -->\r\n @if (!loading() && showTooltip()) {\r\n <g>\r\n @for (b of hoverBands(); track b.i) {\r\n <rect\r\n class=\"ius-bchart__hover\"\r\n [attr.data-active]=\"active() === b.i ? 'true' : null\"\r\n [attr.x]=\"b.x\"\r\n [attr.y]=\"b.y\"\r\n [attr.width]=\"b.w\"\r\n [attr.height]=\"b.h\"\r\n (mouseenter)=\"onBandEnter(b.i)\"\r\n (mouseleave)=\"onBandLeave(b.i)\"\r\n />\r\n }\r\n </g>\r\n }\r\n\r\n <!-- barras -->\r\n @if (!loading()) {\r\n <g>\r\n @for (r of rects(); track $index) {\r\n @if (r.d) {\r\n <path\r\n class=\"ius-bchart__bar\"\r\n [attr.data-cat]=\"r.i\"\r\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\r\n [attr.d]=\"r.d\"\r\n [attr.fill]=\"r.color\"\r\n />\r\n } @else {\r\n <rect\r\n class=\"ius-bchart__bar\"\r\n [attr.data-cat]=\"r.i\"\r\n [attr.data-active]=\"active() === r.i ? 'true' : null\"\r\n [attr.x]=\"r.x\"\r\n [attr.y]=\"r.y\"\r\n [attr.width]=\"r.w\"\r\n [attr.height]=\"r.h\"\r\n [attr.rx]=\"r.rx\"\r\n [attr.fill]=\"r.color\"\r\n />\r\n }\r\n }\r\n </g>\r\n }\r\n\r\n <!-- etiquetas de valor -->\r\n @if (valueLabelItems().length) {\r\n <g>\r\n @for (v of valueLabelItems(); track $index) {\r\n <text\r\n class=\"ius-bchart__vlabel\"\r\n [attr.text-anchor]=\"v.anchor\"\r\n [attr.dominant-baseline]=\"v.baseline\"\r\n [attr.x]=\"v.x\"\r\n [attr.y]=\"v.y\"\r\n >{{ v.text }}</text>\r\n }\r\n </g>\r\n }\r\n\r\n <!-- eje de categor\u00EDas -->\r\n @if (showCategoryAxis() && !loading()) {\r\n @if (frame().vertical) {\r\n <g class=\"ius-bchart__clabel\" text-anchor=\"middle\">\r\n <line\r\n class=\"ius-bchart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT + frame().innerH\"\r\n [attr.x2]=\"frame().mL + frame().innerW\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (c of catItems(); track $index) {\r\n <text [attr.x]=\"c.center\" [attr.y]=\"frame().mT + frame().innerH + 18\">{{ c.text }}</text>\r\n }\r\n </g>\r\n } @else {\r\n <g class=\"ius-bchart__clabel\" text-anchor=\"end\" dominant-baseline=\"middle\">\r\n <line\r\n class=\"ius-bchart__axisline\"\r\n [attr.x1]=\"frame().mL\"\r\n [attr.y1]=\"frame().mT\"\r\n [attr.x2]=\"frame().mL\"\r\n [attr.y2]=\"frame().mT + frame().innerH\"\r\n />\r\n @for (c of catItems(); track $index) {\r\n <text [attr.x]=\"frame().mL - 8\" [attr.y]=\"c.center\">{{ c.text }}</text>\r\n }\r\n </g>\r\n }\r\n }\r\n </svg>\r\n\r\n <!-- tooltip (HTML) -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-bchart__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-bchart__tip-x\">{{ tip.title }}</div>\r\n @for (r of tip.rows; track r.key) {\r\n <div class=\"ius-bchart__tip-row\">\r\n <span class=\"ius-bchart__dot\" [style.background]=\"r.color\"></span>\r\n {{ r.label }}\r\n <b>{{ r.value }}</b>\r\n </div>\r\n }\r\n @if (tip.total) {\r\n <div class=\"ius-bchart__tip-row ius-bchart__tip-row--total\">Total<b>{{ tip.total }}</b></div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:block;width:100%;box-sizing:border-box;font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}.ius-bchart__svg{display:block;width:100%;height:auto;overflow:visible}.ius-bchart__plot{position:relative}.ius-bchart__grid line{stroke:var(--ius-neutral-3);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__axisline{stroke:var(--ius-stroke);stroke-width:1;shape-rendering:crispEdges}.ius-bchart__tick,.ius-bchart__clabel{fill:var(--ius-text-tertiary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm)}.ius-bchart__bar{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-bchart__bar:not([data-active=true]){opacity:.38}.ius-bchart__vlabel{fill:var(--ius-text-secondary);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium)}.ius-bchart__hover{fill:var(--ius-neutral-2);opacity:0}.ius-bchart__hover[data-active=true]{opacity:.5}.ius-bchart__legend{display:flex;flex-wrap:wrap;gap:var(--ius-space-xs) var(--ius-space-md);margin-bottom:var(--ius-space-sm)}.ius-bchart__leg{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-bchart__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-bchart__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:132px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - var(--ius-space-sm)))}.ius-bchart__tip-x{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-bold);color:var(--ius-text-primary);margin-bottom:var(--ius-space-xxs);white-space:nowrap}.ius-bchart__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-bchart__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-bchart__tip-row--total{border-top:1px solid var(--ius-stroke);margin-top:var(--ius-space-xxs);padding-top:var(--ius-space-xxs)}.ius-bchart__skel{fill:var(--ius-neutral-2)}.ius-bchart__block{display:grid;place-items:center;min-height:160px}\n"] }]
|
|
18586
18665
|
}], ctorParameters: () => [], propDecorators: { categories: [{ type: i0.Input, args: [{ isSignal: true, alias: "categories", required: false }] }], series: [{ type: i0.Input, args: [{ isSignal: true, alias: "series", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], stacked: [{ type: i0.Input, args: [{ isSignal: true, alias: "stacked", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], aspectRatio: [{ type: i0.Input, args: [{ isSignal: true, alias: "aspectRatio", required: false }] }], minWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "minWidth", required: false }] }], axisWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "axisWidth", required: false }] }], barSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "barSize", required: false }] }], showCategoryAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCategoryAxis", required: false }] }], showValueAxis: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValueAxis", required: false }] }], showGrid: [{ type: i0.Input, args: [{ isSignal: true, alias: "showGrid", required: false }] }], valueTicks: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTicks", required: false }] }], valueMin: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueMin", required: false }] }], valueMax: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueMax", required: false }] }], showValueLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showValueLabels", required: false }] }], showLegend: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLegend", required: false }] }], showTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTooltip", required: false }] }], valueFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormat", required: false }] }], categoryFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "categoryFormat", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTemplate", required: false }] }], emptyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTitle", required: false }] }], emptyDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyDescription", required: false }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
|
|
18587
18666
|
|
|
18588
18667
|
/** Duración de la entrada (WAAPI) y red de seguridad que deja la dona completa. */
|
|
@@ -18920,7 +18999,7 @@ class DonutChartComponent {
|
|
|
18920
18999
|
this.animations = [];
|
|
18921
19000
|
}
|
|
18922
19001
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DonutChartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18923
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: DonutChartComponent, isStandalone: true, selector: "ius-donut-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, startAngle: { classPropertyName: "startAngle", publicName: "startAngle", isSignal: true, isRequired: false, transformFunction: null }, padAngle: { classPropertyName: "padAngle", publicName: "padAngle", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, legendPosition: { classPropertyName: "legendPosition", publicName: "legendPosition", isSignal: true, isRequired: false, transformFunction: null }, legendValues: { classPropertyName: "legendValues", publicName: "legendValues", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, centerLabel: { classPropertyName: "centerLabel", publicName: "centerLabel", isSignal: true, isRequired: false, transformFunction: null }, centerSublabel: { classPropertyName: "centerSublabel", publicName: "centerSublabel", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-legend": "legendPosition()", "attr.data-dim": "active() != null ? 'true' : 'false'" }, classAttribute: "ius-donut" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor). -->\n <div class=\"ius-donut__block\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n <div class=\"ius-donut__chart\" [style.width.px]=\"geo().D\" [style.height.px]=\"geo().D\">\n <svg\n class=\"ius-donut__svg\"\n [attr.width]=\"geo().D\"\n [attr.height]=\"geo().D\"\n [attr.viewBox]=\"viewBox()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n @if (loading()) {\n <circle\n class=\"ius-donut__skel\"\n [attr.cx]=\"geo().cx\"\n [attr.cy]=\"geo().cy\"\n [attr.r]=\"geo().rMid\"\n [attr.stroke-width]=\"geo().ringW\"\n />\n } @else {\n <g class=\"ius-donut__slices\">\n @if (slices().length === 1) {\n <circle\n class=\"ius-donut__seg\"\n [attr.cx]=\"geo().cx\"\n [attr.cy]=\"geo().cy\"\n [attr.r]=\"geo().rMid\"\n fill=\"none\"\n [attr.stroke]=\"slices()[0].color\"\n [attr.stroke-width]=\"geo().ringW\"\n />\n } @else {\n @for (sl of slices(); track sl.key) {\n <path\n class=\"ius-donut__seg\"\n [attr.data-active]=\"active() === sl.i ? 'true' : null\"\n [attr.d]=\"sl.d\"\n [attr.fill]=\"sl.color\"\n (mouseenter)=\"onSegEnter(sl.i)\"\n (mouseleave)=\"onSegLeave(sl.i)\"\n />\n }\n }\n @for (l of sliceLabels(); track l.key) {\n <text class=\"ius-donut__slabel\" [attr.x]=\"l.x\" [attr.y]=\"l.y\">{{ l.text }}</text>\n }\n </g>\n }\n </svg>\n\n @if (centerOn()) {\n <div class=\"ius-donut__center\">\n <div>\n @if (centerMain(); as main) {\n <div class=\"ius-donut__center-main\">{{ main }}</div>\n }\n @if (centerSublabel(); as sub) {\n <div class=\"ius-donut__center-sub\">{{ sub }}</div>\n }\n </div>\n </div>\n }\n\n <!-- tooltip -->\n @if (tooltip(); as tip) {\n <div class=\"ius-donut__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-donut__tip-row\">\n <span class=\"ius-donut__dot\" [style.background]=\"tip.color\"></span>\n {{ tip.label }}\n <b>{{ tip.value }}</b>\n </div>\n <div class=\"ius-donut__tip-pct\">{{ tip.pct }}</div>\n </div>\n }\n </div>\n\n @if (showLegend() && !loading()) {\n <div class=\"ius-donut__legend\">\n @for (item of legendItems(); track item.key) {\n <span\n class=\"ius-donut__leg\"\n [attr.data-active]=\"active() === item.i ? 'true' : null\"\n (mouseenter)=\"onSegEnter(item.i)\"\n (mouseleave)=\"onSegLeave(item.i)\"\n >\n <span class=\"ius-donut__dot\" [style.background]=\"item.color\"></span>\n <span class=\"ius-donut__leg-label\">{{ item.label }}</span>\n @if (legendValues()) {\n <span class=\"ius-donut__leg-val\">{{ item.val }}</span>\n }\n </span>\n }\n </div>\n }\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:flex;width:100%;box-sizing:border-box;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}:host([data-legend=right]){flex-direction:row;align-items:center}:host([data-legend=bottom]){flex-direction:column;align-items:center}.ius-donut__chart{position:relative;flex:0 0 auto}.ius-donut__svg{display:block;overflow:visible}.ius-donut__seg{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-donut__seg:not([data-active=true]){opacity:.4}.ius-donut__slabel{fill:var(--ius-neutral-white);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.ius-donut__center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.ius-donut__center-main{font-family:var(--ius-font-display);font-weight:var(--ius-fw-bold);font-size:var(--ius-fs-h4);line-height:var(--ius-lh-h4);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-donut__center-sub{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-donut__legend{display:flex;flex-direction:column;gap:var(--ius-space-xs);min-width:0;flex:1 1 auto}:host([data-legend=bottom]) .ius-donut__legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--ius-space-xs) var(--ius-space-md);flex:0 0 auto}.ius-donut__leg{display:flex;align-items:center;gap:var(--ius-space-xs);min-width:0;font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);cursor:default}:host([data-legend=bottom]) .ius-donut__leg{flex:0 0 auto}.ius-donut__leg[data-active=true]{color:var(--ius-text-primary)}.ius-donut__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-donut__leg-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([data-legend=bottom]) .ius-donut__leg-label{flex:0 0 auto}.ius-donut__leg-val{flex:0 0 auto;margin-left:auto;padding-left:var(--ius-space-sm);white-space:nowrap;color:var(--ius-text-primary);font-variant-numeric:tabular-nums}:host([data-legend=bottom]) .ius-donut__leg-val{margin-left:0}.ius-donut__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:120px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - 10px))}.ius-donut__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-donut__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-donut__tip-pct{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);text-align:right}.ius-donut__skel{fill:none;stroke:var(--ius-neutral-2)}.ius-donut__block{display:grid;place-items:center;min-height:160px;width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19002
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: DonutChartComponent, isStandalone: true, selector: "ius-donut-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, startAngle: { classPropertyName: "startAngle", publicName: "startAngle", isSignal: true, isRequired: false, transformFunction: null }, padAngle: { classPropertyName: "padAngle", publicName: "padAngle", isSignal: true, isRequired: false, transformFunction: null }, showLegend: { classPropertyName: "showLegend", publicName: "showLegend", isSignal: true, isRequired: false, transformFunction: null }, legendPosition: { classPropertyName: "legendPosition", publicName: "legendPosition", isSignal: true, isRequired: false, transformFunction: null }, legendValues: { classPropertyName: "legendValues", publicName: "legendValues", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, showTooltip: { classPropertyName: "showTooltip", publicName: "showTooltip", isSignal: true, isRequired: false, transformFunction: null }, centerLabel: { classPropertyName: "centerLabel", publicName: "centerLabel", isSignal: true, isRequired: false, transformFunction: null }, centerSublabel: { classPropertyName: "centerSublabel", publicName: "centerSublabel", isSignal: true, isRequired: false, transformFunction: null }, valueFormat: { classPropertyName: "valueFormat", publicName: "valueFormat", isSignal: true, isRequired: false, transformFunction: null }, unit: { classPropertyName: "unit", publicName: "unit", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, emptyTemplate: { classPropertyName: "emptyTemplate", publicName: "emptyTemplate", isSignal: true, isRequired: false, transformFunction: null }, emptyTitle: { classPropertyName: "emptyTitle", publicName: "emptyTitle", isSignal: true, isRequired: false, transformFunction: null }, emptyDescription: { classPropertyName: "emptyDescription", publicName: "emptyDescription", isSignal: true, isRequired: false, transformFunction: null }, animate: { classPropertyName: "animate", publicName: "animate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-legend": "legendPosition()", "attr.data-dim": "active() != null ? 'true' : 'false'" }, classAttribute: "ius-donut" }, ngImport: i0, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor). -->\r\n <div class=\"ius-donut__block\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n <div class=\"ius-donut__chart\" [style.width.px]=\"geo().D\" [style.height.px]=\"geo().D\">\r\n <svg\r\n class=\"ius-donut__svg\"\r\n [attr.width]=\"geo().D\"\r\n [attr.height]=\"geo().D\"\r\n [attr.viewBox]=\"viewBox()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n >\r\n @if (loading()) {\r\n <circle\r\n class=\"ius-donut__skel\"\r\n [attr.cx]=\"geo().cx\"\r\n [attr.cy]=\"geo().cy\"\r\n [attr.r]=\"geo().rMid\"\r\n [attr.stroke-width]=\"geo().ringW\"\r\n />\r\n } @else {\r\n <g class=\"ius-donut__slices\">\r\n @if (slices().length === 1) {\r\n <circle\r\n class=\"ius-donut__seg\"\r\n [attr.cx]=\"geo().cx\"\r\n [attr.cy]=\"geo().cy\"\r\n [attr.r]=\"geo().rMid\"\r\n fill=\"none\"\r\n [attr.stroke]=\"slices()[0].color\"\r\n [attr.stroke-width]=\"geo().ringW\"\r\n />\r\n } @else {\r\n @for (sl of slices(); track sl.key) {\r\n <path\r\n class=\"ius-donut__seg\"\r\n [attr.data-active]=\"active() === sl.i ? 'true' : null\"\r\n [attr.d]=\"sl.d\"\r\n [attr.fill]=\"sl.color\"\r\n (mouseenter)=\"onSegEnter(sl.i)\"\r\n (mouseleave)=\"onSegLeave(sl.i)\"\r\n />\r\n }\r\n }\r\n @for (l of sliceLabels(); track l.key) {\r\n <text class=\"ius-donut__slabel\" [attr.x]=\"l.x\" [attr.y]=\"l.y\">{{ l.text }}</text>\r\n }\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (centerOn()) {\r\n <div class=\"ius-donut__center\">\r\n <div>\r\n @if (centerMain(); as main) {\r\n <div class=\"ius-donut__center-main\">{{ main }}</div>\r\n }\r\n @if (centerSublabel(); as sub) {\r\n <div class=\"ius-donut__center-sub\">{{ sub }}</div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- tooltip -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-donut__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-donut__tip-row\">\r\n <span class=\"ius-donut__dot\" [style.background]=\"tip.color\"></span>\r\n {{ tip.label }}\r\n <b>{{ tip.value }}</b>\r\n </div>\r\n <div class=\"ius-donut__tip-pct\">{{ tip.pct }}</div>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showLegend() && !loading()) {\r\n <div class=\"ius-donut__legend\">\r\n @for (item of legendItems(); track item.key) {\r\n <span\r\n class=\"ius-donut__leg\"\r\n [attr.data-active]=\"active() === item.i ? 'true' : null\"\r\n (mouseenter)=\"onSegEnter(item.i)\"\r\n (mouseleave)=\"onSegLeave(item.i)\"\r\n >\r\n <span class=\"ius-donut__dot\" [style.background]=\"item.color\"></span>\r\n <span class=\"ius-donut__leg-label\">{{ item.label }}</span>\r\n @if (legendValues()) {\r\n <span class=\"ius-donut__leg-val\">{{ item.val }}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:flex;width:100%;box-sizing:border-box;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}:host([data-legend=right]){flex-direction:row;align-items:center}:host([data-legend=bottom]){flex-direction:column;align-items:center}.ius-donut__chart{position:relative;flex:0 0 auto}.ius-donut__svg{display:block;overflow:visible}.ius-donut__seg{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-donut__seg:not([data-active=true]){opacity:.4}.ius-donut__slabel{fill:var(--ius-neutral-white);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.ius-donut__center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.ius-donut__center-main{font-family:var(--ius-font-display);font-weight:var(--ius-fw-bold);font-size:var(--ius-fs-h4);line-height:var(--ius-lh-h4);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-donut__center-sub{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-donut__legend{display:flex;flex-direction:column;gap:var(--ius-space-xs);min-width:0;flex:1 1 auto}:host([data-legend=bottom]) .ius-donut__legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--ius-space-xs) var(--ius-space-md);flex:0 0 auto}.ius-donut__leg{display:flex;align-items:center;gap:var(--ius-space-xs);min-width:0;font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);cursor:default}:host([data-legend=bottom]) .ius-donut__leg{flex:0 0 auto}.ius-donut__leg[data-active=true]{color:var(--ius-text-primary)}.ius-donut__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-donut__leg-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([data-legend=bottom]) .ius-donut__leg-label{flex:0 0 auto}.ius-donut__leg-val{flex:0 0 auto;margin-left:auto;padding-left:var(--ius-space-sm);white-space:nowrap;color:var(--ius-text-primary);font-variant-numeric:tabular-nums}:host([data-legend=bottom]) .ius-donut__leg-val{margin-left:0}.ius-donut__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:120px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - 10px))}.ius-donut__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-donut__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-donut__tip-pct{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);text-align:right}.ius-donut__skel{fill:none;stroke:var(--ius-neutral-2)}.ius-donut__block{display:grid;place-items:center;min-height:160px;width:100%}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EmptyStateComponent, selector: "ius-empty-state", inputs: ["variant", "size", "tone", "icon", "illustration", "illustrationTemplate", "title", "description", "primaryAction", "secondaryAction", "actionsTemplate", "role"], outputs: ["primaryClick", "secondaryClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
18924
19003
|
}
|
|
18925
19004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DonutChartComponent, decorators: [{
|
|
18926
19005
|
type: Component,
|
|
@@ -18928,7 +19007,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
18928
19007
|
class: 'ius-donut',
|
|
18929
19008
|
'[attr.data-legend]': 'legendPosition()',
|
|
18930
19009
|
'[attr.data-dim]': "active() != null ? 'true' : 'false'",
|
|
18931
|
-
}, template: "@if (!loading() && !hasData()) {\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor). -->\n <div class=\"ius-donut__block\">\n @if (emptyTemplate(); as tpl) {\n <ng-container *ngTemplateOutlet=\"tpl\" />\n } @else {\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\n }\n </div>\n} @else {\n <div class=\"ius-donut__chart\" [style.width.px]=\"geo().D\" [style.height.px]=\"geo().D\">\n <svg\n class=\"ius-donut__svg\"\n [attr.width]=\"geo().D\"\n [attr.height]=\"geo().D\"\n [attr.viewBox]=\"viewBox()\"\n role=\"img\"\n [attr.aria-label]=\"ariaLabel() || null\"\n >\n @if (loading()) {\n <circle\n class=\"ius-donut__skel\"\n [attr.cx]=\"geo().cx\"\n [attr.cy]=\"geo().cy\"\n [attr.r]=\"geo().rMid\"\n [attr.stroke-width]=\"geo().ringW\"\n />\n } @else {\n <g class=\"ius-donut__slices\">\n @if (slices().length === 1) {\n <circle\n class=\"ius-donut__seg\"\n [attr.cx]=\"geo().cx\"\n [attr.cy]=\"geo().cy\"\n [attr.r]=\"geo().rMid\"\n fill=\"none\"\n [attr.stroke]=\"slices()[0].color\"\n [attr.stroke-width]=\"geo().ringW\"\n />\n } @else {\n @for (sl of slices(); track sl.key) {\n <path\n class=\"ius-donut__seg\"\n [attr.data-active]=\"active() === sl.i ? 'true' : null\"\n [attr.d]=\"sl.d\"\n [attr.fill]=\"sl.color\"\n (mouseenter)=\"onSegEnter(sl.i)\"\n (mouseleave)=\"onSegLeave(sl.i)\"\n />\n }\n }\n @for (l of sliceLabels(); track l.key) {\n <text class=\"ius-donut__slabel\" [attr.x]=\"l.x\" [attr.y]=\"l.y\">{{ l.text }}</text>\n }\n </g>\n }\n </svg>\n\n @if (centerOn()) {\n <div class=\"ius-donut__center\">\n <div>\n @if (centerMain(); as main) {\n <div class=\"ius-donut__center-main\">{{ main }}</div>\n }\n @if (centerSublabel(); as sub) {\n <div class=\"ius-donut__center-sub\">{{ sub }}</div>\n }\n </div>\n </div>\n }\n\n <!-- tooltip -->\n @if (tooltip(); as tip) {\n <div class=\"ius-donut__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\n <div class=\"ius-donut__tip-row\">\n <span class=\"ius-donut__dot\" [style.background]=\"tip.color\"></span>\n {{ tip.label }}\n <b>{{ tip.value }}</b>\n </div>\n <div class=\"ius-donut__tip-pct\">{{ tip.pct }}</div>\n </div>\n }\n </div>\n\n @if (showLegend() && !loading()) {\n <div class=\"ius-donut__legend\">\n @for (item of legendItems(); track item.key) {\n <span\n class=\"ius-donut__leg\"\n [attr.data-active]=\"active() === item.i ? 'true' : null\"\n (mouseenter)=\"onSegEnter(item.i)\"\n (mouseleave)=\"onSegLeave(item.i)\"\n >\n <span class=\"ius-donut__dot\" [style.background]=\"item.color\"></span>\n <span class=\"ius-donut__leg-label\">{{ item.label }}</span>\n @if (legendValues()) {\n <span class=\"ius-donut__leg-val\">{{ item.val }}</span>\n }\n </span>\n }\n </div>\n }\n}\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:flex;width:100%;box-sizing:border-box;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}:host([data-legend=right]){flex-direction:row;align-items:center}:host([data-legend=bottom]){flex-direction:column;align-items:center}.ius-donut__chart{position:relative;flex:0 0 auto}.ius-donut__svg{display:block;overflow:visible}.ius-donut__seg{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-donut__seg:not([data-active=true]){opacity:.4}.ius-donut__slabel{fill:var(--ius-neutral-white);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.ius-donut__center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.ius-donut__center-main{font-family:var(--ius-font-display);font-weight:var(--ius-fw-bold);font-size:var(--ius-fs-h4);line-height:var(--ius-lh-h4);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-donut__center-sub{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-donut__legend{display:flex;flex-direction:column;gap:var(--ius-space-xs);min-width:0;flex:1 1 auto}:host([data-legend=bottom]) .ius-donut__legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--ius-space-xs) var(--ius-space-md);flex:0 0 auto}.ius-donut__leg{display:flex;align-items:center;gap:var(--ius-space-xs);min-width:0;font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);cursor:default}:host([data-legend=bottom]) .ius-donut__leg{flex:0 0 auto}.ius-donut__leg[data-active=true]{color:var(--ius-text-primary)}.ius-donut__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-donut__leg-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([data-legend=bottom]) .ius-donut__leg-label{flex:0 0 auto}.ius-donut__leg-val{flex:0 0 auto;margin-left:auto;padding-left:var(--ius-space-sm);white-space:nowrap;color:var(--ius-text-primary);font-variant-numeric:tabular-nums}:host([data-legend=bottom]) .ius-donut__leg-val{margin-left:0}.ius-donut__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:120px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - 10px))}.ius-donut__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-donut__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-donut__tip-pct{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);text-align:right}.ius-donut__skel{fill:none;stroke:var(--ius-neutral-2)}.ius-donut__block{display:grid;place-items:center;min-height:160px;width:100%}\n"] }]
|
|
19010
|
+
}, template: "@if (!loading() && !hasData()) {\r\n <!-- Vac\u00EDo: EmptyState compacto (o la plantilla propia del consumidor). -->\r\n <div class=\"ius-donut__block\">\r\n @if (emptyTemplate(); as tpl) {\r\n <ng-container *ngTemplateOutlet=\"tpl\" />\r\n } @else {\r\n <ius-empty-state variant=\"no-data\" size=\"compact\" [title]=\"emptyTitle()\" [description]=\"emptyDescription()\" />\r\n }\r\n </div>\r\n} @else {\r\n <div class=\"ius-donut__chart\" [style.width.px]=\"geo().D\" [style.height.px]=\"geo().D\">\r\n <svg\r\n class=\"ius-donut__svg\"\r\n [attr.width]=\"geo().D\"\r\n [attr.height]=\"geo().D\"\r\n [attr.viewBox]=\"viewBox()\"\r\n role=\"img\"\r\n [attr.aria-label]=\"ariaLabel() || null\"\r\n >\r\n @if (loading()) {\r\n <circle\r\n class=\"ius-donut__skel\"\r\n [attr.cx]=\"geo().cx\"\r\n [attr.cy]=\"geo().cy\"\r\n [attr.r]=\"geo().rMid\"\r\n [attr.stroke-width]=\"geo().ringW\"\r\n />\r\n } @else {\r\n <g class=\"ius-donut__slices\">\r\n @if (slices().length === 1) {\r\n <circle\r\n class=\"ius-donut__seg\"\r\n [attr.cx]=\"geo().cx\"\r\n [attr.cy]=\"geo().cy\"\r\n [attr.r]=\"geo().rMid\"\r\n fill=\"none\"\r\n [attr.stroke]=\"slices()[0].color\"\r\n [attr.stroke-width]=\"geo().ringW\"\r\n />\r\n } @else {\r\n @for (sl of slices(); track sl.key) {\r\n <path\r\n class=\"ius-donut__seg\"\r\n [attr.data-active]=\"active() === sl.i ? 'true' : null\"\r\n [attr.d]=\"sl.d\"\r\n [attr.fill]=\"sl.color\"\r\n (mouseenter)=\"onSegEnter(sl.i)\"\r\n (mouseleave)=\"onSegLeave(sl.i)\"\r\n />\r\n }\r\n }\r\n @for (l of sliceLabels(); track l.key) {\r\n <text class=\"ius-donut__slabel\" [attr.x]=\"l.x\" [attr.y]=\"l.y\">{{ l.text }}</text>\r\n }\r\n </g>\r\n }\r\n </svg>\r\n\r\n @if (centerOn()) {\r\n <div class=\"ius-donut__center\">\r\n <div>\r\n @if (centerMain(); as main) {\r\n <div class=\"ius-donut__center-main\">{{ main }}</div>\r\n }\r\n @if (centerSublabel(); as sub) {\r\n <div class=\"ius-donut__center-sub\">{{ sub }}</div>\r\n }\r\n </div>\r\n </div>\r\n }\r\n\r\n <!-- tooltip -->\r\n @if (tooltip(); as tip) {\r\n <div class=\"ius-donut__tip\" [style.left.%]=\"tip.left\" [style.top.%]=\"tip.top\">\r\n <div class=\"ius-donut__tip-row\">\r\n <span class=\"ius-donut__dot\" [style.background]=\"tip.color\"></span>\r\n {{ tip.label }}\r\n <b>{{ tip.value }}</b>\r\n </div>\r\n <div class=\"ius-donut__tip-pct\">{{ tip.pct }}</div>\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (showLegend() && !loading()) {\r\n <div class=\"ius-donut__legend\">\r\n @for (item of legendItems(); track item.key) {\r\n <span\r\n class=\"ius-donut__leg\"\r\n [attr.data-active]=\"active() === item.i ? 'true' : null\"\r\n (mouseenter)=\"onSegEnter(item.i)\"\r\n (mouseleave)=\"onSegLeave(item.i)\"\r\n >\r\n <span class=\"ius-donut__dot\" [style.background]=\"item.color\"></span>\r\n <span class=\"ius-donut__leg-label\">{{ item.label }}</span>\r\n @if (legendValues()) {\r\n <span class=\"ius-donut__leg-val\">{{ item.val }}</span>\r\n }\r\n </span>\r\n }\r\n </div>\r\n }\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{position:relative;display:flex;width:100%;box-sizing:border-box;gap:var(--ius-space-lg);font-family:var(--ius-font-body);color:var(--ius-text-primary);-webkit-user-select:none;user-select:none}:host([data-legend=right]){flex-direction:row;align-items:center}:host([data-legend=bottom]){flex-direction:column;align-items:center}.ius-donut__chart{position:relative;flex:0 0 auto}.ius-donut__svg{display:block;overflow:visible}.ius-donut__seg{transition:opacity var(--ius-duration-fast) var(--ius-ease-standard)}:host([data-dim=true]) .ius-donut__seg:not([data-active=true]){opacity:.4}.ius-donut__slabel{fill:var(--ius-neutral-white);font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-medium);text-anchor:middle;dominant-baseline:middle;pointer-events:none}.ius-donut__center{position:absolute;inset:0;display:grid;place-items:center;text-align:center;pointer-events:none}.ius-donut__center-main{font-family:var(--ius-font-display);font-weight:var(--ius-fw-bold);font-size:var(--ius-fs-h4);line-height:var(--ius-lh-h4);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-donut__center-sub{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary)}.ius-donut__legend{display:flex;flex-direction:column;gap:var(--ius-space-xs);min-width:0;flex:1 1 auto}:host([data-legend=bottom]) .ius-donut__legend{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--ius-space-xs) var(--ius-space-md);flex:0 0 auto}.ius-donut__leg{display:flex;align-items:center;gap:var(--ius-space-xs);min-width:0;font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);cursor:default}:host([data-legend=bottom]) .ius-donut__leg{flex:0 0 auto}.ius-donut__leg[data-active=true]{color:var(--ius-text-primary)}.ius-donut__dot{width:10px;height:10px;border-radius:var(--ius-radius-pill);flex:0 0 auto}.ius-donut__leg-label{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host([data-legend=bottom]) .ius-donut__leg-label{flex:0 0 auto}.ius-donut__leg-val{flex:0 0 auto;margin-left:auto;padding-left:var(--ius-space-sm);white-space:nowrap;color:var(--ius-text-primary);font-variant-numeric:tabular-nums}:host([data-legend=bottom]) .ius-donut__leg-val{margin-left:0}.ius-donut__tip{position:absolute;pointer-events:none;z-index:var(--ius-z-sticky);min-width:120px;background:var(--ius-surface-card);border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-md);box-shadow:var(--ius-elevation-300);padding:var(--ius-space-xs) var(--ius-space-sm);transform:translate(-50%,calc(-100% - 10px))}.ius-donut__tip-row{display:flex;align-items:center;gap:var(--ius-space-xs);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);white-space:nowrap}.ius-donut__tip-row b{margin-left:auto;padding-left:var(--ius-space-sm);color:var(--ius-text-primary);font-weight:var(--ius-fw-medium);font-variant-numeric:tabular-nums}.ius-donut__tip-pct{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);text-align:right}.ius-donut__skel{fill:none;stroke:var(--ius-neutral-2)}.ius-donut__block{display:grid;place-items:center;min-height:160px;width:100%}\n"] }]
|
|
18932
19011
|
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], thickness: [{ type: i0.Input, args: [{ isSignal: true, alias: "thickness", required: false }] }], startAngle: [{ type: i0.Input, args: [{ isSignal: true, alias: "startAngle", required: false }] }], padAngle: [{ type: i0.Input, args: [{ isSignal: true, alias: "padAngle", required: false }] }], showLegend: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLegend", required: false }] }], legendPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "legendPosition", required: false }] }], legendValues: [{ type: i0.Input, args: [{ isSignal: true, alias: "legendValues", required: false }] }], showLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showLabels", required: false }] }], showTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTooltip", required: false }] }], centerLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "centerLabel", required: false }] }], centerSublabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "centerSublabel", required: false }] }], valueFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueFormat", required: false }] }], unit: [{ type: i0.Input, args: [{ isSignal: true, alias: "unit", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], emptyTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTemplate", required: false }] }], emptyTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyTitle", required: false }] }], emptyDescription: [{ type: i0.Input, args: [{ isSignal: true, alias: "emptyDescription", required: false }] }], animate: [{ type: i0.Input, args: [{ isSignal: true, alias: "animate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabel", required: false }] }] } });
|
|
18933
19012
|
|
|
18934
19013
|
/**
|
|
@@ -19077,7 +19156,7 @@ class AnswerFeedbackComponent {
|
|
|
19077
19156
|
this.valueChange.emit(resolved);
|
|
19078
19157
|
}
|
|
19079
19158
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnswerFeedbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19080
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AnswerFeedbackComponent, isStandalone: true, selector: "ius-answer-feedback", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, question: { classPropertyName: "question", publicName: "question", isSignal: true, isRequired: false, transformFunction: null }, thanksLabel: { classPropertyName: "thanksLabel", publicName: "thanksLabel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "role": "group" }, properties: { "attr.aria-label": "question()", "attr.data-voted": "current() ? 'true' : 'false'" }, classAttribute: "ius-answer-feedback" }, ngImport: i0, template: "@if (current()) {\n <span class=\"ius-answer-feedback__thanks\">\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">check</span>\n {{ thanksLabel() }}\n </span>\n} @else {\n <span class=\"ius-answer-feedback__q\">{{ question() }}</span>\n}\n\n<span class=\"ius-answer-feedback__btns\">\n <ius-icon-button\n icon=\"thumb_up\"\n variant=\"tertiary\"\n shape=\"squared\"\n [size]=\"size()\"\n tooltip=\"Buena respuesta\"\n ariaLabel=\"Buena respuesta\"\n [disabled]=\"disabled()\"\n [ariaPressed]=\"current() === 'up'\"\n (clicked)=\"vote('up')\"\n />\n <ius-icon-button\n icon=\"thumb_down\"\n variant=\"tertiary\"\n shape=\"squared\"\n [size]=\"size()\"\n tooltip=\"Mala respuesta\"\n ariaLabel=\"Mala respuesta\"\n [disabled]=\"disabled()\"\n [ariaPressed]=\"current() === 'down'\"\n (clicked)=\"vote('down')\"\n />\n</span>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);-webkit-user-select:none;user-select:none}.ius-answer-feedback__q{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-answer-feedback__btns{display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}:host ::ng-deep .ius-iconbtn{--_ib-bg-pressed: var(--ius-primary-100);--_ib-fg-pressed: var(--ius-primary-700)}:host ::ng-deep .ius-iconbtn[aria-pressed=true]{--_ib-bg: var(--ius-primary-100);--_ib-fg: var(--ius-primary-700);--_ib-bg-hover: var(--ius-primary-100);--_ib-fg-hover: var(--ius-primary-700)}:host([data-voted=true]) ::ng-deep .ius-iconbtn[aria-pressed=false]{opacity:.5}.ius-answer-feedback__thanks{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-answer-feedback__thanks .ius-icon{font-size:var(--ius-icon-sm);color:var(--ius-primary-500)}\n"], dependencies: [{ kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19159
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AnswerFeedbackComponent, isStandalone: true, selector: "ius-answer-feedback", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, question: { classPropertyName: "question", publicName: "question", isSignal: true, isRequired: false, transformFunction: null }, thanksLabel: { classPropertyName: "thanksLabel", publicName: "thanksLabel", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "role": "group" }, properties: { "attr.aria-label": "question()", "attr.data-voted": "current() ? 'true' : 'false'" }, classAttribute: "ius-answer-feedback" }, ngImport: i0, template: "@if (current()) {\r\n <span class=\"ius-answer-feedback__thanks\">\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">check</span>\r\n {{ thanksLabel() }}\r\n </span>\r\n} @else {\r\n <span class=\"ius-answer-feedback__q\">{{ question() }}</span>\r\n}\r\n\r\n<span class=\"ius-answer-feedback__btns\">\r\n <ius-icon-button\r\n icon=\"thumb_up\"\r\n variant=\"tertiary\"\r\n shape=\"squared\"\r\n [size]=\"size()\"\r\n tooltip=\"Buena respuesta\"\r\n ariaLabel=\"Buena respuesta\"\r\n [disabled]=\"disabled()\"\r\n [ariaPressed]=\"current() === 'up'\"\r\n (clicked)=\"vote('up')\"\r\n />\r\n <ius-icon-button\r\n icon=\"thumb_down\"\r\n variant=\"tertiary\"\r\n shape=\"squared\"\r\n [size]=\"size()\"\r\n tooltip=\"Mala respuesta\"\r\n ariaLabel=\"Mala respuesta\"\r\n [disabled]=\"disabled()\"\r\n [ariaPressed]=\"current() === 'down'\"\r\n (clicked)=\"vote('down')\"\r\n />\r\n</span>\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);-webkit-user-select:none;user-select:none}.ius-answer-feedback__q{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-answer-feedback__btns{display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}:host ::ng-deep .ius-iconbtn{--_ib-bg-pressed: var(--ius-primary-100);--_ib-fg-pressed: var(--ius-primary-700)}:host ::ng-deep .ius-iconbtn[aria-pressed=true]{--_ib-bg: var(--ius-primary-100);--_ib-fg: var(--ius-primary-700);--_ib-bg-hover: var(--ius-primary-100);--_ib-fg-hover: var(--ius-primary-700)}:host([data-voted=true]) ::ng-deep .ius-iconbtn[aria-pressed=false]{opacity:.5}.ius-answer-feedback__thanks{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-answer-feedback__thanks .ius-icon{font-size:var(--ius-icon-sm);color:var(--ius-primary-500)}\n"], dependencies: [{ kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19081
19160
|
}
|
|
19082
19161
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AnswerFeedbackComponent, decorators: [{
|
|
19083
19162
|
type: Component,
|
|
@@ -19086,7 +19165,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
19086
19165
|
role: 'group',
|
|
19087
19166
|
'[attr.aria-label]': 'question()',
|
|
19088
19167
|
'[attr.data-voted]': "current() ? 'true' : 'false'",
|
|
19089
|
-
}, template: "@if (current()) {\n <span class=\"ius-answer-feedback__thanks\">\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">check</span>\n {{ thanksLabel() }}\n </span>\n} @else {\n <span class=\"ius-answer-feedback__q\">{{ question() }}</span>\n}\n\n<span class=\"ius-answer-feedback__btns\">\n <ius-icon-button\n icon=\"thumb_up\"\n variant=\"tertiary\"\n shape=\"squared\"\n [size]=\"size()\"\n tooltip=\"Buena respuesta\"\n ariaLabel=\"Buena respuesta\"\n [disabled]=\"disabled()\"\n [ariaPressed]=\"current() === 'up'\"\n (clicked)=\"vote('up')\"\n />\n <ius-icon-button\n icon=\"thumb_down\"\n variant=\"tertiary\"\n shape=\"squared\"\n [size]=\"size()\"\n tooltip=\"Mala respuesta\"\n ariaLabel=\"Mala respuesta\"\n [disabled]=\"disabled()\"\n [ariaPressed]=\"current() === 'down'\"\n (clicked)=\"vote('down')\"\n />\n</span>\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);-webkit-user-select:none;user-select:none}.ius-answer-feedback__q{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-answer-feedback__btns{display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}:host ::ng-deep .ius-iconbtn{--_ib-bg-pressed: var(--ius-primary-100);--_ib-fg-pressed: var(--ius-primary-700)}:host ::ng-deep .ius-iconbtn[aria-pressed=true]{--_ib-bg: var(--ius-primary-100);--_ib-fg: var(--ius-primary-700);--_ib-bg-hover: var(--ius-primary-100);--_ib-fg-hover: var(--ius-primary-700)}:host([data-voted=true]) ::ng-deep .ius-iconbtn[aria-pressed=false]{opacity:.5}.ius-answer-feedback__thanks{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-answer-feedback__thanks .ius-icon{font-size:var(--ius-icon-sm);color:var(--ius-primary-500)}\n"] }]
|
|
19168
|
+
}, template: "@if (current()) {\r\n <span class=\"ius-answer-feedback__thanks\">\r\n <span translate=\"no\" class=\"ius-icon\" aria-hidden=\"true\">check</span>\r\n {{ thanksLabel() }}\r\n </span>\r\n} @else {\r\n <span class=\"ius-answer-feedback__q\">{{ question() }}</span>\r\n}\r\n\r\n<span class=\"ius-answer-feedback__btns\">\r\n <ius-icon-button\r\n icon=\"thumb_up\"\r\n variant=\"tertiary\"\r\n shape=\"squared\"\r\n [size]=\"size()\"\r\n tooltip=\"Buena respuesta\"\r\n ariaLabel=\"Buena respuesta\"\r\n [disabled]=\"disabled()\"\r\n [ariaPressed]=\"current() === 'up'\"\r\n (clicked)=\"vote('up')\"\r\n />\r\n <ius-icon-button\r\n icon=\"thumb_down\"\r\n variant=\"tertiary\"\r\n shape=\"squared\"\r\n [size]=\"size()\"\r\n tooltip=\"Mala respuesta\"\r\n ariaLabel=\"Mala respuesta\"\r\n [disabled]=\"disabled()\"\r\n [ariaPressed]=\"current() === 'down'\"\r\n (clicked)=\"vote('down')\"\r\n />\r\n</span>\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;align-items:center;gap:var(--ius-space-xs);-webkit-user-select:none;user-select:none}.ius-answer-feedback__q{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary)}.ius-answer-feedback__btns{display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}:host ::ng-deep .ius-iconbtn{--_ib-bg-pressed: var(--ius-primary-100);--_ib-fg-pressed: var(--ius-primary-700)}:host ::ng-deep .ius-iconbtn[aria-pressed=true]{--_ib-bg: var(--ius-primary-100);--_ib-fg: var(--ius-primary-700);--_ib-bg-hover: var(--ius-primary-100);--_ib-fg-hover: var(--ius-primary-700)}:host([data-voted=true]) ::ng-deep .ius-iconbtn[aria-pressed=false]{opacity:.5}.ius-answer-feedback__thanks{font-family:var(--ius-font-body);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-secondary);display:inline-flex;align-items:center;gap:var(--ius-space-xxs)}.ius-answer-feedback__thanks .ius-icon{font-size:var(--ius-icon-sm);color:var(--ius-primary-500)}\n"] }]
|
|
19090
19169
|
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], question: [{ type: i0.Input, args: [{ isSignal: true, alias: "question", required: false }] }], thanksLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "thanksLabel", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
|
|
19091
19170
|
|
|
19092
19171
|
/**
|
|
@@ -19209,7 +19288,7 @@ class InsightComponent {
|
|
|
19209
19288
|
this.feedbackChanged.emit(value);
|
|
19210
19289
|
}
|
|
19211
19290
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InsightComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19212
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: InsightComponent, isStandalone: true, selector: "ius-insight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, overline: { classPropertyName: "overline", publicName: "overline", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, beam: { classPropertyName: "beam", publicName: "beam", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, feedback: { classPropertyName: "feedback", publicName: "feedback", isSignal: true, isRequired: false, transformFunction: null }, feedbackValue: { classPropertyName: "feedbackValue", publicName: "feedbackValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { copied: "copied", feedbackChanged: "feedbackChanged" }, host: { attributes: { "role": "note" }, properties: { "attr.aria-label": "overline() || 'Generado por IA'", "attr.data-tone": "tone()", "attr.data-variant": "variant()" }, classAttribute: "ius-insight" }, queries: [{ propertyName: "actionsRef", first: true, predicate: IusInsightActionsDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "bodyRef", first: true, predicate: ["bodyRef"], descendants: true, static: true }], ngImport: i0, template: "@if (beam()) {\n <ius-border-beam [accent]=\"tone()\" [duration]=\"9\" />\n}\n\n<!-- cabecera de procedencia = la firma que lo distingue de un Alert -->\n@if (hasProv()) {\n <div class=\"ius-insight__prov\">\n @if (hasOverline()) {\n <span class=\"ius-insight__spark\" aria-hidden=\"true\">\n <span translate=\"no\" class=\"ius-icon\">{{ icon() }}</span>\n </span>\n <span class=\"ius-insight__provtext\">{{ overline() }}</span>\n }\n @if (meta() != null) {\n <span class=\"ius-insight__provmeta\">{{ meta() }}</span>\n }\n </div>\n}\n\n@if (title() != null) {\n <ius-section-title size=\"small\" [divider]=\"false\">{{ title() }}</ius-section-title>\n}\n\n<div class=\"ius-insight__body\" [hidden]=\"!hasBody()\" #bodyRef><ng-content /></div>\n\n@if (hasBar) {\n <div class=\"ius-insight__bar\">\n @if (copyable()) {\n <ius-icon-button\n [icon]=\"copiedNow() ? 'check' : 'content_copy'\"\n variant=\"tertiary\"\n size=\"small\"\n [tooltip]=\"copiedNow() ? 'Copiado' : 'Copiar'\"\n ariaLabel=\"Copiar resumen\"\n (clicked)=\"doCopy()\"\n />\n }\n @if (feedback()) {\n <ius-answer-feedback [value]=\"feedbackValue()\" (valueChange)=\"onFeedback($event)\" />\n }\n <ng-content select=\"[iusInsightActions]\" />\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{--_in-accent: var(--ius-primary-700);--_in-chip: var(--ius-primary-100);position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--ius-space-sm);padding:var(--ius-space-md);border-radius:var(--ius-radius-lg);border:1px solid var(--ius-stroke);background:var(--ius-surface-card);font-family:var(--ius-font-body);color:var(--ius-text-primary);overflow:hidden}:host([data-tone=info]){--_in-accent: var(--ius-info-700);--_in-chip: var(--ius-info-100)}:host([data-variant=tinted]){background:linear-gradient(135deg,var(--_in-chip) 0%,var(--ius-surface-card) 60%)}.ius-insight__prov{display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-insight__spark{flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--ius-radius-pill);background:var(--_in-chip);color:var(--_in-accent)}.ius-insight__spark .ius-icon{font-size:var(--ius-icon-sm)}.ius-insight__provtext{font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);letter-spacing:.02em;color:var(--_in-accent)}.ius-insight__provmeta{margin-inline-start:auto;font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);white-space:nowrap}.ius-insight__body{font-family:var(--ius-font-body);font-weight:var(--ius-fw-regular);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-insight__body ::ng-deep b,.ius-insight__body ::ng-deep strong{color:var(--ius-text-primary);font-weight:var(--ius-fw-semibold)}.ius-insight__bar{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}\n"], dependencies: [{ kind: "component", type: AnswerFeedbackComponent, selector: "ius-answer-feedback", inputs: ["value", "defaultValue", "question", "thanksLabel", "size", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: BorderBeamComponent, selector: "ius-border-beam", inputs: ["size", "borderWidth", "duration", "delay", "reverse", "accent", "colorFrom", "colorTo", "radius"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: SectionTitleComponent, selector: "ius-section-title", inputs: ["help", "helpTitle", "helpIcon", "helpPlacement", "helpTrigger", "divider", "truncate", "size", "as"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: InsightComponent, isStandalone: true, selector: "ius-insight", inputs: { title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, overline: { classPropertyName: "overline", publicName: "overline", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, meta: { classPropertyName: "meta", publicName: "meta", isSignal: true, isRequired: false, transformFunction: null }, tone: { classPropertyName: "tone", publicName: "tone", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, beam: { classPropertyName: "beam", publicName: "beam", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, copyText: { classPropertyName: "copyText", publicName: "copyText", isSignal: true, isRequired: false, transformFunction: null }, feedback: { classPropertyName: "feedback", publicName: "feedback", isSignal: true, isRequired: false, transformFunction: null }, feedbackValue: { classPropertyName: "feedbackValue", publicName: "feedbackValue", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { copied: "copied", feedbackChanged: "feedbackChanged" }, host: { attributes: { "role": "note" }, properties: { "attr.aria-label": "overline() || 'Generado por IA'", "attr.data-tone": "tone()", "attr.data-variant": "variant()" }, classAttribute: "ius-insight" }, queries: [{ propertyName: "actionsRef", first: true, predicate: IusInsightActionsDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "bodyRef", first: true, predicate: ["bodyRef"], descendants: true, static: true }], ngImport: i0, template: "@if (beam()) {\r\n <ius-border-beam [accent]=\"tone()\" [duration]=\"9\" />\r\n}\r\n\r\n<!-- cabecera de procedencia = la firma que lo distingue de un Alert -->\r\n@if (hasProv()) {\r\n <div class=\"ius-insight__prov\">\r\n @if (hasOverline()) {\r\n <span class=\"ius-insight__spark\" aria-hidden=\"true\">\r\n <span translate=\"no\" class=\"ius-icon\">{{ icon() }}</span>\r\n </span>\r\n <span class=\"ius-insight__provtext\">{{ overline() }}</span>\r\n }\r\n @if (meta() != null) {\r\n <span class=\"ius-insight__provmeta\">{{ meta() }}</span>\r\n }\r\n </div>\r\n}\r\n\r\n@if (title() != null) {\r\n <ius-section-title size=\"small\" [divider]=\"false\">{{ title() }}</ius-section-title>\r\n}\r\n\r\n<div class=\"ius-insight__body\" [hidden]=\"!hasBody()\" #bodyRef><ng-content /></div>\r\n\r\n@if (hasBar) {\r\n <div class=\"ius-insight__bar\">\r\n @if (copyable()) {\r\n <ius-icon-button\r\n [icon]=\"copiedNow() ? 'check' : 'content_copy'\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [tooltip]=\"copiedNow() ? 'Copiado' : 'Copiar'\"\r\n ariaLabel=\"Copiar resumen\"\r\n (clicked)=\"doCopy()\"\r\n />\r\n }\r\n @if (feedback()) {\r\n <ius-answer-feedback [value]=\"feedbackValue()\" (valueChange)=\"onFeedback($event)\" />\r\n }\r\n <ng-content select=\"[iusInsightActions]\" />\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{--_in-accent: var(--ius-primary-700);--_in-chip: var(--ius-primary-100);position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--ius-space-sm);padding:var(--ius-space-md);border-radius:var(--ius-radius-lg);border:1px solid var(--ius-stroke);background:var(--ius-surface-card);font-family:var(--ius-font-body);color:var(--ius-text-primary);overflow:hidden}:host([data-tone=info]){--_in-accent: var(--ius-info-700);--_in-chip: var(--ius-info-100)}:host([data-variant=tinted]){background:linear-gradient(135deg,var(--_in-chip) 0%,var(--ius-surface-card) 60%)}.ius-insight__prov{display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-insight__spark{flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--ius-radius-pill);background:var(--_in-chip);color:var(--_in-accent)}.ius-insight__spark .ius-icon{font-size:var(--ius-icon-sm)}.ius-insight__provtext{font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);letter-spacing:.02em;color:var(--_in-accent)}.ius-insight__provmeta{margin-inline-start:auto;font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);white-space:nowrap}.ius-insight__body{font-family:var(--ius-font-body);font-weight:var(--ius-fw-regular);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-insight__body ::ng-deep b,.ius-insight__body ::ng-deep strong{color:var(--ius-text-primary);font-weight:var(--ius-fw-semibold)}.ius-insight__bar{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}\n"], dependencies: [{ kind: "component", type: AnswerFeedbackComponent, selector: "ius-answer-feedback", inputs: ["value", "defaultValue", "question", "thanksLabel", "size", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: BorderBeamComponent, selector: "ius-border-beam", inputs: ["size", "borderWidth", "duration", "delay", "reverse", "accent", "colorFrom", "colorTo", "radius"] }, { kind: "component", type: IconButtonComponent, selector: "ius-icon-button", inputs: ["icon", "variant", "size", "shape", "disabled", "type", "ariaLabel", "tooltip", "ariaPressed", "tooltipPlacement"], outputs: ["clicked"] }, { kind: "component", type: SectionTitleComponent, selector: "ius-section-title", inputs: ["help", "helpTitle", "helpIcon", "helpPlacement", "helpTrigger", "divider", "truncate", "size", "as"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19213
19292
|
}
|
|
19214
19293
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: InsightComponent, decorators: [{
|
|
19215
19294
|
type: Component,
|
|
@@ -19219,7 +19298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
19219
19298
|
'[attr.aria-label]': "overline() || 'Generado por IA'",
|
|
19220
19299
|
'[attr.data-tone]': 'tone()',
|
|
19221
19300
|
'[attr.data-variant]': 'variant()',
|
|
19222
|
-
}, template: "@if (beam()) {\n <ius-border-beam [accent]=\"tone()\" [duration]=\"9\" />\n}\n\n<!-- cabecera de procedencia = la firma que lo distingue de un Alert -->\n@if (hasProv()) {\n <div class=\"ius-insight__prov\">\n @if (hasOverline()) {\n <span class=\"ius-insight__spark\" aria-hidden=\"true\">\n <span translate=\"no\" class=\"ius-icon\">{{ icon() }}</span>\n </span>\n <span class=\"ius-insight__provtext\">{{ overline() }}</span>\n }\n @if (meta() != null) {\n <span class=\"ius-insight__provmeta\">{{ meta() }}</span>\n }\n </div>\n}\n\n@if (title() != null) {\n <ius-section-title size=\"small\" [divider]=\"false\">{{ title() }}</ius-section-title>\n}\n\n<div class=\"ius-insight__body\" [hidden]=\"!hasBody()\" #bodyRef><ng-content /></div>\n\n@if (hasBar) {\n <div class=\"ius-insight__bar\">\n @if (copyable()) {\n <ius-icon-button\n [icon]=\"copiedNow() ? 'check' : 'content_copy'\"\n variant=\"tertiary\"\n size=\"small\"\n [tooltip]=\"copiedNow() ? 'Copiado' : 'Copiar'\"\n ariaLabel=\"Copiar resumen\"\n (clicked)=\"doCopy()\"\n />\n }\n @if (feedback()) {\n <ius-answer-feedback [value]=\"feedbackValue()\" (valueChange)=\"onFeedback($event)\" />\n }\n <ng-content select=\"[iusInsightActions]\" />\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{--_in-accent: var(--ius-primary-700);--_in-chip: var(--ius-primary-100);position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--ius-space-sm);padding:var(--ius-space-md);border-radius:var(--ius-radius-lg);border:1px solid var(--ius-stroke);background:var(--ius-surface-card);font-family:var(--ius-font-body);color:var(--ius-text-primary);overflow:hidden}:host([data-tone=info]){--_in-accent: var(--ius-info-700);--_in-chip: var(--ius-info-100)}:host([data-variant=tinted]){background:linear-gradient(135deg,var(--_in-chip) 0%,var(--ius-surface-card) 60%)}.ius-insight__prov{display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-insight__spark{flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--ius-radius-pill);background:var(--_in-chip);color:var(--_in-accent)}.ius-insight__spark .ius-icon{font-size:var(--ius-icon-sm)}.ius-insight__provtext{font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);letter-spacing:.02em;color:var(--_in-accent)}.ius-insight__provmeta{margin-inline-start:auto;font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);white-space:nowrap}.ius-insight__body{font-family:var(--ius-font-body);font-weight:var(--ius-fw-regular);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-insight__body ::ng-deep b,.ius-insight__body ::ng-deep strong{color:var(--ius-text-primary);font-weight:var(--ius-fw-semibold)}.ius-insight__bar{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}\n"] }]
|
|
19301
|
+
}, template: "@if (beam()) {\r\n <ius-border-beam [accent]=\"tone()\" [duration]=\"9\" />\r\n}\r\n\r\n<!-- cabecera de procedencia = la firma que lo distingue de un Alert -->\r\n@if (hasProv()) {\r\n <div class=\"ius-insight__prov\">\r\n @if (hasOverline()) {\r\n <span class=\"ius-insight__spark\" aria-hidden=\"true\">\r\n <span translate=\"no\" class=\"ius-icon\">{{ icon() }}</span>\r\n </span>\r\n <span class=\"ius-insight__provtext\">{{ overline() }}</span>\r\n }\r\n @if (meta() != null) {\r\n <span class=\"ius-insight__provmeta\">{{ meta() }}</span>\r\n }\r\n </div>\r\n}\r\n\r\n@if (title() != null) {\r\n <ius-section-title size=\"small\" [divider]=\"false\">{{ title() }}</ius-section-title>\r\n}\r\n\r\n<div class=\"ius-insight__body\" [hidden]=\"!hasBody()\" #bodyRef><ng-content /></div>\r\n\r\n@if (hasBar) {\r\n <div class=\"ius-insight__bar\">\r\n @if (copyable()) {\r\n <ius-icon-button\r\n [icon]=\"copiedNow() ? 'check' : 'content_copy'\"\r\n variant=\"tertiary\"\r\n size=\"small\"\r\n [tooltip]=\"copiedNow() ? 'Copiado' : 'Copiar'\"\r\n ariaLabel=\"Copiar resumen\"\r\n (clicked)=\"doCopy()\"\r\n />\r\n }\r\n @if (feedback()) {\r\n <ius-answer-feedback [value]=\"feedbackValue()\" (valueChange)=\"onFeedback($event)\" />\r\n }\r\n <ng-content select=\"[iusInsightActions]\" />\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{--_in-accent: var(--ius-primary-700);--_in-chip: var(--ius-primary-100);position:relative;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--ius-space-sm);padding:var(--ius-space-md);border-radius:var(--ius-radius-lg);border:1px solid var(--ius-stroke);background:var(--ius-surface-card);font-family:var(--ius-font-body);color:var(--ius-text-primary);overflow:hidden}:host([data-tone=info]){--_in-accent: var(--ius-info-700);--_in-chip: var(--ius-info-100)}:host([data-variant=tinted]){background:linear-gradient(135deg,var(--_in-chip) 0%,var(--ius-surface-card) 60%)}.ius-insight__prov{display:flex;align-items:center;gap:var(--ius-space-xs)}.ius-insight__spark{flex:0 0 auto;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:var(--ius-radius-pill);background:var(--_in-chip);color:var(--_in-accent)}.ius-insight__spark .ius-icon{font-size:var(--ius-icon-sm)}.ius-insight__provtext{font-family:var(--ius-font-display);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);letter-spacing:.02em;color:var(--_in-accent)}.ius-insight__provmeta{margin-inline-start:auto;font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);color:var(--ius-text-tertiary);white-space:nowrap}.ius-insight__body{font-family:var(--ius-font-body);font-weight:var(--ius-fw-regular);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-secondary)}.ius-insight__body ::ng-deep b,.ius-insight__body ::ng-deep strong{color:var(--ius-text-primary);font-weight:var(--ius-fw-semibold)}.ius-insight__bar{display:flex;align-items:center;gap:var(--ius-space-xs);flex-wrap:wrap}\n"] }]
|
|
19223
19302
|
}], propDecorators: { title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], overline: [{ type: i0.Input, args: [{ isSignal: true, alias: "overline", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], meta: [{ type: i0.Input, args: [{ isSignal: true, alias: "meta", required: false }] }], tone: [{ type: i0.Input, args: [{ isSignal: true, alias: "tone", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], beam: [{ type: i0.Input, args: [{ isSignal: true, alias: "beam", required: false }] }], copyable: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyable", required: false }] }], copyText: [{ type: i0.Input, args: [{ isSignal: true, alias: "copyText", required: false }] }], feedback: [{ type: i0.Input, args: [{ isSignal: true, alias: "feedback", required: false }] }], feedbackValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "feedbackValue", required: false }] }], copied: [{ type: i0.Output, args: ["copied"] }], feedbackChanged: [{ type: i0.Output, args: ["feedbackChanged"] }], actionsRef: [{ type: i0.ContentChild, args: [i0.forwardRef(() => IusInsightActionsDirective), { isSignal: true }] }], bodyRef: [{
|
|
19224
19303
|
type: ViewChild,
|
|
19225
19304
|
args: ['bodyRef', { static: true }]
|
|
@@ -19597,7 +19676,7 @@ class CalendarComponent {
|
|
|
19597
19676
|
useExisting: forwardRef(() => CalendarComponent),
|
|
19598
19677
|
multi: true,
|
|
19599
19678
|
},
|
|
19600
|
-
], queries: [{ propertyName: "footerRef", first: true, predicate: IusCalendarFooterDirective, descendants: true, isSignal: true }, { propertyName: "asideRef", first: true, predicate: IusCalendarAsideDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ius-cal__body\">\n <div class=\"ius-cal__col\">\n <!-- encabezado: nav + t\u00EDtulos que suben de nivel (d\u00EDa \u2192 mes \u2192 d\u00E9cada) -->\n <div class=\"ius-cal__head\">\n <button\n type=\"button\"\n class=\"ius-cal__nav\"\n aria-label=\"Anterior\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"step(-1)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_left</span>\n </button>\n <div class=\"ius-cal__titles\">\n @for (t of headerTitles; track $index) {\n <button\n type=\"button\"\n class=\"ius-cal__title\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTitleClick(t)\"\n >\n @if (t.text != null) {\n {{ t.text }}\n } @else {\n <span>{{ t.monthAbbr }}</span>\n <span>{{ t.year }}</span>\n }\n </button>\n }\n </div>\n <button\n type=\"button\"\n class=\"ius-cal__nav\"\n aria-label=\"Siguiente\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"step(1)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </button>\n </div>\n\n @if (level() === 'day') {\n <div class=\"ius-cal__months\" (mouseleave)=\"onMonthsLeave()\">\n @for (m of monthsView; track m.key) {\n <div class=\"ius-cal__month\">\n <div class=\"ius-cal__grid\">\n @for (w of weekdays; track w) {\n <div class=\"ius-cal__wd\">{{ w }}</div>\n }\n @for (d of m.days; track $index) {\n <button\n type=\"button\"\n class=\"ius-cal__day\"\n [attr.data-outside]=\"d.outside ? 'true' : null\"\n [attr.data-disabled]=\"d.disabled ? 'true' : null\"\n [attr.data-today]=\"d.today ? 'true' : null\"\n [attr.data-selected]=\"d.selected ? 'true' : null\"\n [attr.data-inrange]=\"d.inRange ? 'true' : null\"\n [attr.data-range-start]=\"d.rangeStart ? 'true' : null\"\n [attr.data-range-end]=\"d.rangeEnd ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (mouseenter)=\"onDayEnter(d)\"\n (click)=\"onDayClick(d)\"\n >\n <span class=\"ius-cal__day-inner\">{{ d.label }}</span>\n </button>\n }\n </div>\n </div>\n }\n </div>\n } @else if (level() === 'month') {\n <div class=\"ius-cal__cells\">\n @for (c of monthCells; track c.value) {\n <button\n type=\"button\"\n class=\"ius-cal__cell\"\n [attr.data-selected]=\"c.selected ? 'true' : null\"\n [attr.data-today]=\"c.today ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onMonthCell(c)\"\n >{{ c.label }}</button>\n }\n </div>\n } @else {\n <div class=\"ius-cal__cells\">\n @for (c of yearCells; track c.value) {\n <button\n type=\"button\"\n class=\"ius-cal__cell\"\n [attr.data-outside]=\"c.outside ? 'true' : null\"\n [attr.data-selected]=\"c.selected ? 'true' : null\"\n [attr.data-today]=\"c.today ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onYearCell(c)\"\n >{{ c.label }}</button>\n }\n </div>\n }\n </div>\n\n @if (hasAside) {\n <div class=\"ius-cal__aside\"><ng-content select=\"[iusCalendarAside]\" /></div>\n }\n</div>\n\n@if (hasFooterSlot) {\n <ng-content select=\"[iusCalendarFooter]\" />\n} @else if (showToday) {\n <div class=\"ius-cal__foot\">\n <button\n type=\"button\"\n class=\"ius-cal__today-btn\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTodayBtn()\"\n >{{ todayLabel || 'Fecha actual' }}</button>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;flex-direction:column;background:var(--ius-neutral-white);font-family:var(--ius-font-body);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-cal__body{display:flex;align-items:stretch}.ius-cal__col{display:flex;flex-direction:column}.ius-cal__aside{border-left:1px solid var(--ius-stroke);display:flex;min-height:0}.ius-cal__months{display:flex;align-items:stretch}.ius-cal__month{padding:var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__month+.ius-cal__month{border-left:1px solid var(--ius-stroke)}.ius-cal__head{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__titles{flex:1 1 auto;display:flex;align-items:center;justify-content:space-around;gap:var(--ius-space-xxs)}.ius-cal__title{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-xs);border-radius:var(--ius-radius-sm);display:inline-flex;gap:var(--ius-space-xs)}.ius-cal__title[data-static=true]{cursor:default}.ius-cal__title:not([data-static=true]):hover{background:var(--ius-info-100)}.ius-cal__nav{appearance:none;border:0;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);background:var(--ius-neutral-2);color:var(--ius-text-secondary);flex:0 0 auto;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__nav:hover{background:var(--ius-info-100);color:var(--ius-primary-500)}.ius-cal__nav .ius-icon{font-size:var(--ius-icon-md)}.ius-cal__grid{display:grid;grid-template-columns:repeat(7,32px)}.ius-cal__wd{height:28px;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary);font-family:var(--ius-font-display)}.ius-cal__day{appearance:none;border:0;background:transparent;cursor:pointer;height:32px;padding:var(--ius-space-xxs) 0;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-cal__day-inner{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__day:hover:not([data-disabled=true]) .ius-cal__day-inner{background:var(--ius-info-100)}.ius-cal__day[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__day[data-disabled=true]{color:var(--ius-text-disabled);cursor:not-allowed}.ius-cal__day[data-today=true] .ius-cal__day-inner{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__day[data-inrange=true]{background:var(--ius-info-100)}.ius-cal__day[data-range-start=true]{background:linear-gradient(to right,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-end=true]{background:linear-gradient(to left,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-start=true][data-range-end=true]{background:transparent}.ius-cal__day[data-selected=true] .ius-cal__day-inner{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cells{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ius-space-xxs);padding:var(--ius-space-xxs) 0;min-width:224px}.ius-cal__cell{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-sm) var(--ius-space-xs);border-radius:var(--ius-radius-md);font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-family:var(--ius-font-body);text-align:center;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__cell:hover{background:var(--ius-info-100)}.ius-cal__cell[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cell[data-today=true]:not([data-selected=true]){background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-cal__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-cal__today-btn:hover{color:var(--ius-primary-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19679
|
+
], queries: [{ propertyName: "footerRef", first: true, predicate: IusCalendarFooterDirective, descendants: true, isSignal: true }, { propertyName: "asideRef", first: true, predicate: IusCalendarAsideDirective, descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"ius-cal__body\">\r\n <div class=\"ius-cal__col\">\r\n <!-- encabezado: nav + t\u00EDtulos que suben de nivel (d\u00EDa \u2192 mes \u2192 d\u00E9cada) -->\r\n <div class=\"ius-cal__head\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__nav\"\r\n aria-label=\"Anterior\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"step(-1)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_left</span>\r\n </button>\r\n <div class=\"ius-cal__titles\">\r\n @for (t of headerTitles; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__title\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTitleClick(t)\"\r\n >\r\n @if (t.text != null) {\r\n {{ t.text }}\r\n } @else {\r\n <span>{{ t.monthAbbr }}</span>\r\n <span>{{ t.year }}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__nav\"\r\n aria-label=\"Siguiente\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"step(1)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </button>\r\n </div>\r\n\r\n @if (level() === 'day') {\r\n <div class=\"ius-cal__months\" (mouseleave)=\"onMonthsLeave()\">\r\n @for (m of monthsView; track m.key) {\r\n <div class=\"ius-cal__month\">\r\n <div class=\"ius-cal__grid\">\r\n @for (w of weekdays; track w) {\r\n <div class=\"ius-cal__wd\">{{ w }}</div>\r\n }\r\n @for (d of m.days; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__day\"\r\n [attr.data-outside]=\"d.outside ? 'true' : null\"\r\n [attr.data-disabled]=\"d.disabled ? 'true' : null\"\r\n [attr.data-today]=\"d.today ? 'true' : null\"\r\n [attr.data-selected]=\"d.selected ? 'true' : null\"\r\n [attr.data-inrange]=\"d.inRange ? 'true' : null\"\r\n [attr.data-range-start]=\"d.rangeStart ? 'true' : null\"\r\n [attr.data-range-end]=\"d.rangeEnd ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (mouseenter)=\"onDayEnter(d)\"\r\n (click)=\"onDayClick(d)\"\r\n >\r\n <span class=\"ius-cal__day-inner\">{{ d.label }}</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @else if (level() === 'month') {\r\n <div class=\"ius-cal__cells\">\r\n @for (c of monthCells; track c.value) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__cell\"\r\n [attr.data-selected]=\"c.selected ? 'true' : null\"\r\n [attr.data-today]=\"c.today ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onMonthCell(c)\"\r\n >{{ c.label }}</button>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"ius-cal__cells\">\r\n @for (c of yearCells; track c.value) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__cell\"\r\n [attr.data-outside]=\"c.outside ? 'true' : null\"\r\n [attr.data-selected]=\"c.selected ? 'true' : null\"\r\n [attr.data-today]=\"c.today ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onYearCell(c)\"\r\n >{{ c.label }}</button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (hasAside) {\r\n <div class=\"ius-cal__aside\"><ng-content select=\"[iusCalendarAside]\" /></div>\r\n }\r\n</div>\r\n\r\n@if (hasFooterSlot) {\r\n <ng-content select=\"[iusCalendarFooter]\" />\r\n} @else if (showToday) {\r\n <div class=\"ius-cal__foot\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__today-btn\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTodayBtn()\"\r\n >{{ todayLabel || 'Fecha actual' }}</button>\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;flex-direction:column;background:var(--ius-neutral-white);font-family:var(--ius-font-body);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-cal__body{display:flex;align-items:stretch}.ius-cal__col{display:flex;flex-direction:column}.ius-cal__aside{border-left:1px solid var(--ius-stroke);display:flex;min-height:0}.ius-cal__months{display:flex;align-items:stretch}.ius-cal__month{padding:var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__month+.ius-cal__month{border-left:1px solid var(--ius-stroke)}.ius-cal__head{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__titles{flex:1 1 auto;display:flex;align-items:center;justify-content:space-around;gap:var(--ius-space-xxs)}.ius-cal__title{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-xs);border-radius:var(--ius-radius-sm);display:inline-flex;gap:var(--ius-space-xs)}.ius-cal__title[data-static=true]{cursor:default}.ius-cal__title:not([data-static=true]):hover{background:var(--ius-info-100)}.ius-cal__nav{appearance:none;border:0;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);background:var(--ius-neutral-2);color:var(--ius-text-secondary);flex:0 0 auto;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__nav:hover{background:var(--ius-info-100);color:var(--ius-primary-500)}.ius-cal__nav .ius-icon{font-size:var(--ius-icon-md)}.ius-cal__grid{display:grid;grid-template-columns:repeat(7,32px)}.ius-cal__wd{height:28px;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary);font-family:var(--ius-font-display)}.ius-cal__day{appearance:none;border:0;background:transparent;cursor:pointer;height:32px;padding:var(--ius-space-xxs) 0;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-cal__day-inner{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__day:hover:not([data-disabled=true]) .ius-cal__day-inner{background:var(--ius-info-100)}.ius-cal__day[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__day[data-disabled=true]{color:var(--ius-text-disabled);cursor:not-allowed}.ius-cal__day[data-today=true] .ius-cal__day-inner{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__day[data-inrange=true]{background:var(--ius-info-100)}.ius-cal__day[data-range-start=true]{background:linear-gradient(to right,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-end=true]{background:linear-gradient(to left,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-start=true][data-range-end=true]{background:transparent}.ius-cal__day[data-selected=true] .ius-cal__day-inner{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cells{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ius-space-xxs);padding:var(--ius-space-xxs) 0;min-width:224px}.ius-cal__cell{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-sm) var(--ius-space-xs);border-radius:var(--ius-radius-md);font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-family:var(--ius-font-body);text-align:center;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__cell:hover{background:var(--ius-info-100)}.ius-cal__cell[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cell[data-today=true]:not([data-selected=true]){background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-cal__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-cal__today-btn:hover{color:var(--ius-primary-500)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19601
19680
|
}
|
|
19602
19681
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
19603
19682
|
type: Component,
|
|
@@ -19607,7 +19686,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
19607
19686
|
useExisting: forwardRef(() => CalendarComponent),
|
|
19608
19687
|
multi: true,
|
|
19609
19688
|
},
|
|
19610
|
-
], host: { class: 'ius-cal' }, template: "<div class=\"ius-cal__body\">\n <div class=\"ius-cal__col\">\n <!-- encabezado: nav + t\u00EDtulos que suben de nivel (d\u00EDa \u2192 mes \u2192 d\u00E9cada) -->\n <div class=\"ius-cal__head\">\n <button\n type=\"button\"\n class=\"ius-cal__nav\"\n aria-label=\"Anterior\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"step(-1)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_left</span>\n </button>\n <div class=\"ius-cal__titles\">\n @for (t of headerTitles; track $index) {\n <button\n type=\"button\"\n class=\"ius-cal__title\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTitleClick(t)\"\n >\n @if (t.text != null) {\n {{ t.text }}\n } @else {\n <span>{{ t.monthAbbr }}</span>\n <span>{{ t.year }}</span>\n }\n </button>\n }\n </div>\n <button\n type=\"button\"\n class=\"ius-cal__nav\"\n aria-label=\"Siguiente\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"step(1)\"\n >\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\n </button>\n </div>\n\n @if (level() === 'day') {\n <div class=\"ius-cal__months\" (mouseleave)=\"onMonthsLeave()\">\n @for (m of monthsView; track m.key) {\n <div class=\"ius-cal__month\">\n <div class=\"ius-cal__grid\">\n @for (w of weekdays; track w) {\n <div class=\"ius-cal__wd\">{{ w }}</div>\n }\n @for (d of m.days; track $index) {\n <button\n type=\"button\"\n class=\"ius-cal__day\"\n [attr.data-outside]=\"d.outside ? 'true' : null\"\n [attr.data-disabled]=\"d.disabled ? 'true' : null\"\n [attr.data-today]=\"d.today ? 'true' : null\"\n [attr.data-selected]=\"d.selected ? 'true' : null\"\n [attr.data-inrange]=\"d.inRange ? 'true' : null\"\n [attr.data-range-start]=\"d.rangeStart ? 'true' : null\"\n [attr.data-range-end]=\"d.rangeEnd ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (mouseenter)=\"onDayEnter(d)\"\n (click)=\"onDayClick(d)\"\n >\n <span class=\"ius-cal__day-inner\">{{ d.label }}</span>\n </button>\n }\n </div>\n </div>\n }\n </div>\n } @else if (level() === 'month') {\n <div class=\"ius-cal__cells\">\n @for (c of monthCells; track c.value) {\n <button\n type=\"button\"\n class=\"ius-cal__cell\"\n [attr.data-selected]=\"c.selected ? 'true' : null\"\n [attr.data-today]=\"c.today ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onMonthCell(c)\"\n >{{ c.label }}</button>\n }\n </div>\n } @else {\n <div class=\"ius-cal__cells\">\n @for (c of yearCells; track c.value) {\n <button\n type=\"button\"\n class=\"ius-cal__cell\"\n [attr.data-outside]=\"c.outside ? 'true' : null\"\n [attr.data-selected]=\"c.selected ? 'true' : null\"\n [attr.data-today]=\"c.today ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onYearCell(c)\"\n >{{ c.label }}</button>\n }\n </div>\n }\n </div>\n\n @if (hasAside) {\n <div class=\"ius-cal__aside\"><ng-content select=\"[iusCalendarAside]\" /></div>\n }\n</div>\n\n@if (hasFooterSlot) {\n <ng-content select=\"[iusCalendarFooter]\" />\n} @else if (showToday) {\n <div class=\"ius-cal__foot\">\n <button\n type=\"button\"\n class=\"ius-cal__today-btn\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTodayBtn()\"\n >{{ todayLabel || 'Fecha actual' }}</button>\n </div>\n}\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;flex-direction:column;background:var(--ius-neutral-white);font-family:var(--ius-font-body);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-cal__body{display:flex;align-items:stretch}.ius-cal__col{display:flex;flex-direction:column}.ius-cal__aside{border-left:1px solid var(--ius-stroke);display:flex;min-height:0}.ius-cal__months{display:flex;align-items:stretch}.ius-cal__month{padding:var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__month+.ius-cal__month{border-left:1px solid var(--ius-stroke)}.ius-cal__head{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__titles{flex:1 1 auto;display:flex;align-items:center;justify-content:space-around;gap:var(--ius-space-xxs)}.ius-cal__title{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-xs);border-radius:var(--ius-radius-sm);display:inline-flex;gap:var(--ius-space-xs)}.ius-cal__title[data-static=true]{cursor:default}.ius-cal__title:not([data-static=true]):hover{background:var(--ius-info-100)}.ius-cal__nav{appearance:none;border:0;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);background:var(--ius-neutral-2);color:var(--ius-text-secondary);flex:0 0 auto;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__nav:hover{background:var(--ius-info-100);color:var(--ius-primary-500)}.ius-cal__nav .ius-icon{font-size:var(--ius-icon-md)}.ius-cal__grid{display:grid;grid-template-columns:repeat(7,32px)}.ius-cal__wd{height:28px;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary);font-family:var(--ius-font-display)}.ius-cal__day{appearance:none;border:0;background:transparent;cursor:pointer;height:32px;padding:var(--ius-space-xxs) 0;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-cal__day-inner{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__day:hover:not([data-disabled=true]) .ius-cal__day-inner{background:var(--ius-info-100)}.ius-cal__day[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__day[data-disabled=true]{color:var(--ius-text-disabled);cursor:not-allowed}.ius-cal__day[data-today=true] .ius-cal__day-inner{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__day[data-inrange=true]{background:var(--ius-info-100)}.ius-cal__day[data-range-start=true]{background:linear-gradient(to right,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-end=true]{background:linear-gradient(to left,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-start=true][data-range-end=true]{background:transparent}.ius-cal__day[data-selected=true] .ius-cal__day-inner{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cells{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ius-space-xxs);padding:var(--ius-space-xxs) 0;min-width:224px}.ius-cal__cell{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-sm) var(--ius-space-xs);border-radius:var(--ius-radius-md);font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-family:var(--ius-font-body);text-align:center;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__cell:hover{background:var(--ius-info-100)}.ius-cal__cell[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cell[data-today=true]:not([data-selected=true]){background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-cal__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-cal__today-btn:hover{color:var(--ius-primary-500)}\n"] }]
|
|
19689
|
+
], host: { class: 'ius-cal' }, template: "<div class=\"ius-cal__body\">\r\n <div class=\"ius-cal__col\">\r\n <!-- encabezado: nav + t\u00EDtulos que suben de nivel (d\u00EDa \u2192 mes \u2192 d\u00E9cada) -->\r\n <div class=\"ius-cal__head\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__nav\"\r\n aria-label=\"Anterior\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"step(-1)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_left</span>\r\n </button>\r\n <div class=\"ius-cal__titles\">\r\n @for (t of headerTitles; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__title\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTitleClick(t)\"\r\n >\r\n @if (t.text != null) {\r\n {{ t.text }}\r\n } @else {\r\n <span>{{ t.monthAbbr }}</span>\r\n <span>{{ t.year }}</span>\r\n }\r\n </button>\r\n }\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__nav\"\r\n aria-label=\"Siguiente\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"step(1)\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">chevron_right</span>\r\n </button>\r\n </div>\r\n\r\n @if (level() === 'day') {\r\n <div class=\"ius-cal__months\" (mouseleave)=\"onMonthsLeave()\">\r\n @for (m of monthsView; track m.key) {\r\n <div class=\"ius-cal__month\">\r\n <div class=\"ius-cal__grid\">\r\n @for (w of weekdays; track w) {\r\n <div class=\"ius-cal__wd\">{{ w }}</div>\r\n }\r\n @for (d of m.days; track $index) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__day\"\r\n [attr.data-outside]=\"d.outside ? 'true' : null\"\r\n [attr.data-disabled]=\"d.disabled ? 'true' : null\"\r\n [attr.data-today]=\"d.today ? 'true' : null\"\r\n [attr.data-selected]=\"d.selected ? 'true' : null\"\r\n [attr.data-inrange]=\"d.inRange ? 'true' : null\"\r\n [attr.data-range-start]=\"d.rangeStart ? 'true' : null\"\r\n [attr.data-range-end]=\"d.rangeEnd ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (mouseenter)=\"onDayEnter(d)\"\r\n (click)=\"onDayClick(d)\"\r\n >\r\n <span class=\"ius-cal__day-inner\">{{ d.label }}</span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n } @else if (level() === 'month') {\r\n <div class=\"ius-cal__cells\">\r\n @for (c of monthCells; track c.value) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__cell\"\r\n [attr.data-selected]=\"c.selected ? 'true' : null\"\r\n [attr.data-today]=\"c.today ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onMonthCell(c)\"\r\n >{{ c.label }}</button>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"ius-cal__cells\">\r\n @for (c of yearCells; track c.value) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__cell\"\r\n [attr.data-outside]=\"c.outside ? 'true' : null\"\r\n [attr.data-selected]=\"c.selected ? 'true' : null\"\r\n [attr.data-today]=\"c.today ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onYearCell(c)\"\r\n >{{ c.label }}</button>\r\n }\r\n </div>\r\n }\r\n </div>\r\n\r\n @if (hasAside) {\r\n <div class=\"ius-cal__aside\"><ng-content select=\"[iusCalendarAside]\" /></div>\r\n }\r\n</div>\r\n\r\n@if (hasFooterSlot) {\r\n <ng-content select=\"[iusCalendarFooter]\" />\r\n} @else if (showToday) {\r\n <div class=\"ius-cal__foot\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-cal__today-btn\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTodayBtn()\"\r\n >{{ todayLabel || 'Fecha actual' }}</button>\r\n </div>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{display:inline-flex;flex-direction:column;background:var(--ius-neutral-white);font-family:var(--ius-font-body);border-radius:var(--ius-radius-lg);overflow:hidden}.ius-cal__body{display:flex;align-items:stretch}.ius-cal__col{display:flex;flex-direction:column}.ius-cal__aside{border-left:1px solid var(--ius-stroke);display:flex;min-height:0}.ius-cal__months{display:flex;align-items:stretch}.ius-cal__month{padding:var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__month+.ius-cal__month{border-left:1px solid var(--ius-stroke)}.ius-cal__head{display:flex;align-items:center;gap:var(--ius-space-xs);padding:var(--ius-space-sm) var(--ius-space-xs) var(--ius-space-xs)}.ius-cal__titles{flex:1 1 auto;display:flex;align-items:center;justify-content:space-around;gap:var(--ius-space-xxs)}.ius-cal__title{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-display);font-size:var(--ius-fs-sm);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-xs);border-radius:var(--ius-radius-sm);display:inline-flex;gap:var(--ius-space-xs)}.ius-cal__title[data-static=true]{cursor:default}.ius-cal__title:not([data-static=true]):hover{background:var(--ius-info-100)}.ius-cal__nav{appearance:none;border:0;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);background:var(--ius-neutral-2);color:var(--ius-text-secondary);flex:0 0 auto;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__nav:hover{background:var(--ius-info-100);color:var(--ius-primary-500)}.ius-cal__nav .ius-icon{font-size:var(--ius-icon-md)}.ius-cal__grid{display:grid;grid-template-columns:repeat(7,32px)}.ius-cal__wd{height:28px;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-tertiary);font-family:var(--ius-font-display)}.ius-cal__day{appearance:none;border:0;background:transparent;cursor:pointer;height:32px;padding:var(--ius-space-xxs) 0;display:grid;place-items:center;font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-variant-numeric:tabular-nums}.ius-cal__day-inner{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--ius-radius-pill);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__day:hover:not([data-disabled=true]) .ius-cal__day-inner{background:var(--ius-info-100)}.ius-cal__day[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__day[data-disabled=true]{color:var(--ius-text-disabled);cursor:not-allowed}.ius-cal__day[data-today=true] .ius-cal__day-inner{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__day[data-inrange=true]{background:var(--ius-info-100)}.ius-cal__day[data-range-start=true]{background:linear-gradient(to right,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-end=true]{background:linear-gradient(to left,transparent 50%,var(--ius-info-100) 50%)}.ius-cal__day[data-range-start=true][data-range-end=true]{background:transparent}.ius-cal__day[data-selected=true] .ius-cal__day-inner{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cells{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--ius-space-xxs);padding:var(--ius-space-xxs) 0;min-width:224px}.ius-cal__cell{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-sm) var(--ius-space-xs);border-radius:var(--ius-radius-md);font-size:var(--ius-fs-sm);color:var(--ius-text-primary);font-family:var(--ius-font-body);text-align:center;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-cal__cell:hover{background:var(--ius-info-100)}.ius-cal__cell[data-outside=true]{color:var(--ius-text-disabled)}.ius-cal__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-cal__cell[data-today=true]:not([data-selected=true]){background:var(--ius-success-100);color:var(--ius-success-700)}.ius-cal__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-cal__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-cal__today-btn:hover{color:var(--ius-primary-500)}\n"] }]
|
|
19611
19690
|
}], propDecorators: { mode: [{
|
|
19612
19691
|
type: Input
|
|
19613
19692
|
}], defaultValue: [{
|
|
@@ -19797,7 +19876,7 @@ class TimePanelComponent {
|
|
|
19797
19876
|
useExisting: forwardRef(() => TimePanelComponent),
|
|
19798
19877
|
multi: true,
|
|
19799
19878
|
},
|
|
19800
|
-
], viewQueries: [{ propertyName: "colH", first: true, predicate: ["colH"], descendants: true }, { propertyName: "colM", first: true, predicate: ["colM"], descendants: true }], ngImport: i0, template: "@if (showHeader) {\n @if (editable) {\n <!-- encabezado editable: hh | mm (multi-text-field) + toggle AM/PM -->\n <div class=\"ius-time__head ius-time__head--edit\">\n <ius-multi-text-field size=\"small\" [showHelpText]=\"false\" [slots]=\"editSlots\" />\n <div class=\"ius-time__ampm\">\n @for (p of periods; track p) {\n <button\n type=\"button\"\n [attr.data-active]=\"current.ampm === p ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ ampm: p })\"\n >{{ p }}</button>\n }\n </div>\n </div>\n } @else {\n <div class=\"ius-time__head\">{{ headerText }}</div>\n }\n}\n\n<div class=\"ius-time__cols\">\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colH [style.maxHeight]=\"colMaxH\">\n @for (h of hours; track h) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.hours === h ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.hours === h && current.hours !== h ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ hours: h })\"\n >{{ pad(h) }}</button>\n }\n </div>\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colM [style.maxHeight]=\"colMaxH\">\n @for (m of minutes; track m) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.minutes === m ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.minutes === m && current.minutes !== m ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ minutes: m })\"\n >{{ pad(m) }}</button>\n }\n </div>\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" [style.maxHeight]=\"colMaxH\">\n @for (p of periods; track p) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.ampm === p ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.ampm === p && current.ampm !== p ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ ampm: p })\"\n >{{ p }}</button>\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;font-family:var(--ius-font-body);background:var(--ius-neutral-white)}.ius-time__head{text-align:center;font-family:var(--ius-font-display);font-size:var(--ius-fs-base);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xs) var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-time__head--edit{display:flex;align-items:center;justify-content:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs)}.ius-time__ampm{display:inline-flex;border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-sm);overflow:hidden}.ius-time__ampm button{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-xxs) var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);color:var(--ius-text-secondary)}.ius-time__ampm button[data-active=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cols{display:flex;align-items:stretch}.ius-time__col{display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);overflow-y:auto;overflow-x:hidden}.ius-time__col+.ius-time__col{border-left:1px solid var(--ius-stroke)}:host([data-fill=true]){position:relative;width:160px}:host([data-fill=true]) .ius-time__cols{position:absolute;inset:0}:host([data-fill=true]) .ius-time__col{flex:1 1 0;overflow-y:auto;overflow-x:hidden}:host([data-fill=true]) .ius-time__cell{min-width:0;padding:0}.ius-time__cell{flex:0 0 auto;min-width:40px;height:32px;display:grid;place-items:center;padding:0 var(--ius-space-xs);border-radius:var(--ius-radius-md);cursor:pointer;font-size:var(--ius-fs-base);line-height:1;color:var(--ius-text-primary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border:0;background:transparent;appearance:none;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-time__cell:hover{background:var(--ius-info-100)}.ius-time__cell[data-now=true]{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-time__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cell[data-selected=true]:hover{background:var(--ius-primary-900)}\n"], dependencies: [{ kind: "component", type: MultiTextFieldComponent, selector: "ius-multi-text-field", inputs: ["slots", "label", "required", "showIconHelp", "iconHelpTitle", "iconHelpContent", "helpText", "errorText", "showHelpText", "showClear", "error", "disabled", "size", "state", "id"], outputs: ["valueChange", "cleared"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19879
|
+
], viewQueries: [{ propertyName: "colH", first: true, predicate: ["colH"], descendants: true }, { propertyName: "colM", first: true, predicate: ["colM"], descendants: true }], ngImport: i0, template: "@if (showHeader) {\r\n @if (editable) {\r\n <!-- encabezado editable: hh | mm (multi-text-field) + toggle AM/PM -->\r\n <div class=\"ius-time__head ius-time__head--edit\">\r\n <ius-multi-text-field size=\"small\" [showHelpText]=\"false\" [slots]=\"editSlots\" />\r\n <div class=\"ius-time__ampm\">\r\n @for (p of periods; track p) {\r\n <button\r\n type=\"button\"\r\n [attr.data-active]=\"current.ampm === p ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ ampm: p })\"\r\n >{{ p }}</button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"ius-time__head\">{{ headerText }}</div>\r\n }\r\n}\r\n\r\n<div class=\"ius-time__cols\">\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colH [style.maxHeight]=\"colMaxH\">\r\n @for (h of hours; track h) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.hours === h ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.hours === h && current.hours !== h ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ hours: h })\"\r\n >{{ pad(h) }}</button>\r\n }\r\n </div>\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colM [style.maxHeight]=\"colMaxH\">\r\n @for (m of minutes; track m) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.minutes === m ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.minutes === m && current.minutes !== m ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ minutes: m })\"\r\n >{{ pad(m) }}</button>\r\n }\r\n </div>\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" [style.maxHeight]=\"colMaxH\">\r\n @for (p of periods; track p) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.ampm === p ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.ampm === p && current.ampm !== p ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ ampm: p })\"\r\n >{{ p }}</button>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;font-family:var(--ius-font-body);background:var(--ius-neutral-white)}.ius-time__head{text-align:center;font-family:var(--ius-font-display);font-size:var(--ius-fs-base);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xs) var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-time__head--edit{display:flex;align-items:center;justify-content:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs)}.ius-time__ampm{display:inline-flex;border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-sm);overflow:hidden}.ius-time__ampm button{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-xxs) var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);color:var(--ius-text-secondary)}.ius-time__ampm button[data-active=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cols{display:flex;align-items:stretch}.ius-time__col{display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);overflow-y:auto;overflow-x:hidden}.ius-time__col+.ius-time__col{border-left:1px solid var(--ius-stroke)}:host([data-fill=true]){position:relative;width:160px}:host([data-fill=true]) .ius-time__cols{position:absolute;inset:0}:host([data-fill=true]) .ius-time__col{flex:1 1 0;overflow-y:auto;overflow-x:hidden}:host([data-fill=true]) .ius-time__cell{min-width:0;padding:0}.ius-time__cell{flex:0 0 auto;min-width:40px;height:32px;display:grid;place-items:center;padding:0 var(--ius-space-xs);border-radius:var(--ius-radius-md);cursor:pointer;font-size:var(--ius-fs-base);line-height:1;color:var(--ius-text-primary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border:0;background:transparent;appearance:none;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-time__cell:hover{background:var(--ius-info-100)}.ius-time__cell[data-now=true]{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-time__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cell[data-selected=true]:hover{background:var(--ius-primary-900)}\n"], dependencies: [{ kind: "component", type: MultiTextFieldComponent, selector: "ius-multi-text-field", inputs: ["slots", "label", "required", "showIconHelp", "iconHelpTitle", "iconHelpContent", "helpText", "errorText", "showHelpText", "showClear", "error", "disabled", "size", "state", "id"], outputs: ["valueChange", "cleared"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
19801
19880
|
}
|
|
19802
19881
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: TimePanelComponent, decorators: [{
|
|
19803
19882
|
type: Component,
|
|
@@ -19810,7 +19889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
19810
19889
|
], host: {
|
|
19811
19890
|
class: 'ius-time',
|
|
19812
19891
|
'[attr.data-fill]': "fillHeight ? 'true' : null",
|
|
19813
|
-
}, template: "@if (showHeader) {\n @if (editable) {\n <!-- encabezado editable: hh | mm (multi-text-field) + toggle AM/PM -->\n <div class=\"ius-time__head ius-time__head--edit\">\n <ius-multi-text-field size=\"small\" [showHelpText]=\"false\" [slots]=\"editSlots\" />\n <div class=\"ius-time__ampm\">\n @for (p of periods; track p) {\n <button\n type=\"button\"\n [attr.data-active]=\"current.ampm === p ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ ampm: p })\"\n >{{ p }}</button>\n }\n </div>\n </div>\n } @else {\n <div class=\"ius-time__head\">{{ headerText }}</div>\n }\n}\n\n<div class=\"ius-time__cols\">\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colH [style.maxHeight]=\"colMaxH\">\n @for (h of hours; track h) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.hours === h ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.hours === h && current.hours !== h ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ hours: h })\"\n >{{ pad(h) }}</button>\n }\n </div>\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colM [style.maxHeight]=\"colMaxH\">\n @for (m of minutes; track m) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.minutes === m ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.minutes === m && current.minutes !== m ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ minutes: m })\"\n >{{ pad(m) }}</button>\n }\n </div>\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" [style.maxHeight]=\"colMaxH\">\n @for (p of periods; track p) {\n <button\n type=\"button\"\n class=\"ius-time__cell\"\n [attr.data-selected]=\"current.ampm === p ? 'true' : null\"\n [attr.data-now]=\"nowVal && nowVal.ampm === p && current.ampm !== p ? 'true' : null\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"commit({ ampm: p })\"\n >{{ p }}</button>\n }\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;font-family:var(--ius-font-body);background:var(--ius-neutral-white)}.ius-time__head{text-align:center;font-family:var(--ius-font-display);font-size:var(--ius-fs-base);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xs) var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-time__head--edit{display:flex;align-items:center;justify-content:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs)}.ius-time__ampm{display:inline-flex;border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-sm);overflow:hidden}.ius-time__ampm button{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-xxs) var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);color:var(--ius-text-secondary)}.ius-time__ampm button[data-active=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cols{display:flex;align-items:stretch}.ius-time__col{display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);overflow-y:auto;overflow-x:hidden}.ius-time__col+.ius-time__col{border-left:1px solid var(--ius-stroke)}:host([data-fill=true]){position:relative;width:160px}:host([data-fill=true]) .ius-time__cols{position:absolute;inset:0}:host([data-fill=true]) .ius-time__col{flex:1 1 0;overflow-y:auto;overflow-x:hidden}:host([data-fill=true]) .ius-time__cell{min-width:0;padding:0}.ius-time__cell{flex:0 0 auto;min-width:40px;height:32px;display:grid;place-items:center;padding:0 var(--ius-space-xs);border-radius:var(--ius-radius-md);cursor:pointer;font-size:var(--ius-fs-base);line-height:1;color:var(--ius-text-primary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border:0;background:transparent;appearance:none;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-time__cell:hover{background:var(--ius-info-100)}.ius-time__cell[data-now=true]{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-time__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cell[data-selected=true]:hover{background:var(--ius-primary-900)}\n"] }]
|
|
19892
|
+
}, template: "@if (showHeader) {\r\n @if (editable) {\r\n <!-- encabezado editable: hh | mm (multi-text-field) + toggle AM/PM -->\r\n <div class=\"ius-time__head ius-time__head--edit\">\r\n <ius-multi-text-field size=\"small\" [showHelpText]=\"false\" [slots]=\"editSlots\" />\r\n <div class=\"ius-time__ampm\">\r\n @for (p of periods; track p) {\r\n <button\r\n type=\"button\"\r\n [attr.data-active]=\"current.ampm === p ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ ampm: p })\"\r\n >{{ p }}</button>\r\n }\r\n </div>\r\n </div>\r\n } @else {\r\n <div class=\"ius-time__head\">{{ headerText }}</div>\r\n }\r\n}\r\n\r\n<div class=\"ius-time__cols\">\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colH [style.maxHeight]=\"colMaxH\">\r\n @for (h of hours; track h) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.hours === h ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.hours === h && current.hours !== h ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ hours: h })\"\r\n >{{ pad(h) }}</button>\r\n }\r\n </div>\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" #colM [style.maxHeight]=\"colMaxH\">\r\n @for (m of minutes; track m) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.minutes === m ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.minutes === m && current.minutes !== m ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ minutes: m })\"\r\n >{{ pad(m) }}</button>\r\n }\r\n </div>\r\n <div class=\"ius-time__col ius-scroll ius-scroll--sm\" [style.maxHeight]=\"colMaxH\">\r\n @for (p of periods; track p) {\r\n <button\r\n type=\"button\"\r\n class=\"ius-time__cell\"\r\n [attr.data-selected]=\"current.ampm === p ? 'true' : null\"\r\n [attr.data-now]=\"nowVal && nowVal.ampm === p && current.ampm !== p ? 'true' : null\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"commit({ ampm: p })\"\r\n >{{ p }}</button>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";:host{display:flex;flex-direction:column;font-family:var(--ius-font-body);background:var(--ius-neutral-white)}.ius-time__head{text-align:center;font-family:var(--ius-font-display);font-size:var(--ius-fs-base);font-weight:var(--ius-fw-semibold);color:var(--ius-text-primary);padding:var(--ius-space-xs) var(--ius-space-xs);font-variant-numeric:tabular-nums}.ius-time__head--edit{display:flex;align-items:center;justify-content:center;gap:var(--ius-space-xs);padding:var(--ius-space-xs)}.ius-time__ampm{display:inline-flex;border:1px solid var(--ius-stroke);border-radius:var(--ius-radius-sm);overflow:hidden}.ius-time__ampm button{appearance:none;border:0;background:transparent;cursor:pointer;padding:var(--ius-space-xxs) var(--ius-space-xs);font-family:var(--ius-font-body);font-size:var(--ius-fs-sm);color:var(--ius-text-secondary)}.ius-time__ampm button[data-active=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cols{display:flex;align-items:stretch}.ius-time__col{display:flex;flex-direction:column;gap:var(--ius-space-xxs);padding:var(--ius-space-xxs);overflow-y:auto;overflow-x:hidden}.ius-time__col+.ius-time__col{border-left:1px solid var(--ius-stroke)}:host([data-fill=true]){position:relative;width:160px}:host([data-fill=true]) .ius-time__cols{position:absolute;inset:0}:host([data-fill=true]) .ius-time__col{flex:1 1 0;overflow-y:auto;overflow-x:hidden}:host([data-fill=true]) .ius-time__cell{min-width:0;padding:0}.ius-time__cell{flex:0 0 auto;min-width:40px;height:32px;display:grid;place-items:center;padding:0 var(--ius-space-xs);border-radius:var(--ius-radius-md);cursor:pointer;font-size:var(--ius-fs-base);line-height:1;color:var(--ius-text-primary);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;border:0;background:transparent;appearance:none;transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),color var(--ius-duration-fast) var(--ius-ease-standard)}.ius-time__cell:hover{background:var(--ius-info-100)}.ius-time__cell[data-now=true]{background:var(--ius-success-100);color:var(--ius-success-700)}.ius-time__cell[data-selected=true]{background:var(--ius-primary-900);color:var(--ius-neutral-white)}.ius-time__cell[data-selected=true]:hover{background:var(--ius-primary-900)}\n"] }]
|
|
19814
19893
|
}], propDecorators: { defaultValue: [{
|
|
19815
19894
|
type: Input
|
|
19816
19895
|
}], value: [{
|
|
@@ -20247,7 +20326,7 @@ class DatePickerComponent {
|
|
|
20247
20326
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
20248
20327
|
multi: true,
|
|
20249
20328
|
},
|
|
20250
|
-
], viewQueries: [{ propertyName: "slotEls", predicate: ["slotEl"], descendants: true }], ngImport: i0, template: "@if (label != null) {\n <label [attr.for]=\"baseId\" class=\"ius-tf__label\">\n @if (required) {\n <span class=\"ius-tf__required\" aria-hidden=\"true\"></span>\n }\n <span>{{ label }}</span>\n @if (showIconHelp) {\n <ius-popover [title]=\"iconHelpTitle\" [content]=\"iconHelpContent\" placement=\"top\" trigger=\"hover\">\n <span class=\"ius-tf__help-icon\" aria-label=\"Ayuda\" tabindex=\"0\">\n <span translate=\"no\" class=\"ius-icon\">help</span>\n </span>\n </ius-popover>\n }\n <span class=\"ius-tf__colon\">:</span>\n </label>\n}\n\n<!-- El popover ancla el panel al campo (bottom-end, piel ius-datepicker-pop) -->\n<ius-popover\n trigger=\"manual\"\n [open]=\"isOpen\"\n placement=\"bottom-end\"\n [offset]=\"6\"\n [showArrow]=\"false\"\n padding=\"none\"\n dismissable\n panelClass=\"ius-datepicker-pop\"\n (openChange)=\"onPopoverOpenChange($event)\"\n>\n <div\n [id]=\"baseId\"\n class=\"ius-tf__field\"\n [attr.aria-required]=\"required || null\"\n [attr.aria-invalid]=\"isError || null\"\n >\n @for (t of tokens; track $index) {\n @switch (t.kind) {\n @case ('divider') {\n <span class=\"ius-tf__divider\" aria-hidden=\"true\"></span>\n }\n @case ('gap') {\n <span class=\"ius-dp__gap\"></span>\n }\n @case ('arrow') {\n <span translate=\"no\" class=\"ius-icon ius-dp__arrow\" aria-hidden=\"true\">arrow_right_alt</span>\n }\n @case ('ampm') {\n <span class=\"ius-dp__ampm\">\n <button\n type=\"button\"\n tabindex=\"-1\"\n class=\"ius-dp__ampm-text\"\n aria-label=\"Cambiar AM/PM\"\n [disabled]=\"isDisabled\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleAmpm()\"\n >{{ ampmVal }}</button>\n </span>\n }\n @default {\n <input\n #slotEl\n class=\"ius-dp__slot\"\n inputmode=\"numeric\"\n [value]=\"slotValue(t.id!)\"\n [placeholder]=\"t.ph!\"\n [disabled]=\"isDisabled\"\n [attr.maxlength]=\"t.max\"\n [attr.aria-label]=\"t.ph\"\n [style.width]=\"slotWidth(t)\"\n (input)=\"onSlotInput(t, $event)\"\n (keydown)=\"onSlotKeydown(t, $event)\"\n (focus)=\"onSlotFocus()\"\n (blur)=\"onSlotBlur()\"\n />\n }\n }\n }\n <button\n type=\"button\"\n class=\"ius-dp__cal\"\n tabindex=\"-1\"\n aria-label=\"Abrir calendario\"\n [attr.aria-expanded]=\"isOpen\"\n [disabled]=\"isDisabled\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleOpen()\"\n >\n <span translate=\"no\" class=\"ius-icon\">calendar_month</span>\n </button>\n </div>\n\n <!-- Panel: Calendar (+ TimePanel en datetime) -->\n <ius-calendar\n iusPopoverContent\n [mode]=\"calMode\"\n [value]=\"calValue\"\n [viewDate]=\"view\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [isDateDisabled]=\"isDateDisabled\"\n [showToday]=\"false\"\n (valueChange)=\"onCalChange($event)\"\n (viewDateChange)=\"onViewChange($event)\"\n >\n @if (mode !== 'range') {\n <div iusCalendarFooter class=\"ius-dp__foot\">\n <button\n type=\"button\"\n class=\"ius-dp__today-btn\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTodayFoot()\"\n >{{ todayFootLabel }}</button>\n </div>\n }\n @if (mode === 'datetime') {\n <ius-time-panel\n iusCalendarAside\n [value]=\"currentTime\"\n [minuteStep]=\"minuteStep\"\n [showHeader]=\"false\"\n fillHeight\n (valueChange)=\"onTimeChange($event)\"\n />\n }\n </ius-calendar>\n</ius-popover>\n\n@if (showHint) {\n <span class=\"ius-tf__hint\">{{ hint }}</span>\n}\n", styles: ["@charset \"UTF-8\";:host{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-primary);--_tf-placeholder: var(--ius-text-tertiary);--_tf-icon: var(--ius-text-secondary);--_tf-py: 9px;--_tf-px: 12px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-md);display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);width:fit-content;max-width:100%;min-width:0}:host([data-size=small]){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}:host([data-size=large]){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}}.ius-tf__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-primary)}.ius-tf__required{width:5px;height:5px;border-radius:50%;background:var(--ius-danger-500);display:inline-block;margin-right:var(--ius-space-xxs)}.ius-tf__help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-tf__help-icon .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-tf__colon{color:var(--ius-text-secondary)}.ius-tf__field{display:flex;align-items:center;gap:0;cursor:text;width:fit-content;padding:var(--_tf-py) var(--_tf-px);background:var(--_tf-bg);border:1px solid var(--_tf-border);border-radius:var(--ius-radius-md);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),border-color var(--ius-duration-fast) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-tf__field:hover,:host([data-force=hover]) .ius-tf__field{--_tf-bg: var(--ius-info-100);--_tf-border: transparent}:host([data-focused=true]) .ius-tf__field,:host([data-force=focused]) .ius-tf__field,.ius-tf__field:focus-within{--_tf-bg: var(--ius-info-100);--_tf-border: var(--ius-primary-500);box-shadow:var(--ius-focus-ring)}:host([data-error=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{--_tf-bg: var(--ius-danger-100);--_tf-border: var(--ius-danger-700);box-shadow:none}:host([data-error=true][data-focused=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{box-shadow:0 0 0 3px var(--ius-danger-200)}:host([data-disabled=true]) .ius-tf__field,:host([data-force=disabled]) .ius-tf__field{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-disabled);--_tf-placeholder: var(--ius-text-disabled);--_tf-icon: var(--ius-text-disabled);box-shadow:none;cursor:not-allowed}:host([data-disabled=true]) .ius-tf__label,:host([data-force=disabled]) .ius-tf__label{color:var(--ius-text-disabled)}:host([data-disabled=true]) .ius-tf__required,:host([data-force=disabled]) .ius-tf__required{background:var(--ius-neutral-5)}.ius-tf__divider{width:1px;align-self:stretch;background:var(--ius-neutral-5);flex:0 0 auto;margin:var(--ius-space-xxs) var(--ius-space-xs)}:host([data-focused=true]) .ius-tf__divider,:host([data-force=focused]) .ius-tf__divider{background:var(--ius-primary-500)}:host([data-error=true]) .ius-tf__divider,:host([data-force=error]) .ius-tf__divider{background:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__divider,:host([data-force=disabled]) .ius-tf__divider{background:var(--ius-neutral-4)}.ius-dp__slot{flex:0 0 auto;appearance:none;border:0;outline:0;background:transparent;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--_tf-fg);text-align:center;padding:0;min-width:0}.ius-dp__slot::placeholder{color:var(--_tf-placeholder)}.ius-dp__slot:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__arrow{font-size:var(--_tf-icon-size);color:var(--ius-text-tertiary);flex:0 0 auto;margin:0 var(--ius-space-xxs)}.ius-dp__gap{width:8px;flex:0 0 auto}.ius-dp__ampm{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto}.ius-dp__ampm-text{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--ius-text-primary);padding:0 var(--ius-space-xxs);font-variant-numeric:tabular-nums}.ius-dp__ampm-text:hover{color:var(--ius-primary-500)}.ius-dp__ampm-text:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__cal{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;align-self:center;color:var(--_tf-icon);flex:0 0 auto;margin-left:auto;padding:0}:host([data-disabled=true]) .ius-dp__cal{cursor:not-allowed}.ius-dp__cal .ius-icon{font-size:calc(var(--_tf-icon-size) + 2px)}.ius-dp__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-dp__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-dp__today-btn:hover{color:var(--ius-primary-500)}.ius-tf__hint{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-medium);font-style:italic;color:var(--ius-text-secondary);letter-spacing:.02em}:host([data-error=true]) .ius-tf__hint,:host([data-force=error]) .ius-tf__hint{color:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__hint,:host([data-force=disabled]) .ius-tf__hint{color:var(--ius-text-disabled)}\n"], dependencies: [{ kind: "component", type: CalendarComponent, selector: "ius-calendar", inputs: ["mode", "defaultValue", "value", "viewDate", "minDate", "maxDate", "isDateDisabled", "showToday", "todayLabel", "weekStartsOn"], outputs: ["valueChange", "viewDateChange", "todayClick"] }, { kind: "directive", type: IusCalendarAsideDirective, selector: "[iusCalendarAside]" }, { kind: "directive", type: IusCalendarFooterDirective, selector: "[iusCalendarFooter]" }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TimePanelComponent, selector: "ius-time-panel", inputs: ["defaultValue", "value", "minuteStep", "now", "showHeader", "editable", "fillHeight", "maxVisible"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20329
|
+
], viewQueries: [{ propertyName: "slotEls", predicate: ["slotEl"], descendants: true }], ngImport: i0, template: "@if (label != null) {\r\n <label [attr.for]=\"baseId\" class=\"ius-tf__label\">\r\n @if (required) {\r\n <span class=\"ius-tf__required\" aria-hidden=\"true\"></span>\r\n }\r\n <span>{{ label }}</span>\r\n @if (showIconHelp) {\r\n <ius-popover [title]=\"iconHelpTitle\" [content]=\"iconHelpContent\" placement=\"top\" trigger=\"hover\">\r\n <span class=\"ius-tf__help-icon\" aria-label=\"Ayuda\" tabindex=\"0\">\r\n <span translate=\"no\" class=\"ius-icon\">help</span>\r\n </span>\r\n </ius-popover>\r\n }\r\n <span class=\"ius-tf__colon\">:</span>\r\n </label>\r\n}\r\n\r\n<!-- El popover ancla el panel al campo (bottom-end, piel ius-datepicker-pop) -->\r\n<ius-popover\r\n trigger=\"manual\"\r\n [open]=\"isOpen\"\r\n placement=\"bottom-end\"\r\n [offset]=\"6\"\r\n [showArrow]=\"false\"\r\n padding=\"none\"\r\n dismissable\r\n panelClass=\"ius-datepicker-pop\"\r\n (openChange)=\"onPopoverOpenChange($event)\"\r\n>\r\n <div\r\n [id]=\"baseId\"\r\n class=\"ius-tf__field\"\r\n [attr.aria-required]=\"required || null\"\r\n [attr.aria-invalid]=\"isError || null\"\r\n >\r\n @for (t of tokens; track $index) {\r\n @switch (t.kind) {\r\n @case ('divider') {\r\n <span class=\"ius-tf__divider\" aria-hidden=\"true\"></span>\r\n }\r\n @case ('gap') {\r\n <span class=\"ius-dp__gap\"></span>\r\n }\r\n @case ('arrow') {\r\n <span translate=\"no\" class=\"ius-icon ius-dp__arrow\" aria-hidden=\"true\">arrow_right_alt</span>\r\n }\r\n @case ('ampm') {\r\n <span class=\"ius-dp__ampm\">\r\n <button\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n class=\"ius-dp__ampm-text\"\r\n aria-label=\"Cambiar AM/PM\"\r\n [disabled]=\"isDisabled\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"toggleAmpm()\"\r\n >{{ ampmVal }}</button>\r\n </span>\r\n }\r\n @default {\r\n <input\r\n #slotEl\r\n class=\"ius-dp__slot\"\r\n inputmode=\"numeric\"\r\n [value]=\"slotValue(t.id!)\"\r\n [placeholder]=\"t.ph!\"\r\n [disabled]=\"isDisabled\"\r\n [attr.maxlength]=\"t.max\"\r\n [attr.aria-label]=\"t.ph\"\r\n [style.width]=\"slotWidth(t)\"\r\n (input)=\"onSlotInput(t, $event)\"\r\n (keydown)=\"onSlotKeydown(t, $event)\"\r\n (focus)=\"onSlotFocus()\"\r\n (blur)=\"onSlotBlur()\"\r\n />\r\n }\r\n }\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ius-dp__cal\"\r\n tabindex=\"-1\"\r\n aria-label=\"Abrir calendario\"\r\n [attr.aria-expanded]=\"isOpen\"\r\n [disabled]=\"isDisabled\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"toggleOpen()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">calendar_month</span>\r\n </button>\r\n </div>\r\n\r\n <!-- Panel: Calendar (+ TimePanel en datetime) -->\r\n <ius-calendar\r\n iusPopoverContent\r\n [mode]=\"calMode\"\r\n [value]=\"calValue\"\r\n [viewDate]=\"view\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [isDateDisabled]=\"isDateDisabled\"\r\n [showToday]=\"false\"\r\n (valueChange)=\"onCalChange($event)\"\r\n (viewDateChange)=\"onViewChange($event)\"\r\n >\r\n @if (mode !== 'range') {\r\n <div iusCalendarFooter class=\"ius-dp__foot\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-dp__today-btn\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTodayFoot()\"\r\n >{{ todayFootLabel }}</button>\r\n </div>\r\n }\r\n @if (mode === 'datetime') {\r\n <ius-time-panel\r\n iusCalendarAside\r\n [value]=\"currentTime\"\r\n [minuteStep]=\"minuteStep\"\r\n [showHeader]=\"false\"\r\n fillHeight\r\n (valueChange)=\"onTimeChange($event)\"\r\n />\r\n }\r\n </ius-calendar>\r\n</ius-popover>\r\n\r\n@if (showHint) {\r\n <span class=\"ius-tf__hint\">{{ hint }}</span>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-primary);--_tf-placeholder: var(--ius-text-tertiary);--_tf-icon: var(--ius-text-secondary);--_tf-py: 9px;--_tf-px: 12px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-md);display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);width:fit-content;max-width:100%;min-width:0}:host([data-size=small]){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}:host([data-size=large]){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}}.ius-tf__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-primary)}.ius-tf__required{width:5px;height:5px;border-radius:50%;background:var(--ius-danger-500);display:inline-block;margin-right:var(--ius-space-xxs)}.ius-tf__help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-tf__help-icon .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-tf__colon{color:var(--ius-text-secondary)}.ius-tf__field{display:flex;align-items:center;gap:0;cursor:text;width:fit-content;padding:var(--_tf-py) var(--_tf-px);background:var(--_tf-bg);border:1px solid var(--_tf-border);border-radius:var(--ius-radius-md);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),border-color var(--ius-duration-fast) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-tf__field:hover,:host([data-force=hover]) .ius-tf__field{--_tf-bg: var(--ius-info-100);--_tf-border: transparent}:host([data-focused=true]) .ius-tf__field,:host([data-force=focused]) .ius-tf__field,.ius-tf__field:focus-within{--_tf-bg: var(--ius-info-100);--_tf-border: var(--ius-primary-500);box-shadow:var(--ius-focus-ring)}:host([data-error=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{--_tf-bg: var(--ius-danger-100);--_tf-border: var(--ius-danger-700);box-shadow:none}:host([data-error=true][data-focused=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{box-shadow:0 0 0 3px var(--ius-danger-200)}:host([data-disabled=true]) .ius-tf__field,:host([data-force=disabled]) .ius-tf__field{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-disabled);--_tf-placeholder: var(--ius-text-disabled);--_tf-icon: var(--ius-text-disabled);box-shadow:none;cursor:not-allowed}:host([data-disabled=true]) .ius-tf__label,:host([data-force=disabled]) .ius-tf__label{color:var(--ius-text-disabled)}:host([data-disabled=true]) .ius-tf__required,:host([data-force=disabled]) .ius-tf__required{background:var(--ius-neutral-5)}.ius-tf__divider{width:1px;align-self:stretch;background:var(--ius-neutral-5);flex:0 0 auto;margin:var(--ius-space-xxs) var(--ius-space-xs)}:host([data-focused=true]) .ius-tf__divider,:host([data-force=focused]) .ius-tf__divider{background:var(--ius-primary-500)}:host([data-error=true]) .ius-tf__divider,:host([data-force=error]) .ius-tf__divider{background:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__divider,:host([data-force=disabled]) .ius-tf__divider{background:var(--ius-neutral-4)}.ius-dp__slot{flex:0 0 auto;appearance:none;border:0;outline:0;background:transparent;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--_tf-fg);text-align:center;padding:0;min-width:0}.ius-dp__slot::placeholder{color:var(--_tf-placeholder)}.ius-dp__slot:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__arrow{font-size:var(--_tf-icon-size);color:var(--ius-text-tertiary);flex:0 0 auto;margin:0 var(--ius-space-xxs)}.ius-dp__gap{width:8px;flex:0 0 auto}.ius-dp__ampm{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto}.ius-dp__ampm-text{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--ius-text-primary);padding:0 var(--ius-space-xxs);font-variant-numeric:tabular-nums}.ius-dp__ampm-text:hover{color:var(--ius-primary-500)}.ius-dp__ampm-text:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__cal{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;align-self:center;color:var(--_tf-icon);flex:0 0 auto;margin-left:auto;padding:0}:host([data-disabled=true]) .ius-dp__cal{cursor:not-allowed}.ius-dp__cal .ius-icon{font-size:calc(var(--_tf-icon-size) + 2px)}.ius-dp__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-dp__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-dp__today-btn:hover{color:var(--ius-primary-500)}.ius-tf__hint{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-medium);font-style:italic;color:var(--ius-text-secondary);letter-spacing:.02em}:host([data-error=true]) .ius-tf__hint,:host([data-force=error]) .ius-tf__hint{color:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__hint,:host([data-force=disabled]) .ius-tf__hint{color:var(--ius-text-disabled)}\n"], dependencies: [{ kind: "component", type: CalendarComponent, selector: "ius-calendar", inputs: ["mode", "defaultValue", "value", "viewDate", "minDate", "maxDate", "isDateDisabled", "showToday", "todayLabel", "weekStartsOn"], outputs: ["valueChange", "viewDateChange", "todayClick"] }, { kind: "directive", type: IusCalendarAsideDirective, selector: "[iusCalendarAside]" }, { kind: "directive", type: IusCalendarFooterDirective, selector: "[iusCalendarFooter]" }, { kind: "component", type: PopoverComponent, selector: "ius-popover", inputs: ["title", "content", "placement", "trigger", "offset", "open", "defaultOpen", "showArrow", "disabled", "anchorRect", "padding", "dismissable", "panelClass"], outputs: ["openChange"] }, { kind: "component", type: TimePanelComponent, selector: "ius-time-panel", inputs: ["defaultValue", "value", "minuteStep", "now", "showHeader", "editable", "fillHeight", "maxVisible"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
20251
20330
|
}
|
|
20252
20331
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
20253
20332
|
type: Component,
|
|
@@ -20271,7 +20350,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
20271
20350
|
'[attr.data-disabled]': "isDisabled ? 'true' : null",
|
|
20272
20351
|
'[attr.data-force]': 'state || null',
|
|
20273
20352
|
'(keydown.escape)': 'onEscape()',
|
|
20274
|
-
}, template: "@if (label != null) {\n <label [attr.for]=\"baseId\" class=\"ius-tf__label\">\n @if (required) {\n <span class=\"ius-tf__required\" aria-hidden=\"true\"></span>\n }\n <span>{{ label }}</span>\n @if (showIconHelp) {\n <ius-popover [title]=\"iconHelpTitle\" [content]=\"iconHelpContent\" placement=\"top\" trigger=\"hover\">\n <span class=\"ius-tf__help-icon\" aria-label=\"Ayuda\" tabindex=\"0\">\n <span translate=\"no\" class=\"ius-icon\">help</span>\n </span>\n </ius-popover>\n }\n <span class=\"ius-tf__colon\">:</span>\n </label>\n}\n\n<!-- El popover ancla el panel al campo (bottom-end, piel ius-datepicker-pop) -->\n<ius-popover\n trigger=\"manual\"\n [open]=\"isOpen\"\n placement=\"bottom-end\"\n [offset]=\"6\"\n [showArrow]=\"false\"\n padding=\"none\"\n dismissable\n panelClass=\"ius-datepicker-pop\"\n (openChange)=\"onPopoverOpenChange($event)\"\n>\n <div\n [id]=\"baseId\"\n class=\"ius-tf__field\"\n [attr.aria-required]=\"required || null\"\n [attr.aria-invalid]=\"isError || null\"\n >\n @for (t of tokens; track $index) {\n @switch (t.kind) {\n @case ('divider') {\n <span class=\"ius-tf__divider\" aria-hidden=\"true\"></span>\n }\n @case ('gap') {\n <span class=\"ius-dp__gap\"></span>\n }\n @case ('arrow') {\n <span translate=\"no\" class=\"ius-icon ius-dp__arrow\" aria-hidden=\"true\">arrow_right_alt</span>\n }\n @case ('ampm') {\n <span class=\"ius-dp__ampm\">\n <button\n type=\"button\"\n tabindex=\"-1\"\n class=\"ius-dp__ampm-text\"\n aria-label=\"Cambiar AM/PM\"\n [disabled]=\"isDisabled\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleAmpm()\"\n >{{ ampmVal }}</button>\n </span>\n }\n @default {\n <input\n #slotEl\n class=\"ius-dp__slot\"\n inputmode=\"numeric\"\n [value]=\"slotValue(t.id!)\"\n [placeholder]=\"t.ph!\"\n [disabled]=\"isDisabled\"\n [attr.maxlength]=\"t.max\"\n [attr.aria-label]=\"t.ph\"\n [style.width]=\"slotWidth(t)\"\n (input)=\"onSlotInput(t, $event)\"\n (keydown)=\"onSlotKeydown(t, $event)\"\n (focus)=\"onSlotFocus()\"\n (blur)=\"onSlotBlur()\"\n />\n }\n }\n }\n <button\n type=\"button\"\n class=\"ius-dp__cal\"\n tabindex=\"-1\"\n aria-label=\"Abrir calendario\"\n [attr.aria-expanded]=\"isOpen\"\n [disabled]=\"isDisabled\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"toggleOpen()\"\n >\n <span translate=\"no\" class=\"ius-icon\">calendar_month</span>\n </button>\n </div>\n\n <!-- Panel: Calendar (+ TimePanel en datetime) -->\n <ius-calendar\n iusPopoverContent\n [mode]=\"calMode\"\n [value]=\"calValue\"\n [viewDate]=\"view\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n [isDateDisabled]=\"isDateDisabled\"\n [showToday]=\"false\"\n (valueChange)=\"onCalChange($event)\"\n (viewDateChange)=\"onViewChange($event)\"\n >\n @if (mode !== 'range') {\n <div iusCalendarFooter class=\"ius-dp__foot\">\n <button\n type=\"button\"\n class=\"ius-dp__today-btn\"\n (mousedown)=\"$event.preventDefault()\"\n (click)=\"onTodayFoot()\"\n >{{ todayFootLabel }}</button>\n </div>\n }\n @if (mode === 'datetime') {\n <ius-time-panel\n iusCalendarAside\n [value]=\"currentTime\"\n [minuteStep]=\"minuteStep\"\n [showHeader]=\"false\"\n fillHeight\n (valueChange)=\"onTimeChange($event)\"\n />\n }\n </ius-calendar>\n</ius-popover>\n\n@if (showHint) {\n <span class=\"ius-tf__hint\">{{ hint }}</span>\n}\n", styles: ["@charset \"UTF-8\";:host{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-primary);--_tf-placeholder: var(--ius-text-tertiary);--_tf-icon: var(--ius-text-secondary);--_tf-py: 9px;--_tf-px: 12px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-md);display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);width:fit-content;max-width:100%;min-width:0}:host([data-size=small]){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}:host([data-size=large]){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}}.ius-tf__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-primary)}.ius-tf__required{width:5px;height:5px;border-radius:50%;background:var(--ius-danger-500);display:inline-block;margin-right:var(--ius-space-xxs)}.ius-tf__help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-tf__help-icon .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-tf__colon{color:var(--ius-text-secondary)}.ius-tf__field{display:flex;align-items:center;gap:0;cursor:text;width:fit-content;padding:var(--_tf-py) var(--_tf-px);background:var(--_tf-bg);border:1px solid var(--_tf-border);border-radius:var(--ius-radius-md);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),border-color var(--ius-duration-fast) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-tf__field:hover,:host([data-force=hover]) .ius-tf__field{--_tf-bg: var(--ius-info-100);--_tf-border: transparent}:host([data-focused=true]) .ius-tf__field,:host([data-force=focused]) .ius-tf__field,.ius-tf__field:focus-within{--_tf-bg: var(--ius-info-100);--_tf-border: var(--ius-primary-500);box-shadow:var(--ius-focus-ring)}:host([data-error=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{--_tf-bg: var(--ius-danger-100);--_tf-border: var(--ius-danger-700);box-shadow:none}:host([data-error=true][data-focused=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{box-shadow:0 0 0 3px var(--ius-danger-200)}:host([data-disabled=true]) .ius-tf__field,:host([data-force=disabled]) .ius-tf__field{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-disabled);--_tf-placeholder: var(--ius-text-disabled);--_tf-icon: var(--ius-text-disabled);box-shadow:none;cursor:not-allowed}:host([data-disabled=true]) .ius-tf__label,:host([data-force=disabled]) .ius-tf__label{color:var(--ius-text-disabled)}:host([data-disabled=true]) .ius-tf__required,:host([data-force=disabled]) .ius-tf__required{background:var(--ius-neutral-5)}.ius-tf__divider{width:1px;align-self:stretch;background:var(--ius-neutral-5);flex:0 0 auto;margin:var(--ius-space-xxs) var(--ius-space-xs)}:host([data-focused=true]) .ius-tf__divider,:host([data-force=focused]) .ius-tf__divider{background:var(--ius-primary-500)}:host([data-error=true]) .ius-tf__divider,:host([data-force=error]) .ius-tf__divider{background:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__divider,:host([data-force=disabled]) .ius-tf__divider{background:var(--ius-neutral-4)}.ius-dp__slot{flex:0 0 auto;appearance:none;border:0;outline:0;background:transparent;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--_tf-fg);text-align:center;padding:0;min-width:0}.ius-dp__slot::placeholder{color:var(--_tf-placeholder)}.ius-dp__slot:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__arrow{font-size:var(--_tf-icon-size);color:var(--ius-text-tertiary);flex:0 0 auto;margin:0 var(--ius-space-xxs)}.ius-dp__gap{width:8px;flex:0 0 auto}.ius-dp__ampm{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto}.ius-dp__ampm-text{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--ius-text-primary);padding:0 var(--ius-space-xxs);font-variant-numeric:tabular-nums}.ius-dp__ampm-text:hover{color:var(--ius-primary-500)}.ius-dp__ampm-text:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__cal{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;align-self:center;color:var(--_tf-icon);flex:0 0 auto;margin-left:auto;padding:0}:host([data-disabled=true]) .ius-dp__cal{cursor:not-allowed}.ius-dp__cal .ius-icon{font-size:calc(var(--_tf-icon-size) + 2px)}.ius-dp__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-dp__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-dp__today-btn:hover{color:var(--ius-primary-500)}.ius-tf__hint{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-medium);font-style:italic;color:var(--ius-text-secondary);letter-spacing:.02em}:host([data-error=true]) .ius-tf__hint,:host([data-force=error]) .ius-tf__hint{color:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__hint,:host([data-force=disabled]) .ius-tf__hint{color:var(--ius-text-disabled)}\n"] }]
|
|
20353
|
+
}, template: "@if (label != null) {\r\n <label [attr.for]=\"baseId\" class=\"ius-tf__label\">\r\n @if (required) {\r\n <span class=\"ius-tf__required\" aria-hidden=\"true\"></span>\r\n }\r\n <span>{{ label }}</span>\r\n @if (showIconHelp) {\r\n <ius-popover [title]=\"iconHelpTitle\" [content]=\"iconHelpContent\" placement=\"top\" trigger=\"hover\">\r\n <span class=\"ius-tf__help-icon\" aria-label=\"Ayuda\" tabindex=\"0\">\r\n <span translate=\"no\" class=\"ius-icon\">help</span>\r\n </span>\r\n </ius-popover>\r\n }\r\n <span class=\"ius-tf__colon\">:</span>\r\n </label>\r\n}\r\n\r\n<!-- El popover ancla el panel al campo (bottom-end, piel ius-datepicker-pop) -->\r\n<ius-popover\r\n trigger=\"manual\"\r\n [open]=\"isOpen\"\r\n placement=\"bottom-end\"\r\n [offset]=\"6\"\r\n [showArrow]=\"false\"\r\n padding=\"none\"\r\n dismissable\r\n panelClass=\"ius-datepicker-pop\"\r\n (openChange)=\"onPopoverOpenChange($event)\"\r\n>\r\n <div\r\n [id]=\"baseId\"\r\n class=\"ius-tf__field\"\r\n [attr.aria-required]=\"required || null\"\r\n [attr.aria-invalid]=\"isError || null\"\r\n >\r\n @for (t of tokens; track $index) {\r\n @switch (t.kind) {\r\n @case ('divider') {\r\n <span class=\"ius-tf__divider\" aria-hidden=\"true\"></span>\r\n }\r\n @case ('gap') {\r\n <span class=\"ius-dp__gap\"></span>\r\n }\r\n @case ('arrow') {\r\n <span translate=\"no\" class=\"ius-icon ius-dp__arrow\" aria-hidden=\"true\">arrow_right_alt</span>\r\n }\r\n @case ('ampm') {\r\n <span class=\"ius-dp__ampm\">\r\n <button\r\n type=\"button\"\r\n tabindex=\"-1\"\r\n class=\"ius-dp__ampm-text\"\r\n aria-label=\"Cambiar AM/PM\"\r\n [disabled]=\"isDisabled\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"toggleAmpm()\"\r\n >{{ ampmVal }}</button>\r\n </span>\r\n }\r\n @default {\r\n <input\r\n #slotEl\r\n class=\"ius-dp__slot\"\r\n inputmode=\"numeric\"\r\n [value]=\"slotValue(t.id!)\"\r\n [placeholder]=\"t.ph!\"\r\n [disabled]=\"isDisabled\"\r\n [attr.maxlength]=\"t.max\"\r\n [attr.aria-label]=\"t.ph\"\r\n [style.width]=\"slotWidth(t)\"\r\n (input)=\"onSlotInput(t, $event)\"\r\n (keydown)=\"onSlotKeydown(t, $event)\"\r\n (focus)=\"onSlotFocus()\"\r\n (blur)=\"onSlotBlur()\"\r\n />\r\n }\r\n }\r\n }\r\n <button\r\n type=\"button\"\r\n class=\"ius-dp__cal\"\r\n tabindex=\"-1\"\r\n aria-label=\"Abrir calendario\"\r\n [attr.aria-expanded]=\"isOpen\"\r\n [disabled]=\"isDisabled\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"toggleOpen()\"\r\n >\r\n <span translate=\"no\" class=\"ius-icon\">calendar_month</span>\r\n </button>\r\n </div>\r\n\r\n <!-- Panel: Calendar (+ TimePanel en datetime) -->\r\n <ius-calendar\r\n iusPopoverContent\r\n [mode]=\"calMode\"\r\n [value]=\"calValue\"\r\n [viewDate]=\"view\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [isDateDisabled]=\"isDateDisabled\"\r\n [showToday]=\"false\"\r\n (valueChange)=\"onCalChange($event)\"\r\n (viewDateChange)=\"onViewChange($event)\"\r\n >\r\n @if (mode !== 'range') {\r\n <div iusCalendarFooter class=\"ius-dp__foot\">\r\n <button\r\n type=\"button\"\r\n class=\"ius-dp__today-btn\"\r\n (mousedown)=\"$event.preventDefault()\"\r\n (click)=\"onTodayFoot()\"\r\n >{{ todayFootLabel }}</button>\r\n </div>\r\n }\r\n @if (mode === 'datetime') {\r\n <ius-time-panel\r\n iusCalendarAside\r\n [value]=\"currentTime\"\r\n [minuteStep]=\"minuteStep\"\r\n [showHeader]=\"false\"\r\n fillHeight\r\n (valueChange)=\"onTimeChange($event)\"\r\n />\r\n }\r\n </ius-calendar>\r\n</ius-popover>\r\n\r\n@if (showHint) {\r\n <span class=\"ius-tf__hint\">{{ hint }}</span>\r\n}\r\n", styles: ["@charset \"UTF-8\";:host{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-primary);--_tf-placeholder: var(--ius-text-tertiary);--_tf-icon: var(--ius-text-secondary);--_tf-py: 9px;--_tf-px: 12px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-md);display:flex;flex-direction:column;gap:var(--ius-space-xs);font-family:var(--ius-font-body);width:fit-content;max-width:100%;min-width:0}:host([data-size=small]){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}:host([data-size=large]){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}@container style(--ius-control-size: small){:host(:not([data-size])){--_tf-py: 6px;--_tf-px: 10px;--_tf-fs: var(--ius-fs-base);--_tf-lh: var(--ius-lh-base);--_tf-icon-size: var(--ius-icon-sm)}}@container style(--ius-control-size: large){:host(:not([data-size])){--_tf-py: 12px;--_tf-px: 14px;--_tf-fs: var(--ius-fs-lg);--_tf-lh: var(--ius-lh-lg);--_tf-icon-size: var(--ius-icon-lg)}}.ius-tf__label{display:inline-flex;align-items:center;gap:var(--ius-space-xxs);font-weight:var(--ius-fw-medium);font-size:var(--ius-fs-base);line-height:var(--ius-lh-base);color:var(--ius-text-primary)}.ius-tf__required{width:5px;height:5px;border-radius:50%;background:var(--ius-danger-500);display:inline-block;margin-right:var(--ius-space-xxs)}.ius-tf__help-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ius-neutral-7);cursor:help}.ius-tf__help-icon .ius-icon{font-size:var(--ius-icon-md);line-height:1}.ius-tf__colon{color:var(--ius-text-secondary)}.ius-tf__field{display:flex;align-items:center;gap:0;cursor:text;width:fit-content;padding:var(--_tf-py) var(--_tf-px);background:var(--_tf-bg);border:1px solid var(--_tf-border);border-radius:var(--ius-radius-md);transition:background-color var(--ius-duration-fast) var(--ius-ease-standard),border-color var(--ius-duration-fast) var(--ius-ease-standard),box-shadow var(--ius-duration-fast) var(--ius-ease-standard)}.ius-tf__field:hover,:host([data-force=hover]) .ius-tf__field{--_tf-bg: var(--ius-info-100);--_tf-border: transparent}:host([data-focused=true]) .ius-tf__field,:host([data-force=focused]) .ius-tf__field,.ius-tf__field:focus-within{--_tf-bg: var(--ius-info-100);--_tf-border: var(--ius-primary-500);box-shadow:var(--ius-focus-ring)}:host([data-error=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{--_tf-bg: var(--ius-danger-100);--_tf-border: var(--ius-danger-700);box-shadow:none}:host([data-error=true][data-focused=true]) .ius-tf__field,:host([data-force=error]) .ius-tf__field{box-shadow:0 0 0 3px var(--ius-danger-200)}:host([data-disabled=true]) .ius-tf__field,:host([data-force=disabled]) .ius-tf__field{--_tf-bg: var(--ius-neutral-2);--_tf-border: transparent;--_tf-fg: var(--ius-text-disabled);--_tf-placeholder: var(--ius-text-disabled);--_tf-icon: var(--ius-text-disabled);box-shadow:none;cursor:not-allowed}:host([data-disabled=true]) .ius-tf__label,:host([data-force=disabled]) .ius-tf__label{color:var(--ius-text-disabled)}:host([data-disabled=true]) .ius-tf__required,:host([data-force=disabled]) .ius-tf__required{background:var(--ius-neutral-5)}.ius-tf__divider{width:1px;align-self:stretch;background:var(--ius-neutral-5);flex:0 0 auto;margin:var(--ius-space-xxs) var(--ius-space-xs)}:host([data-focused=true]) .ius-tf__divider,:host([data-force=focused]) .ius-tf__divider{background:var(--ius-primary-500)}:host([data-error=true]) .ius-tf__divider,:host([data-force=error]) .ius-tf__divider{background:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__divider,:host([data-force=disabled]) .ius-tf__divider{background:var(--ius-neutral-4)}.ius-dp__slot{flex:0 0 auto;appearance:none;border:0;outline:0;background:transparent;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--_tf-fg);text-align:center;padding:0;min-width:0}.ius-dp__slot::placeholder{color:var(--_tf-placeholder)}.ius-dp__slot:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__arrow{font-size:var(--_tf-icon-size);color:var(--ius-text-tertiary);flex:0 0 auto;margin:0 var(--ius-space-xxs)}.ius-dp__gap{width:8px;flex:0 0 auto}.ius-dp__ampm{display:inline-flex;align-items:center;align-self:center;flex:0 0 auto}.ius-dp__ampm-text{appearance:none;border:0;background:transparent;cursor:pointer;font:inherit;font-size:var(--_tf-fs);line-height:var(--_tf-lh);color:var(--ius-text-primary);padding:0 var(--ius-space-xxs);font-variant-numeric:tabular-nums}.ius-dp__ampm-text:hover{color:var(--ius-primary-500)}.ius-dp__ampm-text:disabled{color:var(--ius-text-disabled);cursor:not-allowed}.ius-dp__cal{appearance:none;border:0;background:transparent;cursor:pointer;display:inline-flex;align-items:center;align-self:center;color:var(--_tf-icon);flex:0 0 auto;margin-left:auto;padding:0}:host([data-disabled=true]) .ius-dp__cal{cursor:not-allowed}.ius-dp__cal .ius-icon{font-size:calc(var(--_tf-icon-size) + 2px)}.ius-dp__foot{border-top:1px solid var(--ius-stroke);padding:var(--ius-space-xs);text-align:center}.ius-dp__today-btn{appearance:none;border:0;background:transparent;cursor:pointer;font-family:var(--ius-font-body);font-size:var(--ius-fs-base);color:var(--ius-text-primary);padding:var(--ius-space-xxs) var(--ius-space-sm);border-radius:var(--ius-radius-sm)}.ius-dp__today-btn:hover{color:var(--ius-primary-500)}.ius-tf__hint{font-size:var(--ius-fs-sm);line-height:var(--ius-lh-sm);font-weight:var(--ius-fw-medium);font-style:italic;color:var(--ius-text-secondary);letter-spacing:.02em}:host([data-error=true]) .ius-tf__hint,:host([data-force=error]) .ius-tf__hint{color:var(--ius-danger-700)}:host([data-disabled=true]) .ius-tf__hint,:host([data-force=disabled]) .ius-tf__hint{color:var(--ius-text-disabled)}\n"] }]
|
|
20275
20354
|
}], propDecorators: { mode: [{
|
|
20276
20355
|
type: Input
|
|
20277
20356
|
}], label: [{
|