{"_id":"@bsuite/nav-core","_rev":"17-3cff0f80e220f005e13fba83c1ac20f3","name":"@bsuite/nav-core","dist-tags":{"latest":"1.3.0"},"versions":{"0.1.0":{"name":"@bsuite/nav-core","version":"0.1.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.1.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"e89a79ff585f6f23b18b1880e0fc45c59b747d59","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.1.0.tgz","fileCount":12,"integrity":"sha512-+Fb/foSKCmWECC9WdPErp1VBQoRIblzKHAlzoEry9C+DnwLcRLEdzUYJfJaTLrvAIVw0DxuF62L7IXbhfNl+yg==","signatures":[{"sig":"MEYCIQDzqWBI2dtorNMFBG9ZXQkMdPSDKFpKvWv9OX8p0/BawQIhALTPAOT1I0Rv5dtvzGvFXi3fcCXnesLmhLYpcC1EO+Zu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11067},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"94d185f71f3ca578a808968cd071236ec59283a8","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"vitest":"^3.2.4","typescript":"~5.7.3"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.1.0_1772426869237_0.3165749245112546","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@bsuite/nav-core","version":"0.2.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.2.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"603d2926708b78eaa005a29b4dacfe432be3fc5a","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.2.0.tgz","fileCount":18,"integrity":"sha512-JZ8NHdzuJKFte591l7cflDTpjAJBN5t712y2qkCkuvT1ANCiEp4ipVNo8z2lza+y5oOvrCjF2RRH8S6wYTYw9w==","signatures":[{"sig":"MEYCIQCKR3jIUrQt4spPAFuIbmXz97PXwkM6qxFB5x1+wrS1MAIhAPeQdencRjb0aOF2hkVEiBVuezb0R6pjV9Di46iFRWKS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21506},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"ad72648ba35861b8339ecc1d0bb9b5d51dbd28b5","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"~5.7.3","@types/react":"^18.3.28","lucide-react":"^0.576.0","@vitejs/plugin-react":"^5.1.4","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.2.0_1773705456093_0.6397465533119253","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@bsuite/nav-core","version":"0.3.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.3.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"cd9d3a66637c9dc064c5d80b583cd45881581a1e","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.3.0.tgz","fileCount":27,"integrity":"sha512-Zczr87U7Kl2zkV2q8NKVXhx+U+jH/KUj+HwqfzgGQ7uv6aB07i+77SsygSJ3xHnM5CsDj8FxDCQI4C90oIy5uQ==","signatures":[{"sig":"MEUCIDBlU01IqCVA22LTPjrl7TKLhKscFYA6/p8NWM4pBMJHAiEA6fT2G2pDnP/p0GQHqOZZfLOMkrRBRXcPKcstQa11dN4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33022},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"3054a55b8b6a3ead93e4b33905edfa402d1c8c49","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"~5.7.3","@types/react":"^18.3.28","lucide-react":"^0.576.0","@vitejs/plugin-react":"^5.2.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.3.0_1776586300279_0.2678234715771961","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@bsuite/nav-core","version":"0.3.1","license":"UNLICENSED","_id":"@bsuite/nav-core@0.3.1","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"6f7d3450c3f7d6bbd86e31977f8635773a71d301","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.3.1.tgz","fileCount":27,"integrity":"sha512-KMu0CIMMf7H0/9JFZ4J1TQUB4qEbHOO5sbfvofQX1g1AQlYnGsB3CBhE1JmDFvqq6QbQw4pCZpLtkqBRvjttKg==","signatures":[{"sig":"MEUCIQDL4SCiVI758eOEwqYwIqWYA7dCuhlx3VWMdtVOZuPuQwIgJglwrluMNyDUgGgyRUkLiEzXPdtwGLuhi+2lBnn8P5Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33427},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"a1962a4bcbd1b06a2744bb3ff8d511ac551fde81","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"~5.7.3","@types/react":"^18.3.28","lucide-react":"^0.576.0","@vitejs/plugin-react":"^5.2.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.3.1_1776649574144_0.22660077961098968","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@bsuite/nav-core","version":"0.4.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.4.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"d414d07690466f306f4d6de7aec7a37434d7c8e5","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.4.0.tgz","fileCount":33,"integrity":"sha512-RGyMN2X0VntoX4oES4EfCcVQqpvbPRZSm0cpAl3aXznAWeotPJTzWsT80p86OTuFW7ejyhTGtNDud94bRt1gwA==","signatures":[{"sig":"MEYCIQCEypEO3Uv3JWU2JSkHWOHAJ9Z3owm4FJUUrKOe8siH5AIhAM/lKeZ9jfLOl+hWfyqwEA2ceyZwzV5RfMUxpQ5JB85u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45511},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"66904d0a2a413cef104b3da1f3e4a67c62062be3","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.7.0","directories":{},"_nodeVersion":"25.2.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"~5.7.3","@types/react":"^18.3.28","lucide-react":"^0.576.0","@vitejs/plugin-react":"^5.2.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.4.0_1776746366958_0.758402805963992","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@bsuite/nav-core","version":"0.5.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.5.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"25e47310e9dbcaabd570c282fd64f9bd98fb8f79","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.5.0.tgz","fileCount":36,"integrity":"sha512-Si15vuvLijgDAalDzgaO09u1gy7EMS/+aDAPjuW34DCsN7EmQf/r9X/sn71ssTKbj31Vc9tWrhpHZE7TVnXnCA==","signatures":[{"sig":"MEUCID6xsYhY+fb57EW4r00iLQ7WUZAbbFRVL7M2NB+2fiI8AiEApxfNQvE/xrv7jGuNgkwU0exfiJcTpXmyHF54svihPso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50651},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"d1900fe8c889fed5af87e6e23bf50b22ead79851","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.20.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^18.3.1","vitest":"^3.2.4","react-dom":"^18.3.1","typescript":"~5.7.3","@types/react":"^18.3.28","lucide-react":"^0.576.0","@vitejs/plugin-react":"^5.2.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.5.0_1776870604047_0.2878244082581036","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@bsuite/nav-core","version":"0.5.1","license":"UNLICENSED","_id":"@bsuite/nav-core@0.5.1","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"2c7636da608289c00edfe075729805140471957d","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.5.1.tgz","fileCount":36,"integrity":"sha512-zB8747CRrA03hQ9kwI7AtE91eT+5ST/j1RLMhogzo9b3SF0qJ3oczsUynT+xZZo5Y4xE2QCBqYuVk4ZVSbWuMQ==","signatures":[{"sig":"MEQCID8UG4nvu3JiS8lK6XuuRsYGhD+9qLlbCldxQYyAwSvWAiAaE7Ox0Clcc/kL03uZ7BzrwebmTHPHLtKo/b/xgN3WBA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50768},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"90d3ca7e026ed09f91e9b99791d2cc4f92587009","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"garyocean428","email":"braden.lang77@gmail.com"},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.11.0","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^28.1.0","react":"^19.2.4","vitest":"^3.2.4","react-dom":"^19.2.4","typescript":"~5.7.3","@types/react":"^19.2.14","lucide-react":"^0.576.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.2.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.5.1_1777906581474_0.4754614020189285","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@bsuite/nav-core","version":"0.7.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.7.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"bcf39f4509e2a32980fed385ad578b96a0606be7","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.7.0.tgz","fileCount":42,"integrity":"sha512-E7EP2GMpo92Mx1NIEQDBoC9WlvYlbhHaOSPx8XpC1femtphzmApAC/LZnH4ILOIu/BNYoGFM/G4pgsoJUCeo7A==","signatures":[{"sig":"MEYCIQCxs8exCSs1IY/13zF0LxxmSu8fru2kfQ+vShtLtiHkTwIhAOVd/Mwkx8q1S6cdfRRqPjoHrNs9XqPlHkseVD2J7QrZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59839},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"7df4b92059c7f3cba51004977d127bf360ba1ab7","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.10","jsdom":"^29.1.1","react":"^19.2.5","vitest":"^4.1.5","react-dom":"^19.2.5","typescript":"~6.0.3","@types/react":"^19.2.14","lucide-react":"^1.14.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.1","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.7.0_1779871960323_0.8393939683698031","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@bsuite/nav-core","version":"0.7.1","license":"UNLICENSED","_id":"@bsuite/nav-core@0.7.1","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"7a2bb2c163f022454e999b6e7b1bf91f3a1b3a90","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.7.1.tgz","fileCount":42,"integrity":"sha512-gaT4AmYMbCpmnTtjcmMbehLj2XVWZvxXSU4wqzNq6HVcS9OgsLKABch2HL8n4yX1Hw1+yrpSbgQiugpaBV/FQQ==","signatures":[{"sig":"MEUCICE5Pa1IrDpvF+AFBYssFWZzkhek7rTfiLIU+Dgb/4WzAiEAkj2ZKsmVD69TCO0F0zG+IuETlQ09ys0Gxjv342jZpIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":59729},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"bdc56286ccfa9e575ceb7f05518d61b032cc0ec0","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.7.1_1785733748285_0.955333416158809","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@bsuite/nav-core","version":"0.8.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.8.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"fcbf082b5b6d98a920ffa893b3912ba28ee3936d","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.8.0.tgz","fileCount":42,"integrity":"sha512-hG4CmZSzH7jAzPw772QkapOR9rSf85IdI/Y6Fays1Ns+SrKb8A7yvs+Kxk63ZDgmvBB6QZzUwBOfHPevEQa3RQ==","signatures":[{"sig":"MEUCIQCOqMTx+1GeD6eCbo930+mUc6mrfUUKrq7NUbkopuZWlAIgCX2r3Tw11eunymKr2bFRUUNsyz6hFVJKvnwXvZHY/Yc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70175},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"996d9e2b084a7bca7e5c463595bbf1d4bc923160","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.8.0_1786533616930_0.1203634930187365","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@bsuite/nav-core","version":"0.9.0","license":"UNLICENSED","_id":"@bsuite/nav-core@0.9.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"a2c64b7bf8ecf025d13f5327cd61654e19ea1700","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.9.0.tgz","fileCount":42,"integrity":"sha512-lGHqA2/5Zx0FNuyBZ5bIQNGlxBDTdFlP3QQZ2D4P5v+zChM6uLjWTwucevsQlMaXUJS8Luenw6/Wz1IFPM9fng==","signatures":[{"sig":"MEYCIQDl3sb1HMy4BAVLNbX9lUzlQbwXoZwVEm4yGWJwwxtKqQIhAKJOQ77NHbwghIYEtbm5vUwOaIBnIUPJxcZh7AyyXEHS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72768},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"c1fc75f8082d698001ff8ef4d9f15a5e36b84602","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.9.0_1786764022879_0.8237199679604905","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@bsuite/nav-core","version":"0.9.1","license":"UNLICENSED","_id":"@bsuite/nav-core@0.9.1","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"91867ea8674f85cf1fc42e6d36defb330da8a0a9","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-0.9.1.tgz","fileCount":42,"integrity":"sha512-4TsaoTpmPjzI8aq4aTCeYxqNrmCistDiBY8ET8sVdYU3WLRMzkry0nc+qo6jmSv/lyYL0b3Lh1SGmZ5Ld2o/OQ==","signatures":[{"sig":"MEUCIQDIhZxGeJhN27Okj3rqv3PQLhY2J/RfXBjRQ6Cxo7Qq1QIgWs7Nu1u9vPC4a0B286aJ3E/gSyHm5VSwfeOYRj5pR3s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73715},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"fd73a3ee4a70f2404ec9ef4c7eab59c123bfdb41","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_0.9.1_1786782574715_0.5900752789725519","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@bsuite/nav-core","version":"1.0.0","license":"UNLICENSED","_id":"@bsuite/nav-core@1.0.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"22f9ba44669a313894a2c3379198e2a3854f2fdf","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-1.0.0.tgz","fileCount":42,"integrity":"sha512-HSecDmm8of/mfGJVoMH/i1yPDkOb2BdPJayUSEl3bNYClX6UibZzBky6Omr27iHOO0BkneETfhB/a8JTBOy1zQ==","signatures":[{"sig":"MEQCICaI1yuAHoWmfh+zO49Uny/Iyo9ZrKwXwBWZT/F/h4UIAiBRNECKFzAL8uv5gwuvqLku5V8iDJDVFKcNPDGvCM1+1A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":73751},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"05b1ca7024750064bf5a8adc347ad4d01cdffb1a","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_1.0.0_1787049362653_0.8137937710550176","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bsuite/nav-core","version":"1.0.1","license":"UNLICENSED","_id":"@bsuite/nav-core@1.0.1","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"39858a2602141c50686c2cb68d1c61a33302ddb7","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-1.0.1.tgz","fileCount":42,"integrity":"sha512-3Cjd/wxTWIbcHVw6d+DNaMHKuyTYV+Jc8JH7LOj96Hwk1cvWICNKfHQdZLM6Ek3vK8hTGsGSoyOpt2iEne4R+w==","signatures":[{"sig":"MEUCIDxn5Qbnh62J6jKPtbdVvkTO2XjI0PdEh7Tu95TM7hvyAiEAxFLWr9aknjshcuDMl7KF3H9+8kUdirURqhQb1iLo3po=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":76408},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"222eec5a3e7a6e91ab3b8ca74a5dd43e54980f11","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_1.0.1_1787126300453_0.5219775193618559","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bsuite/nav-core","version":"1.1.0","license":"UNLICENSED","_id":"@bsuite/nav-core@1.1.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"29859c93c353029e4ea2d15fdfb80dfbf1ec942b","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-1.1.0.tgz","fileCount":42,"integrity":"sha512-CktMtaW21GUb0IP4EEP61izp30AoaACCIyLASuDaOx6QU1iEVQdWOacSWq5iQ+uO5yU9so7Uw74J1Ib+g0ACZQ==","signatures":[{"sig":"MEQCIEjYEXbNTMI5EKN9+/ace4ds9kq++iOpzFaafgZK+uhuAiBSQfl8Qh/gpDW1KL1PMytcezScgletXOoVHgyc4yDljQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":87602},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"f0605b5934e2e880a89d69119a7236d929470a39","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_1.1.0_1787565487730_0.7325876847878376","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@bsuite/nav-core","version":"1.2.0","license":"UNLICENSED","_id":"@bsuite/nav-core@1.2.0","maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"homepage":"https://github.com/GaryOcean428/bsuite#readme","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"dist":{"shasum":"d3484ed11e9f3b45c83147dd1e1750e357738c3e","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-1.2.0.tgz","fileCount":48,"integrity":"sha512-zSxhuhNdWMqSwITR++LZKk5p496EaRDHXV6W7vD9Fss2Adwq6feskR5zEQI3UgBnaWg2mQbGXL2n/560Zgcftw==","signatures":[{"sig":"MEUCIQCR/uzkhTNkqoBnxoeGEOXSkWii3BEhu3Aqco9elgvNjgIgf5UutrNJkQV5BHp+kDPz9fL810nok50xQuIHnAyA+ys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":99277},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./types":{"types":"./dist/types.d.ts","import":"./dist/types.js"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"gitHead":"a476225bcc1e8ea7a1fbe2efc5565cae30883045","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"repository":{"url":"git+https://github.com/GaryOcean428/bsuite.git","type":"git","directory":"packages/nav-core"},"_npmVersion":"11.9.0","directories":{},"_nodeVersion":"24.14.0","_hasShrinkwrap":false,"packageManager":"pnpm@10.33.3","devDependencies":{"vite":"^8.0.16","jsdom":"^29.1.1","react":"^19.2.7","vitest":"^4.1.8","react-dom":"^19.2.7","typescript":"~6.0.3","@types/react":"^19.2.17","lucide-react":"^1.17.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^6.0.2","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21"},"_npmOperationalInternal":{"tmp":"tmp/nav-core_1.2.0_1787989864507_0.5659700765240743","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@bsuite/nav-core","version":"1.3.0","type":"module","license":"UNLICENSED","repository":{"type":"git","url":"git+https://github.com/GaryOcean428/bsuite.git","directory":"packages/nav-core"},"main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","types":"./dist/index.d.ts"},"./types":{"import":"./dist/types.js","types":"./dist/types.d.ts"},"./vite":{"import":"./dist/vite.js","types":"./dist/vite.d.ts"},"./tokens/d2c-sidebar.css":"./src/tokens/d2c-sidebar.css","./tokens/corporate-sidebar.css":"./src/tokens/corporate-sidebar.css"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"vitest run"},"peerDependencies":{"react":">=18 <21","react-dom":">=18 <21","vite":">=6"},"peerDependenciesMeta":{"vite":{"optional":true}},"devDependencies":{"@testing-library/jest-dom":"^7.0.1","@testing-library/react":"^16.3.3","@types/node":"^26.4.0","@types/react":"^19.2.18","@types/react-dom":"^19.2.5","@vitejs/plugin-react":"^6.1.1","jsdom":"^30.0.1","lucide-react":"^1.37.0","react":"^19.2.8","react-dom":"^19.2.8","typescript":"^6.0.3","vite":"^8.2.2","vitest":"^4.1.11"},"packageManager":"pnpm@10.33.3","gitHead":"c2f3aa2efeb748e93a12eb9e4322a41eb2233cd7","_id":"@bsuite/nav-core@1.3.0","description":"App-agnostic navigation primitives for the BSuite apps: the sidebar state, the app switcher, the filtered nav, Speed Insights route naming — and, from 1.3.0, the platform update notice and the unsaved-work guard.","bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"homepage":"https://github.com/GaryOcean428/bsuite#readme","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-1S6S+6O1QLw2ZNAZm7QoBy16uklMad4cvqla4hMIGrJh7Qbpt6cr2Sj7EvWTOgrNvDb2/RAQwQN4L5C4Elr9pg==","shasum":"b6794d5074af5093f5dfc180f3e4fe579ad266ec","tarball":"https://registry.npmjs.org/@bsuite/nav-core/-/nav-core-1.3.0.tgz","fileCount":64,"unpackedSize":163522,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCSeWuoM0GSTVSc27tQ+g8RXK7J2dG7W3Jj/tuy8QAh4gIhAILEpkhR69yfICNg4B1iHFYZ1gOSWyJObsy3n91r3rl/"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ebef692a-e382-43f5-96cc-5b73f92c1479"}},"directories":{},"maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nav-core_1.3.0_1788420662416_0.21488176848936846"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-02T04:47:49.160Z","modified":"2026-09-03T07:31:02.702Z","0.1.0":"2026-03-02T04:47:49.392Z","0.2.0":"2026-03-16T23:57:36.242Z","0.3.0":"2026-04-19T08:11:40.423Z","0.3.1":"2026-04-20T01:46:14.302Z","0.4.0":"2026-04-21T04:39:27.091Z","0.5.0":"2026-04-22T15:10:04.171Z","0.5.1":"2026-05-04T14:56:21.617Z","0.7.0":"2026-05-27T08:52:40.457Z","0.7.1":"2026-08-03T05:09:08.434Z","0.8.0":"2026-08-12T11:20:17.079Z","0.9.0":"2026-08-15T03:20:23.033Z","0.9.1":"2026-08-15T08:29:34.857Z","1.0.0":"2026-08-18T10:36:02.829Z","1.0.1":"2026-08-19T07:58:20.610Z","1.1.0":"2026-08-24T09:58:07.862Z","1.2.0":"2026-08-29T07:51:04.640Z","1.3.0":"2026-09-03T07:31:02.567Z"},"bugs":{"url":"https://github.com/GaryOcean428/bsuite/issues"},"license":"UNLICENSED","homepage":"https://github.com/GaryOcean428/bsuite#readme","repository":{"type":"git","url":"git+https://github.com/GaryOcean428/bsuite.git","directory":"packages/nav-core"},"maintainers":[{"name":"garyocean428","email":"braden.lang77@gmail.com"}],"readme":"# @bsuite/nav-core\n\nApp-agnostic navigation primitives for the BSuite apps: the sidebar state,\nthe app switcher, the filtered nav, Speed Insights route naming — and, from\n1.3.0, the platform update notice and the unsaved-work guard.\n\nShips as an npm package because Vercel deploys each BSuite app from its own\nGitHub repo — the parent monorepo's `packages/` directory does NOT exist in the\nVercel build context. Consumers install from npm with a semver range.\n\n## Update notice and unsaved-work guard (v1.3.0+)\n\n**Operator directive 2026-09-03 10:48:** \"note there are people using the app\nin production i.e. actual clients so stage all work to development branch and\nthen ensure their is a platform notice and refresh to update prompt so they\ndont lose work on rebuilds.\"\n\nFour exports, one contract: **a rebuild announces itself; nothing reloads a\nclient's tab without their consent** (precedent\n`precedent__bsuite__20260903__no_code_path_reloads_a_clients_tab_without_consent`).\n\n| Export | Entry point | What it does |\n|---|---|---|\n| `useAppUpdateAvailable()` | `@bsuite/nav-core` | Compares the commit baked into the RUNNING bundle (`__BUILD_COMMIT__`) with the commit at `/version.json`. Any difference is `versionChanged`. Never reloads. |\n| `<UpdateAvailableBanner/>` | `@bsuite/nav-core` | `role=\"status\" aria-live=\"polite\"`, role tokens only, one Refresh button (confirms when a form is dirty), Dismiss (hidden when `severity: 'critical'`). `data-slot=\"update-available-banner\"` for the mount gate. |\n| `useUnsavedChanges()` / `useRegisterDirty()` | `@bsuite/nav-core` | A module-level dirty registry that arms ONE `beforeunload` while anything is dirty, plus `confirmLeave()` for the banner's Refresh. |\n| `versionJsonPlugin()` / `writeVersionJson()` | `@bsuite/nav-core/vite` | The BUILD half: defines `__BUILD_COMMIT__` and emits `dist/version.json` from ONE resolver. **Node-only — never import it from browser code.** |\n\n### How detection works\n\n- The plugin resolves the commit ONCE per build: `VERCEL_GIT_COMMIT_SHA`, then\n  `GIT_COMMIT`, then `git rev-parse HEAD`. With none of the three it **throws**\n  — a build that cannot identify itself cannot tell a client their tab is out\n  of date, and a placeholder such as `'local'` makes the check permanently\n  silent while every gate stays green. Pass\n  `allowUnknownCommit: mode !== 'production'` for local dev, where the plugin\n  then defines nothing, emits nothing, and the hook reports\n  `updateCheckBroken: 'no-build-commit'` and does nothing.\n- The comparison is **exact**: both halves come from the same resolver at the\n  same `commitLength`, so a length mismatch means an app kept a hand-rolled\n  `define.__BUILD_COMMIT__` beside the plugin. Remove the hand-rolled one.\n- Any difference is a change. The copy never says \"new\": Vercel's Instant\n  Rollback moves the deployed commit *backwards*, and a tab on the\n  rolled-back-from build is just as out of date.\n- Polling: on mount, every 10 minutes (`intervalMs`), and on every\n  `visibilitychange` to visible. `fetch(url, { cache: 'no-store' })`.\n- A broken check is **loud, never silent**: the `content-type` is asserted to\n  start with `application/json` BEFORE the body is parsed. A mismatch logs one\n  `console.error` (per distinct fault, not per poll), sets `updateCheckBroken`\n  (`'not-json' | 'bad-status' | 'malformed' | 'unreachable' | 'no-build-commit'`)\n  and keeps polling. Today a missing `/version.json` answers `200 text/html`\n  on every Vite app in this estate (the SPA catch-all rewrite) — that is the\n  failure this assertion exists to surface.\n- Dismissal is keyed by the **detected** commit in `sessionStorage`\n  (`bsuite:update-dismissed:<commit>`), so a later deploy re-shows the notice\n  and a fresh tab starts undismissed. An escalation (a chunk failing to load) clears\n  the dismissal for the current commit.\n- Control (`{ enabled, severity }`) is read by the app from its existing\n  system-notice source (slug `update-notice`) and passed straight through.\n  `enabled: false` is the kill switch — no banner, no polling, no deploy\n  needed. `severity: 'critical'` cannot be dismissed and re-shows on every\n  poll.\n\n### Adoption snippet (Vite apps)\n\n```ts\n// vite.config.ts\nimport { versionJsonPlugin } from '@bsuite/nav-core/vite'\n\nexport default defineConfig(({ mode }) => ({\n  plugins: [\n    react(),\n    versionJsonPlugin({ allowUnknownCommit: mode !== 'production' }),\n  ],\n  // REMOVE any hand-rolled `define: { __BUILD_COMMIT__: ... }` — the plugin owns it.\n}))\n```\n\n```tsx\n// the app shell — wherever the SystemNoticeBanner already sits\nimport { UpdateAvailableBanner } from '@bsuite/nav-core'\n\n<AppShell\n  banner={\n    <>\n      <SystemNoticeBanner />\n      <UpdateAvailableBanner\n        control={updateNotice /* { enabled, severity } from system_notices slug 'update-notice' */}\n        onRefresh={purgeStaleAppCachesThenReload /* crm7 only; others omit -> location.reload() */}\n        update={{\n          runningCommit: __BUILD_COMMIT__, // belt-and-braces: the app's own define site\n          onSignal: (raise) => {           // immediate triggers the app already has\n            const onPreload = () => raise('vite:preloadError')\n            window.addEventListener('vite:preloadError', onPreload)\n            return () => window.removeEventListener('vite:preloadError', onPreload)\n          },\n        }}\n      />\n    </>\n  }\n/>\n```\n\n```tsx\n// any form with real work in it\nimport { useRegisterDirty } from '@bsuite/nav-core'\n\nuseRegisterDirty(`apprentice-edit:${id}`, form.formState.isDirty)\n```\n\nFor a Next.js app (conduit) there is no `generateBundle`; serve the same shape\nfrom a route handler and share the writer so the two shapes cannot drift:\n\n```ts\n// src/app/version.json/route.ts\nimport { resolveBuildInfo } from '@bsuite/nav-core/vite'  // server-only file\nexport const dynamic = 'force-static'                     // resolved once, at build\nconst info = resolveBuildInfo({ commitLength: 'short' })\nif (!info) throw new Error('version.json: no build commit resolved (VERCEL_GIT_COMMIT_SHA / GIT_COMMIT / git)')\nexport function GET() {\n  return Response.json(info, {\n    headers: { 'Cache-Control': 'no-cache, no-store, must-revalidate' },\n  })\n}\n```\n\n### The rewrite exclusion (every Vite app's `vercel.json`)\n\nA missing `/version.json` must **404 honestly**, not answer the SPA index page.\nAdd `version\\.json` to the rewrite's negative-lookahead (crm7 / R80.4 shape), or\nan explicit exclusion in the catch-all shape (BSU / braden / throughput):\n\n```jsonc\n// negative-lookahead shape (crm7, R80.4)\n{ \"source\": \"/((?!api/|assets/|version\\\\.json|...).*)\", \"destination\": \"/index.html\" }\n\n// catch-all shape (business-suite-unified, braden, throughput)\n{ \"source\": \"/((?!version\\\\.json).*)\", \"destination\": \"/index.html\" }\n```\n\n### The Cache-Control rule\n\n`/version.json` must never be served from a CDN or browser cache — a cached\nanswer is the OLD build's answer, and the check silently agrees with the tab it\nis meant to correct. Every app's `vercel.json` already carries this for\n`/index.html`; add the same for `/version.json`, and make sure it does NOT\nfall under an `/assets/*` immutable rule:\n\n```json\n{\n  \"source\": \"/version.json\",\n  \"headers\": [\n    { \"key\": \"Cache-Control\", \"value\": \"no-cache, no-store, must-revalidate\" }\n  ]\n}\n```\n\n(conduit: the same via `next.config.ts` `headers()` or the route handler's\nresponse headers, and `/version.json` added to `publicMetadataPaths` in\n`src/lib/supabase/middleware.ts` so it is not redirected to login.)\n\n### The smoke check\n\nBefore trusting the banner on any domain, check what `/version.json` actually\nreturns there. Anything but `200` + `application/json` means the notice is\nwired to nothing:\n\n```bash\nfor d in suite crm conduit ideas r8 d.suite d.crm d.conduit d.ideas d.r8; do\n  printf '%-12s ' \"$d\"\n  curl -s -o /dev/null -w '%{http_code} %{content_type}\\n' \"https://$d.crm7.app/version.json\"\ndone\n# braden.com.au and d.braden.com.au likewise\n```\n\nThe parent repo's `scripts/check-version-json-served.mjs` runs this over all\n12 domains post-deploy and nightly. Also: open a tab, deploy a different\ncommit, and confirm the banner appears within one poll **without** the tab\nreloading (a `window.__sentinel = Date.now()` set in the console must survive).\n\n### What this package does NOT do\n\n- It never reloads. The only reload is the banner's Refresh button, after\n  `confirmLeave()`.\n- It does not touch a service worker. crm7's `VitePWA` config stays as it is;\n  crm7 passes `purgeStaleAppCachesThenReload` as `onRefresh`.\n- It does not remove the existing unconsented reload sites in the apps\n  (BSU `ErrorBoundary.tsx:59`, crm7 `App.tsx:1146-1151` and `:1155`,\n  throughput `ErrorBoundary.tsx:73`). Each app's adoption PR deletes those and\n  routes the signal into `onSignal` instead.\n\n## Other exports\n\n`useSidebarState`, `useFilteredNav`, `useSpeedInsightsRoute` /\n`speedInsightsRoute`, `AppSwitcher`, `MobileSidebarDrawer`, `launchUrl`,\n`sanitizeReturnPath`, `cookieStorage`, `merge`, and the sidebar token CSS at\n`@bsuite/nav-core/tokens/d2c-sidebar.css` and `.../corporate-sidebar.css`. See\n`src/index.ts` for the full surface and each file's docblock for its contract.\n\n## Releases\n\nSee `CONTRIBUTING.md`. Merging a `package.json` version bump to `main` runs\n`.github/workflows/publish-nav-core.yml` (npm Trusted Publishers, OIDC).\n\n**NEVER** use `workspace:*` or `file:../packages/nav-core` in a consumer —\nVercel builds cannot resolve those.\n","readmeFilename":"README.md","description":"App-agnostic navigation primitives for the BSuite apps: the sidebar state, the app switcher, the filtered nav, Speed Insights route naming — and, from 1.3.0, the platform update notice and the unsaved-work guard."}