ng-comps 1.0.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-comps.mjs +4254 -0
- package/package.json +54 -58
- package/src/styles.css +54 -0
- package/types/ng-comps.d.ts +1348 -0
- package/.editorconfig +0 -17
- package/.github/copilot-instructions.md +0 -55
- package/.github/workflows/ci.yml +0 -29
- package/.prettierrc +0 -12
- package/.storybook/main.ts +0 -21
- package/.storybook/preview.ts +0 -27
- package/.storybook/tsconfig.doc.json +0 -10
- package/.storybook/tsconfig.json +0 -15
- package/.storybook/typings.d.ts +0 -4
- package/.vscode/extensions.json +0 -4
- package/.vscode/launch.json +0 -20
- package/.vscode/mcp.json +0 -9
- package/.vscode/tasks.json +0 -42
- package/ACCESSIBILITY.md +0 -127
- package/angular.json +0 -106
- package/documentation.json +0 -13394
- package/ng-package.json +0 -27
- package/public/favicon.ico +0 -0
- package/scripts/prepare-package.mjs +0 -80
- package/src/app/a11y/accessibility.utils.ts +0 -35
- package/src/app/a11y/index.ts +0 -6
- package/src/app/accessibility/ng-comps.a11y.spec.ts +0 -108
- package/src/app/app.config.ts +0 -11
- package/src/app/app.css +0 -107
- package/src/app/app.html +0 -48
- package/src/app/app.routes.ts +0 -3
- package/src/app/app.spec.ts +0 -23
- package/src/app/app.ts +0 -10
- package/src/app/components/accordion/index.ts +0 -2
- package/src/app/components/accordion/mf-accordion.component.css +0 -38
- package/src/app/components/accordion/mf-accordion.component.spec.ts +0 -48
- package/src/app/components/accordion/mf-accordion.component.ts +0 -53
- package/src/app/components/alert/index.ts +0 -2
- package/src/app/components/alert/mf-alert.component.css +0 -100
- package/src/app/components/alert/mf-alert.component.spec.ts +0 -59
- package/src/app/components/alert/mf-alert.component.ts +0 -68
- package/src/app/components/autocomplete/index.ts +0 -5
- package/src/app/components/autocomplete/mf-autocomplete.component.css +0 -105
- package/src/app/components/autocomplete/mf-autocomplete.component.spec.ts +0 -116
- package/src/app/components/autocomplete/mf-autocomplete.component.ts +0 -307
- package/src/app/components/avatar/index.ts +0 -2
- package/src/app/components/avatar/mf-avatar.component.css +0 -27
- package/src/app/components/avatar/mf-avatar.component.spec.ts +0 -49
- package/src/app/components/avatar/mf-avatar.component.ts +0 -99
- package/src/app/components/badge/index.ts +0 -2
- package/src/app/components/badge/mf-badge.component.css +0 -32
- package/src/app/components/badge/mf-badge.component.spec.ts +0 -40
- package/src/app/components/badge/mf-badge.component.ts +0 -105
- package/src/app/components/breadcrumb/index.ts +0 -2
- package/src/app/components/breadcrumb/mf-breadcrumb.component.css +0 -61
- package/src/app/components/breadcrumb/mf-breadcrumb.component.spec.ts +0 -61
- package/src/app/components/breadcrumb/mf-breadcrumb.component.ts +0 -75
- package/src/app/components/button/index.ts +0 -2
- package/src/app/components/button/mf-button.component.css +0 -136
- package/src/app/components/button/mf-button.component.ts +0 -174
- package/src/app/components/card/index.ts +0 -2
- package/src/app/components/card/mf-card.component.css +0 -82
- package/src/app/components/card/mf-card.component.ts +0 -59
- package/src/app/components/checkbox/index.ts +0 -1
- package/src/app/components/checkbox/mf-checkbox.component.css +0 -75
- package/src/app/components/checkbox/mf-checkbox.component.ts +0 -187
- package/src/app/components/chip/index.ts +0 -2
- package/src/app/components/chip/mf-chip.component.css +0 -69
- package/src/app/components/chip/mf-chip.component.spec.ts +0 -47
- package/src/app/components/chip/mf-chip.component.ts +0 -77
- package/src/app/components/datepicker/index.ts +0 -2
- package/src/app/components/datepicker/mf-datepicker.component.css +0 -102
- package/src/app/components/datepicker/mf-datepicker.component.spec.ts +0 -69
- package/src/app/components/datepicker/mf-datepicker.component.ts +0 -233
- package/src/app/components/dialog/index.ts +0 -3
- package/src/app/components/dialog/mf-dialog.component.css +0 -73
- package/src/app/components/dialog/mf-dialog.component.ts +0 -160
- package/src/app/components/dialog/mf-dialog.service.spec.ts +0 -61
- package/src/app/components/dialog/mf-dialog.service.ts +0 -52
- package/src/app/components/divider/index.ts +0 -2
- package/src/app/components/divider/mf-divider.component.css +0 -38
- package/src/app/components/divider/mf-divider.component.spec.ts +0 -40
- package/src/app/components/divider/mf-divider.component.ts +0 -44
- package/src/app/components/form-field/index.ts +0 -1
- package/src/app/components/form-field/mf-form-field.component.css +0 -51
- package/src/app/components/form-field/mf-form-field.component.ts +0 -74
- package/src/app/components/grid-list/index.ts +0 -2
- package/src/app/components/grid-list/mf-grid-list.component.css +0 -47
- package/src/app/components/grid-list/mf-grid-list.component.spec.ts +0 -57
- package/src/app/components/grid-list/mf-grid-list.component.ts +0 -68
- package/src/app/components/icon/index.ts +0 -2
- package/src/app/components/icon/mf-icon.component.css +0 -56
- package/src/app/components/icon/mf-icon.component.ts +0 -41
- package/src/app/components/input/index.ts +0 -2
- package/src/app/components/input/mf-input.component.css +0 -105
- package/src/app/components/input/mf-input.component.ts +0 -217
- package/src/app/components/menu/index.ts +0 -2
- package/src/app/components/menu/mf-menu.component.css +0 -31
- package/src/app/components/menu/mf-menu.component.spec.ts +0 -49
- package/src/app/components/menu/mf-menu.component.ts +0 -66
- package/src/app/components/paginator/index.ts +0 -1
- package/src/app/components/paginator/mf-paginator.component.css +0 -32
- package/src/app/components/paginator/mf-paginator.component.spec.ts +0 -44
- package/src/app/components/paginator/mf-paginator.component.ts +0 -52
- package/src/app/components/progress-bar/index.ts +0 -2
- package/src/app/components/progress-bar/mf-progress-bar.component.css +0 -53
- package/src/app/components/progress-bar/mf-progress-bar.component.spec.ts +0 -65
- package/src/app/components/progress-bar/mf-progress-bar.component.ts +0 -79
- package/src/app/components/progress-spinner/index.ts +0 -2
- package/src/app/components/progress-spinner/mf-progress-spinner.component.css +0 -38
- package/src/app/components/progress-spinner/mf-progress-spinner.component.spec.ts +0 -59
- package/src/app/components/progress-spinner/mf-progress-spinner.component.ts +0 -81
- package/src/app/components/radio-button/index.ts +0 -2
- package/src/app/components/radio-button/mf-radio-button.component.css +0 -86
- package/src/app/components/radio-button/mf-radio-button.component.spec.ts +0 -55
- package/src/app/components/radio-button/mf-radio-button.component.ts +0 -219
- package/src/app/components/select/index.ts +0 -2
- package/src/app/components/select/mf-select.component.css +0 -121
- package/src/app/components/select/mf-select.component.spec.ts +0 -108
- package/src/app/components/select/mf-select.component.ts +0 -252
- package/src/app/components/sidenav/index.ts +0 -2
- package/src/app/components/sidenav/mf-sidenav.component.css +0 -168
- package/src/app/components/sidenav/mf-sidenav.component.spec.ts +0 -57
- package/src/app/components/sidenav/mf-sidenav.component.ts +0 -126
- package/src/app/components/slide-toggle/index.ts +0 -1
- package/src/app/components/slide-toggle/mf-slide-toggle.component.css +0 -42
- package/src/app/components/slide-toggle/mf-slide-toggle.component.spec.ts +0 -43
- package/src/app/components/slide-toggle/mf-slide-toggle.component.ts +0 -188
- package/src/app/components/snackbar/index.ts +0 -2
- package/src/app/components/snackbar/mf-snackbar.service.css +0 -31
- package/src/app/components/snackbar/mf-snackbar.service.spec.ts +0 -81
- package/src/app/components/snackbar/mf-snackbar.service.ts +0 -77
- package/src/app/components/table/index.ts +0 -2
- package/src/app/components/table/mf-table.component.css +0 -68
- package/src/app/components/table/mf-table.component.spec.ts +0 -76
- package/src/app/components/table/mf-table.component.ts +0 -117
- package/src/app/components/tabs/index.ts +0 -2
- package/src/app/components/tabs/mf-tabs.component.css +0 -31
- package/src/app/components/tabs/mf-tabs.component.spec.ts +0 -50
- package/src/app/components/tabs/mf-tabs.component.ts +0 -62
- package/src/app/components/textarea/index.ts +0 -2
- package/src/app/components/textarea/mf-textarea.component.css +0 -48
- package/src/app/components/textarea/mf-textarea.component.spec.ts +0 -55
- package/src/app/components/textarea/mf-textarea.component.ts +0 -227
- package/src/app/components/toolbar/index.ts +0 -2
- package/src/app/components/toolbar/mf-toolbar.component.css +0 -77
- package/src/app/components/toolbar/mf-toolbar.component.ts +0 -56
- package/src/app/components/tooltip/index.ts +0 -3
- package/src/app/components/tooltip/mf-tooltip.component.css +0 -7
- package/src/app/components/tooltip/mf-tooltip.component.spec.ts +0 -37
- package/src/app/components/tooltip/mf-tooltip.component.ts +0 -47
- package/src/app/components/tooltip/mf-tooltip.directive.ts +0 -22
- package/src/index.html +0 -18
- package/src/main.ts +0 -6
- package/src/public-api.ts +0 -31
- package/src/stories/About.mdx +0 -72
- package/src/stories/Accessibility.mdx +0 -59
- package/src/stories/Welcome.mdx +0 -26
- package/src/stories/assets/accessibility.png +0 -0
- package/src/stories/assets/accessibility.svg +0 -1
- package/src/stories/assets/addon-library.png +0 -0
- package/src/stories/assets/assets.png +0 -0
- package/src/stories/assets/avif-test-image.avif +0 -0
- package/src/stories/assets/context.png +0 -0
- package/src/stories/assets/discord.svg +0 -1
- package/src/stories/assets/docs.png +0 -0
- package/src/stories/assets/figma-plugin.png +0 -0
- package/src/stories/assets/github.svg +0 -1
- package/src/stories/assets/share.png +0 -0
- package/src/stories/assets/styling.png +0 -0
- package/src/stories/assets/testing.png +0 -0
- package/src/stories/assets/theming.png +0 -0
- package/src/stories/assets/tutorials.svg +0 -1
- package/src/stories/assets/youtube.svg +0 -1
- package/src/stories/mf-a11y-contracts.stories.ts +0 -472
- package/src/stories/mf-autocomplete.stories.ts +0 -194
- package/src/stories/mf-button.stories.ts +0 -152
- package/src/stories/mf-card.stories.ts +0 -147
- package/src/stories/mf-checkbox.stories.ts +0 -88
- package/src/stories/mf-datepicker.stories.ts +0 -118
- package/src/stories/mf-dialog.stories.ts +0 -159
- package/src/stories/mf-form-field.stories.ts +0 -108
- package/src/stories/mf-grid-list.stories.ts +0 -104
- package/src/stories/mf-icon.stories.ts +0 -133
- package/src/stories/mf-input.stories.ts +0 -158
- package/src/stories/mf-menu.stories.ts +0 -71
- package/src/stories/mf-progress-bar.stories.ts +0 -119
- package/src/stories/mf-progress-spinner.stories.ts +0 -124
- package/src/stories/mf-radio-button.stories.ts +0 -111
- package/src/stories/mf-select.stories.ts +0 -184
- package/src/stories/mf-sidenav.stories.ts +0 -331
- package/src/stories/mf-table.stories.ts +0 -80
- package/src/stories/mf-toolbar.stories.ts +0 -112
- package/src/stories/user.ts +0 -3
- package/tsconfig.app.json +0 -15
- package/tsconfig.json +0 -33
- package/tsconfig.spec.json +0 -15
- package/vercel.json +0 -6
|
@@ -0,0 +1,1348 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { Type, TemplateRef } from '@angular/core';
|
|
3
|
+
import { ControlValueAccessor } from '@angular/forms';
|
|
4
|
+
import { ErrorStateMatcher } from '@angular/material/core';
|
|
5
|
+
import { MatDialogConfig, DialogRole, MatDialogRef } from '@angular/material/dialog';
|
|
6
|
+
import { PageEvent } from '@angular/material/paginator';
|
|
7
|
+
import { MatSnackBarRef, TextOnlySnackBar } from '@angular/material/snack-bar';
|
|
8
|
+
import { Sort } from '@angular/material/sort';
|
|
9
|
+
import * as i1 from '@angular/material/tooltip';
|
|
10
|
+
|
|
11
|
+
interface MfAccordionPanel {
|
|
12
|
+
title: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
content: string;
|
|
15
|
+
expanded?: boolean;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Accordion de la librería ng-comps.
|
|
20
|
+
* Envuelve Angular Material `mat-accordion` / `mat-expansion-panel` y expone
|
|
21
|
+
* una API uniforme con look and feel de marca.
|
|
22
|
+
*/
|
|
23
|
+
declare class MfAccordionComponent {
|
|
24
|
+
/** Paneles del accordion */
|
|
25
|
+
readonly panels: _angular_core.InputSignal<MfAccordionPanel[]>;
|
|
26
|
+
/** Permite múltiples paneles abiertos */
|
|
27
|
+
readonly multi: _angular_core.InputSignal<boolean>;
|
|
28
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
29
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfAccordionComponent, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfAccordionComponent, "mf-accordion", never, { "panels": { "alias": "panels"; "required": true; "isSignal": true; }; "multi": { "alias": "multi"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
type MfAlertSeverity = 'info' | 'success' | 'warning' | 'error';
|
|
34
|
+
/**
|
|
35
|
+
* Alerta de la librería ng-comps.
|
|
36
|
+
* Componente de banner para mensajes de sistema, alertas y notificaciones.
|
|
37
|
+
* Ideal para dashboards y paneles administrativos.
|
|
38
|
+
*/
|
|
39
|
+
declare class MfAlertComponent {
|
|
40
|
+
/** Mensaje principal */
|
|
41
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
42
|
+
/** Título opcional */
|
|
43
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
44
|
+
/** Severidad de la alerta */
|
|
45
|
+
readonly severity: _angular_core.InputSignal<MfAlertSeverity>;
|
|
46
|
+
/** Se puede cerrar */
|
|
47
|
+
readonly dismissible: _angular_core.InputSignal<boolean>;
|
|
48
|
+
readonly mfDismiss: _angular_core.OutputEmitterRef<void>;
|
|
49
|
+
readonly iconName: _angular_core.Signal<string>;
|
|
50
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
51
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfAlertComponent, never>;
|
|
52
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfAlertComponent, "mf-alert", never, { "message": { "alias": "message"; "required": true; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; }, { "mfDismiss": "mfDismiss"; }, never, never, true, never>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
interface MfAutocompleteOption {
|
|
56
|
+
value: string | number;
|
|
57
|
+
label: string;
|
|
58
|
+
disabled?: boolean;
|
|
59
|
+
}
|
|
60
|
+
type MfAutocompleteSize = 'sm' | 'md' | 'lg';
|
|
61
|
+
/**
|
|
62
|
+
* Autocompletar de la librerÃa ng-comps.
|
|
63
|
+
* Envuelve Angular Material `mat-autocomplete` y expone una API uniforme
|
|
64
|
+
* con look and feel de marca.
|
|
65
|
+
*
|
|
66
|
+
* El panel desplegable se estiliza con la clase global `mf-autocomplete-panel`.
|
|
67
|
+
* Puedes añadir clases adicionales con `panelClass`.
|
|
68
|
+
*/
|
|
69
|
+
declare class MfAutocompleteComponent implements ControlValueAccessor {
|
|
70
|
+
private readonly cdr;
|
|
71
|
+
private readonly ngControl;
|
|
72
|
+
private readonly generatedId;
|
|
73
|
+
private readonly disabledFromForm;
|
|
74
|
+
protected readonly internalValue: _angular_core.WritableSignal<string>;
|
|
75
|
+
private onControlChange;
|
|
76
|
+
private onControlTouched;
|
|
77
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
78
|
+
/** Lista completa de opciones */
|
|
79
|
+
readonly options: _angular_core.InputSignal<MfAutocompleteOption[]>;
|
|
80
|
+
/** ID del control */
|
|
81
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
82
|
+
/** Etiqueta flotante del campo */
|
|
83
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
84
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
85
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
86
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
87
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
88
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
89
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
90
|
+
/** Placeholder del input */
|
|
91
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
92
|
+
/** Valor actual (texto en el campo) */
|
|
93
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
94
|
+
/** Deshabilitado */
|
|
95
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
96
|
+
/** Requerido */
|
|
97
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
98
|
+
/** Tamaño del campo */
|
|
99
|
+
readonly size: _angular_core.InputSignal<MfAutocompleteSize>;
|
|
100
|
+
/** Ancho completo */
|
|
101
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
102
|
+
/** Texto de ayuda debajo del campo */
|
|
103
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
104
|
+
/** Mensaje de error */
|
|
105
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
106
|
+
/** Icono al inicio del campo */
|
|
107
|
+
readonly leadingIcon: _angular_core.InputSignal<string>;
|
|
108
|
+
/** Icono al final del campo */
|
|
109
|
+
readonly trailingIcon: _angular_core.InputSignal<string>;
|
|
110
|
+
/**
|
|
111
|
+
* Ancho del panel del autocomplete.
|
|
112
|
+
* Por defecto `''`: el panel toma el mismo ancho que el campo.
|
|
113
|
+
* Acepta cualquier valor CSS válido ('300px', '80vw', etc.) para sobreescribirlo.
|
|
114
|
+
*/
|
|
115
|
+
readonly panelWidth: _angular_core.InputSignal<string | number>;
|
|
116
|
+
/**
|
|
117
|
+
* Clases extra que se añaden al panel del autocomplete (overlay).
|
|
118
|
+
* La clase `mf-autocomplete-panel` siempre está presente.
|
|
119
|
+
*/
|
|
120
|
+
readonly panelClass: _angular_core.InputSignal<string | string[]>;
|
|
121
|
+
/** Emite el texto escrito en el campo */
|
|
122
|
+
readonly mfInput: _angular_core.OutputEmitterRef<string>;
|
|
123
|
+
/** Emite el valor de la opción seleccionada */
|
|
124
|
+
readonly mfOptionSelected: _angular_core.OutputEmitterRef<MfAutocompleteOption>;
|
|
125
|
+
readonly mfBlur: _angular_core.OutputEmitterRef<void>;
|
|
126
|
+
constructor();
|
|
127
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
128
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
129
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
130
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
131
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
132
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
133
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
134
|
+
readonly autocompletePanelClasses: _angular_core.Signal<string>;
|
|
135
|
+
readonly filteredOptions: _angular_core.Signal<MfAutocompleteOption[]>;
|
|
136
|
+
get inputValue(): string;
|
|
137
|
+
set inputValue(value: string);
|
|
138
|
+
writeValue(value: string | null): void;
|
|
139
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
140
|
+
registerOnTouched(fn: () => void): void;
|
|
141
|
+
setDisabledState(isDisabled: boolean): void;
|
|
142
|
+
isInvalid(): boolean;
|
|
143
|
+
onInputChange(event: Event | string): void;
|
|
144
|
+
onOptionSelected(event: {
|
|
145
|
+
option: {
|
|
146
|
+
value: string;
|
|
147
|
+
};
|
|
148
|
+
}): void;
|
|
149
|
+
onBlur(): void;
|
|
150
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfAutocompleteComponent, never>;
|
|
151
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfAutocompleteComponent, "mf-autocomplete", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "panelWidth": { "alias": "panelWidth"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, { "mfInput": "mfInput"; "mfOptionSelected": "mfOptionSelected"; "mfBlur": "mfBlur"; }, never, never, true, never>;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
type MfAvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
155
|
+
type MfAvatarVariant = 'circle' | 'rounded';
|
|
156
|
+
/**
|
|
157
|
+
* Avatar de la librerÃa ng-comps.
|
|
158
|
+
* Muestra una imagen de perfil, iniciales o un icono.
|
|
159
|
+
* Componente puro sin dependencia de Angular Material.
|
|
160
|
+
*/
|
|
161
|
+
declare class MfAvatarComponent {
|
|
162
|
+
/** URL de la imagen */
|
|
163
|
+
readonly src: _angular_core.InputSignal<string>;
|
|
164
|
+
/** Texto alternativo */
|
|
165
|
+
readonly alt: _angular_core.InputSignal<string>;
|
|
166
|
+
/** Nombre completo para generar iniciales */
|
|
167
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
168
|
+
/** Si es decorativo, se oculta a tecnologÃas asistivas */
|
|
169
|
+
readonly decorative: _angular_core.InputSignal<boolean>;
|
|
170
|
+
/** Tamaño */
|
|
171
|
+
readonly size: _angular_core.InputSignal<MfAvatarSize>;
|
|
172
|
+
/** Forma */
|
|
173
|
+
readonly variant: _angular_core.InputSignal<MfAvatarVariant>;
|
|
174
|
+
constructor();
|
|
175
|
+
readonly initials: _angular_core.Signal<string>;
|
|
176
|
+
readonly imageAlt: _angular_core.Signal<string>;
|
|
177
|
+
readonly fallbackAriaLabel: _angular_core.Signal<string>;
|
|
178
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
179
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfAvatarComponent, never>;
|
|
180
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfAvatarComponent, "mf-avatar", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "alt": { "alias": "alt"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
type MfBadgeColor = 'brand' | 'accent' | 'error' | 'neutral';
|
|
184
|
+
type MfBadgeSize = 'sm' | 'md' | 'lg';
|
|
185
|
+
type MfBadgePosition = 'above-after' | 'above-before' | 'below-after' | 'below-before';
|
|
186
|
+
/**
|
|
187
|
+
* Badge de la librerÃa ng-comps.
|
|
188
|
+
* Envuelve Angular Material `matBadge` y expone una API uniforme
|
|
189
|
+
* con look and feel de marca.
|
|
190
|
+
*/
|
|
191
|
+
declare class MfBadgeComponent {
|
|
192
|
+
/** Contenido del badge (texto o número) */
|
|
193
|
+
readonly content: _angular_core.InputSignal<string | number>;
|
|
194
|
+
/** Descripción accesible del badge */
|
|
195
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
196
|
+
/** Si es decorativo, se oculta a tecnologÃas asistivas */
|
|
197
|
+
readonly decorative: _angular_core.InputSignal<boolean>;
|
|
198
|
+
/** Color semántico */
|
|
199
|
+
readonly color: _angular_core.InputSignal<MfBadgeColor>;
|
|
200
|
+
/** Tamaño del badge */
|
|
201
|
+
readonly size: _angular_core.InputSignal<MfBadgeSize>;
|
|
202
|
+
/** Posición del badge */
|
|
203
|
+
readonly position: _angular_core.InputSignal<MfBadgePosition>;
|
|
204
|
+
/** Ocultar el badge */
|
|
205
|
+
readonly hidden: _angular_core.InputSignal<boolean>;
|
|
206
|
+
/** Deshabilitado */
|
|
207
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
208
|
+
/** Superponer sobre el contenido */
|
|
209
|
+
readonly overlap: _angular_core.InputSignal<boolean>;
|
|
210
|
+
constructor();
|
|
211
|
+
readonly badgeDescription: _angular_core.Signal<string>;
|
|
212
|
+
readonly matPosition: _angular_core.Signal<"above after" | "above before" | "below after" | "below before">;
|
|
213
|
+
readonly matSize: _angular_core.Signal<"small" | "medium" | "large">;
|
|
214
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
215
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfBadgeComponent, never>;
|
|
216
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfBadgeComponent, "mf-badge", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "overlap": { "alias": "overlap"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
interface MfBreadcrumbItem {
|
|
220
|
+
label: string;
|
|
221
|
+
href?: string;
|
|
222
|
+
icon?: string;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Breadcrumb de la librería ng-comps.
|
|
226
|
+
* Componente de navegación jerárquica para indicar la ubicación
|
|
227
|
+
* del usuario en la aplicación.
|
|
228
|
+
*/
|
|
229
|
+
declare class MfBreadcrumbComponent {
|
|
230
|
+
/** Items del breadcrumb */
|
|
231
|
+
readonly items: _angular_core.InputSignal<MfBreadcrumbItem[]>;
|
|
232
|
+
/** Icono separador */
|
|
233
|
+
readonly separator: _angular_core.InputSignal<string>;
|
|
234
|
+
/** Label de accesibilidad */
|
|
235
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
236
|
+
readonly mfItemClick: _angular_core.OutputEmitterRef<MfBreadcrumbItem>;
|
|
237
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
238
|
+
onItemClick(event: Event, item: MfBreadcrumbItem): void;
|
|
239
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfBreadcrumbComponent, never>;
|
|
240
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfBreadcrumbComponent, "mf-breadcrumb", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "mfItemClick": "mfItemClick"; }, never, never, true, never>;
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
type MfButtonVariant = 'filled' | 'outlined' | 'text';
|
|
244
|
+
type MfButtonSize = 'sm' | 'md' | 'lg';
|
|
245
|
+
/**
|
|
246
|
+
* Botón de la librerÃa ng-comps.
|
|
247
|
+
* Envuelve Angular Material `mat-button` / `mat-flat-button` / `mat-stroked-button`
|
|
248
|
+
* y expone una API uniforme con look and feel de marca.
|
|
249
|
+
*/
|
|
250
|
+
declare class MfButtonComponent {
|
|
251
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
252
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
253
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
254
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
255
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
256
|
+
readonly variant: _angular_core.InputSignal<MfButtonVariant>;
|
|
257
|
+
readonly size: _angular_core.InputSignal<MfButtonSize>;
|
|
258
|
+
readonly type: _angular_core.InputSignal<"button" | "submit" | "reset">;
|
|
259
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
260
|
+
readonly leadingIcon: _angular_core.InputSignal<string>;
|
|
261
|
+
readonly trailingIcon: _angular_core.InputSignal<string>;
|
|
262
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
263
|
+
readonly iconOnly: _angular_core.InputSignal<boolean>;
|
|
264
|
+
readonly mfClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
265
|
+
constructor();
|
|
266
|
+
readonly rendersAsIconButton: _angular_core.Signal<boolean>;
|
|
267
|
+
readonly iconName: _angular_core.Signal<string>;
|
|
268
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
269
|
+
readonly iconButtonAriaLabel: _angular_core.Signal<string>;
|
|
270
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
271
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfButtonComponent, never>;
|
|
272
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfButtonComponent, "mf-button", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; }, { "mfClick": "mfClick"; }, never, never, true, never>;
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
type MfCardVariant = 'elevated' | 'outlined' | 'flat';
|
|
276
|
+
/**
|
|
277
|
+
* Card de la librería ng-comps.
|
|
278
|
+
* Envuelve Angular Material `mat-card` y expone una API uniforme
|
|
279
|
+
* con look and feel de marca. Admite contenido proyectado mediante slots.
|
|
280
|
+
*/
|
|
281
|
+
declare class MfCardComponent {
|
|
282
|
+
/** Título de la card */
|
|
283
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
284
|
+
/** Subtítulo de la card */
|
|
285
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
286
|
+
/** Variante visual */
|
|
287
|
+
readonly variant: _angular_core.InputSignal<MfCardVariant>;
|
|
288
|
+
/** Padding interno */
|
|
289
|
+
readonly padding: _angular_core.InputSignal<"sm" | "md" | "lg" | "none">;
|
|
290
|
+
/** Interactiva (hover effect) */
|
|
291
|
+
readonly interactive: _angular_core.InputSignal<boolean>;
|
|
292
|
+
readonly hasHeader: _angular_core.Signal<boolean>;
|
|
293
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
294
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfCardComponent, never>;
|
|
295
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfCardComponent, "mf-card", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[mfCardFooter]"], true, never>;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/**
|
|
299
|
+
* Checkbox de la librerÃa ng-comps.
|
|
300
|
+
* Envuelve Angular Material `mat-checkbox` y expone una API uniforme
|
|
301
|
+
* con look and feel de marca.
|
|
302
|
+
*/
|
|
303
|
+
declare class MfCheckboxComponent implements ControlValueAccessor {
|
|
304
|
+
private readonly cdr;
|
|
305
|
+
private readonly ngControl;
|
|
306
|
+
private readonly generatedId;
|
|
307
|
+
private readonly disabledFromForm;
|
|
308
|
+
protected readonly internalValue: _angular_core.WritableSignal<boolean>;
|
|
309
|
+
private onControlChange;
|
|
310
|
+
private onControlTouched;
|
|
311
|
+
/** ID del control */
|
|
312
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
313
|
+
/** Texto del checkbox */
|
|
314
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
315
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
316
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
317
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
318
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
319
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
320
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
321
|
+
/** Estado marcado */
|
|
322
|
+
readonly checked: _angular_core.InputSignal<boolean>;
|
|
323
|
+
/** Estado indeterminado */
|
|
324
|
+
readonly indeterminate: _angular_core.InputSignal<boolean>;
|
|
325
|
+
/** Deshabilitado */
|
|
326
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
327
|
+
/** Requerido */
|
|
328
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
329
|
+
/** Texto de ayuda */
|
|
330
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
331
|
+
/** Mensaje de error */
|
|
332
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
333
|
+
readonly mfChange: _angular_core.OutputEmitterRef<boolean>;
|
|
334
|
+
constructor();
|
|
335
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
336
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
337
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
338
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
339
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
340
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
341
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
342
|
+
writeValue(value: boolean | null): void;
|
|
343
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
344
|
+
registerOnTouched(fn: () => void): void;
|
|
345
|
+
setDisabledState(isDisabled: boolean): void;
|
|
346
|
+
isInvalid(): boolean;
|
|
347
|
+
onCheckboxChange(event: {
|
|
348
|
+
checked: boolean;
|
|
349
|
+
}): void;
|
|
350
|
+
onBlur(): void;
|
|
351
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfCheckboxComponent, never>;
|
|
352
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfCheckboxComponent, "mf-checkbox", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, { "mfChange": "mfChange"; }, never, never, true, never>;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
type MfChipVariant = 'filled' | 'outlined';
|
|
356
|
+
type MfChipColor = 'brand' | 'accent' | 'error' | 'neutral';
|
|
357
|
+
/**
|
|
358
|
+
* Chip de la librería ng-comps.
|
|
359
|
+
* Envuelve Angular Material `mat-chip` y expone una API uniforme
|
|
360
|
+
* con look and feel de marca. Ideal para tags, filtros y etiquetas.
|
|
361
|
+
*/
|
|
362
|
+
declare class MfChipComponent {
|
|
363
|
+
/** Texto del chip */
|
|
364
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
365
|
+
/** Variante visual */
|
|
366
|
+
readonly variant: _angular_core.InputSignal<MfChipVariant>;
|
|
367
|
+
/** Color semántico */
|
|
368
|
+
readonly color: _angular_core.InputSignal<MfChipColor>;
|
|
369
|
+
/** Seleccionado */
|
|
370
|
+
readonly selected: _angular_core.InputSignal<boolean>;
|
|
371
|
+
/** Puede ser removido */
|
|
372
|
+
readonly removable: _angular_core.InputSignal<boolean>;
|
|
373
|
+
/** Deshabilitado */
|
|
374
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
375
|
+
/** Icono inicial */
|
|
376
|
+
readonly leadingIcon: _angular_core.InputSignal<string>;
|
|
377
|
+
readonly mfRemoved: _angular_core.OutputEmitterRef<void>;
|
|
378
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
379
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfChipComponent, never>;
|
|
380
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfChipComponent, "mf-chip", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "removable": { "alias": "removable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; }, { "mfRemoved": "mfRemoved"; }, never, never, true, never>;
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
type MfDatepickerSize = 'sm' | 'md' | 'lg';
|
|
384
|
+
/**
|
|
385
|
+
* Selector de fecha de la librerÃa ng-comps.
|
|
386
|
+
* Envuelve Angular Material `mat-datepicker` y expone una API uniforme
|
|
387
|
+
* con look and feel de marca.
|
|
388
|
+
*/
|
|
389
|
+
declare class MfDatepickerComponent implements ControlValueAccessor {
|
|
390
|
+
private readonly cdr;
|
|
391
|
+
private readonly ngControl;
|
|
392
|
+
private readonly generatedId;
|
|
393
|
+
private readonly disabledFromForm;
|
|
394
|
+
protected readonly internalValue: _angular_core.WritableSignal<Date>;
|
|
395
|
+
private onControlChange;
|
|
396
|
+
private onControlTouched;
|
|
397
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
398
|
+
/** ID del control */
|
|
399
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
400
|
+
/** Etiqueta flotante del campo */
|
|
401
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
402
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
403
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
404
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
405
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
406
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
407
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
408
|
+
/** Placeholder del input */
|
|
409
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
410
|
+
/** Tamaño del campo */
|
|
411
|
+
readonly size: _angular_core.InputSignal<MfDatepickerSize>;
|
|
412
|
+
/** Deshabilitado */
|
|
413
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
414
|
+
/** Requerido */
|
|
415
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
416
|
+
/** Valor inicial del datepicker */
|
|
417
|
+
readonly value: _angular_core.InputSignal<Date>;
|
|
418
|
+
/** Texto de ayuda debajo del campo */
|
|
419
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
420
|
+
/** Mensaje de error */
|
|
421
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
422
|
+
/** Fecha mÃnima seleccionable */
|
|
423
|
+
readonly min: _angular_core.InputSignal<Date>;
|
|
424
|
+
/** Fecha máxima seleccionable */
|
|
425
|
+
readonly max: _angular_core.InputSignal<Date>;
|
|
426
|
+
/** Ancho completo */
|
|
427
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
428
|
+
/** Etiqueta accesible del botón para abrir el calendario */
|
|
429
|
+
readonly toggleAriaLabel: _angular_core.InputSignal<string>;
|
|
430
|
+
readonly mfChange: _angular_core.OutputEmitterRef<Date>;
|
|
431
|
+
readonly mfBlur: _angular_core.OutputEmitterRef<void>;
|
|
432
|
+
constructor();
|
|
433
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
434
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
435
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
436
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
437
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
438
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
439
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
440
|
+
writeValue(value: Date | null): void;
|
|
441
|
+
registerOnChange(fn: (value: Date | null) => void): void;
|
|
442
|
+
registerOnTouched(fn: () => void): void;
|
|
443
|
+
setDisabledState(isDisabled: boolean): void;
|
|
444
|
+
isInvalid(): boolean;
|
|
445
|
+
onDateChange(event: {
|
|
446
|
+
value: Date | null;
|
|
447
|
+
}): void;
|
|
448
|
+
onBlur(): void;
|
|
449
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfDatepickerComponent, never>;
|
|
450
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfDatepickerComponent, "mf-datepicker", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "toggleAriaLabel": { "alias": "toggleAriaLabel"; "required": false; "isSignal": true; }; }, { "mfChange": "mfChange"; "mfBlur": "mfBlur"; }, never, never, true, never>;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
/**
|
|
454
|
+
* Contenido de diálogo de la librerÃa ng-comps.
|
|
455
|
+
* Envuelve las directivas de Angular Material `mat-dialog-*` y expone
|
|
456
|
+
* una API uniforme con look and feel de marca.
|
|
457
|
+
*
|
|
458
|
+
* Uso:
|
|
459
|
+
* ```
|
|
460
|
+
* dialog.open(MfDialogComponent, {
|
|
461
|
+
* data: { title: 'Confirmar', message: '¿Deseas continuar?' }
|
|
462
|
+
* });
|
|
463
|
+
* ```
|
|
464
|
+
*/
|
|
465
|
+
declare class MfDialogComponent {
|
|
466
|
+
private readonly dialogRef;
|
|
467
|
+
private readonly generatedId;
|
|
468
|
+
/** ID base del diálogo */
|
|
469
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
470
|
+
/** TÃtulo del diálogo */
|
|
471
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
472
|
+
/** Etiqueta accesible alternativa cuando no existe tÃtulo visible */
|
|
473
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
474
|
+
/** Referencia externa a elementos que etiquetan el diálogo */
|
|
475
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
476
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
477
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
478
|
+
/** Mensaje descriptivo */
|
|
479
|
+
readonly message: _angular_core.InputSignal<string>;
|
|
480
|
+
/** Mostrar botón de cerrar */
|
|
481
|
+
readonly showClose: _angular_core.InputSignal<boolean>;
|
|
482
|
+
/** Mostrar área de acciones (footer) */
|
|
483
|
+
readonly showActions: _angular_core.InputSignal<boolean>;
|
|
484
|
+
/** Rol del diálogo */
|
|
485
|
+
readonly role: _angular_core.InputSignal<"dialog" | "alertdialog">;
|
|
486
|
+
/** Etiqueta accesible del botón de cierre */
|
|
487
|
+
readonly closeButtonLabel: _angular_core.InputSignal<string>;
|
|
488
|
+
readonly mfClose: _angular_core.OutputEmitterRef<void>;
|
|
489
|
+
constructor();
|
|
490
|
+
readonly dialogId: _angular_core.Signal<string>;
|
|
491
|
+
readonly titleId: _angular_core.Signal<string>;
|
|
492
|
+
readonly descriptionId: _angular_core.Signal<string>;
|
|
493
|
+
readonly computedLabelledby: _angular_core.Signal<string>;
|
|
494
|
+
readonly computedDescribedby: _angular_core.Signal<string>;
|
|
495
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
496
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
497
|
+
onClose(): void;
|
|
498
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfDialogComponent, never>;
|
|
499
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfDialogComponent, "mf-dialog", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "showClose": { "alias": "showClose"; "required": false; "isSignal": true; }; "showActions": { "alias": "showActions"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "closeButtonLabel": { "alias": "closeButtonLabel"; "required": false; "isSignal": true; }; }, { "mfClose": "mfClose"; }, never, ["*", "[mfDialogActions]"], true, never>;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
interface MfDialogOpenConfig<D = unknown> extends Omit<MatDialogConfig<D>, 'ariaDescribedBy' | 'ariaLabel' | 'ariaLabelledBy' | 'autoFocus' | 'panelClass' | 'restoreFocus' | 'role'> {
|
|
503
|
+
ariaLabel?: string;
|
|
504
|
+
ariaLabelledby?: string;
|
|
505
|
+
ariaDescribedby?: string;
|
|
506
|
+
autoFocus?: MatDialogConfig<D>['autoFocus'];
|
|
507
|
+
panelClass?: string | string[];
|
|
508
|
+
restoreFocus?: boolean;
|
|
509
|
+
role?: DialogRole;
|
|
510
|
+
}
|
|
511
|
+
declare class MfDialogService {
|
|
512
|
+
private readonly dialog;
|
|
513
|
+
open<T, D = unknown, R = unknown>(component: Type<T> | TemplateRef<T>, config?: MfDialogOpenConfig<D>): MatDialogRef<T, R>;
|
|
514
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfDialogService, never>;
|
|
515
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MfDialogService>;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
type MfDividerVariant = 'full' | 'inset' | 'middle';
|
|
519
|
+
/**
|
|
520
|
+
* Divider de la librería ng-comps.
|
|
521
|
+
* Envuelve Angular Material `mat-divider` y expone una API uniforme
|
|
522
|
+
* con look and feel de marca.
|
|
523
|
+
*/
|
|
524
|
+
declare class MfDividerComponent {
|
|
525
|
+
/** Orientación vertical */
|
|
526
|
+
readonly vertical: _angular_core.InputSignal<boolean>;
|
|
527
|
+
/** Variante visual */
|
|
528
|
+
readonly variant: _angular_core.InputSignal<MfDividerVariant>;
|
|
529
|
+
/** Espaciado extra arriba y abajo */
|
|
530
|
+
readonly spacing: _angular_core.InputSignal<"sm" | "md" | "lg" | "none">;
|
|
531
|
+
readonly insetValue: _angular_core.Signal<boolean>;
|
|
532
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
533
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfDividerComponent, never>;
|
|
534
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfDividerComponent, "mf-divider", never, { "vertical": { "alias": "vertical"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "spacing": { "alias": "spacing"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Contenedor de campo de formulario de la librería ng-comps.
|
|
539
|
+
* Proporciona estructura de layout consistente con label, contenido proyectado,
|
|
540
|
+
* y mensajes opcionales de ayuda o error.
|
|
541
|
+
*/
|
|
542
|
+
declare class MfFormFieldComponent {
|
|
543
|
+
/** Etiqueta del campo */
|
|
544
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
545
|
+
/** ID para asociar el label con el control */
|
|
546
|
+
readonly fieldId: _angular_core.InputSignal<string>;
|
|
547
|
+
/** Texto de ayuda */
|
|
548
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
549
|
+
/** Mensaje de error */
|
|
550
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
551
|
+
/** Campo requerido (muestra asterisco) */
|
|
552
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
553
|
+
constructor();
|
|
554
|
+
readonly labelClasses: _angular_core.Signal<string>;
|
|
555
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
556
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfFormFieldComponent, never>;
|
|
557
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfFormFieldComponent, "mf-form-field", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "fieldId": { "alias": "fieldId"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
interface MfGridTile {
|
|
561
|
+
/** Título de la tile */
|
|
562
|
+
title?: string;
|
|
563
|
+
/** Subtítulo de la tile */
|
|
564
|
+
subtitle?: string;
|
|
565
|
+
/** Número de columnas que ocupa */
|
|
566
|
+
colspan?: number;
|
|
567
|
+
/** Número de filas que ocupa */
|
|
568
|
+
rowspan?: number;
|
|
569
|
+
/** Color de fondo */
|
|
570
|
+
background?: string;
|
|
571
|
+
}
|
|
572
|
+
/**
|
|
573
|
+
* Lista en cuadrícula de la librería ng-comps.
|
|
574
|
+
* Envuelve Angular Material `mat-grid-list` y expone una API uniforme
|
|
575
|
+
* con look and feel de marca. Soporta tiles estáticas y content projection.
|
|
576
|
+
*/
|
|
577
|
+
declare class MfGridListComponent {
|
|
578
|
+
/** Número de columnas */
|
|
579
|
+
readonly cols: _angular_core.InputSignal<number>;
|
|
580
|
+
/** Altura de cada fila */
|
|
581
|
+
readonly rowHeight: _angular_core.InputSignal<string | number>;
|
|
582
|
+
/** Espacio entre tiles */
|
|
583
|
+
readonly gutterSize: _angular_core.InputSignal<string>;
|
|
584
|
+
/** Tiles a renderizar */
|
|
585
|
+
readonly tiles: _angular_core.InputSignal<MfGridTile[]>;
|
|
586
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfGridListComponent, never>;
|
|
587
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfGridListComponent, "mf-grid-list", never, { "cols": { "alias": "cols"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; "tiles": { "alias": "tiles"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
588
|
+
}
|
|
589
|
+
|
|
590
|
+
type MfIconSize = 'sm' | 'md' | 'lg' | 'xl';
|
|
591
|
+
type MfIconColor = 'default' | 'brand' | 'muted' | 'error' | 'inherit';
|
|
592
|
+
/**
|
|
593
|
+
* Icono de la librería ng-comps.
|
|
594
|
+
* Envuelve Angular Material `mat-icon` y expone una API uniforme
|
|
595
|
+
* con tamaños y colores de marca.
|
|
596
|
+
*/
|
|
597
|
+
declare class MfIconComponent {
|
|
598
|
+
/** Nombre del icono de Material Symbols / Material Icons */
|
|
599
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
600
|
+
/** Tamaño visual del icono */
|
|
601
|
+
readonly size: _angular_core.InputSignal<MfIconSize>;
|
|
602
|
+
/** Color semántico del icono */
|
|
603
|
+
readonly color: _angular_core.InputSignal<MfIconColor>;
|
|
604
|
+
/** Etiqueta accesible. Si se omite, el icono será decorativo (aria-hidden) */
|
|
605
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
606
|
+
readonly ariaHidden: _angular_core.Signal<"false" | "true">;
|
|
607
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
608
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfIconComponent, never>;
|
|
609
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfIconComponent, "mf-icon", never, { "name": { "alias": "name"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
type MfInputSize = 'sm' | 'md' | 'lg';
|
|
613
|
+
/**
|
|
614
|
+
* Campo de texto de la librería ng-comps.
|
|
615
|
+
* Envuelve Angular Material `mat-form-field` + `matInput`
|
|
616
|
+
* y expone una API uniforme con look and feel de marca.
|
|
617
|
+
*/
|
|
618
|
+
declare class MfInputComponent implements ControlValueAccessor {
|
|
619
|
+
private readonly cdr;
|
|
620
|
+
private readonly ngControl;
|
|
621
|
+
private readonly generatedId;
|
|
622
|
+
private readonly disabledFromForm;
|
|
623
|
+
protected readonly internalValue: _angular_core.WritableSignal<string>;
|
|
624
|
+
private onControlChange;
|
|
625
|
+
private onControlTouched;
|
|
626
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
627
|
+
/** ID del control */
|
|
628
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
629
|
+
/** Etiqueta flotante del campo */
|
|
630
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
631
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
632
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
633
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
634
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
635
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
636
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
637
|
+
/** Placeholder del input */
|
|
638
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
639
|
+
/** Tipo de input HTML */
|
|
640
|
+
readonly type: _angular_core.InputSignal<"number" | "text" | "email" | "password" | "search" | "tel" | "url">;
|
|
641
|
+
/** Tamaño del campo */
|
|
642
|
+
readonly size: _angular_core.InputSignal<MfInputSize>;
|
|
643
|
+
/** Valor actual del campo */
|
|
644
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
645
|
+
/** Deshabilitado */
|
|
646
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
647
|
+
/** Solo lectura */
|
|
648
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
649
|
+
/** Requerido */
|
|
650
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
651
|
+
/** Texto de ayuda debajo del campo */
|
|
652
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
653
|
+
/** Mensaje de error */
|
|
654
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
655
|
+
/** Icono al inicio */
|
|
656
|
+
readonly leadingIcon: _angular_core.InputSignal<string>;
|
|
657
|
+
/** Icono al final */
|
|
658
|
+
readonly trailingIcon: _angular_core.InputSignal<string>;
|
|
659
|
+
/** Ancho completo */
|
|
660
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
661
|
+
readonly mfInput: _angular_core.OutputEmitterRef<string>;
|
|
662
|
+
readonly mfBlur: _angular_core.OutputEmitterRef<void>;
|
|
663
|
+
constructor();
|
|
664
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
665
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
666
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
667
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
668
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
669
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
670
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
671
|
+
writeValue(value: string | null): void;
|
|
672
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
673
|
+
registerOnTouched(fn: () => void): void;
|
|
674
|
+
setDisabledState(isDisabled: boolean): void;
|
|
675
|
+
isInvalid(): boolean;
|
|
676
|
+
onInput(event: Event): void;
|
|
677
|
+
onBlur(): void;
|
|
678
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfInputComponent, never>;
|
|
679
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfInputComponent, "mf-input", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, { "mfInput": "mfInput"; "mfBlur": "mfBlur"; }, never, never, true, never>;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
interface MfMenuItem {
|
|
683
|
+
label: string;
|
|
684
|
+
icon?: string;
|
|
685
|
+
disabled?: boolean;
|
|
686
|
+
value: string;
|
|
687
|
+
}
|
|
688
|
+
/**
|
|
689
|
+
* Menu de la librería ng-comps.
|
|
690
|
+
* Envuelve Angular Material `mat-menu` y expone una API uniforme
|
|
691
|
+
* con look and feel de marca.
|
|
692
|
+
*/
|
|
693
|
+
declare class MfMenuComponent {
|
|
694
|
+
/** Items del menú */
|
|
695
|
+
readonly items: _angular_core.InputSignal<MfMenuItem[]>;
|
|
696
|
+
/** Icono del trigger */
|
|
697
|
+
readonly triggerIcon: _angular_core.InputSignal<string>;
|
|
698
|
+
/** Label accesible del trigger */
|
|
699
|
+
readonly triggerLabel: _angular_core.InputSignal<string>;
|
|
700
|
+
readonly mfItemClick: _angular_core.OutputEmitterRef<string>;
|
|
701
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
702
|
+
readonly triggerClasses: _angular_core.Signal<string>;
|
|
703
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfMenuComponent, never>;
|
|
704
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfMenuComponent, "mf-menu", never, { "items": { "alias": "items"; "required": true; "isSignal": true; }; "triggerIcon": { "alias": "triggerIcon"; "required": false; "isSignal": true; }; "triggerLabel": { "alias": "triggerLabel"; "required": false; "isSignal": true; }; }, { "mfItemClick": "mfItemClick"; }, never, never, true, never>;
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
/**
|
|
708
|
+
* Paginator de la librería ng-comps.
|
|
709
|
+
* Envuelve Angular Material `mat-paginator` y expone una API uniforme
|
|
710
|
+
* con look and feel de marca.
|
|
711
|
+
*/
|
|
712
|
+
declare class MfPaginatorComponent {
|
|
713
|
+
/** Total de elementos */
|
|
714
|
+
readonly length: _angular_core.InputSignal<number>;
|
|
715
|
+
/** Tamaño de página */
|
|
716
|
+
readonly pageSize: _angular_core.InputSignal<number>;
|
|
717
|
+
/** Índice de página actual */
|
|
718
|
+
readonly pageIndex: _angular_core.InputSignal<number>;
|
|
719
|
+
/** Opciones de tamaño de página */
|
|
720
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
721
|
+
/** Mostrar botones de primera/última página */
|
|
722
|
+
readonly showFirstLastButtons: _angular_core.InputSignal<boolean>;
|
|
723
|
+
/** Ocultar selector de tamaño de página */
|
|
724
|
+
readonly hidePageSize: _angular_core.InputSignal<boolean>;
|
|
725
|
+
readonly mfPageChange: _angular_core.OutputEmitterRef<PageEvent>;
|
|
726
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
727
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfPaginatorComponent, never>;
|
|
728
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfPaginatorComponent, "mf-paginator", never, { "length": { "alias": "length"; "required": true; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showFirstLastButtons": { "alias": "showFirstLastButtons"; "required": false; "isSignal": true; }; "hidePageSize": { "alias": "hidePageSize"; "required": false; "isSignal": true; }; }, { "mfPageChange": "mfPageChange"; }, never, never, true, never>;
|
|
729
|
+
}
|
|
730
|
+
|
|
731
|
+
type MfProgressBarMode = 'determinate' | 'indeterminate' | 'buffer' | 'query';
|
|
732
|
+
type MfProgressBarColor = 'brand' | 'accent' | 'warn';
|
|
733
|
+
/**
|
|
734
|
+
* Barra de progreso de la librerÃa ng-comps.
|
|
735
|
+
* Envuelve Angular Material `mat-progress-bar` y expone una API uniforme
|
|
736
|
+
* con look and feel de marca.
|
|
737
|
+
*/
|
|
738
|
+
declare class MfProgressBarComponent {
|
|
739
|
+
/** Modo de la barra de progreso */
|
|
740
|
+
readonly mode: _angular_core.InputSignal<MfProgressBarMode>;
|
|
741
|
+
/** Valor actual (0–100) */
|
|
742
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
743
|
+
/** Valor del buffer (0–100, solo en modo buffer) */
|
|
744
|
+
readonly bufferValue: _angular_core.InputSignal<number>;
|
|
745
|
+
/** Color de la barra */
|
|
746
|
+
readonly color: _angular_core.InputSignal<MfProgressBarColor>;
|
|
747
|
+
/** Etiqueta accesible */
|
|
748
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
749
|
+
/** Texto accesible opcional para lectores de pantalla */
|
|
750
|
+
readonly valueText: _angular_core.InputSignal<string>;
|
|
751
|
+
/** Muestra el porcentaje junto a la barra */
|
|
752
|
+
readonly showValue: _angular_core.InputSignal<boolean>;
|
|
753
|
+
/** Altura de la barra en px */
|
|
754
|
+
readonly height: _angular_core.InputSignal<number>;
|
|
755
|
+
constructor();
|
|
756
|
+
readonly showsNumericValue: _angular_core.Signal<boolean>;
|
|
757
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
758
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfProgressBarComponent, never>;
|
|
759
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfProgressBarComponent, "mf-progress-bar", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "bufferValue": { "alias": "bufferValue"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "valueText": { "alias": "valueText"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
type MfProgressSpinnerMode = 'determinate' | 'indeterminate';
|
|
763
|
+
type MfProgressSpinnerColor = 'brand' | 'accent' | 'warn';
|
|
764
|
+
/**
|
|
765
|
+
* Spinner de progreso de la librerÃa ng-comps.
|
|
766
|
+
* Envuelve Angular Material `mat-progress-spinner` y expone una API uniforme
|
|
767
|
+
* con look and feel de marca.
|
|
768
|
+
*/
|
|
769
|
+
declare class MfProgressSpinnerComponent {
|
|
770
|
+
/** Modo del spinner */
|
|
771
|
+
readonly mode: _angular_core.InputSignal<MfProgressSpinnerMode>;
|
|
772
|
+
/** Valor actual (0–100, solo en modo determinate) */
|
|
773
|
+
readonly value: _angular_core.InputSignal<number>;
|
|
774
|
+
/** Diámetro en px */
|
|
775
|
+
readonly diameter: _angular_core.InputSignal<number>;
|
|
776
|
+
/** Grosor del trazo en px */
|
|
777
|
+
readonly strokeWidth: _angular_core.InputSignal<number>;
|
|
778
|
+
/** Color del spinner */
|
|
779
|
+
readonly color: _angular_core.InputSignal<MfProgressSpinnerColor>;
|
|
780
|
+
/** Etiqueta accesible y visible */
|
|
781
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
782
|
+
/** Texto accesible opcional para lectores de pantalla */
|
|
783
|
+
readonly valueText: _angular_core.InputSignal<string>;
|
|
784
|
+
constructor();
|
|
785
|
+
readonly showsNumericValue: _angular_core.Signal<boolean>;
|
|
786
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
787
|
+
readonly wrapperClasses: _angular_core.Signal<string>;
|
|
788
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfProgressSpinnerComponent, never>;
|
|
789
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfProgressSpinnerComponent, "mf-progress-spinner", never, { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "valueText": { "alias": "valueText"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
interface MfRadioOption {
|
|
793
|
+
/** Valor de la opción */
|
|
794
|
+
value: string;
|
|
795
|
+
/** Texto visible */
|
|
796
|
+
label: string;
|
|
797
|
+
/** Deshabilitada individualmente */
|
|
798
|
+
disabled?: boolean;
|
|
799
|
+
}
|
|
800
|
+
type MfRadioDirection = 'horizontal' | 'vertical';
|
|
801
|
+
/**
|
|
802
|
+
* Grupo de radio buttons de la librerÃa ng-comps.
|
|
803
|
+
* Envuelve Angular Material `mat-radio-group` + `mat-radio-button`
|
|
804
|
+
* y expone una API uniforme con look and feel de marca.
|
|
805
|
+
*/
|
|
806
|
+
declare class MfRadioButtonComponent implements ControlValueAccessor {
|
|
807
|
+
private readonly cdr;
|
|
808
|
+
private readonly ngControl;
|
|
809
|
+
private readonly generatedId;
|
|
810
|
+
private readonly disabledFromForm;
|
|
811
|
+
protected readonly internalValue: _angular_core.WritableSignal<string>;
|
|
812
|
+
private onControlChange;
|
|
813
|
+
private onControlTouched;
|
|
814
|
+
/** Opciones del grupo */
|
|
815
|
+
readonly options: _angular_core.InputSignal<MfRadioOption[]>;
|
|
816
|
+
/** ID del control */
|
|
817
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
818
|
+
/** Etiqueta visible del grupo */
|
|
819
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
820
|
+
/** Valor seleccionado */
|
|
821
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
822
|
+
/** Deshabilitado */
|
|
823
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
824
|
+
/** Requerido */
|
|
825
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
826
|
+
/** Dirección del grupo */
|
|
827
|
+
readonly direction: _angular_core.InputSignal<MfRadioDirection>;
|
|
828
|
+
/** Nombre accesible alternativo del grupo */
|
|
829
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
830
|
+
/** Etiqueta accesible para el grupo */
|
|
831
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
832
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
833
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
834
|
+
/** Texto de ayuda */
|
|
835
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
836
|
+
/** Mensaje de error */
|
|
837
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
838
|
+
/** Name del grupo */
|
|
839
|
+
readonly name: _angular_core.InputSignal<string>;
|
|
840
|
+
readonly mfChange: _angular_core.OutputEmitterRef<string>;
|
|
841
|
+
constructor();
|
|
842
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
843
|
+
readonly legendId: _angular_core.Signal<string>;
|
|
844
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
845
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
846
|
+
readonly computedLabelledby: _angular_core.Signal<string>;
|
|
847
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
848
|
+
readonly groupName: _angular_core.Signal<string>;
|
|
849
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
850
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
851
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
852
|
+
writeValue(value: string | null): void;
|
|
853
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
854
|
+
registerOnTouched(fn: () => void): void;
|
|
855
|
+
setDisabledState(isDisabled: boolean): void;
|
|
856
|
+
isInvalid(): boolean;
|
|
857
|
+
onChange(event: {
|
|
858
|
+
value: string;
|
|
859
|
+
}): void;
|
|
860
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfRadioButtonComponent, never>;
|
|
861
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfRadioButtonComponent, "mf-radio-button", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; }, { "mfChange": "mfChange"; }, never, never, true, never>;
|
|
862
|
+
}
|
|
863
|
+
|
|
864
|
+
interface MfSelectOption {
|
|
865
|
+
value: string | number;
|
|
866
|
+
label: string;
|
|
867
|
+
disabled?: boolean;
|
|
868
|
+
}
|
|
869
|
+
type MfSelectSize = 'sm' | 'md' | 'lg';
|
|
870
|
+
/**
|
|
871
|
+
* Select de la librerÃa ng-comps.
|
|
872
|
+
* Envuelve Angular Material `mat-select` y expone una API uniforme
|
|
873
|
+
* con look and feel de marca.
|
|
874
|
+
*
|
|
875
|
+
* El dropdown se estiliza mediante la clase global `mf-select-panel` que se
|
|
876
|
+
* inserta en el overlay. Puedes añadir clases adicionales con `panelClass`.
|
|
877
|
+
*/
|
|
878
|
+
declare class MfSelectComponent implements ControlValueAccessor {
|
|
879
|
+
private readonly cdr;
|
|
880
|
+
private readonly ngControl;
|
|
881
|
+
private readonly generatedId;
|
|
882
|
+
private readonly disabledFromForm;
|
|
883
|
+
protected readonly internalValue: _angular_core.WritableSignal<string | number | (string | number)[]>;
|
|
884
|
+
private onControlChange;
|
|
885
|
+
private onControlTouched;
|
|
886
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
887
|
+
/** Opciones del select */
|
|
888
|
+
readonly options: _angular_core.InputSignal<MfSelectOption[]>;
|
|
889
|
+
/** ID del control */
|
|
890
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
891
|
+
/** Etiqueta flotante */
|
|
892
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
893
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
894
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
895
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
896
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
897
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
898
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
899
|
+
/** Placeholder */
|
|
900
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
901
|
+
/** Valor actual */
|
|
902
|
+
readonly value: _angular_core.InputSignal<string | number | (string | number)[]>;
|
|
903
|
+
/** Selección múltiple */
|
|
904
|
+
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
905
|
+
/** Deshabilitado */
|
|
906
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
907
|
+
/** Requerido */
|
|
908
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
909
|
+
/** Texto de ayuda */
|
|
910
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
911
|
+
/** Mensaje de error */
|
|
912
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
913
|
+
/** Tamaño del campo */
|
|
914
|
+
readonly size: _angular_core.InputSignal<MfSelectSize>;
|
|
915
|
+
/** Ancho completo */
|
|
916
|
+
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
917
|
+
/** Icono al inicio del campo */
|
|
918
|
+
readonly leadingIcon: _angular_core.InputSignal<string>;
|
|
919
|
+
/** Icono al final del campo */
|
|
920
|
+
readonly trailingIcon: _angular_core.InputSignal<string>;
|
|
921
|
+
/**
|
|
922
|
+
* Clases extra que se añaden al panel del dropdown (overlay).
|
|
923
|
+
* La clase `mf-select-panel` siempre está presente para los estilos base.
|
|
924
|
+
*/
|
|
925
|
+
readonly panelClass: _angular_core.InputSignal<string | string[]>;
|
|
926
|
+
readonly mfSelectionChange: _angular_core.OutputEmitterRef<string | number | (string | number)[]>;
|
|
927
|
+
constructor();
|
|
928
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
929
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
930
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
931
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
932
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
933
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
934
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
935
|
+
readonly panelClasses: _angular_core.Signal<string[]>;
|
|
936
|
+
writeValue(value: string | number | (string | number)[] | null): void;
|
|
937
|
+
registerOnChange(fn: (value: string | number | (string | number)[] | undefined) => void): void;
|
|
938
|
+
registerOnTouched(fn: () => void): void;
|
|
939
|
+
setDisabledState(isDisabled: boolean): void;
|
|
940
|
+
isInvalid(): boolean;
|
|
941
|
+
onSelectionChange(event: {
|
|
942
|
+
value: string | number | (string | number)[];
|
|
943
|
+
}): void;
|
|
944
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfSelectComponent, never>;
|
|
945
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfSelectComponent, "mf-select", never, { "options": { "alias": "options"; "required": true; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; "isSignal": true; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; }, { "mfSelectionChange": "mfSelectionChange"; }, never, never, true, never>;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
type MfSidenavMode = 'over' | 'push' | 'side';
|
|
949
|
+
type MfSidenavPosition = 'start' | 'end';
|
|
950
|
+
interface MfSidenavNavItem {
|
|
951
|
+
/** Nombre del icono Material (e.g. 'home', 'dashboard') */
|
|
952
|
+
icon: string;
|
|
953
|
+
/** Texto de la etiqueta */
|
|
954
|
+
label: string;
|
|
955
|
+
/** Identificador único del ítem */
|
|
956
|
+
id: string;
|
|
957
|
+
/** Ítem activo/seleccionado */
|
|
958
|
+
active?: boolean;
|
|
959
|
+
/** Deshabilitar el ítem */
|
|
960
|
+
disabled?: boolean;
|
|
961
|
+
/** Número de badge (0 oculta el badge) */
|
|
962
|
+
badge?: number;
|
|
963
|
+
}
|
|
964
|
+
/**
|
|
965
|
+
* Panel lateral de la librería ng-comps.
|
|
966
|
+
* Envuelve Angular Material `mat-sidenav-container` y expone una API uniforme
|
|
967
|
+
* con look and feel de marca.
|
|
968
|
+
*
|
|
969
|
+
* Dos formas de uso:
|
|
970
|
+
* 1. **Navitems declarativos** — Proporciona `navItems`, `headerTitle` e icono.
|
|
971
|
+
* 2. **Content projection** — Proyecta `[mfSidenavContent]` para control total.
|
|
972
|
+
*
|
|
973
|
+
* El contenido principal se proyecta sin atributo.
|
|
974
|
+
*/
|
|
975
|
+
declare class MfSidenavComponent {
|
|
976
|
+
/** Abierto o cerrado */
|
|
977
|
+
readonly opened: _angular_core.InputSignal<boolean>;
|
|
978
|
+
/** Modo de apertura */
|
|
979
|
+
readonly mode: _angular_core.InputSignal<MfSidenavMode>;
|
|
980
|
+
/** Posición del panel */
|
|
981
|
+
readonly position: _angular_core.InputSignal<MfSidenavPosition>;
|
|
982
|
+
/** Muestra backdrop al abrir */
|
|
983
|
+
readonly hasBackdrop: _angular_core.InputSignal<boolean>;
|
|
984
|
+
/** Ancho del panel lateral */
|
|
985
|
+
readonly sidenavWidth: _angular_core.InputSignal<string>;
|
|
986
|
+
/** Ítems de navegación declarativos */
|
|
987
|
+
readonly navItems: _angular_core.InputSignal<MfSidenavNavItem[]>;
|
|
988
|
+
/** Título de la cabecera del sidenav */
|
|
989
|
+
readonly headerTitle: _angular_core.InputSignal<string>;
|
|
990
|
+
/** Icono Material de la cabecera */
|
|
991
|
+
readonly headerIcon: _angular_core.InputSignal<string>;
|
|
992
|
+
/** Aria-label del elemento nav */
|
|
993
|
+
readonly navAriaLabel: _angular_core.InputSignal<string>;
|
|
994
|
+
readonly mfOpenedChange: _angular_core.OutputEmitterRef<boolean>;
|
|
995
|
+
/** Emite el ítem de navegación pulsado */
|
|
996
|
+
readonly mfNavItemClick: _angular_core.OutputEmitterRef<MfSidenavNavItem>;
|
|
997
|
+
readonly containerClasses: _angular_core.Signal<string>;
|
|
998
|
+
readonly sidenavClasses: _angular_core.Signal<string>;
|
|
999
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfSidenavComponent, never>;
|
|
1000
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfSidenavComponent, "mf-sidenav", never, { "opened": { "alias": "opened"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "sidenavWidth": { "alias": "sidenavWidth"; "required": false; "isSignal": true; }; "navItems": { "alias": "navItems"; "required": false; "isSignal": true; }; "headerTitle": { "alias": "headerTitle"; "required": false; "isSignal": true; }; "headerIcon": { "alias": "headerIcon"; "required": false; "isSignal": true; }; "navAriaLabel": { "alias": "navAriaLabel"; "required": false; "isSignal": true; }; }, { "mfOpenedChange": "mfOpenedChange"; "mfNavItemClick": "mfNavItemClick"; }, never, ["[mfSidenavContent]", "*"], true, never>;
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
/**
|
|
1004
|
+
* Slide Toggle de la librerÃa ng-comps.
|
|
1005
|
+
* Envuelve Angular Material `mat-slide-toggle` y expone una API uniforme
|
|
1006
|
+
* con look and feel de marca.
|
|
1007
|
+
*/
|
|
1008
|
+
declare class MfSlideToggleComponent implements ControlValueAccessor {
|
|
1009
|
+
private readonly cdr;
|
|
1010
|
+
private readonly ngControl;
|
|
1011
|
+
private readonly generatedId;
|
|
1012
|
+
private readonly disabledFromForm;
|
|
1013
|
+
protected readonly internalValue: _angular_core.WritableSignal<boolean>;
|
|
1014
|
+
private onControlChange;
|
|
1015
|
+
private onControlTouched;
|
|
1016
|
+
/** ID del control */
|
|
1017
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
1018
|
+
/** Texto descriptivo */
|
|
1019
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1020
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
1021
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1022
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
1023
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
1024
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
1025
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
1026
|
+
/** Estado activado */
|
|
1027
|
+
readonly checked: _angular_core.InputSignal<boolean>;
|
|
1028
|
+
/** Deshabilitado */
|
|
1029
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1030
|
+
/** Requerido */
|
|
1031
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
1032
|
+
/** Texto de ayuda */
|
|
1033
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1034
|
+
/** Mensaje de error */
|
|
1035
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
1036
|
+
readonly mfChange: _angular_core.OutputEmitterRef<boolean>;
|
|
1037
|
+
constructor();
|
|
1038
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
1039
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
1040
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
1041
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
1042
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
1043
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
1044
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1045
|
+
writeValue(value: boolean | null): void;
|
|
1046
|
+
registerOnChange(fn: (value: boolean) => void): void;
|
|
1047
|
+
registerOnTouched(fn: () => void): void;
|
|
1048
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1049
|
+
isInvalid(): boolean;
|
|
1050
|
+
onToggleChange(event: {
|
|
1051
|
+
checked: boolean;
|
|
1052
|
+
}): void;
|
|
1053
|
+
onChange(event: {
|
|
1054
|
+
checked: boolean;
|
|
1055
|
+
}): void;
|
|
1056
|
+
onBlur(): void;
|
|
1057
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfSlideToggleComponent, never>;
|
|
1058
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfSlideToggleComponent, "mf-slide-toggle", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, { "mfChange": "mfChange"; }, never, never, true, never>;
|
|
1059
|
+
}
|
|
1060
|
+
|
|
1061
|
+
type MfSnackbarType = 'info' | 'success' | 'warning' | 'error';
|
|
1062
|
+
type MfSnackbarPoliteness = 'off' | 'assertive' | 'polite';
|
|
1063
|
+
interface MfSnackbarConfig {
|
|
1064
|
+
message: string;
|
|
1065
|
+
action?: string;
|
|
1066
|
+
type?: MfSnackbarType;
|
|
1067
|
+
duration?: number;
|
|
1068
|
+
horizontalPosition?: 'start' | 'center' | 'end';
|
|
1069
|
+
verticalPosition?: 'top' | 'bottom';
|
|
1070
|
+
politeness?: MfSnackbarPoliteness;
|
|
1071
|
+
announcementMessage?: string;
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Servicio de Snackbar de la librerÃa ng-comps.
|
|
1075
|
+
* Envuelve Angular Material `MatSnackBar` y expone una API uniforme
|
|
1076
|
+
* con estilos de marca y tipos semánticos.
|
|
1077
|
+
*/
|
|
1078
|
+
declare class MfSnackbarService {
|
|
1079
|
+
private readonly matSnackBar;
|
|
1080
|
+
open(config: MfSnackbarConfig): MatSnackBarRef<TextOnlySnackBar>;
|
|
1081
|
+
info(message: string, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
1082
|
+
success(message: string, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
1083
|
+
warning(message: string, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
1084
|
+
error(message: string, action?: string): MatSnackBarRef<TextOnlySnackBar>;
|
|
1085
|
+
private defaultDuration;
|
|
1086
|
+
private defaultPoliteness;
|
|
1087
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfSnackbarService, never>;
|
|
1088
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<MfSnackbarService>;
|
|
1089
|
+
}
|
|
1090
|
+
|
|
1091
|
+
type MfTableCellType = 'text' | 'number' | 'date' | 'badge';
|
|
1092
|
+
type MfTableAlign = 'start' | 'center' | 'end';
|
|
1093
|
+
type MfTableVariant = 'default' | 'striped' | 'bordered';
|
|
1094
|
+
type MfTableDensity = 'compact' | 'comfortable' | 'spacious';
|
|
1095
|
+
type MfTableBadgeTone = 'brand' | 'success' | 'warning' | 'error' | 'neutral';
|
|
1096
|
+
type MfTableActionTone = 'primary' | 'neutral' | 'danger';
|
|
1097
|
+
interface MfTableColumn {
|
|
1098
|
+
key: string;
|
|
1099
|
+
header: string;
|
|
1100
|
+
sortable?: boolean;
|
|
1101
|
+
type?: MfTableCellType;
|
|
1102
|
+
align?: MfTableAlign;
|
|
1103
|
+
width?: string;
|
|
1104
|
+
hidden?: boolean;
|
|
1105
|
+
truncate?: boolean;
|
|
1106
|
+
searchable?: boolean;
|
|
1107
|
+
emptyValue?: string;
|
|
1108
|
+
formatter?: (value: unknown, row: Record<string, unknown>) => string;
|
|
1109
|
+
sortAccessor?: (row: Record<string, unknown>) => unknown;
|
|
1110
|
+
searchAccessor?: (row: Record<string, unknown>) => string;
|
|
1111
|
+
badgeTone?: MfTableBadgeTone | ((value: unknown, row: Record<string, unknown>) => MfTableBadgeTone);
|
|
1112
|
+
badgeTones?: Record<string, MfTableBadgeTone>;
|
|
1113
|
+
}
|
|
1114
|
+
interface MfTableRowAction {
|
|
1115
|
+
key: string;
|
|
1116
|
+
label: string;
|
|
1117
|
+
icon?: string;
|
|
1118
|
+
tone?: MfTableActionTone;
|
|
1119
|
+
disabled?: boolean | ((row: Record<string, unknown>) => boolean);
|
|
1120
|
+
ariaLabel?: (row: Record<string, unknown>) => string;
|
|
1121
|
+
}
|
|
1122
|
+
interface MfResolvedTableAction extends MfTableRowAction {
|
|
1123
|
+
legacy?: boolean;
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Enterprise-oriented table component with optional search, pagination,
|
|
1127
|
+
* badges, explicit row actions and client-side sorting.
|
|
1128
|
+
*/
|
|
1129
|
+
declare class MfTableComponent {
|
|
1130
|
+
protected readonly localSearchTerm: _angular_core.WritableSignal<string>;
|
|
1131
|
+
protected readonly localPageIndex: _angular_core.WritableSignal<number>;
|
|
1132
|
+
protected readonly localPageSize: _angular_core.WritableSignal<number>;
|
|
1133
|
+
protected readonly sortState: _angular_core.WritableSignal<Sort>;
|
|
1134
|
+
protected readonly actionColumnKey = "mf-row-action";
|
|
1135
|
+
readonly columns: _angular_core.InputSignal<MfTableColumn[]>;
|
|
1136
|
+
readonly data: _angular_core.InputSignal<Record<string, unknown>[]>;
|
|
1137
|
+
readonly variant: _angular_core.InputSignal<MfTableVariant>;
|
|
1138
|
+
readonly density: _angular_core.InputSignal<MfTableDensity>;
|
|
1139
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1140
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
1141
|
+
readonly showSearch: _angular_core.InputSignal<boolean>;
|
|
1142
|
+
readonly searchLabel: _angular_core.InputSignal<string>;
|
|
1143
|
+
readonly searchPlaceholder: _angular_core.InputSignal<string>;
|
|
1144
|
+
readonly searchValue: _angular_core.InputSignal<string>;
|
|
1145
|
+
readonly showPaginator: _angular_core.InputSignal<boolean>;
|
|
1146
|
+
readonly pageSize: _angular_core.InputSignal<number>;
|
|
1147
|
+
readonly pageIndex: _angular_core.InputSignal<number>;
|
|
1148
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
|
|
1149
|
+
readonly showFirstLastButtons: _angular_core.InputSignal<boolean>;
|
|
1150
|
+
readonly hidePageSize: _angular_core.InputSignal<boolean>;
|
|
1151
|
+
readonly stickyHeader: _angular_core.InputSignal<boolean>;
|
|
1152
|
+
readonly emptyTitle: _angular_core.InputSignal<string>;
|
|
1153
|
+
readonly emptyDescription: _angular_core.InputSignal<string>;
|
|
1154
|
+
readonly rowActionLabel: _angular_core.InputSignal<string>;
|
|
1155
|
+
readonly rowActionHeader: _angular_core.InputSignal<string>;
|
|
1156
|
+
readonly rowActionAriaLabel: _angular_core.InputSignal<(row: Record<string, unknown>) => string>;
|
|
1157
|
+
readonly rowActions: _angular_core.InputSignal<MfTableRowAction[]>;
|
|
1158
|
+
readonly mfSortChange: _angular_core.OutputEmitterRef<Sort>;
|
|
1159
|
+
readonly mfSearchChange: _angular_core.OutputEmitterRef<string>;
|
|
1160
|
+
readonly mfPageChange: _angular_core.OutputEmitterRef<PageEvent>;
|
|
1161
|
+
readonly mfAction: _angular_core.OutputEmitterRef<{
|
|
1162
|
+
action: MfTableRowAction;
|
|
1163
|
+
row: Record<string, unknown>;
|
|
1164
|
+
}>;
|
|
1165
|
+
readonly mfRowAction: _angular_core.OutputEmitterRef<Record<string, unknown>>;
|
|
1166
|
+
readonly mfRowClick: _angular_core.OutputEmitterRef<Record<string, unknown>>;
|
|
1167
|
+
constructor();
|
|
1168
|
+
protected readonly visibleColumns: _angular_core.Signal<MfTableColumn[]>;
|
|
1169
|
+
protected readonly searchTerm: _angular_core.Signal<string>;
|
|
1170
|
+
protected readonly showsToolbar: _angular_core.Signal<boolean>;
|
|
1171
|
+
protected readonly resolvedActionHeader: _angular_core.Signal<string>;
|
|
1172
|
+
protected readonly resolvedActions: _angular_core.Signal<MfResolvedTableAction[]>;
|
|
1173
|
+
protected readonly hasActions: _angular_core.Signal<boolean>;
|
|
1174
|
+
protected readonly usesActionMenu: _angular_core.Signal<boolean>;
|
|
1175
|
+
readonly displayedColumns: _angular_core.Signal<string[]>;
|
|
1176
|
+
protected readonly filteredRows: _angular_core.Signal<Record<string, unknown>[]>;
|
|
1177
|
+
protected readonly sortedRows: _angular_core.Signal<Record<string, unknown>[]>;
|
|
1178
|
+
protected readonly paginatedRows: _angular_core.Signal<Record<string, unknown>[]>;
|
|
1179
|
+
protected readonly resultSummary: _angular_core.Signal<string>;
|
|
1180
|
+
onSearchChange(value: string): void;
|
|
1181
|
+
onSortChange(sort: Sort): void;
|
|
1182
|
+
onPageChange(event: PageEvent): void;
|
|
1183
|
+
onActionClick(action: MfResolvedTableAction, row: Record<string, unknown>): void;
|
|
1184
|
+
renderCell(column: MfTableColumn, row: Record<string, unknown>): string;
|
|
1185
|
+
headerCellClasses(column: MfTableColumn): string;
|
|
1186
|
+
cellClasses(column: MfTableColumn): string;
|
|
1187
|
+
badgeClasses(column: MfTableColumn, row: Record<string, unknown>): string;
|
|
1188
|
+
actionClasses(action: MfResolvedTableAction): string;
|
|
1189
|
+
isActionDisabled(action: MfResolvedTableAction, row: Record<string, unknown>): boolean;
|
|
1190
|
+
getActionAriaLabel(action: MfResolvedTableAction, row: Record<string, unknown>): string | null;
|
|
1191
|
+
getRowMenuAriaLabel(row: Record<string, unknown>): string;
|
|
1192
|
+
emptyDescriptionText(): string;
|
|
1193
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1194
|
+
private getCellValue;
|
|
1195
|
+
private getRawValue;
|
|
1196
|
+
private getSearchValue;
|
|
1197
|
+
private normalizeSortValue;
|
|
1198
|
+
private resolveBadgeTone;
|
|
1199
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfTableComponent, never>;
|
|
1200
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfTableComponent, "mf-table", never, { "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "showSearch": { "alias": "showSearch"; "required": false; "isSignal": true; }; "searchLabel": { "alias": "searchLabel"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "searchValue": { "alias": "searchValue"; "required": false; "isSignal": true; }; "showPaginator": { "alias": "showPaginator"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "pageIndex": { "alias": "pageIndex"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "showFirstLastButtons": { "alias": "showFirstLastButtons"; "required": false; "isSignal": true; }; "hidePageSize": { "alias": "hidePageSize"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "emptyTitle": { "alias": "emptyTitle"; "required": false; "isSignal": true; }; "emptyDescription": { "alias": "emptyDescription"; "required": false; "isSignal": true; }; "rowActionLabel": { "alias": "rowActionLabel"; "required": false; "isSignal": true; }; "rowActionHeader": { "alias": "rowActionHeader"; "required": false; "isSignal": true; }; "rowActionAriaLabel": { "alias": "rowActionAriaLabel"; "required": false; "isSignal": true; }; "rowActions": { "alias": "rowActions"; "required": false; "isSignal": true; }; }, { "mfSortChange": "mfSortChange"; "mfSearchChange": "mfSearchChange"; "mfPageChange": "mfPageChange"; "mfAction": "mfAction"; "mfRowAction": "mfRowAction"; "mfRowClick": "mfRowClick"; }, never, never, true, never>;
|
|
1201
|
+
}
|
|
1202
|
+
|
|
1203
|
+
interface MfTab {
|
|
1204
|
+
label: string;
|
|
1205
|
+
icon?: string;
|
|
1206
|
+
disabled?: boolean;
|
|
1207
|
+
}
|
|
1208
|
+
type MfTabsVariant = 'default' | 'stretched';
|
|
1209
|
+
/**
|
|
1210
|
+
* Tabs de la librería ng-comps.
|
|
1211
|
+
* Envuelve Angular Material `mat-tab-group` y expone una API uniforme
|
|
1212
|
+
* con look and feel de marca.
|
|
1213
|
+
*/
|
|
1214
|
+
declare class MfTabsComponent {
|
|
1215
|
+
/** Pestañas */
|
|
1216
|
+
readonly tabs: _angular_core.InputSignal<MfTab[]>;
|
|
1217
|
+
/** Índice seleccionado */
|
|
1218
|
+
readonly selectedIndex: _angular_core.InputSignal<number>;
|
|
1219
|
+
/** Variante visual */
|
|
1220
|
+
readonly variant: _angular_core.InputSignal<MfTabsVariant>;
|
|
1221
|
+
readonly mfSelectedIndexChange: _angular_core.OutputEmitterRef<number>;
|
|
1222
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1223
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfTabsComponent, never>;
|
|
1224
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfTabsComponent, "mf-tabs", never, { "tabs": { "alias": "tabs"; "required": true; "isSignal": true; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "mfSelectedIndexChange": "mfSelectedIndexChange"; }, never, never, true, never>;
|
|
1225
|
+
}
|
|
1226
|
+
|
|
1227
|
+
type MfTextareaSize = 'sm' | 'md' | 'lg';
|
|
1228
|
+
type MfTextareaResize = 'none' | 'vertical' | 'horizontal' | 'both';
|
|
1229
|
+
/**
|
|
1230
|
+
* Textarea de la librerÃa ng-comps.
|
|
1231
|
+
* Envuelve Angular Material `matInput` con textarea y expone una API uniforme
|
|
1232
|
+
* con look and feel de marca.
|
|
1233
|
+
*/
|
|
1234
|
+
declare class MfTextareaComponent implements ControlValueAccessor {
|
|
1235
|
+
private readonly cdr;
|
|
1236
|
+
private readonly ngControl;
|
|
1237
|
+
private readonly generatedId;
|
|
1238
|
+
private readonly disabledFromForm;
|
|
1239
|
+
protected readonly internalValue: _angular_core.WritableSignal<string>;
|
|
1240
|
+
private onControlChange;
|
|
1241
|
+
private onControlTouched;
|
|
1242
|
+
readonly errorStateMatcher: ErrorStateMatcher;
|
|
1243
|
+
/** ID del control */
|
|
1244
|
+
readonly id: _angular_core.InputSignal<string>;
|
|
1245
|
+
/** Etiqueta */
|
|
1246
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
1247
|
+
/** Etiqueta accesible alternativa cuando no existe label visible */
|
|
1248
|
+
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1249
|
+
/** Referencia externa a elementos que etiquetan el control */
|
|
1250
|
+
readonly ariaLabelledby: _angular_core.InputSignal<string>;
|
|
1251
|
+
/** Referencia externa a elementos descriptivos adicionales */
|
|
1252
|
+
readonly ariaDescribedby: _angular_core.InputSignal<string>;
|
|
1253
|
+
/** Placeholder */
|
|
1254
|
+
readonly placeholder: _angular_core.InputSignal<string>;
|
|
1255
|
+
/** Valor */
|
|
1256
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
1257
|
+
/** Filas visibles */
|
|
1258
|
+
readonly rows: _angular_core.InputSignal<number>;
|
|
1259
|
+
/** Tamaño */
|
|
1260
|
+
readonly size: _angular_core.InputSignal<MfTextareaSize>;
|
|
1261
|
+
/** Máximo de caracteres */
|
|
1262
|
+
readonly maxLength: _angular_core.InputSignal<number>;
|
|
1263
|
+
/** Deshabilitado */
|
|
1264
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1265
|
+
/** Solo lectura */
|
|
1266
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
1267
|
+
/** Requerido */
|
|
1268
|
+
readonly required: _angular_core.InputSignal<boolean>;
|
|
1269
|
+
/** Texto de ayuda */
|
|
1270
|
+
readonly hint: _angular_core.InputSignal<string>;
|
|
1271
|
+
/** Mensaje de error */
|
|
1272
|
+
readonly error: _angular_core.InputSignal<string>;
|
|
1273
|
+
/** Resize */
|
|
1274
|
+
readonly resize: _angular_core.InputSignal<MfTextareaResize>;
|
|
1275
|
+
readonly mfInput: _angular_core.OutputEmitterRef<string>;
|
|
1276
|
+
readonly mfBlur: _angular_core.OutputEmitterRef<void>;
|
|
1277
|
+
constructor();
|
|
1278
|
+
readonly controlId: _angular_core.Signal<string>;
|
|
1279
|
+
readonly hintId: _angular_core.Signal<string>;
|
|
1280
|
+
readonly errorId: _angular_core.Signal<string>;
|
|
1281
|
+
readonly counterId: _angular_core.Signal<string>;
|
|
1282
|
+
readonly describedBy: _angular_core.Signal<string>;
|
|
1283
|
+
readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
1284
|
+
readonly isDisabled: _angular_core.Signal<boolean>;
|
|
1285
|
+
readonly currentLength: _angular_core.Signal<number>;
|
|
1286
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1287
|
+
writeValue(value: string | null): void;
|
|
1288
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
1289
|
+
registerOnTouched(fn: () => void): void;
|
|
1290
|
+
setDisabledState(isDisabled: boolean): void;
|
|
1291
|
+
isInvalid(): boolean;
|
|
1292
|
+
onInput(event: Event): void;
|
|
1293
|
+
onBlur(): void;
|
|
1294
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfTextareaComponent, never>;
|
|
1295
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfTextareaComponent, "mf-textarea", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "ariaLabelledby"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; }, { "mfInput": "mfInput"; "mfBlur": "mfBlur"; }, never, never, true, never>;
|
|
1296
|
+
}
|
|
1297
|
+
|
|
1298
|
+
type MfToolbarVariant = 'surface' | 'brand' | 'transparent';
|
|
1299
|
+
/**
|
|
1300
|
+
* Toolbar de la librería ng-comps.
|
|
1301
|
+
* Envuelve Angular Material `mat-toolbar` y expone una API uniforme
|
|
1302
|
+
* con look and feel de marca. Usa content projection para acciones.
|
|
1303
|
+
*/
|
|
1304
|
+
declare class MfToolbarComponent {
|
|
1305
|
+
/** Título que se muestra en la toolbar */
|
|
1306
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
1307
|
+
/** Variante visual */
|
|
1308
|
+
readonly variant: _angular_core.InputSignal<MfToolbarVariant>;
|
|
1309
|
+
/** Muestra borde inferior */
|
|
1310
|
+
readonly bordered: _angular_core.InputSignal<boolean>;
|
|
1311
|
+
/** Toolbar fija en la parte superior */
|
|
1312
|
+
readonly sticky: _angular_core.InputSignal<boolean>;
|
|
1313
|
+
/** Elevación sutil */
|
|
1314
|
+
readonly elevated: _angular_core.InputSignal<boolean>;
|
|
1315
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1316
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfToolbarComponent, never>;
|
|
1317
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfToolbarComponent, "mf-toolbar", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "sticky": { "alias": "sticky"; "required": false; "isSignal": true; }; "elevated": { "alias": "elevated"; "required": false; "isSignal": true; }; }, {}, never, ["[mfToolbarStart]", "[mfToolbarEnd]", "*"], true, never>;
|
|
1318
|
+
}
|
|
1319
|
+
|
|
1320
|
+
type MfTooltipPosition = 'above' | 'below' | 'left' | 'right';
|
|
1321
|
+
declare class MfTooltipDirective {
|
|
1322
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfTooltipDirective, never>;
|
|
1323
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MfTooltipDirective, "[mfTooltip]", never, {}, {}, never, never, true, [{ directive: typeof i1.MatTooltip; inputs: { "matTooltip": "mfTooltip"; "matTooltipPosition": "mfTooltipPosition"; "matTooltipDisabled": "mfTooltipDisabled"; "matTooltipShowDelay": "mfTooltipShowDelay"; "matTooltipHideDelay": "mfTooltipHideDelay"; }; outputs: {}; }]>;
|
|
1324
|
+
}
|
|
1325
|
+
|
|
1326
|
+
/**
|
|
1327
|
+
* Tooltip de la librería ng-comps.
|
|
1328
|
+
* Envuelve Angular Material `matTooltip` y expone una API uniforme
|
|
1329
|
+
* con look and feel de marca.
|
|
1330
|
+
*/
|
|
1331
|
+
declare class MfTooltipComponent {
|
|
1332
|
+
/** Texto del tooltip */
|
|
1333
|
+
readonly text: _angular_core.InputSignal<string>;
|
|
1334
|
+
/** Posición del tooltip */
|
|
1335
|
+
readonly position: _angular_core.InputSignal<MfTooltipPosition>;
|
|
1336
|
+
/** Deshabilitado */
|
|
1337
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1338
|
+
/** Delay para mostrar (ms) */
|
|
1339
|
+
readonly showDelay: _angular_core.InputSignal<number>;
|
|
1340
|
+
/** Delay para ocultar (ms) */
|
|
1341
|
+
readonly hideDelay: _angular_core.InputSignal<number>;
|
|
1342
|
+
readonly hostClasses: _angular_core.Signal<string>;
|
|
1343
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MfTooltipComponent, never>;
|
|
1344
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MfTooltipComponent, "mf-tooltip", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "position": { "alias": "position"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "showDelay": { "alias": "showDelay"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
export { MfAccordionComponent, MfAlertComponent, MfAutocompleteComponent, MfAvatarComponent, MfBadgeComponent, MfBreadcrumbComponent, MfButtonComponent, MfCardComponent, MfCheckboxComponent, MfChipComponent, MfDatepickerComponent, MfDialogComponent, MfDialogService, MfDividerComponent, MfFormFieldComponent, MfGridListComponent, MfIconComponent, MfInputComponent, MfMenuComponent, MfPaginatorComponent, MfProgressBarComponent, MfProgressSpinnerComponent, MfRadioButtonComponent, MfSelectComponent, MfSidenavComponent, MfSlideToggleComponent, MfSnackbarService, MfTableComponent, MfTabsComponent, MfTextareaComponent, MfToolbarComponent, MfTooltipComponent, MfTooltipDirective };
|
|
1348
|
+
export type { MfAccordionPanel, MfAlertSeverity, MfAutocompleteOption, MfAutocompleteSize, MfAvatarSize, MfAvatarVariant, MfBadgeColor, MfBadgePosition, MfBadgeSize, MfBreadcrumbItem, MfButtonSize, MfButtonVariant, MfCardVariant, MfChipColor, MfChipVariant, MfDatepickerSize, MfDialogOpenConfig, MfDividerVariant, MfGridTile, MfIconColor, MfIconSize, MfInputSize, MfMenuItem, MfProgressBarColor, MfProgressBarMode, MfProgressSpinnerColor, MfProgressSpinnerMode, MfRadioDirection, MfRadioOption, MfSelectOption, MfSelectSize, MfSidenavMode, MfSidenavNavItem, MfSidenavPosition, MfSnackbarConfig, MfSnackbarType, MfTab, MfTableColumn, MfTableVariant, MfTabsVariant, MfTextareaResize, MfTextareaSize, MfToolbarVariant, MfTooltipPosition };
|