sheetgl 2.0.0 → 2.0.2

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 (77) hide show
  1. package/README.md +8 -7
  2. package/bin/cli.mjs +35 -10
  3. package/dist/lib/sheetgl.cjs +4 -4
  4. package/dist/lib/sheetgl.cjs.map +1 -1
  5. package/dist/lib/sheetgl.js +8362 -3706
  6. package/dist/lib/sheetgl.js.map +1 -1
  7. package/dist/lib/types/columns/ColumnTypeRegistry.d.ts.map +1 -1
  8. package/dist/lib/types/columns/initPlugins.d.ts.map +1 -1
  9. package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts +1 -1
  10. package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts.map +1 -1
  11. package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts.map +1 -1
  12. package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts +1 -1
  13. package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts.map +1 -1
  14. package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts.map +1 -1
  15. package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts +2 -2
  16. package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts.map +1 -1
  17. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts.map +1 -1
  18. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts.map +1 -1
  19. package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts +1 -1
  20. package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts.map +1 -1
  21. package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts +3 -0
  22. package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts.map +1 -0
  23. package/dist/lib/types/columns/types/PdfColumn/index.d.ts +3 -0
  24. package/dist/lib/types/columns/types/PdfColumn/index.d.ts.map +1 -0
  25. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts +1 -1
  26. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts.map +1 -1
  27. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts +1 -1
  28. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts.map +1 -1
  29. package/dist/lib/types/core/FilterEngine.d.ts +17 -0
  30. package/dist/lib/types/core/FilterEngine.d.ts.map +1 -1
  31. package/dist/lib/types/core/GeometryEngine.d.ts +16 -2
  32. package/dist/lib/types/core/GeometryEngine.d.ts.map +1 -1
  33. package/dist/lib/types/core/GridApi.d.ts +66 -0
  34. package/dist/lib/types/core/GridApi.d.ts.map +1 -0
  35. package/dist/lib/types/core/GroupingEngine.d.ts.map +1 -1
  36. package/dist/lib/types/core/SortEngine.d.ts.map +1 -1
  37. package/dist/lib/types/data/LocalDataStore.d.ts +8 -1
  38. package/dist/lib/types/data/LocalDataStore.d.ts.map +1 -1
  39. package/dist/lib/types/data/RemoteDataStore.d.ts +53 -4
  40. package/dist/lib/types/data/RemoteDataStore.d.ts.map +1 -1
  41. package/dist/lib/types/hooks/useGridGeometry.d.ts +65 -0
  42. package/dist/lib/types/hooks/useGridGeometry.d.ts.map +1 -0
  43. package/dist/lib/types/hooks/useGridSelection.d.ts +43 -0
  44. package/dist/lib/types/hooks/useGridSelection.d.ts.map +1 -0
  45. package/dist/lib/types/index.d.ts +16 -2
  46. package/dist/lib/types/index.d.ts.map +1 -1
  47. package/dist/lib/types/overlays/BatchChangesModal.d.ts +19 -0
  48. package/dist/lib/types/overlays/BatchChangesModal.d.ts.map +1 -0
  49. package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts +14 -0
  50. package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts.map +1 -0
  51. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts +3 -1
  52. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts.map +1 -1
  53. package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts +18 -0
  54. package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts.map +1 -0
  55. package/dist/lib/types/renderer/CanvasRenderer.d.ts +5 -1
  56. package/dist/lib/types/renderer/CanvasRenderer.d.ts.map +1 -1
  57. package/dist/lib/types/renderer/GroupRowPainter.d.ts.map +1 -1
  58. package/dist/lib/types/theme/ColumnColorEngine.d.ts +52 -0
  59. package/dist/lib/types/theme/ColumnColorEngine.d.ts.map +1 -0
  60. package/dist/lib/types/types/filter.d.ts +2 -0
  61. package/dist/lib/types/types/filter.d.ts.map +1 -1
  62. package/dist/lib/types/types/grid.d.ts +133 -1
  63. package/dist/lib/types/types/grid.d.ts.map +1 -1
  64. package/dist/lib/types/types/store.d.ts +22 -5
  65. package/dist/lib/types/types/store.d.ts.map +1 -1
  66. package/dist/lib/types/ui/FormulaBar.d.ts.map +1 -1
  67. package/dist/lib/types/ui/SheetGL.d.ts +30 -5
  68. package/dist/lib/types/ui/SheetGL.d.ts.map +1 -1
  69. package/dist/lib/types/ui/SheetGLLogo.d.ts +1 -0
  70. package/dist/lib/types/ui/SheetGLLogo.d.ts.map +1 -1
  71. package/dist/lib/types/ui/SummaryFooter.d.ts +4 -0
  72. package/dist/lib/types/ui/SummaryFooter.d.ts.map +1 -1
  73. package/dist/lib/types/ui/ToolBar.d.ts +5 -1
  74. package/dist/lib/types/ui/ToolBar.d.ts.map +1 -1
  75. package/dist/lib/types/version.d.ts +2 -0
  76. package/dist/lib/types/version.d.ts.map +1 -0
  77. package/package.json +78 -78
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnTypeRegistry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/ColumnTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA6C;WAErD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;WAIzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WASpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAI1B,MAAM,IAAI,iBAAiB,EAAE;CAG5C"}
1
+ {"version":3,"file":"ColumnTypeRegistry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/ColumnTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA6C;WAErD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;WAQzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAUpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAK1B,MAAM,IAAI,iBAAiB,EAAE;CAG5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"initPlugins.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/initPlugins.ts"],"names":[],"mappings":"AAyBA,wBAAgB,wBAAwB,IAAI,IAAI,CA0B/C"}
1
+ {"version":3,"file":"initPlugins.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/initPlugins.ts"],"names":[],"mappings":"AA0BA,wBAAgB,wBAAwB,IAAI,IAAI,CA2B/C"}
@@ -1,3 +1,3 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function paintCurrency({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<number>): void;
2
+ export declare function paintCurrency({ ctx, value, column, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
3
3
  //# sourceMappingURL=CurrencyPainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurrencyPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/CurrencyColumn/CurrencyPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAgB3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAoBhH"}
1
+ {"version":3,"file":"CurrencyPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/CurrencyColumn/CurrencyPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwB3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA2BxH"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DateEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA4D1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAqUxD,CAAC"}
1
+ {"version":3,"file":"DateEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DateEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA8D1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA+XxD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function paintDate({ ctx, value, theme, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
2
+ export declare function paintDate({ ctx, value, theme, locale, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
3
3
  //# sourceMappingURL=DatePainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DatePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CA2DxC"}
1
+ {"version":3,"file":"DatePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DatePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,KAAK,EACL,KAAK,EACL,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAyCxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAyD1D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAyZ5D,CAAC"}
1
+ {"version":3,"file":"DateTimeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA2D1D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA6d5D,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function formatDateTimeDisplay(value: string | Date): {
2
+ export declare function formatDateTimeDisplay(value: string | Date, localeCode?: string): {
3
3
  datePart: string;
4
4
  timePart: string;
5
5
  };
6
- export declare function paintDateTime({ ctx, value, theme, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
6
+ export declare function paintDateTime({ ctx, value, theme, locale, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
7
7
  //# sourceMappingURL=DateTimePainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA0BlG;AAED,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CA6DxC"}
1
+ {"version":3,"file":"DateTimePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,UAAU,GAAE,MAAgB,GAC3B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYxC;AAED,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,KAAK,EACL,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CA6DxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CA2R1E,CAAC"}
1
+ {"version":3,"file":"MultiSelectEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAkS1E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA2B3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,CAYxD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAuF5C"}
1
+ {"version":3,"file":"MultiSelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA2B3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,CAoDxD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAuF5C"}
@@ -1,3 +1,3 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function paintNumber({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<number>): void;
2
+ export declare function paintNumber({ ctx, value, column, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
3
3
  //# sourceMappingURL=NumberPainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NumberPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/NumberColumn/NumberPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAkB3D,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA6B9G"}
1
+ {"version":3,"file":"NumberPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/NumberColumn/NumberPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA0B3D,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA8BtH"}
@@ -0,0 +1,3 @@
1
+ import { CellPaintContext } from '../../IColumnTypePlugin';
2
+ export declare function paintPdf({ ctx, value, theme, x, y, width, height, isHovered, column, }: CellPaintContext<string>): void;
3
+ //# sourceMappingURL=PdfPainter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/PdfColumn/PdfPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,GACP,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA2FjC"}
@@ -0,0 +1,3 @@
1
+ import { IColumnTypePlugin } from '../../IColumnTypePlugin';
2
+ export declare const PdfColumnPlugin: IColumnTypePlugin<string>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/PdfColumn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAY5D,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAiErD,CAAC"}
@@ -1,3 +1,3 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function paintProgress({ ctx, value, theme, x, y, width, height }: CellPaintContext<number>): void;
2
+ export declare function paintProgress({ ctx, value, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
3
3
  //# sourceMappingURL=ProgressPainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/ProgressColumn/ProgressPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAiCxG"}
1
+ {"version":3,"file":"ProgressPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/ProgressColumn/ProgressPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAkChH"}
@@ -1,3 +1,3 @@
1
1
  import { CellPaintContext } from '../../IColumnTypePlugin';
2
- export declare function paintSelect({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<string>): void;
2
+ export declare function paintSelect({ ctx, value, column, theme, x, y, width, height, isSelected, isHovered, }: CellPaintContext<string>): void;
3
3
  //# sourceMappingURL=SelectPainter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/SelectColumn/SelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAyD3D,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAuD9G"}
1
+ {"version":3,"file":"SelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/SelectColumn/SelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwE3D,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAgFjC"}
@@ -1,11 +1,28 @@
1
1
  import { FilterDescriptor, FilterOperation } from '../types/filter';
2
2
  export declare const BLANK_FILTER_TOKEN = "__SHEETGL_BLANK__";
3
+ export interface ParsedDateInfo {
4
+ year: number;
5
+ month: number;
6
+ day: number;
7
+ hour: number;
8
+ minute: number;
9
+ second: number;
10
+ hasTime: boolean;
11
+ isoDate: string;
12
+ startOfDayMs: number;
13
+ endOfDayMs: number;
14
+ exactMs: number;
15
+ }
3
16
  export declare class FilterEngine {
4
17
  private static inSetCache;
18
+ private static dateFormatterCache;
19
+ static formatLocalizedDate(val: any, localeCode?: string, includeTime?: boolean): string;
5
20
  private static getCompiledSet;
21
+ private static matchesCompiledDateSet;
6
22
  static evaluateRow(row: Record<string, any>, filter: FilterDescriptor | null): boolean;
7
23
  private static isSingleFilter;
8
24
  private static evaluateSingleFilter;
25
+ static parseDateParts(val: any): ParsedDateInfo | null;
9
26
  static parseNumeric(val: any): number;
10
27
  private static stringifyValue;
11
28
  private static matchesFormattedNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/FilterEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAQtD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0C;IAEnE,OAAO,CAAC,MAAM,CAAC,cAAc;WAyBf,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO;IAyC7F,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAKrB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAyC5C,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAgBvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO;WA8HhE,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;WAcrD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;CAKnF"}
1
+ {"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/FilterEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0C;IACnE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0C;WAE7D,mBAAmB,CAC/B,GAAG,EAAE,GAAG,EACR,UAAU,GAAE,MAAgB,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM;IAqCT,OAAO,CAAC,MAAM,CAAC,cAAc;IA4C7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAuBvB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO;IAyC7F,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAKrB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI;WAgF/C,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IA0D5C,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAgBvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO;WA8MhE,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;WAuBrD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;CAKnF"}
@@ -1,4 +1,4 @@
1
- import { ColumnDef } from '../types/grid';
1
+ import { ColumnDef, ColumnGroupDef } from '../types/grid';
2
2
  import { SelectionModel } from './SelectionModel';
3
3
  export interface HitTestResult {
4
4
  row: number;
@@ -19,18 +19,32 @@ export interface HeaderHitTestResult {
19
19
  headerX: number;
20
20
  headerWidth: number;
21
21
  isFilterIconHit: boolean;
22
+ isGroupHeaderHit?: boolean;
23
+ groupDef?: ColumnGroupDef;
24
+ groupColIndices?: number[];
22
25
  }
23
26
  export declare class GeometryEngine {
24
27
  rowHeight: number;
28
+ baseHeaderHeight: number;
29
+ groupHeaderHeight: number;
25
30
  headerHeight: number;
31
+ hasColumnGroups: boolean;
32
+ columnGroups: ColumnGroupDef[];
33
+ private colToGroupMap;
26
34
  rowNumberWidth: number;
35
+ viewportWidth: number;
27
36
  columns: ColumnDef[];
28
37
  frozenColumns: ColumnDef[];
29
38
  scrollableColumns: ColumnDef[];
30
39
  totalFrozenWidth: number;
31
40
  totalScrollableWidth: number;
32
41
  scrollableColOffsets: Float32Array;
33
- constructor(columns?: ColumnDef[], rowHeight?: number, headerHeight?: number);
42
+ constructor(columns?: ColumnDef[], rowHeight?: number, headerHeight?: number, columnGroups?: ColumnGroupDef[], groupHeaderHeight?: number);
43
+ setColumnGroups(columnGroups?: ColumnGroupDef[], groupHeaderHeight?: number): void;
44
+ setBaseHeaderHeight(height: number): void;
45
+ getColumnGroup(col: ColumnDef): ColumnGroupDef | undefined;
46
+ private rebuildColumnGroupMap;
47
+ setViewportWidth(width: number): boolean;
34
48
  setColumns(columns: ColumnDef[]): void;
35
49
  recalculateGeometry(): void;
36
50
  findScrollableColIndexAtX(scrollX: number): number;
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CACnE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,qBAAa,cAAc;IAClB,SAAS,EAAE,MAAM,CAAM;IACvB,YAAY,EAAE,MAAM,CAAM;IAC1B,cAAc,EAAE,MAAM,CAAM;IAE5B,OAAO,EAAE,SAAS,EAAE,CAAM;IAC1B,aAAa,EAAE,SAAS,EAAE,CAAM;IAChC,iBAAiB,EAAE,SAAS,EAAE,CAAM;IACpC,gBAAgB,EAAE,MAAM,CAAK;IAC7B,oBAAoB,EAAE,MAAM,CAAK;IACjC,oBAAoB,EAAE,YAAY,CAAuB;gBAEpD,OAAO,GAAE,SAAS,EAAO,EAAE,SAAS,GAAE,MAAW,EAAE,YAAY,GAAE,MAAW;IAMjF,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAStC,mBAAmB,IAAI,IAAI;IAiB3B,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAkBlD,mBAAmB,CACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;IA0B3C,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAkD/F,gBAAgB,CACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,MAAM,GAAG,IAAI;IAUT,iBAAiB,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,cAAc,GACxB,QAAQ,GAAG,iBAAiB,GAAG,IAAI;IA+B/B,OAAO,CACZ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI;IAqDhB,mBAAmB,CACxB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,GACjB;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;CAuBlD"}
1
+ {"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GeometryEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { CellCoords } from '../types/grid';
2
+ export interface NormalizedCellRange {
3
+ minRow: number;
4
+ maxRow: number;
5
+ minCol: number;
6
+ maxCol: number;
7
+ }
8
+ export interface GridApi {
9
+ /**
10
+ * Request an asynchronous 60 FPS redraw on the next animation frame.
11
+ */
12
+ requestRender(): void;
13
+ /**
14
+ * Set the active cell and reset the selection range to this single cell.
15
+ */
16
+ selectCell(row: number, col: number): void;
17
+ /**
18
+ * Select a rectangular range of cells from (startRow, startCol) to (endRow, endCol).
19
+ */
20
+ selectRange(startRow: number, startCol: number, endRow: number, endCol: number): void;
21
+ /**
22
+ * Clear the active selection (defaults back to origin 0,0).
23
+ */
24
+ clearSelection(): void;
25
+ /**
26
+ * Select all cells across all rows and columns.
27
+ */
28
+ selectAll(): void;
29
+ /**
30
+ * Get the current active cursor cell coordinates.
31
+ */
32
+ getActiveCell(): CellCoords;
33
+ /**
34
+ * Get the current bounding box of the active selection (min/max bounds).
35
+ */
36
+ getSelectedRange(): NormalizedCellRange;
37
+ /**
38
+ * Smoothly scrolls the viewport to ensure the specified cell is visible.
39
+ */
40
+ ensureCellVisible(row: number, col: number): void;
41
+ /**
42
+ * Programmatically scrolls the grid surface to the specified top/left offsets.
43
+ */
44
+ scrollTo(options: {
45
+ top?: number;
46
+ left?: number;
47
+ behavior?: ScrollBehavior;
48
+ }): void;
49
+ /**
50
+ * Programmatically change the pixel width of a column.
51
+ */
52
+ setColumnWidth(columnId: string, width: number): void;
53
+ /**
54
+ * Get the current computed pixel width of a column.
55
+ */
56
+ getColumnWidth(columnId: string): number | undefined;
57
+ /**
58
+ * Get total scrollable virtual width in pixels.
59
+ */
60
+ getTotalWidth(): number;
61
+ /**
62
+ * Get total scrollable virtual height in pixels.
63
+ */
64
+ getTotalHeight(): number;
65
+ }
66
+ //# sourceMappingURL=GridApi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridApi.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GridApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtF;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,IAAI,IAAI,CAAC;IAElB;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC;IAE5B;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAAC;IAMxC;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAEpF;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAErD;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GroupingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE1E,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAclB,gBAAgB,CAC5B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,kBAAkB,GAAE,MAAU,GAC7B,GAAG,CAAC,MAAM,CAAC;WA4BA,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,UAAU,EAAE;IAcf,OAAO,CAAC,MAAM,CAAC,cAAc;CAkG9B"}
1
+ {"version":3,"file":"GroupingEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GroupingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG1E,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAclB,gBAAgB,CAC5B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,kBAAkB,GAAE,MAAU,GAC7B,GAAG,CAAC,MAAM,CAAC;WA4BA,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,UAAU,EAAE;IAcf,OAAO,CAAC,MAAM,CAAC,cAAc;CAmG9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"SortEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/SortEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAGpB;WAEW,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM;WAmBzE,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;CAoCpD"}
1
+ {"version":3,"file":"SortEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/SortEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAGpB;WAEW,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM;WAmBzE,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;CAyCpD"}
@@ -29,6 +29,8 @@ export declare class LocalDataStore implements IDataStore {
29
29
  isRemote(): boolean;
30
30
  setData(data: any[]): void;
31
31
  getRowCount(): number;
32
+ getFilteredRowCount(): number;
33
+ getTotalDatasetRowCount(): number;
32
34
  getViewRow(rowIndex: number): VirtualRow | undefined;
33
35
  getRawData(): any[];
34
36
  getRawRowByKey(rowKey: any): Record<string, any> | undefined;
@@ -54,6 +56,7 @@ export declare class LocalDataStore implements IDataStore {
54
56
  insertRow(rowData: Record<string, any>, targetViewRowIndex?: number): Promise<Record<string, any>>;
55
57
  duplicateRow(rowKey: any, targetViewRowIndex?: number): Promise<Record<string, any> | null>;
56
58
  deleteRow(rowKey: any): Promise<void>;
59
+ deleteRowsBatch(rowKeys: any[], onProgress?: (processed: number, total: number) => void): Promise<number>;
57
60
  restoreRow(rowData: Record<string, any>, rawIndex?: number): Promise<void>;
58
61
  setBatchMode(enabled: boolean): void;
59
62
  isBatchMode(): boolean;
@@ -61,11 +64,15 @@ export declare class LocalDataStore implements IDataStore {
61
64
  isColumnDirty(columnId: string): boolean;
62
65
  isRowInserted(rowKey: any): boolean;
63
66
  hasPendingChanges(): boolean;
67
+ getPendingChangesCount(): number;
64
68
  getPendingChanges(): BatchChanges;
69
+ revertPendingDelete(rowKey: any): void;
70
+ revertPendingUpdate(rowKey: any, columnId?: string): void;
71
+ revertPendingInsert(rowKey: any): void;
65
72
  saveBatchChanges(): Promise<BatchChanges>;
66
73
  discardBatchChanges(): void;
67
74
  commitBatch(changes: BatchChanges): Promise<void>;
68
- getDistinctValues(columnId: string, search?: string): Promise<DistinctItem[]>;
75
+ getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
69
76
  getSummaryTypes(): Record<string, SummaryType>;
70
77
  setSummaryType(columnId: string, summaryType: SummaryType): void;
71
78
  getSummaries(): Record<string, number> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/LocalDataStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/LocalDataStore.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,56 @@
1
- import { IDataStore, BatchChanges, RemoteOperationsConfig } from '../types/store';
1
+ import { IDataStore, BatchChanges, RemoteOperationsConfig, DataGridQuery, LoadResult } from '../types/store';
2
2
  import { FilterDescriptor, SortDescriptor, DistinctItem } from '../types/filter';
3
3
  import { GroupDescriptor, VirtualRow } from '../types/group';
4
+ export interface RemoteDateTreeDayPayload {
5
+ day: number;
6
+ isoDate?: string;
7
+ count: number;
8
+ values?: any[];
9
+ }
10
+ export interface RemoteDateTreeMonthPayload {
11
+ month: number;
12
+ count: number;
13
+ days?: RemoteDateTreeDayPayload[];
14
+ }
15
+ export interface RemoteDateTreeYearPayload {
16
+ year: number;
17
+ count: number;
18
+ months?: RemoteDateTreeMonthPayload[];
19
+ }
4
20
  export interface RemoteDataStoreOptions {
5
- url: string;
21
+ url?: string;
6
22
  keyField?: string;
7
23
  remoteOperations?: RemoteOperationsConfig;
8
24
  headers?: Record<string, string>;
9
25
  blockSize?: number;
26
+ /** Alias for blockSize as documented in REMOTE_OPERATIONS_GUIDE.md */
27
+ chunkSize?: number;
28
+ method?: 'GET' | 'POST';
29
+ /** Custom loader function for advanced environments (e.g. Qmi custom API client) */
30
+ load?: (query: DataGridQuery) => Promise<LoadResult>;
31
+ /** Alias for load */
32
+ customLoad?: (query: DataGridQuery) => Promise<LoadResult>;
33
+ /** Custom distinct value loader for remote column filters */
34
+ loadDistinct?: (columnId: string, search?: string, baseFilter?: FilterDescriptor | null) => Promise<DistinctItem[]>;
35
+ /** Custom single cell updater */
36
+ update?: (key: any, values: Record<string, any>) => Promise<void>;
37
+ /** Custom batch changes committer */
38
+ commit?: (changes: BatchChanges) => Promise<void>;
10
39
  }
11
40
  export declare class RemoteDataStore implements IDataStore {
12
41
  private url;
13
42
  private keyField;
14
43
  private headers;
44
+ private method;
45
+ private remoteOperations;
15
46
  private cache;
47
+ private customLoad?;
48
+ private customLoadDistinct?;
49
+ private customUpdate?;
50
+ private customCommit?;
16
51
  private totalCount;
52
+ private unfilteredTotalCount;
53
+ private hasInitialFetchTriggered;
17
54
  private summaries?;
18
55
  private currentFilter;
19
56
  private currentSearch;
@@ -21,12 +58,18 @@ export declare class RemoteDataStore implements IDataStore {
21
58
  private currentGroups;
22
59
  private currentAbortController;
23
60
  private pendingBlockRequests;
61
+ private distinctCache;
24
62
  private listeners;
25
63
  constructor(options: RemoteDataStoreOptions);
26
64
  isRemote(): boolean;
27
65
  getRowCount(): number;
66
+ getTotalCount(): number;
67
+ setTotalCount(count: number): void;
68
+ getFilteredRowCount(): number;
69
+ getTotalDatasetRowCount(): number;
28
70
  getViewRow(rowIndex: number): VirtualRow | undefined;
29
71
  ensureRange(startRow: number, endRow: number): Promise<void>;
72
+ private buildRequestUrlWithParams;
30
73
  private fetchBlock;
31
74
  setFilter(filter: FilterDescriptor | null): Promise<void>;
32
75
  setSearch(keyword: string): Promise<void>;
@@ -35,11 +78,17 @@ export declare class RemoteDataStore implements IDataStore {
35
78
  toggleGroup(_groupKey: string): Promise<void>;
36
79
  setCell(rowKey: any, columnId: string, value: any): Promise<void>;
37
80
  commitBatch(changes: BatchChanges): Promise<void>;
38
- getDistinctValues(columnId: string, search?: string): Promise<DistinctItem[]>;
81
+ /**
82
+ * Flattens a server-side semantic Year > Month > Day tree payload into DistinctItem[]
83
+ * so HeaderFilterPopover builds the exact hierarchical date tree with server row counts.
84
+ */
85
+ private static normalizeRemoteDateTree;
86
+ getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
39
87
  getSummaries(): Record<string, number> | undefined;
40
88
  on(event: string, callback: (...args: any[]) => void): void;
41
89
  off(event: string, callback: (...args: any[]) => void): void;
42
90
  private emit;
43
- private resetAndReload;
91
+ private resetAndReloadAsync;
92
+ resetAndReload(): void;
44
93
  }
45
94
  //# sourceMappingURL=RemoteDataStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/RemoteDataStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG7D,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,KAAK,CAAkB;IAE/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,SAAS,CAAC,CAAyB;IAC3C,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,aAAa,CAAyB;IAE9C,OAAO,CAAC,sBAAsB,CAAgC;IAC9D,OAAO,CAAC,oBAAoB,CAAqB;IACjD,OAAO,CAAC,SAAS,CAAoD;gBAEzD,OAAO,EAAE,sBAAsB;IAOpC,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,MAAM;IAIrB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAU9C,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAiB3D,UAAU;IA2CX,SAAS,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzD,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMzC,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMtD,WAAW,CAAC,gBAAgB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM/D,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAajE,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAajD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAenF,YAAY,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS;IAIlD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAO3D,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,IAAI;IAInE,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,cAAc;CASvB"}
1
+ {"version":3,"file":"RemoteDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/RemoteDataStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { ColumnDef, ColumnGroupDef, RowSelectionMode } from '../types/grid';
2
+ import { GeometryEngine } from '../core/GeometryEngine';
3
+ export interface UseGridGeometryOptions {
4
+ userColumns: ColumnDef[];
5
+ rowHeight?: number;
6
+ headerHeight?: number;
7
+ columnGroups?: ColumnGroupDef[];
8
+ groupHeaderHeight?: number;
9
+ rowSelectionMode?: RowSelectionMode;
10
+ rowCount?: number;
11
+ onRequestRender?: () => void;
12
+ onActiveOverlayClear?: () => void;
13
+ onColumnResize?: (colId: string, newWidth: number) => void;
14
+ }
15
+ export interface ColumnResizeState {
16
+ colIndex: number;
17
+ colId: string;
18
+ startX: number;
19
+ initialWidth: number;
20
+ }
21
+ export interface UseGridGeometryReturn {
22
+ containerRef: React.RefObject<HTMLDivElement | null>;
23
+ gridSurfaceRef: React.RefObject<HTMLDivElement | null>;
24
+ scrollContainerRef: React.RefObject<HTMLDivElement | null>;
25
+ geometryRef: React.MutableRefObject<GeometryEngine>;
26
+ columns: ColumnDef[];
27
+ effectiveColumns: ColumnDef[];
28
+ setColumns: React.Dispatch<React.SetStateAction<ColumnDef[]>>;
29
+ updateColumnDef: (colId: string, patch: Partial<ColumnDef>) => void;
30
+ setColumnWidth: (colId: string, width: number) => void;
31
+ getColumnWidth: (colId: string) => number | undefined;
32
+ resizingCol: ColumnResizeState | null;
33
+ setResizingCol: React.Dispatch<React.SetStateAction<ColumnResizeState | null>>;
34
+ scrollPosRef: React.MutableRefObject<{
35
+ left: number;
36
+ top: number;
37
+ }>;
38
+ scrollIndicator: {
39
+ visible: boolean;
40
+ row: number;
41
+ };
42
+ setScrollIndicator: React.Dispatch<React.SetStateAction<{
43
+ visible: boolean;
44
+ row: number;
45
+ }>>;
46
+ handleScroll: (e: React.UIEvent<HTMLDivElement>) => void;
47
+ ensureCellVisible: (row: number, col: number) => void;
48
+ scrollTo: (options: {
49
+ top?: number;
50
+ left?: number;
51
+ behavior?: ScrollBehavior;
52
+ }) => void;
53
+ scrollToTop: () => void;
54
+ scrollToBottom: () => void;
55
+ getViewportCoords: (e: React.MouseEvent) => {
56
+ x: number;
57
+ y: number;
58
+ onScrollbar: boolean;
59
+ };
60
+ checkEdgeAutoScroll: (x: number, y: number, rect: DOMRect) => void;
61
+ getTotalWidth: () => number;
62
+ getTotalHeight: (rowCount: number) => number;
63
+ }
64
+ export declare function useGridGeometry({ userColumns, rowHeight, headerHeight, columnGroups, groupHeaderHeight, rowSelectionMode, rowCount, onRequestRender, onActiveOverlayClear, onColumnResize, }: UseGridGeometryOptions): UseGridGeometryReturn;
65
+ //# sourceMappingURL=useGridGeometry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridGeometry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/hooks/useGridGeometry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import { SelectionModel } from '../core/SelectionModel';
2
+ import { CellCoords } from '../types/grid';
3
+ import { NormalizedCellRange } from '../core/GridApi';
4
+ export interface UseGridSelectionOptions {
5
+ onRequestRender?: () => void;
6
+ onEnsureCellVisible?: (row: number, col: number) => void;
7
+ onSelectionChanged?: (range: NormalizedCellRange, activeCell: CellCoords) => void;
8
+ }
9
+ export interface UseGridSelectionReturn {
10
+ /**
11
+ * Mutable reference to the underlying SelectionModel for direct canvas pass-through.
12
+ */
13
+ selectionRef: React.MutableRefObject<SelectionModel>;
14
+ /**
15
+ * Version counter incremented on every selection change to trigger React re-renders.
16
+ */
17
+ selectionVersion: number;
18
+ setSelectionVersion: React.Dispatch<React.SetStateAction<number>>;
19
+ selectedCellUI: CellCoords;
20
+ setSelectedCellUI: React.Dispatch<React.SetStateAction<CellCoords>>;
21
+ /**
22
+ * Whether the user is actively dragging across data cells.
23
+ */
24
+ isDraggingSelection: boolean;
25
+ setIsDraggingSelection: React.Dispatch<React.SetStateAction<boolean>>;
26
+ /**
27
+ * Whether the user is actively dragging down the row number gutter.
28
+ */
29
+ isDraggingRowNumbers: boolean;
30
+ setIsDraggingRowNumbers: React.Dispatch<React.SetStateAction<boolean>>;
31
+ selectCell: (row: number, col: number) => void;
32
+ selectRange: (startRow: number, startCol: number, endRow: number, endCol: number) => void;
33
+ setRangeEnd: (row: number, col: number) => void;
34
+ selectAll: (rowCount: number, colCount: number) => void;
35
+ selectFullRow: (rowIndex: number, colCount: number, isRangeSelect?: boolean) => void;
36
+ moveSelection: (dRow: number, dCol: number, isRangeSelect?: boolean, rowCount?: number, colCount?: number) => void;
37
+ clearSelection: () => void;
38
+ stopDragging: () => void;
39
+ getActiveCell: () => CellCoords;
40
+ getSelectedRange: () => NormalizedCellRange;
41
+ }
42
+ export declare function useGridSelection({ onRequestRender, onEnsureCellVisible, onSelectionChanged, }?: UseGridSelectionOptions): UseGridSelectionReturn;
43
+ //# sourceMappingURL=useGridSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGridSelection.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/hooks/useGridSelection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACrD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,UAAU,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAGvE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,aAAa,EAAE,MAAM,UAAU,CAAC;IAChC,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;CAC7C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,GAAE,uBAA4B,GAAG,sBAAsB,CAiJvD"}