{"_id":"ol-layerswitcher","_rev":"35-34069cc477bacdb4b02ed594d931d390","name":"ol-layerswitcher","description":"Layer switcher control for OpenLayers","dist-tags":{"beta":"4.0.0-beta.1","latest":"4.1.2"},"versions":{"1.1.1":{"name":"ol-layerswitcher","version":"1.1.1","keywords":["openlayers","layerswitcher","ol3"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@1.1.1","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/francbartoli/ol3-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol3-layerswitcher/issues"},"dist":{"shasum":"e36b9697242ef6c6a2041ad8818642664fa0fe94","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-1.1.1.tgz","integrity":"sha512-f67PxyCtodtm5ehHGx1NluagwY+93x9I69HXFG273HUm7lZqe89LSxHFnpLb6C+whFZkoqbQp4PR/p6p8XL0mQ==","signatures":[{"sig":"MEQCIAdYJi9bxd7hEBahaJUgwFwWaMSzAjbFEcCHTDMe7KXiAiAN9+2EZ/XQlaORIHh7G8hAFuSZIdBn6YhEVSv2nc7pSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"e36b9697242ef6c6a2041ad8818642664fa0fe94","gitHead":"3a85032e2cf56cc8236019698be752f33a6c424d","scripts":{"doc":"jsdoc --explain src/ol3-layerswitcher.js | node_modules/.bin/dirtydocs util/README.md > README.md"},"_npmUser":{"name":"francbartoli","email":"xbartolone@gmail.com"},"repository":{"url":"git+https://github.com/francbartoli/ol3-layerswitcher.git","type":"git"},"_npmVersion":"3.8.6","description":"Layer switcher control for OpenLayers 3","directories":{},"_nodeVersion":"6.0.0","dependencies":{"openlayers":"~3.20.1"},"devDependencies":{"jsdoc":"~3.3.0-beta1","mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","dirtydocs":"0.0.1","expect.js":"~0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-1.1.1.tgz_1482512009539_0.2544936772901565","host":"packages-12-west.internal.npmjs.com"}},"1.1.2":{"name":"ol-layerswitcher","version":"1.1.2","keywords":["openlayers","layerswitcher","ol3"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@1.1.2","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/francbartoli/ol3-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol3-layerswitcher/issues"},"dist":{"shasum":"a049d1e581efe94feefe0477b4395591358ad3b8","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-1.1.2.tgz","integrity":"sha512-e0ttt3uZ3L0JAbOSqNP3cGL93ZiD48Oa1/xTjDYfyODXcFqorDMsH5wu+w49Mi5kNirXNs34R1JzMqJVm0cdAg==","signatures":[{"sig":"MEUCIA7az/pZxdn1lJQCOtBpL6ju0edYVzdDXxX6ZLMLwve5AiEAmB2LQPoj3i735yULyCJw92DbSkrYB/mBtD9YuCsWGdg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"a049d1e581efe94feefe0477b4395591358ad3b8","gitHead":"3a85032e2cf56cc8236019698be752f33a6c424d","scripts":{"doc":"jsdoc --explain src/ol3-layerswitcher.js | node_modules/.bin/dirtydocs util/README.md > README.md"},"_npmUser":{"name":"francbartoli","email":"xbartolone@gmail.com"},"repository":{"url":"git+https://github.com/francbartoli/ol3-layerswitcher.git","type":"git"},"_npmVersion":"3.8.6","description":"Layer switcher control for OpenLayers 3","directories":{},"_nodeVersion":"6.0.0","dependencies":{"openlayers":"~3.20.1"},"devDependencies":{"jsdoc":"~3.3.0-beta1","mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","dirtydocs":"0.0.1","expect.js":"~0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-1.1.2.tgz_1482512330536_0.14940964966081083","host":"packages-12-west.internal.npmjs.com"}},"1.1.3":{"name":"ol-layerswitcher","version":"1.1.3","keywords":["openlayers","layerswitcher","ol3"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@1.1.3","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/francbartoli/ol3-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol3-layerswitcher/issues"},"dist":{"shasum":"1e17bfb18ac55809a7ee7e72ea47fbc18aa33f98","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-1.1.3.tgz","integrity":"sha512-wqYPjbXFszsXCJOUOrf9WnpYFSX2reRu83ItMQ7Fe/WnsS+5QCCb0IZVETublRyYPuD21OnknuuXbQgGDgazKw==","signatures":[{"sig":"MEUCIC5u1nGBikQHAYy289CbbKktXLHM02QLsYw1TmjQ+j93AiEAkDPfaN+KwBFR92Mgay9fxjIzvS3M92DAgdw47WdYuG4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"1e17bfb18ac55809a7ee7e72ea47fbc18aa33f98","gitHead":"3a85032e2cf56cc8236019698be752f33a6c424d","scripts":{"doc":"jsdoc --explain src/ol3-layerswitcher.js | node_modules/.bin/dirtydocs util/README.md > README.md"},"_npmUser":{"name":"francbartoli","email":"xbartolone@gmail.com"},"repository":{"url":"git+https://github.com/francbartoli/ol3-layerswitcher.git","type":"git"},"_npmVersion":"3.8.6","description":"Layer switcher control for OpenLayers 3","directories":{},"_nodeVersion":"6.0.0","dependencies":{"openlayers":"~3.20.1"},"devDependencies":{"jsdoc":"~3.3.0-beta1","mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","dirtydocs":"0.0.1","expect.js":"~0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-1.1.3.tgz_1482512607344_0.8604587544687092","host":"packages-12-west.internal.npmjs.com"}},"1.1.4":{"name":"ol-layerswitcher","version":"1.1.4","keywords":["openlayers","layerswitcher","ol3"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@1.1.4","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol3-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol3-layerswitcher/issues"},"dist":{"shasum":"f7c381f90ed0e848d0586a3763b79937e39f2163","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-1.1.4.tgz","integrity":"sha512-yQgpfVe/1Hj9JEVKnVUoYt0lt5GsNGbbF+i+9xtb7lUlqXDw3Tyux40E2dY/rKFVxEjHL4rlx9w/N1WI4jEhNQ==","signatures":[{"sig":"MEUCIQDoES42ryHF1wAqeBgudqiXqKDFfrP/+vTxJyKDO+0KfwIgPgdoD5fSFqpGCPRBfy9CPd5iRxxBCFyxhEbLwCud/cw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"f7c381f90ed0e848d0586a3763b79937e39f2163","gitHead":"7f4017aa2ff2ef73d1607615ee443fc4abae27dd","scripts":{"doc":"jsdoc --explain src/ol3-layerswitcher.js | node_modules/.bin/dirtydocs util/README.md > README.md"},"_npmUser":{"name":"francbartoli","email":"xbartolone@gmail.com"},"repository":{"url":"git+https://github.com/walkermatt/ol3-layerswitcher.git","type":"git"},"_npmVersion":"3.8.6","description":"Layer switcher control for OpenLayers 3","directories":{},"_nodeVersion":"6.0.0","dependencies":{"openlayers":"~3.20.1"},"devDependencies":{"jsdoc":"~3.3.0-beta1","mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","dirtydocs":"0.0.1","expect.js":"~0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-1.1.4.tgz_1482593454476_0.16460549924522638","host":"packages-18-east.internal.npmjs.com"}},"1.1.6":{"name":"ol-layerswitcher","version":"1.1.6","keywords":["openlayers","layerswitcher","ol3"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@1.1.6","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol3-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol3-layerswitcher/issues"},"dist":{"shasum":"1ea9e6f704615c160e2b923bc50c2f35ae99468a","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-1.1.6.tgz","integrity":"sha512-avIVb13vwQ+aTOqwI93+kmM4+Gkg3HiZWXZfX3jod59CRMLI1uOgcS1hsdSt++E2xIa/pVRVoj9KAAPQmH9iLg==","signatures":[{"sig":"MEQCIHb5L/piIBdPut4ucEu2Yh6APPUVlj4VtENCkob0tQm5AiAnSaf+/msFz3aOH3VlNqA1VxvKz5KQh/P37T72VRPqBA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"_from":".","_shasum":"1ea9e6f704615c160e2b923bc50c2f35ae99468a","gitHead":"7f4017aa2ff2ef73d1607615ee443fc4abae27dd","scripts":{"doc":"jsdoc --explain src/ol3-layerswitcher.js | node_modules/.bin/dirtydocs util/README.md > README.md"},"_npmUser":{"name":"francbartoli","email":"xbartolone@gmail.com"},"repository":{"url":"git+https://github.com/walkermatt/ol3-layerswitcher.git","type":"git"},"_npmVersion":"3.8.6","description":"Layer switcher control for OpenLayers 3","directories":{},"_nodeVersion":"6.0.0","dependencies":{"openlayers":"~3.20.1"},"devDependencies":{"jsdoc":"~3.3.0-beta1","mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","dirtydocs":"0.0.1","expect.js":"~0.3.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-1.1.6.tgz_1482604644090_0.7005466721020639","host":"packages-12-west.internal.npmjs.com"}},"2.0.0":{"name":"ol-layerswitcher","version":"2.0.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@2.0.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"61fbf72f0b627f351e1be605da30c44f1cc82525","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-2.0.0.tgz","integrity":"sha512-Gf1o+iZMR15aOTUUz5HKOgNtNRKR+VXm6JYzfe6VvF7QWVa5WTcsU2qdtcRHBOwOsMyxggZAFzUxre6g9Dg35Q==","signatures":[{"sig":"MEQCIEGaZNUbExVmE/tejXNYPsxn4TQarBx93dxzwtsO8Lb5AiAHBLqfGrDM/OR4aOHO7tOwbwDpUDoNsyRhiNHobt9wvw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/ol-layerswitcher.js","gitHead":"f331d0f77622d1709b88ac09e1bf5bf22a08193a","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers v3/v4","directories":{},"_nodeVersion":"9.3.0","devDependencies":{"mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","rollup":"^0.41.4","expect.js":"~0.3.1","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">4.0.1"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher-2.0.0.tgz_1517430317400_0.09650715300813317","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"ol-layerswitcher","version":"3.0.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.0.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"8ddcb8626af26d0c3177eca0a0e039e1e52a416b","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.0.0.tgz","fileCount":19,"integrity":"sha512-EjryUgMViDB1N6R1FDJ6cEKwg9YpmDvYTbv6K9MaN0INyLEXeJyntigjoTnU6RAPo9XZZBOI/yUntxFnR8yD6Q==","signatures":[{"sig":"MEUCIQD8FLojb8gw9GBcobofXotcbQIO0xu3OuuNx8N7KqPjzwIgDCVREvGZQX+qVWLN2aYuuhfu1aswXdZ7WwEBXZeok6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65903,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbaqerCRA9TVsSAnZWagAAeMsP/2xjNYLSPtVZ7NRX66JY\nCgDvD99bGTrU84DovcPitLlnVhLbmkWlbxOqM5h8FBkS5as0TKQ0dsOeQUvr\nREg/TOFJgs0lr00B6deWL6u5CQ1eIWUYto9qh9HY/0b6UbTwPCJTeEEgkfGU\n52dVpKkeHUWCdc9RLyEbkKqUF/Dnvhg1ThkRyk8WXQUHSyhjGC7SmAVg4CYd\nExzC/msakFq9rSVNbMTe1Cum94LGyYLIR647Ybtpy59pybQWiWuyVVvQWM88\nR/xBEpwzA1vaxyX6eURaftcSZ1NDHardDL+JhHy26a3U9XMI3LnVOERPbRQe\n1HViitMdhwRS4zJxRHd/iUDC1p9eerrH85t/mynv6czsrx4WmGwIesDwfyBI\nO1vY/WA4mLmMaJ23h7iB7yF08W770/VYEFmARQh2SpQ1B3hvRySg7oJTiq4J\nH/nQY7d0tB7jP8SoSkihXz8UWZF9qmHnVPVopJaZByiP3dtpZAMX7/LV1AKa\nFnxkH8orfz2zszIq63BLAbX6c+gbbb7MEZK8DFqFAFFRwZys2wQ9WZRggj9N\nvzJe6RW2idqGiH70YMk8YMUJEq4lwtnapmo/Y781rATDNdksfxo4h94z0HPs\nQzadP1qtqjVp71VI0oOK8TKEcM0FAccZyoV341TzlYAwMIqPRtx0cho+L2AO\ndPLZ\r\n=KHXR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"ec24ec414dddc189ea3aa189f149f170762edb2f","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","rollup":"^0.41.4","expect.js":"~0.3.1","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.0.0_1533716395310_0.15665952431847807","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"ol-layerswitcher","version":"3.1.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.1.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"9b398eae20cf54b9a518e8e8bbc33e0ce8861e62","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.1.0.tgz","fileCount":22,"integrity":"sha512-lfUt/NlG38WrvIBT0lhk06O51hhhRdRfMBj1hF9DCifrAKEOc2SvM5Xkq4m9aTEY/0v/UL9Bh2tUFH8zlIKyIQ==","signatures":[{"sig":"MEYCIQCE9PgBtl9aqQDxL7RSl6+k6KdHHpmFPpZ7nm6bYBfNCgIhALnK7QvSwZ+WidWWda3izbBTPvil5uv0//CEWbI+QFC3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":81013,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbkXptCRA9TVsSAnZWagAA1hoP/1wfj16afCA54J8Chjv5\nGkVq4s2qg0SO5WCqFXTlcVrmaU5bVqQ8QV86Mes1UWGhACdoj2d1MuK/5BJQ\ny9YrfjblPjYoRXkJmUyNWQ2WzS5bvXo1CGK/PNqzQZ+/c259s3oT2EqLYFtC\n2LwGw40sB7X5n18ZF+prf2Xnkh8ahjhjBL8QyPTJ1KiVbEvR8Pe40cDbLIwB\n7I+2uBix4EH50qZKXncI38RwOV714lalXxruh120TgcGKSulVIrUuDnHhIuD\nkT2S6GLE9xD1+8k6KX1Co91pFIt3tFPrNkqO/dk5rVUohX7lf3qEmbmDztF6\nPZoCJOGzZmF/6doz28IfOo7vTICBEhH6CnsGOvqkobN947Jc9rxNrYlrIDJJ\nQm0UwRnEDG49cVqLyrzpRqprQznq7gEeOi51+N4qrwIM79QjaPrvuGFIikMs\nnkTkKjTWzdkc9xpev5fbpe/vZgTD7w1B18LzvuVhaxGIoZvQJY1dTSCVM/js\nNtJ4Qo0GApuMH8u8+kl0yf2z1VMARbsxphiv6fw3aKxl85lmB7ZMntL7ilDM\nXu681XT4JxFLAbTliC3Lk96SySHubfElowbPyHspwiDZF+tde8ALSzcvEWdv\nebZv2+Kh7rxl+7e8yNdviw49UcFxRJk1ij++zLuxnbxo3NqkZKaoXWriSDIy\nz9I8\r\n=gl0t\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"4ac95e35ea1d5b96331332c228b259804fb30944","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","rollup":"^0.41.4","expect.js":"~0.3.1","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.1.0_1536260717277_0.8881508217816709","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"ol-layerswitcher","version":"3.2.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.2.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"f4ef6427a997738d6adfe1004d98038600b22ef3","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.2.0.tgz","fileCount":24,"integrity":"sha512-c17P/cq5FAOPDcAHOwYdYB7MIGKlKe+ZVgj9a8rJZpDVh9fi+e6j51IJzI+UeOfEk+HPu/FOIlW+TOkIyXUXRw==","signatures":[{"sig":"MEUCIGxDCA946s9LgTN7qFniPk2matGdeBq0m3l94Vd8yqqBAiEAnHRkQ/0otnQV4ohlqqt1mZwVuGs+ZMDmcOWR2dHx+XQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":88700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb8HQcCRA9TVsSAnZWagAAWCwP/0nmm2Dy7mnblIszriEi\nx/6/fYYIpIb824tqctu39+9sivEs652w/SINRy5UP4S3zUplEmmEj6kCIlHD\nZYKDmXEEPSIUnCqpy8U9lSllhB2BaNNUpNj42e5TW7K3xbffttQvLNqtharS\nkfr6Bo9t0SXOGDuyEzRiP3KeeKekgj10Xv2eHPhU0QeBPQyT4m3cMsss5Yt/\nQKyLBqbpQnrDWoa3hwCDXJKN3UfRFdQUXzXSALafgMKJIsh+nISrmcCS7NjX\ny7rQhFxFXRtedB3HZg796kPD+y18dc2K0+Ti/I3rGEhcKDKmfSos1YInSeCf\nsep+mTiVTdxQA4M3ANrqrVmcvnDewLh3LPSvl1KlLsIY71sjS9iOHao7CcWw\nnL20+Cmvbs9kHZawKeq7T8Gqz+m9ukfN3e+u/8+hbcghvu2QGe//57UVi4nu\niIcBtaOXQ1eZAsWbZ5w1gcSKgxmxqP1/yltJpPuthy49DHa10C03wqS1kTl1\nOYI3f43oxgnRVLTnqVT6cvguQjMNVHW19Oryxmq2HZiyEavOnz0/SZgD7Xd3\nMF6RYOnrMHCBbMxv31/Mp44GdFMvN01OZFR1wssQmCV6OsoYFTyZ+1fGqbHz\nq7OAN/hsWjHZT8xxOEvcAWoWtELQI2LgN6ozRx91yCatwYyKDdzbrMlx/+W2\n8Or3\r\n=zR0J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"93b8c478cc2fe91736e9ea082469261e0de87c29","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":"~1.11.1","lodash":"~2.4.1","rollup":"^0.41.4","expect.js":"~0.3.1","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.2.0_1542485019319_0.21849091758361627","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"ol-layerswitcher","version":"3.3.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.3.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"51a86cbeaa029a43c8201b789334269f5a3a09f0","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.3.0.tgz","fileCount":29,"integrity":"sha512-/ZFwcsGyjneugZWEItxkwCULix5lpRVJ2d/y+Ydd4r01MTtwMZHPJQMV3Q6ChrKgKtVwjLU7vyBXziLnaIvWsA==","signatures":[{"sig":"MEUCIQDe4ILoTBvBvGy6fPNXSoFpXQ25x78wR1L5kvH0Rsb9DAIgPdLGqGNIqOvX7yDIGPobJ6T6F6WHefVdwQIpsRZhi1I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":127274,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHGu8CRA9TVsSAnZWagAA3lAP/A2KG2kNj4N2uAU2S3sW\nu/IAxeIqrJ2DvK9M5jcmz0hrFiDCFS/noiId86c0pmFBs9YpIyoR/sZaIPWf\n5xVsSmkIV0oqL9tZCKivsGPUsxbozA24pmx4yrfxShA8K6li4mTX8PxZxLfU\nciDHH7GVZr1EUMKMAqkuazDAzz11ydkyjxH5p3uNj7M4qmdUeEF/E/rs/J2g\nLcyG84HTgkxjkpm/RIyr+XGUXCnTIy7JXI4r5x06pMGs5V8tuzt9lE7dLAOA\nS9TtvNpc/TLMrsCH7+AHSOLcCONjucwbdIhH/fMQxtw2+phkjiUCzyy5YsuQ\nvtUnksAwt81ysfkH8HbKwBvhy9uWvZjOEjjlOddIjsxvVQFsT3kx9O5BSZNy\n2Zr4EOOemU7zI34QQfvWdTOzq8Etf7f1nHEoMS/T0hq4iI7HMqscRCxXkw5v\no+dAYkRuT55jmpKmKieBumqRBQ/vohEPHupe1kKt8GS/UmjaCAMmUFe5v5Rm\nTrkOb/jhMK4DI1q/wHmoHLvpuGhqa7VRGDdUS3hE/yna8OVi9vKUuba0ldNE\nNNNwuFZicYecU5PFlVUEaIcxG6zyLy+WRAg6AILGVP7S9KT4lwMTgTX6ss0B\nagYyG7d6mBVRIbTq+s5juplWPzHDW3Ci0Crosx0cQolcD1fFX7BIiA6ON8K4\nJtLh\r\n=9EnV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"a9d983c0e8e6286cf32779cc690ff1773f0d9bb5","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","expect.js":"~0.3.1","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.3.0_1562143675759_0.9322093570379586","host":"s3://npm-registry-packages"}},"3.4.0":{"name":"ol-layerswitcher","version":"3.4.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.4.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"41144354acb46f74f25a2db3a6536ffc4f62b9ba","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.4.0.tgz","fileCount":29,"integrity":"sha512-WhCf+UKyJuOIp9DehjhInATaiVK4ic89ZqxMlZ9vfEW1BsQ7Y7hDxoAlqgXtW9FQz2Ch558XIVMBRWfsB7CJ2w==","signatures":[{"sig":"MEQCIAfWlupOv4/ncNSQQ8QVzqu0ZDPO64n6+N66j4ys9DreAiAuUbEr/azVy0coeI5+VeAGOMAmh4caHDnGfoKSVCieUg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":131245,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdiJHfCRA9TVsSAnZWagAAZUcQAILSmsYGEbTMCNQjpT8n\nRK4v2JeGFp/YS6Jf+5faBwG1JFWKqns1lzQwGp3txione31OUn3iaWnuF9mu\n+NcFSbrFs+vgsixjlLmKXsUHMgxnlJRsoEOPmBfINvuv/KjOKh2MWs6fG8jD\n0aJZ3qgQ47EeCAxkBzkDeVtknsd57PnXcvlP4IHD3gNrkh5Yj1ak6Buiwh3Y\nKLHmMKGqQFwaioPuKPhc3GMWkaVrXKGTTe8Bt5o/Z3MQup5SB/hTmjup8h3x\no4CVpCJ6yhuCjs1lBhULZbiKd/o1ylpueHAPF7wkwpWUbH9jW5v6uiFU9qdx\nqIlwE+kHl+08mJUcuHb6a//hp+nCv4xFJSD0oMMe3AvqXews5FUFyzGJWTZI\nlZFkxZlshyieSxS37B6s0hozPJ0QJb34M10tA/GczCLU180GwPmsCLZGrQD5\nf1lg+0OeocIOjThAINvb/AJDoJ2pGEEAXc5xSHutC1Z75tddKKDAOydwX1Jp\n8iFy6B/cme7OaZfSogcmtHLxV/aXuOAznL2/KYXAYML5J976O7SV80na+sZt\nCb1A5YAU1pftDezeOGrU6ydylU6ndRh8yeX6BzGiuhlBsMe9lhkCy041fehr\nxUFDzW84OgpZ8SPQqRBL6iMRL2T/aF6fGJh2si2EHS1sQGQmVfO8K7SsQLoT\nislB\r\n=q3C8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"52105c4591ba8767249b1ce822b63b5e17d69bc8","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","expect.js":"~0.3.1","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.4.0_1569231327239_0.2606703463766493","host":"s3://npm-registry-packages"}},"3.5.0":{"name":"ol-layerswitcher","version":"3.5.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.5.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"303b48dc06bb25eb555bbe120f3606281e592ad6","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.5.0.tgz","fileCount":29,"integrity":"sha512-V5mVvw0s3XPHAi8HB9fQxreEwcwjUSsY+C5Ye6MtjXCi6peFbBg2HksxONQT+bdGwXQkXlmGdk8Dx315s+ob1g==","signatures":[{"sig":"MEYCIQCo1XTiBB1uKer3evEVbZxT2D4kfEPlG2VWB3vcQpdYYgIhAN7Z7ZWcbT3G1ZivYjlYA/QvI7xexT6bM6Fkszby3xUh","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":133201,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJLjFCRA9TVsSAnZWagAAsC8QAKMiH+CAEJKFXGFeV1mV\npDoRF1gUsnQCU0Jz1Ct/cqXY3nH1dtPxzyV0ijZua78I4QbUfJiZLaJHxN87\nkjbipwezoLqXokCdHjmU3rL2iGq2JShL78Oq7klql+MexPpHrNGkttFq+eRy\nbYjd3BGEgWeeVrgD8i3CIstnd3KKEHRxvVHQszzko1GhN2+jo+BJqkyPpC+1\nC1csdYRZMY4FcfwfRZi/o9aAx2OTDQbh6udNT7k2Ngt6Dlpxo8Xe+KjGZdgZ\nO09Nd4hCwsWaLcUCsuuKlOV/ZJe0JJnp5snzGbZjazMMF/SzoPHh2VRxJvdS\n99Zttquqb1JpG6zyOtAxWCtyBpA+DN7P2V9h7+NRnqmIQ2cFZrpqdMZ1Zcme\n5Bax6qFwp2RWPGOmfcmupcjh2BLbt1f0z89dCeq1Mn22W2pZ3OHZPCdxwNpe\nQxw+D7ANOCBj4mplcHf2DESoTcTcO67m4O9mMeOvFXqeFteKejuKu+WxUtpu\nmOiWuT5nlpJuBJkXmSV4uJGlbuHSbogqtWn0kU7d6Td7WPH2nP4LPxKhvESk\nzETcS0IG1wvUlTHuFewc9OMB1R59LW+hZj8g4QnUOGK8xRPQGbDm01q20wJ7\neWWjJPc/qdvLpcPYNHIlQ6mziAhjYxbhur0fQhY511k0WAWfmUkp5e6t4bFI\nHGQm\r\n=EK+u\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"5ddc8d2b90b2a9f924c74a1a40b85aa203c9483d","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"5.6.0","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"9.3.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","expect.js":"~0.3.1","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.5.0_1579464901136_0.3788991181551393","host":"s3://npm-registry-packages"}},"3.6.0":{"name":"ol-layerswitcher","version":"3.6.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.6.0","maintainers":[{"name":"francbartoli","email":"xbartolone@gmail.com"},{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"ad2baadc3e24646f0d78db16b0ba36648eb73f1c","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.6.0.tgz","fileCount":31,"integrity":"sha512-15Xt35GIvZRinZFnMy330X0ZHahlTdgi8hTKE08VpnrAvayrabWVztzy2oBIDRPDSNUD7onAvG8UXeopqaQ5hg==","signatures":[{"sig":"MEYCIQCRBg9cq/oy6MqMeUsdD8TxQRF6Hk/IOZJeZ5x8zjg4rAIhANtiAw05jjWN4MTtektzDNx+bCyUaVOvznd9Fv4jvoI3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":143941,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJekBJkCRA9TVsSAnZWagAARGQP/jpT63tJCk91RC6txFE6\noyFOFX4pU2wGzU54Pi80B+GtTmlNCcay8I7kyozQdVdeBeqLZTPRsSlgeUcD\n5YQOVxWzgQBeHNHU9iPogfqPsAeoAX+XJFS5KXKSQ2nXH24rO+UAgEikXQ4V\nWIk5Q/z4gX37eUlLBTCGnAzDyAH03NFZryu7S8t+FhmnbPMy/utkTv4edYIQ\nlzJI3st9zqAMk5tF+QN1KCe4WOgRVVm7UJwGdyynvYWxqo9ymeupRNhvaBXu\nB+CfRC7PNbGXE7kf7r8NM5XjMlERpwXaKdU+fEECkOhUnhHEs1dEVf4Z+REQ\nptJRxUso/xoIcyEVmKjbK0I3T237+sDWCrdP5kYxrJsmnOrIt/qjnTe87pKB\nAUs8RNq/sxl2jKNqe6idzavlaXJ43dh34WELNaDMyEtbS3aPkcT+w/ZBy1v5\nCKP5r9Qb79p/8o4XIei3FBFh2/2PxSlOX89m7fLp8n8N3zfNN8qiqPDr+EBV\nC4i0OjYZHDN/L215rME0qSa+Z3XYCV8U81k8D5mURazRj+bs0OGBPz8lJcg2\nwmDssigG2YIifiJBX7uTBNOgbjqalJf4G1Fyk41iEGDVa5SrsI4PdGXgfbZk\nKj7JFOJgLexIfDqCWuCaeKidnAnZzgSPNsrirjkzn/5+9dgOMbakgJtk6S6J\nAp0w\r\n=6Nm2\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"1c0a72800c625a1552816fd503a69ec01d8e448e","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --section=API","build":"rollup --config rollup.config.js","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","_hasShrinkwrap":false,"devDependencies":{"mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","expect.js":"~0.3.1","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.6.0_1586500195314_0.44175098597616125","host":"s3://npm-registry-packages"}},"3.7.0":{"name":"ol-layerswitcher","version":"3.7.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.7.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"505a1771a4a730f19f1b2abdd894f23c2ef6afb9","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.7.0.tgz","fileCount":38,"integrity":"sha512-CdT6nE5kobilMKa0mq59akMDCQKkIsKh/vbiWymuEwWDl/0wBAJx7KnKst2tcmExt4Fy/OxGxJVthqWVztY+bA==","signatures":[{"sig":"MEQCIGoG9KZ7UP3mEy6xMlRCYPIsFHU3r3emE8HIVkkjiaBKAiBNpxTRgd1VRtxIQJ12EoasFrWzhl5NEFmH9FRCsmSafQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":152399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfZLPuCRA9TVsSAnZWagAATHUP/jrgzavl+qzMPAT9pmqK\ngETNB2kkjCkh+i/ChKHwnaug0jzwDwhwo5a1nmtKaC0PI0Lc3fRAtuLvbKgh\n7gh5/YzzmFhGWNqGBv/7QxvTxXD2TGHzrSjWlzgnSDW/6aYAWVjFBJygbpZ1\nmnXONOnO6IgCm78u+/Aw+HpOh7GuGmxRvIIZZt6pbu1EpsHVN4zzry+StDQa\nXcKCa2acsVeifurXqRfZdc4gfC7l8JB6axKGwae4e1ytFkXPwgs9ZXLjl/zs\n3uOh+PToZmc+Pqgmdkd4bUclgyugGWnl+qwxKo+8KhjdUbFbtK5leu20iHNv\nfS0GZsd8ql6b6F5HOBIelegITdvKzqVCcEJcEsP5eWl/EMEBvnkS25dcGX1J\nI7JlIHcmYzb4jmL1MmWYhM+6fJDwcmG4FU5A0trgwt2qjOuHtKKAnhmfv1UI\npG9eBaFVG6adKMvBElm3PZT3cBRTrfappPPMqwCR4d2aSR80UrSark663ogK\nPGKmlT2R+lJOjwYhBeUO0gFPOk431bku+rLsTHrJEACOIe2UQunF0nDhPItC\nXCRkeD/cDITKQCTXjNfnWqI6fEps5V2CIe2YuM94qNX2Ehfc8sbf6HYx1JLD\no2/AixI+JvTQxVqEWn6Slw38zYmcWa37pbsJLA9X5LxWy4W3iCNaW29TNgA2\nTfxz\r\n=O3z9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","gitHead":"5d1bb4cb142d72ec68ed139eda11631018c18d6a","scripts":{"doc":"documentation readme src/ol-layerswitcher.js --quiet --section=API  && prettier --write README.md","lint":"eslint src examples && prettier --check .","build":"npm run lint && npm run doc && rollup --config rollup.config.js","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src examples && prettier --write ."},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","dependencies":{},"eslintConfig":{"rules":{"no-var":"off","prettier/prettier":["error",{"quoteProps":"consistent","singleQuote":true,"bracketSpacing":true}],"object-curly-spacing":"off"},"extends":["openlayers","plugin:prettier/recommended"],"globals":{"ol":"readonly"}},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","expect.js":"~0.3.1","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.7.0_1600435181746_0.31016437354046844","host":"s3://npm-registry-packages"}},"3.8.0-beta.0":{"name":"ol-layerswitcher","version":"3.8.0-beta.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.0-beta.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"4873d8abca1376b3a21ab16acef34d11e3a520b3","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.0-beta.0.tgz","fileCount":6,"integrity":"sha512-LfsV+DfMH2gZNLzGvjvbGX2q6oDT4mNj5f/N/KZEY2FObHdoxr3qKhhXhu6IH8QA0KIGBRT05YsgJfobbEmOuA==","signatures":[{"sig":"MEUCIFG72Dlb8fLJ5ie6/dedVpxPlE+cp9Irq1MjfjOR6gHqAiEArySUDgM7SYToEERz3gsSHcaspHuzRGRSOofPoJP7mMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59685,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmdCLCRA9TVsSAnZWagAAYq0P/AuZLuSTi1Fa4DQIR9XZ\n77gYNDLhH/esVQoDzm4c+IDUlCGmLlt4ebE7SVtUBF6HMLz2iO4Q/iRH97SV\nxuht8UleEY2L15TFTJJD6cGgYEqNnixeDeoJ4CbCAY3wmSfUlaMpioxNkm0B\nmMwgEfZ5S5loMZHzWdVLT7wqxQkjnShNcNsoYzq2NfzMuX5aS1Cv6UYr0KS/\n0cr37xr5mAFT6XQ57NVshbgKeaVBruGjgd8EgSgDuNX+nFVKbEvo1+n1i6JO\nKKnyEb0n2r+zxUr+pAL3RiA3Zv91NwyrdbPLrj/sQQsx+BZOUrGy4DtpFWOg\n71J1sNtWOQbZctvunGqmcqdYrCGAJUgVA7etyVOr6NhaC2xWBagOFony1zTI\nA1Xm1eIybuwid+smP84WsGIXtdGaT2tlbllHEShLdnfU06/T2fWf1w6B99kN\nZxqDlUlGBja5q0l3ho5L7W698mBcT48lo7w3uQ2PAvU7E+v8ujpiieygP5Vl\n1qwnXAOH5jRrYIztBUMr34TP6C75lmL3co/U742xkkepEll3GfXQF7XHZ0I1\n9E9yCPtJH6rAsOQ/o87ojo/8cXbED+lL8IHSBJ/ID07xr3IlemSIg5M4LCuF\nzb5AbMGfoZeaszoPEW2UyDgSviE+wprcs92/XFbZh4IwCFsCqFNtAm+gZ7eA\nAOre\r\n=wr1z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","readme":"# OpenLayers LayerSwitcher\n\nGrouped layer list control for an OpenLayer map.\n\nTo be shown in the layer switcher layers should have a `title` property; base\nlayers should have a `type` property set to `base`. Group layers\n(`ol.layer.Group`) can be used to visually group layers together; a group with\na `fold` property set to either `open` or `close` will be displayed with a\ntoggle. See [Examples](#examples) for usage.\n\nCompatible with OpenLayers version 3, 4, 5 and 6 (see note in [Install - Parcel,\nWebpack etc.](#parcel-webpack-etc) regarding installing the appropriate version\nof `ol-layerswitcher` for OpenLayers).\n\n## Examples\n\nThe examples demonstrate usage and can be viewed online thanks to [raw.githack.com](http://raw.githack.com/):\n\n- [Basic usage](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/layerswitcher.html)\n  - Create a layer switcher control. Each layer to be displayed in the layer switcher has a `title` property as does each Group; each base map layer has a `type: 'base'` property. See the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other layer/ group options including `combine` and `fold`.\n- [Add layer](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/addlayer.html)\n  - Add a layer to an existing layer group after the layer switcher has been added to the map.\n- [Scrolling](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/scroll.html)\n  - Makes the panel scroll vertically, the height of the layer switcher is controlled by setting the `max-height` style (see [examples/scroll.css](examples/scroll.css)) and it's position relative to the bottom of the map (see the `.layer-switcher.shown` selector in [src/ol-layerswitcher.css](src/ol-layerswitcher.css)).\n- [Side bar](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/sidebar.html)\n  - Demonstrates rendering the layer tree into a [Turbo87/sidebar-v2](https://github.com/Turbo87/sidebar-v2) pane. This uses the static method [`LayerSwitcher.renderPanel`](#renderpanel) which can be used to render the layer tree to any arbitrary HTML element.\n- [Collapse groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/collapse-groups.html)\n  - Shows the effect of setting the `fold` property of a Group to allow the group to be collapsed.\n- [Selectable Groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/select-groups.html)\n  - Demonstrates setting the [`groupSelectStyle`](#layerswitcher) option which determines if groups have a checkbox and how toggling a groups visibility affects it's children. The demo includes the ability to change the `groupSelectStyle` to easily see the effect of the different values.\n- [Bundling with `ol` package (Browserify, Parcel, Webpack...)](https://github.com/walkermatt/ol-layerswitcher-examples)\n  - To use the layer switcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Browserify, Parcel, Webpack etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n- [Activate panel with click](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/activation-mode-click.html)\n  - Shows setting `activationMode: 'click'` (default is `'mouseover'`). When using this mode the control's button persists in the panel - use `collapseLabel` to set its text (default is `collapseLabel: '»'`, see the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other examples). The close button is positioned to the left of the panel, to move it to the right add the following to your CSS:\n\n```CSS\n.layer-switcher.shown.layer-switcher-activation-mode-click {\npadding-right: 34px;\n}\n.layer-switcher.shown.layer-switcher-activation-mode-click > button {\nright: 0;\nborder-left: 0;\n}\n```\n\n- [Start with panel active](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/startactive-click.html)\n  - Example with the layer switcher starting open using `startActive: true`. Here shown in combination with \\`activationMode: 'click' which, while not required, is probably the most common scenario.\n\nThe source for all examples can be found in [examples](examples).\n\n## Changelog\n\nSee [CHANGELOG](./CHANGELOG.md) for details of changes in each release.\n\n## Install\n\n### Browser\n\n#### JS\n\nLoad `ol-layerswitcher.js` after OpenLayers. The layerswitcher control is available as `LayerSwitcher` or `ol.control.LayerSwitcher`.\n\n```HTML\n<script src=\"https://unpkg.com/ol-layerswitcher@3.8.0-beta.0\"></script>\n```\n\n#### CSS\n\n```HTML\n<link rel=\"stylesheet\" href=\"https://unpkg.com/ol-layerswitcher@3.8.0-beta.0/dist/ol-layerswitcher.css\" />\n```\n\n### Parcel, Webpack etc.\n\nNPM package: [ol-layerswitcher](https://www.npmjs.com/package/ol-layerswitcher).\n\n#### JS\n\nInstall the package via `npm`\n\n    npm install ol-layerswitcher --save\n\n:warning: If you're using the [`ol` package](https://www.npmjs.com/package/ol) prior to v5 you'll need to install `ol-layerswitcher@v2.0.0`.\n\n#### CSS\n\nThe CSS file `ol-layerswitcher.css` can be found in `./node_modules/ol-layerswitcher/src`\n\nTo use the layerswitcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Parcel, Webpack etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\n## Tests\n\nTo run the tests you'll need to install the dependencies via `npm`. In the root of the repository run:\n\n    npm install\n\nThen run the tests by opening [test/index.html](test/index.html) in a browser.\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n- [LayerSwitcher](#layerswitcher)\n  - [setMap](#setmap)\n  - [showPanel](#showpanel)\n  - [hidePanel](#hidepanel)\n  - [renderPanel](#renderpanel)\n  - [renderPanel](#renderpanel-1)\n  - [isBaseGroup](#isbasegroup)\n  - [getGroupsAndLayers](#getgroupsandlayers)\n  - [forEachRecursive](#foreachrecursive)\n  - [uuid](#uuid)\n\n### LayerSwitcher\n\n**Extends ol/control/Control~Control**\n\nOpenLayers Layer Switcher Control.\nSee [the examples](./examples) for usage.\n\n**Parameters**\n\n- `opt_options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Control options, extends ol/control/Control~Control#options adding:\n  - `opt_options.startActive` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Whether panel is open when created. Defaults to false.\n  - `opt_options.activationMode` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Event to use on the button to collapse or expand the panel.\n    `'mouseover'` (default) the layerswitcher panel stays expanded while button or panel are hovered.\n    `'click'` a click on the button toggles the layerswitcher visibility.\n  - `opt_options.collapseLabel` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Text label to use for the expanded layerswitcher button. E.g.:\n    `'»'` (default) or `'\\u00BB'`, `'-'` or `'\\u2212'`. Not visible if activation mode is `'mouseover'`\n  - `opt_options.label` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** Text label to use for the collapsed layerswitcher button. E.g.:\n    `''` (default), `'«'` or `'\\u00AB'`, `'+'`.\n  - `opt_options.tipLabel` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the button tooltip.\n  - `opt_options.collapseTipLabel` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** the button tooltip when the panel is open.\n  - `opt_options.groupSelectStyle` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** either `'none'` - groups don't get a checkbox,\n    `'children'` (default) groups have a checkbox and affect child visibility or\n    `'group'` groups have a checkbox but do not alter child visibility (like QGIS).\n  - `opt_options.reverse` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Reverse the layer order. Defaults to true.\n\n#### setMap\n\nSet the map instance the control is associated with.\n\n**Parameters**\n\n- `map` **ol/Map~Map** The map instance.\n\n#### showPanel\n\nShow the layer panel.\n\n#### hidePanel\n\nHide the layer panel.\n\n#### renderPanel\n\nRe-draw the layer panel to represent the current state of the layers.\n\n#### renderPanel\n\n**Static** Re-draw the layer panel to represent the current state of the layers.\n\n**Parameters**\n\n- `map` **ol/Map~Map** The OpenLayers Map instance to render layers for\n- `panel` **[Element](https://developer.mozilla.org/docs/Web/API/Element)** The DOM Element into which the layer tree will be rendered\n- `options` **[Object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Options for panel, group, and layers\n  - `options.groupSelectStyle` **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** either `'none'` - groups don't get a checkbox,\n    `'children'` (default) groups have a checkbox and affect child visibility or\n    `'group'` groups have a checkbox but do not alter child visibility (like QGIS).\n  - `options.reverse` **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Reverse the layer order. Defaults to true.\n\n#### isBaseGroup\n\n**Static** Determine if a given layer group contains base layers\n\n**Parameters**\n\n- `grp` **ol/layer/Group~GroupLayer** GroupLayer to test\n\nReturns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**\n\n#### getGroupsAndLayers\n\n**Static** Get an Array of all layers and groups displayed by the LayerSwitcher (has a `'title'` property)\ncontained by the specified map or layer group; optionally filtering via `filterFn`\n\n**Parameters**\n\n- `grp` **(ol/Map~Map | ol/layer/Group~GroupLayer)** The map or layer group for which layers are found.\n- `filterFn` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Optional function used to filter the returned layers\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;ol/layer/Base~BaseLayer>**\n\n#### forEachRecursive\n\n**Static** Call the supplied function for each layer in the passed layer group\nrecursing nested groups.\n\n**Parameters**\n\n- `lyr` **ol/layer/Group~LayerGroup** The layer group to start iterating from.\n- `fn` **[Function](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function)** Callback which will be called for each `ol/layer/Base~BaseLayer`\n  found under `lyr`. The signature for `fn` is the same as `ol/Collection~Collection#forEach`\n\n#### uuid\n\n**Static** Generate a UUID\nAdapted from <http://stackoverflow.com/a/2117523/526860>\n\nReturns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** UUID\n\n## License\n\nMIT (c) Matt Walker.\n\n## Also see\n\nIf you find the layer switcher useful you might also like the\n[ol-popup](https://github.com/walkermatt/ol-popup).\n\n## Publishing\n\n    npm run build\n    # Open ./tests/ in browser\n    # Open examples and manually test\n    # Determine new version number (check current with `git tag --list`, check npm and GitHub)\n    # Update version number in `package.json`, `bower.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit bower.json package.json CHANGELOG.md README.md\n    git tag vX.Y.Z\n    git push origin master --tags\n    npm publish\n","gitHead":"95a12f3a4ffedc1e653c0820f67c4eab18dee283","scripts":{"doc":"documentation readme tmp/ol-layerswitcher.js --quiet  --access=public --access=undefined --section=API  && prettier --write README.md","lint":"eslint src examples && prettier --check .","build":"tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src examples && prettier --write ."},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"no-var":"off","prettier/prettier":["error",{"quoteProps":"consistent","singleQuote":true,"bracketSpacing":true}],"object-curly-spacing":"off"},"extends":["openlayers","plugin:prettier/recommended"],"globals":{"ol":"readonly"}},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^5.3.5","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.0-beta.0_1603915915430_0.3055335081574224","host":"s3://npm-registry-packages"}},"3.8.0-beta.1":{"name":"ol-layerswitcher","version":"3.8.0-beta.1","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.0-beta.1","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"0c56283ead5975b4d7fb8d0d64507d5a31454e9c","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.0-beta.1.tgz","fileCount":6,"integrity":"sha512-xQQNeCiP7JVUysvVLqmA63CxKPJq+cDWahkJRQFM4b0iSi4noqTj8fW1jP7clr67MKlrtsuB4yvMd9pSlUXtow==","signatures":[{"sig":"MEQCIBMvc2JuNt060Ng817M5FUhxnyp46WjoOkHT1zuTMz8VAiBzImE/zGb2K8CYr2I9oF6s6mMNrin5PGYSX097VHazmw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65570,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfqQ5aCRA9TVsSAnZWagAAMaQP/2hIjyrvUW3ddv8sc/P7\nCQmeBZM9kVssrJ6Lm+QdlPhytozoHirte2yLv6/LfypHFegEUny9TCFqwf1M\nVhnfQ4mhgycZpo2w3qrqJsRX99HY7VsqzTuVFDwRFoKwE5hy58J1hGVLulCD\n83cw8KzBOejJQG0jtRo2bNc/LiMOXQo/AMq5ivcQbVZwJtc6+haYGQdrjQWj\nL+Pxu/qLxrGa9wa8zQwReTLOJYE+LoEsSKhfiLb/67ybMq7gZTGgm2oANFVq\nqAc9FSxl5XT9RXia7VhkRRtkdFvoXopdpRew41gm6GmqvFouXg7Nfx7zvpBZ\nkJtwCGqXaZWMqEwZuUGSu0JRwygDlqdG6Fcb2n+Xwe6RGDks2/KtNl3+zOYA\nnhfEwfmx9XkhY31FFmzwqqPvh1DOQv7OKUyLBfMHGCtpa31RE31Z4DKE/lid\n2rcF+byYe0d0zaIJ07b+voIGv7vlX+Ge/N5iQL4Tqz0F+OhQKS6VMb7RXE2A\ng2zwZHFX25l08OYjcSFvik4n/LZOTibBEX74yiaXMcuuej0h863RePDvxdRt\nG0hhPQaJ+U1T+QD1eL8vGrWFa1/Kd/VUIpvgSfy6nAcr1elmV4iQu9hOoWiH\niEWgRz401gzbg7DLTzmgnfipMKOwNSnfmFmNvq+g4D4yqK7sfDEdO+28yqE8\nMr4p\r\n=FIQe\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","readme":"# OpenLayers LayerSwitcher\n\nGrouped layer list control for an OpenLayer map.\n\nTo be shown in the layer switcher layers should have a `title` property; base\nlayers should have a `type` property set to `base`. Group layers\n(`ol/layer/Group~LayerGroup`) can be used to visually group layers together; a group with\na `fold` property set to either `open` or `close` will be displayed with a\ntoggle. See [API documentation](#api) and [examples](#examples) for usage.\n\nCompatible with OpenLayers version 3, 4, 5 and 6 (see note in [Install - Parcel,\nWebpack etc.](#parcel-webpack-etc) regarding installing the appropriate version\nof `ol-layerswitcher` for OpenLayers).\n\n## Examples\n\nThe examples demonstrate usage and can be viewed online thanks to [raw.githack.com](http://raw.githack.com/):\n\n- [Basic usage](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/layerswitcher.html)\n  - Create a layer switcher control. Each layer to be displayed in the layer switcher has a `title` property as does each Group; each base map layer has a `type: 'base'` property. See the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other layer/ group options including `combine` and `fold`.\n- [Add layer](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/addlayer.html)\n  - Add a layer to an existing layer group after the layer switcher has been added to the map.\n- [Scrolling](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/scroll.html)\n  - Makes the panel scroll vertically, the height of the layer switcher is controlled by setting the `max-height` style (see [examples/scroll.css](examples/scroll.css)) and it's position relative to the bottom of the map (see the `.layer-switcher.shown` selector in [src/ol-layerswitcher.css](src/ol-layerswitcher.css)).\n- [Side bar](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/sidebar.html)\n  - Demonstrates rendering the layer tree into a [Turbo87/sidebar-v2](https://github.com/Turbo87/sidebar-v2) pane. This uses the static method [`LayerSwitcher.renderPanel`](#renderpanel) which can be used to render the layer tree to any arbitrary HTML element.\n- [Collapse groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/collapse-groups.html)\n  - Shows the effect of setting the `fold` property of a Group to allow the group to be collapsed.\n- [Selectable Groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/select-groups.html)\n  - Demonstrates setting the [`groupSelectStyle`](#layerswitcher) option which determines if groups have a checkbox and how toggling a groups visibility affects it's children. The demo includes the ability to change the `groupSelectStyle` to easily see the effect of the different values.\n- [Bundling with `ol` package (Browserify, Parcel, Webpack...)](https://github.com/walkermatt/ol-layerswitcher-examples)\n- [Activate panel with click](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/activation-mode-click.html)\n  - Shows setting `activationMode: 'click'` (default is `'mouseover'`). When using this mode the control's button persists in the panel - use `collapseLabel` to set its text (default is `collapseLabel: '»'`, see the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other examples). The close button is positioned to the left of the panel, to move it to the right add the following to your CSS:\n\n```CSS\n.layer-switcher.shown.layer-switcher-activation-mode-click {\n  padding-right: 34px;\n}\n.layer-switcher.shown.layer-switcher-activation-mode-click > button {\n  right: 0;\n  border-left: 0;\n}\n```\n\n- [Start with panel active](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/startactive-click.html)\n  - Example with the layer switcher starting open using `startActive: true`. Here shown in combination with \\`activationMode: 'click' which, while not required, is probably the most common scenario.\n- To use the layer switcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Browserify, Parcel, Webpack, TypeScript etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\nThe source for all examples can be found in [examples](examples).\n\n## Changelog\n\nSee [CHANGELOG](./CHANGELOG.md) for details of changes in each release.\n\n## Install\n\n### Browser\n\n#### JS\n\nLoad `ol-layerswitcher.js` after OpenLayers. The layerswitcher control is available as `LayerSwitcher` or `ol.control.LayerSwitcher`.\n\n```HTML\n<script src=\"https://unpkg.com/ol-layerswitcher@3.8.0-beta.1\"></script>\n```\n\n#### CSS\n\n```HTML\n<link rel=\"stylesheet\" href=\"https://unpkg.com/ol-layerswitcher@3.8.0-beta.1/dist/ol-layerswitcher.css\" />\n```\n\n### Parcel, Rollup, Webpack, TypeScript etc.\n\nNPM package: [ol-layerswitcher](https://www.npmjs.com/package/ol-layerswitcher).\n\n#### JS\n\nInstall the package via `npm`\n\n    npm install ol-layerswitcher --save\n\n:warning: If you're using the [`ol` package](https://www.npmjs.com/package/ol) prior to v5 you'll need to install `ol-layerswitcher@v2.0.0`.\n\n#### CSS\n\nThe CSS file `ol-layerswitcher.css` can be found in `./node_modules/ol-layerswitcher/dist`\n\nTo use the layerswitcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Parcel, Webpack etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\n#### TypeScript type definition\n\nTypeScript types are shipped with the project in the `dist` directory and should be automatically used in a TypeScript project. Interfaces are provided for LayerSwitcher Options as well as extend interfaces for BaseLayer and LayerGroup Options that include the LayerSwitcher specific properties such as `title`, `combine` etc.\n\nThese interfaces can be imported into your project and used to cast object literals passed to layer or group constructors:\n\n```typescript\nimport 'ol/ol.css';\nimport 'ol-layerswitcher/dist/ol-layerswitcher.css';\n\nimport Map from 'ol/Map';\nimport View from 'ol/View';\nimport LayerGroup from 'ol/layer/Group';\nimport LayerTile from 'ol/layer/Tile';\nimport SourceOSM from 'ol/source/OSM';\nimport SourceStamen from 'ol/source/Stamen';\n\nimport LayerSwitcher from 'ol-layerswitcher';\nimport { BaseLayerOptions, GroupLayerOptions } from 'ol-layerswitcher';\n\nconst osm = new LayerTile({\n  title: 'OSM',\n  type: 'base',\n  visible: true,\n  source: new SourceOSM()\n} as BaseLayerOptions);\n\nconst watercolor = new LayerTile({\n  title: 'Water color',\n  type: 'base',\n  visible: false,\n  source: new SourceStamen({\n    layer: 'watercolor'\n  })\n} as BaseLayerOptions);\n\nconst baseMaps = new LayerGroup({\n  title: 'Base maps',\n  layers: [osm, watercolor]\n} as GroupLayerOptions);\n\nconst map = new Map({\n  target: 'map',\n  layers: [baseMaps]\n});\n\nconst layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\nSee [BaseLayerOptions](#baselayeroptions) and [GroupLayerOptions](#grouplayeroptions).\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n- [LayerSwitcher](#layerswitcher)\n  - [Parameters](#parameters)\n  - [setMap](#setmap)\n    - [Parameters](#parameters-1)\n  - [showPanel](#showpanel)\n  - [hidePanel](#hidepanel)\n  - [renderPanel](#renderpanel)\n  - [renderPanel](#renderpanel-1)\n    - [Parameters](#parameters-2)\n  - [isBaseGroup](#isbasegroup)\n    - [Parameters](#parameters-3)\n  - [getGroupsAndLayers](#getgroupsandlayers)\n    - [Parameters](#parameters-4)\n  - [forEachRecursive](#foreachrecursive)\n    - [Parameters](#parameters-5)\n  - [uuid](#uuid)\n- [Options](#options)\n  - [activationMode](#activationmode)\n  - [startActive](#startactive)\n  - [label](#label)\n  - [collapseLabel](#collapselabel)\n  - [tipLabel](#tiplabel)\n  - [collapseTipLabel](#collapsetiplabel)\n- [RenderOptions](#renderoptions)\n  - [groupSelectStyle](#groupselectstyle)\n  - [reverse](#reverse)\n- [GroupSelectStyle](#groupselectstyle-1)\n- [BaseLayerOptions](#baselayeroptions)\n  - [title](#title)\n  - [type](#type)\n- [GroupLayerOptions](#grouplayeroptions)\n  - [combine](#combine)\n  - [fold](#fold)\n\n### LayerSwitcher\n\n**Extends ol/control/Control~Control**\n\nOpenLayers Layer Switcher Control, displays a list of layers and groups\nassociated with a map which have a `title` property.\n\nTo be shown in the Layer Switcher panel layers should have a `title` property;\nbase map layers should have a `type` property set to `base`. Group layers\n(LayerGroup) can be used to visually group layers together; a group\nwith a `fold` property set to either `'open'` or `'close'` will be displayed\nwith a toggle.\n\nLayer and group properties can either be set by adding extra properties\nto their options when they are created or via their set method.\n\nSpecify a `title` for a Layer by adding a `title` property to it's options object:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  // Specify a title property which will be displayed by the layer switcher\n  title: 'OpenStreetMap',\n  visible: true,\n  source: new ol.source.OSM()\n});\n```\n\nAlternatively the properties can be set via the `set` method after a layer has been created:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  visible: true,\n  source: new ol.source.OSM()\n});\n// Specify a title property which will be displayed by the layer switcher\nlyr.set('title', 'OpenStreetMap');\n```\n\nTo create a LayerSwitcher and add it to a map, create a new instance then pass it to the map's [`addControl` method](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html#addControl).\n\n```javascript\nvar layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\n#### Parameters\n\n- `opt_options` **[Options](#options)?** LayerSwitcher options, see [LayerSwitcher Options](#options) and [RenderOptions](#renderoptions) which LayerSwitcher `Options` extends for more details.\n\n#### setMap\n\nSet the map instance the control is associated with.\n\n##### Parameters\n\n- `map` **[PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html)** The map instance.\n\nReturns **void**\n\n#### showPanel\n\nShow the layer panel.\n\nReturns **void**\n\n#### hidePanel\n\nHide the layer panel.\n\nReturns **void**\n\n#### renderPanel\n\nRe-draw the layer panel to represent the current state of the layers.\n\nReturns **void**\n\n#### renderPanel\n\n**_[static]_** - Re-draw the layer panel to represent the current state of the layers.\n\n##### Parameters\n\n- `map` **[PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html)** The OpenLayers Map instance to render layers for\n- `panel` **[HTMLElement](https://developer.mozilla.org/docs/Web/HTML/Element)** The DOM Element into which the layer tree will be rendered\n- `options` **[RenderOptions](#renderoptions)** Options for panel, group, and layers\n\nReturns **void**\n\n#### isBaseGroup\n\n**_[static]_** - Determine if a given layer group contains base layers\n\n##### Parameters\n\n- `grp` **[LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html)** Group to test\n\nReturns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**\n\n#### getGroupsAndLayers\n\n**_[static]_** - Get an Array of all layers and groups displayed by the LayerSwitcher (has a `'title'` property)\ncontained by the specified map or layer group; optionally filtering via `filterFn`\n\n##### Parameters\n\n- `grp` **([PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The map or layer group for which layers are found.\n- `filterFn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Optional function used to filter the returned layers\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>**\n\n#### forEachRecursive\n\n**_[static]_** - Call the supplied function for each layer in the passed layer group\nrecursing nested groups.\n\n##### Parameters\n\n- `lyr` **([PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The layer group to start iterating from.\n- `fn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): void** Callback which will be called for each layer\n  found under `lyr`.\n\nReturns **void**\n\n#### uuid\n\n**_[static]_** - Generate a UUID\nAdapted from <http://stackoverflow.com/a/2117523/526860>\n\nReturns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** UUID\n\n### Options\n\n**Extends ControlOptions, RenderOptions**\n\n**_[interface]_** - LayerSwitcher Options specified when creating a LayerSwitcher\ninstance, extends [RenderOptions](#renderoptions) and\n[Control Options](https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html#Control).\n\nDefault values:\n\n```javascript\n{\n  activationMode: 'mouseover',\n  startActive: false,\n  label: ''\n  collapseLabel: '\\u00BB',\n  tipLabel: 'Legend',\n  collapseTipLabel: 'Collapse legend',\n  groupSelectStyle: 'children',\n  reverse: false\n}\n```\n\n#### activationMode\n\nEvent to use on the button to collapse or expand the panel. Defaults to\n`\"mouseover\"`.\n\nType: (`\"mouseover\"` \\| `\"click\"`)\n\n#### startActive\n\nWhether panel is open when created. Defaults to `false`.\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### label\n\nText label to use for the button that opens the panel. E.g.: `''` (default), `'«'` or `'\\u00AB'`, `'+'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseLabel\n\nText label to use for the button that closes the panel. E.g.: `'»'` (default) or `'\\u00BB'`, `'-'` or `'\\u2212'`. Only used when `activationMode: 'mouseover'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### tipLabel\n\nThe button tooltip when the panel is closed.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseTipLabel\n\nThe button tooltip when the panel is open.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n### RenderOptions\n\n**_[interface]_** - LayerSwitcher Render Options as passed to [LayerSwitcher\nconstructor](#layerswitcher) as part of [Options](#options) and [static\nLayerSwitcher.renderPanel](#renderpanel)\n\n#### groupSelectStyle\n\nHow layers and groups behave when a given layer's visibility is set. See [GroupSelectStyle type for possible values](#groupselectstyle).\n\nType: [GroupSelectStyle](#groupselectstyle)\n\n#### reverse\n\nShould the order of layers in the panel be reversed?\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n### GroupSelectStyle\n\n**_[type]_** - How layers and groups behave when a given layer's visibility is set, either:\n\n- `'none'` - groups don't get a checkbox,\n- `'children'` (default) groups have a checkbox and affect child visibility or\n- `'group'` groups have a checkbox but do not alter child visibility (like QGIS).\n\nType: (`\"none\"` \\| `\"children\"` \\| `\"group\"`)\n\n### BaseLayerOptions\n\n**_[interface]_** - Extended BaseLayer Options interface adding properties\nused by the LayerSwitcher\n\n#### title\n\nTitle of the layer displayed in the LayerSwitcher panel\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### type\n\nType of the layer, a layer of `type: 'base'` is treated as a base map\nlayer by the LayerSwitcher and is displayed with a radio button\n\nType: `\"base\"`\n\n### GroupLayerOptions\n\n**_[interface]_** - Extended LayerGroup Options interface adding\nproperties used by the LayerSwitcher.\n\n#### combine\n\nWhen `true` child layers are not shown in the Layer Switcher panel\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### fold\n\nFold state of the group, if set then the group will be displayed with a\nbutton to allow the user to show/ hide the child layers.\n\nType: (`\"open\"` \\| `\"close\"`)\n\n## Tests\n\nTo run the tests you'll need to install the dependencies via `npm`. In the root of the repository run:\n\n    npm install\n\nThen run the tests by opening [test/index.html](test/index.html) in a browser.\n\n## License\n\nMIT (c) Matt Walker.\n\n## Also see\n\nIf you find the layer switcher useful you might also like the\n[ol-popup](https://github.com/walkermatt/ol-popup).\n\n## Publishing\n\n    npm run build\n    # Open ./tests/ in browser\n    # Open examples and manually test\n    # Determine new version number (check current with `git tag --list`, check npm and GitHub)\n    # Update version number in `package.json`, `bower.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit bower.json package.json CHANGELOG.md README.md\n    git tag vX.Y.Z\n    git push origin master --tags\n    npm publish\n\n### Beta release\n\n    npm run build\n    # Tests/ examples\n    # Beta version should be X.Y.Z-beta.N\n    # Update version number in `package.json`, `bower.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit bower.json package.json CHANGELOG.md README.md\n    git tag vX.Y.Z-beta.N\n    git push --tags\n    npm publish --tag beta\n    # To list all version on npm\n    npm show ol-layerswitcher versions --json\n","gitHead":"de56cdd60a6ea88a5bb75c6af7b6fa82023fdf35","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.0-beta.1_1604914777929_0.9055141150105406","host":"s3://npm-registry-packages"}},"3.8.0":{"name":"ol-layerswitcher","version":"3.8.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"2aeec94ef883fde71086ead5987fae9985428cba","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.0.tgz","fileCount":6,"integrity":"sha512-bC+9JQLD2ZCg2lPWhMQWSUrbYAVsda2ngwuaEFnQKWBazwzLAEsA5VnfZM0JLiX+QS8bAhy1QH0rMofxATxJig==","signatures":[{"sig":"MEYCIQDng2djIzsTG6LEHFbUob8HKMm0Z/U5NpBKpBAj80rBRAIhAPIg9F8TDfn49ztDfC2Wtr/SSL6gzLa1Toqc/qZpvUP8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":66776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuMU4CRA9TVsSAnZWagAAO0sP/3g0auljypiHF2kF3SvI\nzLMCtqyoqN9PGm9lUv3oYMdWy2gYcX8zYcSa1ZGc5HGW0gtNJH8z7wEqxM+L\n59VZoc51wVaHpggbXMTgEfRc7uODENtQbkJgiNlhwfGxeg593alIdLV29xKM\nVWlN6k7SZglqP4Nfo+LxEOkhWwqyfk8XmR72qS7X41gCnKoBKIQL0PqNEeIR\nwNsytW+xi0C2qwjur4V+3iXZMcXiDpwMTotAMswMRo+nzagXiWbHJ182GYuH\nWyTz16fySB9ouJcLThxqchaEjDfymLP+ZpYauK6Mt6JTiWYuYsJ++6et/4b5\nXQF4Kh22SGTdFGmxBSurGpT6BeDZAvgyCEP2wIBedd+M0bq55KjJuZmCT86u\nOJCmFqrP0n4ou+YLT5aKvdNhYbBBIGxCxv2Kn2Ww7C5bjjU/qZmXoDUIDIJd\nSHkLF8kx1rhmJwTnr1MEuTMZSX/oxpYrwUOBCpLKYdOKv82gqCN8BaW07o5f\n2eqmqBPa1ZcrSgF4twnn5ei9hYZi1Yr3hcHhR7tN4GUX39qsOtpOmDZ48IRr\nZHdCg1xesbPDY9eedY62nNQe0P5iNBSdJGYgxaJ+nT7cbHrMgt8zG++fI2HV\nzUHtSI2eYvhM/c1QS98hgd4PsW2Yf9S16I4aWYYUzDsA54TDc3K8vp1gOQcZ\nDkWt\r\n=X92J\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"6fd02ee576383c63dd6123375feac58d5f760bc7","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.0_1605944631823_0.13419301973106945","host":"s3://npm-registry-packages"}},"3.8.1":{"name":"ol-layerswitcher","version":"3.8.1","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.1","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"cba6224aaafb061486e2bdcf1cebfb710d0b9af1","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.1.tgz","fileCount":6,"integrity":"sha512-X6keVm1Nli1Yg4Xgn8/q+uPgjxBbzkhtOv0NAGIUrVlAYKEusCM0ZK4TzpHlG3+zc8GDb7oubwP2Lg1jAt/r5g==","signatures":[{"sig":"MEUCIQCfBTuAJoo/CFNggx+Z77iut+73ok+4lGwzMuBitseOCAIgVpP1HJuryNHNrM3MAp1rJOKzYqp7KDjnXESTIXIEUro=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":67155,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvVU8CRA9TVsSAnZWagAAgO8P/3jOG/16ZQ2BtxgjGUrh\ns9zV+W+KP6bv103h1DKKgP42O2kBVI/ZcTM/bApIg5E+skMZXIw5F25NC10w\niWqp0osH5Bbxeh7bbgSILtYAu5/kGORTUVVjCDKdNpsDranGcMu18qtPz9iS\n45/DR8n2vfP91gPrwy/grId65A+a4cC/CE9evEic5dFXf7KZXbD0JIXt+Udv\nEd/bHxBqM1BXbuFFM+j5YeMst85qqDk3JC8E1QJZ1RGvl/mgctFBjRNYGef7\ngKu5TliW/cKoJSN35gk9RsRQeBQASHqu6hZdmS2pW/nHBmytP8gDD4T2yTA9\nwkoIL5INL8NOeVi7FC8KkMHXHeNBNM8RY6qAqrep9Qgh8VsXnNaCowviqndt\nISsi+WTZC9UFOLXkHjYtTFWjZUTTzzrDmMF4osGQkNTz8tEOrg9e3vqBsLmr\nC6R48OdXaHW3FzKjwTV1TGFTzvTCRc6zTPVbHS+qN7BBAqY5Hrd7+AiT69TM\nOZXBUZmm50qA9gI1U1yN49C+kakdG7RQ2LFM+9AcJIiH1H05560+IukOcIPJ\n5B3SSo2yhsdKkwxhDA0azs6yLaMDhGQ6XuGHW6hp0SM7UDWT8Ot02yspz/OK\n98poxcowa5nXM5boTHQcP39iytN1PkBx0AhOgVCQr61V1YZNip/4vgOBFqUU\nFZbC\r\n=CTtD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"ae9e8f843bc5052d39faa71628a358bfc8a20cd2","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.1_1606243643852_0.49226231642302176","host":"s3://npm-registry-packages"}},"3.8.2":{"name":"ol-layerswitcher","version":"3.8.2","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.2","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"ae6fae9c8ef0ef0f8582dce9492bca618b421cba","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.2.tgz","fileCount":7,"integrity":"sha512-ztyq69qIgUBgNW8xt269dWLIGOVHYp/f61EV3eQWJO8NexAVPgrGswqTqqwD6axZnqOSFYgqzX7Ja4gQlkih9Q==","signatures":[{"sig":"MEQCIFxUZhJWAnHZTGkaTrB4zmr3W+82L4EwtrfwnvptnMjIAiAjjwva9hnqsXpS3h8W9MD94QAP8eYRyxi+yII2LmJOLw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72454,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0fKXCRA9TVsSAnZWagAAODkP/1hjYoRSSPHoYwWlPk+p\nDSWL0tp4MUdxPIhH5arPgAa51394cvBofup0TXx3/Eh3d9tBXbGFnkXaGmPr\nD/JYYh7NwjAJamYfevQuov2wmhUAIAV7HFAvCyAGimWQPB3P9opvq10jAl/A\n7cu33tqkFhVI8TZR6fQyPpGU2HmETPRvjSSTHsksakWxKc0qO63h7MOeDOC2\n9y0K9vKvp+AA3wsH3WhyERp+DQ4G7AKhy4MCGIFT1RoSTnMW0a3jx9xb3GQp\nLogbj2VCYdMvCaKyy5+xbfdgkQ06Qm4qVae83FDOvRpr6iHBmtZ4XQutiNZl\nHt0ROeBcvrVPFB/0NkgbWMjMt9LO5rzm8UXPbrrVX0hn/z96wljDsSMo9701\n7lo+GphdzwPP8N2MKMOGVyLATUkHZTwjNQ171+pISYq69LVQ6jnv4cmmnll5\nKSe83FPWLWBfJe6V3eWEF7yI9/CVdZRTzEildvyniffiV9tNQ+EjX31HsJ/b\nP/2ckvACv4QNoUEPBMqyKK6qdapXGiNwkAKuPF+rplGHBrH4eG3jvNmvojL+\nWXieT7tCrFJZ0QqC5JvZR/ZV1p2c+VZr0eANGLQ2/q1c0Xb6ZbtaXBoBbMWN\ndY9crfQy0YiHpxvGQi+owgq+gCO5+UHF4gcwiwoBIa7dGJk/wzZV8w0PWMKf\naMzV\r\n=bEkV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"dcffa20a716bdbb772d35cb70220c50044b12a87","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.2_1607594646512_0.4768896978626287","host":"s3://npm-registry-packages"}},"3.8.3":{"name":"ol-layerswitcher","version":"3.8.3","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@3.8.3","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"c27c7a7152849a968941a6b7aae978fda8bdfea3","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-3.8.3.tgz","fileCount":7,"integrity":"sha512-UwUhalf/sGXjz3rvr0EjwsaUVlJAhyJCfcIPciKk1QdNbMKq/2ZXNKGafOjwP2eDxiqhkvnhpIrDGD8+gQ19Cg==","signatures":[{"sig":"MEUCIB7dr9vNYYrD2nzIB7Zu+Uu62RNUVZLRbwtm+CO8uUI8AiEAiug00eBIuyniTinlTZ1odxBH4jbskpfnPsxIQFNr7fE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72709,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf1z5OCRA9TVsSAnZWagAAqIkQAJU+nybxniuGY8jOUucB\nWxgBdPZY7U1+xWgoeCg/CCU9wFHGKzpvvU+o9hxDSH0jb0dW0MTZ3lacGgxg\nD3nA6ySV1t8/C/BBD2TADtlObbFEM3Sw6GRiFgWkgRdP5cJnKnp1RzPfL+nO\nEwTm+Ji5i49NUR/97Bsgrozop9FaX2xhECYRjhx16YHA+IUUcWonGxywC8Nh\nAgvSTJ0sMh/yqNJ1e/BSh39pxvRKcoH6s8r7apEfC8J9eWoofuPTUGYSyLih\nwr+ZRkT3QSLpePGw8fNnUe5ItxgeV+kFrkO47L7bd/a6urVulleDl89Lz4p6\n20JPKbpk+RPJvESGSrZu17czmcZ5rX2YUxUV/QgnZFkJZCAE3c88oFN6IQqq\ndbw25FiAyIeeeARDkzkS9I4lE5x+4lihWZ0ppm/QJVG+/LRm3GStBaYFHDEV\napIUMRSrPIP32kUObLd225je24OzGs9FOv1+5RQ8eDLi4TRuFP2dHgLGaegm\nzD9Ob3iLpPgFkt2u/asMjR/PPHNxIe39q3livIcoV8CwRrGFSqG3ZZBtzbC+\nXSg6OGQb9Llta+RNhOmQTH8bwq7v+Kv2LFMtFglm9Lg+1wbque9nJpP4UY/8\negUy7Xu/3FBwA56llZtg3sKanRR0MzeWjBU67MiQdxIB9CUvE/X58+5+RaFj\nLZwR\r\n=3m5n\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","style":"dist/ol-layerswitcher.css","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"5aeaea26dad2b8b508a114c5264d37e0093286d3","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 rollup --config rollup.config.js'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"13.11.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","babel-preset-env":"^1.6.1","rollup-plugin-babel":"^3.0.3","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","babel-plugin-external-helpers":"^6.22.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_3.8.3_1607941709764_0.24407871789622493","host":"s3://npm-registry-packages"}},"4.0.0-beta.1":{"name":"ol-layerswitcher","version":"4.0.0-beta.1","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@4.0.0-beta.1","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"3410397f503dffd18692110e6ab4239cd52701e4","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-4.0.0-beta.1.tgz","fileCount":7,"integrity":"sha512-07htApkxWh57M5CLFEqOt5icoErEG/Yj1fC7lwYKQx2AvakM1dmfEWr7NUV/VoiXg+d/K1b6gMYd83r6HMeo4w==","signatures":[{"sig":"MEYCIQCjD/ztH3Ded13h2PS2BXBmVzaKkMIl5VyPiInigGZZYwIhAMA5+uzNTldcwARU/Xy+uUy0xzPx4arsq482OynRpx9X","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70240,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjA0HuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkghAAnt3nBlx2u4TpCtemnlQQDnVcky9oS2V9KqLDMKQA4AplSgMZ\r\nxHkPXQHoFzbwHTaHm++m//ZfNyRfpnHAAa21aS+iPBNk69hIB7Omp7h6cOiK\r\nhiWeLQkVKv0ntIyhFHs8cnsGfiQJBR/C07EvTL5iAyRkla2dCiZC+Gyg9qXT\r\nfDhhtlxnAi3fVyIB7XpAV7/kE86ncKhgbYG7grOkRNA9IWrNYFxg6+EXHnCH\r\n7Q8G+q44Q9rx3JFPqU2SY++wdltYVb4ykoJYg7kaBzE1HKGxTehigZS5uwT5\r\n3wi/3/+ZkkhkPPXbUQ88fh/dCwmiG5BImlJEEWSC+q3o/iEg2fe6SKyky0Rh\r\nFXjYdfTleK4s2svJXBK9z/wfTXkcJ5I/HqExSBsxD1Tv/L8Ae78pob09N/+f\r\nxhjf1U+feZ1VXcm0smVW3OXWCqqI5rSNSMQ4jR7TOz/SNGTcBs6R0ReBewy6\r\nRruM2L9ovbjjKzDolvF+zNF3r3FgylNxiUW34BOY9w0CkNtV7SqniwEIermT\r\nT36H28Qxq/ykwiKu1XfgZUZbXJp1dErLcxIwKoxxfHxk1HM4ccgylFI1h4om\r\nvxltFfX/5hPBvisuHIyLkVyN+k3G+cc0eJbqyH0A/TEj+A3zGSi6u2renOAY\r\nks4+6nBL4qVtcYsSaqXbMkeHI/Yh6/LD1CI=\r\n=svgF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","style":"dist/ol-layerswitcher.css","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","readme":"# OpenLayers LayerSwitcher\n\nGrouped layer list control for an OpenLayer map.\n\nTo be shown in the LayerSwitcher layers should have a `title` property; base\nlayers should have a `type` property set to `base`. Group layers\n(`LayerGroup`) can be used to visually group layers together; a group with\na `fold` property set to either `open` or `close` will be displayed with a\ntoggle.\n\nSee [**API documentation**](#api) and [**Examples**](#examples) for usage.\n\nCompatible with OpenLayers version 3, 4, 5 and 6 (see note in [Install - Parcel,\nWebpack etc.](#parcel-webpack-etc) regarding installing the appropriate version\nof `ol-layerswitcher` for OpenLayers).\n\n## Examples\n\nThe examples demonstrate usage and can be viewed online thanks to [raw.githack.com](http://raw.githack.com/):\n\n- [Basic usage](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/layerswitcher.html)\n  - Create a layer switcher control. Each layer to be displayed in the layer switcher has a `title` property as does each Group; each base map layer has a `type: 'base'` property. See the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other layer/ group options including `combine` and `fold`.\n- [Add layer](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/addlayer.html)\n  - Add a layer to an existing layer group after the layer switcher has been added to the map.\n- [Scrolling](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/scroll.html)\n  - Makes the panel scroll vertically, the height of the layer switcher is controlled by setting the `max-height` style (see [examples/scroll.css](examples/scroll.css)) and it's position relative to the bottom of the map (see the `.layer-switcher.shown` selector in [dist/ol-layerswitcher.css](dist/ol-layerswitcher.css)).\n- [Side bar](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/sidebar.html)\n  - Demonstrates rendering the layer tree into a [Turbo87/sidebar-v2](https://github.com/Turbo87/sidebar-v2) pane. This uses the static method [`LayerSwitcher.renderPanel`](#renderpanel) which can be used to render the layer tree to any arbitrary HTML element.\n- [Collapse groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/collapse-groups.html)\n  - Shows the effect of setting the `fold` property of a Group to allow the group to be collapsed.\n- [Selectable Groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/select-groups.html)\n  - Demonstrates setting the [`groupSelectStyle`](#layerswitcher) option which determines if groups have a checkbox and how toggling a groups visibility affects it's children. The demo includes the ability to change the `groupSelectStyle` to easily see the effect of the different values.\n- [Bundling with `ol` package (Browserify, Parcel, Webpack...)](https://github.com/walkermatt/ol-layerswitcher-examples)\n- [Activate panel with click](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/activation-mode-click.html)\n  - Shows setting `activationMode: 'click'` (default is `'mouseover'`). When using this mode the control's button persists in the panel - use `collapseLabel` to set its text (default is `collapseLabel: '»'`, see the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other examples). The close button is positioned to the left of the panel, to move it to the right add the following to your CSS:\n\n```CSS\n.layer-switcher.shown.layer-switcher-activation-mode-click {\n  padding-right: 34px;\n}\n.layer-switcher.shown.layer-switcher-activation-mode-click > button {\n  right: 0;\n  border-left: 0;\n}\n```\n\n- [Start with panel active](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/startactive-click.html)\n  - Example with the layer switcher starting open using `startActive: true`. Here shown in combination with \\`activationMode: 'click' which, while not required, is probably the most common scenario.\n- [Multiple maps](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/two-maps.html)\n\n  - Demonstrates creating two independent maps each with a layer switcher control.\n\n- To use the layer switcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Browserify, Parcel, Webpack, TypeScript etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\nThe source for all examples can be found in [examples](examples).\n\n## Changelog\n\nSee [CHANGELOG](./CHANGELOG.md) for details of changes in each release.\n\n## Install\n\n### Browser\n\n#### JS\n\nLoad `ol-layerswitcher.js` after OpenLayers. The layerswitcher control is available as `LayerSwitcher` or `ol.control.LayerSwitcher`.\n\n```HTML\n<script src=\"https://unpkg.com/ol-layerswitcher@4.0.0-beta.1\"></script>\n```\n\n#### CSS\n\n```HTML\n<link rel=\"stylesheet\" href=\"https://unpkg.com/ol-layerswitcher@4.0.0-beta.1/dist/ol-layerswitcher.css\" />\n```\n\n### Parcel, Rollup, Webpack, TypeScript etc.\n\nNPM package: [ol-layerswitcher](https://www.npmjs.com/package/ol-layerswitcher).\n\n#### JS\n\nInstall the package via `npm`\n\n    npm install ol-layerswitcher --save\n\n:warning: If you're using the [`ol` package](https://www.npmjs.com/package/ol) prior to v5 you'll need to install `ol-layerswitcher@v2.0.0`.\n\n#### CSS\n\nThe CSS file `ol-layerswitcher.css` can be found in `./node_modules/ol-layerswitcher/dist`\n\nTo use the layerswitcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Parcel, Webpack etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\n#### TypeScript type definition\n\nTypeScript types are shipped with the project in the `dist` directory and should be automatically used in a TypeScript project. Interfaces are provided for LayerSwitcher Options as well as extend interfaces for BaseLayer and LayerGroup Options that include the LayerSwitcher specific properties such as `title`, `combine` etc.\n\nThese interfaces can be imported into your project and used to cast object literals passed to layer or group constructors:\n\n```typescript\nimport 'ol/ol.css';\nimport 'ol-layerswitcher/dist/ol-layerswitcher.css';\n\nimport Map from 'ol/Map';\nimport View from 'ol/View';\nimport LayerGroup from 'ol/layer/Group';\nimport LayerTile from 'ol/layer/Tile';\nimport SourceOSM from 'ol/source/OSM';\nimport SourceStamen from 'ol/source/Stamen';\n\nimport LayerSwitcher from 'ol-layerswitcher';\nimport { BaseLayerOptions, GroupLayerOptions } from 'ol-layerswitcher';\n\nconst osm = new LayerTile({\n  title: 'OSM',\n  type: 'base',\n  visible: true,\n  source: new SourceOSM()\n} as BaseLayerOptions);\n\nconst watercolor = new LayerTile({\n  title: 'Water color',\n  type: 'base',\n  visible: false,\n  source: new SourceStamen({\n    layer: 'watercolor'\n  })\n} as BaseLayerOptions);\n\nconst baseMaps = new LayerGroup({\n  title: 'Base maps',\n  layers: [osm, watercolor]\n} as GroupLayerOptions);\n\nconst map = new Map({\n  target: 'map',\n  layers: [baseMaps]\n});\n\nconst layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\nSee [BaseLayerOptions](#baselayeroptions) and [GroupLayerOptions](#grouplayeroptions).\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n- [LayerSwitcher](#layerswitcher)\n  - [Parameters](#parameters)\n  - [setMap](#setmap)\n    - [Parameters](#parameters-1)\n  - [showPanel](#showpanel)\n  - [hidePanel](#hidepanel)\n  - [renderPanel](#renderpanel)\n  - [renderPanel](#renderpanel-1)\n    - [Parameters](#parameters-2)\n  - [isBaseGroup](#isbasegroup)\n    - [Parameters](#parameters-3)\n  - [getGroupsAndLayers](#getgroupsandlayers)\n    - [Parameters](#parameters-4)\n  - [forEachRecursive](#foreachrecursive)\n    - [Parameters](#parameters-5)\n  - [uuid](#uuid)\n- [LayerSwitcher#show](#layerswitchershow)\n- [LayerSwitcher#hide](#layerswitcherhide)\n- [Options](#options)\n  - [activationMode](#activationmode)\n  - [startActive](#startactive)\n  - [label](#label)\n  - [collapseLabel](#collapselabel)\n  - [tipLabel](#tiplabel)\n  - [collapseTipLabel](#collapsetiplabel)\n- [RenderOptions](#renderoptions)\n  - [groupSelectStyle](#groupselectstyle)\n  - [reverse](#reverse)\n- [GroupSelectStyle](#groupselectstyle-1)\n- [BaseLayerOptions](#baselayeroptions)\n  - [title](#title)\n  - [type](#type)\n- [GroupLayerOptions](#grouplayeroptions)\n  - [combine](#combine)\n  - [fold](#fold)\n\n### LayerSwitcher\n\n**Extends ol/control/Control~Control**\n\nOpenLayers LayerSwitcher Control, displays a list of layers and groups\nassociated with a map which have a `title` property.\n\nTo be shown in the LayerSwitcher panel layers must have a `title` property;\nbase map layers should have a `type` property set to `base`. Group layers\n(`LayerGroup`) can be used to visually group layers together; a group\nwith a `fold` property set to either `'open'` or `'close'` will be displayed\nwith a toggle.\n\nSee [BaseLayerOptions](#baselayeroptions) for a full list of LayerSwitcher\nproperties for layers (`TileLayer`, `ImageLayer`, `VectorTile` etc.) and\n[GroupLayerOptions](#grouplayeroptions) for group layer (`LayerGroup`)\nLayerSwitcher properties.\n\nLayer and group properties can either be set by adding extra properties\nto their options when they are created or via their set method.\n\nSpecify a `title` for a Layer by adding a `title` property to it's options object:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  // Specify a title property which will be displayed by the layer switcher\n  title: 'OpenStreetMap',\n  visible: true,\n  source: new ol.source.OSM()\n});\n```\n\nAlternatively the properties can be set via the `set` method after a layer has been created:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  visible: true,\n  source: new ol.source.OSM()\n});\n// Specify a title property which will be displayed by the layer switcher\nlyr.set('title', 'OpenStreetMap');\n```\n\nTo create a LayerSwitcher and add it to a map, create a new instance then pass it to the map's [`addControl` method](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html#addControl).\n\n```javascript\nvar layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\n#### Parameters\n\n- `opt_options` **[Options](#options)?** LayerSwitcher options, see [LayerSwitcher Options](#options) and [RenderOptions](#renderoptions) which LayerSwitcher `Options` extends for more details.\n\n#### setMap\n\nSet the map instance the control is associated with.\n\n##### Parameters\n\n- `map` **[PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html)** The map instance.\n\nReturns **void**\n\n#### showPanel\n\nShow the layer panel. Fires `'show'` event.\n\nReturns **void**\n\n#### hidePanel\n\nHide the layer panel. Fires `'hide'` event.\n\nReturns **void**\n\n#### renderPanel\n\nRe-draw the layer panel to represent the current state of the layers.\n\nReturns **void**\n\n#### renderPanel\n\n**_[static]_** - Re-draw the layer panel to represent the current state of the layers.\n\n##### Parameters\n\n- `map` **[PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html)** The OpenLayers Map instance to render layers for\n- `panel` **[HTMLElement](https://developer.mozilla.org/docs/Web/HTML/Element)** The DOM Element into which the layer tree will be rendered\n- `options` **[RenderOptions](#renderoptions)** Options for panel, group, and layers\n\nReturns **void**\n\n#### isBaseGroup\n\n**_[static]_** - Determine if a given layer group contains base layers\n\n##### Parameters\n\n- `grp` **[LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html)** Group to test\n\nReturns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**\n\n#### getGroupsAndLayers\n\n**_[static]_** - Get an Array of all layers and groups displayed by the LayerSwitcher (has a `'title'` property)\ncontained by the specified map or layer group; optionally filtering via `filterFn`\n\n##### Parameters\n\n- `grp` **([PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The map or layer group for which layers are found.\n- `filterFn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Optional function used to filter the returned layers\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>**\n\n#### forEachRecursive\n\n**_[static]_** - Call the supplied function for each layer in the passed layer group\nrecursing nested groups.\n\n##### Parameters\n\n- `lyr` **([PluggableMap](https://openlayers.org/en/latest/apidoc/module-ol_PluggableMap-PluggableMap.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The layer group to start iterating from.\n- `fn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): void** Callback which will be called for each layer\n  found under `lyr`.\n\nReturns **void**\n\n#### uuid\n\n**_[static]_** - Generate a UUID\nAdapted from <http://stackoverflow.com/a/2117523/526860>\n\nReturns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** UUID\n\n### LayerSwitcher#show\n\nEvent triggered after the panel has been shown.\nListen to the event via the `on` or `once` methods; for example:\n\n```js\nvar layerSwitcher = new LayerSwitcher();\nmap.addControl(layerSwitcher);\n\nlayerSwitcher.on('show', (evt) => {\n  console.log('show', evt);\n});\n```\n\n### LayerSwitcher#hide\n\nEvent triggered after the panel has been hidden.\n\n### Options\n\n**Extends ControlOptions, RenderOptions**\n\n**_[interface]_** - LayerSwitcher Options specified when creating a LayerSwitcher\ninstance, extends [RenderOptions](#renderoptions) and\n[Control Options](https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html#Control).\n\nDefault values:\n\n```javascript\n{\n  activationMode: 'mouseover',\n  startActive: false,\n  label: ''\n  collapseLabel: '\\u00BB',\n  tipLabel: 'Legend',\n  collapseTipLabel: 'Collapse legend',\n  groupSelectStyle: 'children',\n  reverse: false\n}\n```\n\n#### activationMode\n\nEvent to use on the button to collapse or expand the panel. Defaults to\n`\"mouseover\"`.\n\nType: (`\"mouseover\"` \\| `\"click\"`)\n\n#### startActive\n\nWhether panel is open when created. Defaults to `false`.\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### label\n\nText label to use for the button that opens the panel. E.g.: `''` (default), `'«'` or `'\\u00AB'`, `'+'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseLabel\n\nText label to use for the button that closes the panel. E.g.: `'»'` (default) or `'\\u00BB'`, `'-'` or `'\\u2212'`. Only used when `activationMode: 'mouseover'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### tipLabel\n\nThe button tooltip when the panel is closed.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseTipLabel\n\nThe button tooltip when the panel is open.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n### RenderOptions\n\n**_[interface]_** - LayerSwitcher Render Options as passed to [LayerSwitcher\nconstructor](#layerswitcher) as part of [Options](#options) and [static\nLayerSwitcher.renderPanel](#renderpanel)\n\n#### groupSelectStyle\n\nHow layers and groups behave when a given layer's visibility is set. See [GroupSelectStyle type for possible values](#groupselectstyle).\n\nType: [GroupSelectStyle](#groupselectstyle)\n\n#### reverse\n\nShould the order of layers in the panel be reversed?\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n### GroupSelectStyle\n\n**_[type]_** - How layers and groups behave when a given layer's visibility is set, either:\n\n- `'none'` - groups don't get a checkbox,\n- `'children'` (default) groups have a checkbox and affect child visibility or\n- `'group'` groups have a checkbox but do not alter child visibility (like QGIS).\n\nType: (`\"none\"` \\| `\"children\"` \\| `\"group\"`)\n\n### BaseLayerOptions\n\n**Extends [ol/layer/Base~Options](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base.html#~Options)**\n\n**_[interface]_** - Extended BaseLayer Options interface adding properties\nused by the LayerSwitcher\n\n#### title\n\nTitle of the layer displayed in the LayerSwitcher panel\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### type\n\nType of the layer, a layer of `type: 'base'` is treated as a base map\nlayer by the LayerSwitcher and is displayed with a radio button\n\nType: `\"base\"`\n\n### GroupLayerOptions\n\n**Extends [ol/layer/Group~Options](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group.html#~Options), BaseLayerOptions**\n\n**_[interface]_** - Extended LayerGroup Options interface adding\nproperties used by the LayerSwitcher.\n\n#### combine\n\nWhen `true` child layers are not shown in the Layer Switcher panel\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### fold\n\nFold state of the group, if set then the group will be displayed with a\nbutton to allow the user to show/ hide the child layers.\n\nType: (`\"open\"` \\| `\"close\"`)\n\n## Tests\n\nTo run the tests you'll need to install the dependencies via `npm`. In the root of the repository run:\n\n    npm install\n\nThen run the tests by opening [test/index.html](test/index.html) in a browser.\n\n## License\n\nMIT (c) Matt Walker.\n\n## Also see\n\nIf you find the layer switcher useful you might also like the\n[ol-popup](https://github.com/walkermatt/ol-popup).\n\n## Publishing\n\n    npm run build\n    # Open ./tests/ in browser\n    # Open examples and manually test\n    # Determine new version number (check current with `git tag --list`, check npm and GitHub)\n    # Update version number in `package.json`, `bower.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit bower.json package.json CHANGELOG.md README.md\n    git tag vX.Y.Z\n    git push origin master --tags\n    npm publish\n\n### Beta release\n\n    npm run build\n    # Tests/ examples\n    # Beta version should be X.Y.Z-beta.N\n    # Update version number in `package.json`, `bower.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit bower.json package.json CHANGELOG.md README.md\n    git tag vX.Y.Z-beta.N\n    git push --tags\n    npm publish --tag beta\n    # To list all version on npm\n    npm show ol-layerswitcher versions --json\n","gitHead":"85f7957abb5e353a27674d65361f4b399c7ab7dd","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.11","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"14.16.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_4.0.0-beta.1_1661157870378_0.8439568477599426","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"ol-layerswitcher","version":"4.0.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@4.0.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"8d41975b778bafd5bffff90c7721af1bc1053fea","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-4.0.0.tgz","fileCount":7,"integrity":"sha512-5MtCWqwGwW33zNEeTDTvsLcwtQhRjldxW/tpbvBbTmz045HZV7J9eZhKw8ggKOG86k+DhmEic4vz+3UG7OaAcA==","signatures":[{"sig":"MEUCIQDvsJ6n795BVo/30STnrb3Hz9ORrr+u1uvIS0VoclC5+QIgeLTekKW5uN9ZLtPG/wpblxVCbZkT+ajpbF92Cwk0hjk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70371,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjByAPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpA/w/9HNgzAnx1TdT1cymiv9uCNBdU/+ozeFQmFadZ6kMlxII65sfj\r\nXCfMnhMqRZNZSAncOL4z0BJK/mepOiRcogi41N/LJLMD8ea1lrzJ6fEdvRgf\r\ne37vxU7It7ucXD3vssQoyN1hRl0rvkVEfe+LcE8h3NDx4aSMCGNs7JdgHGO/\r\n9fVAeYqAfZYRZZzlkEQQs4sK0v5uZtfQZ+Yi+b+63Vv0SRPRa7IqsGy7MDjM\r\nLr/WZS3G24CrQB2R3KZsAAkYi7JlhIXp0HjUc7OQyytwrVe3IrYJ4xTTVncH\r\n7UMHBBczDtVCoQLzuFabinjO7P0RTWGvvRlCfjbAdcWtN+iEHJvMbaDxk9xJ\r\nDZxsldfjspEsvY1uO8W05GDbJ4cDsOBLPOMlCo8zSIp/8Gqq+vuTX2TofNDs\r\neW6n5L/cB2b3F2/hXIXgtABQC/RU7th3wSklkxg6nplJZSK8hNLQ9mDL6Oqq\r\nC+kbVhljpbbUDHcZhg1expdaTVF39X/r/9f8vPFhh3hzplWXIb1eimZF+uw+\r\nIue+C024TnUBiV9tChz+Zof3e3HALpZAWtC3PjWWX4ka8jHfL65q9OFkBDo3\r\nX453iQaYaWMeqgN3jEPehYQKBGUgkuJl2gcSjzg88MSboyQ1m7cDAEErrjjE\r\nw4YAFPcmrGk2HGgfUxCf7ekyOIZQ6lu3Q8U=\r\n=t1XV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","style":"dist/ol-layerswitcher.css","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"1fde54a6b81523969a2955561e3cd447c5fdc472","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.11","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"14.16.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_4.0.0_1661411343627_0.030421698685137555","host":"s3://npm-registry-packages"}},"4.1.0":{"name":"ol-layerswitcher","version":"4.1.0","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@4.1.0","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"34a96652027f8c5f807b73f65520b156c86851ee","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-4.1.0.tgz","fileCount":7,"integrity":"sha512-Nzvi1JF+dkD8laL/EdC8dg0/WQBscAGNaQApsoiE2EfVuaBwLpBg8yrABsFSJF388bAFq0oYjBR61ZPNTWRI8g==","signatures":[{"sig":"MEYCIQDjo6c4akUwpyjw8QrB1q2Eilp/AD/H9F3t2K0i4sonCgIhALU2+ytyemZYjtdyTyX+mpSF/K4hmUWu0WqsotFz3NtW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71538,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjQ/S+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr6wQ/+PZ+hgqXoWcL0h0Uj1d4Tvt2+kJWJqsfXq2nKwQstnEgvQqgw\r\n4e/qY+ruNToyujoKUJZmLCfnMfj40rhTfZ5CkJZ96NHcUzQDjMEd8d2A1AWF\r\nC/bhDlzbSXgVmllZnU+gG9hClGgGVP6N3B96jbj0C19cF2C0I266eKxCItyl\r\njDrteQh/Pp3UXIBjowB9bFyX1HuvqOziY2Y1EVcwWaupa4TdFu5Xy+bykp0x\r\n5otTdrRiWv0j/tGkyEfxVyCZtyVMtrSPFUm282v6I3QabTgTt81CvilfNixQ\r\nKsxMlLdrRC4Nzwmo0ffnoVqP0Gy55QdmcuFUW7+m5JFCAy947Ihh6v5uaSOj\r\n6TU+Q3BUUjLckvHhc7rDV8RQDAk+ndxjMiwYG1K41tdrQ4neNnsIv+v3j3zC\r\nE09XXuI7OU1eje6P/JsMU8OrspRKG/xo/CC/0DIUhFJN0neu7i11JxVm6B+D\r\n0x5OYqEYvEhmP1jgIiQEGw6/ifkghmJTb5ESBryDY7ICfsMv7KiRKb4WfD+m\r\n+N7pVbJGrqhf85se8AiXuaoiipu2AEZnpYdQnV4KIL4ZEFVcmCpNRVeu9Ahx\r\nR85wexM+Nefhl/Uhz0QmHsnmdqDcQrP02uCaVlAFYb0lHoKULvgs3mDsg1Dc\r\nLU0YQFmwDerjO8nrP+kQJsoPODot01lcRKA=\r\n=Hlpv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","style":"dist/ol-layerswitcher.css","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"b26563b7330719890fa9bd0180b8df5c272f3fc8","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"6.14.11","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"14.16.0","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_4.1.0_1665397950524_0.9637400316229292","host":"s3://npm-registry-packages"}},"4.1.1":{"name":"ol-layerswitcher","version":"4.1.1","keywords":["openlayers","layerswitcher","ol"],"author":{"url":"http://longwayaround.org.uk","name":"Matt Walker"},"license":"MIT","_id":"ol-layerswitcher@4.1.1","maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"dist":{"shasum":"abd60daa94932c38b086299c37999e7a187a5da0","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-4.1.1.tgz","fileCount":6,"integrity":"sha512-uqIqZCr/23GoOIOl2T1iPzcVBPweJZgkVHTrn8DLNCa3cCuX+aJzz0DhkA+qJjm5NqXO5uCvB7zpk9vWtRWmsQ==","signatures":[{"sig":"MEUCIQD4gEPIzJLXuEB+Yj9t8/bSbyv+4GDSGM9b5zWp+cQTbAIgBlrXitkxkT0mcXi/kCf2CIgRuQQf2ljASp98hTqPELQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":68161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkCHGgACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmowVA/+M2jUsSpmkz1VINLs1LncJId5S6F7aog4ZltAwQO9nbofQT+H\r\ndBRQ36DjO5PmzEKqhNikRvDzd6acCZHAj+XuLa7Va8layaXHgGGSh1shHsg+\r\nGWQjR5vMxNG1ISYmwYlnRzdCL6sWYFxthIfEos3Vo+V29l8wY2eMYZ7pQ1G/\r\nXj3HGvuXuhd6E17WKTJJbHJtYYGAV+yirCO5HTfGrSS5wmrdJcZVwBsvIVv1\r\n4qxyOPvWd5i0cheaCdHqBs9smI4ntd25zelwZAZZXQ8Pdjh2UB1Drx9/QAoq\r\nLPD/M5r2Ec3JqHAgDGAMFhl5+4UAxiSvbJM6BgnkxFI9NXrhLpDuCC46pXKE\r\nLP7E7r/Gyrxc1zn27tByee5t+01ZmmEeDD2rCLcszCbQw81krB3oNcumDvfD\r\n2oW7EyLcrfjWqSsQk7ZnPlVTyMSgrc0ewugY0s2I5jYSCGX2CcQYVKXuHZd6\r\nbQNjCcS6xxqBKXVDeTmhoNbEXp19ok4Pr1IMBK5iP7ySoFs1PtvQp4RBxuoU\r\njPt/eMiSqzCyrmx8YCS03ilXlcTIDv8fC0St7BLzhZEm/12b6cth1iLJxJsU\r\nql2DFlq59WeDYp204ICOioQ0UZ6Lik5m61hMm77uxebPOxacKRQpUWH+zyRE\r\n+AJIEfpYg9UTcHdkhkDTZonJZyzbacse8v4=\r\n=FpZ6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/ol-layerswitcher.js","style":"dist/ol-layerswitcher.css","types":"dist/ol-layerswitcher.d.ts","module":"dist/ol-layerswitcher.js","gitHead":"5d1bc77a6fe74331ec8eedfa38704459a4be56d1","scripts":{"doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/","watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'","format":"eslint --fix src/*.ts examples && prettier --write src examples"},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"prettier":{"tabWidth":2,"quoteProps":"consistent","singleQuote":true,"trailingComma":"none","bracketSpacing":true},"repository":{"url":"git+https://github.com/walkermatt/ol-layerswitcher.git","type":"git"},"_npmVersion":"8.19.2","description":"Layer switcher control for OpenLayers","directories":{},"_nodeVersion":"18.12.1","eslintConfig":{"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"parser":"@typescript-eslint/parser","extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"globals":{"ol":"readonly","document":"writable"},"plugins":["@typescript-eslint"]},"_hasShrinkwrap":false,"devDependencies":{"ol":"^6.1.1","mocha":"~1.20.1","jquery":">=3.0.0","rollup":"^0.41.4","prettier":"^2.0.4","@types/ol":"^6.4.1","expect.js":"~0.3.1","typescript":"^4.0.3","chokidar-cli":"^1.2.2","documentation":"^13.1.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","rollup-plugin-commonjs":"^7.0.0","eslint-config-openlayers":"^14.0.0","@typescript-eslint/parser":"^4.6.0","rollup-plugin-node-resolve":"^2.0.0","@typescript-eslint/eslint-plugin":"^4.6.0"},"peerDependencies":{"ol":">=5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ol-layerswitcher_4.1.1_1678274975997_0.6981010586784291","host":"s3://npm-registry-packages"}},"4.1.2":{"name":"ol-layerswitcher","version":"4.1.2","description":"Layer switcher control for OpenLayers","main":"dist/ol-layerswitcher.js","module":"dist/ol-layerswitcher.js","types":"dist/ol-layerswitcher.d.ts","style":"dist/ol-layerswitcher.css","repository":{"type":"git","url":"git+https://github.com/walkermatt/ol-layerswitcher.git"},"author":{"name":"Matt Walker","url":"http://longwayaround.org.uk"},"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}],"keywords":["openlayers","layerswitcher","ol"],"license":"MIT","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"scripts":{"watch":"chokidar 'src/**' --initial --command 'WATCH=1 npm run build'","doc":"documentation readme src/ol-layerswitcher.ts  --quiet=true --access=public --access=undefined --section=API --parse-extension ts && node scripts/external-links.js README.md && prettier --write README.md","lint":"eslint src/*.ts examples && prettier --check src examples","format":"eslint --fix src/*.ts examples && prettier --write src examples","build":"npm run lint && tsc --pretty && npm run doc && rollup --config rollup.config.js && cp src/ol-layerswitcher.css dist/"},"peerDependencies":{"ol":">=5.0.0"},"devDependencies":{"@types/ol":"^6.4.1","@typescript-eslint/eslint-plugin":"^4.6.0","@typescript-eslint/parser":"^4.6.0","chokidar-cli":"^1.2.2","documentation":"^13.1.0","eslint-config-openlayers":"^14.0.0","eslint-config-prettier":"^6.10.1","eslint-plugin-prettier":"^3.1.4","expect.js":"~0.3.1","jquery":">=3.0.0","mocha":"~1.20.1","ol":"^6.1.1","prettier":"^2.0.4","rollup":"^0.41.4","rollup-plugin-commonjs":"^7.0.0","rollup-plugin-node-resolve":"^2.0.0","typescript":"^4.0.3"},"eslintConfig":{"parser":"@typescript-eslint/parser","plugins":["@typescript-eslint"],"extends":["eslint:recommended","plugin:@typescript-eslint/recommended"],"rules":{"@typescript-eslint/no-unused-vars":["error",{"argsIgnorePattern":"^_"}]},"globals":{"ol":"readonly","document":"writable"}},"prettier":{"tabWidth":2,"singleQuote":true,"trailingComma":"none","quoteProps":"consistent","bracketSpacing":true},"gitHead":"fbbe58e48b345e281875ef5b29c23ac1a3f5d20d","homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","_id":"ol-layerswitcher@4.1.2","_nodeVersion":"20.3.0","_npmVersion":"9.6.7","dist":{"integrity":"sha512-yF1iNqPKWr7AcsIWnr5He+T/J4X3qdce7qr8QUi/5Xyjo6uFjVvVijdAhMwiNfJrBNh9JhrXeDSl+1/cTT58KA==","shasum":"52075e0a05a8d22bf21a87d219666b84a4e2cc23","tarball":"https://registry.npmjs.org/ol-layerswitcher/-/ol-layerswitcher-4.1.2.tgz","fileCount":7,"unpackedSize":69229,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD1EZ55Y3JAIhXkmJsTMKj1NTeCVEwvDueeBo9ojj8bvAIhAIqa5jHq0vF0hfpwmCmA/GJYjpVfjs1iNDYyDTuokAuR"}]},"_npmUser":{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/ol-layerswitcher_4.1.2_1719397492133_0.06371306938334609"},"_hasShrinkwrap":false}},"time":{"created":"2016-12-23T16:26:08.851Z","modified":"2024-06-26T10:24:52.453Z","1.1.0":"2016-12-23T16:26:08.851Z","1.1.1":"2016-12-23T16:53:31.673Z","1.1.2":"2016-12-23T16:58:52.295Z","1.1.3":"2016-12-23T17:03:29.476Z","1.1.4":"2016-12-24T15:30:55.103Z","1.1.5":"2016-12-24T18:33:36.473Z","1.1.6":"2016-12-24T18:37:26.249Z","2.0.0":"2018-01-31T20:25:18.453Z","3.0.0":"2018-08-08T08:19:55.564Z","3.1.0":"2018-09-06T19:05:17.514Z","3.2.0":"2018-11-17T20:03:39.473Z","3.3.0":"2019-07-03T08:47:55.923Z","3.4.0":"2019-09-23T09:35:27.360Z","3.5.0":"2020-01-19T20:15:01.276Z","3.6.0":"2020-04-10T06:29:56.015Z","3.7.0":"2020-09-18T13:19:41.851Z","3.8.0-beta.0":"2020-10-28T20:11:55.601Z","3.8.0-beta.1":"2020-11-09T09:39:38.072Z","3.8.0":"2020-11-21T07:43:51.964Z","3.8.1":"2020-11-24T18:47:23.988Z","3.8.2":"2020-12-10T10:04:06.651Z","3.8.3":"2020-12-14T10:28:29.913Z","4.0.0-beta.1":"2022-08-22T08:44:30.573Z","4.0.0":"2022-08-25T07:09:03.830Z","4.1.0":"2022-10-10T10:32:30.708Z","4.1.1":"2023-03-08T11:29:36.267Z","4.1.2":"2024-06-26T10:24:52.291Z"},"maintainers":[{"name":"walkermatt","email":"walkermatt@longwayaround.org.uk"},{"name":"francbartoli","email":"xbartolone@gmail.com"}],"author":{"name":"Matt Walker","url":"http://longwayaround.org.uk"},"repository":{"type":"git","url":"git+https://github.com/walkermatt/ol-layerswitcher.git"},"keywords":["openlayers","layerswitcher","ol"],"license":"MIT","homepage":"https://github.com/walkermatt/ol-layerswitcher#readme","bugs":{"url":"https://github.com/walkermatt/ol-layerswitcher/issues"},"readme":"# OpenLayers LayerSwitcher\n\nGrouped layer list control for an OpenLayer map.\n\nTo be shown in the LayerSwitcher layers should have a `title` property; base\nlayers should have a `type` property set to `base`. Group layers\n(`LayerGroup`) can be used to visually group layers together; a group with\na `fold` property set to either `open` or `close` will be displayed with a\ntoggle.\n\nSee [**API documentation**](#api) and [**Examples**](#examples) for usage.\n\nCompatible with OpenLayers version 3, 4, 5 and 6 (see note in [Install - Parcel,\nWebpack etc.](#parcel-webpack-etc) regarding installing the appropriate version\nof `ol-layerswitcher` for OpenLayers).\n\n## Examples\n\nThe examples demonstrate usage and can be viewed online thanks to [raw.githack.com](http://raw.githack.com/):\n\n- [Basic usage](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/layerswitcher.html)\n  - Create a layer switcher control. Each layer to be displayed in the layer switcher has a `title` property as does each Group; each base map layer has a `type: 'base'` property. See the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other layer/ group options including `combine` and `fold`.\n- [Add layer](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/addlayer.html)\n  - Add a layer to an existing layer group after the layer switcher has been added to the map.\n- [Scrolling](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/scroll.html)\n  - Makes the panel scroll vertically, the height of the layer switcher is controlled by setting the `max-height` style (see [examples/scroll.css](examples/scroll.css)) and it's position relative to the bottom of the map (see the `.layer-switcher.shown` selector in [dist/ol-layerswitcher.css](dist/ol-layerswitcher.css)).\n- [Side bar](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/sidebar.html)\n  - Demonstrates rendering the layer tree into a [Turbo87/sidebar-v2](https://github.com/Turbo87/sidebar-v2) pane. This uses the static method [`LayerSwitcher.renderPanel`](#renderpanel) which can be used to render the layer tree to any arbitrary HTML element.\n- [Collapse groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/collapse-groups.html)\n  - Shows the effect of setting the `fold` property of a Group to allow the group to be collapsed.\n- [Selectable Groups](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/select-groups.html)\n  - Demonstrates setting the [`groupSelectStyle`](#layerswitcher) option which determines if groups have a checkbox and how toggling a groups visibility affects it's children. The demo includes the ability to change the `groupSelectStyle` to easily see the effect of the different values.\n- [Bundling with `ol` package (Browserify, Parcel, Webpack...)](https://github.com/walkermatt/ol-layerswitcher-examples)\n- [Activate panel with click](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/activation-mode-click.html)\n  - Shows setting `activationMode: 'click'` (default is `'mouseover'`). When using this mode the control's button persists in the panel - use `collapseLabel` to set its text (default is `collapseLabel: '»'`, see the comments in [examples/layerswitcher.js](./examples/layerswitcher.js) for other examples). The close button is positioned to the left of the panel, to move it to the right add the following to your CSS:\n\n```CSS\n.layer-switcher.shown.layer-switcher-activation-mode-click {\n  padding-right: 34px;\n}\n.layer-switcher.shown.layer-switcher-activation-mode-click > button {\n  right: 0;\n  border-left: 0;\n}\n```\n\n- [Start with panel active](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/startactive-click.html)\n  - Example with the layer switcher starting open using `startActive: true`. Here shown in combination with \\`activationMode: 'click' which, while not required, is probably the most common scenario.\n- [Multiple maps](http://raw.githack.com/walkermatt/ol-layerswitcher/master/examples/two-maps.html)\n\n  - Demonstrates creating two independent maps each with a layer switcher control.\n\n- To use the layer switcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Browserify, Parcel, Webpack, TypeScript etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\nThe source for all examples can be found in [examples](examples).\n\n## Changelog\n\nSee [CHANGELOG](./CHANGELOG.md) for details of changes in each release.\n\n## Install\n\n### Browser\n\n#### JS\n\nLoad `ol-layerswitcher.js` after OpenLayers. The layerswitcher control is available as `LayerSwitcher` or `ol.control.LayerSwitcher`.\n\n```HTML\n<script src=\"https://unpkg.com/ol-layerswitcher@4.1.2\"></script>\n```\n\n#### CSS\n\n```HTML\n<link rel=\"stylesheet\" href=\"https://unpkg.com/ol-layerswitcher@4.1.2/dist/ol-layerswitcher.css\" />\n```\n\n### Parcel, Rollup, Webpack, TypeScript etc.\n\nNPM package: [ol-layerswitcher](https://www.npmjs.com/package/ol-layerswitcher).\n\n#### JS\n\nInstall the package via `npm`\n\n    npm install ol-layerswitcher --save\n\n:warning: If you're using the [`ol` package](https://www.npmjs.com/package/ol) prior to v5 you'll need to install `ol-layerswitcher@v2.0.0`.\n\n#### CSS\n\nThe CSS file `ol-layerswitcher.css` can be found in `./node_modules/ol-layerswitcher/dist`\n\nTo use the layerswitcher with the [`ol` package](https://www.npmjs.com/package/ol) and a module bundler such as Parcel, Webpack etc. see [ol-layerswitcher-examples](https://github.com/walkermatt/ol-layerswitcher-examples).\n\n#### TypeScript type definition\n\nTypeScript types are shipped with the project in the `dist` directory and should be automatically used in a TypeScript project. Interfaces are provided for LayerSwitcher Options as well as extend interfaces for BaseLayer and LayerGroup Options that include the LayerSwitcher specific properties such as `title`, `combine` etc.\n\nThese interfaces can be imported into your project and used to cast object literals passed to layer or group constructors:\n\n```typescript\nimport 'ol/ol.css';\nimport 'ol-layerswitcher/dist/ol-layerswitcher.css';\n\nimport Map from 'ol/Map';\nimport View from 'ol/View';\nimport LayerGroup from 'ol/layer/Group';\nimport LayerTile from 'ol/layer/Tile';\nimport SourceOSM from 'ol/source/OSM';\nimport SourceStamen from 'ol/source/Stamen';\n\nimport LayerSwitcher from 'ol-layerswitcher';\nimport { BaseLayerOptions, GroupLayerOptions } from 'ol-layerswitcher';\n\nconst osm = new LayerTile({\n  title: 'OSM',\n  type: 'base',\n  visible: true,\n  source: new SourceOSM()\n} as BaseLayerOptions);\n\nconst watercolor = new LayerTile({\n  title: 'Water color',\n  type: 'base',\n  visible: false,\n  source: new SourceStamen({\n    layer: 'watercolor'\n  })\n} as BaseLayerOptions);\n\nconst baseMaps = new LayerGroup({\n  title: 'Base maps',\n  layers: [osm, watercolor]\n} as GroupLayerOptions);\n\nconst map = new Map({\n  target: 'map',\n  layers: [baseMaps]\n});\n\nconst layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\nSee [BaseLayerOptions](#baselayeroptions) and [GroupLayerOptions](#grouplayeroptions).\n\n## API\n\n<!-- Generated by documentation.js. Update this documentation by updating the source code. -->\n\n#### Table of Contents\n\n- [LayerSwitcher](#layerswitcher)\n  - [Parameters](#parameters)\n  - [setMap](#setmap)\n    - [Parameters](#parameters-1)\n  - [showPanel](#showpanel)\n  - [hidePanel](#hidepanel)\n  - [renderPanel](#renderpanel)\n  - [renderPanel](#renderpanel-1)\n    - [Parameters](#parameters-2)\n  - [isBaseGroup](#isbasegroup)\n    - [Parameters](#parameters-3)\n  - [getGroupsAndLayers](#getgroupsandlayers)\n    - [Parameters](#parameters-4)\n  - [forEachRecursive](#foreachrecursive)\n    - [Parameters](#parameters-5)\n  - [uuid](#uuid)\n- [LayerSwitcher#show](#layerswitchershow)\n- [LayerSwitcher#hide](#layerswitcherhide)\n- [Options](#options)\n  - [activationMode](#activationmode)\n  - [startActive](#startactive)\n  - [label](#label)\n  - [collapseLabel](#collapselabel)\n  - [tipLabel](#tiplabel)\n  - [collapseTipLabel](#collapsetiplabel)\n- [RenderOptions](#renderoptions)\n  - [groupSelectStyle](#groupselectstyle)\n  - [reverse](#reverse)\n- [GroupSelectStyle](#groupselectstyle-1)\n- [BaseLayerOptions](#baselayeroptions)\n  - [title](#title)\n  - [type](#type)\n- [GroupLayerOptions](#grouplayeroptions)\n  - [combine](#combine)\n  - [fold](#fold)\n\n### LayerSwitcher\n\n**Extends ol/control/Control~Control**\n\nOpenLayers LayerSwitcher Control, displays a list of layers and groups\nassociated with a map which have a `title` property.\n\nTo be shown in the LayerSwitcher panel layers must have a `title` property;\nbase map layers should have a `type` property set to `base`. Group layers\n(`LayerGroup`) can be used to visually group layers together; a group\nwith a `fold` property set to either `'open'` or `'close'` will be displayed\nwith a toggle.\n\nSee [BaseLayerOptions](#baselayeroptions) for a full list of LayerSwitcher\nproperties for layers (`TileLayer`, `ImageLayer`, `VectorTile` etc.) and\n[GroupLayerOptions](#grouplayeroptions) for group layer (`LayerGroup`)\nLayerSwitcher properties.\n\nLayer and group properties can either be set by adding extra properties\nto their options when they are created or via their set method.\n\nSpecify a `title` for a Layer by adding a `title` property to it's options object:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  // Specify a title property which will be displayed by the layer switcher\n  title: 'OpenStreetMap',\n  visible: true,\n  source: new ol.source.OSM()\n});\n```\n\nAlternatively the properties can be set via the `set` method after a layer has been created:\n\n```javascript\nvar lyr = new ol.layer.Tile({\n  visible: true,\n  source: new ol.source.OSM()\n});\n// Specify a title property which will be displayed by the layer switcher\nlyr.set('title', 'OpenStreetMap');\n```\n\nTo create a LayerSwitcher and add it to a map, create a new instance then pass it to the map's [`addControl` method](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html#addControl).\n\n```javascript\nvar layerSwitcher = new LayerSwitcher({\n  reverse: true,\n  groupSelectStyle: 'group'\n});\nmap.addControl(layerSwitcher);\n```\n\n#### Parameters\n\n- `opt_options` **[Options](#options)?** LayerSwitcher options, see [LayerSwitcher Options](#options) and [RenderOptions](#renderoptions) which LayerSwitcher `Options` extends for more details.\n\n#### setMap\n\nSet the map instance the control is associated with.\n\n##### Parameters\n\n- `map` **[Map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html)** The map instance.\n\nReturns **void**\n\n#### showPanel\n\nShow the layer panel. Fires `'show'` event.\n\nReturns **void**\n\n#### hidePanel\n\nHide the layer panel. Fires `'hide'` event.\n\nReturns **void**\n\n#### renderPanel\n\nRe-draw the layer panel to represent the current state of the layers.\n\nReturns **void**\n\n#### renderPanel\n\n**_[static]_** - Re-draw the layer panel to represent the current state of the layers.\n\n##### Parameters\n\n- `map` **[Map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html)** The OpenLayers Map instance to render layers for\n- `panel` **[HTMLElement](https://developer.mozilla.org/docs/Web/HTML/Element)** The DOM Element into which the layer tree will be rendered\n- `options` **[RenderOptions](#renderoptions)** Options for panel, group, and layers\n\nReturns **void**\n\n#### isBaseGroup\n\n**_[static]_** - Determine if a given layer group contains base layers\n\n##### Parameters\n\n- `grp` **[LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html)** Group to test\n\nReturns **[boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)**\n\n#### getGroupsAndLayers\n\n**_[static]_** - Get an Array of all layers and groups displayed by the LayerSwitcher (has a `'title'` property)\ncontained by the specified map or layer group; optionally filtering via `filterFn`\n\n##### Parameters\n\n- `grp` **([Map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The map or layer group for which layers are found.\n- `filterFn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)** Optional function used to filter the returned layers\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>**\n\n#### forEachRecursive\n\n**_[static]_** - Call the supplied function for each layer in the passed layer group\nrecursing nested groups.\n\n##### Parameters\n\n- `lyr` **([Map](https://openlayers.org/en/latest/apidoc/module-ol_Map-Map.html) | [LayerGroup](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group-LayerGroup.html))** The layer group to start iterating from.\n- `fn` **function (lyr: [BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html), idx: [number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number), arr: [Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)&lt;[BaseLayer](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base-BaseLayer.html)>): void** Callback which will be called for each layer\n  found under `lyr`.\n\nReturns **void**\n\n#### uuid\n\n**_[static]_** - Generate a UUID\nAdapted from <http://stackoverflow.com/a/2117523/526860>\n\nReturns **[String](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** UUID\n\n### LayerSwitcher#show\n\nEvent triggered after the panel has been shown.\nListen to the event via the `on` or `once` methods; for example:\n\n```js\nvar layerSwitcher = new LayerSwitcher();\nmap.addControl(layerSwitcher);\n\nlayerSwitcher.on('show', (evt) => {\n  console.log('show', evt);\n});\n```\n\n### LayerSwitcher#hide\n\nEvent triggered after the panel has been hidden.\n\n### Options\n\n**Extends ControlOptions, RenderOptions**\n\n**_[interface]_** - LayerSwitcher Options specified when creating a LayerSwitcher\ninstance, extends [RenderOptions](#renderoptions) and\n[Control Options](https://openlayers.org/en/latest/apidoc/module-ol_control_Control-Control.html#Control).\n\nDefault values:\n\n```javascript\n{\n  activationMode: 'mouseover',\n  startActive: false,\n  label: ''\n  collapseLabel: '\\u00BB',\n  tipLabel: 'Legend',\n  collapseTipLabel: 'Collapse legend',\n  groupSelectStyle: 'children',\n  reverse: false\n}\n```\n\n#### activationMode\n\nEvent to use on the button to collapse or expand the panel. Defaults to\n`\"mouseover\"`.\n\nType: (`\"mouseover\"` \\| `\"click\"`)\n\n#### startActive\n\nWhether panel is open when created. Defaults to `false`.\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### label\n\nText label to use for the button that opens the panel. E.g.: `''` (default), `'«'` or `'\\u00AB'`, `'+'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseLabel\n\nText label to use for the button that closes the panel. E.g.: `'»'` (default) or `'\\u00BB'`, `'-'` or `'\\u2212'`. Only used when `activationMode: 'mouseover'`.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### tipLabel\n\nThe button tooltip when the panel is closed.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### collapseTipLabel\n\nThe button tooltip when the panel is open.\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n### RenderOptions\n\n**_[interface]_** - LayerSwitcher Render Options as passed to [LayerSwitcher\nconstructor](#layerswitcher) as part of [Options](#options) and [static\nLayerSwitcher.renderPanel](#renderpanel)\n\n#### groupSelectStyle\n\nHow layers and groups behave when a given layer's visibility is set. See [GroupSelectStyle type for possible values](#groupselectstyle).\n\nType: [GroupSelectStyle](#groupselectstyle)\n\n#### reverse\n\nShould the order of layers in the panel be reversed?\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n### GroupSelectStyle\n\n**_[type]_** - How layers and groups behave when a given layer's visibility is set, either:\n\n- `'none'` - groups don't get a checkbox,\n- `'children'` (default) groups have a checkbox and affect child visibility or\n- `'group'` groups have a checkbox but do not alter child visibility (like QGIS).\n\nType: (`\"none\"` \\| `\"children\"` \\| `\"group\"`)\n\n### BaseLayerOptions\n\n**Extends [ol/layer/Base~Options](https://openlayers.org/en/latest/apidoc/module-ol_layer_Base.html#~Options)**\n\n**_[interface]_** - Extended BaseLayer Options interface adding properties\nused by the LayerSwitcher\n\n#### title\n\nTitle of the layer displayed in the LayerSwitcher panel\n\nType: [string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)\n\n#### type\n\nType of the layer, a layer of `type: 'base'` is treated as a base map\nlayer by the LayerSwitcher and is displayed with a radio button\n\nType: `\"base\"`\n\n### GroupLayerOptions\n\n**Extends [ol/layer/Group~Options](https://openlayers.org/en/latest/apidoc/module-ol_layer_Group.html#~Options), BaseLayerOptions**\n\n**_[interface]_** - Extended LayerGroup Options interface adding\nproperties used by the LayerSwitcher.\n\n#### combine\n\nWhen `true` child layers are not shown in the Layer Switcher panel\n\nType: [boolean](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean)\n\n#### fold\n\nFold state of the group, if set then the group will be displayed with a\nbutton to allow the user to show/ hide the child layers.\n\nType: (`\"open\"` \\| `\"close\"`)\n\n## Tests\n\nTo run the tests you'll need to install the dependencies via `npm`. In the root of the repository run:\n\n    npm install\n\nThen run the tests by opening [test/index.html](test/index.html) in a browser.\n\n## License\n\nMIT (c) Matt Walker.\n\n## Also see\n\nIf you find the layer switcher useful you might also like the\n[ol-popup](https://github.com/walkermatt/ol-popup).\n\n## Publishing\n\n    npm run build\n    # Open ./tests/ in browser\n    # Open examples and manually test\n    # Determine new version number (check current with `git tag --list`, check npm and GitHub)\n    # Update version number in `package.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit package.json CHANGELOG.md README.md\n    git tag vX.Y.Z\n    git push origin master --tags\n    npm publish\n\n### Beta release\n\n    npm run build\n    # Tests/ examples\n    # Beta version should be X.Y.Z-beta.N\n    # Update version number in `package.json` and `README.md`\n    # Add entry to CHANGELOG.md\n    git commit package.json CHANGELOG.md README.md\n    git tag vX.Y.Z-beta.N\n    git push --tags\n    npm publish --tag beta\n    # To list all version on npm\n    npm show ol-layerswitcher versions --json\n","readmeFilename":"README.md","users":{"walkermatt":true},"contributors":[{"name":"Thomas Gratier","email":"thomas_gratier@yahoo.fr"},{"name":"Poul Kjeldager Sørensen","email":"pks@s-innovations.net"},{"name":"Micho García","email":"micho.garcia@geomati.co"},{"name":"olivierdalang","email":"olivier.dalang@gmail.com"},{"name":"Peter Goulborn","email":"petergoulborn@astuntechnology.com"}]}