@bryntum/grid-angular-thin 7.2.3 → 7.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +4 -4
  2. package/bundles/bryntum-grid-angular-thin.umd.js +761 -230
  3. package/bundles/bryntum-grid-angular-thin.umd.js.map +1 -1
  4. package/esm2015/lib/bryntum-a-i-filter-field.component.js +62 -14
  5. package/esm2015/lib/bryntum-checklist-filter-combo.component.js +62 -14
  6. package/esm2015/lib/bryntum-grid-base.component.js +78 -35
  7. package/esm2015/lib/bryntum-grid-chart-designer.component.js +61 -12
  8. package/esm2015/lib/bryntum-grid-field-filter-picker-group.component.js +65 -21
  9. package/esm2015/lib/bryntum-grid-field-filter-picker.component.js +65 -21
  10. package/esm2015/lib/bryntum-grid.component.js +78 -35
  11. package/esm2015/lib/bryntum-group-bar.component.js +61 -12
  12. package/esm2015/lib/bryntum-tree-combo.component.js +62 -14
  13. package/esm2015/lib/bryntum-tree-grid.component.js +78 -35
  14. package/esm2015/lib/grid.module.js +5 -4
  15. package/esm2015/lib/shadowdom.helper.js +82 -0
  16. package/fesm2015/bryntum-grid-angular-thin.js +738 -207
  17. package/fesm2015/bryntum-grid-angular-thin.js.map +1 -1
  18. package/lib/bryntum-a-i-filter-field.component.d.ts +87 -133
  19. package/lib/bryntum-checklist-filter-combo.component.d.ts +106 -166
  20. package/lib/bryntum-grid-base.component.d.ts +238 -303
  21. package/lib/bryntum-grid-chart-designer.component.d.ts +71 -108
  22. package/lib/bryntum-grid-field-filter-picker-group.component.d.ts +93 -143
  23. package/lib/bryntum-grid-field-filter-picker.component.d.ts +94 -145
  24. package/lib/bryntum-grid.component.d.ts +238 -303
  25. package/lib/bryntum-group-bar.component.d.ts +77 -118
  26. package/lib/bryntum-tree-combo.component.d.ts +107 -168
  27. package/lib/bryntum-tree-grid.component.d.ts +238 -303
  28. package/lib/grid.module.d.ts +2 -1
  29. package/lib/shadowdom.helper.d.ts +3 -0
  30. package/package.json +1 -1
  31. package/src/lib/bryntum-a-i-filter-field.component.ts +146 -141
  32. package/src/lib/bryntum-checklist-filter-combo.component.ts +166 -175
  33. package/src/lib/bryntum-grid-base.component.ts +275 -319
  34. package/src/lib/bryntum-grid-chart-designer.component.ts +126 -112
  35. package/src/lib/bryntum-grid-field-filter-picker-group.component.ts +152 -152
  36. package/src/lib/bryntum-grid-field-filter-picker.component.ts +152 -153
  37. package/src/lib/bryntum-grid.component.ts +275 -319
  38. package/src/lib/bryntum-group-bar.component.ts +132 -122
  39. package/src/lib/bryntum-theme-combo.component.ts +128 -0
  40. package/src/lib/bryntum-tree-combo.component.ts +166 -176
  41. package/src/lib/bryntum-tree-grid.component.ts +275 -319
  42. package/src/lib/grid.module.ts +2 -1
  43. package/src/lib/shadowdom.helper.ts +91 -0
@@ -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
@@ -432,6 +563,7 @@ BryntumAIFilterFieldComponent.bryntumConfigs = BryntumAIFilterFieldComponent.bry
432
563
  'required',
433
564
  'revertOnEscape',
434
565
  'ripple',
566
+ 'role',
435
567
  'rootElement',
436
568
  'rtl',
437
569
  'scrollAction',
@@ -513,6 +645,7 @@ BryntumAIFilterFieldComponent.bryntumConfigsOnly = [
513
645
  'relayStoreEvents',
514
646
  'revertOnEscape',
515
647
  'ripple',
648
+ 'role',
516
649
  'rootElement',
517
650
  'scrollAction',
518
651
  'showAnimation',
@@ -530,7 +663,6 @@ BryntumAIFilterFieldComponent.bryntumConfigsOnly = [
530
663
  ];
531
664
  BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.bryntumFeatureNames.concat([
532
665
  'alignSelf',
533
- 'anchorSize',
534
666
  'appendTo',
535
667
  'badge',
536
668
  'callOnFunctions',
@@ -543,7 +675,6 @@ BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.brynt
543
675
  'editable',
544
676
  'extraData',
545
677
  'flex',
546
- 'focusVisible',
547
678
  'formula',
548
679
  'height',
549
680
  'hidden',
@@ -577,7 +708,7 @@ BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.brynt
577
708
  'y'
578
709
  ]);
579
710
  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 });
711
+ 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", 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
712
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumAIFilterFieldComponent, decorators: [{
582
713
  type: Component,
583
714
  args: [{
@@ -696,6 +827,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
696
827
  type: Input
697
828
  }], ripple: [{
698
829
  type: Input
830
+ }], role: [{
831
+ type: Input
699
832
  }], rootElement: [{
700
833
  type: Input
701
834
  }], scrollAction: [{
@@ -800,12 +933,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
800
933
  type: Input
801
934
  }], y: [{
802
935
  type: Input
803
- }], anchorSize: [{
804
- type: Input
805
936
  }], content: [{
806
937
  type: Input
807
- }], focusVisible: [{
808
- type: Input
809
938
  }], formula: [{
810
939
  type: Input
811
940
  }], html: [{
@@ -898,8 +1027,7 @@ class BryntumChecklistFilterComboComponent {
898
1027
  this.onBeforeShow = new EventEmitter();
899
1028
  /**
900
1029
  * 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)
1030
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-catchAll)
903
1031
  * @param {object} event Event object
904
1032
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
905
1033
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -919,8 +1047,7 @@ class BryntumChecklistFilterComboComponent {
919
1047
  this.onChange = new EventEmitter();
920
1048
  /**
921
1049
  * 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)
1050
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-clear)
924
1051
  * @param {object} event Event object
925
1052
  * @param {Core.widget.Field,any} event.source This Field
926
1053
  */
@@ -979,8 +1106,7 @@ class BryntumChecklistFilterComboComponent {
979
1106
  /**
980
1107
  * Triggered when a widget which had been in a non-visible state for any reason
981
1108
  * achieves visibility.
982
- * ...
983
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
1109
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
984
1110
  * @param {object} event Event object
985
1111
  * @param {Core.widget.Widget} event.source The widget being painted.
986
1112
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -1075,9 +1201,61 @@ class BryntumChecklistFilterComboComponent {
1075
1201
  else {
1076
1202
  WrapperHelper.devWarningContainer(instanceName, containerParam);
1077
1203
  }
1204
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
1205
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
1206
+ // finds the theme. The @font-face rules from component styles are also extracted to
1207
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
1208
+ // included in document.fonts across all browsers).
1209
+ const shadowRoot = elementRef.nativeElement.getRootNode();
1210
+ if (shadowRoot instanceof ShadowRoot) {
1211
+ initThemeInShadowRoots();
1212
+ BryntumChecklistFilterComboComponent.ensureFontsInDocument(shadowRoot);
1213
+ }
1078
1214
  // @ts-ignore
1079
1215
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
1080
1216
  }
1217
+ /**
1218
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
1219
+ * document.head as a single <style> element. This is needed because @font-face rules inside
1220
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
1221
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
1222
+ * Safe to call multiple times — the extraction runs only once per page.
1223
+ */
1224
+ static ensureFontsInDocument(shadowRoot) {
1225
+ var _a;
1226
+ if (document.querySelector('#b-shadow-root-fonts')) {
1227
+ return;
1228
+ }
1229
+ const fontFaceRules = [];
1230
+ const extractFromSheet = (sheet) => {
1231
+ try {
1232
+ const rules = sheet.cssRules;
1233
+ for (let i = 0; i < rules.length; i++) {
1234
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
1235
+ fontFaceRules.push(rules[i].cssText);
1236
+ }
1237
+ }
1238
+ }
1239
+ catch (_e) {
1240
+ // Cross-origin access may throw; silently skip
1241
+ }
1242
+ };
1243
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
1244
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
1245
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
1246
+ // <style> elements (older Angular or fallback)
1247
+ shadowRoot.querySelectorAll('style').forEach(el => {
1248
+ if (el.sheet) {
1249
+ extractFromSheet(el.sheet);
1250
+ }
1251
+ });
1252
+ if (fontFaceRules.length > 0) {
1253
+ const style = document.createElement('style');
1254
+ style.id = 'b-shadow-root-fonts';
1255
+ style.textContent = fontFaceRules.join('\n');
1256
+ document.head.appendChild(style);
1257
+ }
1258
+ }
1081
1259
  /**
1082
1260
  * Watch for changes
1083
1261
  * @param changes
@@ -1248,6 +1426,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigs = BryntumChecklistFilterComb
1248
1426
  'required',
1249
1427
  'revertOnEscape',
1250
1428
  'ripple',
1429
+ 'role',
1251
1430
  'rootElement',
1252
1431
  'rtl',
1253
1432
  'scrollAction',
@@ -1361,6 +1540,7 @@ BryntumChecklistFilterComboComponent.bryntumConfigsOnly = [
1361
1540
  'relayStoreEvents',
1362
1541
  'revertOnEscape',
1363
1542
  'ripple',
1543
+ 'role',
1364
1544
  'rootElement',
1365
1545
  'scrollAction',
1366
1546
  'showAnimation',
@@ -1381,7 +1561,6 @@ BryntumChecklistFilterComboComponent.bryntumConfigsOnly = [
1381
1561
  ];
1382
1562
  BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboComponent.bryntumFeatureNames.concat([
1383
1563
  'alignSelf',
1384
- 'anchorSize',
1385
1564
  'appendTo',
1386
1565
  'badge',
1387
1566
  'callOnFunctions',
@@ -1395,7 +1574,6 @@ BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboC
1395
1574
  'extraData',
1396
1575
  'filterOperator',
1397
1576
  'flex',
1398
- 'focusVisible',
1399
1577
  'formula',
1400
1578
  'height',
1401
1579
  'hidden',
@@ -1435,7 +1613,7 @@ BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboC
1435
1613
  'y'
1436
1614
  ]);
1437
1615
  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 });
1616
+ 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", 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
1617
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChecklistFilterComboComponent, decorators: [{
1440
1618
  type: Component,
1441
1619
  args: [{
@@ -1606,6 +1784,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1606
1784
  type: Input
1607
1785
  }], ripple: [{
1608
1786
  type: Input
1787
+ }], role: [{
1788
+ type: Input
1609
1789
  }], rootElement: [{
1610
1790
  type: Input
1611
1791
  }], scrollAction: [{
@@ -1728,12 +1908,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
1728
1908
  type: Input
1729
1909
  }], y: [{
1730
1910
  type: Input
1731
- }], anchorSize: [{
1732
- type: Input
1733
1911
  }], content: [{
1734
1912
  type: Input
1735
- }], focusVisible: [{
1736
- type: Input
1737
1913
  }], formula: [{
1738
1914
  type: Input
1739
1915
  }], html: [{
@@ -1809,8 +1985,7 @@ class BryntumGridComponent {
1809
1985
  this.onBeforeCancelCellEdit = new EventEmitter();
1810
1986
  /**
1811
1987
  * 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)
1988
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
1814
1989
  * @param {object} event Event object
1815
1990
  * @param {Grid.view.Grid} event.grid Target grid
1816
1991
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1925,8 +2100,7 @@ class BryntumGridComponent {
1925
2100
  this.onBeforeFinishCellEdit = new EventEmitter();
1926
2101
  /**
1927
2102
  * 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)
2103
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
1930
2104
  * @param {object} event Event object
1931
2105
  * @param {Grid.view.Grid} event.grid Target grid
1932
2106
  * @param {RowEditorContext} event.editorContext Editing context
@@ -1971,16 +2145,14 @@ class BryntumGridComponent {
1971
2145
  this.onBeforeRenderRows = new EventEmitter();
1972
2146
  /**
1973
2147
  * 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)
2148
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
1976
2149
  * @param {object} event Event object
1977
2150
  * @param {Core.data.Model} event.record Record
1978
2151
  */
1979
2152
  this.onBeforeRowCollapse = new EventEmitter();
1980
2153
  /**
1981
2154
  * 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)
2155
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
1984
2156
  * @param {object} event Event object
1985
2157
  * @param {Core.data.Model} event.record Record
1986
2158
  */
@@ -2060,8 +2232,7 @@ class BryntumGridComponent {
2060
2232
  this.onCancelCellEdit = new EventEmitter();
2061
2233
  /**
2062
2234
  * 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)
2235
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
2065
2236
  * @param {object} event Event object
2066
2237
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
2067
2238
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -2103,8 +2274,7 @@ class BryntumGridComponent {
2103
2274
  /**
2104
2275
  * This event fires on the owning grid before the context menu is shown for a cell.
2105
2276
  * 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)
2277
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2108
2278
  * @param {object} event Event object
2109
2279
  * @param {Grid.view.Grid} event.source The grid
2110
2280
  * @param {Core.widget.Menu} event.menu The menu
@@ -2285,8 +2455,7 @@ class BryntumGridComponent {
2285
2455
  this.onCopy = new EventEmitter();
2286
2456
  /**
2287
2457
  * Fired when data in the store changes.
2288
- * ...
2289
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2458
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2290
2459
  * @param {object} event Event object
2291
2460
  * @param {Grid.view.GridBase} event.source Owning grid
2292
2461
  * @param {Core.data.Store} event.store The originating store
@@ -2390,8 +2559,7 @@ class BryntumGridComponent {
2390
2559
  this.onFinishCellEdit = new EventEmitter();
2391
2560
  /**
2392
2561
  * 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)
2562
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2395
2563
  * @param {object} event Event object
2396
2564
  * @param {Grid.view.Grid} event.grid Target grid
2397
2565
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2491,8 +2659,7 @@ class BryntumGridComponent {
2491
2659
  this.onGridRowDrop = new EventEmitter();
2492
2660
  /**
2493
2661
  * 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)
2662
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2496
2663
  * @param {object} event Event object
2497
2664
  * @param {Event} event.domEvent The triggering DOM event.
2498
2665
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -2501,8 +2668,7 @@ class BryntumGridComponent {
2501
2668
  /**
2502
2669
  * This event fires on the owning Grid before the context menu is shown for a header.
2503
2670
  * 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)
2671
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2506
2672
  * @param {object} event Event object
2507
2673
  * @param {Grid.view.Grid} event.source The grid
2508
2674
  * @param {Core.widget.Menu} event.menu The menu
@@ -2565,8 +2731,7 @@ class BryntumGridComponent {
2565
2731
  /**
2566
2732
  * Triggered when a widget which had been in a non-visible state for any reason
2567
2733
  * achieves visibility.
2568
- * ...
2569
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2734
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2570
2735
  * @param {object} event Event object
2571
2736
  * @param {Core.widget.Widget} event.source The widget being painted.
2572
2737
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -2585,8 +2750,8 @@ class BryntumGridComponent {
2585
2750
  /**
2586
2751
  * Fires on the owning Grid when export has finished
2587
2752
  * @param {object} event Event object
2588
- * @param {Response} event.response Optional response, if received
2589
- * @param {Error} event.error Optional error, if exception occurred
2753
+ * @param {Response} [event.response] Optional response, if received
2754
+ * @param {Error} [event.error] Optional error, if exception occurred
2590
2755
  */
2591
2756
  this.onPdfExport = new EventEmitter();
2592
2757
  /**
@@ -2643,8 +2808,7 @@ class BryntumGridComponent {
2643
2808
  this.onRowCollapse = new EventEmitter();
2644
2809
  /**
2645
2810
  * 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)
2811
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
2648
2812
  * @param {object} event Event object
2649
2813
  * @param {Core.data.Model} event.record Record
2650
2814
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -2782,7 +2946,7 @@ class BryntumGridComponent {
2782
2946
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
2783
2947
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
2784
2948
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
2785
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
2949
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
2786
2950
  */
2787
2951
  this.onToggleGroup = new EventEmitter();
2788
2952
  /**
@@ -2863,6 +3027,16 @@ class BryntumGridComponent {
2863
3027
  else {
2864
3028
  WrapperHelper.devWarningContainer(instanceName, containerParam);
2865
3029
  }
3030
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
3031
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
3032
+ // finds the theme. The @font-face rules from component styles are also extracted to
3033
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
3034
+ // included in document.fonts across all browsers).
3035
+ const shadowRoot = elementRef.nativeElement.getRootNode();
3036
+ if (shadowRoot instanceof ShadowRoot) {
3037
+ initThemeInShadowRoots();
3038
+ BryntumGridComponent.ensureFontsInDocument(shadowRoot);
3039
+ }
2866
3040
  // @ts-ignore
2867
3041
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
2868
3042
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -2870,6 +3044,48 @@ class BryntumGridComponent {
2870
3044
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
2871
3045
  //
2872
3046
  }
3047
+ /**
3048
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
3049
+ * document.head as a single <style> element. This is needed because @font-face rules inside
3050
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
3051
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
3052
+ * Safe to call multiple times — the extraction runs only once per page.
3053
+ */
3054
+ static ensureFontsInDocument(shadowRoot) {
3055
+ var _a;
3056
+ if (document.querySelector('#b-shadow-root-fonts')) {
3057
+ return;
3058
+ }
3059
+ const fontFaceRules = [];
3060
+ const extractFromSheet = (sheet) => {
3061
+ try {
3062
+ const rules = sheet.cssRules;
3063
+ for (let i = 0; i < rules.length; i++) {
3064
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
3065
+ fontFaceRules.push(rules[i].cssText);
3066
+ }
3067
+ }
3068
+ }
3069
+ catch (_e) {
3070
+ // Cross-origin access may throw; silently skip
3071
+ }
3072
+ };
3073
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
3074
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
3075
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
3076
+ // <style> elements (older Angular or fallback)
3077
+ shadowRoot.querySelectorAll('style').forEach(el => {
3078
+ if (el.sheet) {
3079
+ extractFromSheet(el.sheet);
3080
+ }
3081
+ });
3082
+ if (fontFaceRules.length > 0) {
3083
+ const style = document.createElement('style');
3084
+ style.id = 'b-shadow-root-fonts';
3085
+ style.textContent = fontFaceRules.join('\n');
3086
+ document.head.appendChild(style);
3087
+ }
3088
+ }
2873
3089
  /**
2874
3090
  * Watch for changes
2875
3091
  * @param changes
@@ -3132,6 +3348,7 @@ BryntumGridComponent.bryntumConfigs = BryntumGridComponent.bryntumFeatureNames.c
3132
3348
  'insertFirst',
3133
3349
  'keyMap',
3134
3350
  'labelPosition',
3351
+ 'labelWidth',
3135
3352
  'listeners',
3136
3353
  'loadMask',
3137
3354
  'loadMaskDefaults',
@@ -3158,6 +3375,7 @@ BryntumGridComponent.bryntumConfigs = BryntumGridComponent.bryntumFeatureNames.c
3158
3375
  'resizeToFitIncludesHeader',
3159
3376
  'responsiveLevels',
3160
3377
  'ripple',
3378
+ 'role',
3161
3379
  'rootElement',
3162
3380
  'rowHeight',
3163
3381
  'rowLines',
@@ -3244,6 +3462,7 @@ BryntumGridComponent.bryntumConfigsOnly = [
3244
3462
  'resizeToFitIncludesHeader',
3245
3463
  'responsiveLevels',
3246
3464
  'ripple',
3465
+ 'role',
3247
3466
  'rootElement',
3248
3467
  'scrollerClass',
3249
3468
  'scrollManager',
@@ -3281,8 +3500,6 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3281
3500
  'enableUndoRedoKeys',
3282
3501
  'extraData',
3283
3502
  'flex',
3284
- 'focusVisible',
3285
- 'hasChanges',
3286
3503
  'height',
3287
3504
  'hidden',
3288
3505
  'hideFooters',
@@ -3293,6 +3510,7 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3293
3510
  'insertFirst',
3294
3511
  'keyMap',
3295
3512
  'labelPosition',
3513
+ 'labelWidth',
3296
3514
  'longPressTime',
3297
3515
  'margin',
3298
3516
  'maxHeight',
@@ -3326,7 +3544,7 @@ BryntumGridComponent.bryntumProps = BryntumGridComponent.bryntumFeatureNames.con
3326
3544
  'width'
3327
3545
  ]);
3328
3546
  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 });
3547
+ 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
3548
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridComponent, decorators: [{
3331
3549
  type: Component,
3332
3550
  args: [{
@@ -3441,6 +3659,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3441
3659
  type: Input
3442
3660
  }], ripple: [{
3443
3661
  type: Input
3662
+ }], role: [{
3663
+ type: Input
3444
3664
  }], rootElement: [{
3445
3665
  type: Input
3446
3666
  }], scrollerClass: [{
@@ -3531,6 +3751,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3531
3751
  type: Input
3532
3752
  }], labelPosition: [{
3533
3753
  type: Input
3754
+ }], labelWidth: [{
3755
+ type: Input
3534
3756
  }], longPressTime: [{
3535
3757
  type: Input
3536
3758
  }], margin: [{
@@ -3575,10 +3797,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
3575
3797
  type: Input
3576
3798
  }], width: [{
3577
3799
  type: Input
3578
- }], focusVisible: [{
3579
- type: Input
3580
- }], hasChanges: [{
3581
- type: Input
3582
3800
  }], originalStore: [{
3583
3801
  type: Input
3584
3802
  }], parent: [{
@@ -3940,8 +4158,7 @@ class BryntumGridBaseComponent {
3940
4158
  this.onBeforeCancelCellEdit = new EventEmitter();
3941
4159
  /**
3942
4160
  * 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)
4161
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
3945
4162
  * @param {object} event Event object
3946
4163
  * @param {Grid.view.Grid} event.grid Target grid
3947
4164
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4056,8 +4273,7 @@ class BryntumGridBaseComponent {
4056
4273
  this.onBeforeFinishCellEdit = new EventEmitter();
4057
4274
  /**
4058
4275
  * 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)
4276
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
4061
4277
  * @param {object} event Event object
4062
4278
  * @param {Grid.view.Grid} event.grid Target grid
4063
4279
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4102,16 +4318,14 @@ class BryntumGridBaseComponent {
4102
4318
  this.onBeforeRenderRows = new EventEmitter();
4103
4319
  /**
4104
4320
  * 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)
4321
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
4107
4322
  * @param {object} event Event object
4108
4323
  * @param {Core.data.Model} event.record Record
4109
4324
  */
4110
4325
  this.onBeforeRowCollapse = new EventEmitter();
4111
4326
  /**
4112
4327
  * 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)
4328
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
4115
4329
  * @param {object} event Event object
4116
4330
  * @param {Core.data.Model} event.record Record
4117
4331
  */
@@ -4191,8 +4405,7 @@ class BryntumGridBaseComponent {
4191
4405
  this.onCancelCellEdit = new EventEmitter();
4192
4406
  /**
4193
4407
  * 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)
4408
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
4196
4409
  * @param {object} event Event object
4197
4410
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
4198
4411
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -4234,8 +4447,7 @@ class BryntumGridBaseComponent {
4234
4447
  /**
4235
4448
  * This event fires on the owning grid before the context menu is shown for a cell.
4236
4449
  * 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)
4450
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
4239
4451
  * @param {object} event Event object
4240
4452
  * @param {Grid.view.Grid} event.source The grid
4241
4453
  * @param {Core.widget.Menu} event.menu The menu
@@ -4416,8 +4628,7 @@ class BryntumGridBaseComponent {
4416
4628
  this.onCopy = new EventEmitter();
4417
4629
  /**
4418
4630
  * Fired when data in the store changes.
4419
- * ...
4420
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
4631
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
4421
4632
  * @param {object} event Event object
4422
4633
  * @param {Grid.view.GridBase} event.source Owning grid
4423
4634
  * @param {Core.data.Store} event.store The originating store
@@ -4521,8 +4732,7 @@ class BryntumGridBaseComponent {
4521
4732
  this.onFinishCellEdit = new EventEmitter();
4522
4733
  /**
4523
4734
  * 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)
4735
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
4526
4736
  * @param {object} event Event object
4527
4737
  * @param {Grid.view.Grid} event.grid Target grid
4528
4738
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4622,8 +4832,7 @@ class BryntumGridBaseComponent {
4622
4832
  this.onGridRowDrop = new EventEmitter();
4623
4833
  /**
4624
4834
  * 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)
4835
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
4627
4836
  * @param {object} event Event object
4628
4837
  * @param {Event} event.domEvent The triggering DOM event.
4629
4838
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -4632,8 +4841,7 @@ class BryntumGridBaseComponent {
4632
4841
  /**
4633
4842
  * This event fires on the owning Grid before the context menu is shown for a header.
4634
4843
  * 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)
4844
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
4637
4845
  * @param {object} event Event object
4638
4846
  * @param {Grid.view.Grid} event.source The grid
4639
4847
  * @param {Core.widget.Menu} event.menu The menu
@@ -4696,8 +4904,7 @@ class BryntumGridBaseComponent {
4696
4904
  /**
4697
4905
  * Triggered when a widget which had been in a non-visible state for any reason
4698
4906
  * achieves visibility.
4699
- * ...
4700
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
4907
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
4701
4908
  * @param {object} event Event object
4702
4909
  * @param {Core.widget.Widget} event.source The widget being painted.
4703
4910
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -4716,8 +4923,8 @@ class BryntumGridBaseComponent {
4716
4923
  /**
4717
4924
  * Fires on the owning Grid when export has finished
4718
4925
  * @param {object} event Event object
4719
- * @param {Response} event.response Optional response, if received
4720
- * @param {Error} event.error Optional error, if exception occurred
4926
+ * @param {Response} [event.response] Optional response, if received
4927
+ * @param {Error} [event.error] Optional error, if exception occurred
4721
4928
  */
4722
4929
  this.onPdfExport = new EventEmitter();
4723
4930
  /**
@@ -4774,8 +4981,7 @@ class BryntumGridBaseComponent {
4774
4981
  this.onRowCollapse = new EventEmitter();
4775
4982
  /**
4776
4983
  * 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)
4984
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
4779
4985
  * @param {object} event Event object
4780
4986
  * @param {Core.data.Model} event.record Record
4781
4987
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -4913,7 +5119,7 @@ class BryntumGridBaseComponent {
4913
5119
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
4914
5120
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
4915
5121
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
4916
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
5122
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
4917
5123
  */
4918
5124
  this.onToggleGroup = new EventEmitter();
4919
5125
  /**
@@ -4994,6 +5200,16 @@ class BryntumGridBaseComponent {
4994
5200
  else {
4995
5201
  WrapperHelper.devWarningContainer(instanceName, containerParam);
4996
5202
  }
5203
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
5204
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
5205
+ // finds the theme. The @font-face rules from component styles are also extracted to
5206
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
5207
+ // included in document.fonts across all browsers).
5208
+ const shadowRoot = elementRef.nativeElement.getRootNode();
5209
+ if (shadowRoot instanceof ShadowRoot) {
5210
+ initThemeInShadowRoots();
5211
+ BryntumGridBaseComponent.ensureFontsInDocument(shadowRoot);
5212
+ }
4997
5213
  // @ts-ignore
4998
5214
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
4999
5215
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -5001,6 +5217,48 @@ class BryntumGridBaseComponent {
5001
5217
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
5002
5218
  //
5003
5219
  }
5220
+ /**
5221
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
5222
+ * document.head as a single <style> element. This is needed because @font-face rules inside
5223
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
5224
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
5225
+ * Safe to call multiple times — the extraction runs only once per page.
5226
+ */
5227
+ static ensureFontsInDocument(shadowRoot) {
5228
+ var _a;
5229
+ if (document.querySelector('#b-shadow-root-fonts')) {
5230
+ return;
5231
+ }
5232
+ const fontFaceRules = [];
5233
+ const extractFromSheet = (sheet) => {
5234
+ try {
5235
+ const rules = sheet.cssRules;
5236
+ for (let i = 0; i < rules.length; i++) {
5237
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
5238
+ fontFaceRules.push(rules[i].cssText);
5239
+ }
5240
+ }
5241
+ }
5242
+ catch (_e) {
5243
+ // Cross-origin access may throw; silently skip
5244
+ }
5245
+ };
5246
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
5247
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
5248
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
5249
+ // <style> elements (older Angular or fallback)
5250
+ shadowRoot.querySelectorAll('style').forEach(el => {
5251
+ if (el.sheet) {
5252
+ extractFromSheet(el.sheet);
5253
+ }
5254
+ });
5255
+ if (fontFaceRules.length > 0) {
5256
+ const style = document.createElement('style');
5257
+ style.id = 'b-shadow-root-fonts';
5258
+ style.textContent = fontFaceRules.join('\n');
5259
+ document.head.appendChild(style);
5260
+ }
5261
+ }
5004
5262
  /**
5005
5263
  * Watch for changes
5006
5264
  * @param changes
@@ -5263,6 +5521,7 @@ BryntumGridBaseComponent.bryntumConfigs = BryntumGridBaseComponent.bryntumFeatur
5263
5521
  'insertFirst',
5264
5522
  'keyMap',
5265
5523
  'labelPosition',
5524
+ 'labelWidth',
5266
5525
  'listeners',
5267
5526
  'loadMask',
5268
5527
  'loadMaskDefaults',
@@ -5289,6 +5548,7 @@ BryntumGridBaseComponent.bryntumConfigs = BryntumGridBaseComponent.bryntumFeatur
5289
5548
  'resizeToFitIncludesHeader',
5290
5549
  'responsiveLevels',
5291
5550
  'ripple',
5551
+ 'role',
5292
5552
  'rootElement',
5293
5553
  'rowHeight',
5294
5554
  'rowLines',
@@ -5374,6 +5634,7 @@ BryntumGridBaseComponent.bryntumConfigsOnly = [
5374
5634
  'resizeToFitIncludesHeader',
5375
5635
  'responsiveLevels',
5376
5636
  'ripple',
5637
+ 'role',
5377
5638
  'rootElement',
5378
5639
  'scrollerClass',
5379
5640
  'scrollManager',
@@ -5410,8 +5671,6 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5410
5671
  'enableUndoRedoKeys',
5411
5672
  'extraData',
5412
5673
  'flex',
5413
- 'focusVisible',
5414
- 'hasChanges',
5415
5674
  'height',
5416
5675
  'hidden',
5417
5676
  'hideFooters',
@@ -5422,6 +5681,7 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5422
5681
  'insertFirst',
5423
5682
  'keyMap',
5424
5683
  'labelPosition',
5684
+ 'labelWidth',
5425
5685
  'longPressTime',
5426
5686
  'margin',
5427
5687
  'maxHeight',
@@ -5455,7 +5715,7 @@ BryntumGridBaseComponent.bryntumProps = BryntumGridBaseComponent.bryntumFeatureN
5455
5715
  'width'
5456
5716
  ]);
5457
5717
  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 });
5718
+ 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
5719
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridBaseComponent, decorators: [{
5460
5720
  type: Component,
5461
5721
  args: [{
@@ -5570,6 +5830,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5570
5830
  type: Input
5571
5831
  }], ripple: [{
5572
5832
  type: Input
5833
+ }], role: [{
5834
+ type: Input
5573
5835
  }], rootElement: [{
5574
5836
  type: Input
5575
5837
  }], scrollerClass: [{
@@ -5658,6 +5920,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5658
5920
  type: Input
5659
5921
  }], labelPosition: [{
5660
5922
  type: Input
5923
+ }], labelWidth: [{
5924
+ type: Input
5661
5925
  }], longPressTime: [{
5662
5926
  type: Input
5663
5927
  }], margin: [{
@@ -5702,10 +5966,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
5702
5966
  type: Input
5703
5967
  }], width: [{
5704
5968
  type: Input
5705
- }], focusVisible: [{
5706
- type: Input
5707
- }], hasChanges: [{
5708
- type: Input
5709
5969
  }], originalStore: [{
5710
5970
  type: Input
5711
5971
  }], parent: [{
@@ -6078,8 +6338,7 @@ class BryntumGridChartDesignerComponent {
6078
6338
  this.onBeforeShow = new EventEmitter();
6079
6339
  /**
6080
6340
  * 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)
6341
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-catchAll)
6083
6342
  * @param {object} event Event object
6084
6343
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
6085
6344
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -6130,8 +6389,7 @@ class BryntumGridChartDesignerComponent {
6130
6389
  /**
6131
6390
  * Triggered when a widget which had been in a non-visible state for any reason
6132
6391
  * achieves visibility.
6133
- * ...
6134
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6392
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6135
6393
  * @param {object} event Event object
6136
6394
  * @param {Core.widget.Widget} event.source The widget being painted.
6137
6395
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -6210,9 +6468,61 @@ class BryntumGridChartDesignerComponent {
6210
6468
  else {
6211
6469
  WrapperHelper.devWarningContainer(instanceName, containerParam);
6212
6470
  }
6471
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
6472
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
6473
+ // finds the theme. The @font-face rules from component styles are also extracted to
6474
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
6475
+ // included in document.fonts across all browsers).
6476
+ const shadowRoot = elementRef.nativeElement.getRootNode();
6477
+ if (shadowRoot instanceof ShadowRoot) {
6478
+ initThemeInShadowRoots();
6479
+ BryntumGridChartDesignerComponent.ensureFontsInDocument(shadowRoot);
6480
+ }
6213
6481
  // @ts-ignore
6214
6482
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
6215
6483
  }
6484
+ /**
6485
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
6486
+ * document.head as a single <style> element. This is needed because @font-face rules inside
6487
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
6488
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
6489
+ * Safe to call multiple times — the extraction runs only once per page.
6490
+ */
6491
+ static ensureFontsInDocument(shadowRoot) {
6492
+ var _a;
6493
+ if (document.querySelector('#b-shadow-root-fonts')) {
6494
+ return;
6495
+ }
6496
+ const fontFaceRules = [];
6497
+ const extractFromSheet = (sheet) => {
6498
+ try {
6499
+ const rules = sheet.cssRules;
6500
+ for (let i = 0; i < rules.length; i++) {
6501
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
6502
+ fontFaceRules.push(rules[i].cssText);
6503
+ }
6504
+ }
6505
+ }
6506
+ catch (_e) {
6507
+ // Cross-origin access may throw; silently skip
6508
+ }
6509
+ };
6510
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
6511
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
6512
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
6513
+ // <style> elements (older Angular or fallback)
6514
+ shadowRoot.querySelectorAll('style').forEach(el => {
6515
+ if (el.sheet) {
6516
+ extractFromSheet(el.sheet);
6517
+ }
6518
+ });
6519
+ if (fontFaceRules.length > 0) {
6520
+ const style = document.createElement('style');
6521
+ style.id = 'b-shadow-root-fonts';
6522
+ style.textContent = fontFaceRules.join('\n');
6523
+ document.head.appendChild(style);
6524
+ }
6525
+ }
6216
6526
  /**
6217
6527
  * Watch for changes
6218
6528
  * @param changes
@@ -6321,6 +6631,7 @@ BryntumGridChartDesignerComponent.bryntumConfigs = BryntumGridChartDesignerCompo
6321
6631
  'readOnly',
6322
6632
  'relayStoreEvents',
6323
6633
  'ripple',
6634
+ 'role',
6324
6635
  'rootElement',
6325
6636
  'rtl',
6326
6637
  'scrollable',
@@ -6375,6 +6686,7 @@ BryntumGridChartDesignerComponent.bryntumConfigsOnly = [
6375
6686
  'preventTooltipOnTouch',
6376
6687
  'relayStoreEvents',
6377
6688
  'ripple',
6689
+ 'role',
6378
6690
  'rootElement',
6379
6691
  'scrollAction',
6380
6692
  'showAnimation',
@@ -6390,7 +6702,6 @@ BryntumGridChartDesignerComponent.bryntumConfigsOnly = [
6390
6702
  ];
6391
6703
  BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerComponent.bryntumFeatureNames.concat([
6392
6704
  'alignSelf',
6393
- 'anchorSize',
6394
6705
  'appendTo',
6395
6706
  'callOnFunctions',
6396
6707
  'catchEventHandlerExceptions',
@@ -6401,7 +6712,6 @@ BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerCompone
6401
6712
  'disabled',
6402
6713
  'extraData',
6403
6714
  'flex',
6404
- 'focusVisible',
6405
6715
  'height',
6406
6716
  'hidden',
6407
6717
  'html',
@@ -6426,7 +6736,7 @@ BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerCompone
6426
6736
  'y'
6427
6737
  ]);
6428
6738
  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 });
6739
+ 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
6740
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridChartDesignerComponent, decorators: [{
6431
6741
  type: Component,
6432
6742
  args: [{
@@ -6499,6 +6809,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
6499
6809
  type: Input
6500
6810
  }], ripple: [{
6501
6811
  type: Input
6812
+ }], role: [{
6813
+ type: Input
6502
6814
  }], rootElement: [{
6503
6815
  type: Input
6504
6816
  }], scrollAction: [{
@@ -6587,10 +6899,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
6587
6899
  type: Input
6588
6900
  }], y: [{
6589
6901
  type: Input
6590
- }], anchorSize: [{
6591
- type: Input
6592
- }], focusVisible: [{
6593
- type: Input
6594
6902
  }], parent: [{
6595
6903
  type: Input
6596
6904
  }], onBeforeDestroy: [{
@@ -6663,8 +6971,7 @@ class BryntumGridFieldFilterPickerComponent {
6663
6971
  this.onBeforeShow = new EventEmitter();
6664
6972
  /**
6665
6973
  * 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)
6974
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-catchAll)
6668
6975
  * @param {object} event Event object
6669
6976
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
6670
6977
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -6730,8 +7037,7 @@ class BryntumGridFieldFilterPickerComponent {
6730
7037
  /**
6731
7038
  * Triggered when a widget which had been in a non-visible state for any reason
6732
7039
  * achieves visibility.
6733
- * ...
6734
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
7040
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
6735
7041
  * @param {object} event Event object
6736
7042
  * @param {Core.widget.Widget} event.source The widget being painted.
6737
7043
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -6810,9 +7116,61 @@ class BryntumGridFieldFilterPickerComponent {
6810
7116
  else {
6811
7117
  WrapperHelper.devWarningContainer(instanceName, containerParam);
6812
7118
  }
7119
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
7120
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
7121
+ // finds the theme. The @font-face rules from component styles are also extracted to
7122
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
7123
+ // included in document.fonts across all browsers).
7124
+ const shadowRoot = elementRef.nativeElement.getRootNode();
7125
+ if (shadowRoot instanceof ShadowRoot) {
7126
+ initThemeInShadowRoots();
7127
+ BryntumGridFieldFilterPickerComponent.ensureFontsInDocument(shadowRoot);
7128
+ }
6813
7129
  // @ts-ignore
6814
7130
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
6815
7131
  }
7132
+ /**
7133
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
7134
+ * document.head as a single <style> element. This is needed because @font-face rules inside
7135
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
7136
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
7137
+ * Safe to call multiple times — the extraction runs only once per page.
7138
+ */
7139
+ static ensureFontsInDocument(shadowRoot) {
7140
+ var _a;
7141
+ if (document.querySelector('#b-shadow-root-fonts')) {
7142
+ return;
7143
+ }
7144
+ const fontFaceRules = [];
7145
+ const extractFromSheet = (sheet) => {
7146
+ try {
7147
+ const rules = sheet.cssRules;
7148
+ for (let i = 0; i < rules.length; i++) {
7149
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
7150
+ fontFaceRules.push(rules[i].cssText);
7151
+ }
7152
+ }
7153
+ }
7154
+ catch (_e) {
7155
+ // Cross-origin access may throw; silently skip
7156
+ }
7157
+ };
7158
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
7159
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
7160
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
7161
+ // <style> elements (older Angular or fallback)
7162
+ shadowRoot.querySelectorAll('style').forEach(el => {
7163
+ if (el.sheet) {
7164
+ extractFromSheet(el.sheet);
7165
+ }
7166
+ });
7167
+ if (fontFaceRules.length > 0) {
7168
+ const style = document.createElement('style');
7169
+ style.id = 'b-shadow-root-fonts';
7170
+ style.textContent = fontFaceRules.join('\n');
7171
+ document.head.appendChild(style);
7172
+ }
7173
+ }
6816
7174
  /**
6817
7175
  * Watch for changes
6818
7176
  * @param changes
@@ -6920,6 +7278,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigs = BryntumGridFieldFilterPic
6920
7278
  'items',
6921
7279
  'keyMap',
6922
7280
  'labelPosition',
7281
+ 'labelWidth',
6923
7282
  'layout',
6924
7283
  'layoutStyle',
6925
7284
  'lazyItems',
@@ -6948,6 +7307,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigs = BryntumGridFieldFilterPic
6948
7307
  'relayStoreEvents',
6949
7308
  'rendition',
6950
7309
  'ripple',
7310
+ 'role',
6951
7311
  'rootElement',
6952
7312
  'rtl',
6953
7313
  'scrollable',
@@ -7024,6 +7384,7 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigsOnly = [
7024
7384
  'propertyLocked',
7025
7385
  'relayStoreEvents',
7026
7386
  'ripple',
7387
+ 'role',
7027
7388
  'rootElement',
7028
7389
  'scrollAction',
7029
7390
  'showAnimation',
@@ -7043,7 +7404,6 @@ BryntumGridFieldFilterPickerComponent.bryntumConfigsOnly = [
7043
7404
  ];
7044
7405
  BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPickerComponent.bryntumFeatureNames.concat([
7045
7406
  'alignSelf',
7046
- 'anchorSize',
7047
7407
  'appendTo',
7048
7408
  'callOnFunctions',
7049
7409
  'catchEventHandlerExceptions',
@@ -7054,8 +7414,6 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7054
7414
  'disabled',
7055
7415
  'extraData',
7056
7416
  'flex',
7057
- 'focusVisible',
7058
- 'hasChanges',
7059
7417
  'height',
7060
7418
  'hidden',
7061
7419
  'html',
@@ -7063,11 +7421,10 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7063
7421
  'inputFieldAlign',
7064
7422
  'insertBefore',
7065
7423
  'insertFirst',
7066
- 'isSettingValues',
7067
- 'isValid',
7068
7424
  'items',
7069
7425
  'keyMap',
7070
7426
  'labelPosition',
7427
+ 'labelWidth',
7071
7428
  'layout',
7072
7429
  'layoutStyle',
7073
7430
  'margin',
@@ -7091,7 +7448,7 @@ BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPicke
7091
7448
  'y'
7092
7449
  ]);
7093
7450
  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 });
7451
+ 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
7452
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerComponent, decorators: [{
7096
7453
  type: Component,
7097
7454
  args: [{
@@ -7198,6 +7555,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7198
7555
  type: Input
7199
7556
  }], ripple: [{
7200
7557
  type: Input
7558
+ }], role: [{
7559
+ type: Input
7201
7560
  }], rootElement: [{
7202
7561
  type: Input
7203
7562
  }], scrollAction: [{
@@ -7272,6 +7631,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7272
7631
  type: Input
7273
7632
  }], labelPosition: [{
7274
7633
  type: Input
7634
+ }], labelWidth: [{
7635
+ type: Input
7275
7636
  }], layout: [{
7276
7637
  type: Input
7277
7638
  }], layoutStyle: [{
@@ -7310,16 +7671,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7310
7671
  type: Input
7311
7672
  }], y: [{
7312
7673
  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
7674
  }], parent: [{
7324
7675
  type: Input
7325
7676
  }], values: [{
@@ -7408,8 +7759,7 @@ class BryntumGridFieldFilterPickerGroupComponent {
7408
7759
  this.onBeforeShow = new EventEmitter();
7409
7760
  /**
7410
7761
  * 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)
7762
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
7413
7763
  * @param {object} event Event object
7414
7764
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
7415
7765
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -7475,8 +7825,7 @@ class BryntumGridFieldFilterPickerGroupComponent {
7475
7825
  /**
7476
7826
  * Triggered when a widget which had been in a non-visible state for any reason
7477
7827
  * achieves visibility.
7478
- * ...
7479
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
7828
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
7480
7829
  * @param {object} event Event object
7481
7830
  * @param {Core.widget.Widget} event.source The widget being painted.
7482
7831
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -7555,9 +7904,61 @@ class BryntumGridFieldFilterPickerGroupComponent {
7555
7904
  else {
7556
7905
  WrapperHelper.devWarningContainer(instanceName, containerParam);
7557
7906
  }
7907
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
7908
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
7909
+ // finds the theme. The @font-face rules from component styles are also extracted to
7910
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
7911
+ // included in document.fonts across all browsers).
7912
+ const shadowRoot = elementRef.nativeElement.getRootNode();
7913
+ if (shadowRoot instanceof ShadowRoot) {
7914
+ initThemeInShadowRoots();
7915
+ BryntumGridFieldFilterPickerGroupComponent.ensureFontsInDocument(shadowRoot);
7916
+ }
7558
7917
  // @ts-ignore
7559
7918
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
7560
7919
  }
7920
+ /**
7921
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
7922
+ * document.head as a single <style> element. This is needed because @font-face rules inside
7923
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
7924
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
7925
+ * Safe to call multiple times — the extraction runs only once per page.
7926
+ */
7927
+ static ensureFontsInDocument(shadowRoot) {
7928
+ var _a;
7929
+ if (document.querySelector('#b-shadow-root-fonts')) {
7930
+ return;
7931
+ }
7932
+ const fontFaceRules = [];
7933
+ const extractFromSheet = (sheet) => {
7934
+ try {
7935
+ const rules = sheet.cssRules;
7936
+ for (let i = 0; i < rules.length; i++) {
7937
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
7938
+ fontFaceRules.push(rules[i].cssText);
7939
+ }
7940
+ }
7941
+ }
7942
+ catch (_e) {
7943
+ // Cross-origin access may throw; silently skip
7944
+ }
7945
+ };
7946
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
7947
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
7948
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
7949
+ // <style> elements (older Angular or fallback)
7950
+ shadowRoot.querySelectorAll('style').forEach(el => {
7951
+ if (el.sheet) {
7952
+ extractFromSheet(el.sheet);
7953
+ }
7954
+ });
7955
+ if (fontFaceRules.length > 0) {
7956
+ const style = document.createElement('style');
7957
+ style.id = 'b-shadow-root-fonts';
7958
+ style.textContent = fontFaceRules.join('\n');
7959
+ document.head.appendChild(style);
7960
+ }
7961
+ }
7561
7962
  /**
7562
7963
  * Watch for changes
7563
7964
  * @param changes
@@ -7668,6 +8069,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigs = BryntumGridFieldFilt
7668
8069
  'items',
7669
8070
  'keyMap',
7670
8071
  'labelPosition',
8072
+ 'labelWidth',
7671
8073
  'layout',
7672
8074
  'layoutStyle',
7673
8075
  'lazyItems',
@@ -7694,6 +8096,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigs = BryntumGridFieldFilt
7694
8096
  'relayStoreEvents',
7695
8097
  'rendition',
7696
8098
  'ripple',
8099
+ 'role',
7697
8100
  'rootElement',
7698
8101
  'rtl',
7699
8102
  'scrollable',
@@ -7769,6 +8172,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigsOnly = [
7769
8172
  'preventTooltipOnTouch',
7770
8173
  'relayStoreEvents',
7771
8174
  'ripple',
8175
+ 'role',
7772
8176
  'rootElement',
7773
8177
  'scrollAction',
7774
8178
  'showAddFilterButton',
@@ -7787,7 +8191,6 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumConfigsOnly = [
7787
8191
  ];
7788
8192
  BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilterPickerGroupComponent.bryntumFeatureNames.concat([
7789
8193
  'alignSelf',
7790
- 'anchorSize',
7791
8194
  'appendTo',
7792
8195
  'callOnFunctions',
7793
8196
  'catchEventHandlerExceptions',
@@ -7798,8 +8201,6 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7798
8201
  'disabled',
7799
8202
  'extraData',
7800
8203
  'flex',
7801
- 'focusVisible',
7802
- 'hasChanges',
7803
8204
  'height',
7804
8205
  'hidden',
7805
8206
  'html',
@@ -7807,11 +8208,10 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7807
8208
  'inputFieldAlign',
7808
8209
  'insertBefore',
7809
8210
  'insertFirst',
7810
- 'isSettingValues',
7811
- 'isValid',
7812
8211
  'items',
7813
8212
  'keyMap',
7814
8213
  'labelPosition',
8214
+ 'labelWidth',
7815
8215
  'layout',
7816
8216
  'layoutStyle',
7817
8217
  'margin',
@@ -7836,7 +8236,7 @@ BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilter
7836
8236
  'y'
7837
8237
  ]);
7838
8238
  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 });
8239
+ 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
8240
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridFieldFilterPickerGroupComponent, decorators: [{
7841
8241
  type: Component,
7842
8242
  args: [{
@@ -7943,6 +8343,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
7943
8343
  type: Input
7944
8344
  }], ripple: [{
7945
8345
  type: Input
8346
+ }], role: [{
8347
+ type: Input
7946
8348
  }], rootElement: [{
7947
8349
  type: Input
7948
8350
  }], scrollAction: [{
@@ -8015,6 +8417,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8015
8417
  type: Input
8016
8418
  }], labelPosition: [{
8017
8419
  type: Input
8420
+ }], labelWidth: [{
8421
+ type: Input
8018
8422
  }], layout: [{
8019
8423
  type: Input
8020
8424
  }], layoutStyle: [{
@@ -8053,16 +8457,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8053
8457
  type: Input
8054
8458
  }], y: [{
8055
8459
  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
8460
  }], parent: [{
8067
8461
  type: Input
8068
8462
  }], value: [{
@@ -8151,8 +8545,7 @@ class BryntumGroupBarComponent {
8151
8545
  this.onBeforeShow = new EventEmitter();
8152
8546
  /**
8153
8547
  * 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)
8548
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
8156
8549
  * @param {object} event Event object
8157
8550
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
8158
8551
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -8214,8 +8607,7 @@ class BryntumGroupBarComponent {
8214
8607
  /**
8215
8608
  * Triggered when a widget which had been in a non-visible state for any reason
8216
8609
  * achieves visibility.
8217
- * ...
8218
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
8610
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
8219
8611
  * @param {object} event Event object
8220
8612
  * @param {Core.widget.Widget} event.source The widget being painted.
8221
8613
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -8315,9 +8707,61 @@ class BryntumGroupBarComponent {
8315
8707
  else {
8316
8708
  WrapperHelper.devWarningContainer(instanceName, containerParam);
8317
8709
  }
8710
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
8711
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
8712
+ // finds the theme. The @font-face rules from component styles are also extracted to
8713
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
8714
+ // included in document.fonts across all browsers).
8715
+ const shadowRoot = elementRef.nativeElement.getRootNode();
8716
+ if (shadowRoot instanceof ShadowRoot) {
8717
+ initThemeInShadowRoots();
8718
+ BryntumGroupBarComponent.ensureFontsInDocument(shadowRoot);
8719
+ }
8318
8720
  // @ts-ignore
8319
8721
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
8320
8722
  }
8723
+ /**
8724
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
8725
+ * document.head as a single <style> element. This is needed because @font-face rules inside
8726
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
8727
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
8728
+ * Safe to call multiple times — the extraction runs only once per page.
8729
+ */
8730
+ static ensureFontsInDocument(shadowRoot) {
8731
+ var _a;
8732
+ if (document.querySelector('#b-shadow-root-fonts')) {
8733
+ return;
8734
+ }
8735
+ const fontFaceRules = [];
8736
+ const extractFromSheet = (sheet) => {
8737
+ try {
8738
+ const rules = sheet.cssRules;
8739
+ for (let i = 0; i < rules.length; i++) {
8740
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
8741
+ fontFaceRules.push(rules[i].cssText);
8742
+ }
8743
+ }
8744
+ }
8745
+ catch (_e) {
8746
+ // Cross-origin access may throw; silently skip
8747
+ }
8748
+ };
8749
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
8750
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
8751
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
8752
+ // <style> elements (older Angular or fallback)
8753
+ shadowRoot.querySelectorAll('style').forEach(el => {
8754
+ if (el.sheet) {
8755
+ extractFromSheet(el.sheet);
8756
+ }
8757
+ });
8758
+ if (fontFaceRules.length > 0) {
8759
+ const style = document.createElement('style');
8760
+ style.id = 'b-shadow-root-fonts';
8761
+ style.textContent = fontFaceRules.join('\n');
8762
+ document.head.appendChild(style);
8763
+ }
8764
+ }
8321
8765
  /**
8322
8766
  * Watch for changes
8323
8767
  * @param changes
@@ -8446,6 +8890,7 @@ BryntumGroupBarComponent.bryntumConfigs = BryntumGroupBarComponent.bryntumFeatur
8446
8890
  'readOnly',
8447
8891
  'relayStoreEvents',
8448
8892
  'ripple',
8893
+ 'role',
8449
8894
  'rootElement',
8450
8895
  'rtl',
8451
8896
  'scrollable',
@@ -8514,6 +8959,7 @@ BryntumGroupBarComponent.bryntumConfigsOnly = [
8514
8959
  'preventTooltipOnTouch',
8515
8960
  'relayStoreEvents',
8516
8961
  'ripple',
8962
+ 'role',
8517
8963
  'rootElement',
8518
8964
  'scrollAction',
8519
8965
  'selectAllItem',
@@ -8531,7 +8977,6 @@ BryntumGroupBarComponent.bryntumConfigsOnly = [
8531
8977
  BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureNames.concat([
8532
8978
  'alignSelf',
8533
8979
  'allowGroupSelect',
8534
- 'anchorSize',
8535
8980
  'appendTo',
8536
8981
  'callOnFunctions',
8537
8982
  'catchEventHandlerExceptions',
@@ -8545,7 +8990,6 @@ BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureN
8545
8990
  'emptyText',
8546
8991
  'extraData',
8547
8992
  'flex',
8548
- 'focusVisible',
8549
8993
  'height',
8550
8994
  'hidden',
8551
8995
  'html',
@@ -8576,7 +9020,7 @@ BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureN
8576
9020
  'y'
8577
9021
  ]);
8578
9022
  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 });
9023
+ 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
9024
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGroupBarComponent, decorators: [{
8581
9025
  type: Component,
8582
9026
  args: [{
@@ -8667,6 +9111,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8667
9111
  type: Input
8668
9112
  }], ripple: [{
8669
9113
  type: Input
9114
+ }], role: [{
9115
+ type: Input
8670
9116
  }], rootElement: [{
8671
9117
  type: Input
8672
9118
  }], scrollAction: [{
@@ -8777,10 +9223,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
8777
9223
  type: Input
8778
9224
  }], y: [{
8779
9225
  type: Input
8780
- }], anchorSize: [{
8781
- type: Input
8782
- }], focusVisible: [{
8783
- type: Input
8784
9226
  }], parent: [{
8785
9227
  type: Input
8786
9228
  }], onBeforeDestroy: [{
@@ -8865,8 +9307,7 @@ class BryntumTreeComboComponent {
8865
9307
  this.onBeforeShow = new EventEmitter();
8866
9308
  /**
8867
9309
  * 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)
9310
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-catchAll)
8870
9311
  * @param {object} event Event object
8871
9312
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
8872
9313
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -8886,8 +9327,7 @@ class BryntumTreeComboComponent {
8886
9327
  this.onChange = new EventEmitter();
8887
9328
  /**
8888
9329
  * 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)
9330
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-clear)
8891
9331
  * @param {object} event Event object
8892
9332
  * @param {Core.widget.Field,any} event.source This Field
8893
9333
  */
@@ -8946,8 +9386,7 @@ class BryntumTreeComboComponent {
8946
9386
  /**
8947
9387
  * Triggered when a widget which had been in a non-visible state for any reason
8948
9388
  * achieves visibility.
8949
- * ...
8950
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
9389
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
8951
9390
  * @param {object} event Event object
8952
9391
  * @param {Core.widget.Widget} event.source The widget being painted.
8953
9392
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -9042,9 +9481,61 @@ class BryntumTreeComboComponent {
9042
9481
  else {
9043
9482
  WrapperHelper.devWarningContainer(instanceName, containerParam);
9044
9483
  }
9484
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
9485
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
9486
+ // finds the theme. The @font-face rules from component styles are also extracted to
9487
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
9488
+ // included in document.fonts across all browsers).
9489
+ const shadowRoot = elementRef.nativeElement.getRootNode();
9490
+ if (shadowRoot instanceof ShadowRoot) {
9491
+ initThemeInShadowRoots();
9492
+ BryntumTreeComboComponent.ensureFontsInDocument(shadowRoot);
9493
+ }
9045
9494
  // @ts-ignore
9046
9495
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
9047
9496
  }
9497
+ /**
9498
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
9499
+ * document.head as a single <style> element. This is needed because @font-face rules inside
9500
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
9501
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
9502
+ * Safe to call multiple times — the extraction runs only once per page.
9503
+ */
9504
+ static ensureFontsInDocument(shadowRoot) {
9505
+ var _a;
9506
+ if (document.querySelector('#b-shadow-root-fonts')) {
9507
+ return;
9508
+ }
9509
+ const fontFaceRules = [];
9510
+ const extractFromSheet = (sheet) => {
9511
+ try {
9512
+ const rules = sheet.cssRules;
9513
+ for (let i = 0; i < rules.length; i++) {
9514
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
9515
+ fontFaceRules.push(rules[i].cssText);
9516
+ }
9517
+ }
9518
+ }
9519
+ catch (_e) {
9520
+ // Cross-origin access may throw; silently skip
9521
+ }
9522
+ };
9523
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
9524
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
9525
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
9526
+ // <style> elements (older Angular or fallback)
9527
+ shadowRoot.querySelectorAll('style').forEach(el => {
9528
+ if (el.sheet) {
9529
+ extractFromSheet(el.sheet);
9530
+ }
9531
+ });
9532
+ if (fontFaceRules.length > 0) {
9533
+ const style = document.createElement('style');
9534
+ style.id = 'b-shadow-root-fonts';
9535
+ style.textContent = fontFaceRules.join('\n');
9536
+ document.head.appendChild(style);
9537
+ }
9538
+ }
9048
9539
  /**
9049
9540
  * Watch for changes
9050
9541
  * @param changes
@@ -9215,6 +9706,7 @@ BryntumTreeComboComponent.bryntumConfigs = BryntumTreeComboComponent.bryntumFeat
9215
9706
  'required',
9216
9707
  'revertOnEscape',
9217
9708
  'ripple',
9709
+ 'role',
9218
9710
  'rootElement',
9219
9711
  'rtl',
9220
9712
  'scrollAction',
@@ -9326,6 +9818,7 @@ BryntumTreeComboComponent.bryntumConfigsOnly = [
9326
9818
  'relayStoreEvents',
9327
9819
  'revertOnEscape',
9328
9820
  'ripple',
9821
+ 'role',
9329
9822
  'rootElement',
9330
9823
  'scrollAction',
9331
9824
  'showAnimation',
@@ -9346,7 +9839,6 @@ BryntumTreeComboComponent.bryntumConfigsOnly = [
9346
9839
  ];
9347
9840
  BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatureNames.concat([
9348
9841
  'alignSelf',
9349
- 'anchorSize',
9350
9842
  'appendTo',
9351
9843
  'badge',
9352
9844
  'callOnFunctions',
@@ -9360,7 +9852,6 @@ BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatur
9360
9852
  'extraData',
9361
9853
  'filterOperator',
9362
9854
  'flex',
9363
- 'focusVisible',
9364
9855
  'formula',
9365
9856
  'height',
9366
9857
  'hidden',
@@ -9397,7 +9888,7 @@ BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatur
9397
9888
  'y'
9398
9889
  ]);
9399
9890
  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 });
9891
+ 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", 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
9892
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeComboComponent, decorators: [{
9402
9893
  type: Component,
9403
9894
  args: [{
@@ -9568,6 +10059,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
9568
10059
  type: Input
9569
10060
  }], ripple: [{
9570
10061
  type: Input
10062
+ }], role: [{
10063
+ type: Input
9571
10064
  }], rootElement: [{
9572
10065
  type: Input
9573
10066
  }], scrollAction: [{
@@ -9686,12 +10179,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
9686
10179
  type: Input
9687
10180
  }], y: [{
9688
10181
  type: Input
9689
- }], anchorSize: [{
9690
- type: Input
9691
10182
  }], content: [{
9692
10183
  type: Input
9693
- }], focusVisible: [{
9694
- type: Input
9695
10184
  }], formula: [{
9696
10185
  type: Input
9697
10186
  }], html: [{
@@ -9765,8 +10254,7 @@ class BryntumTreeGridComponent {
9765
10254
  this.onBeforeCancelCellEdit = new EventEmitter();
9766
10255
  /**
9767
10256
  * 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)
10257
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeCancelRowEdit)
9770
10258
  * @param {object} event Event object
9771
10259
  * @param {Grid.view.Grid} event.grid Target grid
9772
10260
  * @param {RowEditorContext} event.editorContext Editing context
@@ -9881,8 +10369,7 @@ class BryntumTreeGridComponent {
9881
10369
  this.onBeforeFinishCellEdit = new EventEmitter();
9882
10370
  /**
9883
10371
  * 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)
10372
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeFinishRowEdit)
9886
10373
  * @param {object} event Event object
9887
10374
  * @param {Grid.view.Grid} event.grid Target grid
9888
10375
  * @param {RowEditorContext} event.editorContext Editing context
@@ -9927,16 +10414,14 @@ class BryntumTreeGridComponent {
9927
10414
  this.onBeforeRenderRows = new EventEmitter();
9928
10415
  /**
9929
10416
  * 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)
10417
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowCollapse)
9932
10418
  * @param {object} event Event object
9933
10419
  * @param {Core.data.Model} event.record Record
9934
10420
  */
9935
10421
  this.onBeforeRowCollapse = new EventEmitter();
9936
10422
  /**
9937
10423
  * 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)
10424
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowExpand)
9940
10425
  * @param {object} event Event object
9941
10426
  * @param {Core.data.Model} event.record Record
9942
10427
  */
@@ -10016,8 +10501,7 @@ class BryntumTreeGridComponent {
10016
10501
  this.onCancelCellEdit = new EventEmitter();
10017
10502
  /**
10018
10503
  * 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)
10504
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-catchAll)
10021
10505
  * @param {object} event Event object
10022
10506
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
10023
10507
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -10059,8 +10543,7 @@ class BryntumTreeGridComponent {
10059
10543
  /**
10060
10544
  * This event fires on the owning grid before the context menu is shown for a cell.
10061
10545
  * 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)
10546
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-cellMenuBeforeShow)
10064
10547
  * @param {object} event Event object
10065
10548
  * @param {Grid.view.Grid} event.source The grid
10066
10549
  * @param {Core.widget.Menu} event.menu The menu
@@ -10241,8 +10724,7 @@ class BryntumTreeGridComponent {
10241
10724
  this.onCopy = new EventEmitter();
10242
10725
  /**
10243
10726
  * Fired when data in the store changes.
10244
- * ...
10245
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
10727
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
10246
10728
  * @param {object} event Event object
10247
10729
  * @param {Grid.view.GridBase} event.source Owning grid
10248
10730
  * @param {Core.data.Store} event.store The originating store
@@ -10346,8 +10828,7 @@ class BryntumTreeGridComponent {
10346
10828
  this.onFinishCellEdit = new EventEmitter();
10347
10829
  /**
10348
10830
  * 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)
10831
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-finishRowEdit)
10351
10832
  * @param {object} event Event object
10352
10833
  * @param {Grid.view.Grid} event.grid Target grid
10353
10834
  * @param {RowEditorContext} event.editorContext Editing context
@@ -10447,8 +10928,7 @@ class BryntumTreeGridComponent {
10447
10928
  this.onGridRowDrop = new EventEmitter();
10448
10929
  /**
10449
10930
  * 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)
10931
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerClick)
10452
10932
  * @param {object} event Event object
10453
10933
  * @param {Event} event.domEvent The triggering DOM event.
10454
10934
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -10457,8 +10937,7 @@ class BryntumTreeGridComponent {
10457
10937
  /**
10458
10938
  * This event fires on the owning Grid before the context menu is shown for a header.
10459
10939
  * 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)
10940
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerMenuBeforeShow)
10462
10941
  * @param {object} event Event object
10463
10942
  * @param {Grid.view.Grid} event.source The grid
10464
10943
  * @param {Core.widget.Menu} event.menu The menu
@@ -10521,8 +11000,7 @@ class BryntumTreeGridComponent {
10521
11000
  /**
10522
11001
  * Triggered when a widget which had been in a non-visible state for any reason
10523
11002
  * achieves visibility.
10524
- * ...
10525
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
11003
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
10526
11004
  * @param {object} event Event object
10527
11005
  * @param {Core.widget.Widget} event.source The widget being painted.
10528
11006
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -10541,8 +11019,8 @@ class BryntumTreeGridComponent {
10541
11019
  /**
10542
11020
  * Fires on the owning Grid when export has finished
10543
11021
  * @param {object} event Event object
10544
- * @param {Response} event.response Optional response, if received
10545
- * @param {Error} event.error Optional error, if exception occurred
11022
+ * @param {Response} [event.response] Optional response, if received
11023
+ * @param {Error} [event.error] Optional error, if exception occurred
10546
11024
  */
10547
11025
  this.onPdfExport = new EventEmitter();
10548
11026
  /**
@@ -10599,8 +11077,7 @@ class BryntumTreeGridComponent {
10599
11077
  this.onRowCollapse = new EventEmitter();
10600
11078
  /**
10601
11079
  * 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)
11080
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-rowExpand)
10604
11081
  * @param {object} event Event object
10605
11082
  * @param {Core.data.Model} event.record Record
10606
11083
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -10738,7 +11215,7 @@ class BryntumTreeGridComponent {
10738
11215
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
10739
11216
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
10740
11217
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
10741
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
11218
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
10742
11219
  */
10743
11220
  this.onToggleGroup = new EventEmitter();
10744
11221
  /**
@@ -10819,6 +11296,16 @@ class BryntumTreeGridComponent {
10819
11296
  else {
10820
11297
  WrapperHelper.devWarningContainer(instanceName, containerParam);
10821
11298
  }
11299
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
11300
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
11301
+ // finds the theme. The @font-face rules from component styles are also extracted to
11302
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
11303
+ // included in document.fonts across all browsers).
11304
+ const shadowRoot = elementRef.nativeElement.getRootNode();
11305
+ if (shadowRoot instanceof ShadowRoot) {
11306
+ initThemeInShadowRoots();
11307
+ BryntumTreeGridComponent.ensureFontsInDocument(shadowRoot);
11308
+ }
10822
11309
  // @ts-ignore
10823
11310
  me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
10824
11311
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -10826,6 +11313,48 @@ class BryntumTreeGridComponent {
10826
11313
  me[StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
10827
11314
  //
10828
11315
  }
11316
+ /**
11317
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
11318
+ * document.head as a single <style> element. This is needed because @font-face rules inside
11319
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
11320
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
11321
+ * Safe to call multiple times — the extraction runs only once per page.
11322
+ */
11323
+ static ensureFontsInDocument(shadowRoot) {
11324
+ var _a;
11325
+ if (document.querySelector('#b-shadow-root-fonts')) {
11326
+ return;
11327
+ }
11328
+ const fontFaceRules = [];
11329
+ const extractFromSheet = (sheet) => {
11330
+ try {
11331
+ const rules = sheet.cssRules;
11332
+ for (let i = 0; i < rules.length; i++) {
11333
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
11334
+ fontFaceRules.push(rules[i].cssText);
11335
+ }
11336
+ }
11337
+ }
11338
+ catch (_e) {
11339
+ // Cross-origin access may throw; silently skip
11340
+ }
11341
+ };
11342
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
11343
+ const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
11344
+ adoptedSheets.forEach(sheet => extractFromSheet(sheet));
11345
+ // <style> elements (older Angular or fallback)
11346
+ shadowRoot.querySelectorAll('style').forEach(el => {
11347
+ if (el.sheet) {
11348
+ extractFromSheet(el.sheet);
11349
+ }
11350
+ });
11351
+ if (fontFaceRules.length > 0) {
11352
+ const style = document.createElement('style');
11353
+ style.id = 'b-shadow-root-fonts';
11354
+ style.textContent = fontFaceRules.join('\n');
11355
+ document.head.appendChild(style);
11356
+ }
11357
+ }
10829
11358
  /**
10830
11359
  * Watch for changes
10831
11360
  * @param changes
@@ -11088,6 +11617,7 @@ BryntumTreeGridComponent.bryntumConfigs = BryntumTreeGridComponent.bryntumFeatur
11088
11617
  'insertFirst',
11089
11618
  'keyMap',
11090
11619
  'labelPosition',
11620
+ 'labelWidth',
11091
11621
  'listeners',
11092
11622
  'loadMask',
11093
11623
  'loadMaskDefaults',
@@ -11114,6 +11644,7 @@ BryntumTreeGridComponent.bryntumConfigs = BryntumTreeGridComponent.bryntumFeatur
11114
11644
  'resizeToFitIncludesHeader',
11115
11645
  'responsiveLevels',
11116
11646
  'ripple',
11647
+ 'role',
11117
11648
  'rootElement',
11118
11649
  'rowHeight',
11119
11650
  'rowLines',
@@ -11200,6 +11731,7 @@ BryntumTreeGridComponent.bryntumConfigsOnly = [
11200
11731
  'resizeToFitIncludesHeader',
11201
11732
  'responsiveLevels',
11202
11733
  'ripple',
11734
+ 'role',
11203
11735
  'rootElement',
11204
11736
  'scrollerClass',
11205
11737
  'scrollManager',
@@ -11237,8 +11769,6 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11237
11769
  'enableUndoRedoKeys',
11238
11770
  'extraData',
11239
11771
  'flex',
11240
- 'focusVisible',
11241
- 'hasChanges',
11242
11772
  'height',
11243
11773
  'hidden',
11244
11774
  'hideFooters',
@@ -11249,6 +11779,7 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11249
11779
  'insertFirst',
11250
11780
  'keyMap',
11251
11781
  'labelPosition',
11782
+ 'labelWidth',
11252
11783
  'longPressTime',
11253
11784
  'margin',
11254
11785
  'maxHeight',
@@ -11282,7 +11813,7 @@ BryntumTreeGridComponent.bryntumProps = BryntumTreeGridComponent.bryntumFeatureN
11282
11813
  'width'
11283
11814
  ]);
11284
11815
  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 });
11816
+ 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
11817
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumTreeGridComponent, decorators: [{
11287
11818
  type: Component,
11288
11819
  args: [{
@@ -11397,6 +11928,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11397
11928
  type: Input
11398
11929
  }], ripple: [{
11399
11930
  type: Input
11931
+ }], role: [{
11932
+ type: Input
11400
11933
  }], rootElement: [{
11401
11934
  type: Input
11402
11935
  }], scrollerClass: [{
@@ -11487,6 +12020,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11487
12020
  type: Input
11488
12021
  }], labelPosition: [{
11489
12022
  type: Input
12023
+ }], labelWidth: [{
12024
+ type: Input
11490
12025
  }], longPressTime: [{
11491
12026
  type: Input
11492
12027
  }], margin: [{
@@ -11531,10 +12066,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11531
12066
  type: Input
11532
12067
  }], width: [{
11533
12068
  type: Input
11534
- }], focusVisible: [{
11535
- type: Input
11536
- }], hasChanges: [{
11537
- type: Input
11538
12069
  }], originalStore: [{
11539
12070
  type: Input
11540
12071
  }], parent: [{
@@ -11890,7 +12421,7 @@ BryntumGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
11890
12421
  BryntumGridFieldFilterPickerGroupComponent,
11891
12422
  BryntumGroupBarComponent,
11892
12423
  BryntumTreeComboComponent,
11893
- BryntumTreeGridComponent], exports: [BryntumAIFilterFieldComponent,
12424
+ BryntumTreeGridComponent], imports: [CommonModule], exports: [BryntumAIFilterFieldComponent,
11894
12425
  BryntumChecklistFilterComboComponent,
11895
12426
  BryntumGridComponent,
11896
12427
  BryntumGridBaseComponent,
@@ -11900,7 +12431,7 @@ BryntumGridModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", versi
11900
12431
  BryntumGroupBarComponent,
11901
12432
  BryntumTreeComboComponent,
11902
12433
  BryntumTreeGridComponent] });
11903
- BryntumGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, imports: [[]] });
12434
+ BryntumGridModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, imports: [[CommonModule]] });
11904
12435
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumGridModule, decorators: [{
11905
12436
  type: NgModule,
11906
12437
  args: [{
@@ -11916,7 +12447,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
11916
12447
  BryntumTreeComboComponent,
11917
12448
  BryntumTreeGridComponent
11918
12449
  ],
11919
- imports: [],
12450
+ imports: [CommonModule],
11920
12451
  exports: [
11921
12452
  BryntumAIFilterFieldComponent,
11922
12453
  BryntumChecklistFilterComboComponent,