@genesislcap/grid-tabulator 14.262.1 → 14.262.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 (135) hide show
  1. package/dist/custom-elements.json +2613 -117
  2. package/dist/dts/cell/cell.d.ts +50 -0
  3. package/dist/dts/cell/cell.d.ts.map +1 -0
  4. package/dist/dts/cell/index.d.ts +1 -1
  5. package/dist/dts/cell/index.d.ts.map +1 -1
  6. package/dist/dts/cell-editors/date.editor.d.ts +75 -0
  7. package/dist/dts/cell-editors/date.editor.d.ts.map +1 -0
  8. package/dist/dts/cell-editors/index.d.ts +6 -0
  9. package/dist/dts/cell-editors/index.d.ts.map +1 -0
  10. package/dist/dts/cell-editors/multiselect.editor.d.ts +79 -0
  11. package/dist/dts/cell-editors/multiselect.editor.d.ts.map +1 -0
  12. package/dist/dts/cell-editors/number.editor.d.ts +76 -0
  13. package/dist/dts/cell-editors/number.editor.d.ts.map +1 -0
  14. package/dist/dts/cell-editors/select.editor.d.ts +83 -0
  15. package/dist/dts/cell-editors/select.editor.d.ts.map +1 -0
  16. package/dist/dts/cell-editors/string.editor.d.ts +67 -0
  17. package/dist/dts/cell-editors/string.editor.d.ts.map +1 -0
  18. package/dist/dts/cell-formatters/action.formatter.d.ts +45 -0
  19. package/dist/dts/cell-formatters/action.formatter.d.ts.map +1 -0
  20. package/dist/dts/cell-formatters/actions-menu.formatter.d.ts +57 -0
  21. package/dist/dts/cell-formatters/actions-menu.formatter.d.ts.map +1 -0
  22. package/dist/dts/cell-formatters/boolean.formatter.d.ts +27 -0
  23. package/dist/dts/cell-formatters/boolean.formatter.d.ts.map +1 -0
  24. package/dist/dts/cell-formatters/constants.d.ts +31 -0
  25. package/dist/dts/cell-formatters/constants.d.ts.map +1 -0
  26. package/dist/dts/cell-formatters/editable.formatter.d.ts +40 -0
  27. package/dist/dts/cell-formatters/editable.formatter.d.ts.map +1 -0
  28. package/dist/dts/cell-formatters/index.d.ts +27 -0
  29. package/dist/dts/cell-formatters/index.d.ts.map +1 -0
  30. package/dist/dts/cell-formatters/select.formatter.d.ts +43 -0
  31. package/dist/dts/cell-formatters/select.formatter.d.ts.map +1 -0
  32. package/dist/dts/cell-formatters/text.formatter.d.ts +36 -0
  33. package/dist/dts/cell-formatters/text.formatter.d.ts.map +1 -0
  34. package/dist/dts/column/column.d.ts +340 -0
  35. package/dist/dts/column/column.d.ts.map +1 -0
  36. package/dist/dts/column/index.d.ts +1 -1
  37. package/dist/dts/column/index.d.ts.map +1 -1
  38. package/dist/dts/datasource/client-side.datasource.d.ts +42 -16
  39. package/dist/dts/datasource/client-side.datasource.d.ts.map +1 -1
  40. package/dist/dts/grid-tabulator.components.d.ts +52 -4
  41. package/dist/dts/grid-tabulator.components.d.ts.map +1 -1
  42. package/dist/dts/grid-tabulator.d.ts +119 -11
  43. package/dist/dts/grid-tabulator.d.ts.map +1 -1
  44. package/dist/dts/grid-tabulator.definitions.d.ts +35 -0
  45. package/dist/dts/grid-tabulator.definitions.d.ts.map +1 -1
  46. package/dist/dts/grid-tabulator.styles.d.ts.map +1 -1
  47. package/dist/dts/grid-tabulator.types.d.ts +13 -1
  48. package/dist/dts/grid-tabulator.types.d.ts.map +1 -1
  49. package/dist/dts/index.d.ts +3 -1
  50. package/dist/dts/index.d.ts.map +1 -1
  51. package/dist/dts/types.d.ts +27 -0
  52. package/dist/dts/types.d.ts.map +1 -0
  53. package/dist/dts/utils/index.d.ts +1 -0
  54. package/dist/dts/utils/index.d.ts.map +1 -1
  55. package/dist/dts/utils/string-utils.d.ts +17 -0
  56. package/dist/dts/utils/string-utils.d.ts.map +1 -0
  57. package/dist/esm/cell/cell.js +66 -0
  58. package/dist/esm/cell/index.js +1 -1
  59. package/dist/esm/cell-editors/date.editor.js +92 -0
  60. package/dist/esm/cell-editors/index.js +5 -0
  61. package/dist/esm/cell-editors/multiselect.editor.js +105 -0
  62. package/dist/esm/cell-editors/number.editor.js +84 -0
  63. package/dist/esm/cell-editors/select.editor.js +91 -0
  64. package/dist/esm/cell-editors/string.editor.js +82 -0
  65. package/dist/esm/cell-formatters/action.formatter.js +73 -0
  66. package/dist/esm/cell-formatters/actions-menu.formatter.js +68 -0
  67. package/dist/esm/cell-formatters/boolean.formatter.js +25 -0
  68. package/dist/esm/cell-formatters/constants.js +31 -0
  69. package/dist/esm/cell-formatters/editable.formatter.js +21 -0
  70. package/dist/esm/cell-formatters/index.js +26 -0
  71. package/dist/esm/cell-formatters/select.formatter.js +32 -0
  72. package/dist/esm/cell-formatters/text.formatter.js +30 -0
  73. package/dist/esm/column/column.js +51 -0
  74. package/dist/esm/column/index.js +1 -1
  75. package/dist/esm/datasource/client-side.datasource.js +219 -91
  76. package/dist/esm/grid-tabulator.components.js +24 -11
  77. package/dist/esm/grid-tabulator.definitions.js +30 -0
  78. package/dist/esm/grid-tabulator.js +392 -27
  79. package/dist/esm/grid-tabulator.styles.js +15 -0
  80. package/dist/esm/grid-tabulator.types.js +13 -0
  81. package/dist/esm/index.js +1 -1
  82. package/dist/esm/types.js +1 -0
  83. package/dist/esm/utils/index.js +1 -0
  84. package/dist/esm/utils/string-utils.js +32 -0
  85. package/dist/grid-tabulator.api.json +1703 -466
  86. package/dist/grid-tabulator.d.ts +1237 -124
  87. package/docs/api/grid-tabulator.actionformatter.md +27 -0
  88. package/docs/api/grid-tabulator.actionsmenuformatter.md +27 -0
  89. package/docs/api/grid-tabulator.booleanformatter.md +27 -0
  90. package/docs/api/grid-tabulator.cellrendererfunc.md +15 -0
  91. package/docs/api/grid-tabulator.cellrendererparams.cell.md +13 -0
  92. package/docs/api/grid-tabulator.cellrendererparams.data.md +13 -0
  93. package/docs/api/grid-tabulator.cellrendererparams.formatterparams.md +13 -0
  94. package/docs/api/grid-tabulator.cellrendererparams.md +23 -0
  95. package/docs/api/grid-tabulator.cellrendererparams.value.md +13 -0
  96. package/docs/api/grid-tabulator.editableformatter.md +27 -0
  97. package/docs/api/grid-tabulator.foundationgridtabulatorcomponents.md +50 -4
  98. package/docs/api/grid-tabulator.gridtabulatorcell.connectedcallback.md +15 -0
  99. package/docs/api/grid-tabulator.gridtabulatorcell.destroy.md +15 -0
  100. package/docs/api/grid-tabulator.gridtabulatorcell.getelement.md +15 -0
  101. package/docs/api/grid-tabulator.gridtabulatorcell.init.md +22 -0
  102. package/docs/api/grid-tabulator.gridtabulatorcell.md +38 -0
  103. package/docs/api/grid-tabulator.gridtabulatorcell.refresh.md +22 -0
  104. package/docs/api/grid-tabulator.gridtabulatorcell.renderer.md +11 -0
  105. package/docs/api/grid-tabulator.gridtabulatorcell.rendererparams.md +11 -0
  106. package/docs/api/grid-tabulator.gridtabulatorcell.slottedrenderer.md +11 -0
  107. package/docs/api/grid-tabulator.gridtabulatorcell.slottedrendererchanged.md +15 -0
  108. package/docs/api/grid-tabulator.gridtabulatorcelleditortypes.md +24 -0
  109. package/docs/api/grid-tabulator.gridtabulatorcellrenderertypes.md +1 -0
  110. package/docs/api/grid-tabulator.gridtabulatorcolumn.deepclone.md +15 -0
  111. package/docs/api/grid-tabulator.gridtabulatorcolumn.definition.md +11 -0
  112. package/docs/api/grid-tabulator.gridtabulatorcolumn.md +33 -0
  113. package/docs/api/grid-tabulator.gridtabulatorcolumn.slottedcell.md +11 -0
  114. package/docs/api/grid-tabulator.gridtabulatorcolumn.slottedcellchanged.md +15 -0
  115. package/docs/api/grid-tabulator.md +11 -5
  116. package/docs/api/grid-tabulator.selectformatter.md +27 -0
  117. package/docs/api/grid-tabulator.textformatter.md +27 -0
  118. package/docs/api-report.md +328 -36
  119. package/package.json +16 -15
  120. package/dist/dts/cell-renderers/action.renderer.d.ts +0 -80
  121. package/dist/dts/cell-renderers/action.renderer.d.ts.map +0 -1
  122. package/dist/dts/cell-renderers/index.d.ts +0 -2
  123. package/dist/dts/cell-renderers/index.d.ts.map +0 -1
  124. package/dist/esm/cell-renderers/action.renderer.js +0 -107
  125. package/dist/esm/cell-renderers/index.js +0 -1
  126. package/docs/api/grid-tabulator.actionheightmultiplier.md +0 -18
  127. package/docs/api/grid-tabulator.actionrenderer.clickhandler.md +0 -15
  128. package/docs/api/grid-tabulator.actionrenderer.datatestid.md +0 -11
  129. package/docs/api/grid-tabulator.actionrenderer.init.md +0 -22
  130. package/docs/api/grid-tabulator.actionrenderer.md +0 -30
  131. package/docs/api/grid-tabulator.actionrenderer.params.md +0 -11
  132. package/docs/api/grid-tabulator.actionrenderer.pendingaction.md +0 -11
  133. package/docs/api/grid-tabulator.actionrendererparams.md +0 -26
  134. package/docs/api/grid-tabulator.foundationgridtabulatoractionrenderer.md +0 -26
  135. package/docs/api/grid-tabulator.tabulatoractionrendererstyles.md +0 -13
@@ -1,9 +1,9 @@
1
1
  import { Auth } from '@genesislcap/foundation-comms';
2
2
  import { CellComponent } from 'tabulator-tables';
3
+ import { ColumnDefinition as ColumnDefinition_2 } from 'tabulator-tables';
3
4
  import { Connect } from '@genesislcap/foundation-comms';
4
5
  import type { Container } from '@microsoft/fast-foundation';
5
6
  import { Controller } from '@microsoft/fast-element';
6
- import { CSSDesignToken } from '@microsoft/fast-foundation';
7
7
  import { CSSVarTokenMap } from '@genesislcap/foundation-ui';
8
8
  import { Datasource } from '@genesislcap/foundation-comms';
9
9
  import { DatasourceStatus } from '@genesislcap/foundation-comms';
@@ -12,79 +12,253 @@ import { DOMContainer } from '@genesislcap/foundation-utils';
12
12
  import { DownloadOptions } from 'tabulator-tables';
13
13
  import { ElementStyles } from '@microsoft/fast-element';
14
14
  import { FilterParams } from 'tabulator-tables';
15
+ import type { Formatter } from 'tabulator-tables';
15
16
  import { FormatterParams } from 'tabulator-tables';
16
17
  import { FoundationElement } from '@microsoft/fast-foundation';
17
18
  import { FoundationElementRegistry } from '@microsoft/fast-foundation';
18
19
  import { FoundationLayoutContainer } from '@genesislcap/foundation-utils';
19
20
  import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
20
21
  import { Logger } from '@genesislcap/foundation-logger';
21
- import { Options } from 'tabulator-tables';
22
+ import { Options as Options_2 } from 'tabulator-tables';
22
23
  import { OverrideFoundationElementDefinition } from '@microsoft/fast-foundation';
23
24
  import { RowRangeLookup } from 'tabulator-tables';
24
25
  import { TabulatorFull } from 'tabulator-tables';
25
26
  import { ViewTemplate } from '@microsoft/fast-element';
26
27
 
27
28
  /**
28
- * The base height multiplier for the action renderer.
29
- * @remarks Results in `--action-height-multiplier`. This is a DesignToken {@link https://www.fast.design/docs/design-systems/design-tokens/#what-is-a-design-token} value. Defaults to `0.6px`. May have other values depending on the design system or can be set to a different value.
29
+ * Formatter that displays an action button in the cell.
30
+ * Styled to match grid-pro action renderer.
31
+ *
32
+ * @param cell - The cell component provided by Tabulator
33
+ * @param formatterParams - Action formatter parameters
34
+ * @returns HTML content for the action button
35
+ * @public
36
+ */
37
+ export declare function actionFormatter(cell: any, formatterParams?: ActionFormatterParams): string;
38
+
39
+ /**
40
+ * Parameters for the action formatter.
41
+ *
42
+ * `actionClick`: Callback function triggered when the action button is clicked.
43
+ *
44
+ * `actionName`: The name or label of the action button.
45
+ *
46
+ * `appearance`: The appearance style of the action button.
47
+ *
48
+ * `dataTestId`: The data-test-id attribute value to be used for E2E testing.
49
+ *
50
+ * `isDisabled`: Function to determine whether the action button should be disabled for a specific row.
51
+ *
52
+ * `uniqueFieldName`: A unique field name used to identify the action button for E2E testing.
53
+ *
54
+ * `prefix`: The prefix to use for the button element, e.g., 'foundation', 'zero', 'rapid'. Defaults to 'foundation' if not specified.
55
+ *
56
+ * `actionButtonStyle`: Optional styling for the action button.
57
+ *
58
+ * `contentTemplate`: Used to render some arbitrary content inside the action button.
59
+ *
60
+ * @alpha
61
+ */
62
+ export declare interface ActionFormatterParams {
63
+ actionClick?: (rowData: any) => void;
64
+ actionName?: string;
65
+ appearance?: string;
66
+ dataTestId?: string;
67
+ isDisabled?: (rowData: any) => boolean;
68
+ uniqueFieldName?: string;
69
+ prefix?: string;
70
+ actionButtonStyle?: string;
71
+ contentTemplate?: string;
72
+ }
73
+
74
+ /**
75
+ * Formatter that displays a dropdown menu of actions in the cell.
76
+ * Styled to match grid-pro actions-menu renderer.
77
+ *
78
+ * @param cell - The cell component provided by Tabulator
79
+ * @param formatterParams - Actions menu formatter parameters
80
+ * @returns HTML content for the actions menu
30
81
  * @public
31
82
  */
32
- export declare const actionHeightMultiplier: CSSDesignToken<string>;
83
+ export declare function actionsMenuFormatter(cell: any, formatterParams?: ActionsMenuFormatterParams): string;
84
+
85
+ /**
86
+ * Parameters for the actions menu formatter
87
+ *
88
+ * `actions`: The array of actions to display in the menu.
89
+ *
90
+ * `prefix`: The prefix to use for the actions-menu element, e.g., 'foundation', 'zero', 'rapid'.
91
+ *
92
+ * `menuName`: Custom name for the menu button (if not set, will use foundation: '⋮' or other: '+')
93
+ *
94
+ * `isVertical`: Optional flag to display the menu vertically. Default is false.
95
+ *
96
+ * `buttonAppearance`: Optional appearance for the button that opens the menu.
97
+ *
98
+ * @alpha
99
+ */
100
+ export declare interface ActionsMenuFormatterParams {
101
+ actions?: Array<{
102
+ name: string;
103
+ callback: (rowData: any) => void;
104
+ isDisabled?: (rowData: any) => boolean;
105
+ }>;
106
+ prefix?: string;
107
+ menuName?: string;
108
+ isVertical?: boolean;
109
+ buttonAppearance?: string;
110
+ }
33
111
 
34
112
  /**
35
- * The Tabulator Action Renderer element.
113
+ * Formatter that displays boolean values using a checkbox component.
114
+ * Styled to match grid-pro boolean renderer.
115
+ *
116
+ * @param cell - The cell component provided by Tabulator
117
+ * @param formatterParams - Boolean formatter parameters
118
+ * @returns HTML content for the boolean value
36
119
  * @public
37
- * @tagname %%prefix%%-grid-tabulator-action-renderer
38
- */
39
- export declare class ActionRenderer extends FoundationElement {
40
- params: ActionRendererParams;
41
- pendingAction: boolean;
42
- init(params: ActionRendererParams): void;
43
- clickHandler(): Promise<void>;
44
- get dataTestId(): any;
120
+ */
121
+ export declare function booleanFormatter(cell: any, formatterParams?: BooleanFormatterParams): string;
122
+
123
+ /**
124
+ * Parameters for the boolean formatter
125
+ *
126
+ * `isDisabled`: Function to determine whether the checkbox should be disabled for a specific row
127
+ *
128
+ * `dataTestId`: Data test ID for testing
129
+ *
130
+ * `prefix`: The prefix to use for the checkbox element, e.g., 'foundation', 'zero', 'rapid'. Defaults to 'foundation' if not specified.
131
+ *
132
+ * @alpha
133
+ */
134
+ export declare interface BooleanFormatterParams {
135
+ isDisabled?: (rowData: any) => boolean;
136
+ dataTestId?: string;
137
+ prefix?: string;
45
138
  }
46
139
 
140
+ export { CellComponent }
141
+
142
+ /**
143
+ * Function type for cell renderer
144
+ * @public
145
+ */
146
+ export declare type CellRendererFunc = (params: CellRendererParams) => HTMLElement | string;
147
+
47
148
  /**
48
- * Parameters for the `grid-tabulator` action renderer.
49
- * @remarks For single action button scenarios.
149
+ * Parameters for custom cell renderers
50
150
  * @public
51
151
  */
52
- export declare type ActionRendererParams = {
152
+ export declare interface CellRendererParams {
53
153
  /**
54
- * Callback function triggered when the action button is clicked.
55
- * @param rowData - The data associated with the row.
154
+ * The cell component
56
155
  */
57
- actionClick?: (rowData: any) => void;
156
+ cell?: CellComponent;
58
157
  /**
59
- * The name or label of the action button.
158
+ * The cell value
60
159
  */
61
- actionName?: string;
160
+ value?: any;
62
161
  /**
63
- * The appearance style of the action button.
64
- * @remarks This is a {@link @microsoft/fast-foundation#Button.appearance | Button appearance} value. Defaults to `neutral`. May have other values depending on the design system.
162
+ * The row data
65
163
  */
66
- appearance?: string;
164
+ data?: any;
67
165
  /**
68
- * The data-test-id attribute value to be used for E2E testing.
166
+ * Additional formatter parameters
69
167
  */
70
- dataTestId?: string;
168
+ formatterParams?: FormatterParams;
71
169
  /**
72
- * Function to determine whether the action button should be disabled for a specific row.
73
- * @param rowData - The data associated with the row.
74
- * @returns A boolean indicating whether the button should be disabled.
170
+ * Allow indexing by string
75
171
  */
76
- isDisabled?: (rowData: any) => boolean;
172
+ [key: string]: any;
173
+ }
174
+
175
+ /**
176
+ * Extended Tabulator Column Definition with tweaked formatter type and formatterParams
177
+ * @alpha
178
+ */
179
+ export declare type ColumnDefinition = {
180
+ formatter?: Formatter | FormatterTypes;
181
+ formatterParams?: CustomFormatterParams;
182
+ } & Omit<ColumnDefinition_2, 'formatter' | 'formatterParams'>;
183
+
184
+ /**
185
+ * Convert a string to kebab case
186
+ * Example: convertToKebabCase('helloWorld') // 'hello-world'
187
+ * @param str - The string to convert
188
+ * @returns The converted string
189
+ * @alpha
190
+ */
191
+ export declare function convertToKebabCase(str: string): string;
192
+
193
+ /**
194
+ * Delimiter for criteria in the datasource
195
+ * @alpha
196
+ */
197
+ export declare const criteriaDelimiter = ";";
198
+
199
+ /**
200
+ * Join operator for criteria in the datasource
201
+ * @alpha
202
+ */
203
+ export declare const criteriaJoin = " && ";
204
+
205
+ /**
206
+ * Extended FormatterParams type that includes all of our custom formatter parameter interfaces
207
+ * @alpha
208
+ */
209
+ export declare type CustomFormatterParams = FormatterParams | ActionFormatterParams | ActionsMenuFormatterParams | BooleanFormatterParams | EditableFormatterParams | SelectFormatterParams | TextFormatterParams;
210
+
211
+ /**
212
+ * The date editor class for grid-tabulator
213
+ * @public
214
+ */
215
+ declare class DateEditor extends FoundationElement {
216
+ params: DateEditorParams;
217
+ dateField: any;
77
218
  /**
78
- * A unique field name used to identify the action button used for E2E testing, so that the data-testid attribute value can be unique.
219
+ * Initialize the editor with parameters
79
220
  */
80
- uniqueFieldName?: string;
221
+ init(params: DateEditorParams): void;
81
222
  /**
82
- * Used to render some arbitrary content inside the action renderer button.
223
+ * Get current value
83
224
  */
84
- contentTemplate?: string;
85
- };
225
+ getValue(): any;
226
+ /**
227
+ * Format value for display
228
+ */
229
+ getFormattedValue(): string;
230
+ /**
231
+ * Set focus to the input
232
+ */
233
+ focus(): void;
234
+ /**
235
+ * Process key down events
236
+ */
237
+ handleKeyDown(event: KeyboardEvent): void;
238
+ }
86
239
 
87
- export { CellComponent }
240
+ /**
241
+ * Date Editor interface for grid-tabulator
242
+ *
243
+ * `value`: The current cell value as timestamp or date string
244
+ *
245
+ * `min`: Min date
246
+ *
247
+ * `max`: Max date
248
+ *
249
+ * `success`: Cell changed callback
250
+ *
251
+ * `cancel`: Cancel edit callback
252
+ *
253
+ * @alpha
254
+ */
255
+ declare interface DateEditorParams {
256
+ value?: number | string;
257
+ min?: string;
258
+ max?: string;
259
+ success?: (value: string) => void;
260
+ cancel?: () => void;
261
+ }
88
262
 
89
263
  /**
90
264
  * Format a date time value to a readable string.
@@ -104,6 +278,12 @@ export declare function dateTimeValueFormatter({ value }: any): string;
104
278
  */
105
279
  export declare function dateValueFormatter({ value }: any): string;
106
280
 
281
+ /**
282
+ * Time in milliseconds to debounce resize events
283
+ * @alpha
284
+ */
285
+ export declare const DEBOUNCED_RESIZE_TIME = 400;
286
+
107
287
  /**
108
288
  * The default grid-tabulator configuration.
109
289
  * @public
@@ -112,6 +292,59 @@ export declare const defaultGridTabulatorConfig: {
112
292
  shadowOptions: any;
113
293
  };
114
294
 
295
+ /**
296
+ * Formatter that displays an editable cell with validation state
297
+ * @param cell - The cell component provided by Tabulator
298
+ * @param formatterParams - Editable formatter parameters
299
+ * @returns HTML content for the editable cell
300
+ * @public
301
+ */
302
+ export declare function editableFormatter(cell: any, formatterParams?: EditableFormatterParams): string;
303
+
304
+ /**
305
+ * Parameters for the editable formatter
306
+ *
307
+ * `value`: The raw value to be displayed
308
+ *
309
+ * `data`: The row data containing the current cell
310
+ *
311
+ * `field`: The field name in the data object
312
+ *
313
+ * `cssClass`: Optional CSS class to apply to the text
314
+ *
315
+ * `nullText`: Text to display for null/undefined values
316
+ *
317
+ * `dataTestId`: Data test ID for testing
318
+ *
319
+ * `icon`: Icon to display for edit action
320
+ *
321
+ * `prefix`: The prefix to use for element classes and components, e.g., 'foundation', 'zero', 'rapid'.
322
+ *
323
+ * @alpha
324
+ */
325
+ export declare interface EditableFormatterParams {
326
+ value?: any;
327
+ data?: any;
328
+ field?: string;
329
+ cssClass?: string;
330
+ nullText?: string;
331
+ dataTestId?: string;
332
+ icon?: string;
333
+ prefix?: string;
334
+ }
335
+
336
+ /**
337
+ * The special column field name for marking a cell as edited
338
+ * @alpha
339
+ */
340
+ export declare const EDITED_COLUMN_FIELD = "__EDITED_FIELD__";
341
+
342
+ /**
343
+ * The special column field name for marking a cell as having an error
344
+ * @alpha
345
+ */
346
+ export declare const ERROR_COLUMN_FIELD = "__ERROR_FIELD__";
347
+
115
348
  /**
116
349
  * Format am epoch value to a readable ISO date string.
117
350
  * @param epoch - The epoch number.
@@ -120,7 +353,49 @@ export declare const defaultGridTabulatorConfig: {
120
353
  */
121
354
  export declare function formatDateExtra(epoch: number): string;
122
355
 
123
- export { FormatterParams }
356
+ /**
357
+ * Zero formatters for Tabulator grid
358
+ * @alpha
359
+ */
360
+ export declare const formatters: {
361
+ action: typeof actionFormatter;
362
+ actionsMenu: typeof actionsMenuFormatter;
363
+ boolean: typeof booleanFormatter;
364
+ editable: typeof editableFormatter;
365
+ select: typeof selectFormatter;
366
+ text: typeof textFormatter;
367
+ };
368
+
369
+ /**
370
+ * Enumeration of formatter types for grid-tabulator.
371
+ * @alpha
372
+ */
373
+ export declare enum FormatterTypes {
374
+ /**
375
+ * Action button formatter
376
+ */
377
+ action = "action",
378
+ /**
379
+ * Actions menu formatter with dropdown options
380
+ */
381
+ actionsMenu = "actionsMenu",
382
+ /**
383
+ * Boolean formatter for true/false values
384
+ */
385
+ boolean = "boolean",
386
+ /**
387
+ * Editable formatter for cells that can be edited
388
+ */
389
+ editable = "editable",
390
+ /**
391
+ * Select formatter for displaying option values
392
+ */
393
+ select = "select",
394
+ /**
395
+ * Text formatter for basic text display with optional formatting
396
+ */
397
+ text = "text"
398
+ }
124
399
 
125
400
  /**
126
401
  * The Foundation grid-tabulator
@@ -141,37 +416,66 @@ styles: ElementStyles;
141
416
  template: ViewTemplate<any, any>;
142
417
  }, typeof GridTabulator>;
143
418
 
144
- /**
145
- * A function that returns a Foundation Action Renderer for configuring the component with a DesignSystem.
146
- *
147
- * @public
148
- * @remarks
149
- * HTML Element: \<foundation-grid-tabulator-action-renderer\>
150
- */
151
- export declare const foundationGridTabulatorActionRenderer: (overrideDefinition?: OverrideFoundationElementDefinition< {
152
- baseName: string;
153
- styles: ElementStyles;
154
- template: ViewTemplate<ActionRenderer, any>;
155
- }>) => FoundationElementRegistry< {
156
- baseName: string;
157
- styles: ElementStyles;
158
- template: ViewTemplate<ActionRenderer, any>;
159
- }, typeof ActionRenderer>;
160
-
161
419
  /**
162
420
  * All `grid-tabulator` components.
163
421
  * @public
164
422
  */
165
423
  export declare const foundationGridTabulatorComponents: {
166
- foundationGridTabulatorActionRenderer: (overrideDefinition?: OverrideFoundationElementDefinition< {
424
+ foundationDateEditor: (overrideDefinition?: OverrideFoundationElementDefinition< {
425
+ baseName: string;
426
+ styles: ElementStyles;
427
+ template: ViewTemplate<DateEditor, any>;
428
+ }>) => FoundationElementRegistry< {
429
+ baseName: string;
430
+ styles: ElementStyles;
431
+ template: ViewTemplate<DateEditor, any>;
432
+ }, DateEditor>;
433
+ foundationNumberEditor: (overrideDefinition?: OverrideFoundationElementDefinition< {
434
+ baseName: string;
435
+ styles: ElementStyles;
436
+ template: ViewTemplate<NumberEditor, any>;
437
+ }>) => FoundationElementRegistry< {
438
+ baseName: string;
439
+ styles: ElementStyles;
440
+ template: ViewTemplate<NumberEditor, any>;
441
+ }, NumberEditor>;
442
+ foundationSelectEditor: (overrideDefinition?: OverrideFoundationElementDefinition< {
443
+ baseName: string;
444
+ styles: ElementStyles;
445
+ template: ViewTemplate<SelectEditor, any>;
446
+ }>) => FoundationElementRegistry< {
447
+ baseName: string;
448
+ styles: ElementStyles;
449
+ template: ViewTemplate<SelectEditor, any>;
450
+ }, SelectEditor>;
451
+ foundationStringEditor: (overrideDefinition?: OverrideFoundationElementDefinition< {
452
+ baseName: string;
453
+ styles: ElementStyles;
454
+ template: ViewTemplate<StringEditor, any>;
455
+ }>) => FoundationElementRegistry< {
167
456
  baseName: string;
168
457
  styles: ElementStyles;
169
- template: ViewTemplate<ActionRenderer, any>;
458
+ template: ViewTemplate<StringEditor, any>;
459
+ }, StringEditor>;
460
+ foundationMultiselectEditor: (overrideDefinition?: OverrideFoundationElementDefinition< {
461
+ baseName: string;
462
+ styles: ElementStyles;
463
+ template: ViewTemplate<MultiselectEditor, any>;
170
464
  }>) => FoundationElementRegistry< {
171
465
  baseName: string;
172
466
  styles: ElementStyles;
173
- template: ViewTemplate<ActionRenderer, any>;
174
- }, ActionRenderer>;
467
+ template: ViewTemplate<MultiselectEditor, any>;
468
+ }, MultiselectEditor>;
469
+ foundationGridTabulatorColumn: (overrideDefinition?: OverrideFoundationElementDefinition< {
470
+ baseName: string;
471
+ }>) => FoundationElementRegistry< {
472
+ baseName: string;
473
+ }, typeof GridTabulatorColumn>;
474
+ foundationGridTabulatorCell: (overrideDefinition?: OverrideFoundationElementDefinition< {
475
+ baseName: string;
476
+ }>) => FoundationElementRegistry< {
477
+ baseName: string;
478
+ }, typeof GridTabulatorCell>;
175
479
  foundationGridTabulator: (overrideDefinition?: OverrideFoundationElementDefinition< {
176
480
  shadowOptions: any;
177
481
  baseName: string;
@@ -231,10 +535,54 @@ export declare class GridTabulator extends GridTabulator_base {
231
535
  autoCellRendererByType: boolean;
232
536
  onlyTemplateColDefs: boolean;
233
537
  persistColumnStateKey: string;
538
+ /**
539
+ * The key to use for persisting the filter model in local browser or KV storage.
540
+ */
541
+ persistFilterModelKey: string;
234
542
  rowHeight: number;
235
543
  theme: string;
236
544
  themeChanged(oldValue: string, newValue: string): void;
545
+ /**
546
+ * The case type to use for the header names. If not set, the default CONSTANT_CASE will be used.
547
+ * @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase.
548
+ * @public
549
+ */
550
+ headerCaseType: GridTabulatorCaseType;
551
+ /**
552
+ * Boolean attribute to control whether the grid autosizes the columns upon interaction.
553
+ * This will disable the column widths from being manually set, and doesn't save the widths
554
+ * in local storage if you are using `persist-column-state-key`.
555
+ */
556
+ gridAutosizingEnabled: boolean;
557
+ /**
558
+ * If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef
559
+ * @remarks Defaults to true
560
+ */
561
+ enableCellFlashing: boolean;
562
+ /**
563
+ * If true, will enable row flashing for all rows
564
+ */
565
+ enableRowFlashing: boolean;
566
+ /**
567
+ * If true, will show header filters on columns by default
568
+ * @remarks Defaults to false
569
+ */
570
+ showHeaderFilters: boolean;
571
+ /**
572
+ * The column component name used for querying child column elements
573
+ * @public
574
+ */
575
+ columnComponentName: string;
237
576
  private rehydrationAttempted;
577
+ /**
578
+ * Timeout function used to debounce resize calls
579
+ * @internal
580
+ */
581
+ private debounced;
582
+ /**
583
+ * Map of the available cell renderers
584
+ */
585
+ private gridComponents;
238
586
  connectedCallback(): void;
239
587
  disconnectedCallback(): void;
240
588
  /**
@@ -252,6 +600,38 @@ export declare class GridTabulator extends GridTabulator_base {
252
600
  */
253
601
  get gridOptions(): Options;
254
602
  set gridOptions(options: Options);
603
+ /**
604
+ * Register custom cell formatters in the top-level formatters registry
605
+ */
606
+ private registerCellFormatters;
607
+ /**
608
+ * Process column formatters - convert string formatter names to function references
609
+ * @param columns - Array of column definitions
610
+ * @param formatters - Available formatter functions
611
+ */
612
+ private processColumnFormatters;
613
+ /**
614
+ * Register our custom cell editors with Tabulator
615
+ */
616
+ private registerCellEditors;
617
+ /**
618
+ * Format column headers based on headerCaseType setting
619
+ */
620
+ private formatColumnHeaders;
621
+ /**
622
+ * Apply cell flashing to columns if enableCellFlashing is true
623
+ */
624
+ private applyCellFlashing;
625
+ /**
626
+ * Bind events to handle responsive grid resizing
627
+ */
628
+ private bindResizeEvents;
629
+ /**
630
+ * Because we try and resize the grid to fit using callbacks on events, this will cause
631
+ * a stack overflow of calls to resize, so we need to debounce it.
632
+ * @internal
633
+ */
634
+ private debouncedColumnAutosize;
255
635
  get statePersistanceEnabled(): boolean;
256
636
  saveGridState(): void;
257
637
  restoreGridState(): void;
@@ -275,9 +655,39 @@ export declare class GridTabulator extends GridTabulator_base {
275
655
  * @param filter - optional row range lookup filter
276
656
  */
277
657
  downloadDataAs(type: 'csv' | 'json' | 'html', fileName: string, params?: DownloadOptions, filter?: RowRangeLookup): void;
658
+ /**
659
+ * Refresh the grid cells
660
+ * @public
661
+ */
662
+ refreshCells(): void;
663
+ /**
664
+ * Clear all filters
665
+ * @public
666
+ */
667
+ clearFilters(): void;
668
+ /**
669
+ * Redraw the table
670
+ * @public
671
+ */
672
+ redraw(): void;
278
673
  private fontFaceDestroy;
279
674
  private insertFontFace;
280
675
  private destroyFontFace;
676
+ /**
677
+ * Merges columnd definitions from child elements and options
678
+ * @param options - The Tabulator options object
679
+ * @returns The merged options with columns from child elements
680
+ */
681
+ private mergeColumnDefsFromTemplate;
682
+ /**
683
+ * Gets column definitions from child column elements
684
+ * @returns Array of column definitions
685
+ */
686
+ private getTemplateColumnDefs;
687
+ /**
688
+ * Register our formatters with Tabulator's formatter registry, if available
689
+ */
690
+ private registerFormattersWithTabulator;
281
691
  }
282
692
 
283
693
  declare const GridTabulator_base: (new (...args: any[]) => {
@@ -303,14 +713,7 @@ declare const GridTabulator_base: (new (...args: any[]) => {
303
713
  dir: string;
304
714
  draggable: boolean;
305
715
  hidden: boolean;
306
- inert: boolean; /**
307
- * Set the Grid client-side filters.
308
- * @public
309
- * @param column - column name
310
- * @param operator - filter operator
311
- * @param value - filter value
312
- * @param filterParams - optional filter params
313
- */
716
+ inert: boolean;
314
717
  innerText: string;
315
718
  lang: string;
316
719
  readonly offsetHeight: number;
@@ -483,7 +886,7 @@ declare const GridTabulator_base: (new (...args: any[]) => {
483
886
  ariaValueNow: string;
484
887
  ariaValueText: string;
485
888
  role: string;
486
- animate(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions): Animation;
889
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
487
890
  getAnimations(options?: GetAnimationsOptions): Animation[];
488
891
  after(...nodes: (string | Node)[]): void;
489
892
  before(...nodes: (string | Node)[]): void;
@@ -605,6 +1008,11 @@ declare const GridTabulator_base: (new (...args: any[]) => {
605
1008
  onwebkitanimationstart: (this: GlobalEventHandlers, ev: Event) => any;
606
1009
  onwebkittransitionend: (this: GlobalEventHandlers, ev: Event) => any;
607
1010
  onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any;
1011
+ /**
1012
+ * The grid-tabulator component registration.
1013
+ * @public
1014
+ * @privateRemarks explicitly declaring for extensibility
1015
+ */
608
1016
  autofocus: boolean;
609
1017
  readonly dataset: DOMStringMap;
610
1018
  nonce?: string;
@@ -613,6 +1021,41 @@ declare const GridTabulator_base: (new (...args: any[]) => {
613
1021
  focus(options?: FocusOptions): void;
614
1022
  }) & typeof FoundationElement;
615
1023
 
1024
+ /**
1025
+ * The case types supported for header formatting
1026
+ * @alpha
1027
+ */
1028
+ export declare type GridTabulatorCaseType = 'camelCase' | 'capitalCase' | 'constantCase' | 'dotCase' | 'headerCase' | 'noCase' | 'paramCase' | 'pascalCase' | 'pathCase' | 'sentenceCase' | 'snakeCase';
1029
+
1030
+ /**
1031
+ * The GridTabulator Cell element.
1032
+ * @remarks Used inside the GridTabulator Column element to define a cell renderer from the template.
1033
+ * @public
1034
+ */
1035
+ export declare class GridTabulatorCell extends FoundationElement {
1036
+ renderer: CellRendererFunc;
1037
+ rendererParams: CellRendererParams;
1038
+ slottedRenderer: HTMLElement[];
1039
+ connectedCallback(): void;
1040
+ init(params: CellRendererParams): void;
1041
+ getElement(): HTMLElement;
1042
+ destroy(): void;
1043
+ refresh(params: CellRendererParams): boolean;
1044
+ slottedRendererChanged(): void;
1045
+ }
1046
+
1047
+ /**
1048
+ * The available `grid-tabulator` Editor Types
1049
+ * @public
1050
+ */
1051
+ export declare enum GridTabulatorCellEditorTypes {
1052
+ string = "string",
1053
+ number = "number",
1054
+ date = "date",
1055
+ select = "select",
1056
+ multiselect = "multiselect"
1057
+ }
1058
+
616
1059
  /**
617
1060
  * The available `grid-tabulator` Renderer Types
618
1061
  * @public
@@ -622,7 +1065,8 @@ export declare enum GridTabulatorCellRendererTypes {
622
1065
  actionsMenu = "actionsMenu",
623
1066
  boolean = "boolean",
624
1067
  text = "text",
625
- select = "select"
1068
+ select = "select",
1069
+ editable = "editable"
626
1070
  }
627
1071
 
628
1072
  /**
@@ -633,7 +1077,11 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
633
1077
  auth: Auth;
634
1078
  connect: Connect;
635
1079
  datasource: Datasource;
636
- deferredGridOptions: Options;
1080
+ deferredGridOptions: Options_2;
1081
+ /**
1082
+ * Allows storing column layouts between datasource initializations
1083
+ */
1084
+ deferredColumnStates: any[];
637
1085
  criteria: string;
638
1086
  criteriaChanged(oldCriteria: string, newCriteria: string): void;
639
1087
  fields: string;
@@ -655,6 +1103,10 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
655
1103
  */
656
1104
  rowIdAttr: any;
657
1105
  restartOnReconnection: boolean;
1106
+ /**
1107
+ * Whether to keep column definitions when clearing row data
1108
+ */
1109
+ keepColDefsOnClearRowData: boolean;
658
1110
  /**
659
1111
  * Allows grid data updates to be processed via and external function before applying in grid
660
1112
  */
@@ -663,7 +1115,6 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
663
1115
  private updateSub;
664
1116
  private connectionSub;
665
1117
  private isRequestServer;
666
- datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void;
667
1118
  private requiresFullRowDataAndColDefs;
668
1119
  private dataSubWasLoggedOff;
669
1120
  private rows;
@@ -686,6 +1137,10 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
686
1137
  * @internal
687
1138
  */
688
1139
  private get hasDefaultRowId();
1140
+ /**
1141
+ * Returns the default row ID based on the resource type
1142
+ * @internal
1143
+ */
689
1144
  private get defaultRowIdByResourceType();
690
1145
  /**
691
1146
  * Initializes the datasource.
@@ -714,12 +1169,21 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
714
1169
  * @internal
715
1170
  */
716
1171
  private clearRowData;
1172
+ /**
1173
+ * Handles errors by emitting an error event
1174
+ */
1175
+ handleErrors(errors: string | any[]): void;
717
1176
  /**
718
1177
  * Sets the columnDefs and rowData for the grid.
719
1178
  * @remarks This should only happen once, when the grid is first initialized. Follow up updates will use the agTransaction.
720
1179
  * @internal
721
1180
  */
722
1181
  private setRowData;
1182
+ /**
1183
+ * Generate column definitions from the field metadata
1184
+ * @param fieldsMetadata - The field metadata to generate column definitions from
1185
+ */
1186
+ private getColumnDefs;
723
1187
  /**
724
1188
  * Resets the grid data while keeping columnDefs and sends a DATA_LOGOFF message if it's a stream.
725
1189
  * Proxies to {@link @genesislcap/grid-tabulator#GridTabulatorClientSideDatasource.loadResourceData} but without the full init (no metadata fetch).
@@ -745,9 +1209,14 @@ export declare class GridTabulatorClientSideDatasource extends GridTabulatorClie
745
1209
  private handleStreamInserts;
746
1210
  private handleStreamDeletes;
747
1211
  private handleStreamUpdates;
1212
+ /**
1213
+ * Emit event when the number of rows changes
1214
+ */
1215
+ private handleSizeChanged;
748
1216
  private buildCriteria;
749
1217
  setFilter(fieldName: string, newFilter: string): void;
750
1218
  removeFilter(fieldName: string): void;
1219
+ datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void;
751
1220
  }
752
1221
 
753
1222
  declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
@@ -872,27 +1341,338 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
872
1341
  readonly parentElement: HTMLElement;
873
1342
  readonly parentNode: ParentNode;
874
1343
  readonly previousSibling: ChildNode;
875
- textContent: string; /**
876
- * Initializes the datasource and loads the data for the grid.
877
- * Handles both snapshot and stream data (for both REQUEST_SERVER and DATASERVER resource types).
878
- *
879
- * @param withFullInit - if true, will call datasource.init() with requiresMetadataFetch = true, fetching fresh metadata
880
- * @internal
881
- */
1344
+ textContent: string;
882
1345
  appendChild<T_1 extends Node>(node: T_1): T_1;
883
1346
  compareDocumentPosition(other: Node): number;
884
1347
  contains(other: Node): boolean;
885
1348
  getRootNode(options?: GetRootNodeOptions): Node;
886
1349
  hasChildNodes(): boolean;
887
- insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
1350
+ insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
1351
+ isDefaultNamespace(namespace: string): boolean;
1352
+ isEqualNode(otherNode: Node): boolean;
1353
+ isSameNode(otherNode: Node): boolean;
1354
+ lookupNamespaceURI(prefix: string): string;
1355
+ lookupPrefix(namespace: string): string;
1356
+ normalize(): void;
1357
+ removeChild<T_3 extends Node>(child: T_3): T_3;
1358
+ replaceChild<T_4 extends Node>(node: Node, child: T_4): T_4;
1359
+ readonly ATTRIBUTE_NODE: number;
1360
+ readonly CDATA_SECTION_NODE: number;
1361
+ readonly COMMENT_NODE: number;
1362
+ readonly DOCUMENT_FRAGMENT_NODE: number;
1363
+ readonly DOCUMENT_NODE: number;
1364
+ readonly DOCUMENT_POSITION_CONTAINED_BY: number;
1365
+ readonly DOCUMENT_POSITION_CONTAINS: number;
1366
+ readonly DOCUMENT_POSITION_DISCONNECTED: number;
1367
+ readonly DOCUMENT_POSITION_FOLLOWING: number;
1368
+ readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number;
1369
+ readonly DOCUMENT_POSITION_PRECEDING: number;
1370
+ readonly DOCUMENT_TYPE_NODE: number;
1371
+ readonly ELEMENT_NODE: number;
1372
+ readonly ENTITY_NODE: number;
1373
+ readonly ENTITY_REFERENCE_NODE: number;
1374
+ readonly NOTATION_NODE: number;
1375
+ readonly PROCESSING_INSTRUCTION_NODE: number;
1376
+ readonly TEXT_NODE: number;
1377
+ dispatchEvent(event: Event): boolean;
1378
+ ariaAtomic: string;
1379
+ ariaAutoComplete: string;
1380
+ ariaBusy: string;
1381
+ ariaChecked: string;
1382
+ ariaColCount: string;
1383
+ ariaColIndex: string;
1384
+ ariaColIndexText: string;
1385
+ ariaColSpan: string;
1386
+ ariaCurrent: string;
1387
+ ariaDisabled: string;
1388
+ ariaExpanded: string;
1389
+ ariaHasPopup: string;
1390
+ ariaHidden: string;
1391
+ ariaInvalid: string;
1392
+ ariaKeyShortcuts: string;
1393
+ ariaLabel: string;
1394
+ ariaLevel: string;
1395
+ ariaLive: string;
1396
+ ariaModal: string;
1397
+ ariaMultiLine: string;
1398
+ ariaMultiSelectable: string;
1399
+ ariaOrientation: string;
1400
+ ariaPlaceholder: string;
1401
+ ariaPosInSet: string;
1402
+ ariaPressed: string;
1403
+ ariaReadOnly: string;
1404
+ ariaRequired: string;
1405
+ ariaRoleDescription: string;
1406
+ ariaRowCount: string;
1407
+ ariaRowIndex: string;
1408
+ ariaRowIndexText: string;
1409
+ ariaRowSpan: string;
1410
+ ariaSelected: string;
1411
+ ariaSetSize: string;
1412
+ ariaSort: string;
1413
+ ariaValueMax: string;
1414
+ ariaValueMin: string;
1415
+ ariaValueNow: string;
1416
+ ariaValueText: string;
1417
+ role: string;
1418
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
1419
+ getAnimations(options?: GetAnimationsOptions): Animation[];
1420
+ after(...nodes: (string | Node)[]): void;
1421
+ before(...nodes: (string | Node)[]): void;
1422
+ remove(): void;
1423
+ replaceWith(...nodes: (string | Node)[]): void;
1424
+ innerHTML: string;
1425
+ readonly nextElementSibling: Element;
1426
+ readonly previousElementSibling: Element;
1427
+ readonly childElementCount: number;
1428
+ readonly children: HTMLCollection;
1429
+ readonly firstElementChild: Element;
1430
+ readonly lastElementChild: Element;
1431
+ append(...nodes: (string | Node)[]): void;
1432
+ prepend(...nodes: (string | Node)[]): void;
1433
+ querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
1434
+ querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
1435
+ querySelector<E_1 extends Element = Element>(selectors: string): E_1;
1436
+ querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
1437
+ querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
1438
+ querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
1439
+ replaceChildren(...nodes: (string | Node)[]): void;
1440
+ readonly assignedSlot: HTMLSlotElement;
1441
+ oncopy: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1442
+ oncut: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1443
+ onpaste: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
1444
+ readonly style: CSSStyleDeclaration;
1445
+ contentEditable: string;
1446
+ enterKeyHint: string;
1447
+ inputMode: string;
1448
+ readonly isContentEditable: boolean;
1449
+ onabort: (this: GlobalEventHandlers, ev: UIEvent) => any;
1450
+ onanimationcancel: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1451
+ onanimationend: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1452
+ onanimationiteration: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1453
+ onanimationstart: (this: GlobalEventHandlers, ev: AnimationEvent) => any;
1454
+ onauxclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1455
+ onbeforeinput: (this: GlobalEventHandlers, ev: InputEvent) => any;
1456
+ onblur: (this: GlobalEventHandlers, ev: FocusEvent) => any;
1457
+ oncancel: (this: GlobalEventHandlers, ev: Event) => any;
1458
+ oncanplay: (this: GlobalEventHandlers, ev: Event) => any;
1459
+ oncanplaythrough: (this: GlobalEventHandlers, ev: Event) => any;
1460
+ onchange: (this: GlobalEventHandlers, ev: Event) => any;
1461
+ onclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1462
+ onclose: (this: GlobalEventHandlers, ev: Event) => any;
1463
+ oncontextmenu: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1464
+ oncuechange: (this: GlobalEventHandlers, ev: Event) => any;
1465
+ ondblclick: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1466
+ ondrag: (this: GlobalEventHandlers, ev: DragEvent) => any;
1467
+ ondragend: (this: GlobalEventHandlers, ev: DragEvent) => any;
1468
+ ondragenter: (this: GlobalEventHandlers, ev: DragEvent) => any;
1469
+ ondragleave: (this: GlobalEventHandlers, ev: DragEvent) => any;
1470
+ ondragover: (this: GlobalEventHandlers, ev: DragEvent) => any;
1471
+ ondragstart: (this: GlobalEventHandlers, ev: DragEvent) => any;
1472
+ ondrop: (this: GlobalEventHandlers, ev: DragEvent) => any;
1473
+ ondurationchange: (this: GlobalEventHandlers, ev: Event) => any;
1474
+ onemptied: (this: GlobalEventHandlers, ev: Event) => any;
1475
+ onended: (this: GlobalEventHandlers, ev: Event) => any;
1476
+ onerror: OnErrorEventHandlerNonNull;
1477
+ onfocus: (this: GlobalEventHandlers, ev: FocusEvent) => any;
1478
+ onformdata: (this: GlobalEventHandlers, ev: FormDataEvent) => any;
1479
+ ongotpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1480
+ oninput: (this: GlobalEventHandlers, ev: Event) => any;
1481
+ oninvalid: (this: GlobalEventHandlers, ev: Event) => any;
1482
+ onkeydown: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1483
+ onkeypress: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1484
+ onkeyup: (this: GlobalEventHandlers, ev: KeyboardEvent) => any;
1485
+ onload: (this: GlobalEventHandlers, ev: Event) => any;
1486
+ onloadeddata: (this: GlobalEventHandlers, ev: Event) => any;
1487
+ onloadedmetadata: (this: GlobalEventHandlers, ev: Event) => any;
1488
+ onloadstart: (this: GlobalEventHandlers, ev: Event) => any;
1489
+ onlostpointercapture: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1490
+ onmousedown: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1491
+ onmouseenter: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1492
+ onmouseleave: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1493
+ onmousemove: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1494
+ onmouseout: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1495
+ onmouseover: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1496
+ onmouseup: (this: GlobalEventHandlers, ev: MouseEvent) => any;
1497
+ onpause: (this: GlobalEventHandlers, ev: Event) => any;
1498
+ onplay: (this: GlobalEventHandlers, ev: Event) => any;
1499
+ onplaying: (this: GlobalEventHandlers, ev: Event) => any;
1500
+ onpointercancel: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1501
+ onpointerdown: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1502
+ onpointerenter: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1503
+ onpointerleave: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1504
+ onpointermove: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1505
+ onpointerout: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1506
+ onpointerover: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1507
+ onpointerup: (this: GlobalEventHandlers, ev: PointerEvent) => any;
1508
+ onprogress: (this: GlobalEventHandlers, ev: ProgressEvent<EventTarget>) => any;
1509
+ onratechange: (this: GlobalEventHandlers, ev: Event) => any;
1510
+ onreset: (this: GlobalEventHandlers, ev: Event) => any;
1511
+ onresize: (this: GlobalEventHandlers, ev: UIEvent) => any;
1512
+ onscroll: (this: GlobalEventHandlers, ev: Event) => any;
1513
+ onsecuritypolicyviolation: (this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any;
1514
+ onseeked: (this: GlobalEventHandlers, ev: Event) => any;
1515
+ onseeking: (this: GlobalEventHandlers, ev: Event) => any;
1516
+ onselect: (this: GlobalEventHandlers, ev: Event) => any;
1517
+ onselectionchange: (this: GlobalEventHandlers, ev: Event) => any;
1518
+ onselectstart: (this: GlobalEventHandlers, ev: Event) => any;
1519
+ onslotchange: (this: GlobalEventHandlers, ev: Event) => any;
1520
+ onstalled: (this: GlobalEventHandlers, ev: Event) => any;
1521
+ onsubmit: (this: GlobalEventHandlers, ev: SubmitEvent) => any;
1522
+ onsuspend: (this: GlobalEventHandlers, ev: Event) => any;
1523
+ ontimeupdate: (this: GlobalEventHandlers, ev: Event) => any;
1524
+ ontoggle: (this: GlobalEventHandlers, ev: Event) => any;
1525
+ ontouchcancel?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1526
+ ontouchend?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1527
+ ontouchmove?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1528
+ ontouchstart?: (this: GlobalEventHandlers, ev: TouchEvent) => any;
1529
+ ontransitioncancel: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1530
+ ontransitionend: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1531
+ ontransitionrun: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1532
+ ontransitionstart: (this: GlobalEventHandlers, ev: TransitionEvent) => any;
1533
+ onvolumechange: (this: GlobalEventHandlers, ev: Event) => any;
1534
+ onwaiting: (this: GlobalEventHandlers, ev: Event) => any;
1535
+ onwebkitanimationend: (this: GlobalEventHandlers, ev: Event) => any;
1536
+ onwebkitanimationiteration: (this: GlobalEventHandlers, ev: Event) => any;
1537
+ onwebkitanimationstart: (this: GlobalEventHandlers, ev: Event) => any;
1538
+ onwebkittransitionend: (this: GlobalEventHandlers, ev: Event) => any;
1539
+ onwheel: (this: GlobalEventHandlers, ev: WheelEvent) => any;
1540
+ autofocus: boolean;
1541
+ readonly dataset: DOMStringMap;
1542
+ nonce?: string;
1543
+ tabIndex: number;
1544
+ blur(): void;
1545
+ focus(options?: FocusOptions): void;
1546
+ }) & (new () => {
1547
+ datasourceStatus: DatasourceStatus;
1548
+ resourceName: string;
1549
+ onDatasourceStatusChanged: (event: DatasourceStatusChangedEvent) => void;
1550
+ datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void;
1551
+ connectedCallback(): void;
1552
+ disconnectedCallback(): void;
1553
+ accessKey: string;
1554
+ readonly accessKeyLabel: string;
1555
+ autocapitalize: string;
1556
+ dir: string;
1557
+ draggable: boolean;
1558
+ hidden: boolean;
1559
+ inert: boolean;
1560
+ innerText: string;
1561
+ lang: string;
1562
+ readonly offsetHeight: number;
1563
+ readonly offsetLeft: number;
1564
+ readonly offsetParent: Element;
1565
+ readonly offsetTop: number;
1566
+ readonly offsetWidth: number;
1567
+ outerText: string;
1568
+ spellcheck: boolean;
1569
+ title: string;
1570
+ translate: boolean;
1571
+ attachInternals(): ElementInternals;
1572
+ click(): void;
1573
+ addEventListener<K_10 extends keyof HTMLElementEventMap>(type: K_10, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_10]) => any, options?: boolean | AddEventListenerOptions): void;
1574
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1575
+ removeEventListener<K_1_1 extends keyof HTMLElementEventMap>(type: K_1_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1_1]) => any, options?: boolean | EventListenerOptions): void;
1576
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1577
+ readonly attributes: NamedNodeMap;
1578
+ readonly classList: DOMTokenList;
1579
+ className: string;
1580
+ readonly clientHeight: number;
1581
+ readonly clientLeft: number;
1582
+ readonly clientTop: number;
1583
+ readonly clientWidth: number;
1584
+ id: string; /**
1585
+ * Allows grid data updates to be processed via and external function before applying in grid
1586
+ */
1587
+ readonly localName: string;
1588
+ readonly namespaceURI: string;
1589
+ onfullscreenchange: (this: Element, ev: Event) => any;
1590
+ onfullscreenerror: (this: Element, ev: Event) => any;
1591
+ outerHTML: string;
1592
+ readonly ownerDocument: Document;
1593
+ readonly part: DOMTokenList;
1594
+ readonly prefix: string;
1595
+ readonly scrollHeight: number;
1596
+ scrollLeft: number;
1597
+ scrollTop: number;
1598
+ readonly scrollWidth: number;
1599
+ readonly shadowRoot: ShadowRoot;
1600
+ slot: string;
1601
+ readonly tagName: string;
1602
+ attachShadow(init: ShadowRootInit): ShadowRoot;
1603
+ closest<K_2_1 extends keyof HTMLElementTagNameMap>(selector: K_2_1): HTMLElementTagNameMap[K_2_1];
1604
+ closest<K_3_1 extends keyof SVGElementTagNameMap>(selector: K_3_1): SVGElementTagNameMap[K_3_1];
1605
+ closest<E_3 extends Element = Element>(selectors: string): E_3;
1606
+ getAttribute(qualifiedName: string): string;
1607
+ getAttributeNS(namespace: string, localName: string): string;
1608
+ getAttributeNames(): string[];
1609
+ getAttributeNode(qualifiedName: string): Attr;
1610
+ getAttributeNodeNS(namespace: string, localName: string): Attr;
1611
+ getBoundingClientRect(): DOMRect;
1612
+ getClientRects(): DOMRectList;
1613
+ getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
1614
+ getElementsByTagName<K_4_1 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4_1): HTMLCollectionOf<HTMLElementTagNameMap[K_4_1]>;
1615
+ getElementsByTagName<K_5_1 extends keyof SVGElementTagNameMap>(qualifiedName: K_5_1): HTMLCollectionOf<SVGElementTagNameMap[K_5_1]>;
1616
+ getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
1617
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
1618
+ getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
1619
+ getElementsByTagNameNS(namespace: string, localName: string): HTMLCollectionOf<Element>;
1620
+ hasAttribute(qualifiedName: string): boolean;
1621
+ hasAttributeNS(namespace: string, localName: string): boolean;
1622
+ hasAttributes(): boolean;
1623
+ hasPointerCapture(pointerId: number): boolean;
1624
+ insertAdjacentElement(where: InsertPosition, element: Element): Element;
1625
+ insertAdjacentHTML(position: InsertPosition, text: string): void;
1626
+ insertAdjacentText(where: InsertPosition, data: string): void;
1627
+ matches(selectors: string): boolean;
1628
+ releasePointerCapture(pointerId: number): void;
1629
+ removeAttribute(qualifiedName: string): void;
1630
+ removeAttributeNS(namespace: string, localName: string): void;
1631
+ removeAttributeNode(attr: Attr): Attr;
1632
+ requestFullscreen(options?: FullscreenOptions): Promise<void>;
1633
+ requestPointerLock(): void;
1634
+ scroll(options?: ScrollToOptions): void;
1635
+ scroll(x: number, y: number): void;
1636
+ scrollBy(options?: ScrollToOptions): void;
1637
+ scrollBy(x: number, y: number): void;
1638
+ scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void;
1639
+ scrollTo(options?: ScrollToOptions): void;
1640
+ scrollTo(x: number, y: number): void;
1641
+ setAttribute(qualifiedName: string, value: string): void;
1642
+ setAttributeNS(namespace: string, qualifiedName: string, value: string): void;
1643
+ setAttributeNode(attr: Attr): Attr;
1644
+ setAttributeNodeNS(attr: Attr): Attr;
1645
+ setPointerCapture(pointerId: number): void;
1646
+ toggleAttribute(qualifiedName: string, force?: boolean): boolean;
1647
+ webkitMatchesSelector(selectors: string): boolean;
1648
+ readonly baseURI: string;
1649
+ readonly childNodes: NodeListOf<ChildNode>;
1650
+ readonly firstChild: ChildNode;
1651
+ readonly isConnected: boolean;
1652
+ readonly lastChild: ChildNode;
1653
+ readonly nextSibling: ChildNode;
1654
+ readonly nodeName: string;
1655
+ readonly nodeType: number;
1656
+ nodeValue: string;
1657
+ readonly parentElement: HTMLElement;
1658
+ readonly parentNode: ParentNode;
1659
+ readonly previousSibling: ChildNode;
1660
+ textContent: string;
1661
+ appendChild<T extends Node>(node: T): T;
1662
+ cloneNode(deep?: boolean): Node;
1663
+ compareDocumentPosition(other: Node): number;
1664
+ contains(other: Node): boolean;
1665
+ getRootNode(options?: GetRootNodeOptions): Node;
1666
+ hasChildNodes(): boolean;
1667
+ insertBefore<T_1_1 extends Node>(node: T_1_1, child: Node): T_1_1;
888
1668
  isDefaultNamespace(namespace: string): boolean;
889
1669
  isEqualNode(otherNode: Node): boolean;
890
1670
  isSameNode(otherNode: Node): boolean;
891
1671
  lookupNamespaceURI(prefix: string): string;
892
1672
  lookupPrefix(namespace: string): string;
893
1673
  normalize(): void;
894
- removeChild<T_3 extends Node>(child: T_3): T_3;
895
- replaceChild<T_4 extends Node>(node: Node, child: T_4): T_4;
1674
+ removeChild<T_2_1 extends Node>(child: T_2_1): T_2_1;
1675
+ replaceChild<T_3_1 extends Node>(node: Node, child: T_3_1): T_3_1;
896
1676
  readonly ATTRIBUTE_NODE: number;
897
1677
  readonly CDATA_SECTION_NODE: number;
898
1678
  readonly COMMENT_NODE: number;
@@ -952,7 +1732,7 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
952
1732
  ariaValueNow: string;
953
1733
  ariaValueText: string;
954
1734
  role: string;
955
- animate(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions): Animation;
1735
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
956
1736
  getAnimations(options?: GetAnimationsOptions): Animation[];
957
1737
  after(...nodes: (string | Node)[]): void;
958
1738
  before(...nodes: (string | Node)[]): void;
@@ -967,12 +1747,12 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
967
1747
  readonly lastElementChild: Element;
968
1748
  append(...nodes: (string | Node)[]): void;
969
1749
  prepend(...nodes: (string | Node)[]): void;
970
- querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
971
- querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
972
- querySelector<E_1 extends Element = Element>(selectors: string): E_1;
973
- querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
974
- querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
975
- querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
1750
+ querySelector<K_6_1 extends keyof HTMLElementTagNameMap>(selectors: K_6_1): HTMLElementTagNameMap[K_6_1];
1751
+ querySelector<K_7_1 extends keyof SVGElementTagNameMap>(selectors: K_7_1): SVGElementTagNameMap[K_7_1];
1752
+ querySelector<E_1_1 extends Element = Element>(selectors: string): E_1_1;
1753
+ querySelectorAll<K_8_1 extends keyof HTMLElementTagNameMap>(selectors: K_8_1): NodeListOf<HTMLElementTagNameMap[K_8_1]>;
1754
+ querySelectorAll<K_9_1 extends keyof SVGElementTagNameMap>(selectors: K_9_1): NodeListOf<SVGElementTagNameMap[K_9_1]>;
1755
+ querySelectorAll<E_2_1 extends Element = Element>(selectors: string): NodeListOf<E_2_1>;
976
1756
  replaceChildren(...nodes: (string | Node)[]): void;
977
1757
  readonly assignedSlot: HTMLSlotElement;
978
1758
  oncopy: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
@@ -1080,13 +1860,40 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1080
1860
  tabIndex: number;
1081
1861
  blur(): void;
1082
1862
  focus(options?: FocusOptions): void;
1083
- }) & (new () => {
1084
- datasourceStatus: DatasourceStatus;
1085
- resourceName: string;
1086
- onDatasourceStatusChanged: (event: DatasourceStatusChangedEvent) => void;
1087
- datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void;
1863
+ readonly $fastController: Controller;
1864
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail">): boolean | void;
1865
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1866
+ });
1867
+
1868
+ /**
1869
+ * The GridTabulator Column element.
1870
+ * @remarks Used inside the GridTabulator element to specify column definitions for a given column.
1871
+ * @public
1872
+ */
1873
+ export declare class GridTabulatorColumn extends GridTabulatorColumn_base {
1874
+ slottedCell: HTMLElement[];
1875
+ definition: Partial<ColumnDefinition_2>;
1876
+ slottedCellChanged(): void;
1877
+ deepClone(): Node;
1878
+ }
1879
+
1880
+ declare const GridTabulatorColumn_base: (new (...args: any[]) => {
1881
+ "__#1@#_container": FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
1882
+ "__#1@#_latestTokenCode": string;
1883
+ "__#1@#_hasFirstLoaded": boolean;
1884
+ "__#1@#_cleanupTimeout": NodeJS.Timeout;
1885
+ "__#1@#_shouldForceLifecycle": boolean;
1886
+ cloneNode(deep?: boolean): Node;
1887
+ deepClone(): Node;
1888
+ readonly shouldRunDisconnect: boolean;
1889
+ readonly shouldRunConnect: boolean;
1890
+ "__#1@#_blockLifecycleDueToTokenChange"(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean;
1891
+ "__#1@#_tryFindContainingLayout"(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer;
1088
1892
  connectedCallback(): void;
1893
+ readonly $fastController: Controller;
1894
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail">): boolean | void;
1089
1895
  disconnectedCallback(): void;
1896
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1090
1897
  accessKey: string;
1091
1898
  readonly accessKeyLabel: string;
1092
1899
  autocapitalize: string;
@@ -1107,9 +1914,9 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1107
1914
  translate: boolean;
1108
1915
  attachInternals(): ElementInternals;
1109
1916
  click(): void;
1110
- addEventListener<K_10 extends keyof HTMLElementEventMap>(type: K_10, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_10]) => any, options?: boolean | AddEventListenerOptions): void;
1917
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1111
1918
  addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1112
- removeEventListener<K_1_1 extends keyof HTMLElementEventMap>(type: K_1_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1_1]) => any, options?: boolean | EventListenerOptions): void;
1919
+ removeEventListener<K_1 extends keyof HTMLElementEventMap>(type: K_1, listener: (this: HTMLElement, ev: HTMLElementEventMap[K_1]) => any, options?: boolean | EventListenerOptions): void;
1113
1920
  removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1114
1921
  readonly attributes: NamedNodeMap;
1115
1922
  readonly classList: DOMTokenList;
@@ -1135,9 +1942,9 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1135
1942
  slot: string;
1136
1943
  readonly tagName: string;
1137
1944
  attachShadow(init: ShadowRootInit): ShadowRoot;
1138
- closest<K_2_1 extends keyof HTMLElementTagNameMap>(selector: K_2_1): HTMLElementTagNameMap[K_2_1];
1139
- closest<K_3_1 extends keyof SVGElementTagNameMap>(selector: K_3_1): SVGElementTagNameMap[K_3_1];
1140
- closest<E_3 extends Element = Element>(selectors: string): E_3;
1945
+ closest<K_2 extends keyof HTMLElementTagNameMap>(selector: K_2): HTMLElementTagNameMap[K_2];
1946
+ closest<K_3 extends keyof SVGElementTagNameMap>(selector: K_3): SVGElementTagNameMap[K_3];
1947
+ closest<E extends Element = Element>(selectors: string): E;
1141
1948
  getAttribute(qualifiedName: string): string;
1142
1949
  getAttributeNS(namespace: string, localName: string): string;
1143
1950
  getAttributeNames(): string[];
@@ -1145,14 +1952,9 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1145
1952
  getAttributeNodeNS(namespace: string, localName: string): Attr;
1146
1953
  getBoundingClientRect(): DOMRect;
1147
1954
  getClientRects(): DOMRectList;
1148
- /**
1149
- * Returns the `row-id` attribute, depending on the resource type.
1150
- * @remarks Will favour the `row-id` attribute if set.
1151
- * @internal
1152
- */
1153
1955
  getElementsByClassName(classNames: string): HTMLCollectionOf<Element>;
1154
- getElementsByTagName<K_4_1 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4_1): HTMLCollectionOf<HTMLElementTagNameMap[K_4_1]>;
1155
- getElementsByTagName<K_5_1 extends keyof SVGElementTagNameMap>(qualifiedName: K_5_1): HTMLCollectionOf<SVGElementTagNameMap[K_5_1]>;
1956
+ getElementsByTagName<K_4 extends keyof HTMLElementTagNameMap>(qualifiedName: K_4): HTMLCollectionOf<HTMLElementTagNameMap[K_4]>;
1957
+ getElementsByTagName<K_5 extends keyof SVGElementTagNameMap>(qualifiedName: K_5): HTMLCollectionOf<SVGElementTagNameMap[K_5]>;
1156
1958
  getElementsByTagName(qualifiedName: string): HTMLCollectionOf<Element>;
1157
1959
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf<HTMLElement>;
1158
1960
  getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf<SVGElement>;
@@ -1198,21 +2000,20 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1198
2000
  readonly parentNode: ParentNode;
1199
2001
  readonly previousSibling: ChildNode;
1200
2002
  textContent: string;
1201
- appendChild<T extends Node>(node: T): T;
1202
- cloneNode(deep?: boolean): Node;
2003
+ appendChild<T_1 extends Node>(node: T_1): T_1;
1203
2004
  compareDocumentPosition(other: Node): number;
1204
2005
  contains(other: Node): boolean;
1205
2006
  getRootNode(options?: GetRootNodeOptions): Node;
1206
2007
  hasChildNodes(): boolean;
1207
- insertBefore<T_1_1 extends Node>(node: T_1_1, child: Node): T_1_1;
2008
+ insertBefore<T_2 extends Node>(node: T_2, child: Node): T_2;
1208
2009
  isDefaultNamespace(namespace: string): boolean;
1209
2010
  isEqualNode(otherNode: Node): boolean;
1210
2011
  isSameNode(otherNode: Node): boolean;
1211
2012
  lookupNamespaceURI(prefix: string): string;
1212
2013
  lookupPrefix(namespace: string): string;
1213
2014
  normalize(): void;
1214
- removeChild<T_2_1 extends Node>(child: T_2_1): T_2_1;
1215
- replaceChild<T_3_1 extends Node>(node: Node, child: T_3_1): T_3_1;
2015
+ removeChild<T_3 extends Node>(child: T_3): T_3;
2016
+ replaceChild<T_4 extends Node>(node: Node, child: T_4): T_4;
1216
2017
  readonly ATTRIBUTE_NODE: number;
1217
2018
  readonly CDATA_SECTION_NODE: number;
1218
2019
  readonly COMMENT_NODE: number;
@@ -1272,7 +2073,7 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1272
2073
  ariaValueNow: string;
1273
2074
  ariaValueText: string;
1274
2075
  role: string;
1275
- animate(keyframes: Keyframe[] | PropertyIndexedKeyframes, options?: number | KeyframeAnimationOptions): Animation;
2076
+ animate(keyframes: PropertyIndexedKeyframes | Keyframe[], options?: number | KeyframeAnimationOptions): Animation;
1276
2077
  getAnimations(options?: GetAnimationsOptions): Animation[];
1277
2078
  after(...nodes: (string | Node)[]): void;
1278
2079
  before(...nodes: (string | Node)[]): void;
@@ -1287,12 +2088,12 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1287
2088
  readonly lastElementChild: Element;
1288
2089
  append(...nodes: (string | Node)[]): void;
1289
2090
  prepend(...nodes: (string | Node)[]): void;
1290
- querySelector<K_6_1 extends keyof HTMLElementTagNameMap>(selectors: K_6_1): HTMLElementTagNameMap[K_6_1];
1291
- querySelector<K_7_1 extends keyof SVGElementTagNameMap>(selectors: K_7_1): SVGElementTagNameMap[K_7_1];
1292
- querySelector<E_1_1 extends Element = Element>(selectors: string): E_1_1;
1293
- querySelectorAll<K_8_1 extends keyof HTMLElementTagNameMap>(selectors: K_8_1): NodeListOf<HTMLElementTagNameMap[K_8_1]>;
1294
- querySelectorAll<K_9_1 extends keyof SVGElementTagNameMap>(selectors: K_9_1): NodeListOf<SVGElementTagNameMap[K_9_1]>;
1295
- querySelectorAll<E_2_1 extends Element = Element>(selectors: string): NodeListOf<E_2_1>;
2091
+ querySelector<K_6 extends keyof HTMLElementTagNameMap>(selectors: K_6): HTMLElementTagNameMap[K_6];
2092
+ querySelector<K_7 extends keyof SVGElementTagNameMap>(selectors: K_7): SVGElementTagNameMap[K_7];
2093
+ querySelector<E_1 extends Element = Element>(selectors: string): E_1;
2094
+ querySelectorAll<K_8 extends keyof HTMLElementTagNameMap>(selectors: K_8): NodeListOf<HTMLElementTagNameMap[K_8]>;
2095
+ querySelectorAll<K_9 extends keyof SVGElementTagNameMap>(selectors: K_9): NodeListOf<SVGElementTagNameMap[K_9]>;
2096
+ querySelectorAll<E_2 extends Element = Element>(selectors: string): NodeListOf<E_2>;
1296
2097
  replaceChildren(...nodes: (string | Node)[]): void;
1297
2098
  readonly assignedSlot: HTMLSlotElement;
1298
2099
  oncopy: (this: DocumentAndElementEventHandlers, ev: ClipboardEvent) => any;
@@ -1400,10 +2201,24 @@ declare const GridTabulatorClientSideDatasource_base: (new (...args: any[]) => {
1400
2201
  tabIndex: number;
1401
2202
  blur(): void;
1402
2203
  focus(options?: FocusOptions): void;
1403
- readonly $fastController: Controller;
1404
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail">): boolean | void;
1405
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
1406
- });
2204
+ }) & typeof FoundationElement;
2205
+
2206
+ /**
2207
+ * Error types for grid-tabulator
2208
+ * @alpha
2209
+ */
2210
+ export declare const gridTabulatorErrorNames: {
2211
+ datasource: string;
2212
+ };
2213
+
2214
+ /**
2215
+ * Event names for grid-tabulator
2216
+ * @alpha
2217
+ */
2218
+ export declare const gridTabulatorEventNames: {
2219
+ error: string;
2220
+ datasourceErrorClose: string;
2221
+ };
1407
2222
 
1408
2223
  /**
1409
2224
  * The grid-tabulator component registration.
@@ -1439,7 +2254,126 @@ export declare enum GridTabulatorTheme {
1439
2254
  */
1440
2255
  export declare const logger: Logger;
1441
2256
 
1442
- export { Options }
2257
+ /**
2258
+ * Merges and dedupes column definitions with column state
2259
+ * @param colDefs - The column definitions
2260
+ * @param columnState - The column state
2261
+ * @returns The merged column definitions
2262
+ * @alpha
2263
+ */
2264
+ export declare function mergeAndDedupColDefWithColumnState(colDefs: any[], columnState: any[]): any[];
2265
+
2266
+ /**
2267
+ * The multiselect editor class for grid-tabulator
2268
+ * @alpha
2269
+ */
2270
+ declare class MultiselectEditor extends FoundationElement {
2271
+ params: MultiselectEditorParams;
2272
+ select: any;
2273
+ /**
2274
+ * Initialize the editor with parameters
2275
+ */
2276
+ init(params: MultiselectEditorParams): void;
2277
+ /**
2278
+ * Get current values
2279
+ */
2280
+ getValues(): (string | number)[];
2281
+ /**
2282
+ * Set focus to the select
2283
+ */
2284
+ focus(): void;
2285
+ /**
2286
+ * Check if a value is selected
2287
+ */
2288
+ isSelected(value: string | number): boolean;
2289
+ /**
2290
+ * Process key down events
2291
+ */
2292
+ handleKeyDown(event: KeyboardEvent): void;
2293
+ /**
2294
+ * Handle change event to save when selection changes
2295
+ */
2296
+ handleChange(): void;
2297
+ }
2298
+
2299
+ /**
2300
+ * Multiselect Editor interface for grid-tabulator
2301
+ *
2302
+ * `value`: The current cell values as array
2303
+ *
2304
+ * `options`: Select options
2305
+ *
2306
+ * `success`: Cell changed callback
2307
+ *
2308
+ * `cancel`: Cancel edit callback
2309
+ *
2310
+ * @alpha
2311
+ */
2312
+ declare interface MultiselectEditorParams {
2313
+ value?: (string | number)[];
2314
+ options?: SelectOption_2[];
2315
+ success?: (values: (string | number)[]) => void;
2316
+ cancel?: () => void;
2317
+ }
2318
+
2319
+ /**
2320
+ * The number editor class for grid-tabulator
2321
+ * @alpha
2322
+ */
2323
+ declare class NumberEditor extends FoundationElement {
2324
+ params: NumberEditorParams;
2325
+ numberField: any;
2326
+ /**
2327
+ * Initialize the editor with parameters
2328
+ */
2329
+ init(params: NumberEditorParams): void;
2330
+ /**
2331
+ * Get current value
2332
+ */
2333
+ getValue(): number;
2334
+ /**
2335
+ * Set focus to the input
2336
+ */
2337
+ focus(): void;
2338
+ /**
2339
+ * Process key down events
2340
+ */
2341
+ handleKeyDown(event: KeyboardEvent): void;
2342
+ }
2343
+
2344
+ /**
2345
+ * Number Editor interface for grid-tabulator
2346
+ *
2347
+ * `value`: The current cell value
2348
+ *
2349
+ * `min`: Min value
2350
+ *
2351
+ * `max`: Max value
2352
+ *
2353
+ * `step`: Step value
2354
+ *
2355
+ * `success`: Cell changed callback
2356
+ *
2357
+ * `cancel`: Cancel edit callback
2358
+ *
2359
+ * @alpha
2360
+ */
2361
+ declare interface NumberEditorParams {
2362
+ value?: number;
2363
+ min?: number;
2364
+ max?: number;
2365
+ step?: number;
2366
+ success?: (value: number) => void;
2367
+ cancel?: () => void;
2368
+ }
2369
+
2370
+ /**
2371
+ * Extended Tabulator Options with custom formatters
2372
+ * @alpha
2373
+ */
2374
+ export declare type Options = {
2375
+ formatters?: Record<string, Formatter>;
2376
+ } & Omit<Options_2, 'formatters'>;
1443
2377
 
1444
2378
  /**
1445
2379
  * Transaction object to handle row data updates.
@@ -1457,10 +2391,152 @@ export declare interface RowDataTransaction<TData = any> {
1457
2391
  }
1458
2392
 
1459
2393
  /**
1460
- * The Tabulator Action Renderer Styles.
2394
+ * The select editor class for grid-tabulator
2395
+ * @public
2396
+ */
2397
+ declare class SelectEditor extends FoundationElement {
2398
+ params: SelectEditorParams;
2399
+ select: any;
2400
+ /**
2401
+ * Initialize the editor with parameters
2402
+ */
2403
+ init(params: SelectEditorParams): void;
2404
+ /**
2405
+ * Get current value
2406
+ */
2407
+ getValue(): any;
2408
+ /**
2409
+ * Set focus to the select
2410
+ */
2411
+ focus(): void;
2412
+ /**
2413
+ * Process key down events
2414
+ */
2415
+ handleKeyDown(event: KeyboardEvent): void;
2416
+ /**
2417
+ * Handle change event
2418
+ */
2419
+ handleChange(): void;
2420
+ }
2421
+
2422
+ /**
2423
+ * Select Editor interface for grid-tabulator
2424
+ *
2425
+ * `value`: The current cell value
2426
+ *
2427
+ * `options`: Select options
2428
+ *
2429
+ * `success`: Cell changed callback
2430
+ *
2431
+ * `cancel`: Cancel edit callback
2432
+ *
2433
+ * @alpha
2434
+ */
2435
+ declare interface SelectEditorParams {
2436
+ value?: string | number;
2437
+ options?: SelectOption_2[];
2438
+ success?: (value: string | number) => void;
2439
+ cancel?: () => void;
2440
+ }
2441
+
2442
+ /**
2443
+ * Formatter that displays a value from a select list of options
2444
+ * Styled to match grid-pro select renderer.
2445
+ *
2446
+ * @param cell - The cell component provided by Tabulator
2447
+ * @param formatterParams - Select formatter parameters
2448
+ * @returns Text content for the selected option
1461
2449
  * @public
1462
2450
  */
1463
- export declare const tabulatorActionRendererStyles: ElementStyles;
2451
+ export declare function selectFormatter(cell: any, formatterParams: SelectFormatterParams): string;
2452
+
2453
+ /**
2454
+ * Parameters for the select formatter
2455
+ *
2456
+ * `options`: Array of options for the select
2457
+ *
2458
+ * `nullText`: Text to display for null/undefined values
2459
+ *
2460
+ * `dataTestId`: Data test ID for testing
2461
+ *
2462
+ * `prefix`: The prefix to use for element classes, e.g., 'foundation', 'zero', 'rapid'. Defaults to 'foundation' if not specified.
2463
+ *
2464
+ * @alpha
2465
+ */
2466
+ export declare interface SelectFormatterParams {
2467
+ options: SelectOption[];
2468
+ nullText?: string;
2469
+ dataTestId?: string;
2470
+ prefix?: string;
2471
+ }
2472
+
2473
+ /**
2474
+ * Option for select formatter
2475
+ *
2476
+ * `value`: The value to use internally
2477
+ *
2478
+ * `label`: The text to display
2479
+ *
2480
+ * @alpha
2481
+ */
2482
+ declare interface SelectOption {
2483
+ value: string | number;
2484
+ label: string;
2485
+ }
2486
+
2487
+ /** @beta
2488
+ * Select option interface
2489
+ *
2490
+ * `value`: Option value
2491
+ *
2492
+ * `label`: Option label
2493
+ */
2494
+ declare interface SelectOption_2 {
2495
+ value: string | number;
2496
+ label: string;
2497
+ }
2498
+
2499
+ /**
2500
+ * The string editor class for grid-tabulator
2501
+ * @alpha
2502
+ */
2503
+ declare class StringEditor extends FoundationElement {
2504
+ params: StringEditorParams;
2505
+ textField: any;
2506
+ /**
2507
+ * Initialize the editor with parameters
2508
+ */
2509
+ init(params: StringEditorParams): void;
2510
+ /**
2511
+ * Get current value
2512
+ */
2513
+ getValue(): any;
2514
+ /**
2515
+ * Set focus to the input
2516
+ */
2517
+ focus(): void;
2518
+ /**
2519
+ * Process key down events
2520
+ */
2521
+ handleKeyDown(event: KeyboardEvent): void;
2522
+ }
2523
+
2524
+ /**
2525
+ * String Editor interface for grid-tabulator
2526
+ *
2527
+ * `value`: The current cell value
2528
+ *
2529
+ * `success`: Cell changed callback
2530
+ *
2531
+ * `cancel`: Cancel edit callback
2532
+ *
2533
+ * @alpha
2534
+ */
2535
+ declare interface StringEditorParams {
2536
+ value?: string;
2537
+ success?: (value: string) => void;
2538
+ cancel?: () => void;
2539
+ }
1464
2540
 
1465
2541
  /**
1466
2542
  * External styles for the Tabulator grid.
@@ -1474,6 +2550,43 @@ export declare const tabulatorExternalStockStyles: ElementStyles;
1474
2550
  */
1475
2551
  export declare const tabulatorThemeSimpleCSS: ElementStyles;
1476
2552
 
2553
+ /**
2554
+ * Text formatter for customized display of values.
2555
+ * Styled to match grid-pro text renderer.
2556
+ *
2557
+ * @param cell - The cell component provided by Tabulator
2558
+ * @param formatterParams - Text formatter parameters
2559
+ * @returns Text content for the cell
2560
+ * @public
2561
+ */
2562
+ export declare function textFormatter(cell: any, formatterParams?: TextFormatterParams): string;
2563
+
2564
+ /**
2565
+ * Parameters for the text formatter
2566
+ *
2567
+ * `specialValue`: Optional special value that should be highlighted (like 2012 in the Year example)
2568
+ *
2569
+ * `specialColor`: Optional color for the highlighted special value
2570
+ *
2571
+ * `specialFontWeight`: Optional font weight for the highlighted special value
2572
+ *
2573
+ * `prefix`: Optional prefix for any custom elements used in formatting
2574
+ *
2575
+ * `dataTestId`: Optional data-test-id for testing purposes
2576
+ *
2577
+ * `nullText`: Optional text to display when the value is null or undefined
2578
+ *
2579
+ * @alpha
2580
+ */
2581
+ export declare interface TextFormatterParams {
2582
+ specialValue?: any;
2583
+ specialColor?: string;
2584
+ specialFontWeight?: string;
2585
+ prefix?: string;
2586
+ dataTestId?: string;
2587
+ nullText?: string;
2588
+ }
2589
+
1477
2590
  /**
1478
2591
  * Get the Fonts ID for the theme's name
1479
2592
  * @param themeName - The theme name