@bryntum/grid-angular-thin 7.2.4 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/README.md +5 -5
  2. package/bundles/bryntum-grid-angular-thin.umd.js +773 -230
  3. package/bundles/bryntum-grid-angular-thin.umd.js.map +1 -1
  4. package/esm2015/lib/bryntum-a-i-filter-field.component.js +66 -14
  5. package/esm2015/lib/bryntum-checklist-filter-combo.component.js +66 -14
  6. package/esm2015/lib/bryntum-grid-base.component.js +78 -35
  7. package/esm2015/lib/bryntum-grid-chart-designer.component.js +61 -12
  8. package/esm2015/lib/bryntum-grid-field-filter-picker-group.component.js +65 -21
  9. package/esm2015/lib/bryntum-grid-field-filter-picker.component.js +65 -21
  10. package/esm2015/lib/bryntum-grid.component.js +78 -35
  11. package/esm2015/lib/bryntum-group-bar.component.js +61 -12
  12. package/esm2015/lib/bryntum-tree-combo.component.js +66 -14
  13. package/esm2015/lib/bryntum-tree-grid.component.js +78 -35
  14. package/esm2015/lib/grid.module.js +5 -4
  15. package/esm2015/lib/shadowdom.helper.js +82 -0
  16. package/fesm2015/bryntum-grid-angular-thin.js +750 -207
  17. package/fesm2015/bryntum-grid-angular-thin.js.map +1 -1
  18. package/lib/bryntum-a-i-filter-field.component.d.ts +97 -133
  19. package/lib/bryntum-checklist-filter-combo.component.d.ts +116 -166
  20. package/lib/bryntum-grid-base.component.d.ts +238 -303
  21. package/lib/bryntum-grid-chart-designer.component.d.ts +71 -108
  22. package/lib/bryntum-grid-field-filter-picker-group.component.d.ts +93 -143
  23. package/lib/bryntum-grid-field-filter-picker.component.d.ts +94 -145
  24. package/lib/bryntum-grid.component.d.ts +238 -303
  25. package/lib/bryntum-group-bar.component.d.ts +77 -118
  26. package/lib/bryntum-tree-combo.component.d.ts +117 -168
  27. package/lib/bryntum-tree-grid.component.d.ts +238 -303
  28. package/lib/grid.module.d.ts +2 -1
  29. package/lib/shadowdom.helper.d.ts +3 -0
  30. package/package.json +1 -1
  31. package/src/lib/bryntum-a-i-filter-field.component.ts +159 -142
  32. package/src/lib/bryntum-checklist-filter-combo.component.ts +179 -176
  33. package/src/lib/bryntum-grid-base.component.ts +300 -344
  34. package/src/lib/bryntum-grid-chart-designer.component.ts +127 -113
  35. package/src/lib/bryntum-grid-field-filter-picker-group.component.ts +154 -154
  36. package/src/lib/bryntum-grid-field-filter-picker.component.ts +153 -154
  37. package/src/lib/bryntum-grid.component.ts +300 -344
  38. package/src/lib/bryntum-group-bar.component.ts +134 -124
  39. package/src/lib/bryntum-theme-combo.component.ts +127 -0
  40. package/src/lib/bryntum-tree-combo.component.ts +179 -177
  41. package/src/lib/bryntum-tree-grid.component.ts +300 -344
  42. package/src/lib/grid.module.ts +2 -1
  43. package/src/lib/shadowdom.helper.ts +91 -0
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@bryntum/core-thin'), require('@bryntum/grid-thin')) :
3
- typeof define === 'function' && define.amd ? define('@bryntum/grid-angular-thin', ['exports', '@angular/core', '@bryntum/core-thin', '@bryntum/grid-thin'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.bryntum = global.bryntum || {}, global.bryntum["grid-angular-thin"] = {}), global.ng.core, global["@bryntum/core-thin"], global["@bryntum/grid-thin"]));
5
- })(this, (function (exports, i0, coreThin, gridThin) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@bryntum/core-thin'), require('@bryntum/grid-thin')) :
3
+ typeof define === 'function' && define.amd ? define('@bryntum/grid-angular-thin', ['exports', '@angular/common', '@angular/core', '@bryntum/core-thin', '@bryntum/grid-thin'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.bryntum = global.bryntum || {}, global.bryntum["grid-angular-thin"] = {}), global.ng.common, global.ng.core, global["@bryntum/core-thin"], global["@bryntum/grid-thin"]));
5
+ })(this, (function (exports, common, i0, coreThin, gridThin) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -486,6 +486,88 @@
486
486
  return WrapperHelper;
487
487
  }());
488
488
 
489
+ // Module-level registry of all open shadow roots that host Bryntum widgets.
490
+ // Populated lazily by collectOpenShadowRoots() the first time it is called, and
491
+ // kept up to date via registerShadowRoot / unregisterShadowRoot.
492
+ var openShadowRoots = new Set();
493
+ // Walks the DOM tree starting from `root` and collects every open shadow root found.
494
+ // Results are cached in openShadowRoots after the first traversal so subsequent calls
495
+ // are O(1). Recursive so nested shadow roots are also discovered.
496
+ function collectOpenShadowRoots(root) {
497
+ if (root === void 0) { root = document; }
498
+ if (openShadowRoots.size > 0) {
499
+ return Array.from(openShadowRoots);
500
+ }
501
+ var roots = [];
502
+ Array.from(root.querySelectorAll('*')).forEach(function (el) {
503
+ if (el.shadowRoot) {
504
+ roots.push(el.shadowRoot);
505
+ roots.push.apply(roots, __spreadArray([], __read(collectOpenShadowRoots(el.shadowRoot))));
506
+ }
507
+ });
508
+ roots.forEach(function (r) { return openShadowRoots.add(r); });
509
+ return roots;
510
+ }
511
+ // Updates the href and data-bryntum-theme attribute of every theme <link> inside all
512
+ // registered shadow roots to mirror the new head link after a theme change.
513
+ function syncThemeToShadowRoots(headLink) {
514
+ var _a;
515
+ var href = headLink.href;
516
+ var themeAttr = (_a = headLink.getAttribute('data-bryntum-theme')) !== null && _a !== void 0 ? _a : '';
517
+ collectOpenShadowRoots().forEach(function (shadowRoot) {
518
+ Array.from(shadowRoot.querySelectorAll('link[data-bryntum-theme]')).forEach(function (link) {
519
+ link.setAttribute('data-bryntum-theme', themeAttr);
520
+ link.href = href;
521
+ });
522
+ });
523
+ }
524
+ // Adds a shadow root to the registry so it is included in theme sync operations.
525
+ // Called by BryntumThemeComboComponent.ngOnInit when it detects it is inside a shadow root.
526
+ function registerShadowRoot(shadowRoot) {
527
+ openShadowRoots.add(shadowRoot);
528
+ }
529
+ // Removes a shadow root from the registry.
530
+ // Called by BryntumThemeComboComponent.ngOnDestroy to clean up on component teardown.
531
+ function unregisterShadowRoot(shadowRoot) {
532
+ openShadowRoots.delete(shadowRoot);
533
+ }
534
+ // Injects a clone of each document.head theme <link> into every registered shadow root
535
+ // that does not already have one. This is required because CSS from document.head does
536
+ // not cascade into shadow DOM, so Bryntum theme styles would be absent without this.
537
+ // Safe to call multiple times — the presence check prevents duplicate injection.
538
+ function initThemeInShadowRoots() {
539
+ var headThemeLinks = Array.from(document.head.querySelectorAll('link[data-bryntum-theme]'));
540
+ if (!headThemeLinks.length) {
541
+ return;
542
+ }
543
+ collectOpenShadowRoots().forEach(function (shadowRoot) {
544
+ if (shadowRoot.querySelector('link[data-bryntum-theme]')) {
545
+ return;
546
+ }
547
+ headThemeLinks.forEach(function (headLink) {
548
+ if (!headLink.href) {
549
+ return;
550
+ }
551
+ // Clone the head link to preserve all attributes, then ensure absolute href
552
+ var clone = headLink.cloneNode();
553
+ clone.href = headLink.href;
554
+ shadowRoot.appendChild(clone);
555
+ });
556
+ });
557
+ }
558
+ // Listens for Bryntum's internal theme-change event and keeps every shadow root's
559
+ // theme link in sync with the new document.head link. Fires after the old <link>s
560
+ // are removed and the new one is fully loaded in document.head.
561
+ // @ts-ignore - ion() is public but not present on GlobalEventsSingleton typings
562
+ coreThin.GlobalEvents.ion({
563
+ theme: function () {
564
+ var link = document.head.querySelector('link[data-bryntum-theme]');
565
+ if (link === null || link === void 0 ? void 0 : link.href) {
566
+ syncThemeToShadowRoots(link);
567
+ }
568
+ }
569
+ });
570
+
489
571
  var BryntumAIFilterFieldComponent = /** @class */ (function () {
490
572
  function BryntumAIFilterFieldComponent(element) {
491
573
  this.bryntumConfig = {
@@ -531,8 +613,7 @@
531
613
  this.onBeforeShow = new i0.EventEmitter();
532
614
  /**
533
615
  * Fires when any other event is fired from the object.
534
- * ...
535
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-catchAll)
616
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-catchAll)
536
617
  * @param {object} event Event object
537
618
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
538
619
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -552,8 +633,7 @@
552
633
  this.onChange = new i0.EventEmitter();
553
634
  /**
554
635
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
555
- * ...
556
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-clear)
636
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-clear)
557
637
  * @param {object} event Event object
558
638
  * @param {Core.widget.Field,any} event.source This Field
559
639
  */
@@ -611,8 +691,7 @@
611
691
  /**
612
692
  * Triggered when a widget which had been in a non-visible state for any reason
613
693
  * achieves visibility.
614
- * ...
615
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-paint)
694
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/AIFilterField#event-paint)
616
695
  * @param {object} event Event object
617
696
  * @param {Core.widget.Widget} event.source The widget being painted.
618
697
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -699,9 +778,61 @@
699
778
  else {
700
779
  WrapperHelper.devWarningContainer(instanceName, containerParam);
701
780
  }
781
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
782
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
783
+ // finds the theme. The @font-face rules from component styles are also extracted to
784
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
785
+ // included in document.fonts across all browsers).
786
+ var shadowRoot = elementRef.nativeElement.getRootNode();
787
+ if (shadowRoot instanceof ShadowRoot) {
788
+ initThemeInShadowRoots();
789
+ BryntumAIFilterFieldComponent.ensureFontsInDocument(shadowRoot);
790
+ }
702
791
  // @ts-ignore
703
792
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
704
793
  };
794
+ /**
795
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
796
+ * document.head as a single <style> element. This is needed because @font-face rules inside
797
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
798
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
799
+ * Safe to call multiple times — the extraction runs only once per page.
800
+ */
801
+ BryntumAIFilterFieldComponent.ensureFontsInDocument = function (shadowRoot) {
802
+ var _a;
803
+ if (document.querySelector('#b-shadow-root-fonts')) {
804
+ return;
805
+ }
806
+ var fontFaceRules = [];
807
+ var extractFromSheet = function (sheet) {
808
+ try {
809
+ var rules = sheet.cssRules;
810
+ for (var i = 0; i < rules.length; i++) {
811
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
812
+ fontFaceRules.push(rules[i].cssText);
813
+ }
814
+ }
815
+ }
816
+ catch (_e) {
817
+ // Cross-origin access may throw; silently skip
818
+ }
819
+ };
820
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
821
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
822
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
823
+ // <style> elements (older Angular or fallback)
824
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
825
+ if (el.sheet) {
826
+ extractFromSheet(el.sheet);
827
+ }
828
+ });
829
+ if (fontFaceRules.length > 0) {
830
+ var style = document.createElement('style');
831
+ style.id = 'b-shadow-root-fonts';
832
+ style.textContent = fontFaceRules.join('\n');
833
+ document.head.appendChild(style);
834
+ }
835
+ };
705
836
  /**
706
837
  * Watch for changes
707
838
  * @param changes
@@ -713,8 +844,8 @@
713
844
  return;
714
845
  }
715
846
  // Iterate over all changes
716
- Object.entries(changes).forEach(function (_a) {
717
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
847
+ Object.entries(changes).forEach(function (_b) {
848
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
718
849
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumAIFilterFieldComponent.bryntumConfigsOnly, bryntumProps = BryntumAIFilterFieldComponent.bryntumProps;
719
850
  if (bryntumProps.includes(prop)) {
720
851
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -774,6 +905,7 @@
774
905
  'callOnFunctions',
775
906
  'catchEventHandlerExceptions',
776
907
  'centered',
908
+ 'checkValidity',
777
909
  'clearable',
778
910
  'client',
779
911
  'cls',
@@ -845,6 +977,7 @@
845
977
  'required',
846
978
  'revertOnEscape',
847
979
  'ripple',
980
+ 'role',
848
981
  'rootElement',
849
982
  'rtl',
850
983
  'scrollAction',
@@ -879,6 +1012,7 @@
879
1012
  'autoSelect',
880
1013
  'bubbleEvents',
881
1014
  'centered',
1015
+ 'checkValidity',
882
1016
  'clearable',
883
1017
  'client',
884
1018
  'color',
@@ -926,6 +1060,7 @@
926
1060
  'relayStoreEvents',
927
1061
  'revertOnEscape',
928
1062
  'ripple',
1063
+ 'role',
929
1064
  'rootElement',
930
1065
  'scrollAction',
931
1066
  'showAnimation',
@@ -943,7 +1078,6 @@
943
1078
  ];
944
1079
  BryntumAIFilterFieldComponent.bryntumProps = BryntumAIFilterFieldComponent.bryntumFeatureNames.concat([
945
1080
  'alignSelf',
946
- 'anchorSize',
947
1081
  'appendTo',
948
1082
  'badge',
949
1083
  'callOnFunctions',
@@ -956,7 +1090,6 @@
956
1090
  'editable',
957
1091
  'extraData',
958
1092
  'flex',
959
- 'focusVisible',
960
1093
  'formula',
961
1094
  'height',
962
1095
  'hidden',
@@ -990,7 +1123,7 @@
990
1123
  'y'
991
1124
  ]);
992
1125
  BryntumAIFilterFieldComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumAIFilterFieldComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
993
- BryntumAIFilterFieldComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
1126
+ BryntumAIFilterFieldComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumAIFilterFieldComponent, selector: "bryntum-a-i-filter-field", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", centered: "centered", checkValidity: "checkValidity", clearable: "clearable", client: "client", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", hideAnimation: "hideAnimation", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", keyStrokeChangeDelay: "keyStrokeChangeDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minLength: "minLength", monitorResize: "monitorResize", name: "name", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", progressText: "progressText", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", type: "type", ui: "ui", validateOnInput: "validateOnInput", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0__namespace, template: '', isInline: true });
994
1127
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumAIFilterFieldComponent, decorators: [{
995
1128
  type: i0.Component,
996
1129
  args: [{
@@ -1015,6 +1148,8 @@
1015
1148
  type: i0.Input
1016
1149
  }], centered: [{
1017
1150
  type: i0.Input
1151
+ }], checkValidity: [{
1152
+ type: i0.Input
1018
1153
  }], clearable: [{
1019
1154
  type: i0.Input
1020
1155
  }], client: [{
@@ -1109,6 +1244,8 @@
1109
1244
  type: i0.Input
1110
1245
  }], ripple: [{
1111
1246
  type: i0.Input
1247
+ }], role: [{
1248
+ type: i0.Input
1112
1249
  }], rootElement: [{
1113
1250
  type: i0.Input
1114
1251
  }], scrollAction: [{
@@ -1213,12 +1350,8 @@
1213
1350
  type: i0.Input
1214
1351
  }], y: [{
1215
1352
  type: i0.Input
1216
- }], anchorSize: [{
1217
- type: i0.Input
1218
1353
  }], content: [{
1219
1354
  type: i0.Input
1220
- }], focusVisible: [{
1221
- type: i0.Input
1222
1355
  }], formula: [{
1223
1356
  type: i0.Input
1224
1357
  }], html: [{
@@ -1310,8 +1443,7 @@
1310
1443
  this.onBeforeShow = new i0.EventEmitter();
1311
1444
  /**
1312
1445
  * Fires when any other event is fired from the object.
1313
- * ...
1314
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-catchAll)
1446
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-catchAll)
1315
1447
  * @param {object} event Event object
1316
1448
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
1317
1449
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -1331,8 +1463,7 @@
1331
1463
  this.onChange = new i0.EventEmitter();
1332
1464
  /**
1333
1465
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
1334
- * ...
1335
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-clear)
1466
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-clear)
1336
1467
  * @param {object} event Event object
1337
1468
  * @param {Core.widget.Field,any} event.source This Field
1338
1469
  */
@@ -1391,8 +1522,7 @@
1391
1522
  /**
1392
1523
  * Triggered when a widget which had been in a non-visible state for any reason
1393
1524
  * achieves visibility.
1394
- * ...
1395
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
1525
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/ChecklistFilterCombo#event-paint)
1396
1526
  * @param {object} event Event object
1397
1527
  * @param {Core.widget.Widget} event.source The widget being painted.
1398
1528
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -1488,9 +1618,61 @@
1488
1618
  else {
1489
1619
  WrapperHelper.devWarningContainer(instanceName, containerParam);
1490
1620
  }
1621
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
1622
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
1623
+ // finds the theme. The @font-face rules from component styles are also extracted to
1624
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
1625
+ // included in document.fonts across all browsers).
1626
+ var shadowRoot = elementRef.nativeElement.getRootNode();
1627
+ if (shadowRoot instanceof ShadowRoot) {
1628
+ initThemeInShadowRoots();
1629
+ BryntumChecklistFilterComboComponent.ensureFontsInDocument(shadowRoot);
1630
+ }
1491
1631
  // @ts-ignore
1492
1632
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
1493
1633
  };
1634
+ /**
1635
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
1636
+ * document.head as a single <style> element. This is needed because @font-face rules inside
1637
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
1638
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
1639
+ * Safe to call multiple times — the extraction runs only once per page.
1640
+ */
1641
+ BryntumChecklistFilterComboComponent.ensureFontsInDocument = function (shadowRoot) {
1642
+ var _a;
1643
+ if (document.querySelector('#b-shadow-root-fonts')) {
1644
+ return;
1645
+ }
1646
+ var fontFaceRules = [];
1647
+ var extractFromSheet = function (sheet) {
1648
+ try {
1649
+ var rules = sheet.cssRules;
1650
+ for (var i = 0; i < rules.length; i++) {
1651
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
1652
+ fontFaceRules.push(rules[i].cssText);
1653
+ }
1654
+ }
1655
+ }
1656
+ catch (_e) {
1657
+ // Cross-origin access may throw; silently skip
1658
+ }
1659
+ };
1660
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
1661
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
1662
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
1663
+ // <style> elements (older Angular or fallback)
1664
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
1665
+ if (el.sheet) {
1666
+ extractFromSheet(el.sheet);
1667
+ }
1668
+ });
1669
+ if (fontFaceRules.length > 0) {
1670
+ var style = document.createElement('style');
1671
+ style.id = 'b-shadow-root-fonts';
1672
+ style.textContent = fontFaceRules.join('\n');
1673
+ document.head.appendChild(style);
1674
+ }
1675
+ };
1494
1676
  /**
1495
1677
  * Watch for changes
1496
1678
  * @param changes
@@ -1502,8 +1684,8 @@
1502
1684
  return;
1503
1685
  }
1504
1686
  // Iterate over all changes
1505
- Object.entries(changes).forEach(function (_a) {
1506
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
1687
+ Object.entries(changes).forEach(function (_b) {
1688
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
1507
1689
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumChecklistFilterComboComponent.bryntumConfigsOnly, bryntumProps = BryntumChecklistFilterComboComponent.bryntumProps;
1508
1690
  if (bryntumProps.includes(prop)) {
1509
1691
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -1567,6 +1749,7 @@
1567
1749
  'caseSensitive',
1568
1750
  'catchEventHandlerExceptions',
1569
1751
  'centered',
1752
+ 'checkValidity',
1570
1753
  'chipView',
1571
1754
  'clearable',
1572
1755
  'clearTextOnPickerHide',
@@ -1664,6 +1847,7 @@
1664
1847
  'required',
1665
1848
  'revertOnEscape',
1666
1849
  'ripple',
1850
+ 'role',
1667
1851
  'rootElement',
1668
1852
  'rtl',
1669
1853
  'scrollAction',
@@ -1707,6 +1891,7 @@
1707
1891
  'cacheLastResult',
1708
1892
  'caseSensitive',
1709
1893
  'centered',
1894
+ 'checkValidity',
1710
1895
  'chipView',
1711
1896
  'clearable',
1712
1897
  'clearTextOnPickerHide',
@@ -1777,6 +1962,7 @@
1777
1962
  'relayStoreEvents',
1778
1963
  'revertOnEscape',
1779
1964
  'ripple',
1965
+ 'role',
1780
1966
  'rootElement',
1781
1967
  'scrollAction',
1782
1968
  'showAnimation',
@@ -1797,7 +1983,6 @@
1797
1983
  ];
1798
1984
  BryntumChecklistFilterComboComponent.bryntumProps = BryntumChecklistFilterComboComponent.bryntumFeatureNames.concat([
1799
1985
  'alignSelf',
1800
- 'anchorSize',
1801
1986
  'appendTo',
1802
1987
  'badge',
1803
1988
  'callOnFunctions',
@@ -1811,7 +1996,6 @@
1811
1996
  'extraData',
1812
1997
  'filterOperator',
1813
1998
  'flex',
1814
- 'focusVisible',
1815
1999
  'formula',
1816
2000
  'height',
1817
2001
  'hidden',
@@ -1851,7 +2035,7 @@
1851
2035
  'y'
1852
2036
  ]);
1853
2037
  BryntumChecklistFilterComboComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumChecklistFilterComboComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
1854
- BryntumChecklistFilterComboComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
2038
+ BryntumChecklistFilterComboComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumChecklistFilterComboComponent, selector: "bryntum-checklist-filter-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", checkValidity: "checkValidity", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", listItemPillTpl: "listItemPillTpl", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", searchText: "searchText", showApplyButton: "showApplyButton", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", multiSelect: "multiSelect", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0__namespace, template: '', isInline: true });
1855
2039
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumChecklistFilterComboComponent, decorators: [{
1856
2040
  type: i0.Component,
1857
2041
  args: [{
@@ -1882,6 +2066,8 @@
1882
2066
  type: i0.Input
1883
2067
  }], centered: [{
1884
2068
  type: i0.Input
2069
+ }], checkValidity: [{
2070
+ type: i0.Input
1885
2071
  }], chipView: [{
1886
2072
  type: i0.Input
1887
2073
  }], clearable: [{
@@ -2022,6 +2208,8 @@
2022
2208
  type: i0.Input
2023
2209
  }], ripple: [{
2024
2210
  type: i0.Input
2211
+ }], role: [{
2212
+ type: i0.Input
2025
2213
  }], rootElement: [{
2026
2214
  type: i0.Input
2027
2215
  }], scrollAction: [{
@@ -2144,12 +2332,8 @@
2144
2332
  type: i0.Input
2145
2333
  }], y: [{
2146
2334
  type: i0.Input
2147
- }], anchorSize: [{
2148
- type: i0.Input
2149
2335
  }], content: [{
2150
2336
  type: i0.Input
2151
- }], focusVisible: [{
2152
- type: i0.Input
2153
2337
  }], formula: [{
2154
2338
  type: i0.Input
2155
2339
  }], html: [{
@@ -2224,8 +2408,7 @@
2224
2408
  this.onBeforeCancelCellEdit = new i0.EventEmitter();
2225
2409
  /**
2226
2410
  * 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.
2227
- * ...
2228
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
2411
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeCancelRowEdit)
2229
2412
  * @param {object} event Event object
2230
2413
  * @param {Grid.view.Grid} event.grid Target grid
2231
2414
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2340,8 +2523,7 @@
2340
2523
  this.onBeforeFinishCellEdit = new i0.EventEmitter();
2341
2524
  /**
2342
2525
  * 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.
2343
- * ...
2344
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
2526
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeFinishRowEdit)
2345
2527
  * @param {object} event Event object
2346
2528
  * @param {Grid.view.Grid} event.grid Target grid
2347
2529
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2386,16 +2568,14 @@
2386
2568
  this.onBeforeRenderRows = new i0.EventEmitter();
2387
2569
  /**
2388
2570
  * This event fires before row collapse is started.
2389
- * ...
2390
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
2571
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowCollapse)
2391
2572
  * @param {object} event Event object
2392
2573
  * @param {Core.data.Model} event.record Record
2393
2574
  */
2394
2575
  this.onBeforeRowCollapse = new i0.EventEmitter();
2395
2576
  /**
2396
2577
  * This event fires before row expand is started.
2397
- * ...
2398
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
2578
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-beforeRowExpand)
2399
2579
  * @param {object} event Event object
2400
2580
  * @param {Core.data.Model} event.record Record
2401
2581
  */
@@ -2475,8 +2655,7 @@
2475
2655
  this.onCancelCellEdit = new i0.EventEmitter();
2476
2656
  /**
2477
2657
  * Fires when any other event is fired from the object.
2478
- * ...
2479
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
2658
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-catchAll)
2480
2659
  * @param {object} event Event object
2481
2660
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
2482
2661
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -2518,8 +2697,7 @@
2518
2697
  /**
2519
2698
  * This event fires on the owning grid before the context menu is shown for a cell.
2520
2699
  * 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).
2521
- * ...
2522
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2700
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-cellMenuBeforeShow)
2523
2701
  * @param {object} event Event object
2524
2702
  * @param {Grid.view.Grid} event.source The grid
2525
2703
  * @param {Core.widget.Menu} event.menu The menu
@@ -2700,8 +2878,7 @@
2700
2878
  this.onCopy = new i0.EventEmitter();
2701
2879
  /**
2702
2880
  * Fired when data in the store changes.
2703
- * ...
2704
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2881
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-dataChange)
2705
2882
  * @param {object} event Event object
2706
2883
  * @param {Grid.view.GridBase} event.source Owning grid
2707
2884
  * @param {Core.data.Store} event.store The originating store
@@ -2805,8 +2982,7 @@
2805
2982
  this.onFinishCellEdit = new i0.EventEmitter();
2806
2983
  /**
2807
2984
  * 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.
2808
- * ...
2809
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2985
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-finishRowEdit)
2810
2986
  * @param {object} event Event object
2811
2987
  * @param {Grid.view.Grid} event.grid Target grid
2812
2988
  * @param {RowEditorContext} event.editorContext Editing context
@@ -2906,8 +3082,7 @@
2906
3082
  this.onGridRowDrop = new i0.EventEmitter();
2907
3083
  /**
2908
3084
  * Fired when a grid header is clicked on.
2909
- * ...
2910
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
3085
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerClick)
2911
3086
  * @param {object} event Event object
2912
3087
  * @param {Event} event.domEvent The triggering DOM event.
2913
3088
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -2916,8 +3091,7 @@
2916
3091
  /**
2917
3092
  * This event fires on the owning Grid before the context menu is shown for a header.
2918
3093
  * 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).
2919
- * ...
2920
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
3094
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-headerMenuBeforeShow)
2921
3095
  * @param {object} event Event object
2922
3096
  * @param {Grid.view.Grid} event.source The grid
2923
3097
  * @param {Core.widget.Menu} event.menu The menu
@@ -2980,8 +3154,7 @@
2980
3154
  /**
2981
3155
  * Triggered when a widget which had been in a non-visible state for any reason
2982
3156
  * achieves visibility.
2983
- * ...
2984
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
3157
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-paint)
2985
3158
  * @param {object} event Event object
2986
3159
  * @param {Core.widget.Widget} event.source The widget being painted.
2987
3160
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -3000,8 +3173,8 @@
3000
3173
  /**
3001
3174
  * Fires on the owning Grid when export has finished
3002
3175
  * @param {object} event Event object
3003
- * @param {Response} event.response Optional response, if received
3004
- * @param {Error} event.error Optional error, if exception occurred
3176
+ * @param {Response} [event.response] Optional response, if received
3177
+ * @param {Error} [event.error] Optional error, if exception occurred
3005
3178
  */
3006
3179
  this.onPdfExport = new i0.EventEmitter();
3007
3180
  /**
@@ -3058,8 +3231,7 @@
3058
3231
  this.onRowCollapse = new i0.EventEmitter();
3059
3232
  /**
3060
3233
  * This event fires when a row expand has finished expanding.
3061
- * ...
3062
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
3234
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/Grid#event-rowExpand)
3063
3235
  * @param {object} event Event object
3064
3236
  * @param {Core.data.Model} event.record Record
3065
3237
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -3197,7 +3369,7 @@
3197
3369
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
3198
3370
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
3199
3371
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
3200
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
3372
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
3201
3373
  */
3202
3374
  this.onToggleGroup = new i0.EventEmitter();
3203
3375
  /**
@@ -3279,6 +3451,16 @@
3279
3451
  else {
3280
3452
  WrapperHelper.devWarningContainer(instanceName, containerParam);
3281
3453
  }
3454
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
3455
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
3456
+ // finds the theme. The @font-face rules from component styles are also extracted to
3457
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
3458
+ // included in document.fonts across all browsers).
3459
+ var shadowRoot = elementRef.nativeElement.getRootNode();
3460
+ if (shadowRoot instanceof ShadowRoot) {
3461
+ initThemeInShadowRoots();
3462
+ BryntumGridComponent.ensureFontsInDocument(shadowRoot);
3463
+ }
3282
3464
  // @ts-ignore
3283
3465
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
3284
3466
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -3286,6 +3468,48 @@
3286
3468
  me[coreThin.StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
3287
3469
  //
3288
3470
  };
3471
+ /**
3472
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
3473
+ * document.head as a single <style> element. This is needed because @font-face rules inside
3474
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
3475
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
3476
+ * Safe to call multiple times — the extraction runs only once per page.
3477
+ */
3478
+ BryntumGridComponent.ensureFontsInDocument = function (shadowRoot) {
3479
+ var _a;
3480
+ if (document.querySelector('#b-shadow-root-fonts')) {
3481
+ return;
3482
+ }
3483
+ var fontFaceRules = [];
3484
+ var extractFromSheet = function (sheet) {
3485
+ try {
3486
+ var rules = sheet.cssRules;
3487
+ for (var i = 0; i < rules.length; i++) {
3488
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
3489
+ fontFaceRules.push(rules[i].cssText);
3490
+ }
3491
+ }
3492
+ }
3493
+ catch (_e) {
3494
+ // Cross-origin access may throw; silently skip
3495
+ }
3496
+ };
3497
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
3498
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
3499
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
3500
+ // <style> elements (older Angular or fallback)
3501
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
3502
+ if (el.sheet) {
3503
+ extractFromSheet(el.sheet);
3504
+ }
3505
+ });
3506
+ if (fontFaceRules.length > 0) {
3507
+ var style = document.createElement('style');
3508
+ style.id = 'b-shadow-root-fonts';
3509
+ style.textContent = fontFaceRules.join('\n');
3510
+ document.head.appendChild(style);
3511
+ }
3512
+ };
3289
3513
  /**
3290
3514
  * Watch for changes
3291
3515
  * @param changes
@@ -3297,8 +3521,8 @@
3297
3521
  return;
3298
3522
  }
3299
3523
  // Iterate over all changes
3300
- Object.entries(changes).forEach(function (_a) {
3301
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
3524
+ Object.entries(changes).forEach(function (_b) {
3525
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
3302
3526
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGridComponent.bryntumConfigsOnly, bryntumProps = BryntumGridComponent.bryntumProps;
3303
3527
  if (bryntumProps.includes(prop)) {
3304
3528
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -3551,6 +3775,7 @@
3551
3775
  'insertFirst',
3552
3776
  'keyMap',
3553
3777
  'labelPosition',
3778
+ 'labelWidth',
3554
3779
  'listeners',
3555
3780
  'loadMask',
3556
3781
  'loadMaskDefaults',
@@ -3577,6 +3802,7 @@
3577
3802
  'resizeToFitIncludesHeader',
3578
3803
  'responsiveLevels',
3579
3804
  'ripple',
3805
+ 'role',
3580
3806
  'rootElement',
3581
3807
  'rowHeight',
3582
3808
  'rowLines',
@@ -3663,6 +3889,7 @@
3663
3889
  'resizeToFitIncludesHeader',
3664
3890
  'responsiveLevels',
3665
3891
  'ripple',
3892
+ 'role',
3666
3893
  'rootElement',
3667
3894
  'scrollerClass',
3668
3895
  'scrollManager',
@@ -3700,8 +3927,6 @@
3700
3927
  'enableUndoRedoKeys',
3701
3928
  'extraData',
3702
3929
  'flex',
3703
- 'focusVisible',
3704
- 'hasChanges',
3705
3930
  'height',
3706
3931
  'hidden',
3707
3932
  'hideFooters',
@@ -3712,6 +3937,7 @@
3712
3937
  'insertFirst',
3713
3938
  'keyMap',
3714
3939
  'labelPosition',
3940
+ 'labelWidth',
3715
3941
  'longPressTime',
3716
3942
  'margin',
3717
3943
  'maxHeight',
@@ -3745,7 +3971,7 @@
3745
3971
  'width'
3746
3972
  ]);
3747
3973
  BryntumGridComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
3748
- BryntumGridComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
3974
+ BryntumGridComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
3749
3975
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridComponent, decorators: [{
3750
3976
  type: i0.Component,
3751
3977
  args: [{
@@ -3860,6 +4086,8 @@
3860
4086
  type: i0.Input
3861
4087
  }], ripple: [{
3862
4088
  type: i0.Input
4089
+ }], role: [{
4090
+ type: i0.Input
3863
4091
  }], rootElement: [{
3864
4092
  type: i0.Input
3865
4093
  }], scrollerClass: [{
@@ -3950,6 +4178,8 @@
3950
4178
  type: i0.Input
3951
4179
  }], labelPosition: [{
3952
4180
  type: i0.Input
4181
+ }], labelWidth: [{
4182
+ type: i0.Input
3953
4183
  }], longPressTime: [{
3954
4184
  type: i0.Input
3955
4185
  }], margin: [{
@@ -3994,10 +4224,6 @@
3994
4224
  type: i0.Input
3995
4225
  }], width: [{
3996
4226
  type: i0.Input
3997
- }], focusVisible: [{
3998
- type: i0.Input
3999
- }], hasChanges: [{
4000
- type: i0.Input
4001
4227
  }], originalStore: [{
4002
4228
  type: i0.Input
4003
4229
  }], parent: [{
@@ -4358,8 +4584,7 @@
4358
4584
  this.onBeforeCancelCellEdit = new i0.EventEmitter();
4359
4585
  /**
4360
4586
  * 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.
4361
- * ...
4362
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
4587
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeCancelRowEdit)
4363
4588
  * @param {object} event Event object
4364
4589
  * @param {Grid.view.Grid} event.grid Target grid
4365
4590
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4474,8 +4699,7 @@
4474
4699
  this.onBeforeFinishCellEdit = new i0.EventEmitter();
4475
4700
  /**
4476
4701
  * 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.
4477
- * ...
4478
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
4702
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeFinishRowEdit)
4479
4703
  * @param {object} event Event object
4480
4704
  * @param {Grid.view.Grid} event.grid Target grid
4481
4705
  * @param {RowEditorContext} event.editorContext Editing context
@@ -4520,16 +4744,14 @@
4520
4744
  this.onBeforeRenderRows = new i0.EventEmitter();
4521
4745
  /**
4522
4746
  * This event fires before row collapse is started.
4523
- * ...
4524
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
4747
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowCollapse)
4525
4748
  * @param {object} event Event object
4526
4749
  * @param {Core.data.Model} event.record Record
4527
4750
  */
4528
4751
  this.onBeforeRowCollapse = new i0.EventEmitter();
4529
4752
  /**
4530
4753
  * This event fires before row expand is started.
4531
- * ...
4532
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
4754
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-beforeRowExpand)
4533
4755
  * @param {object} event Event object
4534
4756
  * @param {Core.data.Model} event.record Record
4535
4757
  */
@@ -4609,8 +4831,7 @@
4609
4831
  this.onCancelCellEdit = new i0.EventEmitter();
4610
4832
  /**
4611
4833
  * Fires when any other event is fired from the object.
4612
- * ...
4613
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
4834
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-catchAll)
4614
4835
  * @param {object} event Event object
4615
4836
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
4616
4837
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -4652,8 +4873,7 @@
4652
4873
  /**
4653
4874
  * This event fires on the owning grid before the context menu is shown for a cell.
4654
4875
  * 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).
4655
- * ...
4656
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
4876
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-cellMenuBeforeShow)
4657
4877
  * @param {object} event Event object
4658
4878
  * @param {Grid.view.Grid} event.source The grid
4659
4879
  * @param {Core.widget.Menu} event.menu The menu
@@ -4834,8 +5054,7 @@
4834
5054
  this.onCopy = new i0.EventEmitter();
4835
5055
  /**
4836
5056
  * Fired when data in the store changes.
4837
- * ...
4838
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
5057
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-dataChange)
4839
5058
  * @param {object} event Event object
4840
5059
  * @param {Grid.view.GridBase} event.source Owning grid
4841
5060
  * @param {Core.data.Store} event.store The originating store
@@ -4939,8 +5158,7 @@
4939
5158
  this.onFinishCellEdit = new i0.EventEmitter();
4940
5159
  /**
4941
5160
  * 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.
4942
- * ...
4943
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
5161
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-finishRowEdit)
4944
5162
  * @param {object} event Event object
4945
5163
  * @param {Grid.view.Grid} event.grid Target grid
4946
5164
  * @param {RowEditorContext} event.editorContext Editing context
@@ -5040,8 +5258,7 @@
5040
5258
  this.onGridRowDrop = new i0.EventEmitter();
5041
5259
  /**
5042
5260
  * Fired when a grid header is clicked on.
5043
- * ...
5044
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
5261
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerClick)
5045
5262
  * @param {object} event Event object
5046
5263
  * @param {Event} event.domEvent The triggering DOM event.
5047
5264
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -5050,8 +5267,7 @@
5050
5267
  /**
5051
5268
  * This event fires on the owning Grid before the context menu is shown for a header.
5052
5269
  * 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).
5053
- * ...
5054
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
5270
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-headerMenuBeforeShow)
5055
5271
  * @param {object} event Event object
5056
5272
  * @param {Grid.view.Grid} event.source The grid
5057
5273
  * @param {Core.widget.Menu} event.menu The menu
@@ -5114,8 +5330,7 @@
5114
5330
  /**
5115
5331
  * Triggered when a widget which had been in a non-visible state for any reason
5116
5332
  * achieves visibility.
5117
- * ...
5118
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
5333
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-paint)
5119
5334
  * @param {object} event Event object
5120
5335
  * @param {Core.widget.Widget} event.source The widget being painted.
5121
5336
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -5134,8 +5349,8 @@
5134
5349
  /**
5135
5350
  * Fires on the owning Grid when export has finished
5136
5351
  * @param {object} event Event object
5137
- * @param {Response} event.response Optional response, if received
5138
- * @param {Error} event.error Optional error, if exception occurred
5352
+ * @param {Response} [event.response] Optional response, if received
5353
+ * @param {Error} [event.error] Optional error, if exception occurred
5139
5354
  */
5140
5355
  this.onPdfExport = new i0.EventEmitter();
5141
5356
  /**
@@ -5192,8 +5407,7 @@
5192
5407
  this.onRowCollapse = new i0.EventEmitter();
5193
5408
  /**
5194
5409
  * This event fires when a row expand has finished expanding.
5195
- * ...
5196
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
5410
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/GridBase#event-rowExpand)
5197
5411
  * @param {object} event Event object
5198
5412
  * @param {Core.data.Model} event.record Record
5199
5413
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -5331,7 +5545,7 @@
5331
5545
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
5332
5546
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
5333
5547
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
5334
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
5548
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
5335
5549
  */
5336
5550
  this.onToggleGroup = new i0.EventEmitter();
5337
5551
  /**
@@ -5413,6 +5627,16 @@
5413
5627
  else {
5414
5628
  WrapperHelper.devWarningContainer(instanceName, containerParam);
5415
5629
  }
5630
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
5631
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
5632
+ // finds the theme. The @font-face rules from component styles are also extracted to
5633
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
5634
+ // included in document.fonts across all browsers).
5635
+ var shadowRoot = elementRef.nativeElement.getRootNode();
5636
+ if (shadowRoot instanceof ShadowRoot) {
5637
+ initThemeInShadowRoots();
5638
+ BryntumGridBaseComponent.ensureFontsInDocument(shadowRoot);
5639
+ }
5416
5640
  // @ts-ignore
5417
5641
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
5418
5642
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -5420,6 +5644,48 @@
5420
5644
  me[coreThin.StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
5421
5645
  //
5422
5646
  };
5647
+ /**
5648
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
5649
+ * document.head as a single <style> element. This is needed because @font-face rules inside
5650
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
5651
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
5652
+ * Safe to call multiple times — the extraction runs only once per page.
5653
+ */
5654
+ BryntumGridBaseComponent.ensureFontsInDocument = function (shadowRoot) {
5655
+ var _a;
5656
+ if (document.querySelector('#b-shadow-root-fonts')) {
5657
+ return;
5658
+ }
5659
+ var fontFaceRules = [];
5660
+ var extractFromSheet = function (sheet) {
5661
+ try {
5662
+ var rules = sheet.cssRules;
5663
+ for (var i = 0; i < rules.length; i++) {
5664
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
5665
+ fontFaceRules.push(rules[i].cssText);
5666
+ }
5667
+ }
5668
+ }
5669
+ catch (_e) {
5670
+ // Cross-origin access may throw; silently skip
5671
+ }
5672
+ };
5673
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
5674
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
5675
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
5676
+ // <style> elements (older Angular or fallback)
5677
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
5678
+ if (el.sheet) {
5679
+ extractFromSheet(el.sheet);
5680
+ }
5681
+ });
5682
+ if (fontFaceRules.length > 0) {
5683
+ var style = document.createElement('style');
5684
+ style.id = 'b-shadow-root-fonts';
5685
+ style.textContent = fontFaceRules.join('\n');
5686
+ document.head.appendChild(style);
5687
+ }
5688
+ };
5423
5689
  /**
5424
5690
  * Watch for changes
5425
5691
  * @param changes
@@ -5431,8 +5697,8 @@
5431
5697
  return;
5432
5698
  }
5433
5699
  // Iterate over all changes
5434
- Object.entries(changes).forEach(function (_a) {
5435
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
5700
+ Object.entries(changes).forEach(function (_b) {
5701
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
5436
5702
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGridBaseComponent.bryntumConfigsOnly, bryntumProps = BryntumGridBaseComponent.bryntumProps;
5437
5703
  if (bryntumProps.includes(prop)) {
5438
5704
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -5685,6 +5951,7 @@
5685
5951
  'insertFirst',
5686
5952
  'keyMap',
5687
5953
  'labelPosition',
5954
+ 'labelWidth',
5688
5955
  'listeners',
5689
5956
  'loadMask',
5690
5957
  'loadMaskDefaults',
@@ -5711,6 +5978,7 @@
5711
5978
  'resizeToFitIncludesHeader',
5712
5979
  'responsiveLevels',
5713
5980
  'ripple',
5981
+ 'role',
5714
5982
  'rootElement',
5715
5983
  'rowHeight',
5716
5984
  'rowLines',
@@ -5796,6 +6064,7 @@
5796
6064
  'resizeToFitIncludesHeader',
5797
6065
  'responsiveLevels',
5798
6066
  'ripple',
6067
+ 'role',
5799
6068
  'rootElement',
5800
6069
  'scrollerClass',
5801
6070
  'scrollManager',
@@ -5832,8 +6101,6 @@
5832
6101
  'enableUndoRedoKeys',
5833
6102
  'extraData',
5834
6103
  'flex',
5835
- 'focusVisible',
5836
- 'hasChanges',
5837
6104
  'height',
5838
6105
  'hidden',
5839
6106
  'hideFooters',
@@ -5844,6 +6111,7 @@
5844
6111
  'insertFirst',
5845
6112
  'keyMap',
5846
6113
  'labelPosition',
6114
+ 'labelWidth',
5847
6115
  'longPressTime',
5848
6116
  'margin',
5849
6117
  'maxHeight',
@@ -5877,7 +6145,7 @@
5877
6145
  'width'
5878
6146
  ]);
5879
6147
  BryntumGridBaseComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridBaseComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
5880
- BryntumGridBaseComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
6148
+ BryntumGridBaseComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
5881
6149
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridBaseComponent, decorators: [{
5882
6150
  type: i0.Component,
5883
6151
  args: [{
@@ -5992,6 +6260,8 @@
5992
6260
  type: i0.Input
5993
6261
  }], ripple: [{
5994
6262
  type: i0.Input
6263
+ }], role: [{
6264
+ type: i0.Input
5995
6265
  }], rootElement: [{
5996
6266
  type: i0.Input
5997
6267
  }], scrollerClass: [{
@@ -6080,6 +6350,8 @@
6080
6350
  type: i0.Input
6081
6351
  }], labelPosition: [{
6082
6352
  type: i0.Input
6353
+ }], labelWidth: [{
6354
+ type: i0.Input
6083
6355
  }], longPressTime: [{
6084
6356
  type: i0.Input
6085
6357
  }], margin: [{
@@ -6124,10 +6396,6 @@
6124
6396
  type: i0.Input
6125
6397
  }], width: [{
6126
6398
  type: i0.Input
6127
- }], focusVisible: [{
6128
- type: i0.Input
6129
- }], hasChanges: [{
6130
- type: i0.Input
6131
6399
  }], originalStore: [{
6132
6400
  type: i0.Input
6133
6401
  }], parent: [{
@@ -6499,8 +6767,7 @@
6499
6767
  this.onBeforeShow = new i0.EventEmitter();
6500
6768
  /**
6501
6769
  * Fires when any other event is fired from the object.
6502
- * ...
6503
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-catchAll)
6770
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-catchAll)
6504
6771
  * @param {object} event Event object
6505
6772
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
6506
6773
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -6551,8 +6818,7 @@
6551
6818
  /**
6552
6819
  * Triggered when a widget which had been in a non-visible state for any reason
6553
6820
  * achieves visibility.
6554
- * ...
6555
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6821
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridChartDesigner#event-paint)
6556
6822
  * @param {object} event Event object
6557
6823
  * @param {Core.widget.Widget} event.source The widget being painted.
6558
6824
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -6632,9 +6898,61 @@
6632
6898
  else {
6633
6899
  WrapperHelper.devWarningContainer(instanceName, containerParam);
6634
6900
  }
6901
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
6902
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
6903
+ // finds the theme. The @font-face rules from component styles are also extracted to
6904
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
6905
+ // included in document.fonts across all browsers).
6906
+ var shadowRoot = elementRef.nativeElement.getRootNode();
6907
+ if (shadowRoot instanceof ShadowRoot) {
6908
+ initThemeInShadowRoots();
6909
+ BryntumGridChartDesignerComponent.ensureFontsInDocument(shadowRoot);
6910
+ }
6635
6911
  // @ts-ignore
6636
6912
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
6637
6913
  };
6914
+ /**
6915
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
6916
+ * document.head as a single <style> element. This is needed because @font-face rules inside
6917
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
6918
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
6919
+ * Safe to call multiple times — the extraction runs only once per page.
6920
+ */
6921
+ BryntumGridChartDesignerComponent.ensureFontsInDocument = function (shadowRoot) {
6922
+ var _a;
6923
+ if (document.querySelector('#b-shadow-root-fonts')) {
6924
+ return;
6925
+ }
6926
+ var fontFaceRules = [];
6927
+ var extractFromSheet = function (sheet) {
6928
+ try {
6929
+ var rules = sheet.cssRules;
6930
+ for (var i = 0; i < rules.length; i++) {
6931
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
6932
+ fontFaceRules.push(rules[i].cssText);
6933
+ }
6934
+ }
6935
+ }
6936
+ catch (_e) {
6937
+ // Cross-origin access may throw; silently skip
6938
+ }
6939
+ };
6940
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
6941
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
6942
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
6943
+ // <style> elements (older Angular or fallback)
6944
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
6945
+ if (el.sheet) {
6946
+ extractFromSheet(el.sheet);
6947
+ }
6948
+ });
6949
+ if (fontFaceRules.length > 0) {
6950
+ var style = document.createElement('style');
6951
+ style.id = 'b-shadow-root-fonts';
6952
+ style.textContent = fontFaceRules.join('\n');
6953
+ document.head.appendChild(style);
6954
+ }
6955
+ };
6638
6956
  /**
6639
6957
  * Watch for changes
6640
6958
  * @param changes
@@ -6646,8 +6964,8 @@
6646
6964
  return;
6647
6965
  }
6648
6966
  // Iterate over all changes
6649
- Object.entries(changes).forEach(function (_a) {
6650
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
6967
+ Object.entries(changes).forEach(function (_b) {
6968
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
6651
6969
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGridChartDesignerComponent.bryntumConfigsOnly, bryntumProps = BryntumGridChartDesignerComponent.bryntumProps;
6652
6970
  if (bryntumProps.includes(prop)) {
6653
6971
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -6746,6 +7064,7 @@
6746
7064
  'readOnly',
6747
7065
  'relayStoreEvents',
6748
7066
  'ripple',
7067
+ 'role',
6749
7068
  'rootElement',
6750
7069
  'rtl',
6751
7070
  'scrollable',
@@ -6800,6 +7119,7 @@
6800
7119
  'preventTooltipOnTouch',
6801
7120
  'relayStoreEvents',
6802
7121
  'ripple',
7122
+ 'role',
6803
7123
  'rootElement',
6804
7124
  'scrollAction',
6805
7125
  'showAnimation',
@@ -6815,7 +7135,6 @@
6815
7135
  ];
6816
7136
  BryntumGridChartDesignerComponent.bryntumProps = BryntumGridChartDesignerComponent.bryntumFeatureNames.concat([
6817
7137
  'alignSelf',
6818
- 'anchorSize',
6819
7138
  'appendTo',
6820
7139
  'callOnFunctions',
6821
7140
  'catchEventHandlerExceptions',
@@ -6826,7 +7145,6 @@
6826
7145
  'disabled',
6827
7146
  'extraData',
6828
7147
  'flex',
6829
- 'focusVisible',
6830
7148
  'height',
6831
7149
  'hidden',
6832
7150
  'html',
@@ -6851,7 +7169,7 @@
6851
7169
  'y'
6852
7170
  ]);
6853
7171
  BryntumGridChartDesignerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridChartDesignerComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
6854
- BryntumGridChartDesignerComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
7172
+ BryntumGridChartDesignerComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
6855
7173
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridChartDesignerComponent, decorators: [{
6856
7174
  type: i0.Component,
6857
7175
  args: [{
@@ -6924,6 +7242,8 @@
6924
7242
  type: i0.Input
6925
7243
  }], ripple: [{
6926
7244
  type: i0.Input
7245
+ }], role: [{
7246
+ type: i0.Input
6927
7247
  }], rootElement: [{
6928
7248
  type: i0.Input
6929
7249
  }], scrollAction: [{
@@ -7012,10 +7332,6 @@
7012
7332
  type: i0.Input
7013
7333
  }], y: [{
7014
7334
  type: i0.Input
7015
- }], anchorSize: [{
7016
- type: i0.Input
7017
- }], focusVisible: [{
7018
- type: i0.Input
7019
7335
  }], parent: [{
7020
7336
  type: i0.Input
7021
7337
  }], onBeforeDestroy: [{
@@ -7087,8 +7403,7 @@
7087
7403
  this.onBeforeShow = new i0.EventEmitter();
7088
7404
  /**
7089
7405
  * Fires when any other event is fired from the object.
7090
- * ...
7091
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-catchAll)
7406
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-catchAll)
7092
7407
  * @param {object} event Event object
7093
7408
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
7094
7409
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -7154,8 +7469,7 @@
7154
7469
  /**
7155
7470
  * Triggered when a widget which had been in a non-visible state for any reason
7156
7471
  * achieves visibility.
7157
- * ...
7158
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
7472
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPicker#event-paint)
7159
7473
  * @param {object} event Event object
7160
7474
  * @param {Core.widget.Widget} event.source The widget being painted.
7161
7475
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -7235,9 +7549,61 @@
7235
7549
  else {
7236
7550
  WrapperHelper.devWarningContainer(instanceName, containerParam);
7237
7551
  }
7552
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
7553
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
7554
+ // finds the theme. The @font-face rules from component styles are also extracted to
7555
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
7556
+ // included in document.fonts across all browsers).
7557
+ var shadowRoot = elementRef.nativeElement.getRootNode();
7558
+ if (shadowRoot instanceof ShadowRoot) {
7559
+ initThemeInShadowRoots();
7560
+ BryntumGridFieldFilterPickerComponent.ensureFontsInDocument(shadowRoot);
7561
+ }
7238
7562
  // @ts-ignore
7239
7563
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
7240
7564
  };
7565
+ /**
7566
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
7567
+ * document.head as a single <style> element. This is needed because @font-face rules inside
7568
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
7569
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
7570
+ * Safe to call multiple times — the extraction runs only once per page.
7571
+ */
7572
+ BryntumGridFieldFilterPickerComponent.ensureFontsInDocument = function (shadowRoot) {
7573
+ var _a;
7574
+ if (document.querySelector('#b-shadow-root-fonts')) {
7575
+ return;
7576
+ }
7577
+ var fontFaceRules = [];
7578
+ var extractFromSheet = function (sheet) {
7579
+ try {
7580
+ var rules = sheet.cssRules;
7581
+ for (var i = 0; i < rules.length; i++) {
7582
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
7583
+ fontFaceRules.push(rules[i].cssText);
7584
+ }
7585
+ }
7586
+ }
7587
+ catch (_e) {
7588
+ // Cross-origin access may throw; silently skip
7589
+ }
7590
+ };
7591
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
7592
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
7593
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
7594
+ // <style> elements (older Angular or fallback)
7595
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
7596
+ if (el.sheet) {
7597
+ extractFromSheet(el.sheet);
7598
+ }
7599
+ });
7600
+ if (fontFaceRules.length > 0) {
7601
+ var style = document.createElement('style');
7602
+ style.id = 'b-shadow-root-fonts';
7603
+ style.textContent = fontFaceRules.join('\n');
7604
+ document.head.appendChild(style);
7605
+ }
7606
+ };
7241
7607
  /**
7242
7608
  * Watch for changes
7243
7609
  * @param changes
@@ -7249,8 +7615,8 @@
7249
7615
  return;
7250
7616
  }
7251
7617
  // Iterate over all changes
7252
- Object.entries(changes).forEach(function (_a) {
7253
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
7618
+ Object.entries(changes).forEach(function (_b) {
7619
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
7254
7620
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGridFieldFilterPickerComponent.bryntumConfigsOnly, bryntumProps = BryntumGridFieldFilterPickerComponent.bryntumProps;
7255
7621
  if (bryntumProps.includes(prop)) {
7256
7622
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -7348,6 +7714,7 @@
7348
7714
  'items',
7349
7715
  'keyMap',
7350
7716
  'labelPosition',
7717
+ 'labelWidth',
7351
7718
  'layout',
7352
7719
  'layoutStyle',
7353
7720
  'lazyItems',
@@ -7376,6 +7743,7 @@
7376
7743
  'relayStoreEvents',
7377
7744
  'rendition',
7378
7745
  'ripple',
7746
+ 'role',
7379
7747
  'rootElement',
7380
7748
  'rtl',
7381
7749
  'scrollable',
@@ -7452,6 +7820,7 @@
7452
7820
  'propertyLocked',
7453
7821
  'relayStoreEvents',
7454
7822
  'ripple',
7823
+ 'role',
7455
7824
  'rootElement',
7456
7825
  'scrollAction',
7457
7826
  'showAnimation',
@@ -7471,7 +7840,6 @@
7471
7840
  ];
7472
7841
  BryntumGridFieldFilterPickerComponent.bryntumProps = BryntumGridFieldFilterPickerComponent.bryntumFeatureNames.concat([
7473
7842
  'alignSelf',
7474
- 'anchorSize',
7475
7843
  'appendTo',
7476
7844
  'callOnFunctions',
7477
7845
  'catchEventHandlerExceptions',
@@ -7482,8 +7850,6 @@
7482
7850
  'disabled',
7483
7851
  'extraData',
7484
7852
  'flex',
7485
- 'focusVisible',
7486
- 'hasChanges',
7487
7853
  'height',
7488
7854
  'hidden',
7489
7855
  'html',
@@ -7491,11 +7857,10 @@
7491
7857
  'inputFieldAlign',
7492
7858
  'insertBefore',
7493
7859
  'insertFirst',
7494
- 'isSettingValues',
7495
- 'isValid',
7496
7860
  'items',
7497
7861
  'keyMap',
7498
7862
  'labelPosition',
7863
+ 'labelWidth',
7499
7864
  'layout',
7500
7865
  'layoutStyle',
7501
7866
  'margin',
@@ -7519,7 +7884,7 @@
7519
7884
  'y'
7520
7885
  ]);
7521
7886
  BryntumGridFieldFilterPickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridFieldFilterPickerComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
7522
- BryntumGridFieldFilterPickerComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
7887
+ BryntumGridFieldFilterPickerComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
7523
7888
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridFieldFilterPickerComponent, decorators: [{
7524
7889
  type: i0.Component,
7525
7890
  args: [{
@@ -7626,6 +7991,8 @@
7626
7991
  type: i0.Input
7627
7992
  }], ripple: [{
7628
7993
  type: i0.Input
7994
+ }], role: [{
7995
+ type: i0.Input
7629
7996
  }], rootElement: [{
7630
7997
  type: i0.Input
7631
7998
  }], scrollAction: [{
@@ -7700,6 +8067,8 @@
7700
8067
  type: i0.Input
7701
8068
  }], labelPosition: [{
7702
8069
  type: i0.Input
8070
+ }], labelWidth: [{
8071
+ type: i0.Input
7703
8072
  }], layout: [{
7704
8073
  type: i0.Input
7705
8074
  }], layoutStyle: [{
@@ -7738,16 +8107,6 @@
7738
8107
  type: i0.Input
7739
8108
  }], y: [{
7740
8109
  type: i0.Input
7741
- }], anchorSize: [{
7742
- type: i0.Input
7743
- }], focusVisible: [{
7744
- type: i0.Input
7745
- }], hasChanges: [{
7746
- type: i0.Input
7747
- }], isSettingValues: [{
7748
- type: i0.Input
7749
- }], isValid: [{
7750
- type: i0.Input
7751
8110
  }], parent: [{
7752
8111
  type: i0.Input
7753
8112
  }], values: [{
@@ -7835,8 +8194,7 @@
7835
8194
  this.onBeforeShow = new i0.EventEmitter();
7836
8195
  /**
7837
8196
  * Fires when any other event is fired from the object.
7838
- * ...
7839
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
8197
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-catchAll)
7840
8198
  * @param {object} event Event object
7841
8199
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
7842
8200
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -7902,8 +8260,7 @@
7902
8260
  /**
7903
8261
  * Triggered when a widget which had been in a non-visible state for any reason
7904
8262
  * achieves visibility.
7905
- * ...
7906
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
8263
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GridFieldFilterPickerGroup#event-paint)
7907
8264
  * @param {object} event Event object
7908
8265
  * @param {Core.widget.Widget} event.source The widget being painted.
7909
8266
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -7983,9 +8340,61 @@
7983
8340
  else {
7984
8341
  WrapperHelper.devWarningContainer(instanceName, containerParam);
7985
8342
  }
8343
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
8344
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
8345
+ // finds the theme. The @font-face rules from component styles are also extracted to
8346
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
8347
+ // included in document.fonts across all browsers).
8348
+ var shadowRoot = elementRef.nativeElement.getRootNode();
8349
+ if (shadowRoot instanceof ShadowRoot) {
8350
+ initThemeInShadowRoots();
8351
+ BryntumGridFieldFilterPickerGroupComponent.ensureFontsInDocument(shadowRoot);
8352
+ }
7986
8353
  // @ts-ignore
7987
8354
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
7988
8355
  };
8356
+ /**
8357
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
8358
+ * document.head as a single <style> element. This is needed because @font-face rules inside
8359
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
8360
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
8361
+ * Safe to call multiple times — the extraction runs only once per page.
8362
+ */
8363
+ BryntumGridFieldFilterPickerGroupComponent.ensureFontsInDocument = function (shadowRoot) {
8364
+ var _a;
8365
+ if (document.querySelector('#b-shadow-root-fonts')) {
8366
+ return;
8367
+ }
8368
+ var fontFaceRules = [];
8369
+ var extractFromSheet = function (sheet) {
8370
+ try {
8371
+ var rules = sheet.cssRules;
8372
+ for (var i = 0; i < rules.length; i++) {
8373
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
8374
+ fontFaceRules.push(rules[i].cssText);
8375
+ }
8376
+ }
8377
+ }
8378
+ catch (_e) {
8379
+ // Cross-origin access may throw; silently skip
8380
+ }
8381
+ };
8382
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
8383
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
8384
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
8385
+ // <style> elements (older Angular or fallback)
8386
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
8387
+ if (el.sheet) {
8388
+ extractFromSheet(el.sheet);
8389
+ }
8390
+ });
8391
+ if (fontFaceRules.length > 0) {
8392
+ var style = document.createElement('style');
8393
+ style.id = 'b-shadow-root-fonts';
8394
+ style.textContent = fontFaceRules.join('\n');
8395
+ document.head.appendChild(style);
8396
+ }
8397
+ };
7989
8398
  /**
7990
8399
  * Watch for changes
7991
8400
  * @param changes
@@ -7997,8 +8406,8 @@
7997
8406
  return;
7998
8407
  }
7999
8408
  // Iterate over all changes
8000
- Object.entries(changes).forEach(function (_a) {
8001
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
8409
+ Object.entries(changes).forEach(function (_b) {
8410
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
8002
8411
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGridFieldFilterPickerGroupComponent.bryntumConfigsOnly, bryntumProps = BryntumGridFieldFilterPickerGroupComponent.bryntumProps;
8003
8412
  if (bryntumProps.includes(prop)) {
8004
8413
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -8099,6 +8508,7 @@
8099
8508
  'items',
8100
8509
  'keyMap',
8101
8510
  'labelPosition',
8511
+ 'labelWidth',
8102
8512
  'layout',
8103
8513
  'layoutStyle',
8104
8514
  'lazyItems',
@@ -8125,6 +8535,7 @@
8125
8535
  'relayStoreEvents',
8126
8536
  'rendition',
8127
8537
  'ripple',
8538
+ 'role',
8128
8539
  'rootElement',
8129
8540
  'rtl',
8130
8541
  'scrollable',
@@ -8200,6 +8611,7 @@
8200
8611
  'preventTooltipOnTouch',
8201
8612
  'relayStoreEvents',
8202
8613
  'ripple',
8614
+ 'role',
8203
8615
  'rootElement',
8204
8616
  'scrollAction',
8205
8617
  'showAddFilterButton',
@@ -8218,7 +8630,6 @@
8218
8630
  ];
8219
8631
  BryntumGridFieldFilterPickerGroupComponent.bryntumProps = BryntumGridFieldFilterPickerGroupComponent.bryntumFeatureNames.concat([
8220
8632
  'alignSelf',
8221
- 'anchorSize',
8222
8633
  'appendTo',
8223
8634
  'callOnFunctions',
8224
8635
  'catchEventHandlerExceptions',
@@ -8229,8 +8640,6 @@
8229
8640
  'disabled',
8230
8641
  'extraData',
8231
8642
  'flex',
8232
- 'focusVisible',
8233
- 'hasChanges',
8234
8643
  'height',
8235
8644
  'hidden',
8236
8645
  'html',
@@ -8238,11 +8647,10 @@
8238
8647
  'inputFieldAlign',
8239
8648
  'insertBefore',
8240
8649
  'insertFirst',
8241
- 'isSettingValues',
8242
- 'isValid',
8243
8650
  'items',
8244
8651
  'keyMap',
8245
8652
  'labelPosition',
8653
+ 'labelWidth',
8246
8654
  'layout',
8247
8655
  'layoutStyle',
8248
8656
  'margin',
@@ -8267,7 +8675,7 @@
8267
8675
  'y'
8268
8676
  ]);
8269
8677
  BryntumGridFieldFilterPickerGroupComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridFieldFilterPickerGroupComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
8270
- BryntumGridFieldFilterPickerGroupComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
8678
+ BryntumGridFieldFilterPickerGroupComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
8271
8679
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridFieldFilterPickerGroupComponent, decorators: [{
8272
8680
  type: i0.Component,
8273
8681
  args: [{
@@ -8374,6 +8782,8 @@
8374
8782
  type: i0.Input
8375
8783
  }], ripple: [{
8376
8784
  type: i0.Input
8785
+ }], role: [{
8786
+ type: i0.Input
8377
8787
  }], rootElement: [{
8378
8788
  type: i0.Input
8379
8789
  }], scrollAction: [{
@@ -8446,6 +8856,8 @@
8446
8856
  type: i0.Input
8447
8857
  }], labelPosition: [{
8448
8858
  type: i0.Input
8859
+ }], labelWidth: [{
8860
+ type: i0.Input
8449
8861
  }], layout: [{
8450
8862
  type: i0.Input
8451
8863
  }], layoutStyle: [{
@@ -8484,16 +8896,6 @@
8484
8896
  type: i0.Input
8485
8897
  }], y: [{
8486
8898
  type: i0.Input
8487
- }], anchorSize: [{
8488
- type: i0.Input
8489
- }], focusVisible: [{
8490
- type: i0.Input
8491
- }], hasChanges: [{
8492
- type: i0.Input
8493
- }], isSettingValues: [{
8494
- type: i0.Input
8495
- }], isValid: [{
8496
- type: i0.Input
8497
8899
  }], parent: [{
8498
8900
  type: i0.Input
8499
8901
  }], value: [{
@@ -8581,8 +8983,7 @@
8581
8983
  this.onBeforeShow = new i0.EventEmitter();
8582
8984
  /**
8583
8985
  * Fires when any other event is fired from the object.
8584
- * ...
8585
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
8986
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-catchAll)
8586
8987
  * @param {object} event Event object
8587
8988
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
8588
8989
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -8644,8 +9045,7 @@
8644
9045
  /**
8645
9046
  * Triggered when a widget which had been in a non-visible state for any reason
8646
9047
  * achieves visibility.
8647
- * ...
8648
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
9048
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/GroupBar#event-paint)
8649
9049
  * @param {object} event Event object
8650
9050
  * @param {Core.widget.Widget} event.source The widget being painted.
8651
9051
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -8746,9 +9146,61 @@
8746
9146
  else {
8747
9147
  WrapperHelper.devWarningContainer(instanceName, containerParam);
8748
9148
  }
9149
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
9150
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
9151
+ // finds the theme. The @font-face rules from component styles are also extracted to
9152
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
9153
+ // included in document.fonts across all browsers).
9154
+ var shadowRoot = elementRef.nativeElement.getRootNode();
9155
+ if (shadowRoot instanceof ShadowRoot) {
9156
+ initThemeInShadowRoots();
9157
+ BryntumGroupBarComponent.ensureFontsInDocument(shadowRoot);
9158
+ }
8749
9159
  // @ts-ignore
8750
9160
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
8751
9161
  };
9162
+ /**
9163
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
9164
+ * document.head as a single <style> element. This is needed because @font-face rules inside
9165
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
9166
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
9167
+ * Safe to call multiple times — the extraction runs only once per page.
9168
+ */
9169
+ BryntumGroupBarComponent.ensureFontsInDocument = function (shadowRoot) {
9170
+ var _a;
9171
+ if (document.querySelector('#b-shadow-root-fonts')) {
9172
+ return;
9173
+ }
9174
+ var fontFaceRules = [];
9175
+ var extractFromSheet = function (sheet) {
9176
+ try {
9177
+ var rules = sheet.cssRules;
9178
+ for (var i = 0; i < rules.length; i++) {
9179
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
9180
+ fontFaceRules.push(rules[i].cssText);
9181
+ }
9182
+ }
9183
+ }
9184
+ catch (_e) {
9185
+ // Cross-origin access may throw; silently skip
9186
+ }
9187
+ };
9188
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
9189
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
9190
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
9191
+ // <style> elements (older Angular or fallback)
9192
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
9193
+ if (el.sheet) {
9194
+ extractFromSheet(el.sheet);
9195
+ }
9196
+ });
9197
+ if (fontFaceRules.length > 0) {
9198
+ var style = document.createElement('style');
9199
+ style.id = 'b-shadow-root-fonts';
9200
+ style.textContent = fontFaceRules.join('\n');
9201
+ document.head.appendChild(style);
9202
+ }
9203
+ };
8752
9204
  /**
8753
9205
  * Watch for changes
8754
9206
  * @param changes
@@ -8760,8 +9212,8 @@
8760
9212
  return;
8761
9213
  }
8762
9214
  // Iterate over all changes
8763
- Object.entries(changes).forEach(function (_a) {
8764
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
9215
+ Object.entries(changes).forEach(function (_b) {
9216
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
8765
9217
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumGroupBarComponent.bryntumConfigsOnly, bryntumProps = BryntumGroupBarComponent.bryntumProps;
8766
9218
  if (bryntumProps.includes(prop)) {
8767
9219
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -8880,6 +9332,7 @@
8880
9332
  'readOnly',
8881
9333
  'relayStoreEvents',
8882
9334
  'ripple',
9335
+ 'role',
8883
9336
  'rootElement',
8884
9337
  'rtl',
8885
9338
  'scrollable',
@@ -8948,6 +9401,7 @@
8948
9401
  'preventTooltipOnTouch',
8949
9402
  'relayStoreEvents',
8950
9403
  'ripple',
9404
+ 'role',
8951
9405
  'rootElement',
8952
9406
  'scrollAction',
8953
9407
  'selectAllItem',
@@ -8965,7 +9419,6 @@
8965
9419
  BryntumGroupBarComponent.bryntumProps = BryntumGroupBarComponent.bryntumFeatureNames.concat([
8966
9420
  'alignSelf',
8967
9421
  'allowGroupSelect',
8968
- 'anchorSize',
8969
9422
  'appendTo',
8970
9423
  'callOnFunctions',
8971
9424
  'catchEventHandlerExceptions',
@@ -8979,7 +9432,6 @@
8979
9432
  'emptyText',
8980
9433
  'extraData',
8981
9434
  'flex',
8982
- 'focusVisible',
8983
9435
  'height',
8984
9436
  'hidden',
8985
9437
  'html',
@@ -9010,7 +9462,7 @@
9010
9462
  'y'
9011
9463
  ]);
9012
9464
  BryntumGroupBarComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGroupBarComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9013
- BryntumGroupBarComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
9465
+ BryntumGroupBarComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
9014
9466
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGroupBarComponent, decorators: [{
9015
9467
  type: i0.Component,
9016
9468
  args: [{
@@ -9101,6 +9553,8 @@
9101
9553
  type: i0.Input
9102
9554
  }], ripple: [{
9103
9555
  type: i0.Input
9556
+ }], role: [{
9557
+ type: i0.Input
9104
9558
  }], rootElement: [{
9105
9559
  type: i0.Input
9106
9560
  }], scrollAction: [{
@@ -9211,10 +9665,6 @@
9211
9665
  type: i0.Input
9212
9666
  }], y: [{
9213
9667
  type: i0.Input
9214
- }], anchorSize: [{
9215
- type: i0.Input
9216
- }], focusVisible: [{
9217
- type: i0.Input
9218
9668
  }], parent: [{
9219
9669
  type: i0.Input
9220
9670
  }], onBeforeDestroy: [{
@@ -9298,8 +9748,7 @@
9298
9748
  this.onBeforeShow = new i0.EventEmitter();
9299
9749
  /**
9300
9750
  * Fires when any other event is fired from the object.
9301
- * ...
9302
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-catchAll)
9751
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-catchAll)
9303
9752
  * @param {object} event Event object
9304
9753
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
9305
9754
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -9319,8 +9768,7 @@
9319
9768
  this.onChange = new i0.EventEmitter();
9320
9769
  /**
9321
9770
  * Fired when this field is [cleared](https://bryntum.com/products/grid/docs/api/Core/widget/Field#function-clear).
9322
- * ...
9323
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-clear)
9771
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-clear)
9324
9772
  * @param {object} event Event object
9325
9773
  * @param {Core.widget.Field,any} event.source This Field
9326
9774
  */
@@ -9379,8 +9827,7 @@
9379
9827
  /**
9380
9828
  * Triggered when a widget which had been in a non-visible state for any reason
9381
9829
  * achieves visibility.
9382
- * ...
9383
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
9830
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/widget/TreeCombo#event-paint)
9384
9831
  * @param {object} event Event object
9385
9832
  * @param {Core.widget.Widget} event.source The widget being painted.
9386
9833
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -9476,9 +9923,61 @@
9476
9923
  else {
9477
9924
  WrapperHelper.devWarningContainer(instanceName, containerParam);
9478
9925
  }
9926
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
9927
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
9928
+ // finds the theme. The @font-face rules from component styles are also extracted to
9929
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
9930
+ // included in document.fonts across all browsers).
9931
+ var shadowRoot = elementRef.nativeElement.getRootNode();
9932
+ if (shadowRoot instanceof ShadowRoot) {
9933
+ initThemeInShadowRoots();
9934
+ BryntumTreeComboComponent.ensureFontsInDocument(shadowRoot);
9935
+ }
9479
9936
  // @ts-ignore
9480
9937
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
9481
9938
  };
9939
+ /**
9940
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
9941
+ * document.head as a single <style> element. This is needed because @font-face rules inside
9942
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
9943
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
9944
+ * Safe to call multiple times — the extraction runs only once per page.
9945
+ */
9946
+ BryntumTreeComboComponent.ensureFontsInDocument = function (shadowRoot) {
9947
+ var _a;
9948
+ if (document.querySelector('#b-shadow-root-fonts')) {
9949
+ return;
9950
+ }
9951
+ var fontFaceRules = [];
9952
+ var extractFromSheet = function (sheet) {
9953
+ try {
9954
+ var rules = sheet.cssRules;
9955
+ for (var i = 0; i < rules.length; i++) {
9956
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
9957
+ fontFaceRules.push(rules[i].cssText);
9958
+ }
9959
+ }
9960
+ }
9961
+ catch (_e) {
9962
+ // Cross-origin access may throw; silently skip
9963
+ }
9964
+ };
9965
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
9966
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
9967
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
9968
+ // <style> elements (older Angular or fallback)
9969
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
9970
+ if (el.sheet) {
9971
+ extractFromSheet(el.sheet);
9972
+ }
9973
+ });
9974
+ if (fontFaceRules.length > 0) {
9975
+ var style = document.createElement('style');
9976
+ style.id = 'b-shadow-root-fonts';
9977
+ style.textContent = fontFaceRules.join('\n');
9978
+ document.head.appendChild(style);
9979
+ }
9980
+ };
9482
9981
  /**
9483
9982
  * Watch for changes
9484
9983
  * @param changes
@@ -9490,8 +9989,8 @@
9490
9989
  return;
9491
9990
  }
9492
9991
  // Iterate over all changes
9493
- Object.entries(changes).forEach(function (_a) {
9494
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
9992
+ Object.entries(changes).forEach(function (_b) {
9993
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
9495
9994
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumTreeComboComponent.bryntumConfigsOnly, bryntumProps = BryntumTreeComboComponent.bryntumProps;
9496
9995
  if (bryntumProps.includes(prop)) {
9497
9996
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -9555,6 +10054,7 @@
9555
10054
  'caseSensitive',
9556
10055
  'catchEventHandlerExceptions',
9557
10056
  'centered',
10057
+ 'checkValidity',
9558
10058
  'chipView',
9559
10059
  'clearable',
9560
10060
  'clearTextOnPickerHide',
@@ -9652,6 +10152,7 @@
9652
10152
  'required',
9653
10153
  'revertOnEscape',
9654
10154
  'ripple',
10155
+ 'role',
9655
10156
  'rootElement',
9656
10157
  'rtl',
9657
10158
  'scrollAction',
@@ -9693,6 +10194,7 @@
9693
10194
  'cacheLastResult',
9694
10195
  'caseSensitive',
9695
10196
  'centered',
10197
+ 'checkValidity',
9696
10198
  'chipView',
9697
10199
  'clearable',
9698
10200
  'clearTextOnPickerHide',
@@ -9763,6 +10265,7 @@
9763
10265
  'relayStoreEvents',
9764
10266
  'revertOnEscape',
9765
10267
  'ripple',
10268
+ 'role',
9766
10269
  'rootElement',
9767
10270
  'scrollAction',
9768
10271
  'showAnimation',
@@ -9783,7 +10286,6 @@
9783
10286
  ];
9784
10287
  BryntumTreeComboComponent.bryntumProps = BryntumTreeComboComponent.bryntumFeatureNames.concat([
9785
10288
  'alignSelf',
9786
- 'anchorSize',
9787
10289
  'appendTo',
9788
10290
  'badge',
9789
10291
  'callOnFunctions',
@@ -9797,7 +10299,6 @@
9797
10299
  'extraData',
9798
10300
  'filterOperator',
9799
10301
  'flex',
9800
- 'focusVisible',
9801
10302
  'formula',
9802
10303
  'height',
9803
10304
  'hidden',
@@ -9834,7 +10335,7 @@
9834
10335
  'y'
9835
10336
  ]);
9836
10337
  BryntumTreeComboComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumTreeComboComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
9837
- BryntumTreeComboComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
10338
+ BryntumTreeComboComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumTreeComboComponent, selector: "bryntum-tree-combo", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoComplete: "autoComplete", autoExpand: "autoExpand", autoSelect: "autoSelect", bubbleEvents: "bubbleEvents", cacheLastResult: "cacheLastResult", caseSensitive: "caseSensitive", centered: "centered", checkValidity: "checkValidity", chipView: "chipView", clearable: "clearable", clearTextOnPickerHide: "clearTextOnPickerHide", clearTextOnSelection: "clearTextOnSelection", clearWhenInputEmpty: "clearWhenInputEmpty", color: "color", config: "config", constrainTo: "constrainTo", container: "container", containValues: "containValues", contentElementCls: "contentElementCls", createOnUnmatched: "createOnUnmatched", dataField: "dataField", defaultBindProperty: "defaultBindProperty", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", displayField: "displayField", displayValueRenderer: "displayValueRenderer", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", emptyText: "emptyText", encodeFilterParams: "encodeFilterParams", filterOnEnter: "filterOnEnter", filterParamName: "filterParamName", filterSelected: "filterSelected", floating: "floating", hideAnimation: "hideAnimation", hidePickerOnSelect: "hidePickerOnSelect", hideTrigger: "hideTrigger", highlightExternalChange: "highlightExternalChange", hint: "hint", hintHtml: "hintHtml", ignoreParentReadOnly: "ignoreParentReadOnly", inline: "inline", inlinePicker: "inlinePicker", inputAlign: "inputAlign", inputAttributes: "inputAttributes", inputTag: "inputTag", inputType: "inputType", inputWidth: "inputWidth", items: "items", keyStrokeChangeDelay: "keyStrokeChangeDelay", keyStrokeFilterDelay: "keyStrokeFilterDelay", labelCls: "labelCls", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", listCls: "listCls", listeners: "listeners", listItemTpl: "listItemTpl", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", maxLength: "maxLength", minChars: "minChars", minLength: "minLength", monitorResize: "monitorResize", multiValueSeparator: "multiValueSeparator", name: "name", overlayAnchor: "overlayAnchor", pickerAlignElement: "pickerAlignElement", pickerWidth: "pickerWidth", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", primaryFilter: "primaryFilter", relayStoreEvents: "relayStoreEvents", revertOnEscape: "revertOnEscape", ripple: "ripple", role: "role", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", skipValidation: "skipValidation", spellCheck: "spellCheck", tab: "tab", tabIndex: "tabIndex", textAlign: "textAlign", title: "title", triggerAction: "triggerAction", type: "type", ui: "ui", validateFilter: "validateFilter", validateOnInput: "validateOnInput", valueField: "valueField", weight: "weight", alignSelf: "alignSelf", appendTo: "appendTo", badge: "badge", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", cls: "cls", column: "column", dataset: "dataset", disabled: "disabled", editable: "editable", extraData: "extraData", filterOperator: "filterOperator", flex: "flex", height: "height", hidden: "hidden", id: "id", insertBefore: "insertBefore", insertFirst: "insertFirst", keyMap: "keyMap", label: "label", margin: "margin", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxWidth: "maxWidth", minHeight: "minHeight", minWidth: "minWidth", multiSelect: "multiSelect", picker: "picker", placeholder: "placeholder", readOnly: "readOnly", rendition: "rendition", required: "required", rtl: "rtl", showRequiredIndicator: "showRequiredIndicator", span: "span", store: "store", tooltip: "tooltip", triggers: "triggers", value: "value", width: "width", x: "x", y: "y", content: "content", formula: "formula", html: "html", input: "input", parent: "parent", scrollable: "scrollable" }, outputs: { onAction: "onAction", onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onChange: "onChange", onClear: "onClear", onDestroy: "onDestroy", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onInput: "onInput", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onSelect: "onSelect", onShow: "onShow", onTrigger: "onTrigger" }, usesOnChanges: true, ngImport: i0__namespace, template: '', isInline: true });
9838
10339
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumTreeComboComponent, decorators: [{
9839
10340
  type: i0.Component,
9840
10341
  args: [{
@@ -9865,6 +10366,8 @@
9865
10366
  type: i0.Input
9866
10367
  }], centered: [{
9867
10368
  type: i0.Input
10369
+ }], checkValidity: [{
10370
+ type: i0.Input
9868
10371
  }], chipView: [{
9869
10372
  type: i0.Input
9870
10373
  }], clearable: [{
@@ -10005,6 +10508,8 @@
10005
10508
  type: i0.Input
10006
10509
  }], ripple: [{
10007
10510
  type: i0.Input
10511
+ }], role: [{
10512
+ type: i0.Input
10008
10513
  }], rootElement: [{
10009
10514
  type: i0.Input
10010
10515
  }], scrollAction: [{
@@ -10123,12 +10628,8 @@
10123
10628
  type: i0.Input
10124
10629
  }], y: [{
10125
10630
  type: i0.Input
10126
- }], anchorSize: [{
10127
- type: i0.Input
10128
10631
  }], content: [{
10129
10632
  type: i0.Input
10130
- }], focusVisible: [{
10131
- type: i0.Input
10132
10633
  }], formula: [{
10133
10634
  type: i0.Input
10134
10635
  }], html: [{
@@ -10201,8 +10702,7 @@
10201
10702
  this.onBeforeCancelCellEdit = new i0.EventEmitter();
10202
10703
  /**
10203
10704
  * 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.
10204
- * ...
10205
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeCancelRowEdit)
10705
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeCancelRowEdit)
10206
10706
  * @param {object} event Event object
10207
10707
  * @param {Grid.view.Grid} event.grid Target grid
10208
10708
  * @param {RowEditorContext} event.editorContext Editing context
@@ -10317,8 +10817,7 @@
10317
10817
  this.onBeforeFinishCellEdit = new i0.EventEmitter();
10318
10818
  /**
10319
10819
  * 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.
10320
- * ...
10321
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeFinishRowEdit)
10820
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeFinishRowEdit)
10322
10821
  * @param {object} event Event object
10323
10822
  * @param {Grid.view.Grid} event.grid Target grid
10324
10823
  * @param {RowEditorContext} event.editorContext Editing context
@@ -10363,16 +10862,14 @@
10363
10862
  this.onBeforeRenderRows = new i0.EventEmitter();
10364
10863
  /**
10365
10864
  * This event fires before row collapse is started.
10366
- * ...
10367
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowCollapse)
10865
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowCollapse)
10368
10866
  * @param {object} event Event object
10369
10867
  * @param {Core.data.Model} event.record Record
10370
10868
  */
10371
10869
  this.onBeforeRowCollapse = new i0.EventEmitter();
10372
10870
  /**
10373
10871
  * This event fires before row expand is started.
10374
- * ...
10375
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowExpand)
10872
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-beforeRowExpand)
10376
10873
  * @param {object} event Event object
10377
10874
  * @param {Core.data.Model} event.record Record
10378
10875
  */
@@ -10452,8 +10949,7 @@
10452
10949
  this.onCancelCellEdit = new i0.EventEmitter();
10453
10950
  /**
10454
10951
  * Fires when any other event is fired from the object.
10455
- * ...
10456
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-catchAll)
10952
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-catchAll)
10457
10953
  * @param {object} event Event object
10458
10954
  * @param {{[key: string]: any, type: string}} event.event The Object that contains event details
10459
10955
  * @param {string} event.event.type The type of the event which is caught by the listener
@@ -10495,8 +10991,7 @@
10495
10991
  /**
10496
10992
  * This event fires on the owning grid before the context menu is shown for a cell.
10497
10993
  * 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).
10498
- * ...
10499
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-cellMenuBeforeShow)
10994
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-cellMenuBeforeShow)
10500
10995
  * @param {object} event Event object
10501
10996
  * @param {Grid.view.Grid} event.source The grid
10502
10997
  * @param {Core.widget.Menu} event.menu The menu
@@ -10677,8 +11172,7 @@
10677
11172
  this.onCopy = new i0.EventEmitter();
10678
11173
  /**
10679
11174
  * Fired when data in the store changes.
10680
- * ...
10681
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
11175
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-dataChange)
10682
11176
  * @param {object} event Event object
10683
11177
  * @param {Grid.view.GridBase} event.source Owning grid
10684
11178
  * @param {Core.data.Store} event.store The originating store
@@ -10782,8 +11276,7 @@
10782
11276
  this.onFinishCellEdit = new i0.EventEmitter();
10783
11277
  /**
10784
11278
  * 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.
10785
- * ...
10786
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-finishRowEdit)
11279
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-finishRowEdit)
10787
11280
  * @param {object} event Event object
10788
11281
  * @param {Grid.view.Grid} event.grid Target grid
10789
11282
  * @param {RowEditorContext} event.editorContext Editing context
@@ -10883,8 +11376,7 @@
10883
11376
  this.onGridRowDrop = new i0.EventEmitter();
10884
11377
  /**
10885
11378
  * Fired when a grid header is clicked on.
10886
- * ...
10887
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerClick)
11379
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerClick)
10888
11380
  * @param {object} event Event object
10889
11381
  * @param {Event} event.domEvent The triggering DOM event.
10890
11382
  * @param {Grid.column.Column} event.column The column clicked on.
@@ -10893,8 +11385,7 @@
10893
11385
  /**
10894
11386
  * This event fires on the owning Grid before the context menu is shown for a header.
10895
11387
  * 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).
10896
- * ...
10897
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerMenuBeforeShow)
11388
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-headerMenuBeforeShow)
10898
11389
  * @param {object} event Event object
10899
11390
  * @param {Grid.view.Grid} event.source The grid
10900
11391
  * @param {Core.widget.Menu} event.menu The menu
@@ -10957,8 +11448,7 @@
10957
11448
  /**
10958
11449
  * Triggered when a widget which had been in a non-visible state for any reason
10959
11450
  * achieves visibility.
10960
- * ...
10961
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
11451
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-paint)
10962
11452
  * @param {object} event Event object
10963
11453
  * @param {Core.widget.Widget} event.source The widget being painted.
10964
11454
  * @param {boolean} event.firstPaint `true` if this is the first paint.
@@ -10977,8 +11467,8 @@
10977
11467
  /**
10978
11468
  * Fires on the owning Grid when export has finished
10979
11469
  * @param {object} event Event object
10980
- * @param {Response} event.response Optional response, if received
10981
- * @param {Error} event.error Optional error, if exception occurred
11470
+ * @param {Response} [event.response] Optional response, if received
11471
+ * @param {Error} [event.error] Optional error, if exception occurred
10982
11472
  */
10983
11473
  this.onPdfExport = new i0.EventEmitter();
10984
11474
  /**
@@ -11035,8 +11525,7 @@
11035
11525
  this.onRowCollapse = new i0.EventEmitter();
11036
11526
  /**
11037
11527
  * This event fires when a row expand has finished expanding.
11038
- * ...
11039
- * [View online docs...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-rowExpand)
11528
+ * [More...](https://bryntum.com/products/grid/docs/api/Grid/view/TreeGrid#event-rowExpand)
11040
11529
  * @param {object} event Event object
11041
11530
  * @param {Core.data.Model} event.record Record
11042
11531
  * @param {object} event.expandedElements An object with the Grid region name as property and the expanded body element as value
@@ -11174,7 +11663,7 @@
11174
11663
  * @param {Core.data.Model} event.groupRecord [DEPRECATED] Use `groupRecords` param instead
11175
11664
  * @param {Core.data.Model[]} event.groupRecords The group records being toggled
11176
11665
  * @param {boolean} event.collapse Collapsed (true) or expanded (false)
11177
- * @param {boolean} event.allRecords True if this event is part of toggling all groups
11666
+ * @param {boolean} [event.allRecords] True if this event is part of toggling all groups
11178
11667
  */
11179
11668
  this.onToggleGroup = new i0.EventEmitter();
11180
11669
  /**
@@ -11256,6 +11745,16 @@
11256
11745
  else {
11257
11746
  WrapperHelper.devWarningContainer(instanceName, containerParam);
11258
11747
  }
11748
+ // In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
11749
+ // does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
11750
+ // finds the theme. The @font-face rules from component styles are also extracted to
11751
+ // document scope so document.fonts detects them (shadow-root @font-face is not reliably
11752
+ // included in document.fonts across all browsers).
11753
+ var shadowRoot = elementRef.nativeElement.getRootNode();
11754
+ if (shadowRoot instanceof ShadowRoot) {
11755
+ initThemeInShadowRoots();
11756
+ BryntumTreeGridComponent.ensureFontsInDocument(shadowRoot);
11757
+ }
11259
11758
  // @ts-ignore
11260
11759
  me.instance = instanceName === 'Widget' ? coreThin.Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
11261
11760
  // Backwards compatibility for gridInstance, schedulerInstance etc.
@@ -11263,6 +11762,48 @@
11263
11762
  me[coreThin.StringHelper.uncapitalize(instanceName) + 'Instance'] = me.instance;
11264
11763
  //
11265
11764
  };
11765
+ /**
11766
+ * Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
11767
+ * document.head as a single <style> element. This is needed because @font-face rules inside
11768
+ * a shadow root are not reliably included in document.fonts across all browsers, causing
11769
+ * Bryntum's CSS compatibility check to incorrectly report missing fonts.
11770
+ * Safe to call multiple times — the extraction runs only once per page.
11771
+ */
11772
+ BryntumTreeGridComponent.ensureFontsInDocument = function (shadowRoot) {
11773
+ var _a;
11774
+ if (document.querySelector('#b-shadow-root-fonts')) {
11775
+ return;
11776
+ }
11777
+ var fontFaceRules = [];
11778
+ var extractFromSheet = function (sheet) {
11779
+ try {
11780
+ var rules = sheet.cssRules;
11781
+ for (var i = 0; i < rules.length; i++) {
11782
+ if (rules[i].type === CSSRule.FONT_FACE_RULE) {
11783
+ fontFaceRules.push(rules[i].cssText);
11784
+ }
11785
+ }
11786
+ }
11787
+ catch (_e) {
11788
+ // Cross-origin access may throw; silently skip
11789
+ }
11790
+ };
11791
+ // adoptedStyleSheets (Angular 14+ / modern browsers)
11792
+ var adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
11793
+ adoptedSheets.forEach(function (sheet) { return extractFromSheet(sheet); });
11794
+ // <style> elements (older Angular or fallback)
11795
+ shadowRoot.querySelectorAll('style').forEach(function (el) {
11796
+ if (el.sheet) {
11797
+ extractFromSheet(el.sheet);
11798
+ }
11799
+ });
11800
+ if (fontFaceRules.length > 0) {
11801
+ var style = document.createElement('style');
11802
+ style.id = 'b-shadow-root-fonts';
11803
+ style.textContent = fontFaceRules.join('\n');
11804
+ document.head.appendChild(style);
11805
+ }
11806
+ };
11266
11807
  /**
11267
11808
  * Watch for changes
11268
11809
  * @param changes
@@ -11274,8 +11815,8 @@
11274
11815
  return;
11275
11816
  }
11276
11817
  // Iterate over all changes
11277
- Object.entries(changes).forEach(function (_a) {
11278
- var _b = __read(_a, 2), prop = _b[0], change = _b[1];
11818
+ Object.entries(changes).forEach(function (_b) {
11819
+ var _c = __read(_b, 2), prop = _c[0], change = _c[1];
11279
11820
  var newValue = change.currentValue, instance = _this.instance, bryntumConfigsOnly = BryntumTreeGridComponent.bryntumConfigsOnly, bryntumProps = BryntumTreeGridComponent.bryntumProps;
11280
11821
  if (bryntumProps.includes(prop)) {
11281
11822
  WrapperHelper.applyPropValue(instance, prop, newValue, false);
@@ -11528,6 +12069,7 @@
11528
12069
  'insertFirst',
11529
12070
  'keyMap',
11530
12071
  'labelPosition',
12072
+ 'labelWidth',
11531
12073
  'listeners',
11532
12074
  'loadMask',
11533
12075
  'loadMaskDefaults',
@@ -11554,6 +12096,7 @@
11554
12096
  'resizeToFitIncludesHeader',
11555
12097
  'responsiveLevels',
11556
12098
  'ripple',
12099
+ 'role',
11557
12100
  'rootElement',
11558
12101
  'rowHeight',
11559
12102
  'rowLines',
@@ -11640,6 +12183,7 @@
11640
12183
  'resizeToFitIncludesHeader',
11641
12184
  'responsiveLevels',
11642
12185
  'ripple',
12186
+ 'role',
11643
12187
  'rootElement',
11644
12188
  'scrollerClass',
11645
12189
  'scrollManager',
@@ -11677,8 +12221,6 @@
11677
12221
  'enableUndoRedoKeys',
11678
12222
  'extraData',
11679
12223
  'flex',
11680
- 'focusVisible',
11681
- 'hasChanges',
11682
12224
  'height',
11683
12225
  'hidden',
11684
12226
  'hideFooters',
@@ -11689,6 +12231,7 @@
11689
12231
  'insertFirst',
11690
12232
  'keyMap',
11691
12233
  'labelPosition',
12234
+ 'labelWidth',
11692
12235
  'longPressTime',
11693
12236
  'margin',
11694
12237
  'maxHeight',
@@ -11722,7 +12265,7 @@
11722
12265
  'width'
11723
12266
  ]);
11724
12267
  BryntumTreeGridComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumTreeGridComponent, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Component });
11725
- BryntumTreeGridComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
12268
+ BryntumTreeGridComponent.ɵcmp = i0__namespace.ɵɵ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__namespace, template: '', isInline: true });
11726
12269
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumTreeGridComponent, decorators: [{
11727
12270
  type: i0.Component,
11728
12271
  args: [{
@@ -11837,6 +12380,8 @@
11837
12380
  type: i0.Input
11838
12381
  }], ripple: [{
11839
12382
  type: i0.Input
12383
+ }], role: [{
12384
+ type: i0.Input
11840
12385
  }], rootElement: [{
11841
12386
  type: i0.Input
11842
12387
  }], scrollerClass: [{
@@ -11927,6 +12472,8 @@
11927
12472
  type: i0.Input
11928
12473
  }], labelPosition: [{
11929
12474
  type: i0.Input
12475
+ }], labelWidth: [{
12476
+ type: i0.Input
11930
12477
  }], longPressTime: [{
11931
12478
  type: i0.Input
11932
12479
  }], margin: [{
@@ -11971,10 +12518,6 @@
11971
12518
  type: i0.Input
11972
12519
  }], width: [{
11973
12520
  type: i0.Input
11974
- }], focusVisible: [{
11975
- type: i0.Input
11976
- }], hasChanges: [{
11977
- type: i0.Input
11978
12521
  }], originalStore: [{
11979
12522
  type: i0.Input
11980
12523
  }], parent: [{
@@ -12333,7 +12876,7 @@
12333
12876
  BryntumGridFieldFilterPickerGroupComponent,
12334
12877
  BryntumGroupBarComponent,
12335
12878
  BryntumTreeComboComponent,
12336
- BryntumTreeGridComponent], exports: [BryntumAIFilterFieldComponent,
12879
+ BryntumTreeGridComponent], imports: [common.CommonModule], exports: [BryntumAIFilterFieldComponent,
12337
12880
  BryntumChecklistFilterComboComponent,
12338
12881
  BryntumGridComponent,
12339
12882
  BryntumGridBaseComponent,
@@ -12343,7 +12886,7 @@
12343
12886
  BryntumGroupBarComponent,
12344
12887
  BryntumTreeComboComponent,
12345
12888
  BryntumTreeGridComponent] });
12346
- BryntumGridModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridModule, imports: [[]] });
12889
+ BryntumGridModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridModule, imports: [[common.CommonModule]] });
12347
12890
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0__namespace, type: BryntumGridModule, decorators: [{
12348
12891
  type: i0.NgModule,
12349
12892
  args: [{
@@ -12359,7 +12902,7 @@
12359
12902
  BryntumTreeComboComponent,
12360
12903
  BryntumTreeGridComponent
12361
12904
  ],
12362
- imports: [],
12905
+ imports: [common.CommonModule],
12363
12906
  exports: [
12364
12907
  BryntumAIFilterFieldComponent,
12365
12908
  BryntumChecklistFilterComboComponent,