@caribeng/ui 22.1.1 → 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 +48 -8
- 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 +53 -3
- 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,35 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
|
|
3
|
+
type CbResultStatus = 'success' | 'error' | 'warning' | 'info' | '404' | '403' | '500';
|
|
4
|
+
/**
|
|
5
|
+
* Result de CaribeNG: pantalla de resultado (operación exitosa, error,
|
|
6
|
+
* aviso) o de error HTTP (404, 403, 500) con título, subtítulo, contenido extra
|
|
7
|
+
* y acciones proyectadas.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```html
|
|
11
|
+
* <cb-result status="success" title="Transferencia enviada" subtitle="Comprobante #48213">
|
|
12
|
+
* <cb-button>Volver al inicio</cb-button>
|
|
13
|
+
* </cb-result>
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
declare class CbResult {
|
|
17
|
+
/** Tipo de resultado: define el icono y el color. */
|
|
18
|
+
readonly status: _angular_core.InputSignal<CbResultStatus>;
|
|
19
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
20
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
21
|
+
/** Icono propio (en lugar del del estado). */
|
|
22
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
23
|
+
/** Nivel del encabezado del título (por defecto 2). */
|
|
24
|
+
readonly headingLevel: _angular_core.InputSignal<number>;
|
|
25
|
+
protected readonly isHttp: _angular_core.Signal<boolean>;
|
|
26
|
+
protected readonly defaultIcon: _angular_core.Signal<string>;
|
|
27
|
+
/** Los errores HTTP usan el color neutro; los demás, el de su estado. */
|
|
28
|
+
protected readonly statusClass: _angular_core.Signal<CbResultStatus | "http">;
|
|
29
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbResult, never>;
|
|
30
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbResult, "cb-result", never, { "status": { "alias": "status"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export { CbResult };
|
|
34
|
+
export type { CbResultStatus };
|
|
35
|
+
//# sourceMappingURL=caribeng-ui-result.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
|
* ScrollPanel de CaribeNG: contenedor de desplazamiento con barras estilizadas
|
|
@@ -12,12 +13,14 @@ import * as _angular_core from '@angular/core';
|
|
|
12
13
|
* ```
|
|
13
14
|
*/
|
|
14
15
|
declare class CbScrollPanel {
|
|
16
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
17
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
15
18
|
/** Ancho CSS del contenedor (ej. `'100%'`, `'320px'`). */
|
|
16
19
|
readonly width: _angular_core.InputSignal<string>;
|
|
17
20
|
/** Alto CSS del contenedor (ej. `'200px'`). */
|
|
18
21
|
readonly height: _angular_core.InputSignal<string>;
|
|
19
22
|
/** Etiqueta accesible para la región con scroll. */
|
|
20
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
23
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
21
24
|
private readonly viewportRef;
|
|
22
25
|
/** Desplaza el contenido a la posición indicada. */
|
|
23
26
|
scrollTop(top: 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
|
|
|
3
4
|
type CbScrollTopTarget = 'window' | 'parent';
|
|
4
5
|
/**
|
|
@@ -16,6 +17,8 @@ type CbScrollTopTarget = 'window' | 'parent';
|
|
|
16
17
|
* ```
|
|
17
18
|
*/
|
|
18
19
|
declare class CbScrollTop {
|
|
20
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
21
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
19
22
|
private readonly doc;
|
|
20
23
|
private readonly hostRef;
|
|
21
24
|
private readonly destroyRef;
|
|
@@ -28,7 +31,7 @@ declare class CbScrollTop {
|
|
|
28
31
|
/** Nombre del icono de `<cb-icon>`. */
|
|
29
32
|
readonly icon: _angular_core.InputSignal<string>;
|
|
30
33
|
/** Etiqueta accesible para el botón. */
|
|
31
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
34
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
32
35
|
readonly visible: _angular_core.WritableSignal<boolean>;
|
|
33
36
|
private cleanupFn;
|
|
34
37
|
constructor();
|
|
@@ -1,30 +1,72 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
1
2
|
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
import { CbSize } from '@caribeng/ui';
|
|
3
|
-
import * as _angular_core from '@angular/core';
|
|
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
|
* Select (dropdown) de CaribeNG. Listbox accesible sobre CDK Overlay con
|
|
9
|
-
* navegación por teclado,
|
|
27
|
+
* navegación por teclado, búsqueda al teclear, filtro opcional, grupos,
|
|
28
|
+
* scroll virtual para listas grandes e integración con Angular Forms
|
|
10
29
|
* mediante `ControlValueAccessor`.
|
|
11
30
|
*
|
|
12
31
|
* @example
|
|
13
32
|
* ```html
|
|
14
33
|
* <cb-select [options]="ciudades" optionLabel="nombre" optionValue="id"
|
|
15
|
-
* formControlName="ciudad" placeholder="Elige una ciudad" />
|
|
34
|
+
* formControlName="ciudad" placeholder="Elige una ciudad" showClear />
|
|
35
|
+
*
|
|
36
|
+
* <!-- Agrupado: [{ label: 'Colombia', items: [...] }, …] -->
|
|
37
|
+
* <cb-select [options]="paises" group optionLabel="nombre" />
|
|
38
|
+
*
|
|
39
|
+
* <!-- 10 000 opciones -->
|
|
40
|
+
* <cb-select [options]="clientes" virtualScroll [virtualScrollItemSize]="36" filter />
|
|
16
41
|
* ```
|
|
17
42
|
*/
|
|
18
43
|
declare class CbSelect implements ControlValueAccessor {
|
|
44
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
45
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
46
|
+
private readonly injector;
|
|
19
47
|
readonly options: _angular_core.InputSignal<readonly unknown[]>;
|
|
20
48
|
readonly optionLabel: _angular_core.InputSignal<string>;
|
|
21
49
|
readonly optionValue: _angular_core.InputSignal<string | null>;
|
|
22
50
|
readonly optionDisabled: _angular_core.InputSignal<string>;
|
|
23
|
-
|
|
51
|
+
/** Las opciones son grupos (`{ label, items }`): se muestran con su título. */
|
|
52
|
+
readonly group: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
53
|
+
/** Propiedad con el título de cada grupo. */
|
|
54
|
+
readonly optionGroupLabel: _angular_core.InputSignal<string>;
|
|
55
|
+
/** Propiedad con las opciones de cada grupo. */
|
|
56
|
+
readonly optionGroupChildren: _angular_core.InputSignal<string>;
|
|
57
|
+
readonly placeholder: _angular_core.InputSignal<string | undefined>;
|
|
24
58
|
readonly size: _angular_core.InputSignal<CbSize>;
|
|
25
59
|
readonly filter: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
26
|
-
readonly filterPlaceholder: _angular_core.InputSignal<string>;
|
|
27
|
-
readonly emptyMessage: _angular_core.InputSignal<string>;
|
|
60
|
+
readonly filterPlaceholder: _angular_core.InputSignal<string | undefined>;
|
|
61
|
+
readonly emptyMessage: _angular_core.InputSignal<string | undefined>;
|
|
62
|
+
/** Muestra un botón para vaciar la selección. */
|
|
63
|
+
readonly showClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
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>;
|
|
28
70
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
29
71
|
/** Estado de validación: inputs manuales + estado de Angular Forms. */
|
|
30
72
|
protected readonly fieldState: _caribeng_ui.CbFieldState;
|
|
@@ -40,15 +82,29 @@ declare class CbSelect implements ControlValueAccessor {
|
|
|
40
82
|
protected readonly activeIndex: _angular_core.WritableSignal<number>;
|
|
41
83
|
protected readonly filterText: _angular_core.WritableSignal<string>;
|
|
42
84
|
protected readonly triggerWidth: _angular_core.WritableSignal<number>;
|
|
85
|
+
protected readonly scrollTop: _angular_core.WritableSignal<number>;
|
|
43
86
|
private readonly cvaDisabled;
|
|
44
87
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
45
88
|
protected readonly listboxId: string;
|
|
46
89
|
private readonly triggerRef;
|
|
47
90
|
private readonly filterInputRef;
|
|
91
|
+
private readonly viewportRef;
|
|
48
92
|
protected readonly positions: ConnectedPosition[];
|
|
49
|
-
|
|
93
|
+
private typeahead;
|
|
94
|
+
private typeaheadTimer;
|
|
95
|
+
/** Todas las opciones (aplanando los grupos). */
|
|
96
|
+
protected readonly flatOptions: _angular_core.Signal<readonly unknown[]>;
|
|
97
|
+
protected readonly filteredGroups: _angular_core.Signal<OptionGroup[]>;
|
|
98
|
+
protected readonly filteredOptions: _angular_core.Signal<unknown[]>;
|
|
99
|
+
/** Filas del modo virtual (cabeceras de grupo + opciones). */
|
|
100
|
+
protected readonly virtualRows: _angular_core.Signal<VirtualRow[]>;
|
|
101
|
+
protected readonly viewportHeight: _angular_core.Signal<number>;
|
|
102
|
+
private readonly windowStart;
|
|
103
|
+
protected readonly windowOffset: _angular_core.Signal<number>;
|
|
104
|
+
protected readonly visibleRows: _angular_core.Signal<VirtualRow[]>;
|
|
50
105
|
protected readonly selectedOption: _angular_core.Signal<{} | null>;
|
|
51
106
|
protected readonly displayLabel: _angular_core.Signal<string>;
|
|
107
|
+
protected readonly canClear: _angular_core.Signal<boolean>;
|
|
52
108
|
protected readonly activeDescendant: _angular_core.Signal<string | null>;
|
|
53
109
|
constructor();
|
|
54
110
|
private onChange;
|
|
@@ -61,6 +117,8 @@ declare class CbSelect implements ControlValueAccessor {
|
|
|
61
117
|
protected openPanel(): void;
|
|
62
118
|
protected close(): void;
|
|
63
119
|
protected selectOption(opt: unknown): void;
|
|
120
|
+
/** Vacía la selección (botón de `showClear`) y devuelve el foco al disparador. */
|
|
121
|
+
clear(): void;
|
|
64
122
|
protected onBlur(): void;
|
|
65
123
|
protected onFilter(event: Event): void;
|
|
66
124
|
protected onOverlayKeydown(event: KeyboardEvent): void;
|
|
@@ -70,14 +128,20 @@ declare class CbSelect implements ControlValueAccessor {
|
|
|
70
128
|
protected isOptionDisabled(opt: unknown): boolean;
|
|
71
129
|
protected isSelected(opt: unknown): boolean;
|
|
72
130
|
protected optionId(index: number): string;
|
|
73
|
-
protected
|
|
131
|
+
protected groupId(index: number): string;
|
|
132
|
+
private groupLabelOf;
|
|
133
|
+
private childrenOf;
|
|
134
|
+
/** Cambia la opción activa y la desplaza a la vista. */
|
|
135
|
+
private setActive;
|
|
74
136
|
private move;
|
|
137
|
+
/** Teclear salta a la siguiente opción que empieza por lo escrito (se reinicia tras 500 ms). */
|
|
138
|
+
private searchByTyping;
|
|
75
139
|
private selectActive;
|
|
76
140
|
private firstEnabledIndex;
|
|
77
141
|
private lastEnabledIndex;
|
|
78
142
|
private ensureActiveVisible;
|
|
79
143
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbSelect, never>;
|
|
80
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbSelect, "cb-select", 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; }; "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>;
|
|
144
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbSelect, "cb-select", 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; }; "showClear": { "alias": "showClear"; "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>;
|
|
81
145
|
}
|
|
82
146
|
|
|
83
147
|
export { CbSelect };
|
|
@@ -1,50 +1,103 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
1
2
|
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
import { CbSize } from '@caribeng/ui';
|
|
3
|
-
import * as _angular_core from '@angular/core';
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
|
|
6
|
+
/** Rango del slider: `[mínimo, máximo]`. */
|
|
7
|
+
type CbSliderRange = readonly [number, number];
|
|
8
|
+
/** Formato del valor: opciones de `Intl.NumberFormat` o una función propia. */
|
|
9
|
+
type CbSliderValueFormat = Intl.NumberFormatOptions | ((value: number) => string);
|
|
6
10
|
/**
|
|
7
11
|
* Control deslizante (slider) de CaribeNG, integrado con Angular Forms vía
|
|
8
|
-
* `ControlValueAccessor`. Soporta arrastre con puntero y
|
|
12
|
+
* `ControlValueAccessor`. Soporta arrastre con puntero, teclado y un modo de
|
|
13
|
+
* rango con dos tiradores (patrón WAI-ARIA *multi-thumb slider*).
|
|
14
|
+
*
|
|
15
|
+
* - Un valor: `[(value)]` (número).
|
|
16
|
+
* - Rango: `range` + `[(rangeValue)]` (`[mínimo, máximo]`). Con Angular Forms,
|
|
17
|
+
* el control recibe el número o el par según el modo.
|
|
9
18
|
*
|
|
10
19
|
* @example
|
|
11
20
|
* ```html
|
|
12
|
-
* <cb-slider formControlName="volumen" [min]="0" [max]="100" [step]="5" />
|
|
21
|
+
* <cb-slider formControlName="volumen" [min]="0" [max]="100" [step]="5" ariaLabel="Volumen" />
|
|
22
|
+
* <cb-slider range [(rangeValue)]="precio" [min]="0" [max]="2000000" [step]="50000"
|
|
23
|
+
* [valueFormat]="{ style: 'currency', currency: 'COP', maximumFractionDigits: 0 }" showValue ariaLabel="Precio" />
|
|
13
24
|
* ```
|
|
14
25
|
*/
|
|
15
26
|
declare class CbSlider implements ControlValueAccessor {
|
|
27
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
28
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
29
|
+
/** Valor en modo de un tirador. */
|
|
16
30
|
readonly value: _angular_core.ModelSignal<number>;
|
|
31
|
+
/** Valor en modo `range`: `[mínimo, máximo]`. */
|
|
32
|
+
readonly rangeValue: _angular_core.ModelSignal<CbSliderRange>;
|
|
17
33
|
readonly min: _angular_core.InputSignal<number>;
|
|
18
34
|
readonly max: _angular_core.InputSignal<number>;
|
|
19
35
|
readonly step: _angular_core.InputSignal<number>;
|
|
20
36
|
readonly size: _angular_core.InputSignal<CbSize>;
|
|
37
|
+
/** Dos tiradores para elegir un rango (`[(rangeValue)]`). */
|
|
38
|
+
readonly range: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
39
|
+
/** Muestra el valor encima de cada tirador. */
|
|
40
|
+
readonly showValue: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
41
|
+
/** Formato del valor (texto visible y `aria-valuetext`). */
|
|
42
|
+
readonly valueFormat: _angular_core.InputSignal<CbSliderValueFormat | undefined>;
|
|
43
|
+
/** Locale BCP 47 del formato (por defecto, el del navegador). */
|
|
44
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
21
45
|
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
22
46
|
/** Marca visual y ARIA de estado inválido (también se activa con Angular Forms). */
|
|
23
47
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
24
48
|
/** Estado de validación: inputs manuales + estado de Angular Forms. */
|
|
25
49
|
protected readonly fieldState: _caribeng_ui.CbFieldState;
|
|
50
|
+
/** Nombre accesible; en modo rango se completa con "Mínimo" / "Máximo". */
|
|
26
51
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
27
52
|
readonly inputId: _angular_core.InputSignal<string>;
|
|
53
|
+
/** Valor nuevo (número o rango) cada vez que cambia. */
|
|
28
54
|
readonly changed: _angular_core.OutputEmitterRef<number>;
|
|
55
|
+
readonly rangeChanged: _angular_core.OutputEmitterRef<CbSliderRange>;
|
|
29
56
|
private readonly track;
|
|
30
|
-
|
|
57
|
+
/** Tirador que se arrastra o se movió por última vez (0 = mínimo, 1 = máximo). */
|
|
58
|
+
protected readonly activeThumb: _angular_core.WritableSignal<0 | 1>;
|
|
31
59
|
private readonly cvaDisabled;
|
|
32
60
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
33
|
-
|
|
61
|
+
private readonly formatter;
|
|
62
|
+
protected readonly lowPercent: _angular_core.Signal<number>;
|
|
63
|
+
protected readonly highPercent: _angular_core.Signal<number>;
|
|
64
|
+
/** Datos de cada tirador: en rango, los límites de uno dependen del otro (no se cruzan). */
|
|
65
|
+
protected readonly thumbs: _angular_core.Signal<({
|
|
66
|
+
index: 0;
|
|
67
|
+
value: number;
|
|
68
|
+
min: number;
|
|
69
|
+
max: number;
|
|
70
|
+
percent: number;
|
|
71
|
+
text: string;
|
|
72
|
+
label: string;
|
|
73
|
+
} | {
|
|
74
|
+
index: 1;
|
|
75
|
+
value: number;
|
|
76
|
+
min: number;
|
|
77
|
+
max: number;
|
|
78
|
+
percent: number;
|
|
79
|
+
text: string;
|
|
80
|
+
label: string;
|
|
81
|
+
})[]>;
|
|
34
82
|
private onChange;
|
|
35
83
|
protected onTouched: () => void;
|
|
36
|
-
writeValue(value: number | null): void;
|
|
37
|
-
registerOnChange(fn: (value: number) => void): void;
|
|
84
|
+
writeValue(value: number | CbSliderRange | null): void;
|
|
85
|
+
registerOnChange(fn: (value: number | CbSliderRange) => void): void;
|
|
38
86
|
registerOnTouched(fn: () => void): void;
|
|
39
87
|
setDisabledState(isDisabled: boolean): void;
|
|
40
88
|
protected onPointerDown(event: PointerEvent): void;
|
|
89
|
+
private valueAtClientX;
|
|
90
|
+
private nearestThumb;
|
|
41
91
|
private updateFromClientX;
|
|
42
|
-
protected onKeydown(event: KeyboardEvent): void;
|
|
92
|
+
protected onKeydown(event: KeyboardEvent, thumb: 0 | 1): void;
|
|
93
|
+
private percentOf;
|
|
43
94
|
private clampSnap;
|
|
44
|
-
|
|
95
|
+
/** Mueve un tirador sin cruzar el otro y avisa del cambio. */
|
|
96
|
+
private setThumb;
|
|
45
97
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbSlider, never>;
|
|
46
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbSlider, "cb-slider", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "changed": "changed"; }, never, never, true, never>;
|
|
98
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbSlider, "cb-slider", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "rangeValue": { "alias": "rangeValue"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "rangeValue": "rangeValueChange"; "changed": "changed"; "rangeChanged": "rangeChanged"; }, never, never, true, never>;
|
|
47
99
|
}
|
|
48
100
|
|
|
49
101
|
export { CbSlider };
|
|
102
|
+
export type { CbSliderRange, CbSliderValueFormat };
|
|
50
103
|
//# sourceMappingURL=caribeng-ui-slider.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
|
type CbSpeedDialDirection = 'up' | 'down' | 'left' | 'right';
|
|
4
5
|
interface CbSpeedDialItem {
|
|
@@ -7,12 +8,14 @@ interface CbSpeedDialItem {
|
|
|
7
8
|
disabled?: boolean;
|
|
8
9
|
}
|
|
9
10
|
declare class CbSpeedDial {
|
|
11
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
12
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
10
13
|
readonly items: _angular_core.InputSignal<readonly CbSpeedDialItem[]>;
|
|
11
14
|
readonly direction: _angular_core.InputSignal<CbSpeedDialDirection>;
|
|
12
15
|
readonly icon: _angular_core.InputSignal<string>;
|
|
13
16
|
readonly closeIcon: _angular_core.InputSignal<string>;
|
|
14
|
-
readonly openLabel: _angular_core.InputSignal<string>;
|
|
15
|
-
readonly closeLabel: _angular_core.InputSignal<string>;
|
|
17
|
+
readonly openLabel: _angular_core.InputSignal<string | undefined>;
|
|
18
|
+
readonly closeLabel: _angular_core.InputSignal<string | undefined>;
|
|
16
19
|
readonly open: _angular_core.ModelSignal<boolean>;
|
|
17
20
|
readonly itemSelect: _angular_core.OutputEmitterRef<CbSpeedDialItem>;
|
|
18
21
|
protected select(item: CbSpeedDialItem): 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 CbSpinner {
|
|
15
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
16
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
14
17
|
/** Tamaño en píxeles. */
|
|
15
18
|
readonly size: _angular_core.InputSignal<number>;
|
|
16
19
|
/** Grosor del trazo. */
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
import { CbSeverity, CbSize } from '@caribeng/ui';
|
|
4
|
+
import { CbButtonVariant } from '@caribeng/ui/button';
|
|
5
|
+
import { CbMenuItem } from '@caribeng/ui/menu';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* SplitButton de CaribeNG: una acción principal y un menú con acciones
|
|
9
|
+
* secundarias ("Guardar ▾"). La flecha abre el menú (también con Flecha abajo)
|
|
10
|
+
* y anuncia `aria-haspopup="menu"` / `aria-expanded`.
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```html
|
|
14
|
+
* <cb-split-button label="Guardar" icon="check" [items]="masOpciones"
|
|
15
|
+
* (primaryClick)="guardar()" (itemSelect)="onOpcion($event)" />
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
declare class CbSplitButton {
|
|
19
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
20
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
21
|
+
private readonly host;
|
|
22
|
+
private readonly menu;
|
|
23
|
+
/** Texto de la acción principal (también nombra el grupo). */
|
|
24
|
+
readonly label: _angular_core.InputSignal<string>;
|
|
25
|
+
/** Icono de la acción principal. */
|
|
26
|
+
readonly icon: _angular_core.InputSignal<string | undefined>;
|
|
27
|
+
/** Acciones secundarias del menú. */
|
|
28
|
+
readonly items: _angular_core.InputSignal<readonly CbMenuItem[]>;
|
|
29
|
+
readonly severity: _angular_core.InputSignal<CbSeverity>;
|
|
30
|
+
readonly variant: _angular_core.InputSignal<CbButtonVariant>;
|
|
31
|
+
readonly size: _angular_core.InputSignal<CbSize>;
|
|
32
|
+
readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
33
|
+
readonly loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
34
|
+
/** Nombre del botón de la flecha y del menú. Por defecto, "Más acciones" del idioma activo. */
|
|
35
|
+
readonly menuAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
36
|
+
/** Clic en la acción principal. */
|
|
37
|
+
readonly primaryClick: _angular_core.OutputEmitterRef<MouseEvent>;
|
|
38
|
+
/** Acción secundaria elegida en el menú. */
|
|
39
|
+
readonly itemSelect: _angular_core.OutputEmitterRef<CbMenuItem>;
|
|
40
|
+
protected readonly open: _angular_core.WritableSignal<boolean>;
|
|
41
|
+
/** Abre o cierra el menú anclado (y devuelve el foco) al botón real de la flecha. */
|
|
42
|
+
toggleMenu(): void;
|
|
43
|
+
protected openFromKeyboard(event: Event): void;
|
|
44
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbSplitButton, never>;
|
|
45
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbSplitButton, "cb-split-button", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "items": { "alias": "items"; "required": false; "isSignal": true; }; "severity": { "alias": "severity"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "menuAriaLabel": { "alias": "menuAriaLabel"; "required": false; "isSignal": true; }; }, { "primaryClick": "primaryClick"; "itemSelect": "itemSelect"; }, never, ["*"], true, never>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export { CbSplitButton };
|
|
49
|
+
//# sourceMappingURL=caribeng-ui-splitbutton.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
|
type CbSplitterLayout = 'horizontal' | 'vertical';
|
|
4
5
|
interface CbSplitterResizeEndEvent {
|
|
@@ -17,6 +18,8 @@ interface CbSplitterResizeEndEvent {
|
|
|
17
18
|
* ```
|
|
18
19
|
*/
|
|
19
20
|
declare class CbSplitter {
|
|
21
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
22
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
20
23
|
protected readonly Math: Math;
|
|
21
24
|
private readonly hostRef;
|
|
22
25
|
/** Orientación de la división: `'horizontal'` (lado a lado) o `'vertical'` (apilados). */
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
|
|
4
|
+
/** Tendencia de una cifra: sube o baja. */
|
|
5
|
+
type CbStatisticTrend = 'up' | 'down';
|
|
6
|
+
/**
|
|
7
|
+
* Statistic de CaribeNG: cifra destacada para dashboards, con título, prefijo,
|
|
8
|
+
* sufijo, formato con `Intl.NumberFormat` y tendencia opcional.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```html
|
|
12
|
+
* <cb-statistic title="Saldo disponible" [value]="12450000" locale="es-CO"
|
|
13
|
+
* [format]="{ style: 'currency', currency: 'COP', maximumFractionDigits: 0 }" />
|
|
14
|
+
* <cb-statistic title="Gastos del mes" [value]="8.4" suffix="%" trend="down" trendLabel="vs. septiembre" />
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
declare class CbStatistic {
|
|
18
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
19
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
20
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
21
|
+
readonly value: _angular_core.InputSignal<string | number | null>;
|
|
22
|
+
readonly prefix: _angular_core.InputSignal<string>;
|
|
23
|
+
readonly suffix: _angular_core.InputSignal<string>;
|
|
24
|
+
/** Opciones de `Intl.NumberFormat` (moneda, porcentaje, decimales…). */
|
|
25
|
+
readonly format: _angular_core.InputSignal<Intl.NumberFormatOptions | undefined>;
|
|
26
|
+
/** Locale BCP 47 del formato (por defecto, el del navegador). */
|
|
27
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
28
|
+
/** Tendencia: añade flecha, color y el texto "aumenta" / "disminuye". */
|
|
29
|
+
readonly trend: _angular_core.InputSignal<CbStatisticTrend | null>;
|
|
30
|
+
/** Texto junto a la tendencia (p. ej. "+12 % vs. septiembre"). */
|
|
31
|
+
readonly trendLabel: _angular_core.InputSignal<string>;
|
|
32
|
+
protected readonly formatted: _angular_core.Signal<string>;
|
|
33
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbStatistic, never>;
|
|
34
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbStatistic, "cb-statistic", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; "suffix": { "alias": "suffix"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "trend": { "alias": "trend"; "required": false; "isSignal": true; }; "trendLabel": { "alias": "trendLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Countdown de CaribeNG: cuenta regresiva hasta una fecha (vencimientos,
|
|
38
|
+
* códigos OTP, ofertas). Emite `finished` al llegar a cero.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```html
|
|
42
|
+
* <cb-countdown title="Tu código vence en" [target]="vence" (finished)="pedirOtro()" />
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare class CbCountdown {
|
|
46
|
+
readonly title: _angular_core.InputSignal<string>;
|
|
47
|
+
/** Momento final (fecha o milisegundos desde 1970). */
|
|
48
|
+
readonly target: _angular_core.InputSignal<number | Date>;
|
|
49
|
+
/** Mostrar los días aunque sean 0. Por defecto solo cuando quedan días. */
|
|
50
|
+
readonly showDays: _angular_core.InputSignal<boolean>;
|
|
51
|
+
/** Se emite una vez al llegar a cero. */
|
|
52
|
+
readonly finished: _angular_core.OutputEmitterRef<void>;
|
|
53
|
+
private readonly now;
|
|
54
|
+
private finishedFor;
|
|
55
|
+
/** Milisegundos restantes (nunca negativos). */
|
|
56
|
+
protected readonly remaining: _angular_core.Signal<number>;
|
|
57
|
+
protected readonly display: _angular_core.Signal<string>;
|
|
58
|
+
constructor();
|
|
59
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbCountdown, never>;
|
|
60
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbCountdown, "cb-countdown", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "target": { "alias": "target"; "required": true; "isSignal": true; }; "showDays": { "alias": "showDays"; "required": false; "isSignal": true; }; }, { "finished": "finished"; }, never, never, true, never>;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export { CbCountdown, CbStatistic };
|
|
64
|
+
export type { CbStatisticTrend };
|
|
65
|
+
//# sourceMappingURL=caribeng-ui-statistic.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
|
* Stepper de CaribeNG: asistente por pasos. Coloca varios `<cb-step>` dentro de
|
|
@@ -14,6 +15,8 @@ import * as _angular_core from '@angular/core';
|
|
|
14
15
|
* ```
|
|
15
16
|
*/
|
|
16
17
|
declare class CbStepper {
|
|
18
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
19
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
17
20
|
readonly steps: _angular_core.Signal<readonly CbStep[]>;
|
|
18
21
|
/** Muestra los botones Atrás/Siguiente integrados. */
|
|
19
22
|
readonly showNav: _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 CbStepItem {
|
|
4
5
|
label: string;
|
|
@@ -7,9 +8,11 @@ interface CbStepItem {
|
|
|
7
8
|
}
|
|
8
9
|
/** Clickable progress navigation for a multi-step flow. */
|
|
9
10
|
declare class CbSteps {
|
|
11
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
12
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
10
13
|
readonly steps: _angular_core.InputSignal<readonly CbStepItem[]>;
|
|
11
14
|
readonly activeIndex: _angular_core.ModelSignal<number>;
|
|
12
|
-
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
15
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
13
16
|
readonly activeChange: _angular_core.OutputEmitterRef<number>;
|
|
14
17
|
select(index: number): void;
|
|
15
18
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbSteps, never>;
|