sheetgl 0.0.0-stage → 2.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 (184) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +166 -2
  3. package/bin/cli.mjs +345 -0
  4. package/dist/lib/sheetgl.cjs +5 -0
  5. package/dist/lib/sheetgl.cjs.map +1 -0
  6. package/dist/lib/sheetgl.js +10316 -0
  7. package/dist/lib/sheetgl.js.map +1 -0
  8. package/dist/lib/types/columns/ColumnTypeRegistry.d.ts +9 -0
  9. package/dist/lib/types/columns/ColumnTypeRegistry.d.ts.map +1 -0
  10. package/dist/lib/types/columns/IColumnTypePlugin.d.ts +68 -0
  11. package/dist/lib/types/columns/IColumnTypePlugin.d.ts.map +1 -0
  12. package/dist/lib/types/columns/initPlugins.d.ts +2 -0
  13. package/dist/lib/types/columns/initPlugins.d.ts.map +1 -0
  14. package/dist/lib/types/columns/types/ActionColumn/ActionPainter.d.ts +3 -0
  15. package/dist/lib/types/columns/types/ActionColumn/ActionPainter.d.ts.map +1 -0
  16. package/dist/lib/types/columns/types/ActionColumn/index.d.ts +3 -0
  17. package/dist/lib/types/columns/types/ActionColumn/index.d.ts.map +1 -0
  18. package/dist/lib/types/columns/types/BooleanColumn/BooleanPainter.d.ts +3 -0
  19. package/dist/lib/types/columns/types/BooleanColumn/BooleanPainter.d.ts.map +1 -0
  20. package/dist/lib/types/columns/types/BooleanColumn/index.d.ts +3 -0
  21. package/dist/lib/types/columns/types/BooleanColumn/index.d.ts.map +1 -0
  22. package/dist/lib/types/columns/types/ColorColumn/ColorEditor.d.ts +4 -0
  23. package/dist/lib/types/columns/types/ColorColumn/ColorEditor.d.ts.map +1 -0
  24. package/dist/lib/types/columns/types/ColorColumn/index.d.ts +4 -0
  25. package/dist/lib/types/columns/types/ColorColumn/index.d.ts.map +1 -0
  26. package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts +3 -0
  27. package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts.map +1 -0
  28. package/dist/lib/types/columns/types/CurrencyColumn/index.d.ts +3 -0
  29. package/dist/lib/types/columns/types/CurrencyColumn/index.d.ts.map +1 -0
  30. package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts +4 -0
  31. package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts.map +1 -0
  32. package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts +3 -0
  33. package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts.map +1 -0
  34. package/dist/lib/types/columns/types/DateColumn/index.d.ts +3 -0
  35. package/dist/lib/types/columns/types/DateColumn/index.d.ts.map +1 -0
  36. package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts +4 -0
  37. package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts.map +1 -0
  38. package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts +7 -0
  39. package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts.map +1 -0
  40. package/dist/lib/types/columns/types/DateTimeColumn/index.d.ts +3 -0
  41. package/dist/lib/types/columns/types/DateTimeColumn/index.d.ts.map +1 -0
  42. package/dist/lib/types/columns/types/DropdownColumn/DropdownPainter.d.ts +3 -0
  43. package/dist/lib/types/columns/types/DropdownColumn/DropdownPainter.d.ts.map +1 -0
  44. package/dist/lib/types/columns/types/DropdownColumn/index.d.ts +3 -0
  45. package/dist/lib/types/columns/types/DropdownColumn/index.d.ts.map +1 -0
  46. package/dist/lib/types/columns/types/EmailColumn/index.d.ts +4 -0
  47. package/dist/lib/types/columns/types/EmailColumn/index.d.ts.map +1 -0
  48. package/dist/lib/types/columns/types/LookupColumn/LookupEditor.d.ts +4 -0
  49. package/dist/lib/types/columns/types/LookupColumn/LookupEditor.d.ts.map +1 -0
  50. package/dist/lib/types/columns/types/LookupColumn/LookupPainter.d.ts +3 -0
  51. package/dist/lib/types/columns/types/LookupColumn/LookupPainter.d.ts.map +1 -0
  52. package/dist/lib/types/columns/types/LookupColumn/index.d.ts +3 -0
  53. package/dist/lib/types/columns/types/LookupColumn/index.d.ts.map +1 -0
  54. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts +4 -0
  55. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts.map +1 -0
  56. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts +4 -0
  57. package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts.map +1 -0
  58. package/dist/lib/types/columns/types/MultiSelectColumn/index.d.ts +3 -0
  59. package/dist/lib/types/columns/types/MultiSelectColumn/index.d.ts.map +1 -0
  60. package/dist/lib/types/columns/types/NumberColumn/NumberEditor.d.ts +4 -0
  61. package/dist/lib/types/columns/types/NumberColumn/NumberEditor.d.ts.map +1 -0
  62. package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts +3 -0
  63. package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts.map +1 -0
  64. package/dist/lib/types/columns/types/NumberColumn/index.d.ts +3 -0
  65. package/dist/lib/types/columns/types/NumberColumn/index.d.ts.map +1 -0
  66. package/dist/lib/types/columns/types/ObjectColumn/ObjectEditor.d.ts +4 -0
  67. package/dist/lib/types/columns/types/ObjectColumn/ObjectEditor.d.ts.map +1 -0
  68. package/dist/lib/types/columns/types/ObjectColumn/ObjectPainter.d.ts +5 -0
  69. package/dist/lib/types/columns/types/ObjectColumn/ObjectPainter.d.ts.map +1 -0
  70. package/dist/lib/types/columns/types/ObjectColumn/index.d.ts +3 -0
  71. package/dist/lib/types/columns/types/ObjectColumn/index.d.ts.map +1 -0
  72. package/dist/lib/types/columns/types/PercentColumn/index.d.ts +5 -0
  73. package/dist/lib/types/columns/types/PercentColumn/index.d.ts.map +1 -0
  74. package/dist/lib/types/columns/types/PhoneColumn/index.d.ts +4 -0
  75. package/dist/lib/types/columns/types/PhoneColumn/index.d.ts.map +1 -0
  76. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts +3 -0
  77. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts.map +1 -0
  78. package/dist/lib/types/columns/types/ProgressColumn/index.d.ts +3 -0
  79. package/dist/lib/types/columns/types/ProgressColumn/index.d.ts.map +1 -0
  80. package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts +3 -0
  81. package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts.map +1 -0
  82. package/dist/lib/types/columns/types/RatingColumn/index.d.ts +3 -0
  83. package/dist/lib/types/columns/types/RatingColumn/index.d.ts.map +1 -0
  84. package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts +4 -0
  85. package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts.map +1 -0
  86. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts +3 -0
  87. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts.map +1 -0
  88. package/dist/lib/types/columns/types/SelectColumn/index.d.ts +3 -0
  89. package/dist/lib/types/columns/types/SelectColumn/index.d.ts.map +1 -0
  90. package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts +3 -0
  91. package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts.map +1 -0
  92. package/dist/lib/types/columns/types/SparklineColumn/index.d.ts +3 -0
  93. package/dist/lib/types/columns/types/SparklineColumn/index.d.ts.map +1 -0
  94. package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts +4 -0
  95. package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts.map +1 -0
  96. package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts +3 -0
  97. package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts.map +1 -0
  98. package/dist/lib/types/columns/types/TextColumn/index.d.ts +3 -0
  99. package/dist/lib/types/columns/types/TextColumn/index.d.ts.map +1 -0
  100. package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts +4 -0
  101. package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts.map +1 -0
  102. package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts +3 -0
  103. package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts.map +1 -0
  104. package/dist/lib/types/columns/types/TimeColumn/index.d.ts +3 -0
  105. package/dist/lib/types/columns/types/TimeColumn/index.d.ts.map +1 -0
  106. package/dist/lib/types/columns/types/UrlColumn/index.d.ts +4 -0
  107. package/dist/lib/types/columns/types/UrlColumn/index.d.ts.map +1 -0
  108. package/dist/lib/types/core/FilterEngine.d.ts +16 -0
  109. package/dist/lib/types/core/FilterEngine.d.ts.map +1 -0
  110. package/dist/lib/types/core/GeometryEngine.d.ts +51 -0
  111. package/dist/lib/types/core/GeometryEngine.d.ts.map +1 -0
  112. package/dist/lib/types/core/GroupingEngine.d.ts +8 -0
  113. package/dist/lib/types/core/GroupingEngine.d.ts.map +1 -0
  114. package/dist/lib/types/core/HistoryManager.d.ts +18 -0
  115. package/dist/lib/types/core/HistoryManager.d.ts.map +1 -0
  116. package/dist/lib/types/core/SelectionModel.d.ts +17 -0
  117. package/dist/lib/types/core/SelectionModel.d.ts.map +1 -0
  118. package/dist/lib/types/core/SortEngine.d.ts +7 -0
  119. package/dist/lib/types/core/SortEngine.d.ts.map +1 -0
  120. package/dist/lib/types/core/ValidationEngine.d.ts +33 -0
  121. package/dist/lib/types/core/ValidationEngine.d.ts.map +1 -0
  122. package/dist/lib/types/data/BlockCache.d.ts +12 -0
  123. package/dist/lib/types/data/BlockCache.d.ts.map +1 -0
  124. package/dist/lib/types/data/LocalDataStore.d.ts +78 -0
  125. package/dist/lib/types/data/LocalDataStore.d.ts.map +1 -0
  126. package/dist/lib/types/data/RemoteDataStore.d.ts +45 -0
  127. package/dist/lib/types/data/RemoteDataStore.d.ts.map +1 -0
  128. package/dist/lib/types/i18n/IGridLocale.d.ts +25 -0
  129. package/dist/lib/types/i18n/IGridLocale.d.ts.map +1 -0
  130. package/dist/lib/types/i18n/LocaleEngine.d.ts +10 -0
  131. package/dist/lib/types/i18n/LocaleEngine.d.ts.map +1 -0
  132. package/dist/lib/types/i18n/locales/enUS.d.ts +3 -0
  133. package/dist/lib/types/i18n/locales/enUS.d.ts.map +1 -0
  134. package/dist/lib/types/i18n/locales/trTR.d.ts +3 -0
  135. package/dist/lib/types/i18n/locales/trTR.d.ts.map +1 -0
  136. package/dist/lib/types/index.d.ts +30 -0
  137. package/dist/lib/types/index.d.ts.map +1 -0
  138. package/dist/lib/types/overlays/ContextMenuOverlay.d.ts +44 -0
  139. package/dist/lib/types/overlays/ContextMenuOverlay.d.ts.map +1 -0
  140. package/dist/lib/types/overlays/DynamicCellEditor.d.ts +15 -0
  141. package/dist/lib/types/overlays/DynamicCellEditor.d.ts.map +1 -0
  142. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts +31 -0
  143. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts.map +1 -0
  144. package/dist/lib/types/overlays/SparklineModalOverlay.d.ts +18 -0
  145. package/dist/lib/types/overlays/SparklineModalOverlay.d.ts.map +1 -0
  146. package/dist/lib/types/renderer/CanvasRenderer.d.ts +41 -0
  147. package/dist/lib/types/renderer/CanvasRenderer.d.ts.map +1 -0
  148. package/dist/lib/types/renderer/GroupRowPainter.d.ts +10 -0
  149. package/dist/lib/types/renderer/GroupRowPainter.d.ts.map +1 -0
  150. package/dist/lib/types/renderer/SkeletonPainter.d.ts +5 -0
  151. package/dist/lib/types/renderer/SkeletonPainter.d.ts.map +1 -0
  152. package/dist/lib/types/theme/IGridTheme.d.ts +47 -0
  153. package/dist/lib/types/theme/IGridTheme.d.ts.map +1 -0
  154. package/dist/lib/types/theme/ThemeEngine.d.ts +10 -0
  155. package/dist/lib/types/theme/ThemeEngine.d.ts.map +1 -0
  156. package/dist/lib/types/theme/presets/appleDark.d.ts +3 -0
  157. package/dist/lib/types/theme/presets/appleDark.d.ts.map +1 -0
  158. package/dist/lib/types/theme/presets/appleLight.d.ts +3 -0
  159. package/dist/lib/types/theme/presets/appleLight.d.ts.map +1 -0
  160. package/dist/lib/types/theme/presets/googleDark.d.ts +3 -0
  161. package/dist/lib/types/theme/presets/googleDark.d.ts.map +1 -0
  162. package/dist/lib/types/theme/presets/googleLight.d.ts +3 -0
  163. package/dist/lib/types/theme/presets/googleLight.d.ts.map +1 -0
  164. package/dist/lib/types/types/filter.d.ts +26 -0
  165. package/dist/lib/types/types/filter.d.ts.map +1 -0
  166. package/dist/lib/types/types/grid.d.ts +332 -0
  167. package/dist/lib/types/types/grid.d.ts.map +1 -0
  168. package/dist/lib/types/types/group.d.ts +31 -0
  169. package/dist/lib/types/types/group.d.ts.map +1 -0
  170. package/dist/lib/types/types/store.d.ts +85 -0
  171. package/dist/lib/types/types/store.d.ts.map +1 -0
  172. package/dist/lib/types/ui/FormulaBar.d.ts +28 -0
  173. package/dist/lib/types/ui/FormulaBar.d.ts.map +1 -0
  174. package/dist/lib/types/ui/MaterialIcon.d.ts +28 -0
  175. package/dist/lib/types/ui/MaterialIcon.d.ts.map +1 -0
  176. package/dist/lib/types/ui/SheetGL.d.ts +48 -0
  177. package/dist/lib/types/ui/SheetGL.d.ts.map +1 -0
  178. package/dist/lib/types/ui/SheetGLLogo.d.ts +9 -0
  179. package/dist/lib/types/ui/SheetGLLogo.d.ts.map +1 -0
  180. package/dist/lib/types/ui/SummaryFooter.d.ts +27 -0
  181. package/dist/lib/types/ui/SummaryFooter.d.ts.map +1 -0
  182. package/dist/lib/types/ui/ToolBar.d.ts +44 -0
  183. package/dist/lib/types/ui/ToolBar.d.ts.map +1 -0
  184. package/package.json +76 -4
@@ -0,0 +1,16 @@
1
+ import { FilterDescriptor, FilterOperation } from '../types/filter';
2
+ export declare const BLANK_FILTER_TOKEN = "__SHEETGL_BLANK__";
3
+ export declare class FilterEngine {
4
+ private static inSetCache;
5
+ private static getCompiledSet;
6
+ static evaluateRow(row: Record<string, any>, filter: FilterDescriptor | null): boolean;
7
+ private static isSingleFilter;
8
+ private static evaluateSingleFilter;
9
+ static parseNumeric(val: any): number;
10
+ private static stringifyValue;
11
+ private static matchesFormattedNumber;
12
+ static match(rawVal: any, op: FilterOperation, targetVal: any): boolean;
13
+ static buildRowSearchIndex(row: Record<string, any>): string;
14
+ static matchSearch(row: Record<string, any>, cleanKeyword: string): boolean;
15
+ }
16
+ //# sourceMappingURL=FilterEngine.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,51 @@
1
+ import { ColumnDef } from '../types/grid';
2
+ import { SelectionModel } from './SelectionModel';
3
+ export interface HitTestResult {
4
+ row: number;
5
+ col: number;
6
+ localX: number;
7
+ localY: number;
8
+ isFrozen: boolean;
9
+ cellRect: {
10
+ x: number;
11
+ y: number;
12
+ width: number;
13
+ height: number;
14
+ };
15
+ }
16
+ export interface HeaderHitTestResult {
17
+ colIndex: number;
18
+ column: ColumnDef;
19
+ headerX: number;
20
+ headerWidth: number;
21
+ isFilterIconHit: boolean;
22
+ }
23
+ export declare class GeometryEngine {
24
+ rowHeight: number;
25
+ headerHeight: number;
26
+ rowNumberWidth: number;
27
+ columns: ColumnDef[];
28
+ frozenColumns: ColumnDef[];
29
+ scrollableColumns: ColumnDef[];
30
+ totalFrozenWidth: number;
31
+ totalScrollableWidth: number;
32
+ scrollableColOffsets: Float32Array;
33
+ constructor(columns?: ColumnDef[], rowHeight?: number, headerHeight?: number);
34
+ setColumns(columns: ColumnDef[]): void;
35
+ recalculateGeometry(): void;
36
+ findScrollableColIndexAtX(scrollX: number): number;
37
+ getColumnScreenRect(colIndex: number, scrollLeft: number): {
38
+ x: number;
39
+ width: number;
40
+ isFrozen: boolean;
41
+ };
42
+ hitTestHeader(canvasX: number, canvasY: number, scrollLeft: number): HeaderHitTestResult | null;
43
+ hitTestRowNumber(canvasX: number, canvasY: number, scrollTop: number, rowCount: number): number | null;
44
+ hitTestFillHandle(canvasX: number, canvasY: number, scrollLeft: number, scrollTop: number, selection: SelectionModel): 'corner' | 'right-duplicate' | null;
45
+ hitTest(canvasX: number, canvasY: number, scrollLeft: number, scrollTop: number, rowCount: number): HitTestResult | null;
46
+ hitTestColumnResize(canvasX: number, canvasY: number, scrollLeft: number): {
47
+ colIndex: number;
48
+ isFrozen: boolean;
49
+ } | null;
50
+ }
51
+ //# sourceMappingURL=GeometryEngine.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,8 @@
1
+ import { GroupDescriptor, SummaryType, VirtualRow } from '../types/group';
2
+ export declare class GroupingEngine {
3
+ private static formatGroupKeyVal;
4
+ static collectGroupKeys(data: any[], groups: GroupDescriptor[], maxAutoExpandLevel?: number): Set<string>;
5
+ static projectVirtualRows(data: any[], groups: GroupDescriptor[], expandedKeys: Set<string>, summaryConfig?: Record<string, SummaryType>): VirtualRow[];
6
+ private static groupRecursive;
7
+ }
8
+ //# sourceMappingURL=GroupingEngine.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,18 @@
1
+ export interface GridCommand {
2
+ description?: string;
3
+ undo: () => void;
4
+ redo: () => void;
5
+ }
6
+ export declare class HistoryManager {
7
+ private undoStack;
8
+ private redoStack;
9
+ private maxHistory;
10
+ constructor(maxHistory?: number);
11
+ push(command: GridCommand): void;
12
+ undo(): boolean;
13
+ redo(): boolean;
14
+ canUndo(): boolean;
15
+ canRedo(): boolean;
16
+ clear(): void;
17
+ }
18
+ //# sourceMappingURL=HistoryManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HistoryManager.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/HistoryManager.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAc;gBAEpB,UAAU,GAAE,MAAW;IAI5B,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAShC,IAAI,IAAI,OAAO;IAQf,IAAI,IAAI,OAAO;IAQf,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAIlB,KAAK,IAAI,IAAI;CAIrB"}
@@ -0,0 +1,17 @@
1
+ import { CellCoords, CellRange } from '../types/grid';
2
+ export declare class SelectionModel {
3
+ activeCell: CellCoords;
4
+ selectionRange: CellRange | null;
5
+ isSelecting: boolean;
6
+ setActiveCell(row: number, col: number): void;
7
+ setRangeEnd(row: number, col: number): void;
8
+ getNormalizedRange(): {
9
+ minRow: number;
10
+ maxRow: number;
11
+ minCol: number;
12
+ maxCol: number;
13
+ };
14
+ isCellSelected(row: number, col: number): boolean;
15
+ hasMultiCellSelection(): boolean;
16
+ }
17
+ //# sourceMappingURL=SelectionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectionModel.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/SelectionModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEtD,qBAAa,cAAc;IAClB,UAAU,EAAE,UAAU,CAAsB;IAC5C,cAAc,EAAE,SAAS,GAAG,IAAI,CAAQ;IACxC,WAAW,EAAE,OAAO,CAAS;IAE7B,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAK7C,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAY3C,kBAAkB,IAAI;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAkBxF,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO;IAKjD,qBAAqB,IAAI,OAAO;CAIxC"}
@@ -0,0 +1,7 @@
1
+ import { SortDescriptor } from '../types/filter';
2
+ export declare class SortEngine {
3
+ private static collator;
4
+ static createComparator(sortRules: SortDescriptor[]): (a: any, b: any) => number;
5
+ static compareValues(a: any, b: any): number;
6
+ }
7
+ //# sourceMappingURL=SortEngine.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,33 @@
1
+ import { ColumnDef, IDeferred, ValidationRuleResult } from '../types/grid';
2
+ export interface ValidationOutcome {
3
+ valid: boolean;
4
+ message?: string;
5
+ isAsync?: boolean;
6
+ }
7
+ /**
8
+ * DevExtreme-compatible Deferred class for asynchronous backend validation.
9
+ * Supports:
10
+ * - `d.resolve(true)` or `d.resolve()` -> Valid
11
+ * - `d.resolve(false)` -> Invalid (displays rule.message)
12
+ * - `d.reject("Custom backend error message")` -> Invalid (displays custom message)
13
+ * - `return d.promise()` or `return d`
14
+ */
15
+ export declare class Deferred<T = ValidationRuleResult> implements IDeferred<T> {
16
+ private _promise;
17
+ private _resolve;
18
+ constructor();
19
+ resolve: (result?: T) => void;
20
+ reject: (errorMessage?: string | {
21
+ valid?: boolean;
22
+ message?: string;
23
+ }) => void;
24
+ promise: () => Promise<ValidationRuleResult>;
25
+ }
26
+ export declare function createDeferred<T = ValidationRuleResult>(): Deferred<T>;
27
+ export declare class ValidationEngine {
28
+ private static normalizeResult;
29
+ private static isEmpty;
30
+ static validateCell(value: any, row: Record<string, any>, column: ColumnDef, isTR?: boolean): Promise<ValidationOutcome>;
31
+ private static evaluateSingleRule;
32
+ }
33
+ //# sourceMappingURL=ValidationEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/ValidationEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAkB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAG3F,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,qBAAa,QAAQ,CAAC,CAAC,GAAG,oBAAoB,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,QAAQ,CAAuC;;IAQhD,OAAO,GAAI,SAAS,CAAC,KAAG,IAAI,CAMjC;IAEK,MAAM,GAAI,eAAe,MAAM,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,KAAG,IAAI,CAQnF;IAEK,OAAO,QAAO,OAAO,CAAC,oBAAoB,CAAC,CAEhD;CACH;AAED,wBAAgB,cAAc,CAAC,CAAC,GAAG,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,CAEtE;AAKD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,eAAe;IAmB9B,OAAO,CAAC,MAAM,CAAC,OAAO;WAUF,YAAY,CAC9B,KAAK,EAAE,GAAG,EACV,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACxB,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE,OAAe,GACpB,OAAO,CAAC,iBAAiB,CAAC;mBA8BR,kBAAkB;CAkNxC"}
@@ -0,0 +1,12 @@
1
+ export declare class BlockCache<T = any> {
2
+ private cache;
3
+ private readonly maxBlocks;
4
+ readonly blockSize: number;
5
+ constructor(blockSize?: number, maxBlocks?: number);
6
+ getBlockIndex(rowIndex: number): number;
7
+ getRow(rowIndex: number): T | undefined;
8
+ setBlock(blockIndex: number, rows: T[]): void;
9
+ hasBlock(blockIndex: number): boolean;
10
+ clear(): void;
11
+ }
12
+ //# sourceMappingURL=BlockCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockCache.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/BlockCache.ts"],"names":[],"mappings":"AAAA,qBAAa,UAAU,CAAC,CAAC,GAAG,GAAG;IAC7B,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEtB,SAAS,GAAE,MAAY,EAAE,SAAS,GAAE,MAAW;IAKpD,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIvC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAavC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI;IAa7C,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIrC,KAAK,IAAI,IAAI;CAGrB"}
@@ -0,0 +1,78 @@
1
+ import { IDataStore, BatchChanges } from '../types/store';
2
+ import { FilterDescriptor, SortDescriptor, DistinctItem } from '../types/filter';
3
+ import { GroupDescriptor, SummaryType, VirtualRow } from '../types/group';
4
+ export interface LocalDataStoreOptions {
5
+ data: any[];
6
+ keyField?: string;
7
+ batchMode?: boolean;
8
+ initialSummaries?: Record<string, SummaryType>;
9
+ }
10
+ export declare class LocalDataStore implements IDataStore {
11
+ private rawData;
12
+ private keyField;
13
+ private processedData;
14
+ private virtualRows;
15
+ private currentFilter;
16
+ private currentSearch;
17
+ private currentSort;
18
+ private currentGroups;
19
+ private expandedGroupKeys;
20
+ private summaryTypes;
21
+ private batchMode;
22
+ private originalRowSnapshots;
23
+ private dirtyCells;
24
+ private insertedKeys;
25
+ private deletedRows;
26
+ private distinctCache;
27
+ private listeners;
28
+ constructor(options: LocalDataStoreOptions);
29
+ isRemote(): boolean;
30
+ setData(data: any[]): void;
31
+ getRowCount(): number;
32
+ getViewRow(rowIndex: number): VirtualRow | undefined;
33
+ getRawData(): any[];
34
+ getRawRowByKey(rowKey: any): Record<string, any> | undefined;
35
+ ensureRange(_startRow: number, _endRow: number): Promise<void>;
36
+ setFilter(filter: FilterDescriptor | null): Promise<void>;
37
+ setSearch(keyword: string): Promise<void>;
38
+ setSorting(sortRules: SortDescriptor[]): Promise<void>;
39
+ setGrouping(groupDescriptors: GroupDescriptor[]): Promise<void>;
40
+ toggleGroup(groupKey: string): Promise<void>;
41
+ expandAllGroups(): void;
42
+ collapseAllGroups(): void;
43
+ private isValueEqual;
44
+ private ensureSnapshot;
45
+ private markCellDirty;
46
+ setCell(rowKey: any, columnId: string, value: any): Promise<void>;
47
+ setCellsBatch(updates: Array<{
48
+ rowKey: any;
49
+ columnId: string;
50
+ value: any;
51
+ }>): Promise<void>;
52
+ updateRowFields(rowKey: any, patch: Record<string, any>): Promise<void>;
53
+ private generateNextKey;
54
+ insertRow(rowData: Record<string, any>, targetViewRowIndex?: number): Promise<Record<string, any>>;
55
+ duplicateRow(rowKey: any, targetViewRowIndex?: number): Promise<Record<string, any> | null>;
56
+ deleteRow(rowKey: any): Promise<void>;
57
+ restoreRow(rowData: Record<string, any>, rawIndex?: number): Promise<void>;
58
+ setBatchMode(enabled: boolean): void;
59
+ isBatchMode(): boolean;
60
+ isCellDirty(rowKey: any, columnId: string): boolean;
61
+ isColumnDirty(columnId: string): boolean;
62
+ isRowInserted(rowKey: any): boolean;
63
+ hasPendingChanges(): boolean;
64
+ getPendingChanges(): BatchChanges;
65
+ saveBatchChanges(): Promise<BatchChanges>;
66
+ discardBatchChanges(): void;
67
+ commitBatch(changes: BatchChanges): Promise<void>;
68
+ getDistinctValues(columnId: string, search?: string): Promise<DistinctItem[]>;
69
+ getSummaryTypes(): Record<string, SummaryType>;
70
+ setSummaryType(columnId: string, summaryType: SummaryType): void;
71
+ getSummaries(): Record<string, number> | undefined;
72
+ on(event: string, callback: (...args: any[]) => void): void;
73
+ off(event: string, callback: (...args: any[]) => void): void;
74
+ private emit;
75
+ private recompute;
76
+ private recomputeVirtualRowsOnly;
77
+ }
78
+ //# sourceMappingURL=LocalDataStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocalDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/LocalDataStore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { IDataStore, BatchChanges, RemoteOperationsConfig } from '../types/store';
2
+ import { FilterDescriptor, SortDescriptor, DistinctItem } from '../types/filter';
3
+ import { GroupDescriptor, VirtualRow } from '../types/group';
4
+ export interface RemoteDataStoreOptions {
5
+ url: string;
6
+ keyField?: string;
7
+ remoteOperations?: RemoteOperationsConfig;
8
+ headers?: Record<string, string>;
9
+ blockSize?: number;
10
+ }
11
+ export declare class RemoteDataStore implements IDataStore {
12
+ private url;
13
+ private keyField;
14
+ private headers;
15
+ private cache;
16
+ private totalCount;
17
+ private summaries?;
18
+ private currentFilter;
19
+ private currentSearch;
20
+ private currentSort;
21
+ private currentGroups;
22
+ private currentAbortController;
23
+ private pendingBlockRequests;
24
+ private listeners;
25
+ constructor(options: RemoteDataStoreOptions);
26
+ isRemote(): boolean;
27
+ getRowCount(): number;
28
+ getViewRow(rowIndex: number): VirtualRow | undefined;
29
+ ensureRange(startRow: number, endRow: number): Promise<void>;
30
+ private fetchBlock;
31
+ setFilter(filter: FilterDescriptor | null): Promise<void>;
32
+ setSearch(keyword: string): Promise<void>;
33
+ setSorting(sortRules: SortDescriptor[]): Promise<void>;
34
+ setGrouping(groupDescriptors: GroupDescriptor[]): Promise<void>;
35
+ toggleGroup(_groupKey: string): Promise<void>;
36
+ setCell(rowKey: any, columnId: string, value: any): Promise<void>;
37
+ commitBatch(changes: BatchChanges): Promise<void>;
38
+ getDistinctValues(columnId: string, search?: string): Promise<DistinctItem[]>;
39
+ getSummaries(): Record<string, number> | undefined;
40
+ on(event: string, callback: (...args: any[]) => void): void;
41
+ off(event: string, callback: (...args: any[]) => void): void;
42
+ private emit;
43
+ private resetAndReload;
44
+ }
45
+ //# sourceMappingURL=RemoteDataStore.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,25 @@
1
+ export interface IGridLocale {
2
+ code: string;
3
+ language: string;
4
+ searchPlaceholder: string;
5
+ addGroup: string;
6
+ exportCsv: string;
7
+ rows: string;
8
+ columns: string;
9
+ systemTheme: string;
10
+ formulaBarPlaceholder: string;
11
+ totalRecords: string;
12
+ searchValuesPlaceholder: string;
13
+ selectAll: string;
14
+ clear: string;
15
+ apply: string;
16
+ cancel?: string;
17
+ loading: string;
18
+ noMatches: string;
19
+ emptyText: string;
20
+ trueText: string;
21
+ falseText: string;
22
+ ratingOutOf: (val: number) => string;
23
+ groupRecordCount: (count: number) => string;
24
+ }
25
+ //# sourceMappingURL=IGridLocale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IGridLocale.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/i18n/IGridLocale.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IAGjB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IAGpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IAGrB,uBAAuB,EAAE,MAAM,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,gBAAgB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CAC7C"}
@@ -0,0 +1,10 @@
1
+ import { IGridLocale } from './IGridLocale';
2
+ export type { IGridLocale };
3
+ export type LocaleInput = string | Partial<IGridLocale>;
4
+ export declare class LocaleEngine {
5
+ private static locales;
6
+ static registerLocale(name: string, locale: IGridLocale): void;
7
+ static detectBrowserLocaleCode(): 'tr' | 'en';
8
+ static resolve(input?: LocaleInput): IGridLocale;
9
+ }
10
+ //# sourceMappingURL=LocaleEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocaleEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/i18n/LocaleEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,YAAY,EAAE,WAAW,EAAE,CAAC;AAC5B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAExD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,OAAO,CAKnB;WAEW,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI;WAIvD,uBAAuB,IAAI,IAAI,GAAG,IAAI;WAOtC,OAAO,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,WAAW;CAkBxD"}
@@ -0,0 +1,3 @@
1
+ import { IGridLocale } from '../IGridLocale';
2
+ export declare const enUS: IGridLocale;
3
+ //# sourceMappingURL=enUS.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enUS.d.ts","sourceRoot":"","sources":["../../../../../src/datagrid/i18n/locales/enUS.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,IAAI,EAAE,WA2BlB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { IGridLocale } from '../IGridLocale';
2
+ export declare const trTR: IGridLocale;
3
+ //# sourceMappingURL=trTR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trTR.d.ts","sourceRoot":"","sources":["../../../../../src/datagrid/i18n/locales/trTR.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,eAAO,MAAM,IAAI,EAAE,WA2BlB,CAAC"}
@@ -0,0 +1,30 @@
1
+ export { SheetGL } from './ui/SheetGL';
2
+ export type { SheetGLProps } from './ui/SheetGL';
3
+ export { SheetGLLogo } from './ui/SheetGLLogo';
4
+ export type { SheetGLLogoProps } from './ui/SheetGLLogo';
5
+ export { MaterialIcon, ensureMaterialSymbolsLoaded } from './ui/MaterialIcon';
6
+ export type { MaterialIconProps } from './ui/MaterialIcon';
7
+ export { LocalDataStore } from './data/LocalDataStore';
8
+ export { RemoteDataStore } from './data/RemoteDataStore';
9
+ export { BlockCache } from './data/BlockCache';
10
+ export { ColumnTypeRegistry } from './columns/ColumnTypeRegistry';
11
+ export type { IColumnTypePlugin, CellPaintContext, CellEditorProps } from './columns/IColumnTypePlugin';
12
+ export { initDefaultColumnPlugins } from './columns/initPlugins';
13
+ export { ThemeEngine } from './theme/ThemeEngine';
14
+ export type { IGridThemeTokens } from './theme/IGridTheme';
15
+ export type { ThemeInput } from './theme/ThemeEngine';
16
+ export { appleLight } from './theme/presets/appleLight';
17
+ export { appleDark } from './theme/presets/appleDark';
18
+ export { googleLight } from './theme/presets/googleLight';
19
+ export { googleDark } from './theme/presets/googleDark';
20
+ export type { ColumnDef, ColumnType, ColumnPermission, GridPermissions, ToolbarButtonDisplayMode, GridToolbarCustomItem, GridToolbarConfig, SelectionStatMetric, GridSummaryItemConfig, GridSummaryConfig, SelectOption, ValidationRule, ValidationCallbackParams, ValidationRuleResult, IDeferred, CellCoords, CellRange, CascadingUpdateContext, EditingStartEvent, CellValueChangingEvent, CellValueChangedEvent, RowInsertingEvent, RowInsertedEvent, RowUpdatingEvent, RowUpdatedEvent, RowRemovingEvent, RowRemovedEvent, SavingEvent, SavedEvent, GridEventLogEntry, } from './types/grid';
21
+ export { ValidationEngine, Deferred, createDeferred } from './core/ValidationEngine';
22
+ export type { IDataStore, DataGridQuery, LoadResult, RemoteOperationsConfig, BatchChanges } from './types/store';
23
+ export type { FilterDescriptor, SortDescriptor, DistinctItem, FilterOperation, ColumnFilterState } from './types/filter';
24
+ export type { GroupDescriptor, VirtualRow, SummaryDescriptor, SummaryType } from './types/group';
25
+ export { LocaleEngine } from './i18n/LocaleEngine';
26
+ export type { IGridLocale } from './i18n/IGridLocale';
27
+ export type { LocaleInput } from './i18n/LocaleEngine';
28
+ export { enUS } from './i18n/locales/enUS';
29
+ export { trTR } from './i18n/locales/trTR';
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/datagrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAC9E,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACxG,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,YAAY,EACV,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,UAAU,EACV,SAAS,EACT,sBAAsB,EACtB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,iBAAiB,GAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACrF,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACjH,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACzH,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjG,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,44 @@
1
+ import React from 'react';
2
+ import { ColumnDef, GridPermissions } from '../types/grid';
3
+ import { SummaryType } from '../types/group';
4
+ import { IGridThemeTokens } from '../theme/IGridTheme';
5
+ import { IGridLocale } from '../i18n/IGridLocale';
6
+ export interface ContextMenuState {
7
+ targetType: 'cell' | 'header' | 'rownumber';
8
+ x: number;
9
+ y: number;
10
+ row: number;
11
+ col: number;
12
+ column?: ColumnDef;
13
+ rowData?: Record<string, any>;
14
+ }
15
+ export interface ContextMenuOverlayProps {
16
+ menu: ContextMenuState;
17
+ viewportWidth: number;
18
+ viewportHeight: number;
19
+ theme: IGridThemeTokens;
20
+ locale: IGridLocale;
21
+ permissions?: GridPermissions;
22
+ isCellEditable: boolean;
23
+ isGroupedByCol: boolean;
24
+ currentSummaryType?: SummaryType;
25
+ onCopy: () => void;
26
+ onPaste: () => void;
27
+ onDuplicateCellDown: () => void;
28
+ onDuplicateCellRight: () => void;
29
+ onDuplicateRow: () => void;
30
+ onInsertRowAbove: () => void;
31
+ onInsertRowBelow: () => void;
32
+ onClearCells: () => void;
33
+ onDeleteRow: () => void;
34
+ onFilterByCellValue: () => void;
35
+ onToggleGroupColumn: () => void;
36
+ onSortColumn: (desc: boolean | null) => void;
37
+ onTogglePinColumn: () => void;
38
+ onToggleColumnReadonly: () => void;
39
+ onChangeSummaryType: (summaryType: SummaryType) => void;
40
+ onOpenSparklineModal?: () => void;
41
+ onClose: () => void;
42
+ }
43
+ export declare const ContextMenuOverlay: React.FC<ContextMenuOverlayProps>;
44
+ //# sourceMappingURL=ContextMenuOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContextMenuOverlay.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/overlays/ContextMenuOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;IAC5C,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,gBAAgB,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,sBAAsB,EAAE,MAAM,IAAI,CAAC;IACnC,mBAAmB,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IACxD,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAqehE,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { ActiveOverlayState } from '../types/grid';
3
+ import { IGridThemeTokens } from '../theme/IGridTheme';
4
+ import { IGridLocale } from '../i18n/IGridLocale';
5
+ export interface DynamicCellEditorProps {
6
+ overlay: ActiveOverlayState;
7
+ theme: IGridThemeTokens;
8
+ locale: IGridLocale;
9
+ validationError?: string | null;
10
+ isValidating?: boolean;
11
+ onCommit: (newValue: any, moveDir?: 'down' | 'right' | 'left' | 'none') => void;
12
+ onCancel: () => void;
13
+ }
14
+ export declare const DynamicCellEditor: React.FC<DynamicCellEditorProps>;
15
+ //# sourceMappingURL=DynamicCellEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicCellEditor.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/overlays/DynamicCellEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAChF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoE9D,CAAC"}
@@ -0,0 +1,31 @@
1
+ import React from 'react';
2
+ import { ColumnDef } from '../types/grid';
3
+ import { IGridThemeTokens } from '../theme/IGridTheme';
4
+ import { IGridLocale } from '../i18n/IGridLocale';
5
+ import { IDataStore } from '../types/store';
6
+ import { ColumnFilterState } from '../types/filter';
7
+ export interface HeaderFilterPopoverProps {
8
+ column: ColumnDef;
9
+ anchorRect: {
10
+ x: number;
11
+ y: number;
12
+ width: number;
13
+ height: number;
14
+ };
15
+ viewportWidth?: number;
16
+ theme: IGridThemeTokens;
17
+ locale: IGridLocale;
18
+ store: IDataStore;
19
+ activeFilter?: ColumnFilterState;
20
+ onApply: (filterState: ColumnFilterState | null) => void;
21
+ onSort?: (desc: boolean) => void;
22
+ onToggleGroup?: () => void;
23
+ isGrouped?: boolean;
24
+ onClose: () => void;
25
+ }
26
+ /**
27
+ * Formats a raw cell value identically to how the cell painter renders it on Canvas.
28
+ */
29
+ export declare function formatCellStructureValue(rawVal: any, column: ColumnDef, locale: IGridLocale): string;
30
+ export declare const HeaderFilterPopover: React.FC<HeaderFilterPopoverProps>;
31
+ //# sourceMappingURL=HeaderFilterPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeaderFilterPopover.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/overlays/HeaderFilterPopover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAiC,MAAM,iBAAiB,CAAC;AAGnF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,UAAU,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,iBAAiB,CAAC;IACjC,OAAO,EAAE,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,KAAK,IAAI,CAAC;IACzD,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAUD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,GAAG,EACX,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,WAAW,GAClB,MAAM,CA+ER;AAuCD,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CA6/BlE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { ColumnDef } from '../types/grid';
3
+ import { IGridThemeTokens } from '../theme/IGridTheme';
4
+ import { IGridLocale } from '../i18n/IGridLocale';
5
+ export interface SparklineModalState {
6
+ rowIndex: number;
7
+ rowData: Record<string, any>;
8
+ column: ColumnDef;
9
+ points: number[];
10
+ }
11
+ export interface SparklineModalOverlayProps {
12
+ modal: SparklineModalState;
13
+ theme: IGridThemeTokens;
14
+ locale: IGridLocale;
15
+ onClose: () => void;
16
+ }
17
+ export declare const SparklineModalOverlay: React.FC<SparklineModalOverlayProps>;
18
+ //# sourceMappingURL=SparklineModalOverlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SparklineModalOverlay.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/overlays/SparklineModalOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAgjBtE,CAAC"}
@@ -0,0 +1,41 @@
1
+ import { GeometryEngine } from '../core/GeometryEngine';
2
+ import { SelectionModel } from '../core/SelectionModel';
3
+ import { IDataStore } from '../types/store';
4
+ import { IGridThemeTokens } from '../theme/IGridTheme';
5
+ import { SortDescriptor } from '../types/filter';
6
+ import { IGridLocale } from '../i18n/IGridLocale';
7
+ import { ColumnDef, GridPermissions } from '../types/grid';
8
+ export interface RenderParams {
9
+ canvas: HTMLCanvasElement;
10
+ geometry: GeometryEngine;
11
+ store: IDataStore;
12
+ selection: SelectionModel;
13
+ theme: IGridThemeTokens;
14
+ locale: IGridLocale;
15
+ scrollLeft: number;
16
+ scrollTop: number;
17
+ sortRules: SortDescriptor[];
18
+ searchKeyword?: string;
19
+ hoveredCell?: {
20
+ row: number;
21
+ col: number;
22
+ } | null;
23
+ hoveredFilterColIndex?: number | null;
24
+ activeFilterColumnIds?: Set<string>;
25
+ fillDragRange?: {
26
+ minRow: number;
27
+ maxRow: number;
28
+ minCol: number;
29
+ maxCol: number;
30
+ } | null;
31
+ loadingRowKeys?: Set<any>;
32
+ permissions?: GridPermissions;
33
+ }
34
+ export declare class CanvasRenderer {
35
+ static isColumnReadonly(col: ColumnDef, permissions?: GridPermissions): boolean;
36
+ static render(params: RenderParams): void;
37
+ private static renderCell;
38
+ private static renderHeaders;
39
+ private static renderSingleHeader;
40
+ }
41
+ //# sourceMappingURL=CanvasRenderer.d.ts.map