@bryntum/grid-angular-thin 7.2.3 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +4 -4
  2. package/bundles/bryntum-grid-angular-thin.umd.js +761 -230
  3. package/bundles/bryntum-grid-angular-thin.umd.js.map +1 -1
  4. package/esm2015/lib/bryntum-a-i-filter-field.component.js +62 -14
  5. package/esm2015/lib/bryntum-checklist-filter-combo.component.js +62 -14
  6. package/esm2015/lib/bryntum-grid-base.component.js +78 -35
  7. package/esm2015/lib/bryntum-grid-chart-designer.component.js +61 -12
  8. package/esm2015/lib/bryntum-grid-field-filter-picker-group.component.js +65 -21
  9. package/esm2015/lib/bryntum-grid-field-filter-picker.component.js +65 -21
  10. package/esm2015/lib/bryntum-grid.component.js +78 -35
  11. package/esm2015/lib/bryntum-group-bar.component.js +61 -12
  12. package/esm2015/lib/bryntum-tree-combo.component.js +62 -14
  13. package/esm2015/lib/bryntum-tree-grid.component.js +78 -35
  14. package/esm2015/lib/grid.module.js +5 -4
  15. package/esm2015/lib/shadowdom.helper.js +82 -0
  16. package/fesm2015/bryntum-grid-angular-thin.js +738 -207
  17. package/fesm2015/bryntum-grid-angular-thin.js.map +1 -1
  18. package/lib/bryntum-a-i-filter-field.component.d.ts +87 -133
  19. package/lib/bryntum-checklist-filter-combo.component.d.ts +106 -166
  20. package/lib/bryntum-grid-base.component.d.ts +238 -303
  21. package/lib/bryntum-grid-chart-designer.component.d.ts +71 -108
  22. package/lib/bryntum-grid-field-filter-picker-group.component.d.ts +93 -143
  23. package/lib/bryntum-grid-field-filter-picker.component.d.ts +94 -145
  24. package/lib/bryntum-grid.component.d.ts +238 -303
  25. package/lib/bryntum-group-bar.component.d.ts +77 -118
  26. package/lib/bryntum-tree-combo.component.d.ts +107 -168
  27. package/lib/bryntum-tree-grid.component.d.ts +238 -303
  28. package/lib/grid.module.d.ts +2 -1
  29. package/lib/shadowdom.helper.d.ts +3 -0
  30. package/package.json +1 -1
  31. package/src/lib/bryntum-a-i-filter-field.component.ts +146 -141
  32. package/src/lib/bryntum-checklist-filter-combo.component.ts +166 -175
  33. package/src/lib/bryntum-grid-base.component.ts +275 -319
  34. package/src/lib/bryntum-grid-chart-designer.component.ts +126 -112
  35. package/src/lib/bryntum-grid-field-filter-picker-group.component.ts +152 -152
  36. package/src/lib/bryntum-grid-field-filter-picker.component.ts +152 -153
  37. package/src/lib/bryntum-grid.component.ts +275 -319
  38. package/src/lib/bryntum-group-bar.component.ts +132 -122
  39. package/src/lib/bryntum-theme-combo.component.ts +128 -0
  40. package/src/lib/bryntum-tree-combo.component.ts +166 -176
  41. package/src/lib/bryntum-tree-grid.component.ts +275 -319
  42. package/src/lib/grid.module.ts +2 -1
  43. package/src/lib/shadowdom.helper.ts +91 -0
@@ -7,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, Collection, CollectionConfig, Color, DomConfig, KeyMapConfig, List, MaskConfig, Model, ModelConfig, Rectangle, Scroller, ScrollerConfig, Store, StoreConfig, TabConfig, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
10
+ import { AlignSpec, Base, Collection, CollectionConfig, Color, DomConfig, KeyMapConfig, List, MaskConfig, Model, ModelConfig, ReactJSX, Rectangle, Scroller, ScrollerConfig, Store, StoreConfig, TabConfig, TooltipConfig, VueConfig, Widget } from '@bryntum/core-thin';
11
11
  import { GroupBar, GroupBarListeners } 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 BryntumGroupBarProps = {
16
17
  // Configs
@@ -22,14 +23,12 @@ export type BryntumGroupBarProps = {
22
23
  /**
23
24
  * Element (or element id) to adopt as this Widget's encapsulating element. The widget's
24
25
  * content will be placed inside this element.
25
- * ...
26
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-adopt)
26
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-adopt)
27
27
  */
28
28
  adopt ? : HTMLElement|string
29
29
  /**
30
30
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
31
- * ...
32
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-align)
31
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-align)
33
32
  */
34
33
  align ? : AlignSpec|string
35
34
  /**
@@ -56,35 +55,30 @@ export type BryntumGroupBarProps = {
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/GroupBar#config-ariaDescription)
58
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#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/GroupBar#config-ariaLabel)
64
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ariaLabel)
68
65
  */
69
66
  ariaLabel ? : string
70
67
  /**
71
68
  * An object where property names with a truthy value indicate which events should bubble up the ownership
72
69
  * hierarchy when triggered.
73
- * ...
74
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-bubbleEvents)
70
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-bubbleEvents)
75
71
  */
76
72
  bubbleEvents ? : object
77
73
  /**
78
74
  * Set to `false` to not call onXXX method names (e.g. `onShow`, `onClick`), as an easy way to listen for events.
79
- * ...
80
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-callOnFunctions)
75
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-callOnFunctions)
81
76
  */
82
77
  callOnFunctions ? : boolean
83
78
  /**
84
79
  * By default, if an event handler throws an exception, the error propagates up the stack and the
85
80
  * application state is undefined. Code which follows the event handler will *not* be executed.
86
- * ...
87
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-catchEventHandlerExceptions)
81
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-catchEventHandlerExceptions)
88
82
  */
89
83
  catchEventHandlerExceptions ? : boolean
90
84
  /**
@@ -97,10 +91,9 @@ export type BryntumGroupBarProps = {
97
91
  */
98
92
  clearSelectionOnEmptySpaceClick ? : boolean
99
93
  /**
100
- * Configure as `true` to display a clickable close icon after the [itemTpl](https://bryntum.com/products/grid/docs/api/Core/widget/List#config-itemTpl).
94
+ * Configure as `true` to display a clickable close icon after the [itemTpl](https://bryntum.com/products/grid/docs/api/Core/widget/ChipView#config-itemTpl).
101
95
  * When tapped, the configured [closeHandler](https://bryntum.com/products/grid/docs/api/Core/widget/ChipView#config-closeHandler) is called passing the associated record.
102
- * ...
103
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-closable)
96
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-closable)
104
97
  */
105
98
  closable ? : boolean
106
99
  /**
@@ -113,8 +106,7 @@ export type BryntumGroupBarProps = {
113
106
  * Custom CSS classes to add to element.
114
107
  * May be specified as a space separated string, or as an object in which property names
115
108
  * with truthy values are used as the class names:
116
- * ...
117
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-cls)
109
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-cls)
118
110
  */
119
111
  cls ? : string|object
120
112
  /**
@@ -124,8 +116,7 @@ export type BryntumGroupBarProps = {
124
116
  /**
125
117
  * Applies the specified color to the widget, by setting the `--b-primary` CSS variable in the widgets
126
118
  * `style` block.
127
- * ...
128
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-color)
119
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-color)
129
120
  */
130
121
  color ? : Color
131
122
  /**
@@ -149,8 +140,7 @@ export type BryntumGroupBarProps = {
149
140
  * Custom CSS classes to add to the [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
150
141
  * May be specified as a space separated string, or as an object in which property names
151
142
  * with truthy values are used as the class names:
152
- * ...
153
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-contentElementCls)
143
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-contentElementCls)
154
144
  */
155
145
  contentElementCls ? : string|object
156
146
  /**
@@ -168,16 +158,15 @@ export type BryntumGroupBarProps = {
168
158
  */
169
159
  defaultBindProperty ? : string
170
160
  /**
171
- * Check for CSS compatibility issues when upgrading to v7. Performs the following checks:
172
- * ...
173
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-detectCSSCompatibilityIssues)
161
+ * Check for CSS compatibility and inclusion related issues and try to auto fix them. Performs the following
162
+ * checks:
163
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-detectCSSCompatibilityIssues)
174
164
  */
175
165
  detectCSSCompatibilityIssues ? : boolean
176
166
  /**
177
167
  * 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
178
168
  * cannot be focused, uses a different rendition (usually greyish) and does not allow selecting its value.
179
- * ...
180
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-disabled)
169
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-disabled)
181
170
  */
182
171
  disabled ? : boolean|'inert'
183
172
  /**
@@ -189,25 +178,21 @@ export type BryntumGroupBarProps = {
189
178
  * [strips collection](https://bryntum.com/products/grid/docs/api/Core/widget/Panel#config-strips). Typical values for this config are `'top'`,
190
179
  * `'bottom'`, `'left'`, or `'right'`, which cause the widget to be placed on that side of the panel's
191
180
  * body. Such widgets are called "edge strips".
192
- * ...
193
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-dock)
181
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-dock)
194
182
  */
195
183
  dock ? : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object
196
184
  /**
197
185
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
198
186
  * Set to `true` to be able to drag a widget freely on the page. Or set to an object with a ´handleSelector´
199
187
  * property which controls when a drag should start.
200
- * ...
201
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-draggable)
188
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-draggable)
189
+ * @property {string} handleSelector CSS selector used to determine if drag can be started from a mouse-downed element inside the widget
202
190
  */
203
- draggable ? : boolean|{
204
- handleSelector?: string
205
- }
191
+ draggable ? : boolean|object
206
192
  /**
207
193
  * An object specifying attributes to assign to the root element of this widget.
208
194
  * Set `null` value to attribute to remove it.
209
- * ...
210
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-elementAttributes)
195
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-elementAttributes)
211
196
  */
212
197
  elementAttributes ? : Record<string, string|null>
213
198
  /**
@@ -262,25 +247,22 @@ export type BryntumGroupBarProps = {
262
247
  hidden ? : boolean
263
248
  /**
264
249
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
265
- * ...
266
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-hideAnimation)
250
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-hideAnimation)
267
251
  */
268
252
  hideAnimation ? : boolean|object
269
253
  /**
270
254
  * The HTML to display initially or a function returning the markup (called at widget construction time).
271
- * ...
272
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-html)
255
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-html)
273
256
  * @param {Core.widget.Widget} widget The calling Widget
274
- * @returns {string}
275
257
  */
276
- html ? : string|((widget: Widget) => string)|DomConfig|DomConfig[]|VueConfig
258
+ html ? : string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX
277
259
  /**
278
260
  * The CSS class(es) to add when HTML content is being applied to this widget.
279
261
  */
280
262
  htmlCls ? : string|object
281
263
  /**
282
264
  * A template function, which, when passed a record, returns the markup which encapsulates a chip's icon to be
283
- * placed before the [itemTpl](https://bryntum.com/products/grid/docs/api/Core/widget/List#config-itemTpl).
265
+ * placed before the [itemTpl](https://bryntum.com/products/grid/docs/api/Core/widget/ChipView#config-itemTpl).
284
266
  * @param {Core.data.Model} record The record to provide an icon for
285
267
  * @returns {DomConfig,string,void}
286
268
  */
@@ -291,8 +273,7 @@ export type BryntumGroupBarProps = {
291
273
  id ? : string
292
274
  /**
293
275
  * Determines if the widgets read-only state should be controlled by its parent.
294
- * ...
295
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ignoreParentReadOnly)
276
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ignoreParentReadOnly)
296
277
  */
297
278
  ignoreParentReadOnly ? : boolean
298
279
  /**
@@ -326,22 +307,19 @@ export type BryntumGroupBarProps = {
326
307
  * An object whose keys are the [key](https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key) name
327
308
  * and optional modifier prefixes: `'Ctrl+'`, `'Alt+'`, `'Meta+'`, and `'Shift+'` (case-insensitive). The values
328
309
  * are the name of the instance method to call when the keystroke is received.
329
- * ...
330
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-keyMap)
310
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-keyMap)
331
311
  */
332
312
  keyMap ? : Record<string, KeyMapConfig>
333
313
  /**
334
314
  * The listener set for this object.
335
- * ...
336
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-listeners)
315
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-listeners)
337
316
  */
338
317
  listeners ? : GroupBarListeners
339
318
  /**
340
319
  * A class translations of which are used for translating this entity.
341
320
  * This is often used when translations of an item are defined on its container class.
342
321
  * For example:
343
- * ...
344
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-localeClass)
322
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-localeClass)
345
323
  */
346
324
  localeClass ? : typeof Base
347
325
  /**
@@ -353,8 +331,7 @@ export type BryntumGroupBarProps = {
353
331
  * In case there is a need to localize not typical value (not a String value or a field with re-defined setter/getter),
354
332
  * you could use 'localeKey' meta configuration.
355
333
  * Example:
356
- * ...
357
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-localizableProperties)
334
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-localizableProperties)
358
335
  */
359
336
  localizableProperties ? : string[]
360
337
  /**
@@ -380,8 +357,7 @@ export type BryntumGroupBarProps = {
380
357
  maxHeight ? : string|number
381
358
  /**
382
359
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
383
- * ...
384
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-maximizeOnMobile)
360
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-maximizeOnMobile)
385
361
  */
386
362
  maximizeOnMobile ? : number|string
387
363
  /**
@@ -403,12 +379,10 @@ export type BryntumGroupBarProps = {
403
379
  * When this is configured as `true` a [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)
404
380
  * is used to monitor this element for size changes caused by either style manipulation, or by CSS
405
381
  * layout.
406
- * ...
407
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-monitorResize)
382
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-monitorResize)
383
+ * @property {boolean} immediate Set to `true` to receive resize notifications immediately.
408
384
  */
409
- monitorResize ? : boolean|{
410
- immediate?: boolean
411
- }
385
+ monitorResize ? : boolean|object
412
386
  /**
413
387
  * Configure as `true` to allow multi select and allow clicking and key navigation to select multiple chips.
414
388
  */
@@ -417,8 +391,7 @@ export type BryntumGroupBarProps = {
417
391
  * 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
418
392
  * not participate in the standard layout of that widget, and must be positioned relatively to that
419
393
  * widget's [contentElement](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#property-contentElement).
420
- * ...
421
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-positioned)
394
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-positioned)
422
395
  */
423
396
  positioned ? : boolean
424
397
  /**
@@ -429,8 +402,7 @@ export type BryntumGroupBarProps = {
429
402
  /**
430
403
  * Whether this widget is read-only. This is only valid if the widget is an input
431
404
  * field, <strong>or contains input fields at any depth</strong>.
432
- * ...
433
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-readOnly)
405
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-readOnly)
434
406
  */
435
407
  readOnly ? : boolean
436
408
  relayStoreEvents ? : boolean
@@ -438,23 +410,26 @@ export type BryntumGroupBarProps = {
438
410
  * Configure as `true` to have the component display a translucent ripple when its
439
411
  * [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
440
412
  * current theme supports ripples</em>. Out of the box, only the Material theme supports ripples.
441
- * ...
442
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ripple)
443
- */
444
- ripple ? : boolean|{
445
- delegate?: string
446
- color?: string
447
- radius?: number
448
- clip?: string
449
- }
413
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ripple)
414
+ * @property {string} [delegate] A CSS selector to filter which child elements trigger ripples. By default, the ripple is clipped to the triggering element.
415
+ * @property {string} [color] A CSS color name or specification.
416
+ * @property {number} [radius] The ending radius of the ripple. Note that it will be clipped by the target element by default.
417
+ * @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.
418
+ */
419
+ ripple ? : boolean|object
420
+ /**
421
+ * The ARIA role to apply to this widget's element. By default, this is set to `'presentation'` to avoid
422
+ * accidentally applying a role which may interfere with screen readers.
423
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-role)
424
+ */
425
+ role ? : string
450
426
  /**
451
427
  * 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`
452
428
  */
453
429
  rootElement ? : ShadowRoot|HTMLElement
454
430
  /**
455
431
  * This may be configured as `true` to make the widget's element use the `direction:rtl` style.
456
- * ...
457
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-rtl)
432
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-rtl)
458
433
  */
459
434
  rtl ? : boolean
460
435
  /**
@@ -462,8 +437,7 @@ export type BryntumGroupBarProps = {
462
437
  * in both axes. May be an object containing boolean `overflowX` and `overflowY` properties which are
463
438
  * applied to CSS style properties `overflowX` and `overflowY`. If they are boolean, they are translated to
464
439
  * CSS overflow properties thus:
465
- * ...
466
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-scrollable)
440
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-scrollable)
467
441
  */
468
442
  scrollable ? : boolean|ScrollerConfig|Scroller
469
443
  /**
@@ -479,14 +453,12 @@ export type BryntumGroupBarProps = {
479
453
  /**
480
454
  * A [Collection](https://bryntum.com/products/grid/docs/api/Core/util/Collection), or Collection config object to use to contain this List's selected
481
455
  * records.
482
- * ...
483
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-selected)
456
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-selected)
484
457
  */
485
458
  selected ? : object[]|number[]|string[]|Collection|CollectionConfig|CollectionConfig[]
486
459
  /**
487
460
  * *Only valid if this Widget is [floating](https://bryntum.com/products/grid/docs/api/Core/widget/Widget#config-floating).*
488
- * ...
489
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-showAnimation)
461
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-showAnimation)
490
462
  */
491
463
  showAnimation ? : boolean|object
492
464
  /**
@@ -500,16 +472,14 @@ export type BryntumGroupBarProps = {
500
472
  /**
501
473
  * A [Store](https://bryntum.com/products/grid/docs/api/Core/data/Store) which provides the records which map to List items. Each record is passed through the
502
474
  * [itemTpl](https://bryntum.com/products/grid/docs/api/Core/widget/List#config-itemTpl) to produce the DOM structure of the List. May be generated from an array of [items](#Core/widget/List#config-items).
503
- * ...
504
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-store)
475
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-store)
505
476
  */
506
477
  store ? : object|object[]|StoreConfig|Store|StoreConfig[]
507
478
  /**
508
479
  * 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
509
480
  * [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
510
481
  * this widget:
511
- * ...
512
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-tab)
482
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-tab)
513
483
  */
514
484
  tab ? : boolean|TabConfig
515
485
  /**
@@ -518,8 +488,7 @@ export type BryntumGroupBarProps = {
518
488
  tag ? : string
519
489
  /**
520
490
  * Text alignment: 'left', 'center' or 'right'. Also accepts direction neutral 'start' and 'end'.
521
- * ...
522
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-textAlign)
491
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-textAlign)
523
492
  */
524
493
  textAlign ? : 'left'|'center'|'right'|'start'|'end'
525
494
  /**
@@ -532,8 +501,7 @@ export type BryntumGroupBarProps = {
532
501
  toggleAllIfCtrlPressed ? : boolean
533
502
  /**
534
503
  * Tooltip for the widget, either as a string or as a Tooltip config object.
535
- * ...
536
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-tooltip)
504
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-tooltip)
537
505
  */
538
506
  tooltip ? : string|TooltipConfig|null
539
507
  /**
@@ -547,16 +515,14 @@ export type BryntumGroupBarProps = {
547
515
  * Custom CSS class name suffixes to apply to the elements rendered by this widget. This may be specified
548
516
  * as a space separated string, an array of strings, or as an object in which property names with truthy
549
517
  * values are used as the class names.
550
- * ...
551
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ui)
518
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-ui)
552
519
  */
553
520
  ui ? : string|object
554
521
  /**
555
522
  * Controls virtualization of list items using the `IntersectionObserver` API to render items only when
556
523
  * scrolled into view. This is only useful for lists with complex markup, for simple lists it likely adds
557
524
  * overhead.
558
- * ...
559
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-virtualize)
525
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-virtualize)
560
526
  */
561
527
  virtualize ? : boolean|number
562
528
  /**
@@ -572,14 +538,12 @@ export type BryntumGroupBarProps = {
572
538
  width ? : string|number
573
539
  /**
574
540
  * The x position for the widget.
575
- * ...
576
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-x)
541
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-x)
577
542
  */
578
543
  x ? : number
579
544
  /**
580
545
  * The y position for the widget.
581
- * ...
582
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-y)
546
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#config-y)
583
547
  */
584
548
  y ? : number
585
549
 
@@ -695,6 +659,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
695
659
  'readOnly',
696
660
  'relayStoreEvents',
697
661
  'ripple',
662
+ 'role',
698
663
  'rootElement',
699
664
  'rtl',
700
665
  'scrollable',
@@ -764,6 +729,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
764
729
  'preventTooltipOnTouch',
765
730
  'relayStoreEvents',
766
731
  'ripple',
732
+ 'role',
767
733
  'rootElement',
768
734
  'scrollAction',
769
735
  'selectAllItem',
@@ -782,7 +748,6 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
782
748
  private static bryntumProps: string[] = BryntumGroupBarComponent.bryntumFeatureNames.concat([
783
749
  'alignSelf',
784
750
  'allowGroupSelect',
785
- 'anchorSize',
786
751
  'appendTo',
787
752
  'callOnFunctions',
788
753
  'catchEventHandlerExceptions',
@@ -796,7 +761,6 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
796
761
  'emptyText',
797
762
  'extraData',
798
763
  'flex',
799
- 'focusVisible',
800
764
  'height',
801
765
  'hidden',
802
766
  'html',
@@ -863,9 +827,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
863
827
  @Input() detectCSSCompatibilityIssues ! : boolean;
864
828
  @Input() displayField ! : string;
865
829
  @Input() dock ! : 'top'|'bottom'|'left'|'right'|'start'|'end'|'header'|'pre-header'|object;
866
- @Input() draggable ! : boolean|{
867
- handleSelector?: string
868
- };
830
+ @Input() draggable ! : boolean|object;
869
831
  @Input() elementAttributes ! : Record<string, string|null>;
870
832
  @Input() floating ! : boolean;
871
833
  @Input() getItemCls ! : ((record: Model) => string)|string;
@@ -883,18 +845,12 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
883
845
  @Input() localizableProperties ! : string[];
884
846
  @Input() maskDefaults ! : MaskConfig;
885
847
  @Input() masked ! : boolean|string|MaskConfig;
886
- @Input() monitorResize ! : boolean|{
887
- immediate?: boolean
888
- };
848
+ @Input() monitorResize ! : boolean|object;
889
849
  @Input() positioned ! : boolean;
890
850
  @Input() preventTooltipOnTouch ! : boolean;
891
851
  @Input() relayStoreEvents ! : boolean;
892
- @Input() ripple ! : boolean|{
893
- delegate?: string
894
- color?: string
895
- radius?: number
896
- clip?: string
897
- };
852
+ @Input() ripple ! : boolean|object;
853
+ @Input() role ! : string;
898
854
  @Input() rootElement ! : ShadowRoot|HTMLElement;
899
855
  @Input() scrollAction ! : 'hide'|'realign'|null;
900
856
  @Input() selectAllItem ! : boolean|string;
@@ -927,7 +883,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
927
883
  @Input() flex ! : number|string;
928
884
  @Input() height ! : number|string;
929
885
  @Input() hidden ! : boolean;
930
- @Input() html ! : string|((widget: Widget) => string)|DomConfig|DomConfig[]|VueConfig;
886
+ @Input() html ! : string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX|(string|((widget: Widget) => void)|DomConfig|DomConfig[]|VueConfig|ReactJSX);
931
887
  @Input() id ! : string;
932
888
  @Input() insertBefore ! : HTMLElement|string;
933
889
  @Input() insertFirst ! : HTMLElement|string;
@@ -954,9 +910,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
954
910
  @Input() y ! : number;
955
911
 
956
912
  // Properties only
957
- @Input() anchorSize ! : number[];
958
- @Input() focusVisible ! : boolean;
959
- @Input() parent ! : Widget;
913
+ @Input() parent ! : Widget;
960
914
 
961
915
  // Events emitters
962
916
  /**
@@ -991,8 +945,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
991
945
  @Output() onBeforeShow: any = new EventEmitter<((event: { source: Widget|any }) => Promise<boolean>|boolean|void)|string>();
992
946
  /**
993
947
  * Fires when any other event is fired from the object.
994
- * ...
995
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
948
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
996
949
  * @param {object} event Event object
997
950
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
998
951
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -1054,8 +1007,7 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
1054
1007
  /**
1055
1008
  * Triggered when a widget which had been in a non-visible state for any reason
1056
1009
  * achieves visibility.
1057
- * ...
1058
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
1010
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
1059
1011
  * @param {object} event Event object
1060
1012
  * @param {Core.widget.Widget} event.source The widget being painted.
1061
1013
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -1172,11 +1124,69 @@ export class BryntumGroupBarComponent implements OnInit, OnDestroy {
1172
1124
  WrapperHelper.devWarningContainer(instanceName, containerParam);
1173
1125
  }
1174
1126
 
1127
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
1128
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
1129
+ // finds the theme. The @font-face rules from component styles are also extracted to
1130
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
1131
+ // included in document.fonts across all browsers).
1132
+ const shadowRoot = elementRef.nativeElement.getRootNode();
1133
+ if (shadowRoot instanceof ShadowRoot) {
1134
+ initThemeInShadowRoots();
1135
+ BryntumGroupBarComponent.ensureFontsInDocument(shadowRoot);
1136
+ }
1137
+
1175
1138
  // @ts-ignore
1176
1139
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
1177
1140
 
1178
1141
  }
1179
1142
 
1143
+ /**
1144
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
1145
+ * document.head as a single <style> element. This is needed because @font-face rules inside
1146
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
1147
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
1148
+ * Safe to call multiple times — the extraction runs only once per page.
1149
+ */
1150
+ private static ensureFontsInDocument(shadowRoot: ShadowRoot): void {
1151
+ if (document.querySelector('#b-shadow-root-fonts')) {
1152
+ return;
1153
+ }
1154
+
1155
+ const fontFaceRules: string[] = [];
1156
+
1157
+ const extractFromSheet = (sheet: CSSStyleSheet): void => {
1158
+ try {
1159
+ const rules = sheet.cssRules;
1160
+ for (let i = 0; i < rules.length; i++) {
1161
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
1162
+ fontFaceRules.push(rules[i].cssText);
1163
+ }
1164
+ }
1165
+ }
1166
+ catch (_e) {
1167
+ // Cross-origin access may throw; silently skip
1168
+ }
1169
+ };
1170
+
1171
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
1172
+ const adoptedSheets: CSSStyleSheet[] = (shadowRoot as any).adoptedStyleSheets ?? [];
1173
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
1174
+
1175
+ // <style> elements (older Angular or fallback)
1176
+ shadowRoot.querySelectorAll('style').forEach(el => {
1177
+ if (el.sheet) {
1178
+ extractFromSheet(el.sheet);
1179
+ }
1180
+ });
1181
+
1182
+ if (fontFaceRules.length > 0) {
1183
+ const style = document.createElement('style');
1184
+ style.id = 'b-shadow-root-fonts';
1185
+ style.textContent = fontFaceRules.join('\n');
1186
+ document.head.appendChild(style);
1187
+ }
1188
+ }
1189
+
1180
1190
  /**
1181
1191
  * Watch for changes
1182
1192
  * @param changes