{"version":3,"file":"chunk-jqhhbnbo.js","sources":["node_modules/@angular/cdk/fesm2022/observers/private.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { inject, NgZone, Injectable } from '@angular/core';\nimport { Subject, Observable } from 'rxjs';\nimport { filter, shareReplay, takeUntil } from 'rxjs/operators';\n\n/**\n * Handler that logs \"ResizeObserver loop limit exceeded\" errors.\n * These errors are not shown in the Chrome console, so we log them to ensure developers are aware.\n * @param e The error\n */\nconst loopLimitExceededErrorHandler = e => {\n if (e instanceof ErrorEvent && e.message === 'ResizeObserver loop limit exceeded') {\n console.error(`${e.message}. This could indicate a performance issue with your app. See https://github.com/WICG/resize-observer/blob/master/explainer.md#error-handling`);\n }\n};\n/**\n * A shared ResizeObserver to be used for a particular box type (content-box, border-box, or\n * device-pixel-content-box)\n */\nclass SingleBoxSharedResizeObserver {\n constructor(/** The box type to observe for resizes. */\n _box) {\n this._box = _box;\n /** Stream that emits when the shared observer is destroyed. */\n this._destroyed = new Subject();\n /** Stream of all events from the ResizeObserver. */\n this._resizeSubject = new Subject();\n /** A map of elements to streams of their resize events. */\n this._elementObservables = new Map();\n if (typeof ResizeObserver !== 'undefined') {\n this._resizeObserver = new ResizeObserver(entries => this._resizeSubject.next(entries));\n }\n }\n /**\n * Gets a stream of resize events for the given element.\n * @param target The element to observe.\n * @return The stream of resize events for the element.\n */\n observe(target) {\n if (!this._elementObservables.has(target)) {\n this._elementObservables.set(target, new Observable(observer => {\n const subscription = this._resizeSubject.subscribe(observer);\n this._resizeObserver?.observe(target, {\n box: this._box\n });\n return () => {\n this._resizeObserver?.unobserve(target);\n subscription.unsubscribe();\n this._elementObservables.delete(target);\n };\n }).pipe(filter(entries => entries.some(entry => entry.target === target)),\n // Share a replay of the last event so that subsequent calls to observe the same element\n // receive initial sizing info like the first one. Also enable ref counting so the\n // element will be automatically unobserved when there are no more subscriptions.\n shareReplay({\n bufferSize: 1,\n refCount: true\n }), takeUntil(this._destroyed)));\n }\n return this._elementObservables.get(target);\n }\n /** Destroys this instance. */\n destroy() {\n this._destroyed.next();\n this._destroyed.complete();\n this._resizeSubject.complete();\n this._elementObservables.clear();\n }\n}\n/**\n * Allows observing resize events on multiple elements using a shared set of ResizeObserver.\n * Sharing a ResizeObserver instance is recommended for better performance (see\n * https://github.com/WICG/resize-observer/issues/59).\n *\n * Rather than share a single `ResizeObserver`, this class creates one `ResizeObserver` per type\n * of observed box ('content-box', 'border-box', and 'device-pixel-content-box'). This avoids\n * later calls to `observe` with a different box type from influencing the events dispatched to\n * earlier calls.\n */\nlet SharedResizeObserver = /*#__PURE__*/(() => {\n class SharedResizeObserver {\n constructor() {\n /** Map of box type to shared resize observer. */\n this._observers = new Map();\n /** The Angular zone. */\n this._ngZone = inject(NgZone);\n if (typeof ResizeObserver !== 'undefined' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n this._ngZone.runOutsideAngular(() => {\n window.addEventListener('error', loopLimitExceededErrorHandler);\n });\n }\n }\n ngOnDestroy() {\n for (const [, observer] of this._observers) {\n observer.destroy();\n }\n this._observers.clear();\n if (typeof ResizeObserver !== 'undefined' && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n window.removeEventListener('error', loopLimitExceededErrorHandler);\n }\n }\n /**\n * Gets a stream of resize events for the given target element and box type.\n * @param target The element to observe for resizes.\n * @param options Options to pass to the `ResizeObserver`\n * @return The stream of resize events for the element.\n */\n observe(target, options) {\n const box = options?.box || 'content-box';\n if (!this._observers.has(box)) {\n this._observers.set(box, new SingleBoxSharedResizeObserver(box));\n }\n return this._observers.get(box).observe(target);\n }\n static {\n this.ɵfac = function SharedResizeObserver_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SharedResizeObserver)();\n };\n }\n static {\n this.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SharedResizeObserver,\n factory: SharedResizeObserver.ɵfac,\n providedIn: 'root'\n });\n }\n }\n return SharedResizeObserver;\n})();\n/*#__PURE__*/(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SharedResizeObserver };\n"],"names":["SingleBoxSharedResizeObserver","_box","Subject","entries","target","Observable","observer","subscription","filter","entry","shareReplay","takeUntil","SharedResizeObserver","_SharedResizeObserver","inject","NgZone","options","box","__ngFactoryType__","ɵɵdefineInjectable"],"mappings":"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","x_google_ignoreList":[0]}