handsontable 0.0.0-next-87b048b-20250409 → 0.0.0-next-d9b3885-20250415

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.

Potentially problematic release.


This version of handsontable might be problematic. Click here for more details.

Files changed (55) hide show
  1. package/base.js +2 -2
  2. package/base.mjs +2 -2
  3. package/core/hooks/constants.js +258 -0
  4. package/core/hooks/constants.mjs +258 -0
  5. package/core.js +39 -0
  6. package/core.mjs +39 -0
  7. package/dataMap/metaManager/metaSchema.js +27 -0
  8. package/dataMap/metaManager/metaSchema.mjs +27 -0
  9. package/dist/handsontable.css +2 -2
  10. package/dist/handsontable.full.css +2 -2
  11. package/dist/handsontable.full.js +943 -5
  12. package/dist/handsontable.full.min.css +2 -2
  13. package/dist/handsontable.full.min.js +4 -4
  14. package/dist/handsontable.js +943 -5
  15. package/dist/handsontable.min.css +2 -2
  16. package/dist/handsontable.min.js +4 -4
  17. package/helpers/mixed.js +1 -1
  18. package/helpers/mixed.mjs +1 -1
  19. package/package.json +1 -1
  20. package/plugins/autoColumnSize/autoColumnSize.js +47 -0
  21. package/plugins/autoColumnSize/autoColumnSize.mjs +47 -0
  22. package/plugins/autoRowSize/autoRowSize.js +45 -0
  23. package/plugins/autoRowSize/autoRowSize.mjs +45 -0
  24. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.js +13 -0
  25. package/plugins/bindRowsWithHeaders/bindRowsWithHeaders.mjs +13 -0
  26. package/plugins/collapsibleColumns/collapsibleColumns.js +31 -0
  27. package/plugins/collapsibleColumns/collapsibleColumns.mjs +31 -0
  28. package/plugins/columnSummary/columnSummary.js +33 -0
  29. package/plugins/columnSummary/columnSummary.mjs +33 -0
  30. package/plugins/comments/comments.js +53 -0
  31. package/plugins/comments/comments.mjs +53 -0
  32. package/plugins/dropdownMenu/dropdownMenu.js +15 -0
  33. package/plugins/dropdownMenu/dropdownMenu.mjs +15 -0
  34. package/plugins/exportFile/exportFile.js +58 -0
  35. package/plugins/exportFile/exportFile.mjs +58 -0
  36. package/plugins/filters/filters.js +74 -0
  37. package/plugins/filters/filters.mjs +74 -0
  38. package/plugins/hiddenColumns/hiddenColumns.js +64 -0
  39. package/plugins/hiddenColumns/hiddenColumns.mjs +64 -0
  40. package/plugins/hiddenRows/hiddenRows.js +64 -0
  41. package/plugins/hiddenRows/hiddenRows.mjs +64 -0
  42. package/plugins/mergeCells/mergeCells.js +18 -0
  43. package/plugins/mergeCells/mergeCells.mjs +18 -0
  44. package/plugins/nestedHeaders/nestedHeaders.js +25 -0
  45. package/plugins/nestedHeaders/nestedHeaders.mjs +25 -0
  46. package/plugins/stretchColumns/stretchColumns.js +13 -0
  47. package/plugins/stretchColumns/stretchColumns.mjs +13 -0
  48. package/plugins/trimRows/trimRows.js +61 -0
  49. package/plugins/trimRows/trimRows.mjs +61 -0
  50. package/styles/handsontable.css +2 -2
  51. package/styles/handsontable.min.css +2 -2
  52. package/styles/ht-theme-horizon.css +2 -2
  53. package/styles/ht-theme-horizon.min.css +2 -2
  54. package/styles/ht-theme-main.css +2 -2
  55. package/styles/ht-theme-main.min.css +2 -2
@@ -25,8 +25,8 @@
25
25
  * INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING FROM
26
26
  * USE OR INABILITY TO USE THIS SOFTWARE.
27
27
  *
28
- * Version: 0.0.0-next-87b048b-20250409
29
- * Release date: 19/03/2025 (built at 09/04/2025 06:00:52)
28
+ * Version: 0.0.0-next-d9b3885-20250415
29
+ * Release date: 19/03/2025 (built at 15/04/2025 10:06:49)
30
30
  */
31
31
  (function webpackUniversalModuleDefinition(root, factory) {
32
32
  if(typeof exports === 'object' && typeof module === 'object')
@@ -42855,8 +42855,8 @@ Handsontable.hooks = _hooks.Hooks.getSingleton();
42855
42855
  Handsontable.CellCoords = _src.CellCoords;
42856
42856
  Handsontable.CellRange = _src.CellRange;
42857
42857
  Handsontable.packageName = 'handsontable';
42858
- Handsontable.buildDate = "09/04/2025 06:00:52";
42859
- Handsontable.version = "0.0.0-next-87b048b-20250409";
42858
+ Handsontable.buildDate = "15/04/2025 10:06:49";
42859
+ Handsontable.version = "0.0.0-next-d9b3885-20250415";
42860
42860
  Handsontable.languages = {
42861
42861
  dictionaryKeys: _registry.dictionaryKeys,
42862
42862
  getLanguageDictionary: _registry.getLanguageDictionary,
@@ -42963,6 +42963,12 @@ const deprecationWarns = new Set();
42963
42963
  * by using React's `ref` feature (read more on the [Instance methods](@/guides/getting-started/react-methods/react-methods.md) page).
42964
42964
  * :::
42965
42965
  *
42966
+ * ::: only-for angular
42967
+ * To use these methods, associate a Handsontable instance with your instance
42968
+ * of the [`HotTable` component](@/guides/getting-started/installation/installation.md#5-use-the-hottable-component),
42969
+ * by using `@ViewChild` decorator (read more on the [Instance access](@/guides/getting-started/angular-hot-instance/angular-hot-instance.md) page).
42970
+ * :::
42971
+ *
42966
42972
  * ## How to call a method
42967
42973
  *
42968
42974
  * ::: only-for javascript
@@ -42993,6 +42999,39 @@ const deprecationWarns = new Set();
42993
42999
  * ```
42994
43000
  * :::
42995
43001
  *
43002
+ * ::: only-for angular
43003
+ * ```ts
43004
+ * import { Component, ViewChild, AfterViewInit } from "@angular/core";
43005
+ * import {
43006
+ * GridSettings,
43007
+ * HotTableComponent,
43008
+ * HotTableModule,
43009
+ * } from "@handsontable/angular-wrapper";
43010
+ *
43011
+ * `@Component`({
43012
+ * standalone: true,
43013
+ * imports: [HotTableModule],
43014
+ * template: ` <div class="ht-theme-main">
43015
+ * <hot-table [settings]="gridSettings" />
43016
+ * </div>`,
43017
+ * })
43018
+ * export class ExampleComponent implements AfterViewInit {
43019
+ * `@ViewChild`(HotTableComponent, { static: false })
43020
+ * readonly hotTable!: HotTableComponent;
43021
+ *
43022
+ * readonly gridSettings = <GridSettings>{
43023
+ * columns: [{}],
43024
+ * };
43025
+ *
43026
+ * ngAfterViewInit(): void {
43027
+ * // Access the Handsontable instance
43028
+ * // Call a method
43029
+ * this.hotTable?.hotInstance?.setDataAtCell(0, 0, "new value");
43030
+ * }
43031
+ * }
43032
+ * ```
43033
+ * :::
43034
+ *
42996
43035
  * @param {HTMLElement} rootElement The element to which the Handsontable instance is injected.
42997
43036
  * @param {object} userSettings The user defined options.
42998
43037
  * @param {boolean} [rootInstanceSymbol=false] Indicates if the instance is root of all later instances created.
@@ -54195,7 +54234,7 @@ const domMessages = {
54195
54234
  function _injectProductInfo(key, element) {
54196
54235
  const hasValidType = !isEmpty(key);
54197
54236
  const isNonCommercial = typeof key === 'string' && key.toLowerCase() === 'non-commercial-and-evaluation';
54198
- const hotVersion = "0.0.0-next-87b048b-20250409";
54237
+ const hotVersion = "0.0.0-next-d9b3885-20250415";
54199
54238
  let keyValidityDate;
54200
54239
  let consoleMessageState = 'invalid';
54201
54240
  let domMessageState = 'invalid';
@@ -63896,6 +63935,22 @@ exports.__esModule = true;
63896
63935
  * />
63897
63936
  * :::
63898
63937
  *
63938
+ * ::: only-for angular
63939
+ * ```ts
63940
+ * settings = {
63941
+ * afterChange: (changes, source) => {
63942
+ * changes?.forEach(([row, prop, oldValue, newValue]) => {
63943
+ * // Some logic...
63944
+ * });
63945
+ * },
63946
+ * };
63947
+ * ```
63948
+ *
63949
+ * ```html
63950
+ * <hot-table [settings]="settings" />
63951
+ * ```
63952
+ * :::
63953
+ *
63899
63954
  * ::: only-for javascript
63900
63955
  * ```js
63901
63956
  * // using events as plugin hooks
@@ -64000,6 +64055,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64000
64055
  * />
64001
64056
  * ```
64002
64057
  * :::
64058
+ *
64059
+ * ::: only-for angular
64060
+ * ```ts
64061
+ * settings = {
64062
+ * afterChange: (changes, source) => {
64063
+ * changes?.forEach(([row, prop, oldValue, newValue]) => {
64064
+ * // Some logic...
64065
+ * });
64066
+ * },
64067
+ * };
64068
+ * ```
64069
+ *
64070
+ * ```html
64071
+ * <hot-table [settings]="settings"></hot-table>
64072
+ * ```
64073
+ * :::
64003
64074
  */
64004
64075
  'afterChange',
64005
64076
  /**
@@ -64103,6 +64174,21 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64103
64174
  * />
64104
64175
  * ```
64105
64176
  * :::
64177
+ *
64178
+ * ::: only-for angular
64179
+ * ```ts
64180
+ * settings = {
64181
+ * beforeCreateCol: (data, coords) => {
64182
+ * // Return `false` to cancel column inserting.
64183
+ * return false;
64184
+ * },
64185
+ * };
64186
+ * ```
64187
+ *
64188
+ * ```html
64189
+ * <hot-table [settings]="settings"></hot-table>
64190
+ * ```
64191
+ * :::
64106
64192
  */
64107
64193
  'beforeCreateCol',
64108
64194
  /**
@@ -64486,6 +64572,31 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64486
64572
  * }}
64487
64573
  * />
64488
64574
  * ```
64575
+ * :::
64576
+ *
64577
+ * ::: only-for angular
64578
+ * ```ts
64579
+ * settings = {
64580
+ * afterSelection: (
64581
+ * row,
64582
+ * column,
64583
+ * row2,
64584
+ * column2,
64585
+ * preventScrolling,
64586
+ * selectionLayerLevel
64587
+ * ) => {
64588
+ * // If set to `false` (default): when cell selection is outside the viewport,
64589
+ * // Handsontable scrolls the viewport to cell selection's end corner.
64590
+ * // If set to `true`: when cell selection is outside the viewport,
64591
+ * // Handsontable doesn't scroll to cell selection's end corner.
64592
+ * preventScrolling.value = true;
64593
+ * },
64594
+ * };
64595
+ * ```
64596
+ *
64597
+ * ```html
64598
+ * <hot-table [settings]="settings"></hot-table>
64599
+ * ```
64489
64600
  * :::
64490
64601
  */
64491
64602
  'afterSelection',
@@ -64525,6 +64636,28 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64525
64636
  * />
64526
64637
  * ```
64527
64638
  * :::
64639
+ *
64640
+ * ::: only-for angular
64641
+ * ```ts
64642
+ * settings = {
64643
+ * afterSelectionByProp: (
64644
+ * row,
64645
+ * column,
64646
+ * row2,
64647
+ * column2,
64648
+ * preventScrolling,
64649
+ * selectionLayerLevel
64650
+ * ) => {
64651
+ * // Setting if prevent scrolling after selection
64652
+ * preventScrolling.value = true;
64653
+ * },
64654
+ * };
64655
+ * ```
64656
+ *
64657
+ * ```html
64658
+ * <hot-table [settings]="settings"></hot-table>
64659
+ * ```
64660
+ * :::
64528
64661
  */
64529
64662
  'afterSelectionByProp',
64530
64663
  /**
@@ -64589,6 +64722,24 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64589
64722
  * />
64590
64723
  * ```
64591
64724
  * :::
64725
+ *
64726
+ * ::: only-for angular
64727
+ * ```ts
64728
+ * settings = {
64729
+ * afterSelectionFocusSet: (row, column, preventScrolling) => {
64730
+ * // If set to `false` (default): when focused cell selection is outside the viewport,
64731
+ * // Handsontable scrolls the viewport to that cell.
64732
+ * // If set to `true`: when focused cell selection is outside the viewport,
64733
+ * // Handsontable doesn't scroll the viewport.
64734
+ * preventScrolling.value = true;
64735
+ * },
64736
+ * };
64737
+ * ```
64738
+ *
64739
+ * ```html
64740
+ * <hot-table [settings]="settings"></hot-table>
64741
+ * ```
64742
+ * :::
64592
64743
  */
64593
64744
  'afterSelectionFocusSet',
64594
64745
  /**
@@ -64623,6 +64774,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64623
64774
  * />
64624
64775
  * ```
64625
64776
  * :::
64777
+ *
64778
+ * ::: only-for angular
64779
+ * ```ts
64780
+ * settings = {
64781
+ * beforeSelectColumns: (from, to, highlight) => {
64782
+ * // Extend the column selection by one column left and one column right.
64783
+ * from.col = Math.max(from.col - 1, 0);
64784
+ * to.col = Math.min(to.col + 1, this.countCols() - 1);
64785
+ * },
64786
+ * };
64787
+ * ```
64788
+ *
64789
+ * ```html
64790
+ * <hot-table [settings]="settings"></hot-table>
64791
+ * ```
64792
+ * :::
64626
64793
  */
64627
64794
  'beforeSelectColumns',
64628
64795
  /**
@@ -64667,6 +64834,22 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64667
64834
  * />
64668
64835
  * ```
64669
64836
  * :::
64837
+ *
64838
+ * ::: only-for angular
64839
+ * ```ts
64840
+ * settings = {
64841
+ * beforeSelectRows: (from, to, highlight) => {
64842
+ * // Extend the row selection by one row up and one row down.
64843
+ * from.row = Math.max(from.row - 1, 0);
64844
+ * to.row = Math.min(to.row + 1, this.countRows() - 1);
64845
+ * },
64846
+ * };
64847
+ * ```
64848
+ *
64849
+ * ```html
64850
+ * <hot-table [settings]="settings"></hot-table>
64851
+ * ```
64852
+ * :::
64670
64853
  */
64671
64854
  'beforeSelectRows',
64672
64855
  /**
@@ -64887,6 +65070,42 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
64887
65070
  * />
64888
65071
  * ```
64889
65072
  * :::
65073
+ * ::: only-for angular
65074
+ *```ts
65075
+ * // To alter a single change, overwrite the desired value with `changes[i][3]`
65076
+ * settings1 = {
65077
+ * beforeChange: (changes, source) => {
65078
+ * // [[row, prop, oldVal, newVal], ...]
65079
+ * changes[0][3] = 10;
65080
+ * },
65081
+ * };
65082
+ *
65083
+ * // To ignore a single change, set `changes[i]` to `null`
65084
+ * // or remove `changes[i]` from the array, by using changes.splice(i, 1).
65085
+ * settings2 = {
65086
+ * beforeChange: (changes, source) => {
65087
+ * // [[row, prop, oldVal, newVal], ...]
65088
+ * changes[0] = null;
65089
+ * },
65090
+ * };
65091
+ *
65092
+ * // To ignore all changes, return `false`
65093
+ * // or set the array's length to 0 (`changes.length = 0`)
65094
+ * settings3 = {
65095
+ * beforeChange: (changes, source) => {
65096
+ * // [[row, prop, oldVal, newVal], ...]
65097
+ * return false;
65098
+ * },
65099
+ * };
65100
+ * ```
65101
+ *
65102
+ * ```html
65103
+ * <hot-table [settings]="settings1"></hot-table>
65104
+ * <hot-table [settings]="settings2"></hot-table>
65105
+ * <hot-table [settings]="settings3"></hot-table>
65106
+ * ```
65107
+ *
65108
+ * :::
64890
65109
  */
64891
65110
  'beforeChange',
64892
65111
  /**
@@ -65497,6 +65716,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
65497
65716
  * />
65498
65717
  * ```
65499
65718
  * :::
65719
+ *
65720
+ * ::: only-for angular
65721
+ *```ts
65722
+ * // To disregard a single row, remove it from the array using data.splice(i, 1).
65723
+ * settings1 = {
65724
+ * beforeCut: (data, coords) => {
65725
+ * // data -> [[1, 2, 3], [4, 5, 6]]
65726
+ * data.splice(0, 1);
65727
+ * // data -> [[4, 5, 6]]
65728
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
65729
+ * },
65730
+ * };
65731
+ *
65732
+ * // To cancel a cutting action, just return `false`.
65733
+ * settings2 = {
65734
+ * beforeCut: (data, coords) => {
65735
+ * return false;
65736
+ * },
65737
+ * };
65738
+ * ```
65739
+ *
65740
+ * ```html
65741
+ * <hot-table [settings]="settings1"></hot-table>
65742
+ * <hot-table [settings]="settings2"></hot-table>
65743
+ * ```
65744
+ * :::
65500
65745
  */
65501
65746
  'beforeCut',
65502
65747
  /**
@@ -65569,6 +65814,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
65569
65814
  * ...
65570
65815
  * ```
65571
65816
  * :::
65817
+ *
65818
+ * ::: only-for angular
65819
+ * ```ts
65820
+ * // To disregard a single row, remove it from the array using data.splice(i, 1).
65821
+ * settings1 = {
65822
+ * beforeCopy: (data, coords) => {
65823
+ * // data -> [[1, 2, 3], [4, 5, 6]]
65824
+ * data.splice(0, 1);
65825
+ * // data -> [[4, 5, 6]]
65826
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
65827
+ * },
65828
+ * };
65829
+ *
65830
+ * // To cancel copying, return false from the callback.
65831
+ * settings2 = {
65832
+ * beforeCopy: (data, coords) => {
65833
+ * return false;
65834
+ * },
65835
+ * };
65836
+ * ```
65837
+ *
65838
+ * ```html
65839
+ * <hot-table [settings]="settings1"></hot-table>
65840
+ * <hot-table [settings]="settings2"></hot-table>
65841
+ * ```
65842
+ * :::
65572
65843
  */
65573
65844
  'beforeCopy',
65574
65845
  /**
@@ -65631,6 +65902,32 @@ const REGISTERED_HOOKS = exports.REGISTERED_HOOKS = [/* eslint-disable jsdoc/req
65631
65902
  * />
65632
65903
  * ```
65633
65904
  * :::
65905
+ *
65906
+ * ::: only-for angular
65907
+ * ```ts
65908
+ * // To disregard a single row, remove it from the array using data.splice(i, 1).
65909
+ * settings1 = {
65910
+ * beforePaste: (data, coords) => {
65911
+ * // data -> [[1, 2, 3], [4, 5, 6]]
65912
+ * data.splice(0, 1);
65913
+ * // data -> [[4, 5, 6]]
65914
+ * // coords -> [{startRow: 0, startCol: 0, endRow: 1, endCol: 2}]
65915
+ * },
65916
+ * };
65917
+ *
65918
+ * // To cancel pasting, return false from the callback.
65919
+ * settings2 = {
65920
+ * beforePaste: (data, coords) => {
65921
+ * return false;
65922
+ * },
65923
+ * };
65924
+ * ```
65925
+ *
65926
+ * ```html
65927
+ * <hot-table [settings]="settings1"></hot-table>
65928
+ * <hot-table [settings]="settings2"></hot-table>
65929
+ * ```
65930
+ * :::
65634
65931
  */
65635
65932
  'beforePaste',
65636
65933
  /**
@@ -91571,6 +91868,33 @@ var _object = __webpack_require__(499);
91571
91868
  * ```
91572
91869
  * :::
91573
91870
  *
91871
+ * ::: only-for angular
91872
+ * ```ts
91873
+ * settings = {
91874
+ * data: [
91875
+ * ["A1", "B1", "C1", "D1", "E1"],
91876
+ * ["A2", "B2", "C2", "D2", "E2"],
91877
+ * ["A3", "B3", "C3", "D3", "E3"],
91878
+ * ["A4", "B4", "C4", "D4", "E4"],
91879
+ * ["A5", "B5", "C5", "D5", "E5"],
91880
+ * ],
91881
+ * width: 400,
91882
+ * height: 300,
91883
+ * colHeaders: true,
91884
+ * rowHeaders: true,
91885
+ * customBorders: true,
91886
+ * dropdownMenu: true,
91887
+ * multiColumnSorting: true,
91888
+ * filters: true,
91889
+ * manualRowMove: true,
91890
+ * };
91891
+ * ```
91892
+ *
91893
+ * ```html
91894
+ * <hot-table [settings]="settings" />
91895
+ * ```
91896
+ * :::
91897
+ *
91574
91898
  * Depending on your needs, you can apply [configuration options](@/api/options.md) to different elements of your grid:
91575
91899
  * - [The entire grid](@/guides/getting-started/configuration-options/configuration-options.md#set-grid-options)
91576
91900
  * - [Individual columns](@/guides/getting-started/configuration-options/configuration-options.md#set-column-options)
@@ -112226,6 +112550,53 @@ const COLUMN_SIZE_MAP_NAME = 'autoColumnSize';
112226
112550
  * }
112227
112551
  * ```
112228
112552
  * :::
112553
+ *
112554
+ * ::: only-for angular
112555
+ *
112556
+ * ```ts
112557
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
112558
+ * import {
112559
+ * GridSettings,
112560
+ * HotTableModule,
112561
+ * HotTableComponent,
112562
+ * } from "@handsontable/angular-wrapper";
112563
+ *
112564
+ * `@Component`({
112565
+ * selector: "app-example",
112566
+ * standalone: true,
112567
+ * imports: [HotTableModule],
112568
+ * template: ` <div class="ht-theme-main">
112569
+ * <hot-table [settings]="gridSettings" />
112570
+ * </div>`,
112571
+ * })
112572
+ * export class ExampleComponent implements AfterViewInit {
112573
+ * `@ViewChild`(HotTableComponent, { static: false })
112574
+ * readonly hotTable!: HotTableComponent;
112575
+ *
112576
+ * readonly gridSettings = <GridSettings>{
112577
+ * data: this.getData(),
112578
+ * autoColumnSize: true,
112579
+ * };
112580
+ *
112581
+ * ngAfterViewInit(): void {
112582
+ * // Access to plugin instance:
112583
+ * const hot = this.hotTable.hotInstance;
112584
+ * const plugin = hot.getPlugin("autoColumnSize");
112585
+ *
112586
+ * plugin.getColumnWidth(4);
112587
+ *
112588
+ * if (plugin.isEnabled()) {
112589
+ * // code...
112590
+ * }
112591
+ * }
112592
+ *
112593
+ * private getData(): any[] {
112594
+ * //get some data
112595
+ * }
112596
+ * }
112597
+ * ```
112598
+ *
112599
+ * :::
112229
112600
  */
112230
112601
  /* eslint-enable jsdoc/require-description-complete-sentence */
112231
112602
  var _isInitialized = /*#__PURE__*/new WeakMap();
@@ -114627,6 +114998,51 @@ const ROW_WIDTHS_MAP_NAME = 'autoRowSize';
114627
114998
  * }
114628
114999
  * ```
114629
115000
  * :::
115001
+ *
115002
+ * ::: only-for angular
115003
+ * ```ts
115004
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
115005
+ * import {
115006
+ * GridSettings,
115007
+ * HotTableModule,
115008
+ * HotTableComponent,
115009
+ * } from "@handsontable/angular-wrapper";
115010
+ *
115011
+ * `@Component`({
115012
+ * selector: "app-example",
115013
+ * standalone: true,
115014
+ * imports: [HotTableModule],
115015
+ * template: ` <div class="ht-theme-main">
115016
+ * <hot-table [settings]="gridSettings" />
115017
+ * </div>`,
115018
+ * })
115019
+ * export class ExampleComponent implements AfterViewInit {
115020
+ * `@ViewChild`(HotTableComponent, { static: false })
115021
+ * readonly hotTable!: HotTableComponent;
115022
+ *
115023
+ * readonly gridSettings = <GridSettings>{
115024
+ * data: this.getData(),
115025
+ * autoRowSize: true,
115026
+ * };
115027
+ *
115028
+ * ngAfterViewInit(): void {
115029
+ * // Access to plugin instance:
115030
+ * const hot = this.hotTable.hotInstance;
115031
+ * const plugin = hot.getPlugin("autoRowSize");
115032
+ *
115033
+ * plugin.getRowHeight(4);
115034
+ *
115035
+ * if (plugin.isEnabled()) {
115036
+ * // code...
115037
+ * }
115038
+ * }
115039
+ *
115040
+ * private getData(): any[] {
115041
+ * // get some data
115042
+ * }
115043
+ * }
115044
+ * ```
115045
+ * :::
114630
115046
  */
114631
115047
  /* eslint-enable jsdoc/require-description-complete-sentence */
114632
115048
  var _visualRowsToRefresh = /*#__PURE__*/new WeakMap();
@@ -115255,6 +115671,19 @@ const bindTypeToMapStrategy = new Map([['loose', _looseBindsMap.default], ['stri
115255
115671
  * />
115256
115672
  * ```
115257
115673
  * :::
115674
+ *
115675
+ * ::: only-for angular
115676
+ * ```ts
115677
+ * settings = {
115678
+ * data: getData(),
115679
+ * bindRowsWithHeaders: true,
115680
+ * };
115681
+ * ```
115682
+ *
115683
+ * ```html
115684
+ * <hot-table [settings]="settings" />
115685
+ * ```
115686
+ * :::
115258
115687
  */
115259
115688
  var _BindRowsWithHeaders_brand = /*#__PURE__*/new WeakSet();
115260
115689
  class BindRowsWithHeaders extends _base.BasePlugin {
@@ -115554,6 +115983,37 @@ const actionDictionary = new Map([['collapse', {
115554
115983
  * />
115555
115984
  * ```
115556
115985
  * :::
115986
+ *
115987
+ * ::: only-for angular
115988
+ * ```ts
115989
+ * // Enable the collapsibleColumns plugin
115990
+ * settings = {
115991
+ * data: generateDataObj(),
115992
+ * colHeaders: true,
115993
+ * rowHeaders: true,
115994
+ * nestedHeaders: true,
115995
+ * // enable plugin
115996
+ * collapsibleColumns: true,
115997
+ * };
115998
+ *
115999
+ * // Or enable and configure specific collapsible columns
116000
+ * settings = {
116001
+ * data: generateDataObj(),
116002
+ * colHeaders: true,
116003
+ * rowHeaders: true,
116004
+ * nestedHeaders: true,
116005
+ * // enable and configure which columns can be collapsed
116006
+ * collapsibleColumns: [
116007
+ * { row: -4, col: 1, collapsible: true },
116008
+ * { row: -3, col: 5, collapsible: true },
116009
+ * ],
116010
+ * };
116011
+ * ```
116012
+ *
116013
+ * ```html
116014
+ * <hot-table [settings]="settings"></hot-table>
116015
+ * ```
116016
+ * :::
115557
116017
  */
115558
116018
  var _collapsedColumnsMap = /*#__PURE__*/new WeakMap();
115559
116019
  var _CollapsibleColumns_brand = /*#__PURE__*/new WeakSet();
@@ -117836,6 +118296,39 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 220;
117836
118296
  * />
117837
118297
  * ```
117838
118298
  * :::
118299
+ *
118300
+ * ::: only-for angular
118301
+ * ```ts
118302
+ * settings = {
118303
+ * data: getData(),
118304
+ * colHeaders: true,
118305
+ * rowHeaders: true,
118306
+ * columnSummary: [
118307
+ * {
118308
+ * type: "min",
118309
+ * destinationRow: 4,
118310
+ * destinationColumn: 1,
118311
+ * },
118312
+ * {
118313
+ * type: "max",
118314
+ * destinationRow: 0,
118315
+ * destinationColumn: 3,
118316
+ * reversedRowCoords: true,
118317
+ * },
118318
+ * {
118319
+ * type: "sum",
118320
+ * destinationRow: 4,
118321
+ * destinationColumn: 5,
118322
+ * forceNumeric: true,
118323
+ * },
118324
+ * ],
118325
+ * };
118326
+ * ```
118327
+ *
118328
+ * ```html
118329
+ * <hot-table [settings]="settings"></hot-table>
118330
+ * ```
118331
+ * :::
117839
118332
  */
117840
118333
  var _ColumnSummary_brand = /*#__PURE__*/new WeakSet();
117841
118334
  class ColumnSummary extends _base.BasePlugin {
@@ -118925,6 +119418,59 @@ const SHORTCUTS_CONTEXT_NAME = `plugin:${PLUGIN_KEY}`;
118925
119418
  * commentsPlugin.removeComment();
118926
119419
  * ```
118927
119420
  * :::
119421
+ *
119422
+ * ::: only-for angular
119423
+ * ```ts
119424
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
119425
+ * import {
119426
+ * GridSettings,
119427
+ * HotTableModule,
119428
+ * HotTableComponent,
119429
+ * } from "@handsontable/angular-wrapper";
119430
+ *
119431
+ * `@Component`({
119432
+ * selector: "app-example",
119433
+ * standalone: true,
119434
+ * imports: [HotTableModule],
119435
+ * template: ` <div class="ht-theme-main">
119436
+ * <hot-table [settings]="gridSettings" />
119437
+ * </div>`,
119438
+ * })
119439
+ * export class ExampleComponent implements AfterViewInit {
119440
+ * `@ViewChild`(HotTableComponent, { static: false })
119441
+ * readonly hotTable!: HotTableComponent;
119442
+ *
119443
+ * readonly gridSettings = <GridSettings>{
119444
+ * data: this.getData(),
119445
+ * comments: true,
119446
+ * cell: [
119447
+ * { row: 1, col: 1, comment: { value: "Foo" } },
119448
+ * { row: 2, col: 2, comment: { value: "Bar" } },
119449
+ * ],
119450
+ * };
119451
+ *
119452
+ * ngAfterViewInit(): void {
119453
+ * // Access to plugin instance:
119454
+ * const hot = this.hotTable.hotInstance;
119455
+ * const commentsPlugin = hot.getPlugin("comments");
119456
+ *
119457
+ * // Manage comments programmatically:
119458
+ * commentsPlugin.setCommentAtCell(1, 6, "Comment contents");
119459
+ * commentsPlugin.showAtCell(1, 6);
119460
+ * commentsPlugin.removeCommentAtCell(1, 6);
119461
+ *
119462
+ * // You can also set range once and use proper methods:
119463
+ * commentsPlugin.setRange({ from: { row: 1, col: 6 } });
119464
+ * commentsPlugin.setComment("Comment contents");
119465
+ * commentsPlugin.show();
119466
+ * }
119467
+ *
119468
+ * private getData(): any[] {
119469
+ * // get some data
119470
+ * }
119471
+ * }
119472
+ * ```
119473
+ * :::
118928
119474
  */
118929
119475
  var _editor = /*#__PURE__*/new WeakMap();
118930
119476
  var _displaySwitch = /*#__PURE__*/new WeakMap();
@@ -126547,6 +127093,21 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
126547
127093
  * />
126548
127094
  * ```
126549
127095
  * :::
127096
+ *
127097
+ * ::: only-for angular
127098
+ * ```ts
127099
+ * settings = {
127100
+ * data: data,
127101
+ * comments: true,
127102
+ * // enable and configure dropdown menu
127103
+ * dropdownMenu: ["remove_col", "---------", "make_read_only", "alignment"],
127104
+ * };
127105
+ * ```
127106
+ *
127107
+ * ```html
127108
+ * <hot-table [settings]="settings"></hot-table>
127109
+ * ```
127110
+ * :::
126550
127111
  */
126551
127112
  var _isButtonClicked = /*#__PURE__*/new WeakMap();
126552
127113
  var _DropdownMenu_brand = /*#__PURE__*/new WeakSet();
@@ -127127,6 +127688,64 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 240;
127127
127688
  * });
127128
127689
  * ```
127129
127690
  * :::
127691
+ *
127692
+ * ::: only-for angular
127693
+ * ```ts
127694
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
127695
+ * import {
127696
+ * GridSettings,
127697
+ * HotTableModule,
127698
+ * HotTableComponent,
127699
+ * } from "@handsontable/angular-wrapper";
127700
+ *
127701
+ * `@Component`({
127702
+ * selector: "app-example",
127703
+ * standalone: true,
127704
+ * imports: [HotTableModule],
127705
+ * template: ` <div class="ht-theme-main">
127706
+ * <hot-table [settings]="gridSettings" />
127707
+ * </div>`,
127708
+ * })
127709
+ * export class ExampleComponent implements AfterViewInit {
127710
+ * `@ViewChild`(HotTableComponent, { static: false })
127711
+ * readonly hotTable!: HotTableComponent;
127712
+ *
127713
+ * readonly gridSettings = <GridSettings>{
127714
+ * data: this.getData(),
127715
+ * };
127716
+ *
127717
+ * ngAfterViewInit(): void {
127718
+ * // Access to plugin instance:
127719
+ * const hot = this.hotTable.hotInstance;
127720
+ * // Access to exportFile plugin instance
127721
+ * const exportPlugin = hot.getPlugin("exportFile");
127722
+ *
127723
+ * // Export as a string
127724
+ * exportPlugin.exportAsString("csv");
127725
+ *
127726
+ * // Export as a blob object
127727
+ * exportPlugin.exportAsBlob("csv");
127728
+ *
127729
+ * // Export to downloadable file (named: MyFile.csv)
127730
+ * exportPlugin.downloadFile("csv", { filename: "MyFile" });
127731
+ *
127732
+ * // Export as a string (with specified data range):
127733
+ * exportPlugin.exportAsString("csv", {
127734
+ * exportHiddenRows: true, // default false
127735
+ * exportHiddenColumns: true, // default false
127736
+ * columnHeaders: true, // default false
127737
+ * rowHeaders: true, // default false
127738
+ * columnDelimiter: ";", // default ','
127739
+ * range: [1, 1, 6, 6], // [startRow, endRow, startColumn, endColumn]
127740
+ * });
127741
+ * }
127742
+ *
127743
+ * private getData(): any[] {
127744
+ * // get some data
127745
+ * }
127746
+ * }
127747
+ * ```
127748
+ * :::
127130
127749
  */
127131
127750
  class ExportFile extends _base.BasePlugin {
127132
127751
  static get PLUGIN_KEY() {
@@ -127708,6 +128327,22 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
127708
128327
  * />
127709
128328
  * ```
127710
128329
  * :::
128330
+ *
128331
+ * ::: only-for angular
128332
+ * ```ts
128333
+ * settings = {
128334
+ * data: getData(),
128335
+ * colHeaders: true,
128336
+ * rowHeaders: true,
128337
+ * dropdownMenu: true,
128338
+ * filters: true,
128339
+ * };
128340
+ * ```
128341
+ *
128342
+ * ```html
128343
+ * <hot-table [settings]="settings"></hot-table>
128344
+ * ```
128345
+ * :::
127711
128346
  */
127712
128347
  var _menuFocusNavigator = /*#__PURE__*/new WeakMap();
127713
128348
  var _dropdownMenuTraces = /*#__PURE__*/new WeakMap();
@@ -128090,6 +128725,64 @@ class Filters extends _base.BasePlugin {
128090
128725
  * ```
128091
128726
  * :::
128092
128727
  *
128728
+ * ::: only-for angular
128729
+ * ```ts
128730
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
128731
+ * import {
128732
+ * GridSettings,
128733
+ * HotTableModule,
128734
+ * HotTableComponent,
128735
+ * } from "@handsontable/angular-wrapper";
128736
+ *
128737
+ * `@Component`({
128738
+ * selector: "app-example",
128739
+ * standalone: true,
128740
+ * imports: [HotTableModule],
128741
+ * template: ` <div class="ht-theme-main">
128742
+ * <hot-table [settings]="gridSettings" />
128743
+ * </div>`,
128744
+ * })
128745
+ * export class ExampleComponent implements AfterViewInit {
128746
+ * `@ViewChild`(HotTableComponent, { static: false })
128747
+ * readonly hotTable!: HotTableComponent;
128748
+ *
128749
+ * readonly gridSettings = <GridSettings>{
128750
+ * data: this.getData(),
128751
+ * filters: true,
128752
+ * };
128753
+ *
128754
+ * ngAfterViewInit(): void {
128755
+ * // Access to filters plugin instance
128756
+ * const hot = this.hotTable.hotInstance;
128757
+ * const filtersPlugin = hot.getPlugin("filters");
128758
+ *
128759
+ * // Add filter "Greater than" 95 to column at index 1
128760
+ * filtersPlugin.addCondition(1, "gt", [95]);
128761
+ * filtersPlugin.filter();
128762
+ *
128763
+ * // Add filter "By value" to column at index 1
128764
+ * // In this case, all values that don't match will be filtered.
128765
+ * filtersPlugin.addCondition(1, "by_value", [["ing", "ed", "as", "on"]]);
128766
+ * filtersPlugin.filter();
128767
+ *
128768
+ * // Add filter "Begins with" with value "de" AND "Not contains" with value "ing"
128769
+ * filtersPlugin.addCondition(1, "begins_with", ["de"], "conjunction");
128770
+ * filtersPlugin.addCondition(1, "not_contains", ["ing"], "conjunction");
128771
+ * filtersPlugin.filter();
128772
+ *
128773
+ * // Add filter "Begins with" with value "de" OR "Not contains" with value "ing"
128774
+ * filtersPlugin.addCondition(1, "begins_with", ["de"], "disjunction");
128775
+ * filtersPlugin.addCondition(1, "not_contains", ["ing"], "disjunction");
128776
+ * filtersPlugin.filter();
128777
+ * }
128778
+ *
128779
+ * private getData(): any[] {
128780
+ * // Get some data
128781
+ * }
128782
+ * }
128783
+ * ```
128784
+ * :::
128785
+ *
128093
128786
  * @param {number} column Visual column index.
128094
128787
  * @param {string} name Condition short name.
128095
128788
  * @param {Array} args Condition arguments.
@@ -135280,6 +135973,70 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 310;
135280
135973
  * hot.render();
135281
135974
  * ```
135282
135975
  * :::
135976
+ *
135977
+ * ::: only-for angular
135978
+ * ```ts
135979
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
135980
+ * import {
135981
+ * GridSettings,
135982
+ * HotTableModule,
135983
+ * HotTableComponent,
135984
+ * } from "@handsontable/angular-wrapper";
135985
+ *
135986
+ * `@Component`({
135987
+ * selector: "app-example",
135988
+ * standalone: true,
135989
+ * imports: [HotTableModule],
135990
+ * template: ` <div class="ht-theme-main">
135991
+ * <hot-table [settings]="gridSettings" />
135992
+ * </div>`,
135993
+ * })
135994
+ * export class ExampleComponent implements AfterViewInit {
135995
+ * `@ViewChild`(HotTableComponent, { static: false })
135996
+ * readonly hotTable!: HotTableComponent;
135997
+ *
135998
+ * readonly gridSettings = <GridSettings>{
135999
+ * data: this.getData(),
136000
+ * hiddenColumns: {
136001
+ * copyPasteEnabled: true,
136002
+ * indicators: true,
136003
+ * columns: [1, 2, 5],
136004
+ * },
136005
+ * };
136006
+ *
136007
+ * ngAfterViewInit(): void {
136008
+ * // Access the `HiddenColumns` plugin's instance
136009
+ * const hot = this.hotTable.hotInstance;
136010
+ * const hiddenColumnsPlugin = hot.getPlugin("hiddenColumns");
136011
+ *
136012
+ * // Hide a single column
136013
+ * hiddenColumnsPlugin.hideColumn(1);
136014
+ *
136015
+ * // Hide multiple columns
136016
+ * hiddenColumnsPlugin.hideColumn(1, 2, 9);
136017
+ *
136018
+ * // Hide multiple columns as an array
136019
+ * hiddenColumnsPlugin.hideColumns([1, 2, 9]);
136020
+ *
136021
+ * // Unhide a single column
136022
+ * hiddenColumnsPlugin.showColumn(1);
136023
+ *
136024
+ * // Unhide multiple columns
136025
+ * hiddenColumnsPlugin.showColumn(1, 2, 9);
136026
+ *
136027
+ * // Unhide multiple columns as an array
136028
+ * hiddenColumnsPlugin.showColumns([1, 2, 9]);
136029
+ *
136030
+ * // To see your changes, re-render your Handsontable instance
136031
+ * hot.render();
136032
+ * }
136033
+ *
136034
+ * private getData(): any[] {
136035
+ * // Get some data
136036
+ * }
136037
+ * }
136038
+ * ```
136039
+ * :::
135283
136040
  */
135284
136041
  var _hiddenColumnsMap = /*#__PURE__*/new WeakMap();
135285
136042
  var _HiddenColumns_brand = /*#__PURE__*/new WeakSet();
@@ -135969,6 +136726,70 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 320;
135969
136726
  * hot.render();
135970
136727
  * ```
135971
136728
  * :::
136729
+ *
136730
+ * ::: only-for angular
136731
+ * ```ts
136732
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
136733
+ * import {
136734
+ * GridSettings,
136735
+ * HotTableModule,
136736
+ * HotTableComponent,
136737
+ * } from "@handsontable/angular-wrapper";
136738
+ *
136739
+ * `@Component`({
136740
+ * selector: "app-example",
136741
+ * standalone: true,
136742
+ * imports: [HotTableModule],
136743
+ * template: ` <div class="ht-theme-main">
136744
+ * <hot-table [settings]="gridSettings" />
136745
+ * </div>`,
136746
+ * })
136747
+ * export class ExampleComponent implements AfterViewInit {
136748
+ * `@ViewChild`(HotTableComponent, { static: false })
136749
+ * readonly hotTable!: HotTableComponent;
136750
+ *
136751
+ * readonly gridSettings = <GridSettings>{
136752
+ * data: this.getData(),
136753
+ * hiddenRows: {
136754
+ * copyPasteEnabled: true,
136755
+ * indicators: true,
136756
+ * rows: [1, 2, 5],
136757
+ * },
136758
+ * };
136759
+ *
136760
+ * ngAfterViewInit(): void {
136761
+ * // Access the `HiddenRows` plugin's instance
136762
+ * const hot = this.hotTable.hotInstance;
136763
+ * const hiddenRowsPlugin = hot.getPlugin("hiddenRows");
136764
+ *
136765
+ * // Hide a single row
136766
+ * hiddenRowsPlugin.hideRow(1);
136767
+ *
136768
+ * // Hide multiple rows
136769
+ * hiddenRowsPlugin.hideRow(1, 2, 9);
136770
+ *
136771
+ * // Hide multiple rows as an array
136772
+ * hiddenRowsPlugin.hideRows([1, 2, 9]);
136773
+ *
136774
+ * // Unhide a single row
136775
+ * hiddenRowsPlugin.showRow(1);
136776
+ *
136777
+ * // Unhide multiple rows
136778
+ * hiddenRowsPlugin.showRow(1, 2, 9);
136779
+ *
136780
+ * // Unhide multiple rows as an array
136781
+ * hiddenRowsPlugin.showRows([1, 2, 9]);
136782
+ *
136783
+ * // To see your changes, re-render your Handsontable instance
136784
+ * hot.render();
136785
+ * }
136786
+ *
136787
+ * private getData(): any[] {
136788
+ * // Get some data
136789
+ * }
136790
+ * }
136791
+ * ```
136792
+ * :::
135972
136793
  */
135973
136794
  var _hiddenRowsMap = /*#__PURE__*/new WeakMap();
135974
136795
  var _HiddenRows_brand = /*#__PURE__*/new WeakSet();
@@ -140057,6 +140878,24 @@ const SHORTCUTS_GROUP = PLUGIN_KEY;
140057
140878
  * />
140058
140879
  * ```
140059
140880
  * :::
140881
+ *
140882
+ * ::: only-for angular
140883
+ * ```ts
140884
+ * settings = {
140885
+ * data: getData(),
140886
+ * // Enable plugin
140887
+ * mergeCells: [
140888
+ * { row: 0, col: 3, rowspan: 3, colspan: 3 },
140889
+ * { row: 2, col: 6, rowspan: 2, colspan: 2 },
140890
+ * { row: 4, col: 8, rowspan: 3, colspan: 3 },
140891
+ * ],
140892
+ * };
140893
+ * ```
140894
+ *
140895
+ * ```html
140896
+ * <hot-table [settings]="settings"></hot-table>
140897
+ * ```
140898
+ * :::
140060
140899
  */
140061
140900
  var _lastSelectedFocus = /*#__PURE__*/new WeakMap();
140062
140901
  var _lastFocusDelta = /*#__PURE__*/new WeakMap();
@@ -144619,6 +145458,31 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 280;
144619
145458
  * />
144620
145459
  * ```
144621
145460
  * :::
145461
+ *
145462
+ * ::: only-for angular
145463
+ * ```ts
145464
+ * settings = {
145465
+ * data: getData(),
145466
+ * nestedHeaders: [
145467
+ * ["A", { label: "B", colspan: 8, headerClassName: "htRight" }, "C"],
145468
+ * ["D", { label: "E", colspan: 4 }, { label: "F", colspan: 4 }, "G"],
145469
+ * [
145470
+ * "H",
145471
+ * { label: "I", colspan: 2 },
145472
+ * { label: "J", colspan: 2 },
145473
+ * { label: "K", colspan: 2 },
145474
+ * { label: "L", colspan: 2 },
145475
+ * "M",
145476
+ * ],
145477
+ * ["N", "O", "P", "Q", "R", "S", "T", "U", "V", "W"],
145478
+ * ],
145479
+ * };
145480
+ * ```
145481
+ *
145482
+ * ```html
145483
+ * <hot-table [settings]="settings"></hot-table>
145484
+ * ```
145485
+ * :::
144622
145486
  */
144623
145487
  var _stateManager = /*#__PURE__*/new WeakMap();
144624
145488
  var _hidingIndexMapObserver = /*#__PURE__*/new WeakMap();
@@ -150670,6 +151534,19 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 155;
150670
151534
  * />
150671
151535
  * ```
150672
151536
  * :::
151537
+ *
151538
+ * ::: only-for angular
151539
+ * ```ts
151540
+ * settings = {
151541
+ * data: getData(),
151542
+ * stretchH: "all",
151543
+ * };
151544
+ * ```
151545
+ *
151546
+ * ```html
151547
+ * <hot-table [settings]="settings"></hot-table>
151548
+ * ```
151549
+ * :::
150673
151550
  */
150674
151551
  /* eslint-enable jsdoc/require-description-complete-sentence */
150675
151552
  var _stretchCalculator = /*#__PURE__*/new WeakMap();
@@ -151579,6 +152456,67 @@ const PLUGIN_PRIORITY = exports.PLUGIN_PRIORITY = 330;
151579
152456
  * hot.render();
151580
152457
  * ```
151581
152458
  * :::
152459
+ *
152460
+ * ::: only-for angular
152461
+ * ```ts
152462
+ * import { AfterViewInit, Component, ViewChild } from "@angular/core";
152463
+ * import {
152464
+ * GridSettings,
152465
+ * HotTableModule,
152466
+ * HotTableComponent,
152467
+ * } from "@handsontable/angular-wrapper";
152468
+ *
152469
+ * `@Component`({
152470
+ * selector: "app-example",
152471
+ * standalone: true,
152472
+ * imports: [HotTableModule],
152473
+ * template: ` <div class="ht-theme-main">
152474
+ * <hot-table [settings]="gridSettings" />
152475
+ * </div>`,
152476
+ * })
152477
+ * export class ExampleComponent implements AfterViewInit {
152478
+ * `@ViewChild`(HotTableComponent, { static: false })
152479
+ * readonly hotTable!: HotTableComponent;
152480
+ *
152481
+ * readonly gridSettings = <GridSettings>{
152482
+ * data: this.getData(),
152483
+ * // Hide selected rows on table initialization
152484
+ * trimRows: [1, 2, 5],
152485
+ * };
152486
+ *
152487
+ * ngAfterViewInit(): void {
152488
+ * // Access the trimRows plugin instance
152489
+ * const hot = this.hotTable.hotInstance;
152490
+ * const trimRowsPlugin = hot.getPlugin("trimRows");
152491
+ *
152492
+ * // Hide a single row
152493
+ * trimRowsPlugin.trimRow(1);
152494
+ *
152495
+ * // Hide multiple rows
152496
+ * trimRowsPlugin.trimRow(1, 2, 9);
152497
+ *
152498
+ * // Or as an array
152499
+ * trimRowsPlugin.trimRows([1, 2, 9]);
152500
+ *
152501
+ * // Show a single row
152502
+ * trimRowsPlugin.untrimRow(1);
152503
+ *
152504
+ * // Show multiple rows
152505
+ * trimRowsPlugin.untrimRow(1, 2, 9);
152506
+ *
152507
+ * // Or as an array
152508
+ * trimRowsPlugin.untrimRows([1, 2, 9]);
152509
+ *
152510
+ * // Re-render table to see the changes
152511
+ * hot.render();
152512
+ * }
152513
+ *
152514
+ * private getData(): any[] {
152515
+ * // Get some data
152516
+ * }
152517
+ * }
152518
+ * ```
152519
+ * :::
151582
152520
  */
151583
152521
  var _TrimRows_brand = /*#__PURE__*/new WeakSet();
151584
152522
  class TrimRows extends _base.BasePlugin {