@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,10 +7,11 @@ import { Component, ElementRef, EventEmitter, Output, Input, SimpleChange, Simpl
7
7
 
8
8
  import WrapperHelper from './wrapper.helper';
9
9
 
10
- import { AlignSpec, Base, CollectionFilterConfig, Color, Container, DomConfig, FieldFilterPicker, FieldFilterPickerConfig, FieldFilterPickerGroup, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, Rectangle, Scroller, ScrollerConfig, TabConfig, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
10
+ import { AlignSpec, Base, CollectionFilterConfig, Color, Container, DomConfig, FieldFilterPicker, FieldFilterPickerConfig, FieldFilterPickerGroup, KeyMapConfig, Layout, MaskConfig, MenuItemConfig, MenuItemEntry, Model, ReactJSX, Rectangle, Scroller, ScrollerConfig, TabConfig, ToolbarItems, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
11
11
  import { GridContainerItemConfig, GridContainerLayoutConfig, Grid, GridFieldFilterPickerGroup, GridFieldFilterPickerGroupListeners } 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 BryntumGridFieldFilterPickerGroupProps = {
16
17
  // Configs
@@ -21,14 +22,12 @@ export type BryntumGridFieldFilterPickerGroupProps = {
21
22
  /**
22
23
  * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
23
24
  * content will be placed inside this element.
24
- * ...
25
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-adopt)
25
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-adopt)
26
26
  */
27
27
  adopt ? : HTMLElement|string
28
28
  /**
29
29
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
30
- * ...
31
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-align)
30
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-align)
32
31
  */
33
32
  align ? : AlignSpec|string
34
33
  /**
@@ -56,15 +55,13 @@ export type BryntumGridFieldFilterPickerGroupProps = {
56
55
  /**
57
56
  * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject
58
57
  * into an element which will be linked using the `aria-describedby` attribute.
59
- * ...
60
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ariaDescription)
58
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ariaDescription)
61
59
  */
62
60
  ariaDescription ? : string
63
61
  /**
64
62
  * A localizable string (May contain `'L{}'` tokens which resolve in the locale file) to inject as
65
63
  * the `aria-label` attribute.
66
- * ...
67
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ariaLabel)
64
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ariaLabel)
68
65
  */
69
66
  ariaLabel ? : string
70
67
  /**
@@ -78,14 +75,12 @@ export type BryntumGridFieldFilterPickerGroupProps = {
78
75
  /**
79
76
  * An object where property names with a truthy value indicate which events should bubble up the ownership
80
77
  * hierarchy when triggered.
81
- * ...
82
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-bubbleEvents)
78
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-bubbleEvents)
83
79
  */
84
80
  bubbleEvents ? : object
85
81
  /**
86
82
  * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
87
- * ...
88
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-callOnFunctions)
83
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-callOnFunctions)
89
84
  */
90
85
  callOnFunctions ? : boolean
91
86
  /**
@@ -107,8 +102,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
107
102
  /**
108
103
  * By default, if an event handler throws an exception, the error propagates up the stack and the
109
104
  * application state is undefined. Code which follows the event handler will *not* be executed.
110
- * ...
111
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-catchEventHandlerExceptions)
105
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-catchEventHandlerExceptions)
112
106
  */
113
107
  catchEventHandlerExceptions ? : boolean
114
108
  /**
@@ -120,15 +114,13 @@ export type BryntumGridFieldFilterPickerGroupProps = {
120
114
  * Custom CSS classes to add to element.
121
115
  * May be specified as a space separated string, or as an object in which property names
122
116
  * with truthy values are used as the class names:
123
- * ...
124
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-cls)
117
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-cls)
125
118
  */
126
119
  cls ? : string|object
127
120
  /**
128
121
  * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
129
122
  * `style` block.
130
- * ...
131
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-color)
123
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-color)
132
124
  */
133
125
  color ? : Color
134
126
  /**
@@ -152,8 +144,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
152
144
  * Custom CSS classes to add to the [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
153
145
  * May be specified as a space separated string, or as an object in which property names
154
146
  * with truthy values are used as the class names:
155
- * ...
156
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-contentElementCls)
147
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-contentElementCls)
157
148
  */
158
149
  contentElementCls ? : string|object
159
150
  /**
@@ -178,8 +169,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
178
169
  /**
179
170
  * A [query](https://bryntum.com/products/grid/docs/api/Core/widget/Container#function-query) selector function which can identify the descendant widget to which
180
171
  * focus should be directed by default.
181
- * ...
182
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-defaultFocus)
172
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-defaultFocus)
183
173
  * @param {Core.widget.Widget} widget Widget passed to method
184
174
  * @returns {boolean} truthy value if widget is the default one
185
175
  */
@@ -189,9 +179,9 @@ export type BryntumGridFieldFilterPickerGroupProps = {
189
179
  */
190
180
  defaults ? : GridContainerItemConfig
191
181
  /**
192
- * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
193
- * ...
194
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-detectCSSCompatibilityIssues)
182
+ * Check for CSS compatibility and inclusion related issues and try to auto fix them. Performs the following
183
+ * checks:
184
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-detectCSSCompatibilityIssues)
195
185
  */
196
186
  detectCSSCompatibilityIssues ? : boolean
197
187
  /**
@@ -203,25 +193,21 @@ export type BryntumGridFieldFilterPickerGroupProps = {
203
193
  * [strips collection](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
204
194
  * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
205
195
  * body. Such widgets are called "edge strips".
206
- * ...
207
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-dock)
196
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-dock)
208
197
  */
209
198
  dock ? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
210
199
  /**
211
200
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
212
201
  * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
213
202
  * property which controls when a drag should start.
214
- * ...
215
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-draggable)
203
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-draggable)
204
+ * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
216
205
  */
217
- draggable ? : boolean|{
218
- handleSelector?: string
219
- }
206
+ draggable ? : boolean|object
220
207
  /**
221
208
  * An object specifying attributes to assign to the root element of this widget.
222
209
  * Set `null` value to attribute to remove it.
223
- * ...
224
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-elementAttributes)
210
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-elementAttributes)
225
211
  */
226
212
  elementAttributes ? : Record<string, string|null>
227
213
  extraData ? : any
@@ -229,8 +215,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
229
215
  * Array of [CollectionFilter](https://bryntum.com/products/grid/docs/api/Core/util/CollectionFilter) configuration objects. One
230
216
  * [FieldFilterPicker](https://bryntum.com/products/grid/docs/api/Core/widget/FieldFilterPicker) will be created
231
217
  * for each object in the array.
232
- * ...
233
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-filters)
218
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-filters)
234
219
  */
235
220
  filters ? : CollectionFilterConfig[]
236
221
  /**
@@ -251,8 +236,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
251
236
  * a given filter. When `getFieldFilterPickerConfig` is provided, it will be called for each filter and the returned
252
237
  * object will be merged with the configuration properties for the individual
253
238
  * [FieldFilterPicker](https://bryntum.com/products/grid/docs/api/Core/widget/FieldFilterPicker) representing that filter.
254
- * ...
255
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-getFieldFilterPickerConfig)
239
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-getFieldFilterPickerConfig)
256
240
  * @param {CollectionFilterConfig} filter The filter to be displayed in the FieldFilterPicker being configured
257
241
  * @returns {FieldFilterPickerConfig}
258
242
  */
@@ -262,8 +246,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
262
246
  * appear as a selectable property for a filter, a column must have a `field` property.
263
247
  * If the column has a `text` property, that will be shown as the displayed text in the
264
248
  * selector; otherwise, the `field` property will be shown as-is.
265
- * ...
266
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-grid)
249
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-grid)
267
250
  */
268
251
  grid ? : Grid
269
252
  /**
@@ -278,25 +261,21 @@ export type BryntumGridFieldFilterPickerGroupProps = {
278
261
  hidden ? : boolean
279
262
  /**
280
263
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
281
- * ...
282
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-hideAnimation)
264
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-hideAnimation)
283
265
  */
284
266
  hideAnimation ? : boolean|object
285
267
  /**
286
268
  * Specify `true` to make this container hide when it has no visible children (Either empty
287
269
  * or all children hidden).
288
- * ...
289
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-hideWhenEmpty)
270
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-hideWhenEmpty)
290
271
  */
291
272
  hideWhenEmpty ? : boolean
292
273
  /**
293
274
  * The HTML to display initially or a function returning the markup (called at widget construction time).
294
- * ...
295
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-html)
275
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-html)
296
276
  * @param {Core.widget.Widget} widget The calling Widget
297
- * @returns {string}
298
277
  */
299
- html ? : string|((widget: Widget) => string)|DomConfig|DomConfig[]|VueConfig
278
+ html ? : string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX
300
279
  /**
301
280
  * The CSS class(es) to add when HTML content is being applied to this widget.
302
281
  */
@@ -307,16 +286,14 @@ export type BryntumGridFieldFilterPickerGroupProps = {
307
286
  id ? : string
308
287
  /**
309
288
  * Determines if the widgets read-only state should be controlled by its parent.
310
- * ...
311
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ignoreParentReadOnly)
289
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ignoreParentReadOnly)
312
290
  */
313
291
  ignoreParentReadOnly ? : boolean
314
292
  /**
315
293
  * Convenience setting to align input fields of child widgets. By default, the Field input element is
316
294
  * placed immediately following the `label`. If you prefer to have all input fields aligned to the
317
295
  * right, set this config to `'end'`.
318
- * ...
319
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-inputFieldAlign)
296
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-inputFieldAlign)
320
297
  */
321
298
  inputFieldAlign ? : 'start'|'end'
322
299
  /**
@@ -334,63 +311,59 @@ export type BryntumGridFieldFilterPickerGroupProps = {
334
311
  /**
335
312
  * An object containing typed child widget config objects or Widgets. May also be specified
336
313
  * as an array.
337
- * ...
338
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-items)
314
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-items)
339
315
  */
340
316
  items ? : Record<string, GridContainerItemConfig|MenuItemEntry>|(GridContainerItemConfig|MenuItemEntry|Widget)[]
341
317
  /**
342
318
  * An object whose keys are the [key](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) name
343
319
  * and optional modifier prefixes: `'Ctrl+'`, `'Alt+'`, `'Meta+'`, and `'Shift+'` (case-insensitive). The values
344
320
  * are the name of the instance method to call when the keystroke is received.
345
- * ...
346
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-keyMap)
321
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-keyMap)
347
322
  */
348
323
  keyMap ? : Record<string, KeyMapConfig>
349
324
  /**
350
325
  * Convenience setting to use same label placement on all child widgets.
351
- * ...
352
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-labelPosition)
326
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-labelPosition)
353
327
  */
354
328
  labelPosition ? : 'before'|'above'|'align-before'|'auto'|null
329
+ /**
330
+ * Sets `labelWidth´ for all children of this Container, that does not define their own `labelWidth`.
331
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-labelWidth)
332
+ */
333
+ labelWidth ? : number|null
355
334
  /**
356
335
  * The short name of a helper class which manages rendering and styling of child items.
357
- * ...
358
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-layout)
336
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-layout)
359
337
  */
360
338
  layout ? : string|GridContainerLayoutConfig
361
339
  /**
362
340
  * The CSS style properties to apply to the [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
363
- * ...
364
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-layoutStyle)
341
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-layoutStyle)
365
342
  */
366
343
  layoutStyle ? : object
367
344
  /**
368
345
  * An array of [child item](https://bryntum.com/products/grid/docs/api/Core/widget/Container#config-items) *config objects* which is to be converted into
369
346
  * instances only when this Container is rendered, rather than eagerly at construct time.
370
- * ...
371
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-lazyItems)
347
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-lazyItems)
372
348
  */
373
349
  lazyItems ? : Record<string, GridContainerItemConfig>|GridContainerItemConfig[]|Widget[]
374
350
  /**
375
351
  * When `limitToProperty` is set to the name of an available field (as specified either
376
352
  * explicitly in [fields](https://bryntum.com/products/grid/docs/api/Core/widget/FieldFilterPickerGroup#config-fields) or implicitly in the
377
353
  * [store](https://bryntum.com/products/grid/docs/api/Core/widget/FieldFilterPickerGroup#config-store)'s model), it has the following effects:
378
- * ...
379
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-limitToProperty)
354
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-limitToProperty)
380
355
  */
381
356
  limitToProperty ? : string
382
357
  /**
383
358
  * The listener set for this object.
384
- * ...
385
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-listeners)
359
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-listeners)
386
360
  */
387
361
  listeners ? : GridFieldFilterPickerGroupListeners
388
362
  /**
389
363
  * A class translations of which are used for translating this entity.
390
364
  * This is often used when translations of an item are defined on its container class.
391
365
  * For example:
392
- * ...
393
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-localeClass)
366
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-localeClass)
394
367
  */
395
368
  localeClass ? : typeof Base
396
369
  /**
@@ -402,8 +375,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
402
375
  * In case there is a need to localize not typical value (not a String value or a field with re-defined setter/getter),
403
376
  * you could use 'localeKey' meta configuration.
404
377
  * Example:
405
- * ...
406
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-localizableProperties)
378
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-localizableProperties)
407
379
  */
408
380
  localizableProperties ? : string[]
409
381
  /**
@@ -429,8 +401,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
429
401
  maxHeight ? : string|number
430
402
  /**
431
403
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
432
- * ...
433
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-maximizeOnMobile)
404
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-maximizeOnMobile)
434
405
  */
435
406
  maximizeOnMobile ? : number|string
436
407
  /**
@@ -452,18 +423,15 @@ export type BryntumGridFieldFilterPickerGroupProps = {
452
423
  * When this is configured as `true` a [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
453
424
  * is used to monitor this element for size changes caused by either style manipulation, or by CSS
454
425
  * layout.
455
- * ...
456
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-monitorResize)
426
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-monitorResize)
427
+ * @property {boolean} immediate Set to `true` to receive resize notifications immediately.
457
428
  */
458
- monitorResize ? : boolean|{
459
- immediate?: boolean
460
- }
429
+ monitorResize ? : boolean|object
461
430
  /**
462
431
  * An object containing default config objects which may be referenced by name in the [items](https://bryntum.com/products/grid/docs/api/Core/widget/Container#config-items)
463
432
  * config. For example, a specialized [Menu](https://bryntum.com/products/grid/docs/api/Core/widget/Menu) subclass may have a `namedItems` default
464
433
  * value defined like this:
465
- * ...
466
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-namedItems)
434
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-namedItems)
467
435
  */
468
436
  namedItems ? : Record<string, GridContainerItemConfig>
469
437
  /**
@@ -475,8 +443,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
475
443
  * Set to `true` when a widget is rendered into another widget's [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement), but must
476
444
  * not participate in the standard layout of that widget, and must be positioned relatively to that
477
445
  * widget's [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
478
- * ...
479
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-positioned)
446
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-positioned)
480
447
  */
481
448
  positioned ? : boolean
482
449
  /**
@@ -486,45 +453,45 @@ export type BryntumGridFieldFilterPickerGroupProps = {
486
453
  preventTooltipOnTouch ? : boolean
487
454
  /**
488
455
  * Whether the picker group is read-only.
489
- * ...
490
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-readOnly)
456
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-readOnly)
491
457
  */
492
458
  readOnly ? : boolean
493
459
  /**
494
460
  * [Record](https://bryntum.com/products/grid/docs/api/Core/data/Model) whose values will be used to populate fields in the container.
495
- * ...
496
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-record)
461
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-record)
497
462
  */
498
463
  record ? : Model
499
464
  relayStoreEvents ? : boolean
500
465
  /**
501
466
  * Either a default `rendition` to apply to all child widgets, or a map of renditions keyed by child widget
502
467
  * `type`.
503
- * ...
504
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-rendition)
468
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-rendition)
505
469
  */
506
470
  rendition ? : string|Record<string, string>|null
507
471
  /**
508
472
  * Configure as `true` to have the component display a translucent ripple when its
509
473
  * [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
510
474
  * current theme supports ripples</em>. Out of the box, only the Material theme supports ripples.
511
- * ...
512
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ripple)
513
- */
514
- ripple ? : boolean|{
515
- delegate?: string
516
- color?: string
517
- radius?: number
518
- clip?: string
519
- }
475
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ripple)
476
+ * @property {string} [delegate] A CSS selector to filter which child elements trigger ripples. By default, the ripple is clipped to the triggering element.
477
+ * @property {string} [color] A CSS color name or specification.
478
+ * @property {number} [radius] The ending radius of the ripple. Note that it will be clipped by the target element by default.
479
+ * @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.
480
+ */
481
+ ripple ? : boolean|object
482
+ /**
483
+ * The ARIA role to apply to this widget's element. By default, this is set to `'presentation'` to avoid
484
+ * accidentally applying a role which may interfere with screen readers.
485
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-role)
486
+ */
487
+ role ? : string
520
488
  /**
521
489
  * 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`
522
490
  */
523
491
  rootElement ? : ShadowRoot|HTMLElement
524
492
  /**
525
493
  * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
526
- * ...
527
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-rtl)
494
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-rtl)
528
495
  */
529
496
  rtl ? : boolean
530
497
  /**
@@ -532,8 +499,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
532
499
  * in both axes. May be an object containing boolean `overflowX` and `overflowY` properties which are
533
500
  * applied to CSS style properties `overflowX` and `overflowY`. If they are boolean, they are translated to
534
501
  * CSS overflow properties thus:
535
- * ...
536
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-scrollable)
502
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-scrollable)
537
503
  */
538
504
  scrollable ? : boolean|ScrollerConfig|Scroller
539
505
  /**
@@ -547,8 +513,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
547
513
  showAddFilterButton ? : boolean
548
514
  /**
549
515
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
550
- * ...
551
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-showAnimation)
516
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-showAnimation)
552
517
  */
553
518
  showAnimation ? : boolean|object
554
519
  /**
@@ -568,15 +533,13 @@ export type BryntumGridFieldFilterPickerGroupProps = {
568
533
  * 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
569
534
  * [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
570
535
  * this widget:
571
- * ...
572
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tab)
536
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tab)
573
537
  */
574
538
  tab ? : boolean|TabConfig
575
539
  /**
576
540
  * When this container is used as a tab in a TabPanel, these items are added to the
577
541
  * [TabBar](https://bryntum.com/products/grid/docs/api/Core/widget/TabBar) when this container is the active tab.
578
- * ...
579
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tabBarItems)
542
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tabBarItems)
580
543
  */
581
544
  tabBarItems ? : ToolbarItems[]|Widget[]
582
545
  /**
@@ -585,15 +548,13 @@ export type BryntumGridFieldFilterPickerGroupProps = {
585
548
  tag ? : string
586
549
  /**
587
550
  * Text alignment: 'left', 'center' or 'right'. Also accepts direction neutral 'start' and 'end'.
588
- * ...
589
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-textAlign)
551
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-textAlign)
590
552
  */
591
553
  textAlign ? : 'left'|'center'|'right'|'start'|'end'
592
554
  /**
593
555
  * Specify `true` for a container used to show text markup. It will apply the CSS class `b-text-content`
594
556
  * which specifies a default max-width that makes long text more readable.
595
- * ...
596
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-textContent)
557
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-textContent)
597
558
  */
598
559
  textContent ? : boolean
599
560
  /**
@@ -602,8 +563,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
602
563
  title ? : string
603
564
  /**
604
565
  * Tooltip for the widget, either as a string or as a Tooltip config object.
605
- * ...
606
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tooltip)
566
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-tooltip)
607
567
  */
608
568
  tooltip ? : string|TooltipConfig|null
609
569
  /**
@@ -617,8 +577,7 @@ export type BryntumGridFieldFilterPickerGroupProps = {
617
577
  * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
618
578
  * as a space separated string, an array of strings, or as an object in which property names with truthy
619
579
  * values are used as the class names.
620
- * ...
621
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ui)
580
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-ui)
622
581
  */
623
582
  ui ? : string|object
624
583
  /**
@@ -634,14 +593,12 @@ export type BryntumGridFieldFilterPickerGroupProps = {
634
593
  width ? : string|number
635
594
  /**
636
595
  * The x position for the widget.
637
- * ...
638
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-x)
596
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-x)
639
597
  */
640
598
  x ? : number
641
599
  /**
642
600
  * The y position for the widget.
643
- * ...
644
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-y)
601
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#config-y)
645
602
  */
646
603
  y ? : number
647
604
 
@@ -739,6 +696,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
739
696
  'items',
740
697
  'keyMap',
741
698
  'labelPosition',
699
+ 'labelWidth',
742
700
  'layout',
743
701
  'layoutStyle',
744
702
  'lazyItems',
@@ -765,6 +723,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
765
723
  'relayStoreEvents',
766
724
  'rendition',
767
725
  'ripple',
726
+ 'role',
768
727
  'rootElement',
769
728
  'rtl',
770
729
  'scrollable',
@@ -841,6 +800,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
841
800
  'preventTooltipOnTouch',
842
801
  'relayStoreEvents',
843
802
  'ripple',
803
+ 'role',
844
804
  'rootElement',
845
805
  'scrollAction',
846
806
  'showAddFilterButton',
@@ -860,7 +820,6 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
860
820
 
861
821
  private static bryntumProps: string[] = BryntumGridFieldFilterPickerGroupComponent.bryntumFeatureNames.concat([
862
822
  'alignSelf',
863
- 'anchorSize',
864
823
  'appendTo',
865
824
  'callOnFunctions',
866
825
  'catchEventHandlerExceptions',
@@ -871,8 +830,6 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
871
830
  'disabled',
872
831
  'extraData',
873
832
  'flex',
874
- 'focusVisible',
875
- 'hasChanges',
876
833
  'height',
877
834
  'hidden',
878
835
  'html',
@@ -880,11 +837,10 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
880
837
  'inputFieldAlign',
881
838
  'insertBefore',
882
839
  'insertFirst',
883
- 'isSettingValues',
884
- 'isValid',
885
840
  'items',
886
841
  'keyMap',
887
842
  'labelPosition',
843
+ 'labelWidth',
888
844
  'layout',
889
845
  'layoutStyle',
890
846
  'margin',
@@ -950,9 +906,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
950
906
  @Input() defaults ! : GridContainerItemConfig;
951
907
  @Input() detectCSSCompatibilityIssues ! : boolean;
952
908
  @Input() dock ! : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object;
953
- @Input() draggable ! : boolean|{
954
- handleSelector?: string
955
- };
909
+ @Input() draggable ! : boolean|object;
956
910
  @Input() elementAttributes ! : Record<string, string|null>;
957
911
  @Input() filters ! : CollectionFilterConfig[];
958
912
  @Input() floating ! : boolean;
@@ -971,20 +925,14 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
971
925
  @Input() localizableProperties ! : string[];
972
926
  @Input() maskDefaults ! : MaskConfig;
973
927
  @Input() masked ! : boolean|string|MaskConfig;
974
- @Input() monitorResize ! : boolean|{
975
- immediate?: boolean
976
- };
928
+ @Input() monitorResize ! : boolean|object;
977
929
  @Input() namedItems ! : Record<string, GridContainerItemConfig>;
978
930
  @Input() operators ! : object;
979
931
  @Input() positioned ! : boolean;
980
932
  @Input() preventTooltipOnTouch ! : boolean;
981
933
  @Input() relayStoreEvents ! : boolean;
982
- @Input() ripple ! : boolean|{
983
- delegate?: string
984
- color?: string
985
- radius?: number
986
- clip?: string
987
- };
934
+ @Input() ripple ! : boolean|object;
935
+ @Input() role ! : string;
988
936
  @Input() rootElement ! : ShadowRoot|HTMLElement;
989
937
  @Input() scrollAction ! : 'hide'|'realign'|null;
990
938
  @Input() showAddFilterButton ! : boolean;
@@ -1015,7 +963,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1015
963
  @Input() flex ! : number|string;
1016
964
  @Input() height ! : number|string;
1017
965
  @Input() hidden ! : boolean;
1018
- @Input() html ! : string|((widget: Widget) => string)|DomConfig|DomConfig[]|VueConfig;
966
+ @Input() html ! : string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX|(string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX);
1019
967
  @Input() id ! : string;
1020
968
  @Input() inputFieldAlign ! : 'start'|'end';
1021
969
  @Input() insertBefore ! : HTMLElement|string;
@@ -1023,6 +971,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1023
971
  @Input() items ! : (GridContainerItemConfig|MenuItemConfig|Widget)[]|Record<string, GridContainerItemConfig|MenuItemConfig>|Widget[]|Record<string, GridContainerItemConfig|MenuItemEntry>|(GridContainerItemConfig|MenuItemEntry|Widget)[];
1024
972
  @Input() keyMap ! : Record<string, KeyMapConfig>;
1025
973
  @Input() labelPosition ! : 'before'|'above'|'align-before'|'auto'|null;
974
+ @Input() labelWidth ! : number|null;
1026
975
  @Input() layout ! : Layout|string|GridContainerLayoutConfig;
1027
976
  @Input() layoutStyle ! : object;
1028
977
  @Input() margin ! : number|string;
@@ -1044,14 +993,9 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1044
993
  @Input() y ! : number;
1045
994
 
1046
995
  // Properties only
1047
- @Input() anchorSize ! : number[];
1048
- @Input() focusVisible ! : boolean;
1049
- @Input() hasChanges ! : boolean;
1050
- @Input() isSettingValues ! : boolean;
1051
- @Input() isValid ! : boolean;
1052
- @Input() parent ! : Widget;
1053
- @Input() value ! : CollectionFilterConfig[];
1054
- @Input() values ! : Record<string, object>;
996
+ @Input() parent ! : Widget;
997
+ @Input() value ! : CollectionFilterConfig[];
998
+ @Input() values ! : Record<string, object>;
1055
999
 
1056
1000
  // Events emitters
1057
1001
  /**
@@ -1090,8 +1034,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1090
1034
  @Output() onBeforeShow: any = new EventEmitter<((event: { source: Widget|any }) => Promise<boolean>|boolean|void)|string>();
1091
1035
  /**
1092
1036
  * Fires when any other event is fired from the object.
1093
- * ...
1094
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
1037
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
1095
1038
  * @param {object} event Event object
1096
1039
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
1097
1040
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -1157,8 +1100,7 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1157
1100
  /**
1158
1101
  * Triggered when a widget which had been in a non-visible state for any reason
1159
1102
  * achieves visibility.
1160
- * ...
1161
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
1103
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
1162
1104
  * @param {object} event Event object
1163
1105
  * @param {Core.widget.Widget} event.source The widget being painted.
1164
1106
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -1254,11 +1196,69 @@ export class BryntumGridFieldFilterPickerGroupComponent implements OnInit, OnDes
1254
1196
  WrapperHelper.devWarningContainer(instanceName, containerParam);
1255
1197
  }
1256
1198
 
1199
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
1200
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
1201
+ // finds the theme. The @font-face rules from component styles are also extracted to
1202
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
1203
+ // included in document.fonts across all browsers).
1204
+ const shadowRoot = elementRef.nativeElement.getRootNode();
1205
+ if (shadowRoot instanceof ShadowRoot) {
1206
+ initThemeInShadowRoots();
1207
+ BryntumGridFieldFilterPickerGroupComponent.ensureFontsInDocument(shadowRoot);
1208
+ }
1209
+
1257
1210
  // @ts-ignore
1258
1211
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
1259
1212
 
1260
1213
  }
1261
1214
 
1215
+ /**
1216
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
1217
+ * document.head as a single <style> element. This is needed because @font-face rules inside
1218
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
1219
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
1220
+ * Safe to call multiple times — the extraction runs only once per page.
1221
+ */
1222
+ private static ensureFontsInDocument(shadowRoot: ShadowRoot): void {
1223
+ if (document.querySelector('#b-shadow-root-fonts')) {
1224
+ return;
1225
+ }
1226
+
1227
+ const fontFaceRules: string[] = [];
1228
+
1229
+ const extractFromSheet = (sheet: CSSStyleSheet): void => {
1230
+ try {
1231
+ const rules = sheet.cssRules;
1232
+ for (let i = 0; i < rules.length; i++) {
1233
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
1234
+ fontFaceRules.push(rules[i].cssText);
1235
+ }
1236
+ }
1237
+ }
1238
+ catch (_e) {
1239
+ // Cross-origin access may throw; silently skip
1240
+ }
1241
+ };
1242
+
1243
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
1244
+ const adoptedSheets: CSSStyleSheet[] = (shadowRoot as any).adoptedStyleSheets ?? [];
1245
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
1246
+
1247
+ // <style> elements (older Angular or fallback)
1248
+ shadowRoot.querySelectorAll('style').forEach(el => {
1249
+ if (el.sheet) {
1250
+ extractFromSheet(el.sheet);
1251
+ }
1252
+ });
1253
+
1254
+ if (fontFaceRules.length > 0) {
1255
+ const style = document.createElement('style');
1256
+ style.id = 'b-shadow-root-fonts';
1257
+ style.textContent = fontFaceRules.join('\n');
1258
+ document.head.appendChild(style);
1259
+ }
1260
+ }
1261
+
1262
1262
  /**
1263
1263
  * Watch for changes
1264
1264
  * @param changes