@caribeng/ui 22.1.0 → 22.2.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/README.md +52 -12
- package/fesm2022/caribeng-ui-accordion.mjs +2 -2
- package/fesm2022/caribeng-ui-anchor.mjs +169 -0
- package/fesm2022/caribeng-ui-autocomplete.mjs +10 -8
- package/fesm2022/caribeng-ui-avatargroup.mjs +9 -3
- package/fesm2022/caribeng-ui-blockui.mjs +12 -4
- package/fesm2022/caribeng-ui-breadcrumb.mjs +5 -2
- package/fesm2022/caribeng-ui-button.mjs +22 -2
- package/fesm2022/caribeng-ui-caribe-alert.mjs +5 -2
- package/fesm2022/caribeng-ui-caribe-animation-lottie.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-button-group.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-calendar.mjs +11 -6
- package/fesm2022/caribeng-ui-caribe-card-content.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-card-move.mjs +29 -7
- package/fesm2022/caribeng-ui-caribe-card-select.mjs +56 -14
- package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +10 -7
- package/fesm2022/caribeng-ui-caribe-coachmark.mjs +42 -19
- package/fesm2022/caribeng-ui-caribe-data-table.mjs +15 -9
- package/fesm2022/caribeng-ui-caribe-dots-indicator.mjs +38 -5
- package/fesm2022/caribeng-ui-caribe-expansion-panel.mjs +16 -5
- package/fesm2022/caribeng-ui-caribe-fab-menu.mjs +56 -7
- package/fesm2022/caribeng-ui-caribe-file-download.mjs +68 -27
- package/fesm2022/caribeng-ui-caribe-file-select.mjs +22 -17
- package/fesm2022/caribeng-ui-caribe-float-menu.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-footer.mjs +8 -4
- package/fesm2022/caribeng-ui-caribe-header.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-icon-button.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-illustration.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +5 -2
- package/fesm2022/caribeng-ui-caribe-input-search.mjs +14 -10
- package/fesm2022/caribeng-ui-caribe-input-select.mjs +12 -10
- package/fesm2022/caribeng-ui-caribe-input-token.mjs +61 -11
- package/fesm2022/caribeng-ui-caribe-link.mjs +7 -2
- package/fesm2022/caribeng-ui-caribe-loader.mjs +8 -5
- package/fesm2022/caribeng-ui-caribe-modal.mjs +32 -16
- package/fesm2022/caribeng-ui-caribe-off-canvas.mjs +26 -12
- package/fesm2022/caribeng-ui-caribe-onboarding.mjs +44 -19
- package/fesm2022/caribeng-ui-caribe-pictogram.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-pop-over.mjs +34 -10
- package/fesm2022/caribeng-ui-caribe-preloader.mjs +9 -6
- package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +5 -2
- package/fesm2022/caribeng-ui-caribe-shortcut.mjs +8 -3
- package/fesm2022/caribeng-ui-caribe-step-indicator.mjs +12 -5
- package/fesm2022/caribeng-ui-caribe-stroke.mjs +6 -3
- package/fesm2022/caribeng-ui-caribe-switch.mjs +5 -3
- package/fesm2022/caribeng-ui-caribe-tag-button.mjs +1 -1
- package/fesm2022/caribeng-ui-caribe-tracker.mjs +5 -2
- package/fesm2022/caribeng-ui-caribe-transaction-status.mjs +1 -1
- package/fesm2022/caribeng-ui-caribe-voucher.mjs +11 -8
- package/fesm2022/caribeng-ui-carousel.mjs +49 -14
- package/fesm2022/caribeng-ui-cascadeselect.mjs +22 -8
- package/fesm2022/caribeng-ui-chart.mjs +2598 -303
- package/fesm2022/caribeng-ui-chip.mjs +9 -4
- package/fesm2022/caribeng-ui-chips.mjs +9 -5
- package/fesm2022/caribeng-ui-colorpicker.mjs +9 -7
- package/fesm2022/caribeng-ui-confirmdialog.mjs +74 -9
- package/fesm2022/caribeng-ui-confirmpopup.mjs +134 -9
- package/fesm2022/caribeng-ui-contextmenu.mjs +6 -3
- package/fesm2022/caribeng-ui-dataview.mjs +211 -6
- package/fesm2022/caribeng-ui-datepicker.mjs +1630 -393
- package/fesm2022/caribeng-ui-descriptions.mjs +124 -0
- package/fesm2022/caribeng-ui-dialog.mjs +10 -7
- package/fesm2022/caribeng-ui-dock.mjs +6 -3
- package/fesm2022/caribeng-ui-drawer.mjs +10 -7
- package/fesm2022/caribeng-ui-dynamicdialog.mjs +210 -6
- package/fesm2022/caribeng-ui-editor.mjs +4392 -243
- package/fesm2022/caribeng-ui-empty.mjs +80 -0
- package/fesm2022/caribeng-ui-file-card.mjs +2 -2
- package/fesm2022/caribeng-ui-fileupload.mjs +96 -19
- package/fesm2022/caribeng-ui-floatlabel.mjs +4 -2
- package/fesm2022/caribeng-ui-folder-card.mjs +10 -3
- package/fesm2022/caribeng-ui-galleria.mjs +76 -45
- package/fesm2022/caribeng-ui-image.mjs +52 -29
- package/fesm2022/caribeng-ui-inplace.mjs +22 -6
- package/fesm2022/caribeng-ui-input-number.mjs +9 -7
- package/fesm2022/caribeng-ui-inputgroup.mjs +2 -2
- package/fesm2022/caribeng-ui-inputmask.mjs +14 -11
- package/fesm2022/caribeng-ui-inputotp.mjs +12 -6
- package/fesm2022/caribeng-ui-keyfilter.mjs +72 -0
- package/fesm2022/caribeng-ui-listbox.mjs +13 -11
- package/fesm2022/caribeng-ui-megamenu.mjs +222 -30
- package/fesm2022/caribeng-ui-menu.mjs +11 -5
- package/fesm2022/caribeng-ui-menubar.mjs +10 -5
- package/fesm2022/caribeng-ui-message.mjs +7 -4
- package/fesm2022/caribeng-ui-metergroup.mjs +29 -11
- package/fesm2022/caribeng-ui-multiselect.mjs +399 -97
- package/fesm2022/caribeng-ui-orderlist.mjs +230 -11
- package/fesm2022/caribeng-ui-organizationchart.mjs +12 -7
- package/fesm2022/caribeng-ui-paginator.mjs +18 -15
- package/fesm2022/caribeng-ui-panel.mjs +5 -2
- package/fesm2022/caribeng-ui-panelmenu.mjs +6 -3
- package/fesm2022/caribeng-ui-password.mjs +8 -6
- package/fesm2022/caribeng-ui-pdfviewer.mjs +1553 -0
- package/fesm2022/caribeng-ui-picklist.mjs +251 -14
- package/fesm2022/caribeng-ui-pricing.mjs +17 -14
- package/fesm2022/caribeng-ui-rating.mjs +7 -3
- package/fesm2022/caribeng-ui-repeater.mjs +223 -0
- package/fesm2022/caribeng-ui-result.mjs +91 -0
- package/fesm2022/caribeng-ui-scrollpanel.mjs +6 -3
- package/fesm2022/caribeng-ui-scrolltop.mjs +6 -3
- package/fesm2022/caribeng-ui-select.mjs +379 -87
- package/fesm2022/caribeng-ui-selectbutton.mjs +2 -2
- package/fesm2022/caribeng-ui-slider.mjs +171 -75
- package/fesm2022/caribeng-ui-speeddial.mjs +7 -4
- package/fesm2022/caribeng-ui-spinner.mjs +5 -2
- package/fesm2022/caribeng-ui-splitbutton.mjs +163 -0
- package/fesm2022/caribeng-ui-splitter.mjs +5 -2
- package/fesm2022/caribeng-ui-statistic.mjs +183 -0
- package/fesm2022/caribeng-ui-stepper.mjs +8 -5
- package/fesm2022/caribeng-ui-steps.mjs +6 -3
- package/fesm2022/caribeng-ui-table.mjs +708 -82
- package/fesm2022/caribeng-ui-tabmenu.mjs +6 -3
- package/fesm2022/caribeng-ui-tag.mjs +2 -2
- package/fesm2022/caribeng-ui-terminal.mjs +45 -9
- package/fesm2022/caribeng-ui-themetoggle.mjs +82 -0
- package/fesm2022/caribeng-ui-tieredmenu.mjs +9 -6
- package/fesm2022/caribeng-ui-timeline.mjs +175 -6
- package/fesm2022/caribeng-ui-toast.mjs +7 -4
- package/fesm2022/caribeng-ui-togglebutton.mjs +8 -6
- package/fesm2022/caribeng-ui-toolbar.mjs +6 -3
- package/fesm2022/caribeng-ui-tree.mjs +302 -6
- package/fesm2022/caribeng-ui-treeselect.mjs +26 -10
- package/fesm2022/caribeng-ui-treetable.mjs +269 -6
- package/fesm2022/caribeng-ui-virtualscroller.mjs +123 -10
- package/fesm2022/caribeng-ui.mjs +829 -6
- package/package.json +70 -11
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/index.js +125 -0
- package/schematics/ng-add/schema.js +2 -0
- package/schematics/ng-add/schema.json +66 -0
- package/styles/caribeng.css +380 -0
- package/styles/scss/_mixins.scss +46 -0
- package/styles/scss/_overlay.scss +15 -0
- package/styles/scss/_tokens.scss +267 -0
- package/styles/scss/_utilities.scss +73 -0
- package/styles/scss/_variables.scss +33 -0
- package/styles/scss/index.scss +16 -0
- package/types/caribeng-ui-anchor.d.ts +50 -0
- package/types/caribeng-ui-autocomplete.d.ts +4 -2
- package/types/caribeng-ui-avatargroup.d.ts +3 -1
- package/types/caribeng-ui-blockui.d.ts +9 -4
- package/types/caribeng-ui-breadcrumb.d.ts +3 -0
- package/types/caribeng-ui-button.d.ts +9 -1
- package/types/caribeng-ui-caribe-alert.d.ts +3 -0
- package/types/caribeng-ui-caribe-animation-lottie.d.ts +4 -1
- package/types/caribeng-ui-caribe-button-group.d.ts +4 -1
- package/types/caribeng-ui-caribe-calendar.d.ts +5 -1
- package/types/caribeng-ui-caribe-card-content.d.ts +4 -1
- package/types/caribeng-ui-caribe-card-move.d.ts +13 -13
- package/types/caribeng-ui-caribe-card-select.d.ts +10 -1
- package/types/caribeng-ui-caribe-circle-loading.d.ts +4 -1
- package/types/caribeng-ui-caribe-coachmark.d.ts +6 -0
- package/types/caribeng-ui-caribe-data-table.d.ts +7 -2
- package/types/caribeng-ui-caribe-dots-indicator.d.ts +9 -0
- package/types/caribeng-ui-caribe-expansion-panel.d.ts +7 -10
- package/types/caribeng-ui-caribe-fab-menu.d.ts +10 -1
- package/types/caribeng-ui-caribe-file-download.d.ts +8 -10
- package/types/caribeng-ui-caribe-file-select.d.ts +7 -1
- package/types/caribeng-ui-caribe-float-menu.d.ts +4 -1
- package/types/caribeng-ui-caribe-header.d.ts +3 -0
- package/types/caribeng-ui-caribe-icon-button.d.ts +4 -1
- package/types/caribeng-ui-caribe-illustration.d.ts +4 -1
- package/types/caribeng-ui-caribe-inline-alert.d.ts +3 -0
- package/types/caribeng-ui-caribe-input-search.d.ts +4 -2
- package/types/caribeng-ui-caribe-input-select.d.ts +4 -2
- package/types/caribeng-ui-caribe-input-token.d.ts +16 -1
- package/types/caribeng-ui-caribe-link.d.ts +3 -0
- package/types/caribeng-ui-caribe-loader.d.ts +4 -1
- package/types/caribeng-ui-caribe-modal.d.ts +7 -10
- package/types/caribeng-ui-caribe-off-canvas.d.ts +6 -1
- package/types/caribeng-ui-caribe-onboarding.d.ts +6 -0
- package/types/caribeng-ui-caribe-pictogram.d.ts +4 -1
- package/types/caribeng-ui-caribe-pop-over.d.ts +7 -10
- package/types/caribeng-ui-caribe-preloader.d.ts +4 -1
- package/types/caribeng-ui-caribe-progress-bar.d.ts +3 -0
- package/types/caribeng-ui-caribe-shortcut.d.ts +3 -1
- package/types/caribeng-ui-caribe-step-indicator.d.ts +6 -0
- package/types/caribeng-ui-caribe-stroke.d.ts +4 -1
- package/types/caribeng-ui-caribe-switch.d.ts +3 -1
- package/types/caribeng-ui-caribe-tracker.d.ts +3 -0
- package/types/caribeng-ui-caribe-voucher.d.ts +5 -2
- package/types/caribeng-ui-carousel.d.ts +10 -1
- package/types/caribeng-ui-cascadeselect.d.ts +7 -2
- package/types/caribeng-ui-chart.d.ts +469 -44
- package/types/caribeng-ui-chip.d.ts +6 -0
- package/types/caribeng-ui-chips.d.ts +6 -2
- package/types/caribeng-ui-colorpicker.d.ts +3 -1
- package/types/caribeng-ui-confirmdialog.d.ts +25 -6
- package/types/caribeng-ui-confirmpopup.d.ts +37 -5
- package/types/caribeng-ui-contextmenu.d.ts +4 -1
- package/types/caribeng-ui-dataview.d.ts +63 -5
- package/types/caribeng-ui-datepicker.d.ts +186 -21
- package/types/caribeng-ui-descriptions.d.ts +63 -0
- package/types/caribeng-ui-dialog.d.ts +4 -1
- package/types/caribeng-ui-dock.d.ts +4 -1
- package/types/caribeng-ui-drawer.d.ts +4 -1
- package/types/caribeng-ui-dynamicdialog.d.ts +93 -3
- package/types/caribeng-ui-editor.d.ts +486 -13
- package/types/caribeng-ui-empty.d.ts +34 -0
- package/types/caribeng-ui-file-card.d.ts +1 -1
- package/types/caribeng-ui-fileupload.d.ts +27 -4
- package/types/caribeng-ui-folder-card.d.ts +4 -1
- package/types/caribeng-ui-galleria.d.ts +9 -0
- package/types/caribeng-ui-image.d.ts +10 -0
- package/types/caribeng-ui-inplace.d.ts +8 -0
- package/types/caribeng-ui-input-number.d.ts +3 -1
- package/types/caribeng-ui-inputmask.d.ts +5 -0
- package/types/caribeng-ui-inputotp.d.ts +7 -2
- package/types/caribeng-ui-keyfilter.d.ts +30 -0
- package/types/caribeng-ui-listbox.d.ts +5 -3
- package/types/caribeng-ui-megamenu.d.ts +26 -2
- package/types/caribeng-ui-menu.d.ts +7 -2
- package/types/caribeng-ui-menubar.d.ts +5 -1
- package/types/caribeng-ui-message.d.ts +3 -0
- package/types/caribeng-ui-metergroup.d.ts +9 -1
- package/types/caribeng-ui-multiselect.d.ts +71 -10
- package/types/caribeng-ui-orderlist.d.ts +58 -6
- package/types/caribeng-ui-organizationchart.d.ts +7 -1
- package/types/caribeng-ui-paginator.d.ts +3 -0
- package/types/caribeng-ui-panel.d.ts +3 -0
- package/types/caribeng-ui-panelmenu.d.ts +4 -1
- package/types/caribeng-ui-password.d.ts +4 -2
- package/types/caribeng-ui-pdfviewer.d.ts +258 -0
- package/types/caribeng-ui-picklist.d.ts +67 -7
- package/types/caribeng-ui-pricing.d.ts +8 -5
- package/types/caribeng-ui-rating.d.ts +6 -2
- package/types/caribeng-ui-repeater.d.ts +79 -0
- package/types/caribeng-ui-result.d.ts +35 -0
- package/types/caribeng-ui-scrollpanel.d.ts +4 -1
- package/types/caribeng-ui-scrolltop.d.ts +4 -1
- package/types/caribeng-ui-select.d.ts +73 -9
- package/types/caribeng-ui-slider.d.ts +63 -10
- package/types/caribeng-ui-speeddial.d.ts +5 -2
- package/types/caribeng-ui-spinner.d.ts +3 -0
- package/types/caribeng-ui-splitbutton.d.ts +49 -0
- package/types/caribeng-ui-splitter.d.ts +3 -0
- package/types/caribeng-ui-statistic.d.ts +65 -0
- package/types/caribeng-ui-stepper.d.ts +3 -0
- package/types/caribeng-ui-steps.d.ts +4 -1
- package/types/caribeng-ui-table.d.ts +184 -16
- package/types/caribeng-ui-tabmenu.d.ts +4 -1
- package/types/caribeng-ui-terminal.d.ts +10 -0
- package/types/caribeng-ui-themetoggle.d.ts +32 -0
- package/types/caribeng-ui-tieredmenu.d.ts +5 -2
- package/types/caribeng-ui-timeline.d.ts +63 -4
- package/types/caribeng-ui-toast.d.ts +3 -0
- package/types/caribeng-ui-togglebutton.d.ts +5 -3
- package/types/caribeng-ui-toolbar.d.ts +7 -4
- package/types/caribeng-ui-tree.d.ts +76 -4
- package/types/caribeng-ui-treeselect.d.ts +10 -2
- package/types/caribeng-ui-treetable.d.ts +68 -4
- package/types/caribeng-ui-virtualscroller.d.ts +45 -5
- package/types/caribeng-ui.d.ts +501 -12
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Empty de CaribeNG: estado vacío con icono o imagen, mensaje y acciones
|
|
6
|
+
* opcionales (proyectadas). Úsalo cuando una lista, búsqueda o tabla no tiene
|
|
7
|
+
* datos.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <cb-empty title="Aún no tienes movimientos" description="Cuando hagas tu primera compra aparecerá aquí.">
|
|
12
|
+
* <cb-button size="sm">Hacer una transferencia</cb-button>
|
|
13
|
+
* </cb-empty>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
declare class CbEmpty {
|
|
17
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
18
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
19
|
+
/** Mensaje principal. Por defecto, "Sin datos" del idioma activo. */
|
|
20
|
+
readonly title: _angular_core.InputSignal<string | undefined>;
|
|
21
|
+
/** Texto de apoyo opcional. */
|
|
22
|
+
readonly description: _angular_core.InputSignal<string>;
|
|
23
|
+
/** Icono (se ignora si hay `image`). */
|
|
24
|
+
readonly icon: _angular_core.InputSignal<string>;
|
|
25
|
+
/** Ilustración opcional (decorativa). */
|
|
26
|
+
readonly image: _angular_core.InputSignal<string>;
|
|
27
|
+
/** `sm` para tablas, listas y paneles pequeños. */
|
|
28
|
+
readonly size: _angular_core.InputSignal<"sm" | "md">;
|
|
29
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbEmpty, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbEmpty, "cb-empty", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { CbEmpty };
|
|
34
|
+
//# sourceMappingURL=caribeng-ui-empty.d.ts.map
|
|
@@ -24,7 +24,7 @@ declare class CbFileCard {
|
|
|
24
24
|
readonly value: _angular_core.InputSignal<string>;
|
|
25
25
|
/** Valor secundario a la derecha (p. ej. "26.4 GB"). */
|
|
26
26
|
readonly valueSub: _angular_core.InputSignal<string>;
|
|
27
|
-
/** Fondo tintado derivado del color (
|
|
27
|
+
/** Fondo tintado derivado del color (cualquier color CSS: hex, rgb(), var(--…)). */
|
|
28
28
|
protected tintBg(): string | null;
|
|
29
29
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbFileCard, never>;
|
|
30
30
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbFileCard, "cb-file-card", never, { "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "valueSub": { "alias": "valueSub"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -1,22 +1,42 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { cbFormat } from '@caribeng/ui';
|
|
2
4
|
|
|
3
5
|
interface CbFileUploadEvent {
|
|
4
6
|
files: File[];
|
|
5
7
|
}
|
|
8
|
+
/** Archivos descartados al elegirlos o soltarlos, con el motivo. */
|
|
9
|
+
interface CbFileRejectEvent {
|
|
10
|
+
files: {
|
|
11
|
+
file: File;
|
|
12
|
+
reason: 'size' | 'type';
|
|
13
|
+
}[];
|
|
14
|
+
}
|
|
6
15
|
/**
|
|
7
16
|
* FileUpload de CaribeNG: selector de archivos con arrastrar y soltar,
|
|
8
17
|
* validación de tamaño máximo y lista de archivos seleccionados.
|
|
9
18
|
*/
|
|
10
19
|
declare class CbFileUpload {
|
|
20
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
21
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
22
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
23
|
+
protected readonly fmt: typeof cbFormat;
|
|
11
24
|
readonly accept: _angular_core.InputSignal<string>;
|
|
12
25
|
readonly multiple: _angular_core.InputSignal<boolean>;
|
|
13
26
|
readonly maxFileSize: _angular_core.InputSignal<number | null>;
|
|
14
27
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
15
|
-
readonly chooseLabel: _angular_core.InputSignal<string>;
|
|
16
|
-
readonly uploadLabel: _angular_core.InputSignal<string>;
|
|
28
|
+
readonly chooseLabel: _angular_core.InputSignal<string | undefined>;
|
|
29
|
+
readonly uploadLabel: _angular_core.InputSignal<string | undefined>;
|
|
17
30
|
readonly selectFiles: _angular_core.OutputEmitterRef<CbFileUploadEvent>;
|
|
18
31
|
readonly uploadHandler: _angular_core.OutputEmitterRef<CbFileUploadEvent>;
|
|
32
|
+
/** Se emite con los archivos descartados por tamaño (`maxFileSize`) o tipo (`accept`). */
|
|
33
|
+
readonly rejectFiles: _angular_core.OutputEmitterRef<CbFileRejectEvent>;
|
|
19
34
|
readonly files: _angular_core.WritableSignal<File[]>;
|
|
35
|
+
/** Archivos descartados en la última selección (se muestran como aviso). */
|
|
36
|
+
protected readonly rejected: _angular_core.WritableSignal<{
|
|
37
|
+
file: File;
|
|
38
|
+
reason: "size" | "type";
|
|
39
|
+
}[]>;
|
|
20
40
|
readonly dragging: _angular_core.WritableSignal<boolean>;
|
|
21
41
|
private readonly fileInputRef;
|
|
22
42
|
openPicker(): void;
|
|
@@ -24,15 +44,18 @@ declare class CbFileUpload {
|
|
|
24
44
|
protected onDragOver(event: DragEvent): void;
|
|
25
45
|
protected onDragLeave(event: DragEvent): void;
|
|
26
46
|
protected onDrop(event: DragEvent): void;
|
|
47
|
+
/** Añade archivos validando `accept` y `maxFileSize`; ignora los repetidos. */
|
|
27
48
|
addFiles(incoming: File[]): void;
|
|
28
49
|
removeAt(index: number): void;
|
|
29
50
|
clear(): void;
|
|
30
51
|
triggerUpload(): void;
|
|
31
52
|
protected formatSize(bytes: number): string;
|
|
53
|
+
/** Comprueba `accept` (extensiones `.pdf`, tipos `image/png` o comodines `image/*`). */
|
|
54
|
+
private isAccepted;
|
|
32
55
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbFileUpload, never>;
|
|
33
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbFileUpload, "cb-file-upload", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "chooseLabel": { "alias": "chooseLabel"; "required": false; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": false; "isSignal": true; }; }, { "selectFiles": "selectFiles"; "uploadHandler": "uploadHandler"; }, never, never, true, never>;
|
|
56
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbFileUpload, "cb-file-upload", never, { "accept": { "alias": "accept"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "chooseLabel": { "alias": "chooseLabel"; "required": false; "isSignal": true; }; "uploadLabel": { "alias": "uploadLabel"; "required": false; "isSignal": true; }; }, { "selectFiles": "selectFiles"; "uploadHandler": "uploadHandler"; "rejectFiles": "rejectFiles"; }, never, never, true, never>;
|
|
34
57
|
}
|
|
35
58
|
|
|
36
59
|
export { CbFileUpload };
|
|
37
|
-
export type { CbFileUploadEvent };
|
|
60
|
+
export type { CbFileRejectEvent, CbFileUploadEvent };
|
|
38
61
|
//# sourceMappingURL=caribeng-ui-fileupload.d.ts.map
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Tarjeta de carpeta de CaribeNG: icono de carpeta, nombre y una fila con
|
|
@@ -12,12 +13,14 @@ import * as _angular_core from '@angular/core';
|
|
|
12
13
|
* ```
|
|
13
14
|
*/
|
|
14
15
|
declare class CbFolderCard {
|
|
16
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
17
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
15
18
|
/** Nombre de la carpeta. */
|
|
16
19
|
readonly name: _angular_core.InputSignal<string>;
|
|
17
20
|
/** Número de archivos (texto o número). */
|
|
18
21
|
readonly files: _angular_core.InputSignal<string | number>;
|
|
19
22
|
/** Etiqueta tras el número de archivos. */
|
|
20
|
-
readonly filesLabel: _angular_core.InputSignal<string>;
|
|
23
|
+
readonly filesLabel: _angular_core.InputSignal<string | undefined>;
|
|
21
24
|
/** Tamaño mostrado a la derecha. */
|
|
22
25
|
readonly size: _angular_core.InputSignal<string>;
|
|
23
26
|
/** Color del icono de carpeta. */
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { cbFormat } from '@caribeng/ui';
|
|
2
4
|
|
|
3
5
|
interface CbGalleriaItem {
|
|
4
6
|
itemImageSrc: string;
|
|
@@ -11,13 +13,20 @@ interface CbGalleriaItem {
|
|
|
11
13
|
* barra de miniaturas seleccionables.
|
|
12
14
|
*/
|
|
13
15
|
declare class CbGalleria {
|
|
16
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
17
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
18
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
19
|
+
protected readonly fmt: typeof cbFormat;
|
|
14
20
|
readonly value: _angular_core.InputSignal<CbGalleriaItem[]>;
|
|
15
21
|
readonly showThumbnails: _angular_core.InputSignal<boolean>;
|
|
16
22
|
readonly circular: _angular_core.InputSignal<boolean>;
|
|
17
23
|
readonly activeIndex: _angular_core.ModelSignal<number>;
|
|
24
|
+
private readonly host;
|
|
18
25
|
protected readonly activeItem: _angular_core.Signal<CbGalleriaItem | null>;
|
|
19
26
|
prev(): void;
|
|
20
27
|
next(): void;
|
|
28
|
+
/** Miniaturas (patrón *tabs*): flechas, Inicio y Fin cambian de imagen y mueven el foco. */
|
|
29
|
+
protected onThumbKeydown(event: KeyboardEvent): void;
|
|
21
30
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbGalleria, never>;
|
|
22
31
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbGalleria, "cb-galleria", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "showThumbnails": { "alias": "showThumbnails"; "required": false; "isSignal": true; }; "circular": { "alias": "circular"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; }, { "activeIndex": "activeIndexChange"; }, never, never, true, never>;
|
|
23
32
|
}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { cbFormat } from '@caribeng/ui';
|
|
2
4
|
|
|
3
5
|
/**
|
|
4
6
|
* Image de CaribeNG: imagen con previsualización lightbox accesible y controles
|
|
5
7
|
* de zoom/rotación.
|
|
6
8
|
*/
|
|
7
9
|
declare class CbImage {
|
|
10
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
11
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
12
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
13
|
+
protected readonly fmt: typeof cbFormat;
|
|
8
14
|
readonly src: _angular_core.InputSignal<string>;
|
|
9
15
|
readonly alt: _angular_core.InputSignal<string>;
|
|
10
16
|
readonly width: _angular_core.InputSignal<string>;
|
|
11
17
|
readonly height: _angular_core.InputSignal<string>;
|
|
12
18
|
readonly preview: _angular_core.InputSignal<boolean>;
|
|
13
19
|
private readonly lightboxEl;
|
|
20
|
+
private readonly overlayBtn;
|
|
21
|
+
private readonly closeBtn;
|
|
22
|
+
private readonly injector;
|
|
14
23
|
readonly lightboxOpen: _angular_core.WritableSignal<boolean>;
|
|
15
24
|
readonly scale: _angular_core.WritableSignal<number>;
|
|
16
25
|
readonly rotation: _angular_core.WritableSignal<number>;
|
|
@@ -19,6 +28,7 @@ declare class CbImage {
|
|
|
19
28
|
/** Transform combinado (rotación + escala + volteo) de la imagen. */
|
|
20
29
|
readonly transform: _angular_core.Signal<string>;
|
|
21
30
|
openPreview(): void;
|
|
31
|
+
/** Cierra la previsualización y devuelve el foco al botón que la abrió. */
|
|
22
32
|
closePreview(): void;
|
|
23
33
|
zoomIn(): void;
|
|
24
34
|
zoomOut(): void;
|
|
@@ -1,15 +1,23 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* Inplace de CaribeNG: alterna entre una vista previa (`[cb-inplace-display]`)
|
|
5
6
|
* y el contenido editable o completo (`[cb-inplace-content]`) al hacer clic.
|
|
6
7
|
*/
|
|
7
8
|
declare class CbInplace {
|
|
9
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
10
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
8
11
|
readonly closable: _angular_core.InputSignal<boolean>;
|
|
9
12
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
10
13
|
readonly active: _angular_core.ModelSignal<boolean>;
|
|
14
|
+
private readonly host;
|
|
15
|
+
private readonly injector;
|
|
16
|
+
/** Muestra el contenido y mueve el foco a su primer elemento enfocable. */
|
|
11
17
|
open(): void;
|
|
18
|
+
/** Vuelve a la vista previa y devuelve el foco a ella. */
|
|
12
19
|
close(): void;
|
|
20
|
+
private focusAfterRender;
|
|
13
21
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbInplace, never>;
|
|
14
22
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbInplace, "cb-inplace", never, { "closable": { "alias": "closable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; }, never, ["[cb-inplace-display]", "[cb-inplace-content]"], true, never>;
|
|
15
23
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
1
2
|
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
import { CbSize, CbRequiredIndicator } from '@caribeng/ui';
|
|
3
|
-
import * as _angular_core from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
|
|
6
6
|
/**
|
|
@@ -15,6 +15,8 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
17
|
declare class CbInputNumber implements ControlValueAccessor {
|
|
18
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
19
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
18
20
|
/** Valor numérico (two-way opcional fuera de Angular Forms). */
|
|
19
21
|
readonly value: _angular_core.ModelSignal<number | null>;
|
|
20
22
|
readonly label: _angular_core.InputSignal<string>;
|
|
@@ -30,6 +30,11 @@ declare class CbInputMask implements ControlValueAccessor {
|
|
|
30
30
|
setDisabledState(isDisabled: boolean): void;
|
|
31
31
|
protected onInput(event: Event): void;
|
|
32
32
|
protected onBlur(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Aplica la máscara. Los literales (`-`, `(`, espacios…) se escriben solo
|
|
35
|
+
* cuando llega el carácter siguiente: así un literal inicial aparece y
|
|
36
|
+
* Backspace puede borrar el último literal sin que vuelva a añadirse.
|
|
37
|
+
*/
|
|
33
38
|
private applyMask;
|
|
34
39
|
private matchesToken;
|
|
35
40
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbInputMask, never>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { cbFormat } from '@caribeng/ui';
|
|
3
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
5
|
|
|
5
6
|
/**
|
|
@@ -7,6 +8,10 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
7
8
|
* con avance automático de foco, pegado desde portapapeles e integración CVA.
|
|
8
9
|
*/
|
|
9
10
|
declare class CbInputOtp implements ControlValueAccessor {
|
|
11
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
12
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
13
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
14
|
+
protected readonly fmt: typeof cbFormat;
|
|
10
15
|
private readonly hostRef;
|
|
11
16
|
readonly length: _angular_core.InputSignal<number>;
|
|
12
17
|
readonly integerOnly: _angular_core.InputSignal<boolean>;
|
|
@@ -16,7 +21,7 @@ declare class CbInputOtp implements ControlValueAccessor {
|
|
|
16
21
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
17
22
|
/** Estado de validación: inputs manuales + estado de Angular Forms. */
|
|
18
23
|
protected readonly fieldState: _caribeng_ui.CbFieldState;
|
|
19
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
24
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
20
25
|
readonly value: _angular_core.ModelSignal<string>;
|
|
21
26
|
private readonly cvaDisabled;
|
|
22
27
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
|
|
3
|
+
/** Filtros predefinidos (como el KeyFilter de PrimeNG). */
|
|
4
|
+
type CbKeyFilterPreset = 'int' | 'pint' | 'num' | 'pnum' | 'money' | 'alpha' | 'alphanum' | 'hex' | 'email';
|
|
5
|
+
/**
|
|
6
|
+
* KeyFilter de CaribeNG: limita los caracteres que se pueden escribir en un
|
|
7
|
+
* `input` o `textarea`. Usa el evento `beforeinput`, así filtra lo tecleado,
|
|
8
|
+
* lo pegado y lo autocompletado (no solo las teclas).
|
|
9
|
+
*
|
|
10
|
+
* Solo restringe la entrada: valida el formato final con Validators en el formulario.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <input cbKeyFilter="pint" inputmode="numeric" aria-label="Número de cédula" />
|
|
15
|
+
* <input [cbKeyFilter]="/[A-Z0-9]/" aria-label="Placa" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare class CbKeyFilter {
|
|
19
|
+
/** Filtro predefinido o expresión que debe cumplir cada carácter. */
|
|
20
|
+
readonly cbKeyFilter: i0.InputSignal<RegExp | CbKeyFilterPreset>;
|
|
21
|
+
/** ¿Se acepta este texto? (cada carácter debe cumplir el filtro). */
|
|
22
|
+
allows(text: string): boolean;
|
|
23
|
+
protected onBeforeInput(e: Event): void;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CbKeyFilter, never>;
|
|
25
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CbKeyFilter, "input[cbKeyFilter], textarea[cbKeyFilter]", never, { "cbKeyFilter": { "alias": "cbKeyFilter"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { CbKeyFilter };
|
|
29
|
+
export type { CbKeyFilterPreset };
|
|
30
|
+
//# sourceMappingURL=caribeng-ui-keyfilter.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -14,14 +14,16 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
14
14
|
* ```
|
|
15
15
|
*/
|
|
16
16
|
declare class CbListBox implements ControlValueAccessor {
|
|
17
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
18
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
17
19
|
readonly options: _angular_core.InputSignal<readonly unknown[]>;
|
|
18
20
|
readonly optionLabel: _angular_core.InputSignal<string>;
|
|
19
21
|
readonly optionValue: _angular_core.InputSignal<string | null>;
|
|
20
22
|
readonly optionDisabled: _angular_core.InputSignal<string>;
|
|
21
23
|
readonly multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
22
24
|
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
23
|
-
readonly filterPlaceholder: _angular_core.InputSignal<string>;
|
|
24
|
-
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
25
|
+
readonly filterPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
26
|
+
readonly emptyMessage: _angular_core.InputSignal<string | undefined>;
|
|
25
27
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
28
|
/** Marca visual y ARIA de estado inválido (también se activa con Angular Forms). */
|
|
27
29
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
interface CbMegaMenuLink {
|
|
4
5
|
label: string;
|
|
@@ -15,17 +16,40 @@ interface CbMegaMenuItem {
|
|
|
15
16
|
icon?: string;
|
|
16
17
|
groups: readonly CbMegaMenuGroup[];
|
|
17
18
|
}
|
|
18
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Menú de categorías con paneles de varias columnas (patrón *disclosure
|
|
21
|
+
* navigation* de WAI-ARIA). Teclado: ←/→ entre categorías, ↓ abre el panel y
|
|
22
|
+
* entra al primer enlace, ↑/↓ recorre los enlaces y Escape cierra devolviendo
|
|
23
|
+
* el foco a la categoría.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```html
|
|
27
|
+
* <cb-megamenu [items]="categorias" (itemSelect)="navegar($event)" />
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
19
30
|
declare class CbMegaMenu {
|
|
31
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
20
32
|
private readonly host;
|
|
33
|
+
private readonly injector;
|
|
34
|
+
protected readonly panelId: string;
|
|
35
|
+
/** Categorías con sus grupos de enlaces. */
|
|
21
36
|
readonly items: _angular_core.InputSignal<readonly CbMegaMenuItem[]>;
|
|
22
|
-
|
|
37
|
+
/** Nombre accesible de la navegación. Por defecto, "Categorías" del idioma activo. */
|
|
38
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
39
|
+
/** Se emite al elegir un enlace. */
|
|
23
40
|
readonly itemSelect: _angular_core.OutputEmitterRef<CbMegaMenuLink>;
|
|
24
41
|
protected readonly openIndex: _angular_core.WritableSignal<number | null>;
|
|
25
42
|
toggle(index: number): void;
|
|
26
43
|
select(link: CbMegaMenuLink): void;
|
|
27
44
|
close(): void;
|
|
28
45
|
onDocumentClick(event: MouseEvent): void;
|
|
46
|
+
/** Al salir el foco del componente (p. ej. con Tab), se cierra el panel. */
|
|
47
|
+
onFocusOut(event: FocusEvent): void;
|
|
48
|
+
protected onTriggerKeydown(event: KeyboardEvent, index: number): void;
|
|
49
|
+
protected onPanelKeydown(event: KeyboardEvent): void;
|
|
50
|
+
/** Enlaces navegables del panel abierto, en orden de lectura. */
|
|
51
|
+
private links;
|
|
52
|
+
private focusTrigger;
|
|
29
53
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbMegaMenu, never>;
|
|
30
54
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMegaMenu, "cb-megamenu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, never, never, true, never>;
|
|
31
55
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
interface CbMenuItem {
|
|
4
5
|
label: string;
|
|
@@ -10,12 +11,16 @@ interface CbMenuItem {
|
|
|
10
11
|
}
|
|
11
12
|
/** Popup menu anchored to any trigger element. */
|
|
12
13
|
declare class CbMenu {
|
|
14
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
15
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
13
16
|
private readonly overlay;
|
|
14
17
|
private readonly vcr;
|
|
15
18
|
private readonly destroyRef;
|
|
16
19
|
readonly items: _angular_core.InputSignal<readonly CbMenuItem[]>;
|
|
17
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
20
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
18
21
|
readonly itemSelect: _angular_core.OutputEmitterRef<CbMenuItem>;
|
|
22
|
+
/** Se emite al cerrarse el menú (clic fuera, Escape o al elegir una opción). */
|
|
23
|
+
readonly hidden: _angular_core.OutputEmitterRef<void>;
|
|
19
24
|
private readonly content;
|
|
20
25
|
private overlayRef;
|
|
21
26
|
private trigger;
|
|
@@ -29,7 +34,7 @@ declare class CbMenu {
|
|
|
29
34
|
onPanelClick(event: MouseEvent): void;
|
|
30
35
|
private onKeydown;
|
|
31
36
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbMenu, never>;
|
|
32
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMenu, "cb-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, never, never, true, never>;
|
|
37
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMenu, "cb-menu", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; "hidden": "hidden"; }, never, never, true, never>;
|
|
33
38
|
}
|
|
34
39
|
|
|
35
40
|
export { CbMenu };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
interface CbMenubarItem {
|
|
4
5
|
label: string;
|
|
@@ -10,9 +11,12 @@ interface CbMenubarItem {
|
|
|
10
11
|
}
|
|
11
12
|
/** Horizontal navigation bar with optional one-level dropdown menus. */
|
|
12
13
|
declare class CbMenubar {
|
|
14
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
15
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
13
16
|
private readonly host;
|
|
17
|
+
private readonly injector;
|
|
14
18
|
readonly items: _angular_core.InputSignal<readonly CbMenubarItem[]>;
|
|
15
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
19
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
16
20
|
readonly itemSelect: _angular_core.OutputEmitterRef<CbMenubarItem>;
|
|
17
21
|
protected readonly openIndex: _angular_core.WritableSignal<number | null>;
|
|
18
22
|
toggle(index: number): void;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
import { CbSeverity } from '@caribeng/ui';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -11,6 +12,8 @@ import { CbSeverity } from '@caribeng/ui';
|
|
|
11
12
|
* ```
|
|
12
13
|
*/
|
|
13
14
|
declare class CbMessage {
|
|
15
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
16
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
14
17
|
readonly severity: _angular_core.InputSignal<CbSeverity>;
|
|
15
18
|
/** Muestra el botón de cerrar. */
|
|
16
19
|
readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
@@ -12,11 +12,19 @@ interface CbMeterItem {
|
|
|
12
12
|
declare class CbMeterGroup {
|
|
13
13
|
readonly values: _angular_core.InputSignal<CbMeterItem[]>;
|
|
14
14
|
readonly max: _angular_core.InputSignal<number>;
|
|
15
|
+
/** Nombre accesible del medidor (p. ej. "Almacenamiento"). */
|
|
16
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
17
|
+
/** Suma de los valores (valor actual del `role="meter"`). */
|
|
18
|
+
protected readonly total: _angular_core.Signal<number>;
|
|
19
|
+
/** Desglose legible para el lector de pantalla ("Apps 16 %, Fotos 8 %"). */
|
|
20
|
+
protected readonly valueText: _angular_core.Signal<string>;
|
|
15
21
|
private readonly palette;
|
|
16
22
|
protected percent(val: number): number;
|
|
23
|
+
/** Porcentaje respecto a `max`, redondeado a un decimal. */
|
|
24
|
+
protected format(val: number): number;
|
|
17
25
|
protected defaultColor(idx: number): string;
|
|
18
26
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbMeterGroup, never>;
|
|
19
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMeterGroup, "cb-meter-group", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
27
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMeterGroup, "cb-meter-group", never, { "values": { "alias": "values"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
20
28
|
}
|
|
21
29
|
|
|
22
30
|
export { CbMeterGroup };
|
|
@@ -1,33 +1,72 @@
|
|
|
1
|
-
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
|
-
import { CbSize } from '@caribeng/ui';
|
|
3
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { cbFormat, CbSize } from '@caribeng/ui';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import { ConnectedPosition } from '@angular/cdk/overlay';
|
|
6
6
|
|
|
7
|
+
/** Opción con su posición en la lista filtrada (la que usan teclado y `aria-activedescendant`). */
|
|
8
|
+
interface IndexedOption {
|
|
9
|
+
opt: unknown;
|
|
10
|
+
index: number;
|
|
11
|
+
}
|
|
12
|
+
/** Grupo de opciones ya filtrado; `label` es `null` cuando no se agrupa. */
|
|
13
|
+
interface OptionGroup {
|
|
14
|
+
label: string | null;
|
|
15
|
+
options: IndexedOption[];
|
|
16
|
+
}
|
|
17
|
+
/** Fila del modo virtual: cabecera de grupo u opción, todas de la misma altura. */
|
|
18
|
+
type VirtualRow = {
|
|
19
|
+
kind: 'group';
|
|
20
|
+
label: string;
|
|
21
|
+
key: string;
|
|
22
|
+
} | ({
|
|
23
|
+
kind: 'option';
|
|
24
|
+
} & IndexedOption);
|
|
7
25
|
/**
|
|
8
26
|
* Selección múltiple (multiselect) de CaribeNG. Listbox accesible sobre CDK
|
|
9
|
-
* Overlay con casillas, filtro
|
|
10
|
-
*
|
|
27
|
+
* Overlay con casillas, filtro, seleccionar-todo, grupos, búsqueda al teclear
|
|
28
|
+
* y scroll virtual. Integrado con Angular Forms vía `ControlValueAccessor`;
|
|
29
|
+
* el modelo es un array de valores.
|
|
11
30
|
*
|
|
12
31
|
* @example
|
|
13
32
|
* ```html
|
|
14
33
|
* <cb-multiselect [options]="ciudades" optionLabel="nombre" optionValue="id"
|
|
15
34
|
* formControlName="ciudades" placeholder="Elige ciudades" />
|
|
35
|
+
*
|
|
36
|
+
* <!-- Agrupado: [{ label: 'Colombia', items: [...] }, …] -->
|
|
37
|
+
* <cb-multiselect [options]="paises" group filter />
|
|
16
38
|
* ```
|
|
17
39
|
*/
|
|
18
40
|
declare class CbMultiSelect implements ControlValueAccessor {
|
|
41
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
42
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
43
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
44
|
+
protected readonly fmt: typeof cbFormat;
|
|
45
|
+
private readonly injector;
|
|
19
46
|
readonly options: _angular_core.InputSignal<readonly unknown[]>;
|
|
20
47
|
readonly optionLabel: _angular_core.InputSignal<string>;
|
|
21
48
|
readonly optionValue: _angular_core.InputSignal<string | null>;
|
|
22
49
|
readonly optionDisabled: _angular_core.InputSignal<string>;
|
|
23
|
-
|
|
50
|
+
/** Las opciones son grupos (`{ label, items }`): se muestran con su título. */
|
|
51
|
+
readonly group: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
52
|
+
/** Propiedad con el título de cada grupo. */
|
|
53
|
+
readonly optionGroupLabel: _angular_core.InputSignal<string>;
|
|
54
|
+
/** Propiedad con las opciones de cada grupo. */
|
|
55
|
+
readonly optionGroupChildren: _angular_core.InputSignal<string>;
|
|
56
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
24
57
|
readonly size: _angular_core.InputSignal<CbSize>;
|
|
25
58
|
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
|
-
readonly filterPlaceholder: _angular_core.InputSignal<string>;
|
|
27
|
-
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
59
|
+
readonly filterPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
60
|
+
readonly emptyMessage: _angular_core.InputSignal<string | undefined>;
|
|
28
61
|
readonly showToggleAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
29
62
|
/** Nº máx. de etiquetas antes de mostrar "N seleccionados". */
|
|
30
63
|
readonly maxSelectedLabels: _angular_core.InputSignal<number>;
|
|
64
|
+
/** Alto máximo de la lista (CSS). En modo virtual es su alto fijo. */
|
|
65
|
+
readonly scrollHeight: _angular_core.InputSignal<string>;
|
|
66
|
+
/** Pinta solo las opciones visibles: para listas de miles de elementos. */
|
|
67
|
+
readonly virtualScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
68
|
+
/** Alto fijo de cada fila en modo virtual (px). */
|
|
69
|
+
readonly virtualScrollItemSize: _angular_core.InputSignal<number>;
|
|
31
70
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
32
71
|
/** Estado de validación: inputs manuales + estado de Angular Forms. */
|
|
33
72
|
protected readonly fieldState: _caribeng_ui.CbFieldState;
|
|
@@ -42,16 +81,30 @@ declare class CbMultiSelect implements ControlValueAccessor {
|
|
|
42
81
|
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
43
82
|
protected readonly filterText: _angular_core.WritableSignal<string>;
|
|
44
83
|
protected readonly triggerWidth: _angular_core.WritableSignal<number>;
|
|
84
|
+
protected readonly scrollTop: _angular_core.WritableSignal<number>;
|
|
45
85
|
private readonly cvaDisabled;
|
|
46
86
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
47
87
|
protected readonly listboxId: string;
|
|
48
88
|
private readonly triggerRef;
|
|
49
89
|
private readonly filterInputRef;
|
|
90
|
+
private readonly viewportRef;
|
|
50
91
|
protected readonly positions: ConnectedPosition[];
|
|
51
|
-
|
|
92
|
+
private typeahead;
|
|
93
|
+
private typeaheadTimer;
|
|
94
|
+
/** Todas las opciones (aplanando los grupos). */
|
|
95
|
+
protected readonly flatOptions: _angular_core.Signal<readonly unknown[]>;
|
|
96
|
+
protected readonly filteredGroups: _angular_core.Signal<OptionGroup[]>;
|
|
97
|
+
protected readonly filteredOptions: _angular_core.Signal<unknown[]>;
|
|
98
|
+
/** Filas del modo virtual (cabeceras de grupo + opciones). */
|
|
99
|
+
protected readonly virtualRows: _angular_core.Signal<VirtualRow[]>;
|
|
100
|
+
protected readonly viewportHeight: _angular_core.Signal<number>;
|
|
101
|
+
private readonly windowStart;
|
|
102
|
+
protected readonly windowOffset: _angular_core.Signal<number>;
|
|
103
|
+
protected readonly visibleRows: _angular_core.Signal<VirtualRow[]>;
|
|
52
104
|
protected readonly selected: _angular_core.Signal<unknown[]>;
|
|
53
105
|
protected readonly displayLabel: _angular_core.Signal<string>;
|
|
54
106
|
protected readonly allSelected: _angular_core.Signal<boolean>;
|
|
107
|
+
protected readonly activeDescendant: _angular_core.Signal<string | null>;
|
|
55
108
|
constructor();
|
|
56
109
|
private onChange;
|
|
57
110
|
private onTouched;
|
|
@@ -73,12 +126,20 @@ declare class CbMultiSelect implements ControlValueAccessor {
|
|
|
73
126
|
protected isOptionDisabled(opt: unknown): boolean;
|
|
74
127
|
protected isSelected(opt: unknown): boolean;
|
|
75
128
|
protected optionId(index: number): string;
|
|
76
|
-
protected
|
|
129
|
+
protected groupId(index: number): string;
|
|
130
|
+
private groupLabelOf;
|
|
131
|
+
private childrenOf;
|
|
132
|
+
private toggleActive;
|
|
133
|
+
/** Cambia la opción activa y la desplaza a la vista. */
|
|
134
|
+
private setActive;
|
|
77
135
|
private firstEnabledIndex;
|
|
136
|
+
private lastEnabledIndex;
|
|
78
137
|
private move;
|
|
138
|
+
/** Teclear salta a la siguiente opción que empieza por lo escrito (se reinicia tras 500 ms). */
|
|
139
|
+
private searchByTyping;
|
|
79
140
|
private commit;
|
|
80
141
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbMultiSelect, never>;
|
|
81
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMultiSelect, "cb-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
142
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbMultiSelect, "cb-multiselect", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "showToggleAll": { "alias": "showToggleAll"; "required": false; "isSignal": true; }; "maxSelectedLabels": { "alias": "maxSelectedLabels"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
82
143
|
}
|
|
83
144
|
|
|
84
145
|
export { CbMultiSelect };
|