@1771technologies/lytenyte-pro 1.0.0-beta.8 → 1.0.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 (105) hide show
  1. package/dist/+types.d.ts +581 -65
  2. package/dist/cell-selection/cell-selection-driver.js +9 -1
  3. package/dist/cell-selection/update-additive-cell-selection.js +0 -2
  4. package/dist/cells/cell-editor.js +11 -4
  5. package/dist/cells/cell.js +1 -1
  6. package/dist/column-manager/branch.d.ts +9 -3
  7. package/dist/column-manager/branch.js +20 -4
  8. package/dist/column-manager/column-manager.d.ts +3 -5
  9. package/dist/column-manager/column-manager.js +6 -8
  10. package/dist/column-manager/context.d.ts +2 -2
  11. package/dist/column-manager/label.d.ts +1 -1
  12. package/dist/column-manager/label.js +5 -5
  13. package/dist/column-manager/leaf.d.ts +2 -2
  14. package/dist/column-manager/leaf.js +22 -4
  15. package/dist/column-manager/move-handle.d.ts +3 -3
  16. package/dist/column-manager/move-handle.js +3 -5
  17. package/dist/column-manager/panel.d.ts +1 -0
  18. package/dist/column-manager/panel.js +2 -0
  19. package/dist/column-manager/root.d.ts +6 -7
  20. package/dist/column-manager/root.js +2 -15
  21. package/dist/column-manager/use-column-manager.d.ts +9 -18
  22. package/dist/column-manager/use-column-manager.js +22 -22
  23. package/dist/column-manager/use-columns-from-context.d.ts +2 -2
  24. package/dist/column-manager/use-columns-from-context.js +2 -2
  25. package/dist/column-manager/visibility-checkbox.d.ts +1 -1
  26. package/dist/column-manager/visibility-checkbox.js +2 -2
  27. package/dist/filter-tree/branch.d.ts +4 -1
  28. package/dist/filter-tree/branch.js +1 -1
  29. package/dist/filter-tree/inclusion-checkbox.d.ts +1 -1
  30. package/dist/filter-tree/inclusion-checkbox.js +2 -2
  31. package/dist/filter-tree/label.d.ts +1 -1
  32. package/dist/filter-tree/label.js +2 -2
  33. package/dist/filter-tree/root.d.ts +3 -3
  34. package/dist/filter-tree/root.js +4 -4
  35. package/dist/grid-box/+types.d.ts +4 -2
  36. package/dist/grid-box/item.d.ts +4 -1
  37. package/dist/grid-box/item.js +39 -9
  38. package/dist/grid-box/use-aggregation-box-items.js +3 -1
  39. package/dist/grid-box/use-column-box-items.d.ts +6 -2
  40. package/dist/grid-box/use-column-box-items.js +11 -14
  41. package/dist/grid-box/use-row-group-box-items.d.ts +2 -2
  42. package/dist/grid-box/use-row-group-box-items.js +14 -15
  43. package/dist/grid.d.ts +0 -12
  44. package/dist/grid.js +0 -12
  45. package/dist/header/header-cell.d.ts +1 -1
  46. package/dist/header/header-cell.js +2 -2
  47. package/dist/header/header-group-cell.js +3 -1
  48. package/dist/header/resize-handler.d.ts +2 -2
  49. package/dist/header/resize-handler.js +7 -3
  50. package/dist/header/use-drag-move.js +9 -2
  51. package/dist/header/use-header-cell-renderer.js +4 -4
  52. package/dist/icons/index.d.ts +1 -1
  53. package/dist/icons/index.js +1 -1
  54. package/dist/index.d.ts +6 -0
  55. package/dist/index.js +6 -0
  56. package/dist/license.js +1 -1
  57. package/dist/listbox/item.js +1 -1
  58. package/dist/row-data-source-client/filter/compute-filtered-rows.js +1 -1
  59. package/dist/row-data-source-client/use-client-data-source-paginated.d.ts +3 -3
  60. package/dist/row-data-source-client/use-client-data-source-paginated.js +66 -24
  61. package/dist/row-data-source-client/use-client-data-source.js +50 -20
  62. package/dist/row-data-source-client/use-client-tree-data-source.js +49 -20
  63. package/dist/row-data-source-server/use-server-data-source.js +26 -0
  64. package/dist/sort-manager/sort-add.d.ts +1 -1
  65. package/dist/sort-manager/sort-add.js +3 -3
  66. package/dist/sort-manager/sort-apply.d.ts +1 -1
  67. package/dist/sort-manager/sort-apply.js +3 -3
  68. package/dist/sort-manager/sort-cancel.d.ts +1 -1
  69. package/dist/sort-manager/sort-cancel.js +3 -3
  70. package/dist/sort-manager/sort-clear.d.ts +1 -1
  71. package/dist/sort-manager/sort-clear.js +3 -3
  72. package/dist/sort-manager/sort-column-select.d.ts +1 -1
  73. package/dist/sort-manager/sort-column-select.js +2 -2
  74. package/dist/sort-manager/sort-direction-select.d.ts +1 -1
  75. package/dist/sort-manager/sort-direction-select.js +2 -2
  76. package/dist/sort-manager/sort-remove.d.ts +1 -1
  77. package/dist/sort-manager/sort-remove.js +3 -3
  78. package/dist/sort-manager/sort-value-select.d.ts +1 -1
  79. package/dist/sort-manager/sort-value-select.js +2 -2
  80. package/dist/state/+types.d.ts +2 -1
  81. package/dist/state/api/column-autosize.js +1 -1
  82. package/dist/state/api/column-from-index.d.ts +1 -1
  83. package/dist/state/api/column-from-index.js +1 -1
  84. package/dist/state/api/column-update.d.ts +4 -1
  85. package/dist/state/api/column-update.js +13 -0
  86. package/dist/state/api/edit-end.js +1 -1
  87. package/dist/state/api/export-data-rect.js +1 -1
  88. package/dist/state/helpers/column-add-row-group.d.ts +2 -1
  89. package/dist/state/helpers/column-add-row-group.js +9 -1
  90. package/dist/state/helpers/column-marker.js +1 -1
  91. package/dist/state/helpers/edit-on-change.js +1 -0
  92. package/dist/state/helpers/empty-row-data-source.js +1 -0
  93. package/dist/state/helpers/resolve-column.d.ts +1 -1
  94. package/dist/state/helpers/resolve-column.js +7 -0
  95. package/dist/state/use-lytenyte.js +16 -4
  96. package/dist/tree-view/branch/branch.d.ts +4 -1
  97. package/dist/tree-view/branch/branch.js +4 -2
  98. package/dist/tree-view/hooks/use-tree-view-paths.d.ts +1 -1
  99. package/dist/tree-view/hooks/use-tree-view-paths.js +3 -3
  100. package/dist/tree-view/leaf.js +1 -0
  101. package/dist/viewport/begin-editing.js +1 -1
  102. package/main.css +8 -4
  103. package/package.json +7 -7
  104. package/dist/column-manager/passive-scroll.d.ts +0 -2
  105. package/dist/column-manager/passive-scroll.js +0 -2
package/dist/+types.d.ts CHANGED
@@ -2,6 +2,8 @@ import type { ReactNode } from "react";
2
2
  /**
3
3
  * The initial props that may be passed to the `useLyteNyte` hook. The hook
4
4
  * returns the state representation of LyteNyte Grid.
5
+ *
6
+ * @group Grid State
5
7
  */
6
8
  export interface UseLyteNyteProps<T> {
7
9
  /**
@@ -256,6 +258,8 @@ export interface UseLyteNyteProps<T> {
256
258
  * grid properties that affect layout, data, selection, and rendering. Updating any of these atoms will trigger
257
259
  * corresponding changes in the grid UI. These state values can also be used to create and synchronize external
258
260
  * components such as toolbars, panels, or widgets.
261
+ *
262
+ * @group Grid State
259
263
  */
260
264
  export interface GridState<T> {
261
265
  /**
@@ -641,6 +645,8 @@ export interface GridState<T> {
641
645
  /**
642
646
  * Defines the viewport boundaries for rendering rows and columns in LyteNyte Grid.
643
647
  * These bounds are calculated based on the scroll position and the visible area of the grid.
648
+ *
649
+ * @group Grid View
644
650
  */
645
651
  export interface ViewBounds {
646
652
  /**
@@ -703,6 +709,8 @@ export interface ViewBounds {
703
709
  /**
704
710
  * The grid object encapsulates the full LyteNyte Grid instance, including its state, view, and imperative API.
705
711
  * It is returned by the `useLyteNyte` hook and serves as the primary interface for interacting with the grid programmatically.
712
+ *
713
+ * @group Grid State
706
714
  */
707
715
  export interface Grid<T> {
708
716
  /**
@@ -725,6 +733,8 @@ export interface Grid<T> {
725
733
  * Represents the current visual layout of the grid including headers and rows.
726
734
  * This structure is used by LyteNyte Grid headless components
727
735
  * or for building custom visualizations.
736
+ *
737
+ * @group Grid View
728
738
  */
729
739
  export interface GridView<T> {
730
740
  /**
@@ -738,6 +748,8 @@ export interface GridView<T> {
738
748
  }
739
749
  /**
740
750
  * Describes a standard header cell layout in the grid, used to position and render individual column headers.
751
+ *
752
+ * @group Grid View
741
753
  */
742
754
  export interface HeaderCellLayout<T> {
743
755
  /**
@@ -791,6 +803,8 @@ export interface HeaderCellLayout<T> {
791
803
  }
792
804
  /**
793
805
  * Describes a floating header cell layout, which remains fixed during scroll operations.
806
+ *
807
+ * @group Grid View
794
808
  */
795
809
  export interface HeaderCellFloating<T> {
796
810
  /**
@@ -845,6 +859,8 @@ export interface HeaderCellFloating<T> {
845
859
  /**
846
860
  * Describes a group of columns within the header. Used by LyteNyte
847
861
  * Grid to render grouped column headers with optional collapsibility and structural metadata.
862
+ *
863
+ * @group Grid View
848
864
  */
849
865
  export interface HeaderGroupCellLayout {
850
866
  /**
@@ -925,6 +941,8 @@ export interface HeaderGroupCellLayout {
925
941
  /**
926
942
  * Defines the overall structure of header rows in the grid.
927
943
  * This layout is recalculated based on viewport changes and virtualized rendering.
944
+ *
945
+ * @group Grid View
928
946
  */
929
947
  export interface HeaderLayout<T> {
930
948
  /**
@@ -943,10 +961,14 @@ export interface HeaderLayout<T> {
943
961
  /**
944
962
  * Represents a union of all possible header layout cell types:
945
963
  * normal header, floating header, or header group.
964
+ *
965
+ * @group Grid View
946
966
  */
947
967
  export type HeaderLayoutCell<T> = HeaderCellLayout<T> | HeaderCellFloating<T> | HeaderGroupCellLayout;
948
968
  /**
949
969
  * Represents the layout metadata for a single cell within a row, including span and contextual info.
970
+ *
971
+ * @group Grid View
950
972
  */
951
973
  export interface RowCellLayout<T> {
952
974
  /**
@@ -1013,6 +1035,8 @@ export interface RowCellLayout<T> {
1013
1035
  /**
1014
1036
  * Describes the layout of a full-width row which spans all columns.
1015
1037
  * These are typically used for summary or group rows.
1038
+ *
1039
+ * @group Grid View
1016
1040
  */
1017
1041
  export interface RowFullWidthRowLayout<T> {
1018
1042
  /**
@@ -1050,11 +1074,15 @@ export interface RowFullWidthRowLayout<T> {
1050
1074
  }
1051
1075
  /**
1052
1076
  * A row layout is either a standard row or a full-width row, depending on its content and configuration.
1077
+ *
1078
+ * @group Grid View
1053
1079
  */
1054
1080
  export type RowLayout<T> = RowNormalRowLayout<T> | RowFullWidthRowLayout<T>;
1055
1081
  /**
1056
1082
  * Describes the layout of a standard row in LyteNyte Grid,
1057
1083
  * including cell arrangement and row-level metadata.
1084
+ *
1085
+ * @group Grid View
1058
1086
  */
1059
1087
  export interface RowNormalRowLayout<T> {
1060
1088
  /**
@@ -1097,6 +1125,8 @@ export interface RowNormalRowLayout<T> {
1097
1125
  /**
1098
1126
  * Organizes the rows into three separate sections: top (pinned), center (scrollable),
1099
1127
  * and bottom (pinned). Used to optimize row virtualization and rendering.
1128
+ *
1129
+ * @group Grid View
1100
1130
  */
1101
1131
  export interface RowSectionLayouts<T> {
1102
1132
  /**
@@ -1139,6 +1169,8 @@ export interface RowSectionLayouts<T> {
1139
1169
  *
1140
1170
  * This is called when autosize is triggered via the grid's API. Returning `null`
1141
1171
  * disables sizing behavior.
1172
+ *
1173
+ * @group Column
1142
1174
  */
1143
1175
  export type AutosizeCellFn<T> = (
1144
1176
  /**
@@ -1151,6 +1183,8 @@ params: AutosizeCellParams<T>) => number | null;
1151
1183
  *
1152
1184
  * These provide context about the cell and grid configuration so that the function
1153
1185
  * can determine the optimal column width based on cell content.
1186
+ *
1187
+ * @group Column
1154
1188
  */
1155
1189
  export interface AutosizeCellParams<T> {
1156
1190
  /**
@@ -1171,6 +1205,8 @@ export interface AutosizeCellParams<T> {
1171
1205
  * based on the header's rendered content.
1172
1206
  *
1173
1207
  * This is called as part of the grid's autosize process.
1208
+ *
1209
+ * @group Column
1174
1210
  */
1175
1211
  export type AutosizeHeaderFn<T> = (
1176
1212
  /**
@@ -1182,6 +1218,8 @@ params: AutosizeHeaderParams<T>) => number | null;
1182
1218
  *
1183
1219
  * These are used by LyteNyte Grid to calculate the ideal column width based on the
1184
1220
  * header content.
1221
+ *
1222
+ * @group Column
1185
1223
  */
1186
1224
  export interface AutosizeHeaderParams<T> {
1187
1225
  /**
@@ -1202,6 +1240,8 @@ export interface AutosizeHeaderParams<T> {
1202
1240
  *
1203
1241
  * This allows you to set column-wide defaults that apply retroactively to all applicable columns
1204
1242
  * without rewriting each one.
1243
+ *
1244
+ * @group Column
1205
1245
  */
1206
1246
  export interface ColumnBase<T> {
1207
1247
  /**
@@ -1233,7 +1273,7 @@ export interface ColumnBase<T> {
1233
1273
  /**
1234
1274
  * Function used to render a floating row cell. Only called when floating rows are enabled. Must return a React node.
1235
1275
  */
1236
- readonly floatingRenderer?: HeaderFloatingCellRenderer<T>;
1276
+ readonly floatingCellRenderer?: HeaderFloatingCellRenderer<T>;
1237
1277
  /**
1238
1278
  * Defines how to render the cell content. Accepts a renderer function or a string referencing a registered renderer.
1239
1279
  */
@@ -1275,6 +1315,8 @@ export interface ColumnBase<T> {
1275
1315
  * Defines the structure of a marker column.
1276
1316
  *
1277
1317
  * The marker column is a grid managed column used to support features like selection checkboxes or row drag handles.
1318
+ *
1319
+ * @group Column
1278
1320
  */
1279
1321
  export interface ColumnMarker<T> {
1280
1322
  /**
@@ -1288,7 +1330,7 @@ export interface ColumnMarker<T> {
1288
1330
  /**
1289
1331
  * Function used to render a floating row cell. Only called when floating rows are enabled. Must return a React node.
1290
1332
  */
1291
- readonly floatingRenderer?: HeaderFloatingCellRenderer<T>;
1333
+ readonly floatingCellRenderer?: HeaderFloatingCellRenderer<T>;
1292
1334
  /**
1293
1335
  * Specifies the preferred width of the column. This value is ignored if flex sizing is used, or if it violates the column's min/max bounds.
1294
1336
  */
@@ -1305,6 +1347,8 @@ export interface ColumnMarker<T> {
1305
1347
  * are derived from the grid's internal column state and may change depending on modes
1306
1348
  * like pivoting. For example, when pivot mode is enabled, `columnsVisible` refers to
1307
1349
  * visible pivot columns instead of the regular ones.
1350
+ *
1351
+ * @group Column
1308
1352
  */
1309
1353
  export interface ColumnMeta<T> {
1310
1354
  /**
@@ -1338,6 +1382,8 @@ export interface ColumnMeta<T> {
1338
1382
  * - In right-to-left (RTL) mode, this behavior is reversed.
1339
1383
  *
1340
1384
  * This approach aligns with CSS logical properties for layout direction.
1385
+ *
1386
+ * @group Column
1341
1387
  */
1342
1388
  export type ColumnPin = "start" | "end" | null;
1343
1389
  /**
@@ -1346,6 +1392,8 @@ export type ColumnPin = "start" | "end" | null;
1346
1392
  * These hints indicate whether a column is eligible to act as a value, row group, or
1347
1393
  * column pivot in a pivot table configuration. External components can use these values
1348
1394
  * to determine pivot-related capabilities.
1395
+ *
1396
+ * @group Column
1349
1397
  */
1350
1398
  export interface ColumnPivotUIHints {
1351
1399
  /**
@@ -1373,6 +1421,8 @@ export interface ColumnPivotUIHints {
1373
1421
  * - What each cell renders
1374
1422
  * - How rows are grouped and sorted
1375
1423
  * - How filters are evaluated
1424
+ *
1425
+ * @group Column
1376
1426
  */
1377
1427
  export interface Column<T> {
1378
1428
  /**
@@ -1442,7 +1492,7 @@ export interface Column<T> {
1442
1492
  /**
1443
1493
  * Function used to render a floating row cell. Only called when floating rows are enabled. Must return a React node.
1444
1494
  */
1445
- readonly floatingRenderer?: HeaderFloatingCellRenderer<T>;
1495
+ readonly floatingCellRenderer?: HeaderFloatingCellRenderer<T>;
1446
1496
  /**
1447
1497
  * Defines how to render the cell content. Accepts a renderer function or a string referencing a registered renderer.
1448
1498
  */
@@ -1486,6 +1536,8 @@ export interface Column<T> {
1486
1536
  *
1487
1537
  * These columns are created behind the scenes to represent group headers and aggregations
1488
1538
  * and can be configured via this interface.
1539
+ *
1540
+ * @group Column
1489
1541
  */
1490
1542
  export interface RowGroupColumn<T> {
1491
1543
  /**
@@ -1533,7 +1585,7 @@ export interface RowGroupColumn<T> {
1533
1585
  /**
1534
1586
  * Function used to render a floating row cell. Only called when floating rows are enabled. Must return a React node.
1535
1587
  */
1536
- readonly floatingRenderer?: HeaderFloatingCellRenderer<T>;
1588
+ readonly floatingCellRenderer?: HeaderFloatingCellRenderer<T>;
1537
1589
  /**
1538
1590
  * Describes the capabilities and intended UI behavior of the column. These hints are used by external UI components.
1539
1591
  */
@@ -1547,46 +1599,6 @@ export interface RowGroupColumn<T> {
1547
1599
  */
1548
1600
  readonly autosizeHeaderFn?: AutosizeHeaderFn<T>;
1549
1601
  }
1550
- /**
1551
- * A set of optional UI hints that external consumers and LyteNyte Grid itself can use
1552
- * to determine a column's capabilities.
1553
- *
1554
- * These hints inform the rendering of column headers (e.g. showing resize handles,
1555
- * drag handles, sort indicators), but are not enforced. Developers can still override
1556
- * behaviors via the grid state API directly.
1557
- */
1558
- export interface ColumnUIHints {
1559
- /**
1560
- * UI hint indicating whether this column supports sorting. LyteNyte Grid may
1561
- * hide sort controls if this is set to `false`.
1562
- */
1563
- readonly sortable?: boolean;
1564
- /**
1565
- * UI hint indicating whether this column can be used for row grouping.
1566
- */
1567
- readonly rowGroupable?: boolean;
1568
- /**
1569
- * UI hint indicating whether the column can be resized by the user.
1570
- * When set to `false`, resize handles will be hidden.
1571
- */
1572
- readonly resizable?: boolean;
1573
- /**
1574
- * UI hint indicating whether the column can be repositioned by dragging.
1575
- * This only affects drag-and-drop behaviors; programmatic moves are still possible.
1576
- */
1577
- readonly movable?: boolean;
1578
- /**
1579
- * UI hint specifying the default aggregation function to apply to this column.
1580
- *
1581
- * This is especially relevant in pivot mode or when row grouping is active.
1582
- */
1583
- readonly aggDefault?: string;
1584
- /**
1585
- * UI hint specifying the list of valid aggregation functions that can be applied to this column.
1586
- * If unset, the column may not support aggregation.
1587
- */
1588
- readonly aggsAllowed?: string[];
1589
- }
1590
1602
  /**
1591
1603
  * UI hints describing column capabilities in LyteNyte Grid.
1592
1604
  *
@@ -1595,6 +1607,8 @@ export interface ColumnUIHints {
1595
1607
  * and can be bypassed by modifying grid state directly.
1596
1608
  *
1597
1609
  * Includes support for pivot-specific behaviors via {@link ColumnPivotUIHints}.
1610
+ *
1611
+ * @group Column
1598
1612
  */
1599
1613
  export interface ColumnUIHints {
1600
1614
  /**
@@ -1639,6 +1653,8 @@ export interface ColumnUIHints {
1639
1653
  * This metadata is auto-generated by the grid based on the configured column definitions.
1640
1654
  * It is used internally to manage layout and grouping behavior, but is also exposed for
1641
1655
  * advanced use cases where programmatic interaction with group structures is needed.
1656
+ *
1657
+ * @group Column Groups
1642
1658
  */
1643
1659
  export interface ColumnGroupMeta {
1644
1660
  /**
@@ -1668,16 +1684,61 @@ export interface ColumnGroupMeta {
1668
1684
  }
1669
1685
  /**
1670
1686
  * Controls the visibility behavior of a column within a column group.
1671
- *
1672
- * - `"always"`: The column is always visible regardless of the group's state.
1673
- * - `"close"`: The column is visible only when the group is **collapsed**.
1674
- * - `"open"`: The column is visible only when the group is **expanded**.
1687
+ * - `"always"`: The column is always visible regardless of the group's state.
1688
+ * - `"close"`: The column is visible only when the group is **collapsed**.
1689
+ * - `"open"`: The column is visible only when the group is **expanded**.
1675
1690
  *
1676
1691
  * Used to build dynamic, collapsible column group layouts in LyteNyte Grid.
1692
+ *
1693
+ * @group Column Groups
1677
1694
  */
1678
1695
  export type ColumnGroupVisibility = "always" | "close" | "open";
1696
+ /**
1697
+ * Parameters required to initialize a client-side row data source.
1698
+ *
1699
+ * @group Row Data Source
1700
+ */
1701
+ export interface ClientRowDataSourcePaginatedParams<T> {
1702
+ /**
1703
+ * The primary dataset passed to LyteNyte Grid for display.
1704
+ */
1705
+ readonly data: T[];
1706
+ /**
1707
+ * Rows to pin to the top of the grid, rendered above all scrollable rows.
1708
+ */
1709
+ readonly topData?: T[];
1710
+ /**
1711
+ * Rows to pin to the bottom of the grid, rendered below all scrollable rows.
1712
+ */
1713
+ readonly bottomData?: T[];
1714
+ /**
1715
+ * If true, the data source will reflect external mutations to the original data array.
1716
+ */
1717
+ readonly reflectData?: boolean;
1718
+ /**
1719
+ * Callback to derive a unique id for grouped (branch) rows based on group value path.
1720
+ */
1721
+ readonly rowIdBranch?: (path: string[]) => string;
1722
+ /**
1723
+ * Callback to derive a unique id for each leaf row. Receives the row data and index.
1724
+ */
1725
+ readonly rowIdLeaf?: (d: RowLeaf<T>, i: number) => string;
1726
+ /**
1727
+ * Callback that transforms a set of values for a given column into the in filter items LyteNyte Grid should use.
1728
+ */
1729
+ readonly transformInFilterItem?: (params: {
1730
+ column: Column<T>;
1731
+ values: unknown[];
1732
+ }) => FilterInFilterItem[];
1733
+ /**
1734
+ * The number of rows to have per page. This will impact the total page count.
1735
+ */
1736
+ readonly rowsPerPage?: number;
1737
+ }
1679
1738
  /**
1680
1739
  * Enhanced parameters for a client-side row data source with additional filtering support.
1740
+ *
1741
+ * @group Row Data Source
1681
1742
  */
1682
1743
  export interface ClientRowDataSourceParams<T> {
1683
1744
  /**
@@ -1705,15 +1766,17 @@ export interface ClientRowDataSourceParams<T> {
1705
1766
  */
1706
1767
  readonly rowIdLeaf?: (d: RowLeaf<T>, i: number) => string;
1707
1768
  /**
1708
- * Callback that transforms a column in-filter item before it's applied.
1769
+ * Callback that transforms a set of values for a given column into the in filter items LyteNyte Grid should use.
1709
1770
  */
1710
1771
  readonly transformInFilterItem?: (params: {
1711
- field: unknown;
1712
1772
  column: Column<T>;
1713
- }) => FilterInFilterItem;
1773
+ values: unknown[];
1774
+ }) => FilterInFilterItem[];
1714
1775
  }
1715
1776
  /**
1716
1777
  * Parameters for initializing a tree-structured data source in LyteNyte Grid.
1778
+ *
1779
+ * @group Row Data Source
1717
1780
  */
1718
1781
  export interface ClientTreeDataSourceParams<T> {
1719
1782
  /**
@@ -1741,12 +1804,12 @@ export interface ClientTreeDataSourceParams<T> {
1741
1804
  */
1742
1805
  readonly rowIdLeaf?: (d: RowLeaf<T>, i: number) => string;
1743
1806
  /**
1744
- * Callback that transforms a column in-filter item before it's applied.
1807
+ * Callback that transforms a set of values for a given column into the in filter items LyteNyte Grid should use.
1745
1808
  */
1746
1809
  readonly transformInFilterItem?: (params: {
1747
- field: unknown;
1748
1810
  column: Column<T>;
1749
- }) => FilterInFilterItem;
1811
+ values: unknown[];
1812
+ }) => FilterInFilterItem[];
1750
1813
  /**
1751
1814
  * Returns the hierarchical path to group a given data row in tree mode.
1752
1815
  */
@@ -1757,6 +1820,8 @@ export interface ClientTreeDataSourceParams<T> {
1757
1820
  * It divides the full dataset into pages based on the configured page
1758
1821
  * size, reducing the number of rows rendered at any one time to
1759
1822
  * improve UI responsiveness and performance.
1823
+ *
1824
+ * @group Row Data Source
1760
1825
  */
1761
1826
  export interface RowDataSourceClientPaginated<T> {
1762
1827
  /**
@@ -1807,6 +1872,10 @@ export interface RowDataSourceClientPaginated<T> {
1807
1872
  * Adds new rows to the grid optionally at a specific index, beginning, or end.
1808
1873
  */
1809
1874
  readonly rowAdd: (newRows: any[], atIndex?: number | "beginning" | "end") => void;
1875
+ /**
1876
+ * Sets the data for the center rows (scrollable rows) of the grid. Effectively replacing the current row data.
1877
+ */
1878
+ readonly rowSetCenterData: (newRows: any[]) => void;
1810
1879
  /**
1811
1880
  * Sets the data for rows pinned to the top section.
1812
1881
  */
@@ -1822,12 +1891,20 @@ export interface RowDataSourceClientPaginated<T> {
1822
1891
  /**
1823
1892
  * Returns the available in-filter items for the specified column.
1824
1893
  * May return items synchronously or as a Promise.
1894
+ *
1895
+ * @group Row Data Source
1825
1896
  */
1826
1897
  readonly inFilterItems: (column: Column<T>) => Promise<FilterInFilterItem[]> | FilterInFilterItem[];
1898
+ /**
1899
+ * A client data source method to retrieve the raw data passed to the data source.
1900
+ */
1901
+ readonly rowData: (section: RowSection) => T[];
1827
1902
  }
1828
1903
  /**
1829
1904
  * Represents pagination-related state for the client row data source in
1830
1905
  * LyteNyte Grid. These values enable pagination logic within the grid's UI and interactions.
1906
+ *
1907
+ * @group Row Data Source
1831
1908
  */
1832
1909
  export interface RowDataSourceClientPageState {
1833
1910
  /**
@@ -1850,6 +1927,8 @@ export interface RowDataSourceClientPageState {
1850
1927
  * This implementation is suitable for small to moderately sized datasets. For large-scale datasets, such as those
1851
1928
  * exceeding hundreds of thousands of rows, a server-based data source
1852
1929
  * is recommended for performance and memory efficiency.
1930
+ *
1931
+ * @group Row Data Source
1853
1932
  */
1854
1933
  export interface RowDataSourceClient<T> {
1855
1934
  /**
@@ -1900,6 +1979,10 @@ export interface RowDataSourceClient<T> {
1900
1979
  * Adds new rows to the grid optionally at a specific index, beginning, or end.
1901
1980
  */
1902
1981
  readonly rowAdd: (newRows: any[], atIndex?: number | "beginning" | "end") => void;
1982
+ /**
1983
+ * Sets the data for the center rows (scrollable rows) of the grid. Effectively replacing the current row data.
1984
+ */
1985
+ readonly rowSetCenterData: (newRows: any[]) => void;
1903
1986
  /**
1904
1987
  * Sets the data for rows pinned to the top section.
1905
1988
  */
@@ -1911,12 +1994,20 @@ export interface RowDataSourceClient<T> {
1911
1994
  /**
1912
1995
  * Returns the available in-filter items for the specified column.
1913
1996
  * May return items synchronously or as a Promise.
1997
+ *
1998
+ * @group Row Data Source
1914
1999
  */
1915
2000
  readonly inFilterItems: (column: Column<T>) => Promise<FilterInFilterItem[]> | FilterInFilterItem[];
2001
+ /**
2002
+ * A client data source method to retrieve the raw data passed to the data source.
2003
+ */
2004
+ readonly rowData: (section: RowSection) => T[];
1916
2005
  }
1917
2006
  /**
1918
2007
  * The row data source interface used by LyteNyte Grid to retrieve and manage row data.
1919
2008
  * This includes functionality for row expansion, selection, and CRUD operations.
2009
+ *
2010
+ * @group Row Data Source
1920
2011
  */
1921
2012
  export interface RowDataSource<T> {
1922
2013
  /**
@@ -1967,6 +2058,10 @@ export interface RowDataSource<T> {
1967
2058
  * Adds new rows to the grid optionally at a specific index, beginning, or end.
1968
2059
  */
1969
2060
  readonly rowAdd: (newRows: any[], atIndex?: number | "beginning" | "end") => void;
2061
+ /**
2062
+ * Sets the data for the center rows (scrollable rows) of the grid. Effectively replacing the current row data.
2063
+ */
2064
+ readonly rowSetCenterData: (newRows: any[]) => void;
1970
2065
  /**
1971
2066
  * Sets the data for rows pinned to the top section.
1972
2067
  */
@@ -1978,6 +2073,8 @@ export interface RowDataSource<T> {
1978
2073
  /**
1979
2074
  * Returns the available in-filter items for the specified column.
1980
2075
  * May return items synchronously or as a Promise.
2076
+ *
2077
+ * @group Row Data Source
1981
2078
  */
1982
2079
  readonly inFilterItems: (column: Column<T>) => Promise<FilterInFilterItem[]> | FilterInFilterItem[];
1983
2080
  }
@@ -1990,6 +2087,8 @@ export interface RowDataSource<T> {
1990
2087
  * grouping, and pagination—must be handled on the server. This design provides
1991
2088
  * maximum flexibility and scalability, including support for server-driven trees
1992
2089
  * and pagination, but requires a more complex implementation on the backend.
2090
+ *
2091
+ * @group Row Data Source
1993
2092
  */
1994
2093
  export interface RowDataSourceServer<T> {
1995
2094
  /**
@@ -2040,6 +2139,10 @@ export interface RowDataSourceServer<T> {
2040
2139
  * Adds new rows to the grid optionally at a specific index, beginning, or end.
2041
2140
  */
2042
2141
  readonly rowAdd: (newRows: any[], atIndex?: number | "beginning" | "end") => void;
2142
+ /**
2143
+ * Sets the data for the center rows (scrollable rows) of the grid. Effectively replacing the current row data.
2144
+ */
2145
+ readonly rowSetCenterData: (newRows: any[]) => void;
2043
2146
  /**
2044
2147
  * Sets the data for rows pinned to the top section.
2045
2148
  */
@@ -2051,6 +2154,8 @@ export interface RowDataSourceServer<T> {
2051
2154
  /**
2052
2155
  * Returns the available in-filter items for the specified column.
2053
2156
  * May return items synchronously or as a Promise.
2157
+ *
2158
+ * @group Row Data Source
2054
2159
  */
2055
2160
  readonly inFilterItems: (column: Column<T>) => Promise<FilterInFilterItem[]> | FilterInFilterItem[];
2056
2161
  /**
@@ -2084,6 +2189,8 @@ export interface RowDataSourceServer<T> {
2084
2189
  }
2085
2190
  /**
2086
2191
  * The internal row data store used by LyteNyte Grid to manage row metadata, counts, and access functions.
2192
+ *
2193
+ * @group Row Data Source
2087
2194
  */
2088
2195
  export interface RowDataStore<T> {
2089
2196
  /**
@@ -2117,6 +2224,8 @@ export interface RowDataStore<T> {
2117
2224
  }
2118
2225
  /**
2119
2226
  * Parameters passed to the row selection handler within the row data source.
2227
+ *
2228
+ * @group Row Data Source
2120
2229
  */
2121
2230
  export interface RdsRowSelectParams {
2122
2231
  /**
@@ -2143,69 +2252,95 @@ export interface RdsRowSelectParams {
2143
2252
  /**
2144
2253
  * Represents a mutable piece of reactive grid state. This atom allows reading,
2145
2254
  * updating, watching, and consuming its value reactively within React components.
2255
+ *
2256
+ * @group Grid Atom
2146
2257
  */
2147
2258
  export interface GridAtom<T> {
2148
2259
  /**
2149
2260
  * Retrieves the current value stored in the atom. This method provides read access
2150
2261
  * to the state managed by the atom.
2262
+ *
2263
+ * @group Grid Atom
2151
2264
  */
2152
2265
  readonly get: () => T;
2153
2266
  /**
2154
2267
  * Updates the atom's value. Accepts either a new value or a function that receives
2155
2268
  * the current value and returns the updated value.
2269
+ *
2270
+ * @group Grid Atom
2156
2271
  */
2157
2272
  readonly set: (v: T | ((p: T) => T)) => void;
2158
2273
  /**
2159
2274
  * Registers a listener function to be invoked whenever the atom's value changes.
2160
2275
  * Returns a cleanup function to remove the listener.
2276
+ *
2277
+ * @group Grid Atom
2161
2278
  */
2162
2279
  readonly watch: (fn: () => void) => () => void;
2163
2280
  /**
2164
2281
  * A React hook that subscribes to the atom's value and causes the component to re-render
2165
2282
  * whenever the atom changes.
2283
+ *
2284
+ * @group Grid Atom
2166
2285
  */
2167
2286
  readonly useValue: () => T;
2168
2287
  }
2169
2288
  /**
2170
2289
  * Represents an immutable version of a grid atom that supports read, watch, and reactive
2171
2290
  * usage but does not allow updates.
2291
+ *
2292
+ * @group Grid Atom
2172
2293
  */
2173
2294
  export interface GridAtomReadonly<T> {
2174
2295
  /**
2175
2296
  * Retrieves the current value stored in the atom. This method provides read access
2176
2297
  * to the state managed by the atom.
2298
+ *
2299
+ * @group Grid Atom
2177
2300
  */
2178
2301
  readonly get: () => T;
2179
2302
  /**
2180
2303
  * Registers a listener function to be invoked whenever the atom's value changes.
2181
2304
  * Returns a cleanup function to remove the listener.
2305
+ *
2306
+ * @group Grid Atom
2182
2307
  */
2183
2308
  readonly watch: (fn: () => void) => () => void;
2184
2309
  /**
2185
2310
  * A React hook that subscribes to the atom's value and causes the component to re-render
2186
2311
  * whenever the atom changes.
2312
+ *
2313
+ * @group Grid Atom
2187
2314
  */
2188
2315
  readonly useValue: () => T;
2189
2316
  }
2190
2317
  /**
2191
2318
  * Represents the most minimal read-only version of a grid atom. It supports value
2192
2319
  * retrieval and reactive consumption, but not watching or updates.
2320
+ *
2321
+ * @group Grid Atom
2193
2322
  */
2194
2323
  export interface GridAtomReadonlyUnwatchable<T> {
2195
2324
  /**
2196
2325
  * Retrieves the current value stored in the atom. This method provides read access
2197
2326
  * to the state managed by the atom.
2327
+ *
2328
+ * @group Grid Atom
2198
2329
  */
2199
2330
  readonly get: () => T;
2200
2331
  /**
2201
2332
  * A React hook that subscribes to the atom's value and causes the component to re-render
2202
2333
  * whenever the atom changes.
2334
+ *
2335
+ * @group Grid Atom
2203
2336
  */
2204
2337
  readonly useValue: () => T;
2205
2338
  }
2206
2339
  /**
2207
2340
  * Predicate function to determine if a row should render in full-width mode.
2208
2341
  * Commonly used for custom summary or grouped views.
2342
+ *
2343
+ * @group Row
2209
2344
  */
2210
2345
  export type RowFullWidthPredicate<T> = (
2211
2346
  /**
@@ -2215,6 +2350,8 @@ params: RowFullWidthPredicateParams<T>) => boolean;
2215
2350
  /**
2216
2351
  * Parameters provided to the {@link RowFullWidthPredicate} function to determine
2217
2352
  * if a row should span full width of the grid.
2353
+ *
2354
+ * @group Row
2218
2355
  */
2219
2356
  export interface RowFullWidthPredicateParams<T> {
2220
2357
  /**
@@ -2232,6 +2369,8 @@ export interface RowFullWidthPredicateParams<T> {
2232
2369
  }
2233
2370
  /**
2234
2371
  * Function to render the full-width row content. Returns a ReactNode to be rendered as the row.
2372
+ *
2373
+ * @group Row
2235
2374
  */
2236
2375
  export type RowFullWidthRendererFn<T> = (
2237
2376
  /**
@@ -2241,6 +2380,8 @@ params: RowFullWidthRendererParams<T>) => ReactNode;
2241
2380
  /**
2242
2381
  * Parameters provided to the full-width row renderer.
2243
2382
  * Includes row metadata and selection state.
2383
+ *
2384
+ * @group Row
2244
2385
  */
2245
2386
  export interface RowFullWidthRendererParams<T> {
2246
2387
  /**
@@ -2267,6 +2408,8 @@ export interface RowFullWidthRendererParams<T> {
2267
2408
  /**
2268
2409
  * Represents a group (branch) row which may contain children rows (leaf or other groups).
2269
2410
  * Group rows are used in hierarchical views and support expansion/collapse behavior.
2411
+ *
2412
+ * @group Row
2270
2413
  */
2271
2414
  export interface RowGroup {
2272
2415
  /**
@@ -2307,11 +2450,15 @@ export interface RowGroup {
2307
2450
  * - A fixed number (e.g. 30),
2308
2451
  * - A fill value (e.g. `fill:1`),
2309
2452
  * - A function that returns dynamic row height based on index.
2453
+ *
2454
+ * @group Row
2310
2455
  */
2311
2456
  export type RowHeight = number | `fill:${number}` | ((i: number) => number);
2312
2457
  /**
2313
2458
  * Represents a leaf row in the grid. A leaf row is a terminal node that has no children.
2314
2459
  * These rows typically represent the raw dataset and are used for aggregations and visual representation.
2460
+ *
2461
+ * @group Row
2315
2462
  */
2316
2463
  export interface RowLeaf<T = any> {
2317
2464
  /**
@@ -2342,6 +2489,8 @@ export interface RowLeaf<T = any> {
2342
2489
  /**
2343
2490
  * A union of {@link RowLeaf} and {@link RowGroup}. Represents any row that may appear in the grid view.
2344
2491
  * Used generically when the row type is not known ahead of time.
2492
+ *
2493
+ * @group Row
2345
2494
  */
2346
2495
  export type RowNode<T> = RowLeaf<T> | RowGroup;
2347
2496
  /**
@@ -2350,6 +2499,8 @@ export type RowNode<T> = RowLeaf<T> | RowGroup;
2350
2499
  * - "bottom": pinned to bottom,
2351
2500
  * - null: not pinned.
2352
2501
  * Pinned rows remain visible during scrolling.
2502
+ *
2503
+ * @group Row
2353
2504
  */
2354
2505
  export type RowPin = "top" | "bottom" | null;
2355
2506
  /**
@@ -2358,6 +2509,8 @@ export type RowPin = "top" | "bottom" | null;
2358
2509
  * - "bottom": pinned to the bottom area,
2359
2510
  * - "center": scrollable middle area,
2360
2511
  * - "flat": single flattened section.
2512
+ *
2513
+ * @group Row
2361
2514
  */
2362
2515
  export type RowSection = "top" | "bottom" | "center" | "flat";
2363
2516
  /**
@@ -2389,6 +2542,8 @@ export type RowSection = "top" | "bottom" | "center" | "flat";
2389
2542
  *
2390
2543
  * Cells that are spanned over (i.e. covered by another cell's span) will not be rendered and
2391
2544
  * are excluded from the layout and DOM. Ensure your span logic accounts for this behavior.
2545
+ *
2546
+ * @group Row And Column Spanning
2392
2547
  */
2393
2548
  export type CellSpanFn<T> = (
2394
2549
  /**
@@ -2406,6 +2561,8 @@ params: CellSpanFnParams<T>) => number;
2406
2561
  * - The row node representing the full row data
2407
2562
  *
2408
2563
  * Used to compute dynamic row or column spans for advanced layout use cases.
2564
+ *
2565
+ * @group Row And Column Spanning
2409
2566
  */
2410
2567
  export interface CellSpanFnParams<T> {
2411
2568
  /**
@@ -2433,6 +2590,8 @@ export interface CellSpanFnParams<T> {
2433
2590
  * - A `branch` form, representing nested row structures with a key lookup
2434
2591
  *
2435
2592
  * Note: These do not include attributes like `rowId` or `rowIndex` as those may not be available yet.
2593
+ *
2594
+ * @group Field
2436
2595
  */
2437
2596
  export type FieldDataParam<T> = {
2438
2597
  kind: "leaf";
@@ -2446,6 +2605,8 @@ export type FieldDataParam<T> = {
2446
2605
  * A dynamic field function used to derive values for a column.
2447
2606
  *
2448
2607
  * This function may be invoked repeatedly, once per cell per column, so it must be optimized for efficiency.
2608
+ *
2609
+ * @group Field
2449
2610
  */
2450
2611
  export type FieldFn<T> = (
2451
2612
  /**
@@ -2457,6 +2618,8 @@ params: FieldFnParams<T>) => unknown;
2457
2618
  *
2458
2619
  * LyteNyte Grid calls these functions dynamically during rendering or computation.
2459
2620
  * These calls can occur frequently (e.g., for every cell in a column), so implementations should prioritize performance.
2621
+ *
2622
+ * @group Field
2460
2623
  */
2461
2624
  export interface FieldFnParams<T> {
2462
2625
  /**
@@ -2469,6 +2632,8 @@ export interface FieldFnParams<T> {
2469
2632
  readonly column: Column<T>;
2470
2633
  /**
2471
2634
  * A representation of the row data, used in computing custom fields or sorting logic.
2635
+ *
2636
+ * @group Field
2472
2637
  */
2473
2638
  readonly data: FieldDataParam<T>;
2474
2639
  }
@@ -2476,6 +2641,8 @@ export interface FieldFnParams<T> {
2476
2641
  * Specifies a string-based path used to extract values from a nested data structure, similar to `lodash.get`.
2477
2642
  *
2478
2643
  * Example: `"point.x"` will return `data.point.x`. Useful for deeply nested row data.
2644
+ *
2645
+ * @group field
2479
2646
  */
2480
2647
  export interface FieldPath {
2481
2648
  /**
@@ -2491,6 +2658,8 @@ export interface FieldPath {
2491
2658
  * A function used to derive row grouping values distinct from cell display values.
2492
2659
  *
2493
2660
  * Ideal for customizing how rows are grouped in the UI or logic layer.
2661
+ *
2662
+ * @group Field
2494
2663
  */
2495
2664
  export type FieldRowGroupFn<T> = (
2496
2665
  /**
@@ -2501,6 +2670,8 @@ params: FieldRowGroupParamsFn<T>) => unknown;
2501
2670
  * Defines the parameters used for custom row group field functions.
2502
2671
  *
2503
2672
  * Enables grouping logic to be decoupled from the data's displayed value.
2673
+ *
2674
+ * @group Field
2504
2675
  */
2505
2676
  export interface FieldRowGroupParamsFn<T> {
2506
2677
  /**
@@ -2515,6 +2686,8 @@ export interface FieldRowGroupParamsFn<T> {
2515
2686
  /**
2516
2687
  * Defines the acceptable formats for row group fields.
2517
2688
  * Includes primitives, path-based accessors, or a custom function for grouping behavior.
2689
+ *
2690
+ * @group Field
2518
2691
  */
2519
2692
  export type FieldRowGroup<T> = number | string | FieldPath | FieldRowGroupFn<T>;
2520
2693
  /**
@@ -2523,6 +2696,8 @@ export type FieldRowGroup<T> = number | string | FieldPath | FieldRowGroupFn<T>;
2523
2696
  * - A primitive value (`string` or `number`)
2524
2697
  * - A path-based accessor
2525
2698
  * - A custom function for dynamic computation
2699
+ *
2700
+ * @group Field
2526
2701
  */
2527
2702
  export type Field<T> = number | string | FieldPath | FieldFn<T>;
2528
2703
  /**
@@ -2532,6 +2707,8 @@ export type Field<T> = number | string | FieldPath | FieldFn<T>;
2532
2707
  * optimized for performance, as slow renderers may degrade the overall responsiveness of the grid.
2533
2708
  *
2534
2709
  * Avoid unnecessary re-renders or expensive calculations inside this function.
2710
+ *
2711
+ * @group Cell Rendering
2535
2712
  */
2536
2713
  export type CellRendererFn<T> = (
2537
2714
  /**
@@ -2544,6 +2721,8 @@ params: CellRendererParams<T>) => ReactNode;
2544
2721
  *
2545
2722
  * Includes metadata and context such as the grid instance, row and column positions, selection state,
2546
2723
  * and the full row node data.
2724
+ *
2725
+ * @group Cell Rendering
2547
2726
  */
2548
2727
  export interface CellRendererParams<T> {
2549
2728
  /**
@@ -2574,9 +2753,15 @@ export interface CellRendererParams<T> {
2574
2753
  * Indicates whether the row is in an indeterminate selection state.
2575
2754
  */
2576
2755
  readonly rowIndeterminate: boolean;
2756
+ /**
2757
+ * The pinning state of a row, used to fix it to the top or bottom of the grid.
2758
+ */
2759
+ readonly rowPin: RowPin;
2577
2760
  }
2578
2761
  /**
2579
2762
  * The parameters the `columnAutosize` method accepts.
2763
+ *
2764
+ * @group Grid API
2580
2765
  */
2581
2766
  export interface ColumnAutosizeParams<T> {
2582
2767
  /**
@@ -2594,6 +2779,8 @@ export interface ColumnAutosizeParams<T> {
2594
2779
  }
2595
2780
  /**
2596
2781
  * The parameters that may be provided to the `columnMove` API method.
2782
+ *
2783
+ * @group Grid API
2597
2784
  */
2598
2785
  export interface ColumnMoveParams<T> {
2599
2786
  /**
@@ -2622,6 +2809,8 @@ export interface ColumnMoveParams<T> {
2622
2809
  * - A row/column pair to focus a specific cell.
2623
2810
  * - A header or group header cell position.
2624
2811
  * - A directional alias ("next", "prev", "up", "down") relative to the current focus (only when the grid is focused).
2812
+ *
2813
+ * @group Grid API
2625
2814
  */
2626
2815
  export type FocusCellParams<T> = {
2627
2816
  row: number;
@@ -2630,6 +2819,8 @@ export type FocusCellParams<T> = {
2630
2819
  /**
2631
2820
  * The LyteNyte Grid API provides a comprehensive set of methods that allow developers
2632
2821
  * to programmatically query, update, and manipulate grid state and data.
2822
+ *
2823
+ * @group Grid API
2633
2824
  */
2634
2825
  export interface GridApi<T> {
2635
2826
  /**
@@ -2642,7 +2833,7 @@ export interface GridApi<T> {
2642
2833
  * Returns the column at the specified visible index. If the index is out of bounds or
2643
2834
  * the column is hidden (due to visibility rules or collapsed groups), this will return null.
2644
2835
  */
2645
- readonly columnFromIndex: (columnIndex: number) => Column<T> | null;
2836
+ readonly columnByIndex: (columnIndex: number) => Column<T> | null;
2646
2837
  /**
2647
2838
  * Returns the index of a visible column based on its id or column object.
2648
2839
  * Returns -1 if the column is not currently visible (e.g., hidden or inside a collapsed group).
@@ -2805,16 +2996,22 @@ export interface GridApi<T> {
2805
2996
  /**
2806
2997
  * Returns the raw cell data within a rectangular selection of the grid.
2807
2998
  * This can be useful for custom data processing or exporting workflows.
2999
+ *
3000
+ * @group Grid API
2808
3001
  */
2809
- readonly exportDataRect: (params?: ExportDataRectParams) => ExportDataRectResult<T>;
3002
+ readonly exportDataRect: (params?: ExportDataRectParams) => Promise<ExportDataRectResult<T>>;
2810
3003
  /**
2811
3004
  * Exports the cell data for a given rectangle of the grid as a CSV-formatted string.
2812
3005
  * The rectangle can be customized through parameters such as selected rows, columns, or cell ranges.
3006
+ *
3007
+ * @group Grid API
2813
3008
  */
2814
3009
  readonly exportCsv: (params?: ExportCsvParams) => Promise<string>;
2815
3010
  /**
2816
3011
  * Generates a downloadable CSV `Blob` from the selected rectangular area of grid cell data.
2817
3012
  * Can be used to trigger a file download in the browser.
3013
+ *
3014
+ * @group Grid API
2818
3015
  */
2819
3016
  readonly exportCsvFile: (params?: ExportCsvParams) => Promise<Blob>;
2820
3017
  /**
@@ -2846,6 +3043,8 @@ export interface GridApi<T> {
2846
3043
  }
2847
3044
  /**
2848
3045
  * The parameters used for the `rowHandleSelect` API method of LyteNyte Grid.
3046
+ *
3047
+ * @group Grid API
2849
3048
  */
2850
3049
  export interface RowHandleSelectParams {
2851
3050
  /**
@@ -2860,6 +3059,8 @@ export interface RowHandleSelectParams {
2860
3059
  /**
2861
3060
  * Options for the `scrollIntoView` API. Allows you to scroll a specific row and/or column into view,
2862
3061
  * ensuring they are visible in the viewport.
3062
+ *
3063
+ * @group Grid API
2863
3064
  */
2864
3065
  export interface ScrollIntoViewOptions<T> {
2865
3066
  /**
@@ -2879,6 +3080,8 @@ export interface ScrollIntoViewOptions<T> {
2879
3080
  * Represents a virtual DOM target with bounding information, used in situations
2880
3081
  * where a physical DOM element does not exist. Commonly used for positioning popovers
2881
3082
  * or overlays within LyteNyte Grid.
3083
+ *
3084
+ * @group Frames
2882
3085
  */
2883
3086
  export interface VirtualTarget {
2884
3087
  /**
@@ -2899,6 +3102,8 @@ export interface VirtualTarget {
2899
3102
  }
2900
3103
  /**
2901
3104
  * Function signature for custom sort comparators.
3105
+ *
3106
+ * @group Sort
2902
3107
  */
2903
3108
  export type SortComparatorFn<T> = (
2904
3109
  /**
@@ -2915,14 +3120,20 @@ right: FieldDataParam<T>,
2915
3120
  options: any) => number;
2916
3121
  /**
2917
3122
  * Predefined sort comparator types supported by LyteNyte Grid.
3123
+ *
3124
+ * @group Sort
2918
3125
  */
2919
3126
  export type SortComparators = "string" | "number" | "date" | (string & {});
2920
3127
  /**
2921
3128
  * Definition for a user-defined custom sort comparator.
3129
+ *
3130
+ * @group Sort
2922
3131
  */
2923
3132
  export interface SortCustomSort<T> {
2924
3133
  /**
2925
3134
  * The column identifier associated with the sort. May be null if not defined.
3135
+ *
3136
+ * @group Sort
2926
3137
  */
2927
3138
  readonly columnId: string | null;
2928
3139
  /**
@@ -2940,6 +3151,8 @@ export interface SortCustomSort<T> {
2940
3151
  }
2941
3152
  /**
2942
3153
  * A built-in date sort model definition.
3154
+ *
3155
+ * @group Sort
2943
3156
  */
2944
3157
  export interface SortDateColumnSort {
2945
3158
  /**
@@ -2953,10 +3166,14 @@ export interface SortDateColumnSort {
2953
3166
  }
2954
3167
  /**
2955
3168
  * Options used for date-based sorting.
3169
+ *
3170
+ * @group Sort
2956
3171
  */
2957
3172
  export interface SortDateComparatorOptions {
2958
3173
  /**
2959
3174
  * A boolean indicating if null values should appear first in the sort order.
3175
+ *
3176
+ * @group Sort
2960
3177
  */
2961
3178
  readonly nullsFirst?: boolean;
2962
3179
  /**
@@ -2970,10 +3187,14 @@ export interface SortDateComparatorOptions {
2970
3187
  }
2971
3188
  /**
2972
3189
  * Union of all supported grid sort types.
3190
+ *
3191
+ * @group Sort
2973
3192
  */
2974
3193
  export type SortGridSorts<T> = SortCustomSort<T> | SortDateColumnSort | SortNumberColumnSort | SortStringColumnSort;
2975
3194
  /**
2976
3195
  * A model item representing an active sort applied to the grid.
3196
+ *
3197
+ * @group Sort
2977
3198
  */
2978
3199
  export interface SortModelItem<T> {
2979
3200
  /**
@@ -2982,6 +3203,8 @@ export interface SortModelItem<T> {
2982
3203
  readonly sort: SortGridSorts<T>;
2983
3204
  /**
2984
3205
  * The column identifier associated with the sort. May be null if not defined.
3206
+ *
3207
+ * @group Sort
2985
3208
  */
2986
3209
  readonly columnId: string | null;
2987
3210
  /**
@@ -2991,6 +3214,8 @@ export interface SortModelItem<T> {
2991
3214
  }
2992
3215
  /**
2993
3216
  * A built-in numeric sort model definition.
3217
+ *
3218
+ * @group Sort
2994
3219
  */
2995
3220
  export interface SortNumberColumnSort {
2996
3221
  /**
@@ -3004,10 +3229,14 @@ export interface SortNumberColumnSort {
3004
3229
  }
3005
3230
  /**
3006
3231
  * Options for number-based sorting.
3232
+ *
3233
+ * @group Sort
3007
3234
  */
3008
3235
  export interface SortNumberComparatorOptions {
3009
3236
  /**
3010
3237
  * A boolean indicating if null values should appear first in the sort order.
3238
+ *
3239
+ * @group Sort
3011
3240
  */
3012
3241
  readonly nullsFirst?: boolean;
3013
3242
  /**
@@ -3017,6 +3246,8 @@ export interface SortNumberComparatorOptions {
3017
3246
  }
3018
3247
  /**
3019
3248
  * A built-in string sort model definition.
3249
+ *
3250
+ * @group Sort
3020
3251
  */
3021
3252
  export interface SortStringColumnSort {
3022
3253
  /**
@@ -3030,6 +3261,8 @@ export interface SortStringColumnSort {
3030
3261
  }
3031
3262
  /**
3032
3263
  * Options used when sorting string values.
3264
+ *
3265
+ * @group Sort
3033
3266
  */
3034
3267
  export interface SortStringComparatorOptions {
3035
3268
  /**
@@ -3054,6 +3287,8 @@ export interface SortStringComparatorOptions {
3054
3287
  readonly collator?: Intl.Collator;
3055
3288
  /**
3056
3289
  * A boolean indicating if null values should appear first in the sort order.
3290
+ *
3291
+ * @group Sort
3057
3292
  */
3058
3293
  readonly nullsFirst?: boolean;
3059
3294
  }
@@ -3063,6 +3298,8 @@ export interface SortStringComparatorOptions {
3063
3298
  *
3064
3299
  * Combination filters enable complex conditional logic by nesting
3065
3300
  * different filters into a tree structure.
3301
+ *
3302
+ * @group Filters
3066
3303
  */
3067
3304
  export interface FilterCombination {
3068
3305
  /**
@@ -3085,6 +3322,8 @@ export interface FilterCombination {
3085
3322
  }
3086
3323
  /**
3087
3324
  * Logical operators used to join multiple filters inside a combination filter.
3325
+ *
3326
+ * @group Filters
3088
3327
  */
3089
3328
  export type FilterCombinationOperator = "AND" | "OR";
3090
3329
  /**
@@ -3096,6 +3335,8 @@ export type FilterCombinationOperator = "AND" | "OR";
3096
3335
  *
3097
3336
  * If filtering on timestamps or partial dates, be mindful of timezone offsets and whether
3098
3337
  * time components are relevant to your comparison.
3338
+ *
3339
+ * @group Filters
3099
3340
  */
3100
3341
  export interface FilterDate {
3101
3342
  /**
@@ -3136,6 +3377,8 @@ export interface FilterDate {
3136
3377
  * relative date expressions (e.g., "n_days_ago", "last_week", "is_weekend").
3137
3378
  *
3138
3379
  * The required type of the `value` field depends on the selected operator.
3380
+ *
3381
+ * @group Filters
3139
3382
  */
3140
3383
  export type FilterDateOperator = "equals" | "not_equals" | "before" | "before_or_equals" | "after" | "after_or_equals" | "year_to_date" | "this_week" | "this_month" | "this_year" | "last_week" | "last_month" | "last_year" | "next_week" | "next_month" | "next_year" | "today" | "tomorrow" | "yesterday" | "week_of_year" | "quarter_of_year" | "is_weekend" | "is_weekday" | "n_days_ago" | "n_days_ahead" | "n_weeks_ago" | "n_weeks_ahead" | "n_months_ago" | "n_months_ahead" | "n_years_ago" | "n_years_ahead";
3141
3384
  /**
@@ -3143,6 +3386,8 @@ export type FilterDateOperator = "equals" | "not_equals" | "before" | "before_or
3143
3386
  *
3144
3387
  * Includes options like null handling and whether time values should be considered
3145
3388
  * during comparisons.
3389
+ *
3390
+ * @group Filters
3146
3391
  */
3147
3392
  export interface FilterDateOptions {
3148
3393
  /**
@@ -3170,6 +3415,8 @@ export interface FilterDateOptions {
3170
3415
  * be represented using built-in filter types.
3171
3416
  *
3172
3417
  * The function should return `true` to keep a row or `false` to filter it out.
3418
+ *
3419
+ * @group Filters
3173
3420
  */
3174
3421
  export type FilterFn<T> = (
3175
3422
  /**
@@ -3181,6 +3428,8 @@ params: FilterFnParams<T>) => boolean;
3181
3428
  * The parameters passed to a custom function filter.
3182
3429
  *
3183
3430
  * Includes both the current row's data and the overall grid configuration.
3431
+ *
3432
+ * @group Filters
3184
3433
  */
3185
3434
  export interface FilterFnParams<T> {
3186
3435
  /**
@@ -3197,6 +3446,8 @@ export interface FilterFnParams<T> {
3197
3446
  * for filtering scenarios that don't conform to basic models.
3198
3447
  *
3199
3448
  * Should be used selectively and optimized for performance.
3449
+ *
3450
+ * @group Filters
3200
3451
  */
3201
3452
  export interface FilterFunc<T> {
3202
3453
  /**
@@ -3214,6 +3465,8 @@ export interface FilterFunc<T> {
3214
3465
  *
3215
3466
  * Often referred to as a "Set Filter", this is a PRO-only feature in
3216
3467
  * LyteNyte Grid and cannot be nested in combination filters.
3468
+ *
3469
+ * @group Filters
3217
3470
  */
3218
3471
  export interface FilterIn {
3219
3472
  /**
@@ -3238,6 +3491,8 @@ export interface FilterIn {
3238
3491
  * Represents a displayable filter option for use with the `in` filter UI component.
3239
3492
  *
3240
3493
  * Supports grouping and human-friendly labeling for raw filter values.
3494
+ *
3495
+ * @group Filters
3241
3496
  */
3242
3497
  export interface FilterInFilterItem {
3243
3498
  /**
@@ -3266,10 +3521,14 @@ export interface FilterInFilterItem {
3266
3521
  *
3267
3522
  * - `"in"`: Tests for inclusion in the set.
3268
3523
  * - `"not_in"`: Tests for exclusion from the set.
3524
+ *
3525
+ * @group Filters
3269
3526
  */
3270
3527
  export type FilterInOperator = "in" | "not_in";
3271
3528
  /**
3272
3529
  * The full set of filter types available in the LyteNyte Grid.
3530
+ *
3531
+ * @group Filters
3273
3532
  */
3274
3533
  export type FilterModelItem<T> = FilterNumber | FilterString | FilterDate | FilterCombination | FilterFunc<T>;
3275
3534
  /**
@@ -3277,8 +3536,7 @@ export type FilterModelItem<T> = FilterNumber | FilterString | FilterDate | Filt
3277
3536
  *
3278
3537
  * Applies common comparison logic to include or exclude rows based on numerical values in a specified column.
3279
3538
  *
3280
- * See:
3281
- * - [Filters](TODO): Overview of the filters
3539
+ * @group Filters
3282
3540
  */
3283
3541
  export interface FilterNumber {
3284
3542
  /**
@@ -3295,8 +3553,7 @@ export interface FilterNumber {
3295
3553
  /**
3296
3554
  * Target value for the filter.
3297
3555
  *
3298
- * This will be used as the right-hand operand when applying the operator to each row's value.
3299
- * May be `null` if specifically filtering for nulls.
3556
+ * This will be used as the right-hand operand when applying the operator to each row's value. May be `null` if specifically filtering for nulls.
3300
3557
  */
3301
3558
  readonly value: number | null;
3302
3559
  /**
@@ -3308,16 +3565,17 @@ export interface FilterNumber {
3308
3565
  }
3309
3566
  /**
3310
3567
  * Logical operators available for number-based filtering.
3568
+ * These correspond to the traditional comparison operators, `>, <=`, etc.
3569
+ *
3311
3570
  *
3312
- * These correspond to traditional comparison operators:
3313
- * - `greater_than` → `>`
3314
- * - `less_than_or_equals` → `<=`
3315
- * etc.
3571
+ * @group Filters
3316
3572
  */
3317
3573
  export type FilterNumberOperator = "greater_than" | "greater_than_or_equals" | "less_than" | "less_than_or_equals" | "equals" | "not_equals";
3318
3574
  /**
3319
3575
  * Optional configuration values for number filters. These options allow fine-tuning of filter behavior,
3320
3576
  * especially in cases involving precision or null handling.
3577
+ *
3578
+ * @group Filters
3321
3579
  */
3322
3580
  export interface FilterNumberOptions {
3323
3581
  /**
@@ -3351,12 +3609,16 @@ export interface FilterNumberOptions {
3351
3609
  *
3352
3610
  * - `"case-sensitive"`: Exact matches required.
3353
3611
  * - `"case-insensitive"`: Case differences are ignored.
3612
+ *
3613
+ * @group Filters
3354
3614
  */
3355
3615
  export type FilterQuickSearchSensitivity = "case-sensitive" | "case-insensitive";
3356
3616
  /**
3357
3617
  * Filter configuration for string-based column data.
3358
3618
  *
3359
3619
  * Supports a wide range of operators such as exact match, substring containment, regex matching, and string length comparisons.
3620
+ *
3621
+ * @group Filters
3360
3622
  */
3361
3623
  export interface FilterString {
3362
3624
  /**
@@ -3387,6 +3649,8 @@ export interface FilterString {
3387
3649
  * Collation configuration for locale-sensitive string comparisons.
3388
3650
  *
3389
3651
  * Used to construct an `Intl.Collator` instance, which enables proper handling of language and region-specific rules.
3652
+ *
3653
+ * @group Filters
3390
3654
  */
3391
3655
  export interface FilterStringCollation {
3392
3656
  /**
@@ -3408,6 +3672,8 @@ export interface FilterStringCollation {
3408
3672
  * These include comparison operators (e.g., "equals"), substring checks (e.g., "contains"), and
3409
3673
  * length-based checks (e.g., "length_less_than"). Some operators require a numeric `value`
3410
3674
  * (e.g., those dealing with string length).
3675
+ *
3676
+ * @group Filters
3411
3677
  */
3412
3678
  export type FilterStringOperator = "equals" | "not_equals" | "less_than" | "less_than_or_equals" | "greater_than" | "greater_than_or_equals" | "begins_with" | "not_begins_with" | "ends_with" | "not_ends_with" | "contains" | "not_contains" | "length" | "not_length" | "matches" | "length_less_than" | "length_less_than_or_equals" | "length_greater_than" | "length_greater_than_or_equals";
3413
3679
  /**
@@ -3415,6 +3681,8 @@ export type FilterStringOperator = "equals" | "not_equals" | "less_than" | "less
3415
3681
  *
3416
3682
  * These provide control over how string values are matched, such as case sensitivity, whitespace trimming,
3417
3683
  * regular expression flags, and locale-based collation.
3684
+ *
3685
+ * @group Filters
3418
3686
  */
3419
3687
  export interface FilterStringOptions {
3420
3688
  /**
@@ -3459,11 +3727,15 @@ export interface FilterStringOptions {
3459
3727
  * The supported locale identifiers for string filtering and collation.
3460
3728
  *
3461
3729
  * Used to configure internationalized string comparison behavior.
3730
+ *
3731
+ * @group Filters
3462
3732
  */
3463
3733
  export type Locale = "en-US" | "en-GB" | "en-CA" | "en-AU" | "en-IN" | "fr-FR" | "fr-CA" | "fr-BE" | "fr-CH" | "es-ES" | "es-MX" | "es-AR" | "es-CO" | "zh-CN" | "zh-TW" | "zh-HK" | "zh-Hant" | "zh-Hans" | "ar-SA" | "ar-EG" | "ar-AE" | "de-DE" | "de-AT" | "de-CH" | "ja-JP" | "ko-KR" | "hi-IN" | "pt-BR" | "pt-PT" | "ru-RU" | "uk-UA" | "pl-PL" | "it-IT" | "nl-NL" | "sv-SE" | "tr-TR" | "th-TH" | "vi-VN" | "he-IL" | "fa-IR" | "el-GR";
3464
3734
  /**
3465
3735
  * Defines the function signature for custom
3466
3736
  * aggregation logic that computes a result based on grid data.
3737
+ *
3738
+ * @group Row Grouping
3467
3739
  */
3468
3740
  export type AggFn<T> = (
3469
3741
  /**
@@ -3478,15 +3750,21 @@ grid: Grid<T>) => unknown;
3478
3750
  * Describes the aggregation model configuration.
3479
3751
  * This can be either a string referencing a built-in
3480
3752
  * aggregation or a custom function.
3753
+ *
3754
+ * @group Row Grouping
3481
3755
  */
3482
3756
  export type AggModelFn<T> = string | AggFn<T>;
3483
3757
  /**
3484
3758
  * Enumerates the display modes available for
3485
3759
  * row groups in LyteNyte Grid.
3760
+ *
3761
+ * @group Row Grouping
3486
3762
  */
3487
3763
  export type RowGroupDisplayMode = "single-column" | "multi-column" | "custom";
3488
3764
  /**
3489
3765
  * Defines a field-based grouping configuration used to compute row group keys in the grid.
3766
+ *
3767
+ * @group Row Grouping
3490
3768
  */
3491
3769
  export interface RowGroupField<T> {
3492
3770
  /**
@@ -3508,10 +3786,14 @@ export interface RowGroupField<T> {
3508
3786
  }
3509
3787
  /**
3510
3788
  * An item in the row group model. This can either be a column identifier (string) or a row group field definition.
3789
+ *
3790
+ * @group Row Grouping
3511
3791
  */
3512
3792
  export type RowGroupModelItem<T> = string | RowGroupField<T>;
3513
3793
  /**
3514
3794
  * A callback function type for the columnMoveBegin event, fired when a column move starts.
3795
+ *
3796
+ * @group Events
3515
3797
  */
3516
3798
  export type ColumnMoveBeginFn<T> = (
3517
3799
  /**
@@ -3520,6 +3802,8 @@ export type ColumnMoveBeginFn<T> = (
3520
3802
  params: ColumnMoveBeginParams<T>) => void;
3521
3803
  /**
3522
3804
  * The parameters provided when a column move operation begins. This event allows the move action to be canceled.
3805
+ *
3806
+ * @group Events
3523
3807
  */
3524
3808
  export interface ColumnMoveBeginParams<T> {
3525
3809
  /**
@@ -3549,6 +3833,8 @@ export interface ColumnMoveBeginParams<T> {
3549
3833
  }
3550
3834
  /**
3551
3835
  * A callback function type for the columnMoveEnd event, fired when a column move completes.
3836
+ *
3837
+ * @group Events
3552
3838
  */
3553
3839
  export type ColumnMoveEndFn<T> = (
3554
3840
  /**
@@ -3557,6 +3843,8 @@ export type ColumnMoveEndFn<T> = (
3557
3843
  params: ColumnMoveEndParams<T>) => void;
3558
3844
  /**
3559
3845
  * The parameters emitted when a column move operation has completed.
3846
+ *
3847
+ * @group Events
3560
3848
  */
3561
3849
  export interface ColumnMoveEndParams<T> {
3562
3850
  /**
@@ -3582,6 +3870,8 @@ export interface ColumnMoveEndParams<T> {
3582
3870
  }
3583
3871
  /**
3584
3872
  * An event fired when a cell begins editing. This provides an opportunity to cancel the edit before any changes are made.
3873
+ *
3874
+ * @group Events
3585
3875
  */
3586
3876
  export type EditBegin<T> = (
3587
3877
  /**
@@ -3590,6 +3880,8 @@ export type EditBegin<T> = (
3590
3880
  params: OnEditBeginParams<T>) => void;
3591
3881
  /**
3592
3882
  * An event fired when an in-progress cell edit is canceled. Most commonly triggered by user interaction, such as pressing the Escape key.
3883
+ *
3884
+ * @group Events
3593
3885
  */
3594
3886
  export type EditCancel<T> = (
3595
3887
  /**
@@ -3598,6 +3890,8 @@ export type EditCancel<T> = (
3598
3890
  params: OnEditCancelParams<T>) => void;
3599
3891
  /**
3600
3892
  * An event fired when a cell finishes editing successfully (i.e., without error or cancellation).
3893
+ *
3894
+ * @group Events
3601
3895
  */
3602
3896
  export type EditEnd<T> = (
3603
3897
  /**
@@ -3606,6 +3900,8 @@ export type EditEnd<T> = (
3606
3900
  params: OnEditEndParams<T>) => void;
3607
3901
  /**
3608
3902
  * An event fired when an error occurs during cell editing—either due to validation failure or runtime exception.
3903
+ *
3904
+ * @group Events
3609
3905
  */
3610
3906
  export type EditError<T> = (
3611
3907
  /**
@@ -3614,6 +3910,8 @@ export type EditError<T> = (
3614
3910
  params: OnEditErrorParams<T>) => void;
3615
3911
  /**
3616
3912
  * A comprehensive map of all possible events that LyteNyte Grid may emit during its lifecycle.
3913
+ *
3914
+ * @group Events
3617
3915
  */
3618
3916
  export interface GridEvents<T> {
3619
3917
  /**
@@ -3687,6 +3985,8 @@ export interface GridEvents<T> {
3687
3985
  }
3688
3986
  /**
3689
3987
  * An event fired when the row detail expansion process begins. This provides an opportunity to cancel expansion before it takes effect.
3988
+ *
3989
+ * @group Events
3690
3990
  */
3691
3991
  export type RowDetailExpansionBegin<T> = (
3692
3992
  /**
@@ -3695,6 +3995,9 @@ export type RowDetailExpansionBegin<T> = (
3695
3995
  params: RowDetailExpansionBeginParams<T>) => void;
3696
3996
  /**
3697
3997
  * The parameters for the `rowDetailExpansionBegin` event. This event allows preventing expansion of row detail sections by calling `preventDefault()`.
3998
+ *
3999
+ *
4000
+ * @group Events
3698
4001
  */
3699
4002
  export interface RowDetailExpansionBeginParams<T> {
3700
4003
  /**
@@ -3712,6 +4015,8 @@ export interface RowDetailExpansionBeginParams<T> {
3712
4015
  }
3713
4016
  /**
3714
4017
  * An event fired after the row detail expansion completes successfully.
4018
+ *
4019
+ * @group Events
3715
4020
  */
3716
4021
  export type RowDetailExpansionEnd<T> = (
3717
4022
  /**
@@ -3720,6 +4025,9 @@ export type RowDetailExpansionEnd<T> = (
3720
4025
  params: RowDetailExpansionEndParams<T>) => void;
3721
4026
  /**
3722
4027
  * The parameters for the `rowDetailExpansionEnd` event, fired once a row detail expansion operation is complete.
4028
+ *
4029
+ *
4030
+ * @group Events
3723
4031
  */
3724
4032
  export interface RowDetailExpansionEndParams<T> {
3725
4033
  /**
@@ -3733,6 +4041,8 @@ export interface RowDetailExpansionEndParams<T> {
3733
4041
  }
3734
4042
  /**
3735
4043
  * Event handler function type for the `rowExpand` event. Called when row group expansion is successfully completed.
4044
+ *
4045
+ * @group Events
3736
4046
  */
3737
4047
  export type RowExpandFn<T> = (
3738
4048
  /**
@@ -3741,6 +4051,8 @@ export type RowExpandFn<T> = (
3741
4051
  params: RowExpandParams<T>) => void;
3742
4052
  /**
3743
4053
  * Event handler function type for the `rowExpandBegin` event. Triggered before row group expansion, allowing you to cancel the operation.
4054
+ *
4055
+ * @group Events
3744
4056
  */
3745
4057
  export type RowExpandBeginFn<T> = (
3746
4058
  /**
@@ -3749,6 +4061,8 @@ export type RowExpandBeginFn<T> = (
3749
4061
  params: RowExpandBeginParams<T>) => void;
3750
4062
  /**
3751
4063
  * Describes the parameters passed to the `rowExpandBegin` event. This event is triggered before row group expansion occurs and provides a way to cancel the action.
4064
+ *
4065
+ * @group Events
3752
4066
  */
3753
4067
  export interface RowExpandBeginParams<T> {
3754
4068
  /**
@@ -3768,6 +4082,8 @@ export interface RowExpandBeginParams<T> {
3768
4082
  }
3769
4083
  /**
3770
4084
  * Event handler function type for the `rowExpandError` event. Called when row group expansion fails due to an error.
4085
+ *
4086
+ * @group Events
3771
4087
  */
3772
4088
  export type RowExpandErrorFn<T> = (
3773
4089
  /**
@@ -3776,6 +4092,8 @@ export type RowExpandErrorFn<T> = (
3776
4092
  params: RowExpandErrorParams<T>) => void;
3777
4093
  /**
3778
4094
  * Describes the parameters passed to the `rowExpandError` event. This event is emitted when an error occurs during row group expansion.
4095
+ *
4096
+ * @group Events
3779
4097
  */
3780
4098
  export interface RowExpandErrorParams<T> {
3781
4099
  /**
@@ -3795,6 +4113,8 @@ export interface RowExpandErrorParams<T> {
3795
4113
  }
3796
4114
  /**
3797
4115
  * Describes the parameters passed to the `rowExpand` event. This event is emitted after a row group has been successfully expanded.
4116
+ *
4117
+ * @group Events
3798
4118
  */
3799
4119
  export interface RowExpandParams<T> {
3800
4120
  /**
@@ -3810,6 +4130,8 @@ export interface RowExpandParams<T> {
3810
4130
  }
3811
4131
  /**
3812
4132
  * An event triggered when the "select all" operation begins. It provides an opportunity to cancel the selection.
4133
+ *
4134
+ * @group Events
3813
4135
  */
3814
4136
  export type RowSelectAllBegin<T> = (
3815
4137
  /**
@@ -3818,6 +4140,8 @@ export type RowSelectAllBegin<T> = (
3818
4140
  params: RowSelectAllBeginParams<T>) => void;
3819
4141
  /**
3820
4142
  * The parameters provided when a "select all" operation starts. This event allows the operation to be canceled.
4143
+ *
4144
+ * @group Events
3821
4145
  */
3822
4146
  export interface RowSelectAllBeginParams<T> {
3823
4147
  /**
@@ -3836,6 +4160,8 @@ export interface RowSelectAllBeginParams<T> {
3836
4160
  }
3837
4161
  /**
3838
4162
  * An event triggered once the "select all" operation is complete.
4163
+ *
4164
+ * @group Events
3839
4165
  */
3840
4166
  export type RowSelectAllEnd<T> = (
3841
4167
  /**
@@ -3844,6 +4170,8 @@ export type RowSelectAllEnd<T> = (
3844
4170
  params: RowSelectAllEndParams<T>) => void;
3845
4171
  /**
3846
4172
  * The parameters passed when a "select all" operation completes.
4173
+ *
4174
+ * @group Events
3847
4175
  */
3848
4176
  export interface RowSelectAllEndParams<T> {
3849
4177
  /**
@@ -3858,6 +4186,8 @@ export interface RowSelectAllEndParams<T> {
3858
4186
  }
3859
4187
  /**
3860
4188
  * An event triggered when a row selection starts. This event allows cancellation before the selection is finalized.
4189
+ *
4190
+ * @group Events
3861
4191
  */
3862
4192
  export type RowSelectBegin<T> = (
3863
4193
  /**
@@ -3867,6 +4197,8 @@ params: RowSelectBeginParams<T>) => void;
3867
4197
  /**
3868
4198
  * The parameters provided when a row selection begins. This event occurs before the selection change takes effect,
3869
4199
  * giving the caller an opportunity to prevent it.
4200
+ *
4201
+ * @group Events
3870
4202
  */
3871
4203
  export interface RowSelectBeginParams<T> {
3872
4204
  /**
@@ -3889,6 +4221,8 @@ export interface RowSelectBeginParams<T> {
3889
4221
  }
3890
4222
  /**
3891
4223
  * An event triggered once the row selection is finalized.
4224
+ *
4225
+ * @group Events
3892
4226
  */
3893
4227
  export type RowSelectEnd<T> = (
3894
4228
  /**
@@ -3897,6 +4231,8 @@ export type RowSelectEnd<T> = (
3897
4231
  params: RowSelectEndParams<T>) => void;
3898
4232
  /**
3899
4233
  * The parameters passed when a row selection has completed.
4234
+ *
4235
+ * @group Events
3900
4236
  */
3901
4237
  export interface RowSelectEndParams<T> {
3902
4238
  /**
@@ -3916,6 +4252,8 @@ export interface RowSelectEndParams<T> {
3916
4252
  /**
3917
4253
  * A function used to render the content of a header cell.
3918
4254
  * It receives renderer parameters and returns a ReactNode to render.
4255
+ *
4256
+ * @group Column Header
3919
4257
  */
3920
4258
  export type HeaderCellRendererFn<T> = (
3921
4259
  /**
@@ -3925,6 +4263,8 @@ params: HeaderCellRendererParams<T>) => ReactNode;
3925
4263
  /**
3926
4264
  * Parameters passed to the header cell renderer function. This
3927
4265
  * provides access to the grid and column for rendering context.
4266
+ *
4267
+ * @group Column Header
3928
4268
  */
3929
4269
  export interface HeaderCellRendererParams<T> {
3930
4270
  /**
@@ -3939,6 +4279,8 @@ export interface HeaderCellRendererParams<T> {
3939
4279
  /**
3940
4280
  * Renderer function for floating header cells. Returns the visual
3941
4281
  * contents for floating headers using provided parameters.
4282
+ *
4283
+ * @group Column Header
3942
4284
  */
3943
4285
  export type HeaderFloatingCellRendererFn<T> = (
3944
4286
  /**
@@ -3948,6 +4290,8 @@ params: HeaderFloatingCellRendererParams<T>) => ReactNode;
3948
4290
  /**
3949
4291
  * Parameters passed to the floating cell renderer. Provides grid
3950
4292
  * and column context to determine what should be rendered.
4293
+ *
4294
+ * @group Column Header
3951
4295
  */
3952
4296
  export interface HeaderFloatingCellRendererParams<T> {
3953
4297
  /**
@@ -3962,17 +4306,23 @@ export interface HeaderFloatingCellRendererParams<T> {
3962
4306
  /**
3963
4307
  * Floating header cell renderer reference. Can be a string
3964
4308
  * referencing a registered floating renderer or a function used directly by the column.
4309
+ *
4310
+ * @group Column Header
3965
4311
  */
3966
4312
  export type HeaderFloatingCellRenderer<T> = string | HeaderFloatingCellRendererFn<T>;
3967
4313
  /**
3968
4314
  * Header cell renderer reference. This may be a registered renderer
3969
4315
  * name (string) or a renderer function. If a string is used, it should match a renderer registered in the grid state.
4316
+ *
4317
+ * @group Column Header
3970
4318
  */
3971
4319
  export type HeaderCellRenderer<T> = string | HeaderCellRendererFn<T>;
3972
4320
  /**
3973
4321
  * Describes the currently active cell position if editing is in progress.
3974
4322
  *
3975
4323
  * When no edit is active, this will be `undefined`.
4324
+ *
4325
+ * @group Cell Edit
3976
4326
  */
3977
4327
  export interface EditActivePosition<T> {
3978
4328
  /**
@@ -3986,6 +4336,8 @@ export interface EditActivePosition<T> {
3986
4336
  }
3987
4337
  /**
3988
4338
  * Parameters accepted by the `editBegin` method to start editing a specific cell.
4339
+ *
4340
+ * @group Cell Edit
3989
4341
  */
3990
4342
  export interface EditBeginParams<T> {
3991
4343
  /**
@@ -4007,6 +4359,8 @@ export interface EditBeginParams<T> {
4007
4359
  *
4008
4360
  * - `"cell"`: Editing is active and inline
4009
4361
  * - `"readonly"`: Editing is disabled entirely
4362
+ *
4363
+ * @group Cell Edit
4010
4364
  */
4011
4365
  export type EditCellMode = "cell" | "readonly";
4012
4366
  /**
@@ -4015,6 +4369,9 @@ export type EditCellMode = "cell" | "readonly";
4015
4369
  * - `"single"`: Single click
4016
4370
  * - `"double-click"`: Double click
4017
4371
  * - `"none"`: Editing must be started via API or programmatically
4372
+ *
4373
+ *
4374
+ * @group Cell Edit
4018
4375
  */
4019
4376
  export type EditClickActivator = "single" | "double-click" | "none";
4020
4377
  /**
@@ -4023,12 +4380,16 @@ export type EditClickActivator = "single" | "double-click" | "none";
4023
4380
  * Can be either:
4024
4381
  * - A string key referencing a registered editor component
4025
4382
  * - A function of type {@link EditRendererFn} for custom rendering logic
4383
+ *
4384
+ * @group Cell Edit
4026
4385
  */
4027
4386
  export type EditRenderer<T> = string | EditRendererFn<T>;
4028
4387
  /**
4029
4388
  * A function that returns a React component to be rendered in edit mode for a given cell.
4030
4389
  *
4031
4390
  * Used for customizing editing UI. If omitted, a default HTML input will be used.
4391
+ *
4392
+ * @group Cell Edit
4032
4393
  */
4033
4394
  export type EditRendererFn<T> = (
4034
4395
  /**
@@ -4040,6 +4401,8 @@ params: EditRendererFnParams<T>) => ReactNode;
4040
4401
  *
4041
4402
  * These include positional and contextual data such as row, column, value, and grid
4042
4403
  * instance, along with row validation status and change handlers.
4404
+ *
4405
+ * @group Cell Edit
4043
4406
  */
4044
4407
  export interface EditRendererFnParams<T> {
4045
4408
  /**
@@ -4064,6 +4427,8 @@ export interface EditRendererFnParams<T> {
4064
4427
  * - `false`: validation failed
4065
4428
  * - `true` or `null`: validation passed or hasn't run
4066
4429
  * - `Record<string, any>`: failed with details per column
4430
+ *
4431
+ * @group Cell Edit
4067
4432
  */
4068
4433
  readonly rowValidationState: Record<string, any> | boolean | null;
4069
4434
  /**
@@ -4071,6 +4436,8 @@ export interface EditRendererFnParams<T> {
4071
4436
  *
4072
4437
  * Managed internally by the grid, but should be aligned with the expected shape of your
4073
4438
  * application's data model.
4439
+ *
4440
+ * @group Cell Edit
4074
4441
  */
4075
4442
  readonly value: any;
4076
4443
  /**
@@ -4087,6 +4454,8 @@ export interface EditRendererFnParams<T> {
4087
4454
  *
4088
4455
  * - `true` or `null` if the row is valid
4089
4456
  * - `false` or a `Record<string, any>` describing errors if invalid
4457
+ *
4458
+ * @group Cell Edit
4090
4459
  */
4091
4460
  export type EditRowValidatorFn<T> = (
4092
4461
  /**
@@ -4097,6 +4466,8 @@ params: EditRowValidatorFnParams<T>) => Record<string, any> | boolean;
4097
4466
  * Input arguments passed to {@link EditRowValidatorFn}.
4098
4467
  *
4099
4468
  * Used to perform validation on the entire row during or after edit submission.
4469
+ *
4470
+ * @group Cell Edit
4100
4471
  */
4101
4472
  export interface EditRowValidatorFnParams<T> {
4102
4473
  /**
@@ -4121,6 +4492,8 @@ export interface EditRowValidatorFnParams<T> {
4121
4492
  *
4122
4493
  * Required when dealing with nested, computed, or non-primitive values that the grid
4123
4494
  * cannot update automatically.
4495
+ *
4496
+ * @group Cell Edit
4124
4497
  */
4125
4498
  export type EditSetterFn<T> = (
4126
4499
  /**
@@ -4131,6 +4504,8 @@ params: EditSetterParams<T>) => any;
4131
4504
  * Input parameters passed to an {@link EditSetterFn}.
4132
4505
  *
4133
4506
  * Provides the context needed to compute and apply new row data based on edit input.
4507
+ *
4508
+ * @group Cell Edit
4134
4509
  */
4135
4510
  export interface EditSetterParams<T> {
4136
4511
  /**
@@ -4149,6 +4524,11 @@ export interface EditSetterParams<T> {
4149
4524
  * A reference to a column definition in LyteNyte Grid.
4150
4525
  */
4151
4526
  readonly column: Column<T>;
4527
+ /**
4528
+ * The current edit value of the cell being edited. Useful when the cell is derived from data and not
4529
+ * actually present in the row data.
4530
+ */
4531
+ readonly value: any;
4152
4532
  /**
4153
4533
  * The new row data after applying edits. This is an intermediate representation,
4154
4534
  * not yet committed to the grid.
@@ -4157,6 +4537,8 @@ export interface EditSetterParams<T> {
4157
4537
  }
4158
4538
  /**
4159
4539
  * Parameters passed to the `editUpdate` method, used to submit a value change.
4540
+ *
4541
+ * @group Cell Edit
4160
4542
  */
4161
4543
  export interface EditUpdateParams<T> {
4162
4544
  /**
@@ -4178,6 +4560,8 @@ export interface EditUpdateParams<T> {
4178
4560
  *
4179
4561
  * - Use `true` to enable editing for all rows.
4180
4562
  * - Use {@link EditableFn} for conditional, row-specific editability.
4563
+ *
4564
+ * @group Cell Edit
4181
4565
  */
4182
4566
  export type Editable<T> = boolean | EditableFn<T>;
4183
4567
  /**
@@ -4185,6 +4569,8 @@ export type Editable<T> = boolean | EditableFn<T>;
4185
4569
  *
4186
4570
  * If cell editing is enabled in LyteNyte Grid, this function is evaluated per cell. Use
4187
4571
  * `true` for globally editable columns or {@link EditableFn} for row-specific logic.
4572
+ *
4573
+ * @group Cell Edit
4188
4574
  */
4189
4575
  export type EditableFn<T> = (
4190
4576
  /**
@@ -4197,6 +4583,8 @@ params: EditableFnParams<T>) => boolean;
4197
4583
  *
4198
4584
  * These include the row index, the row node object, the grid instance, and the column
4199
4585
  * definition.
4586
+ *
4587
+ * @group Cell Edit
4200
4588
  */
4201
4589
  export interface EditableFnParams<T> {
4202
4590
  /**
@@ -4218,6 +4606,8 @@ export interface EditableFnParams<T> {
4218
4606
  }
4219
4607
  /**
4220
4608
  * Parameters dispatched with the `onEditBegin` event, triggered when editing starts.
4609
+ *
4610
+ * @group Events
4221
4611
  */
4222
4612
  export interface OnEditBeginParams<T> {
4223
4613
  /**
@@ -4235,6 +4625,8 @@ export interface OnEditBeginParams<T> {
4235
4625
  }
4236
4626
  /**
4237
4627
  * Parameters passed to the `onEditCancel` event, triggered when editing is aborted (e.g., Escape key).
4628
+ *
4629
+ * @group Events
4238
4630
  */
4239
4631
  export interface OnEditCancelParams<T> {
4240
4632
  /**
@@ -4247,11 +4639,15 @@ export interface OnEditCancelParams<T> {
4247
4639
  readonly rowIndex: number;
4248
4640
  /**
4249
4641
  * The current value of the cell during an edit interaction.
4642
+ *
4643
+ * @group Events
4250
4644
  */
4251
4645
  readonly data: any;
4252
4646
  }
4253
4647
  /**
4254
4648
  * Parameters passed to the `onEditEnd` event, triggered when editing successfully completes.
4649
+ *
4650
+ * @group Events
4255
4651
  */
4256
4652
  export interface OnEditEndParams<T> {
4257
4653
  /**
@@ -4264,11 +4660,15 @@ export interface OnEditEndParams<T> {
4264
4660
  readonly rowIndex: number;
4265
4661
  /**
4266
4662
  * The current value of the cell during an edit interaction.
4663
+ *
4664
+ * @group Events
4267
4665
  */
4268
4666
  readonly data: any;
4269
4667
  }
4270
4668
  /**
4271
4669
  * Parameters passed to the `onEditError` event, triggered when validation or logic errors occur during editing.
4670
+ *
4671
+ * @group Events
4272
4672
  */
4273
4673
  export interface OnEditErrorParams<T> {
4274
4674
  /**
@@ -4281,6 +4681,8 @@ export interface OnEditErrorParams<T> {
4281
4681
  readonly rowIndex: number;
4282
4682
  /**
4283
4683
  * The current value of the cell during an edit interaction.
4684
+ *
4685
+ * @group Events
4284
4686
  */
4285
4687
  readonly data: any;
4286
4688
  /**
@@ -4295,6 +4697,8 @@ export interface OnEditErrorParams<T> {
4295
4697
  }
4296
4698
  /**
4297
4699
  * Describes the focus position of a floating header cell.
4700
+ *
4701
+ * @group Navigation
4298
4702
  */
4299
4703
  export interface PositionFloatingCell {
4300
4704
  /**
@@ -4308,6 +4712,8 @@ export interface PositionFloatingCell {
4308
4712
  }
4309
4713
  /**
4310
4714
  * Describes the focus position when a full width row is active.
4715
+ *
4716
+ * @group Navigation
4311
4717
  */
4312
4718
  export interface PositionFullWidthRow {
4313
4719
  /**
@@ -4325,6 +4731,8 @@ export interface PositionFullWidthRow {
4325
4731
  }
4326
4732
  /**
4327
4733
  * Represents the current focus position of a regular cell in the grid.
4734
+ *
4735
+ * @group Navigation
4328
4736
  */
4329
4737
  export interface PositionGridCell {
4330
4738
  /**
@@ -4347,6 +4755,8 @@ export interface PositionGridCell {
4347
4755
  /**
4348
4756
  * The root reference of a grid cell. If a cell is obscured by a rowspan
4349
4757
  * or colspan, it points to the actual root cell containing the data.
4758
+ *
4759
+ * @group Navigation
4350
4760
  */
4351
4761
  export interface PositionGridCellRoot {
4352
4762
  /**
@@ -4368,6 +4778,8 @@ export interface PositionGridCellRoot {
4368
4778
  }
4369
4779
  /**
4370
4780
  * Describes the focus position of a standard header cell.
4781
+ *
4782
+ * @group Navigation
4371
4783
  */
4372
4784
  export interface PositionHeaderCell {
4373
4785
  /**
@@ -4381,6 +4793,8 @@ export interface PositionHeaderCell {
4381
4793
  }
4382
4794
  /**
4383
4795
  * Describes the focus position of a header group cell in the column hierarchy.
4796
+ *
4797
+ * @group Navigation
4384
4798
  */
4385
4799
  export interface PositionHeaderGroupCell {
4386
4800
  /**
@@ -4406,17 +4820,23 @@ export interface PositionHeaderGroupCell {
4406
4820
  }
4407
4821
  /**
4408
4822
  * Union of all valid focusable positions in the grid: cells, headers, full width rows, etc.
4823
+ *
4824
+ * @group Navigation
4409
4825
  */
4410
4826
  export type PositionUnion = PositionGridCell | PositionFloatingCell | PositionHeaderCell | PositionFullWidthRow | PositionHeaderGroupCell;
4411
4827
  /**
4412
4828
  * Specifies the height of the row detail section.
4413
4829
  * Can be a fixed number of pixels or "auto" to size based on content.
4830
+ *
4831
+ * @group Row Data Source
4414
4832
  */
4415
4833
  export type RowDetailHeight = number | "auto";
4416
4834
  /**
4417
4835
  * A function used to render custom row detail content.
4418
4836
  * It should return a ReactNode to be displayed in the row's
4419
4837
  * expanded detail area.
4838
+ *
4839
+ * @group Row Data Source
4420
4840
  */
4421
4841
  export type RowDetailRendererFn<T> = (
4422
4842
  /**
@@ -4427,6 +4847,8 @@ params: RowDetailRendererParams<T>) => ReactNode;
4427
4847
  * Defines the parameters passed to a row detail renderer. These parameters
4428
4848
  * include the row index, the row node metadata,
4429
4849
  * and a reference to the grid instance.
4850
+ *
4851
+ * @group Row Data Source
4430
4852
  */
4431
4853
  export interface RowDetailRendererParams<T> {
4432
4854
  /**
@@ -4444,6 +4866,8 @@ export interface RowDetailRendererParams<T> {
4444
4866
  }
4445
4867
  /**
4446
4868
  * Options for performing bulk selection or deselection of all rows.
4869
+ *
4870
+ * @group Row Selection
4447
4871
  */
4448
4872
  export interface RowSelectAllOptions {
4449
4873
  /**
@@ -4453,6 +4877,8 @@ export interface RowSelectAllOptions {
4453
4877
  }
4454
4878
  /**
4455
4879
  * Configuration options used when performing row selection operations.
4880
+ *
4881
+ * @group Row Selection
4456
4882
  */
4457
4883
  export interface RowSelectOptions {
4458
4884
  /**
@@ -4481,6 +4907,8 @@ export interface RowSelectOptions {
4481
4907
  * - "single-click" selects a row with a single mouse click.
4482
4908
  * - "double-click" requires a double-click to select.
4483
4909
  * - "none" disables interaction-based row selection.
4910
+ *
4911
+ * @group Row Selection
4484
4912
  */
4485
4913
  export type RowSelectionActivator = "single-click" | "double-click" | "none";
4486
4914
  /**
@@ -4488,11 +4916,15 @@ export type RowSelectionActivator = "single-click" | "double-click" | "none";
4488
4916
  * - "single" allows only one row to be selected at a time.
4489
4917
  * - "multiple" allows multiple row selections.
4490
4918
  * - "none" disables row selection entirely.
4919
+ *
4920
+ * @group Row Selection
4491
4921
  */
4492
4922
  export type RowSelectionMode = "single" | "multiple" | "none";
4493
4923
  /**
4494
4924
  * Contains data associated with a drag operation,
4495
4925
  * including transferable and site-local information.
4926
+ *
4927
+ * @group Row Drag
4496
4928
  */
4497
4929
  export interface DragData {
4498
4930
  /**
@@ -4507,6 +4939,8 @@ export interface DragData {
4507
4939
  }
4508
4940
  /**
4509
4941
  * Callback function executed during a drag event.
4942
+ *
4943
+ * @group Row Drag
4510
4944
  */
4511
4945
  export type DragEventFn = (
4512
4946
  /**
@@ -4515,6 +4949,8 @@ export type DragEventFn = (
4515
4949
  params: DragEventParams) => void;
4516
4950
  /**
4517
4951
  * Arguments passed during a drag event lifecycle.
4952
+ *
4953
+ * @group Row Drag
4518
4954
  */
4519
4955
  export interface DragEventParams {
4520
4956
  /**
@@ -4533,6 +4969,8 @@ export interface DragEventParams {
4533
4969
  /**
4534
4970
  * Function to render the drag placeholder UI. This UI
4535
4971
  * is rendered in isolation and does not respond to app state changes.
4972
+ *
4973
+ * @group Row Drag
4536
4974
  */
4537
4975
  export type DragPlaceholderFn<T> = (
4538
4976
  /**
@@ -4541,6 +4979,8 @@ export type DragPlaceholderFn<T> = (
4541
4979
  params: DragPlaceholderParams<T>) => ReactNode;
4542
4980
  /**
4543
4981
  * Parameters passed when rendering the drag placeholder content.
4982
+ *
4983
+ * @group Row Drag
4544
4984
  */
4545
4985
  export interface DragPlaceholderParams<T> {
4546
4986
  /**
@@ -4554,6 +4994,8 @@ export interface DragPlaceholderParams<T> {
4554
4994
  }
4555
4995
  /**
4556
4996
  * Represents the current pointer position during a drag operation.
4997
+ *
4998
+ * @group Row Drag
4557
4999
  */
4558
5000
  export interface DragPosition {
4559
5001
  /**
@@ -4567,6 +5009,8 @@ export interface DragPosition {
4567
5009
  }
4568
5010
  /**
4569
5011
  * Fired when a drop action is finalized and the dragged element is released over a drop zone.
5012
+ *
5013
+ * @group Row Drag
4570
5014
  */
4571
5015
  export type DropEventFn = (
4572
5016
  /**
@@ -4575,6 +5019,8 @@ export type DropEventFn = (
4575
5019
  params: DropEventParams) => void;
4576
5020
  /**
4577
5021
  * Represents the full context passed to the drop event handler.
5022
+ *
5023
+ * @group Row Drag
4578
5024
  */
4579
5025
  export interface DropEventParams {
4580
5026
  /**
@@ -4596,6 +5042,8 @@ export interface DropEventParams {
4596
5042
  }
4597
5043
  /**
4598
5044
  * Describes the final state of a drag-and-drop move operation.
5045
+ *
5046
+ * @group Row Drag
4599
5047
  */
4600
5048
  export interface DragMoveState {
4601
5049
  /**
@@ -4633,6 +5081,8 @@ export interface DragMoveState {
4633
5081
  }
4634
5082
  /**
4635
5083
  * Function used to provide the data that will be associated with a drag operation.
5084
+ *
5085
+ * @group Row Drag
4636
5086
  */
4637
5087
  export type GetDragDataFn<T> = (
4638
5088
  /**
@@ -4642,6 +5092,8 @@ params: GetDragDataParams<T>) => DragData;
4642
5092
  /**
4643
5093
  * Defines the input parameters for the function
4644
5094
  * that provides data during a drag operation.
5095
+ *
5096
+ * @group Row Drag
4645
5097
  */
4646
5098
  export interface GetDragDataParams<T> {
4647
5099
  /**
@@ -4655,6 +5107,8 @@ export interface GetDragDataParams<T> {
4655
5107
  }
4656
5108
  /**
4657
5109
  * Parameters for configuring drag behavior using a React hook.
5110
+ *
5111
+ * @group Row Drag
4658
5112
  */
4659
5113
  export interface UseRowDragParams<T> {
4660
5114
  /**
@@ -4721,6 +5175,8 @@ export interface UseRowDragParams<T> {
4721
5175
  * or operate on a subset of the grid's data regardless of row or column reordering. However,
4722
5176
  * if the number of rows or columns changes, the rect may be invalidated if it extends
4723
5177
  * beyond the new bounds.
5178
+ *
5179
+ * @group Export
4724
5180
  */
4725
5181
  export interface DataRect {
4726
5182
  /**
@@ -4742,6 +5198,8 @@ export interface DataRect {
4742
5198
  }
4743
5199
  /**
4744
5200
  * Parameters for exporting a CSV file from LyteNyte Grid.
5201
+ *
5202
+ * @group Export
4745
5203
  */
4746
5204
  export interface ExportCsvParams {
4747
5205
  /**
@@ -4771,14 +5229,18 @@ export interface ExportCsvParams {
4771
5229
  * Signature for the function that exports a DataRect from the grid.
4772
5230
  *
4773
5231
  * Called via the LyteNyte Grid API when exporting a selection of cells.
5232
+ *
5233
+ * @group Export
4774
5234
  */
4775
5235
  export type ExportDataRectFn<T> = (
4776
5236
  /**
4777
5237
  * Optional parameters for exporting a DataRect.
4778
5238
  */
4779
- params: ExportDataRectParams) => ExportDataRectResult<T>;
5239
+ params: ExportDataRectParams) => Promise<ExportDataRectResult<T>>;
4780
5240
  /**
4781
5241
  * Parameters for exporting a specific rectangular region of the grid using a DataRect.
5242
+ *
5243
+ * @group Export
4782
5244
  */
4783
5245
  export interface ExportDataRectParams {
4784
5246
  /**
@@ -4794,6 +5256,8 @@ export interface ExportDataRectParams {
4794
5256
  }
4795
5257
  /**
4796
5258
  * The result structure returned after exporting a DataRect from LyteNyte Grid.
5259
+ *
5260
+ * @group Export
4797
5261
  */
4798
5262
  export interface ExportDataRectResult<T> {
4799
5263
  /**
@@ -4817,6 +5281,8 @@ export interface ExportDataRectResult<T> {
4817
5281
  * Configuration for the column dimension of a pivot.
4818
5282
  *
4819
5283
  * Each item defines a field whose values will be used to generate dynamic columns in the pivot view.
5284
+ *
5285
+ * @group Column Pivots
4820
5286
  */
4821
5287
  export interface ColumnPivotColumnItem {
4822
5288
  /**
@@ -4835,6 +5301,8 @@ export interface ColumnPivotColumnItem {
4835
5301
  *
4836
5302
  * This includes row grouping, column generation, value aggregation, and sort/filter
4837
5303
  * configuration for the pivoted result.
5304
+ *
5305
+ * @group Column Pivots
4838
5306
  */
4839
5307
  export interface ColumnPivotModel<T> {
4840
5308
  /**
@@ -4875,6 +5343,8 @@ export interface ColumnPivotModel<T> {
4875
5343
  * Configuration for row-level grouping in a column pivot model.
4876
5344
  *
4877
5345
  * These items define which fields should be used to group rows before creating pivot columns.
5346
+ *
5347
+ * @group Column Pivots
4878
5348
  */
4879
5349
  export interface ColumnPivotRowItem {
4880
5350
  /**
@@ -4892,6 +5362,8 @@ export interface ColumnPivotRowItem {
4892
5362
  * Configuration for value fields in a pivot (also known as measures).
4893
5363
  *
4894
5364
  * These values define what numeric or aggregate data should be shown for each cell in the pivot result.
5365
+ *
5366
+ * @group Column Pivots
4895
5367
  */
4896
5368
  export interface ColumnPivotValueItem<T> {
4897
5369
  /**
@@ -4914,6 +5386,8 @@ export interface ColumnPivotValueItem<T> {
4914
5386
  *
4915
5387
  * This structure is passed to grid internals to associate a rendering component
4916
5388
  * for dialogs triggered by grid interactions.
5389
+ *
5390
+ * @group Frames
4917
5391
  */
4918
5392
  export interface DialogFrame<T> {
4919
5393
  /**
@@ -4929,6 +5403,8 @@ export interface DialogFrame<T> {
4929
5403
  * control parameters and should return a valid ReactNode to render as a dialog.
4930
5404
  *
4931
5405
  * Note: The dialog component used should support controlled open/close behavior.
5406
+ *
5407
+ * @group Frames
4932
5408
  */
4933
5409
  export type DialogFrameRenderer<T> = (
4934
5410
  /**
@@ -4940,6 +5416,8 @@ params: DialogFrameRendererParams<T>) => ReactNode;
4940
5416
  *
4941
5417
  * These include the grid context, the frame being rendered, and any additional
4942
5418
  * user-provided context.
5419
+ *
5420
+ * @group Frames
4943
5421
  */
4944
5422
  export interface DialogFrameRendererParams<T> {
4945
5423
  /**
@@ -4951,6 +5429,8 @@ export interface DialogFrameRendererParams<T> {
4951
5429
  *
4952
5430
  * This context is supplied programmatically at the point of invoking the frame.
4953
5431
  * It can contain any arbitrary information required for rendering behavior.
5432
+ *
5433
+ * @group Frames
4954
5434
  */
4955
5435
  readonly context?: any;
4956
5436
  /**
@@ -4963,6 +5443,8 @@ export interface DialogFrameRendererParams<T> {
4963
5443
  *
4964
5444
  * The popover frame is triggered by LyteNyte Grid interactions and used to display
4965
5445
  * contextual information, editors, or auxiliary UI near a cell or element.
5446
+ *
5447
+ * @group Frames
4966
5448
  */
4967
5449
  export interface PopoverFrame<T> {
4968
5450
  /**
@@ -4975,6 +5457,8 @@ export interface PopoverFrame<T> {
4975
5457
  *
4976
5458
  * LyteNyte Grid does not include a built-in popover renderer. Developers must use their
4977
5459
  * own popover UI libraries and integrate them by implementing this renderer interface.
5460
+ *
5461
+ * @group Frames
4978
5462
  */
4979
5463
  export type PopoverFrameRenderer<T> = (
4980
5464
  /**
@@ -4986,6 +5470,8 @@ params: PopoverFrameRendererParams<T>) => ReactNode;
4986
5470
  *
4987
5471
  * Includes information about the grid, the target HTML element or virtual
4988
5472
  * target to anchor the popover, and the frame being rendered.
5473
+ *
5474
+ * @group Frames
4989
5475
  */
4990
5476
  export interface PopoverFrameRendererParams<T> {
4991
5477
  /**
@@ -4997,6 +5483,8 @@ export interface PopoverFrameRendererParams<T> {
4997
5483
  *
4998
5484
  * This context is supplied programmatically at the point of invoking the frame.
4999
5485
  * It can contain any arbitrary information required for rendering behavior.
5486
+ *
5487
+ * @group Frames
5000
5488
  */
5001
5489
  readonly context?: any;
5002
5490
  /**
@@ -5018,10 +5506,14 @@ export interface PopoverFrameRendererParams<T> {
5018
5506
  * - `"none"`: Disables all cell selection interactions.
5019
5507
  *
5020
5508
  * Useful for enabling features like copy-paste, cell highlighting, and keyboard navigation.
5509
+ *
5510
+ * @group Cell Selection
5021
5511
  */
5022
5512
  export type CellSelectionMode = "range" | "multi-range" | "none";
5023
5513
  /**
5024
5514
  * Fetches pivoted columns for the grid's current pivot configuration.
5515
+ *
5516
+ * @group Row Data Source
5025
5517
  */
5026
5518
  export type DataColumnPivotFetcherFn<T> = (
5027
5519
  /**
@@ -5030,6 +5522,8 @@ export type DataColumnPivotFetcherFn<T> = (
5030
5522
  params: DataColumnPivotFetcherParams<T>) => Promise<Column<T>[]>;
5031
5523
  /**
5032
5524
  * Parameters passed to the column pivot fetcher function.
5525
+ *
5526
+ * @group Row Data Source
5033
5527
  */
5034
5528
  export interface DataColumnPivotFetcherParams<T> {
5035
5529
  /**
@@ -5047,6 +5541,8 @@ export interface DataColumnPivotFetcherParams<T> {
5047
5541
  }
5048
5542
  /**
5049
5543
  * Fetches grid row data asynchronously for the LyteNyte Server Data Source.
5544
+ *
5545
+ * @group Row Data Source
5050
5546
  */
5051
5547
  export type DataFetcherFn<T> = (
5052
5548
  /**
@@ -5055,6 +5551,8 @@ export type DataFetcherFn<T> = (
5055
5551
  params: DataFetcherParams<T>) => Promise<(DataResponse | DataResponsePinned)[]>;
5056
5552
  /**
5057
5553
  * Input parameters provided to a grid data fetcher function.
5554
+ *
5555
+ * @group Row Data Source
5058
5556
  */
5059
5557
  export interface DataFetcherParams<T> {
5060
5558
  /**
@@ -5076,6 +5574,8 @@ export interface DataFetcherParams<T> {
5076
5574
  }
5077
5575
  /**
5078
5576
  * Fetches items used in "in" filters from a server-side source.
5577
+ *
5578
+ * @group Row Data Source
5079
5579
  */
5080
5580
  export type DataInFilterItemFetcherFn<T> = (
5081
5581
  /**
@@ -5084,6 +5584,8 @@ export type DataInFilterItemFetcherFn<T> = (
5084
5584
  params: DataInFilterItemFetcherParams<T>) => Promise<FilterInFilterItem[]> | FilterInFilterItem[];
5085
5585
  /**
5086
5586
  * Parameters passed to the in-filter fetcher function.
5587
+ *
5588
+ * @group Row Data Source
5087
5589
  */
5088
5590
  export interface DataInFilterItemFetcherParams<T> {
5089
5591
  /**
@@ -5101,6 +5603,8 @@ export interface DataInFilterItemFetcherParams<T> {
5101
5603
  }
5102
5604
  /**
5103
5605
  * Represents a specific request for data to an external data source.
5606
+ *
5607
+ * @group Row Data Source
5104
5608
  */
5105
5609
  export interface DataRequest {
5106
5610
  /**
@@ -5130,6 +5634,8 @@ export interface DataRequest {
5130
5634
  }
5131
5635
  /**
5132
5636
  * Describes the current grid state used to construct a request for external data.
5637
+ *
5638
+ * @group Row Data Source
5133
5639
  */
5134
5640
  export interface DataRequestModel<T> {
5135
5641
  /**
@@ -5179,6 +5685,8 @@ export interface DataRequestModel<T> {
5179
5685
  }
5180
5686
  /**
5181
5687
  * Response object for row data from a center section request.
5688
+ *
5689
+ * @group Row Data Source
5182
5690
  */
5183
5691
  export interface DataResponse {
5184
5692
  /**
@@ -5212,6 +5720,8 @@ export interface DataResponse {
5212
5720
  }
5213
5721
  /**
5214
5722
  * Represents a group (branch) row returned from a data request.
5723
+ *
5724
+ * @group Row Data Source
5215
5725
  */
5216
5726
  export interface DataResponseBranchItem {
5217
5727
  /**
@@ -5237,6 +5747,8 @@ export interface DataResponseBranchItem {
5237
5747
  }
5238
5748
  /**
5239
5749
  * Represents a row of data (a leaf node) returned in a server response.
5750
+ *
5751
+ * @group Row Data Source
5240
5752
  */
5241
5753
  export interface DataResponseLeafItem {
5242
5754
  /**
@@ -5254,6 +5766,8 @@ export interface DataResponseLeafItem {
5254
5766
  }
5255
5767
  /**
5256
5768
  * Response object for setting pinned row data (top or bottom).
5769
+ *
5770
+ * @group Row Data Source
5257
5771
  */
5258
5772
  export interface DataResponsePinned {
5259
5773
  /**
@@ -5271,6 +5785,8 @@ export interface DataResponsePinned {
5271
5785
  }
5272
5786
  /**
5273
5787
  * Parameters for configuring the server row data source.
5788
+ *
5789
+ * @group Row Data Source
5274
5790
  */
5275
5791
  export interface RowDataSourceServerParams<T> {
5276
5792
  /**