@toolbox-web/grid-angular 0.16.1 → 0.17.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 (63) hide show
  1. package/README.md +130 -2
  2. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs +1 -8
  3. package/fesm2022/toolbox-web-grid-angular-features-clipboard.mjs.map +1 -1
  4. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs +1 -8
  5. package/fesm2022/toolbox-web-grid-angular-features-column-virtualization.mjs.map +1 -1
  6. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs +1 -8
  7. package/fesm2022/toolbox-web-grid-angular-features-context-menu.mjs.map +1 -1
  8. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs +1 -13
  9. package/fesm2022/toolbox-web-grid-angular-features-editing.mjs.map +1 -1
  10. package/fesm2022/toolbox-web-grid-angular-features-export.mjs +2 -9
  11. package/fesm2022/toolbox-web-grid-angular-features-export.mjs.map +1 -1
  12. package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs +2 -9
  13. package/fesm2022/toolbox-web-grid-angular-features-filtering.mjs.map +1 -1
  14. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs +1 -8
  15. package/fesm2022/toolbox-web-grid-angular-features-grouping-columns.mjs.map +1 -1
  16. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs +1 -5
  17. package/fesm2022/toolbox-web-grid-angular-features-grouping-rows.mjs.map +1 -1
  18. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs +1 -5
  19. package/fesm2022/toolbox-web-grid-angular-features-master-detail.mjs.map +1 -1
  20. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs +1 -14
  21. package/fesm2022/toolbox-web-grid-angular-features-multi-sort.mjs.map +1 -1
  22. package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs +1 -5
  23. package/fesm2022/toolbox-web-grid-angular-features-pinned-columns.mjs.map +1 -1
  24. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs +1 -8
  25. package/fesm2022/toolbox-web-grid-angular-features-pinned-rows.mjs.map +1 -1
  26. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs +1 -5
  27. package/fesm2022/toolbox-web-grid-angular-features-pivot.mjs.map +1 -1
  28. package/fesm2022/toolbox-web-grid-angular-features-print.mjs +2 -9
  29. package/fesm2022/toolbox-web-grid-angular-features-print.mjs.map +1 -1
  30. package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs +21 -0
  31. package/fesm2022/toolbox-web-grid-angular-features-reorder-columns.mjs.map +1 -0
  32. package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs +21 -0
  33. package/fesm2022/toolbox-web-grid-angular-features-reorder-rows.mjs.map +1 -0
  34. package/fesm2022/toolbox-web-grid-angular-features-reorder.mjs +3 -20
  35. package/fesm2022/toolbox-web-grid-angular-features-reorder.mjs.map +1 -1
  36. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs +1 -8
  37. package/fesm2022/toolbox-web-grid-angular-features-responsive.mjs.map +1 -1
  38. package/fesm2022/toolbox-web-grid-angular-features-row-reorder.mjs +3 -20
  39. package/fesm2022/toolbox-web-grid-angular-features-row-reorder.mjs.map +1 -1
  40. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs +2 -11
  41. package/fesm2022/toolbox-web-grid-angular-features-selection.mjs.map +1 -1
  42. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs +1 -5
  43. package/fesm2022/toolbox-web-grid-angular-features-server-side.mjs.map +1 -1
  44. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs +1 -8
  45. package/fesm2022/toolbox-web-grid-angular-features-tree.mjs.map +1 -1
  46. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs +2 -9
  47. package/fesm2022/toolbox-web-grid-angular-features-undo-redo.mjs.map +1 -1
  48. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs +1 -8
  49. package/fesm2022/toolbox-web-grid-angular-features-visibility.mjs.map +1 -1
  50. package/fesm2022/toolbox-web-grid-angular.mjs +47 -102
  51. package/fesm2022/toolbox-web-grid-angular.mjs.map +1 -1
  52. package/package.json +9 -1
  53. package/types/toolbox-web-grid-angular-features-export.d.ts.map +1 -1
  54. package/types/toolbox-web-grid-angular-features-filtering.d.ts.map +1 -1
  55. package/types/toolbox-web-grid-angular-features-print.d.ts.map +1 -1
  56. package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts +3 -0
  57. package/types/toolbox-web-grid-angular-features-reorder-columns.d.ts.map +1 -0
  58. package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts +3 -0
  59. package/types/toolbox-web-grid-angular-features-reorder-rows.d.ts.map +1 -0
  60. package/types/toolbox-web-grid-angular-features-selection.d.ts.map +1 -1
  61. package/types/toolbox-web-grid-angular-features-undo-redo.d.ts.map +1 -1
  62. package/types/toolbox-web-grid-angular.d.ts +45 -61
  63. package/types/toolbox-web-grid-angular.d.ts.map +1 -1
@@ -3,6 +3,8 @@ import { inject, ElementRef, contentChild, TemplateRef, effect, Directive, input
3
3
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
4
  import { FormGroup } from '@angular/forms';
5
5
  import { startWith, debounceTime } from 'rxjs/operators';
6
+ import { createPluginFromFeature } from '@toolbox-web/grid/features/registry';
7
+ export { clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getRegisteredFeatures, isFeatureRegistered, registerFeature } from '@toolbox-web/grid/features/registry';
6
8
  import { DataGridElement } from '@toolbox-web/grid';
7
9
 
8
10
  // #endregion
@@ -81,6 +83,8 @@ function getEditorTemplate(element) {
81
83
  * // ...
82
84
  * })
83
85
  * ```
86
+ *
87
+ * @category Directive
84
88
  */
85
89
  class GridColumnEditor {
86
90
  elementRef = inject((ElementRef));
@@ -153,6 +157,8 @@ function getViewTemplate(element) {
153
157
  * // ...
154
158
  * })
155
159
  * ```
160
+ *
161
+ * @category Directive
156
162
  */
157
163
  class GridColumnView {
158
164
  elementRef = inject((ElementRef));
@@ -249,6 +255,8 @@ function getDetailConfig(gridElement) {
249
255
  * // ...
250
256
  * })
251
257
  * ```
258
+ *
259
+ * @category Directive
252
260
  */
253
261
  class GridDetailView {
254
262
  elementRef = inject((ElementRef));
@@ -342,6 +350,8 @@ function getFormArrayContext(gridElement) {
342
350
  * - Provides cell-level FormControl access for validation
343
351
  * - Supports row-level validation state aggregation
344
352
  * - Automatically syncs FormArray changes to the grid
353
+ *
354
+ * @category Directive
345
355
  */
346
356
  class GridFormArray {
347
357
  destroyRef = inject(DestroyRef);
@@ -818,6 +828,7 @@ function getResponsiveCardTemplate(gridElement) {
818
828
  * - Template context provides `$implicit` (row), `row`, and `index`
819
829
  *
820
830
  * @see ResponsivePlugin
831
+ * @category Directive
821
832
  */
822
833
  class GridResponsiveCard {
823
834
  elementRef = inject((ElementRef));
@@ -911,6 +922,8 @@ function getToolPanelElements(gridElement) {
911
922
  * // ...
912
923
  * })
913
924
  * ```
925
+ *
926
+ * @category Directive
914
927
  */
915
928
  class GridToolPanel {
916
929
  elementRef = inject((ElementRef));
@@ -1038,6 +1051,8 @@ function getStructuralEditorTemplate(columnElement) {
1038
1051
  * // ...
1039
1052
  * })
1040
1053
  * ```
1054
+ *
1055
+ * @category Directive
1041
1056
  */
1042
1057
  class TbwRenderer {
1043
1058
  template = inject((TemplateRef));
@@ -1125,6 +1140,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
1125
1140
  * // ...
1126
1141
  * })
1127
1142
  * ```
1143
+ *
1144
+ * @category Directive
1128
1145
  */
1129
1146
  class TbwEditor {
1130
1147
  template = inject((TemplateRef));
@@ -2537,9 +2554,9 @@ function injectGrid() {
2537
2554
  /**
2538
2555
  * Feature Registry for @toolbox-web/grid-angular
2539
2556
  *
2540
- * This module provides a synchronous registry for plugin factories.
2541
- * Features are registered via side-effect imports, enabling tree-shaking
2542
- * while maintaining the clean input-based API.
2557
+ * Delegates to the core registry at `@toolbox-web/grid/features/registry`.
2558
+ * This module re-exports core functions so existing feature modules continue
2559
+ * to work without changing their import paths.
2543
2560
  *
2544
2561
  * @example
2545
2562
  * ```typescript
@@ -2551,96 +2568,7 @@ function injectGrid() {
2551
2568
  * <tbw-grid [selection]="'range'" [filtering]="{ debounceMs: 200 }" />
2552
2569
  * ```
2553
2570
  */
2554
- /**
2555
- * Central registry mapping feature names to their plugin factories.
2556
- * Populated by side-effect feature imports.
2557
- */
2558
- const featureRegistry = new Map();
2559
- /**
2560
- * Set of features that have been used without being registered.
2561
- * Used to show helpful warnings only once per feature.
2562
- */
2563
- const warnedFeatures = new Set();
2564
- /**
2565
- * Register a feature's plugin factory.
2566
- * Called by side-effect feature imports.
2567
- *
2568
- * @param name - The feature name (matches the input name on Grid directive)
2569
- * @param factory - Function that creates the plugin instance
2570
- *
2571
- * @example
2572
- * ```ts
2573
- * // features/selection.ts
2574
- * import { SelectionPlugin } from '@toolbox-web/grid/plugins/selection';
2575
- * import { registerFeature } from '../lib/feature-registry';
2576
- *
2577
- * registerFeature('selection', (config) => new SelectionPlugin(config));
2578
- * ```
2579
- */
2580
- function registerFeature(name, factory) {
2581
- featureRegistry.set(name, {
2582
- factory: factory,
2583
- name,
2584
- });
2585
- }
2586
- /**
2587
- * Check if a feature is registered.
2588
- */
2589
- function isFeatureRegistered(name) {
2590
- return featureRegistry.has(name);
2591
- }
2592
- /**
2593
- * Get a registered feature's factory.
2594
- * Returns undefined if not registered.
2595
- */
2596
- function getFeatureFactory(name) {
2597
- return featureRegistry.get(name)?.factory;
2598
- }
2599
- /**
2600
- * Get all registered feature names.
2601
- * Useful for debugging.
2602
- */
2603
- function getRegisteredFeatures() {
2604
- return Array.from(featureRegistry.keys());
2605
- }
2606
- /**
2607
- * Create a plugin instance for a feature.
2608
- * Shows a helpful warning if the feature is not registered.
2609
- *
2610
- * @param name - Feature name
2611
- * @param config - Plugin configuration
2612
- * @returns Plugin instance or undefined if not registered
2613
- */
2614
- function createPluginFromFeature(name, config) {
2615
- const entry = featureRegistry.get(name);
2616
- if (!entry) {
2617
- // Show warning only once per feature in development
2618
- const isDev = typeof window !== 'undefined' &&
2619
- (window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1');
2620
- if (!warnedFeatures.has(name) && isDev) {
2621
- warnedFeatures.add(name);
2622
- console.warn(`[tbw-grid] Feature "${name}" input is set but the feature is not registered.\n` +
2623
- `Add this import to enable it:\n\n` +
2624
- ` import '@toolbox-web/grid-angular/features/${toKebabCase(name)}';\n`);
2625
- }
2626
- return undefined;
2627
- }
2628
- return entry.factory(config);
2629
- }
2630
- /**
2631
- * Convert camelCase to kebab-case for import paths.
2632
- */
2633
- function toKebabCase(str) {
2634
- return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
2635
- }
2636
- /**
2637
- * Clear the registry. For testing only.
2638
- * @internal
2639
- */
2640
- function clearFeatureRegistry() {
2641
- featureRegistry.clear();
2642
- warnedFeatures.clear();
2643
- }
2571
+ // Re-export core registry — all adapters share the same registry Map
2644
2572
 
2645
2573
  /**
2646
2574
  * Base class for Angular filter panel components.
@@ -3733,6 +3661,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
3733
3661
  * })
3734
3662
  * export class MyComponent { }
3735
3663
  * ```
3664
+ *
3665
+ * @category Directive
3736
3666
  */
3737
3667
  class TbwGridColumn {
3738
3668
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TbwGridColumn, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -3769,6 +3699,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
3769
3699
  * })
3770
3700
  * export class MyComponent { }
3771
3701
  * ```
3702
+ *
3703
+ * @category Directive
3772
3704
  */
3773
3705
  class TbwGridHeader {
3774
3706
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TbwGridHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -3859,6 +3791,7 @@ function getLazyFormContext(gridElement) {
3859
3791
  * | 1000 | 20,000 controls | ~20 controls |
3860
3792
  *
3861
3793
  * @see GridFormArray For small datasets with full upfront validation
3794
+ * @category Directive
3862
3795
  */
3863
3796
  class GridLazyForm {
3864
3797
  elementRef = inject((ElementRef));
@@ -4290,6 +4223,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
4290
4223
  * })
4291
4224
  * export class MyComponent { }
4292
4225
  * ```
4226
+ *
4227
+ * @category Directive
4293
4228
  */
4294
4229
  class TbwGridToolButtons {
4295
4230
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TbwGridToolButtons, deps: [], target: i0.ɵɵFactoryTarget.Directive });
@@ -4335,6 +4270,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
4335
4270
  * - Registers it with the GridElement
4336
4271
  * - Injects custom styles into the grid
4337
4272
  * - Handles cleanup on destruction
4273
+ *
4274
+ * @category Directive
4338
4275
  */
4339
4276
  class Grid {
4340
4277
  elementRef = inject((ElementRef));
@@ -4772,14 +4709,18 @@ class Grid {
4772
4709
  *
4773
4710
  * **Requires feature import:**
4774
4711
  * ```typescript
4775
- * import '@toolbox-web/grid-angular/features/reorder';
4712
+ * import '@toolbox-web/grid-angular/features/reorder-columns';
4776
4713
  * ```
4777
4714
  *
4778
4715
  * @example
4779
4716
  * ```html
4780
- * <tbw-grid [reorder]="true" />
4717
+ * <tbw-grid [reorderColumns]="true" />
4781
4718
  * ```
4782
4719
  */
4720
+ reorderColumns = input(...(ngDevMode ? [undefined, { debugName: "reorderColumns" }] : []));
4721
+ /**
4722
+ * @deprecated Use `reorderColumns` instead. Will be removed in v2.0.
4723
+ */
4783
4724
  reorder = input(...(ngDevMode ? [undefined, { debugName: "reorder" }] : []));
4784
4725
  /**
4785
4726
  * Enable column visibility toggle panel.
@@ -4847,14 +4788,18 @@ class Grid {
4847
4788
  *
4848
4789
  * **Requires feature import:**
4849
4790
  * ```typescript
4850
- * import '@toolbox-web/grid-angular/features/row-reorder';
4791
+ * import '@toolbox-web/grid-angular/features/reorder-rows';
4851
4792
  * ```
4852
4793
  *
4853
4794
  * @example
4854
4795
  * ```html
4855
- * <tbw-grid [rowReorder]="true" />
4796
+ * <tbw-grid [reorderRows]="true" />
4856
4797
  * ```
4857
4798
  */
4799
+ reorderRows = input(...(ngDevMode ? [undefined, { debugName: "reorderRows" }] : []));
4800
+ /**
4801
+ * @deprecated Use `reorderRows` instead. Will be removed in v2.0.
4802
+ */
4858
4803
  rowReorder = input(...(ngDevMode ? [undefined, { debugName: "rowReorder" }] : []));
4859
4804
  /**
4860
4805
  * Enable row grouping by field values.
@@ -5363,12 +5308,12 @@ class Grid {
5363
5308
  // multiSort is the primary input; sorting is a deprecated alias
5364
5309
  addPlugin('multiSort', this.multiSort() ?? this.sorting());
5365
5310
  addPlugin('filtering', this.filtering());
5366
- addPlugin('reorder', this.reorder());
5311
+ addPlugin('reorderColumns', this.reorderColumns() ?? this.reorder());
5367
5312
  addPlugin('visibility', this.visibility());
5368
5313
  addPlugin('pinnedColumns', this.pinnedColumns());
5369
5314
  addPlugin('groupingColumns', this.groupingColumns());
5370
5315
  addPlugin('columnVirtualization', this.columnVirtualization());
5371
- addPlugin('rowReorder', this.rowReorder());
5316
+ addPlugin('reorderRows', this.reorderRows() ?? this.rowReorder());
5372
5317
  addPlugin('groupingRows', this.groupingRows());
5373
5318
  addPlugin('pinnedRows', this.pinnedRows());
5374
5319
  addPlugin('tree', this.tree());
@@ -5519,12 +5464,12 @@ class Grid {
5519
5464
  }
5520
5465
  }
5521
5466
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Grid, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5522
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: Grid, isStandalone: true, selector: "tbw-grid", inputs: { customStyles: { classPropertyName: "customStyles", publicName: "customStyles", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, fitMode: { classPropertyName: "fitMode", publicName: "fitMode", isSignal: true, isRequired: false, transformFunction: null }, gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, angularConfig: { classPropertyName: "angularConfig", publicName: "angularConfig", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, editing: { classPropertyName: "editing", publicName: "editing", isSignal: true, isRequired: false, transformFunction: null }, clipboard: { classPropertyName: "clipboard", publicName: "clipboard", isSignal: true, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, multiSort: { classPropertyName: "multiSort", publicName: "multiSort", isSignal: true, isRequired: false, transformFunction: null }, sorting: { classPropertyName: "sorting", publicName: "sorting", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorder: { classPropertyName: "reorder", publicName: "reorder", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null }, pinnedColumns: { classPropertyName: "pinnedColumns", publicName: "pinnedColumns", isSignal: true, isRequired: false, transformFunction: null }, groupingColumns: { classPropertyName: "groupingColumns", publicName: "groupingColumns", isSignal: true, isRequired: false, transformFunction: null }, columnVirtualization: { classPropertyName: "columnVirtualization", publicName: "columnVirtualization", isSignal: true, isRequired: false, transformFunction: null }, rowReorder: { classPropertyName: "rowReorder", publicName: "rowReorder", isSignal: true, isRequired: false, transformFunction: null }, groupingRows: { classPropertyName: "groupingRows", publicName: "groupingRows", isSignal: true, isRequired: false, transformFunction: null }, pinnedRows: { classPropertyName: "pinnedRows", publicName: "pinnedRows", isSignal: true, isRequired: false, transformFunction: null }, tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, masterDetail: { classPropertyName: "masterDetail", publicName: "masterDetail", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, undoRedo: { classPropertyName: "undoRedo", publicName: "undoRedo", isSignal: true, isRequired: false, transformFunction: null }, exportFeature: { classPropertyName: "exportFeature", publicName: "export", isSignal: true, isRequired: false, transformFunction: null }, print: { classPropertyName: "print", publicName: "print", isSignal: true, isRequired: false, transformFunction: null }, pivot: { classPropertyName: "pivot", publicName: "pivot", isSignal: true, isRequired: false, transformFunction: null }, serverSide: { classPropertyName: "serverSide", publicName: "serverSide", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cellClick: "cellClick", rowClick: "rowClick", cellActivate: "cellActivate", cellChange: "cellChange", cellCommit: "cellCommit", rowCommit: "rowCommit", changedRowsReset: "changedRowsReset", sortChange: "sortChange", filterChange: "filterChange", columnResize: "columnResize", columnMove: "columnMove", columnVisibility: "columnVisibility", columnStateChange: "columnStateChange", selectionChange: "selectionChange", rowMove: "rowMove", groupToggle: "groupToggle", treeExpand: "treeExpand", detailExpand: "detailExpand", responsiveChange: "responsiveChange", copy: "copy", paste: "paste", undoRedoAction: "undoRedoAction", exportComplete: "exportComplete", printStart: "printStart", printComplete: "printComplete" }, ngImport: i0 });
5467
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: Grid, isStandalone: true, selector: "tbw-grid", inputs: { customStyles: { classPropertyName: "customStyles", publicName: "customStyles", isSignal: true, isRequired: false, transformFunction: null }, sortable: { classPropertyName: "sortable", publicName: "sortable", isSignal: true, isRequired: false, transformFunction: null }, filterable: { classPropertyName: "filterable", publicName: "filterable", isSignal: true, isRequired: false, transformFunction: null }, selectable: { classPropertyName: "selectable", publicName: "selectable", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null }, fitMode: { classPropertyName: "fitMode", publicName: "fitMode", isSignal: true, isRequired: false, transformFunction: null }, gridConfig: { classPropertyName: "gridConfig", publicName: "gridConfig", isSignal: true, isRequired: false, transformFunction: null }, angularConfig: { classPropertyName: "angularConfig", publicName: "angularConfig", isSignal: true, isRequired: false, transformFunction: null }, selection: { classPropertyName: "selection", publicName: "selection", isSignal: true, isRequired: false, transformFunction: null }, editing: { classPropertyName: "editing", publicName: "editing", isSignal: true, isRequired: false, transformFunction: null }, clipboard: { classPropertyName: "clipboard", publicName: "clipboard", isSignal: true, isRequired: false, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, multiSort: { classPropertyName: "multiSort", publicName: "multiSort", isSignal: true, isRequired: false, transformFunction: null }, sorting: { classPropertyName: "sorting", publicName: "sorting", isSignal: true, isRequired: false, transformFunction: null }, filtering: { classPropertyName: "filtering", publicName: "filtering", isSignal: true, isRequired: false, transformFunction: null }, reorderColumns: { classPropertyName: "reorderColumns", publicName: "reorderColumns", isSignal: true, isRequired: false, transformFunction: null }, reorder: { classPropertyName: "reorder", publicName: "reorder", isSignal: true, isRequired: false, transformFunction: null }, visibility: { classPropertyName: "visibility", publicName: "visibility", isSignal: true, isRequired: false, transformFunction: null }, pinnedColumns: { classPropertyName: "pinnedColumns", publicName: "pinnedColumns", isSignal: true, isRequired: false, transformFunction: null }, groupingColumns: { classPropertyName: "groupingColumns", publicName: "groupingColumns", isSignal: true, isRequired: false, transformFunction: null }, columnVirtualization: { classPropertyName: "columnVirtualization", publicName: "columnVirtualization", isSignal: true, isRequired: false, transformFunction: null }, reorderRows: { classPropertyName: "reorderRows", publicName: "reorderRows", isSignal: true, isRequired: false, transformFunction: null }, rowReorder: { classPropertyName: "rowReorder", publicName: "rowReorder", isSignal: true, isRequired: false, transformFunction: null }, groupingRows: { classPropertyName: "groupingRows", publicName: "groupingRows", isSignal: true, isRequired: false, transformFunction: null }, pinnedRows: { classPropertyName: "pinnedRows", publicName: "pinnedRows", isSignal: true, isRequired: false, transformFunction: null }, tree: { classPropertyName: "tree", publicName: "tree", isSignal: true, isRequired: false, transformFunction: null }, masterDetail: { classPropertyName: "masterDetail", publicName: "masterDetail", isSignal: true, isRequired: false, transformFunction: null }, responsive: { classPropertyName: "responsive", publicName: "responsive", isSignal: true, isRequired: false, transformFunction: null }, undoRedo: { classPropertyName: "undoRedo", publicName: "undoRedo", isSignal: true, isRequired: false, transformFunction: null }, exportFeature: { classPropertyName: "exportFeature", publicName: "export", isSignal: true, isRequired: false, transformFunction: null }, print: { classPropertyName: "print", publicName: "print", isSignal: true, isRequired: false, transformFunction: null }, pivot: { classPropertyName: "pivot", publicName: "pivot", isSignal: true, isRequired: false, transformFunction: null }, serverSide: { classPropertyName: "serverSide", publicName: "serverSide", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { cellClick: "cellClick", rowClick: "rowClick", cellActivate: "cellActivate", cellChange: "cellChange", cellCommit: "cellCommit", rowCommit: "rowCommit", changedRowsReset: "changedRowsReset", sortChange: "sortChange", filterChange: "filterChange", columnResize: "columnResize", columnMove: "columnMove", columnVisibility: "columnVisibility", columnStateChange: "columnStateChange", selectionChange: "selectionChange", rowMove: "rowMove", groupToggle: "groupToggle", treeExpand: "treeExpand", detailExpand: "detailExpand", responsiveChange: "responsiveChange", copy: "copy", paste: "paste", undoRedoAction: "undoRedoAction", exportComplete: "exportComplete", printStart: "printStart", printComplete: "printComplete" }, ngImport: i0 });
5523
5468
  }
5524
5469
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: Grid, decorators: [{
5525
5470
  type: Directive,
5526
5471
  args: [{ selector: 'tbw-grid' }]
5527
- }], ctorParameters: () => [], propDecorators: { customStyles: [{ type: i0.Input, args: [{ isSignal: true, alias: "customStyles", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], fitMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitMode", required: false }] }], gridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridConfig", required: false }] }], angularConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "angularConfig", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }], editing: [{ type: i0.Input, args: [{ isSignal: true, alias: "editing", required: false }] }], clipboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboard", required: false }] }], contextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenu", required: false }] }], multiSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSort", required: false }] }], sorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorting", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorder", required: false }] }], visibility: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibility", required: false }] }], pinnedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedColumns", required: false }] }], groupingColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingColumns", required: false }] }], columnVirtualization: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVirtualization", required: false }] }], rowReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowReorder", required: false }] }], groupingRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingRows", required: false }] }], pinnedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedRows", required: false }] }], tree: [{ type: i0.Input, args: [{ isSignal: true, alias: "tree", required: false }] }], masterDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "masterDetail", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], undoRedo: [{ type: i0.Input, args: [{ isSignal: true, alias: "undoRedo", required: false }] }], exportFeature: [{ type: i0.Input, args: [{ isSignal: true, alias: "export", required: false }] }], print: [{ type: i0.Input, args: [{ isSignal: true, alias: "print", required: false }] }], pivot: [{ type: i0.Input, args: [{ isSignal: true, alias: "pivot", required: false }] }], serverSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "serverSide", required: false }] }], cellClick: [{ type: i0.Output, args: ["cellClick"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], cellActivate: [{ type: i0.Output, args: ["cellActivate"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], cellCommit: [{ type: i0.Output, args: ["cellCommit"] }], rowCommit: [{ type: i0.Output, args: ["rowCommit"] }], changedRowsReset: [{ type: i0.Output, args: ["changedRowsReset"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], columnResize: [{ type: i0.Output, args: ["columnResize"] }], columnMove: [{ type: i0.Output, args: ["columnMove"] }], columnVisibility: [{ type: i0.Output, args: ["columnVisibility"] }], columnStateChange: [{ type: i0.Output, args: ["columnStateChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], rowMove: [{ type: i0.Output, args: ["rowMove"] }], groupToggle: [{ type: i0.Output, args: ["groupToggle"] }], treeExpand: [{ type: i0.Output, args: ["treeExpand"] }], detailExpand: [{ type: i0.Output, args: ["detailExpand"] }], responsiveChange: [{ type: i0.Output, args: ["responsiveChange"] }], copy: [{ type: i0.Output, args: ["copy"] }], paste: [{ type: i0.Output, args: ["paste"] }], undoRedoAction: [{ type: i0.Output, args: ["undoRedoAction"] }], exportComplete: [{ type: i0.Output, args: ["exportComplete"] }], printStart: [{ type: i0.Output, args: ["printStart"] }], printComplete: [{ type: i0.Output, args: ["printComplete"] }] } });
5472
+ }], ctorParameters: () => [], propDecorators: { customStyles: [{ type: i0.Input, args: [{ isSignal: true, alias: "customStyles", required: false }] }], sortable: [{ type: i0.Input, args: [{ isSignal: true, alias: "sortable", required: false }] }], filterable: [{ type: i0.Input, args: [{ isSignal: true, alias: "filterable", required: false }] }], selectable: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectable", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], rows: [{ type: i0.Input, args: [{ isSignal: true, alias: "rows", required: false }] }], columns: [{ type: i0.Input, args: [{ isSignal: true, alias: "columns", required: false }] }], fitMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "fitMode", required: false }] }], gridConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridConfig", required: false }] }], angularConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "angularConfig", required: false }] }], selection: [{ type: i0.Input, args: [{ isSignal: true, alias: "selection", required: false }] }], editing: [{ type: i0.Input, args: [{ isSignal: true, alias: "editing", required: false }] }], clipboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "clipboard", required: false }] }], contextMenu: [{ type: i0.Input, args: [{ isSignal: true, alias: "contextMenu", required: false }] }], multiSort: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiSort", required: false }] }], sorting: [{ type: i0.Input, args: [{ isSignal: true, alias: "sorting", required: false }] }], filtering: [{ type: i0.Input, args: [{ isSignal: true, alias: "filtering", required: false }] }], reorderColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderColumns", required: false }] }], reorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorder", required: false }] }], visibility: [{ type: i0.Input, args: [{ isSignal: true, alias: "visibility", required: false }] }], pinnedColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedColumns", required: false }] }], groupingColumns: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingColumns", required: false }] }], columnVirtualization: [{ type: i0.Input, args: [{ isSignal: true, alias: "columnVirtualization", required: false }] }], reorderRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "reorderRows", required: false }] }], rowReorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "rowReorder", required: false }] }], groupingRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "groupingRows", required: false }] }], pinnedRows: [{ type: i0.Input, args: [{ isSignal: true, alias: "pinnedRows", required: false }] }], tree: [{ type: i0.Input, args: [{ isSignal: true, alias: "tree", required: false }] }], masterDetail: [{ type: i0.Input, args: [{ isSignal: true, alias: "masterDetail", required: false }] }], responsive: [{ type: i0.Input, args: [{ isSignal: true, alias: "responsive", required: false }] }], undoRedo: [{ type: i0.Input, args: [{ isSignal: true, alias: "undoRedo", required: false }] }], exportFeature: [{ type: i0.Input, args: [{ isSignal: true, alias: "export", required: false }] }], print: [{ type: i0.Input, args: [{ isSignal: true, alias: "print", required: false }] }], pivot: [{ type: i0.Input, args: [{ isSignal: true, alias: "pivot", required: false }] }], serverSide: [{ type: i0.Input, args: [{ isSignal: true, alias: "serverSide", required: false }] }], cellClick: [{ type: i0.Output, args: ["cellClick"] }], rowClick: [{ type: i0.Output, args: ["rowClick"] }], cellActivate: [{ type: i0.Output, args: ["cellActivate"] }], cellChange: [{ type: i0.Output, args: ["cellChange"] }], cellCommit: [{ type: i0.Output, args: ["cellCommit"] }], rowCommit: [{ type: i0.Output, args: ["rowCommit"] }], changedRowsReset: [{ type: i0.Output, args: ["changedRowsReset"] }], sortChange: [{ type: i0.Output, args: ["sortChange"] }], filterChange: [{ type: i0.Output, args: ["filterChange"] }], columnResize: [{ type: i0.Output, args: ["columnResize"] }], columnMove: [{ type: i0.Output, args: ["columnMove"] }], columnVisibility: [{ type: i0.Output, args: ["columnVisibility"] }], columnStateChange: [{ type: i0.Output, args: ["columnStateChange"] }], selectionChange: [{ type: i0.Output, args: ["selectionChange"] }], rowMove: [{ type: i0.Output, args: ["rowMove"] }], groupToggle: [{ type: i0.Output, args: ["groupToggle"] }], treeExpand: [{ type: i0.Output, args: ["treeExpand"] }], detailExpand: [{ type: i0.Output, args: ["detailExpand"] }], responsiveChange: [{ type: i0.Output, args: ["responsiveChange"] }], copy: [{ type: i0.Output, args: ["copy"] }], paste: [{ type: i0.Output, args: ["paste"] }], undoRedoAction: [{ type: i0.Output, args: ["undoRedoAction"] }], exportComplete: [{ type: i0.Output, args: ["exportComplete"] }], printStart: [{ type: i0.Output, args: ["printStart"] }], printComplete: [{ type: i0.Output, args: ["printComplete"] }] } });
5528
5473
 
5529
5474
  /**
5530
5475
  * @packageDocumentation
@@ -5538,5 +5483,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
5538
5483
  * Generated bundle index. Do not edit.
5539
5484
  */
5540
5485
 
5541
- export { AngularGridAdapter, BaseFilterPanel, BaseGridEditor, BaseGridEditorCVA, BaseOverlayEditor, GRID_ICONS, GRID_TYPE_DEFAULTS, Grid, GridAdapter, GridColumnEditor, GridColumnView, GridDetailView, GridFormArray, GridIconRegistry, GridLazyForm, GridResponsiveCard, GridToolPanel, GridTypeRegistry, TbwEditor as TbwCellEditor, TbwRenderer as TbwCellView, TbwEditor, TbwGridColumn, TbwGridHeader, TbwGridToolButtons, TbwRenderer, clearFeatureRegistry, createPluginFromFeature, getFeatureFactory, getFormArrayContext, getLazyFormContext, getRegisteredFeatures, injectGrid, isComponentClass, isFeatureRegistered, provideGridIcons, provideGridTypeDefaults, registerFeature };
5486
+ export { AngularGridAdapter, BaseFilterPanel, BaseGridEditor, BaseGridEditorCVA, BaseOverlayEditor, GRID_ICONS, GRID_TYPE_DEFAULTS, Grid, GridAdapter, GridColumnEditor, GridColumnView, GridDetailView, GridFormArray, GridIconRegistry, GridLazyForm, GridResponsiveCard, GridToolPanel, GridTypeRegistry, TbwEditor as TbwCellEditor, TbwRenderer as TbwCellView, TbwEditor, TbwGridColumn, TbwGridHeader, TbwGridToolButtons, TbwRenderer, getFormArrayContext, getLazyFormContext, injectGrid, isComponentClass, provideGridIcons, provideGridTypeDefaults };
5542
5487
  //# sourceMappingURL=toolbox-web-grid-angular.mjs.map