@caribeng/ui 22.1.1 → 22.4.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 +134 -12
- package/fesm2022/caribeng-ui-accordion.mjs +4 -4
- package/fesm2022/caribeng-ui-anchor.mjs +169 -0
- package/fesm2022/caribeng-ui-autocomplete.mjs +10 -8
- package/fesm2022/caribeng-ui-avatar.mjs +2 -2
- package/fesm2022/caribeng-ui-avatargroup.mjs +9 -3
- package/fesm2022/caribeng-ui-badge.mjs +8 -2
- package/fesm2022/caribeng-ui-blockui.mjs +12 -4
- package/fesm2022/caribeng-ui-breadcrumb.mjs +17 -7
- 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 +2601 -303
- package/fesm2022/caribeng-ui-chat.mjs +1303 -0
- package/fesm2022/caribeng-ui-chip.mjs +9 -4
- package/fesm2022/caribeng-ui-chips.mjs +9 -5
- package/fesm2022/caribeng-ui-code-block.mjs +332 -0
- package/fesm2022/caribeng-ui-colorpicker.mjs +107 -11
- package/fesm2022/caribeng-ui-command-palette.mjs +476 -0
- package/fesm2022/caribeng-ui-confirmdialog.mjs +140 -10
- package/fesm2022/caribeng-ui-confirmpopup.mjs +209 -9
- package/fesm2022/caribeng-ui-contextmenu.mjs +13 -6
- package/fesm2022/caribeng-ui-copy-button.mjs +230 -0
- package/fesm2022/caribeng-ui-dataview.mjs +214 -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 +58 -15
- package/fesm2022/caribeng-ui-drawer.mjs +17 -9
- package/fesm2022/caribeng-ui-dynamicdialog.mjs +210 -6
- package/fesm2022/caribeng-ui-editor.mjs +4413 -243
- package/fesm2022/caribeng-ui-empty.mjs +80 -0
- package/fesm2022/caribeng-ui-fieldset.mjs +2 -2
- package/fesm2022/caribeng-ui-file-card.mjs +136 -19
- package/fesm2022/caribeng-ui-fileupload.mjs +96 -19
- package/fesm2022/caribeng-ui-floatlabel.mjs +4 -2
- package/fesm2022/caribeng-ui-folder-card.mjs +132 -15
- package/fesm2022/caribeng-ui-galleria.mjs +76 -45
- package/fesm2022/caribeng-ui-image.mjs +52 -29
- package/fesm2022/caribeng-ui-inlinemessage.mjs +2 -2
- 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 +22 -13
- package/fesm2022/caribeng-ui-inputotp.mjs +12 -6
- package/fesm2022/caribeng-ui-kanban.mjs +4612 -0
- package/fesm2022/caribeng-ui-kbd.mjs +122 -0
- package/fesm2022/caribeng-ui-keyfilter.mjs +72 -0
- package/fesm2022/caribeng-ui-listbox.mjs +13 -11
- package/fesm2022/caribeng-ui-megamenu.mjs +228 -32
- package/fesm2022/caribeng-ui-mentions.mjs +495 -0
- package/fesm2022/caribeng-ui-menu.mjs +18 -8
- package/fesm2022/caribeng-ui-menubar.mjs +17 -8
- package/fesm2022/caribeng-ui-message.mjs +13 -7
- 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 +16 -15
- package/fesm2022/caribeng-ui-paginator.mjs +18 -15
- package/fesm2022/caribeng-ui-panel.mjs +11 -8
- package/fesm2022/caribeng-ui-panelmenu.mjs +14 -8
- package/fesm2022/caribeng-ui-password.mjs +8 -6
- package/fesm2022/caribeng-ui-pdfviewer.mjs +1553 -0
- package/fesm2022/caribeng-ui-phone-input.mjs +688 -0
- package/fesm2022/caribeng-ui-picklist.mjs +251 -14
- package/fesm2022/caribeng-ui-pricing.mjs +272 -75
- package/fesm2022/caribeng-ui-qrcode.mjs +564 -0
- 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-ripple.mjs +2 -0
- package/fesm2022/caribeng-ui-scrollpanel.mjs +6 -3
- package/fesm2022/caribeng-ui-scrolltop.mjs +9 -4
- package/fesm2022/caribeng-ui-select.mjs +379 -87
- package/fesm2022/caribeng-ui-selectbutton.mjs +2 -2
- package/fesm2022/caribeng-ui-sidebar.mjs +573 -0
- 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 +17 -7
- package/fesm2022/caribeng-ui-steps.mjs +6 -3
- package/fesm2022/caribeng-ui-table.mjs +716 -84
- package/fesm2022/caribeng-ui-tabmenu.mjs +13 -6
- 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 +113 -20
- 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 +1216 -6
- package/package.json +93 -3
- package/schematics/collection.json +15 -0
- package/schematics/migrate-from-primeng/core-icons.json +1 -0
- package/schematics/migrate-from-primeng/icons.js +269 -0
- package/schematics/migrate-from-primeng/index.js +290 -0
- package/schematics/migrate-from-primeng/mappings/button.js +93 -0
- package/schematics/migrate-from-primeng/mappings/card.js +33 -0
- package/schematics/migrate-from-primeng/mappings/checkbox.js +44 -0
- package/schematics/migrate-from-primeng/mappings/confirm.js +221 -0
- package/schematics/migrate-from-primeng/mappings/datepicker.js +121 -0
- package/schematics/migrate-from-primeng/mappings/dialog.js +84 -0
- package/schematics/migrate-from-primeng/mappings/index.js +88 -0
- package/schematics/migrate-from-primeng/mappings/inputnumber.js +62 -0
- package/schematics/migrate-from-primeng/mappings/inputtext.js +60 -0
- package/schematics/migrate-from-primeng/mappings/menu.js +468 -0
- package/schematics/migrate-from-primeng/mappings/multiselect.js +49 -0
- package/schematics/migrate-from-primeng/mappings/radiobutton.js +22 -0
- package/schematics/migrate-from-primeng/mappings/rules.js +206 -0
- package/schematics/migrate-from-primeng/mappings/select.js +97 -0
- package/schematics/migrate-from-primeng/mappings/service-calls.js +100 -0
- package/schematics/migrate-from-primeng/mappings/table.js +613 -0
- package/schematics/migrate-from-primeng/mappings/tabs.js +225 -0
- package/schematics/migrate-from-primeng/mappings/tag.js +29 -0
- package/schematics/migrate-from-primeng/mappings/textarea.js +44 -0
- package/schematics/migrate-from-primeng/mappings/toast.js +173 -0
- package/schematics/migrate-from-primeng/mappings/toggleswitch.js +37 -0
- package/schematics/migrate-from-primeng/mappings/tooltip.js +44 -0
- package/schematics/migrate-from-primeng/mappings/types.js +10 -0
- package/schematics/migrate-from-primeng/report.js +79 -0
- package/schematics/migrate-from-primeng/schema.js +2 -0
- package/schematics/migrate-from-primeng/schema.json +34 -0
- package/schematics/migrate-from-primeng/template.js +387 -0
- package/schematics/migrate-from-primeng/todo.js +5 -0
- package/schematics/migrate-from-primeng/typescript.js +442 -0
- package/schematics/migrate-from-primeng/workspace.js +117 -0
- package/schematics/ng-add/index.js +140 -0
- package/schematics/ng-add/schema.js +2 -0
- package/schematics/ng-add/schema.json +66 -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-badge.d.ts +3 -1
- package/types/caribeng-ui-blockui.d.ts +9 -4
- package/types/caribeng-ui-breadcrumb.d.ts +11 -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 +471 -44
- package/types/caribeng-ui-chat.d.ts +299 -0
- package/types/caribeng-ui-chip.d.ts +6 -0
- package/types/caribeng-ui-chips.d.ts +6 -2
- package/types/caribeng-ui-code-block.d.ts +65 -0
- package/types/caribeng-ui-colorpicker.d.ts +8 -2
- package/types/caribeng-ui-command-palette.d.ts +133 -0
- package/types/caribeng-ui-confirmdialog.d.ts +57 -6
- package/types/caribeng-ui-confirmpopup.d.ts +74 -5
- package/types/caribeng-ui-contextmenu.d.ts +11 -1
- package/types/caribeng-ui-copy-button.d.ts +90 -0
- package/types/caribeng-ui-dataview.d.ts +65 -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 +17 -2
- package/types/caribeng-ui-drawer.d.ts +7 -2
- 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 +28 -3
- package/types/caribeng-ui-fileupload.d.ts +27 -4
- package/types/caribeng-ui-folder-card.d.ts +31 -6
- 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 +8 -1
- package/types/caribeng-ui-inputotp.d.ts +7 -2
- package/types/caribeng-ui-kanban.d.ts +783 -0
- package/types/caribeng-ui-kbd.d.ts +36 -0
- 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 +37 -2
- package/types/caribeng-ui-mentions.d.ts +127 -0
- package/types/caribeng-ui-menu.d.ts +14 -2
- package/types/caribeng-ui-menubar.d.ts +12 -1
- package/types/caribeng-ui-message.d.ts +5 -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 +11 -1
- package/types/caribeng-ui-password.d.ts +4 -2
- package/types/caribeng-ui-pdfviewer.d.ts +258 -0
- package/types/caribeng-ui-phone-input.d.ts +168 -0
- package/types/caribeng-ui-picklist.d.ts +67 -7
- package/types/caribeng-ui-pricing.d.ts +49 -9
- package/types/caribeng-ui-qrcode.d.ts +88 -0
- 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-sidebar.d.ts +167 -0
- 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 +5 -0
- package/types/caribeng-ui-steps.d.ts +4 -1
- package/types/caribeng-ui-table.d.ts +185 -17
- package/types/caribeng-ui-tabmenu.d.ts +11 -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 +22 -3
- 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 +775 -12
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
2
3
|
|
|
3
4
|
/** Ciclo de facturación del selector de precios. */
|
|
4
5
|
type CbPricingBilling = 'monthly' | 'annual';
|
|
5
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Disposición de los planes:
|
|
8
|
+
* - `grid`: tarjetas que se reparten en varias filas según el ancho.
|
|
9
|
+
* - `horizontal`: todas las tarjetas en una sola fila (con scroll si no caben),
|
|
10
|
+
* selector de facturación a la derecha del título y precio anual expresado por mes.
|
|
11
|
+
* - `list`: cada plan es una fila (cabecera, características y CTA).
|
|
12
|
+
*/
|
|
13
|
+
type CbPricingLayout = 'grid' | 'horizontal' | 'list';
|
|
14
|
+
/** Una característica de un plan. Puede ser texto o un objeto con estado e icono. */
|
|
6
15
|
type CbPricingFeature = string | {
|
|
7
16
|
label: string;
|
|
8
17
|
included?: boolean;
|
|
18
|
+
icon?: string;
|
|
9
19
|
};
|
|
10
20
|
/** Definición de un plan de precios. */
|
|
11
21
|
interface CbPricingPlan {
|
|
@@ -25,6 +35,8 @@ interface CbPricingPlan {
|
|
|
25
35
|
features?: CbPricingFeature[];
|
|
26
36
|
/** Resalta el plan (destacado). */
|
|
27
37
|
featured?: boolean;
|
|
38
|
+
/** Etiqueta junto al nombre. En el plan destacado vale "Recomendado" si se omite; `''` la oculta. */
|
|
39
|
+
badge?: string;
|
|
28
40
|
/** Texto del botón (por defecto "Elegir {name}"). */
|
|
29
41
|
ctaLabel?: string;
|
|
30
42
|
}
|
|
@@ -39,34 +51,62 @@ interface CbPricingPlan {
|
|
|
39
51
|
* ```
|
|
40
52
|
*/
|
|
41
53
|
declare class CbPricing {
|
|
54
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
55
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
56
|
+
private readonly host;
|
|
42
57
|
/** Planes a mostrar. */
|
|
43
58
|
readonly plans: _angular_core.InputSignal<readonly CbPricingPlan[]>;
|
|
44
59
|
/** Ciclo activo (two-way). */
|
|
45
60
|
readonly billing: _angular_core.ModelSignal<CbPricingBilling>;
|
|
46
61
|
/** Muestra el selector Mensual/Anual. */
|
|
47
62
|
readonly showToggle: _angular_core.InputSignal<boolean>;
|
|
48
|
-
/** Disposición de los planes
|
|
49
|
-
readonly layout: _angular_core.InputSignal<
|
|
63
|
+
/** Disposición de los planes (ver {@link CbPricingLayout}). */
|
|
64
|
+
readonly layout: _angular_core.InputSignal<CbPricingLayout>;
|
|
50
65
|
/** Título opcional sobre la tabla. */
|
|
51
66
|
readonly title: _angular_core.InputSignal<string>;
|
|
67
|
+
/** Texto de ayuda bajo el título (solo en `horizontal`). */
|
|
68
|
+
readonly subtitle: _angular_core.InputSignal<string>;
|
|
69
|
+
/** Etiqueta junto a la opción anual (p. ej. "25% OFF"; solo en `horizontal`). */
|
|
70
|
+
readonly annualBadge: _angular_core.InputSignal<string>;
|
|
71
|
+
/**
|
|
72
|
+
* Cómo se muestra el precio anual: `total` (importe del año, "/año") o `monthly`
|
|
73
|
+
* (equivalente mensual, "/mes", con el total facturado y el ahorro debajo).
|
|
74
|
+
* Por defecto `monthly` en `horizontal` y `total` en el resto.
|
|
75
|
+
*/
|
|
76
|
+
readonly annualDisplay: _angular_core.InputSignal<"monthly" | "total" | undefined>;
|
|
52
77
|
/** Símbolo de moneda. */
|
|
53
78
|
readonly currency: _angular_core.InputSignal<string>;
|
|
54
79
|
/** Etiquetas configurables. */
|
|
55
|
-
readonly monthlyLabel: _angular_core.InputSignal<string>;
|
|
56
|
-
readonly annualLabel: _angular_core.InputSignal<string>;
|
|
57
|
-
readonly perMonthLabel: _angular_core.InputSignal<string>;
|
|
58
|
-
readonly perYearLabel: _angular_core.InputSignal<string>;
|
|
80
|
+
readonly monthlyLabel: _angular_core.InputSignal<string | undefined>;
|
|
81
|
+
readonly annualLabel: _angular_core.InputSignal<string | undefined>;
|
|
82
|
+
readonly perMonthLabel: _angular_core.InputSignal<string | undefined>;
|
|
83
|
+
readonly perYearLabel: _angular_core.InputSignal<string | undefined>;
|
|
59
84
|
/** Prefijo del CTA cuando el plan no define `ctaLabel`. */
|
|
60
|
-
readonly ctaLabel: _angular_core.InputSignal<string>;
|
|
85
|
+
readonly ctaLabel: _angular_core.InputSignal<string | undefined>;
|
|
61
86
|
/** Emite el plan elegido. */
|
|
62
87
|
readonly planSelect: _angular_core.OutputEmitterRef<CbPricingPlan>;
|
|
88
|
+
protected readonly choices: readonly CbPricingBilling[];
|
|
89
|
+
protected readonly horizontal: _angular_core.Signal<boolean>;
|
|
63
90
|
protected readonly annual: _angular_core.Signal<boolean>;
|
|
91
|
+
private readonly annualMonthly;
|
|
92
|
+
/** El precio visible es mensual (ciclo mensual, o anual expresado por mes). */
|
|
93
|
+
protected readonly perMonthShown: _angular_core.Signal<boolean>;
|
|
94
|
+
private readonly numberFormat;
|
|
95
|
+
protected num(n: number): string;
|
|
96
|
+
private annualOf;
|
|
64
97
|
protected priceOf(p: CbPricingPlan): number;
|
|
65
98
|
protected oldPriceOf(p: CbPricingPlan): number | undefined;
|
|
99
|
+
protected billedOf(p: CbPricingPlan): string;
|
|
100
|
+
protected savingOf(p: CbPricingPlan): number;
|
|
101
|
+
protected savingLabel(p: CbPricingPlan): string;
|
|
102
|
+
protected badgeOf(p: CbPricingPlan): string;
|
|
66
103
|
protected labelOf(f: CbPricingFeature): string;
|
|
67
104
|
protected includedOf(f: CbPricingFeature): boolean;
|
|
105
|
+
protected iconOf(f: CbPricingFeature): string;
|
|
106
|
+
/** Flechas dentro del grupo de opciones de facturación (patrón radiogroup). */
|
|
107
|
+
protected onChoiceKey(event: KeyboardEvent): void;
|
|
68
108
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbPricing, never>;
|
|
69
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbPricing, "cb-pricing", never, { "plans": { "alias": "plans"; "required": false; "isSignal": true; }; "billing": { "alias": "billing"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "monthlyLabel": { "alias": "monthlyLabel"; "required": false; "isSignal": true; }; "annualLabel": { "alias": "annualLabel"; "required": false; "isSignal": true; }; "perMonthLabel": { "alias": "perMonthLabel"; "required": false; "isSignal": true; }; "perYearLabel": { "alias": "perYearLabel"; "required": false; "isSignal": true; }; "ctaLabel": { "alias": "ctaLabel"; "required": false; "isSignal": true; }; }, { "billing": "billingChange"; "planSelect": "planSelect"; }, never, never, true, never>;
|
|
109
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbPricing, "cb-pricing", never, { "plans": { "alias": "plans"; "required": false; "isSignal": true; }; "billing": { "alias": "billing"; "required": false; "isSignal": true; }; "showToggle": { "alias": "showToggle"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "subtitle": { "alias": "subtitle"; "required": false; "isSignal": true; }; "annualBadge": { "alias": "annualBadge"; "required": false; "isSignal": true; }; "annualDisplay": { "alias": "annualDisplay"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "monthlyLabel": { "alias": "monthlyLabel"; "required": false; "isSignal": true; }; "annualLabel": { "alias": "annualLabel"; "required": false; "isSignal": true; }; "perMonthLabel": { "alias": "perMonthLabel"; "required": false; "isSignal": true; }; "perYearLabel": { "alias": "perYearLabel"; "required": false; "isSignal": true; }; "ctaLabel": { "alias": "ctaLabel"; "required": false; "isSignal": true; }; }, { "billing": "billingChange"; "planSelect": "planSelect"; }, never, never, true, never>;
|
|
70
110
|
}
|
|
71
111
|
|
|
72
112
|
export { CbPricing };
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
3
|
+
|
|
4
|
+
/** Nivel de corrección de errores: recupera ~7 % (L), 15 % (M), 25 % (Q) o 30 % (H) del código. */
|
|
5
|
+
type CbQrErrorCorrection = 'L' | 'M' | 'Q' | 'H';
|
|
6
|
+
/** Matriz QR: `modules[y][x]` es `true` en los módulos oscuros. */
|
|
7
|
+
interface CbQrMatrix {
|
|
8
|
+
/** Versión elegida (1–40). */
|
|
9
|
+
readonly version: number;
|
|
10
|
+
/** Módulos por lado (17 + 4 × versión). */
|
|
11
|
+
readonly size: number;
|
|
12
|
+
readonly errorCorrection: CbQrErrorCorrection;
|
|
13
|
+
/** Máscara aplicada (0–7). */
|
|
14
|
+
readonly mask: number;
|
|
15
|
+
readonly modules: readonly (readonly boolean[])[];
|
|
16
|
+
}
|
|
17
|
+
interface CbQrEncodeOptions {
|
|
18
|
+
/** Por defecto `M`. */
|
|
19
|
+
errorCorrection?: CbQrErrorCorrection;
|
|
20
|
+
/** Versión mínima (1–40). Por defecto 1. */
|
|
21
|
+
minVersion?: number;
|
|
22
|
+
}
|
|
23
|
+
/** Codewords de corrección de `data` (resto de la división por el generador). */
|
|
24
|
+
declare function cbQrReedSolomon(data: readonly number[], degree: number): number[];
|
|
25
|
+
/** 15 bits de formato (nivel + máscara), ya con la máscara XOR del estándar. */
|
|
26
|
+
declare function cbQrFormatBits(ec: CbQrErrorCorrection, mask: number): number;
|
|
27
|
+
/**
|
|
28
|
+
* Codifica `text` como matriz QR. Elige el modo más compacto, la versión más
|
|
29
|
+
* pequeña que lo contiene y la máscara con menor penalización.
|
|
30
|
+
*
|
|
31
|
+
* @throws RangeError si el texto no cabe en la versión 40 con ese nivel.
|
|
32
|
+
*/
|
|
33
|
+
declare function cbQrEncode(text: string, options?: CbQrEncodeOptions): CbQrMatrix;
|
|
34
|
+
/** Niveles ordenados de menor a mayor corrección. */
|
|
35
|
+
declare const CB_QR_ERROR_CORRECTION_LEVELS: readonly CbQrErrorCorrection[];
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Código QR de CaribeNG, generado en SVG con un codificador propio (sin
|
|
39
|
+
* dependencias). Elige solo la versión y la máscara; admite color, fondo,
|
|
40
|
+
* margen y un logo centrado.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```html
|
|
44
|
+
* <cb-qrcode value="https://caribeng.dev" [size]="180" />
|
|
45
|
+
* <cb-qrcode [value]="pago" errorCorrection="H" image="assets/logo.svg" />
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
declare class CbQrcode {
|
|
49
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
50
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
51
|
+
/** Texto o URL a codificar. */
|
|
52
|
+
readonly value: _angular_core.InputSignal<string>;
|
|
53
|
+
/** Lado en píxeles. */
|
|
54
|
+
readonly size: _angular_core.InputSignal<number>;
|
|
55
|
+
/** Corrección de errores. Usa `H` si pones un logo encima. */
|
|
56
|
+
readonly errorCorrection: _angular_core.InputSignal<CbQrErrorCorrection>;
|
|
57
|
+
/** Color de los módulos (cualquier color CSS). */
|
|
58
|
+
readonly color: _angular_core.InputSignal<string>;
|
|
59
|
+
/** Color de fondo. Mantén buen contraste con `color` para que se pueda leer. */
|
|
60
|
+
readonly background: _angular_core.InputSignal<string>;
|
|
61
|
+
/** Margen claro alrededor, en módulos (el estándar pide 4). */
|
|
62
|
+
readonly margin: _angular_core.InputSignal<number>;
|
|
63
|
+
/** Logo centrado (URL). Ocupa ~20 % del lado; combínalo con `errorCorrection="H"`. */
|
|
64
|
+
readonly image: _angular_core.InputSignal<string>;
|
|
65
|
+
/** Nombre accesible. Por defecto, "Código QR" del idioma activo. */
|
|
66
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
67
|
+
/** Matriz codificada, o `null` si el valor está vacío o no cabe en un QR. */
|
|
68
|
+
readonly matrix: _angular_core.Signal<CbQrMatrix | null>;
|
|
69
|
+
protected readonly extent: _angular_core.Signal<number>;
|
|
70
|
+
protected readonly viewBox: _angular_core.Signal<string>;
|
|
71
|
+
protected readonly label: _angular_core.Signal<string>;
|
|
72
|
+
/** Módulos oscuros como un único path; une los consecutivos de cada fila. */
|
|
73
|
+
protected readonly path: _angular_core.Signal<string>;
|
|
74
|
+
/** Caja del logo (en módulos), centrada y alineada a la rejilla. */
|
|
75
|
+
protected readonly logo: _angular_core.Signal<{
|
|
76
|
+
box: number;
|
|
77
|
+
pad: number;
|
|
78
|
+
inset: number;
|
|
79
|
+
} | null>;
|
|
80
|
+
/** Marcado SVG del QR, p. ej. para descargarlo (`new Blob([qr.toSvg()], { type: 'image/svg+xml' })`). */
|
|
81
|
+
toSvg(): string;
|
|
82
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbQrcode, never>;
|
|
83
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbQrcode, "cb-qrcode", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "errorCorrection": { "alias": "errorCorrection"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "background": { "alias": "background"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "image": { "alias": "image"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export { CB_QR_ERROR_CORRECTION_LEVELS, CbQrcode, cbQrEncode, cbQrFormatBits, cbQrReedSolomon };
|
|
87
|
+
export type { CbQrEncodeOptions, CbQrErrorCorrection, CbQrMatrix };
|
|
88
|
+
//# sourceMappingURL=caribeng-ui-qrcode.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
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
|
|
|
6
6
|
/**
|
|
@@ -13,6 +13,10 @@ import { ControlValueAccessor } from '@angular/forms';
|
|
|
13
13
|
* ```
|
|
14
14
|
*/
|
|
15
15
|
declare class CbRating implements ControlValueAccessor {
|
|
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;
|
|
16
20
|
/** Valor seleccionado (two-way opcional fuera de Angular Forms). */
|
|
17
21
|
readonly value: _angular_core.ModelSignal<number>;
|
|
18
22
|
/** Número de estrellas. */
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { TemplateRef } from '@angular/core';
|
|
3
|
+
import * as _caribeng_ui from '@caribeng/ui';
|
|
4
|
+
import { cbFormat } from '@caribeng/ui';
|
|
5
|
+
import { AbstractControl, FormArray } from '@angular/forms';
|
|
6
|
+
|
|
7
|
+
interface CbRepeaterItemContext<T extends AbstractControl = any> {
|
|
8
|
+
/** Control del elemento (normalmente un FormGroup). */
|
|
9
|
+
$implicit: T;
|
|
10
|
+
index: number;
|
|
11
|
+
/** Nombre del elemento ("Beneficiario 2"). */
|
|
12
|
+
label: string;
|
|
13
|
+
}
|
|
14
|
+
/** Plantilla de cada elemento: `<ng-template cbRepeaterItem let-grupo let-i="index">`. */
|
|
15
|
+
declare class CbRepeaterItem {
|
|
16
|
+
readonly template: TemplateRef<CbRepeaterItemContext<any>>;
|
|
17
|
+
static ngTemplateContextGuard(_dir: CbRepeaterItem, ctx: unknown): ctx is CbRepeaterItemContext;
|
|
18
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbRepeaterItem, never>;
|
|
19
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbRepeaterItem, "ng-template[cbRepeaterItem]", never, {}, {}, never, never, true, never>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Repeater de CaribeNG: lista repetible de campos sobre un `FormArray`
|
|
23
|
+
* ("Agregar beneficiario"). Cada elemento es un grupo nombrado con su botón de
|
|
24
|
+
* quitar; respeta `min` y `max`, mueve el foco al agregar y quitar, y anuncia
|
|
25
|
+
* los cambios al lector de pantalla.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```html
|
|
29
|
+
* <cb-repeater [formArray]="beneficiarios" [createItem]="nuevoBeneficiario" itemLabel="Beneficiario" [max]="5">
|
|
30
|
+
* <ng-template cbRepeaterItem let-grupo>
|
|
31
|
+
* <ng-container [formGroup]="grupo">
|
|
32
|
+
* <cb-input label="Nombre" formControlName="nombre" />
|
|
33
|
+
* </ng-container>
|
|
34
|
+
* </ng-template>
|
|
35
|
+
* </cb-repeater>
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
declare class CbRepeater {
|
|
39
|
+
/** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
|
|
40
|
+
protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
|
|
41
|
+
/** Rellena `{0}`, `{1}`… de un texto traducido. */
|
|
42
|
+
protected readonly fmt: typeof cbFormat;
|
|
43
|
+
private readonly host;
|
|
44
|
+
private readonly injector;
|
|
45
|
+
protected readonly itemTemplate: _angular_core.Signal<CbRepeaterItem | undefined>;
|
|
46
|
+
/** FormArray con un control por elemento. */
|
|
47
|
+
readonly formArray: _angular_core.InputSignal<FormArray<any>>;
|
|
48
|
+
/** Crea el control de un elemento nuevo (p. ej. `() => fb.group({ nombre: [''] })`). */
|
|
49
|
+
readonly createItem: _angular_core.InputSignal<() => AbstractControl>;
|
|
50
|
+
/** Nombre de cada elemento ("Beneficiario" → "Beneficiario 1", "Beneficiario 2"…). Por defecto, "Elemento" del idioma activo. */
|
|
51
|
+
readonly itemLabel: _angular_core.InputSignal<string | undefined>;
|
|
52
|
+
/** Texto del botón de agregar. Por defecto, "Agregar beneficiario". */
|
|
53
|
+
readonly addLabel: _angular_core.InputSignal<string | undefined>;
|
|
54
|
+
/** Mínimo de elementos (no se puede quitar por debajo). */
|
|
55
|
+
readonly min: _angular_core.InputSignal<number>;
|
|
56
|
+
/** Máximo de elementos (el botón de agregar se deshabilita). */
|
|
57
|
+
readonly max: _angular_core.InputSignal<number>;
|
|
58
|
+
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
59
|
+
readonly itemAdd: _angular_core.OutputEmitterRef<number>;
|
|
60
|
+
readonly itemRemove: _angular_core.OutputEmitterRef<number>;
|
|
61
|
+
/** Controles del FormArray (se actualiza también si el FormArray cambia desde fuera). */
|
|
62
|
+
protected readonly controls: _angular_core.WritableSignal<readonly AbstractControl<any, any, any>[]>;
|
|
63
|
+
protected readonly announcement: _angular_core.WritableSignal<string>;
|
|
64
|
+
protected readonly canAdd: _angular_core.Signal<boolean>;
|
|
65
|
+
protected readonly addText: _angular_core.Signal<string>;
|
|
66
|
+
constructor();
|
|
67
|
+
protected labelFor(index: number): string;
|
|
68
|
+
/** Agrega un elemento al final y lleva el foco a su primer campo. */
|
|
69
|
+
add(): void;
|
|
70
|
+
/** Quita un elemento y deja el foco en el anterior (o en el botón de agregar). */
|
|
71
|
+
remove(index: number): void;
|
|
72
|
+
private focusAfterRender;
|
|
73
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbRepeater, never>;
|
|
74
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbRepeater, "cb-repeater", never, { "formArray": { "alias": "formArray"; "required": true; "isSignal": true; }; "createItem": { "alias": "createItem"; "required": true; "isSignal": true; }; "itemLabel": { "alias": "itemLabel"; "required": false; "isSignal": true; }; "addLabel": { "alias": "addLabel"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "itemAdd": "itemAdd"; "itemRemove": "itemRemove"; }, ["itemTemplate"], never, true, never>;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { CbRepeater, CbRepeaterItem };
|
|
78
|
+
export type { CbRepeaterItemContext };
|
|
79
|
+
//# sourceMappingURL=caribeng-ui-repeater.d.ts.map
|
|
@@ -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 };
|