{"version":3,"file":"js/2754-f49e7f72cb6554b0aae9.js","mappings":"iGAUA,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,YACtB,EACAC,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,GAAAC,OAAM/B,KAAKN,QAAQoC,UAAS,WAMzC,MAJU,kBAAAC,OAAqBD,EAAS,UAAAC,OAASX,EAAE,UAAAW,OAASV,EAAE,SAAAU,OAAQT,EAAM,YAAAS,OACjEP,EAAI,oBAAAO,OAAmBL,EAAW,cAAAK,OAChCJ,EAAM,qBAAAI,OAAoBH,EAAa,oBAAAG,OAAmBF,EAAW,MAGpF,EACAG,uBAAwB,WACtB,IAAIC,EAAS9B,OAAOH,KAAKN,QAAQO,SAASc,GACtCmB,EAAQ/B,OAAOH,KAAKN,QAAQO,SAASG,GACrCO,EAASR,OAAOH,KAAKN,QAAQiB,QAC7BwB,EAASxB,EAAS,EAStB,MAPc,KAAAoB,OAAQI,EAAM,KAAAJ,OAAIG,EAAQ,EAAC,KAC7B,KAAAH,OAAQG,EAAQ,EAAC,KAAAH,OAAIE,EAAStB,EAAM,KACnC,KAAAoB,OAAQG,EAAQC,EAAM,KAAAJ,OAAIG,EAAQ,EAAC,KACzC,KAAAH,OAAQG,EAAQ,EAAC,KAAAH,OAAIG,EAAQ,EAAC,WAAAH,OAAUI,EAAM,KAAAJ,OAAIG,EAAQ,EAAC,KAKpE,EACAE,YAAa,WACX,IAAIC,EAAkBrC,KAAKgC,yBACvBH,EAAc7B,KAAKN,QAAQiB,OAC3BgB,EAAS3B,KAAKN,QAAQY,MACtBsB,EAAgB5B,KAAKN,QAAQc,QAC7BgB,EAAOxB,KAAKN,QAAQkB,UACpBc,EAAc1B,KAAKN,QAAQgC,YAC3BI,EAAS,GAAAC,OAAM/B,KAAKN,QAAQoC,UAAS,SAMzC,MAJQ,gBAAAC,OAAmBD,EAAS,SAAAC,OAAQM,EAAe,oBAAAN,OACxCF,EAAW,cAAAE,OAAaJ,EAAM,sBAAAI,OAAqBH,EAAa,YAAAG,OACxEP,EAAI,oBAAAO,OAAmBL,EAAW,MAG/C,EACAY,cAAe,WACb,IAAID,EAAkBrC,KAAKgC,yBACvBH,EAAc7B,KAAKN,QAAQiB,OAC3BgB,EAAS3B,KAAKN,QAAQ6C,YACtBf,EAAOxB,KAAKN,QAAQ6C,YACpBT,EAAS,GAAAC,OAAM/B,KAAKN,QAAQoC,UAAS,WAErCU,EAAM,GAAAT,OAAM/B,KAAKN,QAAQO,SAASG,EAAI,EAAC,OAAA2B,OAAM/B,KAAKN,QAAQO,SAASc,EAAC,MACpE0B,EAAWzC,KAAKN,QAAQgD,YACxBT,EAASjC,KAAKN,QAAQiD,aACtBnC,EAAUR,KAAKN,QAAQkD,cACvBC,EAAO7C,KAAKN,QAAQoD,WACpBC,EAAS,GAAAhB,OAAM/B,KAAKN,QAAQsD,gBAAgB5C,EAAC,QAAA2B,OAAO/B,KAAKN,QAAQsD,gBAAgBjC,EAAC,MAMtF,MAJc,gFAAAgB,OAAmFc,EAAI,gBAE3F,8CAAAd,OAAiDD,EAAS,SAAAC,OAAQM,EAAe,YAAAN,OAAWP,EAAI,oBAAAO,OAAmBF,EAAW,cAAAE,OAAaJ,EAAM,sBAAAI,OAAqBvB,EAAO,wBAAAuB,OAAuBS,EAAM,wBAAAT,OAAuBU,EAAQ,mBAAAV,OAAkBgB,EAAS,eAAAhB,OAAcE,EAAM,QAGpS,EACAf,WAAY,WACV,IAAI+B,EAAOjD,KAAKoC,cACZc,EAASlD,KAAKmB,gBACdgC,EAAOnD,KAAKoD,cACZC,EAAS,GACTrD,KAAKN,QAAQ4D,eACfD,EAASrD,KAAKsC,iBAGhB,IAAIR,EAAS,GAAAC,OAAM/B,KAAKN,QAAQoC,UAAS,QACrCI,EAAQlC,KAAKN,QAAQO,SAASG,EAC9B6B,EAASjC,KAAKN,QAAQO,SAASc,EAE/Bf,KAAKN,QAAQ4D,eACfpB,GAASlC,KAAKN,QAAQO,SAASc,EAAIf,KAAKN,QAAQiD,aAAgB3C,KAAKN,QAAQO,SAASG,EAAI,EAC1F8B,EAAQqB,KAAKC,IAAItB,EAAO,IACxBD,GAAUjC,KAAKN,QAAQO,SAASc,EAAIf,KAAKN,QAAQiD,cAGnD,IAAIc,EAAK,SAAA1B,OAAYG,EAAK,eAAAH,OAAcE,GAGxC,MAFO,gEAAAF,OAAmED,EAAS,aAAAC,OAAY0B,EAAK,MAAA1B,OAAKsB,GAAMtB,OAAGkB,GAAIlB,OAAGmB,GAAMnB,OAAGoB,EAAI,SAGxI,EACAC,YAAa,WACX,IAAIvC,EAAQ,GAAAkB,OAAM/B,KAAKN,QAAQmB,SAAQ,MACnC6C,EAAa1D,KAAKN,QAAQgE,WAC1BC,EAAaxD,OAAOH,KAAKN,QAAQmB,UAEjC+C,EAAS5D,KAAKN,QAAQQ,aAAaE,EAEnCyD,EAAS7D,KAAKN,QAAQQ,aAAaa,EAAkB,IAAb4C,EACxCG,EAAa9D,KAAKN,QAAQoE,WAC1BC,EAAY/D,KAAKN,QAAQsE,UAAUC,QAAQ,OAAQ,SAASA,QAAQ,IAAI,IAADlC,OAAM/B,KAAKN,QAAQwE,YAAW,MAIzG,MAFQ,iCAAAnC,OAAoC6B,EAAM,SAAA7B,OAAQ8B,EAAM,wBAAA9B,OAAuBlB,EAAQ,mBAAAkB,OAAkB2B,EAAU,YAAA3B,OAAWgC,EAAS,MAAAhC,OAAK+B,EAAU,UAGhK,IAGcvE,EAAE4E,OAAO1E,OAAO,CAC9BC,QAAS,CACP,YAAeH,EAAE6E,QAAQC,QACzB,YAAe,CAAC,GAElBzE,WAAY,SAAS0E,EAAQzE,GAC3B,IAAIH,EAAUH,EAAEO,KAAKC,WAAWC,KAAMH,GACtCH,EAAQ6E,KAAO7E,EAAQ8E,YAAY9E,EAAQ+E,aAC3CzE,KAAK0E,QAAUJ,CACjB,EACAK,MAAO,SAASC,GACdrF,EAAE4E,OAAOU,UAAUF,MAAMG,KAAK9E,KAAM4E,EACtC,EACAG,SAAU,SAAStB,GACjB,GAAIzD,KAAKgF,MAAO,CAEd,IAAIC,EAAWjF,KAAKgF,MAAME,SAAS,GAAGA,SAAS,GAC3CC,EAAanF,KAAKgF,MAAME,SAAS,GAAGA,SAAS,GAEjD,GAAIzB,EAAMnD,QAAUmD,EAAMgB,YAAa,CACrC,IAAI9C,EAAS8B,EAAMnD,MAAM2D,QAAQ,MAAO,QAAQA,QAAQ,IAAI,IAADlC,OAAM/B,KAAKN,QAAQ6E,KAAK7E,QAAQc,QAAO,MAC9FgB,EAAOiC,EAAMnD,MAAM2D,QAAQ,MAAO,QAAQA,QAAQ,IAAI,IAADlC,OAAM/B,KAAKN,QAAQ6E,KAAK7E,QAAQgC,YAAW,MACpGuD,EAASG,aAAa,SAAUzD,GAChCsD,EAASG,aAAa,OAAQ5D,GAC9B2D,EAAWC,aAAa,SAAUzD,GAElC3B,KAAKN,QAAQ6E,KAAK3D,UAAYY,EAC9BxB,KAAKN,QAAQ6E,KAAKjE,MAAQqB,EAC1B3B,KAAKN,QAAQ6E,KAAKlE,YAAcsB,CAClC,CAIA,GAHI8B,EAAMjD,SACRR,KAAKqF,WAAW5B,EAAMjD,SAEpBiD,EAAMgB,YAAa,CACjBhB,EAAMnD,QACRmD,EAAMgB,YAAYnE,MAAQmD,EAAMnD,OAElC,IAAImE,EAAclF,EAAEO,KAAKC,WAAWC,KAAKN,QAAQ6E,KAAMd,EAAMgB,aAC7DzE,KAAKsF,QAAQ/F,EAAE6E,QAAQC,QAAQI,GACjC,CACF,CACF,ICjPFlF,EAAEC,QAAQF,QAAUA,EACpBC,EAAEC,QAAQF,QAAQiG,YAAchG,EAAEC,QAAQF,QAAQG,OAAO,CACvDC,QAAS,CACPkB,UAAW,UACXc,YAAa,EACblB,QAAS,GAEXwB,uBAAwB,WACtB,MAAO,kOACT,EACAb,cAAe,WACb,MAAO,EACT,EAIAD,WAAY,WACV,IAAM+B,EAAOjD,KAAKoC,cACZc,EAASlD,KAAKmB,gBACdgC,EAAOnD,KAAKoD,cACZtB,EAAS,GAAAC,OAAM/B,KAAKN,QAAQoC,UAAS,QAErC2B,EAAK,SAAA1B,OAAY/B,KAAKN,QAAQO,SAASG,EAAC,eAAA2B,OAAc/B,KAAKN,QAAQO,SAASc,EAAC,OAInF,MAFS,gEAAAgB,OAAmED,EAAS,aAAAC,OAAY0B,EAAK,MAAA1B,OAAKkB,GAAIlB,OAAGmB,GAAMnB,OAAGoB,EAAI,SAGjI,I,igDC3BF,IAAMqC,EAAWC,OAAOC,KAEHC,EAAmB,SAAAC,GAAA,SAAAD,IAAA,O,4FAAAE,CAAA,KAAAF,GAAAG,EAAA,KAAAH,EAAAI,UAAA,C,UAsCrC,O,sRAtCqCC,CAAAL,EAAAC,G,EAAAD,G,EAAA,EAAAM,IAAA,QAAAC,MACtC,WAAS,IAADC,EAAA,KAkBN,GAjBAnG,KAAK4E,IAAIwB,cAAcpG,KAAK4E,IAAIyB,aAChCrG,KAAK4E,IAAI0B,SAASC,UAClBvG,KAAK4E,IAAI4B,UAAUD,UACnBvG,KAAK4E,IAAI6B,gBAAgBF,UACzBvG,KAAK4E,IAAI8B,gBAAgBH,UACzBvG,KAAK4E,IAAI+B,QAAQJ,UACjBvG,KAAK4E,IAAIgC,SAASL,UACdvG,KAAK4E,IAAIiC,KACX7G,KAAK4E,IAAIiC,IAAIN,UAGXvG,KAAK8G,OAAOC,KACd/G,KAAK4E,IAAIoC,QAAQhH,KAAK8G,OAAOC,MAE7B/G,KAAK4E,IAAIoC,QAAQ,IAGfhH,KAAK8G,OAAOG,UAAYjH,KAAK8G,OAAOI,UAAW,CACjD,IAAMC,EAAc,CAACnH,KAAK8G,OAAOG,SAAUjH,KAAK8G,OAAOI,WAEvDlH,KAAK4E,IAAIwC,MAAMD,GACA5H,EAAE8H,OAAOF,EAAa,CACnC5C,KAAMvE,KAAKsH,aACXV,UAAU,EACVW,MAAOvH,KAAK8G,OAAOS,QAClBC,MAAMxH,KAAK4E,KACPI,MAAMyC,gBAAgB,WAC/B,CAEIzH,KAAK8G,OAAOY,MACd1H,KAAK4E,IAAI+C,WAAWC,iBAAiB,SAAS,SAACC,GAC7CA,EAAGC,iBACH3B,EAAKvB,IAAI+C,WAAWI,QACpBvC,EAASW,EAAKW,OAAOY,KAAM,SAC7B,GAEJ,M,8EAAC/B,CAAA,CAtCqC,CAASqC,EAAAA,G,u+CCJK,IAEjCC,EAAuB,SAAArC,GAAA,SAAAqC,IAAA,O,4FAAApC,CAAA,KAAAoC,GAAAnC,EAAA,KAAAmC,EAAAlC,UAAA,C,UA4CzC,O,sRA5CyCC,CAAAiC,EAAArC,G,EAAAqC,G,EAAA,EAAAhC,IAAA,QAAAC,MAC1C,WACMlG,KAAK8G,OAAOO,OACdrH,KAAKkI,UAAUlI,KAAK8G,OAAOO,QAE3BrH,KAAK4E,IAAIuD,UAEb,GAAC,CAAAlC,IAAA,YAAAC,MAED,SAAUkC,GAAa,IAADjC,EAAA,KACpB,GAA4B,OAAxBiC,EAAWnB,UAA8C,OAAzBmB,EAAWlB,UAA/C,CAIA,IAAMC,EAAc,CAClBkB,IAAKD,EAAWnB,SAChBqB,IAAKF,EAAWlB,WAElBlH,KAAKuI,aAAa,cAAe,CAACpB,IAElCnH,KAAKqH,OAAS9H,EAAE8H,OAAOF,EAAa,CAClC5C,KAAMvE,KAAKsH,aACXV,UAAU,EACVW,MAAOa,EAAWb,MAClBiB,WAAW,IAEbxI,KAAKqH,OAAOoB,GAAG,QAAQ,SAACZ,GACtB1B,EAAKoC,aAAa,cAAe,CAACV,EAAGa,OAAOC,aAC9C,IACA3I,KAAKqH,OAAOG,MAAMxH,KAAK4E,KAEvB,IAAMmC,EAAO6B,SAAS5I,KAAK8G,OAAOC,KAAM,KAAO,GAC/C/G,KAAK4E,IAAIiE,QAAQ1B,EAAaJ,EApB9B,CAqBF,GAAC,CAAAd,IAAA,YAAAC,MAED,WACE,OAAOlG,KAAKqH,MACd,GAAC,CAAApB,IAAA,eAAAC,MAED,WACMlG,KAAKqH,SACPrH,KAAKqH,OAAOyB,SACZ9I,KAAKqH,OAAS,KAElB,M,8EAACY,CAAA,CA5CyC,CAASD,EAAAA,GC8CrDvC,OAAOsD,QAAQC,oBAVa,SAASC,EAAOnC,GAC1C,MAAoB,WAAhBA,EAAOoC,KACF,IAAIvD,EAAoBsD,EAAOnC,GACb,gBAAhBA,EAAOoC,KACT,IAAIjB,EAAwBgB,EAAOnC,GAGrC,IAAIqC,EAAAA,EAAqBF,EAAOnC,EACzC,EC5CAsC,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,OAAAlH,OAAUwB,KAAKsG,SAASC,SAAS,IAAIC,OAAO,EAAG,IACpDJ,EAAKC,KAAK,KAAMX,IAGlB,IAAMe,EAAYL,EAAKM,KAAK,eACtBC,EAAOzE,OAAOsD,QAAQC,oBAAoBC,EAAOe,GACjDpF,EAAMsF,EAAKC,OAEjBR,EAAKM,KAAK,MAAOrF,GACjB+E,EAAKM,KAAK,iBAAkBC,GAE5BP,EAAKS,QAAQ,oBAAqB,CAACxF,EAAKoF,IAExCE,EAAKG,QAILV,EAAKS,QAAQ,gBAAiB,CAACxF,EAAKoF,GACtC,GACF,G","sources":["webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/svg-icon.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/icon.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/controller/static.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/controller/drag_marker.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/app/packs/src/decidim/map/factory.js","webpack://app/../usr/local/bundle/gems/decidim-core-0.27.5/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 <ilya.atkin@unh.edu>\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 = `<circle class=\"${className}\" cx=\"${cx}\" cy=\"${cy}\" r=\"${radius\n }\" fill=\"${fill}\" fill-opacity=\"${fillOpacity\n }\" stroke=\"${stroke}\" stroke-opacity=${strokeOpacity}\" stroke-width=\"${strokeWidth}\"/>`\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 = `<path class=\"${className}\" d=\"${pathDescription\n }\" stroke-width=\"${strokeWidth}\" stroke=\"${stroke}\" stroke-opacity=\"${strokeOpacity\n }\" fill=\"${fill}\" fill-opacity=\"${fillOpacity}\"/>`\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 = `<filter id='iconShadowBlur'><feGaussianBlur in='SourceGraphic' stdDeviation='${blur}'/></filter>`\n\n let shadow = `<path filter=\"url(#iconShadowBlur\") class=\"${className}\" d=\"${pathDescription}\" fill=\"${fill}\" stroke-width=\"${strokeWidth}\" stroke=\"${stroke}\" style=\"opacity: ${opacity}; transform-origin: ${origin}; transform: rotate(${rotation}deg) translate(${translate}) scale(1, ${height})\" />`\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 = `<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" class=\"${className}\" style=\"${style}\">${shadow}${path}${circle}${text}</svg>`\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 = `<text text-anchor=\"middle\" x=\"${coordX}\" y=\"${coordY}\" style=\"font-size: ${fontSize}; font-weight: ${fontWeight}\" fill=\"${textColor}\">${circleText}</text>`\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 = `<svg xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" class=\"${className}\" style=\"${style}\">${path}${circle}${text}</svg>`;\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","concat","_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","_MapController","_classCallCheck","_callSuper","arguments","_inherits","key","value","_this","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","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":""}