{"_id":"maplibre-gl-streetview","_rev":"9-f66b4254c668273184f1a974e6b0aa0a","name":"maplibre-gl-streetview","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"maplibre-gl-streetview","version":"0.1.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.1.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"c3090b91152350949780a0e1eaa88bcb1274f730","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.1.0.tgz","fileCount":62,"integrity":"sha512-Ic3U5dWmPvgu9uU6EWyzA4GUK/jeOg1f9tpPxPIUn9iTd5IdGZL/jFvvGe/riiZ5vs68l8sw5PAcASDlWQY8Yw==","signatures":[{"sig":"MEUCIQDyxWB7CPDJk8EBQpOZ5V3ryq+KWM2twELm5asA6z+Z2QIgFa2fvhbCZili2zg0oY8nfNxXuDZy75QobFWSQ2AuEjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466621},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"6ee3256388963621ab435cf97f6e7daf5ec28e5b","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"10.8.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.19.6","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.1.0_1768279103866_0.4334169768870866","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"maplibre-gl-streetview","version":"0.2.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.2.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"42977fa59510565cfd6e515481a84da6e86a2cd8","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.2.0.tgz","fileCount":62,"integrity":"sha512-rmwPnfzfDR8QMLVatgdq/KcmnhqjmqGPmy7zeH1hKcqBS0VviQoCa+MUf3F5dbQe0rHMal2ffTpvbKzf4ouWbw==","signatures":[{"sig":"MEQCIBp4NRjD5cEEVsaFjn6SbOIN6MNmeCYAC97gj+kIZkWQAiBKOXkWfm3b8oMRdFZOPTHjfTua79+UGBL8HBdk5rH8Fw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":467987},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"84e6a64293de2a36bba9207a1048663ee1f838f6","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"10.8.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.2.0_1769790402080_0.9856969705645784","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"maplibre-gl-streetview","version":"0.3.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.3.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"0ddb8d5f1560735707c6bcf57b7ff4206d79e57a","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.3.0.tgz","fileCount":62,"integrity":"sha512-PQnoqsQ43Y9WvEi5x6Cvd5R6+OIQMqxvem/2J2CXIO3FEXTb4QyJg9v4Q/lGQtSTFI1Ef2rtn0kbx2gzTUipQg==","signatures":[{"sig":"MEUCIQCggASxWQyKZcC55Ja8BVRYhwtPc5CAP8SMt2mxX/QP9gIgEv3MRyO3PvEfZ6rf/k0uVrA+17Ytdakb3V+pf+Qm4G0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468950},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"efb3a14189b6adeb849b16217e11693f50661964","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"10.8.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.3.0_1770785009340_0.7434547112685743","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"maplibre-gl-streetview","version":"0.3.1","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.3.1","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"116a08f2cfe2b4e4748354f6aa920e316a814037","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.3.1.tgz","fileCount":62,"integrity":"sha512-4dp1aJ/lj6nAZwc4w1+UqgoBD65Zpxzo4580c9yIS3EWUp5BlqXFhckejFBqW/zZRGqZ06Fp3NfIrvTXPb94zg==","signatures":[{"sig":"MEQCIEGgm8vv36SOuYCxjlWR8TFH3b8IUIuPpARTCsUJvXL2AiBLp/7U+TMJKFExFh+7jxX2tj0ZUs3WmRwMcB96DLHOYQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469572},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"a471b80a6389f07792a1781ac1f74146a3a00214","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"10.8.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.3.1_1770787825974_0.13426800113381043","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"maplibre-gl-streetview","version":"0.4.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.4.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"f64934c126815839621b13c0d8992ef5af227394","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.4.0.tgz","fileCount":64,"integrity":"sha512-526dZM0jEIfYbT94jb5vEVod70Aj2qsta3pt97HotMIvlY00A2H4EsGjqlfmEgfyWBzFoB3sNcHvsr1GKmDFOg==","signatures":[{"sig":"MEQCIHldfjVGLgRDTd6nei2yjwjLuOQJ4U5ItiK1WNCU9SxAAiBxQAKU7Wg4GXhFOXb3stijbIA4afDax0zcYenhoZ5ouA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":526462},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"2a6b9e954274b0acf806d641b84e5f0e291cfd7a","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"giswqs","email":"giswqs@gmail.com"},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"10.8.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"20.20.2","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.4.0_1780003534649_0.4271923079112543","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"maplibre-gl-streetview","version":"0.5.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.5.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"8f3246b006e077ec7d91fc8a45a866f12dbc34ae","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.5.0.tgz","fileCount":64,"integrity":"sha512-UXcOsThz9JlrIRfkZvrXENguoIfxHsQGFuTJiftHLGYPeZ5XLS21awGzDp0DeOHWNRoAUKlYmsFNCGoPMqePxw==","signatures":[{"sig":"MEQCIBIGaI7PIXZZ1nix2igpMb5rQzCQnw0Pwo6HcEv7+ZU5AiBMyhzWZP4NibGSSJTgyzKFx2WtOchQRYJgbdwyCB7hIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-streetview@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":555157},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"2bcc9153ffd5b24f2685a370b110d2d1396c46c8","scripts":{"dev":"vite","lint":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:85d6625f-3d40-40c7-aa01-bfb4f3958d2b"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"11.16.0","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","prettier":"^3.4.0","react-dom":"^18.3.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.5.0_1780797015375_0.35713613190738425","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"maplibre-gl-streetview","version":"0.6.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.6.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"6e2b59b1a4eb0907002d8fcf3c3611b91676e38b","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.6.0.tgz","fileCount":64,"integrity":"sha512-hDJFbtD75J8sN5/PPGm1HCRhhhV3H7Uw1rqMEgtQJPq9JAApPScjEeHJtuoZNFLzNkaxBcWVEJSDjq4ig2Wlrg==","signatures":[{"sig":"MEUCIBPBFrsvjQZz7FMWd1lSqhq0Nz/+LDKwgjFk055E2Z3kAiEAl0gQiKGrSNKBFbUaqx9ZAxGLl8gmga4kP49pPEsN6Gk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-streetview@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":562660},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"678d7f52e92846dd611514c127f2a68e134c60e6","scripts":{"dev":"vite","lint":"eslint . --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:85d6625f-3d40-40c7-aa01-bfb4f3958d2b"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"11.17.0","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","globals":"^15.14.0","prettier":"^3.4.0","react-dom":"^18.3.0","@eslint/js":"^9.17.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.6.0_1781480841094_0.592932449363649","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"maplibre-gl-streetview","version":"0.7.0","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","_id":"maplibre-gl-streetview@0.7.0","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"homepage":"https://github.com/opengeos/maplibre-gl-streetview","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"f9663897eb9a4e8b168e615da52366f217eae07e","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.7.0.tgz","fileCount":66,"integrity":"sha512-lGjLiMD0AhcBybeZwzIcBAxFP49yeobsFf/ez8I8KnxUOgQ/ZUv4EOtrMcpbku+VKc8lWCIiv1potfGQ1Ts3eg==","signatures":[{"sig":"MEUCIBvwB7NGC0yUZXrSid12LVVao7flHLMV/lMdMTfJ1TsMAiEAjYBI8Xku5rQIuSkkU4cdk4fihnqtrDTtY4Iptb8sa0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-streetview@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":620727},"main":"./dist/index.cjs","type":"module","types":"./dist/types/index.d.ts","module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"543a525b3b1859c7f84fa1fe0cd7f951c23ef663","scripts":{"dev":"vite","lint":"eslint . --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:85d6625f-3d40-40c7-aa01-bfb4f3958d2b"}},"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"11.17.0","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"24.16.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","globals":"^15.14.0","prettier":"^3.4.0","react-dom":"^18.3.0","@eslint/js":"^9.17.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/maplibre-gl-streetview_0.7.0_1781894453920_0.05981952902708154","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"_id":"maplibre-gl-streetview@0.8.0","bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"dist":{"shasum":"b705eaf211217c0a6c1255dc6cbc82032289ef6c","tarball":"https://registry.npmjs.org/maplibre-gl-streetview/-/maplibre-gl-streetview-0.8.0.tgz","fileCount":66,"integrity":"sha512-ftMaazK29uVmpAHs9ZLbjfwnzn96e9vMjWFKll4D6ziteAjTslMW5KZC8PRDPK8730PiOm49fRpMOMIHb3WRGA==","signatures":[{"sig":"MEUCIC1HxBo38v366Mb9PfVL0dLIT1bgK40vV94K8hBd+9znAiEAitEGDLXdHkxvzr+Y6FUCVw2wfs9RyjfeQtOQlG2ezRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCbMVajYWyyE9TIaupLqfUkBWArOMCkp0zMzsnTw84gfgIgZN4IC4ZBdbZ+G+Jjsw/7OVEo/3hZGLHvbVxEFKpHnzo="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/maplibre-gl-streetview@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":627486},"main":"./dist/index.cjs","name":"maplibre-gl-streetview","type":"module","types":"./dist/types/index.d.ts","author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"module":"./dist/index.mjs","exports":{".":{"import":{"types":"./dist/types/index.d.ts","default":"./dist/index.mjs"},"require":{"types":"./dist/types/index.d.ts","default":"./dist/index.cjs"}},"./react":{"import":{"types":"./dist/types/react.d.ts","default":"./dist/react.mjs"},"require":{"types":"./dist/types/react.d.ts","default":"./dist/react.cjs"}},"./style.css":"./dist/maplibre-gl-streetview.css"},"gitHead":"57754719c674abeb95a191d9b2d1419e9f87a591","license":"MIT","scripts":{"dev":"vite","lint":"eslint . --report-unused-disable-directives --max-warnings 0","test":"vitest --run","build":"tsc -p tsconfig.build.json && vite build","format":"prettier --write \"src/**/*.{ts,tsx,css}\"","preview":"vite preview","test:ui":"vitest --ui","test:coverage":"vitest --coverage","build:examples":"vite build --config vite.examples.config.ts","prepublishOnly":"npm run build"},"version":"0.8.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:85d6625f-3d40-40c7-aa01-bfb4f3958d2b"}},"homepage":"https://github.com/opengeos/maplibre-gl-streetview","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"_npmVersion":"12.0.2","description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","directories":{},"maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"sideEffects":["*.css"],"_nodeVersion":"24.20.0","dependencies":{"mapillary-js":"^4.1.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.0","jsdom":"^25.0.0","react":"^18.3.0","eslint":"^9.17.0","vitest":"^2.1.0","globals":"^15.14.0","prettier":"^3.4.0","react-dom":"^18.3.0","@eslint/js":"^9.17.0","@vitest/ui":"^2.1.0","typescript":"^5.7.0","@types/node":"^22.0.0","maplibre-gl":"^5.0.0","@types/react":"^18.3.0","vite-plugin-dts":"^4.3.0","@types/react-dom":"^18.3.0","@vitejs/plugin-react":"^4.3.0","@testing-library/react":"^16.0.0","@typescript-eslint/parser":"^8.18.0","@testing-library/user-event":"^14.5.0","@typescript-eslint/eslint-plugin":"^8.18.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","maplibre-gl":">=3.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/maplibre-gl-streetview_0.8.0_1789555546228_0.3383450283341656"}}},"time":{"created":"2026-01-13T04:38:23.865Z","modified":"2026-09-16T10:45:46.654Z","0.1.0":"2026-01-13T04:38:24.053Z","0.2.0":"2026-01-30T16:26:42.232Z","0.3.0":"2026-02-11T04:43:29.526Z","0.3.1":"2026-02-11T05:30:26.128Z","0.4.0":"2026-05-28T21:25:34.780Z","0.5.0":"2026-06-07T01:50:15.520Z","0.6.0":"2026-06-14T23:47:21.257Z","0.7.0":"2026-06-19T18:40:54.156Z","0.8.0":"2026-09-16T10:45:46.334Z"},"bugs":{"url":"https://github.com/opengeos/maplibre-gl-streetview/issues"},"author":{"name":"Qiusheng Wu","email":"giswqs@gmail.com"},"license":"MIT","homepage":"https://github.com/opengeos/maplibre-gl-streetview","keywords":["maplibre","maplibre-gl","street-view","streetview","google-street-view","mapillary","panorama","map","plugin","control","react","typescript"],"repository":{"url":"git+https://github.com/opengeos/maplibre-gl-streetview.git","type":"git"},"description":"Street View control for MapLibre GL JS with Google Street View and Mapillary support","maintainers":[{"name":"giswqs","email":"giswqs@gmail.com"}],"readme":"# maplibre-gl-streetview\n\n[![npm version](https://badge.fury.io/js/maplibre-gl-streetview.svg)](https://www.npmjs.com/package/maplibre-gl-streetview)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Open in CodeSandbox](https://img.shields.io/badge/Open%20in-CodeSandbox-blue?logo=codesandbox)](https://codesandbox.io/p/github/opengeos/maplibre-gl-streetview)\n[![Open in StackBlitz](https://img.shields.io/badge/Open%20in-StackBlitz-blue?logo=stackblitz)](https://stackblitz.com/github/opengeos/maplibre-gl-streetview)\n\nA Street View control for [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) with support for both **Google Street View** and **Mapillary** imagery.\n\n## Features\n\n- **Dual Provider Support**: Switch between Google Street View and Mapillary imagery\n- **Click-to-View**: Click anywhere on the map to view street-level imagery\n- **Interactive Viewers**:\n  - Google Street View: Interactive 360° panoramas via iframe embed\n  - Mapillary: Full MapillaryJS viewer with navigation\n- **Collapsible & Resizable Panel**: Adjustable panel that doesn't obstruct the map\n- **Direction Marker**: Map marker showing current view location and heading direction\n- **Nearest Coverage Search**: Automatically finds nearby imagery when none exists at clicked location\n- **React Support**: Full React integration with hooks and wrapper component\n- **TypeScript**: Written in TypeScript with complete type definitions\n\n## Installation\n\n```bash\nnpm install maplibre-gl-streetview\n```\n\n## Quick Start\n\n### Vanilla JavaScript/TypeScript\n\n```typescript\nimport maplibregl from 'maplibre-gl';\nimport { StreetViewControl } from 'maplibre-gl-streetview';\nimport 'maplibre-gl/dist/maplibre-gl.css';\nimport 'maplibre-gl-streetview/style.css';\nimport 'mapillary-js/dist/mapillary.css'; // Required for Mapillary viewer\n\nconst map = new maplibregl.Map({\n  container: 'map',\n  style: 'https://demotiles.maplibre.org/style.json',\n  center: [-122.4194, 37.7749],\n  zoom: 14,\n});\n\nmap.on('load', () => {\n  const streetView = new StreetViewControl({\n    googleApiKey: 'YOUR_GOOGLE_MAPS_API_KEY',\n    mapillaryAccessToken: 'YOUR_MAPILLARY_ACCESS_TOKEN',\n    defaultProvider: 'google',\n    panelWidth: 400,\n    panelHeight: 300,\n  });\n\n  map.addControl(streetView, 'top-right');\n\n  // Listen for events\n  streetView.on('locationchange', (event) => {\n    console.log('Viewing:', event.state.location);\n  });\n});\n```\n\n### React\n\n```tsx\nimport { useEffect, useRef, useState } from 'react';\nimport maplibregl, { Map } from 'maplibre-gl';\nimport { StreetViewControlReact, useStreetViewState } from 'maplibre-gl-streetview/react';\nimport 'maplibre-gl/dist/maplibre-gl.css';\nimport 'maplibre-gl-streetview/style.css';\nimport 'mapillary-js/dist/mapillary.css';\n\nfunction App() {\n  const mapContainer = useRef<HTMLDivElement>(null);\n  const [map, setMap] = useState<Map | null>(null);\n  const { state, toggle, setProvider } = useStreetViewState();\n\n  useEffect(() => {\n    if (!mapContainer.current) return;\n\n    const mapInstance = new maplibregl.Map({\n      container: mapContainer.current,\n      style: 'https://demotiles.maplibre.org/style.json',\n      center: [-122.4194, 37.7749],\n      zoom: 14,\n    });\n\n    mapInstance.on('load', () => setMap(mapInstance));\n\n    return () => mapInstance.remove();\n  }, []);\n\n  return (\n    <div style={{ width: '100%', height: '100vh' }}>\n      <div ref={mapContainer} style={{ width: '100%', height: '100%' }} />\n\n      {map && (\n        <StreetViewControlReact\n          map={map}\n          googleApiKey=\"YOUR_GOOGLE_MAPS_API_KEY\"\n          mapillaryAccessToken=\"YOUR_MAPILLARY_ACCESS_TOKEN\"\n          collapsed={state.collapsed}\n          defaultProvider={state.activeProvider}\n          onStateChange={(newState) => console.log(newState)}\n        />\n      )}\n    </div>\n  );\n}\n```\n\n## API Keys\n\n### Google Maps API Key\n\n1. Go to [Google Cloud Console](https://console.cloud.google.com/)\n2. Create a new project or select existing one\n3. Enable the **Maps Embed API**\n4. Create an API key in Credentials\n\n### Mapillary Access Token\n\n1. Sign up at [Mapillary](https://www.mapillary.com/)\n2. Go to [Developer Dashboard](https://www.mapillary.com/dashboard/developers)\n3. Create a new application\n4. Copy your client access token\n\nThe control panel also includes a `Keys` tab by default, so users can enter a Google Maps API key or Mapillary access token at runtime. Set `showApiKeyInputs: false` to hide that tab.\n\n## Options\n\n### StreetViewControlOptions\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `collapsed` | `boolean` | `true` | Start with panel collapsed |\n| `position` | `string` | `'top-right'` | Control position on map |\n| `title` | `string` | `'Street View'` | Panel header title |\n| `panelWidth` | `number` | `400` | Panel width in pixels |\n| `panelHeight` | `number` | `300` | Panel height in pixels |\n| `defaultProvider` | `'google' \\| 'mapillary'` | `'google'` | Default imagery provider |\n| `googleApiKey` | `string` | - | Google Maps API key |\n| `mapillaryAccessToken` | `string` | - | Mapillary access token |\n| `showApiKeyInputs` | `boolean` | `true` | Show the `Keys` tab for Google Maps and Mapillary credentials |\n| `clickToView` | `boolean` | `true` | Enable click-to-view on map |\n| `showMarker` | `boolean` | `true` | Show marker at view location |\n| `maxSearchRadius` | `number` | `100` | Max search radius for nearest imagery (meters) |\n| `markerOptions` | `MarkerOptions` | - | Customize marker appearance |\n| `createMarker` | `CreateStreetViewMarker` | maplibre-gl's `Marker` | Build the location marker with another engine's marker class |\n\n### MarkerOptions\n\n| Option | Type | Default | Description |\n|--------|------|---------|-------------|\n| `color` | `string` | `'#ff5722'` | Marker dot color |\n| `showDirection` | `boolean` | `true` | Show direction indicator |\n| `directionColor` | `string` | `'#1976d2'` | Direction arrow color |\n\n### Running on Mapbox GL JS\n\nThe control is written against the Style Spec surface both engines share, with\none exception: the location marker. MapLibre's `Marker` reads `map._camera.transform`\non every move, which a `mapbox-gl` map does not have, so it throws there on the\nfirst map click. Pass `createMarker` to place the control's own marker element\nwith Mapbox's class instead:\n\n```javascript\nimport mapboxgl from 'mapbox-gl';\n\nconst streetView = new StreetViewControl({\n  googleApiKey: 'YOUR_GOOGLE_MAPS_API_KEY',\n  createMarker: (options) => new mapboxgl.Marker(options),\n});\n\nmap.addControl(streetView);\n```\n\nThe factory receives `{ element, anchor: 'center' }` — the marker element the\ncontrol built and styled — and must return something with `setLngLat`, `addTo`\nand `remove` (`StreetViewMarkerHandle`). Both libraries' `Marker` classes\nalready satisfy that, so the one-liner above is the whole integration.\n\n## Events\n\n| Event | Description |\n|-------|-------------|\n| `expand` | Panel expanded |\n| `collapse` | Panel collapsed |\n| `statechange` | Any state change |\n| `providerchange` | Provider switched |\n| `locationchange` | View location changed |\n| `headingchange` | View heading changed |\n| `pitchchange` | View pitch changed |\n| `load` | Imagery loaded |\n| `error` | Error occurred |\n\n```typescript\nstreetView.on('statechange', (event) => {\n  console.log('State:', event.state);\n});\n\nstreetView.on('error', (event) => {\n  console.error('Error:', event.error);\n});\n```\n\nWhen a provider rejects the configured credentials, the panel shows a dedicated\n\"Authentication failed\" message (rather than \"no coverage\"), and the `error`\nevent carries a `StreetViewAuthError`:\n\n```typescript\nimport { StreetViewAuthError } from 'maplibre-gl-streetview';\n\nstreetView.on('error', (event) => {\n  if (event.error instanceof StreetViewAuthError) {\n    console.warn(`Check your ${event.error.provider} credentials.`);\n  }\n});\n```\n\n## Methods\n\n| Method | Description |\n|--------|-------------|\n| `toggle()` | Toggle panel visibility |\n| `expand()` | Expand the panel |\n| `collapse()` | Collapse the panel |\n| `setProvider(provider)` | Switch to a provider |\n| `showStreetView(lngLat, viewOptions?)` | Show street view at location, optionally with initial heading/pitch |\n| `setHeading(heading)` | Set view heading in degrees (0-360) |\n| `setPitch(pitch)` | Set view pitch in degrees (-90 to 90) |\n| `clearStreetView()` | Clear current street view |\n| `getState()` | Get current state |\n\n### Controlling Heading and Pitch\n\n```typescript\n// Show street view facing east, tilted slightly up\nstreetView.showStreetView([-122.4194, 37.7749], { heading: 90, pitch: 10 });\n\n// Adjust the current view afterward\nstreetView.setHeading(180);\nstreetView.setPitch(-15);\n```\n\nHeading and pitch are fully supported for Google Street View. For Mapillary,\nheading is applied best-effort to 360 panoramas and pitch is ignored. When\n`viewOptions` is omitted, the provider's default view is used.\n\n## React Hooks\n\n### useStreetViewState\n\nState management hook for the street view control.\n\n```typescript\nconst {\n  state,\n  toggle,\n  expand,\n  collapse,\n  setProvider,\n  setLoading,\n  reset,\n} = useStreetViewState({ collapsed: true });\n```\n\n### useStreetViewProvider\n\nProvider configuration helper hook.\n\n```typescript\nconst {\n  availableProviders,\n  isProviderAvailable,\n  getDefaultProvider,\n  hasAnyProvider,\n} = useStreetViewProvider({\n  google: { enabled: true, apiKey: 'key' },\n  mapillary: { enabled: true, accessToken: 'token' },\n});\n```\n\n## Development\n\n```bash\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n\n# Run tests\nnpm test\n\n# Build library\nnpm run build\n\n# Build examples\nnpm run build:examples\n```\n\n## Environment Variables\n\nCreate a `.env` file in the project root:\n\n```env\nVITE_GOOGLE_MAPS_API_KEY=your_google_api_key\nVITE_MAPILLARY_ACCESS_TOKEN=your_mapillary_token\n```\n\n## Live Demo\n\nVisit the [GitHub Pages demo](https://opengeos.github.io/maplibre-gl-streetview/) to see the plugin in action.\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Author\n\n[Qiusheng Wu](https://github.com/giswqs)\n\n## Contributing\n\nContributions are welcome! Please open an issue or submit a pull request.\n","readmeFilename":"README.md"}