@caribeng/ui 22.1.0 → 22.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/README.md +52 -12
  2. package/fesm2022/caribeng-ui-accordion.mjs +2 -2
  3. package/fesm2022/caribeng-ui-anchor.mjs +169 -0
  4. package/fesm2022/caribeng-ui-autocomplete.mjs +10 -8
  5. package/fesm2022/caribeng-ui-avatargroup.mjs +9 -3
  6. package/fesm2022/caribeng-ui-blockui.mjs +12 -4
  7. package/fesm2022/caribeng-ui-breadcrumb.mjs +5 -2
  8. package/fesm2022/caribeng-ui-button.mjs +22 -2
  9. package/fesm2022/caribeng-ui-caribe-alert.mjs +5 -2
  10. package/fesm2022/caribeng-ui-caribe-animation-lottie.mjs +6 -3
  11. package/fesm2022/caribeng-ui-caribe-button-group.mjs +6 -3
  12. package/fesm2022/caribeng-ui-caribe-calendar.mjs +11 -6
  13. package/fesm2022/caribeng-ui-caribe-card-content.mjs +6 -3
  14. package/fesm2022/caribeng-ui-caribe-card-move.mjs +29 -7
  15. package/fesm2022/caribeng-ui-caribe-card-select.mjs +56 -14
  16. package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +10 -7
  17. package/fesm2022/caribeng-ui-caribe-coachmark.mjs +42 -19
  18. package/fesm2022/caribeng-ui-caribe-data-table.mjs +15 -9
  19. package/fesm2022/caribeng-ui-caribe-dots-indicator.mjs +38 -5
  20. package/fesm2022/caribeng-ui-caribe-expansion-panel.mjs +16 -5
  21. package/fesm2022/caribeng-ui-caribe-fab-menu.mjs +56 -7
  22. package/fesm2022/caribeng-ui-caribe-file-download.mjs +68 -27
  23. package/fesm2022/caribeng-ui-caribe-file-select.mjs +22 -17
  24. package/fesm2022/caribeng-ui-caribe-float-menu.mjs +6 -3
  25. package/fesm2022/caribeng-ui-caribe-footer.mjs +8 -4
  26. package/fesm2022/caribeng-ui-caribe-header.mjs +6 -3
  27. package/fesm2022/caribeng-ui-caribe-icon-button.mjs +6 -3
  28. package/fesm2022/caribeng-ui-caribe-illustration.mjs +6 -3
  29. package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +5 -2
  30. package/fesm2022/caribeng-ui-caribe-input-search.mjs +14 -10
  31. package/fesm2022/caribeng-ui-caribe-input-select.mjs +12 -10
  32. package/fesm2022/caribeng-ui-caribe-input-token.mjs +61 -11
  33. package/fesm2022/caribeng-ui-caribe-link.mjs +7 -2
  34. package/fesm2022/caribeng-ui-caribe-loader.mjs +8 -5
  35. package/fesm2022/caribeng-ui-caribe-modal.mjs +32 -16
  36. package/fesm2022/caribeng-ui-caribe-off-canvas.mjs +26 -12
  37. package/fesm2022/caribeng-ui-caribe-onboarding.mjs +44 -19
  38. package/fesm2022/caribeng-ui-caribe-pictogram.mjs +6 -3
  39. package/fesm2022/caribeng-ui-caribe-pop-over.mjs +34 -10
  40. package/fesm2022/caribeng-ui-caribe-preloader.mjs +9 -6
  41. package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +5 -2
  42. package/fesm2022/caribeng-ui-caribe-shortcut.mjs +8 -3
  43. package/fesm2022/caribeng-ui-caribe-step-indicator.mjs +12 -5
  44. package/fesm2022/caribeng-ui-caribe-stroke.mjs +6 -3
  45. package/fesm2022/caribeng-ui-caribe-switch.mjs +5 -3
  46. package/fesm2022/caribeng-ui-caribe-tag-button.mjs +1 -1
  47. package/fesm2022/caribeng-ui-caribe-tracker.mjs +5 -2
  48. package/fesm2022/caribeng-ui-caribe-transaction-status.mjs +1 -1
  49. package/fesm2022/caribeng-ui-caribe-voucher.mjs +11 -8
  50. package/fesm2022/caribeng-ui-carousel.mjs +49 -14
  51. package/fesm2022/caribeng-ui-cascadeselect.mjs +22 -8
  52. package/fesm2022/caribeng-ui-chart.mjs +2598 -303
  53. package/fesm2022/caribeng-ui-chip.mjs +9 -4
  54. package/fesm2022/caribeng-ui-chips.mjs +9 -5
  55. package/fesm2022/caribeng-ui-colorpicker.mjs +9 -7
  56. package/fesm2022/caribeng-ui-confirmdialog.mjs +74 -9
  57. package/fesm2022/caribeng-ui-confirmpopup.mjs +134 -9
  58. package/fesm2022/caribeng-ui-contextmenu.mjs +6 -3
  59. package/fesm2022/caribeng-ui-dataview.mjs +211 -6
  60. package/fesm2022/caribeng-ui-datepicker.mjs +1630 -393
  61. package/fesm2022/caribeng-ui-descriptions.mjs +124 -0
  62. package/fesm2022/caribeng-ui-dialog.mjs +10 -7
  63. package/fesm2022/caribeng-ui-dock.mjs +6 -3
  64. package/fesm2022/caribeng-ui-drawer.mjs +10 -7
  65. package/fesm2022/caribeng-ui-dynamicdialog.mjs +210 -6
  66. package/fesm2022/caribeng-ui-editor.mjs +4392 -243
  67. package/fesm2022/caribeng-ui-empty.mjs +80 -0
  68. package/fesm2022/caribeng-ui-file-card.mjs +2 -2
  69. package/fesm2022/caribeng-ui-fileupload.mjs +96 -19
  70. package/fesm2022/caribeng-ui-floatlabel.mjs +4 -2
  71. package/fesm2022/caribeng-ui-folder-card.mjs +10 -3
  72. package/fesm2022/caribeng-ui-galleria.mjs +76 -45
  73. package/fesm2022/caribeng-ui-image.mjs +52 -29
  74. package/fesm2022/caribeng-ui-inplace.mjs +22 -6
  75. package/fesm2022/caribeng-ui-input-number.mjs +9 -7
  76. package/fesm2022/caribeng-ui-inputgroup.mjs +2 -2
  77. package/fesm2022/caribeng-ui-inputmask.mjs +14 -11
  78. package/fesm2022/caribeng-ui-inputotp.mjs +12 -6
  79. package/fesm2022/caribeng-ui-keyfilter.mjs +72 -0
  80. package/fesm2022/caribeng-ui-listbox.mjs +13 -11
  81. package/fesm2022/caribeng-ui-megamenu.mjs +222 -30
  82. package/fesm2022/caribeng-ui-menu.mjs +11 -5
  83. package/fesm2022/caribeng-ui-menubar.mjs +10 -5
  84. package/fesm2022/caribeng-ui-message.mjs +7 -4
  85. package/fesm2022/caribeng-ui-metergroup.mjs +29 -11
  86. package/fesm2022/caribeng-ui-multiselect.mjs +399 -97
  87. package/fesm2022/caribeng-ui-orderlist.mjs +230 -11
  88. package/fesm2022/caribeng-ui-organizationchart.mjs +12 -7
  89. package/fesm2022/caribeng-ui-paginator.mjs +18 -15
  90. package/fesm2022/caribeng-ui-panel.mjs +5 -2
  91. package/fesm2022/caribeng-ui-panelmenu.mjs +6 -3
  92. package/fesm2022/caribeng-ui-password.mjs +8 -6
  93. package/fesm2022/caribeng-ui-pdfviewer.mjs +1553 -0
  94. package/fesm2022/caribeng-ui-picklist.mjs +251 -14
  95. package/fesm2022/caribeng-ui-pricing.mjs +17 -14
  96. package/fesm2022/caribeng-ui-rating.mjs +7 -3
  97. package/fesm2022/caribeng-ui-repeater.mjs +223 -0
  98. package/fesm2022/caribeng-ui-result.mjs +91 -0
  99. package/fesm2022/caribeng-ui-scrollpanel.mjs +6 -3
  100. package/fesm2022/caribeng-ui-scrolltop.mjs +6 -3
  101. package/fesm2022/caribeng-ui-select.mjs +379 -87
  102. package/fesm2022/caribeng-ui-selectbutton.mjs +2 -2
  103. package/fesm2022/caribeng-ui-slider.mjs +171 -75
  104. package/fesm2022/caribeng-ui-speeddial.mjs +7 -4
  105. package/fesm2022/caribeng-ui-spinner.mjs +5 -2
  106. package/fesm2022/caribeng-ui-splitbutton.mjs +163 -0
  107. package/fesm2022/caribeng-ui-splitter.mjs +5 -2
  108. package/fesm2022/caribeng-ui-statistic.mjs +183 -0
  109. package/fesm2022/caribeng-ui-stepper.mjs +8 -5
  110. package/fesm2022/caribeng-ui-steps.mjs +6 -3
  111. package/fesm2022/caribeng-ui-table.mjs +708 -82
  112. package/fesm2022/caribeng-ui-tabmenu.mjs +6 -3
  113. package/fesm2022/caribeng-ui-tag.mjs +2 -2
  114. package/fesm2022/caribeng-ui-terminal.mjs +45 -9
  115. package/fesm2022/caribeng-ui-themetoggle.mjs +82 -0
  116. package/fesm2022/caribeng-ui-tieredmenu.mjs +9 -6
  117. package/fesm2022/caribeng-ui-timeline.mjs +175 -6
  118. package/fesm2022/caribeng-ui-toast.mjs +7 -4
  119. package/fesm2022/caribeng-ui-togglebutton.mjs +8 -6
  120. package/fesm2022/caribeng-ui-toolbar.mjs +6 -3
  121. package/fesm2022/caribeng-ui-tree.mjs +302 -6
  122. package/fesm2022/caribeng-ui-treeselect.mjs +26 -10
  123. package/fesm2022/caribeng-ui-treetable.mjs +269 -6
  124. package/fesm2022/caribeng-ui-virtualscroller.mjs +123 -10
  125. package/fesm2022/caribeng-ui.mjs +829 -6
  126. package/package.json +70 -11
  127. package/schematics/collection.json +10 -0
  128. package/schematics/ng-add/index.js +125 -0
  129. package/schematics/ng-add/schema.js +2 -0
  130. package/schematics/ng-add/schema.json +66 -0
  131. package/styles/caribeng.css +380 -0
  132. package/styles/scss/_mixins.scss +46 -0
  133. package/styles/scss/_overlay.scss +15 -0
  134. package/styles/scss/_tokens.scss +267 -0
  135. package/styles/scss/_utilities.scss +73 -0
  136. package/styles/scss/_variables.scss +33 -0
  137. package/styles/scss/index.scss +16 -0
  138. package/types/caribeng-ui-anchor.d.ts +50 -0
  139. package/types/caribeng-ui-autocomplete.d.ts +4 -2
  140. package/types/caribeng-ui-avatargroup.d.ts +3 -1
  141. package/types/caribeng-ui-blockui.d.ts +9 -4
  142. package/types/caribeng-ui-breadcrumb.d.ts +3 -0
  143. package/types/caribeng-ui-button.d.ts +9 -1
  144. package/types/caribeng-ui-caribe-alert.d.ts +3 -0
  145. package/types/caribeng-ui-caribe-animation-lottie.d.ts +4 -1
  146. package/types/caribeng-ui-caribe-button-group.d.ts +4 -1
  147. package/types/caribeng-ui-caribe-calendar.d.ts +5 -1
  148. package/types/caribeng-ui-caribe-card-content.d.ts +4 -1
  149. package/types/caribeng-ui-caribe-card-move.d.ts +13 -13
  150. package/types/caribeng-ui-caribe-card-select.d.ts +10 -1
  151. package/types/caribeng-ui-caribe-circle-loading.d.ts +4 -1
  152. package/types/caribeng-ui-caribe-coachmark.d.ts +6 -0
  153. package/types/caribeng-ui-caribe-data-table.d.ts +7 -2
  154. package/types/caribeng-ui-caribe-dots-indicator.d.ts +9 -0
  155. package/types/caribeng-ui-caribe-expansion-panel.d.ts +7 -10
  156. package/types/caribeng-ui-caribe-fab-menu.d.ts +10 -1
  157. package/types/caribeng-ui-caribe-file-download.d.ts +8 -10
  158. package/types/caribeng-ui-caribe-file-select.d.ts +7 -1
  159. package/types/caribeng-ui-caribe-float-menu.d.ts +4 -1
  160. package/types/caribeng-ui-caribe-header.d.ts +3 -0
  161. package/types/caribeng-ui-caribe-icon-button.d.ts +4 -1
  162. package/types/caribeng-ui-caribe-illustration.d.ts +4 -1
  163. package/types/caribeng-ui-caribe-inline-alert.d.ts +3 -0
  164. package/types/caribeng-ui-caribe-input-search.d.ts +4 -2
  165. package/types/caribeng-ui-caribe-input-select.d.ts +4 -2
  166. package/types/caribeng-ui-caribe-input-token.d.ts +16 -1
  167. package/types/caribeng-ui-caribe-link.d.ts +3 -0
  168. package/types/caribeng-ui-caribe-loader.d.ts +4 -1
  169. package/types/caribeng-ui-caribe-modal.d.ts +7 -10
  170. package/types/caribeng-ui-caribe-off-canvas.d.ts +6 -1
  171. package/types/caribeng-ui-caribe-onboarding.d.ts +6 -0
  172. package/types/caribeng-ui-caribe-pictogram.d.ts +4 -1
  173. package/types/caribeng-ui-caribe-pop-over.d.ts +7 -10
  174. package/types/caribeng-ui-caribe-preloader.d.ts +4 -1
  175. package/types/caribeng-ui-caribe-progress-bar.d.ts +3 -0
  176. package/types/caribeng-ui-caribe-shortcut.d.ts +3 -1
  177. package/types/caribeng-ui-caribe-step-indicator.d.ts +6 -0
  178. package/types/caribeng-ui-caribe-stroke.d.ts +4 -1
  179. package/types/caribeng-ui-caribe-switch.d.ts +3 -1
  180. package/types/caribeng-ui-caribe-tracker.d.ts +3 -0
  181. package/types/caribeng-ui-caribe-voucher.d.ts +5 -2
  182. package/types/caribeng-ui-carousel.d.ts +10 -1
  183. package/types/caribeng-ui-cascadeselect.d.ts +7 -2
  184. package/types/caribeng-ui-chart.d.ts +469 -44
  185. package/types/caribeng-ui-chip.d.ts +6 -0
  186. package/types/caribeng-ui-chips.d.ts +6 -2
  187. package/types/caribeng-ui-colorpicker.d.ts +3 -1
  188. package/types/caribeng-ui-confirmdialog.d.ts +25 -6
  189. package/types/caribeng-ui-confirmpopup.d.ts +37 -5
  190. package/types/caribeng-ui-contextmenu.d.ts +4 -1
  191. package/types/caribeng-ui-dataview.d.ts +63 -5
  192. package/types/caribeng-ui-datepicker.d.ts +186 -21
  193. package/types/caribeng-ui-descriptions.d.ts +63 -0
  194. package/types/caribeng-ui-dialog.d.ts +4 -1
  195. package/types/caribeng-ui-dock.d.ts +4 -1
  196. package/types/caribeng-ui-drawer.d.ts +4 -1
  197. package/types/caribeng-ui-dynamicdialog.d.ts +93 -3
  198. package/types/caribeng-ui-editor.d.ts +486 -13
  199. package/types/caribeng-ui-empty.d.ts +34 -0
  200. package/types/caribeng-ui-file-card.d.ts +1 -1
  201. package/types/caribeng-ui-fileupload.d.ts +27 -4
  202. package/types/caribeng-ui-folder-card.d.ts +4 -1
  203. package/types/caribeng-ui-galleria.d.ts +9 -0
  204. package/types/caribeng-ui-image.d.ts +10 -0
  205. package/types/caribeng-ui-inplace.d.ts +8 -0
  206. package/types/caribeng-ui-input-number.d.ts +3 -1
  207. package/types/caribeng-ui-inputmask.d.ts +5 -0
  208. package/types/caribeng-ui-inputotp.d.ts +7 -2
  209. package/types/caribeng-ui-keyfilter.d.ts +30 -0
  210. package/types/caribeng-ui-listbox.d.ts +5 -3
  211. package/types/caribeng-ui-megamenu.d.ts +26 -2
  212. package/types/caribeng-ui-menu.d.ts +7 -2
  213. package/types/caribeng-ui-menubar.d.ts +5 -1
  214. package/types/caribeng-ui-message.d.ts +3 -0
  215. package/types/caribeng-ui-metergroup.d.ts +9 -1
  216. package/types/caribeng-ui-multiselect.d.ts +71 -10
  217. package/types/caribeng-ui-orderlist.d.ts +58 -6
  218. package/types/caribeng-ui-organizationchart.d.ts +7 -1
  219. package/types/caribeng-ui-paginator.d.ts +3 -0
  220. package/types/caribeng-ui-panel.d.ts +3 -0
  221. package/types/caribeng-ui-panelmenu.d.ts +4 -1
  222. package/types/caribeng-ui-password.d.ts +4 -2
  223. package/types/caribeng-ui-pdfviewer.d.ts +258 -0
  224. package/types/caribeng-ui-picklist.d.ts +67 -7
  225. package/types/caribeng-ui-pricing.d.ts +8 -5
  226. package/types/caribeng-ui-rating.d.ts +6 -2
  227. package/types/caribeng-ui-repeater.d.ts +79 -0
  228. package/types/caribeng-ui-result.d.ts +35 -0
  229. package/types/caribeng-ui-scrollpanel.d.ts +4 -1
  230. package/types/caribeng-ui-scrolltop.d.ts +4 -1
  231. package/types/caribeng-ui-select.d.ts +73 -9
  232. package/types/caribeng-ui-slider.d.ts +63 -10
  233. package/types/caribeng-ui-speeddial.d.ts +5 -2
  234. package/types/caribeng-ui-spinner.d.ts +3 -0
  235. package/types/caribeng-ui-splitbutton.d.ts +49 -0
  236. package/types/caribeng-ui-splitter.d.ts +3 -0
  237. package/types/caribeng-ui-statistic.d.ts +65 -0
  238. package/types/caribeng-ui-stepper.d.ts +3 -0
  239. package/types/caribeng-ui-steps.d.ts +4 -1
  240. package/types/caribeng-ui-table.d.ts +184 -16
  241. package/types/caribeng-ui-tabmenu.d.ts +4 -1
  242. package/types/caribeng-ui-terminal.d.ts +10 -0
  243. package/types/caribeng-ui-themetoggle.d.ts +32 -0
  244. package/types/caribeng-ui-tieredmenu.d.ts +5 -2
  245. package/types/caribeng-ui-timeline.d.ts +63 -4
  246. package/types/caribeng-ui-toast.d.ts +3 -0
  247. package/types/caribeng-ui-togglebutton.d.ts +5 -3
  248. package/types/caribeng-ui-toolbar.d.ts +7 -4
  249. package/types/caribeng-ui-tree.d.ts +76 -4
  250. package/types/caribeng-ui-treeselect.d.ts +10 -2
  251. package/types/caribeng-ui-treetable.d.ts +68 -4
  252. package/types/caribeng-ui-virtualscroller.d.ts +45 -5
  253. package/types/caribeng-ui.d.ts +501 -12
@@ -1,16 +1,48 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import * as _caribeng_ui from '@caribeng/ui';
2
3
 
4
+ /**
5
+ * Confirmación breve de CaribeNG. Ábrela anclada al botón que la dispara con
6
+ * `confirm($event)` (como PrimeNG), o en línea con `[(visible)]`. Escape o un
7
+ * clic fuera la cancelan; el foco vuelve al disparador al cerrarse.
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <cb-button severity="danger" (click)="borrar.confirm($event)">Eliminar</cb-button>
12
+ * <cb-confirm-popup #borrar message="¿Eliminar este archivo?" (accepted)="eliminar()" />
13
+ * ```
14
+ */
3
15
  declare class CbConfirmPopup {
16
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
17
+ private readonly overlay;
18
+ private readonly vcr;
19
+ private readonly injector;
20
+ protected readonly messageId: string;
21
+ /** Visibilidad (two-way). Con `[(visible)]` se muestra en línea. */
4
22
  readonly visible: _angular_core.ModelSignal<boolean>;
5
- readonly message: _angular_core.InputSignal<string>;
6
- readonly acceptLabel: _angular_core.InputSignal<string>;
7
- readonly rejectLabel: _angular_core.InputSignal<string>;
23
+ /** Pregunta a confirmar. Por defecto, la del idioma activo. */
24
+ readonly message: _angular_core.InputSignal<string | undefined>;
25
+ readonly acceptLabel: _angular_core.InputSignal<string | undefined>;
26
+ readonly rejectLabel: _angular_core.InputSignal<string | undefined>;
27
+ /** Severidad del botón de aceptar (p. ej. `danger` para acciones destructivas). */
28
+ readonly acceptSeverity: _angular_core.InputSignal<"primary" | "danger" | "success" | "warning">;
8
29
  readonly accepted: _angular_core.OutputEmitterRef<void>;
9
30
  readonly rejected: _angular_core.OutputEmitterRef<void>;
10
- protected confirm(): void;
31
+ private readonly panel;
32
+ /** Abierta como overlay anclado a un disparador. */
33
+ protected readonly anchored: _angular_core.WritableSignal<boolean>;
34
+ private overlayRef;
35
+ private trigger;
36
+ private readonly positions;
37
+ /** Abre la confirmación anclada al elemento que recibió el evento. */
38
+ confirm(event: Event): void;
39
+ /** Abre la confirmación anclada a `target`. */
40
+ show(target: HTMLElement): void;
41
+ protected accept(): void;
11
42
  protected reject(): void;
43
+ private close;
12
44
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbConfirmPopup, never>;
13
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbConfirmPopup, "cb-confirm-popup", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "acceptLabel": { "alias": "acceptLabel"; "required": false; "isSignal": true; }; "rejectLabel": { "alias": "rejectLabel"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "accepted": "accepted"; "rejected": "rejected"; }, never, never, true, never>;
45
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbConfirmPopup, "cb-confirm-popup", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "acceptLabel": { "alias": "acceptLabel"; "required": false; "isSignal": true; }; "rejectLabel": { "alias": "rejectLabel"; "required": false; "isSignal": true; }; "acceptSeverity": { "alias": "acceptSeverity"; "required": false; "isSignal": true; }; }, { "visible": "visibleChange"; "accepted": "accepted"; "rejected": "rejected"; }, never, never, true, never>;
14
46
  }
15
47
 
16
48
  export { CbConfirmPopup };
@@ -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 CbContextMenuItem {
4
5
  label: string;
@@ -8,11 +9,13 @@ interface CbContextMenuItem {
8
9
  }
9
10
  /** Context menu that opens at the pointer position on right click. */
10
11
  declare class CbContextMenu {
12
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
13
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
11
14
  private readonly overlay;
12
15
  private readonly vcr;
13
16
  private readonly destroyRef;
14
17
  readonly items: _angular_core.InputSignal<readonly CbContextMenuItem[]>;
15
- readonly ariaLabel: _angular_core.InputSignal<string>;
18
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
16
19
  readonly itemSelect: _angular_core.OutputEmitterRef<CbContextMenuItem>;
17
20
  private readonly content;
18
21
  private overlayRef;
@@ -1,19 +1,77 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import * as _caribeng_ui from '@caribeng/ui';
2
4
 
5
+ /** Elemento con la forma de la presentación por defecto (título, categoría y descripción). */
3
6
  interface CbDataViewItem {
4
7
  id: string | number;
5
8
  title: string;
6
9
  description?: string;
7
10
  category?: string;
8
11
  }
12
+ type CbDataViewLayout = 'grid' | 'list';
13
+ /** Contexto de `<ng-template cbDataViewItem let-item let-layout="layout" let-index="index">`. */
14
+ interface CbDataViewItemContext<T = any> {
15
+ $implicit: T;
16
+ layout: CbDataViewLayout;
17
+ index: number;
18
+ }
19
+ /** Plantilla de cada elemento de un `<cb-dataview>`. */
20
+ declare class CbDataViewItemTemplate {
21
+ readonly template: TemplateRef<CbDataViewItemContext<any>>;
22
+ static ngTemplateContextGuard(_dir: CbDataViewItemTemplate, ctx: unknown): ctx is CbDataViewItemContext;
23
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDataViewItemTemplate, never>;
24
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbDataViewItemTemplate, "ng-template[cbDataViewItem]", never, {}, {}, never, never, true, never>;
25
+ }
26
+ /** Contenido de la cabecera de un `<cb-dataview>` (título, filtros, acciones…). */
27
+ declare class CbDataViewHeader {
28
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDataViewHeader, never>;
29
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbDataViewHeader, "[cbDataViewHeader]", never, {}, {}, never, never, true, never>;
30
+ }
31
+ /**
32
+ * DataView de CaribeNG: muestra una colección en lista o cuadrícula con la
33
+ * plantilla que definas, paginación opcional y botones para cambiar la vista.
34
+ * Sin plantilla, usa una tarjeta con título, categoría, descripción y botón
35
+ * de selección.
36
+ *
37
+ * @example
38
+ * ```html
39
+ * <cb-dataview [value]="productos" [(layout)]="vista" [rows]="6" showLayoutToggle>
40
+ * <h3 cbDataViewHeader>Productos</h3>
41
+ * <ng-template cbDataViewItem let-producto let-layout="layout">
42
+ * <app-producto [producto]="producto" [compacto]="layout === 'list'" />
43
+ * </ng-template>
44
+ * </cb-dataview>
45
+ * ```
46
+ */
9
47
  declare class CbDataView {
10
- readonly value: _angular_core.InputSignal<readonly CbDataViewItem[]>;
11
- readonly layout: _angular_core.ModelSignal<"grid" | "list">;
48
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
49
+ /** Colección a mostrar. */
50
+ readonly value: _angular_core.InputSignal<readonly unknown[]>;
51
+ /** Vista: cuadrícula o lista (two-way). */
52
+ readonly layout: _angular_core.ModelSignal<CbDataViewLayout>;
53
+ /** Muestra los botones para cambiar entre lista y cuadrícula. */
54
+ readonly showLayoutToggle: _angular_core.InputSignalWithTransform<boolean, unknown>;
55
+ /** Elementos por página; 0 (por defecto) muestra todos sin paginador. */
56
+ readonly rows: _angular_core.InputSignal<number>;
57
+ /** Propiedad que identifica cada elemento (para el seguimiento y la selección). */
58
+ readonly dataKey: _angular_core.InputSignal<string>;
59
+ /** Elemento seleccionado con la presentación por defecto (two-way). */
12
60
  readonly selection: _angular_core.ModelSignal<CbDataViewItem | null>;
13
- readonly emptyMessage: _angular_core.InputSignal<string>;
61
+ /** Mensaje cuando no hay elementos. Por defecto, el del idioma activo. */
62
+ readonly emptyMessage: _angular_core.InputSignal<string | undefined>;
63
+ protected readonly itemTemplate: _angular_core.Signal<CbDataViewItemTemplate | undefined>;
64
+ protected readonly header: _angular_core.Signal<CbDataViewHeader | undefined>;
65
+ /** Índice del primer elemento de la página actual; vuelve a 0 si cambia la colección. */
66
+ protected readonly first: _angular_core.WritableSignal<number>;
67
+ protected readonly page: _angular_core.Signal<readonly unknown[]>;
68
+ protected trackKey(item: unknown, index: number): unknown;
69
+ protected isSelected(item: unknown): boolean;
70
+ protected asItem(item: unknown): CbDataViewItem;
14
71
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDataView, never>;
15
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbDataView, "cb-dataview", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "selection": "selectionChange"; }, never, never, true, never>;
72
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbDataView, "cb-dataview", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "showLayoutToggle": { "alias": "showLayoutToggle"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; }, { "layout": "layoutChange"; "selection": "selectionChange"; }, ["itemTemplate", "header"], ["[cbDataViewHeader]"], true, never>;
16
73
  }
17
74
 
18
- export { CbDataView };
75
+ export { CbDataView, CbDataViewHeader, CbDataViewItemTemplate };
76
+ export type { CbDataViewItem, CbDataViewItemContext, CbDataViewLayout };
19
77
  //# sourceMappingURL=caribeng-ui-dataview.d.ts.map
@@ -4,29 +4,76 @@ 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
+ /** Rango de fechas `[inicio, fin]`; `fin` es `null` mientras se elige. */
8
+ type CbDateRange = readonly [Date, Date | null];
9
+ /** Valor que la DatePicker entrega a Angular Forms: una fecha, un rango (`selectionMode="range"`) o `null`. */
10
+ type CbDatepickerValue = Date | CbDateRange | null;
11
+ /** Qué se elige: un día, un mes (día 1) o un año (1 de enero). */
12
+ type CbDatepickerView = 'date' | 'month' | 'year';
13
+ /** Atajos predefinidos (con textos traducidos): rangos relativos a hoy. */
14
+ type CbDatePresetKey = 'today' | 'yesterday' | 'last7Days' | 'last30Days' | 'thisMonth' | 'lastMonth' | 'thisYear' | 'lastYear';
15
+ /** Atajo propio: un texto y una fecha o un rango (o una función que los calcula al abrir). */
16
+ interface CbDatePreset {
17
+ label: string;
18
+ value: Date | CbDateRange | (() => Date | CbDateRange);
19
+ }
7
20
  interface DayCell {
8
21
  date: Date;
9
22
  day: number;
23
+ label: string;
10
24
  otherMonth: boolean;
25
+ /** Día de otro mes en un calendario de varios meses: la celda queda vacía. */
26
+ hidden: boolean;
11
27
  today: boolean;
12
28
  selected: boolean;
29
+ rangeStart: boolean;
30
+ rangeEnd: boolean;
31
+ inRange: boolean;
32
+ disabled: boolean;
33
+ active: boolean;
34
+ }
35
+ /** Celda de la vista de meses o de años. */
36
+ interface UnitCell {
37
+ date: Date;
38
+ text: string;
39
+ label: string;
40
+ /** Año fuera de la década mostrada (primero y último de la cuadrícula). */
41
+ outside: boolean;
42
+ current: boolean;
43
+ selected: boolean;
44
+ rangeStart: boolean;
45
+ rangeEnd: boolean;
46
+ inRange: boolean;
13
47
  disabled: boolean;
14
48
  active: boolean;
15
49
  }
50
+ type TimeTarget = 'single' | 'start' | 'end';
16
51
  /**
17
- * Selector de fecha de CaribeNG. Campo de solo lectura que abre un calendario
18
- * sobre CDK Overlay, con navegación por teclado y rango min/max. Integrado con
19
- * Angular Forms vía `ControlValueAccessor`. El modelo es `Date | null`.
52
+ * Selector de fecha de CaribeNG. Abre un calendario sobre CDK Overlay, con
53
+ * navegación por teclado (patrón WAI-ARIA *date picker dialog*), rango
54
+ * min/max, selección de rangos, hora y vistas de mes y año. Integrado con
55
+ * Angular Forms vía `ControlValueAccessor`.
56
+ *
57
+ * - `selectionMode="single"` (por defecto): `[(value)]` es `Date | null`.
58
+ * - `selectionMode="range"`: `[(range)]` es `[inicio, fin] | null`; muestra dos meses (`numberOfMonths`).
59
+ * - `view="month"` / `view="year"`: se elige un mes (día 1) o un año (1 de enero).
60
+ * - `showTime`: añade horas y minutos (`hourFormat` 24 o 12), también en rangos.
61
+ * - `dateFormat`: formato con la sintaxis de PrimeNG (`dd/mm/yy`, `d 'de' MM`…); `editable` permite escribir la fecha.
20
62
  *
21
63
  * @example
22
64
  * ```html
23
- * <cb-datepicker formControlName="fecha" locale="es-CO"
24
- * [minDate]="hoy" placeholder="Elige una fecha" />
65
+ * <cb-datepicker formControlName="fecha" locale="es-CO" [minDate]="hoy" />
66
+ * <cb-datepicker selectionMode="range" [(range)]="viaje" />
67
+ * <cb-datepicker showTime hourFormat="12" [(value)]="cita" />
68
+ * <cb-datepicker view="month" dateFormat="mm/yy" [(value)]="vencimiento" />
69
+ * <cb-datepicker editable dateFormat="dd/mm/yy" [(value)]="nacimiento" />
25
70
  * ```
26
71
  */
27
72
  declare class CbDatepicker implements ControlValueAccessor {
28
- /** Fecha seleccionada (two-way opcional fuera de Angular Forms). */
73
+ /** Fecha seleccionada en modo `single` (two-way opcional fuera de Angular Forms). */
29
74
  readonly value: _angular_core.ModelSignal<Date | null>;
75
+ /** Rango seleccionado en modo `range` (two-way opcional fuera de Angular Forms). */
76
+ readonly range: _angular_core.ModelSignal<CbDateRange | null>;
30
77
  readonly label: _angular_core.InputSignal<string>;
31
78
  readonly hint: _angular_core.InputSignal<string>;
32
79
  readonly error: _angular_core.InputSignal<string>;
@@ -34,64 +81,182 @@ declare class CbDatepicker implements ControlValueAccessor {
34
81
  readonly size: _angular_core.InputSignal<CbSize>;
35
82
  readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
36
83
  readonly required: _angular_core.InputSignalWithTransform<boolean, unknown>;
37
- /** Indicador de obligatoriedad de este campo; si se omite usa el global de `provideCaribeNG()`. */
84
+ /** Cómo se marca un campo obligatorio u opcional; por defecto el global de `provideCaribeNG`. */
38
85
  readonly requiredIndicator: _angular_core.InputSignal<CbRequiredIndicator | undefined>;
39
- /** Estado de validación: inputs manuales + estado de Angular Forms. */
86
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
87
+ private readonly injector;
40
88
  protected readonly fieldState: _caribeng_ui.CbFieldState;
41
89
  readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
42
90
  readonly inputId: _angular_core.InputSignal<string>;
43
91
  /** Locale BCP 47 para nombres y formato (por defecto el del navegador). */
44
92
  readonly locale: _angular_core.InputSignal<string | undefined>;
45
- /** Primer día de la semana: 0 = domingo (por defecto), 1 = lunes. */
93
+ /** Primer día de la semana: 0 = domingo, 1 = lunes. */
46
94
  readonly firstDayOfWeek: _angular_core.InputSignal<number>;
47
- /** Fecha mínima seleccionable. */
95
+ /** Fecha mínima elegible (incluida). */
48
96
  readonly minDate: _angular_core.InputSignal<Date | null>;
49
- /** Fecha máxima seleccionable. */
97
+ /** Fecha máxima elegible (incluida). */
50
98
  readonly maxDate: _angular_core.InputSignal<Date | null>;
99
+ /** `single` (una fecha) o `range` (inicio y fin). */
100
+ readonly selectionMode: _angular_core.InputSignal<"single" | "range">;
101
+ /** Qué se elige: un día (`date`), un mes (`month`, día 1) o un año (`year`, 1 de enero). */
102
+ readonly view: _angular_core.InputSignal<CbDatepickerView>;
103
+ /** Meses visibles a la vez (vista de días). Por defecto 2 en rangos y 1 en fecha simple. */
104
+ readonly numberOfMonths: _angular_core.InputSignal<number | undefined>;
105
+ /** Añade horas y minutos (en rangos, del inicio y del fin). Solo con `view="date"`. */
106
+ readonly showTime: _angular_core.InputSignalWithTransform<boolean, unknown>;
107
+ /** Formato de la hora: 24 h o 12 h (AM/PM). */
108
+ readonly hourFormat: _angular_core.InputSignal<"24" | "12">;
109
+ /** Paso de los minutos (p. ej. 15). */
110
+ readonly stepMinute: _angular_core.InputSignal<number>;
111
+ /**
112
+ * Formato de la fecha con la sintaxis de PrimeNG: `d`, `dd`, `o`, `oo`, `D`, `DD`,
113
+ * `m`, `mm`, `M`, `MM`, `y`, `yy`, `@`, `!` y `'texto'`. Sin él, el campo usa el
114
+ * formato largo del `locale` (o el numérico si es `editable`).
115
+ */
116
+ readonly dateFormat: _angular_core.InputSignal<string | undefined>;
117
+ /** Permite escribir la fecha en el campo con `dateFormat` (Enter o al salir del campo la aplica). */
118
+ readonly editable: _angular_core.InputSignalWithTransform<boolean, unknown>;
119
+ /**
120
+ * Atajos junto al calendario: claves predefinidas (`'last7Days'`, `'thisMonth'`…)
121
+ * u objetos `{ label, value }`. En fecha simple, un atajo de rango elige su inicio.
122
+ */
123
+ readonly presets: _angular_core.InputSignal<readonly (CbDatePresetKey | CbDatePreset)[]>;
51
124
  protected readonly open: _angular_core.WritableSignal<boolean>;
52
- /** Primer día del mes mostrado. */
125
+ /** Día (o mes, o año) bajo el puntero: previsualiza el rango mientras se elige el final. */
126
+ protected readonly hoverDate: _angular_core.WritableSignal<Date | null>;
127
+ /** Primer mes mostrado (vista de días) o fecha de referencia del año / la década. */
53
128
  private readonly viewDate;
54
- /** Día con foco dentro del calendario. */
129
+ /** Día, mes o año con foco dentro del calendario. */
55
130
  private readonly activeDate;
56
- private readonly triggerRef;
131
+ /** Vista del panel: puede pasar a meses o años para navegar aunque se elija un día. */
132
+ protected readonly panelView: _angular_core.WritableSignal<CbDatepickerView>;
133
+ /** Texto escrito en el campo (`editable`) que aún no se ha aplicado. */
134
+ protected readonly draft: _angular_core.WritableSignal<string | null>;
135
+ /** El texto escrito no es una fecha válida (o elegible). */
136
+ protected readonly typedInvalid: _angular_core.WritableSignal<boolean>;
137
+ /** Día del mes que se conserva al navegar por meses y años para volver a los días. */
138
+ private navDay;
57
139
  private readonly fieldRef;
58
140
  private readonly panelRef;
59
141
  private readonly cvaDisabled;
60
142
  protected readonly isDisabled: _angular_core.Signal<boolean>;
143
+ protected readonly isRange: _angular_core.Signal<boolean>;
144
+ /** La hora solo tiene sentido al elegir días. */
145
+ private readonly withTime;
146
+ protected readonly monthCount: _angular_core.Signal<number>;
147
+ protected readonly fieldInvalid: _angular_core.Signal<boolean>;
61
148
  protected readonly errorId: _angular_core.Signal<string>;
62
149
  protected readonly hintId: _angular_core.Signal<string>;
63
150
  protected readonly describedBy: _angular_core.Signal<string | null>;
64
151
  protected readonly positions: ConnectedPosition[];
152
+ /** La fecha (modo simple) o `null`. */
153
+ private readonly single;
154
+ /** El rango (modo rango) o `null`. */
155
+ private readonly activeRange;
156
+ /** Hay fecha inicial y falta la final. */
157
+ protected readonly choosingEnd: _angular_core.Signal<boolean>;
158
+ /** Hay algo elegido (para mostrar "Limpiar"). */
159
+ protected readonly hasValue: _angular_core.Signal<boolean>;
160
+ private readonly names;
161
+ /** Formato con el que se escribe y se lee el campo (si hay `dateFormat` o es editable). */
162
+ private readonly pattern;
163
+ /** Ayuda del formato para el placeholder y el error (`dd/mm/yyyy`, con la hora si la hay). */
164
+ protected readonly formatHint: _angular_core.Signal<string>;
165
+ protected readonly invalidMessage: _angular_core.Signal<string>;
166
+ private formatOne;
167
+ private timeText;
65
168
  protected readonly display: _angular_core.Signal<string>;
66
- protected readonly monthYearLabel: _angular_core.Signal<string>;
169
+ protected readonly fieldText: _angular_core.Signal<string>;
170
+ private monthTitle;
171
+ protected readonly panelLabel: _angular_core.Signal<string>;
67
172
  protected readonly weekdays: _angular_core.Signal<{
68
173
  index: number;
69
174
  short: string;
70
175
  long: string;
71
176
  }[]>;
72
- protected readonly weeks: _angular_core.Signal<DayCell[][]>;
177
+ /** Inicio y fin del rango (o del rango en curso hasta el puntero), ordenados y en la unidad `unit`. */
178
+ private rangeBounds;
179
+ protected readonly months: _angular_core.Signal<{
180
+ date: Date;
181
+ title: string;
182
+ weeks: DayCell[][];
183
+ }[]>;
184
+ /** Título de la vista de meses (el año) o de años (la década). */
185
+ protected readonly unitTitle: _angular_core.Signal<string>;
186
+ protected readonly unitRows: _angular_core.Signal<UnitCell[][]>;
187
+ protected readonly presetItems: _angular_core.Signal<{
188
+ label: string;
189
+ value: Date | CbDateRange;
190
+ selected: boolean;
191
+ disabled: boolean;
192
+ }[]>;
193
+ private presetLabel;
194
+ /** Ajusta el atajo al modo (fecha o rango), a la unidad de `view` y, con hora, al día completo. */
195
+ private presetValue;
196
+ /** Aplica un atajo y cierra (con hora, el panel sigue abierto para ajustarla). */
197
+ protected applyPreset(value: Date | CbDateRange): void;
198
+ protected readonly timeRows: _angular_core.Signal<{
199
+ target: TimeTarget;
200
+ label: string;
201
+ caption: string;
202
+ enabled: boolean;
203
+ }[]>;
204
+ private dateOf;
205
+ /** Hora y minutos de la fecha (o 00:00). */
206
+ protected timeOf(target: TimeTarget): {
207
+ hours: number;
208
+ minutes: number;
209
+ };
210
+ protected displayHour(target: TimeTarget): string;
73
211
  constructor();
74
212
  private onChange;
75
213
  private onTouched;
76
- writeValue(value: Date | null): void;
77
- registerOnChange(fn: (value: Date | null) => void): void;
214
+ writeValue(value: CbDatepickerValue): void;
215
+ registerOnChange(fn: (value: CbDatepickerValue) => void): void;
78
216
  registerOnTouched(fn: () => void): void;
79
217
  setDisabledState(isDisabled: boolean): void;
80
218
  protected toggle(): void;
219
+ protected onFieldClick(): void;
81
220
  private openPanel;
82
221
  protected close(): void;
83
222
  protected onBlur(): void;
223
+ /** Elige un valor en la unidad de `view` (día, mes o año), en modo simple o rango. */
224
+ private pick;
84
225
  protected selectDate(date: Date): void;
226
+ /** Clic en un mes o un año: lo elige (si es la unidad de `view`) o baja a la vista siguiente. */
227
+ protected selectUnit(date: Date): void;
228
+ /** Del título de un mes a la vista de meses de su año. */
229
+ protected showMonths(month: Date): void;
230
+ protected showYears(): void;
231
+ private isSameMonthShown;
85
232
  protected goToday(): void;
86
233
  protected clear(): void;
87
234
  protected shiftMonth(delta: number): void;
235
+ /** Año anterior / siguiente (vista de meses) o década (vista de años). */
236
+ protected shiftPage(delta: number): void;
237
+ protected setHour(target: TimeTarget, raw: string): void;
238
+ protected setMinute(target: TimeTarget, raw: string): void;
239
+ protected togglePeriod(target: TimeTarget): void;
240
+ private setTime;
241
+ protected pad(n: number): string;
242
+ /** Aplica lo escrito: fecha válida y elegible → valor; vacío → `null`; si no, marca el error. */
243
+ private applyDraft;
244
+ /** Lee una fecha (y la hora, si `showTime`) con el formato del campo. */
245
+ private parseOne;
88
246
  protected onFieldKeydown(event: KeyboardEvent): void;
89
247
  protected onPanelKeydown(event: KeyboardEvent): void;
90
- private focusActiveDay;
91
- private isDisabledDate;
248
+ /** Flechas en la cuadrícula de meses o años (3 columnas). */
249
+ private onUnitKeydown;
250
+ /** Enfoca el elemento activo tras el render: el panel vive en un overlay que se pinta en el ciclo siguiente. */
251
+ private focusActive;
252
+ /** Guarda en el modelo del modo activo y avisa a Angular Forms. */
253
+ private commit;
254
+ /** El día, mes o año queda entero fuera de [minDate, maxDate]. */
255
+ private isDisabledIn;
92
256
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDatepicker, never>;
93
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbDatepicker, "cb-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "requiredIndicator": { "alias": "requiredIndicator"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
257
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbDatepicker, "cb-datepicker", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "hint": { "alias": "hint"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "requiredIndicator": { "alias": "requiredIndicator"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "stepMinute": { "alias": "stepMinute"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "presets": { "alias": "presets"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "range": "rangeChange"; }, never, never, true, never>;
94
258
  }
95
259
 
96
260
  export { CbDatepicker };
261
+ export type { CbDatePreset, CbDatePresetKey, CbDateRange, CbDatepickerValue, CbDatepickerView };
97
262
  //# sourceMappingURL=caribeng-ui-datepicker.d.ts.map
@@ -0,0 +1,63 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+
4
+ /** Un par etiqueta / valor. */
5
+ interface CbDescriptionItem {
6
+ label: string;
7
+ value?: string | number | null;
8
+ /** Identificador para una plantilla `cbDescriptionsValue="key"`. */
9
+ key?: string;
10
+ /** Columnas que ocupa (1 por defecto). */
11
+ span?: number;
12
+ }
13
+ interface CbDescriptionsValueContext<T = any> {
14
+ /** Valor del elemento. */
15
+ $implicit: T;
16
+ item: CbDescriptionItem;
17
+ }
18
+ /** Plantilla del valor de un elemento: `<ng-template cbDescriptionsValue="estado" let-valor>`. */
19
+ declare class CbDescriptionsValue {
20
+ readonly cbDescriptionsValue: _angular_core.InputSignal<string>;
21
+ readonly template: TemplateRef<CbDescriptionsValueContext<any>>;
22
+ static ngTemplateContextGuard(_dir: CbDescriptionsValue, ctx: unknown): ctx is CbDescriptionsValueContext;
23
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDescriptionsValue, never>;
24
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbDescriptionsValue, "ng-template[cbDescriptionsValue]", never, { "cbDescriptionsValue": { "alias": "cbDescriptionsValue"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
25
+ }
26
+ /**
27
+ * Descriptions de CaribeNG: lista de pares etiqueta / valor (detalle de un
28
+ * cliente, de una transacción…) en una o varias columnas, sobre una lista de
29
+ * descripción (`<dl>`) nativa.
30
+ *
31
+ * @example
32
+ * ```html
33
+ * <cb-descriptions title="Detalle de la transferencia" [columns]="2" [items]="[
34
+ * { label: 'Origen', value: 'Ahorros **** 1234' },
35
+ * { label: 'Valor', value: '$ 250.000' },
36
+ * { label: 'Estado', key: 'estado', value: 'Aprobada' },
37
+ * ]">
38
+ * <ng-template cbDescriptionsValue="estado" let-estado><cb-tag [value]="estado" severity="success" /></ng-template>
39
+ * </cb-descriptions>
40
+ * ```
41
+ */
42
+ declare class CbDescriptions {
43
+ private readonly valueTemplates;
44
+ protected readonly titleId: string;
45
+ readonly items: _angular_core.InputSignal<readonly CbDescriptionItem[]>;
46
+ /** Título del bloque (se anuncia como encabezado). */
47
+ readonly title: _angular_core.InputSignal<string>;
48
+ /** Nivel del encabezado del título (por defecto 3). */
49
+ readonly headingLevel: _angular_core.InputSignal<number>;
50
+ /** Columnas en pantallas anchas (en móvil siempre 1). */
51
+ readonly columns: _angular_core.InputSignal<number>;
52
+ /** Etiqueta encima del valor (`vertical`) o a su lado (`horizontal`). */
53
+ readonly layout: _angular_core.InputSignal<"horizontal" | "vertical">;
54
+ /** Bordes entre elementos. */
55
+ readonly bordered: _angular_core.InputSignalWithTransform<boolean, unknown>;
56
+ protected valueTemplate(item: CbDescriptionItem): CbDescriptionsValue | undefined;
57
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDescriptions, never>;
58
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbDescriptions, "cb-descriptions", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "headingLevel": { "alias": "headingLevel"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "layout": { "alias": "layout"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; }, {}, ["valueTemplates"], never, true, never>;
59
+ }
60
+
61
+ export { CbDescriptions, CbDescriptionsValue };
62
+ export type { CbDescriptionItem, CbDescriptionsValueContext };
63
+ //# sourceMappingURL=caribeng-ui-descriptions.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
  * Dialog (modal) de CaribeNG sobre CDK Overlay con trampa de foco (FocusTrap),
@@ -17,6 +18,8 @@ import * as _angular_core from '@angular/core';
17
18
  * ```
18
19
  */
19
20
  declare class CbDialog {
21
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
22
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
20
23
  private readonly overlay;
21
24
  private readonly vcr;
22
25
  private readonly document;
@@ -33,7 +36,7 @@ declare class CbDialog {
33
36
  /** Ancho del panel. */
34
37
  readonly width: _angular_core.InputSignal<string>;
35
38
  /** Nombre accesible cuando no hay `header`. */
36
- readonly ariaLabel: _angular_core.InputSignal<string>;
39
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
37
40
  /** Se emite cuando el diálogo se cierra. */
38
41
  readonly onHide: _angular_core.OutputEmitterRef<void>;
39
42
  /** Se emite cuando el diálogo se abre. */
@@ -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 CbDockPosition = 'top' | 'right' | 'bottom' | 'left';
4
5
  interface CbDockItem {
@@ -9,9 +10,11 @@ interface CbDockItem {
9
10
  }
10
11
  /** Compact application launcher with configurable orientation. */
11
12
  declare class CbDock {
13
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
14
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
12
15
  readonly items: _angular_core.InputSignal<readonly CbDockItem[]>;
13
16
  readonly position: _angular_core.InputSignal<CbDockPosition>;
14
- readonly ariaLabel: _angular_core.InputSignal<string>;
17
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
15
18
  readonly itemSelect: _angular_core.OutputEmitterRef<CbDockItem>;
16
19
  select(item: CbDockItem): void;
17
20
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbDock, never>;
@@ -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 CbDrawerPosition = 'left' | 'right' | 'top' | 'bottom';
4
5
  /**
@@ -14,6 +15,8 @@ type CbDrawerPosition = 'left' | 'right' | 'top' | 'bottom';
14
15
  * ```
15
16
  */
16
17
  declare class CbDrawer {
18
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
19
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
17
20
  private readonly overlay;
18
21
  private readonly vcr;
19
22
  private readonly document;
@@ -23,7 +26,7 @@ declare class CbDrawer {
23
26
  readonly closable: _angular_core.InputSignalWithTransform<boolean, unknown>;
24
27
  readonly dismissableMask: _angular_core.InputSignalWithTransform<boolean, unknown>;
25
28
  readonly closeOnEscape: _angular_core.InputSignalWithTransform<boolean, unknown>;
26
- readonly ariaLabel: _angular_core.InputSignal<string>;
29
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
27
30
  readonly onShow: _angular_core.OutputEmitterRef<void>;
28
31
  readonly onHide: _angular_core.OutputEmitterRef<void>;
29
32
  protected readonly titleId: string;