{"version":3,"sources":["jsdelivr-header.js","/npm/leaflet-switch-basemap@1.0.6/src/L.switchBasemap.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,EAAE,QAAQ,iBAAmB,EAAE,QAAQ,OAAO,CAC1C,QAAS,CACL,SAAU,YAGd,WAAY,SAAS,EAAQ,GACzB,EAAE,KAAK,WAAW,KAAM,GACxB,KAAK,OAAS,CACtB,EAEI,MAAO,SAAU,GACb,MAAM,EAAY,KAAK,UAAY,EAAE,QAAQ,OAAO,MAAO,oCAa3D,OAXA,KAAK,eACL,KAAK,YAEL,EAAU,iBAAiB,aAAa,KACpC,KAAK,SAAS,IAGlB,EAAU,iBAAiB,YAAY,KACnC,KAAK,WAAW,IAGb,CACf,EAEI,YAAA,GACI,KAAK,OAAO,SAAS,CAAC,EAAK,KAEvB,EAAI,GAAK,EAET,MAAM,EAAe,EAAE,QAAQ,OAAO,MAAO,cACvC,EAAM,EAAE,QAAQ,OAAO,OACvB,EAAO,EAAE,QAAQ,OAAO,MAAO,QAC/B,EAAQ,EAAE,QAAQ,OAAO,MAAO,SACtC,EAAK,UAAY,EAAI,KAElB,EAAI,OAAO,OACV,KAAK,UAAY,EACjB,EAAM,UAAU,IAAI,cAGxB,EAAI,MAAM,gBAAkB,OAAO,EAAI,QACvC,EAAa,OAAO,GACpB,EAAI,OAAO,GACX,EAAI,OAAO,GAEX,EAAa,iBAAiB,SAAS,KAEnC,KAAK,cAAc,EAAI,OAEnB,EAAI,OAAO,OACX,EAAI,MAAM,MAAM,KAAK,MACrB,EAAI,MAAM,cACV,KAAK,UAAY,EACjB,KAAK,YACL,KAAK,KAAK,KAAK,gBAAiB,CAAE,MAAQ,EAAI,QAE9C,EAAM,UAAU,IAAI,aACxC,IAIY,KAAK,UAAU,OAAO,EAAY,GAG9C,EAEI,aAAA,CAAc,GAEV,KAAK,OAAO,SAAU,IACf,EAAI,MAAM,cAAgB,EAAM,aAAe,EAAI,OAAO,MACzD,KAAK,KAAK,YAAY,EAAI,MAC1C,GAEA,EAEI,SAAA,GAEI,KAAK,UAAU,WAAW,SAAS,CAAC,EAAO,KAEvC,GAAG,IAAU,KAAK,UAAU,GAAG,CAC3B,EAAM,UAAU,IAAI,UACR,EAAM,cAAc,UAC1B,UAAU,OAAO,YACvC,IAGA,EAEI,OAAA,GAEI,KAAK,UAAU,WAAW,SAAU,IAChC,EAAM,UAAU,OAAO,SAAQ,GAE3C,IAIA,EAAE,iBAAmB,SAAS,EAAQ,GAClC,OAAO,IAAI,EAAE,QAAQ,iBAAiB,EAAQ,EAClD","file":"/npm/leaflet-switch-basemap@1.0.6/src/L.switchBasemap.js/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/leaflet-switch-basemap@1.0.6/src/L.switchBasemap.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","L.Control.basemapsSwitcher = L.Control.extend({\n    options: {\n        position: 'topright',\n    },\n\n    initialize: function(layers, options){\n        L.Util.setOptions(this, options);\n        this.layers = layers\n    },\n\n    onAdd: function (map){\n        const container = this.container = L.DomUtil.create('div', 'leaflet-control-basemapsSwitcher');\n\n        this._createItems();\n        this._collapse();\n\n        container.addEventListener('mouseover', () => {\n            this._expand();\n        })\n\n        container.addEventListener('mouseout', () => {\n            this._collapse();\n        })\n\n        return container;\n    },\n\n    _createItems() {\n        this.layers.forEach( (obj, index) => {\n\n            obj.id = index\n\n            const imgContainer = L.DomUtil.create('div', 'basemapImg');\n            const img = L.DomUtil.create('div');\n            const name = L.DomUtil.create('div', 'name');\n            const check = L.DomUtil.create('div', 'check');\n            name.innerHTML = obj.name\n\n            if(obj.layer?._map){\n                this.activeMap = obj\n                check.classList.add('activeMap');\n            }\n            \n            img.style.backgroundImage = `url(${obj.icon})`;\n            imgContainer.append(img)\n            img.append(check)\n            img.append(name)\n            \n            imgContainer.addEventListener('click', () =>{\n\n                this._removeLayers(obj.layer);\n                \n                if(!obj.layer?._map){\n                    obj.layer.addTo(this._map);\n                    obj.layer.bringToBack()\n                    this.activeMap = obj;\n                    this._collapse();\n                    this._map.fire('basemapChange', { layer : obj.layer });\n\n                    check.classList.add('activeMap');\n                }\n\n            })\n\n            this.container.append(imgContainer)\n\n        })\n    },\n\n    _removeLayers(layer){\n\n        this.layers.forEach( (obj) =>{\n            if(obj.layer._leaflet_id !== layer._leaflet_id && obj.layer?._map) {\n                this._map.removeLayer(obj.layer);\n            }\n        })\n    },\n\n    _collapse(){\n\n        this.container.childNodes.forEach( (child, index) => {\n\n            if(index !== this.activeMap.id){\n                child.classList.add('hidden')\n                let check = child.querySelector('.check')\n                check.classList.remove('activeMap')\n            }\n        })\n\n    },\n\n    _expand(){\n\n        this.container.childNodes.forEach( (child) => {\n            child.classList.remove('hidden')\n        })\n    }\n\n})\n\nL.basemapsSwitcher = function(layers, options){\n    return new L.Control.basemapsSwitcher(layers, options);  \n}\n"]}