@bryntum/grid-angular-thin 7.2.4 → 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, GridBaseListeners, GridColumnConfig, 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 BryntumGridBaseProps = {
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/GridBase#config-adopt)
21
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-adopt)
22
22
  */
23
23
  adopt ? : HTMLElement|string
24
24
  /**
@@ -53,15 +53,13 @@ export type BryntumGridBaseProps = {
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/GridBase#config-ariaDescription)
56
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-ariaLabel)
62
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-ariaLabel)
65
63
  */
66
64
  ariaLabel ? : string
67
65
  /**
@@ -73,14 +71,12 @@ export type BryntumGridBaseProps = {
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/GridBase#config-bbar)
74
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-bodyCls)
79
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-bodyCls)
84
80
  */
85
81
  bodyCls ? : string|object
86
82
  /**
@@ -90,21 +86,18 @@ export type BryntumGridBaseProps = {
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/GridBase#config-bubbleEvents)
89
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-callOnFunctions)
94
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-catchEventHandlerExceptions)
100
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-catchEventHandlerExceptions)
108
101
  */
109
102
  catchEventHandlerExceptions ? : boolean
110
103
  /**
@@ -117,8 +110,7 @@ export type BryntumGridBaseProps = {
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/GridBase#config-cls)
113
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-cls)
122
114
  */
123
115
  cls ? : string|object
124
116
  /**
@@ -128,15 +120,13 @@ export type BryntumGridBaseProps = {
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/GridBase#config-collapsible)
123
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-color)
129
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-color)
140
130
  */
141
131
  color ? : Color
142
132
  /**
@@ -150,8 +140,7 @@ export type BryntumGridBaseProps = {
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/GridBase#config-columns)
143
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-columns)
155
144
  */
156
145
  columns ? : ColumnStore|GridColumnConfig[]|ColumnStoreConfig
157
146
  config ? : object
@@ -159,8 +148,7 @@ export type BryntumGridBaseProps = {
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/GridBase#config-contentElementCls)
151
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-contentElementCls)
164
152
  */
165
153
  contentElementCls ? : string|object
166
154
  /**
@@ -172,8 +160,7 @@ export type BryntumGridBaseProps = {
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/GridBase#config-data)
163
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-data)
177
164
  */
178
165
  data ? : object[]|Model[]|ModelConfig[]
179
166
  /**
@@ -194,16 +181,15 @@ export type BryntumGridBaseProps = {
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/GridBase#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/GridBase#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/GridBase#config-disabled)
192
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-disabled)
207
193
  */
208
194
  disabled ? : boolean|'inert'
209
195
  /**
@@ -223,43 +209,39 @@ export type BryntumGridBaseProps = {
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/GridBase#config-dock)
212
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#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/GridBase#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/GridBase#config-elementAttributes)
231
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-emptyText)
238
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#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 BryntumGridBaseProps = {
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/GridBase#config-fixedRowHeight)
268
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-fixedRowHeight)
288
269
  */
289
270
  fixedRowHeight ? : boolean
290
271
  /**
@@ -298,41 +279,35 @@ export type BryntumGridBaseProps = {
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/GridBase#config-footer)
282
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-formulaProviders)
291
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-fullRowRefresh)
296
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-getRowHeight)
303
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-header)
310
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-header)
336
311
  */
337
312
  header ? : string|boolean|PanelHeader
338
313
  /**
@@ -372,16 +347,14 @@ export type BryntumGridBaseProps = {
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/GridBase#config-ignoreParentReadOnly)
350
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-inputFieldAlign)
357
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-inputFieldAlign)
385
358
  */
386
359
  inputFieldAlign ? : 'start'|'end'
387
360
  /**
@@ -398,14 +371,17 @@ export type BryntumGridBaseProps = {
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/GridBase#config-labelPosition)
374
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#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/GridBase#config-listeners)
384
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-listeners)
409
385
  */
410
386
  listeners ? : GridBaseListeners
411
387
  /**
@@ -418,15 +394,13 @@ export type BryntumGridBaseProps = {
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/GridBase#config-loadMaskDefaults)
397
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-loadMaskError)
403
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-loadMaskError)
430
404
  */
431
405
  loadMaskError ? : MaskConfig|Mask|boolean
432
406
  /**
@@ -464,8 +438,7 @@ export type BryntumGridBaseProps = {
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/GridBase#config-minHeight)
441
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-minHeight)
469
442
  */
470
443
  minHeight ? : string|number
471
444
  /**
@@ -480,7 +453,7 @@ export type BryntumGridBaseProps = {
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 BryntumGridBaseProps = {
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/GridBase#config-readOnly)
478
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-rendition)
485
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#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/GridBase#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/GridBase#config-responsiveLevels)
513
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#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/GridBase#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/GridBase#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 BryntumGridBaseProps = {
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/GridBase#config-rowHeight)
541
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-rowHeight)
563
542
  */
564
543
  rowHeight ? : number
565
544
  /**
@@ -568,15 +547,13 @@ export type BryntumGridBaseProps = {
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/GridBase#config-rtl)
550
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-scrollable)
556
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-scrollable)
580
557
  */
581
558
  scrollable ? : boolean|ScrollerConfig|Scroller
582
559
  /**
@@ -591,141 +568,122 @@ export type BryntumGridBaseProps = {
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/GridBase#config-selectionMode)
571
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-showDirty)
577
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-stateful)
588
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-statefulEvents)
594
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-stateId)
601
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-stateProvider)
607
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-stateSettings)
612
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-store)
619
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-strips)
626
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-subGridConfigs)
633
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-syncMask)
639
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-tab)
646
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-tabBarItems)
652
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-tbar)
659
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-title)
665
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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/GridBase#config-tools)
672
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#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
  */
@@ -734,8 +692,7 @@ export type BryntumGridBaseProps = {
734
692
  * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
735
693
  * as a space separated string, an array of strings, or as an object in which property names with truthy
736
694
  * values are used as the class names.
737
- * ...
738
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-ui)
695
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#config-ui)
739
696
  */
740
697
  ui ? : 'plain'|'toolbar'|string|object
741
698
  /**
@@ -756,129 +713,117 @@ export type BryntumGridBaseProps = {
756
713
  * agent and see the responses. Which allows the user to use natural language to interact with the Grid in different
757
714
  * ways. For example, the user can ask the agent to filter the data, sort it, or select specific records. The agent can
758
715
  * also perform data manipulation operations such as adding, updating, deleting records.
759
- * ...
760
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/AI)
716
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/AI)
761
717
  */
762
718
  aiFeature ? : object|boolean|string|AI|AIConfig
763
719
  /**
764
720
  * AI-powered filter feature for Grid. Allows users to type natural language queries to filter grid data.
765
- * ...
766
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ai/AIFilter)
721
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ai/AIFilter)
767
722
  */
768
723
  aiFilterFeature ? : object|boolean|string|AIFilter|AIFilterConfig
769
724
  /**
770
725
  * Allows using `[Ctrl/CMD + C]`, `[Ctrl/CMD + X]` and `[Ctrl/CMD + V]` to cut, copy and paste cell or cell ranges. Also
771
726
  * makes cut, copy and paste actions available via the cell context menu.
772
- * ...
773
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellCopyPaste)
727
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellCopyPaste)
774
728
  */
775
729
  cellCopyPasteFeature ? : object|boolean|string|CellCopyPaste|CellCopyPasteConfig
776
730
  /**
777
731
  * Adding this feature to the grid and other Bryntum products which are based on the Grid (i.e. Scheduler, SchedulerPro, and Gantt)
778
732
  * enables cell editing. Any subclass of [Field](https://bryntum.com/products/grid/docs/api/Core/widget/Field) can be used
779
733
  * as editor for the [Column](https://bryntum.com/products/grid/docs/api/Grid/column/Column). The most popular are:
780
- * ...
781
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellEdit)
734
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellEdit)
782
735
  */
783
736
  cellEditFeature ? : object|boolean|string|CellEdit|CellEditConfig
784
737
  /**
785
738
  * Right click to display context menu for cells. To invoke the cell menu in a keyboard-accessible manner, use the
786
739
  * <kbd>Space</kbd> key when the cell is focused.
787
- * ...
788
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellMenu)
740
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellMenu)
789
741
  */
790
742
  cellMenuFeature ? : object|boolean|string|CellMenu|CellMenuConfig
791
743
  /**
792
744
  * Displays a tooltip when hovering cells.
793
- * ...
794
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellTooltip)
745
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/CellTooltip)
795
746
  */
796
747
  cellTooltipFeature ? : object|boolean|string|CellTooltip|CellTooltipConfig
797
748
  /**
798
749
  * 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
799
750
  * and updated in realtime as data changes. Supports many common chart types with extensive styling and customization
800
751
  * options.
801
- * ...
802
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Charts)
752
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Charts)
803
753
  */
804
754
  chartsFeature ? : object|boolean|string|Charts|ChartsConfig
805
755
  /**
806
- * Enables the [autoWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-autoWidth) config for a grid's columns.
807
- * ...
808
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnAutoWidth)
756
+ * Enables the [autoWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-autoWidth) config for a grid's columns. When a column
757
+ * has `autoWidth` set, this feature measures the rendered content of all visible cells in that column
758
+ * and adjusts the column width to fit. The measurement is triggered automatically when data changes
759
+ * or rows are rendered.
760
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnAutoWidth)
809
761
  */
810
762
  columnAutoWidthFeature ? : object|boolean|string|ColumnAutoWidth|ColumnAutoWidthConfig
811
763
  /**
812
764
  * Displays a toolbar while dragging column headers. Drop on a button in the toolbar to activate a certain function,
813
765
  * for example to group by that column. This feature simplifies certain operations on touch devices.
814
- * ...
815
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnDragToolbar)
766
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnDragToolbar)
816
767
  */
817
768
  columnDragToolbarFeature ? : object|boolean|string|ColumnDragToolbar|ColumnDragToolbarConfig
818
769
  /**
819
770
  * Displays a column picker (to show/hide columns) in the header context menu. Columns can be displayed in sub menus
820
771
  * by region or tag. Grouped headers are displayed as menu hierarchies.
821
- * ...
822
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnPicker)
772
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnPicker)
823
773
  */
824
774
  columnPickerFeature ? : object|boolean|string|ColumnPicker|ColumnPickerConfig
825
775
  /**
826
776
  * Allows user to rename columns by either right-clicking column header or using keyboard shortcuts when column header
827
777
  * is focused.
828
- * ...
829
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnRename)
778
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnRename)
830
779
  */
831
780
  columnRenameFeature ? : object|boolean|string|ColumnRename|ColumnRenameConfig
832
781
  /**
833
- * Allows user to reorder columns by dragging headers. To get notified about column reorder listen to `change` event
834
- * on [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
835
- * ...
836
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnReorder)
782
+ * Allows user to reorder columns by dragging headers. Click and drag a column header to move it to a new position.
783
+ * Visual feedback shows the drop target while dragging. To get notified about column reorder, listen to the
784
+ * `change` event on the [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
785
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnReorder)
837
786
  */
838
787
  columnReorderFeature ? : object|boolean|string|ColumnReorder|ColumnReorderConfig
839
788
  /**
840
- * Enables user to resize columns by dragging a handle on the right hand side of the header. To get notified about column
841
- * resize listen to `change` event on [columns](https://bryntum.com/products/grid/docs/api/Grid/data/ColumnStore) store.
842
- * ...
843
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnResize)
789
+ * Enables user to resize columns by dragging a handle on the right hand side of the header. A drag handle
790
+ * appears when hovering near the right edge of a column header. Dragging it adjusts the column width, respecting
791
+ * any [minWidth](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-minWidth) or [maxWidth](#Grid/column/Column#config-maxWidth) constraints.
792
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/ColumnResize)
844
793
  */
845
794
  columnResizeFeature ? : object|boolean|string|ColumnResize|ColumnResizeConfig
846
795
  /**
847
796
  * A feature that allows exporting Grid data to Excel or CSV without involving the server. It uses
848
797
  * [TableExporter](https://bryntum.com/products/grid/docs/api/Grid/util/TableExporter) class as data provider, 3rd party provider to generate XLS files, and
849
798
  * [Microsoft XML specification](https://msdn.microsoft.com/en-us/library/office/documentformat.openxml.spreadsheet.aspx).
850
- * ...
851
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/ExcelExporter)
799
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/ExcelExporter)
852
800
  */
853
801
  excelExporterFeature ? : object|boolean|string|ExcelExporter|ExcelExporterConfig
854
802
  /**
855
- * An experimental feature that lets users drop files on a Widget. The widget fires an event when a file is dropped onto it.
856
- * In the event, you get access to the raw files as strings, that were parsed by calling `readAsBinaryString`.
857
- * ...
858
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/FileDrop)
803
+ * An experimental feature that lets users drop files on a Widget. The widget fires a
804
+ * [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
805
+ * files as strings, that were parsed by calling `readAsBinaryString`.
806
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/experimental/FileDrop)
859
807
  */
860
808
  fileDropFeature ? : object|boolean|string|FileDrop|FileDropConfig
861
809
  /**
862
810
  * This feature adds a fill handle to a Grid range selection, which when dragged, fills the cells being dragged over
863
811
  * with values based on the values in the original selected range. This is similar to functionality normally seen in
864
812
  * various spreadsheet applications.
865
- * ...
866
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/FillHandle)
813
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/FillHandle)
867
814
  */
868
815
  fillHandleFeature ? : object|boolean|string|FillHandle|FillHandleConfig
869
816
  /**
870
817
  * Feature that allows filtering of the grid by settings filters on columns. The actual filtering is done by the store.
871
818
  * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreFilter).
872
- * ...
873
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Filter)
819
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Filter)
874
820
  */
875
821
  filterFeature ? : object|boolean|string|Filter|FilterConfig
876
822
  /**
877
823
  * Feature that allows filtering of the grid by entering filters on column headers.
878
824
  * The actual filtering is done by the store.
879
825
  * For info on programmatically handling filters, see [StoreFilter](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreFilter).
880
- * ...
881
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/FilterBar)
826
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/FilterBar)
882
827
  */
883
828
  filterBarFeature ? : object|boolean|string|FilterBar|FilterBarConfig
884
829
  /**
@@ -886,141 +831,124 @@ export type BryntumGridBaseProps = {
886
831
  * <kbd>Shift</kbd> + clicking headers, or by using the context menu, or by using two finger tap (one on header,
887
832
  * one anywhere on grid). Use <kbd>Shift</kbd> + <kbd>Alt</kbd> + click, or the context menu, to remove a column
888
833
  * grouper.
889
- * ...
890
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Group)
834
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Group)
891
835
  */
892
836
  groupFeature ? : object|boolean|string|Group|GroupConfig
893
837
  /**
894
838
  * Displays a summary row as a group footer in a grouped grid. Uses the same configuration options on columns as
895
839
  * [Summary](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary).
896
- * ...
897
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/GroupSummary)
840
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/GroupSummary)
898
841
  */
899
842
  groupSummaryFeature ? : object|boolean|string|GroupSummary|GroupSummaryConfig
900
843
  /**
901
844
  * Right click column header or focus it and press SPACE key to show the context menu for headers.
902
- * ...
903
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/HeaderMenu)
845
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/HeaderMenu)
904
846
  */
905
847
  headerMenuFeature ? : object|boolean|string|HeaderMenu|HeaderMenuConfig
906
848
  /**
907
849
  * This feature allows records which satisfy a certain condition to be locked at the top of the grid.
908
- * ...
909
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/LockRows)
850
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/LockRows)
910
851
  */
911
852
  lockRowsFeature ? : object|boolean|string|LockRows|LockRowsConfig
912
853
  /**
913
854
  * 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
914
855
  * configured to [mergeCells](https://bryntum.com/products/grid/docs/api/Grid/column/Column#config-mergeCells).
915
- * ...
916
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/MergeCells)
856
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/MergeCells)
917
857
  */
918
858
  mergeCellsFeature ? : object|boolean|string|MergeCells|MergeCellsConfig
919
859
  /**
920
860
  * Generates PDF/PNG files from the Grid component.
921
- * ...
922
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/PdfExport)
861
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/PdfExport)
923
862
  */
924
863
  pdfExportFeature ? : object|boolean|string|PdfExport|PdfExportConfig
925
864
  /**
926
865
  * Allows pinning columns to the start or end region of the grid without any additional subGrid configurations.
927
866
  * When pinning to a region that does not yet exist, the feature creates the required subGrid on the fly.
928
- * ...
929
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/PinColumns)
867
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/PinColumns)
930
868
  */
931
869
  pinColumnsFeature ? : object|boolean|string|PinColumns|PinColumnsConfig
932
870
  /**
933
871
  * Allows printing Grid contents using browser print dialog.
934
- * ...
935
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/Print)
872
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/export/Print)
936
873
  */
937
874
  printFeature ? : object|boolean|string|Print|PrintConfig
938
875
  /**
939
876
  * Feature that allows the user to search in a column by focusing a cell and typing. Navigate between hits using the
940
- * keyboard, [f3] or [ctrl]/[cmd] + [g] moves to next, also pressing [shift] moves to previous.
941
- * ...
942
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/QuickFind)
877
+ * keyboard, <kbd>f3</kbd> or <kbd>ctrl</kbd>/<kbd>cmd</kbd> + <kbd>g</kbd> moves to next, also pressing
878
+ * <kbd>shift</kbd> moves to previous.
879
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/QuickFind)
943
880
  */
944
881
  quickFindFeature ? : object|boolean|string|QuickFind|QuickFindConfig
945
882
  /**
946
883
  * Makes the splitter between grid [sections](https://bryntum.com/products/grid/docs/api/Grid/view/SubGrid) draggable, to let users resize, and
947
884
  * collapse/expand the sections.
948
- * ...
949
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RegionResize)
885
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RegionResize)
950
886
  */
951
887
  regionResizeFeature ? : object|boolean|string|RegionResize|RegionResizeConfig
952
888
  /**
953
889
  * Allow using [Ctrl/CMD + C/X] and [Ctrl/CMD + V] to copy/cut-and-paste rows. Also makes cut, copy and paste actions
954
890
  * available via the cell context menu.
955
- * ...
956
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowCopyPaste)
891
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowCopyPaste)
957
892
  */
958
893
  rowCopyPasteFeature ? : object|boolean|string|RowCopyPaste|RowCopyPasteConfig
959
894
  /**
960
895
  * This feature allows editing of entire rows in a grid in a docked panel which by default slides out from the right.
961
- * ...
962
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowEdit)
896
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowEdit)
963
897
  */
964
898
  rowEditFeature ? : object|boolean|string|RowEdit|RowEditConfig
965
899
  /**
966
900
  * Enables expanding of Grid rows by either row click or double click, or by adding a separate Grid column which renders
967
901
  * a button that expands or collapses the row.
968
- * ...
969
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowExpander)
902
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowExpander)
970
903
  */
971
904
  rowExpanderFeature ? : object|boolean|string|RowExpander|RowExpanderConfig
972
905
  /**
973
906
  * Allows user to reorder rows by dragging them. To get notified about row reorder listen to `change` event
974
907
  * on the grid [store](https://bryntum.com/products/grid/docs/api/Core/data/Store).
975
- * ...
976
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowReorder)
908
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowReorder)
977
909
  */
978
910
  rowReorderFeature ? : object|boolean|string|RowReorder|RowReorderConfig
979
911
  /**
980
912
  * 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)
981
913
  * field of the record is updated (when [applyToAllRows](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize#config-applyToAllRows) is `false`).
982
- * ...
983
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize)
914
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/RowResize)
984
915
  */
985
916
  rowResizeFeature ? : object|boolean|string|RowResize|RowResizeConfig
986
917
  /**
987
918
  * <div class="external-example vertical" data-file="Grid/feature/Search.js"></div>
988
- * ...
989
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Search)
919
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Search)
990
920
  */
991
921
  searchFeature ? : object|boolean|string|Search|SearchConfig
992
922
  /**
993
923
  * Allows sorting of grid by clicking (or tapping) headers, also displays which columns grid is sorted by (numbered if
994
924
  * using multisort). Use modifier keys for multisorting: [Ctrl/CMD + click] to add sorter, [Ctrl/CMD + Alt + click] to remove sorter.
995
925
  * The actual sorting is done by the store, see [Store.sort()](https://bryntum.com/products/grid/docs/api/Core/data/mixin/StoreSort#function-sort).
996
- * ...
997
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Sort)
926
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Sort)
998
927
  */
999
928
  sortFeature ? : object|boolean|string|Sort|SortConfig
1000
929
  /**
1001
930
  * This feature allows splitting the Grid into multiple views, either by using the cell context menu, or
1002
931
  * programmatically by calling [split()](https://bryntum.com/products/grid/docs/api/Grid/feature/Split#function-split).
1003
- * ...
1004
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Split)
932
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Split)
1005
933
  */
1006
934
  splitFeature ? : object|boolean|string|Split|SplitConfig
1007
935
  /**
1008
- * A feature which pins configurable content from a grid row to the top of the grid
1009
- * while the row scrolls off the top but is still visible.
1010
- * ...
1011
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/StickyCells)
936
+ * A feature which pins cell content to the top of the grid while the row scrolls off the top but is still visible. Very
937
+ * similar to native `position: sticky`, which because of Grid's multiple-region setup unfortunately cannot be used to
938
+ * achieve the same effect.
939
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/StickyCells)
1012
940
  */
1013
941
  stickyCellsFeature ? : object|boolean|string|StickyCells|StickyCellsConfig
1014
942
  /**
1015
943
  * Stripes rows by adding alternating CSS classes to all row elements (`b-even` and `b-odd`).
1016
- * ...
1017
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Stripe)
944
+ * This improves visual readability in data-heavy grids by giving adjacent rows different background colors.
945
+ * Style the striped rows using the `.b-even` and `.b-odd` CSS classes.
946
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Stripe)
1018
947
  */
1019
948
  stripeFeature ? : object|boolean|string|Stripe|StripeConfig
1020
949
  /**
1021
950
  * Displays a summary row in the grid footer.
1022
- * ...
1023
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary)
951
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Summary)
1024
952
  */
1025
953
  summaryFeature ? : object|boolean|string|Summary|SummaryConfig
1026
954
  /**
@@ -1028,15 +956,13 @@ export type BryntumGridBaseProps = {
1028
956
  * 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
1029
957
  * tree renderer that adds padding and icon to give the appearance of a tree. The original renderer is preserved and
1030
958
  * also called.
1031
- * ...
1032
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/Tree)
959
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/Tree)
1033
960
  */
1034
961
  treeFeature ? : object|boolean|string|Tree|TreeConfig
1035
962
  /**
1036
963
  * A feature that allows transforming a flat dataset (or the leaves of a hierarchical) into a tree by specifying a
1037
964
  * record field per parent level. Parents are generated based on each leaf's value for those fields.
1038
- * ...
1039
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/feature/TreeGroup)
965
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/feature/TreeGroup)
1040
966
  */
1041
967
  treeGroupFeature ? : object|boolean|string|TreeGroup|TreeGroupConfig
1042
968
 
@@ -1284,6 +1210,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1284
1210
  'insertFirst',
1285
1211
  'keyMap',
1286
1212
  'labelPosition',
1213
+ 'labelWidth',
1287
1214
  'listeners',
1288
1215
  'loadMask',
1289
1216
  'loadMaskDefaults',
@@ -1310,6 +1237,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1310
1237
  'resizeToFitIncludesHeader',
1311
1238
  'responsiveLevels',
1312
1239
  'ripple',
1240
+ 'role',
1313
1241
  'rootElement',
1314
1242
  'rowHeight',
1315
1243
  'rowLines',
@@ -1396,6 +1324,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1396
1324
  'resizeToFitIncludesHeader',
1397
1325
  'responsiveLevels',
1398
1326
  'ripple',
1327
+ 'role',
1399
1328
  'rootElement',
1400
1329
  'scrollerClass',
1401
1330
  'scrollManager',
@@ -1433,8 +1362,6 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1433
1362
  'enableUndoRedoKeys',
1434
1363
  'extraData',
1435
1364
  'flex',
1436
- 'focusVisible',
1437
- 'hasChanges',
1438
1365
  'height',
1439
1366
  'hidden',
1440
1367
  'hideFooters',
@@ -1445,6 +1372,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1445
1372
  'insertFirst',
1446
1373
  'keyMap',
1447
1374
  'labelPosition',
1375
+ 'labelWidth',
1448
1376
  'longPressTime',
1449
1377
  'margin',
1450
1378
  'maxHeight',
@@ -1517,20 +1445,16 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1517
1445
  @Input() disableGridColumnIdWarning ! : boolean;
1518
1446
  @Input() disableGridRowModelWarning ! : boolean;
1519
1447
  @Input() dock ! : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object;
1520
- @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};
1448
+ @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 };
1521
1449
  @Input() elementAttributes ! : Record<string, string|null>;
1522
1450
  @Input() enableSticky ! : boolean;
1523
1451
  @Input() enableTextSelection ! : boolean;
1524
1452
  @Input() fillLastColumn ! : boolean;
1525
1453
  @Input() fixedRowHeight ! : boolean;
1526
- @Input() footer ! : {
1527
- dock?: 'top'|'right'|'bottom'|'left'|'start'|'end'
1528
- html?: string
1529
- cls?: string
1530
- }|string;
1454
+ @Input() footer ! : object|string;
1531
1455
  @Input() formulaProviders ! : Record<string, FormulaProviderConfig>;
1532
1456
  @Input() fullRowRefresh ! : boolean;
1533
- @Input() getRowHeight ! : (getRowHeight: { record: Model }) => number;
1457
+ @Input() getRowHeight ! : () => number;
1534
1458
  @Input() header ! : string|boolean|PanelHeader;
1535
1459
  @Input() hideHorizontalScrollbar ! : boolean;
1536
1460
  @Input() hoverCls ! : string;
@@ -1544,33 +1468,20 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1544
1468
  @Input() maskDefaults ! : MaskConfig;
1545
1469
  @Input() masked ! : boolean|string|MaskConfig;
1546
1470
  @Input() monitorResize ! : boolean;
1547
- @Input() plugins ! : Function[];
1471
+ @Input() plugins ! : InstancePlugin[]|InstancePlugin;
1548
1472
  @Input() preserveFocusOnDatasetChange ! : boolean;
1549
1473
  @Input() preserveScrollOnDatasetChange ! : boolean;
1550
1474
  @Input() preventTooltipOnTouch ! : boolean;
1551
1475
  @Input() relayStoreEvents ! : boolean;
1552
- @Input() resizable ! : boolean|{
1553
- minWidth?: number
1554
- maxWidth?: number
1555
- minHeight?: number
1556
- maxHeight?: number
1557
- handles?: object
1558
- };
1476
+ @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 } };
1559
1477
  @Input() resizeToFitIncludesHeader ! : boolean;
1560
1478
  @Input() responsiveLevels ! : Record<string, number|string|ResponsiveLevelConfig>;
1561
- @Input() ripple ! : boolean|{
1562
- delegate?: string
1563
- color?: string
1564
- radius?: number
1565
- clip?: string
1566
- };
1479
+ @Input() ripple ! : boolean|object;
1480
+ @Input() role ! : string;
1567
1481
  @Input() rootElement ! : ShadowRoot|HTMLElement;
1568
1482
  @Input() scrollerClass ! : typeof Scroller;
1569
1483
  @Input() scrollManager ! : ScrollManagerConfig|ScrollManager;
1570
- @Input() showDirty ! : boolean|{
1571
- duringEdit?: boolean
1572
- newRecord?: boolean
1573
- };
1484
+ @Input() showDirty ! : boolean|{ duringEdit: boolean, newRecord: boolean };
1574
1485
  @Input() stateful ! : boolean|object|string[];
1575
1486
  @Input() statefulEvents ! : object|string[];
1576
1487
  @Input() stateId ! : string;
@@ -1613,6 +1524,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1613
1524
  @Input() insertFirst ! : HTMLElement|string;
1614
1525
  @Input() keyMap ! : Record<string, KeyMapConfig>;
1615
1526
  @Input() labelPosition ! : 'before'|'above'|'align-before'|'auto'|null;
1527
+ @Input() labelWidth ! : number|null;
1616
1528
  @Input() longPressTime ! : number;
1617
1529
  @Input() margin ! : number|string;
1618
1530
  @Input() maxHeight ! : string|number;
@@ -1648,8 +1560,6 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1648
1560
  @Input() width ! : number|string;
1649
1561
 
1650
1562
  // Properties only
1651
- @Input() focusVisible ! : boolean;
1652
- @Input() hasChanges ! : boolean;
1653
1563
  @Input() originalStore ! : Store;
1654
1564
  @Input() parent ! : Widget;
1655
1565
  @Input() selectedCell ! : GridLocation|GridLocationConfig;
@@ -1713,8 +1623,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1713
1623
  @Output() onBeforeCancelCellEdit: any = new EventEmitter<((event: { source: Grid, editorContext: GridLocation }) => Promise<boolean>|boolean|void)|string>();
1714
1624
  /**
1715
1625
  * 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.
1716
- * ...
1717
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
1626
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
1718
1627
  * @param {object} event Event object
1719
1628
  * @param {Grid.view.Grid} event.grid Target grid
1720
1629
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1829,8 +1738,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1829
1738
  @Output() onBeforeFinishCellEdit: any = new EventEmitter<((event: { grid: Grid, editorContext: CellEditorContext }) => void)|string>();
1830
1739
  /**
1831
1740
  * 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.
1832
- * ...
1833
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
1741
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
1834
1742
  * @param {object} event Event object
1835
1743
  * @param {Grid.view.Grid} event.grid Target grid
1836
1744
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1875,16 +1783,14 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1875
1783
  @Output() onBeforeRenderRows: any = new EventEmitter<((event: { source: GridBase }) => void)|string>();
1876
1784
  /**
1877
1785
  * This event fires before row collapse is started.
1878
- * ...
1879
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
1786
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
1880
1787
  * @param {object} event Event object
1881
1788
  * @param {Core.data.Model} event.record Record
1882
1789
  */
1883
1790
  @Output() onBeforeRowCollapse: any = new EventEmitter<((event: { record: Model }) => Promise<boolean>|boolean|void)|string>();
1884
1791
  /**
1885
1792
  * This event fires before row expand is started.
1886
- * ...
1887
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
1793
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
1888
1794
  * @param {object} event Event object
1889
1795
  * @param {Core.data.Model} event.record Record
1890
1796
  */
@@ -1964,8 +1870,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
1964
1870
  @Output() onCancelCellEdit: any = new EventEmitter<((event: { source: Grid, editorContext: GridLocation, event: Event }) => void)|string>();
1965
1871
  /**
1966
1872
  * Fires when any other event is fired from the object.
1967
- * ...
1968
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
1873
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
1969
1874
  * @param {object} event Event object
1970
1875
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
1971
1876
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -2007,8 +1912,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2007
1912
  /**
2008
1913
  * This event fires on the owning grid before the context menu is shown for a cell.
2009
1914
  * 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).
2010
- * ...
2011
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
1915
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
2012
1916
  * @param {object} event Event object
2013
1917
  * @param {Grid.view.Grid} event.source The grid
2014
1918
  * @param {Core.widget.Menu} event.menu The menu
@@ -2189,8 +2093,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2189
2093
  @Output() onCopy: any = new EventEmitter<((event: { source: Grid, cells: GridLocation[], copiedDataString: string, isCut: boolean, entityName: string }) => void)|string>();
2190
2094
  /**
2191
2095
  * Fired when data in the store changes.
2192
- * ...
2193
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
2096
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
2194
2097
  * @param {object} event Event object
2195
2098
  * @param {Grid.view.GridBase} event.source Owning grid
2196
2099
  * @param {Core.data.Store} event.store The originating store
@@ -2294,8 +2197,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2294
2197
  @Output() onFinishCellEdit: any = new EventEmitter<((event: { grid: Grid, editorContext: CellEditorContext }) => void)|string>();
2295
2198
  /**
2296
2199
  * 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.
2297
- * ...
2298
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
2200
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
2299
2201
  * @param {object} event Event object
2300
2202
  * @param {Grid.view.Grid} event.grid Target grid
2301
2203
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2395,8 +2297,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2395
2297
  @Output() onGridRowDrop: any = new EventEmitter<((event: { source: GridBase, context: { valid: boolean, insertBefore: Model, parent: Model, records: Model[], oldPositionContext: RecordPositionContext[] }, event: MouseEvent }) => void)|string>();
2396
2298
  /**
2397
2299
  * Fired when a grid header is clicked on.
2398
- * ...
2399
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
2300
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
2400
2301
  * @param {object} event Event object
2401
2302
  * @param {Event} event.domEvent The triggering DOM event.
2402
2303
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -2405,8 +2306,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2405
2306
  /**
2406
2307
  * This event fires on the owning Grid before the context menu is shown for a header.
2407
2308
  * 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).
2408
- * ...
2409
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
2309
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
2410
2310
  * @param {object} event Event object
2411
2311
  * @param {Grid.view.Grid} event.source The grid
2412
2312
  * @param {Core.widget.Menu} event.menu The menu
@@ -2469,8 +2369,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2469
2369
  /**
2470
2370
  * Triggered when a widget which had been in a non-visible state for any reason
2471
2371
  * achieves visibility.
2472
- * ...
2473
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
2372
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
2474
2373
  * @param {object} event Event object
2475
2374
  * @param {Core.widget.Widget} event.source The widget being painted.
2476
2375
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -2489,8 +2388,8 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2489
2388
  /**
2490
2389
  * Fires on the owning Grid when export has finished
2491
2390
  * @param {object} event Event object
2492
- * @param {Response} event.response Optional response, if received
2493
- * @param {Error} event.error Optional error, if exception occurred
2391
+ * @param {Response} [event.response] Optional response, if received
2392
+ * @param {Error} [event.error] Optional error, if exception occurred
2494
2393
  */
2495
2394
  @Output() onPdfExport: any = new EventEmitter<((event: { response?: Response, error?: Error }) => void)|string>();
2496
2395
  /**
@@ -2547,8 +2446,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2547
2446
  @Output() onRowCollapse: any = new EventEmitter<((event: { record: Model }) => void)|string>();
2548
2447
  /**
2549
2448
  * This event fires when a row expand has finished expanding.
2550
- * ...
2551
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
2449
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
2552
2450
  * @param {object} event Event object
2553
2451
  * @param {Core.data.Model} event.record Record
2554
2452
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -2686,7 +2584,7 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2686
2584
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
2687
2585
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
2688
2586
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
2689
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
2587
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
2690
2588
  */
2691
2589
  @Output() onToggleGroup: any = new EventEmitter<((event: { groupRecord: Model, groupRecords: Model[], collapse: boolean, allRecords?: boolean }) => void)|string>();
2692
2590
  /**
@@ -2784,6 +2682,17 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2784
2682
  WrapperHelper.devWarningContainer(instanceName, containerParam);
2785
2683
  }
2786
2684
 
2685
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
2686
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
2687
+ // finds the theme. The @font-face rules from component styles are also extracted to
2688
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
2689
+ // included in document.fonts across all browsers).
2690
+ const shadowRoot = elementRef.nativeElement.getRootNode();
2691
+ if (shadowRoot instanceof ShadowRoot) {
2692
+ initThemeInShadowRoots();
2693
+ BryntumGridBaseComponent.ensureFontsInDocument(shadowRoot);
2694
+ }
2695
+
2787
2696
  // @ts-ignore
2788
2697
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
2789
2698
 
@@ -2793,6 +2702,53 @@ export class BryntumGridBaseComponent implements OnInit, OnDestroy {
2793
2702
  //
2794
2703
  }
2795
2704
 
2705
+ /**
2706
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
2707
+ * document.head as a single <style> element. This is needed because @font-face rules inside
2708
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
2709
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
2710
+ * Safe to call multiple times — the extraction runs only once per page.
2711
+ */
2712
+ private static ensureFontsInDocument(shadowRoot: ShadowRoot): void {
2713
+ if (document.querySelector('#b-shadow-root-fonts')) {
2714
+ return;
2715
+ }
2716
+
2717
+ const fontFaceRules: string[] = [];
2718
+
2719
+ const extractFromSheet = (sheet: CSSStyleSheet): void => {
2720
+ try {
2721
+ const rules = sheet.cssRules;
2722
+ for (let i = 0; i < rules.length; i++) {
2723
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
2724
+ fontFaceRules.push(rules[i].cssText);
2725
+ }
2726
+ }
2727
+ }
2728
+ catch (_e) {
2729
+ // Cross-origin access may throw; silently skip
2730
+ }
2731
+ };
2732
+
2733
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
2734
+ const adoptedSheets: CSSStyleSheet[] = (shadowRoot as any).adoptedStyleSheets ?? [];
2735
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
2736
+
2737
+ // <style> elements (older Angular or fallback)
2738
+ shadowRoot.querySelectorAll('style').forEach(el => {
2739
+ if (el.sheet) {
2740
+ extractFromSheet(el.sheet);
2741
+ }
2742
+ });
2743
+
2744
+ if (fontFaceRules.length > 0) {
2745
+ const style = document.createElement('style');
2746
+ style.id = 'b-shadow-root-fonts';
2747
+ style.textContent = fontFaceRules.join('\n');
2748
+ document.head.appendChild(style);
2749
+ }
2750
+ }
2751
+
2796
2752
  /**
2797
2753
  * Watch for changes
2798
2754
  * @param changes