{"_id":"@delta10/atlas-sdk","_rev":"15-257de7e974b1300552133085f65070d3","name":"@delta10/atlas-sdk","dist-tags":{"latest":"0.2.2"},"versions":{"0.1.0":{"name":"@delta10/atlas-sdk","version":"0.1.0","_id":"@delta10/atlas-sdk@0.1.0","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"62ed3f98d1a0842c99a5b5629e1a6cd15f3c1442","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.0.tgz","fileCount":21,"integrity":"sha512-FnHY2RwgPLHLDwyyUNgWrOAGjztQ+zM5rlYPwdKWgzIC62Y3wCMrNiA8cQ8/7dDE+gpgLAajEOs0SqLza7bjrQ==","signatures":[{"sig":"MEUCIDc9InCrPgLEZk0RYQ1gVFEujZDFa/TCNinI5JWCHOKaAiEArvDfUfOoB9ColkYsVhl+G2uuTdv7ARIH/fRS+9G2uSs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5192214},"main":"./dist/atlas-sdk.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css"},"gitHead":"0575f3d6ba2abe9991f01db267a9dc9305680cba","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for Zaanstad Atlas.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-plugin-dts":"4.5.4","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.0_1772365479226_0.8855374136018075","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@delta10/atlas-sdk","version":"0.1.1","_id":"@delta10/atlas-sdk@0.1.1","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"357aea0bd1f92aacb5cd539ed1da08add7db085c","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.1.tgz","fileCount":22,"integrity":"sha512-erPVY3zEX45sB8X7Roo7GTeBQEEBGPu2w1OdfRWJt7vo1pLebmqXG5qFXspAAzClG2Xh5EW4t36HOJCDZ5FOew==","signatures":[{"sig":"MEQCIC05YrxNsAZzBq/8EclsqrFRCpz9Ywa789TWV9DurG3QAiBY0JBnevjyV+L8YsjE/jPuyYw02j3O6iOi2ZhVlDf7vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5210288},"main":"./dist/atlas-sdk.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css"},"gitHead":"41b1f09dde8ec3e938667b18d7120e7d83c794c4","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-plugin-dts":"4.5.4","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.1_1772365814131_0.3042307643558997","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@delta10/atlas-sdk","version":"0.1.2","_id":"@delta10/atlas-sdk@0.1.2","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"eb1f889b7be0848e5e2dbeeaa345f2f4dd7ee15f","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.2.tgz","fileCount":20,"integrity":"sha512-URfwJtaWiPTkoGd4CNHUmbTCPmj4jEhDcl7+LMaQJcHsAOiItpsu1pyrWgYeMKLlroCRW9Oj9g9inAPywVLGGQ==","signatures":[{"sig":"MEYCIQDo9XO2UHkKL0zYXOcqUVfLRThzQHvcKqddygD7rUFbzgIhALF+EDxUuaNuC1XMKmdAtleGpuH6JQmy9NRc/zj2wjt5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2215653},"main":"./dist/atlas-sdk.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css"},"gitHead":"114153819fc9d0be5c6c21f637ca6b31d1fa827d","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-plugin-dts":"4.5.4","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.2_1772398946213_0.3856322242794281","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@delta10/atlas-sdk","version":"0.1.3","_id":"@delta10/atlas-sdk@0.1.3","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"4001f75f3aca700db0f9ecc9f195253ec6f5217b","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.3.tgz","fileCount":20,"integrity":"sha512-ogHicnX6WOeoeWcid5JI+a24hRG0kjwnIhv1NijsFEwIED3li/83wIBHxKeyaIgI3tTorPtwcxKZ9Ca91V1vdg==","signatures":[{"sig":"MEYCIQDxjlwG3X0KXYi96oHqWXZ6zr1TGHDJk8NFQX27pg/h4wIhAKwus3iF9hznHA6BHMMdvwOHiCBFYFq2ntoth3FcQk7+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2215585},"main":"./dist/atlas-sdk.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css"},"gitHead":"e5d6f651df9bb1fd949d9c184dc05a2b3e2595d4","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-plugin-dts":"4.5.4","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.3_1772399159360_0.19292093070201766","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@delta10/atlas-sdk","version":"0.1.4","_id":"@delta10/atlas-sdk@0.1.4","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"7b2f3d78d4fb31df70b520d427b1ef7893b960ed","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.4.tgz","fileCount":30,"integrity":"sha512-p+2srRF+h763z242uzlSN/As04DiuNkThlYpcTXX5y2x1pd9UqZbATllH3xTxn4QglNs77t7yvTjl8NsxnDc5g==","signatures":[{"sig":"MEUCIBjMosHrJrcOlPhIwt85/+m1JoR7KeT2Z+Qp+R7eOS24AiEAijEcXQ/ZGcw6P7VygOI/PQd+bVEhKmF8gXg2iNDmAX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5198701},"main":"./dist/atlas-sdk.umd.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css"},"gitHead":"d103e947275f15202892d1f0d1886c4f063312e1","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.4_1772531442255_0.6650214753254788","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@delta10/atlas-sdk","version":"0.1.5","_id":"@delta10/atlas-sdk@0.1.5","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"96634dffe6fcab70f2892e0d25551533b0acc755","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.5.tgz","fileCount":30,"integrity":"sha512-/+Koq+1K36F5bsJ7mJBotMYrD0mF26qQwAsk0n1KiK07CZ+o8AWany12Cy+JFnnYPIKyBYLt0Y4J1MSgpfb0NA==","signatures":[{"sig":"MEQCIAI+DLm0DZegDuZnWt7o5GjfK6ZoL/bYtFjdYjLqLMgEAiBkrsbrm/qrH5wlBNfcLyj53jSiuLaZ7tNbzj+s/FD2Hw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5198775},"main":"./dist/atlas-sdk.umd.cjs","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"4abfb128265edb5b8189c2cefb69ab852e54df5f","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","vue":"3.5.24","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.5_1773425149477_0.9953565595490703","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@delta10/atlas-sdk","version":"0.1.6","_id":"@delta10/atlas-sdk@0.1.6","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"dc69b5b9d1e546a2275423586c764dbdb5d6d895","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.6.tgz","fileCount":20,"integrity":"sha512-d+FlcVcCJL71XOnyCaKw/HFBHvFWp+FlR7VE/uUOXCF0VqZy3q1M7FYYUwDHrtdtRW9sZrPaCjh1lBhmr0omOQ==","signatures":[{"sig":"MEYCIQCfHJhu1XRGqon0WJsc7dfh+FP/9YBsM9G8SxvaPE21FwIhANrFt7B+X3Y2Inp+lvkq++kJV8T/l9yG3L8cyO6Jg+9s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2216014},"main":"./dist/atlas-sdk.umd.cjs","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"3e524cbbfbde9113bc97055d137884629893ee4f","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":"^3.4.0"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.6_1773761123632_0.24121431056473175","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@delta10/atlas-sdk","version":"0.1.8","_id":"@delta10/atlas-sdk@0.1.8","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"6fe62894d913f95f1c9eea6bbcfb04f994e4ddc3","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.8.tgz","fileCount":30,"integrity":"sha512-YMSJvecJoTC7pC7nWHc6Q269XcAHo9gdxrlD3i3oF/cs6av0kugSnNvnDvKyXUq90u9lf48GAHEZb8QN7V5yvQ==","signatures":[{"sig":"MEUCIC361lXc3P8fzAHtYy1++sWl77yx7x2FZU9wZrZjsQckAiEAx1TB7P+sUTGlJEQad7izTEfsnPO8mQtlwXlTvCuYTFo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5199065},"main":"./dist/atlas-sdk.umd.cjs","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/atlas-sdk.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/atlas-sdk.js","require":"./dist/atlas-sdk.umd.cjs"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"cc159ff4cf72ed9de40e89f52bc6e79a1bd42e21","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.6.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ol":"10.7.0","proj4":"2.20.2","ol-ext":"4.0.37","ol-contextmenu":"5.5.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.8_1773764978178_0.6688543547158288","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@delta10/atlas-sdk","version":"0.1.9","_id":"@delta10/atlas-sdk@0.1.9","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"c41065137de82fd61420983dfc43b288c1d99bc0","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.9.tgz","fileCount":27,"integrity":"sha512-uT5wkK3wsS0ovlPc4pXA0KSkUk1J+jHY1pn3XDGxghI5nQkvWEha8jw7fPzjf2kzg0FNe9Jo/8xWmwciOvS9hw==","signatures":[{"sig":"MEUCIBT10An6m7XExrYivQUKccJ+kkirmOsNARzIeWOImgB1AiEAgJq2Kfyww8SkXQhICXFP4Md62T0tAjmFNOZQbWzv6J8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56442},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"60958934de97fe1e9e28a5925b87ca3e29801aa0","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","proj4":"2.20.2","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.9_1774557766843_0.544168936044239","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@delta10/atlas-sdk","version":"0.1.10","_id":"@delta10/atlas-sdk@0.1.10","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"ebad89ed1a2d1cabefea3f87afb41048c38188b4","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.10.tgz","fileCount":27,"integrity":"sha512-BUZRzg3DjgwKTkX15021SvKZu+0OtlsX9reycPOS+Zd/2JNxPbrcGkO1CgpFUO2UcENFe83OVBnHZkbjgVaQGw==","signatures":[{"sig":"MEQCIFgxP/9yJRwr6x8bnTcvFARlOmhlA8gdK6NQpYksbb3vAiBddEtX0UvtSPsI0kZ6IpS5wLQfaRlyz+YFZTkCsS9JDQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56624},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"615974d6b0e9c512172bb146c9a7eb1b2b3c67d8","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.10_1774558850501_0.6128654777334979","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@delta10/atlas-sdk","version":"0.1.11","_id":"@delta10/atlas-sdk@0.1.11","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"f87728e9f80bb7465f0f63fb34cfc21ce5237134","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.11.tgz","fileCount":7,"integrity":"sha512-zKl+0bgs+7BVRO8GPvUgIWrua2RI6qqcKbZDequrJbT0uRb9Vv2U6Mney1CUkXF3yaiII9HbjPg3YIKiEiKGyQ==","signatures":[{"sig":"MEUCIHizFRnNOloo/Eu2VKy96IY0S3qrcoYGs1VIGJRmWvrEAiEApdIEZi6GCFYTU7ft6j0sxy5JuCmZf2OJ5R55tJlqbOU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":649126},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"5ce2361a2bdf5b3d338a29dd7562d5e31adbca4b","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.11_1777298916108_0.6074272252525854","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@delta10/atlas-sdk","version":"0.1.12","_id":"@delta10/atlas-sdk@0.1.12","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"941991281c124a4570a701f085f494338ad14b34","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.1.12.tgz","fileCount":27,"integrity":"sha512-xFYvomhL9anAYPM2b4U8Q5ZLtT+8dpwGPGNL+KxFAyGs53THtmVLspQWpIOfPSQhkaX6NgOQ/qHUBPgs3cVR9A==","signatures":[{"sig":"MEUCIQDkUqb8AIUL55UwfmFN1G8c3ngBi5IKXEsBkQ7TE+vfpQIga7SWrR0hSXmKX5HawcNOi+bjvr43QaexyivNenzdn4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60582},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"99a6a3049d8ee1b04f7c6478aae55d57a9aa833c","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.1.12_1777382746542_0.689880035094504","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@delta10/atlas-sdk","version":"0.2.0","_id":"@delta10/atlas-sdk@0.2.0","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"02311968ef36a88a0c7a4ef2b00322e24305382f","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.2.0.tgz","fileCount":7,"integrity":"sha512-vM+B/ycEiezDQhb4PEsFZ3B37qsBpxATOpc1WyH8j5aWUZunpuTqzvrOlveREQhsxxMd3ZPZawIDNUMwyeXZIQ==","signatures":[{"sig":"MEQCIGNw55DPpXzwzuiltaf4F9r2vtwc1ye1eGCqGyXnPTEQAiBa26ozw95X4fw73crWVaPTUtK+T74nVFdxiLq18hMO6w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650662},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"0e4b73468de04e3fcf2bbefa2361204fc17322ac","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.2.0_1782914201090_0.8769579734104385","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@delta10/atlas-sdk","version":"0.2.1","_id":"@delta10/atlas-sdk@0.2.1","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"dist":{"shasum":"4d47662a11532bb6558f0d5cbf4d5404ad3e543f","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.2.1.tgz","fileCount":27,"integrity":"sha512-gQh6U55w+YTu7etB3JfUqXGa0hhlKp4eti4mJI9Uzq9W0slxQMdHMmNVYhRQ8GxWups5esXInjfQcfl4Q00DhA==","signatures":[{"sig":"MEQCIAOV6ZW/9lWxgUiHYtajr1rG6bqx6G/Fbm8c25US0JbaAiBaoLFTSgWslKMNS+/VrOCA921lvngPWopRkzWfte2RvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":64415},"main":"./dist/index.js","type":"module","style":"./dist/style.css","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"gitHead":"8c1f0bd4e92162629d9e46cff46d2ed42f5fa9ff","private":false,"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","preview":"vite preview","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json"},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"_npmVersion":"11.9.0","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"7.2.4","vue-tsc":"3.1.4","typescript":"5.9.3","@types/node":"24.10.1","@vue/tsconfig":"0.8.1","vite-svg-loader":"5.1.0","@vitejs/plugin-vue":"6.0.1"},"peerDependencies":{"vue":">=3.2.0 <4"},"_npmOperationalInternal":{"tmp":"tmp/atlas-sdk_0.2.1_1782914228879_0.184861798287844","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@delta10/atlas-sdk","private":false,"version":"0.2.2","type":"module","publishConfig":{"access":"public"},"main":"./dist/index.js","module":"./dist/index.js","style":"./dist/style.css","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./style.css":"./dist/style.css","./atlas-sdk.css":"./dist/style.css"},"scripts":{"dev":"vite","build":"vue-tsc -b && vite build","build:lib":"vue-tsc -b && vite build --mode library && vue-tsc --noEmit false --declaration --emitDeclarationOnly --outDir dist -p tsconfig.app.json","preview":"vite preview"},"peerDependencies":{"vue":">=3.2.0 <4"},"dependencies":{"ol":"10.7.0","vue3-openlayers":"12.2.2"},"devDependencies":{"@types/node":"24.10.1","@vitejs/plugin-vue":"6.0.1","@vue/tsconfig":"0.8.1","typescript":"5.9.3","vite":"7.2.4","vite-svg-loader":"5.1.0","vue-tsc":"3.1.4"},"gitHead":"7bb203b75dc3c37edd3a7a5ff33448c977e93608","_id":"@delta10/atlas-sdk@0.2.2","description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-EGVmIYwMvp1FSwQjftWreeAmhCpXoD4zk4qbNKbp3U8i6oyLcRwD4PvElUz8RNqdL99VM1jYBwJf4yjbL98R9w==","shasum":"482dd6d46ad926600bab33105616e775fa3a6504","tarball":"https://registry.npmjs.org/@delta10/atlas-sdk/-/atlas-sdk-0.2.2.tgz","fileCount":27,"unpackedSize":66031,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCi7NuiRZidGHIvBS+rYyWUfIDRgM0B+R7mmMx1HaZbvAIgEtm4iEnu4JM7Y/j+vZdg23s0hLC+4IaV3gP+jkwyYJE="}]},"_npmUser":{"name":"bartjkdp","email":"bart@jeukendrup.nl"},"directories":{},"maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/atlas-sdk_0.2.2_1784895543593_0.23885302079040827"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-01T11:44:39.131Z","modified":"2026-07-24T12:19:03.925Z","0.1.0":"2026-03-01T11:44:39.502Z","0.1.1":"2026-03-01T11:50:14.370Z","0.1.2":"2026-03-01T21:02:26.445Z","0.1.3":"2026-03-01T21:05:59.575Z","0.1.4":"2026-03-03T09:50:42.480Z","0.1.5":"2026-03-13T18:05:49.701Z","0.1.6":"2026-03-17T15:25:23.850Z","0.1.8":"2026-03-17T16:29:38.521Z","0.1.9":"2026-03-26T20:42:47.016Z","0.1.10":"2026-03-26T21:00:50.631Z","0.1.11":"2026-04-27T14:08:36.300Z","0.1.12":"2026-04-28T13:25:46.723Z","0.2.0":"2026-07-01T13:56:41.276Z","0.2.1":"2026-07-01T13:57:09.076Z","0.2.2":"2026-07-24T12:19:03.747Z"},"description":"A Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.","maintainers":[{"name":"bartjkdp","email":"bart@jeukendrup.nl"}],"readme":"# Zaanstad Atlas SDK\n\nA Vue 3 component library for interactive map visualization using OpenLayers, featuring support for multiple layer types (WMTS, WMS, Vector) and various map interactions.\n\n## Installation\n\n```bash\nnpm install @delta10/atlas-sdk\n```\n\n## Quick Start\n\n### Basic Usage\n\n```vue\n<script setup lang=\"ts\">\nimport { ref, onMounted } from 'vue'\nimport { Map } from '@delta10/atlas-sdk'\nimport '@delta10/atlas-sdk/style.css'\nimport type { LayerConfig, InteractionsConfig } from '@delta10/atlas-sdk'\n\nconst layers: LayerConfig[] = [\n  {\n    type: 'vector',\n    options: {\n      identifier: 'meetbouten',\n      title: 'Meetbouten',\n      features: [\n        {\n          type: 'Point',\n          coordinates: [120000, 487000],\n          properties: {\n            id: '123482',\n            geplaatst: false\n          }\n        }\n      ],\n      style: {\n        'circle-radius': 8,\n        'circle-fill-color': 'rgba(173, 216, 230, 0.6)',\n        'circle-stroke-color': 'blue',\n        'circle-stroke-width': 3,\n      }\n    }\n  }\n]\n\nconst baseLayers: LayerConfig[] = [\n  {\n    type: 'wmts',\n    options: {\n      identifier: 'referentiekaart',\n      title: 'Referentiekaart',\n      url: 'https://tiles.zaanstad.nl/mapproxy/service?REQUEST=GetCapabilities&service=wmts'\n    }\n  }\n]\n\nconst toggleableLayers: LayerConfig[] = [\n  {\n    type: 'wms',\n    options: {\n      identifier: 'bag-pand-bouwjaar',\n      title: 'BAG Pand Bouwjaar',\n      url: 'https://maps.zaanstad.nl/geoserver/wms',\n      layer: 'geo:bag_pand_bouwjaar'\n    }\n  }\n]\n\nconst interactions: InteractionsConfig = {\n  selectable: {\n    enabled: true,\n    layers: ['meetbouten'],\n    hitTolerance: 20,\n    style: {\n      'circle-radius': 8,\n      'circle-fill-color': 'red',\n      'circle-stroke-color': 'darkred',\n      'circle-stroke-width': 2,\n    }\n  }\n}\n\nconst mapRef = ref()\n\nconst onFeatureSelected = (event: any) => {\n  console.log('Features selected:', event.selected)\n}\n\nconst onFeatureModified = (event: any) => {\n  console.log('Features modified:', event.features)\n}\n\nconst onModifyCancelled = (event: any) => {\n  console.log('Modification cancelled:', event.features)\n}\n\nconst onMapClicked = (event: any) => {\n  console.log('Map clicked:', event.coordinate, event.pixel)\n}\n</script>\n\n<template>\n  <div style=\"width: 100%; height: 500px;\">\n    <Map\n      ref=\"mapRef\"\n      :layers=\"layers\"\n      :toggleableLayers=\"toggleableLayers\"\n      :baseLayers=\"baseLayers\"\n      :interactions=\"interactions\"\n      @featureSelected=\"onFeatureSelected\"\n      @featureModified=\"onFeatureModified\"\n      @modifyCancelled=\"onModifyCancelled\"\n      @mapClicked=\"onMapClicked\"\n    />\n  </div>\n</template>\n```\n\n## Map Component\n\nThe `Map` component is the main component of the SDK, providing an interactive map with support for multiple layer types and interactions.\n\n### Props\n\n- **`layers`** `LayerConfig[]` - Array of regular layers to display\n- **`baseLayers`** `LayerConfig[]` - Array of base layers (only one can be active)\n- **`toggleableLayers`** `LayerConfig[]` - Array of toggleable layers (users can show/hide)\n- **`interactions`** `InteractionsConfig` - Configuration for map interactions (select, modify, snap)\n- **`zoom`** `number` (default: `10`) - Initial zoom level\n- **`center`** `[number, number]` (default: `[120000, 487000]`) - Initial center coordinates\n\n### Events\n\n- **`@featureSelected`** - Emitted when features are selected. Payload: `{ selected: Feature[] }`\n- **`@featureModified`** - Emitted when features are modified. Payload: `{ features: Feature[] }`\n- **`@modifyCancelled`** - Emitted when a pending modification is cancelled. Payload: `{ features: Feature[] }`\n- **`@mapClicked`** - Emitted when the map is clicked. Payload: `{ coordinate: [number, number]; pixel: [number, number] }`\n\n### Methods\n\n- **`fitToFeatures(features)`** - Fit the map view to include all specified features with appropriate padding\n\nBasic usage:\n```typescript\nmapRef.value.fitToFeatures([\n  {\n    type: 'Polygon',\n    coordinates: [[[x1, y1], [x2, y2], ...]]\n  },\n  {\n    type: 'Point',\n    coordinates: [x, y]\n  }\n])\n```\n\nComplete example in a Vue component:\n```vue\n<script setup lang=\"ts\">\nimport { ref, onMounted } from 'vue'\nimport { Map } from '@delta10/atlas-sdk'\nimport type { LayerConfig } from '@delta10/atlas-sdk'\n\nconst mapRef = ref()\nconst features = [/* your features */]\n\nconst layers: LayerConfig[] = [\n  {\n    type: 'vector',\n    options: {\n      identifier: 'panden',\n      title: 'Panden',\n      features: features,\n      style: {\n        'fill-color': 'rgba(173, 216, 230, 0.6)',\n        'stroke-color': 'blue',\n        'stroke-width': 2\n      }\n    }\n  }\n]\n\n// Fit map to features on component mount\nonMounted(() => {\n  if (mapRef.value) {\n    mapRef.value.fitToFeatures(features)\n  }\n})\n</script>\n\n<template>\n  <Map ref=\"mapRef\" :layers=\"layers\" />\n</template>\n```\n\n## Layer Configuration\n\n### Vector Layer with Polygon\n```typescript\n{\n  type: 'vector',\n  options: {\n    identifier: 'panden',\n    title: 'Panden',\n    features: [\n      {\n        type: 'Polygon',\n        coordinates: [[\n          [116044.07, 495387.61],\n          [116036.43, 495385.83],\n          [116041.45, 495365.34],\n          [116048.78, 495366.99],\n          [116044.07, 495387.61]\n        ]]\n      }\n    ],\n    style: {\n      'fill-color': 'rgba(173, 216, 230, 0.6)',\n      'stroke-color': 'blue',\n      'stroke-width': 2\n    }\n  }\n}\n```\n\n### Vector Layer with Points\n```typescript\n{\n  type: 'vector',\n  options: {\n    identifier: 'meetbouten',\n    title: 'Meetbouten',\n    features: [\n      {\n        type: 'Point',\n        coordinates: [120000, 487000],\n        properties: {\n          id: '123482',\n          geplaatst: false\n        }\n      }\n    ],\n    style: {\n      'circle-radius': 8,\n      'circle-fill-color': 'rgba(173, 216, 230, 0.6)',\n      'circle-stroke-color': 'blue',\n      'circle-stroke-width': 3\n    }\n  }\n}\n```\n\n### WMTS Layer\n```typescript\n{\n  type: 'wmts',\n  options: {\n    identifier: 'referentiekaart',\n    title: 'Referentiekaart',\n    url: 'https://tiles.zaanstad.nl/mapproxy/service?REQUEST=GetCapabilities&service=wmts',\n    format: 'image/png' // optional, defaults to image/png\n  }\n}\n```\n\n### WMS Layer\n```typescript\n{\n  type: 'wms',\n  options: {\n    identifier: 'bag-pand-bouwjaar',\n    title: 'BAG Pand Bouwjaar',\n    url: 'https://maps.zaanstad.nl/geoserver/wms',\n    layer: 'geo:bag_pand_bouwjaar'\n  }\n}\n```\n\n## Styling\n\n### Static Styles\nVector layers support flat style properties:\n- `fill-color` - Fill color (e.g., 'rgba(255, 0, 0, 0.5)')\n- `stroke-color` - Stroke color (e.g., 'blue')\n- `stroke-width` - Stroke width in pixels\n- `circle-radius` - Circle radius in pixels\n- `circle-fill-color` - Circle fill color\n- `circle-stroke-color` - Circle stroke color\n- `circle-stroke-width` - Circle stroke width\n\n### Conditional Styles\n\nYou can create dynamic styles based on feature properties using flat style expressions with rules. Use OpenLayers expressions to conditionally set colors and other properties.\n\n#### Using Flat Style Expressions (Recommended)\n\n```typescript\n{\n  type: 'vector',\n  options: {\n    identifier: 'meetbouten',\n    title: 'Meetbouten',\n    features: meetboutenFeatures,\n    style: {\n      'circle-radius': 8,\n      'circle-fill-color': ['case', ['==', ['get', 'geplaatst'], true], 'blue', 'lightblue'],\n      'circle-stroke-color': 'blue',\n      'circle-stroke-width': 3,\n    }\n  }\n}\n```\n\nThis example checks if the `geplaatst` property equals `true`:\n- If true: circle fill color is `blue`\n- If false: circle fill color is `lightblue`\n\nSupported expression operators:\n- `'get'` - Read a feature property\n- `'case'` - Choose a value based on conditions\n- `'=='` - Equal to\n- `'coalesce'` - Use the first non-null value\n\n### OpenLayers Style Functions\n\nFor more control, vector layers can also use an OpenLayers style function. This is useful for resolution-dependent styling, feature labels, or logic that is easier to express in TypeScript:\n\n```typescript\nimport { Style, Stroke, Fill, Circle as CircleStyle, Text } from 'ol/style'\n\n{\n  type: 'vector',\n  options: {\n    identifier: 'meetbouten',\n    title: 'Meetbouten',\n    features: meetboutenFeatures,\n    styleFunction: (feature, _currentStyle, resolution) => {\n      if (resolution > 0.2) {\n        return []\n      }\n\n      const properties = feature.getProperties()\n      const isGeplaatst = properties.geplaatst === true\n      const featureId = properties.id || ''\n\n      return [new Style({\n        image: new CircleStyle({\n          radius: 20,\n          fill: new Fill({ color: 'white' }),\n          stroke: new Stroke({\n            color: isGeplaatst ? 'green' : 'red',\n            width: 2\n          })\n        }),\n        text: featureId ? new Text({\n          text: String(featureId),\n          fill: new Fill({ color: '#000' }),\n          stroke: new Stroke({ color: '#fff', width: 2 })\n        }) : undefined\n      })]\n    }\n  }\n}\n```\n\nReturning an empty array hides the feature for that render pass.\n\n## Interactions Configuration\n\n### Select Interaction\nAllow users to select features from specific layers:\n```typescript\n{\n  selectable: {\n    enabled: true,\n    layers: ['meetbouten'],\n    hitTolerance: 20,\n    style: {\n      'circle-radius': 8,\n      'circle-fill-color': 'red',\n      'circle-stroke-color': 'darkred',\n      'circle-stroke-width': 2\n    }\n  }\n}\n```\n\n### Modify Interaction\nAllow users to edit existing geometries directly on the configured layer:\n```typescript\n{\n  modify: {\n    enabled: true,\n    layer: 'meetbouten',\n    labelProperty: 'meetboutnummer', // Optional: feature property shown in the confirm/cancel overlay\n    pixelTolerance: 20, // Optional: edit tolerance in pixels for point symbols\n    filter: (feature) => feature.get('editable') === true // Optional: return false to prevent editing\n  }\n}\n```\n\nThe `labelProperty` value is read from the modified feature's `properties`. For example, if a feature has `properties: { id: '123482' }`, use `labelProperty: 'id'` to show that value in the confirmation overlay.\n\nThe optional `filter` callback receives the OpenLayers feature and layer. Return `false` to skip that feature for editing.\n\n### Snap Interaction\nSnap modified features to existing features:\n```typescript\n{\n  snap: {\n    enabled: true,\n    targetLayer: 'panden',\n    pixelTolerance: 10  // Optional: distance in pixels where snap activates (default: 8)\n  }\n}\n```\n\nThe `pixelTolerance` controls how close (in pixels) the cursor needs to be to snap to a feature. Adjust for your needs:\n- **Lower values** (e.g., 5-8 pixels) - More precise snapping, requires cursor to be very close\n- **Higher values** (e.g., 15-20 pixels) - Easier snapping, works from further away\n\n### Combined Interactions Example\n```typescript\nconst interactions: InteractionsConfig = {\n  selectable: {\n    enabled: true,\n    layers: ['meetbouten'],\n    style: {\n      'circle-radius': 8,\n      'circle-fill-color': 'red',\n      'circle-stroke-color': 'darkred',\n      'circle-stroke-width': 2\n    }\n  },\n  modify: {\n    enabled: true,\n    layer: 'meetbouten',\n    labelProperty: 'meetboutnummer'\n  },\n  snap: {\n    enabled: true,\n    targetLayer: 'panden'\n  }\n}\n```\n\n## Reactive Data\n\nLayer configuration can be reactive. Use `computed` when feature arrays are loaded or replaced after mount:\n\n```typescript\nconst pandenFeatures = ref<any[]>([])\nconst meetboutenFeatures = ref<any[]>([])\n\nconst layers = computed<LayerConfig[]>(() => [\n  {\n    type: 'vector',\n    options: {\n      identifier: 'panden',\n      title: 'Panden',\n      features: pandenFeatures.value\n    }\n  },\n  {\n    type: 'vector',\n    options: {\n      identifier: 'meetbouten',\n      title: 'Meetbouten',\n      features: meetboutenFeatures.value\n    }\n  }\n])\n\nonMounted(() => {\n  pandenFeatures.value = loadedPandenFeatures\n  meetboutenFeatures.value = loadedMeetboutenFeatures\n\n  mapRef.value?.fitToFeatures(loadedPandenFeatures)\n})\n```\n\n## Development\n\n### Install dependencies\n```bash\nnpm install\n```\n\n### Run development server\n```bash\nnpm run dev\n```\n\n### Build library\n```bash\nnpm run build:lib\n```\n\n### Preview production build\n```bash\nnpm run preview\n```\n\n## Project Structure\n\n- `src/components/Map.vue` - Main Map component\n- `src/components/panels/` - UI panels for layer and base layer controls\n- `src/utils/projections.ts` - Projection definitions (EPSG:28992)\n- `src/index.ts` - Library entry point\n- `dist/` - Built library files (generated)\n\n## License\n\nEUPL-1.2\n","readmeFilename":"README.md"}