{"version":3,"file":"_nuxt/Chhc75YT.js","sources":["../../../../utils/checkResultApiRequest.ts","../../../../store/delivery/delivery.utils.ts","../../../../constants/stateOfMap.ts","../../../../types/mapServices.ts","../../../../store/delivery/delivery.ts","../../../../services/autocomplete/dadataApi.ts","../../../../services/autocomplete/deliveryDadata.ts","../../../../node_modules/google-maps/lib/esm/loader.js","../../../../services/autocomplete/deliveryGoogle.ts","../../../../services/autocomplete/autocompleteService.ts","../../../../utils/serializeToRequest.ts","../../../../store/delivery/delivery.types.ts","../../../../components/Delivery/DeliverySearchButtonPosition.vue","../../../../components/Delivery/DeliverySearch.vue","../../../../components/Delivery/DeliveryPointFilters.vue","../../../../components/Delivery/DeliverySectionControls.vue","../../../../components/Vuetify/IconSeoDropDown.vue","../../../../components/Delivery/DeliveryPointItem.vue","../../../../components/Delivery/DeliveryPointList.vue","../../../../components/Delivery/DeliveryPoints.vue","../../../../node_modules/vue-yandex-maps/dist/vue-yandex-maps-Yuc-0WOp.js","../../../../node_modules/vue-yandex-maps/dist/vue-yandex-maps.js","../../../../constants/delivery.ts","../../../../utils/findOfDeliveryArea.ts","../../../../components/Services/YandexMap/YandexMapPoligons.vue","../../../../components/Services/YandexMap/YandexMapPoints.vue","../../../../components/Services/Baloons/BaloonTitle.vue","../../../../components/Services/YandexMap/YandexMapClickedMarker.vue","../../../../components/Services/YandexMap/YandexMapComponent.vue","../../../../components/Delivery/DeliveryMapError.vue","../../../../node_modules/vue3-google-map/dist/index.mjs","../../../../node_modules/@googlemaps/js-api-loader/dist/index.mjs","../../../../assets/images/app-icons/closed-marker.svg","../../../../assets/images/app-icons/opened-marker.svg","../../../../components/Services/GoogleMap/GoogleMapPoints.vue","../../../../components/Services/GoogleMap/GoogleMapPolygons.vue","../../../../components/Services/GoogleMap/GoogleMapClickedMarker.vue","../../../../components/Services/GoogleMap/GoogleMapComponent.vue","../../../../components/Delivery/DeliveryMap.vue","../../../../components/Delivery/DeliveryPointsSection.vue","../../../../components/Delivery/DeliveryInfo.vue","../../../../pages/delivery/index.vue"],"sourcesContent":["/* Types */\nimport { Success } from '@/api/results'\n\ntype ExtractType = T extends Success ? D : never\n\nexport function checkResultApiRequest(result: T) {\n if (result instanceof Success) {\n return result.data as ExtractType\n }\n\n return null\n}\n","import { PointProperties } from '@/api/modules/delivery/types'\n\n/**\n * Рассчет дистанции по формуле [haversine]\n * @param from - координаты точки откуда\n * @param to - координаты точки докуда\n * @return - возращаем расстояние от точки, до точки\n */\nexport const getDistanceBetweenPoints = (from: LatLng, to: LatLng): number => {\n const R = 6371e3 // радиус\n const f1 = (from[0] * Math.PI) / 180 // - широта\n const f2 = (to[0] * Math.PI) / 180\n const deltaF = ((to[0] - from[0]) * Math.PI) / 180 // долгота\n const deltaLambda = ((to[1] - from[1]) * Math.PI) / 180\n\n const a =\n Math.sin(deltaF / 2) * Math.sin(deltaF / 2) +\n Math.cos(f1) *\n Math.cos(f2) *\n Math.sin(deltaLambda / 2) *\n Math.sin(deltaLambda / 2)\n\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a))\n\n return R * c\n}\n\n/**\n * Фильтрация точек ресторана по тегам\n * @param points - точки ресторна\n * @param tags - фильтры ресторанов\n */\nexport const filterPointsByTags = (\n points: PointProperties[],\n tags: string[],\n): PointProperties[] => {\n if (points.length === 0) return points\n\n const filteredPoints = points.filter((point) => {\n if (!tags.length) return true\n\n const pointTags = point.tags.map(({ slug }) => slug)\n\n for (const tag of tags) {\n if (!pointTags.includes(tag)) return false\n }\n\n return true\n })\n\n return filteredPoints\n}\n","/* Types */\nimport { StatesContainer } from '@/types/mapServices'\n\n/**\n * Состояния модуля карты\n */\nexport const STATE_OF_MAP: StatesContainer = {\n loading: 'pending',\n loaded: 'loaded',\n error: 'error',\n}\n","import { PointProperties } from '@/api/modules/delivery/types'\n\nexport interface AutocompleteSuggestion {\n value: string | null\n}\n\nexport interface AutocompleteService {\n getSuggestions: (query: string) => Promise[]>\n}\n\n// Состояния поиска адреса\nexport enum StateGeoAddress {\n LOADING,\n READY,\n}\n\n// Состояние карты\nexport type StateOfMap = 'pending' | 'loading' | 'loaded' | 'error'\n\nexport interface StatesContainer {\n [key: string]: StateOfMap\n}\n\n// Типы объектов карт\nexport enum TypesEntity {\n HOTSPOT = 'hotspot',\n FEATURE = 'feature',\n MARKER = 'marker',\n}\n\n// Типы провайдера\nexport enum TypesProvider {\n YANDEX = 'Yandex',\n GOOGLE = 'Google',\n}\n\nexport interface IGoogleCoords {\n lat: number\n lng: number\n}\n\nexport type EmitDataOfMap = {\n type: TypesEntity\n coords: IGoogleCoords\n point?: PointProperties\n}\n\nexport interface GoogleClickEvent {\n domEvent: MouseEvent\n ei: string\n latLng: google.maps.LatLng\n pixel: string\n}\n","import { defineStore } from 'pinia'\n\n/* Utils */\nimport { filterPointsByTags } from '@/store/delivery/delivery.utils'\n\n/* Constants */\nimport { STATE_OF_MAP } from '@/constants/stateOfMap'\n\n/* Types */\nimport { getDistanceBetweenPoints } from '@/store/delivery/delivery.utils'\nimport { StoreId } from '@/store'\nimport {\n AttentionFactoid,\n DeliveryState,\n} from '@/store/delivery/delivery.types'\nimport {\n DeliveryPage,\n LatLng,\n AreasData,\n AreaProperties,\n PointProperties,\n PointFilter,\n Tag,\n DragCoordinates,\n} from '@/api/modules/delivery/types'\nimport { Seo } from '@/types/main'\nimport { PlacesSearch } from '@/store/delivery/delivery.types'\nimport { StateGeoAddress, StateOfMap } from '@/types/mapServices'\nimport { Success } from '@/api/results'\n\nexport const useDeliveryStore = defineStore({\n id: StoreId.DELIVERY,\n state: (): DeliveryState => ({\n areas: [],\n points: [],\n page: {\n seo: {\n description: undefined,\n title: undefined,\n keywords: undefined,\n },\n title: null,\n pointFilters: [],\n breadcrumbs: [],\n noticeText: null,\n additives: [],\n attentionFactoid: {\n text: null,\n title: null,\n },\n },\n activeTags: [],\n coordinates: [0, 0],\n deliveryAddress: {\n address: {\n place: null,\n address: null,\n },\n state: StateGeoAddress.READY,\n coordinates: [0, 0],\n },\n stateLoadMap: STATE_OF_MAP.loading,\n isLoadingAreas: false,\n }),\n actions: {\n async updateAreas(coords: DragCoordinates) {\n this.isLoadingAreas = true\n\n await this.setAreasByCoords(coords)\n\n this.isLoadingAreas = false\n },\n\n async setAreasByCoords(coords: DragCoordinates) {\n const { $apiService } = useNuxtApp()\n\n const result = await $apiService.delivery.fetchAreasByCoordinates(coords)\n\n if (!(result instanceof Success)) {\n return\n }\n\n this.setAreasData(result.data)\n },\n\n setAreasData(areasData: AreasData | null) {\n if (!areasData) return\n\n this.setPoints(areasData.points)\n this.setAreas(areasData.areas)\n },\n\n setPoints(points: PointProperties[]) {\n this.points = points\n },\n\n setAreas(areas: AreaProperties[]) {\n this.areas = areas\n },\n\n setActiveTags(tags: string[]) {\n this.activeTags = tags\n },\n\n setDeliverySearch(\n place: PlacesSearch,\n address?: SuggestedOfAddress | null,\n ) {\n Object.assign(this.deliveryAddress.address, { place, address })\n },\n\n setStateLoadMap(status: StateOfMap) {\n this.stateLoadMap = status\n },\n\n setDeliveryCoordinates(coords: LatLng) {\n this.deliveryAddress.coordinates = coords\n },\n\n setStateAddress(state: StateGeoAddress) {\n this.deliveryAddress.state = state\n },\n\n setPage(page: DeliveryPage | null) {\n const attentionFactoid: AttentionFactoid = {\n text: page?.factoid_text || '',\n title: page?.factoid_title || '',\n }\n\n this.page.attentionFactoid = attentionFactoid\n\n const seo: Seo = {\n title: page?.title,\n keywords: page?.seo.seo_keywords,\n description: page?.seo.seo_description,\n }\n\n this.page.seo = seo\n\n const defaultEnabledTags = page?.point_filters\n .filter((tag: PointFilter) => tag.enabled)\n .map((tag: PointFilter) => tag.slug)\n\n this.activeTags = defaultEnabledTags || this.activeTags\n\n this.page.additives = page?.additives || this.page?.additives\n\n this.page.breadcrumbs = page?.breadcrumbs || this.page.breadcrumbs\n\n this.page.noticeText = page?.notice_text || this.page.noticeText\n\n this.page.pointFilters = page?.point_filters || this.page.pointFilters\n\n this.page.title = page?.page_title || this.page.title\n\n this.coordinates = page?.coordinates || this.coordinates\n },\n\n setPointsDistance(coordinates: number[]) {\n this.filteredPoints.forEach((point) => {\n const distance = getDistanceBetweenPoints(\n point.coordinates,\n coordinates,\n )\n\n this.setDistanceForPointById({\n distance,\n id: point.id,\n })\n })\n },\n\n setDistanceForPointById({\n id,\n distance,\n }: {\n id: string | number | undefined\n distance: number\n }) {\n if (!this.points) {\n return\n }\n\n const index = this.points.findIndex((feature) => feature.id === id)\n\n this.points[index].distance = distance\n },\n },\n getters: {\n pickupPoints: ({ points }) => filterPointsByTags(points, ['pickup']),\n\n cafePoints: ({ points }) => filterPointsByTags(points, ['cafe']),\n\n filteredPoints: ({ points, activeTags }) =>\n filterPointsByTags(points, activeTags),\n\n filteredTags: ({ page, points, activeTags }) => {\n if (!page) return []\n\n const filteredPoints = filterPointsByTags(points, activeTags) || []\n\n const tagsFromPoints: Tag[] = filteredPoints.flatMap((item) => item.tags)\n\n const uniqTagsFromPoints: string[] = []\n\n /* Собираем названия тэгов */\n for (const tag of tagsFromPoints) {\n /* Добавляем только уникальные тэги */\n if (!uniqTagsFromPoints.includes(tag.slug)) {\n uniqTagsFromPoints.push(tag.slug)\n }\n }\n\n const tagsFromDelivery = page.pointFilters.filter((f) => f.show)\n\n const filteredTagsList: typeof tagsFromDelivery = []\n\n for (const tagFromDelivery of tagsFromDelivery) {\n if (uniqTagsFromPoints.includes(tagFromDelivery.slug)) {\n filteredTagsList.push(tagFromDelivery)\n }\n }\n\n return filteredTagsList\n },\n\n getPointBySlug:\n ({ points }) =>\n (pointSlug: string): PointProperties | null => {\n if (!points) return null\n\n return points.find(({ slug }) => slug === pointSlug) || null\n },\n\n attentionFactoid: ({ page }) => {\n if (page.attentionFactoid.text || page.attentionFactoid.title)\n return page.attentionFactoid\n\n return {\n title: '',\n text: '',\n }\n },\n },\n})\n","import axios from 'axios'\n\n/* Types */\nimport {\n RequestBody,\n SuggestionAddress,\n} from '@/types/api/dadata/suggestionAddress'\n\nconst dadataApi = {\n url: null as null | string,\n config: {},\n init(url: string, apiKey: string) {\n this.url = url\n this.config = {\n headers: {\n authorization: `Token ${apiKey}`,\n },\n }\n return this\n },\n async getSuggestions(\n query: string,\n option?: {\n count?: number\n locations_boost?: string\n from_bound?: string\n bound?: string\n },\n ) {\n try {\n const body: RequestBody = {\n query,\n locations: [\n {\n country: '*',\n },\n ],\n }\n\n if (option) {\n if (option.count) body.count = option.count\n if (option.locations_boost)\n body.locations_boost = option.locations_boost\n if (option.from_bound) body.from_bound = option.from_bound\n if (option.bound) body.bound = option.bound\n }\n\n const result = await axios.post(\n `${this.url}suggest/address`,\n body,\n this.config,\n )\n return result.data.suggestions\n } catch (error) {\n if (error.response?.status) {\n switch (error.response.status) {\n case 400:\n throw new Error(`Некорректный запрос (невалидный JSON или XML)`)\n case 401:\n throw new Error(`В запросе отсутствует API-ключ`)\n case 403:\n throw new Error(`В запросе указан несуществующий API-ключ...`)\n case 405:\n throw new Error(`Запрос сделан с методом, отличным от POST`)\n case 413:\n throw new Error(\n `Слишком большая длина запроса или слишком много условий`,\n )\n case 429:\n throw new Error(`Слишком много запросов в секунду`)\n case error.response.status > 500:\n throw new Error(`Произошла внутренняя ошибка сервиса`)\n default:\n throw new Error(`Произошла ошибка с кодом ${error.response.status}`)\n }\n }\n throw error\n }\n },\n}\nexport default dadataApi\n","/* Types */\nimport {\n AutocompleteService,\n AutocompleteSuggestion,\n} from '@/types/mapServices'\nimport { StateOfAutocomplete } from '@/constants/components/autocomplete'\nimport { Suggestion } from '@/types/api/dadata/suggestionAddress'\n\n/* Utils */\nimport { joinPartsOfAddress } from '@/utils/joinPartsOfAddress'\n\n/* Services */\nimport dadata from '@/services/autocomplete/dadataApi'\n\n/**\n * Формирование полей адреса в одну строку\n * @param suggestion - данные адреса\n */\nexport const makeDadataAddressString = (\n suggestion: Suggestion,\n): string | null => {\n const addressData = suggestion.data\n const region = addressData.region_with_type\n const settlement = addressData.settlement_with_type\n const city =\n (addressData.city !== addressData.region &&\n joinPartsOfAddress([addressData.city_type, addressData.city], ' ')) ||\n ''\n const street = joinPartsOfAddress(\n [addressData.street_type, addressData.street],\n ' ',\n )\n const house = joinPartsOfAddress(\n [\n addressData.house_type,\n addressData.house,\n addressData.block_type,\n addressData.block,\n ],\n ' ',\n )\n\n const address =\n joinPartsOfAddress([city, settlement, street, house]) || region\n\n if (!address) return null\n\n return address\n}\n\n/**\n * Формирование полей адреса в одну короткую строку\n * @param suggestion - данные адреса\n */\nexport const makeShortDadataAddressString = (\n suggestion: Suggestion,\n): string | undefined => {\n const addressData = suggestion.data\n const region = addressData.region_with_type\n const settlement = addressData.settlement_with_type\n const city =\n (addressData.city !== addressData.region &&\n joinPartsOfAddress([addressData.city_type, addressData.city], ' ')) ||\n ''\n const street = joinPartsOfAddress(\n [addressData.street_type, addressData.street],\n ' ',\n )\n const house = joinPartsOfAddress(\n [\n addressData.house_type,\n addressData.house,\n addressData.block_type,\n addressData.block,\n ],\n ' ',\n )\n\n let address = joinPartsOfAddress([settlement, street, house])\n\n if (!address) address = city\n\n if (!address) address = region\n\n if (!address) return undefined\n\n return address\n}\n\n/**\n * Формируем список найденных адресов api\n * @param dadataSuggestions - список адресов\n */\nexport const transformDadataAutocomplete = (\n dadataSuggestions: Suggestion[],\n): AutocompleteSuggestion[] => {\n const autocompleteList: AutocompleteSuggestion[] = []\n\n dadataSuggestions.forEach((suggestion) => {\n const address = makeDadataAddressString(suggestion)\n\n if (address)\n autocompleteList.push({\n value: address,\n })\n })\n\n if (autocompleteList.length === 0) throw new Error(StateOfAutocomplete.EMPTY)\n\n return autocompleteList\n}\n\n/**\n * Получаем список адресов с api dadata\n * @param apiKey - ключ для запроса dadata\n */\nexport const makeDadataAutocompleteService = (\n apiKey: string,\n): AutocompleteService => {\n const dadataApi = dadata.init(\n 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/',\n apiKey,\n )\n async function getSuggestions(\n request: string,\n ): Promise {\n const suggestions = await dadataApi.getSuggestions(request, {\n count: 25,\n bound: 'house',\n })\n return transformDadataAutocomplete(suggestions)\n }\n\n // @ts-ignore\n return { getSuggestions }\n}\n","export class Loader {\n constructor(apiKey = null, options = {}) {\n this.apiKey = apiKey;\n this.options = options;\n if (typeof window === 'undefined') {\n throw new Error('google-maps is supported only in browser environment');\n }\n }\n load() {\n if (typeof this.api !== 'undefined') {\n return Promise.resolve(this.api);\n }\n if (typeof this.loader !== 'undefined') {\n return this.loader;\n }\n window[Loader.CALLBACK_NAME] = () => {\n this.api = window['google'];\n if (typeof this.resolve === 'undefined') {\n throw new Error('Should not happen');\n }\n this.resolve(this.api);\n };\n window['gm_authFailure'] = () => {\n if (typeof this.reject === 'undefined') {\n throw new Error('Should not happen');\n }\n this.reject(new Error('google-maps: authentication error'));\n };\n return this.loader = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n const script = document.createElement('script');\n script.src = this.createUrl();\n script.async = true;\n script.onerror = (e) => reject(e);\n document.head.appendChild(script);\n });\n }\n createUrl() {\n const parameters = [\n `callback=${Loader.CALLBACK_NAME}`,\n ];\n if (this.apiKey) {\n parameters.push(`key=${this.apiKey}`);\n }\n for (let name in this.options) {\n if (this.options.hasOwnProperty(name)) {\n let value = this.options[name];\n if (name === 'version') {\n name = 'v';\n }\n if (name === 'libraries') {\n value = value.join(',');\n }\n parameters.push(`${name}=${value}`);\n }\n }\n return `https://maps.googleapis.com/maps/api/js?${parameters.join('&')}`;\n }\n}\nLoader.CALLBACK_NAME = '_dk_google_maps_loader_cb';\n//# sourceMappingURL=loader.js.map","import { google, Loader } from 'google-maps'\n\n/* Utils */\nimport { joinPartsOfAddress } from '@/utils/joinPartsOfAddress'\n\n/* Types */\nimport {\n AutocompleteService,\n AutocompleteSuggestion,\n} from '@/types/mapServices'\nimport { StateOfAutocomplete } from '@/constants/components/autocomplete'\n\nlet api = null as null | Promise\n\nexport function getGoogleApi(apiKey: string): Promise {\n if (!api) {\n const loader = new Loader(apiKey, {\n libraries: ['places', 'geometry'],\n language: 'ru',\n })\n api = loader.load()\n }\n\n return api\n}\n\nexport function makeGoogleAddressString(\n suggestion: google.maps.places.AutocompletePrediction,\n): string | null {\n const street = suggestion.structured_formatting.main_text.split(', ')[0]\n const house = suggestion.structured_formatting.main_text.split(', ')[1]\n const locality =\n suggestion.structured_formatting.secondary_text.split(', ')[0]\n\n const address = joinPartsOfAddress([locality, street, house], ', ')\n\n if (!address) return null\n\n return address\n}\n\nexport function makeShortGoogleAddressString(\n suggestion: google.maps.places.AutocompletePrediction,\n): string | undefined {\n const street = suggestion.structured_formatting.main_text.split(', ')[0]\n const house = suggestion.structured_formatting.main_text.split(', ')[1]\n const locality =\n suggestion.structured_formatting.secondary_text.split(', ')[0]\n\n const address = joinPartsOfAddress([street, house])\n\n if (!address) return locality\n\n if (!address) return undefined\n\n return address\n}\nexport function transformGoogleAutocomplete(\n googleSuggestions: google.maps.places.AutocompletePrediction[],\n): AutocompleteSuggestion[] {\n const autocompleteList: AutocompleteSuggestion[] = []\n\n googleSuggestions.forEach((suggestion) => {\n const address = makeGoogleAddressString(suggestion)\n const shortAddress = makeShortGoogleAddressString(suggestion)\n\n if (address && shortAddress)\n autocompleteList.push({\n value: address || shortAddress,\n })\n })\n\n if (autocompleteList.length === 0) throw new Error(StateOfAutocomplete.EMPTY)\n\n return autocompleteList\n}\n\nexport async function makeGoogleAutocompleteService(\n apiKey: string,\n): Promise {\n const googleApi = await getGoogleApi(apiKey)\n const autocompleteService = new googleApi.maps.places.AutocompleteService()\n\n function getSuggestions(request: string): Promise {\n return new Promise((resolve, reject) => {\n autocompleteService.getPlacePredictions(\n { input: request, types: ['geocode'] },\n (result: any, status: any) => {\n switch (status) {\n case googleApi.maps.places.PlacesServiceStatus.ZERO_RESULTS:\n case googleApi.maps.places.PlacesServiceStatus.OK:\n try {\n resolve(transformGoogleAutocomplete(result))\n } catch (error) {\n reject(new Error(error))\n }\n break\n default:\n reject(new Error(status))\n }\n },\n )\n })\n }\n\n return {\n getSuggestions,\n }\n}\n","/* Types */\nimport { AutocompleteService } from '@/types/mapServices'\nimport { SuggestionSettings } from '@/store/city/city.types'\n\n/* Services */\nimport { makeDadataAutocompleteService } from '@/services/autocomplete/deliveryDadata'\nimport { makeGoogleAutocompleteService } from '@/services/autocomplete/deliveryGoogle'\n\nlet autocompleteService = null as null | AutocompleteService\n\n// TODO: В будущем все будет заменено на api бэкенда\nexport const autocompleteServiceFactory = async (\n providerData: SuggestionSettings,\n): Promise => {\n switch (providerData.provider) {\n case 'google': {\n autocompleteService = await makeGoogleAutocompleteService(\n providerData.api_key,\n )\n break\n }\n case 'dadata':\n default: {\n autocompleteService = makeDadataAutocompleteService(providerData.api_key)\n }\n }\n return autocompleteService\n}\n\nexport const getAutocompleteService = (\n providerData: SuggestionSettings,\n): Promise => {\n // @ts-ignore\n if (autocompleteService) return autocompleteService\n\n return autocompleteServiceFactory(providerData)\n}\n","/**\n * Преобразование параметров в строку для поиска\n * @param request - строка запроса\n * @param country - страна\n * @param region - регион\n * @param city - город\n */\nexport const serializeToRequest = (\n request: string,\n country: string,\n region: string,\n city: string,\n): string => {\n let fullRequest = request\n\n if (city === 'Адлер') {\n return (fullRequest = `${country}, ${region}, Сочи, ${fullRequest}`)\n }\n\n if (region) {\n const stateReg = new RegExp(region, 'gi')\n\n if (request.search(stateReg) === -1)\n fullRequest = `${region}, ${fullRequest}`\n }\n\n if (city) {\n const cityReg = new RegExp(city, 'gi')\n\n if (request.search(cityReg) === -1) fullRequest = `${city}, ${fullRequest}`\n }\n\n if (country) {\n const countryReg = new RegExp(country, 'gi')\n\n if (request.search(countryReg) === -1)\n fullRequest = `${country}, ${fullRequest}`\n }\n\n return fullRequest\n}\n","import { Breadcrumb, Seo } from '~/types/main'\nimport {\n Additives,\n AreaProperties,\n LatLng,\n PointProperties,\n PointFilter,\n} from '@/api/modules/delivery/types'\nimport { StateGeoAddress, StateOfMap } from '@/types/mapServices'\nimport { SuggestedOfAddress } from '@/api/modules/geo/geocode.types'\n\nexport interface DeliveryState {\n areas: AreaProperties[]\n points: PointProperties[]\n page: Page\n activeTags: string[]\n coordinates: [lat: number, lng: number]\n deliveryAddress: IDeliveryDataAddress\n stateLoadMap: StateOfMap\n isLoadingAreas: boolean\n}\n\nexport interface IDeliveryDataAddress {\n address: DeliveryAddress\n coordinates: LatLng\n state: StateGeoAddress\n}\n\nexport interface DeliveryAddress {\n place: PlacesSearch | null\n address: SuggestedOfAddress | null\n}\n\nexport enum PlacesSearch {\n AUTOCOMPLETE = 'autocomplete',\n MAP = 'map',\n DEFAULT = 'default',\n}\n\nexport interface AttentionFactoid {\n title: string | null\n text: string | null\n}\n\nexport interface Page {\n seo: Seo\n title: string | null\n attentionFactoid: AttentionFactoid\n noticeText: string | null\n additives: Additives[]\n pointFilters: PointFilter[]\n breadcrumbs: Breadcrumb[]\n}\n\nexport enum DeliveryInfoType {\n 'PAYMENT' = 'PAYMENT',\n 'TIME' = 'TIME',\n 'ATTENTION' = 'ATTENTION',\n}\n","\n\n\n\n\n","\n\n\n\n","\n\n\n\n\n","\n\n\n","\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","import { ref, computed, version, h, toRaw, unref, watch } from \"vue\";\nvar VueYandexMaps;\n((VueYandexMaps2) => {\n VueYandexMaps2.settings = safeRef({\n apikey: \"\"\n });\n VueYandexMaps2.isReadyToInit = safeComputed(() => !!VueYandexMaps2.settings.value.apikey);\n VueYandexMaps2.ymaps = () => ymaps3;\n class YandexMapException2 extends Error {\n constructor(message) {\n super(message);\n this.message = message;\n this.name = \"YandexMapException\";\n }\n }\n VueYandexMaps2.YandexMapException = YandexMapException2;\n VueYandexMaps2.loadStatus = safeRef(\"pending\");\n VueYandexMaps2.isLoaded = safeComputed(() => VueYandexMaps2.loadStatus.value === \"loaded\" || VueYandexMaps2.loadStatus.value === \"error\");\n VueYandexMaps2.loadError = safeRef(null);\n})(VueYandexMaps || (VueYandexMaps = {}));\nfunction safeRef(value) {\n if (typeof window === \"undefined\") {\n return {\n // @ts-expect-error SSR workaround\n value,\n __v_isRef: true\n };\n }\n return ref(value);\n}\nfunction safeComputed(getter, debugOptions) {\n if (typeof window === \"undefined\") {\n return {\n get value() {\n return getter();\n },\n // @ts-expect-error SSR workaround\n __v_isRef: true\n };\n }\n return computed(getter, debugOptions);\n}\nfunction sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\nfunction copy(target) {\n target = toRaw(unref(target));\n if (Array.isArray(target)) return target.map((i) => copy(i));\n if (!target || typeof target !== \"object\" || (target == null ? void 0 : target.constructor) !== void 0 && (target == null ? void 0 : target.constructor) !== Object) return target;\n return Object.keys(target).reduce((carry, key) => {\n const val = target[key];\n carry[key] = copy(val);\n return carry;\n }, {});\n}\nfunction isDev() {\n var _a;\n return typeof process !== \"undefined\" && (((_a = process.env) == null ? void 0 : _a.NODE_ENV) === \"development\" || process.dev);\n}\nfunction getException({\n text,\n isInternal,\n warn\n}) {\n if (warn) {\n text = `Warning: ${text}`;\n }\n if (isInternal) {\n text += \" This is likely Vue Yandex Maps internal bug.\";\n if (isDev()) {\n text += \" You can report this bug here: https://github.com/yandex-maps-unofficial/vue-yandex-maps/issues/new/choose\";\n }\n }\n return new VueYandexMaps.YandexMapException(text);\n}\nfunction throwException(settings) {\n const exception = getException(settings);\n if (settings.warn) {\n console.warn(exception);\n } else {\n throw exception;\n }\n}\nfunction excludeKeys(item, ignoreKeys) {\n for (const [key, value] of Object.entries(item)) {\n if (ignoreKeys.includes(key)) delete item[key];\n if (value && typeof value === \"object\" && !Array.isArray(value)) {\n excludeKeys(value, ignoreKeys);\n if (!Object.keys(value).length) delete item[key];\n }\n }\n}\nfunction isVue2() {\n return version.startsWith(\"2\");\n}\nlet fragment;\nasync function setFragment() {\n if (fragment !== void 0) return;\n if (isVue2()) {\n fragment = null;\n return;\n }\n fragment = (await import(\"vue\")).Fragment;\n}\nfunction hF(children, props) {\n if (isVue2()) {\n return h(\"div\", props, children);\n }\n return h(fragment, props, children);\n}\nfunction hVue2(children) {\n if (isVue2() && (children == null ? void 0 : children.length) > 1) {\n return h(\"div\", children);\n }\n return children;\n}\nfunction getAttrsForVueVersion(attrs) {\n if (isVue2()) {\n return { attrs };\n }\n return attrs;\n}\nconst YandexMapException = VueYandexMaps.YandexMapException;\nconst allowedOptionsKeys = {\n apikey: true,\n servicesApikeys: true,\n lang: true,\n initializeOn: true,\n importModules: true,\n version: true,\n strictMode: true,\n domain: true,\n mapsRenderWaitDuration: true,\n mapsScriptWaitDuration: true\n};\nfunction initYmaps() {\n return new Promise((res, rej) => {\n if (typeof ymaps3 !== \"undefined\") {\n if (VueYandexMaps.loadStatus.value !== \"loaded\") VueYandexMaps.loadStatus.value = \"loaded\";\n return res();\n }\n if (typeof window === \"undefined\") return rej(new YandexMapException(\"You must call initYmaps on Client Side only\"));\n if (VueYandexMaps.loadStatus.value === \"loading\") {\n const watcher = watch(VueYandexMaps.loadStatus, (val) => {\n if (!VueYandexMaps.isLoaded.value) return;\n watcher();\n if (val === \"error\") rej(VueYandexMaps.loadError);\n if (val === \"loaded\") res();\n }, {\n immediate: true\n });\n return;\n }\n VueYandexMaps.loadStatus.value = \"loading\";\n const settings = VueYandexMaps.settings.value;\n if (!settings.apikey) {\n throwException({\n text: \"apikey was not set for Yandex Maps initialization. Ensure you have attached needed plugins or called createYmapsOptions with apikey. If you need delayed init, please use VueYandexMaps.isReadyToInit computed as v-if.\"\n });\n }\n const yandexMapScript = document.createElement(\"SCRIPT\");\n const url = new URL(`${settings.domain}/${settings.version}/`);\n url.searchParams.set(\"lang\", settings.lang || \"ru_RU\");\n url.searchParams.set(\"apikey\", settings.apikey);\n yandexMapScript.setAttribute(\"src\", url.toString());\n yandexMapScript.setAttribute(\"async\", \"\");\n yandexMapScript.setAttribute(\"defer\", \"\");\n yandexMapScript.setAttribute(\"type\", \"text/javascript\");\n yandexMapScript.setAttribute(\"id\", \"vue-yandex-maps\");\n document.head.appendChild(yandexMapScript);\n yandexMapScript.onload = async () => {\n try {\n await VueYandexMaps.ymaps().ready;\n if (settings.servicesApikeys && Object.keys(settings.servicesApikeys).length > 0) {\n VueYandexMaps.ymaps().getDefaultConfig().setApikeys(settings.servicesApikeys);\n }\n if (typeof settings.strictMode === \"boolean\") VueYandexMaps.ymaps().strictMode = settings.strictMode;\n if (settings.importModules) {\n await Promise.all(\n settings.importModules.map(\n (module) => VueYandexMaps.ymaps().import(module)\n )\n );\n }\n VueYandexMaps.loadStatus.value = \"loaded\";\n res();\n } catch (e) {\n VueYandexMaps.loadStatus.value = \"error\";\n VueYandexMaps.loadError.value = e;\n rej(e);\n }\n };\n yandexMapScript.onerror = (e) => {\n VueYandexMaps.loadError.value = e;\n rej(e);\n };\n });\n}\nfunction createYmapsOptions(options, ignoreNoCurrentInstance = false) {\n if (VueYandexMaps.isReadyToInit.value) return VueYandexMaps.settings.value;\n const optionsShallowClone = {\n lang: \"ru_RU\",\n initializeOn: \"onComponentMount\",\n importModules: [],\n version: \"v3\",\n strictMode: false,\n domain: \"https://api-maps.yandex.ru\",\n mapsRenderWaitDuration: true,\n mapsScriptWaitDuration: true,\n servicesApikeys: null,\n ...options\n };\n if (!optionsShallowClone.apikey) {\n throwException({\n text: \"You must specify apikey for createYmapsOptions\"\n });\n }\n const notAllowedKeys = Object.keys(optionsShallowClone).filter((key) => !(key in allowedOptionsKeys));\n if (notAllowedKeys.length) {\n throwException({\n text: `You have passed unknown keys to createYmapsOptions: ${notAllowedKeys.join(\", \")}. Only ${Object.keys(allowedOptionsKeys).join(\", \")} are allowed.`\n });\n }\n if (typeof window === \"undefined\") return optionsShallowClone;\n VueYandexMaps.settings.value = optionsShallowClone;\n return optionsShallowClone;\n}\nexport {\n VueYandexMaps as V,\n copy as a,\n hF as b,\n createYmapsOptions as c,\n getAttrsForVueVersion as d,\n excludeKeys as e,\n sleep as f,\n getException as g,\n hVue2 as h,\n initYmaps as i,\n isVue2 as j,\n setFragment as s,\n throwException as t\n};\n","import { t as throwException, g as getException, c as createYmapsOptions, i as initYmaps, V as VueYandexMaps, s as setFragment, a as copy, e as excludeKeys, h as hVue2, b as hF, d as getAttrsForVueVersion, f as sleep, j as isVue2 } from \"./vue-yandex-maps-Yuc-0WOp.js\";\nimport { getCurrentInstance, inject, isRef, watch, defineComponent, shallowRef, ref, provide, computed, onMounted, onBeforeUnmount, nextTick, h, onUpdated } from \"vue\";\nimport './vue-yandex-maps.css';function applyModifier(coords, modifier) {\n const result = {\n x: 0,\n y: 0\n };\n result.x = coords.x * modifier;\n result.y = coords.y * modifier;\n return result;\n}\nfunction applyFunctionModifier(coords, functionModifier) {\n const result = {\n x: 0,\n y: 0\n };\n result.x = functionModifier(coords.x, 1);\n result.y = functionModifier(coords.y, 2);\n return result;\n}\nfunction worldToPixels(coords, modifier) {\n const i = 2 ** modifier / 2 * 256;\n return applyModifier({\n x: coords.x + 1,\n y: 1 - coords.y\n }, i);\n}\nfunction convertWorldCoordinates(projection, coordinates, modifier) {\n const worldCoordinates = projection.toWorldCoordinates(coordinates);\n return worldToPixels(worldCoordinates, modifier);\n}\nfunction pixelsToWorld(coords, modifier) {\n const i = 2 ** modifier / 2 * 256;\n return {\n x: coords.x / i - 1,\n y: 1 - coords.y / i\n };\n}\nfunction findNeededValue(t, e, i) {\n return Math.max(Math.min(t, i), e);\n}\nfunction worldCoordsFromModifier(projection, coords, modifier) {\n const resultCoords = applyFunctionModifier(pixelsToWorld(coords, modifier), (value) => findNeededValue(value, -1, 1 - 1e-15));\n return projection.fromWorldCoordinates(resultCoords);\n}\nfunction convertBounds(projection, bounds, modifier) {\n const topLeft = convertWorldCoordinates(projection, bounds[0], modifier);\n const bottomRight = convertWorldCoordinates(projection, bounds[1], modifier);\n const modified = 2 ** modifier * 256;\n const updatedBounds = [[topLeft.x, topLeft.y], [bottomRight.x, bottomRight.y]];\n if (topLeft.x > bottomRight.x) {\n updatedBounds[0][0] = topLeft.x;\n updatedBounds[1][0] = bottomRight.x + modified;\n }\n if (topLeft.y > bottomRight.y) {\n updatedBounds[0][1] = bottomRight.y;\n updatedBounds[1][1] = topLeft.y;\n }\n return updatedBounds;\n}\nfunction applyMarginToCoords(coords, margin) {\n return {\n x: Math.max(coords.x - (margin ? margin[1] + margin[3] : 0), 1),\n y: Math.max(coords.y - (margin ? margin[0] + margin[2] : 0), 1)\n };\n}\nfunction findZoom(projection, bounds, coords, isSnap, zoomRange) {\n const [[topLeftFirst, topLeftSecond], [bottomRightFirst, bottomRightSecond]] = convertBounds(projection, bounds, 0);\n const firstCalc = Math.max(Math.abs(bottomRightFirst - topLeftFirst), 1e-10);\n const secondCalc = Math.max(Math.abs(bottomRightSecond - topLeftSecond), 1e-10);\n const zoom = findNeededValue(Math.min(Math.log2(coords.x / firstCalc), Math.log2(coords.y / secondCalc)), zoomRange.min, zoomRange.max);\n return isSnap ? Math.floor(zoom + 1e-6) : zoom;\n}\nfunction findCenter(projection, bounds, zoom) {\n const [[topLeftFirst, topLeftSecond], [bottomRightFirst, bottomRightSecond]] = convertBounds(projection, bounds, zoom);\n return worldCoordsFromModifier(projection, {\n x: (topLeftFirst + bottomRightFirst) / 2,\n y: (topLeftSecond + bottomRightSecond) / 2\n }, zoom);\n}\nasync function getLocationFromBounds({\n bounds,\n map,\n roundZoom,\n comfortZoomLevel\n}) {\n var _a;\n const ctxMap = Object.keys(map).find((x) => x.endsWith(\"CtxMap\"));\n if (!ctxMap) {\n throwException({\n text: \"CtxMap was not found in useYMapsGetCenterAndZoomFromBounds\",\n isInternal: true\n });\n }\n const ctx = map[ctxMap];\n const ctxItem = await new Promise((resolve, reject) => {\n ctx.forEach((item, { name }) => {\n if (name !== \"map\") return;\n resolve(item);\n });\n reject(getException({\n text: \"Map item was not found in useYMapsGetCenterAndZoomFromBounds\",\n isInternal: true\n }));\n });\n const ctxItemMapKey = Object.keys(ctxItem).find((x) => x.endsWith(\"_context\"));\n if (!ctxItemMapKey) {\n throwException({\n text: \"CtxMapKey was not found in useYMapsGetCenterAndZoomFromBounds\",\n isInternal: true\n });\n }\n const ctxItemMap = ctxItem[ctxItemMapKey].map;\n const boundsFunc = ctxItemMap.setBounds.toString();\n const funcKey = (_a = boundsFunc.split(\"const{center:e,zoom:i}=\")[1]) == null ? void 0 : _a.split(\"(\")[0];\n if (!funcKey) {\n throwException({\n text: \"funcKey was not found in useYMapsGetCenterAndZoomFromBounds\",\n isInternal: true\n });\n }\n const projection = ctxItemMap.projection;\n const size = ctxItemMap.size;\n const margin = ctxItemMap.margin;\n const isSnap = ctxItemMap.effectiveZoomRounding === \"snap\";\n const zoomRange = ctxItemMap.zoomRange;\n let zoom = findZoom(projection, bounds, applyMarginToCoords(size, margin), isSnap, zoomRange);\n const center = findCenter(projection, bounds, zoom);\n if (roundZoom || comfortZoomLevel) {\n const originalZoom = zoom;\n let roundedZoom = Math[typeof roundZoom === \"string\" ? roundZoom : \"floor\"](zoom);\n if (roundZoom) zoom = roundedZoom;\n if (comfortZoomLevel) {\n const userSettings = typeof comfortZoomLevel === \"object\" ? comfortZoomLevel : {};\n if (userSettings.roundStrategy) roundedZoom = Math[userSettings.roundStrategy](originalZoom);\n const diff2 = originalZoom - roundedZoom;\n const settings = {\n diff: 0.5,\n correction: 1,\n ...userSettings\n };\n if (diff2 < settings.diff) {\n zoom -= settings.correction;\n }\n }\n }\n return {\n zoom,\n center\n };\n}\nconst useYMapsLocationFromBounds = getLocationFromBounds;\nfunction getCenterFromCoords(coordinates) {\n if (coordinates.length === 1) return coordinates[0];\n if (!coordinates.length) {\n throwException({\n text: \"Invalid parameters in getCenterFromCoords: you must pass at least one LngLat\"\n });\n }\n const sum = coordinates.reduce(([accLng, accLat], [lng, lat]) => [\n accLng + lng,\n accLat + lat\n ], [0, 0]);\n return [\n sum[0] / coordinates.length,\n sum[1] / coordinates.length\n ];\n}\nfunction getBoundsFromCoords(coordinates) {\n if (coordinates.length < 2) {\n throwException({\n text: \"Invalid parameters in getBoundsFromCoords: you must pass at least two LngLat\"\n });\n }\n const {\n minLongitude,\n minLatitude,\n maxLongitude,\n maxLatitude\n } = coordinates.reduce(\n (acc, [longitude, latitude]) => ({\n minLongitude: Math.min(acc.minLongitude, longitude),\n minLatitude: Math.min(acc.minLatitude, latitude),\n maxLongitude: Math.max(acc.maxLongitude, longitude),\n maxLatitude: Math.max(acc.maxLatitude, latitude)\n }),\n {\n minLongitude: Infinity,\n minLatitude: Infinity,\n maxLongitude: -Infinity,\n maxLatitude: -Infinity\n }\n );\n return [[minLongitude, minLatitude], [maxLongitude, maxLatitude]];\n}\nfunction createYmaps(settings) {\n return {\n install(app) {\n createYmapsOptions(settings);\n if (settings.initializeOn === \"onPluginInit\") {\n initYmaps().catch(console.error);\n }\n }\n };\n}\nfunction createYmapsVue2(settings) {\n return {\n install(Vue) {\n createYmapsOptions(settings);\n if (settings.initializeOn === \"onPluginInit\") {\n initYmaps().catch(console.error);\n }\n }\n };\n}\nconst isDate = (d) => d instanceof Date;\nconst isEmpty = (o) => Object.keys(o).length === 0;\nconst isObject = (o) => o != null && typeof o === \"object\";\nconst hasOwnProperty = (o, ...args) => Object.prototype.hasOwnProperty.call(o, ...args);\nconst isEmptyObject = (o) => isObject(o) && isEmpty(o);\nconst makeObjectWithoutPrototype = () => /* @__PURE__ */ Object.create(null);\nconst diff = (lhs, rhs) => {\n if (lhs === rhs) return {};\n if (!isObject(lhs) || !isObject(rhs)) return rhs;\n const deletedValues = Object.keys(lhs).reduce((acc, key) => {\n if (!hasOwnProperty(rhs, key)) {\n acc[key] = void 0;\n }\n return acc;\n }, makeObjectWithoutPrototype());\n if (isDate(lhs) || isDate(rhs)) {\n if (lhs.valueOf() == rhs.valueOf()) return {};\n return rhs;\n }\n return Object.keys(rhs).reduce((acc, key) => {\n if (!hasOwnProperty(lhs, key)) {\n acc[key] = rhs[key];\n return acc;\n }\n const difference = diff(lhs[key], rhs[key]);\n if (isEmptyObject(difference) && !isDate(difference) && (isEmptyObject(lhs[key]) || !isEmptyObject(rhs[key])))\n return acc;\n acc[key] = difference;\n return acc;\n }, deletedValues);\n};\nfunction injectMap() {\n if (!getCurrentInstance()) {\n throwException({\n text: \"injectMap must be only called on runtime.\",\n isInternal: true\n });\n }\n const map = inject(\"map\");\n if (!map || !isRef(map)) {\n throwException({\n text: \"Was not able to inject valid map in injectMap.\",\n isInternal: true\n });\n }\n return map;\n}\nfunction injectLayers() {\n if (!getCurrentInstance()) {\n throwException({\n text: \"injectLayers must be only called on runtime.\",\n isInternal: true\n });\n }\n const layers = inject(\"layers\");\n if (!layers || !isRef(layers)) {\n throwException({\n text: \"Was not able to inject valid layers in injectLayers.\",\n isInternal: true\n });\n }\n return layers;\n}\nasync function waitTillYmapInit({\n timeoutCallback,\n waitDuration\n} = {}) {\n if (typeof window === \"undefined\") {\n throwException({\n text: \"waitTillYmapInit cannot be called on SSR.\",\n isInternal: true\n });\n }\n if (typeof ymaps3 !== \"undefined\") return;\n return new Promise((resolve, reject) => {\n if (typeof ymaps3 === \"undefined\") {\n let timeout;\n waitDuration = typeof waitDuration !== \"undefined\" ? waitDuration : VueYandexMaps.settings.value.mapsScriptWaitDuration;\n if (waitDuration !== false) {\n timeout = setTimeout(() => {\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, true);\n reject(new VueYandexMaps.YandexMapException(\"Was not able to wait for map initialization in waitTillYmapInit. Ensure that map was initialized. You can change this behavior by using mapsScriptWaitDuration.\"));\n }, typeof waitDuration === \"number\" ? waitDuration : 5e3);\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, false);\n }\n watch(VueYandexMaps.isLoaded, () => {\n if (timeout) {\n clearTimeout(timeout);\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, true);\n }\n if (VueYandexMaps.loadStatus.value === \"loaded\") {\n resolve();\n } else {\n reject(VueYandexMaps.loadError);\n }\n }, {\n immediate: true\n });\n } else {\n resolve();\n }\n });\n}\nasync function waitTillMapInit({\n map: _map,\n timeoutCallback,\n waitDuration\n} = {}) {\n if (!_map && !getCurrentInstance()) {\n throwException({\n text: \"onMapInit must be only called on runtime.\",\n isInternal: true\n });\n }\n if (typeof window === \"undefined\") {\n throwException({\n text: \"waitTillMapInit cannot be called on SSR.\",\n isInternal: true\n });\n }\n const map = _map || injectMap();\n if (map.value) return;\n return new Promise((resolve, reject) => {\n let timeout;\n waitDuration = typeof waitDuration !== \"undefined\" ? waitDuration : VueYandexMaps.settings.value.mapsRenderWaitDuration;\n if (waitDuration !== false) {\n timeout = setTimeout(() => {\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, true);\n reject(new VueYandexMaps.YandexMapException(\"Was not able to wait for map initialization in waitTillMapInit. You can change this behavior by using mapsRenderWaitDuration.\"));\n }, typeof waitDuration === \"number\" ? waitDuration : 5e3);\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, false);\n }\n let watcher;\n watcher = watch(map, () => {\n if (map.value) {\n watcher == null ? void 0 : watcher();\n if (timeout) {\n clearTimeout(timeout);\n timeoutCallback == null ? void 0 : timeoutCallback(timeout, true);\n }\n resolve();\n }\n }, {\n immediate: true\n });\n });\n}\nfunction deleteMapChild({\n children,\n isMercator,\n root\n}) {\n var _a;\n if (!root) {\n throwException({\n text: \"Failed to execute deleteMapChild due to destroyed root\",\n isInternal: true\n });\n }\n if (children && !isMercator) {\n if (typeof (root == null ? void 0 : root.value) === \"object\" && Array.isArray(root.value)) {\n root.value = root.value.filter((x) => x !== children);\n } else {\n (_a = root.value) == null ? void 0 : _a.removeChild(children);\n }\n } else if (root.value && children && isMercator && \"update\" in root.value) {\n root.value.update({\n projection: void 0\n });\n }\n}\nconst _sfc_main$p = defineComponent({\n name: \"YandexMap\",\n props: {\n modelValue: {\n type: Object,\n default: null\n },\n value: {\n type: Object,\n default: null\n },\n tag: {\n type: String,\n default: \"div\"\n },\n width: {\n type: String,\n default: \"100%\"\n },\n height: {\n type: String,\n default: \"100%\"\n },\n // z-index for Map Container. Without this, elements of the map will be displayed under your site's elements due to high z-index inside of them\n zIndex: {\n type: Number,\n default: 0\n },\n /**\n * @description Settings for cart initialization.,\n *\n * You can modify this object or use map methods, such as setLocation/setBehaviors e.t.c.\n * @see https://yandex.ru/dev/maps/jsapi/doc/3.0/dg/concepts/map.html#map-parms\n * @see https://yandex.com/dev/maps/jsapi/doc/3.0/dg/concepts/map.html#map-parms\n */\n settings: {\n type: Object,\n required: true\n },\n /**\n * @description Makes settings readonly. Enable this if reactivity causes problems\n */\n readonlySettings: {\n type: Boolean,\n default: false\n },\n /**\n * @description Always inserts actual user center or bounds (based on your input) on every location change\n * @note This prop will cause user location change on every settings update (if user did move since last time). Use it with caution.\n */\n realSettingsLocation: {\n type: Boolean,\n default: false\n },\n /**\n * @description You can also add layers through components\n *\n * Modifying this object after mount will cause no effect.\n *\n * Instead, please use map methods, such as addChild.\n * @see https://yandex.ru/dev/maps/jsapi/doc/3.0/dg/concepts/map.html#layers\n * @see https://yandex.com/dev/maps/jsapi/doc/3.0/dg/concepts/map.html#layers\n */\n layers: {\n type: Array,\n default: () => []\n },\n /**\n * @description Adds cursor: grab/grabbing to ymaps scheme layer\n */\n cursorGrab: {\n type: Boolean,\n default: false\n }\n },\n /**\n * @description Other events are NOT available. You can listen to events via layers prop, addChildren prop or by adding as children.\n * @see https://yandex.ru/dev/maps/jsapi/doc/3.0/dg/concepts/events.html\n * @see https://yandex.com/dev/maps/jsapi/doc/3.0/dg/concepts/events.html\n */\n emits: {\n \"input\"(map) {\n return !map || typeof ymaps3 === \"undefined\" || map instanceof ymaps3.YMap;\n },\n \"update:modelValue\"(map) {\n return !map || typeof ymaps3 === \"undefined\" || map instanceof ymaps3.YMap;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const map = shallowRef(null);\n const mapRef = shallowRef(null);\n const layers = shallowRef([]);\n const projection = shallowRef(null);\n const ymapContainer = shallowRef(null);\n const mounted = shallowRef(false);\n const needsToHold = ref(0);\n provide(\"map\", map);\n provide(\"layers\", layers);\n provide(\"projection\", projection);\n provide(\"needsToHold\", needsToHold);\n emit(\"input\", null);\n emit(\"update:modelValue\", null);\n const getSettings = computed(() => ({\n ...props.settings,\n projection: void 0\n }));\n const init = async () => {\n if (!props.settings.location) {\n throwException({\n text: \"You must specify location in YandexMap settings\"\n });\n }\n if (map.value) map.value.destroy();\n const container = ymapContainer.value;\n if (!container) return;\n const settings = getSettings.value;\n if (projection.value) settings.projection = projection.value;\n map.value = new ymaps3.YMap(container, settings, [\n ...layers.value,\n ...props.layers\n ]);\n emit(\"input\", map.value);\n emit(\"update:modelValue\", map.value);\n };\n onMounted(async () => {\n let listener;\n let watcher;\n let cursorGrabTimeout = null;\n onBeforeUnmount(() => {\n if (cursorGrabTimeout) clearTimeout(cursorGrabTimeout);\n });\n const setupWatcher = () => {\n watcher == null ? void 0 : watcher();\n let settings = copy(getSettings);\n watcher = watch(getSettings, (val) => {\n var _a;\n if (!map.value) return;\n const clonedSettings = copy(val);\n if (props.realSettingsLocation && clonedSettings.location) {\n if (\"center\" in clonedSettings.location && \"center\" in settings.location) {\n settings.location.center = map.value.center;\n } else if (\"bounds\" in clonedSettings.location && \"bounds\" in settings.location) {\n settings.location.bounds = map.value.bounds;\n }\n if (\"zoom\" in clonedSettings.location && \"zoom\" in settings.location) settings.location.zoom = map.value.zoom;\n }\n const settingsDiff = Object.keys(diff(settings, clonedSettings));\n if (settingsDiff.length === 0) return;\n const updatedSettings = { ...clonedSettings };\n for (const key in updatedSettings) {\n if (!settingsDiff.includes(key)) delete updatedSettings[key];\n }\n settings = clonedSettings;\n (_a = map.value) == null ? void 0 : _a.update(updatedSettings);\n }, {\n deep: true\n });\n };\n if (!props.readonlySettings) {\n setupWatcher();\n }\n watch(() => props.readonlySettings, (val) => {\n if (!val) {\n watcher == null ? void 0 : watcher();\n } else {\n setupWatcher();\n }\n });\n watch(() => props.cursorGrab, async (val) => {\n await waitTillMapInit({\n map,\n timeoutCallback: (_timeout, isDelete) => {\n if (isDelete) {\n cursorGrabTimeout = null;\n } else {\n cursorGrabTimeout = _timeout;\n }\n }\n }).catch(() => {\n });\n if (!map.value) return;\n if (val) {\n listener = new ymaps3.YMapListener({\n onActionStart: (e) => {\n var _a;\n if (e.type === \"drag\" && props.cursorGrab) (_a = mapRef.value) == null ? void 0 : _a.classList.add(\"__ymap--grabbing\");\n },\n onActionEnd: (e) => {\n var _a;\n if (e.type === \"drag\") (_a = mapRef.value) == null ? void 0 : _a.classList.remove(\"__ymap--grabbing\");\n }\n });\n map.value.addChild(listener);\n } else if (listener) map.value.removeChild(listener);\n }, { immediate: true });\n await setFragment();\n if (!VueYandexMaps.isLoaded.value) {\n if (VueYandexMaps.settings.value.initializeOn === \"onComponentMount\") {\n try {\n await initYmaps();\n } catch (e) {\n console.error(\"An error occured while initializing Yandex Map with onComponentMount setting\");\n console.error(e);\n return;\n }\n } else if (VueYandexMaps.loadStatus.value === \"loading\" || VueYandexMaps.settings.value.initializeOn === \"onPluginInit\") {\n if (VueYandexMaps.settings.value.initializeOn === \"onPluginInit\" && VueYandexMaps.loadStatus.value !== \"loading\") await nextTick();\n await initYmaps();\n }\n if (!VueYandexMaps.isLoaded.value) {\n throwException({\n text: \"You have set up component without initializing Yandex maps. Please check initializeOn setting or call initYmaps manually before registering this component.\"\n });\n }\n }\n mounted.value = true;\n await nextTick();\n if (needsToHold.value) {\n await new Promise((resolve) => watch(needsToHold, () => {\n if (!needsToHold.value) resolve();\n }, {\n immediate: true\n }));\n }\n await init();\n });\n onBeforeUnmount(() => {\n map.value = null;\n emit(\"input\", map.value);\n emit(\"update:modelValue\", map.value);\n });\n return () => {\n var _a;\n const mapNodeProps = {\n class: [\n \"__ymap\",\n {\n \"__ymap--grab\": props.cursorGrab\n }\n ],\n ref: mapRef,\n style: {\n width: props.width,\n height: props.height,\n \"z-index\": props.zIndex.toString()\n }\n };\n const containerNode = h(\"div\", {\n class: \"__ymap_container\",\n ref: ymapContainer\n });\n const slotsNodeProps = {\n class: \"__ymap_slots\",\n style: { display: \"none\" }\n };\n if (!mounted.value) return h(props.tag, mapNodeProps, [containerNode, h(\"div\", slotsNodeProps)]);\n return h(props.tag, mapNodeProps, [\n containerNode,\n h(\"div\", slotsNodeProps, (_a = slots.default) == null ? void 0 : _a.call(slots, {}))\n ]);\n };\n }\n});\nasync function setupMapChildren({\n returnOnly,\n willDeleteByHand,\n strictMapRoot,\n requiredImport,\n createFunction,\n settings,\n settingsUpdateIgnoreKeys,\n isLayer,\n isMercator,\n isMapRoot,\n mapRootRef,\n duplicateInit\n}) {\n if (!getCurrentInstance()) {\n throwException({\n text: \"setupMapChildren must be only called on runtime.\",\n isInternal: true\n });\n }\n const children = shallowRef();\n const mapRoot = inject(\"mapRoot\", null);\n const initPromises = inject(\"mapRootInitPromises\", null);\n let childrenPromises;\n const map = injectMap();\n const layers = injectLayers();\n let timeouts = null;\n const timeoutCallback = (timeout, isDelete) => {\n if (!timeouts) timeouts = /* @__PURE__ */ new Set();\n if (!isDelete) timeouts.add(timeout);\n else timeouts.delete(timeout);\n };\n if (isMapRoot && !duplicateInit) {\n provide(\"mapRoot\", mapRootRef || children);\n childrenPromises = shallowRef([]);\n provide(\"mapRootInitPromises\", childrenPromises);\n }\n if (!returnOnly && !willDeleteByHand) {\n onBeforeUnmount(() => {\n if (children.value) {\n deleteMapChild({\n children: children.value,\n isMercator,\n root: (mapRoot == null ? void 0 : mapRoot.value) ? mapRoot : map\n });\n }\n if (timeouts == null ? void 0 : timeouts.size) {\n timeouts.forEach((timeout) => clearTimeout(timeout));\n timeouts.clear();\n }\n });\n }\n if (settings) {\n let lastSettings = copy(settings);\n watch(settings, (value) => {\n if (!value) return;\n const settingsDiff = Object.keys(diff(lastSettings, value));\n if (settingsDiff.length === 0) return;\n const updatedSettings = copy(value);\n for (const key in updatedSettings) {\n if (!settingsDiff.includes(key)) delete updatedSettings[key];\n }\n const ignoreKeys = settingsUpdateIgnoreKeys && (isRef(settingsUpdateIgnoreKeys) ? settingsUpdateIgnoreKeys.value : settingsUpdateIgnoreKeys);\n if (ignoreKeys) excludeKeys(updatedSettings, ignoreKeys);\n if (Object.keys(updatedSettings).length === 0) return;\n lastSettings = copy(value);\n if (children.value && \"update\" in children.value) children.value.update(updatedSettings);\n }, { deep: true });\n }\n if (!isLayer && !isMercator) {\n await waitTillMapInit({ timeoutCallback });\n if (!map.value) {\n throwException({\n text: \"map is undefined in setupMapChildren. Please verify that Yandex Maps were initialized successfully and you only use components inside .\"\n });\n }\n } else {\n await waitTillYmapInit({ timeoutCallback });\n }\n if (strictMapRoot) {\n if (!(mapRoot == null ? void 0 : mapRoot.value)) await nextTick();\n if (!(mapRoot == null ? void 0 : mapRoot.value)) {\n throwException({\n text: `mapRoot is undefined in setupMapChildren. Please verify that you are using component inside it's root: for example, don't use Controls outside .`\n });\n }\n }\n if (isMapRoot) {\n await nextTick();\n await Promise.all((childrenPromises == null ? void 0 : childrenPromises.value) || []);\n }\n let importData;\n if (requiredImport) {\n const importPromise = requiredImport();\n if (initPromises == null ? void 0 : initPromises.value) initPromises.value.push(Promise.resolve(importPromise));\n importData = await importPromise;\n }\n children.value = createFunction(importData);\n if (!returnOnly && map.value && !isMercator) {\n if (initPromises == null ? void 0 : initPromises.value) {\n await Promise.all(initPromises.value);\n if (!requiredImport) await nextTick();\n }\n if (typeof (mapRoot == null ? void 0 : mapRoot.value) === \"object\" && Array.isArray(mapRoot.value)) {\n mapRoot.value = [\n ...mapRoot.value,\n children.value\n ];\n } else {\n ((mapRoot == null ? void 0 : mapRoot.value) || map.value).addChild(children.value);\n }\n } else if (isLayer) {\n layers.value.push(children.value);\n } else if (isMercator && map.value) {\n map.value.update({\n projection: children.value\n });\n }\n return children.value;\n}\nconst _sfc_main$o = defineComponent({\n name: \"YandexMapListener\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapListener;\n onMounted(async () => {\n mapListener = await setupMapChildren({\n createFunction: () => new ymaps3.YMapListener(props.settings || {}),\n settings: computed(() => props.settings)\n });\n emit(\"input\", mapListener);\n emit(\"update:modelValue\", mapListener);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$n = defineComponent({\n name: \"YandexMapDefaultFeaturesLayer\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapLayer;\n onMounted(async () => {\n mapLayer = await setupMapChildren({\n createFunction: () => new ymaps3.YMapDefaultFeaturesLayer(props.settings || {}),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapLayer);\n emit(\"update:modelValue\", mapLayer);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$m = defineComponent({\n name: \"YandexMapDefaultSchemeLayer\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapLayer;\n onMounted(async () => {\n mapLayer = await setupMapChildren({\n createFunction: () => new ymaps3.YMapDefaultSchemeLayer(props.settings || {}),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapLayer);\n emit(\"update:modelValue\", mapLayer);\n hold.value--;\n });\n return () => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, {});\n };\n }\n});\nconst _sfc_main$l = defineComponent({\n name: \"YandexMapDefaultSatelliteLayer\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapLayer;\n onMounted(async () => {\n mapLayer = await setupMapChildren({\n createFunction: () => new ymaps3.YMapDefaultSatelliteLayer(props.settings || {}),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapLayer);\n emit(\"update:modelValue\", mapLayer);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$k = defineComponent({\n name: \"YandexMapTileDataSource\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapChildren;\n onMounted(async () => {\n if (!props.settings.id) {\n throwException({\n text: \"You must specify id in YandexMapTileDataSource settings\"\n });\n }\n mapChildren = await setupMapChildren({\n createFunction: () => new ymaps3.YMapTileDataSource(props.settings),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$j = defineComponent({\n name: \"YandexMapFeatureDataSource\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapChildren;\n onMounted(async () => {\n if (!props.settings.id) {\n throwException({\n text: \"You must specify id in YandexMapFeatureDataSource settings\"\n });\n }\n mapChildren = await setupMapChildren({\n createFunction: () => new ymaps3.YMapFeatureDataSource(props.settings),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$i = defineComponent({\n name: \"YandexMapLayer\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n let mapLayer;\n onMounted(async () => {\n if (!props.settings.type) {\n throwException({\n text: \"You must specify type in YandexMapLayer settings\"\n });\n }\n mapLayer = await setupMapChildren({\n createFunction: () => new ymaps3.YMapLayer(props.settings || {}),\n settings: computed(() => props.settings),\n isLayer: true\n });\n emit(\"input\", mapLayer);\n emit(\"update:modelValue\", mapLayer);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nfunction getMarkerContainerProps({\n position,\n containerAttrs,\n wrapperAttrs,\n zeroSizes\n}) {\n const root = {\n class: [\"__ymap-marker\"],\n style: {}\n };\n const children = {\n class: [\"__ymap-marker_wrapper\"],\n style: {}\n };\n const isDefaultPosition = position === \"default\" || position === \"default default\";\n if (position && !isDefaultPosition) {\n if (position.startsWith(\"translate\")) {\n children.style.transform = position;\n } else {\n let translateX = 0;\n let translateY = 0;\n const splitted = position.split(\" \");\n for (let i = 0; i < splitted.length; i++) {\n let local = 0;\n const item = splitted[i];\n switch (item) {\n case \"top\":\n case \"left\":\n local = -100;\n break;\n case \"top-center\":\n case \"left-center\":\n local = -50;\n break;\n case \"bottom\":\n case \"right\":\n local = 100;\n break;\n case \"bottom-center\":\n case \"right-center\":\n local = 50;\n break;\n default:\n local = 0;\n }\n if (item.startsWith(\"left\") || item.startsWith(\"right\")) translateX = local;\n else translateY = local;\n }\n children.style.transform = `translate(${translateX}%, ${translateY}%)`;\n }\n }\n if (zeroSizes === true || zeroSizes !== false && position && !isDefaultPosition) {\n root.style.width = \"0\";\n root.style.height = \"0\";\n if (children.style.transform) children.style.width = \"fit-content\";\n }\n const attrs = {\n root: { ...containerAttrs ?? {} },\n children: { ...wrapperAttrs ?? {} }\n };\n for (const [key, value] of Object.entries(attrs)) {\n const obj = key === \"root\" ? root : children;\n if (value.class) {\n if (!Array.isArray(value.class)) value.class = [value.class];\n value.class = [\n ...obj.class,\n ...value.class\n ];\n }\n if (value == null ? void 0 : value.style) {\n if (typeof value.style !== \"object\" || Array.isArray(value.style)) {\n console.warn(`Style property was given in ${key} of marker, but it is not an object. Style of this prop can only be an object, therefore it was ignored.`);\n } else {\n value.style = {\n ...obj.style,\n ...value.style\n };\n }\n }\n Object.assign(obj, value);\n }\n return {\n root,\n children\n };\n}\nfunction excludeYandexMarkerProps(props) {\n props = { ...props };\n const toExclude = {\n position: true,\n containerAttrs: true,\n wrapperAttrs: true,\n zeroSizes: true\n };\n for (const excluded in toExclude) {\n if (excluded in props) delete props[excluded];\n }\n return props;\n}\nconst _sfc_main$h = defineComponent({\n name: \"YandexMapMarker\",\n inheritAttrs: false,\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n },\n /**\n * @description Sets translate(%, %) to marker to align it properly.\n *\n * If you want to make aligment to be like Yandex Maps 2.0, set this property to \"top left-center\".\n * @default default (as goes in Yandex by default)\n */\n position: {\n type: String\n },\n /**\n * @description Allows you to add any attributes to
container.\n *\n * Important: to pass styles, you must use object-style prop instead of string.\n */\n containerAttrs: {\n type: Object,\n default: () => ({})\n },\n /**\n * @description Allows you to add any attributes to
container.\n *\n * Important: to pass styles, you must use object-style prop instead of string.\n */\n wrapperAttrs: {\n type: Object,\n default: () => ({})\n },\n /**\n * @description Will add width and height: 0 to container.\n *\n * Null enables default behavior, false disables it completely (even if position is specified).\n *\n * @default true if position is specified, false otherwise\n */\n zeroSizes: {\n type: Boolean,\n default: null\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const element = ref(null);\n function clearElement() {\n var _a, _b, _c;\n if (!((_b = (_a = element.value) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.closest(\"ymaps\"))) (_c = element.value) == null ? void 0 : _c.remove();\n }\n onMounted(async () => {\n if (!props.settings.coordinates) {\n throwException({\n text: \"You must specify coordinates in YandexMapMarker settings\"\n });\n }\n mapChildren = await setupMapChildren({\n settings: computed(() => props.settings),\n createFunction: () => new ymaps3.YMapMarker(props.settings, element.value)\n });\n clearElement();\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n let mapParent = void 0;\n onUpdated(() => {\n var _a, _b, _c, _d;\n if (!mapParent && ((_b = (_a = element.value) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.closest(\"ymaps\"))) mapParent = element.value.parentElement;\n else if (mapParent && element.value && !((_d = (_c = element.value) == null ? void 0 : _c.parentElement) == null ? void 0 : _d.closest(\"ymaps\"))) mapParent.appendChild(element.value);\n clearElement();\n });\n const rootProps = computed(() => getMarkerContainerProps({\n position: props.position,\n containerAttrs: props.containerAttrs,\n wrapperAttrs: props.wrapperAttrs,\n zeroSizes: props.zeroSizes\n }));\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ...rootProps.value.root,\n ref: element,\n ...getAttrsForVueVersion(attrs)\n }, [\n h(\"div\", {\n ...rootProps.value.children\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, {}))\n ])\n ]);\n };\n }\n});\nconst _sfc_main$g = defineComponent({\n name: \"YandexMapDefaultMarker\",\n inheritAttrs: false,\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const popup = ref(null);\n const closeFunc = ref(() => {\n });\n const contentFunc = (close) => {\n closeFunc.value = close;\n return popup.value;\n };\n const getSettings = computed(() => {\n const settings = { ...props.settings };\n if (settings.popup && (typeof settings.popup.content === \"undefined\" || settings.popup.content === \"fromSlot\") && popup.value) {\n settings.popup = {\n ...settings.popup,\n content: contentFunc\n };\n }\n return settings;\n });\n onMounted(async () => {\n if (!props.settings.coordinates) {\n throwException({\n text: \"You must specify coordinates in YandexMapDefaultMarker settings\"\n });\n }\n mapChildren = await setupMapChildren({\n createFunction: ({ YMapDefaultMarker: Marker }) => new Marker(getSettings.value),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-markers@0.0.1\"),\n settings: getSettings\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n watch(popup, () => {\n var _a;\n if (popup.value) (_a = popup.value.parentNode) == null ? void 0 : _a.removeChild(popup.value);\n });\n return () => {\n var _a;\n if (slots.popup) {\n return hF([\n h(\"div\", {\n ref: popup\n }, (_a = slots.popup) == null ? void 0 : _a.call(slots, { close: closeFunc.value }))\n ]);\n }\n return void 0;\n };\n }\n});\nconst _sfc_main$f = defineComponent({\n name: \"YandexMapFeature\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapChildren;\n onMounted(async () => {\n if (!props.settings.geometry) {\n throwException({\n text: \"You must specify geometry in YandexMapFeature settings\"\n });\n }\n mapChildren = await setupMapChildren({\n createFunction: () => new ymaps3.YMapFeature(props.settings),\n settings: computed(() => props.settings)\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$e = defineComponent({\n name: \"YandexMapControls\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const mapChildren = shallowRef(null);\n onMounted(async () => {\n if (!props.settings.position) {\n throwException({\n text: \"You must specify position in YandexMapControls settings\"\n });\n }\n mapChildren.value = await setupMapChildren({\n createFunction: () => new ymaps3.YMapControls(props.settings),\n isMapRoot: true,\n settings: computed(() => props.settings)\n });\n emit(\"input\", mapChildren.value);\n emit(\"update:modelValue\", mapChildren.value);\n });\n return () => {\n var _a;\n return mapChildren.value ? hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {})) : h(\"div\");\n };\n }\n});\nconst _sfc_main$d = defineComponent({\n name: \"YandexMapControl\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const element = ref(null);\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: () => {\n const control = new ymaps3.YMapControl(props.settings);\n class YMapSomeController extends ymaps3.YMapEntity {\n _onAttach() {\n this._element = element.value;\n this._detachDom = ymaps3.useDomContext(this, this._element);\n }\n _onDetach() {\n this._detachDom();\n this._detachDom = null;\n this._element = null;\n }\n }\n control.addChild(new YMapSomeController({}));\n return control;\n },\n settings: computed(() => props.settings),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ref: element,\n ...getAttrsForVueVersion(attrs)\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, {}))\n ]);\n };\n }\n});\nconst _sfc_main$c = defineComponent({\n name: \"YandexMapControlButton\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const element = ref(null);\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: () => new ymaps3.YMapControlButton({\n ...props.settings,\n element: element.value\n }),\n settings: computed(() => ({\n ...props.settings,\n element: element.value\n })),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ref: element,\n ...getAttrsForVueVersion(attrs)\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, {}))\n ]);\n };\n }\n});\nconst _sfc_main$b = defineComponent({\n name: \"YandexMapGeolocationControl\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapChildren;\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: (controls) => new controls.YMapGeolocationControl(props.settings),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-controls@0.0.1\"),\n settings: computed(() => props.settings),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$a = defineComponent({\n name: \"YandexMapZoomControl\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapChildren;\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: (controls) => new controls.YMapZoomControl(props.settings),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-controls@0.0.1\"),\n settings: computed(() => props.settings),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$9 = defineComponent({\n name: \"YandexMapScaleControl\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapChildren;\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: () => new ymaps3.YMapScaleControl(props.settings),\n settings: computed(() => props.settings),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$8 = defineComponent({\n name: \"YandexMapCartesianProjection\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n bounds: {\n type: Array,\n required: true\n },\n cycled: {\n type: Array\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n const projection = inject(\"projection\");\n onMounted(async () => {\n if (!projection) return;\n const cartesian = await setupMapChildren({\n isMercator: true,\n createFunction: ({ Cartesian: CartesianClass }) => new CartesianClass(props.bounds, props.cycled),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-cartesian-projection@0.0.1\")\n });\n projection.value = cartesian;\n emit(\"input\", cartesian);\n emit(\"update:modelValue\", cartesian);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$7 = defineComponent({\n name: \"YandexMapSphericalMercatorProjection\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const hold = inject(\"needsToHold\");\n hold.value++;\n const projection = inject(\"projection\");\n onMounted(async () => {\n if (!projection) {\n hold.value--;\n return;\n }\n const mercator = await setupMapChildren({\n isMercator: true,\n createFunction: ({ SphericalMercator: Mercator }) => new Mercator(),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-spherical-mercator-projection@0.0.1\")\n });\n projection.value = mercator;\n emit(\"input\", mercator);\n emit(\"update:modelValue\", mercator);\n hold.value--;\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$6 = defineComponent({\n name: \"YandexMapHint\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n // Property that you will set on YandexMapMarker or YandexMapFeature to display hint content\n hintProperty: {\n type: String,\n required: true\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const element = shallowRef(null);\n const hintContent = shallowRef(\"\");\n onMounted(async () => {\n await setupMapChildren({\n createFunction: ({\n YMapHint: MapHint,\n YMapHintContext\n }) => {\n mapChildren = new MapHint({\n hint: (object) => {\n var _a;\n return (_a = object == null ? void 0 : object.properties) == null ? void 0 : _a[props.hintProperty];\n }\n });\n class Hint extends ymaps3.YMapEntity {\n _onAttach() {\n const e = this;\n e._element = element.value;\n e._detachDom = ymaps3.useDomContext(e, e._element, null);\n e._watchContext(YMapHintContext, () => {\n var _a;\n hintContent.value = (_a = e._consumeContext(YMapHintContext)) == null ? void 0 : _a[props.hintProperty];\n }, { immediate: true });\n }\n _onDetach() {\n this._detachDom();\n }\n }\n mapChildren.addChild(new Hint({}));\n return mapChildren;\n },\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-hint@0.0.1\")\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ref: element,\n ...getAttrsForVueVersion(attrs)\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, { content: hintContent.value }))\n ]);\n };\n }\n});\nconst _sfc_main$5 = defineComponent({\n name: \"YandexMapOpenMapsButton\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n let mapChildren;\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: ({ YMapOpenMapsButton: OpenMapsButton }) => new OpenMapsButton(props.settings),\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-controls-extra\"),\n settings: computed(() => props.settings),\n strictMapRoot: true\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n }\n});\nconst _sfc_main$4 = defineComponent({\n name: \"YandexMapClustererCluster\",\n props: {\n clusterMarkerProps: {\n type: Object,\n default: () => ({})\n },\n zoomOnClusterClick: {\n type: [Boolean, Object],\n default: false\n },\n feature: {\n type: Object,\n required: true\n }\n },\n emits: {\n // Exact features bounds returned on cluster click\n trueBounds(bounds) {\n return bounds.length === 2;\n },\n // Auto-corrected features bounds returned on cluster click\n updatedBounds(bounds) {\n return bounds.length === 2;\n },\n updatedCluster(cluserId) {\n return true;\n }\n },\n slots: Object,\n setup(props, { slots, emit }) {\n const map = injectMap();\n const element = ref(null);\n const containerProps = computed(() => {\n var _a, _b, _c, _d;\n return getMarkerContainerProps({\n position: ((_a = props.clusterMarkerProps) == null ? void 0 : _a.position) ?? \"top-center left-center\",\n containerAttrs: (_b = props.clusterMarkerProps) == null ? void 0 : _b.containerAttrs,\n wrapperAttrs: (_c = props.clusterMarkerProps) == null ? void 0 : _c.wrapperAttrs,\n zeroSizes: (_d = props.clusterMarkerProps) == null ? void 0 : _d.zeroSizes\n });\n });\n function updateElement() {\n const _element = element.value;\n if (!_element) return;\n const clusterElement = props.feature.element;\n const clusterer = props.feature.clusterer;\n if (clusterElement.children.length) {\n clusterElement.children.forEach((x) => {\n try {\n clusterElement.removeChild(x);\n } catch (e) {\n console.warn(\"Non-fatal error occurred when updating Map clusterer\", e);\n }\n });\n }\n try {\n clusterElement.addChild(new ymaps3.YMapMarker({\n ...excludeYandexMarkerProps(props.clusterMarkerProps),\n coordinates: clusterer.lnglat,\n onClick: async (e) => {\n var _a, _b, _c, _d;\n (_b = (_a = props.clusterMarkerProps).onClick) == null ? void 0 : _b.call(_a, e);\n if (clusterer.features.length >= 2) {\n const settings = typeof props.zoomOnClusterClick === \"object\" ? props.zoomOnClusterClick : {};\n const featuresCoords = clusterer.features.map((x) => x.geometry.coordinates);\n const bounds = getBoundsFromCoords(featuresCoords);\n emit(\"trueBounds\", bounds);\n if (!props.zoomOnClusterClick) return;\n const defaultDuration = settings.duration ?? 500;\n if (settings.strategy === \"boundsCorrect\") {\n const [[minLongitude, maxLatitude], [maxLongitude, minLatitude]] = bounds;\n const latDiff = maxLatitude - minLatitude;\n const longDiff = maxLongitude - minLongitude;\n const updatedBounds = [[minLongitude - longDiff, maxLatitude - latDiff], [maxLongitude + longDiff, minLatitude + latDiff]];\n emit(\"updatedBounds\", updatedBounds);\n (_c = map.value) == null ? void 0 : _c.setLocation({\n bounds: updatedBounds,\n duration: defaultDuration,\n easing: settings.easing\n });\n } else {\n const { center, zoom } = await getLocationFromBounds({\n bounds,\n map: map.value,\n roundZoom: true,\n comfortZoomLevel: true\n });\n (_d = map.value) == null ? void 0 : _d.setLocation({\n center,\n zoom,\n duration: defaultDuration,\n easing: settings.easing\n });\n await sleep(defaultDuration + 50);\n if (map.value) emit(\"updatedBounds\", map.value.bounds);\n }\n }\n }\n }, _element));\n } catch (e) {\n console.error(e);\n }\n }\n watch(element, updateElement);\n const firstUpdate = ref(false);\n onUpdated(() => {\n if (!firstUpdate.value) {\n firstUpdate.value = true;\n return;\n }\n emit(\"updatedCluster\", props.feature.clusterer.clusterId);\n });\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ...containerProps.value.root,\n ref: element\n }, [\n h(\"div\", {\n ...containerProps.value.children\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, {\n clusterer: props.feature.clusterer,\n coordinates: props.feature.clusterer.lnglat,\n length: props.feature.clusterer.features.length\n }))\n ])\n ]);\n };\n }\n});\nconst _sfc_main$3 = defineComponent({\n name: \"YandexMapClustererClusters\",\n props: {\n clusterMarkerProps: {\n type: Object,\n default: () => ({})\n },\n zoomOnClusterClick: {\n type: [Boolean, Object],\n default: false\n }\n },\n emits: {\n // Exact features bounds returned on cluster click\n trueBounds(bounds) {\n return bounds.length === 2;\n },\n // Auto-corrected features bounds returned on cluster click\n updatedBounds(bounds) {\n return bounds.length === 2;\n },\n updatedCluster(cluserId) {\n return true;\n }\n },\n slots: Object,\n setup(props, { emit, slots }) {\n const features = inject(\"clusterFeatures\");\n return () => {\n let clusterSlots;\n if (isVue2()) {\n clusterSlots = features.value.map((feature) => h(_sfc_main$4, {\n props: {\n clusterMarkerProps: props.clusterMarkerProps,\n zoomOnClusterClick: props.zoomOnClusterClick,\n feature\n },\n on: {\n trueBounds: (e) => emit(\"trueBounds\", e),\n updatedBounds: (e) => emit(\"updatedBounds\", e),\n updatedCluster: (e) => emit(\"updatedCluster\", e)\n },\n scopedSlots: {\n default: (options) => {\n var _a;\n return h(\"div\", {}, [(_a = slots.default) == null ? void 0 : _a.call(slots, options)]);\n }\n },\n key: feature.clusterer.clusterId\n }));\n } else {\n clusterSlots = features.value.map((feature) => h(_sfc_main$4, {\n clusterMarkerProps: props.clusterMarkerProps,\n zoomOnClusterClick: props.zoomOnClusterClick,\n feature,\n onTrueBounds: (e) => emit(\"trueBounds\", e),\n onUpdatedBounds: (e) => emit(\"updatedBounds\", e),\n onUpdatedCluster: (e) => emit(\"updatedCluster\", e),\n key: feature.clusterer.clusterId\n }, {\n default: (options) => {\n var _a;\n return (_a = slots.default) == null ? void 0 : _a.call(slots, options);\n }\n }));\n }\n return hF(clusterSlots);\n };\n }\n});\nconst _sfc_main$2 = defineComponent({\n name: \"YandexMapClusterer\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n },\n settings: {\n type: Object,\n default: () => ({})\n },\n disableClustersReactivity: {\n type: Boolean,\n default: false\n },\n /**\n * @description All custom (non-settings) props are also supported\n */\n clusterMarkerProps: {\n type: Object,\n default: () => ({})\n },\n /**\n * @description Size of the grid division in pixels\n *\n * Used in settings.method via Yandex clusterByGrid method\n *\n * @see https://yandex.ru/dev/jsapi30/doc/ru/ref/packages/clusterer/\n * @see https://yandex.ru/dev/jsapi30/doc/en/ref/packages/clusterer/\n */\n gridSize: {\n type: Number,\n default: 64\n },\n /**\n * @description Zooms to bounds of features of cluster\n */\n zoomOnClusterClick: {\n type: [Boolean, Object],\n default: false\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n },\n // Exact features bounds returned on cluster click\n trueBounds(bounds) {\n return bounds.length === 2;\n },\n // Auto-corrected features bounds returned on cluster click\n updatedBounds(bounds) {\n return bounds.length === 2;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const mapChildren = shallowRef(null);\n const entities = shallowRef([]);\n const clusterFeatures = shallowRef([]);\n const revision = ref(0);\n const filteredFeatures = computed(() => clusterFeatures.value.filter((x) => x.clusterer.features.length > 1));\n provide(\"clusterFeatures\", filteredFeatures);\n let _clusterByGrid;\n const tickTimeout = computed(() => props.settings.tickTimeout);\n const getSettings = () => {\n const settings = { ...props.settings };\n if (!settings.method && _clusterByGrid) settings.method = _clusterByGrid == null ? void 0 : _clusterByGrid({ gridSize: props.gridSize });\n if (tickTimeout.value) settings.tickTimeout = tickTimeout.value;\n const marker = (feature) => {\n const entity = entities.value.find((x) => x._props.id === feature.id);\n if (!entity) {\n throwException({\n text: `No entity with id ${feature.id} (coordinates: ${feature.geometry.coordinates.join(\", \")}) were found in YandexMapClusterer.`,\n isInternal: true,\n warn: true\n });\n return new ymaps3.YMapMarker({ coordinates: feature.geometry.coordinates });\n }\n return entity;\n };\n const cluster = (coordinates) => {\n const foundCluster = clusterFeatures.value.find((x) => x.clusterer.lnglat[0] === coordinates[0] && x.clusterer.lnglat[1] === coordinates[1]);\n if (!foundCluster) {\n throwException({\n text: `No element with coordinates of ${coordinates.join(\", \")} were found in YandexMapClusterer.`,\n isInternal: true,\n warn: true\n });\n return new ymaps3.YMapMarker({ coordinates });\n }\n return foundCluster.element;\n };\n const features = entities.value.map((entity, i) => {\n if (!entity._props.id) {\n entity.update({\n id: Math.random().toString() + Date.now().toString()\n });\n }\n return {\n type: \"Feature\",\n id: entity._props.id,\n geometry: {\n type: \"Point\",\n coordinates: entity._props.coordinates\n },\n properties: \"properties\" in entity._props ? entity._props.properties : {}\n };\n });\n settings.onRender = (clustersList) => {\n if (clustersList.length <= 1) revision.value++;\n clusterFeatures.value = clustersList.map((clusterer) => {\n var _a;\n clusterer.clusterId = `cluster-${revision.value}-${clusterer.features.map((x) => x.id).join(\",\")}`;\n return {\n clusterer,\n element: ((_a = clusterFeatures.value.find((x) => x.clusterer.clusterId === clusterer.clusterId)) == null ? void 0 : _a.element) || new ymaps3.YMapCollection({})\n };\n });\n if (props.settings.onRender) return props.settings.onRender(clustersList);\n };\n return {\n ...settings,\n marker,\n features,\n cluster\n };\n };\n const update = async () => {\n var _a, _b;\n clusterFeatures.value = [];\n await nextTick();\n (_a = mapChildren.value) == null ? void 0 : _a.update(getSettings());\n (_b = mapChildren.value) == null ? void 0 : _b._render();\n };\n watch(() => [props.settings, props.gridSize], () => {\n update();\n }, {\n deep: true\n });\n const init = async () => {\n mapChildren.value = await setupMapChildren({\n createFunction: ({\n YMapClusterer: Clusterer,\n clusterByGrid: _clusterByGrid_\n }) => {\n _clusterByGrid = _clusterByGrid_;\n return new Clusterer(getSettings());\n },\n requiredImport: () => ymaps3.import(\"@yandex/ymaps3-clusterer@0.0.1\"),\n isMapRoot: true,\n mapRootRef: entities\n });\n emit(\"input\", mapChildren.value);\n emit(\"update:modelValue\", mapChildren.value);\n };\n watch(entities, async () => {\n await nextTick();\n update();\n });\n onMounted(() => {\n init();\n });\n return () => {\n var _a, _b;\n if (!mapChildren.value) return h(\"div\");\n if (isVue2()) {\n return h(\"div\", [\n ...((_a = slots.default) == null ? void 0 : _a.call(slots, {})) || [],\n h(_sfc_main$3, {\n props: {\n clusterMarkerProps: props.clusterMarkerProps,\n zoomOnClusterClick: props.zoomOnClusterClick\n },\n on: {\n trueBounds: (e) => emit(\"trueBounds\", e),\n updatedBounds: (e) => emit(\"updatedBounds\", e),\n updatedCluster: () => revision.value++\n },\n scopedSlots: {\n default: (options) => {\n var _a2;\n return h(\"div\", {}, [(_a2 = slots.cluster) == null ? void 0 : _a2.call(slots, options)]);\n }\n }\n })\n ]);\n }\n return h(\"div\", [\n ...((_b = slots.default) == null ? void 0 : _b.call(slots, {})) || [],\n h(_sfc_main$3, {\n clusterMarkerProps: props.clusterMarkerProps,\n zoomOnClusterClick: props.zoomOnClusterClick,\n onTrueBounds: (e) => emit(\"trueBounds\", e),\n onUpdatedBounds: (e) => emit(\"updatedBounds\", e),\n onUpdatedCluster: (e) => revision.value++\n }, {\n default: (options) => {\n var _a2;\n return (_a2 = slots.cluster) == null ? void 0 : _a2.call(slots, options);\n }\n })\n ]);\n };\n }\n});\nconst _sfc_main$1 = defineComponent({\n name: \"YandexMapCollection\",\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit\n }) {\n const mapChildren = shallowRef(null);\n onMounted(async () => {\n mapChildren.value = await setupMapChildren({\n createFunction: () => new ymaps3.YMapCollection({}),\n isMapRoot: true\n });\n emit(\"input\", mapChildren.value);\n emit(\"update:modelValue\", mapChildren.value);\n });\n return () => {\n if (!mapChildren.value) return h(\"div\");\n return () => {\n var _a;\n return hVue2((_a = slots.default) == null ? void 0 : _a.call(slots, {}));\n };\n };\n }\n});\nconst _sfc_main = defineComponent({\n name: \"YandexMapEntity\",\n inheritAttrs: false,\n props: {\n value: {\n type: Object,\n default: null\n },\n modelValue: {\n type: Object,\n default: null\n }\n },\n emits: {\n \"input\"(item) {\n return true;\n },\n \"update:modelValue\"(item) {\n return true;\n }\n },\n slots: Object,\n setup(props, {\n slots,\n emit,\n attrs\n }) {\n let mapChildren;\n const element = ref(null);\n onMounted(async () => {\n mapChildren = await setupMapChildren({\n createFunction: () => {\n class Entity extends ymaps3.YMapEntity {\n _onAttach() {\n this._element = element.value;\n this._detachDom = ymaps3.useDomContext(this, this._element);\n }\n _onDetach() {\n this._detachDom();\n this._detachDom = null;\n this._element = null;\n }\n }\n return new Entity({});\n }\n });\n emit(\"input\", mapChildren);\n emit(\"update:modelValue\", mapChildren);\n });\n return () => {\n var _a;\n return hF([\n h(\"div\", {\n ref: element,\n ...getAttrsForVueVersion(attrs)\n }, (_a = slots.default) == null ? void 0 : _a.call(slots, {}))\n ]);\n };\n }\n});\nexport {\n VueYandexMaps,\n _sfc_main$p as YandexMap,\n _sfc_main$8 as YandexMapCartesianProjection,\n _sfc_main$2 as YandexMapClusterer,\n _sfc_main$1 as YandexMapCollection,\n _sfc_main$d as YandexMapControl,\n _sfc_main$c as YandexMapControlButton,\n _sfc_main$e as YandexMapControls,\n _sfc_main$n as YandexMapDefaultFeaturesLayer,\n _sfc_main$g as YandexMapDefaultMarker,\n _sfc_main$l as YandexMapDefaultSatelliteLayer,\n _sfc_main$m as YandexMapDefaultSchemeLayer,\n _sfc_main as YandexMapEntity,\n _sfc_main$f as YandexMapFeature,\n _sfc_main$j as YandexMapFeatureDataSource,\n _sfc_main$b as YandexMapGeolocationControl,\n _sfc_main$6 as YandexMapHint,\n _sfc_main$i as YandexMapLayer,\n _sfc_main$o as YandexMapListener,\n _sfc_main$h as YandexMapMarker,\n _sfc_main$5 as YandexMapOpenMapsButton,\n _sfc_main$9 as YandexMapScaleControl,\n _sfc_main$7 as YandexMapSphericalMercatorProjection,\n _sfc_main$k as YandexMapTileDataSource,\n _sfc_main$a as YandexMapZoomControl,\n createYmaps,\n createYmapsOptions,\n createYmapsVue2,\n getBoundsFromCoords,\n getCenterFromCoords,\n getLocationFromBounds,\n initYmaps,\n useYMapsLocationFromBounds\n};\n","export const UPDATE_AREAS = 500\n","/* Types */\nimport { Position } from 'geojson'\nimport { AreaProperties, LatLng } from '@/api/modules/delivery/types'\n\n/**\n * Рассчет вхождения координат адреса в полигон\n * Теория формулы: https://caxapa.ru/751493.html?todo=full\n * @param polygon\n * @param point\n */\nconst checkAddressInDeliveryArea = (polygon: Position[], point: LatLng) => {\n const x = point[1]\n const y = point[0]\n\n let isInside = false\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const xi = polygon[i][0]\n const yi = polygon[i][1]\n const xj = polygon[j][0]\n const yj = polygon[j][1]\n\n const intersect =\n yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi\n\n if (intersect) isInside = !isInside\n }\n\n return isInside\n}\n\n/**\n * Поиск данных о полигоне путем вхождения координат адреса в полигоны зон доставки\n * @param polygons - зоны доставки\n * @param coords - координаты адреса\n */\nexport const findOfDeliveryArea = (\n polygons: AreaProperties[],\n coords: LatLng,\n) => {\n for (const polygon of polygons) {\n if (checkAddressInDeliveryArea(polygon.polygon[0], coords)) return polygon\n }\n}\n","\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n","(function(){\"use strict\";try{if(typeof document<\"u\"){var a=document.createElement(\"style\");a.appendChild(document.createTextNode(\".mapdiv[data-v-dbf82c40]{width:100%;height:100%}.custom-control-wrapper[data-v-d099a3a6]{display:none}.mapdiv .custom-control-wrapper[data-v-d099a3a6]{display:inline-block}.info-window-wrapper[data-v-cbe1707b]{display:none}.mapdiv .info-window-wrapper[data-v-cbe1707b]{display:inline-block}.custom-marker-wrapper[data-v-2d2d343a]{display:none}.mapdiv .custom-marker-wrapper[data-v-2d2d343a]{display:inline-block}\")),document.head.appendChild(a)}}catch(d){console.error(\"vite-plugin-css-injected-by-js\",d)}})();\nvar qe = Object.defineProperty;\nvar Be = (n, e, t) => e in n ? qe(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;\nvar se = (n, e, t) => (Be(n, typeof e != \"symbol\" ? e + \"\" : e, t), t);\nimport { defineComponent as P, ref as y, provide as G, watch as O, onMounted as Me, onBeforeUnmount as B, markRaw as I, toRef as Z, openBlock as Y, createElementBlock as X, createElementVNode as ae, renderSlot as Q, normalizeProps as Ze, guardReactiveProps as Ne, inject as C, computed as J, Comment as Ee, mergeProps as Pe, createCommentVNode as Oe } from \"vue\";\nconst N = Symbol(\"map\"), U = Symbol(\"api\"), xe = Symbol(\"marker\"), Le = Symbol(\"markerCluster\"), ee = Symbol(\"CustomMarker\"), Se = Symbol(\"mapTilesLoaded\"), q = [\n \"click\",\n \"dblclick\",\n \"drag\",\n \"dragend\",\n \"dragstart\",\n \"mousedown\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"rightclick\"\n];\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nfunction Ue(n, e, t, s) {\n function r(o) {\n return o instanceof t ? o : new t(function(a) {\n a(o);\n });\n }\n return new (t || (t = Promise))(function(o, a) {\n function l(u) {\n try {\n d(s.next(u));\n } catch (c) {\n a(c);\n }\n }\n function i(u) {\n try {\n d(s.throw(u));\n } catch (c) {\n a(c);\n }\n }\n function d(u) {\n u.done ? o(u.value) : r(u.value).then(l, i);\n }\n d((s = s.apply(n, e || [])).next());\n });\n}\nvar De = function n(e, t) {\n if (e === t)\n return !0;\n if (e && t && typeof e == \"object\" && typeof t == \"object\") {\n if (e.constructor !== t.constructor)\n return !1;\n var s, r, o;\n if (Array.isArray(e)) {\n if (s = e.length, s != t.length)\n return !1;\n for (r = s; r-- !== 0; )\n if (!n(e[r], t[r]))\n return !1;\n return !0;\n }\n if (e.constructor === RegExp)\n return e.source === t.source && e.flags === t.flags;\n if (e.valueOf !== Object.prototype.valueOf)\n return e.valueOf() === t.valueOf();\n if (e.toString !== Object.prototype.toString)\n return e.toString() === t.toString();\n if (o = Object.keys(e), s = o.length, s !== Object.keys(t).length)\n return !1;\n for (r = s; r-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(t, o[r]))\n return !1;\n for (r = s; r-- !== 0; ) {\n var a = o[r];\n if (!n(e[a], t[a]))\n return !1;\n }\n return !0;\n }\n return e !== e && t !== t;\n};\nconst de = \"__googleMapsScriptId\";\nvar R;\n(function(n) {\n n[n.INITIALIZED = 0] = \"INITIALIZED\", n[n.LOADING = 1] = \"LOADING\", n[n.SUCCESS = 2] = \"SUCCESS\", n[n.FAILURE = 3] = \"FAILURE\";\n})(R || (R = {}));\nclass T {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey: e, authReferrerPolicy: t, channel: s, client: r, id: o = de, language: a, libraries: l = [], mapIds: i, nonce: d, region: u, retries: c = 3, url: h = \"https://maps.googleapis.com/maps/api/js\", version: p }) {\n if (this.callbacks = [], this.done = !1, this.loading = !1, this.errors = [], this.apiKey = e, this.authReferrerPolicy = t, this.channel = s, this.client = r, this.id = o || de, this.language = a, this.libraries = l, this.mapIds = i, this.nonce = d, this.region = u, this.retries = c, this.url = h, this.version = p, T.instance) {\n if (!De(this.options, T.instance.options))\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(T.instance.options)}`);\n return T.instance;\n }\n T.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy\n };\n }\n get status() {\n return this.errors.length ? R.FAILURE : this.done ? R.SUCCESS : this.loading ? R.LOADING : R.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let e = this.url;\n return e += \"?callback=__googleMapsCallback\", this.apiKey && (e += `&key=${this.apiKey}`), this.channel && (e += `&channel=${this.channel}`), this.client && (e += `&client=${this.client}`), this.libraries.length > 0 && (e += `&libraries=${this.libraries.join(\",\")}`), this.language && (e += `&language=${this.language}`), this.region && (e += `®ion=${this.region}`), this.version && (e += `&v=${this.version}`), this.mapIds && (e += `&map_ids=${this.mapIds.join(\",\")}`), this.authReferrerPolicy && (e += `&auth_referrer_policy=${this.authReferrerPolicy}`), e;\n }\n deleteScript() {\n const e = document.getElementById(this.id);\n e && e.remove();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((e, t) => {\n this.loadCallback((s) => {\n s ? t(s.error) : e(window.google);\n });\n });\n }\n importLibrary(e) {\n return this.execute(), google.maps.importLibrary(e);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(e) {\n this.callbacks.push(e), this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var e, t;\n if (document.getElementById(this.id)) {\n this.callback();\n return;\n }\n const s = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy\n };\n Object.keys(s).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (o) => !s[o] && delete s[o]\n ), !((t = (e = window == null ? void 0 : window.google) === null || e === void 0 ? void 0 : e.maps) === null || t === void 0) && t.importLibrary || ((o) => {\n let a, l, i, d = \"The Google Maps JavaScript API\", u = \"google\", c = \"importLibrary\", h = \"__ib__\", p = document, m = window;\n m = m[u] || (m[u] = {});\n const f = m.maps || (m.maps = {}), g = /* @__PURE__ */ new Set(), v = new URLSearchParams(), w = () => (\n // @ts-ignore\n a || (a = new Promise((_, E) => Ue(this, void 0, void 0, function* () {\n var b;\n yield l = p.createElement(\"script\"), l.id = this.id, v.set(\"libraries\", [...g] + \"\");\n for (i in o)\n v.set(i.replace(/[A-Z]/g, (x) => \"_\" + x[0].toLowerCase()), o[i]);\n v.set(\"callback\", u + \".maps.\" + h), l.src = this.url + \"?\" + v, f[h] = _, l.onerror = () => a = E(Error(d + \" could not load.\")), l.nonce = this.nonce || ((b = p.querySelector(\"script[nonce]\")) === null || b === void 0 ? void 0 : b.nonce) || \"\", p.head.append(l);\n })))\n );\n f[c] ? console.warn(d + \" only loads once. Ignoring:\", o) : f[c] = (_, ...E) => g.add(_) && w().then(() => f[c](_, ...E));\n })(s);\n const r = this.libraries.map((o) => this.importLibrary(o));\n r.length || r.push(this.importLibrary(\"core\")), Promise.all(r).then(() => this.callback(), (o) => {\n const a = new ErrorEvent(\"error\", { error: o });\n this.loadErrorCallback(a);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript(), this.done = !1, this.loading = !1, this.errors = [], this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n this.failed && this.reset();\n }\n loadErrorCallback(e) {\n if (this.errors.push(e), this.errors.length <= this.retries) {\n const t = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${t} ms.`), setTimeout(() => {\n this.deleteScript(), this.setScript();\n }, t);\n } else\n this.onerrorEvent = e, this.callback();\n }\n callback() {\n this.done = !0, this.loading = !1, this.callbacks.forEach((e) => {\n e(this.onerrorEvent);\n }), this.callbacks = [];\n }\n execute() {\n if (this.resetIfRetryingFailed(), this.done)\n this.callback();\n else {\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match.\"), this.callback();\n return;\n }\n this.loading || (this.loading = !0, this.setScript());\n }\n }\n}\nfunction Fe(n) {\n return class extends n.OverlayView {\n constructor(s) {\n super();\n se(this, \"element\");\n se(this, \"opts\");\n const { element: r, ...o } = s;\n this.element = r, this.opts = o, this.opts.map && this.setMap(this.opts.map);\n }\n getPosition() {\n return this.opts.position ? this.opts.position instanceof n.LatLng ? this.opts.position : new n.LatLng(this.opts.position) : null;\n }\n getVisible() {\n if (!this.element)\n return !1;\n const s = this.element;\n return s.style.display !== \"none\" && s.style.visibility !== \"hidden\" && (s.style.opacity === \"\" || Number(s.style.opacity) > 0.01);\n }\n onAdd() {\n if (!this.element)\n return;\n const s = this.getPanes();\n s && s.overlayMouseTarget.appendChild(this.element);\n }\n draw() {\n if (!this.element)\n return;\n const s = this.getProjection(), r = s == null ? void 0 : s.fromLatLngToDivPixel(this.getPosition());\n if (r) {\n this.element.style.position = \"absolute\";\n const o = this.element.offsetHeight, a = this.element.offsetWidth;\n let l, i;\n switch (this.opts.anchorPoint) {\n case \"TOP_CENTER\":\n l = r.x - a / 2, i = r.y;\n break;\n case \"BOTTOM_CENTER\":\n l = r.x - a / 2, i = r.y - o;\n break;\n case \"LEFT_CENTER\":\n l = r.x, i = r.y - o / 2;\n break;\n case \"RIGHT_CENTER\":\n l = r.x - a, i = r.y - o / 2;\n break;\n case \"TOP_LEFT\":\n l = r.x, i = r.y;\n break;\n case \"TOP_RIGHT\":\n l = r.x - a, i = r.y;\n break;\n case \"BOTTOM_LEFT\":\n l = r.x, i = r.y - o;\n break;\n case \"BOTTOM_RIGHT\":\n l = r.x - a, i = r.y - o;\n break;\n default:\n l = r.x - a / 2, i = r.y - o / 2;\n }\n this.element.style.left = l + \"px\", this.element.style.top = i + \"px\", this.element.style.transform = `translateX(${this.opts.offsetX || 0}px) translateY(${this.opts.offsetY || 0}px)`, this.opts.zIndex && (this.element.style.zIndex = this.opts.zIndex.toString());\n }\n }\n onRemove() {\n this.element && this.element.remove();\n }\n setOptions(s) {\n const { element: r, ...o } = s;\n this.element = r, this.opts = o, this.draw();\n }\n };\n}\nlet he;\nconst pe = [\n \"bounds_changed\",\n \"center_changed\",\n \"click\",\n \"contextmenu\",\n \"dblclick\",\n \"drag\",\n \"dragend\",\n \"dragstart\",\n \"heading_changed\",\n \"idle\",\n \"isfractionalzoomenabled_changed\",\n \"mapcapabilities_changed\",\n \"maptypeid_changed\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"projection_changed\",\n \"renderingtype_changed\",\n \"rightclick\",\n \"tilesloaded\",\n \"tilt_changed\",\n \"zoom_changed\"\n], Ve = P({\n props: {\n apiPromise: {\n type: Promise\n },\n apiKey: {\n type: String,\n default: \"\"\n },\n version: {\n type: String,\n default: \"weekly\"\n },\n libraries: {\n type: Array,\n default: () => [\"places\"]\n },\n region: {\n type: String,\n required: !1\n },\n language: {\n type: String,\n required: !1\n },\n backgroundColor: {\n type: String,\n required: !1\n },\n center: {\n type: Object,\n default: () => ({ lat: 0, lng: 0 })\n },\n clickableIcons: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n controlSize: {\n type: Number,\n required: !1\n },\n disableDefaultUi: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n disableDoubleClickZoom: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n draggable: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n draggableCursor: {\n type: String,\n required: !1\n },\n draggingCursor: {\n type: String,\n required: !1\n },\n fullscreenControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n fullscreenControlPosition: {\n type: String,\n required: !1\n },\n gestureHandling: {\n type: String,\n required: !1\n },\n heading: {\n type: Number,\n required: !1\n },\n isFractionalZoomEnabled: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n keyboardShortcuts: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n mapTypeControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n mapTypeControlOptions: {\n type: Object,\n required: !1\n },\n mapTypeId: {\n type: [Number, String],\n required: !1\n },\n mapId: {\n type: String,\n required: !1\n },\n maxZoom: {\n type: Number,\n required: !1\n },\n minZoom: {\n type: Number,\n required: !1\n },\n noClear: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n panControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n panControlPosition: {\n type: String,\n required: !1\n },\n restriction: {\n type: Object,\n required: !1\n },\n rotateControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n rotateControlPosition: {\n type: String,\n required: !1\n },\n scaleControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n scaleControlStyle: {\n type: Number,\n required: !1\n },\n scrollwheel: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n streetView: {\n type: Object,\n required: !1\n },\n streetViewControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n streetViewControlPosition: {\n type: String,\n required: !1\n },\n styles: {\n type: Array,\n required: !1\n },\n tilt: {\n type: Number,\n required: !1\n },\n zoom: {\n type: Number,\n required: !1\n },\n zoomControl: {\n type: Boolean,\n required: !1,\n default: void 0\n },\n zoomControlPosition: {\n type: String,\n required: !1\n },\n nonce: {\n type: String,\n default: \"\"\n }\n },\n emits: pe,\n setup(n, { emit: e }) {\n const t = y(), s = y(!1), r = y(), o = y(), a = y(!1);\n G(N, r), G(U, o), G(Se, a);\n const l = () => {\n const c = { ...n };\n Object.keys(c).forEach((f) => {\n c[f] === void 0 && delete c[f];\n });\n const p = (f) => {\n var g;\n return f ? { position: (g = o.value) == null ? void 0 : g.ControlPosition[f] } : {};\n }, m = {\n scaleControlOptions: n.scaleControlStyle ? { style: n.scaleControlStyle } : {},\n panControlOptions: p(n.panControlPosition),\n zoomControlOptions: p(n.zoomControlPosition),\n rotateControlOptions: p(n.rotateControlPosition),\n streetViewControlOptions: p(n.streetViewControlPosition),\n fullscreenControlOptions: p(n.fullscreenControlPosition),\n disableDefaultUI: n.disableDefaultUi\n };\n return { ...c, ...m };\n }, i = O(\n [o, r],\n ([c, h]) => {\n const p = c, m = h;\n p && m && (p.event.addListenerOnce(m, \"tilesloaded\", () => {\n a.value = !0;\n }), setTimeout(i, 0));\n },\n { immediate: !0 }\n ), d = () => {\n try {\n const { apiKey: c, region: h, version: p, language: m, libraries: f, nonce: g } = n;\n he = new T({ apiKey: c, region: h, version: p, language: m, libraries: f, nonce: g });\n } catch (c) {\n console.error(c);\n }\n }, u = (c) => {\n o.value = I(c.maps), r.value = I(new c.maps.Map(t.value, l()));\n const h = Fe(o.value);\n o.value[ee] = h, pe.forEach((m) => {\n var f;\n (f = r.value) == null || f.addListener(m, (g) => e(m, g));\n }), s.value = !0;\n const p = Object.keys(n).filter(\n (m) => ![\"apiPromise\", \"apiKey\", \"version\", \"libraries\", \"region\", \"language\", \"center\", \"zoom\", \"nonce\"].includes(m)\n ).map((m) => Z(n, m));\n O(\n [() => n.center, () => n.zoom, ...p],\n ([m, f], [g, v]) => {\n var x, M, F;\n const { center: w, zoom: _, ...E } = l();\n (x = r.value) == null || x.setOptions(E), f !== void 0 && f !== v && ((M = r.value) == null || M.setZoom(f));\n const b = !g || m.lng !== g.lng || m.lat !== g.lat;\n m && b && ((F = r.value) == null || F.panTo(m));\n }\n );\n };\n return Me(() => {\n n.apiPromise && n.apiPromise instanceof Promise ? n.apiPromise.then(u) : (d(), he.load().then(u));\n }), B(() => {\n var c;\n a.value = !1, r.value && ((c = o.value) == null || c.event.clearInstanceListeners(r.value));\n }), { mapRef: t, ready: s, map: r, api: o, mapTilesLoaded: a };\n }\n});\nconst te = (n, e) => {\n const t = n.__vccOpts || n;\n for (const [s, r] of e)\n t[s] = r;\n return t;\n}, ze = {\n ref: \"mapRef\",\n class: \"mapdiv\"\n};\nfunction Ge(n, e, t, s, r, o) {\n return Y(), X(\"div\", null, [\n ae(\"div\", ze, null, 512),\n Q(n.$slots, \"default\", Ze(Ne({ ready: n.ready, map: n.map, api: n.api, mapTilesLoaded: n.mapTilesLoaded })), void 0, !0)\n ]);\n}\nconst Et = /* @__PURE__ */ te(Ve, [[\"render\", Ge], [\"__scopeId\", \"data-v-dbf82c40\"]]);\nfunction He(n) {\n return n && n.__esModule && Object.prototype.hasOwnProperty.call(n, \"default\") ? n.default : n;\n}\nvar We = function n(e, t) {\n if (e === t)\n return !0;\n if (e && t && typeof e == \"object\" && typeof t == \"object\") {\n if (e.constructor !== t.constructor)\n return !1;\n var s, r, o;\n if (Array.isArray(e)) {\n if (s = e.length, s != t.length)\n return !1;\n for (r = s; r-- !== 0; )\n if (!n(e[r], t[r]))\n return !1;\n return !0;\n }\n if (e.constructor === RegExp)\n return e.source === t.source && e.flags === t.flags;\n if (e.valueOf !== Object.prototype.valueOf)\n return e.valueOf() === t.valueOf();\n if (e.toString !== Object.prototype.toString)\n return e.toString() === t.toString();\n if (o = Object.keys(e), s = o.length, s !== Object.keys(t).length)\n return !1;\n for (r = s; r-- !== 0; )\n if (!Object.prototype.hasOwnProperty.call(t, o[r]))\n return !1;\n for (r = s; r-- !== 0; ) {\n var a = o[r];\n if (!n(e[a], t[a]))\n return !1;\n }\n return !0;\n }\n return e !== e && t !== t;\n};\nconst $ = /* @__PURE__ */ He(We), Ke = (n) => n === \"Marker\", Je = (n) => n === ee, D = (n, e, t, s) => {\n const r = y(), o = C(N, y()), a = C(U, y()), l = C(Le, y()), i = J(\n () => !!(l.value && a.value && (r.value instanceof a.value.Marker || r.value instanceof a.value[ee]))\n );\n return O(\n [o, t],\n (d, [u, c]) => {\n var p, m, f;\n const h = !$(t.value, c) || o.value !== u;\n !o.value || !a.value || !h || (r.value ? (r.value.setOptions(t.value), i.value && ((p = l.value) == null || p.removeMarker(r.value), (m = l.value) == null || m.addMarker(r.value))) : (Ke(n) ? r.value = I(\n new a.value[n](t.value)\n ) : Je(n) ? r.value = I(\n new a.value[n](t.value)\n ) : r.value = I(\n new a.value[n]({\n ...t.value,\n map: o.value\n })\n ), i.value ? (f = l.value) == null || f.addMarker(r.value) : r.value.setMap(o.value), e.forEach((g) => {\n var v;\n (v = r.value) == null || v.addListener(g, (w) => s(g, w));\n })));\n },\n {\n immediate: !0\n }\n ), B(() => {\n var d, u;\n r.value && ((d = a.value) == null || d.event.clearInstanceListeners(r.value), i.value ? (u = l.value) == null || u.removeMarker(r.value) : r.value.setMap(null));\n }), r;\n}, fe = [\n \"animation_changed\",\n \"click\",\n \"dblclick\",\n \"rightclick\",\n \"dragstart\",\n \"dragend\",\n \"drag\",\n \"mouseover\",\n \"mousedown\",\n \"mouseout\",\n \"mouseup\",\n \"draggable_changed\",\n \"clickable_changed\",\n \"contextmenu\",\n \"cursor_changed\",\n \"flat_changed\",\n \"rightclick\",\n \"zindex_changed\",\n \"icon_changed\",\n \"position_changed\",\n \"shape_changed\",\n \"title_changed\",\n \"visible_changed\"\n], Pt = P({\n name: \"Marker\",\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n emits: fe,\n setup(n, { emit: e, expose: t, slots: s }) {\n const r = Z(n, \"options\"), o = D(\"Marker\", fe, r, e);\n return G(xe, o), t({ marker: o }), () => {\n var a;\n return (a = s.default) == null ? void 0 : a.call(s);\n };\n }\n}), Ot = P({\n name: \"Polyline\",\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n emits: q,\n setup(n, { emit: e }) {\n const t = Z(n, \"options\");\n return { polyline: D(\"Polyline\", q, t, e) };\n },\n render: () => null\n}), xt = P({\n name: \"Polygon\",\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n emits: q,\n setup(n, { emit: e }) {\n const t = Z(n, \"options\");\n return { polygon: D(\"Polygon\", q, t, e) };\n },\n render: () => null\n}), me = q.concat([\"bounds_changed\"]), Lt = P({\n name: \"Rectangle\",\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n emits: me,\n setup(n, { emit: e }) {\n const t = Z(n, \"options\");\n return { rectangle: D(\"Rectangle\", me, t, e) };\n },\n render: () => null\n}), ge = q.concat([\"center_changed\", \"radius_changed\"]), St = P({\n name: \"Circle\",\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n emits: ge,\n setup(n, { emit: e }) {\n const t = Z(n, \"options\");\n return { circle: D(\"Circle\", ge, t, e) };\n },\n render: () => null\n}), Ye = P({\n props: {\n position: {\n type: String,\n required: !0\n },\n index: {\n type: Number,\n default: 1\n }\n },\n emits: [\"content:loaded\"],\n setup(n, { emit: e }) {\n const t = y(null), s = C(N, y()), r = C(U, y()), o = C(Se, y(!1)), a = O(\n [o, r, t],\n ([d, u, c]) => {\n u && d && c && (l(n.position), e(\"content:loaded\"), setTimeout(a, 0));\n },\n { immediate: !0 }\n ), l = (d) => {\n if (s.value && r.value && t.value) {\n const u = r.value.ControlPosition[d];\n s.value.controls[u].push(t.value);\n }\n }, i = (d) => {\n if (s.value && r.value) {\n let u = null;\n const c = r.value.ControlPosition[d];\n s.value.controls[c].forEach((h, p) => {\n h === t.value && (u = p);\n }), u !== null && s.value.controls[c].removeAt(u);\n }\n };\n return B(() => i(n.position)), O(\n () => n.position,\n (d, u) => {\n i(u), l(d);\n }\n ), O(\n () => n.index,\n (d) => {\n d && t.value && (t.value.index = n.index);\n }\n ), { controlRef: t };\n }\n});\nconst Xe = {\n ref: \"controlRef\",\n class: \"custom-control-wrapper\"\n};\nfunction Qe(n, e, t, s, r, o) {\n return Y(), X(\"div\", Xe, [\n Q(n.$slots, \"default\", {}, void 0, !0)\n ], 512);\n}\nconst It = /* @__PURE__ */ te(Ye, [[\"render\", Qe], [\"__scopeId\", \"data-v-d099a3a6\"]]), ve = [\"closeclick\", \"content_changed\", \"domready\", \"position_changed\", \"visible\", \"zindex_changed\"], et = P({\n inheritAttrs: !1,\n props: {\n options: {\n type: Object,\n default: () => ({})\n },\n modelValue: {\n type: Boolean\n }\n },\n emits: [...ve, \"update:modelValue\"],\n setup(n, { slots: e, emit: t, expose: s }) {\n const r = y(), o = y(), a = C(N, y()), l = C(U, y()), i = C(xe, y());\n let d, u = n.modelValue;\n const c = J(() => {\n var f;\n return (f = e.default) == null ? void 0 : f.call(e).some((g) => g.type !== Ee);\n }), h = (f) => {\n u = f, t(\"update:modelValue\", f);\n }, p = (f) => {\n r.value && (r.value.open({ map: a.value, anchor: i.value, ...f }), h(!0));\n }, m = () => {\n r.value && (r.value.close(), h(!1));\n };\n return Me(() => {\n O(\n [a, () => n.options],\n ([f, g], [v, w]) => {\n var E;\n const _ = !$(g, w) || a.value !== v;\n a.value && l.value && _ && (r.value ? (r.value.setOptions({\n ...g,\n content: c.value ? o.value : g.content\n }), i.value || p()) : (r.value = I(\n new l.value.InfoWindow({\n ...g,\n content: c.value ? o.value : g.content\n })\n ), i.value && (d = i.value.addListener(\"click\", () => {\n p();\n })), (!i.value || u) && p(), ve.forEach((b) => {\n var x;\n (x = r.value) == null || x.addListener(b, (M) => t(b, M));\n }), (E = r.value) == null || E.addListener(\"closeclick\", () => h(!1))));\n },\n {\n immediate: !0\n }\n ), O(\n () => n.modelValue,\n (f) => {\n f !== u && (f ? p() : m());\n }\n );\n }), B(() => {\n var f;\n d && d.remove(), r.value && ((f = l.value) == null || f.event.clearInstanceListeners(r.value), m());\n }), s({ infoWindow: r, open: p, close: m }), { infoWindow: r, infoWindowRef: o, hasSlotContent: c, open: p, close: m };\n }\n});\nconst tt = {\n key: 0,\n class: \"info-window-wrapper\"\n};\nfunction st(n, e, t, s, r, o) {\n return n.hasSlotContent ? (Y(), X(\"div\", tt, [\n ae(\"div\", Pe({ ref: \"infoWindowRef\" }, n.$attrs), [\n Q(n.$slots, \"default\", {}, void 0, !0)\n ], 16)\n ])) : Oe(\"\", !0);\n}\nconst At = /* @__PURE__ */ te(et, [[\"render\", st], [\"__scopeId\", \"data-v-cbe1707b\"]]), ye = [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array\n], re = 1, V = 8;\nclass le {\n /**\n * Creates an index from raw `ArrayBuffer` data.\n * @param {ArrayBuffer} data\n */\n static from(e) {\n if (!(e instanceof ArrayBuffer))\n throw new Error(\"Data must be an instance of ArrayBuffer.\");\n const [t, s] = new Uint8Array(e, 0, 2);\n if (t !== 219)\n throw new Error(\"Data does not appear to be in a KDBush format.\");\n const r = s >> 4;\n if (r !== re)\n throw new Error(`Got v${r} data when expected v${re}.`);\n const o = ye[s & 15];\n if (!o)\n throw new Error(\"Unrecognized array type.\");\n const [a] = new Uint16Array(e, 2, 1), [l] = new Uint32Array(e, 4, 1);\n return new le(l, a, o, e);\n }\n /**\n * Creates an index that will hold a given number of items.\n * @param {number} numItems\n * @param {number} [nodeSize=64] Size of the KD-tree node (64 by default).\n * @param {TypedArrayConstructor} [ArrayType=Float64Array] The array type used for coordinates storage (`Float64Array` by default).\n * @param {ArrayBuffer} [data] (For internal use only)\n */\n constructor(e, t = 64, s = Float64Array, r) {\n if (isNaN(e) || e < 0)\n throw new Error(`Unpexpected numItems value: ${e}.`);\n this.numItems = +e, this.nodeSize = Math.min(Math.max(+t, 2), 65535), this.ArrayType = s, this.IndexArrayType = e < 65536 ? Uint16Array : Uint32Array;\n const o = ye.indexOf(this.ArrayType), a = e * 2 * this.ArrayType.BYTES_PER_ELEMENT, l = e * this.IndexArrayType.BYTES_PER_ELEMENT, i = (8 - l % 8) % 8;\n if (o < 0)\n throw new Error(`Unexpected typed array class: ${s}.`);\n r && r instanceof ArrayBuffer ? (this.data = r, this.ids = new this.IndexArrayType(this.data, V, e), this.coords = new this.ArrayType(this.data, V + l + i, e * 2), this._pos = e * 2, this._finished = !0) : (this.data = new ArrayBuffer(V + a + l + i), this.ids = new this.IndexArrayType(this.data, V, e), this.coords = new this.ArrayType(this.data, V + l + i, e * 2), this._pos = 0, this._finished = !1, new Uint8Array(this.data, 0, 2).set([219, (re << 4) + o]), new Uint16Array(this.data, 2, 1)[0] = t, new Uint32Array(this.data, 4, 1)[0] = e);\n }\n /**\n * Add a point to the index.\n * @param {number} x\n * @param {number} y\n * @returns {number} An incremental index associated with the added item (starting from `0`).\n */\n add(e, t) {\n const s = this._pos >> 1;\n return this.ids[s] = s, this.coords[this._pos++] = e, this.coords[this._pos++] = t, s;\n }\n /**\n * Perform indexing of the added points.\n */\n finish() {\n const e = this._pos >> 1;\n if (e !== this.numItems)\n throw new Error(`Added ${e} items when expected ${this.numItems}.`);\n return ie(this.ids, this.coords, this.nodeSize, 0, this.numItems - 1, 0), this._finished = !0, this;\n }\n /**\n * Search the index for items within a given bounding box.\n * @param {number} minX\n * @param {number} minY\n * @param {number} maxX\n * @param {number} maxY\n * @returns {number[]} An array of indices correponding to the found items.\n */\n range(e, t, s, r) {\n if (!this._finished)\n throw new Error(\"Data not yet indexed - call index.finish().\");\n const { ids: o, coords: a, nodeSize: l } = this, i = [0, o.length - 1, 0], d = [];\n for (; i.length; ) {\n const u = i.pop() || 0, c = i.pop() || 0, h = i.pop() || 0;\n if (c - h <= l) {\n for (let g = h; g <= c; g++) {\n const v = a[2 * g], w = a[2 * g + 1];\n v >= e && v <= s && w >= t && w <= r && d.push(o[g]);\n }\n continue;\n }\n const p = h + c >> 1, m = a[2 * p], f = a[2 * p + 1];\n m >= e && m <= s && f >= t && f <= r && d.push(o[p]), (u === 0 ? e <= m : t <= f) && (i.push(h), i.push(p - 1), i.push(1 - u)), (u === 0 ? s >= m : r >= f) && (i.push(p + 1), i.push(c), i.push(1 - u));\n }\n return d;\n }\n /**\n * Search the index for items within a given radius.\n * @param {number} qx\n * @param {number} qy\n * @param {number} r Query radius.\n * @returns {number[]} An array of indices correponding to the found items.\n */\n within(e, t, s) {\n if (!this._finished)\n throw new Error(\"Data not yet indexed - call index.finish().\");\n const { ids: r, coords: o, nodeSize: a } = this, l = [0, r.length - 1, 0], i = [], d = s * s;\n for (; l.length; ) {\n const u = l.pop() || 0, c = l.pop() || 0, h = l.pop() || 0;\n if (c - h <= a) {\n for (let g = h; g <= c; g++)\n we(o[2 * g], o[2 * g + 1], e, t) <= d && i.push(r[g]);\n continue;\n }\n const p = h + c >> 1, m = o[2 * p], f = o[2 * p + 1];\n we(m, f, e, t) <= d && i.push(r[p]), (u === 0 ? e - s <= m : t - s <= f) && (l.push(h), l.push(p - 1), l.push(1 - u)), (u === 0 ? e + s >= m : t + s >= f) && (l.push(p + 1), l.push(c), l.push(1 - u));\n }\n return i;\n }\n}\nfunction ie(n, e, t, s, r, o) {\n if (r - s <= t)\n return;\n const a = s + r >> 1;\n Ie(n, e, a, s, r, o), ie(n, e, t, s, a - 1, 1 - o), ie(n, e, t, a + 1, r, 1 - o);\n}\nfunction Ie(n, e, t, s, r, o) {\n for (; r > s; ) {\n if (r - s > 600) {\n const d = r - s + 1, u = t - s + 1, c = Math.log(d), h = 0.5 * Math.exp(2 * c / 3), p = 0.5 * Math.sqrt(c * h * (d - h) / d) * (u - d / 2 < 0 ? -1 : 1), m = Math.max(s, Math.floor(t - u * h / d + p)), f = Math.min(r, Math.floor(t + (d - u) * h / d + p));\n Ie(n, e, t, m, f, o);\n }\n const a = e[2 * t + o];\n let l = s, i = r;\n for (z(n, e, s, t), e[2 * r + o] > a && z(n, e, s, r); l < i; ) {\n for (z(n, e, l, i), l++, i--; e[2 * l + o] < a; )\n l++;\n for (; e[2 * i + o] > a; )\n i--;\n }\n e[2 * s + o] === a ? z(n, e, s, i) : (i++, z(n, e, i, r)), i <= t && (s = i + 1), t <= i && (r = i - 1);\n }\n}\nfunction z(n, e, t, s) {\n ne(n, t, s), ne(e, 2 * t, 2 * s), ne(e, 2 * t + 1, 2 * s + 1);\n}\nfunction ne(n, e, t) {\n const s = n[e];\n n[e] = n[t], n[t] = s;\n}\nfunction we(n, e, t, s) {\n const r = n - t, o = e - s;\n return r * r + o * o;\n}\nconst rt = {\n minZoom: 0,\n // min zoom to generate clusters on\n maxZoom: 16,\n // max zoom level to cluster the points on\n minPoints: 2,\n // minimum points to form a cluster\n radius: 40,\n // cluster radius in pixels\n extent: 512,\n // tile extent (radius is calculated relative to it)\n nodeSize: 64,\n // size of the KD-tree leaf node, affects performance\n log: !1,\n // whether to log timing info\n // whether to generate numeric ids for input features (in vector tiles)\n generateId: !1,\n // a reduce function for calculating custom cluster properties\n reduce: null,\n // (accumulated, props) => { accumulated.sum += props.sum; }\n // properties to use for individual points when running the reducer\n map: (n) => n\n // props => ({sum: props.my_value})\n}, _e = Math.fround || ((n) => (e) => (n[0] = +e, n[0]))(new Float32Array(1)), A = 2, S = 3, oe = 4, L = 5, Ae = 6;\nclass Te {\n constructor(e) {\n this.options = Object.assign(Object.create(rt), e), this.trees = new Array(this.options.maxZoom + 1), this.stride = this.options.reduce ? 7 : 6, this.clusterProps = [];\n }\n load(e) {\n const { log: t, minZoom: s, maxZoom: r } = this.options;\n t && console.time(\"total time\");\n const o = `prepare ${e.length} points`;\n t && console.time(o), this.points = e;\n const a = [];\n for (let i = 0; i < e.length; i++) {\n const d = e[i];\n if (!d.geometry)\n continue;\n const [u, c] = d.geometry.coordinates, h = _e(W(u)), p = _e(K(c));\n a.push(\n h,\n p,\n // projected point coordinates\n 1 / 0,\n // the last zoom the point was processed at\n i,\n // index of the source feature in the original input array\n -1,\n // parent cluster id\n 1\n // number of points in a cluster\n ), this.options.reduce && a.push(0);\n }\n let l = this.trees[r + 1] = this._createTree(a);\n t && console.timeEnd(o);\n for (let i = r; i >= s; i--) {\n const d = +Date.now();\n l = this.trees[i] = this._createTree(this._cluster(l, i)), t && console.log(\"z%d: %d clusters in %dms\", i, l.numItems, +Date.now() - d);\n }\n return t && console.timeEnd(\"total time\"), this;\n }\n getClusters(e, t) {\n let s = ((e[0] + 180) % 360 + 360) % 360 - 180;\n const r = Math.max(-90, Math.min(90, e[1]));\n let o = e[2] === 180 ? 180 : ((e[2] + 180) % 360 + 360) % 360 - 180;\n const a = Math.max(-90, Math.min(90, e[3]));\n if (e[2] - e[0] >= 360)\n s = -180, o = 180;\n else if (s > o) {\n const c = this.getClusters([s, r, 180, a], t), h = this.getClusters([-180, r, o, a], t);\n return c.concat(h);\n }\n const l = this.trees[this._limitZoom(t)], i = l.range(W(s), K(a), W(o), K(r)), d = l.data, u = [];\n for (const c of i) {\n const h = this.stride * c;\n u.push(d[h + L] > 1 ? ke(d, h, this.clusterProps) : this.points[d[h + S]]);\n }\n return u;\n }\n getChildren(e) {\n const t = this._getOriginId(e), s = this._getOriginZoom(e), r = \"No cluster with the specified id.\", o = this.trees[s];\n if (!o)\n throw new Error(r);\n const a = o.data;\n if (t * this.stride >= a.length)\n throw new Error(r);\n const l = this.options.radius / (this.options.extent * Math.pow(2, s - 1)), i = a[t * this.stride], d = a[t * this.stride + 1], u = o.within(i, d, l), c = [];\n for (const h of u) {\n const p = h * this.stride;\n a[p + oe] === e && c.push(a[p + L] > 1 ? ke(a, p, this.clusterProps) : this.points[a[p + S]]);\n }\n if (c.length === 0)\n throw new Error(r);\n return c;\n }\n getLeaves(e, t, s) {\n t = t || 10, s = s || 0;\n const r = [];\n return this._appendLeaves(r, e, t, s, 0), r;\n }\n getTile(e, t, s) {\n const r = this.trees[this._limitZoom(e)], o = Math.pow(2, e), { extent: a, radius: l } = this.options, i = l / a, d = (s - i) / o, u = (s + 1 + i) / o, c = {\n features: []\n };\n return this._addTileFeatures(\n r.range((t - i) / o, d, (t + 1 + i) / o, u),\n r.data,\n t,\n s,\n o,\n c\n ), t === 0 && this._addTileFeatures(\n r.range(1 - i / o, d, 1, u),\n r.data,\n o,\n s,\n o,\n c\n ), t === o - 1 && this._addTileFeatures(\n r.range(0, d, i / o, u),\n r.data,\n -1,\n s,\n o,\n c\n ), c.features.length ? c : null;\n }\n getClusterExpansionZoom(e) {\n let t = this._getOriginZoom(e) - 1;\n for (; t <= this.options.maxZoom; ) {\n const s = this.getChildren(e);\n if (t++, s.length !== 1)\n break;\n e = s[0].properties.cluster_id;\n }\n return t;\n }\n _appendLeaves(e, t, s, r, o) {\n const a = this.getChildren(t);\n for (const l of a) {\n const i = l.properties;\n if (i && i.cluster ? o + i.point_count <= r ? o += i.point_count : o = this._appendLeaves(e, i.cluster_id, s, r, o) : o < r ? o++ : e.push(l), e.length === s)\n break;\n }\n return o;\n }\n _createTree(e) {\n const t = new le(e.length / this.stride | 0, this.options.nodeSize, Float32Array);\n for (let s = 0; s < e.length; s += this.stride)\n t.add(e[s], e[s + 1]);\n return t.finish(), t.data = e, t;\n }\n _addTileFeatures(e, t, s, r, o, a) {\n for (const l of e) {\n const i = l * this.stride, d = t[i + L] > 1;\n let u, c, h;\n if (d)\n u = $e(t, i, this.clusterProps), c = t[i], h = t[i + 1];\n else {\n const f = this.points[t[i + S]];\n u = f.properties;\n const [g, v] = f.geometry.coordinates;\n c = W(g), h = K(v);\n }\n const p = {\n type: 1,\n geometry: [[\n Math.round(this.options.extent * (c * o - s)),\n Math.round(this.options.extent * (h * o - r))\n ]],\n tags: u\n };\n let m;\n d || this.options.generateId ? m = t[i + S] : m = this.points[t[i + S]].id, m !== void 0 && (p.id = m), a.features.push(p);\n }\n }\n _limitZoom(e) {\n return Math.max(this.options.minZoom, Math.min(Math.floor(+e), this.options.maxZoom + 1));\n }\n _cluster(e, t) {\n const { radius: s, extent: r, reduce: o, minPoints: a } = this.options, l = s / (r * Math.pow(2, t)), i = e.data, d = [], u = this.stride;\n for (let c = 0; c < i.length; c += u) {\n if (i[c + A] <= t)\n continue;\n i[c + A] = t;\n const h = i[c], p = i[c + 1], m = e.within(i[c], i[c + 1], l), f = i[c + L];\n let g = f;\n for (const v of m) {\n const w = v * u;\n i[w + A] > t && (g += i[w + L]);\n }\n if (g > f && g >= a) {\n let v = h * f, w = p * f, _, E = -1;\n const b = ((c / u | 0) << 5) + (t + 1) + this.points.length;\n for (const x of m) {\n const M = x * u;\n if (i[M + A] <= t)\n continue;\n i[M + A] = t;\n const F = i[M + L];\n v += i[M] * F, w += i[M + 1] * F, i[M + oe] = b, o && (_ || (_ = this._map(i, c, !0), E = this.clusterProps.length, this.clusterProps.push(_)), o(_, this._map(i, M)));\n }\n i[c + oe] = b, d.push(v / g, w / g, 1 / 0, b, -1, g), o && d.push(E);\n } else {\n for (let v = 0; v < u; v++)\n d.push(i[c + v]);\n if (g > 1)\n for (const v of m) {\n const w = v * u;\n if (!(i[w + A] <= t)) {\n i[w + A] = t;\n for (let _ = 0; _ < u; _++)\n d.push(i[w + _]);\n }\n }\n }\n }\n return d;\n }\n // get index of the point from which the cluster originated\n _getOriginId(e) {\n return e - this.points.length >> 5;\n }\n // get zoom of the point from which the cluster originated\n _getOriginZoom(e) {\n return (e - this.points.length) % 32;\n }\n _map(e, t, s) {\n if (e[t + L] > 1) {\n const a = this.clusterProps[e[t + Ae]];\n return s ? Object.assign({}, a) : a;\n }\n const r = this.points[e[t + S]].properties, o = this.options.map(r);\n return s && o === r ? Object.assign({}, o) : o;\n }\n}\nfunction ke(n, e, t) {\n return {\n type: \"Feature\",\n id: n[e + S],\n properties: $e(n, e, t),\n geometry: {\n type: \"Point\",\n coordinates: [nt(n[e]), ot(n[e + 1])]\n }\n };\n}\nfunction $e(n, e, t) {\n const s = n[e + L], r = s >= 1e4 ? `${Math.round(s / 1e3)}k` : s >= 1e3 ? `${Math.round(s / 100) / 10}k` : s, o = n[e + Ae], a = o === -1 ? {} : Object.assign({}, t[o]);\n return Object.assign(a, {\n cluster: !0,\n cluster_id: n[e + S],\n point_count: s,\n point_count_abbreviated: r\n });\n}\nfunction W(n) {\n return n / 360 + 0.5;\n}\nfunction K(n) {\n const e = Math.sin(n * Math.PI / 180), t = 0.5 - 0.25 * Math.log((1 + e) / (1 - e)) / Math.PI;\n return t < 0 ? 0 : t > 1 ? 1 : t;\n}\nfunction nt(n) {\n return (n - 0.5) * 360;\n}\nfunction ot(n) {\n const e = (180 - n * 360) * Math.PI / 180;\n return 360 * Math.atan(Math.exp(e)) / Math.PI - 90;\n}\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\nfunction ce(n, e) {\n var t = {};\n for (var s in n)\n Object.prototype.hasOwnProperty.call(n, s) && e.indexOf(s) < 0 && (t[s] = n[s]);\n if (n != null && typeof Object.getOwnPropertySymbols == \"function\")\n for (var r = 0, s = Object.getOwnPropertySymbols(n); r < s.length; r++)\n e.indexOf(s[r]) < 0 && Object.prototype.propertyIsEnumerable.call(n, s[r]) && (t[s[r]] = n[s[r]]);\n return t;\n}\nclass k {\n static isAdvancedMarkerAvailable(e) {\n return google.maps.marker && e.getMapCapabilities().isAdvancedMarkersAvailable === !0;\n }\n static isAdvancedMarker(e) {\n return google.maps.marker && e instanceof google.maps.marker.AdvancedMarkerElement;\n }\n static setMap(e, t) {\n this.isAdvancedMarker(e) ? e.map = t : e.setMap(t);\n }\n static getPosition(e) {\n if (this.isAdvancedMarker(e)) {\n if (e.position) {\n if (e.position instanceof google.maps.LatLng)\n return e.position;\n if (e.position.lat && e.position.lng)\n return new google.maps.LatLng(e.position.lat, e.position.lng);\n }\n return new google.maps.LatLng(null);\n }\n return e.getPosition();\n }\n static getVisible(e) {\n return this.isAdvancedMarker(e) ? !0 : e.getVisible();\n }\n}\nclass H {\n constructor({ markers: e, position: t }) {\n this.markers = e, t && (t instanceof google.maps.LatLng ? this._position = t : this._position = new google.maps.LatLng(t));\n }\n get bounds() {\n if (this.markers.length === 0 && !this._position)\n return;\n const e = new google.maps.LatLngBounds(this._position, this._position);\n for (const t of this.markers)\n e.extend(k.getPosition(t));\n return e;\n }\n get position() {\n return this._position || this.bounds.getCenter();\n }\n /**\n * Get the count of **visible** markers.\n */\n get count() {\n return this.markers.filter((e) => k.getVisible(e)).length;\n }\n /**\n * Add a marker to the cluster.\n */\n push(e) {\n this.markers.push(e);\n }\n /**\n * Cleanup references and remove marker from map.\n */\n delete() {\n this.marker && (k.setMap(this.marker, null), this.marker = void 0), this.markers.length = 0;\n }\n}\nconst it = (n, e, t, s) => {\n const r = Re(n.getBounds(), e, s);\n return t.filter((o) => r.contains(k.getPosition(o)));\n}, Re = (n, e, t) => {\n const { northEast: s, southWest: r } = at(n, e), o = lt({ northEast: s, southWest: r }, t);\n return ct(o, e);\n}, Ce = (n, e, t) => {\n const s = Re(n, e, t), r = s.getNorthEast(), o = s.getSouthWest();\n return [o.lng(), o.lat(), r.lng(), r.lat()];\n}, at = (n, e) => ({\n northEast: e.fromLatLngToDivPixel(n.getNorthEast()),\n southWest: e.fromLatLngToDivPixel(n.getSouthWest())\n}), lt = ({ northEast: n, southWest: e }, t) => (n.x += t, n.y -= t, e.x -= t, e.y += t, { northEast: n, southWest: e }), ct = ({ northEast: n, southWest: e }, t) => {\n const s = t.fromDivPixelToLatLng(e), r = t.fromDivPixelToLatLng(n);\n return new google.maps.LatLngBounds(s, r);\n};\nclass je {\n constructor({ maxZoom: e = 16 }) {\n this.maxZoom = e;\n }\n /**\n * Helper function to bypass clustering based upon some map state such as\n * zoom, number of markers, etc.\n *\n * ```typescript\n * cluster({markers, map}: AlgorithmInput): Cluster[] {\n * if (shouldBypassClustering(map)) {\n * return this.noop({markers})\n * }\n * }\n * ```\n */\n noop({ markers: e }) {\n return dt(e);\n }\n}\nclass ut extends je {\n constructor(e) {\n var { viewportPadding: t = 60 } = e, s = ce(e, [\"viewportPadding\"]);\n super(s), this.viewportPadding = 60, this.viewportPadding = t;\n }\n calculate({ markers: e, map: t, mapCanvasProjection: s }) {\n return t.getZoom() >= this.maxZoom ? {\n clusters: this.noop({\n markers: e\n }),\n changed: !1\n } : {\n clusters: this.cluster({\n markers: it(t, s, e, this.viewportPadding),\n map: t,\n mapCanvasProjection: s\n })\n };\n }\n}\nconst dt = (n) => n.map((t) => new H({\n position: k.getPosition(t),\n markers: [t]\n}));\nclass ht extends je {\n constructor(e) {\n var { maxZoom: t, radius: s = 60 } = e, r = ce(e, [\"maxZoom\", \"radius\"]);\n super({ maxZoom: t }), this.state = { zoom: -1 }, this.superCluster = new Te(Object.assign({ maxZoom: this.maxZoom, radius: s }, r));\n }\n calculate(e) {\n let t = !1;\n const s = { zoom: e.map.getZoom() };\n if (!$(e.markers, this.markers)) {\n t = !0, this.markers = [...e.markers];\n const r = this.markers.map((o) => {\n const a = k.getPosition(o);\n return {\n type: \"Feature\",\n geometry: {\n type: \"Point\",\n coordinates: [a.lng(), a.lat()]\n },\n properties: { marker: o }\n };\n });\n this.superCluster.load(r);\n }\n return t || (this.state.zoom <= this.maxZoom || s.zoom <= this.maxZoom) && (t = !$(this.state, s)), this.state = s, t && (this.clusters = this.cluster(e)), { clusters: this.clusters, changed: t };\n }\n cluster({ map: e }) {\n return this.superCluster.getClusters([-180, -90, 180, 90], Math.round(e.getZoom())).map((t) => this.transformCluster(t));\n }\n transformCluster({ geometry: { coordinates: [e, t] }, properties: s }) {\n if (s.cluster)\n return new H({\n markers: this.superCluster.getLeaves(s.cluster_id, 1 / 0).map((o) => o.properties.marker),\n position: { lat: t, lng: e }\n });\n const r = s.marker;\n return new H({\n markers: [r],\n position: k.getPosition(r)\n });\n }\n}\nclass pt extends ut {\n constructor(e) {\n var { maxZoom: t, radius: s = 60, viewportPadding: r = 60 } = e, o = ce(e, [\"maxZoom\", \"radius\", \"viewportPadding\"]);\n super({ maxZoom: t, viewportPadding: r }), this.superCluster = new Te(Object.assign({ maxZoom: this.maxZoom, radius: s }, o)), this.state = { zoom: -1, view: [0, 0, 0, 0] };\n }\n calculate(e) {\n const t = {\n zoom: Math.round(e.map.getZoom()),\n view: Ce(e.map.getBounds(), e.mapCanvasProjection, this.viewportPadding)\n };\n let s = !$(this.state, t);\n if (!$(e.markers, this.markers)) {\n s = !0, this.markers = [...e.markers];\n const r = this.markers.map((o) => {\n const a = k.getPosition(o);\n return {\n type: \"Feature\",\n geometry: {\n type: \"Point\",\n coordinates: [a.lng(), a.lat()]\n },\n properties: { marker: o }\n };\n });\n this.superCluster.load(r);\n }\n return s && (this.clusters = this.cluster(e), this.state = t), { clusters: this.clusters, changed: s };\n }\n cluster({ map: e, mapCanvasProjection: t }) {\n const s = {\n zoom: Math.round(e.getZoom()),\n view: Ce(e.getBounds(), t, this.viewportPadding)\n };\n return this.superCluster.getClusters(s.view, s.zoom).map((r) => this.transformCluster(r));\n }\n transformCluster({ geometry: { coordinates: [e, t] }, properties: s }) {\n if (s.cluster)\n return new H({\n markers: this.superCluster.getLeaves(s.cluster_id, 1 / 0).map((o) => o.properties.marker),\n position: { lat: t, lng: e }\n });\n const r = s.marker;\n return new H({\n markers: [r],\n position: k.getPosition(r)\n });\n }\n}\nclass ft {\n constructor(e, t) {\n this.markers = { sum: e.length };\n const s = t.map((o) => o.count), r = s.reduce((o, a) => o + a, 0);\n this.clusters = {\n count: t.length,\n markers: {\n mean: r / t.length,\n sum: r,\n min: Math.min(...s),\n max: Math.max(...s)\n }\n };\n }\n}\nclass mt {\n /**\n * The default render function for the library used by {@link MarkerClusterer}.\n *\n * Currently set to use the following:\n *\n * ```typescript\n * // change color if this cluster has more markers than the mean cluster\n * const color =\n * count > Math.max(10, stats.clusters.markers.mean)\n * ? \"#ff0000\"\n * : \"#0000ff\";\n *\n * // create svg url with fill color\n * const svg = window.btoa(`\n * \n * \n * \n * \n * \n * `);\n *\n * // create marker using svg icon\n * return new google.maps.Marker({\n * position,\n * icon: {\n * url: `data:image/svg+xml;base64,${svg}`,\n * scaledSize: new google.maps.Size(45, 45),\n * },\n * label: {\n * text: String(count),\n * color: \"rgba(255,255,255,0.9)\",\n * fontSize: \"12px\",\n * },\n * // adjust zIndex to be above other markers\n * zIndex: 1000 + count,\n * });\n * ```\n */\n render({ count: e, position: t }, s, r) {\n const a = ` Math.max(10, s.clusters.markers.mean) ? \"#ff0000\" : \"#0000ff\"}\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 240 240\" width=\"50\" height=\"50\">\n\n\n\n${e}\n`, l = `Cluster of ${e} markers`, i = Number(google.maps.Marker.MAX_ZINDEX) + e;\n if (k.isAdvancedMarkerAvailable(r)) {\n const u = document.createElement(\"div\");\n u.innerHTML = a;\n const c = u.firstElementChild;\n c.setAttribute(\"transform\", \"translate(0 25)\");\n const h = {\n map: r,\n position: t,\n zIndex: i,\n title: l,\n content: c\n };\n return new google.maps.marker.AdvancedMarkerElement(h);\n }\n const d = {\n position: t,\n zIndex: i,\n title: l,\n icon: {\n url: `data:image/svg+xml;base64,${btoa(a)}`,\n anchor: new google.maps.Point(25, 25)\n }\n };\n return new google.maps.Marker(d);\n }\n}\nfunction gt(n, e) {\n for (let t in e.prototype)\n n.prototype[t] = e.prototype[t];\n}\nclass ue {\n constructor() {\n gt(ue, google.maps.OverlayView);\n }\n}\nvar j;\n(function(n) {\n n.CLUSTERING_BEGIN = \"clusteringbegin\", n.CLUSTERING_END = \"clusteringend\", n.CLUSTER_CLICK = \"click\";\n})(j || (j = {}));\nconst vt = (n, e, t) => {\n t.fitBounds(e.bounds);\n};\nclass yt extends ue {\n constructor({ map: e, markers: t = [], algorithmOptions: s = {}, algorithm: r = new ht(s), renderer: o = new mt(), onClusterClick: a = vt }) {\n super(), this.markers = [...t], this.clusters = [], this.algorithm = r, this.renderer = o, this.onClusterClick = a, e && this.setMap(e);\n }\n addMarker(e, t) {\n this.markers.includes(e) || (this.markers.push(e), t || this.render());\n }\n addMarkers(e, t) {\n e.forEach((s) => {\n this.addMarker(s, !0);\n }), t || this.render();\n }\n removeMarker(e, t) {\n const s = this.markers.indexOf(e);\n return s === -1 ? !1 : (k.setMap(e, null), this.markers.splice(s, 1), t || this.render(), !0);\n }\n removeMarkers(e, t) {\n let s = !1;\n return e.forEach((r) => {\n s = this.removeMarker(r, !0) || s;\n }), s && !t && this.render(), s;\n }\n clearMarkers(e) {\n this.markers.length = 0, e || this.render();\n }\n /**\n * Recalculates and draws all the marker clusters.\n */\n render() {\n const e = this.getMap();\n if (e instanceof google.maps.Map && e.getProjection()) {\n google.maps.event.trigger(this, j.CLUSTERING_BEGIN, this);\n const { clusters: t, changed: s } = this.algorithm.calculate({\n markers: this.markers,\n map: e,\n mapCanvasProjection: this.getProjection()\n });\n if (s || s == null) {\n const r = /* @__PURE__ */ new Set();\n for (const a of t)\n a.markers.length == 1 && r.add(a.markers[0]);\n const o = [];\n for (const a of this.clusters)\n a.marker != null && (a.markers.length == 1 ? r.has(a.marker) || k.setMap(a.marker, null) : o.push(a.marker));\n this.clusters = t, this.renderClusters(), requestAnimationFrame(() => o.forEach((a) => k.setMap(a, null)));\n }\n google.maps.event.trigger(this, j.CLUSTERING_END, this);\n }\n }\n onAdd() {\n this.idleListener = this.getMap().addListener(\"idle\", this.render.bind(this)), this.render();\n }\n onRemove() {\n google.maps.event.removeListener(this.idleListener), this.reset();\n }\n reset() {\n this.markers.forEach((e) => k.setMap(e, null)), this.clusters.forEach((e) => e.delete()), this.clusters = [];\n }\n renderClusters() {\n const e = new ft(this.markers, this.clusters), t = this.getMap();\n this.clusters.forEach((s) => {\n s.markers.length === 1 ? s.marker = s.markers[0] : (s.marker = this.renderer.render(s, e, t), s.markers.forEach((r) => k.setMap(r, null)), this.onClusterClick && s.marker.addListener(\n \"click\",\n /* istanbul ignore next */\n (r) => {\n google.maps.event.trigger(this, j.CLUSTER_CLICK, s), this.onClusterClick(r, s, t);\n }\n )), k.setMap(s.marker, t);\n });\n }\n}\nconst be = Object.values(j), Tt = P({\n name: \"MarkerCluster\",\n props: {\n options: {\n type: Object,\n default: () => ({})\n }\n },\n emits: be,\n setup(n, { emit: e, expose: t, slots: s }) {\n const r = y(), o = C(N, y()), a = C(U, y());\n return G(Le, r), O(\n o,\n () => {\n o.value && (r.value = I(\n new yt({\n map: o.value,\n // Better perf than the default `SuperClusterAlgorithm`. See:\n // https://github.com/googlemaps/js-markerclusterer/pull/640\n algorithm: new pt(n.options.algorithmOptions ?? {}),\n ...n.options\n })\n ), be.forEach((l) => {\n var i;\n (i = r.value) == null || i.addListener(l, (d) => e(l, d));\n }));\n },\n {\n immediate: !0\n }\n ), B(() => {\n var l;\n r.value && ((l = a.value) == null || l.event.clearInstanceListeners(r.value), r.value.clearMarkers(), r.value.setMap(null));\n }), t({ markerCluster: r }), () => {\n var l;\n return (l = s.default) == null ? void 0 : l.call(s);\n };\n }\n}), wt = P({\n inheritAttrs: !1,\n props: {\n options: {\n type: Object,\n required: !0\n }\n },\n setup(n, { slots: e, emit: t, expose: s }) {\n const r = y(), o = J(() => {\n var i;\n return (i = e.default) == null ? void 0 : i.call(e).some((d) => d.type !== Ee);\n }), a = J(() => ({\n ...n.options,\n element: r.value\n })), l = D(ee, [], a, t);\n return s({\n customMarker: l\n }), { customMarkerRef: r, customMarker: l, hasSlotContent: o };\n }\n});\nconst _t = {\n key: 0,\n class: \"custom-marker-wrapper\"\n};\nfunction kt(n, e, t, s, r, o) {\n return n.hasSlotContent ? (Y(), X(\"div\", _t, [\n ae(\"div\", Pe({\n ref: \"customMarkerRef\",\n style: { cursor: n.$attrs.onClick ? \"pointer\" : void 0 }\n }, n.$attrs), [\n Q(n.$slots, \"default\", {}, void 0, !0)\n ], 16)\n ])) : Oe(\"\", !0);\n}\nconst $t = /* @__PURE__ */ te(wt, [[\"render\", kt], [\"__scopeId\", \"data-v-2d2d343a\"]]), Rt = P({\n name: \"HeatmapLayer\",\n props: {\n options: {\n type: Object,\n default: () => ({})\n }\n },\n setup(n) {\n const e = y(), t = C(N, y()), s = C(U, y());\n return O(\n [t, () => n.options],\n ([r, o], [a, l]) => {\n var d;\n const i = !$(o, l) || t.value !== a;\n if (t.value && s.value && i) {\n const u = structuredClone(o);\n if (u.data && !(u.data instanceof s.value.MVCArray)) {\n const c = s.value.LatLng;\n u.data = (d = u.data) == null ? void 0 : d.map((h) => h instanceof c || \"location\" in h && (h.location instanceof c || h.location === null) ? h : \"location\" in h ? { ...h, location: new c(h.location) } : new c(h));\n }\n e.value ? e.value.setOptions(u) : e.value = I(\n new s.value.visualization.HeatmapLayer({\n ...u,\n map: t.value\n })\n );\n }\n },\n { immediate: !0 }\n ), B(() => {\n e.value && e.value.setMap(null);\n }), { heatmapLayer: e };\n },\n render: () => null\n});\nexport {\n St as Circle,\n It as CustomControl,\n $t as CustomMarker,\n Et as GoogleMap,\n Rt as HeatmapLayer,\n At as InfoWindow,\n Pt as Marker,\n Tt as MarkerCluster,\n xt as Polygon,\n Ot as Polyline,\n Lt as Rectangle\n};\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol */\r\n\r\n\r\nfunction __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\nfunction getDefaultExportFromCjs (x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;\n}\n\n// do not edit .js files directly - edit src/index.jst\n\n\n\nvar fastDeepEqual = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n if (a.constructor !== b.constructor) return false;\n\n var length, i, keys;\n if (Array.isArray(a)) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n\n\n if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;\n if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();\n if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();\n\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0;)\n if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n var key = keys[i];\n\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n // true if both NaN, false otherwise\n return a!==a && b!==b;\n};\n\nvar isEqual = /*@__PURE__*/getDefaultExportFromCjs(fastDeepEqual);\n\n/**\n * Copyright 2019 Google LLC. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at.\n *\n * Http://www.apache.org/licenses/LICENSE-2.0.\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nconst DEFAULT_ID = \"__googleMapsScriptId\";\n/**\n * The status of the [[Loader]].\n */\nvar LoaderStatus;\n(function (LoaderStatus) {\n LoaderStatus[LoaderStatus[\"INITIALIZED\"] = 0] = \"INITIALIZED\";\n LoaderStatus[LoaderStatus[\"LOADING\"] = 1] = \"LOADING\";\n LoaderStatus[LoaderStatus[\"SUCCESS\"] = 2] = \"SUCCESS\";\n LoaderStatus[LoaderStatus[\"FAILURE\"] = 3] = \"FAILURE\";\n})(LoaderStatus || (LoaderStatus = {}));\n/**\n * [[Loader]] makes it easier to add Google Maps JavaScript API to your application\n * dynamically using\n * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise).\n * It works by dynamically creating and appending a script node to the the\n * document head and wrapping the callback function so as to return a promise.\n *\n * ```\n * const loader = new Loader({\n * apiKey: \"\",\n * version: \"weekly\",\n * libraries: [\"places\"]\n * });\n *\n * loader.load().then((google) => {\n * const map = new google.maps.Map(...)\n * })\n * ```\n */\nclass Loader {\n /**\n * Creates an instance of Loader using [[LoaderOptions]]. No defaults are set\n * using this library, instead the defaults are set by the Google Maps\n * JavaScript API server.\n *\n * ```\n * const loader = Loader({apiKey, version: 'weekly', libraries: ['places']});\n * ```\n */\n constructor({ apiKey, authReferrerPolicy, channel, client, id = DEFAULT_ID, language, libraries = [], mapIds, nonce, region, retries = 3, url = \"https://maps.googleapis.com/maps/api/js\", version, }) {\n this.callbacks = [];\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.apiKey = apiKey;\n this.authReferrerPolicy = authReferrerPolicy;\n this.channel = channel;\n this.client = client;\n this.id = id || DEFAULT_ID; // Do not allow empty string\n this.language = language;\n this.libraries = libraries;\n this.mapIds = mapIds;\n this.nonce = nonce;\n this.region = region;\n this.retries = retries;\n this.url = url;\n this.version = version;\n if (Loader.instance) {\n if (!isEqual(this.options, Loader.instance.options)) {\n throw new Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(Loader.instance.options)}`);\n }\n return Loader.instance;\n }\n Loader.instance = this;\n }\n get options() {\n return {\n version: this.version,\n apiKey: this.apiKey,\n channel: this.channel,\n client: this.client,\n id: this.id,\n libraries: this.libraries,\n language: this.language,\n region: this.region,\n mapIds: this.mapIds,\n nonce: this.nonce,\n url: this.url,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n }\n get status() {\n if (this.errors.length) {\n return LoaderStatus.FAILURE;\n }\n if (this.done) {\n return LoaderStatus.SUCCESS;\n }\n if (this.loading) {\n return LoaderStatus.LOADING;\n }\n return LoaderStatus.INITIALIZED;\n }\n get failed() {\n return this.done && !this.loading && this.errors.length >= this.retries + 1;\n }\n /**\n * CreateUrl returns the Google Maps JavaScript API script url given the [[LoaderOptions]].\n *\n * @ignore\n * @deprecated\n */\n createUrl() {\n let url = this.url;\n url += `?callback=__googleMapsCallback&loading=async`;\n if (this.apiKey) {\n url += `&key=${this.apiKey}`;\n }\n if (this.channel) {\n url += `&channel=${this.channel}`;\n }\n if (this.client) {\n url += `&client=${this.client}`;\n }\n if (this.libraries.length > 0) {\n url += `&libraries=${this.libraries.join(\",\")}`;\n }\n if (this.language) {\n url += `&language=${this.language}`;\n }\n if (this.region) {\n url += `®ion=${this.region}`;\n }\n if (this.version) {\n url += `&v=${this.version}`;\n }\n if (this.mapIds) {\n url += `&map_ids=${this.mapIds.join(\",\")}`;\n }\n if (this.authReferrerPolicy) {\n url += `&auth_referrer_policy=${this.authReferrerPolicy}`;\n }\n return url;\n }\n deleteScript() {\n const script = document.getElementById(this.id);\n if (script) {\n script.remove();\n }\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n * @deprecated, use importLibrary() instead.\n */\n load() {\n return this.loadPromise();\n }\n /**\n * Load the Google Maps JavaScript API script and return a Promise.\n *\n * @ignore\n * @deprecated, use importLibrary() instead.\n */\n loadPromise() {\n return new Promise((resolve, reject) => {\n this.loadCallback((err) => {\n if (!err) {\n resolve(window.google);\n }\n else {\n reject(err.error);\n }\n });\n });\n }\n importLibrary(name) {\n this.execute();\n return google.maps.importLibrary(name);\n }\n /**\n * Load the Google Maps JavaScript API script with a callback.\n * @deprecated, use importLibrary() instead.\n */\n loadCallback(fn) {\n this.callbacks.push(fn);\n this.execute();\n }\n /**\n * Set the script on document.\n */\n setScript() {\n var _a, _b;\n if (document.getElementById(this.id)) {\n // TODO wrap onerror callback for cases where the script was loaded elsewhere\n this.callback();\n return;\n }\n const params = {\n key: this.apiKey,\n channel: this.channel,\n client: this.client,\n libraries: this.libraries.length && this.libraries,\n v: this.version,\n mapIds: this.mapIds,\n language: this.language,\n region: this.region,\n authReferrerPolicy: this.authReferrerPolicy,\n };\n // keep the URL minimal:\n Object.keys(params).forEach(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (key) => !params[key] && delete params[key]);\n if (!((_b = (_a = window === null || window === void 0 ? void 0 : window.google) === null || _a === void 0 ? void 0 : _a.maps) === null || _b === void 0 ? void 0 : _b.importLibrary)) {\n // tweaked copy of https://developers.google.com/maps/documentation/javascript/load-maps-js-api#dynamic-library-import\n // which also sets the base url, the id, and the nonce\n /* eslint-disable */\n ((g) => {\n // @ts-ignore\n let h, a, k, p = \"The Google Maps JavaScript API\", c = \"google\", l = \"importLibrary\", q = \"__ib__\", m = document, b = window;\n // @ts-ignore\n b = b[c] || (b[c] = {});\n // @ts-ignore\n const d = b.maps || (b.maps = {}), r = new Set(), e = new URLSearchParams(), u = () => \n // @ts-ignore\n h || (h = new Promise((f, n) => __awaiter(this, void 0, void 0, function* () {\n var _a;\n yield (a = m.createElement(\"script\"));\n a.id = this.id;\n e.set(\"libraries\", [...r] + \"\");\n // @ts-ignore\n for (k in g)\n e.set(k.replace(/[A-Z]/g, (t) => \"_\" + t[0].toLowerCase()), g[k]);\n e.set(\"callback\", c + \".maps.\" + q);\n a.src = this.url + `?` + e;\n d[q] = f;\n a.onerror = () => (h = n(Error(p + \" could not load.\")));\n // @ts-ignore\n a.nonce = this.nonce || ((_a = m.querySelector(\"script[nonce]\")) === null || _a === void 0 ? void 0 : _a.nonce) || \"\";\n m.head.append(a);\n })));\n // @ts-ignore\n d[l] ? console.warn(p + \" only loads once. Ignoring:\", g) : (d[l] = (f, ...n) => r.add(f) && u().then(() => d[l](f, ...n)));\n })(params);\n /* eslint-enable */\n }\n // While most libraries populate the global namespace when loaded via bootstrap params,\n // this is not the case for \"marker\" when used with the inline bootstrap loader\n // (and maybe others in the future). So ensure there is an importLibrary for each:\n const libraryPromises = this.libraries.map((library) => this.importLibrary(library));\n // ensure at least one library, to kick off loading...\n if (!libraryPromises.length) {\n libraryPromises.push(this.importLibrary(\"core\"));\n }\n Promise.all(libraryPromises).then(() => this.callback(), (error) => {\n const event = new ErrorEvent(\"error\", { error }); // for backwards compat\n this.loadErrorCallback(event);\n });\n }\n /**\n * Reset the loader state.\n */\n reset() {\n this.deleteScript();\n this.done = false;\n this.loading = false;\n this.errors = [];\n this.onerrorEvent = null;\n }\n resetIfRetryingFailed() {\n if (this.failed) {\n this.reset();\n }\n }\n loadErrorCallback(e) {\n this.errors.push(e);\n if (this.errors.length <= this.retries) {\n const delay = this.errors.length * Math.pow(2, this.errors.length);\n console.error(`Failed to load Google Maps script, retrying in ${delay} ms.`);\n setTimeout(() => {\n this.deleteScript();\n this.setScript();\n }, delay);\n }\n else {\n this.onerrorEvent = e;\n this.callback();\n }\n }\n callback() {\n this.done = true;\n this.loading = false;\n this.callbacks.forEach((cb) => {\n cb(this.onerrorEvent);\n });\n this.callbacks = [];\n }\n execute() {\n this.resetIfRetryingFailed();\n if (this.loading) {\n // do nothing but wait\n return;\n }\n if (this.done) {\n this.callback();\n }\n else {\n // short circuit and warn if google.maps is already loaded\n if (window.google && window.google.maps && window.google.maps.version) {\n console.warn(\"Google Maps already loaded outside @googlemaps/js-api-loader. \" +\n \"This may result in undesirable behavior as options and script parameters may not match.\");\n this.callback();\n return;\n }\n this.loading = true;\n this.setScript();\n }\n }\n}\n\nexport { DEFAULT_ID, Loader, LoaderStatus };\n//# sourceMappingURL=index.mjs.map\n","export default \"__VITE_ASSET__B8p3DW6W__\"","export default \"__VITE_ASSET__XWITadkw__\"","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","3\n\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n"],"names":["checkResultApiRequest","result","Success","getDistanceBetweenPoints","from","to","f1","f2","deltaF","deltaLambda","a","filterPointsByTags","points","tags","point","pointTags","slug","tag","STATE_OF_MAP","StateGeoAddress","StateGeoAddress2","TypesEntity","TypesProvider","useDeliveryStore","defineStore","StoreId","coords","$apiService","useNuxtApp","areasData","areas","place","address","status","state","page","attentionFactoid","seo","defaultEnabledTags","_a","coordinates","distance","id","index","feature","activeTags","tagsFromPoints","item","uniqTagsFromPoints","tagsFromDelivery","f","filteredTagsList","tagFromDelivery","pointSlug","dadataApi","url","apiKey","query","option","body","axios","error","makeDadataAddressString","suggestion","addressData","region","settlement","city","joinPartsOfAddress","street","house","transformDadataAutocomplete","dadataSuggestions","autocompleteList","StateOfAutocomplete","makeDadataAutocompleteService","dadata","getSuggestions","request","suggestions","Loader$1","Loader","options","resolve","reject","script","e","parameters","name","value","api","getGoogleApi","makeGoogleAddressString","locality","makeShortGoogleAddressString","transformGoogleAutocomplete","googleSuggestions","shortAddress","makeGoogleAutocompleteService","googleApi","autocompleteService","autocompleteServiceFactory","providerData","getAutocompleteService","serializeToRequest","country","fullRequest","stateReg","cityReg","countryReg","PlacesSearch","DeliveryInfoType","emits","__emit","myPositionIsLoading","ref","isDisabledButton","shallowRef","$sentryCaptureException","showSnackbar","useAppStore","deliveryStore","onMounted","getMyPosition","geolocationClickHandler","latitude","longitude","ServerError","errorMessage","cityStore","useCityStore","newFetchingApiEnabled","useToggleStore","mapSettingsStore","useMapSettingsStore","autocompleteError","autocompleteLoading","selectedAddress","deliveryAddress","computed","settingsForAutocomplete","cityInfo","_b","_c","watch","newDeliveryAddress","eventsHandlerOfMap","debounceSearchSuggestion","debounce","TIME_OF_DEBOUNCE","searchSuggestions","fetchFromNewSuggestions","BOUND_OF_SEARCH_AUTOCOMPLETE","setAutocompleteError","fetchOldSuggestions","preparedRequest","COUNT_OF_QUERY","handleSelectSuggestion","selectedSuggestion","handleSearchInput","onResetSearch","cafeEnabled","title","setActiveTags","emit","modelValue","updateModelValue","_hoisted_1","_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","props","__props","router","useRouter","icons","currentWorkingDay","isPointOpen","makeDistanceFormat","d","displayedTags","iconsKeys","modifiedWorkingHoursHelper","workingHours","weekday","weekdays","modifyWorkingHour","start","end","isCurrent","workingHoursTitle","modifiedWorkingHours","currentTime","cityTimezone","utcToZonedTime","renderDistance","currentDay","copyAddress","copyToClipboard","SnackbarType","openMoreInfo","pointId","sortedPoints","featureA","featureB","distanceA","distanceB","setSelectPoint","isDesktop","useDevice","filteredPoints","showPoints","filteredTags","VueYandexMaps","VueYandexMaps2","safeRef","safeComputed","YandexMapException2","message","getter","debugOptions","sleep","ms","copy","target","toRaw","unref","i","carry","key","val","isDev","define_process_env_default","getException","text","isInternal","warn","throwException","settings","exception","excludeKeys","ignoreKeys","isVue2","version","fragment","setFragment","__vitePreload","Fragment","hF","children","h","hVue2","getAttrsForVueVersion","attrs","YandexMapException","allowedOptionsKeys","initYmaps","res","rej","watcher","yandexMapScript","module","createYmapsOptions","ignoreNoCurrentInstance","optionsShallowClone","notAllowedKeys","applyModifier","modifier","applyFunctionModifier","functionModifier","worldToPixels","convertWorldCoordinates","projection","worldCoordinates","pixelsToWorld","findNeededValue","t","worldCoordsFromModifier","resultCoords","convertBounds","bounds","topLeft","bottomRight","modified","updatedBounds","applyMarginToCoords","margin","findZoom","isSnap","zoomRange","topLeftFirst","topLeftSecond","bottomRightFirst","bottomRightSecond","firstCalc","secondCalc","zoom","findCenter","getLocationFromBounds","map","roundZoom","comfortZoomLevel","ctxMap","x","ctx","ctxItem","ctxItemMapKey","ctxItemMap","size","center","originalZoom","roundedZoom","userSettings","diff2","useYMapsLocationFromBounds","getCenterFromCoords","sum","accLng","accLat","lng","lat","getBoundsFromCoords","minLongitude","minLatitude","maxLongitude","maxLatitude","acc","createYmaps","app","createYmapsVue2","Vue","isDate","isEmpty","o","isObject","hasOwnProperty","args","isEmptyObject","makeObjectWithoutPrototype","diff","lhs","rhs","deletedValues","difference","injectMap","getCurrentInstance","inject","isRef","injectLayers","layers","waitTillYmapInit","timeoutCallback","waitDuration","timeout","waitTillMapInit","_map","deleteMapChild","isMercator","root","_sfc_main$p","defineComponent","slots","mapRef","ymapContainer","mounted","needsToHold","provide","getSettings","init","container","listener","cursorGrabTimeout","onBeforeUnmount","setupWatcher","clonedSettings","settingsDiff","updatedSettings","_timeout","isDelete","nextTick","mapNodeProps","containerNode","slotsNodeProps","setupMapChildren","returnOnly","willDeleteByHand","strictMapRoot","requiredImport","createFunction","settingsUpdateIgnoreKeys","isLayer","isMapRoot","mapRootRef","duplicateInit","mapRoot","initPromises","childrenPromises","timeouts","lastSettings","importData","importPromise","_sfc_main$o","mapListener","_sfc_main$n","hold","mapLayer","_sfc_main$m","_sfc_main$l","_sfc_main$k","mapChildren","_sfc_main$j","_sfc_main$i","getMarkerContainerProps","position","containerAttrs","wrapperAttrs","zeroSizes","isDefaultPosition","translateX","translateY","splitted","local","obj","excludeYandexMarkerProps","toExclude","excluded","_sfc_main$h","element","clearElement","mapParent","onUpdated","_d","rootProps","_sfc_main$g","popup","closeFunc","contentFunc","close","Marker","_sfc_main$f","_sfc_main$e","_sfc_main$d","control","YMapSomeController","_sfc_main$c","_sfc_main$b","controls","_sfc_main$a","_sfc_main$9","_sfc_main$8","cartesian","CartesianClass","_sfc_main$7","mercator","Mercator","_sfc_main$6","hintContent","MapHint","YMapHintContext","object","Hint","_sfc_main$5","OpenMapsButton","_sfc_main$4","cluserId","containerProps","updateElement","_element","clusterElement","clusterer","featuresCoords","defaultDuration","latDiff","longDiff","firstUpdate","_sfc_main$3","features","clusterSlots","_sfc_main$2","entities","clusterFeatures","revision","filteredFeatures","_clusterByGrid","tickTimeout","marker","entity","cluster","foundCluster","clustersList","update","Clusterer","_clusterByGrid_","_a2","_sfc_main$1","_sfc_main","Entity","UPDATE_AREAS","checkAddressInDeliveryArea","polygon","y","isInside","j","xi","yi","xj","yj","findOfDeliveryArea","polygons","reverseCoords","area","coordinate","generateSettings","isImagePoint","isWorking","textOutsideDelivery","isVisibleLoading","titleAddress","BaloonTable","defineAsyncComponent","isMobileOrTablet","yandexMapData","clickedMarkerCoordinates","baloonInfo","startSettings","controlSettings","newPoint","setLocationMap","onUpdateAreas","newCoordsOfAddress","updateCoordsOfMarker","updateDistance","poligon","resetBaloon","updateBaloon","event","onActionStart","onActionEnd","getReverseCoords","lowerLeftBounds","upperRightBounds","debounceActionEnd","onActionEndOld","clickToMap","isNeedUpdateDistance","ERROR_TEXT_NOT_LOADED_MAP","qe","Be","n","se","N","U","xe","Le","ee","Se","q","Ue","s","r","l","u","c","De","de","R","T","p","m","g","v","w","_","E","b","Fe","he","pe","Ve","P","G","O","I","Z","M","F","Me","B","te","ze","Ge","Y","X","ae","Q","Ze","Ne","Et","He","We","$","Ke","Je","D","C","J","fe","Pt","xt","ve","et","Ee","tt","st","Pe","Oe","At","wt","_t","kt","$t","__awaiter","thisArg","_arguments","generator","adopt","fulfilled","step","rejected","getDefaultExportFromCjs","fastDeepEqual","equal","length","keys","isEqual","DEFAULT_ID","LoaderStatus","authReferrerPolicy","channel","client","language","libraries","mapIds","nonce","retries","err","fn","params","k","libraryPromises","library","delay","cb","closeMarkerImage","openMarkerImage","generateOptionOfPoint","clickedPoint","markerCoords","transformCoords","generateOptionPolygon","clickedPolygon","clickedCoords","optionsMarker","LANGUAGE_GOOGLE_MAP","baloonOfMarker","refGoogleMap","baloonOfRestaurant","promiseLoadMap","positionCenterMap","optionsInfoWindow","updateBaloonOfMarker","clickedToMap","clickedToMapOfElement","route","useRoute","serviceSettings","isStateLoadMap","isMapLoaded","__temp","__restore","_withAsyncContext","vueYandexMaps","initModuleYandexMap","provider","api_key","getSelectedPointOfSlug","newStatus","newLoadError","newAddress","handleNewAddress","newAddressOfSearch","getLocationOfCoordinates","clickOnPointOnMap","pointData","updateCenterMap","selectedPointId","scrollToField","scrollField","sections","phone","padeg","domain","appStore","data","useAsyncData","nuxtApp","fetchPage","fetchMapSettings","promiseAll","showError","currentView","isWebview","pageTitle","breadcrumbs","setCurrentView","fetchNewAreas","resultNewAreas","fetchOldAreas","resultOldAreas","resultOldPoints"],"mappings":"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QAAS,MACV,EACD,gBAAiB,CACf,KAAM,OACN,SAAU,EACX,EACD,eAAgB,CACd,KAAM,OACN,SAAU,EACX,EACD,kBAAmB,CACjB,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,0BAA2B,CACzB,KAAM,OACN,SAAU,EACX,EACD,gBAAiB,CACf,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,OACN,SAAU,EACX,EACD,wBAAyB,CACvB,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,kBAAmB,CACjB,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,eAAgB,CACd,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,sBAAuB,CACrB,KAAM,OACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACX,EACD,MAAO,CACL,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,WAAY,CACV,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,mBAAoB,CAClB,KAAM,OACN,SAAU,EACX,EACD,YAAa,CACX,KAAM,OACN,SAAU,EACX,EACD,cAAe,CACb,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,sBAAuB,CACrB,KAAM,OACN,SAAU,EACX,EACD,aAAc,CACZ,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,kBAAmB,CACjB,KAAM,OACN,SAAU,EACX,EACD,YAAa,CACX,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,WAAY,CACV,KAAM,OACN,SAAU,EACX,EACD,kBAAmB,CACjB,KAAM,QACN,SAAU,GACV,QAAS,MACV,EACD,0BAA2B,CACzB,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,MACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,OACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,OACN,SAAU,EACX,EACD,YAAa,CACX,KAAM,QAC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","debug_id":"67f42ec2-684b-54c3-845f-caf2b957b3f6"}