@reforgium/data-grid 2.0.1 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.0.1",
2
+ "version": "2.1.0",
3
3
  "name": "@reforgium/data-grid",
4
4
  "description": "reforgium DataGrid component",
5
5
  "author": "rtommievich",
@@ -653,6 +653,18 @@ type DataGridConfigProvider = {
653
653
  loadingMode: 'spinner' | 'skeleton';
654
654
  /** Whether pagination starts from page 0 (true) or page 1 (false). */
655
655
  pageStartFromZero: boolean;
656
+ /** Whether to defer rendering of the main grid content for code-splitting. */
657
+ deferContent: boolean;
658
+ /** Whether to defer rendering of the header (groups + columns). */
659
+ deferHeader: boolean;
660
+ /** Whether to defer rendering of pinned rows (top + bottom). */
661
+ deferPinned: boolean;
662
+ /** Whether to defer rendering of cell content. */
663
+ deferCells: boolean;
664
+ /** Whether to defer rendering of header icons (sort/expand/checkbox). */
665
+ deferIcons: boolean;
666
+ /** Whether to defer rendering of the tooltip. */
667
+ deferTooltip: boolean;
656
668
  /** Text strings for UI labels and messages. */
657
669
  translations: DataGridTranslations;
658
670
  /** Debounce timings in milliseconds for resize and scroll events to optimize performance. */
@@ -977,6 +989,8 @@ declare class DataGridVm<Data extends AnyDict> {
977
989
  */
978
990
  calcScrollbar(): void;
979
991
  private recomputeStickyOffsets;
992
+ private layoutSignature;
993
+ private stickySignature;
980
994
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGridVm<any>, never>;
981
995
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataGridVm<any>>;
982
996
  }
@@ -1191,6 +1205,13 @@ declare class DataGrid<Data extends AnyDict> {
1191
1205
  * to reduce flickering during fast scrolling. Default is 8.
1192
1206
  */
1193
1207
  virtualBuffer: _angular_core.InputSignal<number>;
1208
+ /**
1209
+ * Locks vertical scrolling while keeping horizontal scrolling enabled.
1210
+ *
1211
+ * Useful when the grid height is fixed by the parent and vertical scrolling
1212
+ * should be managed externally.
1213
+ */
1214
+ lockVerticalScroll: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1194
1215
  /**
1195
1216
  * Header group configuration for creating multi-level column headers.
1196
1217
  *
@@ -1219,6 +1240,12 @@ declare class DataGrid<Data extends AnyDict> {
1219
1240
  */
1220
1241
  loading: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1221
1242
  loadingMode: _angular_core.InputSignal<"spinner" | "skeleton">;
1243
+ deferContent: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1244
+ deferHeader: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1245
+ deferPinned: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1246
+ deferCells: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1247
+ deferIcons: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1248
+ deferTooltip: _angular_core.InputSignalWithTransform<boolean, string | boolean | undefined>;
1222
1249
  /**
1223
1250
  * Function or property name for getting a unique row key.
1224
1251
  *
@@ -1332,6 +1359,8 @@ declare class DataGrid<Data extends AnyDict> {
1332
1359
  private lastEndIndex;
1333
1360
  protected startIndex: number;
1334
1361
  protected headerHeight: _angular_core.WritableSignal<number>;
1362
+ private tooltipEl;
1363
+ protected tooltipState: _angular_core.WritableSignal<TooltipState>;
1335
1364
  protected stickyRowIndex: _angular_core.WritableSignal<number | null>;
1336
1365
  protected stickyRowTopPx: _angular_core.WritableSignal<number>;
1337
1366
  protected stickyRowData: _angular_core.Signal<Data | null>;
@@ -1419,12 +1448,9 @@ declare class DataGrid<Data extends AnyDict> {
1419
1448
  protected trackPinnedRow: (row: GridPinnedRow) => number | undefined;
1420
1449
  protected cellClass(col: GridColumn<Data>, row: Data): string | undefined;
1421
1450
  protected ariaSort(col: GridColumn<Data>): 'ascending' | 'descending' | 'none';
1422
- private tooltipEl;
1423
- protected tooltipState: _angular_core.WritableSignal<TooltipState>;
1424
1451
  protected resolveTooltip(row: Data, col: GridColumn<Data>): string | TemplateRef<GridTooltipContext<AnyDict>> | null;
1425
1452
  protected showTooltip(event: MouseEvent, row: Data, col: GridColumn<Data>, index: number): void;
1426
1453
  protected hideTooltip(): void;
1427
- private positionTooltip;
1428
1454
  protected isStickyRowIndex(index: number): boolean;
1429
1455
  protected resolveRowTemplate(row: Data, index: number): TemplateRef<AnyType> | null;
1430
1456
  private initVm;
@@ -1435,7 +1461,9 @@ declare class DataGrid<Data extends AnyDict> {
1435
1461
  private initScroll;
1436
1462
  private initObserver;
1437
1463
  private initExpander;
1464
+ private positionTooltip;
1438
1465
  private scheduleScrollbarUpdate;
1466
+ private finalizeScroll;
1439
1467
  private scheduleScrollTick;
1440
1468
  private clearScrollRaf;
1441
1469
  private ensureRenderSlots;
@@ -1446,9 +1474,9 @@ declare class DataGrid<Data extends AnyDict> {
1446
1474
  private updateStickyFromScroll;
1447
1475
  private findStickyIndexBefore;
1448
1476
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataGrid<any>, never>;
1449
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGrid<any>, "re-data-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "pinnedRows": { "alias": "pinnedRows"; "required": false; "isSignal": true; }; "isRowSticky": { "alias": "isRowSticky"; "required": false; "isSignal": true; }; "getRowTemplate": { "alias": "getRowTemplate"; "required": false; "isSignal": true; }; "hasIndexColumn": { "alias": "hasIndexColumn"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "virtualBuffer": { "alias": "virtualBuffer"; "required": false; "isSignal": true; }; "headerGroups": { "alias": "headerGroups"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingMode": { "alias": "loadingMode"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "pageStartFromZero": { "alias": "pageStartFromZero"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "sortChange": "sortChange"; "selectChange": "selectChange"; "rowClick": "rowClick"; "rowContext": "rowContext"; "rowDoubleClick": "rowDoubleClick"; "cellClick": "cellClick"; "cellContext": "cellContext"; "cellDoubleClick": "cellDoubleClick"; }, ["cellTypedSlotRefs", "cellDataSlotRefs", "declarativeColumnRefs", "headerSlotRefs", "emptySlotRefs", "loadingSlotRefs", "sortIcSlotRefs", "expanderIcSlotRefs", "stickyRowSlotRefs", "rowSlotRefs"], never, true, never>;
1477
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DataGrid<any>, "re-data-grid", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "pinnedRows": { "alias": "pinnedRows"; "required": false; "isSignal": true; }; "isRowSticky": { "alias": "isRowSticky"; "required": false; "isSignal": true; }; "getRowTemplate": { "alias": "getRowTemplate"; "required": false; "isSignal": true; }; "hasIndexColumn": { "alias": "hasIndexColumn"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "virtualBuffer": { "alias": "virtualBuffer"; "required": false; "isSignal": true; }; "lockVerticalScroll": { "alias": "lockVerticalScroll"; "required": false; "isSignal": true; }; "headerGroups": { "alias": "headerGroups"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingMode": { "alias": "loadingMode"; "required": false; "isSignal": true; }; "deferContent": { "alias": "deferContent"; "required": false; "isSignal": true; }; "deferHeader": { "alias": "deferHeader"; "required": false; "isSignal": true; }; "deferPinned": { "alias": "deferPinned"; "required": false; "isSignal": true; }; "deferCells": { "alias": "deferCells"; "required": false; "isSignal": true; }; "deferIcons": { "alias": "deferIcons"; "required": false; "isSignal": true; }; "deferTooltip": { "alias": "deferTooltip"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "pageStartFromZero": { "alias": "pageStartFromZero"; "required": false; "isSignal": true; }; }, { "pageChange": "pageChange"; "sortChange": "sortChange"; "selectChange": "selectChange"; "rowClick": "rowClick"; "rowContext": "rowContext"; "rowDoubleClick": "rowDoubleClick"; "cellClick": "cellClick"; "cellContext": "cellContext"; "cellDoubleClick": "cellDoubleClick"; }, ["cellTypedSlotRefs", "cellDataSlotRefs", "declarativeColumnRefs", "headerSlotRefs", "emptySlotRefs", "loadingSlotRefs", "sortIcSlotRefs", "expanderIcSlotRefs", "stickyRowSlotRefs", "rowSlotRefs"], never, true, never>;
1450
1478
  }
1451
1479
 
1452
1480
  export { DATA_GRID_CONFIG, DEFAULT_DATA_GRID_DEFAULTS, DataGrid, DataGridCellEmptyDirective, DataGridCellLoadingDirective, DataGridCellTemplateDirective, DataGridDeclarativeCellDirective, DataGridDeclarativeColumn, DataGridDeclarativeHeaderDirective, DataGridExpanderIconDirective, DataGridHeaderTemplateDirective, DataGridRowDirective, DataGridSortIconDirective, DataGridStickyRowDirective, DataGridTypeCellTemplateDirective, provideDataGridDefaults };
1453
- export type { DataGridConfigProvider, DataGridRowTemplateContext, DataGridStickyRowTemplateContext, DeclarativeColumnDef, GridCellClickEvent, GridCellContextEvent, GridCellDoubleClickEvent, GridCellRenderer, GridColumn, GridColumns, GridHeaderGroup, GridPageChangeEvent, GridPinnedRow, GridPinnedRows, GridRowClickEvent, GridRowContextEvent, GridRowDoubleClickEvent, GridSelectEvent, GridSelection, GridSortEvent, RenderTemplateData };
1481
+ export type { BaseGridColumn, DataGridConfigProvider, DataGridRowTemplateContext, DataGridStickyRowTemplateContext, DeclarativeColumnDef, GridCellAlign, GridCellClickEvent, GridCellContextEvent, GridCellDoubleClickEvent, GridCellRenderer, GridCellRendererType, GridColumn, GridColumnTooltip, GridColumns, GridHeaderGroup, GridPageChangeEvent, GridPaginationMode, GridPinnedPosition, GridPinnedRow, GridPinnedRows, GridRowClickEvent, GridRowContextEvent, GridRowDoubleClickEvent, GridSelectEvent, GridSelectMode, GridSelection, GridSortEvent, GridSortOrder, GridStickySide, GridTooltipContext, HeaderTemplateData, RenderTemplateData };
1454
1482
  //# sourceMappingURL=reforgium-data-grid.d.ts.map