{"version":3,"file":"js/4932-1200ea45baacdc58dce1.js","mappings":"gGAUA,IAAIA,EAAUC,EAAEC,QAAQC,OAAO,CAC7BC,QAAS,CACP,WAAc,GACd,UAAa,WAEb,aAAgB,KAEhB,YAAe,KAEf,cAAiB,KACjB,gBAAmB,mBAEnB,kBAAqB,KACrB,YAAe,GAEf,aAAgB,KAChB,MAAS,iBAET,UAAa,KACb,YAAe,GACf,UAAa,eACb,YAAe,IAEf,SAAY,KACZ,WAAc,SAEd,WAAc,KACd,SAAYH,EAAEI,MAAM,GAAI,IACxB,QAAW,EACX,YAAe,KACf,YAAe,GACf,WAAc,EACd,YAAe,cACf,cAAgB,EAChB,aAAgB,IAChB,cAAiB,GACjB,gBAAmBJ,EAAEI,MAAM,EAAG,GAC9B,OAAU,GAEZC,WAAY,SAASC,GACnB,IAAIH,EAAUH,EAAEO,KAAKC,WAAWC,KAAMH,GAGtCH,EAAQO,SAAWV,EAAEI,MAAMD,EAAQO,UAG/BP,EAAQQ,aACVR,EAAQQ,aAAeX,EAAEI,MAAMD,EAAQQ,cAEvCR,EAAQQ,aAAeX,EAAEI,MAAMQ,OAAOT,EAAQO,SAASG,GAAK,EAAGD,OAAOT,EAAQO,SAASG,GAAK,GAEzFV,EAAQW,cACXX,EAAQW,YAAcX,EAAQY,OAE3BZ,EAAQa,oBACXb,EAAQa,kBAAoBb,EAAQc,SAEjCd,EAAQe,gBACXf,EAAQe,cAAgBf,EAAQc,SAE7Bd,EAAQgB,eACXhB,EAAQgB,aAAehB,EAAQiB,QAE5BjB,EAAQkB,YACXlB,EAAQkB,UAAYlB,EAAQY,OAEzBZ,EAAQmB,WACXnB,EAAQmB,SAAWV,OAAOT,EAAQO,SAASG,EAAI,IAE7CV,EAAQoB,WACVpB,EAAQoB,WAAavB,EAAEI,MAAMD,EAAQoB,YAGrCpB,EAAQoB,WAAavB,EAAEI,MAAMQ,OAAOT,EAAQO,SAASG,GAAK,EAAGD,OAAOT,EAAQO,SAASc,IAEnFrB,EAAQsB,YACVtB,EAAQsB,YAAczB,EAAEI,MAAMD,EAAQsB,aAGtCtB,EAAQsB,YAAczB,EAAEI,MAAM,GAAK,IAASD,EAAQO,SAASc,GAG/DrB,EAAQuB,KAAOjB,KAAKkB,YAlFO,EAoF7BC,cAAe,WACb,IAAIC,EAAKjB,OAAOH,KAAKN,QAAQQ,aAAaE,GACtCiB,EAAKlB,OAAOH,KAAKN,QAAQQ,aAAaa,GACtCO,EAAStB,KAAKN,QAAQO,SAASG,EAAI,EAAID,OAAOH,KAAKN,QAAQ6B,aAC3DC,EAAOxB,KAAKN,QAAQ+B,gBACpBC,EAAc1B,KAAKN,QAAQa,kBAC3BoB,EAAS3B,KAAKN,QAAQW,YACtBuB,EAAgB5B,KAAKN,QAAQe,cAC7BoB,EAAc7B,KAAKN,QAAQgB,aAC3BoB,EAAS,UAAM9B,KAAKN,QAAQoC,UAAnB,WAMb,MAJU,yBAAqBA,EAArB,iBAAuCV,EAAvC,iBAAkDC,EAAlD,gBAA4DC,EAA5D,mBACCE,EADD,2BACwBE,EADxB,qBAEGC,EAFH,4BAE6BC,EAF7B,2BAE6DC,EAF7D,MA/FiB,EAqG7BE,uBAAwB,WACtB,IAAIC,EAAS7B,OAAOH,KAAKN,QAAQO,SAASc,GACtCkB,EAAQ9B,OAAOH,KAAKN,QAAQO,SAASG,GACrCO,EAASR,OAAOH,KAAKN,QAAQiB,QAC7BuB,EAASvB,EAAS,EAStB,MAPc,YAAQuB,EAAR,YAAkBD,EAAQ,EAA1B,KACF,YAAQA,EAAQ,EAAhB,YAAqBD,EAASrB,EAA9B,KACC,YAAQsB,EAAQC,EAAhB,YAA0BD,EAAQ,EAAlC,KACN,YAAQA,EAAQ,EAAhB,YAAqBA,EAAQ,EAA7B,kBAAwCC,EAAxC,YAAkDD,EAAQ,EAA1D,KA9GoB,EAoH7BE,YAAa,WACX,IAAIC,EAAkBpC,KAAK+B,yBACvBF,EAAc7B,KAAKN,QAAQiB,OAC3BgB,EAAS3B,KAAKN,QAAQY,MACtBsB,EAAgB5B,KAAKN,QAAQc,QAC7BgB,EAAOxB,KAAKN,QAAQkB,UACpBc,EAAc1B,KAAKN,QAAQgC,YAC3BI,EAAS,UAAM9B,KAAKN,QAAQoC,UAAnB,SAMb,MAJQ,uBAAmBA,EAAnB,gBAAoCM,EAApC,2BACWP,EADX,qBACmCF,EADnC,6BAC8DC,EAD9D,mBAEGJ,EAFH,2BAE0BE,EAF1B,MA7HmB,EAmI7BW,cAAe,WACb,IAAID,EAAkBpC,KAAK+B,yBACvBF,EAAc7B,KAAKN,QAAQiB,OAC3BgB,EAAS3B,KAAKN,QAAQ4C,YACtBd,EAAOxB,KAAKN,QAAQ4C,YACpBR,EAAS,UAAM9B,KAAKN,QAAQoC,UAAnB,WAETS,EAAM,UAAMvC,KAAKN,QAAQO,SAASG,EAAI,EAAhC,cAAuCJ,KAAKN,QAAQO,SAASc,EAA7D,MACNyB,EAAWxC,KAAKN,QAAQ+C,YACxBT,EAAShC,KAAKN,QAAQgD,aACtBlC,EAAUR,KAAKN,QAAQiD,cACvBC,EAAO5C,KAAKN,QAAQmD,WACpBC,EAAS,UAAM9C,KAAKN,QAAQqD,gBAAgB3C,EAAnC,eAA2CJ,KAAKN,QAAQqD,gBAAgBhC,EAAxE,MAMb,MAJc,uFAAmF6B,EAAnF,gBAEJ,qDAAiDd,EAAjD,gBAAkEM,EAAlE,mBAA4FZ,EAA5F,2BAAmHK,EAAnH,qBAA2IF,EAA3I,6BAAsKnB,EAAtK,+BAAoM+B,EAApM,+BAAiOC,EAAjO,0BAA2PM,EAA3P,sBAAkRd,EAAlR,QAnJiB,EAuJ7Bd,WAAY,WACV,IAAI8B,EAAOhD,KAAKmC,cACZc,EAASjD,KAAKmB,gBACd+B,EAAOlD,KAAKmD,cACZC,EAAS,GACTpD,KAAKN,QAAQ2D,eACfD,EAASpD,KAAKqC,iBAGhB,IAAIP,EAAS,UAAM9B,KAAKN,QAAQoC,UAAnB,QACTG,EAAQjC,KAAKN,QAAQO,SAASG,EAC9B4B,EAAShC,KAAKN,QAAQO,SAASc,EAE/Bf,KAAKN,QAAQ2D,eACfpB,GAASjC,KAAKN,QAAQO,SAASc,EAAIf,KAAKN,QAAQgD,aAAgB1C,KAAKN,QAAQO,SAASG,EAAI,EAC1F6B,EAAQqB,KAAKC,IAAItB,EAAO,IACxBD,GAAUhC,KAAKN,QAAQO,SAASc,EAAIf,KAAKN,QAAQgD,cAGnD,IAAIc,EAAK,gBAAYvB,EAAZ,sBAA+BD,GAGxC,MAFO,uEAAmEF,EAAnE,oBAAwF0B,EAAxF,aAAkGJ,GAAlG,OAA2GJ,GAA3G,OAAkHC,GAAlH,OAA2HC,EAA3H,SA3KoB,EA+K7BC,YAAa,WACX,IAAItC,EAAQ,UAAMb,KAAKN,QAAQmB,SAAnB,MACR4C,EAAazD,KAAKN,QAAQ+D,WAC1BC,EAAavD,OAAOH,KAAKN,QAAQmB,UAEjC8C,EAAS3D,KAAKN,QAAQQ,aAAaE,EAEnCwD,EAAS5D,KAAKN,QAAQQ,aAAaa,EAAkB,IAAb2C,EACxCG,EAAa7D,KAAKN,QAAQmE,WAC1BC,EAAY9D,KAAKN,QAAQqE,UAAUC,QAAQ,OAAQ,SAASA,QAAQ,IAAxD,WAAiEhE,KAAKN,QAAQuE,YAA9E,MAIhB,MAFQ,wCAAoCN,EAApC,gBAAkDC,EAAlD,+BAA+E/C,EAA/E,0BAAyG4C,EAAzG,mBAA8HK,EAA9H,aAA4ID,EAA5I,UAGT,IAGatE,EAAE2E,OAAOzE,OAAO,CAC9BC,QAAS,CACP,YAAeH,EAAE4E,QAAQC,QACzB,YAAe,CAAC,GAElBxE,WAAY,SAASyE,EAAQxE,GAC3B,IAAIH,EAAUH,EAAEO,KAAKC,WAAWC,KAAMH,GACtCH,EAAQ4E,KAAO5E,EAAQ6E,YAAY7E,EAAQ8E,aAC3CxE,KAAKyE,QAAUJ,CARa,EAU9BK,MAAO,SAASC,GACdpF,EAAE2E,OAAOU,UAAUF,MAAMG,KAAK7E,KAAM2E,EAXR,EAa9BG,SAAU,SAAStB,GACjB,GAAIxD,KAAK+E,MAAO,CAEd,IAAIC,EAAWhF,KAAK+E,MAAME,SAAS,GAAGA,SAAS,GAC3CC,EAAalF,KAAK+E,MAAME,SAAS,GAAGA,SAAS,GAEjD,GAAIzB,EAAMlD,QAAUkD,EAAMgB,YAAa,CACrC,IAAI7C,EAAS6B,EAAMlD,MAAM0D,QAAQ,MAAO,QAAQA,QAAQ,IAA3CR,IAAAA,OAAoDxD,KAAKN,QAAQ4E,KAAK5E,QAAQc,QAA9E,MACTgB,EAAOgC,EAAMlD,MAAM0D,QAAQ,MAAO,QAAQA,QAAQ,IAA3CR,IAAAA,OAAoDxD,KAAKN,QAAQ4E,KAAK5E,QAAQgC,YAA9E,MACXsD,EAASG,aAAa,SAAUxD,GAChCqD,EAASG,aAAa,OAAQ3D,GAC9B0D,EAAWC,aAAa,SAAUxD,GAElC3B,KAAKN,QAAQ4E,KAAK1D,UAAYY,EAC9BxB,KAAKN,QAAQ4E,KAAKhE,MAAQqB,EAC1B3B,KAAKN,QAAQ4E,KAAKjE,YAAcsB,CACjC,CAID,GAHI6B,EAAMhD,SACRR,KAAKoF,WAAW5B,EAAMhD,SAEpBgD,EAAMgB,YAAa,CACjBhB,EAAMlD,QACRkD,EAAMgB,YAAYlE,MAAQkD,EAAMlD,OAElC,IAAIkE,EAAcjF,EAAEO,KAAKC,WAAWC,KAAKN,QAAQ4E,KAAMd,EAAMgB,aAC7DxE,KAAKqF,QAAQ9F,EAAE4E,QAAQC,QAAQI,GAChC,CACF,CACF,ICjPHjF,EAAEC,QAAQF,QAAUA,EACpBC,EAAEC,QAAQF,QAAQgG,YAAc/F,EAAEC,QAAQF,QAAQG,OAAO,CACvDC,QAAS,CACPkB,UAAW,UACXc,YAAa,EACblB,QAAS,GAEXuB,uBAAwB,WACtB,MAAO,kOAP8C,EASvDZ,cAAe,WACb,MAAO,EAV8C,EAevDD,WAAY,WACV,IAAM8B,EAAOhD,KAAKmC,cACZc,EAASjD,KAAKmB,gBACd+B,EAAOlD,KAAKmD,cACZrB,EAAS,UAAM9B,KAAKN,QAAQoC,UAAnB,QAET0B,EAAK,gBAAYxD,KAAKN,QAAQO,SAASG,EAAlC,sBAAiDJ,KAAKN,QAAQO,SAASc,EAAvE,OAIX,MAFS,uEAAmEe,EAAnE,oBAAwF0B,EAAxF,aAAkGR,GAAlG,OAAyGC,GAAzG,OAAkHC,EAAlH,SAGV,I,w3CC3BH,IAAMqC,EAAWC,OAAOC,KAEHC,EAAAA,SAAAA,I,sRAAAA,CAAAA,EAAAA,GAAAA,I,MAAAA,EAAAA,EAAAA,GAAAA,SAAAA,IAAAA,O,4FAAAA,CAAAA,KAAAA,GAAAA,EAAAA,MAAAA,KAAAA,UAAAA,CAsClB,O,EAtCkBA,G,EAAAA,CAAAA,CAAAA,IAAAA,QAAAA,MACnB,WAAS,IAAD,OAkBN,GAjBA1F,KAAK2E,IAAIgB,cAAc3F,KAAK2E,IAAIiB,aAChC5F,KAAK2E,IAAIkB,SAASC,UAClB9F,KAAK2E,IAAIoB,UAAUD,UACnB9F,KAAK2E,IAAIqB,gBAAgBF,UACzB9F,KAAK2E,IAAIsB,gBAAgBH,UACzB9F,KAAK2E,IAAIuB,QAAQJ,UACjB9F,KAAK2E,IAAIwB,SAASL,UACd9F,KAAK2E,IAAIyB,KACXpG,KAAK2E,IAAIyB,IAAIN,UAGX9F,KAAKqG,OAAOC,KACdtG,KAAK2E,IAAI4B,QAAQvG,KAAKqG,OAAOC,MAE7BtG,KAAK2E,IAAI4B,QAAQ,IAGfvG,KAAKqG,OAAOG,UAAYxG,KAAKqG,OAAOI,UAAW,CACjD,IAAMC,EAAc,CAAC1G,KAAKqG,OAAOG,SAAUxG,KAAKqG,OAAOI,WAEvDzG,KAAK2E,IAAIgC,MAAMD,GACAnH,EAAEqH,OAAOF,EAAa,CACnCpC,KAAMtE,KAAK6G,aACXV,UAAU,EACVW,MAAO9G,KAAKqG,OAAOS,QAClBC,MAAM/G,KAAK2E,KACPI,MAAMiC,gBAAgB,WAC9B,CAEGhH,KAAKqG,OAAOY,MACdjH,KAAK2E,IAAIuC,WAAWC,iBAAiB,SAAS,SAACC,GAC7CA,EAAGC,iBACHC,EAAK3C,IAAIuC,WAAWK,QACpBhC,EAAS+B,EAAKjB,OAAOY,KAAM,SAH7B,GAMH,M,8EAAA,EAtCkBvB,CAA4B8B,EAAAA,G,81CCJjD,IAEqBC,EAAAA,SAAAA,I,sRAAAA,CAAAA,EAAAA,GAAAA,I,MAAAA,EAAAA,EAAAA,GAAAA,SAAAA,IAAAA,O,4FAAAA,CAAAA,KAAAA,GAAAA,EAAAA,MAAAA,KAAAA,UAAAA,CA4ClB,O,EA5CkBA,G,EAAAA,CAAAA,CAAAA,IAAAA,QAAAA,MACnB,WACMzH,KAAKqG,OAAOO,OACd5G,KAAK0H,UAAU1H,KAAKqG,OAAOO,QAE3B5G,KAAK2E,IAAIgD,UAEZ,0BAED,SAAUC,GAAa,IAAD,OACpB,GAA4B,OAAxBA,EAAWpB,UAA8C,OAAzBoB,EAAWnB,UAA/C,CAIA,IAAMC,EAAc,CAClBmB,IAAKD,EAAWpB,SAChBsB,IAAKF,EAAWnB,WAElBzG,KAAK+H,aAAa,cAAe,CAACrB,IAElC1G,KAAK4G,OAASrH,EAAEqH,OAAOF,EAAa,CAClCpC,KAAMtE,KAAK6G,aACXV,UAAU,EACVW,MAAOc,EAAWd,MAClBkB,WAAW,IAEbhI,KAAK4G,OAAOqB,GAAG,QAAQ,SAACb,GACtBE,EAAKS,aAAa,cAAe,CAACX,EAAGc,OAAOC,aAD9C,IAGAnI,KAAK4G,OAAOG,MAAM/G,KAAK2E,KAEvB,IAAM2B,EAAO8B,SAASpI,KAAKqG,OAAOC,KAAM,KAAO,GAC/CtG,KAAK2E,IAAI0D,QAAQ3B,EAAaJ,EApB7B,CAqBF,0BAED,WACE,OAAOtG,KAAK4G,MACb,6BAED,WACM5G,KAAK4G,SACP5G,KAAK4G,OAAO0B,SACZtI,KAAK4G,OAAS,KAEjB,M,8EAAA,EA5CkBa,CAAgCD,EAAAA,GC8CrDhC,OAAO+C,QAAQC,oBAVa,SAASC,EAAOpC,GAC1C,MAAoB,WAAhBA,EAAOqC,KACF,IAAIhD,EAAoB+C,EAAOpC,GACb,gBAAhBA,EAAOqC,KACT,IAAIjB,EAAwBgB,EAAOpC,GAGrC,IAAIsC,EAAAA,EAAqBF,EAAOpC,EAPzC,ECpCAuC,GAAE,WAIA,IAAIC,EAAeD,EAAE,sBACrB,GAAIC,EAAaC,OAAS,GAAKF,EAAE,QAAQE,OAAS,EAChD,MAAM,IAAIC,MACR,8GAIJF,EAAaG,MAAK,SAACC,EAAIC,GACrB,IAAMC,EAAOP,EAAEM,GACXT,EAAQU,EAAKC,KAAK,MACjBX,IACHA,EAAK,cAAUnF,KAAK+F,SAASC,SAAS,IAAIC,OAAO,EAAG,IACpDJ,EAAKC,KAAK,KAAMX,IAGlB,IAAMe,EAAYL,EAAKM,KAAK,eACtBC,EAAOlE,OAAO+C,QAAQC,oBAAoBC,EAAOe,GACjD7E,EAAM+E,EAAKC,OAEjBR,EAAKM,KAAK,MAAO9E,GACjBwE,EAAKM,KAAK,iBAAkBC,GAE5BP,EAAKS,QAAQ,oBAAqB,CAACjF,EAAK6E,IAExCE,EAAKG,QAILV,EAAKS,QAAQ,gBAAiB,CAACjF,EAAK6E,GArBtC,GAXD,G","sources":["webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/svg-icon.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/icon.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/controller/static.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/controller/drag_marker.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map/factory.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.4/app/packs/src/decidim/map.js"],"sourcesContent":["/* eslint prefer-reflect: 0 */\n\n// Leaflet-SVGIcon\n// SVG icon for any marker class\n//\n// Copyright (c) 2016 University of New Hampshire - The MIT License\n// Author: Ilya Atkin \n// Originally copied from https://github.com/iatkin/leaflet-svgicon\n//\n\nlet SVGIcon = L.DivIcon.extend({\n options: {\n \"circleText\": \"\",\n \"className\": \"svg-icon\",\n // defaults to [iconSize.x/2, iconSize.x/2]\n \"circleAnchor\": null,\n // defaults to color\n \"circleColor\": null,\n // defaults to opacity\n \"circleOpacity\": null,\n \"circleFillColor\": \"rgb(255,255,255)\",\n // default to opacity\n \"circleFillOpacity\": null,\n \"circleRatio\": 0.5,\n // defaults to weight\n \"circleWeight\": null,\n \"color\": \"rgb(0,102,255)\",\n // defaults to color\n \"fillColor\": null,\n \"fillOpacity\": 0.4,\n \"fontColor\": \"rgb(0, 0, 0)\",\n \"fontOpacity\": \"1\",\n // defaults to iconSize.x/4\n \"fontSize\": null,\n \"fontWeight\": \"normal\",\n // defaults to [iconSize.x/2, iconSize.y] (point tip)\n \"iconAnchor\": null,\n \"iconSize\": L.point(32, 48),\n \"opacity\": 1,\n \"popupAnchor\": null,\n \"shadowAngle\": 45,\n \"shadowBlur\": 1,\n \"shadowColor\": \"rgb(0,0,10)\",\n \"shadowEnable\": false,\n \"shadowLength\": 0.75,\n \"shadowOpacity\": 0.5,\n \"shadowTranslate\": L.point(0, 0),\n \"weight\": 2\n },\n initialize: function(_options) {\n let options = L.Util.setOptions(this, _options)\n\n // iconSize needs to be converted to a Point object if it is not passed as one\n options.iconSize = L.point(options.iconSize)\n\n // in addition to setting option dependant defaults, Point-based options are converted to Point objects\n if (options.circleAnchor) {\n options.circleAnchor = L.point(options.circleAnchor)\n } else {\n options.circleAnchor = L.point(Number(options.iconSize.x) / 2, Number(options.iconSize.x) / 2)\n }\n if (!options.circleColor) {\n options.circleColor = options.color\n }\n if (!options.circleFillOpacity) {\n options.circleFillOpacity = options.opacity\n }\n if (!options.circleOpacity) {\n options.circleOpacity = options.opacity\n }\n if (!options.circleWeight) {\n options.circleWeight = options.weight\n }\n if (!options.fillColor) {\n options.fillColor = options.color\n }\n if (!options.fontSize) {\n options.fontSize = Number(options.iconSize.x / 4)\n }\n if (options.iconAnchor) {\n options.iconAnchor = L.point(options.iconAnchor)\n }\n else {\n options.iconAnchor = L.point(Number(options.iconSize.x) / 2, Number(options.iconSize.y))\n }\n if (options.popupAnchor) {\n options.popupAnchor = L.point(options.popupAnchor)\n }\n else {\n options.popupAnchor = L.point(0, (-0.75) * (options.iconSize.y))\n }\n\n options.html = this._createSVG()\n },\n _createCircle: function() {\n let cx = Number(this.options.circleAnchor.x)\n let cy = Number(this.options.circleAnchor.y)\n let radius = this.options.iconSize.x / 2 * Number(this.options.circleRatio)\n let fill = this.options.circleFillColor\n let fillOpacity = this.options.circleFillOpacity\n let stroke = this.options.circleColor\n let strokeOpacity = this.options.circleOpacity\n let strokeWidth = this.options.circleWeight\n let className = `${this.options.className}-circle`\n\n let circle = ``\n\n return circle\n },\n _createPathDescription: function() {\n let height = Number(this.options.iconSize.y)\n let width = Number(this.options.iconSize.x)\n let weight = Number(this.options.weight)\n let margin = weight / 2\n\n let startPoint = `M ${margin} ${width / 2} `\n let leftLine = `L ${width / 2} ${height - weight} `\n let rightLine = `L ${width - margin} ${width / 2} `\n let arc = `A ${width / 4} ${width / 4} 0 0 0 ${margin} ${width / 2} Z`\n\n let description = startPoint + leftLine + rightLine + arc\n\n return description\n },\n _createPath: function() {\n let pathDescription = this._createPathDescription()\n let strokeWidth = this.options.weight\n let stroke = this.options.color\n let strokeOpacity = this.options.opacity\n let fill = this.options.fillColor\n let fillOpacity = this.options.fillOpacity\n let className = `${this.options.className}-path`\n\n let path = ``\n\n return path\n },\n _createShadow: function() {\n let pathDescription = this._createPathDescription()\n let strokeWidth = this.options.weight\n let stroke = this.options.shadowColor\n let fill = this.options.shadowColor\n let className = `${this.options.className}-shadow`\n\n let origin = `${this.options.iconSize.x / 2}px ${this.options.iconSize.y}px`\n let rotation = this.options.shadowAngle\n let height = this.options.shadowLength\n let opacity = this.options.shadowOpacity\n let blur = this.options.shadowBlur\n let translate = `${this.options.shadowTranslate.x}px, ${this.options.shadowTranslate.y}px`\n\n let blurFilter = ``\n\n let shadow = ``\n\n return blurFilter + shadow\n },\n _createSVG: function() {\n let path = this._createPath()\n let circle = this._createCircle()\n let text = this._createText()\n let shadow = \"\"\n if (this.options.shadowEnable) {\n shadow = this._createShadow()\n }\n\n let className = `${this.options.className}-svg`\n let width = this.options.iconSize.x\n let height = this.options.iconSize.y\n\n if (this.options.shadowEnable) {\n width += this.options.iconSize.y * this.options.shadowLength - (this.options.iconSize.x / 2)\n width = Math.max(width, 32)\n height += this.options.iconSize.y * this.options.shadowLength\n }\n\n let style = `width:${width}px; height:${height}`\n let svg = `${shadow}${path}${circle}${text}`\n\n return svg\n },\n _createText: function() {\n let fontSize = `${this.options.fontSize}px`\n let fontWeight = this.options.fontWeight\n let lineHeight = Number(this.options.fontSize)\n\n let coordX = this.options.circleAnchor.x\n // 35% was found experimentally\n let coordY = this.options.circleAnchor.y + (lineHeight * 0.35)\n let circleText = this.options.circleText\n let textColor = this.options.fontColor.replace(\"rgb(\", \"rgba(\").replace(\")\", `,${this.options.fontOpacity})`)\n\n let text = `${circleText}`\n\n return text\n }\n})\n\nlet SVGMarker = L.Marker.extend({\n options: {\n \"iconFactory\": L.divIcon.svgIcon,\n \"iconOptions\": {}\n },\n initialize: function(latlng, _options) {\n let options = L.Util.setOptions(this, _options)\n options.icon = options.iconFactory(options.iconOptions)\n this._latlng = latlng\n },\n onAdd: function(map) {\n L.Marker.prototype.onAdd.call(this, map)\n },\n setStyle: function(style) {\n if (this._icon) {\n // let svg = this._icon.children[0]\n let iconBody = this._icon.children[0].children[0]\n let iconCircle = this._icon.children[0].children[1]\n\n if (style.color && !style.iconOptions) {\n let stroke = style.color.replace(\"rgb\", \"rgba\").replace(\")\", `,${this.options.icon.options.opacity})`)\n let fill = style.color.replace(\"rgb\", \"rgba\").replace(\")\", `,${this.options.icon.options.fillOpacity})`)\n iconBody.setAttribute(\"stroke\", stroke)\n iconBody.setAttribute(\"fill\", fill)\n iconCircle.setAttribute(\"stroke\", stroke)\n\n this.options.icon.fillColor = fill\n this.options.icon.color = stroke\n this.options.icon.circleColor = stroke\n }\n if (style.opacity) {\n this.setOpacity(style.opacity)\n }\n if (style.iconOptions) {\n if (style.color) {\n style.iconOptions.color = style.color\n }\n let iconOptions = L.Util.setOptions(this.options.icon, style.iconOptions)\n this.setIcon(L.divIcon.svgIcon(iconOptions))\n }\n }\n }\n});\n\nexport { SVGMarker, SVGIcon }\n\n","import { SVGIcon } from \"src/decidim/map/svg-icon\";\n\nL.DivIcon.SVGIcon = SVGIcon;\nL.DivIcon.SVGIcon.DecidimIcon = L.DivIcon.SVGIcon.extend({\n options: {\n fillColor: \"#ef604d\",\n fillOpacity: 1,\n opacity: 0\n },\n _createPathDescription: function() {\n return \"M14 1.17a11.685 11.685 0 0 0-11.685 11.685c0 11.25 10.23 20.61 10.665 21a1.5 1.5 0 0 0 2.025 0c0.435-.435 10.665-9.81 10.665-21A11.685 11.685 0 0 0 14 1.17Zm0 17.415A5.085 5.085 0 1 1 19.085 13.5 5.085 5.085 0 0 1 14 18.585Z\";\n },\n _createCircle: function() {\n return \"\"\n },\n // Improved version of the _createSVG, essentially the same as in later\n // versions of Leaflet. It adds the `px` values after the width and height\n // CSS making the focus borders work correctly across all browsers.\n _createSVG: function() {\n const path = this._createPath();\n const circle = this._createCircle();\n const text = this._createText();\n const className = `${this.options.className}-svg`;\n\n const style = `width:${this.options.iconSize.x}px; height:${this.options.iconSize.y}px;`;\n\n const svg = `${path}${circle}${text}`;\n\n return svg;\n }\n});\n","import MapController from \"src/decidim/map/controller\"\n\nconst openLink = window.open;\n\nexport default class MapStaticController extends MapController {\n start() {\n this.map.removeControl(this.map.zoomControl);\n this.map.dragging.disable();\n this.map.touchZoom.disable();\n this.map.doubleClickZoom.disable();\n this.map.scrollWheelZoom.disable();\n this.map.boxZoom.disable();\n this.map.keyboard.disable();\n if (this.map.tap) {\n this.map.tap.disable();\n }\n\n if (this.config.zoom) {\n this.map.setZoom(this.config.zoom);\n } else {\n this.map.setZoom(15);\n }\n\n if (this.config.latitude && this.config.longitude) {\n const coordinates = [this.config.latitude, this.config.longitude];\n\n this.map.panTo(coordinates);\n const marker = L.marker(coordinates, {\n icon: this.createIcon(),\n keyboard: true,\n title: this.config.title\n }).addTo(this.map);\n marker._icon.removeAttribute(\"tabindex\");\n }\n\n if (this.config.link) {\n this.map._container.addEventListener(\"click\", (ev) => {\n ev.preventDefault();\n this.map._container.focus();\n openLink(this.config.link, \"_blank\");\n });\n }\n }\n}\n","import MapController from \"src/decidim/map/controller\"\n\nexport default class MapDragMarkerController extends MapController {\n start() {\n if (this.config.marker) {\n this.addMarker(this.config.marker);\n } else {\n this.map.fitWorld();\n }\n }\n\n addMarker(markerData) {\n if (markerData.latitude === null || markerData.longitude === null) {\n return;\n }\n\n const coordinates = {\n lat: markerData.latitude,\n lng: markerData.longitude\n };\n this.triggerEvent(\"coordinates\", [coordinates]);\n\n this.marker = L.marker(coordinates, {\n icon: this.createIcon(),\n keyboard: true,\n title: markerData.title,\n draggable: true\n });\n this.marker.on(\"drag\", (ev) => {\n this.triggerEvent(\"coordinates\", [ev.target.getLatLng()]);\n });\n this.marker.addTo(this.map);\n\n const zoom = parseInt(this.config.zoom, 10) || 14;\n this.map.setView(coordinates, zoom);\n }\n\n getMarker() {\n return this.marker;\n }\n\n removeMarker() {\n if (this.marker) {\n this.marker.remove();\n this.marker = null;\n }\n }\n}\n","import \"src/decidim/map/icon\"\n\nimport MapMarkersController from \"src/decidim/map/controller/markers\"\nimport MapStaticController from \"src/decidim/map/controller/static\"\nimport MapDragMarkerController from \"src/decidim/map/controller/drag_marker\"\n\n/**\n * A factory method that creates a new map controller instance. This method\n * can be overridden in order to return different types of maps for\n * differently configured map elements.\n *\n * For instance, one map could pass an extra `type` configuration with the\n * value \"custom\" for the map element, this factory method would identify\n * it and then return a different controller for that map than the default.\n * This would allow this types of maps to function differently.\n *\n * An example how to use in the ERB view:\n * <%= dynamic_map_for type: \"custom\" do %>\n * <%= javascript_pack_tag \"map_customization\" %>\n * <% end %>\n *\n * And then the actual customization at `map_customization.js.es6`:\n * var originalCreateMapController = window.Decidim.createMapController;\n * window.Decidim.createMapController = (mapId, config) => {\n * if (config.type === \"custom\") {\n * // Obviously you need to implement CustomMapController for this to\n * // work. You can find an example at:\n * // decidim-dev/app/packs/src/decidim/dev/test/custom_map_factory.js\n * return new window.Decidim.CustomMapController(mapId, config);\n * }\n *\n * return originalCreateMapController(mapId, config);\n * }\n *\n * @param {string} mapId The ID of the map element.\n * @param {Object} config The map configuration object.\n * @returns {MapController} The controller for the map.\n */\nconst createMapController = function(mapId, config) {\n if (config.type === \"static\") {\n return new MapStaticController(mapId, config);\n } else if (config.type === \"drag-marker\") {\n return new MapDragMarkerController(mapId, config);\n }\n\n return new MapMarkersController(mapId, config);\n}\n\nwindow.Decidim.createMapController = createMapController;\n","import \"src/decidim/map/factory\"\n\n$(() => {\n // Load the map controller factory method in the document.ready handler to\n // allow overriding it by any script that is loaded before the document is\n // ready.\n let $mapElements = $(\"[data-decidim-map]\");\n if ($mapElements.length < 1 && $(\"#map\").length > 0) {\n throw new Error(\n \"DEPRECATION: Please update your maps customizations or include 'decidim/map/legacy.js' for legacy support!\"\n );\n }\n\n $mapElements.each((_i, el) => {\n const $map = $(el);\n let mapId = $map.attr(\"id\");\n if (!mapId) {\n mapId = `map-${Math.random().toString(36).substr(2, 9)}`;\n $map.attr(\"id\", mapId);\n }\n\n const mapConfig = $map.data(\"decidim-map\");\n const ctrl = window.Decidim.createMapController(mapId, mapConfig);\n const map = ctrl.load();\n\n $map.data(\"map\", map);\n $map.data(\"map-controller\", ctrl);\n\n $map.trigger(\"configure.decidim\", [map, mapConfig]);\n\n ctrl.start();\n\n // Indicates the map is loaded with the map objects initialized and ready\n // to be used.\n $map.trigger(\"ready.decidim\", [map, mapConfig]);\n });\n});\n"],"names":["SVGIcon","L","DivIcon","extend","options","point","initialize","_options","Util","setOptions","this","iconSize","circleAnchor","Number","x","circleColor","color","circleFillOpacity","opacity","circleOpacity","circleWeight","weight","fillColor","fontSize","iconAnchor","y","popupAnchor","html","_createSVG","_createCircle","cx","cy","radius","circleRatio","fill","circleFillColor","fillOpacity","stroke","strokeOpacity","strokeWidth","className","_createPathDescription","height","width","margin","_createPath","pathDescription","_createShadow","shadowColor","origin","rotation","shadowAngle","shadowLength","shadowOpacity","blur","shadowBlur","translate","shadowTranslate","path","circle","text","_createText","shadow","shadowEnable","Math","max","style","fontWeight","lineHeight","coordX","coordY","circleText","textColor","fontColor","replace","fontOpacity","Marker","divIcon","svgIcon","latlng","icon","iconFactory","iconOptions","_latlng","onAdd","map","prototype","call","setStyle","_icon","iconBody","children","iconCircle","setAttribute","setOpacity","setIcon","DecidimIcon","openLink","window","open","MapStaticController","removeControl","zoomControl","dragging","disable","touchZoom","doubleClickZoom","scrollWheelZoom","boxZoom","keyboard","tap","config","zoom","setZoom","latitude","longitude","coordinates","panTo","marker","createIcon","title","addTo","removeAttribute","link","_container","addEventListener","ev","preventDefault","_this","focus","MapController","MapDragMarkerController","addMarker","fitWorld","markerData","lat","lng","triggerEvent","draggable","on","target","getLatLng","parseInt","setView","remove","Decidim","createMapController","mapId","type","MapMarkersController","$","$mapElements","length","Error","each","_i","el","$map","attr","random","toString","substr","mapConfig","data","ctrl","load","trigger","start"],"sourceRoot":""}