@fundamental-ngx/cdk 0.43.24 → 0.43.26

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.
@@ -902,7 +902,8 @@ function hasElementRef(something) {
902
902
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
903
903
  class AttributeObserver {
904
904
  /** @hidden */
905
- constructor(_mutationObserverFactory) {
905
+ constructor(_zone, _mutationObserverFactory) {
906
+ this._zone = _zone;
906
907
  this._mutationObserverFactory = _mutationObserverFactory;
907
908
  /** @Hidden */
908
909
  this._observedElements = new Map();
@@ -914,14 +915,14 @@ class AttributeObserver {
914
915
  /** @Hidden */
915
916
  observe(elementOrRef) {
916
917
  const element = getNativeElement(elementOrRef);
917
- return new Observable((observer) => {
918
+ return this._zone.runOutsideAngular(() => new Observable((observer) => {
918
919
  const stream = this._observeElement(element);
919
920
  const subscription = stream.subscribe(observer);
920
921
  return () => {
921
922
  subscription.unsubscribe();
922
923
  this._unobserveElement(element);
923
924
  };
924
- });
925
+ }));
925
926
  }
926
927
  /** @Hidden */
927
928
  unobserve(element) {
@@ -929,20 +930,22 @@ class AttributeObserver {
929
930
  }
930
931
  /** @hidden */
931
932
  _observeElement(element) {
932
- if (!this._observedElements.has(element)) {
933
- const stream = new Subject();
934
- const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));
935
- if (observer) {
936
- observer.observe(element, {
937
- attributes: true
938
- });
933
+ return this._zone.runOutsideAngular(() => {
934
+ if (!this._observedElements.has(element)) {
935
+ const stream = new Subject();
936
+ const observer = this._mutationObserverFactory.create((mutations) => stream.next(mutations));
937
+ if (observer) {
938
+ observer.observe(element, {
939
+ attributes: true
940
+ });
941
+ }
942
+ this._observedElements.set(element, { observer, stream, count: 1 });
939
943
  }
940
- this._observedElements.set(element, { observer, stream, count: 1 });
941
- }
942
- else {
943
- this._observedElements.get(element).count++;
944
- }
945
- return this._observedElements.get(element).stream;
944
+ else {
945
+ this._observedElements.get(element).count++;
946
+ }
947
+ return this._observedElements.get(element).stream;
948
+ });
946
949
  }
947
950
  /** @Hidden */
948
951
  _unobserveElement(element) {
@@ -965,14 +968,14 @@ class AttributeObserver {
965
968
  }
966
969
  }
967
970
  }
968
- AttributeObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AttributeObserver, deps: [{ token: i1$2.MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });
971
+ AttributeObserver.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AttributeObserver, deps: [{ token: i0.NgZone }, { token: i1$2.MutationObserverFactory }], target: i0.ɵɵFactoryTarget.Injectable });
969
972
  AttributeObserver.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AttributeObserver, providedIn: 'root' });
970
973
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: AttributeObserver, decorators: [{
971
974
  type: Injectable,
972
975
  args: [{
973
976
  providedIn: 'root'
974
977
  }]
975
- }], ctorParameters: function () { return [{ type: i1$2.MutationObserverFactory }]; } });
978
+ }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i1$2.MutationObserverFactory }]; } });
976
979
 
977
980
  /* eslint-disable @typescript-eslint/member-ordering */
978
981
  class DeprecatedAutoCompleteDirective extends DeprecatedSelector {
@@ -3030,14 +3033,16 @@ class FocusableItemDirective {
3030
3033
  }
3031
3034
  /** Set tabbable state */
3032
3035
  setTabbable(state) {
3033
- this._tabbable = state;
3034
- this._renderer2.setAttribute(this.elementRef.nativeElement, 'tabindex', this._tabbable ? '0' : '-1');
3035
- if (state) {
3036
- this._enableTabbableElements();
3037
- }
3038
- else {
3039
- this._disableTabbableElements();
3040
- }
3036
+ this._zone.runOutsideAngular(() => {
3037
+ this._tabbable = state;
3038
+ this._renderer2.setAttribute(this.elementRef.nativeElement, 'tabindex', this._tabbable ? '0' : '-1');
3039
+ if (state) {
3040
+ this._enableTabbableElements();
3041
+ }
3042
+ else {
3043
+ this._disableTabbableElements();
3044
+ }
3045
+ });
3041
3046
  }
3042
3047
  /** @hidden */
3043
3048
  async _onFocusin() {