sheetgl 0.0.0-stage → 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.
- package/LICENSE +21 -0
- package/README.md +167 -2
- package/bin/cli.mjs +370 -0
- package/dist/lib/sheetgl.cjs +5 -0
- package/dist/lib/sheetgl.cjs.map +1 -0
- package/dist/lib/sheetgl.js +14972 -0
- package/dist/lib/sheetgl.js.map +1 -0
- package/dist/lib/types/columns/ColumnTypeRegistry.d.ts +9 -0
- package/dist/lib/types/columns/ColumnTypeRegistry.d.ts.map +1 -0
- package/dist/lib/types/columns/IColumnTypePlugin.d.ts +68 -0
- package/dist/lib/types/columns/IColumnTypePlugin.d.ts.map +1 -0
- package/dist/lib/types/columns/initPlugins.d.ts +2 -0
- package/dist/lib/types/columns/initPlugins.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ActionColumn/ActionPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/ActionColumn/ActionPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ActionColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/ActionColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/BooleanColumn/BooleanPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/BooleanColumn/BooleanPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/BooleanColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/BooleanColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ColorColumn/ColorEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/ColorColumn/ColorEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ColorColumn/index.d.ts +4 -0
- package/dist/lib/types/columns/types/ColorColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/CurrencyColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/CurrencyColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts +3 -0
- package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/DateColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts +7 -0
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DateTimeColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/DateTimeColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DropdownColumn/DropdownPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/DropdownColumn/DropdownPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/DropdownColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/DropdownColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/EmailColumn/index.d.ts +4 -0
- package/dist/lib/types/columns/types/EmailColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/LookupColumn/LookupEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/LookupColumn/LookupEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/LookupColumn/LookupPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/LookupColumn/LookupPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/LookupColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/LookupColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts +4 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/MultiSelectColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/NumberColumn/NumberEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/NumberColumn/NumberEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/NumberColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/NumberColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ObjectColumn/ObjectEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/ObjectColumn/ObjectEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ObjectColumn/ObjectPainter.d.ts +5 -0
- package/dist/lib/types/columns/types/ObjectColumn/ObjectPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ObjectColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/ObjectColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/PdfColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/PdfColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/PercentColumn/index.d.ts +5 -0
- package/dist/lib/types/columns/types/PercentColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/PhoneColumn/index.d.ts +4 -0
- package/dist/lib/types/columns/types/PhoneColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ProgressColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/ProgressColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/RatingColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/RatingColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/SelectColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/SelectColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts +3 -0
- package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/SparklineColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/SparklineColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TextColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/TextColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts +4 -0
- package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts +3 -0
- package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/TimeColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/TimeColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/UrlColumn/index.d.ts +4 -0
- package/dist/lib/types/columns/types/UrlColumn/index.d.ts.map +1 -0
- package/dist/lib/types/core/FilterEngine.d.ts +33 -0
- package/dist/lib/types/core/FilterEngine.d.ts.map +1 -0
- package/dist/lib/types/core/GeometryEngine.d.ts +65 -0
- package/dist/lib/types/core/GeometryEngine.d.ts.map +1 -0
- package/dist/lib/types/core/GridApi.d.ts +66 -0
- package/dist/lib/types/core/GridApi.d.ts.map +1 -0
- package/dist/lib/types/core/GroupingEngine.d.ts +8 -0
- package/dist/lib/types/core/GroupingEngine.d.ts.map +1 -0
- package/dist/lib/types/core/HistoryManager.d.ts +18 -0
- package/dist/lib/types/core/HistoryManager.d.ts.map +1 -0
- package/dist/lib/types/core/SelectionModel.d.ts +17 -0
- package/dist/lib/types/core/SelectionModel.d.ts.map +1 -0
- package/dist/lib/types/core/SortEngine.d.ts +7 -0
- package/dist/lib/types/core/SortEngine.d.ts.map +1 -0
- package/dist/lib/types/core/ValidationEngine.d.ts +33 -0
- package/dist/lib/types/core/ValidationEngine.d.ts.map +1 -0
- package/dist/lib/types/data/BlockCache.d.ts +12 -0
- package/dist/lib/types/data/BlockCache.d.ts.map +1 -0
- package/dist/lib/types/data/LocalDataStore.d.ts +85 -0
- package/dist/lib/types/data/LocalDataStore.d.ts.map +1 -0
- package/dist/lib/types/data/RemoteDataStore.d.ts +94 -0
- package/dist/lib/types/data/RemoteDataStore.d.ts.map +1 -0
- package/dist/lib/types/hooks/useGridGeometry.d.ts +65 -0
- package/dist/lib/types/hooks/useGridGeometry.d.ts.map +1 -0
- package/dist/lib/types/hooks/useGridSelection.d.ts +43 -0
- package/dist/lib/types/hooks/useGridSelection.d.ts.map +1 -0
- package/dist/lib/types/i18n/IGridLocale.d.ts +25 -0
- package/dist/lib/types/i18n/IGridLocale.d.ts.map +1 -0
- package/dist/lib/types/i18n/LocaleEngine.d.ts +10 -0
- package/dist/lib/types/i18n/LocaleEngine.d.ts.map +1 -0
- package/dist/lib/types/i18n/locales/enUS.d.ts +3 -0
- package/dist/lib/types/i18n/locales/enUS.d.ts.map +1 -0
- package/dist/lib/types/i18n/locales/trTR.d.ts +3 -0
- package/dist/lib/types/i18n/locales/trTR.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +44 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/overlays/BatchChangesModal.d.ts +19 -0
- package/dist/lib/types/overlays/BatchChangesModal.d.ts.map +1 -0
- package/dist/lib/types/overlays/ContextMenuOverlay.d.ts +44 -0
- package/dist/lib/types/overlays/ContextMenuOverlay.d.ts.map +1 -0
- package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts +14 -0
- package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts.map +1 -0
- package/dist/lib/types/overlays/DynamicCellEditor.d.ts +15 -0
- package/dist/lib/types/overlays/DynamicCellEditor.d.ts.map +1 -0
- package/dist/lib/types/overlays/HeaderFilterPopover.d.ts +33 -0
- package/dist/lib/types/overlays/HeaderFilterPopover.d.ts.map +1 -0
- package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts +18 -0
- package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts.map +1 -0
- package/dist/lib/types/overlays/SparklineModalOverlay.d.ts +18 -0
- package/dist/lib/types/overlays/SparklineModalOverlay.d.ts.map +1 -0
- package/dist/lib/types/renderer/CanvasRenderer.d.ts +45 -0
- package/dist/lib/types/renderer/CanvasRenderer.d.ts.map +1 -0
- package/dist/lib/types/renderer/GroupRowPainter.d.ts +10 -0
- package/dist/lib/types/renderer/GroupRowPainter.d.ts.map +1 -0
- package/dist/lib/types/renderer/SkeletonPainter.d.ts +5 -0
- package/dist/lib/types/renderer/SkeletonPainter.d.ts.map +1 -0
- package/dist/lib/types/theme/ColumnColorEngine.d.ts +52 -0
- package/dist/lib/types/theme/ColumnColorEngine.d.ts.map +1 -0
- package/dist/lib/types/theme/IGridTheme.d.ts +47 -0
- package/dist/lib/types/theme/IGridTheme.d.ts.map +1 -0
- package/dist/lib/types/theme/ThemeEngine.d.ts +10 -0
- package/dist/lib/types/theme/ThemeEngine.d.ts.map +1 -0
- package/dist/lib/types/theme/presets/appleDark.d.ts +3 -0
- package/dist/lib/types/theme/presets/appleDark.d.ts.map +1 -0
- package/dist/lib/types/theme/presets/appleLight.d.ts +3 -0
- package/dist/lib/types/theme/presets/appleLight.d.ts.map +1 -0
- package/dist/lib/types/theme/presets/googleDark.d.ts +3 -0
- package/dist/lib/types/theme/presets/googleDark.d.ts.map +1 -0
- package/dist/lib/types/theme/presets/googleLight.d.ts +3 -0
- package/dist/lib/types/theme/presets/googleLight.d.ts.map +1 -0
- package/dist/lib/types/types/filter.d.ts +28 -0
- package/dist/lib/types/types/filter.d.ts.map +1 -0
- package/dist/lib/types/types/grid.d.ts +464 -0
- package/dist/lib/types/types/grid.d.ts.map +1 -0
- package/dist/lib/types/types/group.d.ts +31 -0
- package/dist/lib/types/types/group.d.ts.map +1 -0
- package/dist/lib/types/types/store.d.ts +102 -0
- package/dist/lib/types/types/store.d.ts.map +1 -0
- package/dist/lib/types/ui/FormulaBar.d.ts +28 -0
- package/dist/lib/types/ui/FormulaBar.d.ts.map +1 -0
- package/dist/lib/types/ui/MaterialIcon.d.ts +28 -0
- package/dist/lib/types/ui/MaterialIcon.d.ts.map +1 -0
- package/dist/lib/types/ui/SheetGL.d.ts +73 -0
- package/dist/lib/types/ui/SheetGL.d.ts.map +1 -0
- package/dist/lib/types/ui/SheetGLLogo.d.ts +10 -0
- package/dist/lib/types/ui/SheetGLLogo.d.ts.map +1 -0
- package/dist/lib/types/ui/SummaryFooter.d.ts +31 -0
- package/dist/lib/types/ui/SummaryFooter.d.ts.map +1 -0
- package/dist/lib/types/ui/ToolBar.d.ts +48 -0
- package/dist/lib/types/ui/ToolBar.d.ts.map +1 -0
- package/dist/lib/types/version.d.ts +2 -0
- package/dist/lib/types/version.d.ts.map +1 -0
- package/package.json +77 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/UrlColumn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,GACV,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAqCjC;AAED,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAsCrD,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { FilterDescriptor, FilterOperation } from '../types/filter';
|
|
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
|
+
}
|
|
16
|
+
export declare class FilterEngine {
|
|
17
|
+
private static inSetCache;
|
|
18
|
+
private static dateFormatterCache;
|
|
19
|
+
static formatLocalizedDate(val: any, localeCode?: string, includeTime?: boolean): string;
|
|
20
|
+
private static getCompiledSet;
|
|
21
|
+
private static matchesCompiledDateSet;
|
|
22
|
+
static evaluateRow(row: Record<string, any>, filter: FilterDescriptor | null): boolean;
|
|
23
|
+
private static isSingleFilter;
|
|
24
|
+
private static evaluateSingleFilter;
|
|
25
|
+
static parseDateParts(val: any): ParsedDateInfo | null;
|
|
26
|
+
static parseNumeric(val: any): number;
|
|
27
|
+
private static stringifyValue;
|
|
28
|
+
private static matchesFormattedNumber;
|
|
29
|
+
static match(rawVal: any, op: FilterOperation, targetVal: any): boolean;
|
|
30
|
+
static buildRowSearchIndex(row: Record<string, any>): string;
|
|
31
|
+
static matchSearch(row: Record<string, any>, cleanKeyword: string): boolean;
|
|
32
|
+
}
|
|
33
|
+
//# 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;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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ColumnDef, ColumnGroupDef } 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
|
+
isGroupHeaderHit?: boolean;
|
|
23
|
+
groupDef?: ColumnGroupDef;
|
|
24
|
+
groupColIndices?: number[];
|
|
25
|
+
}
|
|
26
|
+
export declare class GeometryEngine {
|
|
27
|
+
rowHeight: number;
|
|
28
|
+
baseHeaderHeight: number;
|
|
29
|
+
groupHeaderHeight: number;
|
|
30
|
+
headerHeight: number;
|
|
31
|
+
hasColumnGroups: boolean;
|
|
32
|
+
columnGroups: ColumnGroupDef[];
|
|
33
|
+
private colToGroupMap;
|
|
34
|
+
rowNumberWidth: number;
|
|
35
|
+
viewportWidth: number;
|
|
36
|
+
columns: ColumnDef[];
|
|
37
|
+
frozenColumns: ColumnDef[];
|
|
38
|
+
scrollableColumns: ColumnDef[];
|
|
39
|
+
totalFrozenWidth: number;
|
|
40
|
+
totalScrollableWidth: number;
|
|
41
|
+
scrollableColOffsets: Float32Array;
|
|
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;
|
|
48
|
+
setColumns(columns: ColumnDef[]): void;
|
|
49
|
+
recalculateGeometry(): void;
|
|
50
|
+
findScrollableColIndexAtX(scrollX: number): number;
|
|
51
|
+
getColumnScreenRect(colIndex: number, scrollLeft: number): {
|
|
52
|
+
x: number;
|
|
53
|
+
width: number;
|
|
54
|
+
isFrozen: boolean;
|
|
55
|
+
};
|
|
56
|
+
hitTestHeader(canvasX: number, canvasY: number, scrollLeft: number): HeaderHitTestResult | null;
|
|
57
|
+
hitTestRowNumber(canvasX: number, canvasY: number, scrollTop: number, rowCount: number): number | null;
|
|
58
|
+
hitTestFillHandle(canvasX: number, canvasY: number, scrollLeft: number, scrollTop: number, selection: SelectionModel): 'corner' | 'right-duplicate' | null;
|
|
59
|
+
hitTest(canvasX: number, canvasY: number, scrollLeft: number, scrollTop: number, rowCount: number): HitTestResult | null;
|
|
60
|
+
hitTestColumnResize(canvasX: number, canvasY: number, scrollLeft: number): {
|
|
61
|
+
colIndex: number;
|
|
62
|
+
isFrozen: boolean;
|
|
63
|
+
} | null;
|
|
64
|
+
}
|
|
65
|
+
//# 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,cAAc,EAAE,MAAM,eAAe,CAAC;AAC1D,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;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,cAAc;IAClB,SAAS,EAAE,MAAM,CAAM;IACvB,gBAAgB,EAAE,MAAM,CAAM;IAC9B,iBAAiB,EAAE,MAAM,CAAM;IAC/B,YAAY,EAAE,MAAM,CAAM;IAC1B,eAAe,EAAE,OAAO,CAAS;IACjC,YAAY,EAAE,cAAc,EAAE,CAAM;IAC3C,OAAO,CAAC,aAAa,CAA0C;IACxD,cAAc,EAAE,MAAM,CAAM;IAC5B,aAAa,EAAE,MAAM,CAA4D;IAEjF,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;gBAG9D,OAAO,GAAE,SAAS,EAAO,EACzB,SAAS,GAAE,MAAW,EACtB,YAAY,GAAE,MAAW,EACzB,YAAY,GAAE,cAAc,EAAO,EACnC,iBAAiB,GAAE,MAAW;IAUzB,eAAe,CAAC,YAAY,GAAE,cAAc,EAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI;IAQtF,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOzC,cAAc,CAAC,GAAG,EAAE,SAAS,GAAG,cAAc,GAAG,SAAS;IAIjE,OAAO,CAAC,qBAAqB;IA0DtB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASxC,UAAU,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAStC,mBAAmB,IAAI,IAAI;IA4C3B,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;IAsF/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;CA4ClD"}
|
|
@@ -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"}
|
|
@@ -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;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"}
|
|
@@ -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;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"}
|
|
@@ -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,85 @@
|
|
|
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
|
+
getFilteredRowCount(): number;
|
|
33
|
+
getTotalDatasetRowCount(): number;
|
|
34
|
+
getViewRow(rowIndex: number): VirtualRow | undefined;
|
|
35
|
+
getRawData(): any[];
|
|
36
|
+
getRawRowByKey(rowKey: any): Record<string, any> | undefined;
|
|
37
|
+
ensureRange(_startRow: number, _endRow: number): Promise<void>;
|
|
38
|
+
setFilter(filter: FilterDescriptor | null): Promise<void>;
|
|
39
|
+
setSearch(keyword: string): Promise<void>;
|
|
40
|
+
setSorting(sortRules: SortDescriptor[]): Promise<void>;
|
|
41
|
+
setGrouping(groupDescriptors: GroupDescriptor[]): Promise<void>;
|
|
42
|
+
toggleGroup(groupKey: string): Promise<void>;
|
|
43
|
+
expandAllGroups(): void;
|
|
44
|
+
collapseAllGroups(): void;
|
|
45
|
+
private isValueEqual;
|
|
46
|
+
private ensureSnapshot;
|
|
47
|
+
private markCellDirty;
|
|
48
|
+
setCell(rowKey: any, columnId: string, value: any): Promise<void>;
|
|
49
|
+
setCellsBatch(updates: Array<{
|
|
50
|
+
rowKey: any;
|
|
51
|
+
columnId: string;
|
|
52
|
+
value: any;
|
|
53
|
+
}>): Promise<void>;
|
|
54
|
+
updateRowFields(rowKey: any, patch: Record<string, any>): Promise<void>;
|
|
55
|
+
private generateNextKey;
|
|
56
|
+
insertRow(rowData: Record<string, any>, targetViewRowIndex?: number): Promise<Record<string, any>>;
|
|
57
|
+
duplicateRow(rowKey: any, targetViewRowIndex?: number): Promise<Record<string, any> | null>;
|
|
58
|
+
deleteRow(rowKey: any): Promise<void>;
|
|
59
|
+
deleteRowsBatch(rowKeys: any[], onProgress?: (processed: number, total: number) => void): Promise<number>;
|
|
60
|
+
restoreRow(rowData: Record<string, any>, rawIndex?: number): Promise<void>;
|
|
61
|
+
setBatchMode(enabled: boolean): void;
|
|
62
|
+
isBatchMode(): boolean;
|
|
63
|
+
isCellDirty(rowKey: any, columnId: string): boolean;
|
|
64
|
+
isColumnDirty(columnId: string): boolean;
|
|
65
|
+
isRowInserted(rowKey: any): boolean;
|
|
66
|
+
hasPendingChanges(): boolean;
|
|
67
|
+
getPendingChangesCount(): number;
|
|
68
|
+
getPendingChanges(): BatchChanges;
|
|
69
|
+
revertPendingDelete(rowKey: any): void;
|
|
70
|
+
revertPendingUpdate(rowKey: any, columnId?: string): void;
|
|
71
|
+
revertPendingInsert(rowKey: any): void;
|
|
72
|
+
saveBatchChanges(): Promise<BatchChanges>;
|
|
73
|
+
discardBatchChanges(): void;
|
|
74
|
+
commitBatch(changes: BatchChanges): Promise<void>;
|
|
75
|
+
getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
|
|
76
|
+
getSummaryTypes(): Record<string, SummaryType>;
|
|
77
|
+
setSummaryType(columnId: string, summaryType: SummaryType): void;
|
|
78
|
+
getSummaries(): Record<string, number> | undefined;
|
|
79
|
+
on(event: string, callback: (...args: any[]) => void): void;
|
|
80
|
+
off(event: string, callback: (...args: any[]) => void): void;
|
|
81
|
+
private emit;
|
|
82
|
+
private recompute;
|
|
83
|
+
private recomputeVirtualRowsOnly;
|
|
84
|
+
}
|
|
85
|
+
//# 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,94 @@
|
|
|
1
|
+
import { IDataStore, BatchChanges, RemoteOperationsConfig, DataGridQuery, LoadResult } from '../types/store';
|
|
2
|
+
import { FilterDescriptor, SortDescriptor, DistinctItem } from '../types/filter';
|
|
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
|
+
}
|
|
20
|
+
export interface RemoteDataStoreOptions {
|
|
21
|
+
url?: string;
|
|
22
|
+
keyField?: string;
|
|
23
|
+
remoteOperations?: RemoteOperationsConfig;
|
|
24
|
+
headers?: Record<string, string>;
|
|
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>;
|
|
39
|
+
}
|
|
40
|
+
export declare class RemoteDataStore implements IDataStore {
|
|
41
|
+
private url;
|
|
42
|
+
private keyField;
|
|
43
|
+
private headers;
|
|
44
|
+
private method;
|
|
45
|
+
private remoteOperations;
|
|
46
|
+
private cache;
|
|
47
|
+
private customLoad?;
|
|
48
|
+
private customLoadDistinct?;
|
|
49
|
+
private customUpdate?;
|
|
50
|
+
private customCommit?;
|
|
51
|
+
private totalCount;
|
|
52
|
+
private unfilteredTotalCount;
|
|
53
|
+
private hasInitialFetchTriggered;
|
|
54
|
+
private summaries?;
|
|
55
|
+
private currentFilter;
|
|
56
|
+
private currentSearch;
|
|
57
|
+
private currentSort;
|
|
58
|
+
private currentGroups;
|
|
59
|
+
private currentAbortController;
|
|
60
|
+
private pendingBlockRequests;
|
|
61
|
+
private distinctCache;
|
|
62
|
+
private listeners;
|
|
63
|
+
constructor(options: RemoteDataStoreOptions);
|
|
64
|
+
isRemote(): boolean;
|
|
65
|
+
getRowCount(): number;
|
|
66
|
+
getTotalCount(): number;
|
|
67
|
+
setTotalCount(count: number): void;
|
|
68
|
+
getFilteredRowCount(): number;
|
|
69
|
+
getTotalDatasetRowCount(): number;
|
|
70
|
+
getViewRow(rowIndex: number): VirtualRow | undefined;
|
|
71
|
+
ensureRange(startRow: number, endRow: number): Promise<void>;
|
|
72
|
+
private buildRequestUrlWithParams;
|
|
73
|
+
private fetchBlock;
|
|
74
|
+
setFilter(filter: FilterDescriptor | null): Promise<void>;
|
|
75
|
+
setSearch(keyword: string): Promise<void>;
|
|
76
|
+
setSorting(sortRules: SortDescriptor[]): Promise<void>;
|
|
77
|
+
setGrouping(groupDescriptors: GroupDescriptor[]): Promise<void>;
|
|
78
|
+
toggleGroup(_groupKey: string): Promise<void>;
|
|
79
|
+
setCell(rowKey: any, columnId: string, value: any): Promise<void>;
|
|
80
|
+
commitBatch(changes: BatchChanges): Promise<void>;
|
|
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[]>;
|
|
87
|
+
getSummaries(): Record<string, number> | undefined;
|
|
88
|
+
on(event: string, callback: (...args: any[]) => void): void;
|
|
89
|
+
off(event: string, callback: (...args: any[]) => void): void;
|
|
90
|
+
private emit;
|
|
91
|
+
private resetAndReloadAsync;
|
|
92
|
+
resetAndReload(): void;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=RemoteDataStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|