{"version":3,"file":"angular-yandex-maps-v3.mjs","sources":["../tmp-esm2022/lib/tokens/y-config.js","../tmp-esm2022/lib/utils/zone/zone.js","../tmp-esm2022/lib/services/y-api-loader/y-api-loader.service.js","../tmp-esm2022/lib/utils/generate-random-id/generate-random-id.js","../tmp-esm2022/lib/components/common/y-map/y-map.component.js","../tmp-esm2022/lib/components/common/y-map-clusterer/y-map-clusterer.directive.js","../tmp-esm2022/lib/components/common/y-map-default-marker/y-map-default-marker.directive.js","../tmp-esm2022/lib/components/common/y-map-feature/y-map-feature.directive.js","../tmp-esm2022/lib/components/common/y-map-feature-data-source/y-map-feature-data-source.directive.js","../tmp-esm2022/lib/components/common/y-map-hint/y-map-hint.directive.js","../tmp-esm2022/lib/components/common/y-map-listener/y-map-listener.directive.js","../tmp-esm2022/lib/components/common/y-map-marker/y-map-marker.directive.js","../tmp-esm2022/lib/components/controls/y-map-controls/y-map-controls.directive.js","../tmp-esm2022/lib/components/controls/y-map-control/y-map-control.directive.js","../tmp-esm2022/lib/components/controls/y-map-control-button/y-map-control-button.directive.js","../tmp-esm2022/lib/components/controls/y-map-control-common-button/y-map-control-common-button.directive.js","../tmp-esm2022/lib/components/controls/y-map-geolocation-control/y-map-geolocation-control.directive.js","../tmp-esm2022/lib/components/controls/y-map-open-maps-button/y-map-open-maps-button.directive.js","../tmp-esm2022/lib/components/controls/y-map-scale-control/y-map-scale-control.directive.js","../tmp-esm2022/lib/components/controls/y-map-zoom-control/y-map-zoom-control.directive.js","../tmp-esm2022/lib/components/layers/y-map-default-features-layer/y-map-default-features-layer.directive.js","../tmp-esm2022/lib/components/layers/y-map-default-scheme-layer/y-map-default-scheme-layer.directive.js","../tmp-esm2022/lib/components/layers/y-map-layer/y-map-layer.directive.js","../tmp-esm2022/index.js","../tmp-esm2022/angular-yandex-maps-v3.js"],"sourcesContent":["import { InjectionToken, makeEnvironmentProviders } from '@angular/core';\n/**\n * @internal\n */\nexport const Y_CONFIG = new InjectionToken('Y_CONFIG', {\n    factory: () => ({}),\n});\n// It must be an arrow function, because compodoc cannot parse functions without issues.\n// TODO convert provideYConfig to a function + create an issue in compodoc about rawdescription.\n/**\n * Provides a Y_CONFIG token with the given configuration.\n *\n * ```ts\n * import { provideYConfig, YConfig } from 'angular-yandex-maps-v3';\n *\n * export const config: YConfig = {\n *   apikey: 'X-X-X',\n * };\n *\n * export const appConfig: ApplicationConfig = {\n *   providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideYConfig(config)],\n * };\n * ```\n */\nexport const provideYConfig = (config) => {\n    return makeEnvironmentProviders([\n        {\n            provide: Y_CONFIG,\n            useValue: config,\n        },\n    ]);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi90b2tlbnMveS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUt6RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBZ0MsVUFBVSxFQUFFO0lBQ3BGLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQztDQUNwQixDQUFDLENBQUM7QUFFSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBRWhHOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsTUFBcUMsRUFBRSxFQUFFO0lBQ3RFLE9BQU8sd0JBQXdCLENBQUM7UUFDOUI7WUFDRSxPQUFPLEVBQUUsUUFBUTtZQUNqQixRQUFRLEVBQUUsTUFBTTtTQUNqQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgWUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzL3ktY29uZmlnJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmV4cG9ydCBjb25zdCBZX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxZQ29uZmlnIHwgT2JzZXJ2YWJsZTxZQ29uZmlnPj4oJ1lfQ09ORklHJywge1xyXG4gIGZhY3Rvcnk6ICgpID0+ICh7fSksXHJcbn0pO1xyXG5cclxuLy8gSXQgbXVzdCBiZSBhbiBhcnJvdyBmdW5jdGlvbiwgYmVjYXVzZSBjb21wb2RvYyBjYW5ub3QgcGFyc2UgZnVuY3Rpb25zIHdpdGhvdXQgaXNzdWVzLlxyXG4vLyBUT0RPIGNvbnZlcnQgcHJvdmlkZVlDb25maWcgdG8gYSBmdW5jdGlvbiArIGNyZWF0ZSBhbiBpc3N1ZSBpbiBjb21wb2RvYyBhYm91dCByYXdkZXNjcmlwdGlvbi5cclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyBhIFlfQ09ORklHIHRva2VuIHdpdGggdGhlIGdpdmVuIGNvbmZpZ3VyYXRpb24uXHJcbiAqXHJcbiAqIGBgYHRzXHJcbiAqIGltcG9ydCB7IHByb3ZpZGVZQ29uZmlnLCBZQ29uZmlnIH0gZnJvbSAnYW5ndWxhci15YW5kZXgtbWFwcy12Myc7XHJcbiAqXHJcbiAqIGV4cG9ydCBjb25zdCBjb25maWc6IFlDb25maWcgPSB7XHJcbiAqICAgYXBpa2V5OiAnWC1YLVgnLFxyXG4gKiB9O1xyXG4gKlxyXG4gKiBleHBvcnQgY29uc3QgYXBwQ29uZmlnOiBBcHBsaWNhdGlvbkNvbmZpZyA9IHtcclxuICogICBwcm92aWRlcnM6IFtwcm92aWRlWm9uZUNoYW5nZURldGVjdGlvbih7IGV2ZW50Q29hbGVzY2luZzogdHJ1ZSB9KSwgcHJvdmlkZVlDb25maWcoY29uZmlnKV0sXHJcbiAqIH07XHJcbiAqIGBgYFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHByb3ZpZGVZQ29uZmlnID0gKGNvbmZpZzogWUNvbmZpZyB8IE9ic2VydmFibGU8WUNvbmZpZz4pID0+IHtcclxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogWV9DT05GSUcsXHJcbiAgICAgIHVzZVZhbHVlOiBjb25maWcsXHJcbiAgICB9LFxyXG4gIF0pO1xyXG59O1xyXG4iXX0=","/**\n * Copied from Taiga UI.\n * https://github.com/taiga-family/taiga-ui/blob/eafb4f498ff57f4a21eebe74aee97a72b5e8d3f8/projects/cdk/observables/zone.ts#L19\n */\nimport { Observable } from 'rxjs';\nexport function enterZone(zone) {\n    return (source) => new Observable((subscriber) => source.subscribe({\n        next: (value) => zone.run(() => subscriber.next(value)),\n        error: (error) => zone.run(() => subscriber.error(error)),\n        complete: () => zone.run(() => subscriber.complete()),\n    }));\n}\nexport function exitZone(zone) {\n    return (source) => new Observable((subscriber) => zone.runOutsideAngular(() => source.subscribe(subscriber)));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvbGliL3V0aWxzL3pvbmUvem9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFJSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWxDLE1BQU0sVUFBVSxTQUFTLENBQUksSUFBWTtJQUN2QyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUM1QixNQUFNLENBQUMsU0FBUyxDQUFDO1FBQ2YsSUFBSSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsS0FBSyxFQUFFLENBQUMsS0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3RELENBQUMsQ0FDSCxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUksSUFBWTtJQUN0QyxPQUFPLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDaEIsSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIENvcGllZCBmcm9tIFRhaWdhIFVJLlxyXG4gKiBodHRwczovL2dpdGh1Yi5jb20vdGFpZ2EtZmFtaWx5L3RhaWdhLXVpL2Jsb2IvZWFmYjRmNDk4ZmY1N2Y0YTIxZWViZTc0YWVlOTdhNzJiNWU4ZDNmOC9wcm9qZWN0cy9jZGsvb2JzZXJ2YWJsZXMvem9uZS50cyNMMTlcclxuICovXHJcblxyXG5pbXBvcnQgdHlwZSB7IE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgdHlwZSB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZW50ZXJab25lPFQ+KHpvbmU6IE5nWm9uZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XHJcbiAgcmV0dXJuIChzb3VyY2UpID0+XHJcbiAgICBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT5cclxuICAgICAgc291cmNlLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHZhbHVlKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLm5leHQodmFsdWUpKSxcclxuICAgICAgICBlcnJvcjogKGVycm9yOiB1bmtub3duKSA9PiB6b25lLnJ1bigoKSA9PiBzdWJzY3JpYmVyLmVycm9yKGVycm9yKSksXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHpvbmUucnVuKCgpID0+IHN1YnNjcmliZXIuY29tcGxldGUoKSksXHJcbiAgICAgIH0pLFxyXG4gICAgKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4aXRab25lPFQ+KHpvbmU6IE5nWm9uZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XHJcbiAgcmV0dXJuIChzb3VyY2UpID0+XHJcbiAgICBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpKSk7XHJcbn1cclxuIl19","import { isPlatformBrowser } from '@angular/common';\nimport { DOCUMENT, inject, Injectable, NgZone, PLATFORM_ID } from '@angular/core';\nimport { BehaviorSubject, from, fromEvent, isObservable, merge, mergeMap, NEVER, of, tap, throwError, } from 'rxjs';\nimport { map, switchMap, take } from 'rxjs/operators';\nimport { Y_CONFIG } from '../../tokens/y-config';\nimport { exitZone } from '../../utils/zone/zone';\nimport * as i0 from \"@angular/core\";\n/**\n * The `YApiLoader` service handles loading of the Yandex.Maps API.\n * Use it if you do not need `YMapComponent`.\n *\n * The service supports dynamic configuration changes by subscribing on a `YConfig` observable.\n * It stores global API objects in a local cache, and updates them in runtime if necessary.\n * That's why do not provide this service, it will break the synchronizations between the local cache and HTML scripts.\n *\n * ```ts\n * import { YApiLoaderService } from 'angular-yandex-maps-v3';\n *\n * @Component()\n * export class AppComponent {\n *   constructor(private yApiLoaderService: YApiLoaderService) {\n *     // Don't forget to unsubscribe\n *     this.yApiLoaderService.load()\n *       .subscribe(v => console.log(v))\n *   }\n * }\n * ```\n */\nexport class YApiLoaderService {\n    constructor() {\n        this.document = inject(DOCUMENT);\n        this.ngZone = inject(NgZone);\n        this.isBrowser = isPlatformBrowser(inject(PLATFORM_ID));\n        this.defaultConfig = {\n            lang: 'ru_RU',\n        };\n        this.config$ = new BehaviorSubject(this.defaultConfig);\n        this.cache = new Map();\n        let config = inject(Y_CONFIG);\n        if (!isObservable(config)) {\n            config = of(config);\n        }\n        config.subscribe((config) => {\n            this.config$.next({\n                ...this.defaultConfig,\n                ...config,\n            });\n        });\n    }\n    /**\n     * Loads the Yandex.Maps API.\n     * Runs outside an Angular zone.\n     */\n    load() {\n        if (!this.isBrowser) {\n            return NEVER;\n        }\n        return this.config$.pipe(\n        // 3rd party libraries shouldn't be run in a zone.\n        // Libraries run tons of different events (requestAnimationFrame, setTimeout, etc.).\n        // We do not need to run change detection for these events from the library.\n        // Exit from a zone here, so all components are also created outside a zone.\n        exitZone(this.ngZone), mergeMap((config) => {\n            // We use a script source as a cache key, since there are a lot of parameters that affect the API.\n            // We can't rely only on one parameter. E.g., a key is changed, we need to reload the API.\n            const cacheKey = this.getScriptSource(config);\n            const cache = this.cache.get(cacheKey) || {};\n            // If it exists in the cache, return the ymaps3 from it,\n            // since script.onload triggers only once.\n            if (cache.ymaps3) {\n                const apiObject = cache.ymaps3;\n                // ready confirms that the API and DOM are ready for use,\n                // we can return of(window.ymaps3), but calling ready is safer, I believe.\n                return from(apiObject.ready).pipe(\n                // Each nested operator should run outside the zone.\n                // Refer to the comment above for the reason why we need to exit the zone.\n                exitZone(this.ngZone), \n                // Actually, we need to update it only if they are not equal,\n                // it happens if we change the configuration which required new window.ymaps3.\n                tap(() => (window.ymaps3 = apiObject)), map(() => apiObject));\n            }\n            let script = cache.script;\n            // It's possible that we have a script, but do not have ymaps3.\n            // It happens if there are concurrent requests, and the first request creates the script,\n            // while the second must just wait for the API to be loaded.\n            if (!script) {\n                script = this.createScript(config);\n                this.cache.set(cacheKey, { script });\n                this.document.body.appendChild(script);\n            }\n            if (window.ymaps3) {\n                // The API throws an error on script load if window.ymaps3 exists.\n                // So, before changing the configuration, delete the global object.\n                delete window.ymaps3;\n                // On the first API load, we import packages that are stored in chunks.\n                // When we load a new API configuration, it checks this global variable\n                // and tries to execute them. The problem is that window.ymaps3 is already deleted,\n                // and this script hasn't loaded a new ymaps3 yet. As a result, we get an error\n                // from these packages. That's why we need to delete these chunks, so there is no\n                // difference between the 1st and nth script load.\n                delete window.__chunk_yandex_ymaps3;\n            }\n            // window.ymaps3 is set explicitly via a script load event.\n            const load = fromEvent(script, 'load').pipe(switchMap(() => from(ymaps3.ready)), tap(() => this.cache.set(cacheKey, { script, ymaps3 })), map(() => ymaps3));\n            const error = fromEvent(script, 'error').pipe(switchMap(throwError));\n            return merge(load, error).pipe(\n            // Each nested operator should run outside the zone.\n            // Refer to the comment above for the reason why we need to exit the zone.\n            exitZone(this.ngZone), take(1));\n        }));\n    }\n    createScript(config) {\n        const script = this.document.createElement('script');\n        script.type = 'text/javascript';\n        script.src = this.getScriptSource(config);\n        script.id = 'yandexMapsApiScript';\n        script.async = true;\n        script.defer = true;\n        return script;\n    }\n    /**\n     * Returns a script source from a config.\n     * @param config parameters to add to a source\n     * @example\n     * // returns 'https://api-maps.yandex.ru/2.1/?apikey=658f67a2-fd77-42e9-b99e-2bd48c4ccad4&lang=en_US'\n     * getScriptSource({ apikey: '658f67a2-fd77-42e9-b99e-2bd48c4ccad4', lang: 'en_US' })\n     */\n    getScriptSource(config) {\n        const params = this.convertConfigIntoQueryParams(config);\n        return `https://api-maps.yandex.ru/v3/?${params}`;\n    }\n    /**\n     * Converts a config into query string parameters.\n     * @param config object to convert\n     * @example\n     * // returns \"lang=ru_RU&apikey=XXX\"\n     * convertIntoQueryParams({ lang: 'ru_RU', apikey: 'XXX' })\n     */\n    convertConfigIntoQueryParams(config) {\n        return Object.entries(config)\n            .map(([key, value]) => `${key}=${value}`)\n            .join('&');\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YApiLoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YApiLoaderService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YApiLoaderService, decorators: [{\n            type: Injectable,\n            args: [{\n                    providedIn: 'root',\n                }]\n        }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1hcGktbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9zZXJ2aWNlcy95LWFwaS1sb2FkZXIveS1hcGktbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUNMLGVBQWUsRUFDZixJQUFJLEVBQ0osU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsUUFBUSxFQUNSLEtBQUssRUFFTCxFQUFFLEVBQ0YsR0FBRyxFQUNILFVBQVUsR0FDWCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBaUJqRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBYTVCO1FBWmlCLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixjQUFTLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFFbkQsa0JBQWEsR0FBWTtZQUN4QyxJQUFJLEVBQUUsT0FBTztTQUNkLENBQUM7UUFFZSxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQVUsSUFBSSxDQUFDLGFBQWEs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QUFDLENBQUM7UUFFekQsT0FBTyxrQ0FBa0MsTUFBTSxFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLDRCQUE0QixDQUFDLE1BQWU7UUFDbEQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUMxQixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7YUFDeEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs4R0FuSlUsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs7MkZBRVAsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIGluamVjdCwgSW5qZWN0YWJsZSwgTmdab25lLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEJlaGF2aW9yU3ViamVjdCxcclxuICBmcm9tLFxyXG4gIGZyb21FdmVudCxcclxuICBpc09ic2VydmFibGUsXHJcbiAgbWVyZ2UsXHJcbiAgbWVyZ2VNYXAsXHJcbiAgTkVWRVIsXHJcbiAgT2JzZXJ2YWJsZSxcclxuICBvZixcclxuICB0YXAsXHJcbiAgdGhyb3dFcnJvcixcclxufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBZX0NPTkZJRyB9IGZyb20gJy4uLy4uL3Rva2Vucy95LWNvbmZpZyc7XHJcbmltcG9ydCB7IFlDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcy95LWNvbmZpZyc7XHJcbmltcG9ydCB7IGV4aXRab25lIH0gZnJvbSAnLi4vLi4vdXRpbHMvem9uZS96b25lJztcclxuXHJcbi8qKlxyXG4gKiBAaW50ZXJuYWxcclxuICovXHJcbmludGVyZmFjZSBBcGlMb2FkZXJDYWNoZSB7XHJcbiAgLyoqXHJcbiAgICogVGhlIEFQSSBnbG9iYWwgb2JqZWN0LlxyXG4gICAqL1xyXG4gIHltYXBzMz86IHR5cGVvZiB5bWFwczM7XHJcblxyXG4gIC8qKlxyXG4gICAqIEEgc2NyaXB0IGVsZW1lbnQgdGhhdCBsb2FkcyB0aGUgQVBJLlxyXG4gICAqL1xyXG4gIHNjcmlwdD86IEhUTUxTY3JpcHRFbGVtZW50O1xyXG59XHJcblxyXG4vKipcclxuICogVGhlIGBZQXBpTG9hZGVyYCBzZXJ2aWNlIGhhbmRsZXMgbG9hZGluZyBvZiB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBVc2UgaXQgaWYgeW91IGRvIG5vdCBuZWVkIGBZTWFwQ29tcG9uZW50YC5cclxuICpcclxuICogVGhlIHNlcnZpY2Ugc3VwcG9ydHMgZHluYW1pYyBjb25maWd1cmF0aW9uIGNoYW5nZXMgYnkgc3Vic2NyaWJpbmcgb24gYSBgWUNvbmZpZ2Agb2JzZXJ2YWJsZS5cclxuICogSXQgc3RvcmVzIGdsb2JhbCBBUEkgb2JqZWN0cyBpbiBhIGxvY2FsIGNhY2hlLCBhbmQgdXBkYXRlcyB0aGVtIGluIHJ1bnRpbWUgaWYgbmVjZXNzYXJ5LlxyXG4gKiBUaGF0J3Mgd2h5IGRvIG5vdCBwcm92aWRlIHRoaXMgc2VydmljZSwgaXQgd2lsbCBicmVhayB0aGUgc3luY2hyb25pemF0aW9ucyBiZXR3ZWVuIHRoZSBsb2NhbCBjYWNoZSBhbmQgSFRNTCBzY3JpcHRzLlxyXG4gKlxyXG4gKiBgYGB0c1xyXG4gKiBpbXBvcnQgeyBZQXBpTG9hZGVyU2VydmljZSB9IGZyb20gJ2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMnO1xyXG4gKlxyXG4gKiBAQ29tcG9uZW50KClcclxuICogZXhwb3J0IGNsYXNzIEFwcENvbXBvbmVudCB7XHJcbiAqICAgY29uc3RydWN0b3IocHJpdmF0ZSB5QXBpTG9hZGVyU2VydmljZTogWUFwaUxvYWRlclNlcnZpY2UpIHtcclxuICogICAgIC8vIERvbid0IGZvcmdldCB0byB1bnN1YnNjcmliZVxyXG4gKiAgICAgdGhpcy55QXBpTG9hZGVyU2VydmljZS5sb2FkKClcclxuICogICAgICAgLnN1YnNjcmliZSh2ID0+IGNvbnNvbGUubG9nKHYpKVxyXG4gKiAgIH1cclxuICogfVxyXG4gKiBgYGBcclxuICovXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZQXBpTG9hZGVyU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlZmF1bHRDb25maWc6IFlDb25maWcgPSB7XHJcbiAgICBsYW5nOiAncnVfUlUnLFxyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8WUNvbmZpZz4odGhpcy5kZWZhdWx0Q29uZmlnKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBBcGlMb2FkZXJDYWNoZT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBsZXQgY29uZmlnID0gaW5qZWN0PFlDb25maWcgfCBPYnNlcnZhYmxlPFlDb25maWc+PihZX0NPTkZJRyk7XHJcblxyXG4gICAgaWYgKCFpc09ic2VydmFibGUoY29uZmlnKSkge1xyXG4gICAgICBjb25maWcgPSBvZihjb25maWcpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbmZpZy5zdWJzY3JpYmUoKGNvbmZpZykgPT4ge1xyXG4gICAgICB0aGlzLmNvbmZpZyQubmV4dCh7XHJcbiAgICAgICAgLi4udGhpcy5kZWZhdWx0Q29uZmlnLFxyXG4gICAgICAgIC4uLmNvbmZpZyxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWRzIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAgICogUnVucyBvdXRzaWRlIGFuIEFuZ3VsYXIgem9uZS5cclxuICAgKi9cclxuICBsb2FkKCk6IE9ic2VydmFibGU8dHlwZW9mIHltYXBzMz4ge1xyXG4gICAgaWYgKCF0aGlzLmlzQnJvd3Nlcikge1xyXG4gICAgICByZXR1cm4gTkVWRVI7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnJC5waXBlKFxyXG4gICAgICAvLyAzcmQgcGFydHkgbGlicmFyaWVzIHNob3VsZG4ndCBiZSBydW4gaW4gYSB6b25lLlxyXG4gICAgICAvLyBMaWJyYXJpZXMgcnVuIHRvbnMgb2YgZGlmZmVyZW50IGV2ZW50cyAocmVxdWVzdEFuaW1hdGlvbkZyYW1lLCBzZXRUaW1lb3V0LCBldGMuKS5cclxuICAgICAgLy8gV2UgZG8gbm90IG5lZWQgdG8gcnVuIGNoYW5nZSBkZXRlY3Rpb24gZm9yIHRoZXNlIGV2ZW50cyBmcm9tIHRoZSBsaWJyYXJ5LlxyXG4gICAgICAvLyBFeGl0IGZyb20gYSB6b25lIGhlcmUsIHNvIGFsbCBjb21wb25lbnRzIGFyZSBhbHNvIGNyZWF0ZWQgb3V0c2lkZSBhIHpvbmUuXHJcbiAgICAgIGV4aXRab25lKHRoaXMubmdab25lKSxcclxuICAgICAgbWVyZ2VNYXAoKGNvbmZpZykgPT4ge1xyXG4gICAgICAgIC8vIFdlIHVzZSBhIHNjcmlwdCBzb3VyY2UgYXMgYSBjYWNoZSBrZXksIHNpbmNlIHRoZXJlIGFyZSBhIGxvdCBvZiBwYXJhbWV0ZXJzIHRoYXQgYWZmZWN0IHRoZSBBUEkuXHJcbiAgICAgICAgLy8gV2UgY2FuJ3QgcmVseSBvbmx5IG9uIG9uZSBwYXJhbWV0ZXIuIEUuZy4sIGEga2V5IGlzIGNoYW5nZWQsIHdlIG5lZWQgdG8gcmVsb2FkIHRoZSBBUEkuXHJcbiAgICAgICAgY29uc3QgY2FjaGVLZXkgPSB0aGlzLmdldFNjcmlwdFNvdXJjZShjb25maWcpO1xyXG4gICAgICAgIGNvbnN0IGNhY2hlID0gdGhpcy5jYWNoZS5nZXQoY2FjaGVLZXkpIHx8IHt9O1xyXG5cclxuICAgICAgICAvLyBJZiBpdCBleGlzdHMgaW4gdGhlIGNhY2hlLCByZXR1cm4gdGhlIHltYXBzMyBmcm9tIGl0LFxyXG4gICAgICAgIC8vIHNpbmNlIHNjcmlwdC5vbmxvYWQgdHJpZ2dlcnMgb25seSBvbmNlLlxyXG4gICAgICAgIGlmIChjYWNoZS55bWFwczMpIHtcclxuICAgICAgICAgIGNvbnN0IGFwaU9iamVjdCA9IGNhY2hlLnltYXBzMztcclxuXHJcbiAgICAgICAgICAvLyByZWFkeSBjb25maXJtcyB0aGF0IHRoZSBBUEkgYW5kIERPTSBhcmUgcmVhZHkgZm9yIHVzZSxcclxuICAgICAgICAgIC8vIHdlIGNhbiByZXR1cm4gb2Yod2luZG93LnltYXBzMyksIGJ1dCBjYWxsaW5nIHJlYWR5IGlzIHNhZmVyLCBJIGJlbGlldmUuXHJcbiAgICAgICAgICByZXR1cm4gZnJvbShhcGlPYmplY3QucmVhZHkpLnBpcGUoXHJcbiAgICAgICAgICAgIC8vIEVhY2ggbmVzdGVkIG9wZXJhdG9yIHNob3VsZCBydW4gb3V0c2lkZSB0aGUgem9uZS5cclxuICAgICAgICAgICAgLy8gUmVmZXIgdG8gdGhlIGNvbW1lbnQgYWJvdmUgZm9yIHRoZSByZWFzb24gd2h5IHdlIG5lZWQgdG8gZXhpdCB0aGUgem9uZS5cclxuICAgICAgICAgICAgZXhpdFpvbmUodGhpcy5uZ1pvbmUpLFxyXG4gICAgICAgICAgICAvLyBBY3R1YWxseSwgd2UgbmVlZCB0byB1cGRhdGUgaXQgb25seSBpZiB0aGV5IGFyZSBub3QgZXF1YWwsXHJcbiAgICAgICAgICAgIC8vIGl0IGhhcHBlbnMgaWYgd2UgY2hhbmdlIHRoZSBjb25maWd1cmF0aW9uIHdoaWNoIHJlcXVpcmVkIG5ldyB3aW5kb3cueW1hcHMzLlxyXG4gICAgICAgICAgICB0YXAoKCkgPT4gKCh3aW5kb3cgYXMgYW55KS55bWFwczMgPSBhcGlPYmplY3QpKSxcclxuICAgICAgICAgICAgbWFwKCgpID0+IGFwaU9iamVjdCksXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IHNjcmlwdCA9IGNhY2hlLnNjcmlwdDtcclxuXHJcbiAgICAgICAgLy8gSXQncyBwb3NzaWJsZSB0aGF0IHdlIGhhdmUgYSBzY3JpcHQsIGJ1dCBkbyBub3QgaGF2ZSB5bWFwczMuXHJcbiAgICAgICAgLy8gSXQgaGFwcGVucyBpZiB0aGVyZSBhcmUgY29uY3VycmVudCByZXF1ZXN0cywgYW5kIHRoZSBmaXJzdCByZXF1ZXN0IGNyZWF0ZXMgdGhlIHNjcmlwdCxcclxuICAgICAgICAvLyB3aGlsZSB0aGUgc2Vjb25kIG11c3QganVzdCB3YWl0IGZvciB0aGUgQVBJIHRvIGJlIGxvYWRlZC5cclxuICAgICAgICBpZiAoIXNjcmlwdCkge1xyXG4gICAgICAgICAgc2NyaXB0ID0gdGhpcy5jcmVhdGVTY3JpcHQoY29uZmlnKTtcclxuICAgICAgICAgIHRoaXMuY2FjaGUuc2V0KGNhY2hlS2V5LCB7IHNjcmlwdCB9KTtcclxuICAgICAgICAgIHRoaXMuZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS55bWFwczMpIHtcclxuICAgICAgICAgIC8vIFRoZSBBUEkgdGhyb3dzIGFuIGVycm9yIG9uIHNjcmlwdCBsb2FkIGlmIHdpbmRvdy55bWFwczMgZXhpc3RzLlxyXG4gICAgICAgICAgLy8gU28sIGJlZm9yZSBjaGFuZ2luZyB0aGUgY29uZmlndXJhdGlvbiwgZGVsZXRlIHRoZSBnbG9iYWwgb2JqZWN0LlxyXG4gICAgICAgICAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS55bWFwczM7XHJcblxyXG4gICAgICAgICAgLy8gT24gdGhlIGZpcnN0IEFQSSBsb2FkLCB3ZSBpbXBvcnQgcGFja2FnZXMgdGhhdCBhcmUgc3RvcmVkIGluIGNodW5rcy5cclxuICAgICAgICAgIC8vIFdoZW4gd2UgbG9hZCBhIG5ldyBBUEkgY29uZmlndXJhdGlvbiwgaXQgY2hlY2tzIHRoaXMgZ2xvYmFsIHZhcmlhYmxlXHJcbiAgICAgICAgICAvLyBhbmQgdHJpZXMgdG8gZXhlY3V0ZSB0aGVtLiBUaGUgcHJvYmxlbSBpcyB0aGF0IHdpbmRvdy55bWFwczMgaXMgYWxyZWFkeSBkZWxldGVkLFxyXG4gICAgICAgICAgLy8gYW5kIHRoaXMgc2NyaXB0IGhhc24ndCBsb2FkZWQgYSBuZXcgeW1hcHMzIHlldC4gQXMgYSByZXN1bHQsIHdlIGdldCBhbiBlcnJvclxyXG4gICAgICAgICAgLy8gZnJvbSB0aGVzZSBwYWNrYWdlcy4gVGhhdCdzIHdoeSB3ZSBuZWVkIHRvIGRlbGV0ZSB0aGVzZSBjaHVua3MsIHNvIHRoZXJlIGlzIG5vXHJcbiAgICAgICAgICAvLyBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIDFzdCBhbmQgbnRoIHNjcmlwdCBsb2FkLlxyXG4gICAgICAgICAgZGVsZXRlICh3aW5kb3cgYXMgYW55KS5fX2NodW5rX3lhbmRleF95bWFwczM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyB3aW5kb3cueW1hcHMzIGlzIHNldCBleHBsaWNpdGx5IHZpYSBhIHNjcmlwdCBsb2FkIGV2ZW50LlxyXG4gICAgICAgIGNvbnN0IGxvYWQgPSBmcm9tRXZlbnQoc2NyaXB0LCAnbG9hZCcpLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gZnJvbSh5bWFwczMucmVhZHkpKSxcclxuICAgICAgICAgIHRhcCgoKSA9PiB0aGlzLmNhY2hlLnNldChjYWNoZUtleSwgeyBzY3JpcHQsIHltYXBzMyB9KSksXHJcbiAgICAgICAgICBtYXAoKCkgPT4geW1hcHMzKSxcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBjb25zdCBlcnJvciA9IGZyb21FdmVudChzY3JpcHQsICdlcnJvcicpLnBpcGUoc3dpdGNoTWFwKHRocm93RXJyb3IpKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIG1lcmdlKGxvYWQsIGVycm9yKS5waXBlKFxyXG4gICAgICAgICAgLy8gRWFjaCBuZXN0ZWQgb3BlcmF0b3Igc2hvdWxkIHJ1biBvdXRzaWRlIHRoZSB6b25lLlxyXG4gICAgICAgICAgLy8gUmVmZXIgdG8gdGhlIGNvbW1lbnQgYWJvdmUgZm9yIHRoZSByZWFzb24gd2h5IHdlIG5lZWQgdG8gZXhpdCB0aGUgem9uZS5cclxuICAgICAgICAgIGV4aXRab25lKHRoaXMubmdab25lKSxcclxuICAgICAgICAgIHRha2UoMSksXHJcbiAgICAgICAgKTtcclxuICAgICAgfSksXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVTY3JpcHQoY29uZmlnOiBZQ29uZmlnKTogSFRNTFNjcmlwdEVsZW1lbnQge1xyXG4gICAgY29uc3Qgc2NyaXB0ID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuXHJcbiAgICBzY3JpcHQudHlwZSA9ICd0ZXh0L2phdmFzY3JpcHQnO1xyXG4gICAgc2NyaXB0LnNyYyA9IHRoaXMuZ2V0U2NyaXB0U291cmNlKGNvbmZpZyk7XHJcbiAgICBzY3JpcHQuaWQgPSAneWFuZGV4TWFwc0FwaVNjcmlwdCc7XHJcbiAgICBzY3JpcHQuYXN5bmMgPSB0cnVlO1xyXG4gICAgc2NyaXB0LmRlZmVyID0gdHJ1ZTtcclxuXHJcbiAgICByZXR1cm4gc2NyaXB0O1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmV0dXJucyBhIHNjcmlwdCBzb3VyY2UgZnJvbSBhIGNvbmZpZy5cclxuICAgKiBAcGFyYW0gY29uZmlnIHBhcmFtZXRlcnMgdG8gYWRkIHRvIGEgc291cmNlXHJcbiAgICogQGV4YW1wbGVcclxuICAgKiAvLyByZXR1cm5zICdodHRwczovL2FwaS1tYXBzLnlhbmRleC5ydS8yLjEvP2FwaWtleT02NThmNjdhMi1mZDc3LTQyZTktYjk5ZS0yYmQ0OGM0Y2NhZDQmbGFuZz1lbl9VUydcclxuICAgKiBnZXRTY3JpcHRTb3VyY2UoeyBhcGlrZXk6ICc2NThmNjdhMi1mZDc3LTQyZTktYjk5ZS0yYmQ0OGM0Y2NhZDQnLCBsYW5nOiAnZW5fVVMnIH0pXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBnZXRTY3JpcHRTb3VyY2UoY29uZmlnOiBZQ29uZmlnKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuY29udmVydENvbmZpZ0ludG9RdWVyeVBhcmFtcyhjb25maWcpO1xyXG5cclxuICAgIHJldHVybiBgaHR0cHM6Ly9hcGktbWFwcy55YW5kZXgucnUvdjMvPyR7cGFyYW1zfWA7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0cyBhIGNvbmZpZyBpbnRvIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJzLlxyXG4gICAqIEBwYXJhbSBjb25maWcgb2JqZWN0IHRvIGNvbnZlcnRcclxuICAgKiBAZXhhbXBsZVxyXG4gICAqIC8vIHJldHVybnMgXCJsYW5nPXJ1X1JVJmFwaWtleT1YWFhcIlxyXG4gICAqIGNvbnZlcnRJbnRvUXVlcnlQYXJhbXMoeyBsYW5nOiAncnVfUlUnLCBhcGlrZXk6ICdYWFgnIH0pXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjb252ZXJ0Q29uZmlnSW50b1F1ZXJ5UGFyYW1zKGNvbmZpZzogWUNvbmZpZyk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoY29uZmlnKVxyXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IGAke2tleX09JHt2YWx1ZX1gKVxyXG4gICAgICAuam9pbignJicpO1xyXG4gIH1cclxufVxyXG4iXX0=","/**\n * Generates a random string based on Date in hexadecimal numeral system.\n * @example f175517fa4f3\n * @internal\n */\nexport const generateRandomId = () => `f${Date.now().toString(16)}`;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGUtcmFuZG9tLWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvdXRpbHMvZ2VuZXJhdGUtcmFuZG9tLWlkL2dlbmVyYXRlLXJhbmRvbS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsR0FBVyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogR2VuZXJhdGVzIGEgcmFuZG9tIHN0cmluZyBiYXNlZCBvbiBEYXRlIGluIGhleGFkZWNpbWFsIG51bWVyYWwgc3lzdGVtLlxyXG4gKiBAZXhhbXBsZSBmMTc1NTE3ZmE0ZjNcclxuICogQGludGVybmFsXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVSYW5kb21JZCA9ICgpOiBzdHJpbmcgPT4gYGYke0RhdGUubm93KCkudG9TdHJpbmcoMTYpfWA7XHJcbiJdfQ==","import { ChangeDetectionStrategy, Component, ElementRef, EventEmitter, inject, Input, NgZone, Output, ViewChild, } from '@angular/core';\nimport { BehaviorSubject, Subject, takeUntil } from 'rxjs';\nimport { YApiLoaderService } from '../../../services/y-api-loader/y-api-loader.service';\nimport { generateRandomId } from '../../../utils/generate-random-id/generate-random-id';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMap](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymap) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *     theme: 'dark',\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n * </y-map>\n * ```\n */\nexport class YMapComponent {\n    constructor() {\n        this.yaApiLoaderService = inject(YApiLoaderService);\n        this.ngZone = inject(NgZone);\n        this.destroy$ = new Subject();\n        this.map$ = new BehaviorSubject(null);\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngAfterViewInit() {\n        this.yaApiLoaderService\n            .load()\n            .pipe(takeUntil(this.destroy$))\n            .subscribe(() => {\n            const id = generateRandomId();\n            const map = this.createMap(id);\n            /**\n             * Once the configuration is changed, e.g. language,\n             * we need to reinitialize the map.\n             */\n            if (this.map$.value) {\n                this.map$.value.destroy();\n            }\n            this.map$.next(map);\n            this.ready.emit({ ymaps3, entity: map });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.map$.value) {\n                this.map$.value.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    createMap(containerId) {\n        const containerElem = this.container.nativeElement;\n        containerElem.setAttribute('id', containerId);\n        containerElem.style.cssText = 'width: 100%; height: 100%;';\n        // The API mutates the configuration.\n        // It changes `props.config`, which causes errors on language change.\n        // Since we need to pass a clean state each time, pass a copy.\n        const clonedProps = { ...this.props };\n        return new ymaps3.YMap(containerElem, clonedProps, this.children);\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n    static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapComponent, isStandalone: true, selector: \"y-map\", inputs: { props: \"props\", children: \"children\" }, outputs: { ready: \"ready\" }, viewQueries: [{ propertyName: \"container\", first: true, predicate: [\"container\"], descendants: true }], usesOnChanges: true, ngImport: i0, template: '<div #container></div>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapComponent, decorators: [{\n            type: Component,\n            args: [{\n                    selector: 'y-map',\n                    standalone: true,\n                    template: '<div #container></div>',\n                    changeDetection: ChangeDetectionStrategy.OnPush,\n                }]\n        }], propDecorators: { container: [{\n                type: ViewChild,\n                args: ['container']\n            }], props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], children: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24veS1tYXAveS1tYXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBR04sTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFFeEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0RBQXNELENBQUM7O0FBRXhGOzs7Ozs7Ozs7Ozs7Ozs7OztHQWlCRztBQU9ILE1BQU0sT0FBTyxhQUFhO0lBTjFCO1FBT21CLHVCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQy9DLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFJeEIsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFaEQsU0FBSSxHQUFHLElBQUksZUFBZSxDQUFjLElBQUksQ0FBQyxDQUFDO1FBYTlDOztXQUVHO1FBQ08sVUFBSyxHQUFvQyxJQUFJLFlBQVksRUFBcUIsQ0FBQztLQWtEMUY7SUFoREMsZUFBZTtRQUNiLElBQUksQ0FBQyxrQkFBa0I7YUFDcEIsSUFBSSxFQUFFO2FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixFQUFFLENBQUM7WUFDOUIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUUvQjs7O2VBR0c7WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQW1CO1FBQ25DLE1BQU0sYUFBYSxHQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUVoRSxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM5QyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyw0QkFBNEIsQ0FBQztRQUUzRCxxQ0FBcUM7UUFDckMscUVBQXFFO1FBQ3JFLDhEQUE4RDtRQUM5RCxNQUFNLFdBQVcsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRXRDLE9BQU8sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3BFLENBQUM7OEdBekVVLGFBQWE7a0dBQWIsYUFBYSw2UUFIZCx3QkFBd0I7OzJGQUd2QixhQUFhO2tCQU56QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxPQUFPO29CQUNqQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQ2hEOzhCQUtrQyxTQUFTO3NCQUF6QyxTQUFTO3VCQUFDLFdBQVc7Z0JBVUssS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwLCBZTWFwRW50aXR5LCBZTWFwUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBZQXBpTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3ktYXBpLWxvYWRlci95LWFwaS1sb2FkZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IGdlbmVyYXRlUmFuZG9tSWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9nZW5lcmF0ZS1yYW5kb20taWQvZ2VuZXJhdGUtcmFuZG9tLWlkJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNjbGFzcy15bWFwKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiAxMCxcclxuICogICAgIH0sXHJcbiAqICAgICB0aGVtZTogJ2RhcmsnLFxyXG4gKiAgIH1cIlxyXG4gKiA+XHJcbiAqICAgPHktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyIC8+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICB0ZW1wbGF0ZTogJzxkaXYgI2NvbnRhaW5lcj48L2Rpdj4nLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IHlhQXBpTG9hZGVyU2VydmljZSA9IGluamVjdChZQXBpTG9hZGVyU2VydmljZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJykgcmVhZG9ubHkgY29udGFpbmVyITogRWxlbWVudFJlZjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIG1hcCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFlNYXAgfCBudWxsPihudWxsKTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyB1cGRhdGVzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNZTWFwUHJvcHN9XHJcbiAgICovXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHJvcHMhOiBZTWFwUHJvcHM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBjaGlsZHJlbj86IFlNYXBFbnRpdHk8dW5rbm93biwgb2JqZWN0PltdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZW50aXR5IGluc3RhbmNlIGlzIGNyZWF0ZWQuIFRoaXMgZXZlbnQgcnVucyBvdXRzaWRlIGFuIEFuZ3VsYXIgem9uZS5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmVhZHk6IEV2ZW50RW1pdHRlcjxZUmVhZHlFdmVudDxZTWFwPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXA+PigpO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnlhQXBpTG9hZGVyU2VydmljZVxyXG4gICAgICAubG9hZCgpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgaWQgPSBnZW5lcmF0ZVJhbmRvbUlkKCk7XHJcbiAgICAgICAgY29uc3QgbWFwID0gdGhpcy5jcmVhdGVNYXAoaWQpO1xyXG5cclxuICAgICAgICAvKipcclxuICAgICAgICAgKiBPbmNlIHRoZSBjb25maWd1cmF0aW9uIGlzIGNoYW5nZWQsIGUuZy4gbGFuZ3VhZ2UsXHJcbiAgICAgICAgICogd2UgbmVlZCB0byByZWluaXRpYWxpemUgdGhlIG1hcC5cclxuICAgICAgICAgKi9cclxuICAgICAgICBpZiAodGhpcy5tYXAkLnZhbHVlKSB7XHJcbiAgICAgICAgICB0aGlzLm1hcCQudmFsdWUuZGVzdHJveSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5tYXAkLm5leHQobWFwKTtcclxuICAgICAgICB0aGlzLnJlYWR5LmVtaXQoeyB5bWFwczMsIGVudGl0eTogbWFwIH0pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5tYXAkLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5tYXAkLnZhbHVlLnVwZGF0ZShjaGFuZ2VzWydwcm9wcyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlTWFwKGNvbnRhaW5lcklkOiBzdHJpbmcpOiBZTWFwIHtcclxuICAgIGNvbnN0IGNvbnRhaW5lckVsZW06IEhUTUxFbGVtZW50ID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudDtcclxuXHJcbiAgICBjb250YWluZXJFbGVtLnNldEF0dHJpYnV0ZSgnaWQnLCBjb250YWluZXJJZCk7XHJcbiAgICBjb250YWluZXJFbGVtLnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsnO1xyXG5cclxuICAgIC8vIFRoZSBBUEkgbXV0YXRlcyB0aGUgY29uZmlndXJhdGlvbi5cclxuICAgIC8vIEl0IGNoYW5nZXMgYHByb3BzLmNvbmZpZ2AsIHdoaWNoIGNhdXNlcyBlcnJvcnMgb24gbGFuZ3VhZ2UgY2hhbmdlLlxyXG4gICAgLy8gU2luY2Ugd2UgbmVlZCB0byBwYXNzIGEgY2xlYW4gc3RhdGUgZWFjaCB0aW1lLCBwYXNzIGEgY29weS5cclxuICAgIGNvbnN0IGNsb25lZFByb3BzID0geyAuLi50aGlzLnByb3BzIH07XHJcblxyXG4gICAgcmV0dXJuIG5ldyB5bWFwczMuWU1hcChjb250YWluZXJFbGVtLCBjbG9uZWRQcm9wcywgdGhpcy5jaGlsZHJlbik7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { ContentChild, Directive, EventEmitter, inject, Input, NgZone, Output, TemplateRef, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapClusterer](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/clusterer/#class-ymapclusterer) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n * This component is from the `@yandex/ymaps3-clusterer@0.0.1` package, which is asynchronously loaded when you use this component.\n *\n * The Yandex.Maps class is quite challenging, so I recommend checking the official documentation.\n * The component encapsulates some logic, making the class easier to use.\n * It remains fully customizable, and you can replicate the entire code from the official example.\n *\n * The Yandex.Maps class accepts `cluster` and `marker` callbacks that should return HTML for the elements.\n * You can achieve the same behavior using this component in two ways:\n *\n * 1. Pass cluster and marker to props and write completely custom logic. This is the same process that the library handles internally.\n * 2. Use `<ng-template #cluster let-context>` and `<ng-template #marker let-context>`, where the HTML from the templates is passed to `YMapMarker`.\n *\n * When using templates, you can access arguments from the callback through the `$implicit` variable.\n *\n * To define markers, you do not need to create the markers themselves; instead, you need to pass a `Feature[]`.\n * The official example creates an array of coordinates and maps it to the features array.\n *\n * The clustering method is `clusterByGrid({ gridSize: 64 })` by default, but you can override it and other options by passing them to `props`.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *   <y-map-default-features-layer />\n *\n *   <!-- Define your coordinates in the component and map them to Feature[] -->\n *   <y-map-clusterer\n *     [props]=\"{\n *       features: [\n *         {\n *           type: 'Feature',\n *           id: '0',\n *           geometry: {\n *             type: 'Point',\n *             coordinates: [-0.597696, 51.907351],\n *           },\n *         },\n *       ],\n *     }\"\n *   >\n *     <ng-template #marker let-context>\n *       <!-- Your custom HTML for a point/marker -->\n *       <img src=\"./pin.svg\" />\n *     </ng-template>\n *\n *     <ng-template #cluster let-context>\n *       <!-- Your custom HTML for a clusterer point/marker -->\n *       {{ context.features.length }}\n *     </ng-template>\n *   </y-map-clusterer>\n * </y-map>\n * ```\n */\nexport class YMapClustererDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngAfterContentInit() {\n        this.yMapComponent.map$\n            .pipe(filter(Boolean), switchMap((map) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-clusterer@0.0.1')).pipe(tap(({ YMapClusterer, clusterByGrid }) => {\n            const marker = (feature) => {\n                const element = this.getTemplateElement(this.markerTemplate, feature);\n                return new ymaps3.YMapMarker({\n                    coordinates: feature.geometry.coordinates,\n                }, element);\n            };\n            const cluster = (coordinates, features) => {\n                const element = this.getTemplateElement(this.clusterTemplate, {\n                    coordinates,\n                    features,\n                });\n                return new ymaps3.YMapMarker({\n                    coordinates,\n                }, element);\n            };\n            this.clusterer = new YMapClusterer({\n                marker,\n                cluster,\n                method: clusterByGrid({ gridSize: 64 }),\n                ...this.props,\n            });\n            map.addChild(this.clusterer);\n            this.ready.emit({ ymaps3, entity: this.clusterer });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.clusterer) {\n                this.clusterer.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    getTemplateElement(templateRef, context) {\n        if (!templateRef) {\n            throw new Error('TemplateRef cannot be undefined. It must be projected to the component.');\n        }\n        const view = templateRef.createEmbeddedView({ $implicit: context });\n        view.detectChanges();\n        // Get the first node, which is inside <ng-template />\n        const element = view.rootNodes[0];\n        if (!element) {\n            throw new Error('TemplateRef cannot be empty. It must contain a node.');\n        }\n        return element;\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapClustererDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapClustererDirective, isStandalone: true, selector: \"y-map-clusterer\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, queries: [{ propertyName: \"markerTemplate\", first: true, predicate: [\"marker\"], descendants: true }, { propertyName: \"clusterTemplate\", first: true, predicate: [\"cluster\"], descendants: true }], usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapClustererDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-clusterer',\n                    standalone: true,\n                }]\n        }], propDecorators: { markerTemplate: [{\n                type: ContentChild,\n                args: ['marker']\n            }], clusterTemplate: [{\n                type: ContentChild,\n                args: ['cluster']\n            }], props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtY2x1c3RlcmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLWNsdXN0ZXJlci95LW1hcC1jbHVzdGVyZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkRHO0FBS0gsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBYXRDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBVWhEOztXQUVHO1FBQ08sVUFBSyxHQUE2QyxJQUFJLFlBQVksRUFFekUsQ0FBQztLQXVGTDtJQXJGQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQ3BCLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEIs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QkFBc0I7a0JBSmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQUt5QixjQUFjO3NCQUFyQyxZQUFZO3VCQUFDLFFBQVE7Z0JBSUcsZUFBZTtzQkFBdkMsWUFBWTt1QkFBQyxTQUFTO2dCQWVJLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB0eXBlIHsgTG5nTGF0IH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMvY29tbW9uL3R5cGVzJztcclxuaW1wb3J0IHtcclxuICBGZWF0dXJlLFxyXG4gIFlNYXBDbHVzdGVyZXIsXHJcbiAgWU1hcENsdXN0ZXJlclByb3BzLFxyXG59IGZyb20gJ0B5YW5kZXgveW1hcHMzLXR5cGVzL3BhY2thZ2VzL2NsdXN0ZXJlcic7XHJcbmltcG9ydCB7IGZyb20sIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgT3B0aW9uYWwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy91dGlsaXRpZXMvb3B0aW9uYWwnO1xyXG5pbXBvcnQgeyBZUmVhZHlFdmVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3ktcmVhZHktZXZlbnQnO1xyXG5pbXBvcnQgeyBZTWFwQ29tcG9uZW50IH0gZnJvbSAnLi4veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwQ2x1c3RlcmVyXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2NsdXN0ZXJlci8jY2xhc3MteW1hcGNsdXN0ZXJlcikgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIGZyb20gdGhlIGBAeWFuZGV4L3ltYXBzMy1jbHVzdGVyZXJAMC4wLjFgIHBhY2thZ2UsIHdoaWNoIGlzIGFzeW5jaHJvbm91c2x5IGxvYWRlZCB3aGVuIHlvdSB1c2UgdGhpcyBjb21wb25lbnQuXHJcbiAqXHJcbiAqIFRoZSBZYW5kZXguTWFwcyBjbGFzcyBpcyBxdWl0ZSBjaGFsbGVuZ2luZywgc28gSSByZWNvbW1lbmQgY2hlY2tpbmcgdGhlIG9mZmljaWFsIGRvY3VtZW50YXRpb24uXHJcbiAqIFRoZSBjb21wb25lbnQgZW5jYXBzdWxhdGVzIHNvbWUgbG9naWMsIG1ha2luZyB0aGUgY2xhc3MgZWFzaWVyIHRvIHVzZS5cclxuICogSXQgcmVtYWlucyBmdWxseSBjdXN0b21pemFibGUsIGFuZCB5b3UgY2FuIHJlcGxpY2F0ZSB0aGUgZW50aXJlIGNvZGUgZnJvbSB0aGUgb2ZmaWNpYWwgZXhhbXBsZS5cclxuICpcclxuICogVGhlIFlhbmRleC5NYXBzIGNsYXNzIGFjY2VwdHMgYGNsdXN0ZXJgIGFuZCBgbWFya2VyYCBjYWxsYmFja3MgdGhhdCBzaG91bGQgcmV0dXJuIEhUTUwgZm9yIHRoZSBlbGVtZW50cy5cclxuICogWW91IGNhbiBhY2hpZXZlIHRoZSBzYW1lIGJlaGF2aW9yIHVzaW5nIHRoaXMgY29tcG9uZW50IGluIHR3byB3YXlzOlxyXG4gKlxyXG4gKiAxLiBQYXNzIGNsdXN0ZXIgYW5kIG1hcmtlciB0byBwcm9wcyBhbmQgd3JpdGUgY29tcGxldGVseSBjdXN0b20gbG9naWMuIFRoaXMgaXMgdGhlIHNhbWUgcHJvY2VzcyB0aGF0IHRoZSBsaWJyYXJ5IGhhbmRsZXMgaW50ZXJuYWxseS5cclxuICogMi4gVXNlIGA8bmctdGVtcGxhdGUgI2NsdXN0ZXIgbGV0LWNvbnRleHQ+YCBhbmQgYDxuZy10ZW1wbGF0ZSAjbWFya2VyIGxldC1jb250ZXh0PmAsIHdoZXJlIHRoZSBIVE1MIGZyb20gdGhlIHRlbXBsYXRlcyBpcyBwYXNzZWQgdG8gYFlNYXBNYXJrZXJgLlxyXG4gKlxyXG4gKiBXaGVuIHVzaW5nIHRlbXBsYXRlcywgeW91IGNhbiBhY2Nlc3MgYXJndW1lbnRzIGZyb20gdGhlIGNhbGxiYWNrIHRocm91Z2ggdGhlIGAkaW1wbGljaXRgIHZhcmlhYmxlLlxyXG4gKlxyXG4gKiBUbyBkZWZpbmUgbWFya2VycywgeW91IGRvIG5vdCBuZWVkIHRvIGNyZWF0ZSB0aGUgbWFya2VycyB0aGVtc2VsdmVzOyBpbnN0ZWFkLCB5b3UgbmVlZCB0byBwYXNzIGEgYEZlYXR1cmVbXWAuXHJcbiAqIFRoZSBvZmZpY2lhbCBleGFtcGxlIGNyZWF0ZXMgYW4gYXJyYXkgb2YgY29vcmRpbmF0ZXMgYW5kIG1hcHMgaXQgdG8gdGhlIGZlYXR1cmVzIGFycmF5LlxyXG4gKlxyXG4gKiBUaGUgY2x1c3RlcmluZyBtZXRob2QgaXMgYGNsdXN0ZXJCeUdyaWQoeyBncmlkU2l6ZTogNjQgfSlgIGJ5IGRlZmF1bHQsIGJ1dCB5b3UgY2FuIG92ZXJyaWRlIGl0IGFuZCBvdGhlciBvcHRpb25zIGJ5IHBhc3NpbmcgdGhlbSB0byBgcHJvcHNgLlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDx5LW1hcFxyXG4gKiAgIFtwcm9wc109XCJ7XHJcbiAqICAgICBsb2NhdGlvbjoge1xyXG4gKiAgICAgICBjZW50ZXI6IFstMC4xMjc2OTYsIDUxLjUwNzM1MV0sXHJcbiAqICAgICAgIHpvb206IDEwLFxyXG4gKiAgICAgfSxcclxuICogICB9XCJcclxuICogPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LXNjaGVtZS1sYXllciAvPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LWZlYXR1cmVzLWxheWVyIC8+XHJcbiAqXHJcbiAqICAgPCEtLSBEZWZpbmUgeW91ciBjb29yZGluYXRlcyBpbiB0aGUgY29tcG9uZW50IGFuZCBtYXAgdGhlbSB0byBGZWF0dXJlW10gLS0+XHJcbiAqICAgPHktbWFwLWNsdXN0ZXJlclxyXG4gKiAgICAgW3Byb3BzXT1cIntcclxuICogICAgICAgZmVhdHVyZXM6IFtcclxuICogICAgICAgICB7XHJcbiAqICAgICAgICAgICB0eXBlOiAnRmVhdHVyZScsXHJcbiAqICAgICAgICAgICBpZDogJzAnLFxyXG4gKiAgICAgICAgICAgZ2VvbWV0cnk6IHtcclxuICogICAgICAgICAgICAgdHlwZTogJ1BvaW50JyxcclxuICogICAgICAgICAgICAgY29vcmRpbmF0ZXM6IFstMC41OTc2OTYsIDUxLjkwNzM1MV0sXHJcbiAqICAgICAgICAgICB9LFxyXG4gKiAgICAgICAgIH0sXHJcbiAqICAgICAgIF0sXHJcbiAqICAgICB9XCJcclxuICogICA+XHJcbiAqICAgICA8bmctdGVtcGxhdGUgI21hcmtlciBsZXQtY29udGV4dD5cclxuICogICAgICAgPCEtLSBZb3VyIGN1c3RvbSBIVE1MIGZvciBhIHBvaW50L21hcmtlciAtLT5cclxuICogICAgICAgPGltZyBzcmM9XCIuL3Bpbi5zdmdcIiAvPlxyXG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICpcclxuICogICAgIDxuZy10ZW1wbGF0ZSAjY2x1c3RlciBsZXQtY29udGV4dD5cclxuICogICAgICAgPCEtLSBZb3VyIGN1c3RvbSBIVE1MIGZvciBhIGNsdXN0ZXJlciBwb2ludC9tYXJrZXIgLS0+XHJcbiAqICAgICAgIHt7IGNvbnRleHQuZmVhdHVyZXMubGVuZ3RoIH19XHJcbiAqICAgICA8L25nLXRlbXBsYXRlPlxyXG4gKiAgIDwveS1tYXAtY2x1c3RlcmVyPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtY2x1c3RlcmVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcENsdXN0ZXJlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbXBvbmVudCA9IGluamVjdChZTWFwQ29tcG9uZW50KTtcclxuXHJcbiAgQENvbnRlbnRDaGlsZCgnbWFya2VyJykgbWFya2VyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7XHJcbiAgICAkaW1wbGljaXQ6IEZlYXR1cmU7XHJcbiAgfT47XHJcblxyXG4gIEBDb250ZW50Q2hpbGQoJ2NsdXN0ZXInKSBjbHVzdGVyVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjx7XHJcbiAgICAkaW1wbGljaXQ6IHtcclxuICAgICAgY29vcmRpbmF0ZXM6IExuZ0xhdDtcclxuICAgICAgZmVhdHVyZXM6IEZlYXR1cmVbXTtcclxuICAgIH07XHJcbiAgfT47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIGNsdXN0ZXJlcj86IFlNYXBDbHVzdGVyZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlYWQgdGhlIGNvbXBvbmVudCBkZXNjcmlwdGlvbiBhbmQgc2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi9wYWNrYWdlcy9jbHVzdGVyZXIvI1lNYXBDbHVzdGVyZXJQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwcm9wcyE6IE9wdGlvbmFsPFlNYXBDbHVzdGVyZXJQcm9wcywgJ21hcmtlcicgfCAnY2x1c3RlcicgfCAnbWV0aG9kJz47XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBlbnRpdHkgaW5zdGFuY2UgaXMgY3JlYXRlZC4gVGhpcyBldmVudCBydW5zIG91dHNpZGUgYW4gQW5ndWxhciB6b25lLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWFkeTogRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXBDbHVzdGVyZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwQ2x1c3RlcmVyPlxyXG4gID4oKTtcclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29tcG9uZW50Lm1hcCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgobWFwKSA9PlxyXG4gICAgICAgICAgLy8gSXQncyBzYWZlIHRvIGNhbGwgaXQgZWFjaCB0aW1lLCB0aGUgWWFuZGV4Lk1hcHMgQVBJIGhhbmRsZXMgbXVsdGlwbGUgcmVxdWVzdHMgdW5kZXIgdGhlIGhvb2QuXHJcbiAgICAgICAgICBmcm9tKHltYXBzMy5pbXBvcnQoJ0B5YW5kZXgveW1hcHMzLWNsdXN0ZXJlckAwLjAuMScpKS5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKHsgWU1hcENsdXN0ZXJlciwgY2x1c3RlckJ5R3JpZCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgY29uc3QgbWFya2VyID0gKGZlYXR1cmU6IEZlYXR1cmUpID0+IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmdldFRlbXBsYXRlRWxlbWVudCh0aGlzLm1hcmtlclRlbXBsYXRlLCBmZWF0dXJlKTtcclxuXHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IHltYXBzMy5ZTWFwTWFya2VyKFxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29vcmRpbmF0ZXM6IGZlYXR1cmUuZ2VvbWV0cnkuY29vcmRpbmF0ZXMsXHJcbiAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgIGVsZW1lbnQsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH07XHJcblxyXG4gICAgICAgICAgICAgIGNvbnN0IGNsdXN0ZXIgPSAoY29vcmRpbmF0ZXM6IExuZ0xhdCwgZmVhdHVyZXM6IEZlYXR1cmVbXSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZ2V0VGVtcGxhdGVFbGVtZW50KHRoaXMuY2x1c3RlclRlbXBsYXRlLCB7XHJcbiAgICAgICAgICAgICAgICAgIGNvb3JkaW5hdGVzLFxyXG4gICAgICAgICAgICAgICAgICBmZWF0dXJlcyxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgeW1hcHMzLllNYXBNYXJrZXIoXHJcbiAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb29yZGluYXRlcyxcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgZWxlbWVudCxcclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgfTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5jbHVzdGVyZXIgPSBuZXcgWU1hcENsdXN0ZXJlcih7XHJcbiAgICAgICAgICAgICAgICBtYXJrZXIsXHJcbiAgICAgICAgICAgICAgICBjbHVzdGVyLFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBjbHVzdGVyQnlHcmlkKHsgZ3JpZFNpemU6IDY0IH0pLFxyXG4gICAgICAgICAgICAgICAgLi4udGhpcy5wcm9wcyxcclxuICAgICAgICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgICAgICAgbWFwLmFkZENoaWxkKHRoaXMuY2x1c3RlcmVyKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlYWR5LmVtaXQoeyB5bWFwczMsIGVudGl0eTogdGhpcy5jbHVzdGVyZXIgfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY2x1c3RlcmVyKSB7XHJcbiAgICAgICAgdGhpcy5jbHVzdGVyZXIudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUZW1wbGF0ZUVsZW1lbnQoXHJcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCB1bmRlZmluZWQsXHJcbiAgICBjb250ZXh0OiB1bmtub3duLFxyXG4gICk6IEhUTUxFbGVtZW50IHtcclxuICAgIGlmICghdGVtcGxhdGVSZWYpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUZW1wbGF0ZVJlZiBjYW5ub3QgYmUgdW5kZWZpbmVkLiBJdCBtdXN0IGJlIHByb2plY3RlZCB0byB0aGUgY29tcG9uZW50LicpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHZpZXcgPSB0ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoeyAkaW1wbGljaXQ6IGNvbnRleHQgfSk7XHJcblxyXG4gICAgdmlldy5kZXRlY3RDaGFuZ2VzKCk7XHJcblxyXG4gICAgLy8gR2V0IHRoZSBmaXJzdCBub2RlLCB3aGljaCBpcyBpbnNpZGUgPG5nLXRlbXBsYXRlIC8+XHJcbiAgICBjb25zdCBlbGVtZW50ID0gdmlldy5yb290Tm9kZXNbMF07XHJcblxyXG4gICAgaWYgKCFlbGVtZW50KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignVGVtcGxhdGVSZWYgY2Fubm90IGJlIGVtcHR5LiBJdCBtdXN0IGNvbnRhaW4gYSBub2RlLicpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlbGVtZW50O1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapDefaultMarker](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/markers/#class-ymapdefaultmarker) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n * This component is from the `@yandex/ymaps3-markers@0.0.1` package, which is asynchronously loaded when you use this component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *   <y-map-default-features-layer />\n *\n *   <y-map-default-marker\n *     [props]=\"{\n *       coordinates: [-0.127696, 51.507351],\n *       title: 'Hello World!',\n *       subtitle: 'kind and bright',\n *       color: 'blue',\n *     }\"\n *   />\n * </y-map>\n * ```\n */\nexport class YMapDefaultMarkerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$\n            .pipe(filter(Boolean), switchMap((map) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-markers@0.0.1')).pipe(tap(({ YMapDefaultMarker }) => {\n            this.marker = new YMapDefaultMarker(this.props);\n            map.addChild(this.marker);\n            this.ready.emit({ ymaps3, entity: this.marker });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.marker) {\n                this.marker.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapDefaultMarkerDirective, isStandalone: true, selector: \"y-map-default-marker\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultMarkerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-default-marker',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZGVmYXVsdC1tYXJrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24veS1tYXAtZGVmYXVsdC1tYXJrZXIveS1tYXAtZGVmYXVsdC1tYXJrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBVWhEOztXQUVHO1FBQ08sVUFBSyxHQUFpRCxJQUFJLFlBQVksRUFFN0UsQ0FBQztLQWtDTDtJQWhDQyxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQ3BCLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEIsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLDhCQUE4QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3RELEdBQUcsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUNILENBQ0YsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FwRFUsMEJBQTBCO2tHQUExQiwwQkFBMEI7OzJGQUExQiwwQkFBMEI7a0JBSnRDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWE0QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLZixLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWU1hcERlZmF1bHRNYXJrZXIsIFlNYXBEZWZhdWx0TWFya2VyUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcy9wYWNrYWdlcy9tYXJrZXJzJztcclxuaW1wb3J0IHsgZnJvbSwgU3ViamVjdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBZUmVhZHlFdmVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3ktcmVhZHktZXZlbnQnO1xyXG5pbXBvcnQgeyBZTWFwQ29tcG9uZW50IH0gZnJvbSAnLi4veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwRGVmYXVsdE1hcmtlcl0oaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi9wYWNrYWdlcy9tYXJrZXJzLyNjbGFzcy15bWFwZGVmYXVsdG1hcmtlcikgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXHJcbiAqIFRoaXMgY29tcG9uZW50IGlzIGZyb20gdGhlIGBAeWFuZGV4L3ltYXBzMy1tYXJrZXJzQDAuMC4xYCBwYWNrYWdlLCB3aGljaCBpcyBhc3luY2hyb25vdXNseSBsb2FkZWQgd2hlbiB5b3UgdXNlIHRoaXMgY29tcG9uZW50LlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDx5LW1hcFxyXG4gKiAgIFtwcm9wc109XCJ7XHJcbiAqICAgICBsb2NhdGlvbjoge1xyXG4gKiAgICAgICBjZW50ZXI6IFstMC4xMjc2OTYsIDUxLjUwNzM1MV0sXHJcbiAqICAgICAgIHpvb206IDEwLFxyXG4gKiAgICAgfSxcclxuICogICB9XCJcclxuICogPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LXNjaGVtZS1sYXllciAvPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LWZlYXR1cmVzLWxheWVyIC8+XHJcbiAqXHJcbiAqICAgPHktbWFwLWRlZmF1bHQtbWFya2VyXHJcbiAqICAgICBbcHJvcHNdPVwie1xyXG4gKiAgICAgICBjb29yZGluYXRlczogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgdGl0bGU6ICdIZWxsbyBXb3JsZCEnLFxyXG4gKiAgICAgICBzdWJ0aXRsZTogJ2tpbmQgYW5kIGJyaWdodCcsXHJcbiAqICAgICAgIGNvbG9yOiAnYmx1ZScsXHJcbiAqICAgICB9XCJcclxuICogICAvPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtZGVmYXVsdC1tYXJrZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZTWFwRGVmYXVsdE1hcmtlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29tcG9uZW50ID0gaW5qZWN0KFlNYXBDb21wb25lbnQpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBtYXJrZXI/OiBZTWFwRGVmYXVsdE1hcmtlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL2VuL3JlZi9wYWNrYWdlcy9tYXJrZXJzLyNZTWFwRGVmYXVsdE1hcmtlclByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcERlZmF1bHRNYXJrZXJQcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcERlZmF1bHRNYXJrZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwRGVmYXVsdE1hcmtlcj5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29tcG9uZW50Lm1hcCRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgobWFwKSA9PlxyXG4gICAgICAgICAgLy8gSXQncyBzYWZlIHRvIGNhbGwgaXQgZWFjaCB0aW1lLCB0aGUgWWFuZGV4Lk1hcHMgQVBJIGhhbmRsZXMgbXVsdGlwbGUgcmVxdWVzdHMgdW5kZXIgdGhlIGhvb2QuXHJcbiAgICAgICAgICBmcm9tKHltYXBzMy5pbXBvcnQoJ0B5YW5kZXgveW1hcHMzLW1hcmtlcnNAMC4wLjEnKSkucGlwZShcclxuICAgICAgICAgICAgdGFwKCh7IFlNYXBEZWZhdWx0TWFya2VyIH0pID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1hcmtlciA9IG5ldyBZTWFwRGVmYXVsdE1hcmtlcih0aGlzLnByb3BzKTtcclxuICAgICAgICAgICAgICBtYXAuYWRkQ2hpbGQodGhpcy5tYXJrZXIpO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLm1hcmtlciB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5tYXJrZXIpIHtcclxuICAgICAgICB0aGlzLm1hcmtlci51cGRhdGUoY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapFeature](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymapfeature) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *   <y-map-default-features-layer />\n *\n *   <y-map-feature\n *     [props]=\"{\n *       geometry: {\n *         type: 'Polygon',\n *         coordinates: [\n *           [\n *             [-0.557696, 51.727351],\n *             [0.302304, 51.727351],\n *             [0.302304, 51.237351],\n *             [-0.557696, 51.237351],\n *           ],\n *         ],\n *       },\n *       style: {\n *         stroke: [{ color: '#006efc', width: 4, dash: [5, 10] }],\n *         fill: 'rgba(56, 56, 219, 0.5)',\n *       },\n *     }\"\n *   />\n * </y-map>\n * ```\n */\nexport class YMapFeatureDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.feature = new ymaps3.YMapFeature(this.props);\n            map.addChild(this.feature);\n            this.ready.emit({ ymaps3, entity: this.feature });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.feature) {\n                this.feature.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapFeatureDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapFeatureDirective, isStandalone: true, selector: \"y-map-feature\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapFeatureDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-feature',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZmVhdHVyZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC1mZWF0dXJlL3ktbWFwLWZlYXR1cmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVVoRDs7V0FFRztRQUNPLFVBQUssR0FBMkMsSUFBSSxZQUFZLEVBRXZFLENBQUM7S0F1Qkw7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBekNVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBYTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwRmVhdHVyZSwgWU1hcEZlYXR1cmVQcm9wcyB9IGZyb20gJ0B5YW5kZXgveW1hcHMzLXR5cGVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb21wb25lbnQgfSBmcm9tICcuLi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IHdyYXBzIHRoZSBbeW1hcHMzLllNYXBGZWF0dXJlXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvZW4vcmVmLyNjbGFzcy15bWFwZmVhdHVyZSkgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICogICA8eS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllciAvPlxyXG4gKlxyXG4gKiAgIDx5LW1hcC1mZWF0dXJlXHJcbiAqICAgICBbcHJvcHNdPVwie1xyXG4gKiAgICAgICBnZW9tZXRyeToge1xyXG4gKiAgICAgICAgIHR5cGU6ICdQb2x5Z29uJyxcclxuICogICAgICAgICBjb29yZGluYXRlczogW1xyXG4gKiAgICAgICAgICAgW1xyXG4gKiAgICAgICAgICAgICBbLTAuNTU3Njk2LCA1MS43MjczNTFdLFxyXG4gKiAgICAgICAgICAgICBbMC4zMDIzMDQsIDUxLjcyNzM1MV0sXHJcbiAqICAgICAgICAgICAgIFswLjMwMjMwNCwgNTEuMjM3MzUxXSxcclxuICogICAgICAgICAgICAgWy0wLjU1NzY5NiwgNTEuMjM3MzUxXSxcclxuICogICAgICAgICAgIF0sXHJcbiAqICAgICAgICAgXSxcclxuICogICAgICAgfSxcclxuICogICAgICAgc3R5bGU6IHtcclxuICogICAgICAgICBzdHJva2U6IFt7IGNvbG9yOiAnIzAwNmVmYycsIHdpZHRoOiA0LCBkYXNoOiBbNSwgMTBdIH1dLFxyXG4gKiAgICAgICAgIGZpbGw6ICdyZ2JhKDU2LCA1NiwgMjE5LCAwLjUpJyxcclxuICogICAgICAgfSxcclxuICogICAgIH1cIlxyXG4gKiAgIC8+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC1mZWF0dXJlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcEZlYXR1cmVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbXBvbmVudCA9IGluamVjdChZTWFwQ29tcG9uZW50KTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgZmVhdHVyZT86IFlNYXBGZWF0dXJlO1xyXG5cclxuICAvKipcclxuICAgKiBTZWUgdGhlIEFQSSBlbnRpdHkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uIFN1cHBvcnRzIG5nT25DaGFuZ2VzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvZW4vcmVmLyNZTWFwRmVhdHVyZVByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcEZlYXR1cmVQcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcEZlYXR1cmU+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwRmVhdHVyZT5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29tcG9uZW50Lm1hcCQucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtYXApID0+IHtcclxuICAgICAgdGhpcy5mZWF0dXJlID0gbmV3IHltYXBzMy5ZTWFwRmVhdHVyZSh0aGlzLnByb3BzKTtcclxuICAgICAgbWFwLmFkZENoaWxkKHRoaXMuZmVhdHVyZSk7XHJcbiAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmZlYXR1cmUgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5mZWF0dXJlKSB7XHJcbiAgICAgICAgdGhpcy5mZWF0dXJlLnVwZGF0ZShjaGFuZ2VzWydwcm9wcyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapFeatureDataSource](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapfeaturedatasource) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-feature-data-source [props]=\"{ id: 'clusterer-source' }\" />\n * </y-map>\n * ```\n */\nexport class YMapFeatureDataSourceDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.source = new ymaps3.YMapFeatureDataSource(this.props);\n            map.addChild(this.source);\n            this.ready.emit({ ymaps3, entity: this.source });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.source) {\n                this.source.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapFeatureDataSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapFeatureDataSourceDirective, isStandalone: true, selector: \"y-map-feature-data-source\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapFeatureDataSourceDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-feature-data-source',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZmVhdHVyZS1kYXRhLXNvdXJjZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC1mZWF0dXJlLWRhdGEtc291cmNlL3ktbWFwLWZlYXR1cmUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUtILE1BQU0sT0FBTyw4QkFBOEI7SUFKM0M7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVVoRDs7V0FFRztRQUNPLFVBQUssR0FBcUQsSUFBSSxZQUFZLEVBRWpGLENBQUM7S0F1Qkw7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzNELEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F6Q1UsOEJBQThCO2tHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBSjFDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWE0QixLQUFLO3NCQUEvQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFLZixLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWU1hcEZlYXR1cmVEYXRhU291cmNlLCBZTWFwRmVhdHVyZURhdGFTb3VyY2VQcm9wcyB9IGZyb20gJ0B5YW5kZXgveW1hcHMzLXR5cGVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb21wb25lbnQgfSBmcm9tICcuLi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IHdyYXBzIHRoZSBbeW1hcHMzLllNYXBGZWF0dXJlRGF0YVNvdXJjZV0oaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jY2xhc3MteW1hcGZlYXR1cmVkYXRhc291cmNlKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiA5LFxyXG4gKiAgICAgfSxcclxuICogICB9XCJcclxuICogPlxyXG4gKiAgIDx5LW1hcC1mZWF0dXJlLWRhdGEtc291cmNlIFtwcm9wc109XCJ7IGlkOiAnY2x1c3RlcmVyLXNvdXJjZScgfVwiIC8+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC1mZWF0dXJlLWRhdGEtc291cmNlJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcEZlYXR1cmVEYXRhU291cmNlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHlNYXBDb21wb25lbnQgPSBpbmplY3QoWU1hcENvbXBvbmVudCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIHNvdXJjZT86IFlNYXBGZWF0dXJlRGF0YVNvdXJjZTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jWU1hcEZlYXR1cmVEYXRhU291cmNlUHJvcHN9XHJcbiAgICovXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHJvcHMhOiBZTWFwRmVhdHVyZURhdGFTb3VyY2VQcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcEZlYXR1cmVEYXRhU291cmNlPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgWVJlYWR5RXZlbnQ8WU1hcEZlYXR1cmVEYXRhU291cmNlPlxyXG4gID4oKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb21wb25lbnQubWFwJC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKG1hcCkgPT4ge1xyXG4gICAgICB0aGlzLnNvdXJjZSA9IG5ldyB5bWFwczMuWU1hcEZlYXR1cmVEYXRhU291cmNlKHRoaXMucHJvcHMpO1xyXG4gICAgICBtYXAuYWRkQ2hpbGQodGhpcy5zb3VyY2UpO1xyXG4gICAgICB0aGlzLnJlYWR5LmVtaXQoeyB5bWFwczMsIGVudGl0eTogdGhpcy5zb3VyY2UgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5zb3VyY2UpIHtcclxuICAgICAgICB0aGlzLnNvdXJjZS51cGRhdGUoY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { ContentChild, Directive, EventEmitter, inject, Input, NgZone, Output, TemplateRef, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapHint](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/hint/#class-ymaphint) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n * This component is from the `@yandex/ymaps3-hint@0.0.1` package, which is asynchronously loaded when you use this component.\n *\n * The API of this component is complicated, but it's very close to what the official React wrapper suggests.\n * We strongly recommend reading and understanding the [official React example](https://yandex.ru/dev/jsapi30/doc/ru/examples/cases/hints) for this component.\n *\n * In a nutshell, each entity (YMapFeature, YMapMarker, YMapHotspot) has a `properties` property, which is `Record<string, unknown>`.\n * When you define these components, you can pass any metadata to this property, which you can later access using `YMapHintProps['hint']`.\n * When you pass a callback to `YMapHintProps['hint']`, you can read the `properties` property and return the hint based on the metadata.\n * What you return from `YMapHintProps['hint']` will be available in `<ng-template />` (it's set via $implicit, so you can use any name for let-*).\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *   <y-map-default-features-layer />\n *\n *   <!-- onHint = (object?: YMapFeature | YMapMarker | YMapHotspot) => object?.properties?.['anyNameKey']; -->\n *   <!-- It accepts an entity on which a user hovered and returns a context, which is set to $implicit in ng-template. -->\n *   <!-- Your function can return anything since we have access to the returned value. -->\n *   <y-map-hint [props]=\"{ hint: onHint }\">\n *     <ng-template let-context>\n *       <div\n *         style=\"\n *           background-color: #fff;\n *           border-radius: 6px;\n *           padding: 3px 6px 4px;\n *           margin-left: 15px;\n *         \"\n *       >\n *         <!-- context.hint is the return value of onHint -->\n *         {{ context?.hint }}\n *       </div>\n *     </ng-template>\n *   </y-map-hint>\n *\n *   <y-map-default-marker\n *     [props]=\"{\n *       coordinates: [-0.127696, 51.507351],\n *       properties: {\n *         anyNameKey: 'Central London',\n *       },\n *     }\"\n *   />\n * </y-map>\n * ```\n */\nexport class YMapHintDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngAfterContentInit() {\n        this.yMapComponent.map$\n            .pipe(filter(Boolean), switchMap((map) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-hint@0.0.1')).pipe(tap(({ YMapHint, YMapHintContext }) => {\n            if (!this.template) {\n                throw new Error('TemplateRef cannot be undefined. It must be projected to the component.');\n            }\n            this.hint = new YMapHint(this.props);\n            this.hint.addChild(this.createHintContainer(this.template, YMapHintContext));\n            map.addChild(this.hint);\n            this.ready.emit({ ymaps3, entity: this.hint });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.hint) {\n                this.hint.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    /**\n     * To render a hint, a container is required.\n     * This method isolates all the container creation logic and returns the entity.\n     */\n    createHintContainer(templateRef, _YMapHintContext) {\n        // The main logic is taken from the official documentation.\n        // See https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/hint/#class-ymaphint\n        class HintContainer extends ymaps3.YMapGroupEntity {\n            _onAttach() {\n                // Create a view with an empty context to get a basic HTML layout.\n                const view = templateRef.createEmbeddedView({ $implicit: null });\n                view.detectChanges();\n                // Get the first node, which is inside <ng-template />\n                this._element = view.rootNodes[0];\n                if (!this._element) {\n                    throw new Error('TemplateRef cannot be empty. It must contain a node.');\n                }\n                this._detachDom = ymaps3.useDomContext(this, this._element, null);\n                this._watchContext(_YMapHintContext, () => {\n                    // Provide the hint context to the <ng-template /> component.\n                    // This context can be either null, or { hint: any }.\n                    // The value inside the context depends on YMapHintProps['hint'] value.\n                    view.context.$implicit = this._consumeContext(_YMapHintContext);\n                    view.detectChanges();\n                }, { immediate: true });\n            }\n            _onDetach() {\n                if (this._detachDom) {\n                    this._detachDom();\n                }\n                this._detachDom = undefined;\n            }\n        }\n        return new HintContainer({});\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapHintDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapHintDirective, isStandalone: true, selector: \"y-map-hint\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, queries: [{ propertyName: \"template\", first: true, predicate: TemplateRef, descendants: true }], usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapHintDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-hint',\n                    standalone: true,\n                }]\n        }], propDecorators: { template: [{\n                type: ContentChild,\n                args: [TemplateRef]\n            }], props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtaGludC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC1oaW50L3ktbWFwLWhpbnQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxZQUFZLEVBQ1osU0FBUyxFQUNULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEVBRU4sV0FBVyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzREc7QUFLSCxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBS21CLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFJdEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFVaEQ7O1dBRUc7UUFDTyxVQUFLLEdBQXdDLElBQUksWUFBWSxFQUF5QixDQUFDO0tBK0ZsRztJQTdGQyxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJO2FBQ3BCLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEIsZ0dBQWdHO1FBQ2hHLElBQUksQ0FB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LENBQUM7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDOUIsQ0FBQztTQUNGO1FBRUQsT0FBTyxJQUFJLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDOzhHQWpIVSxpQkFBaUI7a0dBQWpCLGlCQUFpQixxS0FJZCxXQUFXOzsyRkFKZCxpQkFBaUI7a0JBSjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFLNEIsUUFBUTtzQkFBbEMsWUFBWTt1QkFBQyxXQUFXO2dCQVVFLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb250ZW50Q2hpbGQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERvbURldGFjaCB9IGZyb20gJ0B5YW5kZXgveW1hcHMzLXR5cGVzL2ltcGVyYXRpdmUvRG9tQ29udGV4dCc7XHJcbmltcG9ydCB7IFlNYXBIaW50LCBZTWFwSGludENvbnRleHQgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcy9wYWNrYWdlcy9oaW50JztcclxuaW1wb3J0IHsgZnJvbSwgU3ViamVjdCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBZTWFwSGludFByb3BzIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1tYXAtaGludC1wcm9wcyc7XHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb21wb25lbnQgfSBmcm9tICcuLi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IHdyYXBzIHRoZSBbeW1hcHMzLllNYXBIaW50XShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2hpbnQvI2NsYXNzLXltYXBoaW50KSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICogVGhpcyBjb21wb25lbnQgaXMgZnJvbSB0aGUgYEB5YW5kZXgveW1hcHMzLWhpbnRAMC4wLjFgIHBhY2thZ2UsIHdoaWNoIGlzIGFzeW5jaHJvbm91c2x5IGxvYWRlZCB3aGVuIHlvdSB1c2UgdGhpcyBjb21wb25lbnQuXHJcbiAqXHJcbiAqIFRoZSBBUEkgb2YgdGhpcyBjb21wb25lbnQgaXMgY29tcGxpY2F0ZWQsIGJ1dCBpdCdzIHZlcnkgY2xvc2UgdG8gd2hhdCB0aGUgb2ZmaWNpYWwgUmVhY3Qgd3JhcHBlciBzdWdnZXN0cy5cclxuICogV2Ugc3Ryb25nbHkgcmVjb21tZW5kIHJlYWRpbmcgYW5kIHVuZGVyc3RhbmRpbmcgdGhlIFtvZmZpY2lhbCBSZWFjdCBleGFtcGxlXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvZXhhbXBsZXMvY2FzZXMvaGludHMpIGZvciB0aGlzIGNvbXBvbmVudC5cclxuICpcclxuICogSW4gYSBudXRzaGVsbCwgZWFjaCBlbnRpdHkgKFlNYXBGZWF0dXJlLCBZTWFwTWFya2VyLCBZTWFwSG90c3BvdCkgaGFzIGEgYHByb3BlcnRpZXNgIHByb3BlcnR5LCB3aGljaCBpcyBgUmVjb3JkPHN0cmluZywgdW5rbm93bj5gLlxyXG4gKiBXaGVuIHlvdSBkZWZpbmUgdGhlc2UgY29tcG9uZW50cywgeW91IGNhbiBwYXNzIGFueSBtZXRhZGF0YSB0byB0aGlzIHByb3BlcnR5LCB3aGljaCB5b3UgY2FuIGxhdGVyIGFjY2VzcyB1c2luZyBgWU1hcEhpbnRQcm9wc1snaGludCddYC5cclxuICogV2hlbiB5b3UgcGFzcyBhIGNhbGxiYWNrIHRvIGBZTWFwSGludFByb3BzWydoaW50J11gLCB5b3UgY2FuIHJlYWQgdGhlIGBwcm9wZXJ0aWVzYCBwcm9wZXJ0eSBhbmQgcmV0dXJuIHRoZSBoaW50IGJhc2VkIG9uIHRoZSBtZXRhZGF0YS5cclxuICogV2hhdCB5b3UgcmV0dXJuIGZyb20gYFlNYXBIaW50UHJvcHNbJ2hpbnQnXWAgd2lsbCBiZSBhdmFpbGFibGUgaW4gYDxuZy10ZW1wbGF0ZSAvPmAgKGl0J3Mgc2V0IHZpYSAkaW1wbGljaXQsIHNvIHlvdSBjYW4gdXNlIGFueSBuYW1lIGZvciBsZXQtKikuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICogICA8eS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllciAvPlxyXG4gKlxyXG4gKiAgIDwhLS0gb25IaW50ID0gKG9iamVjdD86IFlNYXBGZWF0dXJlIHwgWU1hcE1hcmtlciB8IFlNYXBIb3RzcG90KSA9PiBvYmplY3Q/LnByb3BlcnRpZXM/LlsnYW55TmFtZUtleSddOyAtLT5cclxuICogICA8IS0tIEl0IGFjY2VwdHMgYW4gZW50aXR5IG9uIHdoaWNoIGEgdXNlciBob3ZlcmVkIGFuZCByZXR1cm5zIGEgY29udGV4dCwgd2hpY2ggaXMgc2V0IHRvICRpbXBsaWNpdCBpbiBuZy10ZW1wbGF0ZS4gLS0+XHJcbiAqICAgPCEtLSBZb3VyIGZ1bmN0aW9uIGNhbiByZXR1cm4gYW55dGhpbmcgc2luY2Ugd2UgaGF2ZSBhY2Nlc3MgdG8gdGhlIHJldHVybmVkIHZhbHVlLiAtLT5cclxuICogICA8eS1tYXAtaGludCBbcHJvcHNdPVwieyBoaW50OiBvbkhpbnQgfVwiPlxyXG4gKiAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxyXG4gKiAgICAgICA8ZGl2XHJcbiAqICAgICAgICAgc3R5bGU9XCJcclxuICogICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAqICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAqICAgICAgICAgICBwYWRkaW5nOiAzcHggNnB4IDRweDtcclxuICogICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gKiAgICAgICAgIFwiXHJcbiAqICAgICAgID5cclxuICogICAgICAgICA8IS0tIGNvbnRleHQuaGludCBpcyB0aGUgcmV0dXJuIHZhbHVlIG9mIG9uSGludCAtLT5cclxuICogICAgICAgICB7eyBjb250ZXh0Py5oaW50IH19XHJcbiAqICAgICAgIDwvZGl2PlxyXG4gKiAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICogICA8L3ktbWFwLWhpbnQ+XHJcbiAqXHJcbiAqICAgPHktbWFwLWRlZmF1bHQtbWFya2VyXHJcbiAqICAgICBbcHJvcHNdPVwie1xyXG4gKiAgICAgICBjb29yZGluYXRlczogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgcHJvcGVydGllczoge1xyXG4gKiAgICAgICAgIGFueU5hbWVLZXk6ICdDZW50cmFsIExvbmRvbicsXHJcbiAqICAgICAgIH0sXHJcbiAqICAgICB9XCJcclxuICogICAvPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtaGludCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFlNYXBIaW50RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29tcG9uZW50ID0gaW5qZWN0KFlNYXBDb21wb25lbnQpO1xyXG5cclxuICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSB0ZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIGhpbnQ/OiBZTWFwSGludDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi9wYWNrYWdlcy9oaW50LyNZTWFwSGludFByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcEhpbnRQcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcEhpbnQ+PiA9IG5ldyBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcEhpbnQ+PigpO1xyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb21wb25lbnQubWFwJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXHJcbiAgICAgICAgc3dpdGNoTWFwKChtYXApID0+XHJcbiAgICAgICAgICAvLyBJdCdzIHNhZmUgdG8gY2FsbCBpdCBlYWNoIHRpbWUsIHRoZSBZYW5kZXguTWFwcyBBUEkgaGFuZGxlcyBtdWx0aXBsZSByZXF1ZXN0cyB1bmRlciB0aGUgaG9vZC5cclxuICAgICAgICAgIGZyb20oeW1hcHMzLmltcG9ydCgnQHlhbmRleC95bWFwczMtaGludEAwLjAuMScpKS5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKHsgWU1hcEhpbnQsIFlNYXBIaW50Q29udGV4dCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLnRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICAgICAgICdUZW1wbGF0ZVJlZiBjYW5ub3QgYmUgdW5kZWZpbmVkLiBJdCBtdXN0IGJlIHByb2plY3RlZCB0byB0aGUgY29tcG9uZW50LicsXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5oaW50ID0gbmV3IFlNYXBIaW50KHRoaXMucHJvcHMpO1xyXG4gICAgICAgICAgICAgIHRoaXMuaGludC5hZGRDaGlsZCh0aGlzLmNyZWF0ZUhpbnRDb250YWluZXIodGhpcy50ZW1wbGF0ZSwgWU1hcEhpbnRDb250ZXh0KSk7XHJcbiAgICAgICAgICAgICAgbWFwLmFkZENoaWxkKHRoaXMuaGludCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IHRoaXMuaGludCB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5oaW50KSB7XHJcbiAgICAgICAgdGhpcy5oaW50LnVwZGF0ZShjaGFuZ2VzWydwcm9wcyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIHJlbmRlciBhIGhpbnQsIGEgY29udGFpbmVyIGlzIHJlcXVpcmVkLlxyXG4gICAqIFRoaXMgbWV0aG9kIGlzb2xhdGVzIGFsbCB0aGUgY29udGFpbmVyIGNyZWF0aW9uIGxvZ2ljIGFuZCByZXR1cm5zIHRoZSBlbnRpdHkuXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBjcmVhdGVIaW50Q29udGFpbmVyKFxyXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXHJcbiAgICBfWU1hcEhpbnRDb250ZXh0OiB0eXBlb2YgWU1hcEhpbnRDb250ZXh0LFxyXG4gICkge1xyXG4gICAgLy8gVGhlIG1haW4gbG9naWMgaXMgdGFrZW4gZnJvbSB0aGUgb2ZmaWNpYWwgZG9jdW1lbnRhdGlvbi5cclxuICAgIC8vIFNlZSBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2hpbnQvI2NsYXNzLXltYXBoaW50XHJcbiAgICBjbGFzcyBIaW50Q29udGFpbmVyIGV4dGVuZHMgeW1hcHMzLllNYXBHcm91cEVudGl0eTxhbnk+IHtcclxuICAgICAgX2VsZW1lbnQ/OiBFbGVtZW50O1xyXG4gICAgICBfZGV0YWNoRG9tPzogRG9tRGV0YWNoO1xyXG5cclxuICAgICAgb3ZlcnJpZGUgX29uQXR0YWNoKCkge1xyXG4gICAgICAgIC8vIENyZWF0ZSBhIHZpZXcgd2l0aCBhbiBlbXB0eSBjb250ZXh0IHRvIGdldCBhIGJhc2ljIEhUTUwgbGF5b3V0LlxyXG4gICAgICAgIGNvbnN0IHZpZXcgPSB0ZW1wbGF0ZVJlZi5jcmVhdGVFbWJlZGRlZFZpZXcoeyAkaW1wbGljaXQ6IG51bGwgfSk7XHJcblxyXG4gICAgICAgIHZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cclxuICAgICAgICAvLyBHZXQgdGhlIGZpcnN0IG5vZGUsIHdoaWNoIGlzIGluc2lkZSA8bmctdGVtcGxhdGUgLz5cclxuICAgICAgICB0aGlzLl9lbGVtZW50ID0gdmlldy5yb290Tm9kZXNbMF07XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fZWxlbWVudCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUZW1wbGF0ZVJlZiBjYW5ub3QgYmUgZW1wdHkuIEl0IG11c3QgY29udGFpbiBhIG5vZGUuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9kZXRhY2hEb20gPSB5bWFwczMudXNlRG9tQ29udGV4dCh0aGlzLCB0aGlzLl9lbGVtZW50LCBudWxsKTtcclxuXHJcbiAgICAgICAgdGhpcy5fd2F0Y2hDb250ZXh0KFxyXG4gICAgICAgICAgX1lNYXBIaW50Q29udGV4dCxcclxuICAgICAgICAgICgpID0+IHtcclxuICAgICAgICAgICAgLy8gUHJvdmlkZSB0aGUgaGludCBjb250ZXh0IHRvIHRoZSA8bmctdGVtcGxhdGUgLz4gY29tcG9uZW50LlxyXG4gICAgICAgICAgICAvLyBUaGlzIGNvbnRleHQgY2FuIGJlIGVpdGhlciBudWxsLCBvciB7IGhpbnQ6IGFueSB9LlxyXG4gICAgICAgICAgICAvLyBUaGUgdmFsdWUgaW5zaWRlIHRoZSBjb250ZXh0IGRlcGVuZHMgb24gWU1hcEhpbnRQcm9wc1snaGludCddIHZhbHVlLlxyXG4gICAgICAgICAgICB2aWV3LmNvbnRleHQuJGltcGxpY2l0ID0gdGhpcy5fY29uc3VtZUNvbnRleHQoX1lNYXBIaW50Q29udGV4dCk7XHJcbiAgICAgICAgICAgIHZpZXcuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHsgaW1tZWRpYXRlOiB0cnVlIH0sXHJcbiAgICAgICAgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgb3ZlcnJpZGUgX29uRGV0YWNoKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9kZXRhY2hEb20pIHtcclxuICAgICAgICAgIHRoaXMuX2RldGFjaERvbSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5fZGV0YWNoRG9tID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG5ldyBIaW50Q29udGFpbmVyKHt9KTtcclxuICB9XHJcbn1cclxuIl19","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapListener](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymaplistener) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-listener\n *     [props]=\"{\n *       onClick: onClick,\n *     }\"\n *   />\n * </y-map>\n * ```\n */\nexport class YMapListenerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.listener = new ymaps3.YMapListener(this.props);\n            map.addChild(this.listener);\n            this.ready.emit({ ymaps3, entity: this.listener });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.listener) {\n                this.listener.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapListenerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapListenerDirective, isStandalone: true, selector: \"y-map-listener\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapListenerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-listener',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtbGlzdGVuZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9jb21tb24veS1tYXAtbGlzdGVuZXIveS1tYXAtbGlzdGVuZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUtILE1BQU0sT0FBTyxxQkFBcUI7SUFKbEM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVVoRDs7V0FFRztRQUNPLFVBQUssR0FBNEMsSUFBSSxZQUFZLEVBRXhFLENBQUM7S0F1Qkw7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3RELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBekNVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFhNEIsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2YsS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFlNYXBMaXN0ZW5lciwgWU1hcExpc3RlbmVyUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBZUmVhZHlFdmVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3ktcmVhZHktZXZlbnQnO1xyXG5pbXBvcnQgeyBZTWFwQ29tcG9uZW50IH0gZnJvbSAnLi4veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwTGlzdGVuZXJdKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9lbi9yZWYvI2NsYXNzLXltYXBsaXN0ZW5lcikgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICpcclxuICogICA8eS1tYXAtbGlzdGVuZXJcclxuICogICAgIFtwcm9wc109XCJ7XHJcbiAqICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2ssXHJcbiAqICAgICB9XCJcclxuICogICAvPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtbGlzdGVuZXInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZTWFwTGlzdGVuZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbXBvbmVudCA9IGluamVjdChZTWFwQ29tcG9uZW50KTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuZXI/OiBZTWFwTGlzdGVuZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9lbi9yZWYvI1lNYXBMaXN0ZW5lclByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcExpc3RlbmVyUHJvcHM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBlbnRpdHkgaW5zdGFuY2UgaXMgY3JlYXRlZC4gVGhpcyBldmVudCBydW5zIG91dHNpZGUgYW4gQW5ndWxhciB6b25lLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWFkeTogRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXBMaXN0ZW5lcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIFlSZWFkeUV2ZW50PFlNYXBMaXN0ZW5lcj5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29tcG9uZW50Lm1hcCQucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtYXApID0+IHtcclxuICAgICAgdGhpcy5saXN0ZW5lciA9IG5ldyB5bWFwczMuWU1hcExpc3RlbmVyKHRoaXMucHJvcHMpO1xyXG4gICAgICBtYXAuYWRkQ2hpbGQodGhpcy5saXN0ZW5lcik7XHJcbiAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmxpc3RlbmVyIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubGlzdGVuZXIpIHtcclxuICAgICAgICB0aGlzLmxpc3RlbmVyLnVwZGF0ZShjaGFuZ2VzWydwcm9wcyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19","import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapMarker](https://yandex.ru/dev/jsapi30/doc/en/ref/#class-ymapmarker) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. `YMapMarker['element']` can only be projected, see the example below.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *   <y-map-default-features-layer />\n *\n *   <y-map-marker\n *     [props]=\"{\n *       coordinates: [-0.127696, 51.507351],\n *       draggable: true,\n *     }\"\n *   >\n *     <img\n *       width=\"64\"\n *       height=\"64\"\n *       style=\"border-radius: 50%\"\n *       src=\"https://cdn.openart.ai/published/nI5hC8sFzqKnKbJtW1hA/ExVfxYNJ_E0Yh_256.webp\"\n *       alt=\"Bulldog\"\n *     />\n *   </y-map-marker>\n * </y-map>\n * ```\n */\nexport class YMapMarkerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.elementRef = inject(ElementRef);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.marker) {\n                this.marker.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngAfterViewInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            // ContentChild cannot be used without a selector.\n            // We do not have any selectors, and we do not want to force users to use them.\n            // All we need is an alternative to React children, just to get everything projected to the component.\n            // Using an element reference is probably the easiest solution for this.\n            if (!this.element) {\n                // It must be saved because the Yandex.Maps API deletes the element from the DOM.\n                // Therefore, after a configuration change, we pass null, since it's deleted.\n                this.element = this.elementRef.nativeElement.firstChild;\n            }\n            this.marker = new ymaps3.YMapMarker(this.props, this.element);\n            map.addChild(this.marker);\n            this.ready.emit({ ymaps3, entity: this.marker });\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapMarkerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapMarkerDirective, isStandalone: true, selector: \"y-map-marker\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapMarkerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-marker',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtbWFya2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLW1hcmtlci95LW1hcC1tYXJrZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFHTixNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFFekQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBS0gsTUFBTSxPQUFPLG1CQUFtQjtJQUpoQztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLGVBQVUsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO1FBQ3pELGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRDLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBWWhEOztXQUVHO1FBQ08sVUFBSyxHQUEwQyxJQUFJLFlBQVksRUFFdEUsQ0FBQztLQWlDTDtJQS9CQyxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDcEQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4RixrREFBa0Q7WUFDbEQsK0VBQStFO1lBQy9FLHNHQUFzRztZQUN0Ryx3RUFBd0U7WUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsaUZBQWlGO2dCQUNqRiw2RUFBNkU7Z0JBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBeUIsQ0FBQztZQUN6RSxDQUFDO1lBRUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUQsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ25ELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0F0RFUsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFnQjRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBEaXJlY3RpdmUsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwTWFya2VyLCBZTWFwTWFya2VyUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBZUmVhZHlFdmVudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3ktcmVhZHktZXZlbnQnO1xyXG5pbXBvcnQgeyBZTWFwQ29tcG9uZW50IH0gZnJvbSAnLi4veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwTWFya2VyXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvZW4vcmVmLyNjbGFzcy15bWFwbWFya2VyKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gYFlNYXBNYXJrZXJbJ2VsZW1lbnQnXWAgY2FuIG9ubHkgYmUgcHJvamVjdGVkLCBzZWUgdGhlIGV4YW1wbGUgYmVsb3cuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICogICA8eS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllciAvPlxyXG4gKlxyXG4gKiAgIDx5LW1hcC1tYXJrZXJcclxuICogICAgIFtwcm9wc109XCJ7XHJcbiAqICAgICAgIGNvb3JkaW5hdGVzOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICBkcmFnZ2FibGU6IHRydWUsXHJcbiAqICAgICB9XCJcclxuICogICA+XHJcbiAqICAgICA8aW1nXHJcbiAqICAgICAgIHdpZHRoPVwiNjRcIlxyXG4gKiAgICAgICBoZWlnaHQ9XCI2NFwiXHJcbiAqICAgICAgIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlXCJcclxuICogICAgICAgc3JjPVwiaHR0cHM6Ly9jZG4ub3BlbmFydC5haS9wdWJsaXNoZWQvbkk1aEM4c0Z6cUtuS2JKdFcxaEEvRXhWZnhZTkpfRTBZaF8yNTYud2VicFwiXHJcbiAqICAgICAgIGFsdD1cIkJ1bGxkb2dcIlxyXG4gKiAgICAgLz5cclxuICogICA8L3ktbWFwLW1hcmtlcj5cclxuICogPC95LW1hcD5cclxuICogYGBgXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ3ktbWFwLW1hcmtlcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFlNYXBNYXJrZXJEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbXBvbmVudCA9IGluamVjdChZTWFwQ29tcG9uZW50KTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgbWFya2VyPzogWU1hcE1hcmtlcjtcclxuXHJcbiAgcHJpdmF0ZSBlbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI1lNYXBNYXJrZXJQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwcm9wcyE6IFlNYXBNYXJrZXJQcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcE1hcmtlcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIFlSZWFkeUV2ZW50PFlNYXBNYXJrZXI+XHJcbiAgPigpO1xyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMubWFya2VyKSB7XHJcbiAgICAgICAgdGhpcy5tYXJrZXIudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb21wb25lbnQubWFwJC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKG1hcCkgPT4ge1xyXG4gICAgICAvLyBDb250ZW50Q2hpbGQgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHNlbGVjdG9yLlxyXG4gICAgICAvLyBXZSBkbyBub3QgaGF2ZSBhbnkgc2VsZWN0b3JzLCBhbmQgd2UgZG8gbm90IHdhbnQgdG8gZm9yY2UgdXNlcnMgdG8gdXNlIHRoZW0uXHJcbiAgICAgIC8vIEFsbCB3ZSBuZWVkIGlzIGFuIGFsdGVybmF0aXZlIHRvIFJlYWN0IGNoaWxkcmVuLCBqdXN0IHRvIGdldCBldmVyeXRoaW5nIHByb2plY3RlZCB0byB0aGUgY29tcG9uZW50LlxyXG4gICAgICAvLyBVc2luZyBhbiBlbGVtZW50IHJlZmVyZW5jZSBpcyBwcm9iYWJseSB0aGUgZWFzaWVzdCBzb2x1dGlvbiBmb3IgdGhpcy5cclxuICAgICAgaWYgKCF0aGlzLmVsZW1lbnQpIHtcclxuICAgICAgICAvLyBJdCBtdXN0IGJlIHNhdmVkIGJlY2F1c2UgdGhlIFlhbmRleC5NYXBzIEFQSSBkZWxldGVzIHRoZSBlbGVtZW50IGZyb20gdGhlIERPTS5cclxuICAgICAgICAvLyBUaGVyZWZvcmUsIGFmdGVyIGEgY29uZmlndXJhdGlvbiBjaGFuZ2UsIHdlIHBhc3MgbnVsbCwgc2luY2UgaXQncyBkZWxldGVkLlxyXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMubWFya2VyID0gbmV3IHltYXBzMy5ZTWFwTWFya2VyKHRoaXMucHJvcHMsIHRoaXMuZWxlbWVudCk7XHJcbiAgICAgIG1hcC5hZGRDaGlsZCh0aGlzLm1hcmtlcik7XHJcbiAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLm1hcmtlciB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { BehaviorSubject, Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../../common/y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapControls](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrols) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     ...\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapControlsDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        this.controls$ = new BehaviorSubject(null);\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            const controls = new ymaps3.YMapControls(this.props, this.children);\n            map.addChild(controls);\n            this.controls$.next(controls);\n            this.ready.emit({ ymaps3, entity: controls });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.controls$.value) {\n                this.controls$.value.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapControlsDirective, isStandalone: true, selector: \"y-map-controls\", inputs: { props: \"props\", children: \"children\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlsDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-controls',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], children: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtY29udHJvbHMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9scy95LW1hcC1jb250cm9scy95LW1hcC1jb250cm9scy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQkc7QUFLSCxNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS21CLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFaEQsY0FBUyxHQUFHLElBQUksZUFBZSxDQUFzQixJQUFJLENBQUMsQ0FBQztRQWEzRDs7V0FFRztRQUNPLFVBQUssR0FBNEMsSUFBSSxZQUFZLEVBRXhFLENBQUM7S0F5Qkw7SUF2QkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLE1BQU0sUUFBUSxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVwRSxHQUFHLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBaERVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFhNEIsS0FBSztzQkFBL0IsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBS2hCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFlNYXBDb250cm9scywgWU1hcENvbnRyb2xzUHJvcHMsIFlNYXBFbnRpdHkgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwQ29udHJvbHNdKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI2NsYXNzLXltYXBjb250cm9scykgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICpcclxuICogICA8eS1tYXAtY29udHJvbHMgW3Byb3BzXT1cInsgcG9zaXRpb246ICd0b3AnIH1cIj5cclxuICogICAgIC4uLlxyXG4gKiAgIDwveS1tYXAtY29udHJvbHM+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC1jb250cm9scycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFlNYXBDb250cm9sc0RpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29tcG9uZW50ID0gaW5qZWN0KFlNYXBDb21wb25lbnQpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgY29udHJvbHMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxZTWFwQ29udHJvbHMgfCBudWxsPihudWxsKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQ29udHJvbHMgcHJvcGVydGllcy4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI1lNYXBDb250cm9sc1Byb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcENvbnRyb2xzUHJvcHM7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBjaGlsZHJlbj86IFlNYXBFbnRpdHk8dW5rbm93biwgb2JqZWN0PltdO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZW50aXR5IGluc3RhbmNlIGlzIGNyZWF0ZWQuIFRoaXMgZXZlbnQgcnVucyBvdXRzaWRlIGFuIEFuZ3VsYXIgem9uZS5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmVhZHk6IEV2ZW50RW1pdHRlcjxZUmVhZHlFdmVudDxZTWFwQ29udHJvbHM+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwQ29udHJvbHM+XHJcbiAgPigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMueU1hcENvbXBvbmVudC5tYXAkLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgobWFwKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gbmV3IHltYXBzMy5ZTWFwQ29udHJvbHModGhpcy5wcm9wcywgdGhpcy5jaGlsZHJlbik7XHJcblxyXG4gICAgICBtYXAuYWRkQ2hpbGQoY29udHJvbHMpO1xyXG4gICAgICB0aGlzLmNvbnRyb2xzJC5uZXh0KGNvbnRyb2xzKTtcclxuICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IGNvbnRyb2xzIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbHMkLnZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9scyQudmFsdWUudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, ElementRef, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrol) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n * Custom HTML can only be projected, see the example below.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-control>\n *       <p>Custom HTML</p>\n *     </y-map-control>\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapControlDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.elementRef = inject(ElementRef);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapControlProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngAfterViewInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), takeUntil(this.destroy$))\n            .subscribe((controls) => {\n            // ContentChild cannot be used without a selector.\n            // We do not have any selectors, and we do not want to force users to use them.\n            // All we need is an alternative to React children, just to get everything projected to the component.\n            // Using an element reference is probably the easiest solution for this.\n            if (!this.element) {\n                // It must be saved because the Yandex.Maps API deletes the element from the DOM.\n                // Therefore, after a configuration change, we pass null, since it's deleted.\n                this.element = this.elementRef.nativeElement.firstChild;\n            }\n            this.control = new ymaps3.YMapControl(this.props);\n            this.control.addChild(this.createControlContainer(this.element));\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    /**\n     * To render a control, a container is required.\n     * This method isolates all the container creation logic and returns the entity.\n     */\n    createControlContainer(element) {\n        // This logic is taken from the official documentation.\n        // See https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/hint/#class-ymaphint\n        class ControlContainer extends ymaps3.YMapGroupEntity {\n            _onAttach() {\n                this._element = element;\n                this._detachDom = ymaps3.useDomContext(this, this._element, null);\n            }\n            _onDetach() {\n                if (this._detachDom) {\n                    this._detachDom();\n                }\n                this._detachDom = undefined;\n            }\n        }\n        return new ControlContainer({});\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapControlDirective, isStandalone: true, selector: \"y-map-control\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-control',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLWNvbnRyb2wveS1tYXAtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUdOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUd2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBRW5GOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUtILE1BQU0sT0FBTyxvQkFBb0I7SUFKakM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixlQUFVLEdBQUcsTUFBTSxDQUEwQixVQUFVLENBQUMsQ0FBQztRQUN6RCwwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU1oRDs7O1dBR0c7UUFDTSxVQUFLLEdBQXFCLEVBQUUsQ0FBQztRQUV0Qzs7V0FFRztRQUNPLFVBQUssR0FBMkMsSUFBSSxZQUFZLEVBRXZFLENBQUM7S0FnRUw7SUE5REMsZUFBZTtRQUNiLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTO2FBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUMvQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUN0QixrREFBa0Q7WUFDbEQsK0VBQStFO1lBQy9FLHNHQUFzRztZQUN0Ryx3RUFBd0U7WUFDeEUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDbEIsaUZBQWlGO2dCQUNqRiw2RUFBNkU7Z0JBQzdFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsVUFBeUIsQ0FBQztZQUN6RSxDQUFDO1lBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNqRSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSyxzQkFBc0IsQ0FBQyxPQUFvQjtRQUNqRCx1REFBdUQ7UUFDdkQsNkVBQTZFO1FBQzdFLE1BQU0sZ0JBQWlCLFNBQVEsTUFBTSxDQUFDLGVBQW9CO1lBSS9DLFNBQVM7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO2dCQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDcEUsQ0FBQztZQUVRLFNBQVM7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNwQixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ3BCLENBQUM7Z0JBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7WUFDOUIsQ0FBQztTQUNGO1FBRUQsT0FBTyxJQUFJLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7OEdBckZVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBZ0JVLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRG9tRGV0YWNoIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMvaW1wZXJhdGl2ZS9Eb21Db250ZXh0JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2wsIFlNYXBDb250cm9sUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcy9pbXBlcmF0aXZlL1lNYXBDb250cm9sJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb250cm9sc0RpcmVjdGl2ZSB9IGZyb20gJy4uL3ktbWFwLWNvbnRyb2xzL3ktbWFwLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgd3JhcHMgdGhlIFt5bWFwczMuWU1hcENvbnRyb2xdKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI2NsYXNzLXltYXBjb250cm9sKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gVGhpcyBjb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBhIGB5LW1hcC1jb250cm9sc2AgY29tcG9uZW50LlxyXG4gKiBDdXN0b20gSFRNTCBjYW4gb25seSBiZSBwcm9qZWN0ZWQsIHNlZSB0aGUgZXhhbXBsZSBiZWxvdy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiA5LFxyXG4gKiAgICAgfSxcclxuICogICB9XCJcclxuICogPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LXNjaGVtZS1sYXllciAvPlxyXG4gKlxyXG4gKiAgIDx5LW1hcC1jb250cm9scyBbcHJvcHNdPVwieyBwb3NpdGlvbjogJ3RvcCcgfVwiPlxyXG4gKiAgICAgPHktbWFwLWNvbnRyb2w+XHJcbiAqICAgICAgIDxwPkN1c3RvbSBIVE1MPC9wPlxyXG4gKiAgICAgPC95LW1hcC1jb250cm9sPlxyXG4gKiAgIDwveS1tYXAtY29udHJvbHM+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC1jb250cm9sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcENvbnRyb2xEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KEVsZW1lbnRSZWYpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbnRyb2xzRGlyZWN0aXZlID0gaW5qZWN0KFlNYXBDb250cm9sc0RpcmVjdGl2ZSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIGNvbnRyb2w/OiBZTWFwQ29udHJvbDtcclxuXHJcbiAgcHJpdmF0ZSBlbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI1lNYXBDb250cm9sUHJvcHN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJvcHM6IFlNYXBDb250cm9sUHJvcHMgPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcENvbnRyb2w+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwQ29udHJvbD5cclxuICA+KCk7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMueU1hcENvbnRyb2xzRGlyZWN0aXZlLmNvbnRyb2xzJFxyXG4gICAgICAucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgoY29udHJvbHMpID0+IHtcclxuICAgICAgICAvLyBDb250ZW50Q2hpbGQgY2Fubm90IGJlIHVzZWQgd2l0aG91dCBhIHNlbGVjdG9yLlxyXG4gICAgICAgIC8vIFdlIGRvIG5vdCBoYXZlIGFueSBzZWxlY3RvcnMsIGFuZCB3ZSBkbyBub3Qgd2FudCB0byBmb3JjZSB1c2VycyB0byB1c2UgdGhlbS5cclxuICAgICAgICAvLyBBbGwgd2UgbmVlZCBpcyBhbiBhbHRlcm5hdGl2ZSB0byBSZWFjdCBjaGlsZHJlbiwganVzdCB0byBnZXQgZXZlcnl0aGluZyBwcm9qZWN0ZWQgdG8gdGhlIGNvbXBvbmVudC5cclxuICAgICAgICAvLyBVc2luZyBhbiBlbGVtZW50IHJlZmVyZW5jZSBpcyBwcm9iYWJseSB0aGUgZWFzaWVzdCBzb2x1dGlvbiBmb3IgdGhpcy5cclxuICAgICAgICBpZiAoIXRoaXMuZWxlbWVudCkge1xyXG4gICAgICAgICAgLy8gSXQgbXVzdCBiZSBzYXZlZCBiZWNhdXNlIHRoZSBZYW5kZXguTWFwcyBBUEkgZGVsZXRlcyB0aGUgZWxlbWVudCBmcm9tIHRoZSBET00uXHJcbiAgICAgICAgICAvLyBUaGVyZWZvcmUsIGFmdGVyIGEgY29uZmlndXJhdGlvbiBjaGFuZ2UsIHdlIHBhc3MgbnVsbCwgc2luY2UgaXQncyBkZWxldGVkLlxyXG4gICAgICAgICAgdGhpcy5lbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCBhcyBIVE1MRWxlbWVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyB5bWFwczMuWU1hcENvbnRyb2wodGhpcy5wcm9wcyk7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLmFkZENoaWxkKHRoaXMuY3JlYXRlQ29udHJvbENvbnRhaW5lcih0aGlzLmVsZW1lbnQpKTtcclxuICAgICAgICBjb250cm9scy5hZGRDaGlsZCh0aGlzLmNvbnRyb2wpO1xyXG4gICAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmNvbnRyb2wgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gSXQgbXVzdCBiZSBydW4gb3V0c2lkZSBhIHpvbmU7IG90aGVyd2lzZSwgYWxsIGFzeW5jIGV2ZW50cyB3aXRoaW4gdGhpcyBjYWxsIHdpbGwgY2F1c2UgdGlja3MuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gcmVuZGVyIGEgY29udHJvbCwgYSBjb250YWluZXIgaXMgcmVxdWlyZWQuXHJcbiAgICogVGhpcyBtZXRob2QgaXNvbGF0ZXMgYWxsIHRoZSBjb250YWluZXIgY3JlYXRpb24gbG9naWMgYW5kIHJldHVybnMgdGhlIGVudGl0eS5cclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZUNvbnRyb2xDb250YWluZXIoZWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuICAgIC8vIFRoaXMgbG9naWMgaXMgdGFrZW4gZnJvbSB0aGUgb2ZmaWNpYWwgZG9jdW1lbnRhdGlvbi5cclxuICAgIC8vIFNlZSBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2hpbnQvI2NsYXNzLXltYXBoaW50XHJcbiAgICBjbGFzcyBDb250cm9sQ29udGFpbmVyIGV4dGVuZHMgeW1hcHMzLllNYXBHcm91cEVudGl0eTxhbnk+IHtcclxuICAgICAgX2VsZW1lbnQ/OiBFbGVtZW50O1xyXG4gICAgICBfZGV0YWNoRG9tPzogRG9tRGV0YWNoO1xyXG5cclxuICAgICAgb3ZlcnJpZGUgX29uQXR0YWNoKCkge1xyXG4gICAgICAgIHRoaXMuX2VsZW1lbnQgPSBlbGVtZW50O1xyXG4gICAgICAgIHRoaXMuX2RldGFjaERvbSA9IHltYXBzMy51c2VEb21Db250ZXh0KHRoaXMsIHRoaXMuX2VsZW1lbnQsIG51bGwpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBvdmVycmlkZSBfb25EZXRhY2goKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2RldGFjaERvbSkge1xyXG4gICAgICAgICAgdGhpcy5fZGV0YWNoRG9tKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLl9kZXRhY2hEb20gPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV3IENvbnRyb2xDb250YWluZXIoe30pO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapControlButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrolbutton) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-control-button [props]=\"{ text: 'Hello' }\" />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapControlButtonDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), takeUntil(this.destroy$))\n            .subscribe((controls) => {\n            this.control = new ymaps3.YMapControlButton(this.props, this.options);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapControlButtonDirective, isStandalone: true, selector: \"y-map-control-button\", inputs: { props: \"props\", options: \"options\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlButtonDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-control-button',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], options: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtY29udHJvbC1idXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9scy95LW1hcC1jb250cm9sLWJ1dHRvbi95LW1hcC1jb250cm9sLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUp2QztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBZWhEOztXQUVHO1FBQ08sVUFBSyxHQUFpRCxJQUFJLFlBQVksRUFFN0UsQ0FBQztLQXlCTDtJQXZCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7YUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWhEVSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBYTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtoQixPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFlNYXAsIFlNYXBDb250cm9sQnV0dG9uIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMnO1xyXG5pbXBvcnQgeyBZTWFwQ29udHJvbENvbW1vbkJ1dHRvblByb3BzIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMvaW1wZXJhdGl2ZS9ZTWFwQ29udHJvbCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb21wbGV4T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbXBsZXgtb3B0aW9ucyc7XHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb250cm9sc0RpcmVjdGl2ZSB9IGZyb20gJy4uL3ktbWFwLWNvbnRyb2xzL3ktbWFwLWNvbnRyb2xzLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgd3JhcHMgdGhlIFt5bWFwczMuWU1hcENvbnRyb2xCdXR0b25dKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI2NsYXNzLXltYXBjb250cm9sYnV0dG9uKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gVGhpcyBjb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBhIGB5LW1hcC1jb250cm9sc2AgY29tcG9uZW50LlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDx5LW1hcFxyXG4gKiAgIFtwcm9wc109XCJ7XHJcbiAqICAgICBsb2NhdGlvbjoge1xyXG4gKiAgICAgICBjZW50ZXI6IFstMC4xMjc2OTYsIDUxLjUwNzM1MV0sXHJcbiAqICAgICAgIHpvb206IDksXHJcbiAqICAgICB9LFxyXG4gKiAgIH1cIlxyXG4gKiA+XHJcbiAqICAgPHktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyIC8+XHJcbiAqXHJcbiAqICAgPHktbWFwLWNvbnRyb2xzIFtwcm9wc109XCJ7IHBvc2l0aW9uOiAndG9wJyB9XCI+XHJcbiAqICAgICA8eS1tYXAtY29udHJvbC1idXR0b24gW3Byb3BzXT1cInsgdGV4dDogJ0hlbGxvJyB9XCIgLz5cclxuICogICA8L3ktbWFwLWNvbnRyb2xzPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtY29udHJvbC1idXR0b24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZTWFwQ29udHJvbEJ1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29udHJvbHNEaXJlY3RpdmUgPSBpbmplY3QoWU1hcENvbnRyb2xzRGlyZWN0aXZlKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY29udHJvbD86IFlNYXBDb250cm9sQnV0dG9uO1xyXG5cclxuICAvKipcclxuICAgKiBTZWUgdGhlIEFQSSBlbnRpdHkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uIFN1cHBvcnRzIG5nT25DaGFuZ2VzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNZTWFwQ29udHJvbENvbW1vbkJ1dHRvblByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcENvbnRyb2xDb21tb25CdXR0b25Qcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBDb21wbGV4T3B0aW9uczxZTWFwPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcENvbnRyb2xCdXR0b24+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwQ29udHJvbEJ1dHRvbj5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29udHJvbHNEaXJlY3RpdmUuY29udHJvbHMkXHJcbiAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb250cm9scykgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyB5bWFwczMuWU1hcENvbnRyb2xCdXR0b24odGhpcy5wcm9wcywgdGhpcy5vcHRpb25zKTtcclxuICAgICAgICBjb250cm9scy5hZGRDaGlsZCh0aGlzLmNvbnRyb2wpO1xyXG4gICAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmNvbnRyb2wgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gSXQgbXVzdCBiZSBydW4gb3V0c2lkZSBhIHpvbmU7IG90aGVyd2lzZSwgYWxsIGFzeW5jIGV2ZW50cyB3aXRoaW4gdGhpcyBjYWxsIHdpbGwgY2F1c2UgdGlja3MuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapControlCommonButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapcontrolcommonbutton) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-control-common-button [props]=\"{ text: 'Hello' }\" />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapControlCommonButtonDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), takeUntil(this.destroy$))\n            .subscribe((controls) => {\n            this.control = new ymaps3.YMapControlCommonButton(this.props, this.options);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlCommonButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapControlCommonButtonDirective, isStandalone: true, selector: \"y-map-control-common-button\", inputs: { props: \"props\", options: \"options\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapControlCommonButtonDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-control-common-button',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], options: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtY29udHJvbC1jb21tb24tYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvbGliL2NvbXBvbmVudHMvY29udHJvbHMveS1tYXAtY29udHJvbC1jb21tb24tYnV0dG9uL3ktbWFwLWNvbnRyb2wtY29tbW9uLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUl4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBS0gsTUFBTSxPQUFPLGdDQUFnQztJQUo3QztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBZWhEOztXQUVHO1FBQ08sVUFBSyxHQUF1RCxJQUFJLFlBQVksRUFFbkYsQ0FBQztLQXlCTDtJQXZCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7YUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUUsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQWhEVSxnQ0FBZ0M7a0dBQWhDLGdDQUFnQzs7MkZBQWhDLGdDQUFnQztrQkFKNUMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBYTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtoQixPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksS0FBSztzQkFBZCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGluamVjdCxcclxuICBJbnB1dCxcclxuICBOZ1pvbmUsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFlNYXAgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7XHJcbiAgWU1hcENvbnRyb2xDb21tb25CdXR0b24sXHJcbiAgWU1hcENvbnRyb2xDb21tb25CdXR0b25Qcm9wcyxcclxufSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcy9pbXBlcmF0aXZlL1lNYXBDb250cm9sJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbXBsZXhPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tcGxleC1vcHRpb25zJztcclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2xzRGlyZWN0aXZlIH0gZnJvbSAnLi4veS1tYXAtY29udHJvbHMveS1tYXAtY29udHJvbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwQ29udHJvbENvbW1vbkJ1dHRvbl0oaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jY2xhc3MteW1hcGNvbnRyb2xjb21tb25idXR0b24pIGNsYXNzIGZyb20gdGhlIFlhbmRleC5NYXBzIEFQSS5cclxuICogQWxsIGNvbXBvbmVudCBpbnB1dHMgYXJlIG5hbWVkIHRoZSBzYW1lIGFzIHRoZSBBUEkgY2xhc3MgY29uc3RydWN0b3IgYXJndW1lbnRzLiBUaGlzIGNvbXBvbmVudCBtdXN0IGJlIHVzZWQgaW5zaWRlIGEgYHktbWFwLWNvbnRyb2xzYCBjb21wb25lbnQuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICpcclxuICogICA8eS1tYXAtY29udHJvbHMgW3Byb3BzXT1cInsgcG9zaXRpb246ICd0b3AnIH1cIj5cclxuICogICAgIDx5LW1hcC1jb250cm9sLWNvbW1vbi1idXR0b24gW3Byb3BzXT1cInsgdGV4dDogJ0hlbGxvJyB9XCIgLz5cclxuICogICA8L3ktbWFwLWNvbnRyb2xzPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtY29udHJvbC1jb21tb24tYnV0dG9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcENvbnRyb2xDb21tb25CdXR0b25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHJlYWRvbmx5IG5nWm9uZSA9IGluamVjdChOZ1pvbmUpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgeU1hcENvbnRyb2xzRGlyZWN0aXZlID0gaW5qZWN0KFlNYXBDb250cm9sc0RpcmVjdGl2ZSk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIGNvbnRyb2w/OiBZTWFwQ29udHJvbENvbW1vbkJ1dHRvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogQnV0dG9uIHByb3BlcnRpZXMuIFN1cHBvcnRzIG5nT25DaGFuZ2VzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNZTWFwQ29udHJvbENvbW1vbkJ1dHRvblByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHByb3BzITogWU1hcENvbnRyb2xDb21tb25CdXR0b25Qcm9wcztcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBDb21wbGV4T3B0aW9uczxZTWFwPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcENvbnRyb2xDb21tb25CdXR0b24+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwQ29udHJvbENvbW1vbkJ1dHRvbj5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29udHJvbHNEaXJlY3RpdmUuY29udHJvbHMkXHJcbiAgICAgIC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChjb250cm9scykgPT4ge1xyXG4gICAgICAgIHRoaXMuY29udHJvbCA9IG5ldyB5bWFwczMuWU1hcENvbnRyb2xDb21tb25CdXR0b24odGhpcy5wcm9wcywgdGhpcy5vcHRpb25zKTtcclxuICAgICAgICBjb250cm9scy5hZGRDaGlsZCh0aGlzLmNvbnRyb2wpO1xyXG4gICAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmNvbnRyb2wgfSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gSXQgbXVzdCBiZSBydW4gb3V0c2lkZSBhIHpvbmU7IG90aGVyd2lzZSwgYWxsIGFzeW5jIGV2ZW50cyB3aXRoaW4gdGhpcyBjYWxsIHdpbGwgY2F1c2UgdGlja3MuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapGeolocationControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#class-ymapgeolocationcontrol) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n * This component is from the `@yandex/ymaps3-controls@0.0.1` package, which is asynchronously loaded when you use this component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-geolocation-control />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapGeolocationControlDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#YMapGeolocationControlProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), switchMap((controls) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-controls@0.0.1')).pipe(tap(({ YMapGeolocationControl }) => {\n            this.control = new YMapGeolocationControl(this.props);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapGeolocationControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapGeolocationControlDirective, isStandalone: true, selector: \"y-map-geolocation-control\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapGeolocationControlDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-geolocation-control',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZ2VvbG9jYXRpb24tY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLWdlb2xvY2F0aW9uLWNvbnRyb2wveS1tYXAtZ2VvbG9jYXRpb24tY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloRDs7O1dBR0c7UUFDTSxVQUFLLEdBQWdDLEVBQUUsQ0FBQztRQUVqRDs7V0FFRztRQUNPLFVBQUssR0FBc0QsSUFBSSxZQUFZLEVBRWxGLENBQUM7S0FrQ0w7SUFoQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTO2FBQ2pDLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDckIsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxDQUFDLEVBQUUsc0JBQXNCLEVBQUUsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNILENBQ0YsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FwRFUsK0JBQStCO2tHQUEvQiwrQkFBK0I7OzJGQUEvQiwrQkFBK0I7a0JBSjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtvQkFDckMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFVLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBZTWFwR2VvbG9jYXRpb25Db250cm9sLFxyXG4gIFlNYXBHZW9sb2NhdGlvbkNvbnRyb2xQcm9wcyxcclxufSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcy9wYWNrYWdlcy9jb250cm9scyc7XHJcbmltcG9ydCB7IGZyb20sIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2xzRGlyZWN0aXZlIH0gZnJvbSAnLi4veS1tYXAtY29udHJvbHMveS1tYXAtY29udHJvbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwR2VvbG9jYXRpb25Db250cm9sXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2NvbnRyb2xzLyNjbGFzcy15bWFwZ2VvbG9jYXRpb25jb250cm9sKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gVGhpcyBjb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBhIGB5LW1hcC1jb250cm9sc2AgY29tcG9uZW50LlxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBmcm9tIHRoZSBgQHlhbmRleC95bWFwczMtY29udHJvbHNAMC4wLjFgIHBhY2thZ2UsIHdoaWNoIGlzIGFzeW5jaHJvbm91c2x5IGxvYWRlZCB3aGVuIHlvdSB1c2UgdGhpcyBjb21wb25lbnQuXHJcbiAqXHJcbiAqIGBgYGh0bWxcclxuICogPHktbWFwXHJcbiAqICAgW3Byb3BzXT1cIntcclxuICogICAgIGxvY2F0aW9uOiB7XHJcbiAqICAgICAgIGNlbnRlcjogWy0wLjEyNzY5NiwgNTEuNTA3MzUxXSxcclxuICogICAgICAgem9vbTogOSxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICpcclxuICogICA8eS1tYXAtY29udHJvbHMgW3Byb3BzXT1cInsgcG9zaXRpb246ICd0b3AnIH1cIj5cclxuICogICAgIDx5LW1hcC1nZW9sb2NhdGlvbi1jb250cm9sIC8+XHJcbiAqICAgPC95LW1hcC1jb250cm9scz5cclxuICogPC95LW1hcD5cclxuICogYGBgXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ3ktbWFwLWdlb2xvY2F0aW9uLWNvbnRyb2wnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBZTWFwR2VvbG9jYXRpb25Db250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHlNYXBDb250cm9sc0RpcmVjdGl2ZSA9IGluamVjdChZTWFwQ29udHJvbHNEaXJlY3RpdmUpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBjb250cm9sPzogWU1hcEdlb2xvY2F0aW9uQ29udHJvbDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi9wYWNrYWdlcy9jb250cm9scy8jWU1hcEdlb2xvY2F0aW9uQ29udHJvbFByb3BzfVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHByb3BzOiBZTWFwR2VvbG9jYXRpb25Db250cm9sUHJvcHMgPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcEdlb2xvY2F0aW9uQ29udHJvbD4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIFlSZWFkeUV2ZW50PFlNYXBHZW9sb2NhdGlvbkNvbnRyb2w+XHJcbiAgPigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMueU1hcENvbnRyb2xzRGlyZWN0aXZlLmNvbnRyb2xzJFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoQm9vbGVhbiksXHJcbiAgICAgICAgc3dpdGNoTWFwKChjb250cm9scykgPT5cclxuICAgICAgICAgIC8vIEl0J3Mgc2FmZSB0byBjYWxsIGl0IGVhY2ggdGltZSwgdGhlIFlhbmRleC5NYXBzIEFQSSBoYW5kbGVzIG11bHRpcGxlIHJlcXVlc3RzIHVuZGVyIHRoZSBob29kLlxyXG4gICAgICAgICAgZnJvbSh5bWFwczMuaW1wb3J0KCdAeWFuZGV4L3ltYXBzMy1jb250cm9sc0AwLjAuMScpKS5waXBlKFxyXG4gICAgICAgICAgICB0YXAoKHsgWU1hcEdlb2xvY2F0aW9uQ29udHJvbCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IFlNYXBHZW9sb2NhdGlvbkNvbnRyb2wodGhpcy5wcm9wcyk7XHJcbiAgICAgICAgICAgICAgY29udHJvbHMuYWRkQ2hpbGQodGhpcy5jb250cm9sKTtcclxuICAgICAgICAgICAgICB0aGlzLnJlYWR5LmVtaXQoeyB5bWFwczMsIGVudGl0eTogdGhpcy5jb250cm9sIH0pO1xyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gSXQgbXVzdCBiZSBydW4gb3V0c2lkZSBhIHpvbmU7IG90aGVyd2lzZSwgYWxsIGFzeW5jIGV2ZW50cyB3aXRoaW4gdGhpcyBjYWxsIHdpbGwgY2F1c2UgdGlja3MuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmNvbnRyb2wpIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2wudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapOpenMapsButton](https://yandex.ru/dev/jsapi30/doc/ru/ref/modules/controls-extra/#class-ymapopenmapsbutton) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n * This component is from the `@yandex/ymaps3-controls-extra` module, which is asynchronously loaded when you use this component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-open-maps-button />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapOpenMapsButtonDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/modules/controls-extra/#YMapOpenMapsButtonProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), switchMap((controls) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-controls-extra')).pipe(tap(({ YMapOpenMapsButton }) => {\n            this.control = new YMapOpenMapsButton(this.props);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapOpenMapsButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapOpenMapsButtonDirective, isStandalone: true, selector: \"y-map-open-maps-button\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapOpenMapsButtonDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-open-maps-button',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtb3Blbi1tYXBzLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLW9wZW4tbWFwcy1idXR0b24veS1tYXAtb3Blbi1tYXBzLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUduRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUtILE1BQU0sT0FBTywyQkFBMkI7SUFKeEM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloRDs7O1dBR0c7UUFDTSxVQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUU3Qzs7V0FFRztRQUNPLFVBQUssR0FBa0QsSUFBSSxZQUFZLEVBRTlFLENBQUM7S0FrQ0w7SUFoQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTO2FBQ2pDLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDckIsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEQsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDaEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUNILENBQ0YsRUFDRCxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUN6QjthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0FwRFUsMkJBQTJCO2tHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBSnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdCQUF3QjtvQkFDbEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFVLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBZTWFwT3Blbk1hcHNCdXR0b24sXHJcbiAgWU1hcE9wZW5NYXBzQnV0dG9uUHJvcHMsXHJcbn0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMvbW9kdWxlcy9jb250cm9scy1leHRyYSc7XHJcbmltcG9ydCB7IGZyb20sIFN1YmplY3QsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2xzRGlyZWN0aXZlIH0gZnJvbSAnLi4veS1tYXAtY29udHJvbHMveS1tYXAtY29udHJvbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwT3Blbk1hcHNCdXR0b25dKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvbW9kdWxlcy9jb250cm9scy1leHRyYS8jY2xhc3MteW1hcG9wZW5tYXBzYnV0dG9uKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gVGhpcyBjb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBhIGB5LW1hcC1jb250cm9sc2AgY29tcG9uZW50LlxyXG4gKiBUaGlzIGNvbXBvbmVudCBpcyBmcm9tIHRoZSBgQHlhbmRleC95bWFwczMtY29udHJvbHMtZXh0cmFgIG1vZHVsZSwgd2hpY2ggaXMgYXN5bmNocm9ub3VzbHkgbG9hZGVkIHdoZW4geW91IHVzZSB0aGlzIGNvbXBvbmVudC5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiA5LFxyXG4gKiAgICAgfSxcclxuICogICB9XCJcclxuICogPlxyXG4gKiAgIDx5LW1hcC1kZWZhdWx0LXNjaGVtZS1sYXllciAvPlxyXG4gKlxyXG4gKiAgIDx5LW1hcC1jb250cm9scyBbcHJvcHNdPVwieyBwb3NpdGlvbjogJ3RvcCcgfVwiPlxyXG4gKiAgICAgPHktbWFwLW9wZW4tbWFwcy1idXR0b24gLz5cclxuICogICA8L3ktbWFwLWNvbnRyb2xzPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtb3Blbi1tYXBzLWJ1dHRvbicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFlNYXBPcGVuTWFwc0J1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29udHJvbHNEaXJlY3RpdmUgPSBpbmplY3QoWU1hcENvbnRyb2xzRGlyZWN0aXZlKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY29udHJvbD86IFlNYXBPcGVuTWFwc0J1dHRvbjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi9tb2R1bGVzL2NvbnRyb2xzLWV4dHJhLyNZTWFwT3Blbk1hcHNCdXR0b25Qcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwcm9wczogWU1hcE9wZW5NYXBzQnV0dG9uUHJvcHMgPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcE9wZW5NYXBzQnV0dG9uPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgWVJlYWR5RXZlbnQ8WU1hcE9wZW5NYXBzQnV0dG9uPlxyXG4gID4oKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb250cm9sc0RpcmVjdGl2ZS5jb250cm9scyRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoY29udHJvbHMpID0+XHJcbiAgICAgICAgICAvLyBJdCdzIHNhZmUgdG8gY2FsbCBpdCBlYWNoIHRpbWUsIHRoZSBZYW5kZXguTWFwcyBBUEkgaGFuZGxlcyBtdWx0aXBsZSByZXF1ZXN0cyB1bmRlciB0aGUgaG9vZC5cclxuICAgICAgICAgIGZyb20oeW1hcHMzLmltcG9ydCgnQHlhbmRleC95bWFwczMtY29udHJvbHMtZXh0cmEnKSkucGlwZShcclxuICAgICAgICAgICAgdGFwKCh7IFlNYXBPcGVuTWFwc0J1dHRvbiB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IFlNYXBPcGVuTWFwc0J1dHRvbih0aGlzLnByb3BzKTtcclxuICAgICAgICAgICAgICBjb250cm9scy5hZGRDaGlsZCh0aGlzLmNvbnRyb2wpO1xyXG4gICAgICAgICAgICAgIHRoaXMucmVhZHkuZW1pdCh7IHltYXBzMywgZW50aXR5OiB0aGlzLmNvbnRyb2wgfSk7XHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC51cGRhdGUoY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapScaleControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapscalecontrol) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-scale-control />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapScaleControlDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapScaleControlProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), takeUntil(this.destroy$))\n            .subscribe((controls) => {\n            this.control = new ymaps3.YMapScaleControl(this.props);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapScaleControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapScaleControlDirective, isStandalone: true, selector: \"y-map-scale-control\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapScaleControlDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-scale-control',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtc2NhbGUtY29udHJvbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLXNjYWxlLWNvbnRyb2wveS1tYXAtc2NhbGUtY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0JHO0FBS0gsTUFBTSxPQUFPLHlCQUF5QjtJQUp0QztRQUttQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLDBCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRELGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBSWhEOzs7V0FHRztRQUNNLFVBQUssR0FBMEIsRUFBRSxDQUFDO1FBRTNDOztXQUVHO1FBQ08sVUFBSyxHQUFnRCxJQUFJLFlBQVksRUFFNUUsQ0FBQztLQXlCTDtJQXZCQyxRQUFRO1FBQ04sSUFBSSxDQUFDLHFCQUFxQixDQUFDLFNBQVM7YUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsR0FBRyxFQUFFO1lBQ2pDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs4R0EzQ1UseUJBQXlCO2tHQUF6Qix5QkFBeUI7OzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFVLEtBQUs7c0JBQWIsS0FBSztnQkFLSSxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIERpcmVjdGl2ZSxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgaW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE5nWm9uZSxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWU1hcFNjYWxlQ29udHJvbCwgWU1hcFNjYWxlQ29udHJvbFByb3BzIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2xzRGlyZWN0aXZlIH0gZnJvbSAnLi4veS1tYXAtY29udHJvbHMveS1tYXAtY29udHJvbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwU2NhbGVDb250cm9sXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNjbGFzcy15bWFwc2NhbGVjb250cm9sKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy4gVGhpcyBjb21wb25lbnQgbXVzdCBiZSB1c2VkIGluc2lkZSBhIGB5LW1hcC1jb250cm9sc2AgY29tcG9uZW50LlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDx5LW1hcFxyXG4gKiAgIFtwcm9wc109XCJ7XHJcbiAqICAgICBsb2NhdGlvbjoge1xyXG4gKiAgICAgICBjZW50ZXI6IFstMC4xMjc2OTYsIDUxLjUwNzM1MV0sXHJcbiAqICAgICAgIHpvb206IDksXHJcbiAqICAgICB9LFxyXG4gKiAgIH1cIlxyXG4gKiA+XHJcbiAqICAgPHktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyIC8+XHJcbiAqXHJcbiAqICAgPHktbWFwLWNvbnRyb2xzIFtwcm9wc109XCJ7IHBvc2l0aW9uOiAndG9wJyB9XCI+XHJcbiAqICAgICA8eS1tYXAtc2NhbGUtY29udHJvbCAvPlxyXG4gKiAgIDwveS1tYXAtY29udHJvbHM+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC1zY2FsZS1jb250cm9sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcFNjYWxlQ29udHJvbERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29udHJvbHNEaXJlY3RpdmUgPSBpbmplY3QoWU1hcENvbnRyb2xzRGlyZWN0aXZlKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHByaXZhdGUgY29udHJvbD86IFlNYXBTY2FsZUNvbnRyb2w7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI1lNYXBTY2FsZUNvbnRyb2xQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwcm9wczogWU1hcFNjYWxlQ29udHJvbFByb3BzID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBlbnRpdHkgaW5zdGFuY2UgaXMgY3JlYXRlZC4gVGhpcyBldmVudCBydW5zIG91dHNpZGUgYW4gQW5ndWxhciB6b25lLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWFkeTogRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXBTY2FsZUNvbnRyb2w+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwU2NhbGVDb250cm9sPlxyXG4gID4oKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb250cm9sc0RpcmVjdGl2ZS5jb250cm9scyRcclxuICAgICAgLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvbnRyb2xzKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IHltYXBzMy5ZTWFwU2NhbGVDb250cm9sKHRoaXMucHJvcHMpO1xyXG4gICAgICAgIGNvbnRyb2xzLmFkZENoaWxkKHRoaXMuY29udHJvbCk7XHJcbiAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IHRoaXMuY29udHJvbCB9KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICAvLyBJdCBtdXN0IGJlIHJ1biBvdXRzaWRlIGEgem9uZTsgb3RoZXJ3aXNlLCBhbGwgYXN5bmMgZXZlbnRzIHdpdGhpbiB0aGlzIGNhbGwgd2lsbCBjYXVzZSB0aWNrcy5cclxuICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udHJvbCkge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC51cGRhdGUoY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { from, Subject, takeUntil, tap } from 'rxjs';\nimport { filter, switchMap } from 'rxjs/operators';\nimport { YMapControlsDirective } from '../y-map-controls/y-map-controls.directive';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapZoomControl](https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#class-ymapzoomcontrol) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments. This component must be used inside a `y-map-controls` component.\n * This component is from the `@yandex/ymaps3-controls@0.0.1` package, which is asynchronously loaded when you use this component.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 9,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-controls [props]=\"{ position: 'top' }\">\n *     <y-map-zoom-control-button />\n *   </y-map-controls>\n * </y-map>\n * ```\n */\nexport class YMapZoomControlDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapControlsDirective = inject(YMapControlsDirective);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/controls/#YMapZoomControlProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapControlsDirective.controls$\n            .pipe(filter(Boolean), switchMap((controls) => \n        // It's safe to call it each time, the Yandex.Maps API handles multiple requests under the hood.\n        from(ymaps3.import('@yandex/ymaps3-controls@0.0.1')).pipe(tap(({ YMapZoomControl }) => {\n            this.control = new YMapZoomControl(this.props, this.options);\n            controls.addChild(this.control);\n            this.ready.emit({ ymaps3, entity: this.control });\n        }))), takeUntil(this.destroy$))\n            .subscribe();\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.control) {\n                this.control.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapZoomControlDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapZoomControlDirective, isStandalone: true, selector: \"y-map-zoom-control-button\", inputs: { props: \"props\", options: \"options\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapZoomControlDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-zoom-control-button',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], options: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtem9vbS1jb250cm9sLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvbGliL2NvbXBvbmVudHMvY29udHJvbHMveS1tYXAtem9vbS1jb250cm9sL3ktbWFwLXpvb20tY29udHJvbC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBSU4sTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBR3ZCLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUluRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7QUFFbkY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUtILE1BQU0sT0FBTyx3QkFBd0I7SUFKckM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QiwwQkFBcUIsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV0RCxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloRDs7O1dBR0c7UUFDTSxVQUFLLEdBQXlCLEVBQUUsQ0FBQztRQU8xQzs7V0FFRztRQUNPLFVBQUssR0FBK0MsSUFBSSxZQUFZLEVBRTNFLENBQUM7S0FrQ0w7SUFoQ0MsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTO2FBQ2pDLElBQUksQ0FDSCxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQ2YsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDckIsZ0dBQWdHO1FBQ2hHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3ZELEdBQUcsQ0FBQyxDQUFDLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRTtZQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdELFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUMsQ0FDSCxDQUNGLEVBQ0QsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLGdHQUFnRztRQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBekRVLHdCQUF3QjtrR0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUpwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFhVSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMnO1xyXG5pbXBvcnQgeyBZTWFwWm9vbUNvbnRyb2wsIFlNYXBab29tQ29udHJvbFByb3BzIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMvcGFja2FnZXMvY29udHJvbHMnO1xyXG5pbXBvcnQgeyBmcm9tLCBTdWJqZWN0LCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbXBsZXhPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tcGxleC1vcHRpb25zJztcclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbnRyb2xzRGlyZWN0aXZlIH0gZnJvbSAnLi4veS1tYXAtY29udHJvbHMveS1tYXAtY29udHJvbHMuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwWm9vbUNvbnRyb2xdKGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvcGFja2FnZXMvY29udHJvbHMvI2NsYXNzLXltYXB6b29tY29udHJvbCkgY2xhc3MgZnJvbSB0aGUgWWFuZGV4Lk1hcHMgQVBJLlxyXG4gKiBBbGwgY29tcG9uZW50IGlucHV0cyBhcmUgbmFtZWQgdGhlIHNhbWUgYXMgdGhlIEFQSSBjbGFzcyBjb25zdHJ1Y3RvciBhcmd1bWVudHMuIFRoaXMgY29tcG9uZW50IG11c3QgYmUgdXNlZCBpbnNpZGUgYSBgeS1tYXAtY29udHJvbHNgIGNvbXBvbmVudC5cclxuICogVGhpcyBjb21wb25lbnQgaXMgZnJvbSB0aGUgYEB5YW5kZXgveW1hcHMzLWNvbnRyb2xzQDAuMC4xYCBwYWNrYWdlLCB3aGljaCBpcyBhc3luY2hyb25vdXNseSBsb2FkZWQgd2hlbiB5b3UgdXNlIHRoaXMgY29tcG9uZW50LlxyXG4gKlxyXG4gKiBgYGBodG1sXHJcbiAqIDx5LW1hcFxyXG4gKiAgIFtwcm9wc109XCJ7XHJcbiAqICAgICBsb2NhdGlvbjoge1xyXG4gKiAgICAgICBjZW50ZXI6IFstMC4xMjc2OTYsIDUxLjUwNzM1MV0sXHJcbiAqICAgICAgIHpvb206IDksXHJcbiAqICAgICB9LFxyXG4gKiAgIH1cIlxyXG4gKiA+XHJcbiAqICAgPHktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyIC8+XHJcbiAqXHJcbiAqICAgPHktbWFwLWNvbnRyb2xzIFtwcm9wc109XCJ7IHBvc2l0aW9uOiAndG9wJyB9XCI+XHJcbiAqICAgICA8eS1tYXAtem9vbS1jb250cm9sLWJ1dHRvbiAvPlxyXG4gKiAgIDwveS1tYXAtY29udHJvbHM+XHJcbiAqIDwveS1tYXA+XHJcbiAqIGBgYFxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICd5LW1hcC16b29tLWNvbnRyb2wtYnV0dG9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcFpvb21Db250cm9sRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHlNYXBDb250cm9sc0RpcmVjdGl2ZSA9IGluamVjdChZTWFwQ29udHJvbHNEaXJlY3RpdmUpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBjb250cm9sPzogWU1hcFpvb21Db250cm9sO1xyXG5cclxuICAvKipcclxuICAgKiBTZWUgdGhlIEFQSSBlbnRpdHkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uIFN1cHBvcnRzIG5nT25DaGFuZ2VzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmL3BhY2thZ2VzL2NvbnRyb2xzLyNZTWFwWm9vbUNvbnRyb2xQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwcm9wczogWU1hcFpvb21Db250cm9sUHJvcHMgPSB7fTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBDb21wbGV4T3B0aW9uczxZTWFwPjtcclxuXHJcbiAgLyoqXHJcbiAgICogVGhlIGVudGl0eSBpbnN0YW5jZSBpcyBjcmVhdGVkLiBUaGlzIGV2ZW50IHJ1bnMgb3V0c2lkZSBhbiBBbmd1bGFyIHpvbmUuXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIHJlYWR5OiBFdmVudEVtaXR0ZXI8WVJlYWR5RXZlbnQ8WU1hcFpvb21Db250cm9sPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgWVJlYWR5RXZlbnQ8WU1hcFpvb21Db250cm9sPlxyXG4gID4oKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb250cm9sc0RpcmVjdGl2ZS5jb250cm9scyRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoY29udHJvbHMpID0+XHJcbiAgICAgICAgICAvLyBJdCdzIHNhZmUgdG8gY2FsbCBpdCBlYWNoIHRpbWUsIHRoZSBZYW5kZXguTWFwcyBBUEkgaGFuZGxlcyBtdWx0aXBsZSByZXF1ZXN0cyB1bmRlciB0aGUgaG9vZC5cclxuICAgICAgICAgIGZyb20oeW1hcHMzLmltcG9ydCgnQHlhbmRleC95bWFwczMtY29udHJvbHNAMC4wLjEnKSkucGlwZShcclxuICAgICAgICAgICAgdGFwKCh7IFlNYXBab29tQ29udHJvbCB9KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb250cm9sID0gbmV3IFlNYXBab29tQ29udHJvbCh0aGlzLnByb3BzLCB0aGlzLm9wdGlvbnMpO1xyXG4gICAgICAgICAgICAgIGNvbnRyb2xzLmFkZENoaWxkKHRoaXMuY29udHJvbCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IHRoaXMuY29udHJvbCB9KTtcclxuICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sLnVwZGF0ZShjaGFuZ2VzWydwcm9wcyddLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../../common/y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapDefaultFeaturesLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapdefaultfeatureslayer) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *   }\"\n * >\n *   <y-map-default-features-layer />\n * </y-map>\n * ```\n */\nexport class YMapDefaultFeaturesLayerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapDefaultFeaturesLayerProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.layer = new ymaps3.YMapDefaultFeaturesLayer(this.props, this.options);\n            map.addChild(this.layer);\n            this.ready.emit({ ymaps3, entity: this.layer });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.layer) {\n                this.layer.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultFeaturesLayerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapDefaultFeaturesLayerDirective, isStandalone: true, selector: \"y-map-default-features-layer\", inputs: { props: \"props\", options: \"options\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultFeaturesLayerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-default-features-layer',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], options: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2xpYi9jb21wb25lbnRzL2xheWVycy95LW1hcC1kZWZhdWx0LWZlYXR1cmVzLWxheWVyL3ktbWFwLWRlZmF1bHQtZmVhdHVyZXMtbGF5ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQU12QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUtILE1BQU0sT0FBTyxpQ0FBaUM7SUFKOUM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloRDs7O1dBR0c7UUFDTSxVQUFLLEdBQWtDLEVBQUUsQ0FBQztRQU9uRDs7V0FFRztRQUNPLFVBQUssR0FBd0QsSUFBSSxZQUFZLEVBRXBGLENBQUM7S0F1Qkw7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDM0UsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBOUNVLGlDQUFpQztrR0FBakMsaUNBQWlDOzsyRkFBakMsaUNBQWlDO2tCQUo3QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw4QkFBOEI7b0JBQ3hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFhVSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIFlNYXAsXHJcbiAgWU1hcERlZmF1bHRGZWF0dXJlc0xheWVyLFxyXG4gIFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllclByb3BzLFxyXG59IGZyb20gJ0B5YW5kZXgveW1hcHMzLXR5cGVzJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbXBsZXhPcHRpb25zIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29tcGxleC1vcHRpb25zJztcclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IHdyYXBzIHRoZSBbeW1hcHMzLllNYXBEZWZhdWx0RmVhdHVyZXNMYXllcl0oaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jY2xhc3MteW1hcGRlZmF1bHRmZWF0dXJlc2xheWVyKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiAxMCxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllciAvPlxyXG4gKiA8L3ktbWFwPlxyXG4gKiBgYGBcclxuICovXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAneS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllcicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29tcG9uZW50ID0gaW5qZWN0KFlNYXBDb21wb25lbnQpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBsYXllcj86IFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllcjtcclxuXHJcbiAgLyoqXHJcbiAgICogU2VlIHRoZSBBUEkgZW50aXR5IGRvY3VtZW50YXRpb24gZm9yIGRldGFpbGVkIGluZm9ybWF0aW9uLiBTdXBwb3J0cyBuZ09uQ2hhbmdlcy5cclxuICAgKiB7QGxpbmsgaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jWU1hcERlZmF1bHRGZWF0dXJlc0xheWVyUHJvcHN9XHJcbiAgICovXHJcbiAgQElucHV0KCkgcHJvcHM6IFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllclByb3BzID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBvcHRpb25zPzogQ29tcGxleE9wdGlvbnM8WU1hcD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBlbnRpdHkgaW5zdGFuY2UgaXMgY3JlYXRlZC4gVGhpcyBldmVudCBydW5zIG91dHNpZGUgYW4gQW5ndWxhciB6b25lLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWFkeTogRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllcj4+ID0gbmV3IEV2ZW50RW1pdHRlcjxcclxuICAgIFlSZWFkeUV2ZW50PFlNYXBEZWZhdWx0RmVhdHVyZXNMYXllcj5cclxuICA+KCk7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy55TWFwQ29tcG9uZW50Lm1hcCQucGlwZShmaWx0ZXIoQm9vbGVhbiksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtYXApID0+IHtcclxuICAgICAgdGhpcy5sYXllciA9IG5ldyB5bWFwczMuWU1hcERlZmF1bHRGZWF0dXJlc0xheWVyKHRoaXMucHJvcHMsIHRoaXMub3B0aW9ucyk7XHJcbiAgICAgIG1hcC5hZGRDaGlsZCh0aGlzLmxheWVyKTtcclxuICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IHRoaXMubGF5ZXIgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5sYXllcikge1xyXG4gICAgICAgIHRoaXMubGF5ZXIudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../../common/y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapDefaultSchemeLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymapdefaultschemelayer) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n * </y-map>\n * ```\n */\nexport class YMapDefaultSchemeLayerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * See the API entity documentation for detailed information. Supports ngOnChanges.\n         * {@link https://yandex.ru/dev/jsapi30/doc/ru/ref/#YMapDefaultSchemeLayerProps}\n         */\n        this.props = {};\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.layer = new ymaps3.YMapDefaultSchemeLayer(this.props, this.options);\n            map.addChild(this.layer);\n            this.ready.emit({ ymaps3, entity: this.layer });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.layer) {\n                this.layer.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultSchemeLayerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapDefaultSchemeLayerDirective, isStandalone: true, selector: \"y-map-default-scheme-layer\", inputs: { props: \"props\", options: \"options\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapDefaultSchemeLayerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-default-scheme-layer',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input\n            }], options: [{\n                type: Input\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9sYXllcnMveS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIveS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUtILE1BQU0sT0FBTywrQkFBK0I7SUFKNUM7UUFLbUIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN4QixrQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUV0QyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUloRDs7O1dBR0c7UUFDTSxVQUFLLEdBQWdDLEVBQUUsQ0FBQztRQU9qRDs7V0FFRztRQUNPLFVBQUssR0FBc0QsSUFBSSxZQUFZLEVBRWxGLENBQUM7S0F1Qkw7SUFyQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hGLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBOUNVLCtCQUErQjtrR0FBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjs4QkFhVSxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csT0FBTztzQkFBZixLQUFLO2dCQUtJLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwLCBZTWFwRGVmYXVsdFNjaGVtZUxheWVyLCBZTWFwRGVmYXVsdFNjaGVtZUxheWVyUHJvcHMgfSBmcm9tICdAeWFuZGV4L3ltYXBzMy10eXBlcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQgeyBDb21wbGV4T3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbXBsZXgtb3B0aW9ucyc7XHJcbmltcG9ydCB7IFlSZWFkeUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMveS1yZWFkeS1ldmVudCc7XHJcbmltcG9ydCB7IFlNYXBDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24veS1tYXAveS1tYXAuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCB3cmFwcyB0aGUgW3ltYXBzMy5ZTWFwRGVmYXVsdFNjaGVtZUxheWVyXShodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNjbGFzcy15bWFwZGVmYXVsdHNjaGVtZWxheWVyKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiAxMCxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICogPC95LW1hcD5cclxuICogYGBgXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ3ktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcERlZmF1bHRTY2hlbWVMYXllckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSB5TWFwQ29tcG9uZW50ID0gaW5qZWN0KFlNYXBDb21wb25lbnQpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgcHJpdmF0ZSBsYXllcj86IFlNYXBEZWZhdWx0U2NoZW1lTGF5ZXI7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi4gU3VwcG9ydHMgbmdPbkNoYW5nZXMuXHJcbiAgICoge0BsaW5rIGh0dHBzOi8veWFuZGV4LnJ1L2Rldi9qc2FwaTMwL2RvYy9ydS9yZWYvI1lNYXBEZWZhdWx0U2NoZW1lTGF5ZXJQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoKSBwcm9wczogWU1hcERlZmF1bHRTY2hlbWVMYXllclByb3BzID0ge307XHJcblxyXG4gIC8qKlxyXG4gICAqIFNlZSB0aGUgQVBJIGVudGl0eSBkb2N1bWVudGF0aW9uIGZvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi5cclxuICAgKi9cclxuICBASW5wdXQoKSBvcHRpb25zPzogQ29tcGxleE9wdGlvbnM8WU1hcD47XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBlbnRpdHkgaW5zdGFuY2UgaXMgY3JlYXRlZC4gVGhpcyBldmVudCBydW5zIG91dHNpZGUgYW4gQW5ndWxhciB6b25lLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSByZWFkeTogRXZlbnRFbWl0dGVyPFlSZWFkeUV2ZW50PFlNYXBEZWZhdWx0U2NoZW1lTGF5ZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwRGVmYXVsdFNjaGVtZUxheWVyPlxyXG4gID4oKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnlNYXBDb21wb25lbnQubWFwJC5waXBlKGZpbHRlcihCb29sZWFuKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKG1hcCkgPT4ge1xyXG4gICAgICB0aGlzLmxheWVyID0gbmV3IHltYXBzMy5ZTWFwRGVmYXVsdFNjaGVtZUxheWVyKHRoaXMucHJvcHMsIHRoaXMub3B0aW9ucyk7XHJcbiAgICAgIG1hcC5hZGRDaGlsZCh0aGlzLmxheWVyKTtcclxuICAgICAgdGhpcy5yZWFkeS5lbWl0KHsgeW1hcHMzLCBlbnRpdHk6IHRoaXMubGF5ZXIgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIC8vIEl0IG11c3QgYmUgcnVuIG91dHNpZGUgYSB6b25lOyBvdGhlcndpc2UsIGFsbCBhc3luYyBldmVudHMgd2l0aGluIHRoaXMgY2FsbCB3aWxsIGNhdXNlIHRpY2tzLlxyXG4gICAgdGhpcy5uZ1pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5sYXllcikge1xyXG4gICAgICAgIHRoaXMubGF5ZXIudXBkYXRlKGNoYW5nZXNbJ3Byb3BzJ10uY3VycmVudFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=","import { Directive, EventEmitter, inject, Input, NgZone, Output, } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport { YMapComponent } from '../../common/y-map/y-map.component';\nimport * as i0 from \"@angular/core\";\n/**\n * This component wraps the [ymaps3.YMapLayer](https://yandex.ru/dev/jsapi30/doc/ru/ref/#class-ymaplayer) class from the Yandex.Maps API.\n * All component inputs are named the same as the API class constructor arguments.\n *\n * ```html\n * <y-map\n *   [props]=\"{\n *     location: {\n *       center: [-0.127696, 51.507351],\n *       zoom: 10,\n *     },\n *   }\"\n * >\n *   <y-map-default-scheme-layer />\n *\n *   <y-map-layer\n *     [props]=\"{\n *       type: 'markers',\n *       zIndex: 1800,\n *     }\"\n *   />\n * </y-map>\n * ```\n */\nexport class YMapLayerDirective {\n    constructor() {\n        this.ngZone = inject(NgZone);\n        this.yMapComponent = inject(YMapComponent);\n        this.destroy$ = new Subject();\n        /**\n         * The entity instance is created. This event runs outside an Angular zone.\n         */\n        this.ready = new EventEmitter();\n    }\n    ngOnInit() {\n        this.yMapComponent.map$.pipe(filter(Boolean), takeUntil(this.destroy$)).subscribe((map) => {\n            this.layer = new ymaps3.YMapLayer(this.props);\n            map.addChild(this.layer);\n            this.ready.emit({ ymaps3, entity: this.layer });\n        });\n    }\n    ngOnChanges(changes) {\n        // It must be run outside a zone; otherwise, all async events within this call will cause ticks.\n        this.ngZone.runOutsideAngular(() => {\n            if (this.layer) {\n                this.layer.update(changes['props'].currentValue);\n            }\n        });\n    }\n    ngOnDestroy() {\n        this.destroy$.next();\n        this.destroy$.complete();\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapLayerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n    static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.4\", type: YMapLayerDirective, isStandalone: true, selector: \"y-map-layer\", inputs: { props: \"props\" }, outputs: { ready: \"ready\" }, usesOnChanges: true, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.4\", ngImport: i0, type: YMapLayerDirective, decorators: [{\n            type: Directive,\n            args: [{\n                    selector: 'y-map-layer',\n                    standalone: true,\n                }]\n        }], propDecorators: { props: [{\n                type: Input,\n                args: [{ required: true }]\n            }], ready: [{\n                type: Output\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieS1tYXAtbGF5ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyLXlhbmRleC1tYXBzLXYzL3NyYy9saWIvY29tcG9uZW50cy9sYXllcnMveS1tYXAtbGF5ZXIveS1tYXAtbGF5ZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUlOLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQUVuRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFLSCxNQUFNLE9BQU8sa0JBQWtCO0lBSi9CO1FBS21CLFdBQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDeEIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsYUFBUSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFVaEQ7O1dBRUc7UUFDTyxVQUFLLEdBQXlDLElBQUksWUFBWSxFQUVyRSxDQUFDO0tBdUJMO0lBckJDLFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUN4RixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxnR0FBZ0c7UUFDaEcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUU7WUFDakMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OEdBekNVLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUo5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBYTRCLEtBQUs7c0JBQS9CLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUtmLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBpbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgTmdab25lLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBZTWFwTGF5ZXIsIFlNYXBMYXllclByb3BzIH0gZnJvbSAnQHlhbmRleC95bWFwczMtdHlwZXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgWVJlYWR5RXZlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuaW1wb3J0IHsgWU1hcENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIFRoaXMgY29tcG9uZW50IHdyYXBzIHRoZSBbeW1hcHMzLllNYXBMYXllcl0oaHR0cHM6Ly95YW5kZXgucnUvZGV2L2pzYXBpMzAvZG9jL3J1L3JlZi8jY2xhc3MteW1hcGxheWVyKSBjbGFzcyBmcm9tIHRoZSBZYW5kZXguTWFwcyBBUEkuXHJcbiAqIEFsbCBjb21wb25lbnQgaW5wdXRzIGFyZSBuYW1lZCB0aGUgc2FtZSBhcyB0aGUgQVBJIGNsYXNzIGNvbnN0cnVjdG9yIGFyZ3VtZW50cy5cclxuICpcclxuICogYGBgaHRtbFxyXG4gKiA8eS1tYXBcclxuICogICBbcHJvcHNdPVwie1xyXG4gKiAgICAgbG9jYXRpb246IHtcclxuICogICAgICAgY2VudGVyOiBbLTAuMTI3Njk2LCA1MS41MDczNTFdLFxyXG4gKiAgICAgICB6b29tOiAxMCxcclxuICogICAgIH0sXHJcbiAqICAgfVwiXHJcbiAqID5cclxuICogICA8eS1tYXAtZGVmYXVsdC1zY2hlbWUtbGF5ZXIgLz5cclxuICpcclxuICogICA8eS1tYXAtbGF5ZXJcclxuICogICAgIFtwcm9wc109XCJ7XHJcbiAqICAgICAgIHR5cGU6ICdtYXJrZXJzJyxcclxuICogICAgICAgekluZGV4OiAxODAwLFxyXG4gKiAgICAgfVwiXHJcbiAqICAgLz5cclxuICogPC95LW1hcD5cclxuICogYGBgXHJcbiAqL1xyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ3ktbWFwLWxheWVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWU1hcExheWVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcclxuICBwcml2YXRlIHJlYWRvbmx5IHlNYXBDb21wb25lbnQgPSBpbmplY3QoWU1hcENvbXBvbmVudCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwcml2YXRlIGxheWVyPzogWU1hcExheWVyO1xyXG5cclxuICAvKipcclxuICAgKiBTZWUgdGhlIEFQSSBlbnRpdHkgZG9jdW1lbnRhdGlvbiBmb3IgZGV0YWlsZWQgaW5mb3JtYXRpb24uIFN1cHBvcnRzIG5nT25DaGFuZ2VzLlxyXG4gICAqIHtAbGluayBodHRwczovL3lhbmRleC5ydS9kZXYvanNhcGkzMC9kb2MvcnUvcmVmLyNZTWFwTGF5ZXJQcm9wc31cclxuICAgKi9cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwcm9wcyE6IFlNYXBMYXllclByb3BzO1xyXG5cclxuICAvKipcclxuICAgKiBUaGUgZW50aXR5IGluc3RhbmNlIGlzIGNyZWF0ZWQuIFRoaXMgZXZlbnQgcnVucyBvdXRzaWRlIGFuIEFuZ3VsYXIgem9uZS5cclxuICAgKi9cclxuICBAT3V0cHV0KCkgcmVhZHk6IEV2ZW50RW1pdHRlcjxZUmVhZHlFdmVudDxZTWFwTGF5ZXI+PiA9IG5ldyBFdmVudEVtaXR0ZXI8XHJcbiAgICBZUmVhZHlFdmVudDxZTWFwTGF5ZXI+XHJcbiAgPigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMueU1hcENvbXBvbmVudC5tYXAkLnBpcGUoZmlsdGVyKEJvb2xlYW4pLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgobWFwKSA9PiB7XHJcbiAgICAgIHRoaXMubGF5ZXIgPSBuZXcgeW1hcHMzLllNYXBMYXllcih0aGlzLnByb3BzKTtcclxuICAgICAgbWFwLmFkZENoaWxkKHRoaXMubGF5ZXIpO1xyXG4gICAgICB0aGlzLnJlYWR5LmVtaXQoeyB5bWFwczMsIGVudGl0eTogdGhpcy5sYXllciB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgLy8gSXQgbXVzdCBiZSBydW4gb3V0c2lkZSBhIHpvbmU7IG90aGVyd2lzZSwgYWxsIGFzeW5jIGV2ZW50cyB3aXRoaW4gdGhpcyBjYWxsIHdpbGwgY2F1c2UgdGlja3MuXHJcbiAgICB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmxheWVyKSB7XHJcbiAgICAgICAgdGhpcy5sYXllci51cGRhdGUoY2hhbmdlc1sncHJvcHMnXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==","/*\n * Public API Surface of angular-yandex-maps-v3\n */\n// Components\nexport * from './lib/components/common/y-map/y-map.component';\nexport * from './lib/components/common/y-map-clusterer/y-map-clusterer.directive';\nexport * from './lib/components/common/y-map-default-marker/y-map-default-marker.directive';\nexport * from './lib/components/common/y-map-feature/y-map-feature.directive';\nexport * from './lib/components/common/y-map-feature-data-source/y-map-feature-data-source.directive';\nexport * from './lib/components/common/y-map-hint/y-map-hint.directive';\nexport * from './lib/components/common/y-map-listener/y-map-listener.directive';\nexport * from './lib/components/common/y-map-marker/y-map-marker.directive';\nexport * from './lib/components/controls/y-map-control/y-map-control.directive';\nexport * from './lib/components/controls/y-map-control-button/y-map-control-button.directive';\nexport * from './lib/components/controls/y-map-control-common-button/y-map-control-common-button.directive';\nexport * from './lib/components/controls/y-map-controls/y-map-controls.directive';\nexport * from './lib/components/controls/y-map-geolocation-control/y-map-geolocation-control.directive';\nexport * from './lib/components/controls/y-map-open-maps-button/y-map-open-maps-button.directive';\nexport * from './lib/components/controls/y-map-scale-control/y-map-scale-control.directive';\nexport * from './lib/components/controls/y-map-zoom-control/y-map-zoom-control.directive';\nexport * from './lib/components/layers/y-map-default-features-layer/y-map-default-features-layer.directive';\nexport * from './lib/components/layers/y-map-default-scheme-layer/y-map-default-scheme-layer.directive';\nexport * from './lib/components/layers/y-map-layer/y-map-layer.directive';\n// Services\nexport * from './lib/services/y-api-loader/y-api-loader.service';\n// Types\nexport * from './lib/types/y-config';\nexport * from './lib/types/y-ready-event';\n// Tokens\nexport * from './lib/tokens/y-config';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIteWFuZGV4LW1hcHMtdjMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsYUFBYTtBQUNiLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxtRUFBbUUsQ0FBQztBQUNsRixjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLGNBQWMsK0RBQStELENBQUM7QUFDOUUsY0FBYyx1RkFBdUYsQ0FBQztBQUN0RyxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMsK0VBQStFLENBQUM7QUFDOUYsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLG1FQUFtRSxDQUFDO0FBQ2xGLGNBQWMseUZBQXlGLENBQUM7QUFDeEcsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLDZFQUE2RSxDQUFDO0FBQzVGLGNBQWMsMkVBQTJFLENBQUM7QUFDMUYsY0FBYyw2RkFBNkYsQ0FBQztBQUM1RyxjQUFjLHlGQUF5RixDQUFDO0FBQ3hHLGNBQWMsMkRBQTJELENBQUM7QUFFMUUsV0FBVztBQUNYLGNBQWMsa0RBQWtELENBQUM7QUFFakUsUUFBUTtBQUNSLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYywyQkFBMkIsQ0FBQztBQUUxQyxTQUFTO0FBQ1QsY0FBYyx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBhbmd1bGFyLXlhbmRleC1tYXBzLXYzXHJcbiAqL1xyXG5cclxuLy8gQ29tcG9uZW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC95LW1hcC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC1jbHVzdGVyZXIveS1tYXAtY2x1c3RlcmVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLWRlZmF1bHQtbWFya2VyL3ktbWFwLWRlZmF1bHQtbWFya2VyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLWZlYXR1cmUveS1tYXAtZmVhdHVyZS5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbW1vbi95LW1hcC1mZWF0dXJlLWRhdGEtc291cmNlL3ktbWFwLWZlYXR1cmUtZGF0YS1zb3VyY2UuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb21tb24veS1tYXAtaGludC95LW1hcC1oaW50LmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLWxpc3RlbmVyL3ktbWFwLWxpc3RlbmVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvY29tbW9uL3ktbWFwLW1hcmtlci95LW1hcC1tYXJrZXIuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb250cm9scy95LW1hcC1jb250cm9sL3ktbWFwLWNvbnRyb2wuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb250cm9scy95LW1hcC1jb250cm9sLWJ1dHRvbi95LW1hcC1jb250cm9sLWJ1dHRvbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLWNvbnRyb2wtY29tbW9uLWJ1dHRvbi95LW1hcC1jb250cm9sLWNvbW1vbi1idXR0b24uZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb250cm9scy95LW1hcC1jb250cm9scy95LW1hcC1jb250cm9scy5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLWdlb2xvY2F0aW9uLWNvbnRyb2wveS1tYXAtZ2VvbG9jYXRpb24tY29udHJvbC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLW9wZW4tbWFwcy1idXR0b24veS1tYXAtb3Blbi1tYXBzLWJ1dHRvbi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLXNjYWxlLWNvbnRyb2wveS1tYXAtc2NhbGUtY29udHJvbC5kaXJlY3RpdmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NvbnRyb2xzL3ktbWFwLXpvb20tY29udHJvbC95LW1hcC16b29tLWNvbnRyb2wuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9sYXllcnMveS1tYXAtZGVmYXVsdC1mZWF0dXJlcy1sYXllci95LW1hcC1kZWZhdWx0LWZlYXR1cmVzLWxheWVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5ZXJzL3ktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyL3ktbWFwLWRlZmF1bHQtc2NoZW1lLWxheWVyLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbGF5ZXJzL3ktbWFwLWxheWVyL3ktbWFwLWxheWVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vLyBTZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy95LWFwaS1sb2FkZXIveS1hcGktbG9hZGVyLnNlcnZpY2UnO1xyXG5cclxuLy8gVHlwZXNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHlwZXMveS1jb25maWcnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy95LXJlYWR5LWV2ZW50JztcclxuXHJcbi8vIFRva2Vuc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2tlbnMveS1jb25maWcnO1xyXG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci15YW5kZXgtbWFwcy12My5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci15YW5kZXgtbWFwcy12My9zcmMvYW5ndWxhci15YW5kZXgtbWFwcy12My50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}