'),{build:function(){o.superclass.build.call(this),(r=new f({parent:e.$root,data:function(){return{props:e.$props,listeners:e.$listeners}},propsData:{marker:t,component:n}})).$mount(\"#\".concat(a))},clear:function(){r.$destroy(),r=null,o.superclass.clear.call(this)}});return o}),{useObjectManager:this.useObjectManager,addMarker:this.addMarker,deleteMarker:function(t){i.myMap.geoObjects&&(s.push(t),e&&clearTimeout(e),e=setTimeout(function(){i.deleteMarkers(s),s=[]},0))},compareValues:function(e){var o=e.newVal,n=e.oldVal,r=e.marker;p(o,n)||(l.push(r),t&&clearTimeout(t),t=setTimeout(function(){i.setMarkers(l),l=[]},0))},makeComponentBalloonTemplate:o}},data:function(){return{ymapId:\"yandexMap\".concat(Math.round(1e5*Math.random())),style:this.ymapClass?\"\":\"width: 100%; height: 100%;\",isReady:!1,debounce:null}},props:{coords:{type:Array,required:!0},zoom:{validator:function(e){return!Number.isNaN(e)},default:18},bounds:Array,clusterOptions:{type:Object,default:function(){return{}}},clusterCallbacks:{type:Object,default:function(){return{}}},behaviors:{type:Array,default:function(){return[\"default\"]}},controls:{type:Array,default:function(){return[\"default\"]},validator:function(e){return h(e)}},detailedControls:{type:Object,validator:function(e){return h(Object.keys(e))}},scrollZoom:{type:Boolean,default:!0},mapType:{type:String,default:\"map\",validator:function(e){return[\"map\",\"satellite\",\"hybrid\"].includes(e)}},placemarks:{type:Array,default:function(){return[]}},useObjectManager:{type:Boolean,default:!1},objectManagerClusterize:{type:Boolean,default:!0},ymapClass:String,initWithoutMarkers:{type:Boolean,default:!0},debug:{type:Boolean,default:!1},settings:{type:Object,default:function(){return{}}},options:{type:Object,default:function(){return{}}},mapEvents:{type:Array,default:function(){return[]}},showAllMarkers:Boolean,disablePan:Boolean,balloonComponent:{type:[Object,Function],default:function(){return null}},useHtmlInLayout:Boolean},computed:{coordinates:function(){return this.coords.map(function(e){return+e})}},methods:{init:function(){var e=this;if(this.myMap={},this.markers=[],window.ymaps&&ymaps.GeoObjectCollection&&(this.initWithoutMarkers||this.$slots.default||this.placemarks.length)){if(this.$emit(\"map-initialization-started\"),this.myMap=new ymaps.Map(this.ymapId,{center:this.coordinates,zoom:+this.zoom,bounds:this.bounds,behaviors:this.behaviors,controls:this.controls,type:\"yandex#\".concat(this.mapType)},this.options),(this.mapEvents.length?this.mapEvents:g).forEach(function(t){return e.myMap.events.add(t,function(o){return e.$emit(t,o)})}),this.myMap.events.add(\"boundschange\",function(t){var o=t.originalEvent,n=o.newZoom,r=o.newCenter,a=o.newBounds;e.$emit(\"boundschange\",t),e.$emit(\"update:zoom\",n),e.$emit(\"update:coords\",r),e.$emit(\"update:bounds\",a)}),this.detailedControls)Object.keys(this.detailedControls).forEach(function(t){e.myMap.controls.remove(t),e.myMap.controls.add(t,e.detailedControls[t])});!1===this.scrollZoom&&this.myMap.behaviors.disable(\"scrollZoom\"),this.isReady=!0,this.$emit(\"map-was-initialized\",this.myMap)}},addMarker:function(e){var t=this;this.markers.push(e),this.debounce&&clearTimeout(this.debounce),this.debounce=setTimeout(function(){t.setMarkers(t.markers)},0)},setMarkers:function(e){var t=this,o={options:this.clusterOptions,callbacks:this.clusterCallbacks,map:this.myMap,useObjectManager:this.useObjectManager,objectManagerClusterize:this.objectManagerClusterize,useHtmlInLayout:this.useHtmlInLayout};if(this.markers!==e){var n=e.map(function(e){return t.useObjectManager?e.id:e.properties.get(\"markerId\")});this.deleteMarkers(n),s(e,o),this.$emit(\"markers-was-change\",n)}else s(e,o);this.markers=[],this.showAllMarkers&&this.myMap.setBounds(this.myMap.geoObjects.getBounds())},deleteMarkers:function(e){var t=this,o=[];this.myMap.geoObjects.each(function(e){return o.push(e)}),o.forEach(function(o){var n=[];if(t.useObjectManager)o.remove(e);else{var r,a=function(t){var o=t.properties.get(\"markerId\");e.includes(o)&&n.push(t)};if(o.each)o.each(a),r=o.getLength();else if(o.getGeoObjects){var i=o.getGeoObjects();i.forEach(a),r=i.length}0===r||r===n.length?t.myMap.geoObjects.remove(o):n.length&&n.forEach(function(e){return o.remove(e)})}}),this.$emit(\"markers-was-delete\",e)}},watch:{coordinates:function(e){this.myMap&&(this.disablePan?this.myMap.setCenter&&this.myMap.setCenter(e):this.myMap.panTo&&this.myMap.getZoom()&&this.myMap.panTo(e,{checkZoomRange:!0}))},zoom:function(){this.myMap&&this.myMap.setZoom(this.zoom)},bounds:function(e){this.myMap&&this.myMap.setBounds&&this.myMap.setBounds(e)}},render:function(e){return e(\"section\",{class:\"ymap-container\",ref:\"mapContainer\"},[e(\"div\",{attrs:{id:this.ymapId,class:this.ymapClass,style:this.style}}),this.isReady&&e(\"div\",[this.$slots.default])])},mounted:function(){var e=this;if(this.$attrs[\"map-link\"]||this.$attrs.mapLink)throw new Error(\"Vue-yandex-maps: Attribute mapLink is not supported. Use settings.\");if(this.placemarks&&this.placemarks.length)throw new Error(\"Vue-yandex-maps: Attribute placemarks is not supported. Use marker component.\");this.mapObserver=new MutationObserver(function(){e.myMap.container&&e.myMap.container.fitToViewport()});var o=this.$refs.mapContainer;if(this.mapObserver.observe(o,{attributes:!0,childList:!0,characterData:!0,subtree:!1}),v.scriptIsNotAttached){var n=this.debug;y(t(t(t({},this.$options.pluginOptions),this.settings),{},{debug:n}))}v.ymapReady?ymaps.ready(this.init):v.$on(\"scriptIsLoaded\",this.init)},beforeDestroy:function(){this.myMap&&this.myMap.geoObjects&&this.myMap.geoObjects.removeAll()}},O=[\"placemark\",\"polyline\",\"rectangle\",\"polygon\",\"circle\"],C=[\"balloonclose\",\"balloonopen\",\"click\",\"contextmenu\",\"dblclick\",\"drag\",\"dragend\",\"dragstart\",\"hintclose\",\"hintopen\",\"mouseenter\",\"mouseleave\"],M={inject:[\"useObjectManager\",\"addMarker\",\"deleteMarker\",\"compareValues\",\"makeComponentBalloonTemplate\"],props:{coords:Array,hintContent:String,icon:Object,balloon:Object,markerType:{type:String,validator:function(e){return O.includes(e.toLowerCase())},default:\"placemark\"},markerFill:Object,markerStroke:Object,clusterName:[String,Number],circleRadius:{validator:function(e){return!Number.isNaN(e)},default:1e3},balloonTemplate:String,markerId:{type:[String,Number],required:!0},properties:Object,options:Object,balloonComponentProps:{type:Object,default:function(){return{}}},markerEvents:{type:Array,default:function(){return[]}}},data:function(){return{unwatchArr:[]}},render:function(e){return e(\"div\",[this.$slots.balloon&&e(\"div\",{style:\"display: none;\"},[this.$slots.balloon]),this.$slots.balloonLayout&&e(\"div\",{style:\"display: none;\"},[this.$slots.balloonLayout])])},mounted:function(){var e=this;Object.keys(this.$props).forEach(function(t){\"balloonComponentProps\"!==t&&e.unwatchArr.push(e.$watch(t,function(t,o){return e.compareValues({newVal:t,oldVal:o,marker:e.defineMarker()})}))}),this.addMarker(this.defineMarker())},methods:{defineMarker:function(){var e=this,t={markerId:this.markerId,markerType:this.markerType||\"placemark\",coords:u(this.coords),hintContent:this.hintContent,markerFill:this.markerFill,circleRadius:+this.circleRadius,clusterName:this.clusterName,markerStroke:this.markerStroke,balloon:this.balloon,properties:this.properties,options:this.options,balloonOptions:{}},o=null,n=null;this.balloonTemplate&&(o=ymaps.templateLayoutFactory.createClass(this.balloonTemplate)),this.$slots.balloon&&(o=ymaps.templateLayoutFactory.createClass(this.$slots.balloon[0].elm.outerHTML)),this.$slots.balloonLayout&&(n=ymaps.templateLayoutFactory.createClass(this.$slots.balloonLayout[0].elm.outerHTML)),this.makeComponentBalloonTemplate&&(o=this.makeComponentBalloonTemplate(this,t)),null!=o&&(t.balloonOptions.balloonContentLayout=o),null!=n&&(t.balloonOptions.balloonLayout=n),this.icon&&[\"default#image\",\"default#imageWithContent\"].includes(this.icon.layout)?(t.iconContent=this.icon.content,t.iconLayout=this.icon.layout,t.iconImageHref=this.icon.imageHref,t.iconImageSize=this.icon.imageSize,t.iconImageOffset=this.icon.imageOffset,t.iconContentOffset=this.icon.contentOffset,this.icon.contentLayout&&\"string\"==typeof this.icon.contentLayout&&(t.iconContentLayout=ymaps.templateLayoutFactory.createClass(this.icon.contentLayout))):t.icon=this.icon;var r=function(e,t){var o=l(e);if(!t)return o;switch(o){case\"Placemark\":return\"Point\";case\"Polyline\":return\"LineString\";default:return o}}(t.markerType,this.useObjectManager),a={hintContent:t.hintContent,iconContent:t.icon?t.icon.content:t.iconContent,markerId:t.markerId},i=t.balloon?{balloonContentHeader:t.balloon.header,balloonContentBody:t.balloon.body,balloonContentFooter:t.balloon.footer}:{},s=Object.assign(a,i,t.properties),p=t.iconLayout?{iconLayout:t.iconLayout,iconImageHref:t.iconImageHref,iconImageSize:t.iconImageSize,iconImageOffset:t.iconImageOffset,iconContentOffset:t.iconContentOffset,iconContentLayout:t.iconContentLayout}:{preset:t.icon&&\"islands#\".concat(c(t),\"Icon\")},m=t.markerStroke?{strokeColor:t.markerStroke.color||\"0066ffff\",strokeOpacity:parseFloat(t.markerStroke.opacity)>=0?parseFloat(t.markerStroke.opacity):1,strokeStyle:t.markerStroke.style,strokeWidth:parseFloat(t.markerStroke.width)>=0?parseFloat(t.markerStroke.width):1}:{},d=t.markerFill?{fill:t.markerFill.enabled||!0,fillColor:t.markerFill.color||\"0066ff99\",fillOpacity:parseFloat(t.markerFill.opacity)>=0?parseFloat(t.markerFill.opacity):1,fillImageHref:t.markerFill.imageHref||\"\"}:{},h=Object.assign(p,m,d,t.balloonOptions,t.options);\"Circle\"===r&&(t.coords=[t.coords,t.circleRadius]);var y=function(e,t){var o=t?{type:\"Feature\",id:e.properties.markerId,geometry:{type:e.markerType,coordinates:e.coords},properties:e.properties,options:e.options}:new ymaps[e.markerType](e.coords,e.properties,e.options);return o.clusterName=e.clusterName,o}({properties:s,options:h,markerType:r,coords:t.coords,clusterName:t.clusterName},this.useObjectManager,this.$emit);this.useObjectManager||(this.markerEvents.length?this.markerEvents:C).forEach(function(t){return y.events.add(t,function(o){return e.$emit(t,o)})});return y}},beforeDestroy:function(){this.unwatchArr.forEach(function(e){return e()}),this.deleteMarker(this.markerId)}};k.install=function e(t){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e.installed||(3!=+t.version[0]?(e.installed=!0,function(e){\"function\"==typeof e.extend&&(f=e.extend({props:[\"marker\",\"component\"],template:''}))}(t),k.pluginOptions=o,t.component(\"yandex-map\",k),t.component(\"ymap-marker\",M)):console.warn(\"Vue-yandex-maps: This version is only compatible with Vue 2.X. Please install vue-yandex-maps@next\"))},\"undefined\"!=typeof window&&window.Vue&&window.Vue.use(k);var j=y,w=k,L=M;export default k;export{j as loadYmap,w as yandexMap,L as ymapMarker};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","// `Math.sign` method implementation\n// https://tc39.es/ecma262/#sec-math.sign\n// eslint-disable-next-line es/no-math-sign -- safe\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare -- NaN check\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar nativeSlice = [].slice;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === Array || Constructor === undefined) {\n return nativeSlice.call(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n"],"sourceRoot":""}