@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,68 +1,493 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import * as _caribeng_ui from '@caribeng/ui';
2
3
 
3
- type CbChartType = 'bar' | 'line' | 'doughnut' | 'pie';
4
+ type CbChartType = 'bar' | 'line' | 'area' | 'horizontalBar' | 'waterfall' | 'doughnut' | 'pie' | 'radialBar' | 'gauge' | 'radar' | 'polarArea' | 'heatmap' | 'treemap';
4
5
  interface CbChartDataset {
5
6
  label: string;
6
7
  data: number[];
8
+ /** Color de la serie (barras, líneas, áreas, radar, medidor). */
7
9
  color?: string;
10
+ /** Colores por elemento (torta, dona, radial, área polar, treemap y cascada). */
11
+ colors?: string[];
12
+ /** En un gráfico `bar`, `'line'` dibuja esta serie como línea (gráfico combinado). */
13
+ type?: 'bar' | 'line';
14
+ /**
15
+ * En `waterfall`: posiciones que son subtotales o totales. Su barra va del 0 al
16
+ * acumulado y su valor en `data` se ignora.
17
+ */
18
+ sums?: number[];
8
19
  }
9
20
  interface CbChartData {
21
+ /** Categorías (eje X), ejes del radar o columnas del mapa de calor. */
10
22
  labels: string[];
23
+ /** Series; en `heatmap`, cada dataset es una fila. */
11
24
  datasets: CbChartDataset[];
12
25
  }
26
+ /** Formato de los valores: opciones de `Intl.NumberFormat` o una función propia. */
27
+ type CbChartValueFormat = Intl.NumberFormatOptions | ((value: number) => string);
28
+ /** Elemento elegido con clic o Enter. */
29
+ interface CbChartItemEvent {
30
+ index: number;
31
+ label: string;
32
+ }
33
+ /** Franja de color del medidor (`gauge`), p. ej. rojo de 0 a 40. */
34
+ interface CbChartBand {
35
+ from: number;
36
+ to: number;
37
+ color: string;
38
+ }
13
39
  /**
14
- * Chart de CaribeNG: gráficos vectoriales SVG accesibles sin dependencias externas
15
- * (soporta tipos `bar`, `line`, `doughnut` y `pie`).
40
+ * Ventana visible del eje X en sus unidades (ms en un eje de tiempo, número en uno
41
+ * lineal, posición en uno de categorías). `pinned`: pegada al final, avanza con los
42
+ * datos nuevos.
16
43
  */
17
- declare class CbChart {
18
- readonly type: _angular_core.InputSignal<CbChartType>;
19
- readonly data: _angular_core.InputSignal<CbChartData>;
20
- readonly height: _angular_core.InputSignal<number>;
21
- readonly showLegend: _angular_core.InputSignal<boolean>;
22
- readonly ariaLabel: _angular_core.InputSignal<string>;
23
- protected readonly gridLines: _angular_core.Signal<number[]>;
24
- private readonly maxValue;
25
- protected readonly xLabels: _angular_core.Signal<{
26
- index: number;
27
- text: string;
44
+ interface CbChartWindow {
45
+ start: number;
46
+ end: number;
47
+ pinned: boolean;
48
+ }
49
+ interface ShapeBase {
50
+ cls: string;
51
+ /** Posición del elemento navegable al que pertenece (para atenuar / resaltar). */
52
+ item?: number;
53
+ }
54
+ type ChartShape = (ShapeBase & {
55
+ k: 'rect';
56
+ x: number;
57
+ y: number;
58
+ w: number;
59
+ h: number;
60
+ rx?: number;
61
+ fill?: string;
62
+ }) | (ShapeBase & {
63
+ k: 'path';
64
+ d: string;
65
+ fill?: string;
66
+ stroke?: string;
67
+ pathLength?: number;
68
+ }) | (ShapeBase & {
69
+ k: 'circle';
70
+ cx: number;
71
+ cy: number;
72
+ r: number;
73
+ rActive: number;
74
+ fill?: string;
75
+ }) | (ShapeBase & {
76
+ k: 'line';
77
+ x1: number;
78
+ y1: number;
79
+ x2: number;
80
+ y2: number;
81
+ stroke?: string;
82
+ }) | (ShapeBase & {
83
+ k: 'text';
84
+ x: number;
85
+ y: number;
86
+ text: string;
87
+ anchor?: 'start' | 'middle' | 'end';
88
+ baseline?: 'central' | 'auto' | 'hanging';
89
+ fill?: string;
90
+ });
91
+ /** Zona invisible que recibe el ratón y el clic de un elemento. */
92
+ type ChartHit = {
93
+ k: 'rect';
94
+ item: number;
95
+ x: number;
96
+ y: number;
97
+ w: number;
98
+ h: number;
99
+ } | {
100
+ k: 'path';
101
+ item: number;
102
+ d: string;
103
+ };
104
+ interface ChartTooltipRow {
105
+ label: string;
106
+ value: string;
107
+ color: string;
108
+ }
109
+ /** Elemento que se recorre con el teclado y muestra tooltip (categoría, sector, celda…). */
110
+ interface ChartItem {
111
+ /** Índice que se emite en `itemSelect`. */
112
+ index: number;
113
+ label: string;
114
+ title: string;
115
+ rows: ChartTooltipRow[];
116
+ /** Punto de anclaje del tooltip (unidades del SVG). */
117
+ x: number;
118
+ y: number;
119
+ /** Línea guía vertical al activarlo (cartesianos). */
120
+ cursor?: {
28
121
  x: number;
29
- }[]>;
30
- protected readonly bars: _angular_core.Signal<{
31
- key: string;
122
+ y1: number;
123
+ y2: number;
124
+ };
125
+ /** Valor de X (modo composable): sincroniza el cursor entre gráficas de un grupo. */
126
+ key?: number;
127
+ }
128
+ interface ChartLegendEntry {
129
+ index: number;
130
+ label: string;
131
+ color: string;
132
+ }
133
+ interface ChartScene {
134
+ shapes: ChartShape[];
135
+ /** Datos detrás de la guía del elemento activo (barras, áreas, velas). Se recortan a `clip`. */
136
+ data?: ChartShape[];
137
+ /** Formas que van encima de la guía del elemento activo (líneas y puntos). Se recortan a `clip`. */
138
+ front?: ChartShape[];
139
+ /** Área de dibujo: recorta los datos (zoom) y sirve para convertir el ratón en posición. */
140
+ clip?: {
32
141
  x: number;
33
142
  y: number;
34
143
  w: number;
35
144
  h: number;
36
- color: string;
37
- title: string;
38
- }[]>;
39
- protected readonly lines: _angular_core.Signal<{
40
- label: string;
41
- color: string;
42
- points: {
43
- key: string;
44
- x: number;
45
- y: number;
46
- title: string;
145
+ };
146
+ /** Hay más datos fuera de la ventana visible (zoom activo). */
147
+ zoomed?: boolean;
148
+ /** Dominio completo del eje X y la parte visible (modo composable). */
149
+ domain?: readonly [number, number];
150
+ window?: readonly [number, number];
151
+ /** Distancia mínima entre dos valores de X: limita el zoom a unos pocos datos. */
152
+ step?: number;
153
+ hits: ChartHit[];
154
+ items: ChartItem[];
155
+ /** Columnas de una cuadrícula navegable (mapa de calor): flechas arriba / abajo saltan filas. */
156
+ columns?: number;
157
+ legend: ChartLegendEntry[];
158
+ table: {
159
+ head: string[] | null;
160
+ rows: {
161
+ label: string;
162
+ cells: string[];
47
163
  }[];
48
- pointsAttr: string;
49
- }[]>;
50
- protected readonly circularRadius: _angular_core.Signal<38 | 62>;
51
- protected readonly circularSegments: _angular_core.Signal<{
52
- key: string;
53
- color: string;
54
- dashArray: string;
55
- dashOffset: string;
164
+ };
165
+ center?: {
166
+ x: number;
167
+ y: number;
168
+ text: string;
169
+ sub?: string;
170
+ };
171
+ }
172
+
173
+ /**
174
+ * Chart de CaribeNG: gráficos SVG accesibles y sin dependencias.
175
+ *
176
+ * - Cartesianos: `bar`, `horizontalBar`, `line`, `area` y `waterfall` (cascada).
177
+ * - Circulares: `pie`, `doughnut`, `radialBar` y `gauge` (medidor).
178
+ * - Radiales: `radar` y `polarArea`. Matrices: `heatmap` y `treemap`.
179
+ * - `stacked` apila barras y áreas; en `bar`, una serie con `type: 'line'` se dibuja como línea.
180
+ * - `sparkline` quita ejes, rejilla y leyenda (minigráfico para tarjetas o tablas).
181
+ * - `valueFormat` y `locale` formatean los valores.
182
+ * - Tooltip con ratón y teclado (flechas), leyenda que oculta series y una tabla de
183
+ * datos para lectores de pantalla.
184
+ *
185
+ * Cada tipo lo dibuja un renderer (`renderers/`) que devuelve una escena: formas,
186
+ * zonas de clic y elementos navegables. Este componente solo la pinta.
187
+ *
188
+ * @example
189
+ * ```html
190
+ * <cb-chart type="bar" [data]="ventas" [valueFormat]="{ style: 'currency', currency: 'COP' }" />
191
+ * <cb-chart type="radar" [data]="evaluacion" />
192
+ * <cb-chart type="gauge" [data]="{ labels: ['Cumplimiento'], datasets: [{ label: 'Meta', data: [72] }] }" />
193
+ * ```
194
+ */
195
+ declare class CbChart {
196
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
197
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
198
+ protected readonly instructionsId: string;
199
+ protected readonly clipId: string;
200
+ readonly type: _angular_core.InputSignal<CbChartType>;
201
+ /**
202
+ * Datos. En el modo rápido, `{ labels, datasets }`. En el modo composable (con
203
+ * series hijas como `<cb-chart-line>`), un array de registros.
204
+ */
205
+ readonly data: _angular_core.InputSignal<CbChartData | readonly Readonly<Record<string, unknown>>[]>;
206
+ /** Alto del gráfico en píxeles; el ancho se adapta al contenedor. */
207
+ readonly height: _angular_core.InputSignal<number>;
208
+ readonly showLegend: _angular_core.InputSignal<boolean>;
209
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
210
+ /** Apila las series de barras o áreas. */
211
+ readonly stacked: _angular_core.InputSignalWithTransform<boolean, unknown>;
212
+ /** Minigráfico sin ejes, rejilla ni leyenda. */
213
+ readonly sparkline: _angular_core.InputSignalWithTransform<boolean, unknown>;
214
+ /** Formato de los valores (ejes, tooltip y tabla). */
215
+ readonly valueFormat: _angular_core.InputSignal<CbChartValueFormat | undefined>;
216
+ /** Locale BCP 47 para el formato (por defecto, el del navegador). */
217
+ readonly locale: _angular_core.InputSignal<string | undefined>;
218
+ /** Valor mínimo del medidor (`gauge`). */
219
+ readonly min: _angular_core.InputSignal<number>;
220
+ /** Valor que representa el 100 % en `radialBar` y el máximo del medidor (`gauge`). */
221
+ readonly max: _angular_core.InputSignal<number>;
222
+ /** Franjas de color del medidor (`gauge`), p. ej. `[{ from: 0, to: 40, color: 'red' }]`. */
223
+ readonly bands: _angular_core.InputSignal<readonly CbChartBand[]>;
224
+ /** Animación de entrada (se desactiva sola con `prefers-reduced-motion`). */
225
+ readonly animate: _angular_core.InputSignalWithTransform<boolean, unknown>;
226
+ /** Modo composable: zoom y desplazamiento en el eje X (rueda, arrastre, `+` / `-` / `0`). */
227
+ readonly zoom: _angular_core.InputSignalWithTransform<boolean, unknown>;
228
+ /**
229
+ * Modo composable: muestra al inicio solo los últimos `xWindow` del eje X (ms en un
230
+ * eje de tiempo, categorías…). Con datos en tiempo real la vista avanza con ellos.
231
+ */
232
+ readonly xWindow: _angular_core.InputSignal<number | undefined>;
233
+ /** Clic o Enter sobre una categoría, un segmento o una celda. */
234
+ readonly itemSelect: _angular_core.OutputEmitterRef<CbChartItemEvent>;
235
+ /** Series, ejes y referencias declarados como hijos (modo composable). */
236
+ private readonly seriesDefs;
237
+ private readonly axisDefs;
238
+ private readonly lineDefs;
239
+ private readonly bandDefs;
240
+ private readonly noteDefs;
241
+ /** Posición del elemento activo en `scene().items`. */
242
+ protected readonly active: _angular_core.WritableSignal<number | null>;
243
+ /** Series o elementos ocultos desde la leyenda. */
244
+ protected readonly hidden: _angular_core.WritableSignal<ReadonlySet<number>>;
245
+ /** Ventana elegida con zoom (modo composable, sin grupo). */
246
+ private readonly localWindow;
247
+ /** Ancho real del área del gráfico (px); hasta medirlo, el ancho lógico por defecto. */
248
+ protected readonly width: _angular_core.WritableSignal<number>;
249
+ private readonly plotRef;
250
+ protected dragging: {
251
+ x: number;
252
+ window: readonly [number, number];
253
+ } | null;
254
+ private readonly group;
255
+ private readonly document;
256
+ private readonly host;
257
+ constructor();
258
+ protected readonly name: _angular_core.Signal<string>;
259
+ protected readonly composed: _angular_core.Signal<boolean>;
260
+ protected readonly zoomEnabled: _angular_core.Signal<boolean>;
261
+ /** Datos del modo rápido (en el composable, `data` es un array de registros). */
262
+ private readonly chartData;
263
+ protected readonly isEmpty: _angular_core.Signal<boolean>;
264
+ private readonly numberFormat;
265
+ private readonly percentFormat;
266
+ private formatter;
267
+ /** Lo declarado en los hijos, como datos planos para el renderer. */
268
+ private readonly composedSpec;
269
+ private readonly context;
270
+ /** Lo que se dibuja: lo calcula el renderer del tipo (o el composable si hay series hijas). */
271
+ protected readonly scene: _angular_core.Signal<ChartScene>;
272
+ /**
273
+ * Elemento resaltado: el activo de este gráfico o, en un grupo, el del mismo
274
+ * valor de X activo en otra gráfica.
275
+ */
276
+ protected readonly shown: _angular_core.Signal<number | null>;
277
+ protected readonly activeItem: _angular_core.Signal<ChartItem | null>;
278
+ protected readonly tooltip: _angular_core.Signal<{
56
279
  title: string;
57
- }[]>;
58
- protected readonly legendItems: _angular_core.Signal<{
59
- label: string;
60
- color: string;
61
- }[]>;
280
+ rows: ChartTooltipRow[];
281
+ left: number;
282
+ top: number;
283
+ } | null>;
284
+ /** Ventana elegida con zoom: la del grupo si lo hay, si no la propia. */
285
+ protected readonly window: _angular_core.Signal<CbChartWindow | null>;
286
+ private setWindow;
287
+ /** Acerca (`factor` < 1) o aleja la ventana alrededor de `anchor` (0–1 dentro del área). */
288
+ zoomBy(factor: number, anchor?: number): void;
289
+ /** Vuelve a la vista inicial (todo, o los últimos `xWindow`). */
290
+ resetZoom(): void;
291
+ /** Posición del ratón dentro del área de dibujo (0–1). */
292
+ private pointerFraction;
293
+ protected onWheel(event: WheelEvent): void;
294
+ protected onPointerDown(event: PointerEvent): void;
295
+ protected onPointerMove(event: PointerEvent): void;
296
+ /** Lo que anuncia el lector de pantalla al recorrer el gráfico con el teclado (solo el propio). */
297
+ protected readonly announcement: _angular_core.Signal<string>;
298
+ /** Clases de una forma: atenuada si hay otro elemento activo, resaltada si es el activo. */
299
+ protected shapeClass(s: ChartShape): string;
300
+ /**
301
+ * El gráfico como SVG autocontenido: estilos y colores resueltos (incluido el tema),
302
+ * fondo y leyenda. Solo en el navegador.
303
+ */
304
+ toSvg(): string;
305
+ /** El gráfico como imagen PNG (`scale` multiplica la resolución). */
306
+ toPng(scale?: number): Promise<Blob>;
307
+ /** Descarga el gráfico como PNG o SVG. */
308
+ download(format?: 'png' | 'svg', fileName?: string): Promise<void>;
309
+ protected hover(item: number | undefined): void;
310
+ protected onFocus(): void;
311
+ protected onKeydown(event: KeyboardEvent): void;
312
+ protected select(position: number | undefined): void;
313
+ /** Oculta o muestra una serie (o un elemento en los circulares). */
314
+ toggle(index: number): void;
62
315
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChart, never>;
63
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbChart, "cb-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
316
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbChart, "cb-chart", never, { "type": { "alias": "type"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "showLegend": { "alias": "showLegend"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "stacked": { "alias": "stacked"; "required": false; "isSignal": true; }; "sparkline": { "alias": "sparkline"; "required": false; "isSignal": true; }; "valueFormat": { "alias": "valueFormat"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "bands": { "alias": "bands"; "required": false; "isSignal": true; }; "animate": { "alias": "animate"; "required": false; "isSignal": true; }; "zoom": { "alias": "zoom"; "required": false; "isSignal": true; }; "xWindow": { "alias": "xWindow"; "required": false; "isSignal": true; }; }, { "itemSelect": "itemSelect"; }, ["seriesDefs", "axisDefs", "lineDefs", "bandDefs", "noteDefs"], never, true, never>;
317
+ }
318
+
319
+ /** Un registro de datos del modo composable: cada serie elige sus campos. */
320
+ type CbChartRecord = Readonly<Record<string, unknown>>;
321
+ /** Forma de unir los puntos de una línea o un área. */
322
+ type CbChartCurve = 'linear' | 'smooth' | 'step';
323
+ /** Eje vertical al que se asocia una serie o una referencia. */
324
+ type CbChartYAxis = 'left' | 'right';
325
+ /** Tipo de eje: `auto` lo deduce de los datos (texto → categorías, número → lineal, `Date` → tiempo). */
326
+ type CbChartAxisType = 'auto' | 'category' | 'linear' | 'time';
327
+ /** Valor de una referencia: número en un eje Y; número, fecha o categoría en el eje X. */
328
+ type CbChartRefValue = number | string | Date;
329
+ /**
330
+ * Base de las series del modo composable (`<cb-chart>` con hijos). Cada serie lee
331
+ * de `data` (la del gráfico o la suya) los campos que indique.
332
+ */
333
+ declare abstract class CbChartSeries {
334
+ abstract readonly kind: 'bar' | 'line' | 'area' | 'scatter' | 'rangeArea' | 'candlestick';
335
+ /** Nombre en la leyenda, el tooltip y la tabla accesible. */
336
+ readonly name: _angular_core.InputSignal<string>;
337
+ /** Campo con el valor del eje X (categoría, número o fecha). */
338
+ readonly x: _angular_core.InputSignal<string>;
339
+ readonly color: _angular_core.InputSignal<string | undefined>;
340
+ /** Eje Y de la serie. */
341
+ readonly axis: _angular_core.InputSignal<CbChartYAxis>;
342
+ /** Datos propios; si se omite, usa los del gráfico. */
343
+ readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[] | undefined>;
344
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartSeries, never>;
345
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartSeries, never, never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "x": { "alias": "x"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
346
+ }
347
+ /** Barras. Las series con el mismo `stack` se apilan. */
348
+ declare class CbChartBar extends CbChartSeries {
349
+ readonly kind: "bar";
350
+ /** Campo del valor. */
351
+ readonly y: _angular_core.InputSignal<string>;
352
+ /** Grupo de apilado: las barras con el mismo valor se apilan. */
353
+ readonly stack: _angular_core.InputSignal<string | undefined>;
354
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartBar, never>;
355
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartBar, "cb-chart-bar", never, { "y": { "alias": "y"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
356
+ }
357
+ /** Línea. */
358
+ declare class CbChartLine extends CbChartSeries {
359
+ readonly kind: "line";
360
+ readonly y: _angular_core.InputSignal<string>;
361
+ readonly curve: _angular_core.InputSignal<CbChartCurve>;
362
+ /** Trazo discontinuo (p. ej. para una proyección o una media). */
363
+ readonly dashed: _angular_core.InputSignalWithTransform<boolean, unknown>;
364
+ /** Dibuja un punto en cada dato. */
365
+ readonly points: _angular_core.InputSignalWithTransform<boolean, unknown>;
366
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartLine, never>;
367
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartLine, "cb-chart-line", never, { "y": { "alias": "y"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "dashed": { "alias": "dashed"; "required": false; "isSignal": true; }; "points": { "alias": "points"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
368
+ }
369
+ /** Área: una línea con relleno hasta el 0 (o hasta la serie de debajo si se apila). */
370
+ declare class CbChartArea extends CbChartSeries {
371
+ readonly kind: "area";
372
+ readonly y: _angular_core.InputSignal<string>;
373
+ readonly curve: _angular_core.InputSignal<CbChartCurve>;
374
+ /** Grupo de apilado: las áreas con el mismo valor se apilan. */
375
+ readonly stack: _angular_core.InputSignal<string | undefined>;
376
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartArea, never>;
377
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartArea, "cb-chart-area", never, { "y": { "alias": "y"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "stack": { "alias": "stack"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
378
+ }
379
+ /** Dispersión: un punto por registro. */
380
+ declare class CbChartScatter extends CbChartSeries {
381
+ readonly kind: "scatter";
382
+ readonly y: _angular_core.InputSignal<string>;
383
+ /** Radio de los puntos. */
384
+ readonly size: _angular_core.InputSignalWithTransform<number, unknown>;
385
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartScatter, never>;
386
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartScatter, "cb-chart-scatter", never, { "y": { "alias": "y"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
387
+ }
388
+ /** Banda entre un mínimo y un máximo (rango, intervalo de confianza…). */
389
+ declare class CbChartRangeArea extends CbChartSeries {
390
+ readonly kind: "rangeArea";
391
+ readonly low: _angular_core.InputSignal<string>;
392
+ readonly high: _angular_core.InputSignal<string>;
393
+ readonly curve: _angular_core.InputSignal<CbChartCurve>;
394
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartRangeArea, never>;
395
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartRangeArea, "cb-chart-range-area", never, { "low": { "alias": "low"; "required": false; "isSignal": true; }; "high": { "alias": "high"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
396
+ }
397
+ /** Velas japonesas u OHLC (apertura, máximo, mínimo y cierre). */
398
+ declare class CbChartCandlestick extends CbChartSeries {
399
+ readonly kind: "candlestick";
400
+ readonly open: _angular_core.InputSignal<string>;
401
+ readonly high: _angular_core.InputSignal<string>;
402
+ readonly low: _angular_core.InputSignal<string>;
403
+ readonly close: _angular_core.InputSignal<string>;
404
+ /** `candle`: cuerpo relleno; `ohlc`: barra con marcas de apertura y cierre. */
405
+ readonly variant: _angular_core.InputSignal<"candle" | "ohlc">;
406
+ /** Color cuando cierra por encima de la apertura. */
407
+ readonly upColor: _angular_core.InputSignal<string>;
408
+ /** Color cuando cierra por debajo. */
409
+ readonly downColor: _angular_core.InputSignal<string>;
410
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartCandlestick, never>;
411
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartCandlestick, "cb-chart-candlestick", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; "high": { "alias": "high"; "required": false; "isSignal": true; }; "low": { "alias": "low"; "required": false; "isSignal": true; }; "close": { "alias": "close"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "upColor": { "alias": "upColor"; "required": false; "isSignal": true; }; "downColor": { "alias": "downColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
412
+ }
413
+ /** Configuración de un eje: posición, tipo, rango, formato y título. */
414
+ declare class CbChartAxis {
415
+ /** `bottom` es el eje X; `left` y `right`, los ejes Y. */
416
+ readonly position: _angular_core.InputSignal<"bottom" | CbChartYAxis>;
417
+ /** Solo para el eje X. */
418
+ readonly type: _angular_core.InputSignal<CbChartAxisType>;
419
+ readonly min: _angular_core.InputSignal<number | undefined>;
420
+ readonly max: _angular_core.InputSignal<number | undefined>;
421
+ /** Título del eje. */
422
+ readonly label: _angular_core.InputSignal<string | undefined>;
423
+ /** Formato de las marcas (por defecto, el `valueFormat` del gráfico en los ejes Y). */
424
+ readonly format: _angular_core.InputSignal<CbChartValueFormat | undefined>;
425
+ /** Líneas de rejilla en las marcas (por defecto, solo el eje Y principal). */
426
+ readonly grid: _angular_core.InputSignal<boolean | undefined>;
427
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartAxis, never>;
428
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartAxis, "cb-chart-axis", never, { "position": { "alias": "position"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
429
+ }
430
+ /** Línea de referencia (meta, umbral, media…) en un valor de un eje. */
431
+ declare class CbChartReferenceLine {
432
+ readonly value: _angular_core.InputSignal<CbChartRefValue>;
433
+ /** `left` / `right`: línea horizontal en ese eje Y; `x`: línea vertical. */
434
+ readonly axis: _angular_core.InputSignal<"x" | CbChartYAxis>;
435
+ readonly label: _angular_core.InputSignal<string | undefined>;
436
+ readonly color: _angular_core.InputSignal<string | undefined>;
437
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartReferenceLine, never>;
438
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartReferenceLine, "cb-chart-reference-line", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
439
+ }
440
+ /** Franja de referencia entre dos valores de un eje (rango objetivo, horario…). */
441
+ declare class CbChartReferenceBand {
442
+ readonly from: _angular_core.InputSignal<CbChartRefValue>;
443
+ readonly to: _angular_core.InputSignal<CbChartRefValue>;
444
+ readonly axis: _angular_core.InputSignal<"x" | CbChartYAxis>;
445
+ readonly label: _angular_core.InputSignal<string | undefined>;
446
+ readonly color: _angular_core.InputSignal<string | undefined>;
447
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartReferenceBand, never>;
448
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartReferenceBand, "cb-chart-reference-band", never, { "from": { "alias": "from"; "required": true; "isSignal": true; }; "to": { "alias": "to"; "required": true; "isSignal": true; }; "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
449
+ }
450
+ /** Anotación: marca un punto (x, y) con una etiqueta, p. ej. "Máximo de la sesión". */
451
+ declare class CbChartAnnotation {
452
+ /** Valor de X (número, fecha o categoría). */
453
+ readonly x: _angular_core.InputSignal<CbChartRefValue>;
454
+ /** Valor en el eje Y. */
455
+ readonly y: _angular_core.InputSignal<number>;
456
+ readonly axis: _angular_core.InputSignal<CbChartYAxis>;
457
+ readonly label: _angular_core.InputSignal<string>;
458
+ readonly color: _angular_core.InputSignal<string | undefined>;
459
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartAnnotation, never>;
460
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CbChartAnnotation, "cb-chart-annotation", never, { "x": { "alias": "x"; "required": true; "isSignal": true; }; "y": { "alias": "y"; "required": true; "isSignal": true; }; "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
461
+ }
462
+
463
+ /** Estado compartido por las gráficas de un `<cb-chart-group>`. */
464
+ declare class CbChartGroupState {
465
+ /** Valor de X activo (cursor) en cualquiera de las gráficas. */
466
+ readonly key: _angular_core.WritableSignal<number | null>;
467
+ /** Ventana visible común del eje X (zoom y desplazamiento). */
468
+ readonly window: _angular_core.WritableSignal<CbChartWindow | null>;
469
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartGroupState, never>;
470
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CbChartGroupState>;
471
+ }
472
+ /**
473
+ * Agrupa gráficas del modo composable que comparten el eje X: el cursor, el
474
+ * tooltip y el zoom se sincronizan (p. ej. precio, volumen y spread).
475
+ *
476
+ * @example
477
+ * ```html
478
+ * <cb-chart-group ariaLabel="PRIM/USD">
479
+ * <cb-chart [data]="velas" zoom [height]="260"><cb-chart-candlestick x="ts" /></cb-chart>
480
+ * <cb-chart [data]="velas" zoom [height]="100"><cb-chart-bar x="ts" y="volumen" /></cb-chart>
481
+ * </cb-chart-group>
482
+ * ```
483
+ */
484
+ declare class CbChartGroup {
485
+ /** Nombre accesible del conjunto. */
486
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
487
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbChartGroup, never>;
488
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbChartGroup, "cb-chart-group", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
64
489
  }
65
490
 
66
- export { CbChart };
67
- export type { CbChartData, CbChartDataset, CbChartType };
491
+ export { CbChart, CbChartAnnotation, CbChartArea, CbChartAxis, CbChartBar, CbChartCandlestick, CbChartGroup, CbChartGroupState, CbChartLine, CbChartRangeArea, CbChartReferenceBand, CbChartReferenceLine, CbChartScatter, CbChartSeries };
492
+ export type { CbChartAxisType, CbChartBand, CbChartCurve, CbChartData, CbChartDataset, CbChartItemEvent, CbChartRecord, CbChartRefValue, CbChartType, CbChartValueFormat, CbChartWindow, CbChartYAxis };
68
493
  //# sourceMappingURL=caribeng-ui-chart.d.ts.map
@@ -1,10 +1,16 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import * as _caribeng_ui from '@caribeng/ui';
3
+ import { cbFormat } from '@caribeng/ui';
2
4
 
3
5
  /**
4
6
  * Chip de CaribeNG: píldora compacta para representar entidades, filtros o etiquetas
5
7
  * individuales con imagen, icono y botón de cierre opcional.
6
8
  */
7
9
  declare class CbChip {
10
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
11
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
12
+ /** Rellena `{0}`, `{1}`… de un texto traducido. */
13
+ protected readonly fmt: typeof cbFormat;
8
14
  readonly label: _angular_core.InputSignal<string>;
9
15
  readonly icon: _angular_core.InputSignal<string>;
10
16
  readonly image: _angular_core.InputSignal<string>;
@@ -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 CbChips 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
  readonly value: _angular_core.ModelSignal<string[]>;
17
21
  readonly placeholder: _angular_core.InputSignal<string>;
18
22
  readonly size: _angular_core.InputSignal<CbSize>;
@@ -1,6 +1,6 @@
1
+ import * as _angular_core from '@angular/core';
1
2
  import * as _caribeng_ui from '@caribeng/ui';
2
3
  import { CbSize } 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
 
@@ -15,6 +15,8 @@ import { ConnectedPosition } from '@angular/cdk/overlay';
15
15
  * ```
16
16
  */
17
17
  declare class CbColorPicker implements ControlValueAccessor {
18
+ /** Textos de interfaz en el idioma activo (`provideCaribeNG({ locale })`). */
19
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
18
20
  /** Color seleccionado (hex `#rrggbb`). Two-way opcional fuera de Forms. */
19
21
  readonly value: _angular_core.ModelSignal<string>;
20
22
  readonly size: _angular_core.InputSignal<CbSize>;
@@ -1,16 +1,35 @@
1
1
  import * as _angular_core from '@angular/core';
2
+ import * as _caribeng_ui from '@caribeng/ui';
2
3
 
3
4
  /**
4
5
  * Diálogo de confirmación (`role="alertdialog"`) con trampa de foco, cierre con
5
- * Escape (equivale a cancelar) y restauración del foco al cerrarse.
6
+ * Escape (equivale a cancelar) y restauración del foco al cerrarse. Al abrirse,
7
+ * el foco va al botón de cancelar (la opción segura).
8
+ *
9
+ * @example
10
+ * ```html
11
+ * <cb-confirm-dialog
12
+ * [(visible)]="confirmar"
13
+ * header="Eliminar cuenta"
14
+ * message="Esta acción no se puede deshacer."
15
+ * acceptSeverity="danger"
16
+ * (accepted)="eliminar()"
17
+ * />
18
+ * ```
6
19
  */
7
20
  declare class CbConfirmDialog {
21
+ protected readonly t: _angular_core.Signal<_caribeng_ui.CbTranslation>;
8
22
  private readonly document;
23
+ /** Visibilidad (two-way). */
9
24
  readonly visible: _angular_core.ModelSignal<boolean>;
10
- readonly header: _angular_core.InputSignal<string>;
11
- readonly message: _angular_core.InputSignal<string>;
12
- readonly acceptLabel: _angular_core.InputSignal<string>;
13
- readonly rejectLabel: _angular_core.InputSignal<string>;
25
+ /** Título. Por defecto, "Confirmar" del idioma activo. */
26
+ readonly header: _angular_core.InputSignal<string | undefined>;
27
+ /** Mensaje. Por defecto, "¿Deseas continuar?" del idioma activo. */
28
+ readonly message: _angular_core.InputSignal<string | undefined>;
29
+ readonly acceptLabel: _angular_core.InputSignal<string | undefined>;
30
+ readonly rejectLabel: _angular_core.InputSignal<string | undefined>;
31
+ /** Severidad del botón de aceptar (p. ej. `danger` para acciones destructivas). */
32
+ readonly acceptSeverity: _angular_core.InputSignal<"primary" | "danger" | "success" | "warning">;
14
33
  readonly accepted: _angular_core.OutputEmitterRef<void>;
15
34
  readonly rejected: _angular_core.OutputEmitterRef<void>;
16
35
  protected readonly titleId: string;
@@ -22,7 +41,7 @@ declare class CbConfirmDialog {
22
41
  protected confirm(): void;
23
42
  protected reject(): void;
24
43
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbConfirmDialog, never>;
25
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbConfirmDialog, "cb-confirm-dialog", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "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>;
44
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbConfirmDialog, "cb-confirm-dialog", never, { "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "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>;
26
45
  }
27
46
 
28
47
  export { CbConfirmDialog };