{"_id":"@david-richard/notify-ds","_rev":"22-35b2dd5d0e71a1de3d2a5eb99ad668b1","name":"@david-richard/notify-ds","dist-tags":{"latest":"1.7.0"},"versions":{"1.0.0":{"name":"@david-richard/notify-ds","version":"1.0.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.0.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"975194bf3c1a848a5180b156eb27e55ab08decdb","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.0.0.tgz","fileCount":37,"integrity":"sha512-MOQiTDBhCONM+MohYzBnbm6aXdtLe56FqSHVCF1TFKnaojx2cv+9p+fTLLV41ueKjiEWlWAtEE8ZhBznGjVnsQ==","signatures":[{"sig":"MEUCIH8FVs/8R56Q0Y1jH3NUsg4rsLU3orln6qxtHnbvnXXBAiEAqoUwK5GTBqKFK1tJsOF1gGctNppBO+d2SWOSH2OPNiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2868562},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"2b4cd74030a8300b8c2f910f85a91774fc8837ff","private":false,"scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.0.0_1778627378089_0.45533585547365707","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@david-richard/notify-ds","version":"1.0.1","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.0.1","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"a39b3d91b59c6357ccc789c035e2a102df42d35a","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.0.1.tgz","fileCount":37,"integrity":"sha512-k0bvdoR6HFxMmgdLPs7Mu4m4YZp83qz9UnkI6kjvuG1JCpOoyA4uIE/AAFTcsOsIdK6NeBF9ViKFHXOjEX8jCg==","signatures":[{"sig":"MEUCIHnRdgHt0T4aqQ3vGD2zCCDOFBLKKXRiXEQQcgn3j7K+AiEA0o3rSkDQk/qB685H7WJOyUhEQcIhOaSZuszC0fyDXnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2868534},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"2b4cd74030a8300b8c2f910f85a91774fc8837ff","private":false,"scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","typescript":"^5.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.0.1_1778627616864_0.7498742403835359","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@david-richard/notify-ds","version":"1.0.2","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.0.2","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"0133b4e8baa8cb9e05da59dfcf131f168ba20161","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.0.2.tgz","fileCount":37,"integrity":"sha512-tNHp92LrEBNLtCwgSRx914epTIS25mbM810ZAfJ8VGR50ihI7N/2kCfl0I8zOlIhkxz4XHnI/b5ZJTCeY5wwVQ==","signatures":[{"sig":"MEUCIERVn8zr6iY0vZFBHYdrterg3AVs+7n6d0ebEdh8qwlpAiEAnzgg46SYbkZjri6ygLuwFv/R4v1eLDthLn31FCfdQjs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2869292},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"14c858a5a7b0b021b3dcc1ba54d36dc717918c42","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.0.2_1779043988283_0.333525019939346","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@david-richard/notify-ds","version":"1.0.3","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.0.3","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"60cf66f1f1207b37e4f3def00dfb83354fb778e8","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.0.3.tgz","fileCount":37,"integrity":"sha512-kqvKCh0oYAf9+BefOmd45COftFkKOhnJh/CLF09SJTDBojMdB8EH0fjOssTkHvlkKYIBmLDoajgz2g/Mzk0jxg==","signatures":[{"sig":"MEYCIQCg6sEE55NjPBaKvLM4EArRw0rgIh3XRx3YpO8cnY2hsgIhANYjoRLB7lOf22UnoOy/oR+9xom98LFj5OK/SEx34uTn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2870086},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"f6a9ef1afdd8fc16430397ec9ed28af624a29ca6","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.0.3_1779046679233_0.4362197476729184","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@david-richard/notify-ds","version":"1.0.4","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.0.4","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"df1f21f0c80d93b75afe5abafb9c4ba254a6c7cf","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.0.4.tgz","fileCount":37,"integrity":"sha512-W4yTGhf0wIkVDvcoPo9Y3PHHEjraNv6VS0wFdjsQ2rUc0o4BXX7Sk57TgYmY/jmXPiI03np9S43P108jNoUeyw==","signatures":[{"sig":"MEUCIHd3I1MdLyQ6k6WGikFbUJw7hzEhJqhzmD4lZyzrbICTAiEAkLKS+N/bF4HaOgmi+cP7ekX4qtdOc4T0FHvr8rNBPsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2876070},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"e093e843118d0f8269e6d1bd7f278e4e4db69b2f","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.0.4_1779048308589_0.6699026426178603","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@david-richard/notify-ds","version":"1.1.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"c4207c03894d96f9f86637100f8cf185487ddc93","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.0.tgz","fileCount":79,"integrity":"sha512-v/6aBqIZpjPMClcy12Hy4BGA6toaaWUnhuLoHMe/Bxz8mnltXQvp+2w8ozt766POGH38LC69Y12Q0EwI7T8t9A==","signatures":[{"sig":"MEUCIQDuJC9pkePC/n5IqRstwU315C45uHMPFNjx61M7DQFF2QIgRdP1vCTUI0Y0x7Htw7WUvWkQQ7bIcK1eW/rn4kcw+20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3154486},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"ff41e1c2a390d460f9df9b3e73ba9389338d3182","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.0_1779054370788_0.7716462142853322","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@david-richard/notify-ds","version":"1.1.1","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.1","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"a3d7acfec46529375ad6a930acda0bee4e9cf84c","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.1.tgz","fileCount":81,"integrity":"sha512-KKlGhRF4pFLbH9ymQKPDceK21oD95YgSG/NEjQsgdkQufEymzbuh7qDEjJGb72Bsvp5LdzzlPAaS+KeI5gIJAw==","signatures":[{"sig":"MEUCIQCBejmT/di9h5Ck2KuR4g99qy6IYQd/RGP+Z7IWSfxoeAIgeQMGXJOorO8LVylTGRVDZWq43C/j1qIDkRz1m2Fi8cU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3153711},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"1960b253febb0773df4b321998732bae71b32c6c","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.1_1779055409719_0.4458642601802725","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@david-richard/notify-ds","version":"1.1.2","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.2","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"baf730e6bc95b756b03ad36d514c34ae2530a7a8","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.2.tgz","fileCount":81,"integrity":"sha512-zvPnz/v8xEl3c5re5A0AXGZKqFOS26WirJIH+KZdwF082wODReqJEmk214Q/2IlSLDuzbcFtfAe4I8UcXN984Q==","signatures":[{"sig":"MEYCIQD0dvhsNRTEv4lCR87xaidaskeiKdarU4yGcCv5fWr1bgIhAJKvRFDHLxZd4xWLLC2wLqeWSbjIs3vf+CSO0AjrlzHN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3154135},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"cb4c54d8008320e954fe6f09d3774b9881c8eea6","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.2_1779056492798_0.22360294463872954","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@david-richard/notify-ds","version":"1.1.3","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.3","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"633f5e50adeb1101886afc39a9523339b38ed024","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.3.tgz","fileCount":81,"integrity":"sha512-TiZAaeXlMsudizyp6Xs4UFNaKyKKGwgqPkurGAcfhWabIiRX8oTCQAwymG8B2/TX91TCqELiJDCDu7m0lbdwyQ==","signatures":[{"sig":"MEUCIQDS2GbAdbnaT4I5jKIWgEKxf9oNpWzS6WEnnMG0p7KIUQIgPZ1dpbmEQhYH5PYJAQ7LSi4F7kJYjHpEoq+5efEdAkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3154017},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"76dbfb2238b4aaa53822a7f64bf93eb9037eef22","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.3_1779057580215_0.5774846230429278","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@david-richard/notify-ds","version":"1.1.4","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.4","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"2f17e16607043eefdbdba9f999477d34474e4149","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.4.tgz","fileCount":81,"integrity":"sha512-y0vQzlQcucCvr52CmEGDHjNgnqYWzPRSrM4GfVNk5tj1/PnbhbXFvClAIEw6WodAEveVDQZQbQhbymSxOEugHQ==","signatures":[{"sig":"MEQCIAKrDCR9R8aJloSkHice4G0kDYBra2CUjtlMMzAbQkJ9AiBf0ZuQMK87ImAQbXv+jrCNcYH5frFZgFee3yt2yH2QsA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135264},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"8797c8f3ab6094b38e9e5c64a82d73833f546a81","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.4_1779113622433_0.5243702402838171","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@david-richard/notify-ds","version":"1.1.5","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.5","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"c4df03fc7e1281e9fd886bd82706d5385344b92d","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.5.tgz","fileCount":81,"integrity":"sha512-x+w/sKCPwYsHF0A2Ja/v+bNip9OLUaYLqVT1gzRUCPxl7RO+KAWi6gAhn1H3zpxDgyOqP4/uarspb/vnwXBj5A==","signatures":[{"sig":"MEUCIQChxxd7hWsf1SO6vmQ+DBE/9ry7KuR2XG8+0bX6ENfO+QIgPDlZ0rtBguxOwIPd9cTI9Mu2kjZ84WBMOw2vQe5++xY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135609},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"f3fda478d18efe93b40ac711f9d57866bf79e786","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.5_1779122311861_0.8755359710644823","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@david-richard/notify-ds","version":"1.1.6","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.6","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"1cb9d1d9602c598230846c016fc3c9e42faadbf1","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.6.tgz","fileCount":81,"integrity":"sha512-E3Xjmg7lp7Qf8R6oqNnN82GM2/Q0Yxkom37yn7n6cQZtKWz+CBduvXMfqikQdaXumSceokoWAQWaOGrRkhrKiA==","signatures":[{"sig":"MEQCICbued0SspK8sxLo258sMRTylEjPcMZDSf+v3dxVzMmfAiBiiS/fat7njNfei+tvkXBvV9z6GInMBVEOckTTvJG6lA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135336},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"c211d26ddb7060f9ad6f99975e5b4834d22cea9d","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.6_1779124022531_0.1397458705255603","host":"s3://npm-registry-packages-npm-production"}},"1.1.7":{"name":"@david-richard/notify-ds","version":"1.1.7","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.7","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"204f6321a12766fbab8d491e8bbd40f067aeffaf","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.7.tgz","fileCount":81,"integrity":"sha512-CksClZHehlcDghdHvm7Nb8H20RUjBCfExaWkyanSEUQZJK/Jy9OWAapK0Vg2SeyEdl1BN0awS7lrjO9jtmlssQ==","signatures":[{"sig":"MEUCIQDdh3j4lfkBSqhj2TZWeTP1O6yX/0C/b2Y4Zx53mGOilwIgDr+yjgd5wfit9iz+szWDdRkzps0ALRUQPLX/+LmW/q4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3135193},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"867d6436771f11d306a48ad420d45cddd3619802","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.7_1779125401455_0.07900188314379153","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@david-richard/notify-ds","version":"1.1.8","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.8","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"2f442a213d81af5dd2a3f7dfc3cd3cf4b0290ffe","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.8.tgz","fileCount":81,"integrity":"sha512-Pp1hrfPD6boLkUtmyQdEUyXCOzWR89utcqu8f4VJ4HMyRgmZbIiHUUJ7peXjQHbkAZslAdoEEj3nk/p+idh+1g==","signatures":[{"sig":"MEUCIFDhRE/SKOfNQePIdk0VI0MezLfJ8RdKm31TOGfKo49wAiEAhzJU79NgfaLC8iNE4ERRB2Y00x6MUANpiFcYbSXnCz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3192897},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"7a9892fd06de5e0a6072602abebfb1a8de2609b8","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.8_1779128953287_0.01305240840936972","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@david-richard/notify-ds","version":"1.1.9","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.1.9","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"4066898f23090a5999ffe52246aa8c53f640a82b","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.1.9.tgz","fileCount":81,"integrity":"sha512-HBUrBLlhWdVuNyzSY1JXxYPlOH93jPr6w6k0h70YSIl9uvpmYF3D/JlyQuuBWjbqlkBdPsKMjW+2+s5X7E+pyA==","signatures":[{"sig":"MEUCIHUpCkc4pg6fg2kHUcWVrL1nGLnsHnFXJRgKN16/yE4/AiEAm4AhBoHrgKNuBF3RzwGL6LYa8uxrzHlLKGVNxRX6XMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3206853},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"1a90370c35635abd54de7ee14ede7ab3846c5b66","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.1.9_1779135313220_0.5507145053097551","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@david-richard/notify-ds","version":"1.2.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.2.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"420cade63100143e42d3a2838656f5e12c658169","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.2.0.tgz","fileCount":81,"integrity":"sha512-5A4vUcCAkWKSV+7/gCBuoXbJGbi1VY7q6EhpiDhP1yoiRdhdcOuj7OgjcgrxYuR5n78XY3EZ2+TreM7adZElKg==","signatures":[{"sig":"MEYCIQD6lyT5APiINzwstY/QbWMEm8wgVx7N728lAKfckBYPvAIhAJKLIyUdLd+mkrKAlqdqrH8dMZakB1Qz3rxEWC3HBo3T","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3210132},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"7c5b0cdd23f85c91ff0e7c482b936003702386ee","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.2.0_1779315276697_0.8816086514542478","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@david-richard/notify-ds","version":"1.3.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.3.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"2e06dddfad146b372efd8e99334b0c35deacc450","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.3.0.tgz","fileCount":81,"integrity":"sha512-4fqpZ4p7SgWcrheGPcdL9fPEjD1B1Esa9KI3ItR3XUdt1rmJcqRQqDd8T/78PoPf9/ii/+zlzt/TgxN1JI17Aw==","signatures":[{"sig":"MEYCIQCJDBO+YYeJgSLMp+8slcjXcPATGo0uJO0XjvM6EK9hLAIhANVzruSoYhqK2/gVgdI7vm+zc+TLs808NfizPnmrxrom","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3223633},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"ea6037639275353d1d8bd801c173c2bd57f92a04","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.3.0_1779375441680_0.4137065095231309","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@david-richard/notify-ds","version":"1.4.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.4.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"95aad7d3ad2fcbf9a28910093fb53bc7fb856da7","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.4.0.tgz","fileCount":81,"integrity":"sha512-GvboQMLWaFo1yj1Tc8dSDK79OHncMZVyp7jIc32q+smWQdhdFpxk2Z0MFQ2YupU3C/dMj0zSxuJbMk2N1eS1nw==","signatures":[{"sig":"MEYCIQDFLHr1ZCoAhhDCYzGSXAOhuhdqnPjFMJvMQXNuL6NLBwIhAI6htxTgAfgprNUZlSsYzYB/fkSZIwWRY75cBqdrHEOQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3256982},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"d22ae7827a6d86ad349b517a9b74408fe4ba80eb","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.4.0_1779377523139_0.5145765408206429","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@david-richard/notify-ds","version":"1.5.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.5.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"93635d32f813239cfd5602ff65a12c381865640b","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.5.0.tgz","fileCount":81,"integrity":"sha512-pTyl8dZg7/Cxe7eBs5D6drAewOPuZL13EbBjPkQcJd/EO6SO1Z/nU03pcQYYGlwJos5r8Fcamu3l6KoQbl+sbA==","signatures":[{"sig":"MEUCIHBe9AgUCHdh0ahhetcZ3xFyFCFa7+wCrKpHgItK47JHAiEAjfRFuiJJXCEkjj/bGdvxWDN4bH0WDbNQJfjh2OSeAUo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3263580},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"70ced324aa171e5f5534c171d9a7356fd99337a4","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.5.0_1779402020436_0.12723459598463882","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@david-richard/notify-ds","version":"1.6.0","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.6.0","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"3a5882b4e95571f9ae71099ef27e7ce7b23d62a6","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.6.0.tgz","fileCount":81,"integrity":"sha512-3kGokMVq/P43br78SFbw++2vN/G8Cxdo+bWLZJndrlloCCHZRa2846qOVkIYkRNYiqYt3vcdUEmQY0ruxvUHuA==","signatures":[{"sig":"MEQCIEbMkNHolJN9yn0ID5plY77WYCJyE6qndxZI5Bm/JWtkAiB6EmDBAQJhVwWkpTn2A7h0CLrFgGQpPNmmdnTQs7nTfQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3264945},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"c6d6400b9c67bf98775992703da7ce203f2b49bf","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.6.0_1779402937836_0.6226330620452867","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"@david-richard/notify-ds","version":"1.6.1","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","_id":"@david-richard/notify-ds@1.6.1","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"homepage":"https://github.com/arpdale/qu-design-system#readme","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"dist":{"shasum":"8daf719400ec738e128c754acbc68b5c6d3cb39c","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.6.1.tgz","fileCount":81,"integrity":"sha512-3SEO6YSMh+ThB+yufh9G822+5PK+A6H1yBxhR8bVM7MsdE37LuZjtIJJss1dM7HQfYuCmfdQhQRBVtWUXbtKXQ==","signatures":[{"sig":"MEUCIQCg81XIb4rkZgyIzKRhq2Chrivrx3XTuUASWZZYtFQGbgIgWu1xVmWAVOia15TXU9y0VD0RWpi0vxw2BDg1XnVgOWM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3264789},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./fonts/*":"./fonts/*","./assets/*":"./assets/*","./tailwind":"./tailwind.config.js","./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*"},"gitHead":"3e46416c5a2fac8d4bd80af93d1f8aa684214899","private":false,"scripts":{"build":"tsup","storybook":"storybook dev -p 6006","typecheck":"tsc --noEmit","figma:check":"figma connect parse","figma:publish":"figma connect publish","prepublishOnly":"npm run build","build-storybook":"storybook build"},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"repository":{"url":"git+https://github.com/arpdale/qu-design-system.git","type":"git"},"_npmVersion":"11.2.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","tailwind-merge":"^2.6.1","@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.5.1","vite":"^8.0.13","react":"^18.3.1","vitest":"^4.1.6","postcss":"^8.5.14","react-dom":"^18.3.1","storybook":"^10.4.0","playwright":"^1.60.0","typescript":"^5.0.0","tailwindcss":"^3.4.19","@types/react":"^18.3.28","autoprefixer":"^10.5.0","@types/react-dom":"^18.3.7","@figma/code-connect":"^1.3.0","@vitest/coverage-v8":"^4.1.6","@storybook/addon-mcp":"^0.6.0","@vitejs/plugin-react":"^6.0.2","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/react-vite":"^10.4.0","@storybook/addon-vitest":"^10.4.0","@chromatic-com/storybook":"^5.2.1","@vitest/browser-playwright":"^4.1.6"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/notify-ds_1.6.1_1779403918373_0.7387361972001181","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"@david-richard/notify-ds","version":"1.7.0","description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","keywords":["design-system","qu","notify","react","tailwind","tokens"],"license":"UNLICENSED","private":false,"sideEffects":["**/*.css"],"main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./icons":{"types":"./dist/icons/index.d.ts","import":"./dist/icons/index.mjs","require":"./dist/icons/index.js"},"./tokens":"./tokens.json","./tailwind":"./tailwind.config.js","./tokens.css":"./tokens.css","./assets/icons/*":"./assets/icons/*","./assets/*":"./assets/*","./fonts/*":"./fonts/*"},"scripts":{"build":"tsup","typecheck":"tsc --noEmit","prepublishOnly":"npm run build","storybook":"storybook dev -p 6006","build-storybook":"storybook build","figma:publish":"figma connect publish","figma:check":"figma connect parse"},"dependencies":{"@radix-ui/react-slot":"^1.2.4","class-variance-authority":"^0.7.1","clsx":"^2.1.1","tailwind-merge":"^2.6.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"devDependencies":{"@chromatic-com/storybook":"^5.2.1","@figma/code-connect":"^1.3.0","@storybook/addon-a11y":"^10.4.0","@storybook/addon-docs":"^10.4.0","@storybook/addon-mcp":"^0.6.0","@storybook/addon-vitest":"^10.4.0","@storybook/react-vite":"^10.4.0","@types/react":"^18.3.28","@types/react-dom":"^18.3.7","@vitejs/plugin-react":"^6.0.2","@vitest/browser-playwright":"^4.1.6","@vitest/coverage-v8":"^4.1.6","autoprefixer":"^10.5.0","playwright":"^1.60.0","postcss":"^8.5.14","react":"^18.3.1","react-dom":"^18.3.1","storybook":"^10.4.0","tailwindcss":"^3.4.19","tsup":"^8.5.1","typescript":"^5.0.0","vite":"^8.0.13","vitest":"^4.1.6"},"repository":{"type":"git","url":"git+https://github.com/arpdale/qu-design-system.git"},"_id":"@david-richard/notify-ds@1.7.0","gitHead":"3e46416c5a2fac8d4bd80af93d1f8aa684214899","bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"homepage":"https://github.com/arpdale/qu-design-system#readme","_nodeVersion":"22.14.0","_npmVersion":"11.2.0","dist":{"integrity":"sha512-si0bcbX/0c9yLdcN4HvmzlUrVVN8wL0wBnEEO0lbG/o/lJjGQHz9cclu38mkuWjlxgiDakqQSTay7uh8/IIJAA==","shasum":"cc1c6d9a3ae84aa96536118641567fa364990fd2","tarball":"https://registry.npmjs.org/@david-richard/notify-ds/-/notify-ds-1.7.0.tgz","fileCount":81,"unpackedSize":3268304,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHPCDMrW9LB2ZZ85JAmE/fHuymGCMjs45ISypBi+6XSYAiBR0XkXKU3XyauPsZOlNjbqg0/RtQimQZG91/g7DVeUeA=="}]},"_npmUser":{"name":"david-richard","email":"david.richard@gmail.com"},"directories":{},"maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/notify-ds_1.7.0_1779829113892_0.07074656581678807"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-12T23:09:38.035Z","modified":"2026-05-26T20:58:34.208Z","1.0.0":"2026-05-12T23:09:38.305Z","1.0.1":"2026-05-12T23:13:37.095Z","1.0.2":"2026-05-17T18:53:08.464Z","1.0.3":"2026-05-17T19:37:59.451Z","1.0.4":"2026-05-17T20:05:08.845Z","1.1.0":"2026-05-17T21:46:11.002Z","1.1.1":"2026-05-17T22:03:29.907Z","1.1.2":"2026-05-17T22:21:32.988Z","1.1.3":"2026-05-17T22:39:40.458Z","1.1.4":"2026-05-18T14:13:42.719Z","1.1.5":"2026-05-18T16:38:32.111Z","1.1.6":"2026-05-18T17:07:02.986Z","1.1.7":"2026-05-18T17:30:01.727Z","1.1.8":"2026-05-18T18:29:13.591Z","1.1.9":"2026-05-18T20:15:13.462Z","1.2.0":"2026-05-20T22:14:36.895Z","1.3.0":"2026-05-21T14:57:21.906Z","1.4.0":"2026-05-21T15:32:03.371Z","1.5.0":"2026-05-21T22:20:20.624Z","1.6.0":"2026-05-21T22:35:38.068Z","1.6.1":"2026-05-21T22:51:58.553Z","1.7.0":"2026-05-26T20:58:34.093Z"},"bugs":{"url":"https://github.com/arpdale/qu-design-system/issues"},"license":"UNLICENSED","homepage":"https://github.com/arpdale/qu-design-system#readme","keywords":["design-system","qu","notify","react","tailwind","tokens"],"repository":{"type":"git","url":"git+https://github.com/arpdale/qu-design-system.git"},"description":"Qu Notify design system — tokens, components, and brand assets for the Qu Notify restaurant analytics app.","maintainers":[{"name":"david-richard","email":"david.richard@gmail.com"}],"readme":"# notify-ds\n\nDesign system for **Qu Notify** — the restaurant analytics mobile app by [Qu](https://qubeyond.com). Contains tokens, components, fonts, icons, screenshots, and brand assets.\n\n**For AI design agents:** Read `constraints.md` first, then `screen-anatomy.md`, then come back here for the API surface. Those two files are load-bearing.\n\n---\n\n## What's in this repo\n\n```\nnotify-ds/\n├── tokens.json          ← W3C DTCG format. Single source of truth for all values.\n├── tokens.css           ← CSS custom properties. Import this in any HTML/CSS project.\n├── tailwind.config.js   ← Tailwind v3 preset. Use as a preset in consuming projects.\n├── constraints.md       ← Hard never/always rules. Read before building any UI.\n├── screen-anatomy.md    ← Every screen decomposed spatially. Read before building any screen.\n├── CHANGELOG.md         ← Decision log — why things are the way they are.\n├── components/          ← React/TypeScript components\n│   ├── index.ts         ← Barrel export (single import surface)\n│   ├── button.tsx\n│   ├── input.tsx\n│   ├── checkbox.tsx\n│   ├── radio.tsx\n│   ├── toggle.tsx\n│   ├── selector.tsx\n│   ├── tabs.tsx\n│   ├── switcher.tsx\n│   ├── bottom-nav.tsx\n│   ├── badge.tsx\n│   └── metric-tile.tsx\n├── assets/\n│   ├── logo-notify-lockup.svg\n│   ├── logo-qu.svg\n│   ├── logo-q-mark.svg\n│   └── icons/           ← SVG stroke icons, one file per icon\n├── fonts/               ← Zilla Slab TTF (all weights). Inter + Red Hat Text via Google Fonts.\n└── screenshots/         ← 27 production app screenshots, named descriptively\n```\n\n---\n\n## Product context\n\n**Qu Notify** is an iOS-first mobile app used by restaurant franchisees, group managers, and store managers to monitor real-time sales, labor, and kitchen performance. It is checked multiple times daily — it is a utility, not an experience. Clarity and data density take priority over decoration.\n\n**Primary screens:** Splash → Sign In → Dashboard (Sales/Labor/Store/Product tabs) → Metric detail → Menu overlay → Check Search → Tills → Kitchen Intelligence\n\n**Users:** Franchisees, group managers, store managers\n\n**Data shown:** Net Sales, Checks, Average Check, Payments, Gross Sales, Discounts, Cash, Tills (Open/Closed/Reconciled), Voids, Service Charges, Labor, Speed of Service, Kitchen fulfillment times\n\n---\n\n## Quick start\n\n### As a Tailwind preset\n\n```js\n// tailwind.config.js\nconst notifyPreset = require('notify-ds/tailwind')\nmodule.exports = {\n  presets: [notifyPreset],\n  content: ['./src/**/*.{ts,tsx,html}'],\n}\n```\n\n### CSS custom properties\n\n```css\n/* In your global CSS */\n@import 'notify-ds/tokens.css';\n```\n\n### React components\n\n```tsx\nimport { Button, MetricTile, TabBar, InputField } from 'notify-ds/components'\n\n// Dashboard tile\n<MetricTile label=\"Net Sales\" value=\"$345.58\" trend={11.8} trendLabel=\"vs yesterday\" />\n\n// Primary CTA\n<Button variant=\"primary\" size=\"lg\">Sign In</Button>\n\n// Tab bar\n<TabBar tabs={[\"Sales\", \"Labor\", \"Store\", \"Product\"]} value={tab} onValueChange={setTab} />\n```\n\n### Tokens (raw JSON)\n\n```js\nconst tokens = require('notify-ds/tokens')\nconst techBlue = tokens.primitive.color.brand['tech-blue'].$value // \"#40CCF2\"\n```\n\n### Inline SVG icons\n\n```html\n<!-- Direct reference -->\n<img src=\"node_modules/notify-ds/assets/icons/search.svg\" />\n\n<!-- Or import and inline (recommended) -->\nimport SearchIcon from 'notify-ds/assets/icons/search.svg'\n```\n\n---\n\n## Design fundamentals\n\n### Colors (key values)\n\n| Token | Value | Usage |\n|---|---|---|\n| `primitive.color.brand.tech-blue` | `#40CCF2` | Primary CTA buttons, input focus border, context selectors, checkbox on-state, toggle on-state |\n| `primitive.color.brand.teal` | `#339FB8` | Secondary button outline/text, link text, action labels, check numbers |\n| `primitive.color.neutral.black` | `#000000` | Primary text, **tab/nav selected fill** |\n| `primitive.color.neutral.white` | `#FFFFFF` | Card backgrounds, text on dark fills |\n| `primitive.color.neutral.gray-50` | `#F4F4F4` | App screen background (never white at page level) |\n| `primitive.color.neutral.gray-100` | `#DEDEDE` | Tab bar container, switcher container, inactive button bg |\n| `primitive.color.brand.red` | `#EF2149` | Error borders, error text, required asterisk, toast bg |\n\n**Critical:** `#40CCF2` (cyan) is the CTA button color. `#000000` (black) is the selected tab/nav color. These are separate roles and must not be swapped.\n\n### Typography\n\n| Family | Role | Usage |\n|---|---|---|\n| **Inter** | Primary | Body text, data labels, metric values, captions |\n| **Red Hat Text** | Secondary | Page headers, input labels, button labels, section titles |\n| **Zilla Slab** | Display | Splash screen, H2 display headings, pull quotes only |\n\n**Font loading is the consumer's responsibility.** `tokens.css` declares font *families* (`--font-primary`, `--font-display`, etc.) but does not load any font files — the canonical mechanism is a single HTML `<link>` to Google Fonts covering all four families:\n\n```html\n<link rel=\"preconnect\" href=\"https://fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https://fonts.gstatic.com\" crossorigin>\n<link\n  rel=\"stylesheet\"\n  href=\"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Red+Hat+Text:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=Red+Hat+Display:wght@400;500;600;700;800;900&family=Zilla+Slab:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap\"\n>\n```\n\nFor meta-frameworks (TanStack Start, Next, Remix, etc.) put the equivalent `<link>` in the root route's `head()`. Don't try to `@import url('https://fonts.googleapis.com/...')` from your CSS — Tailwind v4 / Vite inline `tokens.css` and strip the `@import` statement silently, so fonts won't load.\n\nZilla Slab TTF files ship at `dist/fonts/` for offline / self-hosting scenarios, but tokens.css does not reference them by default. If you need to self-host, add your own `@font-face` declarations in your project CSS pointing at copies in your `public/` directory.\n\n### Shapes\n\n- **Inputs:** Always `border-radius: 9999px` (full pill). No exceptions.\n- **Buttons:** Always `border-radius: 9999px` (full pill). No exceptions.\n- **Metric tiles:** `border-radius: 16px`\n- **Modals:** `border-radius: 24px`\n- **Bottom nav:** `border-radius: 60px`\n- **Tab bar container:** `border-radius: 9999px`\n- **Switcher container:** `border-radius: 8px` (not pill — this distinguishes it from TabBar)\n\n### Disabled states\n\nAlways `opacity: 0.5` on the entire component. Never a color swap. The component's current fill/stroke colors remain intact underneath the opacity reduction.\n\n### Dark mode\n\nTwo modes ship: **Light** (default) and **Dark**. Dark is opt-in — set `data-theme=\"dark\"` (or `class=\"dark\"`) on a root element (`<html>` or any wrapper):\n\n```html\n<html data-theme=\"dark\"> … </html>\n```\n\nOnly the semantic color aliases that change are redeclared under the dark selector in `tokens.css` (surfaces invert to near-black, text to white, nav-selected flips, etc.). Primitives, spacing, radius, typography, and the brand/accent/status colors are mode-stable. Components consume semantic tokens, so they re-theme automatically with no per-component work. The dark values are ported 1:1 from the Figma \"Semantic\" collection (Dark mode) and documented in `tokens.json` under `$extensions.qu.modes.dark`. Tailwind's `dark:` variant is wired to both the `.dark` class and `[data-theme=\"dark\"]`.\n\n---\n\n## Component API\n\n### Button\n\n```tsx\n<Button\n  variant=\"primary\"    // primary | secondary | tertiary | link\n  size=\"md\"            // xsm | sm | md | lg\n  state=\"active\"       // active | inactive\n  iconOnly={false}\n  disabled={false}\n>\n  Sign In\n</Button>\n\n<IconButton variant=\"primary\" size=\"md\"><SearchIcon /></IconButton>\n```\n\n### InputField\n\n```tsx\n<InputField\n  type=\"default\"         // default | password | search\n  label=\"Username\"\n  required\n  placeholder=\"you@example.com\"\n  state=\"normal\"         // normal | active | filled | error | disabled | readonly\n  errorMessage=\"Invalid email\"\n  helperText=\"We'll never share your email\"\n/>\n```\n\n### Checkbox / Radio / Toggle\n\n```tsx\n<Checkbox label=\"Remember me\" defaultChecked />\n<Checkbox label=\"Select all\" indeterminate />\n\n<RadioGroup name=\"period\" value={val} onChange={setVal} label=\"Time period\">\n  <Radio value=\"day\"   label=\"Day\" />\n  <Radio value=\"week\"  label=\"Week\" />\n  <Radio value=\"month\" label=\"Month\" />\n</RadioGroup>\n\n<Toggle label=\"Enable notifications\" checked={on} onChange={setOn} />\n```\n\n### Selector\n\n```tsx\n<Selector label=\"All Stores\" variant=\"primary\" state=\"active\" open={isOpen} />\n<Selector label=\"This Week\"  variant=\"secondary\" state=\"active\" />\n<SelectorGroup>\n  <Selector label=\"StoreName\" icon={<StoreIcon />} />\n  <Selector label=\"01/06/26\"  icon={<CalendarIcon />} />\n</SelectorGroup>\n```\n\n### TabBar\n\n```tsx\n<TabBar\n  tabs={[\"Sales\", \"Labor\", \"Store\", \"Product\"]}\n  value={activeTab}\n  onValueChange={setActiveTab}\n/>\n// With content panels:\n<TabPanels value={activeTab}>\n  <TabPanel value=\"Sales\"><SalesView /></TabPanel>\n  <TabPanel value=\"Labor\"><LaborView /></TabPanel>\n</TabPanels>\n```\n\n### Switcher\n\n```tsx\n<Switcher\n  segments={[\"Day\", \"Week\", \"Month\"]}\n  defaultValue=\"Week\"\n  onValueChange={setPeriod}\n/>\n// With icon segments:\n<Switcher segments={[{value:\"list\", label:\"List\", icon:<ListIcon/>}, ...]} />\n```\n\n### BottomNav\n\n```tsx\n<BottomNavContainer>\n  <BottomNav\n    items={[\n      { value: \"dashboard\", label: \"Dashboard\", icon: <DashboardIcon /> },\n      { value: \"inventory\", label: \"Inventory\", icon: <BoxIcon />, badge: 3 },\n      { value: \"menu\",      label: \"Menu\",      icon: <MenuIcon /> },\n    ]}\n    value={activeRoute}\n    onValueChange={(v) => router.push(v)}\n  />\n</BottomNavContainer>\n```\n\n`BottomNavContainer` positions the nav as `fixed bottom-6 left-1/2 -translate-x-1/2`.\n\n### MetricTile\n\n```tsx\n<MetricTile\n  label=\"Net Sales\"\n  value=\"$345.58\"\n  trend={11.8}\n  trendLabel=\"vs yesterday\"\n/>\n\n<MetricTileGrid cols={2}>\n  <MetricTile label=\"Net Sales\"   value=\"$345.58\" trend={11.8} />\n  <MetricTile label=\"Checks\"      value=\"11\"      trend={18.1} />\n  <MetricTile label=\"Avg Check\"   value=\"$33.86\"  trend={7.7} />\n  <MetricTile label=\"Gross Sales\" value=\"$368.40\" trend={11.4} />\n</MetricTileGrid>\n\n// Loading state:\n<MetricTile label=\"Net Sales\" value=\"\" trend={0} loading />\n```\n\n### Badge / TrendBadge\n\n```tsx\n<Badge variant=\"success\">Open</Badge>\n<Badge variant=\"error\">Closed</Badge>\n<Badge variant=\"brand\">NEW</Badge>\n\n// Auto-picks color from sign:\n<TrendBadge value={11.8} />    // → green \"+11.8%\"\n<TrendBadge value={-5.6} />   // → red \"−5.6%\"\n```\n\n---\n\n## Screenshots\n\n27 production screenshots in `screenshots/`. Key ones for design reference:\n\n| File | Shows |\n|---|---|\n| `sales-dashboard.png` | Full dashboard, metric tile grid, context bar, tab bar, bottom nav |\n| `sign-in.png` | Auth screen, input field states, primary button, \"Powered by\" footer |\n| `menu-overlay.png` | Bottom sheet, dark scrim, menu structure, \"NEW\" badge |\n| `net-sales.png` | Detail screen, line chart, selected table row, back navigation |\n| `check-search.png` | Check cards, teal check numbers, section headers |\n| `dashboard-store-kitchen.png` | Nested tab bars, data table, teal action link |\n| `open-tills.png` | Empty state pattern, 3-tab bar |\n| `enable-face-id.png` | Modal overlay pattern |\n| `loading.png` | Splash screen, brand illustration treatment |\n| `dashboard-loading-error-with-toast.png` | Error state, toast pattern |\n\n---\n\n## Voice & copy\n\n- **Direct and factual.** No marketing copy in UI. \"Net Sales\" not \"Your earnings today.\"\n- **Metric-first.** Lead with the number; context follows.\n- **Sentence case** for all UI copy. ALL CAPS only for `NOTIFY` wordmark and section category labels (`KITCHEN`, `NETWORK`).\n- **No emoji. Ever.**\n- **Present tense** for states: \"Sign in to continue\", \"No Tills Found\", \"Something Went Wrong\".\n- **Button labels are definitive:** \"Sign In\", \"Refresh\", \"Enable Face ID\" — no ellipsis, no \"ing\" forms.\n- **Error toast copy (production):** \"Ooops, we are having problems\"\n\n---\n\n## Known gaps (v1.0.0)\n\n- Toast component (anatomy in `screen-anatomy.md`)\n- Data table component (anatomy in `screen-anatomy.md`)\n- Kitchen Intelligence screen components (dark surface, 72px score, day-part switcher)\n- Chart components (recommend Recharts with cyan/gray color scheme)\n","readmeFilename":"README.md"}