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.
Files changed (204) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +167 -2
  3. package/bin/cli.mjs +370 -0
  4. package/dist/lib/sheetgl.cjs +5 -0
  5. package/dist/lib/sheetgl.cjs.map +1 -0
  6. package/dist/lib/sheetgl.js +14972 -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/PdfColumn/PdfPainter.d.ts +3 -0
  73. package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts.map +1 -0
  74. package/dist/lib/types/columns/types/PdfColumn/index.d.ts +3 -0
  75. package/dist/lib/types/columns/types/PdfColumn/index.d.ts.map +1 -0
  76. package/dist/lib/types/columns/types/PercentColumn/index.d.ts +5 -0
  77. package/dist/lib/types/columns/types/PercentColumn/index.d.ts.map +1 -0
  78. package/dist/lib/types/columns/types/PhoneColumn/index.d.ts +4 -0
  79. package/dist/lib/types/columns/types/PhoneColumn/index.d.ts.map +1 -0
  80. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts +3 -0
  81. package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts.map +1 -0
  82. package/dist/lib/types/columns/types/ProgressColumn/index.d.ts +3 -0
  83. package/dist/lib/types/columns/types/ProgressColumn/index.d.ts.map +1 -0
  84. package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts +3 -0
  85. package/dist/lib/types/columns/types/RatingColumn/RatingPainter.d.ts.map +1 -0
  86. package/dist/lib/types/columns/types/RatingColumn/index.d.ts +3 -0
  87. package/dist/lib/types/columns/types/RatingColumn/index.d.ts.map +1 -0
  88. package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts +4 -0
  89. package/dist/lib/types/columns/types/SelectColumn/SelectEditor.d.ts.map +1 -0
  90. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts +3 -0
  91. package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts.map +1 -0
  92. package/dist/lib/types/columns/types/SelectColumn/index.d.ts +3 -0
  93. package/dist/lib/types/columns/types/SelectColumn/index.d.ts.map +1 -0
  94. package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts +3 -0
  95. package/dist/lib/types/columns/types/SparklineColumn/SparklinePainter.d.ts.map +1 -0
  96. package/dist/lib/types/columns/types/SparklineColumn/index.d.ts +3 -0
  97. package/dist/lib/types/columns/types/SparklineColumn/index.d.ts.map +1 -0
  98. package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts +4 -0
  99. package/dist/lib/types/columns/types/TextColumn/TextEditor.d.ts.map +1 -0
  100. package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts +3 -0
  101. package/dist/lib/types/columns/types/TextColumn/TextPainter.d.ts.map +1 -0
  102. package/dist/lib/types/columns/types/TextColumn/index.d.ts +3 -0
  103. package/dist/lib/types/columns/types/TextColumn/index.d.ts.map +1 -0
  104. package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts +4 -0
  105. package/dist/lib/types/columns/types/TimeColumn/TimeEditor.d.ts.map +1 -0
  106. package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts +3 -0
  107. package/dist/lib/types/columns/types/TimeColumn/TimePainter.d.ts.map +1 -0
  108. package/dist/lib/types/columns/types/TimeColumn/index.d.ts +3 -0
  109. package/dist/lib/types/columns/types/TimeColumn/index.d.ts.map +1 -0
  110. package/dist/lib/types/columns/types/UrlColumn/index.d.ts +4 -0
  111. package/dist/lib/types/columns/types/UrlColumn/index.d.ts.map +1 -0
  112. package/dist/lib/types/core/FilterEngine.d.ts +33 -0
  113. package/dist/lib/types/core/FilterEngine.d.ts.map +1 -0
  114. package/dist/lib/types/core/GeometryEngine.d.ts +65 -0
  115. package/dist/lib/types/core/GeometryEngine.d.ts.map +1 -0
  116. package/dist/lib/types/core/GridApi.d.ts +66 -0
  117. package/dist/lib/types/core/GridApi.d.ts.map +1 -0
  118. package/dist/lib/types/core/GroupingEngine.d.ts +8 -0
  119. package/dist/lib/types/core/GroupingEngine.d.ts.map +1 -0
  120. package/dist/lib/types/core/HistoryManager.d.ts +18 -0
  121. package/dist/lib/types/core/HistoryManager.d.ts.map +1 -0
  122. package/dist/lib/types/core/SelectionModel.d.ts +17 -0
  123. package/dist/lib/types/core/SelectionModel.d.ts.map +1 -0
  124. package/dist/lib/types/core/SortEngine.d.ts +7 -0
  125. package/dist/lib/types/core/SortEngine.d.ts.map +1 -0
  126. package/dist/lib/types/core/ValidationEngine.d.ts +33 -0
  127. package/dist/lib/types/core/ValidationEngine.d.ts.map +1 -0
  128. package/dist/lib/types/data/BlockCache.d.ts +12 -0
  129. package/dist/lib/types/data/BlockCache.d.ts.map +1 -0
  130. package/dist/lib/types/data/LocalDataStore.d.ts +85 -0
  131. package/dist/lib/types/data/LocalDataStore.d.ts.map +1 -0
  132. package/dist/lib/types/data/RemoteDataStore.d.ts +94 -0
  133. package/dist/lib/types/data/RemoteDataStore.d.ts.map +1 -0
  134. package/dist/lib/types/hooks/useGridGeometry.d.ts +65 -0
  135. package/dist/lib/types/hooks/useGridGeometry.d.ts.map +1 -0
  136. package/dist/lib/types/hooks/useGridSelection.d.ts +43 -0
  137. package/dist/lib/types/hooks/useGridSelection.d.ts.map +1 -0
  138. package/dist/lib/types/i18n/IGridLocale.d.ts +25 -0
  139. package/dist/lib/types/i18n/IGridLocale.d.ts.map +1 -0
  140. package/dist/lib/types/i18n/LocaleEngine.d.ts +10 -0
  141. package/dist/lib/types/i18n/LocaleEngine.d.ts.map +1 -0
  142. package/dist/lib/types/i18n/locales/enUS.d.ts +3 -0
  143. package/dist/lib/types/i18n/locales/enUS.d.ts.map +1 -0
  144. package/dist/lib/types/i18n/locales/trTR.d.ts +3 -0
  145. package/dist/lib/types/i18n/locales/trTR.d.ts.map +1 -0
  146. package/dist/lib/types/index.d.ts +44 -0
  147. package/dist/lib/types/index.d.ts.map +1 -0
  148. package/dist/lib/types/overlays/BatchChangesModal.d.ts +19 -0
  149. package/dist/lib/types/overlays/BatchChangesModal.d.ts.map +1 -0
  150. package/dist/lib/types/overlays/ContextMenuOverlay.d.ts +44 -0
  151. package/dist/lib/types/overlays/ContextMenuOverlay.d.ts.map +1 -0
  152. package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts +14 -0
  153. package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts.map +1 -0
  154. package/dist/lib/types/overlays/DynamicCellEditor.d.ts +15 -0
  155. package/dist/lib/types/overlays/DynamicCellEditor.d.ts.map +1 -0
  156. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts +33 -0
  157. package/dist/lib/types/overlays/HeaderFilterPopover.d.ts.map +1 -0
  158. package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts +18 -0
  159. package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts.map +1 -0
  160. package/dist/lib/types/overlays/SparklineModalOverlay.d.ts +18 -0
  161. package/dist/lib/types/overlays/SparklineModalOverlay.d.ts.map +1 -0
  162. package/dist/lib/types/renderer/CanvasRenderer.d.ts +45 -0
  163. package/dist/lib/types/renderer/CanvasRenderer.d.ts.map +1 -0
  164. package/dist/lib/types/renderer/GroupRowPainter.d.ts +10 -0
  165. package/dist/lib/types/renderer/GroupRowPainter.d.ts.map +1 -0
  166. package/dist/lib/types/renderer/SkeletonPainter.d.ts +5 -0
  167. package/dist/lib/types/renderer/SkeletonPainter.d.ts.map +1 -0
  168. package/dist/lib/types/theme/ColumnColorEngine.d.ts +52 -0
  169. package/dist/lib/types/theme/ColumnColorEngine.d.ts.map +1 -0
  170. package/dist/lib/types/theme/IGridTheme.d.ts +47 -0
  171. package/dist/lib/types/theme/IGridTheme.d.ts.map +1 -0
  172. package/dist/lib/types/theme/ThemeEngine.d.ts +10 -0
  173. package/dist/lib/types/theme/ThemeEngine.d.ts.map +1 -0
  174. package/dist/lib/types/theme/presets/appleDark.d.ts +3 -0
  175. package/dist/lib/types/theme/presets/appleDark.d.ts.map +1 -0
  176. package/dist/lib/types/theme/presets/appleLight.d.ts +3 -0
  177. package/dist/lib/types/theme/presets/appleLight.d.ts.map +1 -0
  178. package/dist/lib/types/theme/presets/googleDark.d.ts +3 -0
  179. package/dist/lib/types/theme/presets/googleDark.d.ts.map +1 -0
  180. package/dist/lib/types/theme/presets/googleLight.d.ts +3 -0
  181. package/dist/lib/types/theme/presets/googleLight.d.ts.map +1 -0
  182. package/dist/lib/types/types/filter.d.ts +28 -0
  183. package/dist/lib/types/types/filter.d.ts.map +1 -0
  184. package/dist/lib/types/types/grid.d.ts +464 -0
  185. package/dist/lib/types/types/grid.d.ts.map +1 -0
  186. package/dist/lib/types/types/group.d.ts +31 -0
  187. package/dist/lib/types/types/group.d.ts.map +1 -0
  188. package/dist/lib/types/types/store.d.ts +102 -0
  189. package/dist/lib/types/types/store.d.ts.map +1 -0
  190. package/dist/lib/types/ui/FormulaBar.d.ts +28 -0
  191. package/dist/lib/types/ui/FormulaBar.d.ts.map +1 -0
  192. package/dist/lib/types/ui/MaterialIcon.d.ts +28 -0
  193. package/dist/lib/types/ui/MaterialIcon.d.ts.map +1 -0
  194. package/dist/lib/types/ui/SheetGL.d.ts +73 -0
  195. package/dist/lib/types/ui/SheetGL.d.ts.map +1 -0
  196. package/dist/lib/types/ui/SheetGLLogo.d.ts +10 -0
  197. package/dist/lib/types/ui/SheetGLLogo.d.ts.map +1 -0
  198. package/dist/lib/types/ui/SummaryFooter.d.ts +31 -0
  199. package/dist/lib/types/ui/SummaryFooter.d.ts.map +1 -0
  200. package/dist/lib/types/ui/ToolBar.d.ts +48 -0
  201. package/dist/lib/types/ui/ToolBar.d.ts.map +1 -0
  202. package/dist/lib/types/version.d.ts +2 -0
  203. package/dist/lib/types/version.d.ts.map +1 -0
  204. package/package.json +77 -5
@@ -0,0 +1,464 @@
1
+ import { SummaryType } from './group';
2
+ import { BatchChanges, IDataStore } from './store';
3
+ export type ColumnId = string;
4
+ export type ColumnType = 'text' | 'number' | 'currency' | 'percent' | 'boolean' | 'select' | 'dropdown' | 'multiselect' | 'lookup' | 'object' | 'progress' | 'date' | 'datetime' | 'time' | 'email' | 'url' | 'pdf' | 'file' | 'phone' | 'color' | 'rating' | 'sparkline' | 'action' | (string & {});
5
+ export type ColumnPermission = 'write' | 'readonly' | 'read';
6
+ export type RowSelectionMode = 'none' | 'single' | 'multiple';
7
+ export interface SelectOption {
8
+ value: string;
9
+ label: string;
10
+ subtitle?: string;
11
+ icon?: string;
12
+ color?: string;
13
+ bgColor?: string;
14
+ bg?: string;
15
+ fg?: string;
16
+ darkBg?: string;
17
+ darkFg?: string;
18
+ }
19
+ export type ValidationRuleResult = boolean | string | void | {
20
+ valid: boolean;
21
+ message?: string;
22
+ };
23
+ /**
24
+ * DevExtreme-compatible Deferred object for asynchronous validation rules.
25
+ * Can be resolved with `true` (valid) or `false` (invalid, uses rule.message),
26
+ * or rejected with `reject("Custom error message")` / `reject()`.
27
+ */
28
+ export interface IDeferred<T = ValidationRuleResult> {
29
+ resolve: (result?: T) => void;
30
+ reject: (errorMessage?: string | {
31
+ valid?: boolean;
32
+ message?: string;
33
+ }) => void;
34
+ promise: () => Promise<ValidationRuleResult>;
35
+ }
36
+ export interface ValidationCallbackParams {
37
+ value: any;
38
+ data: Record<string, any>;
39
+ column: ColumnDef;
40
+ rule?: ValidationRule;
41
+ /**
42
+ * Built-in DevExtreme-style Deferred instance ready to use inside async validationCallback:
43
+ * `deferred.resolve(true)` / `deferred.resolve(false)` / `deferred.reject("Error")`
44
+ * and `return deferred.promise()` (or `return deferred`).
45
+ */
46
+ deferred: IDeferred<ValidationRuleResult>;
47
+ }
48
+ export type ValidationRule = {
49
+ type: 'required';
50
+ trim?: boolean;
51
+ message?: string;
52
+ } | {
53
+ type: 'range';
54
+ min?: number;
55
+ max?: number;
56
+ message?: string;
57
+ } | {
58
+ type: 'stringLength';
59
+ min?: number;
60
+ max?: number;
61
+ trim?: boolean;
62
+ message?: string;
63
+ } | {
64
+ type: 'pattern';
65
+ pattern: RegExp | string;
66
+ message?: string;
67
+ } | {
68
+ type: 'email';
69
+ ignoreEmptyValue?: boolean;
70
+ message?: string;
71
+ } | {
72
+ type: 'url';
73
+ ignoreEmptyValue?: boolean;
74
+ message?: string;
75
+ } | {
76
+ type: 'compare';
77
+ comparisonTarget: (row: Record<string, any>) => any;
78
+ comparisonType?: '==' | '!=' | '<' | '<=' | '>' | '>=';
79
+ message?: string;
80
+ } | {
81
+ type: 'custom';
82
+ validationCallback: (params: ValidationCallbackParams) => ValidationRuleResult;
83
+ message?: string;
84
+ } | {
85
+ type: 'async';
86
+ validationCallback: (params: ValidationCallbackParams) => Promise<ValidationRuleResult> | IDeferred<ValidationRuleResult> | ValidationRuleResult;
87
+ message?: string;
88
+ };
89
+ export interface CascadingUpdateContext {
90
+ rowKey: any;
91
+ columnId: string;
92
+ store: IDataStore;
93
+ }
94
+ /**
95
+ * Built-in semantic color presets that automatically adapt to both Dark and Light themes.
96
+ */
97
+ export type ColumnColorPreset = 'blue' | 'indigo' | 'violet' | 'purple' | 'emerald' | 'green' | 'teal' | 'cyan' | 'amber' | 'orange' | 'rose' | 'red' | 'slate';
98
+ /**
99
+ * A color value that can be a semantic preset ('emerald', 'blue', etc.),
100
+ * a CSS color string, or an explicit { light, dark } theme pair.
101
+ */
102
+ export type ThemeAwareColor = ColumnColorPreset | string | {
103
+ light: string;
104
+ dark: string;
105
+ };
106
+ /**
107
+ * Theme-aware styling configuration for a Column or Column Group.
108
+ * Supports semantic presets ('emerald', 'blue', 'amber', etc.), single CSS colors (auto-adapted),
109
+ * or explicit { light, dark } color pairs for full control over Dark & Light themes.
110
+ */
111
+ export interface ColumnColorConfig {
112
+ /**
113
+ * Semantic preset ('blue', 'emerald', 'violet', 'amber', 'rose', 'cyan', 'slate', etc.)
114
+ * that automatically styles group header, column header, and/or column cells
115
+ * for both Dark and Light themes.
116
+ */
117
+ preset?: ColumnColorPreset;
118
+ /**
119
+ * Column header background color (or { light, dark } pair).
120
+ */
121
+ headerBg?: ThemeAwareColor;
122
+ /**
123
+ * Column header text color (or { light, dark } pair).
124
+ */
125
+ headerText?: ThemeAwareColor;
126
+ /**
127
+ * Top/bottom accent line color on the header (or { light, dark } pair).
128
+ */
129
+ headerAccent?: ThemeAwareColor;
130
+ /**
131
+ * Column data cells background tint (or { light, dark } pair).
132
+ */
133
+ columnBg?: ThemeAwareColor;
134
+ /**
135
+ * Column data cells text color (or { light, dark } pair).
136
+ */
137
+ columnText?: ThemeAwareColor;
138
+ /**
139
+ * Group header band background color (when used on a ColumnGroupDef).
140
+ */
141
+ groupHeaderBg?: ThemeAwareColor;
142
+ /**
143
+ * Group header band text color (when used on a ColumnGroupDef).
144
+ */
145
+ groupHeaderText?: ThemeAwareColor;
146
+ /**
147
+ * Group header border / top bar accent color.
148
+ */
149
+ borderColor?: ThemeAwareColor;
150
+ }
151
+ /**
152
+ * Banded Column Group definition (`Sütun Grubu`).
153
+ * Groups multiple columns under a shared top header band with optional theme-aware colors.
154
+ */
155
+ export interface ColumnGroupDef {
156
+ /** Unique group identifier */
157
+ id: string;
158
+ /** Display title rendered in the top group header band */
159
+ title: string;
160
+ /** Optional subtitle or badge shown next to the group title */
161
+ subtitle?: string;
162
+ /** List of child column IDs belonging to this group (optional if columns specify `headerGroup` / `groupId`) */
163
+ columnIds?: string[];
164
+ /** Quick theme-aware color preset ('emerald', 'blue', 'amber', etc.) or { light, dark } color for the entire group */
165
+ color?: ThemeAwareColor;
166
+ /** Explicit header background color (or { light, dark } pair) for columns in this group */
167
+ headerColor?: ThemeAwareColor;
168
+ /** Explicit header text color (or { light, dark } pair) for columns in this group */
169
+ headerTextColor?: ThemeAwareColor;
170
+ /** Explicit data cell column background color (or { light, dark } pair) for columns in this group */
171
+ columnColor?: ThemeAwareColor;
172
+ /** Explicit data cell column text color (or { light, dark } pair) for columns in this group */
173
+ columnTextColor?: ThemeAwareColor;
174
+ /** Detailed theme-aware style overrides for group header, child headers, and child cells */
175
+ style?: ColumnColorConfig;
176
+ /**
177
+ * Whether child columns automatically inherit header & cell tint colors from this group (default: true).
178
+ */
179
+ inheritColumnColors?: boolean;
180
+ /** Text alignment of the group header title (default: 'center') */
181
+ align?: 'left' | 'center' | 'right';
182
+ }
183
+ export interface ColumnDef {
184
+ id: ColumnId;
185
+ title: string;
186
+ type: ColumnType;
187
+ width: number;
188
+ minWidth?: number;
189
+ maxWidth?: number;
190
+ pinned?: 'left' | 'right' | boolean;
191
+ readonly?: boolean;
192
+ permission?: ColumnPermission;
193
+ visible?: boolean;
194
+ align?: 'left' | 'center' | 'right';
195
+ sortable?: boolean;
196
+ filterable?: boolean;
197
+ groupable?: boolean;
198
+ currencySymbol?: string;
199
+ decimalDigits?: number;
200
+ showVarianceSign?: boolean;
201
+ objectDisplayKey?: string;
202
+ options?: SelectOption[];
203
+ sparklineColor?: string;
204
+ buttonText?: string;
205
+ onActionClick?: (row: any, rowIndex: number) => void;
206
+ /** Custom handler when clicking PDF view button in a 'pdf' or 'file' column */
207
+ onPdfClick?: (url: string, row: any, rowIndex: number) => void;
208
+ /** Custom handler when clicking Open in New Tab button in a 'pdf' or 'file' column */
209
+ onPdfOpenNewTabClick?: (url: string, row: any, rowIndex: number) => void;
210
+ /** Optional URL prefix prepended to relative file/document paths */
211
+ urlPrefix?: string;
212
+ headerTooltip?: string;
213
+ defaultValue?: any;
214
+ summaryType?: SummaryType;
215
+ /**
216
+ * Banded Column Group assignment: can be a group ID / group title string,
217
+ * or an inline ColumnGroupDef object.
218
+ */
219
+ headerGroup?: string | ColumnGroupDef;
220
+ /**
221
+ * Alias for `headerGroup` (references a `ColumnGroupDef.id` in `columnGroups`).
222
+ */
223
+ groupId?: string;
224
+ /**
225
+ * Quick theme-aware color preset ('blue', 'emerald', 'amber', 'rose', 'violet', etc.)
226
+ * or { light, dark } color that styles both the column header and cells.
227
+ */
228
+ color?: ThemeAwareColor;
229
+ /**
230
+ * Theme-aware header background color (`string | ColumnColorPreset | { light: string; dark: string }`).
231
+ */
232
+ headerColor?: ThemeAwareColor;
233
+ /**
234
+ * Theme-aware header text color (`string | { light: string; dark: string }`).
235
+ */
236
+ headerTextColor?: ThemeAwareColor;
237
+ /**
238
+ * Theme-aware column data cell background color (`string | ColumnColorPreset | { light: string; dark: string }`).
239
+ */
240
+ columnColor?: ThemeAwareColor;
241
+ /**
242
+ * Theme-aware column data cell text color (`string | { light: string; dark: string }`).
243
+ */
244
+ columnTextColor?: ThemeAwareColor;
245
+ /**
246
+ * Detailed theme-aware color & surface overrides for header and column cells.
247
+ */
248
+ style?: ColumnColorConfig;
249
+ /**
250
+ * Conditional permission callback per row/cell (cell-level allowEditing rule)
251
+ */
252
+ canEdit?: (row: any, column: ColumnDef) => boolean;
253
+ /**
254
+ * Declarative DevExtreme/AG-Grid style static & async validation rules
255
+ */
256
+ validationRules?: ValidationRule[];
257
+ /**
258
+ * Cell validation callback (supports both synchronous/static and async Promise validation)
259
+ */
260
+ validator?: (value: any, row: any, column: ColumnDef) => ValidationRuleResult | Promise<ValidationRuleResult>;
261
+ /**
262
+ * Enterprise setCellValue cascading hook (sync or async backend fetch).
263
+ * Can mutate `newData` or return a Promise resolving to a partial row patch fetched from backend.
264
+ */
265
+ setCellValue?: (newData: Record<string, any>, value: any, currentRowData: Record<string, any>, context: CascadingUpdateContext) => void | Record<string, any> | Promise<void | Record<string, any>>;
266
+ }
267
+ export interface GridPermissions {
268
+ mode?: 'write' | 'read' | 'readonly';
269
+ allowAdding?: boolean;
270
+ allowUpdating?: boolean;
271
+ allowDeleting?: boolean;
272
+ allowDuplicating?: boolean;
273
+ allowClipboardPaste?: boolean;
274
+ allowExport?: boolean;
275
+ allowFiltering?: boolean;
276
+ allowSorting?: boolean;
277
+ allowGrouping?: boolean;
278
+ allowBatchSave?: boolean;
279
+ }
280
+ export interface EditingStartEvent {
281
+ row: Record<string, any>;
282
+ rowKey: any;
283
+ rowIndex: number;
284
+ column: ColumnDef;
285
+ value: any;
286
+ cancel?: boolean;
287
+ }
288
+ export interface CellValueChangingEvent {
289
+ row: Record<string, any>;
290
+ rowKey: any;
291
+ rowIndex: number;
292
+ column: ColumnDef;
293
+ oldValue: any;
294
+ newValue: any;
295
+ cancel?: boolean;
296
+ errorMessage?: string;
297
+ }
298
+ export interface CellValueChangedEvent {
299
+ row: Record<string, any>;
300
+ rowKey: any;
301
+ rowIndex: number;
302
+ column: ColumnDef;
303
+ oldValue: any;
304
+ newValue: any;
305
+ updateRow: (patch: Record<string, any>) => void;
306
+ }
307
+ export interface RowInsertingEvent {
308
+ data: Record<string, any>;
309
+ targetRowIndex?: number;
310
+ cancel?: boolean;
311
+ }
312
+ export interface RowInsertedEvent {
313
+ data: Record<string, any>;
314
+ key: any;
315
+ }
316
+ export interface RowUpdatingEvent {
317
+ key: any;
318
+ oldData: Record<string, any>;
319
+ newData: Record<string, any>;
320
+ cancel?: boolean;
321
+ }
322
+ export interface RowUpdatedEvent {
323
+ key: any;
324
+ data: Record<string, any>;
325
+ }
326
+ export interface RowRemovingEvent {
327
+ key: any;
328
+ data: Record<string, any>;
329
+ cancel?: boolean;
330
+ }
331
+ export interface RowRemovedEvent {
332
+ key: any;
333
+ data: Record<string, any>;
334
+ }
335
+ export interface SavingEvent {
336
+ changes: BatchChanges;
337
+ cancel?: boolean;
338
+ }
339
+ export interface SavedEvent {
340
+ changes: BatchChanges;
341
+ }
342
+ export interface GridEventLogEntry {
343
+ id: string;
344
+ timestamp: string;
345
+ eventName: string;
346
+ summary: string;
347
+ payload?: any;
348
+ status?: 'info' | 'success' | 'warning' | 'async';
349
+ }
350
+ export interface CellCoords {
351
+ row: number;
352
+ col: number;
353
+ }
354
+ export interface CellRange {
355
+ startRow: number;
356
+ startCol: number;
357
+ endRow: number;
358
+ endCol: number;
359
+ }
360
+ export interface ActiveOverlayState {
361
+ row: number;
362
+ col: number;
363
+ x: number;
364
+ y: number;
365
+ width: number;
366
+ height: number;
367
+ column: ColumnDef;
368
+ initialValue: any;
369
+ initialChar?: string;
370
+ }
371
+ /**
372
+ * Toolbar button display mode:
373
+ * - 'icon': Only Google Material Symbols icon
374
+ * - 'icon-text': Google Material Symbols icon + text label
375
+ * - 'text': Only text label
376
+ */
377
+ export type ToolbarButtonDisplayMode = 'icon' | 'icon-text' | 'text';
378
+ export interface GridToolbarCustomItem {
379
+ id: string;
380
+ label: string;
381
+ /** Google Material Symbols icon name (from https://fonts.google.com/icons), e.g. 'refresh', 'print', 'upload_file' */
382
+ icon?: string;
383
+ tooltip?: string;
384
+ position?: 'left' | 'right';
385
+ /** Overrides the toolbar-level buttonDisplayMode for this item */
386
+ displayMode?: ToolbarButtonDisplayMode;
387
+ disabled?: boolean;
388
+ active?: boolean;
389
+ variant?: 'default' | 'primary' | 'danger' | 'success';
390
+ onClick: () => void;
391
+ }
392
+ export interface GridToolbarConfig {
393
+ /** Whether the toolbar is visible (default: true) */
394
+ visible?: boolean;
395
+ /**
396
+ * Controls how action buttons are rendered across the toolbar:
397
+ * - 'icon': Only Google Material Symbols icon
398
+ * - 'icon-text': Google Material Symbols icon + text label (default)
399
+ * - 'text': Only text label
400
+ */
401
+ buttonDisplayMode?: ToolbarButtonDisplayMode;
402
+ /** Allow switching buttonDisplayMode ('icon' | 'icon-text' | 'text') interactively in the toolbar UI (default: true) */
403
+ allowDisplayModeSwitch?: boolean;
404
+ /** Show SheetGL brand badge on the left (default: true) */
405
+ showBrand?: boolean;
406
+ /** Show Add Row button (default: true) */
407
+ showAddRow?: boolean;
408
+ /** Show Duplicate Row button (default: true) */
409
+ showDuplicateRow?: boolean;
410
+ /** Show Delete Row button (default: true) */
411
+ showDeleteRow?: boolean;
412
+ /** Show Undo / Redo buttons (default: true) */
413
+ showUndoRedo?: boolean;
414
+ /** Show global search input (default: true) */
415
+ showSearch?: boolean;
416
+ /** Show Group By selector (default: true) */
417
+ showGroupBy?: boolean;
418
+ /** Show Clear Active Filters button when filters exist (default: true) */
419
+ showClearFilters?: boolean;
420
+ /** Show Batch Save / Discard controls when there are unsaved changes (default: true) */
421
+ showBatchActions?: boolean;
422
+ /** Show Row Selection Mode switcher ('none' | 'single' | 'multiple') in toolbar */
423
+ showSelectionModeSwitch?: boolean;
424
+ /** Show Permission Mode switcher (default: true) */
425
+ showPermissionsSwitch?: boolean;
426
+ /** Show Column Settings & Summary configuration popover button (default: true) */
427
+ showColumnSettings?: boolean;
428
+ /** Show Locale (EN / TR) switcher (default: true) */
429
+ showLocaleSwitch?: boolean;
430
+ /** Show Theme preset switcher (default: true) */
431
+ showThemeSwitch?: boolean;
432
+ /** Show Export CSV button (default: true) */
433
+ showExportCsv?: boolean;
434
+ /** Custom toolbar action items with Google Material Symbols icon support */
435
+ customItems?: GridToolbarCustomItem[];
436
+ }
437
+ export type SelectionStatMetric = 'cells' | 'count' | 'numeric' | 'sum' | 'avg' | 'min' | 'max';
438
+ export interface GridSummaryItemConfig {
439
+ columnId: string;
440
+ summaryType: SummaryType;
441
+ label?: string;
442
+ prefix?: string;
443
+ suffix?: string;
444
+ decimalDigits?: number;
445
+ }
446
+ export interface GridSummaryConfig {
447
+ /** Whether the bottom Summary Row / Footer is visible (default: true) */
448
+ visible?: boolean;
449
+ /** Show total row count badge on the left (default: true) */
450
+ showTotalCount?: boolean;
451
+ /** Show live Excel range selection statistics in the center (default: true) */
452
+ showSelectionStats?: boolean;
453
+ /** Which selection metrics to display when multiple cells are selected */
454
+ selectionMetrics?: SelectionStatMetric[];
455
+ /** Show column aggregation summary pills on the right (default: true) */
456
+ showColumnSummaries?: boolean;
457
+ /** Allow user to interactively add/remove/change column summary aggregations in the UI (default: true) */
458
+ allowConfiguration?: boolean;
459
+ /** Map of columnId -> SummaryType ('sum' | 'avg' | 'min' | 'max' | 'count' | 'none') */
460
+ columnSummaryTypes?: Record<string, SummaryType>;
461
+ /** Declarative list of summary items (DevExtreme-style totalItems) */
462
+ items?: GridSummaryItemConfig[];
463
+ }
464
+ //# sourceMappingURL=grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/types/grid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export interface GroupDescriptor {
2
+ selector: string;
3
+ isExpanded?: boolean;
4
+ }
5
+ export type SummaryType = 'sum' | 'avg' | 'min' | 'max' | 'count' | 'none';
6
+ export interface SummaryDescriptor {
7
+ selector: string;
8
+ summaryType: SummaryType;
9
+ label?: string;
10
+ }
11
+ export interface ComputedSummaryValue {
12
+ selector: string;
13
+ summaryType: SummaryType;
14
+ value: number;
15
+ }
16
+ export type VirtualRow = {
17
+ type: 'group';
18
+ level: number;
19
+ groupKey: string;
20
+ field: string;
21
+ value: any;
22
+ rowCount: number;
23
+ isExpanded: boolean;
24
+ summaries?: Record<string, number>;
25
+ summaryTypes?: Record<string, SummaryType>;
26
+ } | {
27
+ type: 'data';
28
+ rawIndex: number;
29
+ data: Record<string, any>;
30
+ };
31
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/types/group.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;AAE3E,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,GAAG,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CAC5C,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,CAAC"}
@@ -0,0 +1,102 @@
1
+ import { FilterDescriptor, SortDescriptor, DistinctItem } from './filter';
2
+ import { GroupDescriptor, SummaryDescriptor, SummaryType, VirtualRow } from './group';
3
+ export interface DataGridQuery {
4
+ skip?: number;
5
+ take?: number;
6
+ filter?: FilterDescriptor | null;
7
+ sort?: SortDescriptor[];
8
+ group?: GroupDescriptor[];
9
+ groupSummary?: SummaryDescriptor[];
10
+ totalSummary?: SummaryDescriptor[];
11
+ search?: string;
12
+ }
13
+ export interface LoadResult {
14
+ data: any[];
15
+ totalCount: number;
16
+ summary?: number[];
17
+ groupCount?: number;
18
+ }
19
+ export interface RemoteOperationsConfig {
20
+ paging?: boolean;
21
+ filtering?: boolean;
22
+ sorting?: boolean;
23
+ grouping?: boolean;
24
+ summary?: boolean;
25
+ distinct?: boolean;
26
+ }
27
+ export interface BatchUpdatedItem {
28
+ key: any;
29
+ values: Record<string, any>;
30
+ oldValues?: Record<string, any>;
31
+ rowData?: Record<string, any>;
32
+ }
33
+ export interface BatchDeletedItem {
34
+ key: any;
35
+ data: Record<string, any>;
36
+ }
37
+ export interface BatchChanges {
38
+ inserted?: any[];
39
+ updated?: BatchUpdatedItem[];
40
+ deleted?: any[];
41
+ deletedRowsData?: BatchDeletedItem[];
42
+ }
43
+ export interface IReadableStore {
44
+ getRowCount(): number;
45
+ /** Returns matching data record count after active filters/search (independent of collapsed group rows) */
46
+ getFilteredRowCount?(): number;
47
+ /** Returns total unfiltered dataset record count */
48
+ getTotalDatasetRowCount?(): number;
49
+ getViewRow(rowIndex: number): VirtualRow | undefined;
50
+ ensureRange(startRow: number, endRow: number): Promise<void>;
51
+ on(event: 'loading' | 'loaded' | 'error', callback: (...args: any[]) => void): void;
52
+ off(event: 'loading' | 'loaded' | 'error', callback: (...args: any[]) => void): void;
53
+ }
54
+ export interface IFilterableStore {
55
+ setFilter(filter: FilterDescriptor | null): Promise<void>;
56
+ setSearch(keyword: string): Promise<void>;
57
+ getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
58
+ }
59
+ export interface ISortableStore {
60
+ setSorting(sortRules: SortDescriptor[]): Promise<void>;
61
+ }
62
+ export interface IGroupableStore {
63
+ setGrouping(groupDescriptors: GroupDescriptor[]): Promise<void>;
64
+ toggleGroup(groupKey: string): Promise<void>;
65
+ expandAllGroups?(): void;
66
+ collapseAllGroups?(): void;
67
+ }
68
+ export interface IMutableStore {
69
+ setCell(rowKey: any, columnId: string, value: any): Promise<void>;
70
+ setCellsBatch?(updates: Array<{
71
+ rowKey: any;
72
+ columnId: string;
73
+ value: any;
74
+ }>): Promise<void>;
75
+ commitBatch(changes: BatchChanges): Promise<void>;
76
+ updateRowFields?(rowKey: any, patch: Record<string, any>): Promise<void>;
77
+ insertRow?(rowData: Record<string, any>, targetViewRowIndex?: number): Promise<any>;
78
+ duplicateRow?(rowKey: any, targetViewRowIndex?: number): Promise<any>;
79
+ deleteRow?(rowKey: any): Promise<void>;
80
+ deleteRowsBatch?(rowKeys: any[], onProgress?: (processed: number, total: number) => void): Promise<number>;
81
+ restoreRow?(rowData: Record<string, any>, rawIndex?: number): Promise<void>;
82
+ setBatchMode?(enabled: boolean): void;
83
+ isBatchMode?(): boolean;
84
+ getPendingChanges?(): BatchChanges;
85
+ getPendingChangesCount?(): number;
86
+ hasPendingChanges?(): boolean;
87
+ isCellDirty?(rowKey: any, columnId: string): boolean;
88
+ isColumnDirty?(columnId: string): boolean;
89
+ isRowInserted?(rowKey: any): boolean;
90
+ saveBatchChanges?(): Promise<BatchChanges>;
91
+ discardBatchChanges?(): void;
92
+ revertPendingDelete?(rowKey: any): void;
93
+ revertPendingUpdate?(rowKey: any, columnId?: string): void;
94
+ revertPendingInsert?(rowKey: any): void;
95
+ }
96
+ export interface IDataStore extends IReadableStore, IFilterableStore, ISortableStore, IGroupableStore, IMutableStore {
97
+ getSummaries(): Record<string, number> | undefined;
98
+ getSummaryTypes?(): Record<string, SummaryType>;
99
+ setSummaryType?(columnId: string, summaryType: SummaryType): void;
100
+ isRemote(): boolean;
101
+ }
102
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/types/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { IGridThemeTokens } from '../theme/IGridTheme';
3
+ import { ColumnDef, ToolbarButtonDisplayMode } from '../types/grid';
4
+ import { IGridLocale } from '../i18n/IGridLocale';
5
+ export interface FormulaBarProps {
6
+ activeCoords: {
7
+ row: number;
8
+ col: number;
9
+ };
10
+ selectionSpan?: {
11
+ rows: number;
12
+ cols: number;
13
+ };
14
+ column?: ColumnDef;
15
+ currentValue: any;
16
+ isEditable?: boolean;
17
+ canDuplicate?: boolean;
18
+ buttonDisplayMode?: ToolbarButtonDisplayMode;
19
+ onCommitValue?: (newValue: any) => void;
20
+ onDuplicateDown?: () => void;
21
+ onDuplicateRight?: () => void;
22
+ onDuplicateRow?: () => void;
23
+ onOpenSparklineModal?: () => void;
24
+ theme: IGridThemeTokens;
25
+ locale?: IGridLocale;
26
+ }
27
+ export declare const FormulaBar: React.FC<FormulaBarProps>;
28
+ //# sourceMappingURL=FormulaBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormulaBar.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/ui/FormulaBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+C,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,aAAa,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,KAAK,EAAE,gBAAgB,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AA8oBD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAyahD,CAAC"}