@toolbox-web/grid 0.6.0 → 1.1.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 (197) hide show
  1. package/README.md +79 -26
  2. package/all.d.ts +1 -0
  3. package/all.d.ts.map +1 -1
  4. package/all.js +1899 -2696
  5. package/all.js.map +1 -1
  6. package/index.js +1498 -2489
  7. package/index.js.map +1 -1
  8. package/lib/core/constants.d.ts +8 -0
  9. package/lib/core/constants.d.ts.map +1 -1
  10. package/lib/core/grid.d.ts +704 -55
  11. package/lib/core/grid.d.ts.map +1 -1
  12. package/lib/core/internal/config-manager.d.ts +3 -7
  13. package/lib/core/internal/config-manager.d.ts.map +1 -1
  14. package/lib/core/internal/dom-builder.d.ts +2 -10
  15. package/lib/core/internal/dom-builder.d.ts.map +1 -1
  16. package/lib/core/internal/inference.d.ts.map +1 -1
  17. package/lib/core/internal/keyboard.d.ts.map +1 -1
  18. package/lib/core/internal/render-scheduler.d.ts +2 -0
  19. package/lib/core/internal/render-scheduler.d.ts.map +1 -1
  20. package/lib/core/internal/rows.d.ts +9 -1
  21. package/lib/core/internal/rows.d.ts.map +1 -1
  22. package/lib/core/internal/shell.d.ts +41 -41
  23. package/lib/core/internal/shell.d.ts.map +1 -1
  24. package/lib/core/internal/validate-config.d.ts +10 -0
  25. package/lib/core/internal/validate-config.d.ts.map +1 -1
  26. package/lib/core/plugin/base-plugin.d.ts +103 -15
  27. package/lib/core/plugin/base-plugin.d.ts.map +1 -1
  28. package/lib/core/plugin/index.d.ts +1 -1
  29. package/lib/core/plugin/index.d.ts.map +1 -1
  30. package/lib/core/plugin/types.d.ts +33 -6
  31. package/lib/core/plugin/types.d.ts.map +1 -1
  32. package/lib/core/types.d.ts +376 -68
  33. package/lib/core/types.d.ts.map +1 -1
  34. package/lib/plugins/clipboard/ClipboardPlugin.d.ts +89 -2
  35. package/lib/plugins/clipboard/ClipboardPlugin.d.ts.map +1 -1
  36. package/lib/plugins/clipboard/index.d.ts +2 -0
  37. package/lib/plugins/clipboard/index.d.ts.map +1 -1
  38. package/lib/plugins/clipboard/index.js +46 -35
  39. package/lib/plugins/clipboard/index.js.map +1 -1
  40. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts +57 -2
  41. package/lib/plugins/column-virtualization/ColumnVirtualizationPlugin.d.ts.map +1 -1
  42. package/lib/plugins/column-virtualization/index.d.ts +2 -0
  43. package/lib/plugins/column-virtualization/index.d.ts.map +1 -1
  44. package/lib/plugins/column-virtualization/index.js +55 -43
  45. package/lib/plugins/column-virtualization/index.js.map +1 -1
  46. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts +75 -5
  47. package/lib/plugins/context-menu/ContextMenuPlugin.d.ts.map +1 -1
  48. package/lib/plugins/context-menu/index.d.ts +3 -1
  49. package/lib/plugins/context-menu/index.d.ts.map +1 -1
  50. package/lib/plugins/context-menu/index.js +76 -66
  51. package/lib/plugins/context-menu/index.js.map +1 -1
  52. package/lib/plugins/editing/EditingPlugin.d.ts +107 -10
  53. package/lib/plugins/editing/EditingPlugin.d.ts.map +1 -1
  54. package/lib/plugins/editing/editors.d.ts +9 -1
  55. package/lib/plugins/editing/editors.d.ts.map +1 -1
  56. package/lib/plugins/editing/index.d.ts +4 -2
  57. package/lib/plugins/editing/index.d.ts.map +1 -1
  58. package/lib/plugins/editing/index.js +458 -279
  59. package/lib/plugins/editing/index.js.map +1 -1
  60. package/lib/plugins/editing/types.d.ts +88 -0
  61. package/lib/plugins/editing/types.d.ts.map +1 -1
  62. package/lib/plugins/export/ExportPlugin.d.ts +73 -7
  63. package/lib/plugins/export/ExportPlugin.d.ts.map +1 -1
  64. package/lib/plugins/export/index.d.ts +2 -0
  65. package/lib/plugins/export/index.d.ts.map +1 -1
  66. package/lib/plugins/export/index.js +40 -33
  67. package/lib/plugins/export/index.js.map +1 -1
  68. package/lib/plugins/filtering/FilteringPlugin.d.ts +98 -2
  69. package/lib/plugins/filtering/FilteringPlugin.d.ts.map +1 -1
  70. package/lib/plugins/filtering/index.d.ts +2 -0
  71. package/lib/plugins/filtering/index.d.ts.map +1 -1
  72. package/lib/plugins/filtering/index.js +31 -17
  73. package/lib/plugins/filtering/index.js.map +1 -1
  74. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts +86 -7
  75. package/lib/plugins/grouping-columns/GroupingColumnsPlugin.d.ts.map +1 -1
  76. package/lib/plugins/grouping-columns/index.d.ts +2 -0
  77. package/lib/plugins/grouping-columns/index.d.ts.map +1 -1
  78. package/lib/plugins/grouping-columns/index.js +57 -27
  79. package/lib/plugins/grouping-columns/index.js.map +1 -1
  80. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts +81 -5
  81. package/lib/plugins/grouping-rows/GroupingRowsPlugin.d.ts.map +1 -1
  82. package/lib/plugins/grouping-rows/index.d.ts +3 -1
  83. package/lib/plugins/grouping-rows/index.d.ts.map +1 -1
  84. package/lib/plugins/grouping-rows/index.js +35 -21
  85. package/lib/plugins/grouping-rows/index.js.map +1 -1
  86. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts +90 -5
  87. package/lib/plugins/master-detail/MasterDetailPlugin.d.ts.map +1 -1
  88. package/lib/plugins/master-detail/index.d.ts +2 -0
  89. package/lib/plugins/master-detail/index.d.ts.map +1 -1
  90. package/lib/plugins/master-detail/index.js +33 -17
  91. package/lib/plugins/master-detail/index.js.map +1 -1
  92. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts +83 -2
  93. package/lib/plugins/multi-sort/MultiSortPlugin.d.ts.map +1 -1
  94. package/lib/plugins/multi-sort/index.d.ts +2 -0
  95. package/lib/plugins/multi-sort/index.d.ts.map +1 -1
  96. package/lib/plugins/multi-sort/index.js +33 -19
  97. package/lib/plugins/multi-sort/index.js.map +1 -1
  98. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts +67 -3
  99. package/lib/plugins/pinned-columns/PinnedColumnsPlugin.d.ts.map +1 -1
  100. package/lib/plugins/pinned-columns/index.d.ts +3 -1
  101. package/lib/plugins/pinned-columns/index.d.ts.map +1 -1
  102. package/lib/plugins/pinned-columns/index.js +43 -17
  103. package/lib/plugins/pinned-columns/index.js.map +1 -1
  104. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts +71 -10
  105. package/lib/plugins/pinned-rows/PinnedRowsPlugin.d.ts.map +1 -1
  106. package/lib/plugins/pinned-rows/index.d.ts +3 -1
  107. package/lib/plugins/pinned-rows/index.d.ts.map +1 -1
  108. package/lib/plugins/pinned-rows/index.js +27 -17
  109. package/lib/plugins/pinned-rows/index.js.map +1 -1
  110. package/lib/plugins/pivot/PivotPlugin.d.ts +81 -4
  111. package/lib/plugins/pivot/PivotPlugin.d.ts.map +1 -1
  112. package/lib/plugins/pivot/index.d.ts +2 -0
  113. package/lib/plugins/pivot/index.d.ts.map +1 -1
  114. package/lib/plugins/pivot/index.js +32 -17
  115. package/lib/plugins/pivot/index.js.map +1 -1
  116. package/lib/plugins/reorder/ReorderPlugin.d.ts +71 -3
  117. package/lib/plugins/reorder/ReorderPlugin.d.ts.map +1 -1
  118. package/lib/plugins/reorder/index.d.ts +2 -0
  119. package/lib/plugins/reorder/index.d.ts.map +1 -1
  120. package/lib/plugins/reorder/index.js +30 -18
  121. package/lib/plugins/reorder/index.js.map +1 -1
  122. package/lib/plugins/reorder/types.d.ts +0 -5
  123. package/lib/plugins/reorder/types.d.ts.map +1 -1
  124. package/lib/plugins/responsive/ResponsivePlugin.d.ts +123 -0
  125. package/lib/plugins/responsive/ResponsivePlugin.d.ts.map +1 -0
  126. package/lib/plugins/responsive/index.d.ts +11 -0
  127. package/lib/plugins/responsive/index.d.ts.map +1 -0
  128. package/lib/plugins/responsive/index.js +589 -0
  129. package/lib/plugins/responsive/index.js.map +1 -0
  130. package/lib/plugins/responsive/types.d.ts +133 -0
  131. package/lib/plugins/responsive/types.d.ts.map +1 -0
  132. package/lib/plugins/selection/SelectionPlugin.d.ts +90 -21
  133. package/lib/plugins/selection/SelectionPlugin.d.ts.map +1 -1
  134. package/lib/plugins/selection/index.d.ts +3 -2
  135. package/lib/plugins/selection/index.d.ts.map +1 -1
  136. package/lib/plugins/selection/index.js +125 -144
  137. package/lib/plugins/selection/index.js.map +1 -1
  138. package/lib/plugins/selection/types.d.ts +51 -4
  139. package/lib/plugins/selection/types.d.ts.map +1 -1
  140. package/lib/plugins/server-side/ServerSidePlugin.d.ts +65 -4
  141. package/lib/plugins/server-side/ServerSidePlugin.d.ts.map +1 -1
  142. package/lib/plugins/server-side/index.d.ts +3 -1
  143. package/lib/plugins/server-side/index.d.ts.map +1 -1
  144. package/lib/plugins/server-side/index.js +27 -17
  145. package/lib/plugins/server-side/index.js.map +1 -1
  146. package/lib/plugins/tree/TreePlugin.d.ts +89 -2
  147. package/lib/plugins/tree/TreePlugin.d.ts.map +1 -1
  148. package/lib/plugins/tree/index.d.ts +3 -2
  149. package/lib/plugins/tree/index.d.ts.map +1 -1
  150. package/lib/plugins/tree/index.js +81 -94
  151. package/lib/plugins/tree/index.js.map +1 -1
  152. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts +66 -3
  153. package/lib/plugins/undo-redo/UndoRedoPlugin.d.ts.map +1 -1
  154. package/lib/plugins/undo-redo/index.d.ts +3 -1
  155. package/lib/plugins/undo-redo/index.d.ts.map +1 -1
  156. package/lib/plugins/undo-redo/index.js +32 -22
  157. package/lib/plugins/undo-redo/index.js.map +1 -1
  158. package/lib/plugins/visibility/VisibilityPlugin.d.ts +86 -2
  159. package/lib/plugins/visibility/VisibilityPlugin.d.ts.map +1 -1
  160. package/lib/plugins/visibility/index.d.ts +2 -0
  161. package/lib/plugins/visibility/index.d.ts.map +1 -1
  162. package/lib/plugins/visibility/index.js +28 -17
  163. package/lib/plugins/visibility/index.js.map +1 -1
  164. package/package.json +1 -1
  165. package/public.d.ts +30 -2
  166. package/public.d.ts.map +1 -1
  167. package/umd/grid.all.umd.js +31 -25
  168. package/umd/grid.all.umd.js.map +1 -1
  169. package/umd/grid.umd.js +21 -17
  170. package/umd/grid.umd.js.map +1 -1
  171. package/umd/plugins/clipboard.umd.js.map +1 -1
  172. package/umd/plugins/column-virtualization.umd.js.map +1 -1
  173. package/umd/plugins/context-menu.umd.js.map +1 -1
  174. package/umd/plugins/editing.umd.js +1 -1
  175. package/umd/plugins/editing.umd.js.map +1 -1
  176. package/umd/plugins/export.umd.js.map +1 -1
  177. package/umd/plugins/filtering.umd.js.map +1 -1
  178. package/umd/plugins/grouping-columns.umd.js +1 -1
  179. package/umd/plugins/grouping-columns.umd.js.map +1 -1
  180. package/umd/plugins/grouping-rows.umd.js.map +1 -1
  181. package/umd/plugins/master-detail.umd.js.map +1 -1
  182. package/umd/plugins/multi-sort.umd.js.map +1 -1
  183. package/umd/plugins/pinned-columns.umd.js +1 -1
  184. package/umd/plugins/pinned-columns.umd.js.map +1 -1
  185. package/umd/plugins/pinned-rows.umd.js.map +1 -1
  186. package/umd/plugins/pivot.umd.js.map +1 -1
  187. package/umd/plugins/reorder.umd.js +1 -1
  188. package/umd/plugins/reorder.umd.js.map +1 -1
  189. package/umd/plugins/responsive.umd.js +2 -0
  190. package/umd/plugins/responsive.umd.js.map +1 -0
  191. package/umd/plugins/selection.umd.js +3 -1
  192. package/umd/plugins/selection.umd.js.map +1 -1
  193. package/umd/plugins/server-side.umd.js.map +1 -1
  194. package/umd/plugins/tree.umd.js +1 -1
  195. package/umd/plugins/tree.umd.js.map +1 -1
  196. package/umd/plugins/undo-redo.umd.js.map +1 -1
  197. package/umd/plugins/visibility.umd.js.map +1 -1
@@ -1,30 +1,91 @@
1
1
  import { BaseGridPlugin } from '../../core/plugin/base-plugin';
2
2
  import { AggregationRowConfig, PinnedRowsConfig, PinnedRowsContext, PinnedRowsPanel } from './types';
3
3
  /**
4
- * Pinned Rows Plugin for tbw-grid
4
+ * Pinned Rows (Status Bar) Plugin for tbw-grid
5
+ *
6
+ * Creates fixed status bars at the top or bottom of the grid for displaying aggregations,
7
+ * row counts, or custom content. Think of it as the "totals row" you'd see in a spreadsheet—
8
+ * always visible regardless of scroll position.
9
+ *
10
+ * ## Installation
5
11
  *
6
- * @example
7
12
  * ```ts
8
- * new PinnedRowsPlugin({
9
- * enabled: true,
10
- * position: 'bottom',
11
- * showRowCount: true,
12
- * showSelectedCount: true,
13
- * aggregationRows: [
14
- * { id: 'totals', position: 'bottom', values: { amount: 'sum' } },
13
+ * import { PinnedRowsPlugin } from '@toolbox-web/grid/plugins/pinned-rows';
14
+ * ```
15
+ *
16
+ * ## Configuration Options
17
+ *
18
+ * | Option | Type | Default | Description |
19
+ * |--------|------|---------|-------------|
20
+ * | `position` | `'top' \| 'bottom'` | `'bottom'` | Status bar position |
21
+ * | `showRowCount` | `boolean` | `true` | Show total row count |
22
+ * | `showSelectedCount` | `boolean` | `true` | Show selected row count |
23
+ * | `showFilteredCount` | `boolean` | `true` | Show filtered row count |
24
+ * | `aggregationRows` | `AggregationRowConfig[]` | - | Aggregation row configs |
25
+ *
26
+ * ## Built-in Aggregation Functions
27
+ *
28
+ * | Function | Description |
29
+ * |----------|-------------|
30
+ * | `sum` | Sum of values |
31
+ * | `avg` | Average of values |
32
+ * | `count` | Count of rows |
33
+ * | `min` | Minimum value |
34
+ * | `max` | Maximum value |
35
+ *
36
+ * ## CSS Custom Properties
37
+ *
38
+ * | Property | Default | Description |
39
+ * |----------|---------|-------------|
40
+ * | `--tbw-pinned-rows-bg` | `var(--tbw-color-panel-bg)` | Status bar background |
41
+ * | `--tbw-pinned-rows-border` | `var(--tbw-color-border)` | Status bar border |
42
+ *
43
+ * @example Status Bar with Aggregation
44
+ * ```ts
45
+ * import '@toolbox-web/grid';
46
+ * import { PinnedRowsPlugin } from '@toolbox-web/grid/plugins/pinned-rows';
47
+ *
48
+ * grid.gridConfig = {
49
+ * columns: [
50
+ * { field: 'product', header: 'Product' },
51
+ * { field: 'quantity', header: 'Qty', type: 'number' },
52
+ * { field: 'price', header: 'Price', type: 'currency' },
15
53
  * ],
16
- * })
54
+ * plugins: [
55
+ * new PinnedRowsPlugin({
56
+ * position: 'bottom',
57
+ * showRowCount: true,
58
+ * aggregationRows: [
59
+ * {
60
+ * id: 'totals',
61
+ * aggregators: { quantity: 'sum', price: 'sum' },
62
+ * cells: { product: 'Totals:' },
63
+ * },
64
+ * ],
65
+ * }),
66
+ * ],
67
+ * };
17
68
  * ```
69
+ *
70
+ * @see {@link PinnedRowsConfig} for all configuration options
71
+ * @see {@link AggregationRowConfig} for aggregation row structure
72
+ *
73
+ * @internal Extends BaseGridPlugin
18
74
  */
19
75
  export declare class PinnedRowsPlugin extends BaseGridPlugin<PinnedRowsConfig> {
76
+ /** @internal */
20
77
  readonly name = "pinnedRows";
78
+ /** @internal */
21
79
  readonly styles: string;
80
+ /** @internal */
22
81
  protected get defaultConfig(): Partial<PinnedRowsConfig>;
23
82
  private infoBarElement;
24
83
  private topAggregationContainer;
25
84
  private bottomAggregationContainer;
26
85
  private footerWrapper;
86
+ /** @internal */
27
87
  detach(): void;
88
+ /** @internal */
28
89
  afterRender(): void;
29
90
  private cleanup;
30
91
  private cleanupFooter;
@@ -1 +1 @@
1
- {"version":3,"file":"PinnedRowsPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/pinned-rows/PinnedRowsPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,SAAkB,MAAM,SAAU;IAElC,cAAuB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAOhE;IAGD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,0BAA0B,CAA4B;IAC9D,OAAO,CAAC,aAAa,CAA4B;IAIxC,MAAM,IAAI,IAAI;IAqBd,WAAW,IAAI,IAAI;IA4H5B,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,UAAU,IAAI,iBAAiB;IAa/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAQtC;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO7B;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAQlD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAOvC"}
1
+ {"version":3,"file":"PinnedRowsPlugin.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/pinned-rows/PinnedRowsPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc,CAAC,gBAAgB,CAAC;IACpE,gBAAgB;IAChB,QAAQ,CAAC,IAAI,gBAAgB;IAC7B,gBAAgB;IAChB,SAAkB,MAAM,SAAU;IAElC,gBAAgB;IAChB,cAAuB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAOhE;IAGD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,uBAAuB,CAA4B;IAC3D,OAAO,CAAC,0BAA0B,CAA4B;IAC9D,OAAO,CAAC,aAAa,CAA4B;IAIjD,gBAAgB;IACP,MAAM,IAAI,IAAI;IAqBvB,gBAAgB;IACP,WAAW,IAAI,IAAI;IA4H5B,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAIf;;;OAGG;IACH,UAAU,IAAI,iBAAiB;IAa/B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAQtC;;;OAGG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAO7B;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI;IAQlD;;;OAGG;IACH,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;CAOvC"}
@@ -1,7 +1,9 @@
1
1
  /**
2
2
  * Pinned Rows Plugin Entry Point
3
3
  * Re-exports plugin class and types for tree-shakeable imports.
4
+ *
5
+ * @module Plugins/Pinned Rows
4
6
  */
5
7
  export { PinnedRowsPlugin } from './PinnedRowsPlugin';
6
- export type { AggregationRowConfig, AggregatorConfig, AggregatorDefinition, AggregatorFormatter, PinnedRowsConfig, PinnedRowsContext, PinnedRowsPanel, } from './types';
8
+ export type { AggregationRowConfig, AggregatorDefinition, PinnedRowsConfig, PinnedRowsContext, PinnedRowsPanel, } from './types';
7
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/pinned-rows/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../libs/grid/src/lib/plugins/pinned-rows/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GAChB,MAAM,SAAS,CAAC"}
@@ -25,6 +25,28 @@ class A {
25
25
  * ```
26
26
  */
27
27
  static dependencies;
28
+ /**
29
+ * Plugin manifest - declares owned properties, config rules, and hook priorities.
30
+ *
31
+ * This is read by the configuration validator to:
32
+ * - Validate that required plugins are loaded when their properties are used
33
+ * - Execute configRules to detect invalid/conflicting settings
34
+ * - Order hook execution based on priority
35
+ *
36
+ * @example
37
+ * ```typescript
38
+ * static override readonly manifest: PluginManifest<MyConfig> = {
39
+ * ownedProperties: [
40
+ * { property: 'myProp', level: 'column', description: 'the "myProp" column property' },
41
+ * ],
42
+ * configRules: [
43
+ * { id: 'myPlugin/conflict', severity: 'warn', message: '...', check: (c) => c.a && c.b },
44
+ * ],
45
+ * };
46
+ * ```
47
+ */
48
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
+ static manifest;
28
50
  /**
29
51
  * Plugin version - defaults to grid version for built-in plugins.
30
52
  * Third-party plugins can override with their own semver.
@@ -184,23 +206,6 @@ class A {
184
206
  get gridElement() {
185
207
  return this.grid;
186
208
  }
187
- /**
188
- * Get the render root of the grid for DOM queries.
189
- * @deprecated Use `gridElement` instead. This getter exists only for backward compatibility.
190
- *
191
- * With Shadow DOM removed, the grid element itself is the render root.
192
- * All new code should use `this.gridElement` for DOM queries.
193
- *
194
- * @example
195
- * // OLD (deprecated)
196
- * const rows = this.shadowRoot?.querySelector('.rows');
197
- *
198
- * // NEW (preferred)
199
- * const rows = this.gridElement.querySelector('.rows');
200
- */
201
- get shadowRoot() {
202
- return this.gridElement;
203
- }
204
209
  /**
205
210
  * Get the disconnect signal for event listener cleanup.
206
211
  * This signal is aborted when the grid disconnects from the DOM.
@@ -451,8 +456,11 @@ function v(n, t, e, o, r) {
451
456
  }
452
457
  const S = "@layer tbw-plugins{.tbw-footer{flex-shrink:0;z-index:var(--tbw-z-layer-pinned-rows, 20);background:var(--tbw-color-panel-bg)}.tbw-pinned-rows{display:flex;align-items:center;justify-content:space-between;padding:var(--tbw-button-padding, var(--tbw-spacing-md, .5rem) var(--tbw-spacing-lg, .75rem));background:var(--tbw-pinned-rows-bg, var(--tbw-color-panel-bg));border-top:1px solid var(--tbw-pinned-rows-border, var(--tbw-color-border));font-size:var(--tbw-font-size-xs, .75rem);color:var(--tbw-pinned-rows-color, var(--tbw-color-fg-muted));min-height:32px;box-sizing:border-box;min-width:fit-content}.tbw-pinned-rows-left,.tbw-pinned-rows-center,.tbw-pinned-rows-right{display:flex;align-items:center;gap:var(--tbw-spacing-xl, 1rem)}.tbw-pinned-rows-left{justify-content:flex-start}.tbw-pinned-rows-center{justify-content:center;flex:1}.tbw-pinned-rows-right{justify-content:flex-end}.tbw-status-panel{white-space:nowrap}.tbw-aggregation-rows{min-width:fit-content;background:var(--tbw-aggregation-bg, var(--tbw-color-header-bg))}.tbw-aggregation-rows-top{border-bottom:1px solid var(--tbw-aggregation-border, var(--tbw-color-border))}.tbw-aggregation-rows-bottom{border-top:1px solid var(--tbw-aggregation-border, var(--tbw-color-border))}.tbw-aggregation-row{display:grid;grid-template-columns:var(--tbw-column-template);font-size:var(--tbw-aggregation-font-size, .8em);font-weight:var(--tbw-aggregation-font-weight, 600)}.tbw-aggregation-cell{padding:var(--tbw-cell-padding, .125rem .5rem);min-height:var(--tbw-row-height, 1.75rem);display:flex;align-items:center;border-right:1px solid var(--tbw-color-border-cell)}.tbw-aggregation-cell:last-child{border-right:0}.tbw-aggregation-cell-full{grid-column:1 / -1;border-right:0}}";
453
458
  class B extends A {
459
+ /** @internal */
454
460
  name = "pinnedRows";
461
+ /** @internal */
455
462
  styles = S;
463
+ /** @internal */
456
464
  get defaultConfig() {
457
465
  return {
458
466
  position: "bottom",
@@ -468,11 +476,13 @@ class B extends A {
468
476
  footerWrapper = null;
469
477
  // #endregion
470
478
  // #region Lifecycle
479
+ /** @internal */
471
480
  detach() {
472
481
  this.infoBarElement && (this.infoBarElement.remove(), this.infoBarElement = null), this.topAggregationContainer && (this.topAggregationContainer.remove(), this.topAggregationContainer = null), this.bottomAggregationContainer && (this.bottomAggregationContainer.remove(), this.bottomAggregationContainer = null), this.footerWrapper && (this.footerWrapper.remove(), this.footerWrapper = null);
473
482
  }
474
483
  // #endregion
475
484
  // #region Hooks
485
+ /** @internal */
476
486
  afterRender() {
477
487
  const t = this.gridElement;
478
488
  if (!t) return;