@caribeng/ui 22.4.0 → 22.5.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 (186) hide show
  1. package/README.md +311 -313
  2. package/fesm2022/caribeng-ui-account-picker.mjs +533 -0
  3. package/fesm2022/caribeng-ui-aging.mjs +488 -0
  4. package/fesm2022/{caribeng-ui-caribe-alert.mjs → caribeng-ui-alert.mjs} +45 -45
  5. package/fesm2022/caribeng-ui-amount.mjs +249 -0
  6. package/fesm2022/caribeng-ui-anchor.mjs +2 -2
  7. package/fesm2022/{caribeng-ui-caribe-animation-lottie.mjs → caribeng-ui-animation-lottie.mjs} +41 -41
  8. package/fesm2022/caribeng-ui-audit-log.mjs +323 -0
  9. package/fesm2022/caribeng-ui-avatar.mjs +2 -2
  10. package/fesm2022/caribeng-ui-breadcrumb.mjs +13 -3
  11. package/fesm2022/{caribeng-ui-caribe-button-group.mjs → caribeng-ui-button-group.mjs} +15 -15
  12. package/fesm2022/caribeng-ui-button.mjs +2 -2
  13. package/fesm2022/{caribeng-ui-caribe-card-content.mjs → caribeng-ui-card-content.mjs} +39 -39
  14. package/fesm2022/{caribeng-ui-caribe-card-move.mjs → caribeng-ui-card-move.mjs} +65 -65
  15. package/fesm2022/{caribeng-ui-caribe-card-primary.mjs → caribeng-ui-card-primary.mjs} +31 -31
  16. package/fesm2022/{caribeng-ui-caribe-card-select.mjs → caribeng-ui-card-select.mjs} +67 -67
  17. package/fesm2022/caribeng-ui-carousel.mjs +2 -2
  18. package/fesm2022/caribeng-ui-cascadeselect.mjs +45 -9
  19. package/fesm2022/caribeng-ui-chat.mjs +2 -2
  20. package/fesm2022/{caribeng-ui-caribe-coachmark.mjs → caribeng-ui-coachmark.mjs} +85 -85
  21. package/fesm2022/caribeng-ui-command-palette.mjs +2 -2
  22. package/fesm2022/caribeng-ui-comments.mjs +864 -0
  23. package/fesm2022/caribeng-ui-datagrid.mjs +1635 -0
  24. package/fesm2022/caribeng-ui-dataview.mjs +2 -2
  25. package/fesm2022/caribeng-ui-datepicker.mjs +2 -2
  26. package/fesm2022/caribeng-ui-document.mjs +495 -0
  27. package/fesm2022/{caribeng-ui-caribe-dots-indicator.mjs → caribeng-ui-dots-indicator.mjs} +41 -41
  28. package/fesm2022/caribeng-ui-dynamic-form.mjs +1581 -0
  29. package/fesm2022/caribeng-ui-editor.mjs +2303 -1311
  30. package/fesm2022/{caribeng-ui-caribe-expansion-panel.mjs → caribeng-ui-expansion-panel.mjs} +39 -39
  31. package/fesm2022/{caribeng-ui-caribe-fab-menu.mjs → caribeng-ui-fab-menu.mjs} +75 -75
  32. package/fesm2022/caribeng-ui-file-card.mjs +2 -2
  33. package/fesm2022/{caribeng-ui-caribe-file-download.mjs → caribeng-ui-file-download.mjs} +63 -63
  34. package/fesm2022/caribeng-ui-financial-report.mjs +380 -0
  35. package/fesm2022/{caribeng-ui-caribe-float-menu.mjs → caribeng-ui-float-menu.mjs} +31 -31
  36. package/fesm2022/caribeng-ui-floatlabel.mjs +2 -2
  37. package/fesm2022/caribeng-ui-flow.mjs +1508 -0
  38. package/fesm2022/{caribeng-ui-caribe-footer.mjs → caribeng-ui-footer.mjs} +19 -19
  39. package/fesm2022/caribeng-ui-gantt.mjs +1094 -0
  40. package/fesm2022/{caribeng-ui-caribe-header.mjs → caribeng-ui-header.mjs} +49 -49
  41. package/fesm2022/{caribeng-ui-caribe-icon-button.mjs → caribeng-ui-icon-button.mjs} +23 -23
  42. package/fesm2022/caribeng-ui-image-cropper.mjs +671 -0
  43. package/fesm2022/caribeng-ui-import-wizard.mjs +746 -0
  44. package/fesm2022/caribeng-ui-infinite-scroll.mjs +226 -0
  45. package/fesm2022/caribeng-ui-input-number.mjs +22 -6
  46. package/fesm2022/{caribeng-ui-caribe-input-search.mjs → caribeng-ui-input-search.mjs} +65 -65
  47. package/fesm2022/{caribeng-ui-caribe-input-token.mjs → caribeng-ui-input-token.mjs} +59 -59
  48. package/fesm2022/caribeng-ui-inputotp.mjs +2 -2
  49. package/fesm2022/caribeng-ui-journal-entry.mjs +340 -0
  50. package/fesm2022/caribeng-ui-kanban.mjs +6 -6
  51. package/fesm2022/caribeng-ui-kpi.mjs +189 -0
  52. package/fesm2022/{caribeng-ui-caribe-link.mjs → caribeng-ui-link.mjs} +37 -37
  53. package/fesm2022/caribeng-ui-masonry.mjs +93 -0
  54. package/fesm2022/caribeng-ui-media-player.mjs +821 -0
  55. package/fesm2022/caribeng-ui-mentions.mjs +2 -2
  56. package/fesm2022/caribeng-ui-notification-center.mjs +636 -0
  57. package/fesm2022/{caribeng-ui-caribe-off-canvas.mjs → caribeng-ui-off-canvas.mjs} +55 -55
  58. package/fesm2022/{caribeng-ui-caribe-onboarding.mjs → caribeng-ui-onboarding.mjs} +105 -105
  59. package/fesm2022/caribeng-ui-orderlist.mjs +2 -2
  60. package/fesm2022/caribeng-ui-pdfviewer.mjs +1755 -25
  61. package/fesm2022/caribeng-ui-period-picker.mjs +637 -0
  62. package/fesm2022/caribeng-ui-phone-input.mjs +2 -2
  63. package/fesm2022/caribeng-ui-picklist.mjs +2 -2
  64. package/fesm2022/caribeng-ui-pivot.mjs +419 -0
  65. package/fesm2022/caribeng-ui-pricing.mjs +2 -2
  66. package/fesm2022/caribeng-ui-rating.mjs +14 -17
  67. package/fesm2022/caribeng-ui-reconciliation.mjs +386 -0
  68. package/fesm2022/caribeng-ui-scheduler.mjs +1027 -0
  69. package/fesm2022/caribeng-ui-select.mjs +2 -2
  70. package/fesm2022/{caribeng-ui-caribe-shortcut.mjs → caribeng-ui-shortcut.mjs} +29 -29
  71. package/fesm2022/caribeng-ui-sidebar.mjs +2 -2
  72. package/fesm2022/caribeng-ui-signature-pad.mjs +654 -0
  73. package/fesm2022/{caribeng-ui-caribe-status.mjs → caribeng-ui-status.mjs} +11 -11
  74. package/fesm2022/{caribeng-ui-caribe-step-indicator.mjs → caribeng-ui-step-indicator.mjs} +53 -53
  75. package/fesm2022/caribeng-ui-stepper.mjs +2 -2
  76. package/fesm2022/caribeng-ui-steps.mjs +2 -2
  77. package/fesm2022/caribeng-ui-table.mjs +323 -15
  78. package/fesm2022/caribeng-ui-tabmenu.mjs +2 -2
  79. package/fesm2022/caribeng-ui-tabs.mjs +2 -2
  80. package/fesm2022/{caribeng-ui-caribe-tag-button.mjs → caribeng-ui-tag-button.mjs} +25 -25
  81. package/fesm2022/caribeng-ui-tag.mjs +2 -2
  82. package/fesm2022/caribeng-ui-tieredmenu.mjs +6 -6
  83. package/fesm2022/{caribeng-ui-caribe-tracker.mjs → caribeng-ui-tracker.mjs} +29 -29
  84. package/fesm2022/{caribeng-ui-caribe-transaction-status.mjs → caribeng-ui-transaction-status.mjs} +11 -11
  85. package/fesm2022/caribeng-ui-treeselect.mjs +44 -9
  86. package/fesm2022/caribeng-ui-treetable.mjs +236 -17
  87. package/fesm2022/{caribeng-ui-caribe-voucher.mjs → caribeng-ui-voucher.mjs} +45 -45
  88. package/fesm2022/caribeng-ui-xlsx.mjs +486 -0
  89. package/fesm2022/caribeng-ui.mjs +1181 -1
  90. package/package.json +217 -177
  91. package/types/caribeng-ui-account-picker.d.ts +142 -0
  92. package/types/caribeng-ui-aging.d.ts +123 -0
  93. package/types/{caribeng-ui-caribe-alert.d.ts → caribeng-ui-alert.d.ts} +2 -2
  94. package/types/caribeng-ui-amount.d.ts +82 -0
  95. package/types/{caribeng-ui-caribe-animation-lottie.d.ts → caribeng-ui-animation-lottie.d.ts} +2 -2
  96. package/types/caribeng-ui-audit-log.d.ts +86 -0
  97. package/types/caribeng-ui-breadcrumb.d.ts +2 -2
  98. package/types/{caribeng-ui-caribe-button-group.d.ts → caribeng-ui-button-group.d.ts} +2 -2
  99. package/types/{caribeng-ui-caribe-card-content.d.ts → caribeng-ui-card-content.d.ts} +2 -2
  100. package/types/{caribeng-ui-caribe-card-move.d.ts → caribeng-ui-card-move.d.ts} +1 -1
  101. package/types/{caribeng-ui-caribe-card-primary.d.ts → caribeng-ui-card-primary.d.ts} +2 -2
  102. package/types/{caribeng-ui-caribe-card-select.d.ts → caribeng-ui-card-select.d.ts} +2 -2
  103. package/types/caribeng-ui-cascadeselect.d.ts +6 -0
  104. package/types/{caribeng-ui-caribe-coachmark.d.ts → caribeng-ui-coachmark.d.ts} +2 -2
  105. package/types/caribeng-ui-comments.d.ts +214 -0
  106. package/types/caribeng-ui-datagrid.d.ts +269 -0
  107. package/types/caribeng-ui-document.d.ts +138 -0
  108. package/types/{caribeng-ui-caribe-dots-indicator.d.ts → caribeng-ui-dots-indicator.d.ts} +2 -2
  109. package/types/caribeng-ui-dynamic-form.d.ts +409 -0
  110. package/types/caribeng-ui-editor.d.ts +110 -12
  111. package/types/{caribeng-ui-caribe-expansion-panel.d.ts → caribeng-ui-expansion-panel.d.ts} +1 -1
  112. package/types/{caribeng-ui-caribe-fab-menu.d.ts → caribeng-ui-fab-menu.d.ts} +2 -2
  113. package/types/{caribeng-ui-caribe-file-download.d.ts → caribeng-ui-file-download.d.ts} +1 -1
  114. package/types/caribeng-ui-financial-report.d.ts +102 -0
  115. package/types/{caribeng-ui-caribe-float-menu.d.ts → caribeng-ui-float-menu.d.ts} +2 -2
  116. package/types/caribeng-ui-flow.d.ts +228 -0
  117. package/types/{caribeng-ui-caribe-footer.d.ts → caribeng-ui-footer.d.ts} +2 -2
  118. package/types/caribeng-ui-gantt.d.ts +244 -0
  119. package/types/{caribeng-ui-caribe-header.d.ts → caribeng-ui-header.d.ts} +2 -2
  120. package/types/{caribeng-ui-caribe-icon-button.d.ts → caribeng-ui-icon-button.d.ts} +2 -2
  121. package/types/{caribeng-ui-caribe-illustration.d.ts → caribeng-ui-illustration.d.ts} +1 -1
  122. package/types/caribeng-ui-image-cropper.d.ts +169 -0
  123. package/types/caribeng-ui-import-wizard.d.ts +149 -0
  124. package/types/caribeng-ui-infinite-scroll.d.ts +75 -0
  125. package/types/caribeng-ui-input-number.d.ts +1 -1
  126. package/types/{caribeng-ui-caribe-input-search.d.ts → caribeng-ui-input-search.d.ts} +2 -2
  127. package/types/{caribeng-ui-caribe-input-token.d.ts → caribeng-ui-input-token.d.ts} +2 -2
  128. package/types/caribeng-ui-journal-entry.d.ts +110 -0
  129. package/types/caribeng-ui-kpi.d.ts +64 -0
  130. package/types/{caribeng-ui-caribe-link.d.ts → caribeng-ui-link.d.ts} +2 -2
  131. package/types/{caribeng-ui-caribe-logo.d.ts → caribeng-ui-logo.d.ts} +1 -1
  132. package/types/caribeng-ui-masonry.d.ts +32 -0
  133. package/types/caribeng-ui-media-player.d.ts +140 -0
  134. package/types/caribeng-ui-notification-center.d.ts +153 -0
  135. package/types/{caribeng-ui-caribe-off-canvas.d.ts → caribeng-ui-off-canvas.d.ts} +2 -2
  136. package/types/{caribeng-ui-caribe-onboarding.d.ts → caribeng-ui-onboarding.d.ts} +2 -2
  137. package/types/caribeng-ui-pdfviewer.d.ts +245 -5
  138. package/types/caribeng-ui-period-picker.d.ts +148 -0
  139. package/types/caribeng-ui-pivot.d.ts +116 -0
  140. package/types/caribeng-ui-reconciliation.d.ts +109 -0
  141. package/types/caribeng-ui-scheduler.d.ts +188 -0
  142. package/types/{caribeng-ui-caribe-shortcut.d.ts → caribeng-ui-shortcut.d.ts} +2 -2
  143. package/types/caribeng-ui-signature-pad.d.ts +151 -0
  144. package/types/{caribeng-ui-caribe-status.d.ts → caribeng-ui-status.d.ts} +2 -2
  145. package/types/{caribeng-ui-caribe-step-indicator.d.ts → caribeng-ui-step-indicator.d.ts} +2 -2
  146. package/types/caribeng-ui-table.d.ts +66 -2
  147. package/types/{caribeng-ui-caribe-tag-button.d.ts → caribeng-ui-tag-button.d.ts} +2 -2
  148. package/types/{caribeng-ui-caribe-tracker.d.ts → caribeng-ui-tracker.d.ts} +2 -2
  149. package/types/{caribeng-ui-caribe-transaction-status.d.ts → caribeng-ui-transaction-status.d.ts} +2 -2
  150. package/types/caribeng-ui-treeselect.d.ts +6 -0
  151. package/types/caribeng-ui-treetable.d.ts +67 -2
  152. package/types/{caribeng-ui-caribe-voucher.d.ts → caribeng-ui-voucher.d.ts} +2 -2
  153. package/types/caribeng-ui-xlsx.d.ts +79 -0
  154. package/types/caribeng-ui.d.ts +711 -2
  155. package/fesm2022/caribeng-ui-caribe-calendar.mjs +0 -92
  156. package/fesm2022/caribeng-ui-caribe-circle-loading.mjs +0 -130
  157. package/fesm2022/caribeng-ui-caribe-data-table.mjs +0 -94
  158. package/fesm2022/caribeng-ui-caribe-file-select.mjs +0 -88
  159. package/fesm2022/caribeng-ui-caribe-inline-alert.mjs +0 -100
  160. package/fesm2022/caribeng-ui-caribe-input-date.mjs +0 -138
  161. package/fesm2022/caribeng-ui-caribe-input-select.mjs +0 -154
  162. package/fesm2022/caribeng-ui-caribe-loader.mjs +0 -48
  163. package/fesm2022/caribeng-ui-caribe-modal.mjs +0 -119
  164. package/fesm2022/caribeng-ui-caribe-pictogram.mjs +0 -52
  165. package/fesm2022/caribeng-ui-caribe-pop-over.mjs +0 -104
  166. package/fesm2022/caribeng-ui-caribe-preloader.mjs +0 -57
  167. package/fesm2022/caribeng-ui-caribe-progress-bar.mjs +0 -84
  168. package/fesm2022/caribeng-ui-caribe-stroke.mjs +0 -69
  169. package/fesm2022/caribeng-ui-caribe-switch.mjs +0 -182
  170. package/types/caribeng-ui-caribe-calendar.d.ts +0 -27
  171. package/types/caribeng-ui-caribe-circle-loading.d.ts +0 -28
  172. package/types/caribeng-ui-caribe-data-table.d.ts +0 -26
  173. package/types/caribeng-ui-caribe-file-select.d.ts +0 -31
  174. package/types/caribeng-ui-caribe-inline-alert.d.ts +0 -28
  175. package/types/caribeng-ui-caribe-input-date.d.ts +0 -40
  176. package/types/caribeng-ui-caribe-input-select.d.ts +0 -47
  177. package/types/caribeng-ui-caribe-loader.d.ts +0 -22
  178. package/types/caribeng-ui-caribe-modal.d.ts +0 -21
  179. package/types/caribeng-ui-caribe-pictogram.d.ts +0 -15
  180. package/types/caribeng-ui-caribe-pop-over.d.ts +0 -17
  181. package/types/caribeng-ui-caribe-preloader.d.ts +0 -24
  182. package/types/caribeng-ui-caribe-progress-bar.d.ts +0 -28
  183. package/types/caribeng-ui-caribe-stroke.d.ts +0 -17
  184. package/types/caribeng-ui-caribe-switch.d.ts +0 -55
  185. /package/fesm2022/{caribeng-ui-caribe-illustration.mjs → caribeng-ui-illustration.mjs} +0 -0
  186. /package/fesm2022/{caribeng-ui-caribe-logo.mjs → caribeng-ui-logo.mjs} +0 -0
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import * as _caribeng_ui from '@caribeng/ui';
3
3
 
4
4
  /**
5
- * Tracker de Caribe Design: indicador de progreso por pasos (stepper) con
5
+ * Tracker: indicador de progreso por pasos (stepper) con
6
6
  * marcadores completados, activo y pendientes conectados por líneas.
7
7
  *
8
8
  * @example
@@ -22,4 +22,4 @@ declare class CbTracker {
22
22
  }
23
23
 
24
24
  export { CbTracker };
25
- //# sourceMappingURL=caribeng-ui-caribe-tracker.d.ts.map
25
+ //# sourceMappingURL=caribeng-ui-tracker.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
 
3
3
  /**
4
- * Transaction-status de Caribe Design: indicador del resultado de una
4
+ * Transaction-status: indicador del resultado de una
5
5
  * transacción (éxito, advertencia, error, info).
6
6
  *
7
7
  * @example
@@ -18,4 +18,4 @@ declare class CbTransactionStatus {
18
18
  }
19
19
 
20
20
  export { CbTransactionStatus };
21
- //# sourceMappingURL=caribeng-ui-caribe-transaction-status.d.ts.map
21
+ //# sourceMappingURL=caribeng-ui-transaction-status.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import * as _caribeng_ui from '@caribeng/ui';
3
3
  import { cbFormat } from '@caribeng/ui';
4
+ import { ConnectedPosition } from '@angular/cdk/overlay';
4
5
  import { ControlValueAccessor } from '@angular/forms';
5
6
 
6
7
  interface CbTreeSelectNode {
@@ -44,6 +45,11 @@ declare class CbTreeSelect implements ControlValueAccessor {
44
45
  registerOnTouched(fn: () => void): void;
45
46
  setDisabledState(isDisabled: boolean): void;
46
47
  private readonly trigger;
48
+ private readonly host;
49
+ protected readonly triggerWidth: _angular_core.WritableSignal<number>;
50
+ protected readonly positions: ConnectedPosition[];
51
+ /** Un clic fuera del panel lo cierra (el del disparador ya lo alterna). */
52
+ protected onOutsideClick(event: MouseEvent): void;
47
53
  /** Escape cierra el panel y devuelve el foco al disparador. */
48
54
  protected closeOnEscape(event: Event): void;
49
55
  toggleOpen(): void;
@@ -1,11 +1,30 @@
1
1
  import * as _caribeng_ui from '@caribeng/ui';
2
- import { cbFormat } from '@caribeng/ui';
2
+ import { cbFormat, CbNegativeStyle, CbSummary } from '@caribeng/ui';
3
3
  import * as _angular_core from '@angular/core';
4
4
  import { TemplateRef } from '@angular/core';
5
+ import { CbExcelExportOptions, CbXlsxSheet } from '@caribeng/ui/xlsx';
5
6
 
6
7
  interface CbTreeTableColumn {
7
8
  field: string;
8
9
  header: string;
10
+ /** Formato: `number`, `currency` o `percent` (alineados a la derecha, negativos en rojo). */
11
+ type?: 'text' | 'number' | 'currency' | 'percent';
12
+ /** Moneda de una columna `currency` (si no, la de la tabla o `provideCaribeNG({ currency })`). */
13
+ currency?: string;
14
+ decimals?: number;
15
+ negative?: CbNegativeStyle;
16
+ align?: 'left' | 'center' | 'right';
17
+ width?: string;
18
+ /** Texto propio de la celda. */
19
+ format?: (value: unknown, node: CbTreeTableNode | null) => string;
20
+ /**
21
+ * Total de la columna: en el pie (sobre las hojas) y, con `rollup`, en cada fila
22
+ * padre (sobre sus descendientes). `sum`, `avg`, `count`, `min`, `max` o una
23
+ * función con los datos de las hojas.
24
+ */
25
+ summary?: CbSummary | ((leaves: readonly Record<string, unknown>[]) => unknown);
26
+ /** Texto fijo en el pie de esta columna. */
27
+ footer?: string;
9
28
  }
10
29
  interface CbTreeTableNode {
11
30
  /** Identificador único en toda la tabla. */
@@ -55,18 +74,54 @@ declare class CbTreeTable {
55
74
  readonly columns: _angular_core.InputSignal<readonly CbTreeTableColumn[]>;
56
75
  /** Nombre accesible de la tabla. */
57
76
  readonly ariaLabel: _angular_core.InputSignal<string>;
77
+ /**
78
+ * Las filas padre muestran, en las columnas con `summary`, el total de sus
79
+ * descendientes (p. ej. el saldo de una cuenta mayor a partir de sus auxiliares).
80
+ */
81
+ readonly rollup: _angular_core.InputSignalWithTransform<boolean, unknown>;
82
+ /** Moneda de las columnas `currency` (si no, la de `provideCaribeNG({ currency })`). */
83
+ readonly currency: _angular_core.InputSignal<string | undefined>;
84
+ /** Muestra el pie con los totales de las columnas con `summary`. */
85
+ readonly showFooter: _angular_core.InputSignalWithTransform<boolean, unknown>;
86
+ /** Clases CSS extra por fila (p. ej. para filas de total). */
87
+ readonly rowClass: _angular_core.InputSignal<((node: CbTreeTableNode) => string | null) | null>;
88
+ /** Las filas sin hijos se activan con clic o Enter (`nodeActivate`), p. ej. para ver sus movimientos. */
89
+ readonly activateLeaves: _angular_core.InputSignalWithTransform<boolean, unknown>;
90
+ /** Negativos con signo o entre paréntesis (si no, el de `provideCaribeNG({ negativeStyle })`). */
91
+ readonly negativeStyle: _angular_core.InputSignal<CbNegativeStyle | undefined>;
58
92
  /** Se emite al expandir una fila. */
59
93
  readonly nodeExpand: _angular_core.OutputEmitterRef<CbTreeTableNode>;
60
94
  /** Se emite al contraer una fila. */
61
95
  readonly nodeCollapse: _angular_core.OutputEmitterRef<CbTreeTableNode>;
96
+ /** Con `activateLeaves`: clic o Enter sobre una fila sin hijos. */
97
+ readonly nodeActivate: _angular_core.OutputEmitterRef<CbTreeTableNode>;
62
98
  private readonly cellTemplates;
63
99
  protected readonly expanded: _angular_core.WritableSignal<ReadonlySet<string>>;
64
100
  protected readonly activeKey: _angular_core.WritableSignal<string | null>;
65
101
  protected readonly tabbableKey: _angular_core.Signal<string>;
66
102
  /** Filas visibles: las de las ramas expandidas, en orden. */
67
103
  protected readonly rows: _angular_core.Signal<Row[]>;
104
+ private readonly config;
105
+ protected readonly hasFooterText: _angular_core.Signal<boolean>;
106
+ protected readonly hasFooter: _angular_core.Signal<boolean>;
107
+ /** Columna de la etiqueta "Total": la primera sin total. */
108
+ protected readonly labelColumn: _angular_core.Signal<number>;
109
+ /** Totales de cada nodo con hijos (sobre sus hojas), por columna con `summary`. */
110
+ private readonly aggregates;
111
+ /** Totales del pie (sobre todas las hojas). */
112
+ protected readonly totals: _angular_core.Signal<Record<string, unknown>>;
113
+ /**
114
+ * Hoja de Excel con todas las filas (también las contraídas) agrupadas por
115
+ * nivel con el esquema de Excel, sangría en la primera columna, filas padre en
116
+ * negrita (con sus totales si hay `rollup`) y el total al final.
117
+ */
118
+ toExcelSheet(options?: CbExcelExportOptions): CbXlsxSheet;
119
+ /** Descarga el árbol en Excel (`nombre.xlsx`), con los niveles plegables. */
120
+ exportExcel(filename?: string, options?: CbExcelExportOptions): void;
68
121
  /** Expande todas las filas. */
69
122
  expandAll(): void;
123
+ /** Expande las filas hasta el nivel `level` (1 = solo las raíces visibles) y contrae el resto. */
124
+ expandToLevel(level: number): void;
70
125
  /** Contrae todas las filas. */
71
126
  collapseAll(): void;
72
127
  protected hasChildren(node: CbTreeTableNode): boolean;
@@ -74,12 +129,22 @@ declare class CbTreeTable {
74
129
  protected rowId(node: CbTreeTableNode): string;
75
130
  /** Texto de la primera columna, para las etiquetas accesibles. */
76
131
  protected label(node: CbTreeTableNode): string;
132
+ /** Valor de una celda: el total de sus descendientes en las filas padre con `rollup`. */
133
+ protected valueOf(node: CbTreeTableNode, col: CbTreeTableColumn): unknown;
134
+ protected isNumeric(col: CbTreeTableColumn): boolean;
135
+ protected alignOf(col: CbTreeTableColumn): string | null;
136
+ protected isNegative(value: unknown, col: CbTreeTableColumn): boolean;
137
+ protected display(value: unknown, col: CbTreeTableColumn, node: CbTreeTableNode | null): unknown;
138
+ protected summaryText(value: unknown, col: CbTreeTableColumn): string;
139
+ private summarize;
140
+ private formatNumber;
77
141
  protected cellTemplate(field: string): TemplateRef<CbTreeTableCellContext> | null;
142
+ protected onRowClick(node: CbTreeTableNode): void;
78
143
  protected toggle(node: CbTreeTableNode): void;
79
144
  protected onKeydown(event: KeyboardEvent): void;
80
145
  private setExpanded;
81
146
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CbTreeTable, never>;
82
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbTreeTable, "cb-treetable", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; }, ["cellTemplates"], never, true, never>;
147
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CbTreeTable, "cb-treetable", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "rollup": { "alias": "rollup"; "required": false; "isSignal": true; }; "currency": { "alias": "currency"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "rowClass": { "alias": "rowClass"; "required": false; "isSignal": true; }; "activateLeaves": { "alias": "activateLeaves"; "required": false; "isSignal": true; }; "negativeStyle": { "alias": "negativeStyle"; "required": false; "isSignal": true; }; }, { "nodeExpand": "nodeExpand"; "nodeCollapse": "nodeCollapse"; "nodeActivate": "nodeActivate"; }, ["cellTemplates"], never, true, never>;
83
148
  }
84
149
 
85
150
  export { CbTreeTable, CbTreeTableCellTemplate };
@@ -2,7 +2,7 @@ import * as _angular_core from '@angular/core';
2
2
  import * as _caribeng_ui from '@caribeng/ui';
3
3
 
4
4
  /**
5
- * Voucher de Caribe Design: comprobante de operación con filas clave/valor y
5
+ * Voucher: comprobante de operación con filas clave/valor y
6
6
  * una acción para compartir.
7
7
  *
8
8
  * @example
@@ -25,4 +25,4 @@ declare class CbVoucher {
25
25
  }
26
26
 
27
27
  export { CbVoucher };
28
- //# sourceMappingURL=caribeng-ui-caribe-voucher.d.ts.map
28
+ //# sourceMappingURL=caribeng-ui-voucher.d.ts.map
@@ -0,0 +1,79 @@
1
+ /** Tipo de dato (y formato) de una columna de Excel. */
2
+ type CbXlsxType = 'text' | 'number' | 'integer' | 'currency' | 'percent' | 'date';
3
+ /** Columna de una hoja. */
4
+ interface CbXlsxColumn {
5
+ readonly header: string;
6
+ readonly type?: CbXlsxType;
7
+ /** Ancho en caracteres (si no, se calcula con el contenido). */
8
+ readonly width?: number;
9
+ /** Decimales de `number`, `currency` y `percent` (2 por defecto). */
10
+ readonly decimals?: number;
11
+ /** Símbolo de moneda de `currency` (`$` por defecto). */
12
+ readonly symbol?: string;
13
+ /** Negativos con signo o entre paréntesis; siempre en rojo. */
14
+ readonly negative?: 'minus' | 'parens';
15
+ }
16
+ /** Fila con opciones. */
17
+ interface CbXlsxRow {
18
+ readonly cells: readonly unknown[];
19
+ /** Nivel de agrupación (esquema de Excel, de 0 a 7): las filas se pliegan bajo su padre. */
20
+ readonly level?: number;
21
+ /** Fila en negrita (totales, cuentas mayores). */
22
+ readonly bold?: boolean;
23
+ /** Sangría de la primera celda (niveles de un árbol). */
24
+ readonly indent?: number;
25
+ }
26
+ /** Hoja del libro. */
27
+ interface CbXlsxSheet {
28
+ /** Nombre de la pestaña (máx. 31 caracteres; se quitan `\ / ? * [ ] :`). */
29
+ readonly name: string;
30
+ readonly columns: readonly CbXlsxColumn[];
31
+ readonly rows: readonly (readonly unknown[] | CbXlsxRow)[];
32
+ /** Líneas de título sobre el encabezado (empresa, informe, periodo). */
33
+ readonly title?: readonly string[];
34
+ /** Fila de totales al final, en negrita. */
35
+ readonly totals?: readonly unknown[];
36
+ /** Deja fijo el encabezado al desplazarse (por defecto `true`). */
37
+ readonly freeze?: boolean;
38
+ /** Filtros en el encabezado (por defecto `true`). */
39
+ readonly autoFilter?: boolean;
40
+ }
41
+ /** Opciones de `exportExcel()` de Table, TreeTable y Data Grid. */
42
+ interface CbExcelExportOptions {
43
+ /** Líneas de título sobre el encabezado (empresa, informe, periodo). */
44
+ readonly title?: readonly string[];
45
+ /** Nombre de la pestaña. */
46
+ readonly sheetName?: string;
47
+ }
48
+ /** Símbolo corto de una moneda (`COP` → `$`, `EUR` → `€`). */
49
+ declare function currencySymbol(code: string, locale?: string): string;
50
+ /** Letra(s) de columna: 0 → A, 26 → AA. */
51
+ declare function columnName(index: number): string;
52
+ /** Fecha a número de serie de Excel (días desde el 30/12/1899, hora local). */
53
+ declare function excelDate(date: Date): number;
54
+ /** Código de formato numérico de Excel para una columna. */
55
+ declare function numberFormat(col: CbXlsxColumn): string | null;
56
+ /** Bytes del libro .xlsx con una o varias hojas. */
57
+ declare function cbXlsxBytes(sheets: CbXlsxSheet | readonly CbXlsxSheet[]): Uint8Array;
58
+ /** Libro .xlsx como `Blob`. */
59
+ declare function cbXlsx(sheets: CbXlsxSheet | readonly CbXlsxSheet[]): Blob;
60
+ /** Descarga el libro (`nombre.xlsx`). */
61
+ declare function cbDownloadXlsx(filename: string, sheets: CbXlsxSheet | readonly CbXlsxSheet[]): void;
62
+
63
+ /** Hoja leída de un .xlsx: su nombre y las celdas como texto o número. */
64
+ interface CbXlsxReadSheet {
65
+ readonly name: string;
66
+ readonly rows: (string | number | boolean | null)[][];
67
+ }
68
+ /**
69
+ * Lee un libro .xlsx (Excel, LibreOffice, Google Sheets) en el navegador: todas
70
+ * las hojas con sus celdas como texto, número o booleano. Las fechas quedan
71
+ * como número de serie de Excel (ver `excelSerialToDate`).
72
+ */
73
+ declare function cbReadXlsx(input: Blob | ArrayBuffer | Uint8Array): Promise<CbXlsxReadSheet[]>;
74
+ /** Número de serie de Excel a fecha local. */
75
+ declare function excelSerialToDate(serial: number): Date;
76
+
77
+ export { cbDownloadXlsx, cbReadXlsx, cbXlsx, cbXlsxBytes, columnName, currencySymbol, excelDate, excelSerialToDate, numberFormat };
78
+ export type { CbExcelExportOptions, CbXlsxColumn, CbXlsxReadSheet, CbXlsxRow, CbXlsxSheet, CbXlsxType };
79
+ //# sourceMappingURL=caribeng-ui-xlsx.d.ts.map