@leanix/components 0.2.241 → 0.2.242

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  import { Injectable } from '@angular/core';
2
+ import { timer } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  function isResizeableElement(element) {
4
5
  return element && !!element.handleResize;
@@ -19,7 +20,16 @@ function isResizeableElement(element) {
19
20
  export class ResizeObserverService {
20
21
  observe(element, callback, options) {
21
22
  if (!this.resizeObserver) {
22
- this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
23
+ try {
24
+ this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
25
+ }
26
+ catch {
27
+ // All the browsers we support implement the ResizeObserver API.
28
+ // For unsupported browsers, there's this "one time artifical resize event".
29
+ // They will not get the functionality tied to later resize events.
30
+ timer(500).subscribe(() => callback(this.getMockOneTimeResizeEventForUnsupportedBrowsers(element)));
31
+ return;
32
+ }
23
33
  }
24
34
  element.handleResize = callback;
25
35
  this.resizeObserver.observe(element, options);
@@ -37,6 +47,45 @@ export class ResizeObserverService {
37
47
  }
38
48
  });
39
49
  }
50
+ /**
51
+ * All browsers we officially support implement the ResizeObserver API.
52
+ * Still as a curtesy do customers who for some reason have older browsers
53
+ * we call the callback once with the initial dimensions of the element
54
+ * and then do not react on resize events afterwards.
55
+ * This should still make them happier than a "browser not supported" warning.
56
+ */
57
+ getMockOneTimeResizeEventForUnsupportedBrowsers(element) {
58
+ const contentRect = {
59
+ bottom: element.clientHeight,
60
+ height: element.clientHeight,
61
+ left: 0,
62
+ right: element.clientWidth,
63
+ top: 0,
64
+ width: element.clientWidth,
65
+ x: 0,
66
+ y: 0
67
+ };
68
+ return {
69
+ borderBoxSize: [{ blockSize: element.clientHeight, inlineSize: element.clientWidth }],
70
+ contentBoxSize: [
71
+ {
72
+ blockSize: element.clientHeight,
73
+ inlineSize: element.clientWidth
74
+ }
75
+ ],
76
+ contentRect: {
77
+ ...contentRect,
78
+ toJSON: () => JSON.stringify(contentRect)
79
+ },
80
+ devicePixelContentBoxSize: [
81
+ {
82
+ blockSize: element.clientWidth,
83
+ inlineSize: element.clientWidth
84
+ }
85
+ ],
86
+ target: element
87
+ };
88
+ }
40
89
  }
41
90
  ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
42
91
  ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });
@@ -44,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.5", ngImpor
44
93
  type: Injectable,
45
94
  args: [{ providedIn: 'root' }]
46
95
  }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3NlcnZpY2VzL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLFNBQVMsbUJBQW1CLENBQUMsT0FBWTtJQUN2QyxPQUFPLE9BQU8sSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUMzQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBRUgsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxPQUFPLENBQUMsT0FBMEIsRUFBRSxRQUFrQyxFQUFFLE9BQStCO1FBQ3JHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxjQUFjLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQ2xGO1FBQ0QsT0FBTyxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUM7UUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxTQUFTLENBQUMsT0FBb0I7UUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVPLHNCQUFzQixDQUFDLE9BQThCLEVBQUUsU0FBeUI7UUFDdEYsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ3hCLElBQUksbUJBQW1CLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQyxLQUFLLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7a0hBeEJVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFIsTUFBTTsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgTHhSZXNpemVPYnNlcnZlckNhbGxiYWNrID0gKHJlc2l6ZWRFbGVtZW50OiBSZXNpemVPYnNlcnZlckVudHJ5KSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgUmVzaXplYWJsZUVsZW1lbnQgZXh0ZW5kcyBFbGVtZW50IHtcbiAgaGFuZGxlUmVzaXplOiBMeFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2s7XG59XG5cbmZ1bmN0aW9uIGlzUmVzaXplYWJsZUVsZW1lbnQoZWxlbWVudDogYW55KTogZWxlbWVudCBpcyBSZXNpemVhYmxlRWxlbWVudCB7XG4gIHJldHVybiBlbGVtZW50ICYmICEhZWxlbWVudC5oYW5kbGVSZXNpemU7XG59XG5cbi8qKlxuICogU2hhcmluZyBvbmUgUmVzaXplT2JzZXJ2ZXIgb2JqZWN0IHJlc3VsdHMgaW4gbXVjaCBiZXR0ZXIgcGVyZm9ybWFuY2VcbiAqIG92ZXIgaW5kaXZpZHVhbCBjb21wb25lbnRzIGNyZWF0aW5nIHRoZWlyIG93biBSZXNpemVPYnNlcnZlci5cbiAqIFRoaXMgaXMgd2h5IHRoaXMgc2VydmljZSBleGlzdHMuXG4gKiBTb3VyY2U6XG4gKiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL3Jlc2l6ZS1vYnNlcnZlci9pc3N1ZXMvNTkjaXNzdWVjb21tZW50LTQwODA5ODE1MVxuICogLSBodHRwczovL2dyb3Vwcy5nb29nbGUuY29tL2EvY2hyb21pdW0ub3JnL2cvYmxpbmstZGV2L2MvejZpZW5PTlViNUEvbS9GNS1WY1VadEJBQUpcbiAqXG4gKiBMZWFybiBtb3JlIGFib3V0IHRoZSBSZXNpemVPYnNlcnZlciBBUEk6XG4gKiAtIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9yZXNpemUtb2JzZXJ2ZXIvXG4gKiAtIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9SZXNpemVPYnNlcnZlclxuICogLSBodHRwczovL3d3dy5kaWdpdGFsb2NlYW4uY29tL2NvbW11bml0eS90dXRvcmlhbHMvanMtcmVzaXplLW9ic2VydmVyXG4gKi9cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUmVzaXplT2JzZXJ2ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZXNpemVPYnNlcnZlcj86IFJlc2l6ZU9ic2VydmVyO1xuXG4gIG9ic2VydmUoZWxlbWVudDogUmVzaXplYWJsZUVsZW1lbnQsIGNhbGxiYWNrOiBMeFJlc2l6ZU9ic2VydmVyQ2FsbGJhY2ssIG9wdGlvbnM/OiBSZXNpemVPYnNlcnZlck9wdGlvbnMpIHtcbiAgICBpZiAoIXRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5yZXNpemVPYnNlcnZlckNhbGxiYWNrLmJpbmQodGhpcykpO1xuICAgIH1cbiAgICBlbGVtZW50LmhhbmRsZVJlc2l6ZSA9IGNhbGxiYWNrO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIHVub2JzZXJ2ZShlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJDYWxsYmFjayhlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10sIF9vYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIpIHtcbiAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoaXNSZXNpemVhYmxlRWxlbWVudChlbnRyeS50YXJnZXQpKSB7XG4gICAgICAgIGVudHJ5LnRhcmdldC5oYW5kbGVSZXNpemUoZW50cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXplLW9ic2VydmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvc3JjL2xpYi9jb3JlLXVpL3NlcnZpY2VzL3Jlc2l6ZS1vYnNlcnZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFRN0IsU0FBUyxtQkFBbUIsQ0FBQyxPQUFZO0lBQ3ZDLE9BQU8sT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7O0dBWUc7QUFFSCxNQUFNLE9BQU8scUJBQXFCO0lBR2hDLE9BQU8sQ0FBQyxPQUEwQixFQUFFLFFBQWtDLEVBQUUsT0FBK0I7UUFDckcsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDeEIsSUFBSTtnQkFDRixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQzthQUNsRjtZQUFDLE1BQU07Z0JBQ04sZ0VBQWdFO2dCQUNoRSw0RUFBNEU7Z0JBQzVFLG1FQUFtRTtnQkFDbkUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLCtDQUErQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDcEcsT0FBTzthQUNSO1NBQ0Y7UUFDRCxPQUFPLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQztRQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFvQjtRQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUN4QixPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sc0JBQXNCLENBQUMsT0FBOEIsRUFBRSxTQUF5QjtRQUN0RixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsSUFBSSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3JDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ssK0NBQStDLENBQUMsT0FBMEI7UUFDaEYsTUFBTSxXQUFXLEdBQUc7WUFDbEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1lBQzVCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtZQUM1QixJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVztZQUMxQixHQUFHLEVBQUUsQ0FBQztZQUNOLEtBQUssRUFBRSxPQUFPLENBQUMsV0FBVztZQUMxQixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUNGLE9BQU87WUFDTCxhQUFhLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsWUFBWSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckYsY0FBYyxFQUFFO2dCQUNkO29CQUNFLFNBQVMsRUFBRSxPQUFPLENBQUMsWUFBWTtvQkFDL0IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxXQUFXO2lCQUNoQzthQUNGO1lBQ0QsV0FBVyxFQUFFO2dCQUNYLEdBQUcsV0FBVztnQkFDZCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUM7YUFDMUM7WUFDRCx5QkFBeUIsRUFBRTtnQkFDekI7b0JBQ0UsU0FBUyxFQUFFLE9BQU8sQ0FBQyxXQUFXO29CQUM5QixVQUFVLEVBQUUsT0FBTyxDQUFDLFdBQVc7aUJBQ2hDO2FBQ0Y7WUFDRCxNQUFNLEVBQUUsT0FBTztTQUNoQixDQUFDO0lBQ0osQ0FBQzs7a0hBeEVVLHFCQUFxQjtzSEFBckIscUJBQXFCLGNBRFIsTUFBTTsyRkFDbkIscUJBQXFCO2tCQURqQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEx4UmVzaXplT2JzZXJ2ZXJDYWxsYmFjayA9IChyZXNpemVkRWxlbWVudDogUmVzaXplT2JzZXJ2ZXJFbnRyeSkgPT4gdm9pZDtcblxuaW50ZXJmYWNlIFJlc2l6ZWFibGVFbGVtZW50IGV4dGVuZHMgRWxlbWVudCB7XG4gIGhhbmRsZVJlc2l6ZTogTHhSZXNpemVPYnNlcnZlckNhbGxiYWNrO1xufVxuXG5mdW5jdGlvbiBpc1Jlc2l6ZWFibGVFbGVtZW50KGVsZW1lbnQ6IGFueSk6IGVsZW1lbnQgaXMgUmVzaXplYWJsZUVsZW1lbnQge1xuICByZXR1cm4gZWxlbWVudCAmJiAhIWVsZW1lbnQuaGFuZGxlUmVzaXplO1xufVxuXG4vKipcbiAqIFNoYXJpbmcgb25lIFJlc2l6ZU9ic2VydmVyIG9iamVjdCByZXN1bHRzIGluIG11Y2ggYmV0dGVyIHBlcmZvcm1hbmNlXG4gKiBvdmVyIGluZGl2aWR1YWwgY29tcG9uZW50cyBjcmVhdGluZyB0aGVpciBvd24gUmVzaXplT2JzZXJ2ZXIuXG4gKiBUaGlzIGlzIHdoeSB0aGlzIHNlcnZpY2UgZXhpc3RzLlxuICogU291cmNlOlxuICogLSBodHRwczovL2dpdGh1Yi5jb20vV0lDRy9yZXNpemUtb2JzZXJ2ZXIvaXNzdWVzLzU5I2lzc3VlY29tbWVudC00MDgwOTgxNTFcbiAqIC0gaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9nL2JsaW5rLWRldi9jL3o2aWVuT05VYjVBL20vRjUtVmNVWnRCQUFKXG4gKlxuICogTGVhcm4gbW9yZSBhYm91dCB0aGUgUmVzaXplT2JzZXJ2ZXIgQVBJOlxuICogLSBodHRwczovL3d3dy53My5vcmcvVFIvcmVzaXplLW9ic2VydmVyL1xuICogLSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvUmVzaXplT2JzZXJ2ZXJcbiAqIC0gaHR0cHM6Ly93d3cuZGlnaXRhbG9jZWFuLmNvbS9jb21tdW5pdHkvdHV0b3JpYWxzL2pzLXJlc2l6ZS1vYnNlcnZlclxuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFJlc2l6ZU9ic2VydmVyU2VydmljZSB7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBvYnNlcnZlKGVsZW1lbnQ6IFJlc2l6ZWFibGVFbGVtZW50LCBjYWxsYmFjazogTHhSZXNpemVPYnNlcnZlckNhbGxiYWNrLCBvcHRpb25zPzogUmVzaXplT2JzZXJ2ZXJPcHRpb25zKSB7XG4gICAgaWYgKCF0aGlzLnJlc2l6ZU9ic2VydmVyKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMucmVzaXplT2JzZXJ2ZXJDYWxsYmFjay5iaW5kKHRoaXMpKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICAvLyBBbGwgdGhlIGJyb3dzZXJzIHdlIHN1cHBvcnQgaW1wbGVtZW50IHRoZSBSZXNpemVPYnNlcnZlciBBUEkuXG4gICAgICAgIC8vIEZvciB1bnN1cHBvcnRlZCBicm93c2VycywgdGhlcmUncyB0aGlzIFwib25lIHRpbWUgYXJ0aWZpY2FsIHJlc2l6ZSBldmVudFwiLlxuICAgICAgICAvLyBUaGV5IHdpbGwgbm90IGdldCB0aGUgZnVuY3Rpb25hbGl0eSB0aWVkIHRvIGxhdGVyIHJlc2l6ZSBldmVudHMuXG4gICAgICAgIHRpbWVyKDUwMCkuc3Vic2NyaWJlKCgpID0+IGNhbGxiYWNrKHRoaXMuZ2V0TW9ja09uZVRpbWVSZXNpemVFdmVudEZvclVuc3VwcG9ydGVkQnJvd3NlcnMoZWxlbWVudCkpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cbiAgICBlbGVtZW50LmhhbmRsZVJlc2l6ZSA9IGNhbGxiYWNrO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCBvcHRpb25zKTtcbiAgfVxuXG4gIHVub2JzZXJ2ZShlbGVtZW50OiBIVE1MRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLnVub2JzZXJ2ZShlbGVtZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXJDYWxsYmFjayhlbnRyaWVzOiBSZXNpemVPYnNlcnZlckVudHJ5W10sIF9vYnNlcnZlcjogUmVzaXplT2JzZXJ2ZXIpIHtcbiAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoaXNSZXNpemVhYmxlRWxlbWVudChlbnRyeS50YXJnZXQpKSB7XG4gICAgICAgIGVudHJ5LnRhcmdldC5oYW5kbGVSZXNpemUoZW50cnkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbCBicm93c2VycyB3ZSBvZmZpY2lhbGx5IHN1cHBvcnQgaW1wbGVtZW50IHRoZSBSZXNpemVPYnNlcnZlciBBUEkuXG4gICAqIFN0aWxsIGFzIGEgY3VydGVzeSBkbyBjdXN0b21lcnMgd2hvIGZvciBzb21lIHJlYXNvbiBoYXZlIG9sZGVyIGJyb3dzZXJzXG4gICAqIHdlIGNhbGwgdGhlIGNhbGxiYWNrIG9uY2Ugd2l0aCB0aGUgaW5pdGlhbCBkaW1lbnNpb25zIG9mIHRoZSBlbGVtZW50XG4gICAqIGFuZCB0aGVuIGRvIG5vdCByZWFjdCBvbiByZXNpemUgZXZlbnRzIGFmdGVyd2FyZHMuXG4gICAqIFRoaXMgc2hvdWxkIHN0aWxsIG1ha2UgdGhlbSBoYXBwaWVyIHRoYW4gYSBcImJyb3dzZXIgbm90IHN1cHBvcnRlZFwiIHdhcm5pbmcuXG4gICAqL1xuICBwcml2YXRlIGdldE1vY2tPbmVUaW1lUmVzaXplRXZlbnRGb3JVbnN1cHBvcnRlZEJyb3dzZXJzKGVsZW1lbnQ6IFJlc2l6ZWFibGVFbGVtZW50KSB7XG4gICAgY29uc3QgY29udGVudFJlY3QgPSB7XG4gICAgICBib3R0b206IGVsZW1lbnQuY2xpZW50SGVpZ2h0LFxuICAgICAgaGVpZ2h0OiBlbGVtZW50LmNsaWVudEhlaWdodCxcbiAgICAgIGxlZnQ6IDAsXG4gICAgICByaWdodDogZWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgIHRvcDogMCxcbiAgICAgIHdpZHRoOiBlbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgeDogMCxcbiAgICAgIHk6IDBcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICBib3JkZXJCb3hTaXplOiBbeyBibG9ja1NpemU6IGVsZW1lbnQuY2xpZW50SGVpZ2h0LCBpbmxpbmVTaXplOiBlbGVtZW50LmNsaWVudFdpZHRoIH1dLFxuICAgICAgY29udGVudEJveFNpemU6IFtcbiAgICAgICAge1xuICAgICAgICAgIGJsb2NrU2l6ZTogZWxlbWVudC5jbGllbnRIZWlnaHQsXG4gICAgICAgICAgaW5saW5lU2l6ZTogZWxlbWVudC5jbGllbnRXaWR0aFxuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgY29udGVudFJlY3Q6IHtcbiAgICAgICAgLi4uY29udGVudFJlY3QsXG4gICAgICAgIHRvSlNPTjogKCkgPT4gSlNPTi5zdHJpbmdpZnkoY29udGVudFJlY3QpXG4gICAgICB9LFxuICAgICAgZGV2aWNlUGl4ZWxDb250ZW50Qm94U2l6ZTogW1xuICAgICAgICB7XG4gICAgICAgICAgYmxvY2tTaXplOiBlbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgICAgIGlubGluZVNpemU6IGVsZW1lbnQuY2xpZW50V2lkdGhcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIHRhcmdldDogZWxlbWVudFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -8,7 +8,7 @@ import * as i1 from '@angular/cdk/overlay';
8
8
  import { OverlayModule, CdkConnectedOverlay } from '@angular/cdk/overlay';
9
9
  import { __decorate, __awaiter } from 'tslib';
10
10
  import * as i6 from 'rxjs';
11
- import { BehaviorSubject, Subject, combineLatest, merge, concat, fromEvent, Observable, ReplaySubject, of, timer } from 'rxjs';
11
+ import { BehaviorSubject, timer, Subject, combineLatest, merge, concat, fromEvent, Observable, ReplaySubject, of } from 'rxjs';
12
12
  import { skipWhile, map, switchMap, startWith, pairwise, filter, take, debounceTime, skip, withLatestFrom, distinctUntilChanged, takeUntil, first, delay, mapTo, tap } from 'rxjs/operators';
13
13
  import * as i1$1 from '@ngx-translate/core';
14
14
  import { TranslatePipe, TranslateModule } from '@ngx-translate/core';
@@ -518,7 +518,16 @@ function isResizeableElement(element) {
518
518
  class ResizeObserverService {
519
519
  observe(element, callback, options) {
520
520
  if (!this.resizeObserver) {
521
- this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
521
+ try {
522
+ this.resizeObserver = new ResizeObserver(this.resizeObserverCallback.bind(this));
523
+ }
524
+ catch (_a) {
525
+ // All the browsers we support implement the ResizeObserver API.
526
+ // For unsupported browsers, there's this "one time artifical resize event".
527
+ // They will not get the functionality tied to later resize events.
528
+ timer(500).subscribe(() => callback(this.getMockOneTimeResizeEventForUnsupportedBrowsers(element)));
529
+ return;
530
+ }
522
531
  }
523
532
  element.handleResize = callback;
524
533
  this.resizeObserver.observe(element, options);
@@ -536,6 +545,42 @@ class ResizeObserverService {
536
545
  }
537
546
  });
538
547
  }
548
+ /**
549
+ * All browsers we officially support implement the ResizeObserver API.
550
+ * Still as a curtesy do customers who for some reason have older browsers
551
+ * we call the callback once with the initial dimensions of the element
552
+ * and then do not react on resize events afterwards.
553
+ * This should still make them happier than a "browser not supported" warning.
554
+ */
555
+ getMockOneTimeResizeEventForUnsupportedBrowsers(element) {
556
+ const contentRect = {
557
+ bottom: element.clientHeight,
558
+ height: element.clientHeight,
559
+ left: 0,
560
+ right: element.clientWidth,
561
+ top: 0,
562
+ width: element.clientWidth,
563
+ x: 0,
564
+ y: 0
565
+ };
566
+ return {
567
+ borderBoxSize: [{ blockSize: element.clientHeight, inlineSize: element.clientWidth }],
568
+ contentBoxSize: [
569
+ {
570
+ blockSize: element.clientHeight,
571
+ inlineSize: element.clientWidth
572
+ }
573
+ ],
574
+ contentRect: Object.assign(Object.assign({}, contentRect), { toJSON: () => JSON.stringify(contentRect) }),
575
+ devicePixelContentBoxSize: [
576
+ {
577
+ blockSize: element.clientWidth,
578
+ inlineSize: element.clientWidth
579
+ }
580
+ ],
581
+ target: element
582
+ };
583
+ }
539
584
  }
540
585
  ResizeObserverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
541
586
  ResizeObserverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.5", ngImport: i0, type: ResizeObserverService, providedIn: 'root' });