@bryntum/grid-angular-thin 7.2.4 → 7.3.1

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 +5 -5
  2. package/bundles/bryntum-grid-angular-thin.umd.js +773 -230
  3. package/bundles/bryntum-grid-angular-thin.umd.js.map +1 -1
  4. package/esm2015/lib/bryntum-a-i-filter-field.component.js +66 -14
  5. package/esm2015/lib/bryntum-checklist-filter-combo.component.js +66 -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 +66 -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 +750 -207
  17. package/fesm2015/bryntum-grid-angular-thin.js.map +1 -1
  18. package/lib/bryntum-a-i-filter-field.component.d.ts +97 -133
  19. package/lib/bryntum-checklist-filter-combo.component.d.ts +116 -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 +117 -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 +159 -142
  32. package/src/lib/bryntum-checklist-filter-combo.component.ts +179 -176
  33. package/src/lib/bryntum-grid-base.component.ts +300 -344
  34. package/src/lib/bryntum-grid-chart-designer.component.ts +127 -113
  35. package/src/lib/bryntum-grid-field-filter-picker-group.component.ts +154 -154
  36. package/src/lib/bryntum-grid-field-filter-picker.component.ts +153 -154
  37. package/src/lib/bryntum-grid.component.ts +300 -344
  38. package/src/lib/bryntum-group-bar.component.ts +134 -124
  39. package/src/lib/bryntum-theme-combo.component.ts +127 -0
  40. package/src/lib/bryntum-tree-combo.component.ts +179 -177
  41. package/src/lib/bryntum-tree-grid.component.ts +300 -344
  42. package/src/lib/grid.module.ts +2 -1
  43. package/src/lib/shadowdom.helper.ts +91 -0
@@ -1,6 +1,7 @@
1
+ import { CommonModule } from '@angular/common';
1
2
  import * as i0 from '@angular/core';
2
3
  import { isDevMode, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
3
- import { Widget, StringHelper } from '@bryntum/core-thin';
4
+ import { GlobalEvents, Widget, StringHelper } from '@bryntum/core-thin';
4
5
  import { AIFilterField, ChecklistFilterCombo, Grid, GridBase, GridChartDesigner, GridFieldFilterPicker, GridFieldFilterPickerGroup, GroupBar, TreeCombo, TreeGrid } from '@bryntum/grid-thin';
5
6
 
6
7
  class WrapperHelper {
@@ -76,6 +77,87 @@ class WrapperHelper {
76
77
  }
77
78
  }
78
79
 
80
+ // Module-level registry of all open shadow roots that host Bryntum widgets.
81
+ // Populated lazily by collectOpenShadowRoots() the first time it is called, and
82
+ // kept up to date via registerShadowRoot / unregisterShadowRoot.
83
+ const openShadowRoots = new Set();
84
+ // Walks the DOM tree starting from `root` and collects every open shadow root found.
85
+ // Results are cached in openShadowRoots after the first traversal so subsequent calls
86
+ // are O(1). Recursive so nested shadow roots are also discovered.
87
+ function collectOpenShadowRoots(root = document) {
88
+ if (openShadowRoots.size > 0) {
89
+ return Array.from(openShadowRoots);
90
+ }
91
+ const roots = [];
92
+ Array.from(root.querySelectorAll('*')).forEach(el => {
93
+ if (el.shadowRoot) {
94
+ roots.push(el.shadowRoot);
95
+ roots.push(...collectOpenShadowRoots(el.shadowRoot));
96
+ }
97
+ });
98
+ roots.forEach(r => openShadowRoots.add(r));
99
+ return roots;
100
+ }
101
+ // Updates the href and data-bryntum-theme attribute of every theme <link> inside all
102
+ // registered shadow roots to mirror the new head link after a theme change.
103
+ function syncThemeToShadowRoots(headLink) {
104
+ var _a;
105
+ const href = headLink.href;
106
+ const themeAttr = (_a = headLink.getAttribute('data-bryntum-theme')) !== null && _a !== void 0 ? _a : '';
107
+ collectOpenShadowRoots().forEach(shadowRoot => {
108
+ Array.from(shadowRoot.querySelectorAll('link[data-bryntum-theme]')).forEach(link => {
109
+ link.setAttribute('data-bryntum-theme', themeAttr);
110
+ link.href = href;
111
+ });
112
+ });
113
+ }
114
+ // Adds a shadow root to the registry so it is included in theme sync operations.
115
+ // Called by BryntumThemeComboComponent.ngOnInit when it detects it is inside a shadow root.
116
+ function registerShadowRoot(shadowRoot) {
117
+ openShadowRoots.add(shadowRoot);
118
+ }
119
+ // Removes a shadow root from the registry.
120
+ // Called by BryntumThemeComboComponent.ngOnDestroy to clean up on component teardown.
121
+ function unregisterShadowRoot(shadowRoot) {
122
+ openShadowRoots.delete(shadowRoot);
123
+ }
124
+ // Injects a clone of each document.head theme <link> into every registered shadow root
125
+ // that does not already have one. This is required because CSS from document.head does
126
+ // not cascade into shadow DOM, so Bryntum theme styles would be absent without this.
127
+ // Safe to call multiple times — the presence check prevents duplicate injection.
128
+ function initThemeInShadowRoots() {
129
+ const headThemeLinks = Array.from(document.head.querySelectorAll('link[data-bryntum-theme]'));
130
+ if (!headThemeLinks.length) {
131
+ return;
132
+ }
133
+ collectOpenShadowRoots().forEach(shadowRoot => {
134
+ if (shadowRoot.querySelector('link[data-bryntum-theme]')) {
135
+ return;
136
+ }
137
+ headThemeLinks.forEach(headLink => {
138
+ if (!headLink.href) {
139
+ return;
140
+ }
141
+ // Clone the head link to preserve all attributes, then ensure absolute href
142
+ const clone = headLink.cloneNode();
143
+ clone.href = headLink.href;
144
+ shadowRoot.appendChild(clone);
145
+ });
146
+ });
147
+ }
148
+ // Listens for Bryntum's internal theme-change event and keeps every shadow root's
149
+ // theme link in sync with the new document.head link. Fires after the old <link>s
150
+ // are removed and the new one is fully loaded in document.head.
151
+ // @ts-ignore - ion() is public but not present on GlobalEventsSingleton typings
152
+ GlobalEvents.ion({
153
+ theme() {
154
+ const link = document.head.querySelector('link[data-bryntum-theme]');
155
+ if (link === null || link === void 0 ? void 0 : link.href) {
156
+ syncThemeToShadowRoots(link);
157
+ }
158
+ }
159
+ });
160
+
79
161
  /* eslint-disable @typescript-eslint/no-unused-vars */
80
162
  class BryntumAIFilterFieldComponent {
81
163
  constructor(element) {
@@ -122,8 +204,7 @@ class BryntumAIFilterFieldComponent {
122
204
  this.onBeforeShow = new EventEmitter();
123
205
  /**
124
206
  * Fires when any other event is fired from the object.
125
- * ...
126
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-catchAll)
207
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-catchAll)
127
208
  * @param {object} event Event object
128
209
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
129
210
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -143,8 +224,7 @@ class BryntumAIFilterFieldComponent {
143
224
  this.onChange = new EventEmitter();
144
225
  /**
145
226
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
146
- * ...
147
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-clear)
227
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-clear)
148
228
  * @param {object} event Event object
149
229
  * @param {Core.widget.Field,any} event.source This Field
150
230
  */
@@ -202,8 +282,7 @@ class BryntumAIFilterFieldComponent {
202
282
  /**
203
283
  * Triggered when a widget which had been in a non-visible state for any reason
204
284
  * achieves visibility.
205
- * ...
206
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-paint)
285
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-paint)
207
286
  * @param {object} event Event object
208
287
  * @param {Core.widget.Widget} event.source The widget being painted.
209
288
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -289,9 +368,61 @@ class BryntumAIFilterFieldComponent {
289
368
  else {
290
369
  WrapperHelper.devWarningContainer(instanceName, containerParam);
291
370
  }
371
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
372
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
373
+ // finds the theme. The @font-face rules from component styles are also extracted to
374
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
375
+ // included in document.fonts across all browsers).
376
+ const shadowRoot = elementRef.nativeElement.getRootNode();
377
+ if (shadowRoot instanceof ShadowRoot) {
378
+ initThemeInShadowRoots();
379
+ BryntumAIFilterFieldComponent.ensureFontsInDocument(shadowRoot);
380
+ }
292
381
  // @ts-ignore
293
382
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
294
383
  }
384
+ /**
385
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
386
+ * document.head as a single <style> element. This is needed because @font-face rules inside
387
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
388
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
389
+ * Safe to call multiple times — the extraction runs only once per page.
390
+ */
391
+ static ensureFontsInDocument(shadowRoot) {
392
+ var _a;
393
+ if (document.querySelector('#b-shadow-root-fonts')) {
394
+ return;
395
+ }
396
+ const fontFaceRules = [];
397
+ const extractFromSheet = (sheet) => {
398
+ try {
399
+ const rules = sheet.cssRules;
400
+ for (let i = 0; i < rules.length; i++) {
401
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
402
+ fontFaceRules.push(rules[i].cssText);
403
+ }
404
+ }
405
+ }
406
+ catch (_e) {
407
+ // Cross-origin access may throw; silently skip
408
+ }
409
+ };
410
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
411
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
412
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
413
+ // <style> elements (older Angular or fallback)
414
+ shadowRoot.querySelectorAll('style').forEach(el => {
415
+ if (el.sheet) {
416
+ extractFromSheet(el.sheet);
417
+ }
418
+ });
419
+ if (fontFaceRules.length > 0) {
420
+ const style = document.createElement('style');
421
+ style.id = 'b-shadow-root-fonts';
422
+ style.textContent = fontFaceRules.join('\n');
423
+ document.head.appendChild(style);
424
+ }
425
+ }
295
426
  /**
296
427
  * Watch for changes
297
428
  * @param changes
@@ -361,6 +492,7 @@ BryntumAIFilterFieldComponent.bryntumConfigs = BryntumAIFilterFieldComponent.bry
361
492
  'callOnFunctions',
362
493
  'catchEventHandlerExceptions',
363
494
  'centered',
495
+ 'checkValidity',
364
496
  'clearable',
365
497
  'client',
366
498
  'cls',
@@ -432,6 +564,7 @@ BryntumAIFilterFieldComponent.bryntumConfigs = BryntumAIFilterFieldComponent.bry
432
564
  'required',
433
565
  'revertOnEscape',
434
566
  'ripple',
567
+ 'role',
435
568
  'rootElement',
436
569
  'rtl',
437
570
  'scrollAction',
@@ -466,6 +599,7 @@ BryntumAIFilterFieldComponent.bryntumConfigsOnly = [
466
599
  'autoSelect',
467
600
  'bubbleEvents',
468
601
  'centered',
602
+ 'checkValidity',
469
603
  'clearable',
470
604
  'client',
471
605
  'color',
@@ -513,6 +647,7 @@ BryntumAIFilterFieldComponent.bryntumConfigsOnly = [
513
647
  'relayStoreEvents',
514
648
  'revertOnEscape',
515
649
  'ripple',
650
+ 'role',
516
651
  'rootElement',
517
652
  'scrollAction',
518
653
  'showAnimation',
@@ -530,7 +665,6 @@ BryntumAIFilterFieldComponent.bryntumConfigsOnly = [
530
665
  ];
531
666
  BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.bryntumFeatureNames.concat([
532
667
  'alignSelf',
533
- 'anchorSize',
534
668
  'appendTo',
535
669
  'badge',
536
670
  'callOnFunctions',
@@ -543,7 +677,6 @@ BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.brynt
543
677
  'editable',
544
678
  'extraData',
545
679
  'flex',
546
- 'focusVisible',
547
680
  'formula',
548
681
  'height',
549
682
  'hidden',
@@ -577,7 +710,7 @@ BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.brynt
577
710
  'y'
578
711
  ]);
579
712
  BryntumAIFilterFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumAIFilterFieldComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
580
- BryntumAIFilterFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumAIFilterFieldComponent, selector: "bryntum-a-i-filter-field", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", centered: "centered", clearable: "clearable", client: "client", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", hideAnimation: "hideAnimation", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", keyStrokeChangeDelay: "keyStrokeChangeDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minLength: "minLength", monitorResize: "monitorResize", name: "name", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", progressText: "progressText", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", type: "type", ui: "ui", validateOnInput: "validateOnInput", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", anchorSize: "anchorSize", content: "content", focusVisible: "focusVisible", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
713
+ BryntumAIFilterFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumAIFilterFieldComponent, selector: "bryntum-a-i-filter-field", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", centered: "centered", checkValidity: "checkValidity", clearable: "clearable", client: "client", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", hideAnimation: "hideAnimation", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", keyStrokeChangeDelay: "keyStrokeChangeDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minLength: "minLength", monitorResize: "monitorResize", name: "name", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", progressText: "progressText", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", type: "type", ui: "ui", validateOnInput: "validateOnInput", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
581
714
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumAIFilterFieldComponent, decorators: [{
582
715
  type: Component,
583
716
  args: [{
@@ -602,6 +735,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
602
735
  type: Input
603
736
  }], centered: [{
604
737
  type: Input
738
+ }], checkValidity: [{
739
+ type: Input
605
740
  }], clearable: [{
606
741
  type: Input
607
742
  }], client: [{
@@ -696,6 +831,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
696
831
  type: Input
697
832
  }], ripple: [{
698
833
  type: Input
834
+ }], role: [{
835
+ type: Input
699
836
  }], rootElement: [{
700
837
  type: Input
701
838
  }], scrollAction: [{
@@ -800,12 +937,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
800
937
  type: Input
801
938
  }], y: [{
802
939
  type: Input
803
- }], anchorSize: [{
804
- type: Input
805
940
  }], content: [{
806
941
  type: Input
807
- }], focusVisible: [{
808
- type: Input
809
942
  }], formula: [{
810
943
  type: Input
811
944
  }], html: [{
@@ -898,8 +1031,7 @@ class BryntumChecklistFilterComboComponent {
898
1031
  this.onBeforeShow = new EventEmitter();
899
1032
  /**
900
1033
  * Fires when any other event is fired from the object.
901
- * ...
902
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-catchAll)
1034
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-catchAll)
903
1035
  * @param {object} event Event object
904
1036
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
905
1037
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -919,8 +1051,7 @@ class BryntumChecklistFilterComboComponent {
919
1051
  this.onChange = new EventEmitter();
920
1052
  /**
921
1053
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
922
- * ...
923
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-clear)
1054
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-clear)
924
1055
  * @param {object} event Event object
925
1056
  * @param {Core.widget.Field,any} event.source This Field
926
1057
  */
@@ -979,8 +1110,7 @@ class BryntumChecklistFilterComboComponent {
979
1110
  /**
980
1111
  * Triggered when a widget which had been in a non-visible state for any reason
981
1112
  * achieves visibility.
982
- * ...
983
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
1113
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
984
1114
  * @param {object} event Event object
985
1115
  * @param {Core.widget.Widget} event.source The widget being painted.
986
1116
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -1075,9 +1205,61 @@ class BryntumChecklistFilterComboComponent {
1075
1205
  else {
1076
1206
  WrapperHelper.devWarningContainer(instanceName, containerParam);
1077
1207
  }
1208
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
1209
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
1210
+ // finds the theme. The @font-face rules from component styles are also extracted to
1211
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
1212
+ // included in document.fonts across all browsers).
1213
+ const shadowRoot = elementRef.nativeElement.getRootNode();
1214
+ if (shadowRoot instanceof ShadowRoot) {
1215
+ initThemeInShadowRoots();
1216
+ BryntumChecklistFilterComboComponent.ensureFontsInDocument(shadowRoot);
1217
+ }
1078
1218
  // @ts-ignore
1079
1219
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
1080
1220
  }
1221
+ /**
1222
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
1223
+ * document.head as a single <style> element. This is needed because @font-face rules inside
1224
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
1225
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
1226
+ * Safe to call multiple times — the extraction runs only once per page.
1227
+ */
1228
+ static ensureFontsInDocument(shadowRoot) {
1229
+ var _a;
1230
+ if (document.querySelector('#b-shadow-root-fonts')) {
1231
+ return;
1232
+ }
1233
+ const fontFaceRules = [];
1234
+ const extractFromSheet = (sheet) => {
1235
+ try {
1236
+ const rules = sheet.cssRules;
1237
+ for (let i = 0; i < rules.length; i++) {
1238
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
1239
+ fontFaceRules.push(rules[i].cssText);
1240
+ }
1241
+ }
1242
+ }
1243
+ catch (_e) {
1244
+ // Cross-origin access may throw; silently skip
1245
+ }
1246
+ };
1247
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
1248
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
1249
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
1250
+ // <style> elements (older Angular or fallback)
1251
+ shadowRoot.querySelectorAll('style').forEach(el => {
1252
+ if (el.sheet) {
1253
+ extractFromSheet(el.sheet);
1254
+ }
1255
+ });
1256
+ if (fontFaceRules.length > 0) {
1257
+ const style = document.createElement('style');
1258
+ style.id = 'b-shadow-root-fonts';
1259
+ style.textContent = fontFaceRules.join('\n');
1260
+ document.head.appendChild(style);
1261
+ }
1262
+ }
1081
1263
  /**
1082
1264
  * Watch for changes
1083
1265
  * @param changes
@@ -1151,6 +1333,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigs = BryntumChecklistFilterComb
1151
1333
  'caseSensitive',
1152
1334
  'catchEventHandlerExceptions',
1153
1335
  'centered',
1336
+ 'checkValidity',
1154
1337
  'chipView',
1155
1338
  'clearable',
1156
1339
  'clearTextOnPickerHide',
@@ -1248,6 +1431,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigs = BryntumChecklistFilterComb
1248
1431
  'required',
1249
1432
  'revertOnEscape',
1250
1433
  'ripple',
1434
+ 'role',
1251
1435
  'rootElement',
1252
1436
  'rtl',
1253
1437
  'scrollAction',
@@ -1291,6 +1475,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigsOnly = [
1291
1475
  'cacheLastResult',
1292
1476
  'caseSensitive',
1293
1477
  'centered',
1478
+ 'checkValidity',
1294
1479
  'chipView',
1295
1480
  'clearable',
1296
1481
  'clearTextOnPickerHide',
@@ -1361,6 +1546,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigsOnly = [
1361
1546
  'relayStoreEvents',
1362
1547
  'revertOnEscape',
1363
1548
  'ripple',
1549
+ 'role',
1364
1550
  'rootElement',
1365
1551
  'scrollAction',
1366
1552
  'showAnimation',
@@ -1381,7 +1567,6 @@ BryntumChecklistFilterComboComponent.bryntumConfigsOnly = [
1381
1567
  ];
1382
1568
  BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboComponent.bryntumFeatureNames.concat([
1383
1569
  'alignSelf',
1384
- 'anchorSize',
1385
1570
  'appendTo',
1386
1571
  'badge',
1387
1572
  'callOnFunctions',
@@ -1395,7 +1580,6 @@ BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboC
1395
1580
  'extraData',
1396
1581
  'filterOperator',
1397
1582
  'flex',
1398
- 'focusVisible',
1399
1583
  'formula',
1400
1584
  'height',
1401
1585
  'hidden',
@@ -1435,7 +1619,7 @@ BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboC
1435
1619
  'y'
1436
1620
  ]);
1437
1621
  BryntumChecklistFilterComboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChecklistFilterComboComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1438
- BryntumChecklistFilterComboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumChecklistFilterComboComponent, selector: "bryntum-checklist-filter-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", listItemPillTpl: "listItemPillTpl", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", searchText: "searchText", showApplyButton: "showApplyButton", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", anchorSize: "anchorSize", content: "content", focusVisible: "focusVisible", formula: "formula", html: "html", input: "input", multiSelect: "multiSelect", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
1622
+ BryntumChecklistFilterComboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumChecklistFilterComboComponent, selector: "bryntum-checklist-filter-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", checkValidity: "checkValidity", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", listItemPillTpl: "listItemPillTpl", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", searchText: "searchText", showApplyButton: "showApplyButton", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", multiSelect: "multiSelect", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
1439
1623
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChecklistFilterComboComponent, decorators: [{
1440
1624
  type: Component,
1441
1625
  args: [{
@@ -1466,6 +1650,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1466
1650
  type: Input
1467
1651
  }], centered: [{
1468
1652
  type: Input
1653
+ }], checkValidity: [{
1654
+ type: Input
1469
1655
  }], chipView: [{
1470
1656
  type: Input
1471
1657
  }], clearable: [{
@@ -1606,6 +1792,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1606
1792
  type: Input
1607
1793
  }], ripple: [{
1608
1794
  type: Input
1795
+ }], role: [{
1796
+ type: Input
1609
1797
  }], rootElement: [{
1610
1798
  type: Input
1611
1799
  }], scrollAction: [{
@@ -1728,12 +1916,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1728
1916
  type: Input
1729
1917
  }], y: [{
1730
1918
  type: Input
1731
- }], anchorSize: [{
1732
- type: Input
1733
1919
  }], content: [{
1734
1920
  type: Input
1735
- }], focusVisible: [{
1736
- type: Input
1737
1921
  }], formula: [{
1738
1922
  type: Input
1739
1923
  }], html: [{
@@ -1809,8 +1993,7 @@ class BryntumGridComponent {
1809
1993
  this.onBeforeCancelCellEdit = new EventEmitter();
1810
1994
  /**
1811
1995
  * 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.
1812
- * ...
1813
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
1996
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
1814
1997
  * @param {object} event Event object
1815
1998
  * @param {Grid.view.Grid} event.grid Target grid
1816
1999
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1925,8 +2108,7 @@ class BryntumGridComponent {
1925
2108
  this.onBeforeFinishCellEdit = new EventEmitter();
1926
2109
  /**
1927
2110
  * 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.
1928
- * ...
1929
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
2111
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
1930
2112
  * @param {object} event Event object
1931
2113
  * @param {Grid.view.Grid} event.grid Target grid
1932
2114
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1971,16 +2153,14 @@ class BryntumGridComponent {
1971
2153
  this.onBeforeRenderRows = new EventEmitter();
1972
2154
  /**
1973
2155
  * This event fires before row collapse is started.
1974
- * ...
1975
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
2156
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
1976
2157
  * @param {object} event Event object
1977
2158
  * @param {Core.data.Model} event.record Record
1978
2159
  */
1979
2160
  this.onBeforeRowCollapse = new EventEmitter();
1980
2161
  /**
1981
2162
  * This event fires before row expand is started.
1982
- * ...
1983
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
2163
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
1984
2164
  * @param {object} event Event object
1985
2165
  * @param {Core.data.Model} event.record Record
1986
2166
  */
@@ -2060,8 +2240,7 @@ class BryntumGridComponent {
2060
2240
  this.onCancelCellEdit = new EventEmitter();
2061
2241
  /**
2062
2242
  * Fires when any other event is fired from the object.
2063
- * ...
2064
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
2243
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
2065
2244
  * @param {object} event Event object
2066
2245
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
2067
2246
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -2103,8 +2282,7 @@ class BryntumGridComponent {
2103
2282
  /**
2104
2283
  * This event fires on the owning grid before the context menu is shown for a cell.
2105
2284
  * 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).
2106
- * ...
2107
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2285
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2108
2286
  * @param {object} event Event object
2109
2287
  * @param {Grid.view.Grid} event.source The grid
2110
2288
  * @param {Core.widget.Menu} event.menu The menu
@@ -2285,8 +2463,7 @@ class BryntumGridComponent {
2285
2463
  this.onCopy = new EventEmitter();
2286
2464
  /**
2287
2465
  * Fired when data in the store changes.
2288
- * ...
2289
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2466
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2290
2467
  * @param {object} event Event object
2291
2468
  * @param {Grid.view.GridBase} event.source Owning grid
2292
2469
  * @param {Core.data.Store} event.store The originating store
@@ -2390,8 +2567,7 @@ class BryntumGridComponent {
2390
2567
  this.onFinishCellEdit = new EventEmitter();
2391
2568
  /**
2392
2569
  * 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.
2393
- * ...
2394
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2570
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2395
2571
  * @param {object} event Event object
2396
2572
  * @param {Grid.view.Grid} event.grid Target grid
2397
2573
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2491,8 +2667,7 @@ class BryntumGridComponent {
2491
2667
  this.onGridRowDrop = new EventEmitter();
2492
2668
  /**
2493
2669
  * Fired when a grid header is clicked on.
2494
- * ...
2495
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2670
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2496
2671
  * @param {object} event Event object
2497
2672
  * @param {Event} event.domEvent The triggering DOM event.
2498
2673
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -2501,8 +2676,7 @@ class BryntumGridComponent {
2501
2676
  /**
2502
2677
  * This event fires on the owning Grid before the context menu is shown for a header.
2503
2678
  * 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).
2504
- * ...
2505
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2679
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2506
2680
  * @param {object} event Event object
2507
2681
  * @param {Grid.view.Grid} event.source The grid
2508
2682
  * @param {Core.widget.Menu} event.menu The menu
@@ -2565,8 +2739,7 @@ class BryntumGridComponent {
2565
2739
  /**
2566
2740
  * Triggered when a widget which had been in a non-visible state for any reason
2567
2741
  * achieves visibility.
2568
- * ...
2569
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2742
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2570
2743
  * @param {object} event Event object
2571
2744
  * @param {Core.widget.Widget} event.source The widget being painted.
2572
2745
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -2585,8 +2758,8 @@ class BryntumGridComponent {
2585
2758
  /**
2586
2759
  * Fires on the owning Grid when export has finished
2587
2760
  * @param {object} event Event object
2588
- * @param {Response} event.response Optional response, if received
2589
- * @param {Error} event.error Optional error, if exception occurred
2761
+ * @param {Response} [event.response] Optional response, if received
2762
+ * @param {Error} [event.error] Optional error, if exception occurred
2590
2763
  */
2591
2764
  this.onPdfExport = new EventEmitter();
2592
2765
  /**
@@ -2643,8 +2816,7 @@ class BryntumGridComponent {
2643
2816
  this.onRowCollapse = new EventEmitter();
2644
2817
  /**
2645
2818
  * This event fires when a row expand has finished expanding.
2646
- * ...
2647
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
2819
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
2648
2820
  * @param {object} event Event object
2649
2821
  * @param {Core.data.Model} event.record Record
2650
2822
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -2782,7 +2954,7 @@ class BryntumGridComponent {
2782
2954
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
2783
2955
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
2784
2956
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
2785
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
2957
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
2786
2958
  */
2787
2959
  this.onToggleGroup = new EventEmitter();
2788
2960
  /**
@@ -2863,6 +3035,16 @@ class BryntumGridComponent {
2863
3035
  else {
2864
3036
  WrapperHelper.devWarningContainer(instanceName, containerParam);
2865
3037
  }
3038
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
3039
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
3040
+ // finds the theme. The @font-face rules from component styles are also extracted to
3041
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
3042
+ // included in document.fonts across all browsers).
3043
+ const shadowRoot = elementRef.nativeElement.getRootNode();
3044
+ if (shadowRoot instanceof ShadowRoot) {
3045
+ initThemeInShadowRoots();
3046
+ BryntumGridComponent.ensureFontsInDocument(shadowRoot);
3047
+ }
2866
3048
  // @ts-ignore
2867
3049
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
2868
3050
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -2870,6 +3052,48 @@ class BryntumGridComponent {
2870
3052
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
2871
3053
  //
2872
3054
  }
3055
+ /**
3056
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
3057
+ * document.head as a single <style> element. This is needed because @font-face rules inside
3058
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
3059
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
3060
+ * Safe to call multiple times — the extraction runs only once per page.
3061
+ */
3062
+ static ensureFontsInDocument(shadowRoot) {
3063
+ var _a;
3064
+ if (document.querySelector('#b-shadow-root-fonts')) {
3065
+ return;
3066
+ }
3067
+ const fontFaceRules = [];
3068
+ const extractFromSheet = (sheet) => {
3069
+ try {
3070
+ const rules = sheet.cssRules;
3071
+ for (let i = 0; i < rules.length; i++) {
3072
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
3073
+ fontFaceRules.push(rules[i].cssText);
3074
+ }
3075
+ }
3076
+ }
3077
+ catch (_e) {
3078
+ // Cross-origin access may throw; silently skip
3079
+ }
3080
+ };
3081
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
3082
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
3083
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
3084
+ // <style> elements (older Angular or fallback)
3085
+ shadowRoot.querySelectorAll('style').forEach(el => {
3086
+ if (el.sheet) {
3087
+ extractFromSheet(el.sheet);
3088
+ }
3089
+ });
3090
+ if (fontFaceRules.length > 0) {
3091
+ const style = document.createElement('style');
3092
+ style.id = 'b-shadow-root-fonts';
3093
+ style.textContent = fontFaceRules.join('\n');
3094
+ document.head.appendChild(style);
3095
+ }
3096
+ }
2873
3097
  /**
2874
3098
  * Watch for changes
2875
3099
  * @param changes
@@ -3132,6 +3356,7 @@ BryntumGridComponent.bryntumConfigs = BryntumGridComponent.bryntumFeatureNames.c
3132
3356
  'insertFirst',
3133
3357
  'keyMap',
3134
3358
  'labelPosition',
3359
+ 'labelWidth',
3135
3360
  'listeners',
3136
3361
  'loadMask',
3137
3362
  'loadMaskDefaults',
@@ -3158,6 +3383,7 @@ BryntumGridComponent.bryntumConfigs = BryntumGridComponent.bryntumFeatureNames.c
3158
3383
  'resizeToFitIncludesHeader',
3159
3384
  'responsiveLevels',
3160
3385
  'ripple',
3386
+ 'role',
3161
3387
  'rootElement',
3162
3388
  'rowHeight',
3163
3389
  'rowLines',
@@ -3244,6 +3470,7 @@ BryntumGridComponent.bryntumConfigsOnly = [
3244
3470
  'resizeToFitIncludesHeader',
3245
3471
  'responsiveLevels',
3246
3472
  'ripple',
3473
+ 'role',
3247
3474
  'rootElement',
3248
3475
  'scrollerClass',
3249
3476
  'scrollManager',
@@ -3281,8 +3508,6 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3281
3508
  'enableUndoRedoKeys',
3282
3509
  'extraData',
3283
3510
  'flex',
3284
- 'focusVisible',
3285
- 'hasChanges',
3286
3511
  'height',
3287
3512
  'hidden',
3288
3513
  'hideFooters',
@@ -3293,6 +3518,7 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3293
3518
  'insertFirst',
3294
3519
  'keyMap',
3295
3520
  'labelPosition',
3521
+ 'labelWidth',
3296
3522
  'longPressTime',
3297
3523
  'margin',
3298
3524
  'maxHeight',
@@ -3326,7 +3552,7 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3326
3552
  'width'
3327
3553
  ]);
3328
3554
  BryntumGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
3329
- BryntumGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridComponent, selector: "bryntum-grid", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", focusVisible: "focusVisible", hasChanges: "hasChanges", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
3555
+ BryntumGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridComponent, selector: "bryntum-grid", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", role: "role", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", labelWidth: "labelWidth", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
3330
3556
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridComponent, decorators: [{
3331
3557
  type: Component,
3332
3558
  args: [{
@@ -3441,6 +3667,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3441
3667
  type: Input
3442
3668
  }], ripple: [{
3443
3669
  type: Input
3670
+ }], role: [{
3671
+ type: Input
3444
3672
  }], rootElement: [{
3445
3673
  type: Input
3446
3674
  }], scrollerClass: [{
@@ -3531,6 +3759,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3531
3759
  type: Input
3532
3760
  }], labelPosition: [{
3533
3761
  type: Input
3762
+ }], labelWidth: [{
3763
+ type: Input
3534
3764
  }], longPressTime: [{
3535
3765
  type: Input
3536
3766
  }], margin: [{
@@ -3575,10 +3805,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3575
3805
  type: Input
3576
3806
  }], width: [{
3577
3807
  type: Input
3578
- }], focusVisible: [{
3579
- type: Input
3580
- }], hasChanges: [{
3581
- type: Input
3582
3808
  }], originalStore: [{
3583
3809
  type: Input
3584
3810
  }], parent: [{
@@ -3940,8 +4166,7 @@ class BryntumGridBaseComponent {
3940
4166
  this.onBeforeCancelCellEdit = new EventEmitter();
3941
4167
  /**
3942
4168
  * 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.
3943
- * ...
3944
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
4169
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
3945
4170
  * @param {object} event Event object
3946
4171
  * @param {Grid.view.Grid} event.grid Target grid
3947
4172
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4056,8 +4281,7 @@ class BryntumGridBaseComponent {
4056
4281
  this.onBeforeFinishCellEdit = new EventEmitter();
4057
4282
  /**
4058
4283
  * 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.
4059
- * ...
4060
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
4284
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
4061
4285
  * @param {object} event Event object
4062
4286
  * @param {Grid.view.Grid} event.grid Target grid
4063
4287
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4102,16 +4326,14 @@ class BryntumGridBaseComponent {
4102
4326
  this.onBeforeRenderRows = new EventEmitter();
4103
4327
  /**
4104
4328
  * This event fires before row collapse is started.
4105
- * ...
4106
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
4329
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
4107
4330
  * @param {object} event Event object
4108
4331
  * @param {Core.data.Model} event.record Record
4109
4332
  */
4110
4333
  this.onBeforeRowCollapse = new EventEmitter();
4111
4334
  /**
4112
4335
  * This event fires before row expand is started.
4113
- * ...
4114
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
4336
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
4115
4337
  * @param {object} event Event object
4116
4338
  * @param {Core.data.Model} event.record Record
4117
4339
  */
@@ -4191,8 +4413,7 @@ class BryntumGridBaseComponent {
4191
4413
  this.onCancelCellEdit = new EventEmitter();
4192
4414
  /**
4193
4415
  * Fires when any other event is fired from the object.
4194
- * ...
4195
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
4416
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
4196
4417
  * @param {object} event Event object
4197
4418
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
4198
4419
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -4234,8 +4455,7 @@ class BryntumGridBaseComponent {
4234
4455
  /**
4235
4456
  * This event fires on the owning grid before the context menu is shown for a cell.
4236
4457
  * 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).
4237
- * ...
4238
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
4458
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
4239
4459
  * @param {object} event Event object
4240
4460
  * @param {Grid.view.Grid} event.source The grid
4241
4461
  * @param {Core.widget.Menu} event.menu The menu
@@ -4416,8 +4636,7 @@ class BryntumGridBaseComponent {
4416
4636
  this.onCopy = new EventEmitter();
4417
4637
  /**
4418
4638
  * Fired when data in the store changes.
4419
- * ...
4420
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
4639
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
4421
4640
  * @param {object} event Event object
4422
4641
  * @param {Grid.view.GridBase} event.source Owning grid
4423
4642
  * @param {Core.data.Store} event.store The originating store
@@ -4521,8 +4740,7 @@ class BryntumGridBaseComponent {
4521
4740
  this.onFinishCellEdit = new EventEmitter();
4522
4741
  /**
4523
4742
  * 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.
4524
- * ...
4525
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
4743
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
4526
4744
  * @param {object} event Event object
4527
4745
  * @param {Grid.view.Grid} event.grid Target grid
4528
4746
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4622,8 +4840,7 @@ class BryntumGridBaseComponent {
4622
4840
  this.onGridRowDrop = new EventEmitter();
4623
4841
  /**
4624
4842
  * Fired when a grid header is clicked on.
4625
- * ...
4626
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
4843
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
4627
4844
  * @param {object} event Event object
4628
4845
  * @param {Event} event.domEvent The triggering DOM event.
4629
4846
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -4632,8 +4849,7 @@ class BryntumGridBaseComponent {
4632
4849
  /**
4633
4850
  * This event fires on the owning Grid before the context menu is shown for a header.
4634
4851
  * 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).
4635
- * ...
4636
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
4852
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
4637
4853
  * @param {object} event Event object
4638
4854
  * @param {Grid.view.Grid} event.source The grid
4639
4855
  * @param {Core.widget.Menu} event.menu The menu
@@ -4696,8 +4912,7 @@ class BryntumGridBaseComponent {
4696
4912
  /**
4697
4913
  * Triggered when a widget which had been in a non-visible state for any reason
4698
4914
  * achieves visibility.
4699
- * ...
4700
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
4915
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
4701
4916
  * @param {object} event Event object
4702
4917
  * @param {Core.widget.Widget} event.source The widget being painted.
4703
4918
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -4716,8 +4931,8 @@ class BryntumGridBaseComponent {
4716
4931
  /**
4717
4932
  * Fires on the owning Grid when export has finished
4718
4933
  * @param {object} event Event object
4719
- * @param {Response} event.response Optional response, if received
4720
- * @param {Error} event.error Optional error, if exception occurred
4934
+ * @param {Response} [event.response] Optional response, if received
4935
+ * @param {Error} [event.error] Optional error, if exception occurred
4721
4936
  */
4722
4937
  this.onPdfExport = new EventEmitter();
4723
4938
  /**
@@ -4774,8 +4989,7 @@ class BryntumGridBaseComponent {
4774
4989
  this.onRowCollapse = new EventEmitter();
4775
4990
  /**
4776
4991
  * This event fires when a row expand has finished expanding.
4777
- * ...
4778
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
4992
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
4779
4993
  * @param {object} event Event object
4780
4994
  * @param {Core.data.Model} event.record Record
4781
4995
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -4913,7 +5127,7 @@ class BryntumGridBaseComponent {
4913
5127
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
4914
5128
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
4915
5129
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
4916
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
5130
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
4917
5131
  */
4918
5132
  this.onToggleGroup = new EventEmitter();
4919
5133
  /**
@@ -4994,6 +5208,16 @@ class BryntumGridBaseComponent {
4994
5208
  else {
4995
5209
  WrapperHelper.devWarningContainer(instanceName, containerParam);
4996
5210
  }
5211
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
5212
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
5213
+ // finds the theme. The @font-face rules from component styles are also extracted to
5214
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
5215
+ // included in document.fonts across all browsers).
5216
+ const shadowRoot = elementRef.nativeElement.getRootNode();
5217
+ if (shadowRoot instanceof ShadowRoot) {
5218
+ initThemeInShadowRoots();
5219
+ BryntumGridBaseComponent.ensureFontsInDocument(shadowRoot);
5220
+ }
4997
5221
  // @ts-ignore
4998
5222
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
4999
5223
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -5001,6 +5225,48 @@ class BryntumGridBaseComponent {
5001
5225
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
5002
5226
  //
5003
5227
  }
5228
+ /**
5229
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
5230
+ * document.head as a single <style> element. This is needed because @font-face rules inside
5231
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
5232
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
5233
+ * Safe to call multiple times — the extraction runs only once per page.
5234
+ */
5235
+ static ensureFontsInDocument(shadowRoot) {
5236
+ var _a;
5237
+ if (document.querySelector('#b-shadow-root-fonts')) {
5238
+ return;
5239
+ }
5240
+ const fontFaceRules = [];
5241
+ const extractFromSheet = (sheet) => {
5242
+ try {
5243
+ const rules = sheet.cssRules;
5244
+ for (let i = 0; i < rules.length; i++) {
5245
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
5246
+ fontFaceRules.push(rules[i].cssText);
5247
+ }
5248
+ }
5249
+ }
5250
+ catch (_e) {
5251
+ // Cross-origin access may throw; silently skip
5252
+ }
5253
+ };
5254
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
5255
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
5256
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
5257
+ // <style> elements (older Angular or fallback)
5258
+ shadowRoot.querySelectorAll('style').forEach(el => {
5259
+ if (el.sheet) {
5260
+ extractFromSheet(el.sheet);
5261
+ }
5262
+ });
5263
+ if (fontFaceRules.length > 0) {
5264
+ const style = document.createElement('style');
5265
+ style.id = 'b-shadow-root-fonts';
5266
+ style.textContent = fontFaceRules.join('\n');
5267
+ document.head.appendChild(style);
5268
+ }
5269
+ }
5004
5270
  /**
5005
5271
  * Watch for changes
5006
5272
  * @param changes
@@ -5263,6 +5529,7 @@ BryntumGridBaseComponent.bryntumConfigs = BryntumGridBaseComponent.bryntumFeatur
5263
5529
  'insertFirst',
5264
5530
  'keyMap',
5265
5531
  'labelPosition',
5532
+ 'labelWidth',
5266
5533
  'listeners',
5267
5534
  'loadMask',
5268
5535
  'loadMaskDefaults',
@@ -5289,6 +5556,7 @@ BryntumGridBaseComponent.bryntumConfigs = BryntumGridBaseComponent.bryntumFeatur
5289
5556
  'resizeToFitIncludesHeader',
5290
5557
  'responsiveLevels',
5291
5558
  'ripple',
5559
+ 'role',
5292
5560
  'rootElement',
5293
5561
  'rowHeight',
5294
5562
  'rowLines',
@@ -5374,6 +5642,7 @@ BryntumGridBaseComponent.bryntumConfigsOnly = [
5374
5642
  'resizeToFitIncludesHeader',
5375
5643
  'responsiveLevels',
5376
5644
  'ripple',
5645
+ 'role',
5377
5646
  'rootElement',
5378
5647
  'scrollerClass',
5379
5648
  'scrollManager',
@@ -5410,8 +5679,6 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5410
5679
  'enableUndoRedoKeys',
5411
5680
  'extraData',
5412
5681
  'flex',
5413
- 'focusVisible',
5414
- 'hasChanges',
5415
5682
  'height',
5416
5683
  'hidden',
5417
5684
  'hideFooters',
@@ -5422,6 +5689,7 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5422
5689
  'insertFirst',
5423
5690
  'keyMap',
5424
5691
  'labelPosition',
5692
+ 'labelWidth',
5425
5693
  'longPressTime',
5426
5694
  'margin',
5427
5695
  'maxHeight',
@@ -5455,7 +5723,7 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5455
5723
  'width'
5456
5724
  ]);
5457
5725
  BryntumGridBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridBaseComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
5458
- BryntumGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridBaseComponent, selector: "bryntum-grid-base", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", focusVisible: "focusVisible", hasChanges: "hasChanges", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
5726
+ BryntumGridBaseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridBaseComponent, selector: "bryntum-grid-base", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", role: "role", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", labelWidth: "labelWidth", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
5459
5727
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridBaseComponent, decorators: [{
5460
5728
  type: Component,
5461
5729
  args: [{
@@ -5570,6 +5838,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5570
5838
  type: Input
5571
5839
  }], ripple: [{
5572
5840
  type: Input
5841
+ }], role: [{
5842
+ type: Input
5573
5843
  }], rootElement: [{
5574
5844
  type: Input
5575
5845
  }], scrollerClass: [{
@@ -5658,6 +5928,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5658
5928
  type: Input
5659
5929
  }], labelPosition: [{
5660
5930
  type: Input
5931
+ }], labelWidth: [{
5932
+ type: Input
5661
5933
  }], longPressTime: [{
5662
5934
  type: Input
5663
5935
  }], margin: [{
@@ -5702,10 +5974,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5702
5974
  type: Input
5703
5975
  }], width: [{
5704
5976
  type: Input
5705
- }], focusVisible: [{
5706
- type: Input
5707
- }], hasChanges: [{
5708
- type: Input
5709
5977
  }], originalStore: [{
5710
5978
  type: Input
5711
5979
  }], parent: [{
@@ -6078,8 +6346,7 @@ class BryntumGridChartDesignerComponent {
6078
6346
  this.onBeforeShow = new EventEmitter();
6079
6347
  /**
6080
6348
  * Fires when any other event is fired from the object.
6081
- * ...
6082
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-catchAll)
6349
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-catchAll)
6083
6350
  * @param {object} event Event object
6084
6351
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
6085
6352
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -6130,8 +6397,7 @@ class BryntumGridChartDesignerComponent {
6130
6397
  /**
6131
6398
  * Triggered when a widget which had been in a non-visible state for any reason
6132
6399
  * achieves visibility.
6133
- * ...
6134
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6400
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6135
6401
  * @param {object} event Event object
6136
6402
  * @param {Core.widget.Widget} event.source The widget being painted.
6137
6403
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -6210,9 +6476,61 @@ class BryntumGridChartDesignerComponent {
6210
6476
  else {
6211
6477
  WrapperHelper.devWarningContainer(instanceName, containerParam);
6212
6478
  }
6479
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
6480
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
6481
+ // finds the theme. The @font-face rules from component styles are also extracted to
6482
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
6483
+ // included in document.fonts across all browsers).
6484
+ const shadowRoot = elementRef.nativeElement.getRootNode();
6485
+ if (shadowRoot instanceof ShadowRoot) {
6486
+ initThemeInShadowRoots();
6487
+ BryntumGridChartDesignerComponent.ensureFontsInDocument(shadowRoot);
6488
+ }
6213
6489
  // @ts-ignore
6214
6490
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
6215
6491
  }
6492
+ /**
6493
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
6494
+ * document.head as a single <style> element. This is needed because @font-face rules inside
6495
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
6496
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
6497
+ * Safe to call multiple times — the extraction runs only once per page.
6498
+ */
6499
+ static ensureFontsInDocument(shadowRoot) {
6500
+ var _a;
6501
+ if (document.querySelector('#b-shadow-root-fonts')) {
6502
+ return;
6503
+ }
6504
+ const fontFaceRules = [];
6505
+ const extractFromSheet = (sheet) => {
6506
+ try {
6507
+ const rules = sheet.cssRules;
6508
+ for (let i = 0; i < rules.length; i++) {
6509
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
6510
+ fontFaceRules.push(rules[i].cssText);
6511
+ }
6512
+ }
6513
+ }
6514
+ catch (_e) {
6515
+ // Cross-origin access may throw; silently skip
6516
+ }
6517
+ };
6518
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
6519
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
6520
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
6521
+ // <style> elements (older Angular or fallback)
6522
+ shadowRoot.querySelectorAll('style').forEach(el => {
6523
+ if (el.sheet) {
6524
+ extractFromSheet(el.sheet);
6525
+ }
6526
+ });
6527
+ if (fontFaceRules.length > 0) {
6528
+ const style = document.createElement('style');
6529
+ style.id = 'b-shadow-root-fonts';
6530
+ style.textContent = fontFaceRules.join('\n');
6531
+ document.head.appendChild(style);
6532
+ }
6533
+ }
6216
6534
  /**
6217
6535
  * Watch for changes
6218
6536
  * @param changes
@@ -6321,6 +6639,7 @@ BryntumGridChartDesignerComponent.bryntumConfigs = BryntumGridChartDesignerCompo
6321
6639
  'readOnly',
6322
6640
  'relayStoreEvents',
6323
6641
  'ripple',
6642
+ 'role',
6324
6643
  'rootElement',
6325
6644
  'rtl',
6326
6645
  'scrollable',
@@ -6375,6 +6694,7 @@ BryntumGridChartDesignerComponent.bryntumConfigsOnly = [
6375
6694
  'preventTooltipOnTouch',
6376
6695
  'relayStoreEvents',
6377
6696
  'ripple',
6697
+ 'role',
6378
6698
  'rootElement',
6379
6699
  'scrollAction',
6380
6700
  'showAnimation',
@@ -6390,7 +6710,6 @@ BryntumGridChartDesignerComponent.bryntumConfigsOnly = [
6390
6710
  ];
6391
6711
  BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerComponent.bryntumFeatureNames.concat([
6392
6712
  'alignSelf',
6393
- 'anchorSize',
6394
6713
  'appendTo',
6395
6714
  'callOnFunctions',
6396
6715
  'catchEventHandlerExceptions',
@@ -6401,7 +6720,6 @@ BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerCompone
6401
6720
  'disabled',
6402
6721
  'extraData',
6403
6722
  'flex',
6404
- 'focusVisible',
6405
6723
  'height',
6406
6724
  'hidden',
6407
6725
  'html',
@@ -6426,7 +6744,7 @@ BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerCompone
6426
6744
  'y'
6427
6745
  ]);
6428
6746
  BryntumGridChartDesignerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridChartDesignerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
6429
- BryntumGridChartDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridChartDesignerComponent, selector: "bryntum-grid-chart-designer", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", grid: "grid", hideAnimation: "hideAnimation", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", sync: "sync", tab: "tab", tag: "tag", textAlign: "textAlign", title: "title", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", rtl: "rtl", scrollable: "scrollable", span: "span", tooltip: "tooltip", width: "width", x: "x", y: "y", anchorSize: "anchorSize", focusVisible: "focusVisible", parent: "parent" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
6747
+ BryntumGridChartDesignerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridChartDesignerComponent, selector: "bryntum-grid-chart-designer", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", grid: "grid", hideAnimation: "hideAnimation", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", sync: "sync", tab: "tab", tag: "tag", textAlign: "textAlign", title: "title", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", rtl: "rtl", scrollable: "scrollable", span: "span", tooltip: "tooltip", width: "width", x: "x", y: "y", parent: "parent" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
6430
6748
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridChartDesignerComponent, decorators: [{
6431
6749
  type: Component,
6432
6750
  args: [{
@@ -6499,6 +6817,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
6499
6817
  type: Input
6500
6818
  }], ripple: [{
6501
6819
  type: Input
6820
+ }], role: [{
6821
+ type: Input
6502
6822
  }], rootElement: [{
6503
6823
  type: Input
6504
6824
  }], scrollAction: [{
@@ -6587,10 +6907,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
6587
6907
  type: Input
6588
6908
  }], y: [{
6589
6909
  type: Input
6590
- }], anchorSize: [{
6591
- type: Input
6592
- }], focusVisible: [{
6593
- type: Input
6594
6910
  }], parent: [{
6595
6911
  type: Input
6596
6912
  }], onBeforeDestroy: [{
@@ -6663,8 +6979,7 @@ class BryntumGridFieldFilterPickerComponent {
6663
6979
  this.onBeforeShow = new EventEmitter();
6664
6980
  /**
6665
6981
  * Fires when any other event is fired from the object.
6666
- * ...
6667
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-catchAll)
6982
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-catchAll)
6668
6983
  * @param {object} event Event object
6669
6984
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
6670
6985
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -6730,8 +7045,7 @@ class BryntumGridFieldFilterPickerComponent {
6730
7045
  /**
6731
7046
  * Triggered when a widget which had been in a non-visible state for any reason
6732
7047
  * achieves visibility.
6733
- * ...
6734
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
7048
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
6735
7049
  * @param {object} event Event object
6736
7050
  * @param {Core.widget.Widget} event.source The widget being painted.
6737
7051
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -6810,9 +7124,61 @@ class BryntumGridFieldFilterPickerComponent {
6810
7124
  else {
6811
7125
  WrapperHelper.devWarningContainer(instanceName, containerParam);
6812
7126
  }
7127
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
7128
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
7129
+ // finds the theme. The @font-face rules from component styles are also extracted to
7130
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
7131
+ // included in document.fonts across all browsers).
7132
+ const shadowRoot = elementRef.nativeElement.getRootNode();
7133
+ if (shadowRoot instanceof ShadowRoot) {
7134
+ initThemeInShadowRoots();
7135
+ BryntumGridFieldFilterPickerComponent.ensureFontsInDocument(shadowRoot);
7136
+ }
6813
7137
  // @ts-ignore
6814
7138
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
6815
7139
  }
7140
+ /**
7141
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
7142
+ * document.head as a single <style> element. This is needed because @font-face rules inside
7143
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
7144
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
7145
+ * Safe to call multiple times — the extraction runs only once per page.
7146
+ */
7147
+ static ensureFontsInDocument(shadowRoot) {
7148
+ var _a;
7149
+ if (document.querySelector('#b-shadow-root-fonts')) {
7150
+ return;
7151
+ }
7152
+ const fontFaceRules = [];
7153
+ const extractFromSheet = (sheet) => {
7154
+ try {
7155
+ const rules = sheet.cssRules;
7156
+ for (let i = 0; i < rules.length; i++) {
7157
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
7158
+ fontFaceRules.push(rules[i].cssText);
7159
+ }
7160
+ }
7161
+ }
7162
+ catch (_e) {
7163
+ // Cross-origin access may throw; silently skip
7164
+ }
7165
+ };
7166
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
7167
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
7168
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
7169
+ // <style> elements (older Angular or fallback)
7170
+ shadowRoot.querySelectorAll('style').forEach(el => {
7171
+ if (el.sheet) {
7172
+ extractFromSheet(el.sheet);
7173
+ }
7174
+ });
7175
+ if (fontFaceRules.length > 0) {
7176
+ const style = document.createElement('style');
7177
+ style.id = 'b-shadow-root-fonts';
7178
+ style.textContent = fontFaceRules.join('\n');
7179
+ document.head.appendChild(style);
7180
+ }
7181
+ }
6816
7182
  /**
6817
7183
  * Watch for changes
6818
7184
  * @param changes
@@ -6920,6 +7286,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigs = BryntumGridFieldFilterPic
6920
7286
  'items',
6921
7287
  'keyMap',
6922
7288
  'labelPosition',
7289
+ 'labelWidth',
6923
7290
  'layout',
6924
7291
  'layoutStyle',
6925
7292
  'lazyItems',
@@ -6948,6 +7315,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigs = BryntumGridFieldFilterPic
6948
7315
  'relayStoreEvents',
6949
7316
  'rendition',
6950
7317
  'ripple',
7318
+ 'role',
6951
7319
  'rootElement',
6952
7320
  'rtl',
6953
7321
  'scrollable',
@@ -7024,6 +7392,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigsOnly = [
7024
7392
  'propertyLocked',
7025
7393
  'relayStoreEvents',
7026
7394
  'ripple',
7395
+ 'role',
7027
7396
  'rootElement',
7028
7397
  'scrollAction',
7029
7398
  'showAnimation',
@@ -7043,7 +7412,6 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigsOnly = [
7043
7412
  ];
7044
7413
  BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPickerComponent.bryntumFeatureNames.concat([
7045
7414
  'alignSelf',
7046
- 'anchorSize',
7047
7415
  'appendTo',
7048
7416
  'callOnFunctions',
7049
7417
  'catchEventHandlerExceptions',
@@ -7054,8 +7422,6 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7054
7422
  'disabled',
7055
7423
  'extraData',
7056
7424
  'flex',
7057
- 'focusVisible',
7058
- 'hasChanges',
7059
7425
  'height',
7060
7426
  'hidden',
7061
7427
  'html',
@@ -7063,11 +7429,10 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7063
7429
  'inputFieldAlign',
7064
7430
  'insertBefore',
7065
7431
  'insertFirst',
7066
- 'isSettingValues',
7067
- 'isValid',
7068
7432
  'items',
7069
7433
  'keyMap',
7070
7434
  'labelPosition',
7435
+ 'labelWidth',
7071
7436
  'layout',
7072
7437
  'layoutStyle',
7073
7438
  'margin',
@@ -7091,7 +7456,7 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7091
7456
  'y'
7092
7457
  ]);
7093
7458
  BryntumGridFieldFilterPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
7094
- BryntumGridFieldFilterPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridFieldFilterPickerComponent, selector: "bryntum-grid-field-filter-picker", inputs: { adopt: "adopt", align: "align", allowedFieldNames: "allowedFieldNames", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", dateFormat: "dateFormat", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", fields: "fields", filter: "filter", floating: "floating", getValueFieldConfig: "getValueFieldConfig", grid: "grid", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", operatorLocked: "operatorLocked", operators: "operators", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", propertyFieldConfig: "propertyFieldConfig", propertyLocked: "propertyLocked", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", title: "title", triggerChangeOnInput: "triggerChangeOnInput", type: "type", ui: "ui", valueFieldPlaceholders: "valueFieldPlaceholders", valueLocked: "valueLocked", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", labelPosition: "labelPosition", layout: "layout", layoutStyle: "layoutStyle", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", record: "record", rendition: "rendition", rtl: "rtl", scrollable: "scrollable", span: "span", strictRecordMapping: "strictRecordMapping", tooltip: "tooltip", width: "width", x: "x", y: "y", anchorSize: "anchorSize", focusVisible: "focusVisible", hasChanges: "hasChanges", isSettingValues: "isSettingValues", isValid: "isValid", parent: "parent", values: "values" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
7459
+ BryntumGridFieldFilterPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridFieldFilterPickerComponent, selector: "bryntum-grid-field-filter-picker", inputs: { adopt: "adopt", align: "align", allowedFieldNames: "allowedFieldNames", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", dateFormat: "dateFormat", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", fields: "fields", filter: "filter", floating: "floating", getValueFieldConfig: "getValueFieldConfig", grid: "grid", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", operatorLocked: "operatorLocked", operators: "operators", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", propertyFieldConfig: "propertyFieldConfig", propertyLocked: "propertyLocked", relayStoreEvents: "relayStoreEvents", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", title: "title", triggerChangeOnInput: "triggerChangeOnInput", type: "type", ui: "ui", valueFieldPlaceholders: "valueFieldPlaceholders", valueLocked: "valueLocked", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", labelPosition: "labelPosition", labelWidth: "labelWidth", layout: "layout", layoutStyle: "layoutStyle", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", record: "record", rendition: "rendition", rtl: "rtl", scrollable: "scrollable", span: "span", strictRecordMapping: "strictRecordMapping", tooltip: "tooltip", width: "width", x: "x", y: "y", parent: "parent", values: "values" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
7095
7460
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerComponent, decorators: [{
7096
7461
  type: Component,
7097
7462
  args: [{
@@ -7198,6 +7563,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7198
7563
  type: Input
7199
7564
  }], ripple: [{
7200
7565
  type: Input
7566
+ }], role: [{
7567
+ type: Input
7201
7568
  }], rootElement: [{
7202
7569
  type: Input
7203
7570
  }], scrollAction: [{
@@ -7272,6 +7639,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7272
7639
  type: Input
7273
7640
  }], labelPosition: [{
7274
7641
  type: Input
7642
+ }], labelWidth: [{
7643
+ type: Input
7275
7644
  }], layout: [{
7276
7645
  type: Input
7277
7646
  }], layoutStyle: [{
@@ -7310,16 +7679,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7310
7679
  type: Input
7311
7680
  }], y: [{
7312
7681
  type: Input
7313
- }], anchorSize: [{
7314
- type: Input
7315
- }], focusVisible: [{
7316
- type: Input
7317
- }], hasChanges: [{
7318
- type: Input
7319
- }], isSettingValues: [{
7320
- type: Input
7321
- }], isValid: [{
7322
- type: Input
7323
7682
  }], parent: [{
7324
7683
  type: Input
7325
7684
  }], values: [{
@@ -7408,8 +7767,7 @@ class BryntumGridFieldFilterPickerGroupComponent {
7408
7767
  this.onBeforeShow = new EventEmitter();
7409
7768
  /**
7410
7769
  * Fires when any other event is fired from the object.
7411
- * ...
7412
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
7770
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
7413
7771
  * @param {object} event Event object
7414
7772
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
7415
7773
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -7475,8 +7833,7 @@ class BryntumGridFieldFilterPickerGroupComponent {
7475
7833
  /**
7476
7834
  * Triggered when a widget which had been in a non-visible state for any reason
7477
7835
  * achieves visibility.
7478
- * ...
7479
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
7836
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
7480
7837
  * @param {object} event Event object
7481
7838
  * @param {Core.widget.Widget} event.source The widget being painted.
7482
7839
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -7555,9 +7912,61 @@ class BryntumGridFieldFilterPickerGroupComponent {
7555
7912
  else {
7556
7913
  WrapperHelper.devWarningContainer(instanceName, containerParam);
7557
7914
  }
7915
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
7916
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
7917
+ // finds the theme. The @font-face rules from component styles are also extracted to
7918
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
7919
+ // included in document.fonts across all browsers).
7920
+ const shadowRoot = elementRef.nativeElement.getRootNode();
7921
+ if (shadowRoot instanceof ShadowRoot) {
7922
+ initThemeInShadowRoots();
7923
+ BryntumGridFieldFilterPickerGroupComponent.ensureFontsInDocument(shadowRoot);
7924
+ }
7558
7925
  // @ts-ignore
7559
7926
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
7560
7927
  }
7928
+ /**
7929
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
7930
+ * document.head as a single <style> element. This is needed because @font-face rules inside
7931
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
7932
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
7933
+ * Safe to call multiple times — the extraction runs only once per page.
7934
+ */
7935
+ static ensureFontsInDocument(shadowRoot) {
7936
+ var _a;
7937
+ if (document.querySelector('#b-shadow-root-fonts')) {
7938
+ return;
7939
+ }
7940
+ const fontFaceRules = [];
7941
+ const extractFromSheet = (sheet) => {
7942
+ try {
7943
+ const rules = sheet.cssRules;
7944
+ for (let i = 0; i < rules.length; i++) {
7945
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
7946
+ fontFaceRules.push(rules[i].cssText);
7947
+ }
7948
+ }
7949
+ }
7950
+ catch (_e) {
7951
+ // Cross-origin access may throw; silently skip
7952
+ }
7953
+ };
7954
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
7955
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
7956
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
7957
+ // <style> elements (older Angular or fallback)
7958
+ shadowRoot.querySelectorAll('style').forEach(el => {
7959
+ if (el.sheet) {
7960
+ extractFromSheet(el.sheet);
7961
+ }
7962
+ });
7963
+ if (fontFaceRules.length > 0) {
7964
+ const style = document.createElement('style');
7965
+ style.id = 'b-shadow-root-fonts';
7966
+ style.textContent = fontFaceRules.join('\n');
7967
+ document.head.appendChild(style);
7968
+ }
7969
+ }
7561
7970
  /**
7562
7971
  * Watch for changes
7563
7972
  * @param changes
@@ -7668,6 +8077,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigs = BryntumGridFieldFilt
7668
8077
  'items',
7669
8078
  'keyMap',
7670
8079
  'labelPosition',
8080
+ 'labelWidth',
7671
8081
  'layout',
7672
8082
  'layoutStyle',
7673
8083
  'lazyItems',
@@ -7694,6 +8104,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigs = BryntumGridFieldFilt
7694
8104
  'relayStoreEvents',
7695
8105
  'rendition',
7696
8106
  'ripple',
8107
+ 'role',
7697
8108
  'rootElement',
7698
8109
  'rtl',
7699
8110
  'scrollable',
@@ -7769,6 +8180,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigsOnly = [
7769
8180
  'preventTooltipOnTouch',
7770
8181
  'relayStoreEvents',
7771
8182
  'ripple',
8183
+ 'role',
7772
8184
  'rootElement',
7773
8185
  'scrollAction',
7774
8186
  'showAddFilterButton',
@@ -7787,7 +8199,6 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigsOnly = [
7787
8199
  ];
7788
8200
  BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilterPickerGroupComponent.bryntumFeatureNames.concat([
7789
8201
  'alignSelf',
7790
- 'anchorSize',
7791
8202
  'appendTo',
7792
8203
  'callOnFunctions',
7793
8204
  'catchEventHandlerExceptions',
@@ -7798,8 +8209,6 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7798
8209
  'disabled',
7799
8210
  'extraData',
7800
8211
  'flex',
7801
- 'focusVisible',
7802
- 'hasChanges',
7803
8212
  'height',
7804
8213
  'hidden',
7805
8214
  'html',
@@ -7807,11 +8216,10 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7807
8216
  'inputFieldAlign',
7808
8217
  'insertBefore',
7809
8218
  'insertFirst',
7810
- 'isSettingValues',
7811
- 'isValid',
7812
8219
  'items',
7813
8220
  'keyMap',
7814
8221
  'labelPosition',
8222
+ 'labelWidth',
7815
8223
  'layout',
7816
8224
  'layoutStyle',
7817
8225
  'margin',
@@ -7836,7 +8244,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7836
8244
  'y'
7837
8245
  ]);
7838
8246
  BryntumGridFieldFilterPickerGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerGroupComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
7839
- BryntumGridFieldFilterPickerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridFieldFilterPickerGroupComponent, selector: "bryntum-grid-field-filter-picker-group", inputs: { addFilterButtonText: "addFilterButtonText", adopt: "adopt", align: "align", allowedFieldNames: "allowedFieldNames", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", canDeleteFilter: "canDeleteFilter", canManageFilter: "canManageFilter", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", dateFormat: "dateFormat", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", filters: "filters", floating: "floating", getFieldFilterPickerConfig: "getFieldFilterPickerConfig", grid: "grid", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", limitToProperty: "limitToProperty", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", operators: "operators", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAddFilterButton: "showAddFilterButton", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", title: "title", triggerChangeOnInput: "triggerChangeOnInput", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", labelPosition: "labelPosition", layout: "layout", layoutStyle: "layoutStyle", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", record: "record", rendition: "rendition", rtl: "rtl", scrollable: "scrollable", span: "span", strictRecordMapping: "strictRecordMapping", tooltip: "tooltip", width: "width", x: "x", y: "y", anchorSize: "anchorSize", focusVisible: "focusVisible", hasChanges: "hasChanges", isSettingValues: "isSettingValues", isValid: "isValid", parent: "parent", value: "value", values: "values" }, outputs: { onBeforeAddFilter: "onBeforeAddFilter", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
8247
+ BryntumGridFieldFilterPickerGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGridFieldFilterPickerGroupComponent, selector: "bryntum-grid-field-filter-picker-group", inputs: { addFilterButtonText: "addFilterButtonText", adopt: "adopt", align: "align", allowedFieldNames: "allowedFieldNames", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", canDeleteFilter: "canDeleteFilter", canManageFilter: "canManageFilter", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", dateFormat: "dateFormat", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", filters: "filters", floating: "floating", getFieldFilterPickerConfig: "getFieldFilterPickerConfig", grid: "grid", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", limitToProperty: "limitToProperty", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", operators: "operators", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAddFilterButton: "showAddFilterButton", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", title: "title", triggerChangeOnInput: "triggerChangeOnInput", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", content: "content", dataset: "dataset", disabled: "disabled", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", labelPosition: "labelPosition", labelWidth: "labelWidth", layout: "layout", layoutStyle: "layoutStyle", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", readOnly: "readOnly", record: "record", rendition: "rendition", rtl: "rtl", scrollable: "scrollable", span: "span", strictRecordMapping: "strictRecordMapping", tooltip: "tooltip", width: "width", x: "x", y: "y", parent: "parent", value: "value", values: "values" }, outputs: { onBeforeAddFilter: "onBeforeAddFilter", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
7840
8248
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerGroupComponent, decorators: [{
7841
8249
  type: Component,
7842
8250
  args: [{
@@ -7943,6 +8351,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7943
8351
  type: Input
7944
8352
  }], ripple: [{
7945
8353
  type: Input
8354
+ }], role: [{
8355
+ type: Input
7946
8356
  }], rootElement: [{
7947
8357
  type: Input
7948
8358
  }], scrollAction: [{
@@ -8015,6 +8425,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8015
8425
  type: Input
8016
8426
  }], labelPosition: [{
8017
8427
  type: Input
8428
+ }], labelWidth: [{
8429
+ type: Input
8018
8430
  }], layout: [{
8019
8431
  type: Input
8020
8432
  }], layoutStyle: [{
@@ -8053,16 +8465,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8053
8465
  type: Input
8054
8466
  }], y: [{
8055
8467
  type: Input
8056
- }], anchorSize: [{
8057
- type: Input
8058
- }], focusVisible: [{
8059
- type: Input
8060
- }], hasChanges: [{
8061
- type: Input
8062
- }], isSettingValues: [{
8063
- type: Input
8064
- }], isValid: [{
8065
- type: Input
8066
8468
  }], parent: [{
8067
8469
  type: Input
8068
8470
  }], value: [{
@@ -8151,8 +8553,7 @@ class BryntumGroupBarComponent {
8151
8553
  this.onBeforeShow = new EventEmitter();
8152
8554
  /**
8153
8555
  * Fires when any other event is fired from the object.
8154
- * ...
8155
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
8556
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
8156
8557
  * @param {object} event Event object
8157
8558
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
8158
8559
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -8214,8 +8615,7 @@ class BryntumGroupBarComponent {
8214
8615
  /**
8215
8616
  * Triggered when a widget which had been in a non-visible state for any reason
8216
8617
  * achieves visibility.
8217
- * ...
8218
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
8618
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
8219
8619
  * @param {object} event Event object
8220
8620
  * @param {Core.widget.Widget} event.source The widget being painted.
8221
8621
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -8315,9 +8715,61 @@ class BryntumGroupBarComponent {
8315
8715
  else {
8316
8716
  WrapperHelper.devWarningContainer(instanceName, containerParam);
8317
8717
  }
8718
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
8719
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
8720
+ // finds the theme. The @font-face rules from component styles are also extracted to
8721
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
8722
+ // included in document.fonts across all browsers).
8723
+ const shadowRoot = elementRef.nativeElement.getRootNode();
8724
+ if (shadowRoot instanceof ShadowRoot) {
8725
+ initThemeInShadowRoots();
8726
+ BryntumGroupBarComponent.ensureFontsInDocument(shadowRoot);
8727
+ }
8318
8728
  // @ts-ignore
8319
8729
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
8320
8730
  }
8731
+ /**
8732
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
8733
+ * document.head as a single <style> element. This is needed because @font-face rules inside
8734
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
8735
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
8736
+ * Safe to call multiple times — the extraction runs only once per page.
8737
+ */
8738
+ static ensureFontsInDocument(shadowRoot) {
8739
+ var _a;
8740
+ if (document.querySelector('#b-shadow-root-fonts')) {
8741
+ return;
8742
+ }
8743
+ const fontFaceRules = [];
8744
+ const extractFromSheet = (sheet) => {
8745
+ try {
8746
+ const rules = sheet.cssRules;
8747
+ for (let i = 0; i < rules.length; i++) {
8748
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
8749
+ fontFaceRules.push(rules[i].cssText);
8750
+ }
8751
+ }
8752
+ }
8753
+ catch (_e) {
8754
+ // Cross-origin access may throw; silently skip
8755
+ }
8756
+ };
8757
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
8758
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
8759
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
8760
+ // <style> elements (older Angular or fallback)
8761
+ shadowRoot.querySelectorAll('style').forEach(el => {
8762
+ if (el.sheet) {
8763
+ extractFromSheet(el.sheet);
8764
+ }
8765
+ });
8766
+ if (fontFaceRules.length > 0) {
8767
+ const style = document.createElement('style');
8768
+ style.id = 'b-shadow-root-fonts';
8769
+ style.textContent = fontFaceRules.join('\n');
8770
+ document.head.appendChild(style);
8771
+ }
8772
+ }
8321
8773
  /**
8322
8774
  * Watch for changes
8323
8775
  * @param changes
@@ -8446,6 +8898,7 @@ BryntumGroupBarComponent.bryntumConfigs = BryntumGroupBarComponent.bryntumFeatur
8446
8898
  'readOnly',
8447
8899
  'relayStoreEvents',
8448
8900
  'ripple',
8901
+ 'role',
8449
8902
  'rootElement',
8450
8903
  'rtl',
8451
8904
  'scrollable',
@@ -8514,6 +8967,7 @@ BryntumGroupBarComponent.bryntumConfigsOnly = [
8514
8967
  'preventTooltipOnTouch',
8515
8968
  'relayStoreEvents',
8516
8969
  'ripple',
8970
+ 'role',
8517
8971
  'rootElement',
8518
8972
  'scrollAction',
8519
8973
  'selectAllItem',
@@ -8531,7 +8985,6 @@ BryntumGroupBarComponent.bryntumConfigsOnly = [
8531
8985
  BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureNames.concat([
8532
8986
  'alignSelf',
8533
8987
  'allowGroupSelect',
8534
- 'anchorSize',
8535
8988
  'appendTo',
8536
8989
  'callOnFunctions',
8537
8990
  'catchEventHandlerExceptions',
@@ -8545,7 +8998,6 @@ BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureN
8545
8998
  'emptyText',
8546
8999
  'extraData',
8547
9000
  'flex',
8548
- 'focusVisible',
8549
9001
  'height',
8550
9002
  'hidden',
8551
9003
  'html',
@@ -8576,7 +9028,7 @@ BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureN
8576
9028
  'y'
8577
9029
  ]);
8578
9030
  BryntumGroupBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGroupBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8579
- BryntumGroupBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGroupBarComponent, selector: "bryntum-group-bar", inputs: { activateOnMouseover: "activateOnMouseover", adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", bubbleEvents: "bubbleEvents", centered: "centered", closable: "closable", closeHandler: "closeHandler", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", getItemCls: "getItemCls", getItemStyle: "getItemStyle", groupHeaderTpl: "groupHeaderTpl", hideAnimation: "hideAnimation", htmlCls: "htmlCls", iconTpl: "iconTpl", ignoreParentReadOnly: "ignoreParentReadOnly", isSelectable: "isSelectable", itemTpl: "itemTpl", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", selectAllItem: "selectAllItem", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tag: "tag", textAlign: "textAlign", tooltipTemplate: "tooltipTemplate", type: "type", ui: "ui", virtualize: "virtualize", weight: "weight", alignSelf: "alignSelf", allowGroupSelect: "allowGroupSelect", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", clearSelectionOnEmptySpaceClick: "clearSelectionOnEmptySpaceClick", cls: "cls", collapsibleGroups: "collapsibleGroups", column: "column", content: "content", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", multiSelect: "multiSelect", readOnly: "readOnly", rtl: "rtl", scrollable: "scrollable", selected: "selected", span: "span", store: "store", title: "title", toggleAllIfCtrlPressed: "toggleAllIfCtrlPressed", tooltip: "tooltip", width: "width", x: "x", y: "y", anchorSize: "anchorSize", focusVisible: "focusVisible", parent: "parent" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeItem: "onBeforeItem", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onItem: "onItem", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelectionChange: "onSelectionChange", onShow: "onShow", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
9031
+ BryntumGroupBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumGroupBarComponent, selector: "bryntum-group-bar", inputs: { activateOnMouseover: "activateOnMouseover", adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", bubbleEvents: "bubbleEvents", centered: "centered", closable: "closable", closeHandler: "closeHandler", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", getItemCls: "getItemCls", getItemStyle: "getItemStyle", groupHeaderTpl: "groupHeaderTpl", hideAnimation: "hideAnimation", htmlCls: "htmlCls", iconTpl: "iconTpl", ignoreParentReadOnly: "ignoreParentReadOnly", isSelectable: "isSelectable", itemTpl: "itemTpl", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", selectAllItem: "selectAllItem", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tag: "tag", textAlign: "textAlign", tooltipTemplate: "tooltipTemplate", type: "type", ui: "ui", virtualize: "virtualize", weight: "weight", alignSelf: "alignSelf", allowGroupSelect: "allowGroupSelect", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", clearSelectionOnEmptySpaceClick: "clearSelectionOnEmptySpaceClick", cls: "cls", collapsibleGroups: "collapsibleGroups", column: "column", content: "content", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", html: "html", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", items: "items", keyMap: "keyMap", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", multiSelect: "multiSelect", readOnly: "readOnly", rtl: "rtl", scrollable: "scrollable", selected: "selected", span: "span", store: "store", title: "title", toggleAllIfCtrlPressed: "toggleAllIfCtrlPressed", tooltip: "tooltip", width: "width", x: "x", y: "y", parent: "parent" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeItem: "onBeforeItem", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onItem: "onItem", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelectionChange: "onSelectionChange", onShow: "onShow", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
8580
9032
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGroupBarComponent, decorators: [{
8581
9033
  type: Component,
8582
9034
  args: [{
@@ -8667,6 +9119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8667
9119
  type: Input
8668
9120
  }], ripple: [{
8669
9121
  type: Input
9122
+ }], role: [{
9123
+ type: Input
8670
9124
  }], rootElement: [{
8671
9125
  type: Input
8672
9126
  }], scrollAction: [{
@@ -8777,10 +9231,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8777
9231
  type: Input
8778
9232
  }], y: [{
8779
9233
  type: Input
8780
- }], anchorSize: [{
8781
- type: Input
8782
- }], focusVisible: [{
8783
- type: Input
8784
9234
  }], parent: [{
8785
9235
  type: Input
8786
9236
  }], onBeforeDestroy: [{
@@ -8865,8 +9315,7 @@ class BryntumTreeComboComponent {
8865
9315
  this.onBeforeShow = new EventEmitter();
8866
9316
  /**
8867
9317
  * Fires when any other event is fired from the object.
8868
- * ...
8869
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-catchAll)
9318
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-catchAll)
8870
9319
  * @param {object} event Event object
8871
9320
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
8872
9321
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -8886,8 +9335,7 @@ class BryntumTreeComboComponent {
8886
9335
  this.onChange = new EventEmitter();
8887
9336
  /**
8888
9337
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
8889
- * ...
8890
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-clear)
9338
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-clear)
8891
9339
  * @param {object} event Event object
8892
9340
  * @param {Core.widget.Field,any} event.source This Field
8893
9341
  */
@@ -8946,8 +9394,7 @@ class BryntumTreeComboComponent {
8946
9394
  /**
8947
9395
  * Triggered when a widget which had been in a non-visible state for any reason
8948
9396
  * achieves visibility.
8949
- * ...
8950
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
9397
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
8951
9398
  * @param {object} event Event object
8952
9399
  * @param {Core.widget.Widget} event.source The widget being painted.
8953
9400
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -9042,9 +9489,61 @@ class BryntumTreeComboComponent {
9042
9489
  else {
9043
9490
  WrapperHelper.devWarningContainer(instanceName, containerParam);
9044
9491
  }
9492
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
9493
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
9494
+ // finds the theme. The @font-face rules from component styles are also extracted to
9495
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
9496
+ // included in document.fonts across all browsers).
9497
+ const shadowRoot = elementRef.nativeElement.getRootNode();
9498
+ if (shadowRoot instanceof ShadowRoot) {
9499
+ initThemeInShadowRoots();
9500
+ BryntumTreeComboComponent.ensureFontsInDocument(shadowRoot);
9501
+ }
9045
9502
  // @ts-ignore
9046
9503
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
9047
9504
  }
9505
+ /**
9506
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
9507
+ * document.head as a single <style> element. This is needed because @font-face rules inside
9508
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
9509
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
9510
+ * Safe to call multiple times — the extraction runs only once per page.
9511
+ */
9512
+ static ensureFontsInDocument(shadowRoot) {
9513
+ var _a;
9514
+ if (document.querySelector('#b-shadow-root-fonts')) {
9515
+ return;
9516
+ }
9517
+ const fontFaceRules = [];
9518
+ const extractFromSheet = (sheet) => {
9519
+ try {
9520
+ const rules = sheet.cssRules;
9521
+ for (let i = 0; i < rules.length; i++) {
9522
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
9523
+ fontFaceRules.push(rules[i].cssText);
9524
+ }
9525
+ }
9526
+ }
9527
+ catch (_e) {
9528
+ // Cross-origin access may throw; silently skip
9529
+ }
9530
+ };
9531
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
9532
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
9533
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
9534
+ // <style> elements (older Angular or fallback)
9535
+ shadowRoot.querySelectorAll('style').forEach(el => {
9536
+ if (el.sheet) {
9537
+ extractFromSheet(el.sheet);
9538
+ }
9539
+ });
9540
+ if (fontFaceRules.length > 0) {
9541
+ const style = document.createElement('style');
9542
+ style.id = 'b-shadow-root-fonts';
9543
+ style.textContent = fontFaceRules.join('\n');
9544
+ document.head.appendChild(style);
9545
+ }
9546
+ }
9048
9547
  /**
9049
9548
  * Watch for changes
9050
9549
  * @param changes
@@ -9118,6 +9617,7 @@ BryntumTreeComboComponent.bryntumConfigs = BryntumTreeComboComponent.bryntumFeat
9118
9617
  'caseSensitive',
9119
9618
  'catchEventHandlerExceptions',
9120
9619
  'centered',
9620
+ 'checkValidity',
9121
9621
  'chipView',
9122
9622
  'clearable',
9123
9623
  'clearTextOnPickerHide',
@@ -9215,6 +9715,7 @@ BryntumTreeComboComponent.bryntumConfigs = BryntumTreeComboComponent.bryntumFeat
9215
9715
  'required',
9216
9716
  'revertOnEscape',
9217
9717
  'ripple',
9718
+ 'role',
9218
9719
  'rootElement',
9219
9720
  'rtl',
9220
9721
  'scrollAction',
@@ -9256,6 +9757,7 @@ BryntumTreeComboComponent.bryntumConfigsOnly = [
9256
9757
  'cacheLastResult',
9257
9758
  'caseSensitive',
9258
9759
  'centered',
9760
+ 'checkValidity',
9259
9761
  'chipView',
9260
9762
  'clearable',
9261
9763
  'clearTextOnPickerHide',
@@ -9326,6 +9828,7 @@ BryntumTreeComboComponent.bryntumConfigsOnly = [
9326
9828
  'relayStoreEvents',
9327
9829
  'revertOnEscape',
9328
9830
  'ripple',
9831
+ 'role',
9329
9832
  'rootElement',
9330
9833
  'scrollAction',
9331
9834
  'showAnimation',
@@ -9346,7 +9849,6 @@ BryntumTreeComboComponent.bryntumConfigsOnly = [
9346
9849
  ];
9347
9850
  BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatureNames.concat([
9348
9851
  'alignSelf',
9349
- 'anchorSize',
9350
9852
  'appendTo',
9351
9853
  'badge',
9352
9854
  'callOnFunctions',
@@ -9360,7 +9862,6 @@ BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatur
9360
9862
  'extraData',
9361
9863
  'filterOperator',
9362
9864
  'flex',
9363
- 'focusVisible',
9364
9865
  'formula',
9365
9866
  'height',
9366
9867
  'hidden',
@@ -9397,7 +9898,7 @@ BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatur
9397
9898
  'y'
9398
9899
  ]);
9399
9900
  BryntumTreeComboComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeComboComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
9400
- BryntumTreeComboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumTreeComboComponent, selector: "bryntum-tree-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", multiSelect: "multiSelect", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", anchorSize: "anchorSize", content: "content", focusVisible: "focusVisible", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
9901
+ BryntumTreeComboComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumTreeComboComponent, selector: "bryntum-tree-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", checkValidity: "checkValidity", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", multiSelect: "multiSelect", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
9401
9902
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeComboComponent, decorators: [{
9402
9903
  type: Component,
9403
9904
  args: [{
@@ -9428,6 +9929,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
9428
9929
  type: Input
9429
9930
  }], centered: [{
9430
9931
  type: Input
9932
+ }], checkValidity: [{
9933
+ type: Input
9431
9934
  }], chipView: [{
9432
9935
  type: Input
9433
9936
  }], clearable: [{
@@ -9568,6 +10071,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
9568
10071
  type: Input
9569
10072
  }], ripple: [{
9570
10073
  type: Input
10074
+ }], role: [{
10075
+ type: Input
9571
10076
  }], rootElement: [{
9572
10077
  type: Input
9573
10078
  }], scrollAction: [{
@@ -9686,12 +10191,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
9686
10191
  type: Input
9687
10192
  }], y: [{
9688
10193
  type: Input
9689
- }], anchorSize: [{
9690
- type: Input
9691
10194
  }], content: [{
9692
10195
  type: Input
9693
- }], focusVisible: [{
9694
- type: Input
9695
10196
  }], formula: [{
9696
10197
  type: Input
9697
10198
  }], html: [{
@@ -9765,8 +10266,7 @@ class BryntumTreeGridComponent {
9765
10266
  this.onBeforeCancelCellEdit = new EventEmitter();
9766
10267
  /**
9767
10268
  * 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.
9768
- * ...
9769
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeCancelRowEdit)
10269
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeCancelRowEdit)
9770
10270
  * @param {object} event Event object
9771
10271
  * @param {Grid.view.Grid} event.grid Target grid
9772
10272
  * @param {RowEditorContext} event.editorContext Editing context
@@ -9881,8 +10381,7 @@ class BryntumTreeGridComponent {
9881
10381
  this.onBeforeFinishCellEdit = new EventEmitter();
9882
10382
  /**
9883
10383
  * 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.
9884
- * ...
9885
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeFinishRowEdit)
10384
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeFinishRowEdit)
9886
10385
  * @param {object} event Event object
9887
10386
  * @param {Grid.view.Grid} event.grid Target grid
9888
10387
  * @param {RowEditorContext} event.editorContext Editing context
@@ -9927,16 +10426,14 @@ class BryntumTreeGridComponent {
9927
10426
  this.onBeforeRenderRows = new EventEmitter();
9928
10427
  /**
9929
10428
  * This event fires before row collapse is started.
9930
- * ...
9931
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowCollapse)
10429
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowCollapse)
9932
10430
  * @param {object} event Event object
9933
10431
  * @param {Core.data.Model} event.record Record
9934
10432
  */
9935
10433
  this.onBeforeRowCollapse = new EventEmitter();
9936
10434
  /**
9937
10435
  * This event fires before row expand is started.
9938
- * ...
9939
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowExpand)
10436
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowExpand)
9940
10437
  * @param {object} event Event object
9941
10438
  * @param {Core.data.Model} event.record Record
9942
10439
  */
@@ -10016,8 +10513,7 @@ class BryntumTreeGridComponent {
10016
10513
  this.onCancelCellEdit = new EventEmitter();
10017
10514
  /**
10018
10515
  * Fires when any other event is fired from the object.
10019
- * ...
10020
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-catchAll)
10516
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-catchAll)
10021
10517
  * @param {object} event Event object
10022
10518
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
10023
10519
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -10059,8 +10555,7 @@ class BryntumTreeGridComponent {
10059
10555
  /**
10060
10556
  * This event fires on the owning grid before the context menu is shown for a cell.
10061
10557
  * 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).
10062
- * ...
10063
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-cellMenuBeforeShow)
10558
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-cellMenuBeforeShow)
10064
10559
  * @param {object} event Event object
10065
10560
  * @param {Grid.view.Grid} event.source The grid
10066
10561
  * @param {Core.widget.Menu} event.menu The menu
@@ -10241,8 +10736,7 @@ class BryntumTreeGridComponent {
10241
10736
  this.onCopy = new EventEmitter();
10242
10737
  /**
10243
10738
  * Fired when data in the store changes.
10244
- * ...
10245
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
10739
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
10246
10740
  * @param {object} event Event object
10247
10741
  * @param {Grid.view.GridBase} event.source Owning grid
10248
10742
  * @param {Core.data.Store} event.store The originating store
@@ -10346,8 +10840,7 @@ class BryntumTreeGridComponent {
10346
10840
  this.onFinishCellEdit = new EventEmitter();
10347
10841
  /**
10348
10842
  * 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.
10349
- * ...
10350
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-finishRowEdit)
10843
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-finishRowEdit)
10351
10844
  * @param {object} event Event object
10352
10845
  * @param {Grid.view.Grid} event.grid Target grid
10353
10846
  * @param {RowEditorContext} event.editorContext Editing context
@@ -10447,8 +10940,7 @@ class BryntumTreeGridComponent {
10447
10940
  this.onGridRowDrop = new EventEmitter();
10448
10941
  /**
10449
10942
  * Fired when a grid header is clicked on.
10450
- * ...
10451
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerClick)
10943
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerClick)
10452
10944
  * @param {object} event Event object
10453
10945
  * @param {Event} event.domEvent The triggering DOM event.
10454
10946
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -10457,8 +10949,7 @@ class BryntumTreeGridComponent {
10457
10949
  /**
10458
10950
  * This event fires on the owning Grid before the context menu is shown for a header.
10459
10951
  * 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).
10460
- * ...
10461
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerMenuBeforeShow)
10952
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerMenuBeforeShow)
10462
10953
  * @param {object} event Event object
10463
10954
  * @param {Grid.view.Grid} event.source The grid
10464
10955
  * @param {Core.widget.Menu} event.menu The menu
@@ -10521,8 +11012,7 @@ class BryntumTreeGridComponent {
10521
11012
  /**
10522
11013
  * Triggered when a widget which had been in a non-visible state for any reason
10523
11014
  * achieves visibility.
10524
- * ...
10525
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
11015
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
10526
11016
  * @param {object} event Event object
10527
11017
  * @param {Core.widget.Widget} event.source The widget being painted.
10528
11018
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -10541,8 +11031,8 @@ class BryntumTreeGridComponent {
10541
11031
  /**
10542
11032
  * Fires on the owning Grid when export has finished
10543
11033
  * @param {object} event Event object
10544
- * @param {Response} event.response Optional response, if received
10545
- * @param {Error} event.error Optional error, if exception occurred
11034
+ * @param {Response} [event.response] Optional response, if received
11035
+ * @param {Error} [event.error] Optional error, if exception occurred
10546
11036
  */
10547
11037
  this.onPdfExport = new EventEmitter();
10548
11038
  /**
@@ -10599,8 +11089,7 @@ class BryntumTreeGridComponent {
10599
11089
  this.onRowCollapse = new EventEmitter();
10600
11090
  /**
10601
11091
  * This event fires when a row expand has finished expanding.
10602
- * ...
10603
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-rowExpand)
11092
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-rowExpand)
10604
11093
  * @param {object} event Event object
10605
11094
  * @param {Core.data.Model} event.record Record
10606
11095
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -10738,7 +11227,7 @@ class BryntumTreeGridComponent {
10738
11227
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
10739
11228
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
10740
11229
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
10741
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
11230
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
10742
11231
  */
10743
11232
  this.onToggleGroup = new EventEmitter();
10744
11233
  /**
@@ -10819,6 +11308,16 @@ class BryntumTreeGridComponent {
10819
11308
  else {
10820
11309
  WrapperHelper.devWarningContainer(instanceName, containerParam);
10821
11310
  }
11311
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
11312
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
11313
+ // finds the theme. The @font-face rules from component styles are also extracted to
11314
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
11315
+ // included in document.fonts across all browsers).
11316
+ const shadowRoot = elementRef.nativeElement.getRootNode();
11317
+ if (shadowRoot instanceof ShadowRoot) {
11318
+ initThemeInShadowRoots();
11319
+ BryntumTreeGridComponent.ensureFontsInDocument(shadowRoot);
11320
+ }
10822
11321
  // @ts-ignore
10823
11322
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
10824
11323
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -10826,6 +11325,48 @@ class BryntumTreeGridComponent {
10826
11325
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
10827
11326
  //
10828
11327
  }
11328
+ /**
11329
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
11330
+ * document.head as a single <style> element. This is needed because @font-face rules inside
11331
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
11332
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
11333
+ * Safe to call multiple times — the extraction runs only once per page.
11334
+ */
11335
+ static ensureFontsInDocument(shadowRoot) {
11336
+ var _a;
11337
+ if (document.querySelector('#b-shadow-root-fonts')) {
11338
+ return;
11339
+ }
11340
+ const fontFaceRules = [];
11341
+ const extractFromSheet = (sheet) => {
11342
+ try {
11343
+ const rules = sheet.cssRules;
11344
+ for (let i = 0; i < rules.length; i++) {
11345
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
11346
+ fontFaceRules.push(rules[i].cssText);
11347
+ }
11348
+ }
11349
+ }
11350
+ catch (_e) {
11351
+ // Cross-origin access may throw; silently skip
11352
+ }
11353
+ };
11354
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
11355
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
11356
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
11357
+ // <style> elements (older Angular or fallback)
11358
+ shadowRoot.querySelectorAll('style').forEach(el => {
11359
+ if (el.sheet) {
11360
+ extractFromSheet(el.sheet);
11361
+ }
11362
+ });
11363
+ if (fontFaceRules.length > 0) {
11364
+ const style = document.createElement('style');
11365
+ style.id = 'b-shadow-root-fonts';
11366
+ style.textContent = fontFaceRules.join('\n');
11367
+ document.head.appendChild(style);
11368
+ }
11369
+ }
10829
11370
  /**
10830
11371
  * Watch for changes
10831
11372
  * @param changes
@@ -11088,6 +11629,7 @@ BryntumTreeGridComponent.bryntumConfigs = BryntumTreeGridComponent.bryntumFeatur
11088
11629
  'insertFirst',
11089
11630
  'keyMap',
11090
11631
  'labelPosition',
11632
+ 'labelWidth',
11091
11633
  'listeners',
11092
11634
  'loadMask',
11093
11635
  'loadMaskDefaults',
@@ -11114,6 +11656,7 @@ BryntumTreeGridComponent.bryntumConfigs = BryntumTreeGridComponent.bryntumFeatur
11114
11656
  'resizeToFitIncludesHeader',
11115
11657
  'responsiveLevels',
11116
11658
  'ripple',
11659
+ 'role',
11117
11660
  'rootElement',
11118
11661
  'rowHeight',
11119
11662
  'rowLines',
@@ -11200,6 +11743,7 @@ BryntumTreeGridComponent.bryntumConfigsOnly = [
11200
11743
  'resizeToFitIncludesHeader',
11201
11744
  'responsiveLevels',
11202
11745
  'ripple',
11746
+ 'role',
11203
11747
  'rootElement',
11204
11748
  'scrollerClass',
11205
11749
  'scrollManager',
@@ -11237,8 +11781,6 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11237
11781
  'enableUndoRedoKeys',
11238
11782
  'extraData',
11239
11783
  'flex',
11240
- 'focusVisible',
11241
- 'hasChanges',
11242
11784
  'height',
11243
11785
  'hidden',
11244
11786
  'hideFooters',
@@ -11249,6 +11791,7 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11249
11791
  'insertFirst',
11250
11792
  'keyMap',
11251
11793
  'labelPosition',
11794
+ 'labelWidth',
11252
11795
  'longPressTime',
11253
11796
  'margin',
11254
11797
  'maxHeight',
@@ -11282,7 +11825,7 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11282
11825
  'width'
11283
11826
  ]);
11284
11827
  BryntumTreeGridComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeGridComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
11285
- BryntumTreeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumTreeGridComponent, selector: "bryntum-tree-grid", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", focusVisible: "focusVisible", hasChanges: "hasChanges", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
11828
+ BryntumTreeGridComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumTreeGridComponent, selector: "bryntum-tree-grid", inputs: { adopt: "adopt", animateFilterRemovals: "animateFilterRemovals", animateRemovingRows: "animateRemovingRows", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoHeight: "autoHeight", bbar: "bbar", bodyCls: "bodyCls", border: "border", bubbleEvents: "bubbleEvents", collapsible: "collapsible", color: "color", config: "config", contentElementCls: "contentElementCls", contextMenuTriggerEvent: "contextMenuTriggerEvent", dataField: "dataField", defaultRegion: "defaultRegion", destroyStore: "destroyStore", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", disableGridColumnIdWarning: "disableGridColumnIdWarning", disableGridRowModelWarning: "disableGridRowModelWarning", dock: "dock", drawer: "drawer", elementAttributes: "elementAttributes", enableSticky: "enableSticky", enableTextSelection: "enableTextSelection", fillLastColumn: "fillLastColumn", fixedRowHeight: "fixedRowHeight", footer: "footer", formulaProviders: "formulaProviders", fullRowRefresh: "fullRowRefresh", getRowHeight: "getRowHeight", header: "header", hideHorizontalScrollbar: "hideHorizontalScrollbar", hoverCls: "hoverCls", icon: "icon", ignoreParentReadOnly: "ignoreParentReadOnly", listeners: "listeners", loadMask: "loadMask", loadMaskDefaults: "loadMaskDefaults", loadMaskError: "loadMaskError", localizable: "localizable", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", plugins: "plugins", preserveFocusOnDatasetChange: "preserveFocusOnDatasetChange", preserveScrollOnDatasetChange: "preserveScrollOnDatasetChange", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", resizable: "resizable", resizeToFitIncludesHeader: "resizeToFitIncludesHeader", responsiveLevels: "responsiveLevels", ripple: "ripple", role: "role", rootElement: "rootElement", scrollerClass: "scrollerClass", scrollManager: "scrollManager", showDirty: "showDirty", stateful: "stateful", statefulEvents: "statefulEvents", stateId: "stateId", stateProvider: "stateProvider", strips: "strips", subGridConfigs: "subGridConfigs", syncMask: "syncMask", tab: "tab", tabBarItems: "tabBarItems", tbar: "tbar", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animateTreeNodeToggle: "animateTreeNodeToggle", appendTo: "appendTo", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cellEllipsis: "cellEllipsis", cls: "cls", collapsed: "collapsed", column: "column", columnLines: "columnLines", columns: "columns", data: "data", dataset: "dataset", disabled: "disabled", emptyText: "emptyText", enableUndoRedoKeys: "enableUndoRedoKeys", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", hideFooters: "hideFooters", hideHeaders: "hideHeaders", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", labelPosition: "labelPosition", labelWidth: "labelWidth", longPressTime: "longPressTime", margin: "margin", maxHeight: "maxHeight", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", preserveScroll: "preserveScroll", readOnly: "readOnly", rendition: "rendition", rowHeight: "rowHeight", rowLines: "rowLines", rtl: "rtl", scrollable: "scrollable", selectionMode: "selectionMode", span: "span", stateSettings: "stateSettings", store: "store", title: "title", tools: "tools", transition: "transition", transitionDuration: "transitionDuration", width: "width", originalStore: "originalStore", parent: "parent", selectedCell: "selectedCell", selectedCells: "selectedCells", selectedRecord: "selectedRecord", selectedRecords: "selectedRecords", selectedRows: "selectedRows", state: "state", tooltip: "tooltip", aiFeature: "aiFeature", aiFilterFeature: "aiFilterFeature", cellCopyPasteFeature: "cellCopyPasteFeature", cellEditFeature: "cellEditFeature", cellMenuFeature: "cellMenuFeature", cellTooltipFeature: "cellTooltipFeature", chartsFeature: "chartsFeature", columnAutoWidthFeature: "columnAutoWidthFeature", columnDragToolbarFeature: "columnDragToolbarFeature", columnPickerFeature: "columnPickerFeature", columnRenameFeature: "columnRenameFeature", columnReorderFeature: "columnReorderFeature", columnResizeFeature: "columnResizeFeature", excelExporterFeature: "excelExporterFeature", fileDropFeature: "fileDropFeature", fillHandleFeature: "fillHandleFeature", filterFeature: "filterFeature", filterBarFeature: "filterBarFeature", groupFeature: "groupFeature", groupSummaryFeature: "groupSummaryFeature", headerMenuFeature: "headerMenuFeature", lockRowsFeature: "lockRowsFeature", mergeCellsFeature: "mergeCellsFeature", pdfExportFeature: "pdfExportFeature", pinColumnsFeature: "pinColumnsFeature", printFeature: "printFeature", quickFindFeature: "quickFindFeature", regionResizeFeature: "regionResizeFeature", rowCopyPasteFeature: "rowCopyPasteFeature", rowEditFeature: "rowEditFeature", rowExpanderFeature: "rowExpanderFeature", rowReorderFeature: "rowReorderFeature", rowResizeFeature: "rowResizeFeature", searchFeature: "searchFeature", sortFeature: "sortFeature", splitFeature: "splitFeature", stickyCellsFeature: "stickyCellsFeature", stripeFeature: "stripeFeature", summaryFeature: "summaryFeature", treeFeature: "treeFeature", treeGroupFeature: "treeGroupFeature" }, outputs: { onBeforeCancelCellEdit: "onBeforeCancelCellEdit", onBeforeCancelRowEdit: "onBeforeCancelRowEdit", onBeforeCellEditStart: "onBeforeCellEditStart", onBeforeCellRangeDelete: "onBeforeCellRangeDelete", onBeforeCellRangeEdit: "onBeforeCellRangeEdit", onBeforeColumnCollapseToggle: "onBeforeColumnCollapseToggle", onBeforeColumnDragStart: "onBeforeColumnDragStart", onBeforeColumnDropFinalize: "onBeforeColumnDropFinalize", onBeforeColumnResize: "onBeforeColumnResize", onBeforeCopy: "onBeforeCopy", onBeforeCSVExport: "onBeforeCSVExport", onBeforeDestroy: "onBeforeDestroy", onBeforeExcelExport: "onBeforeExcelExport", onBeforeFillHandleDragStart: "onBeforeFillHandleDragStart", onBeforeFinishCellEdit: "onBeforeFinishCellEdit", onBeforeFinishRowEdit: "onBeforeFinishRowEdit", onBeforeHide: "onBeforeHide", onBeforePaste: "onBeforePaste", onBeforePdfExport: "onBeforePdfExport", onBeforeRenderRow: "onBeforeRenderRow", onBeforeRenderRows: "onBeforeRenderRows", onBeforeRowCollapse: "onBeforeRowCollapse", onBeforeRowExpand: "onBeforeRowExpand", onBeforeSelectionChange: "onBeforeSelectionChange", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onBeforeStartRowEdit: "onBeforeStartRowEdit", onBeforeStateApply: "onBeforeStateApply", onBeforeStateSave: "onBeforeStateSave", onBeforeToggleGroup: "onBeforeToggleGroup", onBeforeToggleNode: "onBeforeToggleNode", onCancelCellEdit: "onCancelCellEdit", onCatchAll: "onCatchAll", onCellClick: "onCellClick", onCellContextMenu: "onCellContextMenu", onCellDblClick: "onCellDblClick", onCellMenuBeforeShow: "onCellMenuBeforeShow", onCellMenuItem: "onCellMenuItem", onCellMenuShow: "onCellMenuShow", onCellMenuToggleItem: "onCellMenuToggleItem", onCellMouseEnter: "onCellMouseEnter", onCellMouseLeave: "onCellMouseLeave", onCellMouseOut: "onCellMouseOut", onCellMouseOver: "onCellMouseOver", onCollapse: "onCollapse", onCollapseNode: "onCollapseNode", onColumnCollapseToggle: "onColumnCollapseToggle", onColumnDrag: "onColumnDrag", onColumnDragStart: "onColumnDragStart", onColumnDrop: "onColumnDrop", onColumnResize: "onColumnResize", onColumnResizeStart: "onColumnResizeStart", onContextMenuItem: "onContextMenuItem", onContextMenuToggleItem: "onContextMenuToggleItem", onCopy: "onCopy", onDataChange: "onDataChange", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onDragSelecting: "onDragSelecting", onElementCreated: "onElementCreated", onExpand: "onExpand", onExpandNode: "onExpandNode", onFileDrop: "onFileDrop", onFillHandleBeforeDragFinalize: "onFillHandleBeforeDragFinalize", onFillHandleDrag: "onFillHandleDrag", onFillHandleDragAbort: "onFillHandleDragAbort", onFillHandleDragEnd: "onFillHandleDragEnd", onFillHandleDragStart: "onFillHandleDragStart", onFinishCellEdit: "onFinishCellEdit", onFinishRowEdit: "onFinishRowEdit", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onGridRowBeforeDragStart: "onGridRowBeforeDragStart", onGridRowBeforeDropFinalize: "onGridRowBeforeDropFinalize", onGridRowDrag: "onGridRowDrag", onGridRowDragAbort: "onGridRowDragAbort", onGridRowDragStart: "onGridRowDragStart", onGridRowDrop: "onGridRowDrop", onHeaderClick: "onHeaderClick", onHeaderMenuBeforeShow: "onHeaderMenuBeforeShow", onHeaderMenuItem: "onHeaderMenuItem", onHeaderMenuShow: "onHeaderMenuShow", onHeaderMenuToggleItem: "onHeaderMenuToggleItem", onHide: "onHide", onLockRows: "onLockRows", onMouseOut: "onMouseOut", onMouseOver: "onMouseOver", onPaint: "onPaint", onPaste: "onPaste", onPdfExport: "onPdfExport", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onRenderRow: "onRenderRow", onRenderRows: "onRenderRows", onResize: "onResize", onResponsive: "onResponsive", onRowCollapse: "onRowCollapse", onRowExpand: "onRowExpand", onRowMouseEnter: "onRowMouseEnter", onRowMouseLeave: "onRowMouseLeave", onScroll: "onScroll", onSelectionChange: "onSelectionChange", onSelectionModeChange: "onSelectionModeChange", onShow: "onShow", onSplit: "onSplit", onSplitterCollapseClick: "onSplitterCollapseClick", onSplitterDragEnd: "onSplitterDragEnd", onSplitterDragStart: "onSplitterDragStart", onSplitterExpandClick: "onSplitterExpandClick", onStartCellEdit: "onStartCellEdit", onStartRowEdit: "onStartRowEdit", onSubGridCollapse: "onSubGridCollapse", onSubGridExpand: "onSubGridExpand", onToggleGroup: "onToggleGroup", onToggleNode: "onToggleNode", onToolClick: "onToolClick", onTreeGroup: "onTreeGroup", onUnlockRows: "onUnlockRows", onUnsplit: "onUnsplit" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
11286
11829
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeGridComponent, decorators: [{
11287
11830
  type: Component,
11288
11831
  args: [{
@@ -11397,6 +11940,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11397
11940
  type: Input
11398
11941
  }], ripple: [{
11399
11942
  type: Input
11943
+ }], role: [{
11944
+ type: Input
11400
11945
  }], rootElement: [{
11401
11946
  type: Input
11402
11947
  }], scrollerClass: [{
@@ -11487,6 +12032,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11487
12032
  type: Input
11488
12033
  }], labelPosition: [{
11489
12034
  type: Input
12035
+ }], labelWidth: [{
12036
+ type: Input
11490
12037
  }], longPressTime: [{
11491
12038
  type: Input
11492
12039
  }], margin: [{
@@ -11531,10 +12078,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11531
12078
  type: Input
11532
12079
  }], width: [{
11533
12080
  type: Input
11534
- }], focusVisible: [{
11535
- type: Input
11536
- }], hasChanges: [{
11537
- type: Input
11538
12081
  }], originalStore: [{
11539
12082
  type: Input
11540
12083
  }], parent: [{
@@ -11890,7 +12433,7 @@ BryntumGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
11890
12433
  BryntumGridFieldFilterPickerGroupComponent,
11891
12434
  BryntumGroupBarComponent,
11892
12435
  BryntumTreeComboComponent,
11893
- BryntumTreeGridComponent], exports: [BryntumAIFilterFieldComponent,
12436
+ BryntumTreeGridComponent], imports: [CommonModule], exports: [BryntumAIFilterFieldComponent,
11894
12437
  BryntumChecklistFilterComboComponent,
11895
12438
  BryntumGridComponent,
11896
12439
  BryntumGridBaseComponent,
@@ -11900,7 +12443,7 @@ BryntumGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
11900
12443
  BryntumGroupBarComponent,
11901
12444
  BryntumTreeComboComponent,
11902
12445
  BryntumTreeGridComponent] });
11903
- BryntumGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, imports: [[]] });
12446
+ BryntumGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, imports: [[CommonModule]] });
11904
12447
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, decorators: [{
11905
12448
  type: NgModule,
11906
12449
  args: [{
@@ -11916,7 +12459,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11916
12459
  BryntumTreeComboComponent,
11917
12460
  BryntumTreeGridComponent
11918
12461
  ],
11919
- imports: [],
12462
+ imports: [CommonModule],
11920
12463
  exports: [
11921
12464
  BryntumAIFilterFieldComponent,
11922
12465
  BryntumChecklistFilterComboComponent,