@bryntum/grid-angular-thin 7.2.3 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +4 -4
  2. package/bundles/bryntum-grid-angular-thin.umd.js +761 -230
  3. package/bundles/bryntum-grid-angular-thin.umd.js.map +1 -1
  4. package/esm2015/lib/bryntum-a-i-filter-field.component.js +62 -14
  5. package/esm2015/lib/bryntum-checklist-filter-combo.component.js +62 -14
  6. package/esm2015/lib/bryntum-grid-base.component.js +78 -35
  7. package/esm2015/lib/bryntum-grid-chart-designer.component.js +61 -12
  8. package/esm2015/lib/bryntum-grid-field-filter-picker-group.component.js +65 -21
  9. package/esm2015/lib/bryntum-grid-field-filter-picker.component.js +65 -21
  10. package/esm2015/lib/bryntum-grid.component.js +78 -35
  11. package/esm2015/lib/bryntum-group-bar.component.js +61 -12
  12. package/esm2015/lib/bryntum-tree-combo.component.js +62 -14
  13. package/esm2015/lib/bryntum-tree-grid.component.js +78 -35
  14. package/esm2015/lib/grid.module.js +5 -4
  15. package/esm2015/lib/shadowdom.helper.js +82 -0
  16. package/fesm2015/bryntum-grid-angular-thin.js +738 -207
  17. package/fesm2015/bryntum-grid-angular-thin.js.map +1 -1
  18. package/lib/bryntum-a-i-filter-field.component.d.ts +87 -133
  19. package/lib/bryntum-checklist-filter-combo.component.d.ts +106 -166
  20. package/lib/bryntum-grid-base.component.d.ts +238 -303
  21. package/lib/bryntum-grid-chart-designer.component.d.ts +71 -108
  22. package/lib/bryntum-grid-field-filter-picker-group.component.d.ts +93 -143
  23. package/lib/bryntum-grid-field-filter-picker.component.d.ts +94 -145
  24. package/lib/bryntum-grid.component.d.ts +238 -303
  25. package/lib/bryntum-group-bar.component.d.ts +77 -118
  26. package/lib/bryntum-tree-combo.component.d.ts +107 -168
  27. package/lib/bryntum-tree-grid.component.d.ts +238 -303
  28. package/lib/grid.module.d.ts +2 -1
  29. package/lib/shadowdom.helper.d.ts +3 -0
  30. package/package.json +1 -1
  31. package/src/lib/bryntum-a-i-filter-field.component.ts +146 -141
  32. package/src/lib/bryntum-checklist-filter-combo.component.ts +166 -175
  33. package/src/lib/bryntum-grid-base.component.ts +275 -319
  34. package/src/lib/bryntum-grid-chart-designer.component.ts +126 -112
  35. package/src/lib/bryntum-grid-field-filter-picker-group.component.ts +152 -152
  36. package/src/lib/bryntum-grid-field-filter-picker.component.ts +152 -153
  37. package/src/lib/bryntum-grid.component.ts +275 -319
  38. package/src/lib/bryntum-group-bar.component.ts +132 -122
  39. package/src/lib/bryntum-theme-combo.component.ts +128 -0
  40. package/src/lib/bryntum-tree-combo.component.ts +166 -176
  41. package/src/lib/bryntum-tree-grid.component.ts +275 -319
  42. package/src/lib/grid.module.ts +2 -1
  43. package/src/lib/shadowdom.helper.ts +91 -0
@@ -7,18 +7,18 @@ import { Component, ElementRef, EventEmitter, Output, Input, SimpleChange, Simpl
7
7
 
8
8
  import WrapperHelper from './wrapper.helper';
9
9
 
10
- import { AjaxStore, AjaxStoreConfig, Base, Color, Container, DomConfig, FormulaProviderConfig, KeyMapConfig, Mask, MaskConfig, Menu, MenuItem, MenuItemEntry, Model, ModelConfig, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ScrollManager, ScrollManagerConfig, Scroller, ScrollerConfig, StateProvider, Store, StoreConfig, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, Widget } from '@bryntum/core-thin';
10
+ import { AjaxStore, AjaxStoreConfig, Base, Color, Container, DomConfig, FormulaProviderConfig, InstancePlugin, KeyMapConfig, Mask, MaskConfig, Menu, MenuItem, MenuItemEntry, Model, ModelConfig, PagingToolbarConfig, Panel, PanelCollapserConfig, PanelCollapserOverlayConfig, PanelHeader, ScrollManager, ScrollManagerConfig, Scroller, ScrollerConfig, StateProvider, Store, StoreConfig, TabConfig, Tool, ToolConfig, ToolbarConfig, ToolbarItems, TooltipConfig, Widget } from '@bryntum/core-thin';
11
11
  import { AI, AIConfig, AIFilter, AIFilterConfig, CellCopyPaste, CellCopyPasteConfig, CellEdit, CellEditConfig, CellEditorContext, CellMenu, CellMenuConfig, CellTooltip, CellTooltipConfig, Charts, ChartsConfig, Column, ColumnAutoWidth, ColumnAutoWidthConfig, ColumnDragToolbar, ColumnDragToolbarConfig, ColumnPicker, ColumnPickerConfig, ColumnRename, ColumnRenameConfig, ColumnReorder, ColumnReorderConfig, ColumnResize, ColumnResizeConfig, ColumnStore, ColumnStoreConfig, GridContainerItemConfig, EmptyTextDomConfig, ExcelExporter, ExcelExporterConfig, ExportConfig, FileDrop, FileDropConfig, FillHandle, FillHandleConfig, Filter, FilterBar, FilterBarConfig, FilterConfig, Grid, GridBase, GridColumnConfig, GridListeners, GridLocation, GridLocationConfig, GridSelectionMode, GridStateInfo, Group, GroupConfig, GroupSummary, GroupSummaryConfig, HeaderMenu, HeaderMenuConfig, LockRows, LockRowsConfig, MergeCells, MergeCellsConfig, PdfExport, PdfExportConfig, PinColumns, PinColumnsConfig, PreserveScrollOptions, Print, PrintConfig, QuickFind, QuickFindConfig, RecordPositionContext, RegionResize, RegionResizeConfig, ResponsiveLevelConfig, Row, RowCopyPaste, RowCopyPasteConfig, RowEdit, RowEditConfig, RowEditorContext, RowExpander, RowExpanderConfig, RowReorder, RowReorderConfig, RowResize, RowResizeConfig, Search, SearchConfig, Sort, SortConfig, Split, SplitConfig, StickyCells, StickyCellsConfig, Stripe, StripeConfig, SubGrid, SubGridConfig, Summary, SummaryConfig, Tree, TreeConfig, TreeGroup, TreeGroupConfig, XLSColumn } from '@bryntum/grid-thin';
12
12
 
13
- import { StringHelper } from '@bryntum/core-thin';
13
+ import { DomHelper, StringHelper } from '@bryntum/core-thin';
14
+ import { initThemeInShadowRoots } from './shadowdom.helper';
14
15
 
15
16
  export type BryntumGridProps = {
16
17
  // Configs
17
18
  /**
18
19
  * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
19
20
  * content will be placed inside this element.
20
- * ...
21
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-adopt)
21
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-adopt)
22
22
  */
23
23
  adopt ? : HTMLElement|string
24
24
  /**
@@ -53,15 +53,13 @@ export type BryntumGridProps = {
53
53
  /**
54
54
  * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
55
55
  * into an element which will be linked using the `aria-describedby` attribute.
56
- * ...
57
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ariaDescription)
56
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ariaDescription)
58
57
  */
59
58
  ariaDescription ? : string
60
59
  /**
61
60
  * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
62
61
  * the `aria-label` attribute.
63
- * ...
64
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ariaLabel)
62
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ariaLabel)
65
63
  */
66
64
  ariaLabel ? : string
67
65
  /**
@@ -73,14 +71,12 @@ export type BryntumGridProps = {
73
71
  /**
74
72
  * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar),
75
73
  * or array of config objects representing the child items of a Toolbar. Another way to add a bbar is to use [strips](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-strips).
76
- * ...
77
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bbar)
74
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bbar)
78
75
  */
79
76
  bbar ? : (GridContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
80
77
  /**
81
78
  * Custom CSS classes to add to the panel's body element.
82
- * ...
83
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bodyCls)
79
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bodyCls)
84
80
  */
85
81
  bodyCls ? : string|object
86
82
  /**
@@ -90,21 +86,18 @@ export type BryntumGridProps = {
90
86
  /**
91
87
  * An object where property names with a truthy value indicate which events should bubble up the ownership
92
88
  * hierarchy when triggered.
93
- * ...
94
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bubbleEvents)
89
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-bubbleEvents)
95
90
  */
96
91
  bubbleEvents ? : object
97
92
  /**
98
93
  * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
99
- * ...
100
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-callOnFunctions)
94
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-callOnFunctions)
101
95
  */
102
96
  callOnFunctions ? : boolean
103
97
  /**
104
98
  * By default, if an event handler throws an exception, the error propagates up the stack and the
105
99
  * application state is undefined. Code which follows the event handler will *not* be executed.
106
- * ...
107
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-catchEventHandlerExceptions)
100
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-catchEventHandlerExceptions)
108
101
  */
109
102
  catchEventHandlerExceptions ? : boolean
110
103
  /**
@@ -117,8 +110,7 @@ export type BryntumGridProps = {
117
110
  * Custom CSS classes to add to element.
118
111
  * May be specified as a space separated string, or as an object in which property names
119
112
  * with truthy values are used as the class names:
120
- * ...
121
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-cls)
113
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-cls)
122
114
  */
123
115
  cls ? : string|object
124
116
  /**
@@ -128,15 +120,13 @@ export type BryntumGridProps = {
128
120
  collapsed ? : boolean
129
121
  /**
130
122
  * This config enables collapsibility for the panel. See [collapsed](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-collapsed).
131
- * ...
132
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-collapsible)
123
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-collapsible)
133
124
  */
134
125
  collapsible ? : boolean|PanelCollapserConfig|PanelCollapserOverlayConfig
135
126
  /**
136
127
  * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
137
128
  * `style` block.
138
- * ...
139
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-color)
129
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-color)
140
130
  */
141
131
  color ? : Color
142
132
  /**
@@ -150,8 +140,7 @@ export type BryntumGridProps = {
150
140
  /**
151
141
  * Accepts column definitions for the grid during initialization. They will be used to create
152
142
  * [Column](https://bryntum.com/products/grid/docs/api/Grid/column/Column) instances that are added to a [ColumnStore](#Grid/data/ColumnStore).
153
- * ...
154
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-columns)
143
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-columns)
155
144
  */
156
145
  columns ? : ColumnStore|GridColumnConfig[]|ColumnStoreConfig
157
146
  config ? : object
@@ -159,8 +148,7 @@ export type BryntumGridProps = {
159
148
  * Custom CSS classes to add to the [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
160
149
  * May be specified as a space separated string, or as an object in which property names
161
150
  * with truthy values are used as the class names:
162
- * ...
163
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-contentElementCls)
151
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-contentElementCls)
164
152
  */
165
153
  contentElementCls ? : string|object
166
154
  /**
@@ -172,8 +160,7 @@ export type BryntumGridProps = {
172
160
  * Convenient shortcut to set data in grids store both during initialization and at runtime. Can also be
173
161
  * used to retrieve data at runtime, although we do recommend interacting with Grids store instead using
174
162
  * the [store](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#property-store) property.
175
- * ...
176
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-data)
163
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-data)
177
164
  */
178
165
  data ? : object[]|Model[]|ModelConfig[]
179
166
  /**
@@ -194,16 +181,15 @@ export type BryntumGridProps = {
194
181
  */
195
182
  destroyStore ? : boolean
196
183
  /**
197
- * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
198
- * ...
199
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-detectCSSCompatibilityIssues)
184
+ * Check for CSS compatibility and inclusion related issues and try to auto fix them. Performs the following
185
+ * checks:
186
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-detectCSSCompatibilityIssues)
200
187
  */
201
188
  detectCSSCompatibilityIssues ? : boolean
202
189
  /**
203
190
  * Disable or enable the widget. It is similar to [readOnly](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-readOnly) except a disabled widget
204
191
  * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
205
- * ...
206
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-disabled)
192
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-disabled)
207
193
  */
208
194
  disabled ? : boolean|'inert'
209
195
  /**
@@ -223,43 +209,39 @@ export type BryntumGridProps = {
223
209
  * [strips collection](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
224
210
  * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
225
211
  * body. Such widgets are called "edge strips".
226
- * ...
227
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-dock)
212
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-dock)
228
213
  */
229
214
  dock ? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
230
215
  /**
231
216
  * Make this Panel a docked drawer which slides out from one side of the browser viewport by default.
232
- * ...
233
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-drawer)
234
- * @param {'start','left','end','right','top','bottom'} side The side of the viewport to dock the drawer to. * `'start'` means the `inline-start` side. * `'end'` means the `inline-end` side.
235
- * @param {string,number} size The size of the drawer in its collapsible axis.
236
- * @param {boolean} inline If using the [appendTo](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-appendTo) config to place the drawer inside a host widget, this may be set to `true` to make the drawer inline within that host. Note that, if using this, the layout of the host element must have `flex-direction` set appropriately.
237
- * @param {boolean,object} autoClose Specifies what user actions should automatically close the drawer. Defaults to closing when the user clicks outside of the drawer or when focus moves outside of the drawer.
238
- * @param {boolean,string} autoClose.mousedown If the user clicks outside of the drawer, the drawer will automatically be hidden. If the value is a string, it is used as a CSS selector to filter clicks which should close the drawer.
239
- * @param {boolean,string} autoClose.focusout If focus moves outside of the drawer, the drawer will automatically be hidden.
240
- * @param {string} autoClose.mouseout Hides the drawer when the mouse leaves the drawer after the `autoCloseDelay` period.
241
- * @param {number} autoCloseDelay When using `mouseout`, this is the delay in milliseconds
242
- */
243
- drawer ? : boolean|{side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: boolean, autoClose: { mousedown?: boolean|string, focusout?: boolean|string, mouseout?: string }, autoCloseDelay?: number}
217
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-drawer)
218
+ * @param {'start','left','end','right','top','bottom'} [side] The side of the viewport to dock the drawer to. * `'start'` means the `inline-start` side. * `'end'` means the `inline-end` side.
219
+ * @param {string,number} [size] The size of the drawer in its collapsible axis.
220
+ * @param {boolean} [inline] If using the [appendTo](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-appendTo) config to place the drawer inside a host widget, this may be set to `true` to make the drawer inline within that host. Note that, if using this, the layout of the host element must have `flex-direction` set appropriately.
221
+ * @param {boolean,object} [autoClose] Specifies what user actions should automatically close the drawer. Defaults to closing when the user clicks outside of the drawer or when focus moves outside of the drawer.
222
+ * @param {boolean,string} [autoClose.mousedown] If the user clicks outside of the drawer, the drawer will automatically be hidden. If the value is a string, it is used as a CSS selector to filter clicks which should close the drawer.
223
+ * @param {boolean,string} [autoClose.focusout] If focus moves outside of the drawer, the drawer will automatically be hidden.
224
+ * @param {string} [autoClose.mouseout] Hides the drawer when the mouse leaves the drawer after the `autoCloseDelay` period.
225
+ * @param {number} [autoCloseDelay] When using `mouseout`, this is the delay in milliseconds
226
+ */
227
+ drawer ? : boolean|{ side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: boolean, autoClose?: boolean|{ mousedown?: boolean|string, focusout?: boolean|string, mouseout?: string }, autoCloseDelay?: number }
244
228
  /**
245
229
  * An object specifying attributes to assign to the root element of this widget.
246
230
  * Set `null` value to attribute to remove it.
247
- * ...
248
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-elementAttributes)
231
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-elementAttributes)
249
232
  */
250
233
  elementAttributes ? : Record<string, string|null>
251
234
  /**
252
235
  * Text or HTML, or a [EmptyTextDomConfig](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#typedef-EmptyTextDomConfig) block to display when there is no data to display in the grid.
253
236
  * When using multiple Grid regions, provide the `region` property to decide where the text is shown.
254
237
  * By default, it is shown in the first region.
255
- * ...
256
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-emptyText)
238
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-emptyText)
257
239
  */
258
240
  emptyText ? : string|EmptyTextDomConfig
259
241
  /**
260
- * Configure this as `true` to allow elements within cells to be styled as `position: sticky`.
261
- * ...
262
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-enableSticky)
242
+ * Set to `true` to enable the [StickyCells](https://bryntum.com/products/grid/docs/api/Grid/feature/StickyCells) feature, which pins cell
243
+ * content to the top of the grid while rows scroll off the top but remain visible.
244
+ * @deprecated 7.3.0 Use `features : { stickyCells : true }` instead
263
245
  */
264
246
  enableSticky ? : boolean
265
247
  /**
@@ -283,8 +265,7 @@ export type BryntumGridProps = {
283
265
  * Use fixed row height. Setting this to `true` will configure the underlying RowManager to use fixed row
284
266
  * height, which sacrifices the ability to use rows with variable height to gain a fraction better
285
267
  * performance.
286
- * ...
287
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-fixedRowHeight)
268
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-fixedRowHeight)
288
269
  */
289
270
  fixedRowHeight ? : boolean
290
271
  /**
@@ -298,41 +279,35 @@ export type BryntumGridProps = {
298
279
  /**
299
280
  * Config object of a footer. May contain a `dock`, `html` and a `cls` property. A footer is not a widget,
300
281
  * but rather plain HTML that follows the last element of the panel's body and [strips](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-strips).
301
- * ...
302
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-footer)
282
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-footer)
283
+ * @property {'top','right','bottom','left','start','end'} dock Where to dock
284
+ * @property {string} html Html to populate the footer with
285
+ * @property {string} cls CSS class to add to the footer
303
286
  */
304
- footer ? : {
305
- dock?: 'top'|'right'|'bottom'|'left'|'start'|'end'
306
- html?: string
307
- cls?: string
308
- }|string
287
+ footer ? : object|string
309
288
  /**
310
289
  * An object which names formula prefixes which will be applied to all columns configured with
311
290
  * `formula : true`.
312
- * ...
313
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-formulaProviders)
291
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-formulaProviders)
314
292
  */
315
293
  formulaProviders ? : Record<string, FormulaProviderConfig>
316
294
  /**
317
295
  * Refresh entire row when a record changes (`true`) or, if possible, only the cells affected (`false`).
318
- * ...
319
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-fullRowRefresh)
296
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-fullRowRefresh)
320
297
  */
321
298
  fullRowRefresh ? : boolean
322
299
  /**
323
300
  * A function called for each row to determine its height. It is passed a [record](https://bryntum.com/products/grid/docs/api/Core/data/Model) and
324
301
  * expected to return the desired height of that records row. If the function returns a falsy value, Grids
325
302
  * configured [rowHeight](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-rowHeight) is used.
326
- * ...
327
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-getRowHeight)
303
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-getRowHeight)
328
304
  * @param {Core.data.Model} getRowHeight.record Record to determine row height for
329
305
  * @returns {number} Desired row height
330
306
  */
331
- getRowHeight ? : (getRowHeight: { record: Model }) => number
307
+ getRowHeight ? : () => number
332
308
  /**
333
309
  * A config [object](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#typedef-PanelHeader) for the panel's header or a string in place of a `title`.
334
- * ...
335
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-header)
310
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-header)
336
311
  */
337
312
  header ? : string|boolean|PanelHeader
338
313
  /**
@@ -372,16 +347,14 @@ export type BryntumGridProps = {
372
347
  id ? : string
373
348
  /**
374
349
  * Determines if the widgets read-only state should be controlled by its parent.
375
- * ...
376
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ignoreParentReadOnly)
350
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ignoreParentReadOnly)
377
351
  */
378
352
  ignoreParentReadOnly ? : boolean
379
353
  /**
380
354
  * Convenience setting to align input fields of child widgets. By default, the Field input element is
381
355
  * placed immediately following the `label`. If you prefer to have all input fields aligned to the
382
356
  * right, set this config to `'end'`.
383
- * ...
384
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-inputFieldAlign)
357
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-inputFieldAlign)
385
358
  */
386
359
  inputFieldAlign ? : 'start'|'end'
387
360
  /**
@@ -398,14 +371,17 @@ export type BryntumGridProps = {
398
371
  keyMap ? : Record<string, KeyMapConfig>
399
372
  /**
400
373
  * Convenience setting to use same label placement on all child widgets.
401
- * ...
402
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-labelPosition)
374
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-labelPosition)
403
375
  */
404
376
  labelPosition ? : 'before'|'above'|'align-before'|'auto'|null
377
+ /**
378
+ * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
379
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-labelWidth)
380
+ */
381
+ labelWidth ? : number|null
405
382
  /**
406
383
  * The listener set for this object.
407
- * ...
408
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-listeners)
384
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-listeners)
409
385
  */
410
386
  listeners ? : GridListeners
411
387
  /**
@@ -418,15 +394,13 @@ export type BryntumGridProps = {
418
394
  * when data is loading. The message and optional configuration from the
419
395
  * [loadMask](https://bryntum.com/products/grid/docs/api/Core/mixin/LoadMaskable#config-loadMask) config take priority over these options, just as they do
420
396
  * for `maskDefaults`, respectively.
421
- * ...
422
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-loadMaskDefaults)
397
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-loadMaskDefaults)
423
398
  */
424
399
  loadMaskDefaults ? : MaskConfig
425
400
  /**
426
401
  * A [Mask](https://bryntum.com/products/grid/docs/api/Core/widget/Mask) config object to adjust the [maskDefaults](#Core/widget/Widget#config-maskDefaults)
427
402
  * when an error occurs loading data.
428
- * ...
429
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-loadMaskError)
403
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-loadMaskError)
430
404
  */
431
405
  loadMaskError ? : MaskConfig|Mask|boolean
432
406
  /**
@@ -464,8 +438,7 @@ export type BryntumGridProps = {
464
438
  /**
465
439
  * Grid's `min-height`. Defaults to `10em` to be sure that the Grid always has a height wherever it is
466
440
  * inserted.
467
- * ...
468
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-minHeight)
441
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-minHeight)
469
442
  */
470
443
  minHeight ? : string|number
471
444
  /**
@@ -480,7 +453,7 @@ export type BryntumGridProps = {
480
453
  /**
481
454
  * Specify plugins (an array of classes) in config
482
455
  */
483
- plugins ? : Function[]
456
+ plugins ? : InstancePlugin[]|InstancePlugin
484
457
  /**
485
458
  * True to preserve focused cell after loading new data
486
459
  */
@@ -502,54 +475,61 @@ export type BryntumGridProps = {
502
475
  preventTooltipOnTouch ? : boolean
503
476
  /**
504
477
  * Set to `true` to make the grid read-only, by disabling any UIs for modifying data.
505
- * ...
506
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-readOnly)
478
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-readOnly)
507
479
  */
508
480
  readOnly ? : boolean
509
481
  relayStoreEvents ? : boolean
510
482
  /**
511
483
  * Either a default `rendition` to apply to all child widgets, or a map of renditions keyed by child widget
512
484
  * `type`.
513
- * ...
514
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rendition)
485
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rendition)
515
486
  */
516
487
  rendition ? : string|Record<string, string>|null
517
488
  /**
518
489
  * Configure this property to allow the widget/component to be resized. Pressing <kbd>Shift</kbd> while resizing will
519
490
  * constrain the aspect ratio.
520
- * ...
521
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-resizable)
522
- */
523
- resizable ? : boolean|{
524
- minWidth?: number
525
- maxWidth?: number
526
- minHeight?: number
527
- maxHeight?: number
528
- handles?: object
529
- }
491
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-resizable)
492
+ * @property {number} [resizable.minWidth] The minimum width of the element.
493
+ * @property {number} [resizable.maxWidth] The maximum width of the element.
494
+ * @property {number} [resizable.minHeight] The minimum height of the element.
495
+ * @property {number} [resizable.maxHeight] The maximum height of the element
496
+ * @property {object} [resizable.handles] An object controlling which edges/corners are resizable.
497
+ * @property {boolean} [resizable.handles.topStart] Resizable from top-start corner
498
+ * @property {boolean} [resizable.handles.top] Resizable from top edge
499
+ * @property {boolean} [resizable.handles.topEnd] Resizable from top-end corner
500
+ * @property {boolean} [resizable.handles.end] Resizable from end edge
501
+ * @property {boolean} [resizable.handles.bottomEnd] Resizable from bottom-end corner
502
+ * @property {boolean} [resizable.handles.bottom] Resizable from bottom edge
503
+ * @property {boolean} [resizable.handles.bottomStart] Resizable from bottom-start corner
504
+ * @property {boolean} [resizable.handles.start] Resizable from start edge
505
+ */
506
+ resizable ? : boolean|{ minWidth?: number, maxWidth?: number, minHeight?: number, maxHeight?: number, handles?: { topStart?: boolean, top?: boolean, topEnd?: boolean, end?: boolean, bottomEnd?: boolean, bottom?: boolean, bottomStart?: boolean, start?: boolean } }
530
507
  /**
531
508
  * Set to `false` to only measure cell contents when double-clicking the edge between column headers.
532
509
  */
533
510
  resizeToFitIncludesHeader ? : boolean
534
511
  /**
535
512
  * "Break points" for which responsive config to use for columns and css.
536
- * ...
537
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-responsiveLevels)
513
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-responsiveLevels)
538
514
  */
539
515
  responsiveLevels ? : Record<string, number|string|ResponsiveLevelConfig>
540
516
  /**
541
517
  * Configure as `true` to have the component display a translucent ripple when its
542
518
  * [focusElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-focusElement), or [element](#Core/widget/Widget#property-element) is tapped <em>if the
543
519
  * current theme supports ripples</em>. Out of the box, only the Material theme supports ripples.
544
- * ...
545
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ripple)
546
- */
547
- ripple ? : boolean|{
548
- delegate?: string
549
- color?: string
550
- radius?: number
551
- clip?: string
552
- }
520
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ripple)
521
+ * @property {string} [delegate] A CSS selector to filter which child elements trigger ripples. By default, the ripple is clipped to the triggering element.
522
+ * @property {string} [color] A CSS color name or specification.
523
+ * @property {number} [radius] The ending radius of the ripple. Note that it will be clipped by the target element by default.
524
+ * @property {string} [clip] A string which describes how to clip the ripple if it is not to be clipped to the default element. Either the property of the widget to use as the clipping element, or a selector to allow clipping to the closest matching ancestor to the target element.
525
+ */
526
+ ripple ? : boolean|object
527
+ /**
528
+ * The ARIA role to apply to this widget's element. By default, this is set to `'presentation'` to avoid
529
+ * accidentally applying a role which may interfere with screen readers.
530
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-role)
531
+ */
532
+ role ? : string
553
533
  /**
554
534
  * If you are rendering this widget to a shadow root inside a web component, set this config to the shadowRoot. If not inside a web component, set it to `document.body`
555
535
  */
@@ -558,8 +538,7 @@ export type BryntumGridProps = {
558
538
  * Row height in pixels. This allows the default height for rows to be controlled. Note that it may be
559
539
  * overridden by specifying a [rowHeight](https://bryntum.com/products/grid/docs/api/Grid/data/GridRowModel#field-rowHeight) on a per record basis, or from
560
540
  * a column [renderer](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-renderer).
561
- * ...
562
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rowHeight)
541
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rowHeight)
563
542
  */
564
543
  rowHeight ? : number
565
544
  /**
@@ -568,15 +547,13 @@ export type BryntumGridProps = {
568
547
  rowLines ? : boolean
569
548
  /**
570
549
  * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
571
- * ...
572
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rtl)
550
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-rtl)
573
551
  */
574
552
  rtl ? : boolean
575
553
  /**
576
554
  * Configures whether the grid is scrollable in the `Y` axis. This is used to configure a [Scroller](https://bryntum.com/products/grid/docs/api/Core/helper/util/Scroller).
577
555
  * See the [scrollerClass](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-scrollerClass) config option.
578
- * ...
579
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-scrollable)
556
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-scrollable)
580
557
  */
581
558
  scrollable ? : boolean|ScrollerConfig|Scroller
582
559
  /**
@@ -591,141 +568,122 @@ export type BryntumGridProps = {
591
568
  /**
592
569
  * Selection configuration settings, change these properties to control how selection works and what can be
593
570
  * selected.
594
- * ...
595
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-selectionMode)
571
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-selectionMode)
596
572
  */
597
573
  selectionMode ? : GridSelectionMode
598
574
  /**
599
575
  * Configure as `true` to have the grid show a red "changed" tag in cells whose
600
576
  * field value has changed and not yet been committed.
601
- * ...
602
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-showDirty)
577
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-showDirty)
578
+ * @property {boolean} showDirty.duringEdit Set to `true` to show the red tag while editing a cell
579
+ * @property {boolean} showDirty.newRecord Set to `true` to show the red tag for all the cells of the new record
603
580
  */
604
- showDirty ? : boolean|{
605
- duringEdit?: boolean
606
- newRecord?: boolean
607
- }
581
+ showDirty ? : boolean|{ duringEdit: boolean, newRecord: boolean }
608
582
  /**
609
583
  * Programmatic control over how many columns to span when used in a grid layout.
610
584
  */
611
585
  span ? : number
612
586
  /**
613
587
  * This value can be one of the following:
614
- * ...
615
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateful)
588
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateful)
616
589
  */
617
590
  stateful ? : boolean|object|string[]
618
591
  /**
619
592
  * The events that, when fired by this component, should trigger it to save its state by calling
620
593
  * [saveState](https://bryntum.com/products/grid/docs/api/Core/mixin/State#function-saveState).
621
- * ...
622
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-statefulEvents)
594
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-statefulEvents)
623
595
  */
624
596
  statefulEvents ? : object|string[]
625
597
  /**
626
598
  * The key to use when saving this object's state in the [stateProvider](https://bryntum.com/products/grid/docs/api/Core/mixin/State#config-stateProvider). If this config is
627
599
  * not assigned, and [stateful](https://bryntum.com/products/grid/docs/api/Core/mixin/State#config-stateful) is not set to `false`, the [id](#Core/widget/Widget#config-id)
628
600
  * (if explicitly specified) will be used as the `stateId`.
629
- * ...
630
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateId)
601
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateId)
631
602
  */
632
603
  stateId ? : string
633
604
  /**
634
605
  * The `StateProvider` to use to save and restore this object's [state](https://bryntum.com/products/grid/docs/api/Core/mixin/State#property-state). By default, `state`
635
606
  * will be saved using the [default state provider](https://bryntum.com/products/grid/docs/api/Core/state/StateProvider#property-instance-static).
636
- * ...
637
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateProvider)
607
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateProvider)
638
608
  */
639
609
  stateProvider ? : StateProvider
640
610
  /**
641
611
  * The properties of this settings object controls how grid is restored from state data.
642
- * ...
643
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateSettings)
612
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-stateSettings)
613
+ * @property {boolean} [restoreUnconfiguredColumns] Determines whether to restore columns from the state that are not explicitly defined in the grid configuration.
644
614
  */
645
- stateSettings ? : {
646
- restoreUnconfiguredColumns?: boolean
647
- }
615
+ stateSettings ? : object
648
616
  /**
649
617
  * Store that holds records to display in the grid, or a store config object. If the configuration contains
650
618
  * a `readUrl`, an `AjaxStore` will be created.
651
- * ...
652
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-store)
619
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-store)
653
620
  */
654
621
  store ? : Store|StoreConfig|AjaxStore|AjaxStoreConfig
655
622
  /**
656
623
  * An object containing widgets keyed by name. By default (when no `type` is given), strips are
657
624
  * [toolbars](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar). If you want to pass an array, you can use
658
625
  * the toolbar's [items](https://bryntum.com/products/grid/docs/api/Core/widget/Container#config-items).
659
- * ...
660
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-strips)
626
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-strips)
661
627
  */
662
628
  strips ? : Record<string, GridContainerItemConfig>
663
629
  /**
664
630
  * An object containing sub grid configuration objects keyed by a `region` property.
665
631
  * By default, grid has a 'locked' region (if configured with locked columns) and a 'normal' region.
666
632
  * The 'normal' region defaults to use `flex: 1`.
667
- * ...
668
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-subGridConfigs)
633
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-subGridConfigs)
669
634
  */
670
635
  subGridConfigs ? : Record<string, SubGridConfig>
671
636
  /**
672
637
  * A [Mask](https://bryntum.com/products/grid/docs/api/Core/widget/Mask) config object, or a message to be shown when Crud Manager
673
638
  * is persisting changes on the server. Set to `null` to disable default sync mask.
674
- * ...
675
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-syncMask)
639
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-syncMask)
676
640
  */
677
641
  syncMask ? : string|MaskConfig|null
678
642
  /**
679
643
  * A configuration for the [tab](https://bryntum.com/products/grid/docs/api/Core/widget/Tab) created for this widget when it is placed in a
680
644
  * [TabPanel](https://bryntum.com/products/grid/docs/api/Core/widget/TabPanel). For example, this config can be used to control the icon of the `tab` for
681
645
  * this widget:
682
- * ...
683
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tab)
646
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tab)
684
647
  */
685
648
  tab ? : boolean|TabConfig
686
649
  /**
687
650
  * When this container is used as a tab in a TabPanel, these items are added to the
688
651
  * [TabBar](https://bryntum.com/products/grid/docs/api/Core/widget/TabBar) when this container is the active tab.
689
- * ...
690
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tabBarItems)
652
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tabBarItems)
691
653
  */
692
654
  tabBarItems ? : ToolbarItems[]|Widget[]
693
655
  /**
694
656
  * A Config object representing the configuration of a [Toolbar](https://bryntum.com/products/grid/docs/api/Core/widget/Toolbar),
695
657
  * or array of config objects representing the child items of a Toolbar.
696
658
  * This creates a toolbar docked to the top of the panel immediately below the header.
697
- * ...
698
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tbar)
659
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tbar)
699
660
  */
700
661
  tbar ? : (GridContainerItemConfig|string)[]|ToolbarConfig|PagingToolbarConfig|null
701
662
  /**
702
663
  * A title to display in the header or owning TabPanel. Causes creation and docking of a header
703
664
  * to the top if no header is configured.
704
- * ...
705
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-title)
665
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-title)
706
666
  */
707
667
  title ? : string
708
668
  /**
709
669
  * The [tools](https://bryntum.com/products/grid/docs/api/Core/widget/Tool) to add either before or after the `title` in the Panel header. Each
710
670
  * property name is the reference by which an instantiated tool may be retrieved from the live
711
671
  * `[tools](https://bryntum.com/products/grid/docs/api/Core/widget/mixin/Toolable#property-tools)` property.
712
- * ...
713
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tools)
672
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-tools)
714
673
  */
715
674
  tools ? : Record<string, ToolConfig>|null
716
675
  /**
717
676
  * Configure UI transitions for various actions in the grid.
677
+ * @property {boolean} insertRecord Transition record insertions
678
+ * @property {boolean} removeRecord Transition record removals
679
+ * @property {boolean} toggleColumn Transition column visibility changes
680
+ * @property {boolean} expandCollapseColumn Transition parent/group column expand/collapse
681
+ * @property {boolean} toggleRegion Transition region expand/collapse
682
+ * @property {boolean} toggleTreeNode Transition tree node expand/collapse
683
+ * @property {boolean} toggleGroup Transition group expand/collapse
684
+ * @property {boolean} filterRemoval Transition row removals caused by filtering (under specific conditions)
718
685
  */
719
- transition ? : {
720
- insertRecord?: boolean
721
- removeRecord?: boolean
722
- toggleColumn?: boolean
723
- expandCollapseColumn?: boolean
724
- toggleRegion?: boolean
725
- toggleTreeNode?: boolean
726
- toggleGroup?: boolean
727
- filterRemoval?: boolean
728
- }
686
+ transition ? : object
729
687
  /**
730
688
  * Animation transition duration in milliseconds.
731
689
  */
@@ -735,8 +693,7 @@ export type BryntumGridProps = {
735
693
  * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
736
694
  * as a space separated string, an array of strings, or as an object in which property names with truthy
737
695
  * values are used as the class names.
738
- * ...
739
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ui)
696
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#config-ui)
740
697
  */
741
698
  ui ? : 'plain'|'toolbar'|string|object
742
699
  /**
@@ -757,129 +714,117 @@ export type BryntumGridProps = {
757
714
  * agent and see the responses. Which allows the user to use natural language to interact with the Grid in different
758
715
  * ways. For example, the user can ask the agent to filter the data, sort it, or select specific records. The agent can
759
716
  * also perform data manipulation operations such as adding, updating, deleting records.
760
- * ...
761
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/AI)
717
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/AI)
762
718
  */
763
719
  aiFeature ? : object|boolean|string|AI|AIConfig
764
720
  /**
765
721
  * AI-powered filter feature for Grid. Allows users to type natural language queries to filter grid data.
766
- * ...
767
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ai/AIFilter)
722
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ai/AIFilter)
768
723
  */
769
724
  aiFilterFeature ? : object|boolean|string|AIFilter|AIFilterConfig
770
725
  /**
771
726
  * Allows using `[Ctrl/CMD + C]`, `[Ctrl/CMD + X]` and `[Ctrl/CMD + V]` to cut, copy and paste cell or cell ranges. Also
772
727
  * makes cut, copy and paste actions available via the cell context menu.
773
- * ...
774
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellCopyPaste)
728
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellCopyPaste)
775
729
  */
776
730
  cellCopyPasteFeature ? : object|boolean|string|CellCopyPaste|CellCopyPasteConfig
777
731
  /**
778
732
  * Adding this feature to the grid and other Bryntum products which are based on the Grid (i.e. Scheduler, SchedulerPro, and Gantt)
779
733
  * enables cell editing. Any subclass of [Field](https://bryntum.com/products/grid/docs/api/Core/widget/Field) can be used
780
734
  * as editor for the [Column](https://bryntum.com/products/grid/docs/api/Grid/column/Column). The most popular are:
781
- * ...
782
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellEdit)
735
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellEdit)
783
736
  */
784
737
  cellEditFeature ? : object|boolean|string|CellEdit|CellEditConfig
785
738
  /**
786
739
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
787
740
  * <kbd>Space</kbd> key when the cell is focused.
788
- * ...
789
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellMenu)
741
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellMenu)
790
742
  */
791
743
  cellMenuFeature ? : object|boolean|string|CellMenu|CellMenuConfig
792
744
  /**
793
745
  * Displays a tooltip when hovering cells.
794
- * ...
795
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellTooltip)
746
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellTooltip)
796
747
  */
797
748
  cellTooltipFeature ? : object|boolean|string|CellTooltip|CellTooltipConfig
798
749
  /**
799
750
  * Adds interactive charting to a Grid. [Charts](https://bryntum.com/products/grid/docs/api/Chart/widget/Chart) can be created from a selection of Grid data
800
751
  * and updated in realtime as data changes. Supports many common chart types with extensive styling and customization
801
752
  * options.
802
- * ...
803
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Charts)
753
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Charts)
804
754
  */
805
755
  chartsFeature ? : object|boolean|string|Charts|ChartsConfig
806
756
  /**
807
- * Enables the [autoWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-autoWidth) config for a grid's columns.
808
- * ...
809
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnAutoWidth)
757
+ * Enables the [autoWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-autoWidth) config for a grid's columns. When a column
758
+ * has `autoWidth` set, this feature measures the rendered content of all visible cells in that column
759
+ * and adjusts the column width to fit. The measurement is triggered automatically when data changes
760
+ * or rows are rendered.
761
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnAutoWidth)
810
762
  */
811
763
  columnAutoWidthFeature ? : object|boolean|string|ColumnAutoWidth|ColumnAutoWidthConfig
812
764
  /**
813
765
  * Displays a toolbar while dragging column headers. Drop on a button in the toolbar to activate a certain function,
814
766
  * for example to group by that column. This feature simplifies certain operations on touch devices.
815
- * ...
816
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnDragToolbar)
767
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnDragToolbar)
817
768
  */
818
769
  columnDragToolbarFeature ? : object|boolean|string|ColumnDragToolbar|ColumnDragToolbarConfig
819
770
  /**
820
771
  * Displays a column picker (to show/hide columns) in the header context menu. Columns can be displayed in sub menus
821
772
  * by region or tag. Grouped headers are displayed as menu hierarchies.
822
- * ...
823
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnPicker)
773
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnPicker)
824
774
  */
825
775
  columnPickerFeature ? : object|boolean|string|ColumnPicker|ColumnPickerConfig
826
776
  /**
827
777
  * Allows user to rename columns by either right-clicking column header or using keyboard shortcuts when column header
828
778
  * is focused.
829
- * ...
830
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnRename)
779
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnRename)
831
780
  */
832
781
  columnRenameFeature ? : object|boolean|string|ColumnRename|ColumnRenameConfig
833
782
  /**
834
- * Allows user to reorder columns by dragging headers. To get notified about column reorder listen to `change` event
835
- * on [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
836
- * ...
837
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnReorder)
783
+ * Allows user to reorder columns by dragging headers. Click and drag a column header to move it to a new position.
784
+ * Visual feedback shows the drop target while dragging. To get notified about column reorder, listen to the
785
+ * `change` event on the [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
786
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnReorder)
838
787
  */
839
788
  columnReorderFeature ? : object|boolean|string|ColumnReorder|ColumnReorderConfig
840
789
  /**
841
- * Enables user to resize columns by dragging a handle on the right hand side of the header. To get notified about column
842
- * resize listen to `change` event on [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
843
- * ...
844
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnResize)
790
+ * Enables user to resize columns by dragging a handle on the right hand side of the header. A drag handle
791
+ * appears when hovering near the right edge of a column header. Dragging it adjusts the column width, respecting
792
+ * any [minWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-minWidth) or [maxWidth](#Grid/column/Column#config-maxWidth) constraints.
793
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnResize)
845
794
  */
846
795
  columnResizeFeature ? : object|boolean|string|ColumnResize|ColumnResizeConfig
847
796
  /**
848
797
  * A feature that allows exporting Grid data to Excel or CSV without involving the server. It uses
849
798
  * [TableExporter](https://bryntum.com/products/grid/docs/api/Grid/util/TableExporter) class as data provider, 3rd party provider to generate XLS files, and
850
799
  * [Microsoft XML specification](https://msdn.microsoft.com/en-us/library/office/documentformat.openxml.spreadsheet.aspx).
851
- * ...
852
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/ExcelExporter)
800
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/ExcelExporter)
853
801
  */
854
802
  excelExporterFeature ? : object|boolean|string|ExcelExporter|ExcelExporterConfig
855
803
  /**
856
- * An experimental feature that lets users drop files on a Widget. The widget fires an event when a file is dropped onto it.
857
- * In the event, you get access to the raw files as strings, that were parsed by calling `readAsBinaryString`.
858
- * ...
859
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/FileDrop)
804
+ * An experimental feature that lets users drop files on a Widget. The widget fires a
805
+ * [fileDrop](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/FileDrop#event-fileDrop) event when a file is dropped onto it. In the event, you get access to the raw
806
+ * files as strings, that were parsed by calling `readAsBinaryString`.
807
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/FileDrop)
860
808
  */
861
809
  fileDropFeature ? : object|boolean|string|FileDrop|FileDropConfig
862
810
  /**
863
811
  * This feature adds a fill handle to a Grid range selection, which when dragged, fills the cells being dragged over
864
812
  * with values based on the values in the original selected range. This is similar to functionality normally seen in
865
813
  * various spreadsheet applications.
866
- * ...
867
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/FillHandle)
814
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/FillHandle)
868
815
  */
869
816
  fillHandleFeature ? : object|boolean|string|FillHandle|FillHandleConfig
870
817
  /**
871
818
  * Feature that allows filtering of the grid by settings filters on columns. The actual filtering is done by the store.
872
819
  * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreFilter).
873
- * ...
874
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Filter)
820
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Filter)
875
821
  */
876
822
  filterFeature ? : object|boolean|string|Filter|FilterConfig
877
823
  /**
878
824
  * Feature that allows filtering of the grid by entering filters on column headers.
879
825
  * The actual filtering is done by the store.
880
826
  * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreFilter).
881
- * ...
882
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/FilterBar)
827
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/FilterBar)
883
828
  */
884
829
  filterBarFeature ? : object|boolean|string|FilterBar|FilterBarConfig
885
830
  /**
@@ -887,141 +832,124 @@ export type BryntumGridProps = {
887
832
  * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
888
833
  * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
889
834
  * grouper.
890
- * ...
891
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Group)
835
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Group)
892
836
  */
893
837
  groupFeature ? : object|boolean|string|Group|GroupConfig
894
838
  /**
895
839
  * Displays a summary row as a group footer in a grouped grid. Uses the same configuration options on columns as
896
840
  * [Summary](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary).
897
- * ...
898
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/GroupSummary)
841
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/GroupSummary)
899
842
  */
900
843
  groupSummaryFeature ? : object|boolean|string|GroupSummary|GroupSummaryConfig
901
844
  /**
902
845
  * Right click column header or focus it and press SPACE key to show the context menu for headers.
903
- * ...
904
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/HeaderMenu)
846
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/HeaderMenu)
905
847
  */
906
848
  headerMenuFeature ? : object|boolean|string|HeaderMenu|HeaderMenuConfig
907
849
  /**
908
850
  * This feature allows records which satisfy a certain condition to be locked at the top of the grid.
909
- * ...
910
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/LockRows)
851
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/LockRows)
911
852
  */
912
853
  lockRowsFeature ? : object|boolean|string|LockRows|LockRowsConfig
913
854
  /**
914
855
  * This feature merges cells that have the same value in sorted (or [optionally](https://bryntum.com/products/grid/docs/api/Grid/feature/MergeCells#config-sortedOnly) any) columns
915
856
  * configured to [mergeCells](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-mergeCells).
916
- * ...
917
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/MergeCells)
857
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/MergeCells)
918
858
  */
919
859
  mergeCellsFeature ? : object|boolean|string|MergeCells|MergeCellsConfig
920
860
  /**
921
861
  * Generates PDF/PNG files from the Grid component.
922
- * ...
923
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/PdfExport)
862
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/PdfExport)
924
863
  */
925
864
  pdfExportFeature ? : object|boolean|string|PdfExport|PdfExportConfig
926
865
  /**
927
866
  * Allows pinning columns to the start or end region of the grid without any additional subGrid configurations.
928
867
  * When pinning to a region that does not yet exist, the feature creates the required subGrid on the fly.
929
- * ...
930
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/PinColumns)
868
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/PinColumns)
931
869
  */
932
870
  pinColumnsFeature ? : object|boolean|string|PinColumns|PinColumnsConfig
933
871
  /**
934
872
  * Allows printing Grid contents using browser print dialog.
935
- * ...
936
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/Print)
873
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/Print)
937
874
  */
938
875
  printFeature ? : object|boolean|string|Print|PrintConfig
939
876
  /**
940
877
  * Feature that allows the user to search in a column by focusing a cell and typing. Navigate between hits using the
941
- * keyboard, [f3] or [ctrl]/[cmd] + [g] moves to next, also pressing [shift] moves to previous.
942
- * ...
943
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/QuickFind)
878
+ * keyboard, <kbd>f3</kbd> or <kbd>ctrl</kbd>/<kbd>cmd</kbd> + <kbd>g</kbd> moves to next, also pressing
879
+ * <kbd>shift</kbd> moves to previous.
880
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/QuickFind)
944
881
  */
945
882
  quickFindFeature ? : object|boolean|string|QuickFind|QuickFindConfig
946
883
  /**
947
884
  * Makes the splitter between grid [sections](https://bryntum.com/products/grid/docs/api/Grid/view/SubGrid) draggable, to let users resize, and
948
885
  * collapse/expand the sections.
949
- * ...
950
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RegionResize)
886
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RegionResize)
951
887
  */
952
888
  regionResizeFeature ? : object|boolean|string|RegionResize|RegionResizeConfig
953
889
  /**
954
890
  * Allow using [Ctrl/CMD + C/X] and [Ctrl/CMD + V] to copy/cut-and-paste rows. Also makes cut, copy and paste actions
955
891
  * available via the cell context menu.
956
- * ...
957
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowCopyPaste)
892
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowCopyPaste)
958
893
  */
959
894
  rowCopyPasteFeature ? : object|boolean|string|RowCopyPaste|RowCopyPasteConfig
960
895
  /**
961
896
  * This feature allows editing of entire rows in a grid in a docked panel which by default slides out from the right.
962
- * ...
963
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowEdit)
897
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowEdit)
964
898
  */
965
899
  rowEditFeature ? : object|boolean|string|RowEdit|RowEditConfig
966
900
  /**
967
901
  * Enables expanding of Grid rows by either row click or double click, or by adding a separate Grid column which renders
968
902
  * a button that expands or collapses the row.
969
- * ...
970
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowExpander)
903
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowExpander)
971
904
  */
972
905
  rowExpanderFeature ? : object|boolean|string|RowExpander|RowExpanderConfig
973
906
  /**
974
907
  * Allows user to reorder rows by dragging them. To get notified about row reorder listen to `change` event
975
908
  * on the grid [store](https://bryntum.com/products/grid/docs/api/Core/data/Store).
976
- * ...
977
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowReorder)
909
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowReorder)
978
910
  */
979
911
  rowReorderFeature ? : object|boolean|string|RowReorder|RowReorderConfig
980
912
  /**
981
913
  * Enables user to change row height by dragging the bottom row border. After a resize operation, the [rowHeight](https://bryntum.com/products/grid/docs/api/Grid/data/GridRowModel#field-rowHeight)
982
914
  * field of the record is updated (when [applyToAllRows](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize#config-applyToAllRows) is `false`).
983
- * ...
984
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize)
915
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize)
985
916
  */
986
917
  rowResizeFeature ? : object|boolean|string|RowResize|RowResizeConfig
987
918
  /**
988
919
  * <div class="external-example vertical" data-file="Grid/feature/Search.js"></div>
989
- * ...
990
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Search)
920
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Search)
991
921
  */
992
922
  searchFeature ? : object|boolean|string|Search|SearchConfig
993
923
  /**
994
924
  * Allows sorting of grid by clicking (or tapping) headers, also displays which columns grid is sorted by (numbered if
995
925
  * using multisort). Use modifier keys for multisorting: [Ctrl/CMD + click] to add sorter, [Ctrl/CMD + Alt + click] to remove sorter.
996
926
  * The actual sorting is done by the store, see [Store.sort()](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreSort#function-sort).
997
- * ...
998
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Sort)
927
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Sort)
999
928
  */
1000
929
  sortFeature ? : object|boolean|string|Sort|SortConfig
1001
930
  /**
1002
931
  * This feature allows splitting the Grid into multiple views, either by using the cell context menu, or
1003
932
  * programmatically by calling [split()](https://bryntum.com/products/grid/docs/api/Grid/feature/Split#function-split).
1004
- * ...
1005
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Split)
933
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Split)
1006
934
  */
1007
935
  splitFeature ? : object|boolean|string|Split|SplitConfig
1008
936
  /**
1009
- * A feature which pins configurable content from a grid row to the top of the grid
1010
- * while the row scrolls off the top but is still visible.
1011
- * ...
1012
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/StickyCells)
937
+ * A feature which pins cell content to the top of the grid while the row scrolls off the top but is still visible. Very
938
+ * similar to native `position: sticky`, which because of Grid's multiple-region setup unfortunately cannot be used to
939
+ * achieve the same effect.
940
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/StickyCells)
1013
941
  */
1014
942
  stickyCellsFeature ? : object|boolean|string|StickyCells|StickyCellsConfig
1015
943
  /**
1016
944
  * Stripes rows by adding alternating CSS classes to all row elements (`b-even` and `b-odd`).
1017
- * ...
1018
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Stripe)
945
+ * This improves visual readability in data-heavy grids by giving adjacent rows different background colors.
946
+ * Style the striped rows using the `.b-even` and `.b-odd` CSS classes.
947
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Stripe)
1019
948
  */
1020
949
  stripeFeature ? : object|boolean|string|Stripe|StripeConfig
1021
950
  /**
1022
951
  * Displays a summary row in the grid footer.
1023
- * ...
1024
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary)
952
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary)
1025
953
  */
1026
954
  summaryFeature ? : object|boolean|string|Summary|SummaryConfig
1027
955
  /**
@@ -1029,15 +957,13 @@ export type BryntumGridProps = {
1029
957
  * exactly one [TreeColumn](https://bryntum.com/products/grid/docs/api/Grid/column/TreeColumn) among grids columns. That column will have its renderer replaced with a
1030
958
  * tree renderer that adds padding and icon to give the appearance of a tree. The original renderer is preserved and
1031
959
  * also called.
1032
- * ...
1033
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Tree)
960
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Tree)
1034
961
  */
1035
962
  treeFeature ? : object|boolean|string|Tree|TreeConfig
1036
963
  /**
1037
964
  * A feature that allows transforming a flat dataset (or the leaves of a hierarchical) into a tree by specifying a
1038
965
  * record field per parent level. Parents are generated based on each leaf's value for those fields.
1039
- * ...
1040
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/TreeGroup)
966
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/TreeGroup)
1041
967
  */
1042
968
  treeGroupFeature ? : object|boolean|string|TreeGroup|TreeGroupConfig
1043
969
 
@@ -1285,6 +1211,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1285
1211
  'insertFirst',
1286
1212
  'keyMap',
1287
1213
  'labelPosition',
1214
+ 'labelWidth',
1288
1215
  'listeners',
1289
1216
  'loadMask',
1290
1217
  'loadMaskDefaults',
@@ -1311,6 +1238,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1311
1238
  'resizeToFitIncludesHeader',
1312
1239
  'responsiveLevels',
1313
1240
  'ripple',
1241
+ 'role',
1314
1242
  'rootElement',
1315
1243
  'rowHeight',
1316
1244
  'rowLines',
@@ -1398,6 +1326,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1398
1326
  'resizeToFitIncludesHeader',
1399
1327
  'responsiveLevels',
1400
1328
  'ripple',
1329
+ 'role',
1401
1330
  'rootElement',
1402
1331
  'scrollerClass',
1403
1332
  'scrollManager',
@@ -1436,8 +1365,6 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1436
1365
  'enableUndoRedoKeys',
1437
1366
  'extraData',
1438
1367
  'flex',
1439
- 'focusVisible',
1440
- 'hasChanges',
1441
1368
  'height',
1442
1369
  'hidden',
1443
1370
  'hideFooters',
@@ -1448,6 +1375,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1448
1375
  'insertFirst',
1449
1376
  'keyMap',
1450
1377
  'labelPosition',
1378
+ 'labelWidth',
1451
1379
  'longPressTime',
1452
1380
  'margin',
1453
1381
  'maxHeight',
@@ -1520,20 +1448,16 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1520
1448
  @Input() disableGridColumnIdWarning ! : boolean;
1521
1449
  @Input() disableGridRowModelWarning ! : boolean;
1522
1450
  @Input() dock ! : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object;
1523
- @Input() drawer ! : boolean|{side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: boolean, autoClose: { mousedown?: boolean|string, focusout?: boolean|string, mouseout?: string }, autoCloseDelay?: number};
1451
+ @Input() drawer ! : boolean|{ side?: 'start'|'left'|'end'|'right'|'top'|'bottom', size?: string|number, inline?: boolean, autoClose?: boolean|{ mousedown?: boolean|string, focusout?: boolean|string, mouseout?: string }, autoCloseDelay?: number };
1524
1452
  @Input() elementAttributes ! : Record<string, string|null>;
1525
1453
  @Input() enableSticky ! : boolean;
1526
1454
  @Input() enableTextSelection ! : boolean;
1527
1455
  @Input() fillLastColumn ! : boolean;
1528
1456
  @Input() fixedRowHeight ! : boolean;
1529
- @Input() footer ! : {
1530
- dock?: 'top'|'right'|'bottom'|'left'|'start'|'end'
1531
- html?: string
1532
- cls?: string
1533
- }|string;
1457
+ @Input() footer ! : object|string;
1534
1458
  @Input() formulaProviders ! : Record<string, FormulaProviderConfig>;
1535
1459
  @Input() fullRowRefresh ! : boolean;
1536
- @Input() getRowHeight ! : (getRowHeight: { record: Model }) => number;
1460
+ @Input() getRowHeight ! : () => number;
1537
1461
  @Input() header ! : string|boolean|PanelHeader;
1538
1462
  @Input() hideHorizontalScrollbar ! : boolean;
1539
1463
  @Input() hoverCls ! : string;
@@ -1547,33 +1471,20 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1547
1471
  @Input() maskDefaults ! : MaskConfig;
1548
1472
  @Input() masked ! : boolean|string|MaskConfig;
1549
1473
  @Input() monitorResize ! : boolean;
1550
- @Input() plugins ! : Function[];
1474
+ @Input() plugins ! : InstancePlugin[]|InstancePlugin;
1551
1475
  @Input() preserveFocusOnDatasetChange ! : boolean;
1552
1476
  @Input() preserveScrollOnDatasetChange ! : boolean;
1553
1477
  @Input() preventTooltipOnTouch ! : boolean;
1554
1478
  @Input() relayStoreEvents ! : boolean;
1555
- @Input() resizable ! : boolean|{
1556
- minWidth?: number
1557
- maxWidth?: number
1558
- minHeight?: number
1559
- maxHeight?: number
1560
- handles?: object
1561
- };
1479
+ @Input() resizable ! : boolean|{ minWidth?: number, maxWidth?: number, minHeight?: number, maxHeight?: number, handles?: { topStart?: boolean, top?: boolean, topEnd?: boolean, end?: boolean, bottomEnd?: boolean, bottom?: boolean, bottomStart?: boolean, start?: boolean } };
1562
1480
  @Input() resizeToFitIncludesHeader ! : boolean;
1563
1481
  @Input() responsiveLevels ! : Record<string, number|string|ResponsiveLevelConfig>;
1564
- @Input() ripple ! : boolean|{
1565
- delegate?: string
1566
- color?: string
1567
- radius?: number
1568
- clip?: string
1569
- };
1482
+ @Input() ripple ! : boolean|object;
1483
+ @Input() role ! : string;
1570
1484
  @Input() rootElement ! : ShadowRoot|HTMLElement;
1571
1485
  @Input() scrollerClass ! : typeof Scroller;
1572
1486
  @Input() scrollManager ! : ScrollManagerConfig|ScrollManager;
1573
- @Input() showDirty ! : boolean|{
1574
- duringEdit?: boolean
1575
- newRecord?: boolean
1576
- };
1487
+ @Input() showDirty ! : boolean|{ duringEdit: boolean, newRecord: boolean };
1577
1488
  @Input() stateful ! : boolean|object|string[];
1578
1489
  @Input() statefulEvents ! : object|string[];
1579
1490
  @Input() stateId ! : string;
@@ -1617,6 +1528,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1617
1528
  @Input() insertFirst ! : HTMLElement|string;
1618
1529
  @Input() keyMap ! : Record<string, KeyMapConfig>;
1619
1530
  @Input() labelPosition ! : 'before'|'above'|'align-before'|'auto'|null;
1531
+ @Input() labelWidth ! : number|null;
1620
1532
  @Input() longPressTime ! : number;
1621
1533
  @Input() margin ! : number|string;
1622
1534
  @Input() maxHeight ! : string|number;
@@ -1652,8 +1564,6 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1652
1564
  @Input() width ! : number|string;
1653
1565
 
1654
1566
  // Properties only
1655
- @Input() focusVisible ! : boolean;
1656
- @Input() hasChanges ! : boolean;
1657
1567
  @Input() originalStore ! : Store;
1658
1568
  @Input() parent ! : Widget;
1659
1569
  @Input() selectedCell ! : GridLocation|GridLocationConfig;
@@ -1717,8 +1627,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1717
1627
  @Output() onBeforeCancelCellEdit: any = new EventEmitter<((event: { source: Grid, editorContext: GridLocation }) => Promise<boolean>|boolean|void)|string>();
1718
1628
  /**
1719
1629
  * Fires on the owning Grid before the row editing is canceled, return false to signal that the value is invalid and editing should not be finalized.
1720
- * ...
1721
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
1630
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
1722
1631
  * @param {object} event Event object
1723
1632
  * @param {Grid.view.Grid} event.grid Target grid
1724
1633
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1833,8 +1742,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1833
1742
  @Output() onBeforeFinishCellEdit: any = new EventEmitter<((event: { grid: Grid, editorContext: CellEditorContext }) => void)|string>();
1834
1743
  /**
1835
1744
  * Fires on the owning Grid before the row editing is finished, return false to signal that the value is invalid and editing should not be finalized.
1836
- * ...
1837
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
1745
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
1838
1746
  * @param {object} event Event object
1839
1747
  * @param {Grid.view.Grid} event.grid Target grid
1840
1748
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1879,16 +1787,14 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1879
1787
  @Output() onBeforeRenderRows: any = new EventEmitter<((event: { source: GridBase }) => void)|string>();
1880
1788
  /**
1881
1789
  * This event fires before row collapse is started.
1882
- * ...
1883
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
1790
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
1884
1791
  * @param {object} event Event object
1885
1792
  * @param {Core.data.Model} event.record Record
1886
1793
  */
1887
1794
  @Output() onBeforeRowCollapse: any = new EventEmitter<((event: { record: Model }) => Promise<boolean>|boolean|void)|string>();
1888
1795
  /**
1889
1796
  * This event fires before row expand is started.
1890
- * ...
1891
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
1797
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
1892
1798
  * @param {object} event Event object
1893
1799
  * @param {Core.data.Model} event.record Record
1894
1800
  */
@@ -1968,8 +1874,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
1968
1874
  @Output() onCancelCellEdit: any = new EventEmitter<((event: { source: Grid, editorContext: GridLocation, event: Event }) => void)|string>();
1969
1875
  /**
1970
1876
  * Fires when any other event is fired from the object.
1971
- * ...
1972
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
1877
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
1973
1878
  * @param {object} event Event object
1974
1879
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
1975
1880
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -2011,8 +1916,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2011
1916
  /**
2012
1917
  * This event fires on the owning grid before the context menu is shown for a cell.
2013
1918
  * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/grid/docs/api/Grid/feature/CellMenu#config-processItems).
2014
- * ...
2015
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
1919
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2016
1920
  * @param {object} event Event object
2017
1921
  * @param {Grid.view.Grid} event.source The grid
2018
1922
  * @param {Core.widget.Menu} event.menu The menu
@@ -2193,8 +2097,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2193
2097
  @Output() onCopy: any = new EventEmitter<((event: { source: Grid, cells: GridLocation[], copiedDataString: string, isCut: boolean, entityName: string }) => void)|string>();
2194
2098
  /**
2195
2099
  * Fired when data in the store changes.
2196
- * ...
2197
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2100
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2198
2101
  * @param {object} event Event object
2199
2102
  * @param {Grid.view.GridBase} event.source Owning grid
2200
2103
  * @param {Core.data.Store} event.store The originating store
@@ -2298,8 +2201,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2298
2201
  @Output() onFinishCellEdit: any = new EventEmitter<((event: { grid: Grid, editorContext: CellEditorContext }) => void)|string>();
2299
2202
  /**
2300
2203
  * Fires on the owning Grid before the row editing is finished, return false to signal that the value is invalid and editing should not be finalized.
2301
- * ...
2302
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2204
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2303
2205
  * @param {object} event Event object
2304
2206
  * @param {Grid.view.Grid} event.grid Target grid
2305
2207
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2399,8 +2301,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2399
2301
  @Output() onGridRowDrop: any = new EventEmitter<((event: { source: GridBase, context: { valid: boolean, insertBefore: Model, parent: Model, records: Model[], oldPositionContext: RecordPositionContext[] }, event: MouseEvent }) => void)|string>();
2400
2302
  /**
2401
2303
  * Fired when a grid header is clicked on.
2402
- * ...
2403
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2304
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2404
2305
  * @param {object} event Event object
2405
2306
  * @param {Event} event.domEvent The triggering DOM event.
2406
2307
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -2409,8 +2310,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2409
2310
  /**
2410
2311
  * This event fires on the owning Grid before the context menu is shown for a header.
2411
2312
  * Allows manipulation of the items to show in the same way as in the [processItems](https://bryntum.com/products/grid/docs/api/Grid/feature/HeaderMenu#config-processItems).
2412
- * ...
2413
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2313
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2414
2314
  * @param {object} event Event object
2415
2315
  * @param {Grid.view.Grid} event.source The grid
2416
2316
  * @param {Core.widget.Menu} event.menu The menu
@@ -2473,8 +2373,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2473
2373
  /**
2474
2374
  * Triggered when a widget which had been in a non-visible state for any reason
2475
2375
  * achieves visibility.
2476
- * ...
2477
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2376
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2478
2377
  * @param {object} event Event object
2479
2378
  * @param {Core.widget.Widget} event.source The widget being painted.
2480
2379
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -2493,8 +2392,8 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2493
2392
  /**
2494
2393
  * Fires on the owning Grid when export has finished
2495
2394
  * @param {object} event Event object
2496
- * @param {Response} event.response Optional response, if received
2497
- * @param {Error} event.error Optional error, if exception occurred
2395
+ * @param {Response} [event.response] Optional response, if received
2396
+ * @param {Error} [event.error] Optional error, if exception occurred
2498
2397
  */
2499
2398
  @Output() onPdfExport: any = new EventEmitter<((event: { response?: Response, error?: Error }) => void)|string>();
2500
2399
  /**
@@ -2551,8 +2450,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2551
2450
  @Output() onRowCollapse: any = new EventEmitter<((event: { record: Model }) => void)|string>();
2552
2451
  /**
2553
2452
  * This event fires when a row expand has finished expanding.
2554
- * ...
2555
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
2453
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
2556
2454
  * @param {object} event Event object
2557
2455
  * @param {Core.data.Model} event.record Record
2558
2456
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -2690,7 +2588,7 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2690
2588
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
2691
2589
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
2692
2590
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
2693
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
2591
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
2694
2592
  */
2695
2593
  @Output() onToggleGroup: any = new EventEmitter<((event: { groupRecord: Model, groupRecords: Model[], collapse: boolean, allRecords?: boolean }) => void)|string>();
2696
2594
  /**
@@ -2788,6 +2686,17 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2788
2686
  WrapperHelper.devWarningContainer(instanceName, containerParam);
2789
2687
  }
2790
2688
 
2689
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
2690
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
2691
+ // finds the theme. The @font-face rules from component styles are also extracted to
2692
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
2693
+ // included in document.fonts across all browsers).
2694
+ const shadowRoot = elementRef.nativeElement.getRootNode();
2695
+ if (shadowRoot instanceof ShadowRoot) {
2696
+ initThemeInShadowRoots();
2697
+ BryntumGridComponent.ensureFontsInDocument(shadowRoot);
2698
+ }
2699
+
2791
2700
  // @ts-ignore
2792
2701
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
2793
2702
 
@@ -2797,6 +2706,53 @@ export class BryntumGridComponent implements OnInit, OnDestroy {
2797
2706
  //
2798
2707
  }
2799
2708
 
2709
+ /**
2710
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
2711
+ * document.head as a single <style> element. This is needed because @font-face rules inside
2712
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
2713
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
2714
+ * Safe to call multiple times — the extraction runs only once per page.
2715
+ */
2716
+ private static ensureFontsInDocument(shadowRoot: ShadowRoot): void {
2717
+ if (document.querySelector('#b-shadow-root-fonts')) {
2718
+ return;
2719
+ }
2720
+
2721
+ const fontFaceRules: string[] = [];
2722
+
2723
+ const extractFromSheet = (sheet: CSSStyleSheet): void => {
2724
+ try {
2725
+ const rules = sheet.cssRules;
2726
+ for (let i = 0; i < rules.length; i++) {
2727
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
2728
+ fontFaceRules.push(rules[i].cssText);
2729
+ }
2730
+ }
2731
+ }
2732
+ catch (_e) {
2733
+ // Cross-origin access may throw; silently skip
2734
+ }
2735
+ };
2736
+
2737
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
2738
+ const adoptedSheets: CSSStyleSheet[] = (shadowRoot as any).adoptedStyleSheets ?? [];
2739
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
2740
+
2741
+ // <style> elements (older Angular or fallback)
2742
+ shadowRoot.querySelectorAll('style').forEach(el => {
2743
+ if (el.sheet) {
2744
+ extractFromSheet(el.sheet);
2745
+ }
2746
+ });
2747
+
2748
+ if (fontFaceRules.length > 0) {
2749
+ const style = document.createElement('style');
2750
+ style.id = 'b-shadow-root-fonts';
2751
+ style.textContent = fontFaceRules.join('\n');
2752
+ document.head.appendChild(style);
2753
+ }
2754
+ }
2755
+
2800
2756
  /**
2801
2757
  * Watch for changes
2802
2758
  * @param changes