{"_id":"@atom63/slides","_rev":"10-66fbab6c45cb78959e17c34ba58193f0","name":"@atom63/slides","dist-tags":{"latest":"0.4.5"},"versions":{"0.1.0":{"name":"@atom63/slides","version":"0.1.0","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system"],"license":"MIT","_id":"@atom63/slides@0.1.0","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/ATOM63/atom63-vite/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/ATOM63/atom63-vite/issues"},"dist":{"shasum":"ec56f5881f251be84b7f2a170c203876f02a99b2","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.1.0.tgz","fileCount":28,"integrity":"sha512-jhwReR9muTa/tDB8JS+dhFuZ4t+nyb9dVCUH+2O1qw9H3SL8MSb+vAGBBEwE0MGQq46eXnBks/DQpTpvw8xiJA==","signatures":[{"sig":"MEUCIGL7wyB0z1cFY9eIX8ijG4oTRU3wn2wNgi8F1ELDBt2NAiEAwwBR3XL3p3e5p+B147iMe9Mr7HnKO1oksmxgyxPeZz8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":945375},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/442bcbfd39f2d6cad888a70b55ed625e/atom63-slides-0.1.0.tgz","_integrity":"sha512-jhwReR9muTa/tDB8JS+dhFuZ4t+nyb9dVCUH+2O1qw9H3SL8MSb+vAGBBEwE0MGQq46eXnBks/DQpTpvw8xiJA==","repository":{"url":"git+https://github.com/ATOM63/atom63-vite.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Host-agnostic MDX slide presentation engine — an opinionated template grammar + token theming for building decks in MDX.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.1.0_1782630941873_0.6985517405848511","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@atom63/slides","version":"0.1.1","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system"],"license":"MIT","_id":"@atom63/slides@0.1.1","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"4f72a95cb9f5cec075ecb7965b4823f93cc4729c","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.1.1.tgz","fileCount":28,"integrity":"sha512-Sf0MZlMsExvUEoHc9B4X0yi4ApabNAcjUZ3AA41MwXizA5UK7+xUSz45JdnqJfP81E8UJxyApjo+xuulbFl+nQ==","signatures":[{"sig":"MEQCIFzaGJ4Ms4YDtoE5hNY5rSEGue+oUHlVV1Q1kRaTAU4PAiBq8TWAASOCFHciRqXqV9GLKAmyDP4T+JqxbLBUTDeRyg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":945435},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.1.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/516759c96176241624c3fa046cd844f4/atom63-slides-0.1.1.tgz","_integrity":"sha512-Sf0MZlMsExvUEoHc9B4X0yi4ApabNAcjUZ3AA41MwXizA5UK7+xUSz45JdnqJfP81E8UJxyApjo+xuulbFl+nQ==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Host-agnostic MDX slide presentation engine — an opinionated template grammar + token theming for building decks in MDX.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.1.1_1782632001535_0.10728252618388145","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@atom63/slides","version":"0.2.0","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system"],"license":"MIT","_id":"@atom63/slides@0.2.0","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"9ff4b7c8f1ef880ded956d20b232b51583b4f823","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.2.0.tgz","fileCount":28,"integrity":"sha512-xaigKLur5fViuq/UzXWNteoIyzb71EmRSyKgEuOLt/8HR1R8kWKH+2XxnA5fXh1MKFAZa7p5MZdPPIO8b3QUJw==","signatures":[{"sig":"MEUCIQDe3aCBlCa53tFYkCDndVayVSCdKJ/xPwWayphYaPaQOgIgMFaft1/hnIwszdh6QnHUDwsW0DFU8TH0NRlpX3Nc5Ks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":959575},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/f93198751940211f7ac2555a3352b969/atom63-slides-0.2.0.tgz","_integrity":"sha512-xaigKLur5fViuq/UzXWNteoIyzb71EmRSyKgEuOLt/8HR1R8kWKH+2XxnA5fXh1MKFAZa7p5MZdPPIO8b3QUJw==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Host-agnostic MDX slide presentation engine — an opinionated template grammar + token theming for building decks in MDX.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.2.0_1782690509777_0.24657909472622896","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@atom63/slides","version":"0.3.0","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system"],"license":"MIT","_id":"@atom63/slides@0.3.0","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"bf2de1046d38d351147fbba4a286d23662c08904","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.3.0.tgz","fileCount":28,"integrity":"sha512-Lbstfhd9j+y139qfBALG2ODhXqL9FP+1rnX9OXNtOwmq6EfzVWHr5rY7ZHn0FKMMOqydwRQAmhOvz9VnEhOpHg==","signatures":[{"sig":"MEUCIHjua2osf89Aer5Z8p7s9PtdbvMR6OGkK7UYHVhARiRkAiEA6fnP8MfBjiSs/G2sudIizrFG4fAo21DlFLUk1SGtrRM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1033481},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/1f19fdc93cfc09bcc5279c1dc8132116/atom63-slides-0.3.0.tgz","_integrity":"sha512-Lbstfhd9j+y139qfBALG2ODhXqL9FP+1rnX9OXNtOwmq6EfzVWHr5rY7ZHn0FKMMOqydwRQAmhOvz9VnEhOpHg==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Host-agnostic MDX slide presentation engine — an opinionated template grammar + token theming for building decks in MDX.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.3.0_1782707463423_0.19765606992016949","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@atom63/slides","version":"0.4.0","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system"],"license":"MIT","_id":"@atom63/slides@0.4.0","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"eefb0dd884c0e102e135a40cd9ee06760c71c0c1","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.0.tgz","fileCount":29,"integrity":"sha512-n+1BpbW6WEVntgZJcWPhG75HzPfxboV5bco5ElhmhohyXli4y2gOCwLmh3WbrZh0qPKQ6gWRyXLRVGYb9a02MQ==","signatures":[{"sig":"MEQCIFvcOeBfzB0HJ5whLW4neAN3DQ6WbPHJZ09Wrcp5RVjAAiAJelUPfo3NVpRhZ87h2dfFdruLjriZJfBU8E8xcdwk4Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1065897},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes":{"default":"./src/styles/themes.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"node ../../scripts/gen-theme-bundle.mjs && tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/29bf24842b6c9036ac3cf023b90a3a34/atom63-slides-0.4.0.tgz","_integrity":"sha512-n+1BpbW6WEVntgZJcWPhG75HzPfxboV5bco5ElhmhohyXli4y2gOCwLmh3WbrZh0qPKQ6gWRyXLRVGYb9a02MQ==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Host-agnostic MDX slide presentation engine — an opinionated template grammar + token theming for building decks in MDX.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.4.0_1782710619150_0.09894899371303367","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@atom63/slides","version":"0.4.1","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"license":"MIT","_id":"@atom63/slides@0.4.1","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"fd39d99f69994df84852c98aab13bea2fa3caf30","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.1.tgz","fileCount":29,"integrity":"sha512-PODvdeiGbDKqiOT02oZBC0E8U9aamMjoaRDEST9rx1sNo7K2UzvADqY3xIr3tugZxJvhBxd5/Q1cFuwmwtdN2w==","signatures":[{"sig":"MEQCIQCTjWNEGO+geKWXxiEakradqkK0rcmHXABTm12x5Ho2rgIfQZic5DCBPzFVNMcSk5l8ZvqrLdiUndPkAljeum1lgQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1067903},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.4.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes":{"default":"./src/styles/themes.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"node scripts/gen-theme-bundle.mjs && tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/8b24a41f556b3596ccf9d3c5f5a1ce07/atom63-slides-0.4.1.tgz","_integrity":"sha512-PODvdeiGbDKqiOT02oZBC0E8U9aamMjoaRDEST9rx1sNo7K2UzvADqY3xIr3tugZxJvhBxd5/Q1cFuwmwtdN2w==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks, with a browser GUI to steer them.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.4.1_1782712307046_0.8677642807719022","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@atom63/slides","version":"0.4.2","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"license":"MIT","_id":"@atom63/slides@0.4.2","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"5e3afb9dc9bbda31c50fc9303d3cebf507335491","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.2.tgz","fileCount":29,"integrity":"sha512-6caMCYU2eJ/4ih8s4Ai75Hsw1knAYrBQbJWF3XuphVRGbaWr0nHDZ5ZnyUl1uYjyOJUkAbV8qolQPv/qYVhwuA==","signatures":[{"sig":"MEUCICUStPmb+RUxaW3WPTEgNHGN7xfwyMCRtr3UpCrRvRS/AiEA8fWAosDGT7/xSHwlYS8OYteyMS845MVm8Kk5lHnwMUk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1066774},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.4.2.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes":{"default":"./src/styles/themes.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"node scripts/gen-theme-bundle.mjs && tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/9ad167206c84979a90d5064c9a912a9c/atom63-slides-0.4.2.tgz","_integrity":"sha512-6caMCYU2eJ/4ih8s4Ai75Hsw1knAYrBQbJWF3XuphVRGbaWr0nHDZ5ZnyUl1uYjyOJUkAbV8qolQPv/qYVhwuA==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks, with a browser GUI to steer them.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.4.2_1782713706123_0.8387647258932682","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@atom63/slides","version":"0.4.3","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"license":"MIT","_id":"@atom63/slides@0.4.3","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"d3d88c094a9f68ca64e5a88e1f833906e3f17728","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.3.tgz","fileCount":29,"integrity":"sha512-sawTJVWJy4L+CD8lJ5BwYFhGX1QNPAlYNtYhbvHJv0ukxDAatuwYLxiSWIhMyJMZmZcYZBund76RS4n5d/mtZQ==","signatures":[{"sig":"MEUCIQCicxY2gAAWsK4Jsrr4DNvUpc+LD+AH4aTJVwAa43f1wgIgGSVMsutB6MAdvRXOgL+FZ5/fqKdJYFoEEIgSNC8AYug=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1068801},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.4.3.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes":{"default":"./src/styles/themes.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"node scripts/gen-theme-bundle.mjs && tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/99fbc6a1a038b686fbaffe9917f6c2e8/atom63-slides-0.4.3.tgz","_integrity":"sha512-sawTJVWJy4L+CD8lJ5BwYFhGX1QNPAlYNtYhbvHJv0ukxDAatuwYLxiSWIhMyJMZmZcYZBund76RS4n5d/mtZQ==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks, with a browser GUI to steer them.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.4.3_1782714289033_0.37029929283972596","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@atom63/slides","version":"0.4.4","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"license":"MIT","_id":"@atom63/slides@0.4.4","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","bugs":{"url":"https://github.com/atom63/slides/issues"},"dist":{"shasum":"c9a4ec34dc09b27d4863a2d9bb69391604c9297c","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.4.tgz","fileCount":29,"integrity":"sha512-O40aW6ZuhTsck7g3uCrHcpSdVEDUnYLH/G2lUXDoZupDR00GCqvPz0+fDYva/MeDotU5vk7NnhIuaB1uUMW2HA==","signatures":[{"sig":"MEUCIQDyqFsuRfNPEepdmKiAdXghpalX/C7iXoXeRqCCfEWMowIgDgMFC1ssJXVcUrUPLbWQSqGN5JxeXQvjJSBMxj2UxOQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1071098},"main":"./dist/index.js","type":"module","_from":"file:atom63-slides-0.4.4.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","typescript":"./src/index.ts"},"./vite":{"types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js","typescript":"./src/vite/index.ts"},"./editor":{"types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js","typescript":"./src/editor/index.ts"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./themes":{"default":"./src/styles/themes.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"}},"scripts":{"dev":"tsup --watch","lint":"biome check .","test":"vitest run","build":"node scripts/gen-theme-bundle.mjs && tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/82ce142e60db63e58584a0abae683e8d/atom63-slides-0.4.4.tgz","_integrity":"sha512-O40aW6ZuhTsck7g3uCrHcpSdVEDUnYLH/G2lUXDoZupDR00GCqvPz0+fDYva/MeDotU5vk7NnhIuaB1uUMW2HA==","repository":{"url":"git+https://github.com/atom63/slides.git","type":"git","directory":"packages/slides"},"_npmVersion":"11.8.0","description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks, with a browser GUI to steer them.","directories":{},"sideEffects":["*.css"],"_nodeVersion":"25.6.0","dependencies":{"clsx":"^2.1.1","acorn":"8.17.0","shiki":"^3.23.0","motion":"^12.40.0","js-yaml":"^4.1.0","zustand":"^5.0.0","acorn-jsx":"5.3.2","remark-gfm":"^4.0.1","@mdx-js/mdx":"^3.1.1","gray-matter":"^4.0.3","lucide-react":"^1.18.0","@mdx-js/react":"^3.1.1","@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","tailwind-merge":"^3.6.0","@tanstack/react-virtual":"^3.14.2","class-variance-authority":"^0.7.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.3.5","vite":"^7.1.5","jsdom":"29.1.1","react":"^19.1.1","vitest":"^4.1.8","react-dom":"^19.1.1","typescript":"~5.8.3","@types/node":"^22.10.0","@types/react":"^19.1.13","@biomejs/biome":"2.4.6","@types/js-yaml":"^4.0.9","@atom63/tsconfig":"0.1.0","@types/react-dom":"^19.1.9","@atom63/biome-config":"0.1.0","@testing-library/dom":"10.4.1","@vitejs/plugin-react":"5.1.4","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^5 || ^6 || ^7","react":"^19.1.0","sonner":"^2.0.7","react-dom":"^19.1.0"},"peerDependenciesMeta":{"vite":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/slides_0.4.4_1782715636045_0.2893471334154778","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@atom63/slides","version":"0.4.5","license":"MIT","repository":{"type":"git","url":"git+https://github.com/atom63/slides.git","directory":"packages/slides"},"bugs":{"url":"https://github.com/atom63/slides/issues"},"homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","type":"module","description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks.","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"typescript":"./src/index.ts","types":"./dist/index.d.ts","import":"./dist/index.js"},"./vite":{"typescript":"./src/vite/index.ts","types":"./dist/vite/index.d.ts","import":"./dist/vite/index.js"},"./editor":{"typescript":"./src/editor/index.ts","types":"./dist/editor/index.d.ts","import":"./dist/editor/index.js"},"./editor/styles":{"types":"./src/editor/styles.d.ts","default":"./src/editor/styles.css"},"./styles":{"types":"./src/styles/styles.d.ts","default":"./src/styles/slides.css"},"./theme-defaults":{"types":"./src/styles/theme-defaults.d.ts","default":"./src/styles/theme-defaults.css"},"./themes/dark":{"default":"./src/styles/themes/dark.css"},"./themes/terminal":{"default":"./src/styles/themes/terminal.css"},"./themes/editorial":{"default":"./src/styles/themes/editorial.css"},"./themes/neon":{"default":"./src/styles/themes/neon.css"},"./themes/bold":{"default":"./src/styles/themes/bold.css"},"./themes":{"default":"./src/styles/themes.css"}},"sideEffects":["*.css"],"dependencies":{"@base-ui/react":"^1.3.0","@iconify/react":"^6.0.2","@mdx-js/mdx":"^3.1.1","@mdx-js/react":"^3.1.1","@tanstack/react-virtual":"^3.14.2","acorn":"8.17.0","acorn-jsx":"5.3.2","class-variance-authority":"^0.7.1","clsx":"^2.1.1","gray-matter":"^4.0.3","js-yaml":"^4.1.0","lucide-react":"^1.18.0","motion":"^12.40.0","remark-gfm":"^4.0.1","shiki":"^3.23.0","tailwind-merge":"^3.6.0","zustand":"^5.0.0"},"peerDependencies":{"react":"^19.1.0","react-dom":"^19.1.0","sonner":"^2.0.7","vite":"^5 || ^6 || ^7"},"peerDependenciesMeta":{"vite":{"optional":true}},"devDependencies":{"@biomejs/biome":"2.4.6","@testing-library/dom":"10.4.1","@testing-library/jest-dom":"6.9.1","@testing-library/react":"16.3.2","@types/js-yaml":"^4.0.9","@types/node":"^22.10.0","@types/react":"^19.1.13","@types/react-dom":"^19.1.9","@vitejs/plugin-react":"5.1.4","jsdom":"29.1.1","react":"^19.1.1","react-dom":"^19.1.1","tsup":"^8.3.5","typescript":"~5.8.3","vite":"^7.1.5","vitest":"^4.1.8","@atom63/tsconfig":"0.1.0","@atom63/biome-config":"0.1.0"},"scripts":{"build":"node scripts/gen-theme-bundle.mjs && tsup","dev":"tsup --watch","test":"vitest run","typecheck":"tsc --noEmit","lint":"biome check ."},"_id":"@atom63/slides@0.4.5","_integrity":"sha512-ANuho45nEu0uaCdH3Nw2RoK7j84HnEG9ad6nJEuP+mizU1wriCRyOQg4dmJr6kaVMgbv4Jyros6XVuLhmMHEEA==","_resolved":"/private/var/folders/gg/f42j2fvn1zg1rx4rd_xvyh6w0000gn/T/64f69242dacb5b757968d5865dadb3d2/atom63-slides-0.4.5.tgz","_from":"file:atom63-slides-0.4.5.tgz","_nodeVersion":"25.6.0","_npmVersion":"11.8.0","dist":{"integrity":"sha512-ANuho45nEu0uaCdH3Nw2RoK7j84HnEG9ad6nJEuP+mizU1wriCRyOQg4dmJr6kaVMgbv4Jyros6XVuLhmMHEEA==","shasum":"214086eb9cee4ff25cfafc0c47ba833bd300e69f","tarball":"https://registry.npmjs.org/@atom63/slides/-/slides-0.4.5.tgz","fileCount":29,"unpackedSize":1071395,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQD4OZ7XA55eYjB/l13z12wT+9UDJbEYakfuFNKJ1v83qQIhAI36CgtRilvE36tw+HG2H/7R7MZgAHZrSBkP4K8o148L"}]},"_npmUser":{"name":"atom63","email":"yz.atom63@gmail.com"},"directories":{},"maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/slides_0.4.5_1782718211403_0.8189023861173923"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T07:15:41.746Z","modified":"2026-06-29T07:30:11.906Z","0.1.0":"2026-06-28T07:15:42.026Z","0.1.1":"2026-06-28T07:33:21.738Z","0.2.0":"2026-06-28T23:48:29.933Z","0.3.0":"2026-06-29T04:31:03.596Z","0.4.0":"2026-06-29T05:23:39.285Z","0.4.1":"2026-06-29T05:51:47.185Z","0.4.2":"2026-06-29T06:15:06.275Z","0.4.3":"2026-06-29T06:24:49.187Z","0.4.4":"2026-06-29T06:47:16.191Z","0.4.5":"2026-06-29T07:30:11.579Z"},"bugs":{"url":"https://github.com/atom63/slides/issues"},"license":"MIT","homepage":"https://github.com/atom63/slides/tree/main/packages/slides#readme","keywords":["slides","presentation","mdx","react","deck","slideshow","tailwind","design-system","ai","agent","coding-agent","claude"],"repository":{"type":"git","url":"git+https://github.com/atom63/slides.git","directory":"packages/slides"},"description":"Write presentations as MDX — a template grammar + token theming designed for coding agents to author decks.","maintainers":[{"name":"atom63","email":"yz.atom63@gmail.com"}],"readme":"# @atom63/slides\n\n**Write presentations as MDX — and let a coding agent draft them.**\n\nA deck is a `.mdx` file: `---`-separated slides built from ~20 templates. Describe your talk to your coding agent; it writes the MDX — content, layout, and template choice. You restyle the whole deck with a one-line `theme:`, then present. The MDX stays the source of truth the whole way.\n\nThe same host-agnostic engine powers the Slides app in [OS63](https://os.atom63.io) and runs standalone anywhere React + Vite + Tailwind v4 do.\n\n### The workflow\n\n1. **Scaffold** — `npm create @atom63/deck my-talk` lays down a standalone deck project.\n2. **Author with your agent** — point your coding agent at `src/deck.mdx` and the [deck-authoring skill](#author-with-a-coding-agent), describe the talk; it writes the MDX — content, layout, and template choice.\n3. **Theme in one line** — set `theme:` in frontmatter to restyle the whole deck.\n4. **Present** — `npm run dev`, then keyboard nav, grid overview, presenter PiP.\n\nBecause a deck is just code, the parts machines are good at — layout, alignment, template choice — are an agent's job; the parts you care about — the argument, the words — stay yours. An optional [browser editor](#atom63slideseditor--optional-live-deck-editor) lets you nudge a slide by hand, but it's not the main path.\n\n- **Templates, not div soup** — ~20 composable slide templates (`CoverSlide`, `StatBento`, `HeroBento`, `SplitHalf`, `QuoteSlide`, `FullBleedSlide`, …) plus low-level primitives.\n- **Token theming** — every surface reads `--theme-slide-*` (and base) custom properties; swap a token set to restyle a whole deck.\n- **Batteries-included player** — keyboard nav, grid overview, presenter PiP, mobile layout, optional source view and password gate.\n- **Introspectable** — a machine-readable `templateRegistry` describes every template's content slots, so coding agents, editors, and tooling know exactly what each slide accepts.\n\n> Status: `0.4.x`, extracted from a monorepo. The API may shift before `1.0`.\n\n## Author with a coding agent\n\nStep 2 of the workflow is the point of the whole toolchain: **you don't hand-write JSX, you describe the talk.** A deck is plain MDX — `---`-separated slides importing templates from `@atom63/slides` — which is exactly the shape a coding agent (Claude Code, Cursor, …) writes well.\n\nThe **[deck-authoring skill](https://github.com/atom63/slides/tree/main/skill)** ([`skill/SKILL.md`](https://github.com/atom63/slides/tree/main/skill/SKILL.md)) packages everything the agent needs: the deck-file anatomy, the full template catalog with every prop and slot, the Swiss-design voice, and the anti-patterns to avoid. Point your agent at it (copy `SKILL.md` + `TEMPLATES.md` into your skills folder, or reference it directly), describe your talk, and it drafts `src/deck.mdx`. Then open the dev server, set `theme:` to taste, and present — the MDX stays the source of truth. (An [optional browser editor](#atom63slideseditor--optional-live-deck-editor) is there for hand-nudging a slide, but it's not the main path.)\n\n## Install\n\n```bash\nnpm i @atom63/slides\n```\n\nPeer dependencies you must also install:\n\n```bash\nnpm i react react-dom sonner\n```\n\nYou also need **Tailwind CSS v4** in the consuming app (the engine ships utility classes, not a pre-compiled stylesheet — see [Styling](#styling)).\n\n## Quick start\n\nA single-deck app needs four things: compile an `.mdx` deck, build a `SlideDeckItem`, render `<SlidesPlayer>`, and wire up styles. (A complete reference app lives at [`apps/deck-starter`](../../apps/deck-starter) in the repo.)\n\n**`vite.config.ts`** — compile MDX with a frontmatter export:\n\n```ts\nimport mdx from '@mdx-js/rollup'\nimport react from '@vitejs/plugin-react'\nimport tailwindcss from '@tailwindcss/vite'\nimport remarkFrontmatter from 'remark-frontmatter'\nimport remarkMdxFrontmatter from 'remark-mdx-frontmatter'\nimport remarkGfm from 'remark-gfm'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    { enforce: 'pre', ...mdx({\n      remarkPlugins: [remarkFrontmatter, remarkMdxFrontmatter, remarkGfm],\n      providerImportSource: '@mdx-js/react',\n    }) },\n    react({ include: /\\.(mdx|tsx|jsx)$/ }),\n    tailwindcss(),\n  ],\n})\n```\n\n**`app.tsx`** — the player provides the slide components internally; just pass the compiled deck:\n\n```tsx\nimport { SlidesPlayer } from '@atom63/slides'\nimport type { SlideDeckItem, SlideDeckMeta } from '@atom63/slides'\nimport Deck, { frontmatter } from './deck.mdx'\n\nconst deck: SlideDeckItem = {\n  slug: 'my-talk',\n  meta: frontmatter as unknown as SlideDeckMeta,\n  content: Deck,\n}\n\nexport function App() {\n  return (\n    <div style={{ height: '100vh', width: '100vw' }}>\n      <SlidesPlayer deck={deck} onBack={() => {}} />\n    </div>\n  )\n}\n```\n\n**`deck.mdx`** — frontmatter, then `---`-separated slides:\n\n```mdx\n---\ntitle: \"My Talk\"\ndate: \"2026-01-01\"\ndescription: \"An example deck.\"\n---\n\nimport { CoverSlide, StatementSlide } from \"@atom63/slides\";\n\n<CoverSlide eyebrow=\"2026\" title=\"My Talk\" credit=\"You\" />\n\n---\n\n<StatementSlide kicker=\"The point\" title=\"One idea per slide.\" />\n\n---\n\n## Bare markdown works too\n\n- it renders through the engine's prose components\n- including inline `code`\n```\n\n## Styling\n\nThe engine uses Tailwind v4 utility classes. In your **Tailwind entry CSS**, import its stylesheets and point `@source` at its built classes:\n\n```css\n@import \"tailwindcss\";\n@import \"@atom63/slides/theme-defaults\";   /* tokens + Tailwind @theme color mappings */\n@import \"@atom63/slides/styles\";           /* slide reveal animations */\n\n/* Generate the utility classes the engine uses. */\n@source \"../node_modules/@atom63/slides/dist/**/*.js\";\n```\n\n> Import the engine CSS with **CSS `@import`** (in the Tailwind entry), **not** a JS `import` — `theme-defaults` ships a Tailwind `@theme` block that maps the palette into utilities like `text-foreground`/`bg-primary`, and `@theme` is only processed when the file is part of the Tailwind build.\n\n- `@atom63/slides/theme-defaults` — self-contained default values for every token the player reads + the `@theme` color mappings, so it renders out-of-the-box. A host that ships its own design tokens (e.g. via a token package) can skip this import.\n- `@atom63/slides/styles` — the slide reveal animation keyframes.\n\n## Theming\n\nEverything is driven by CSS custom properties, so you restyle a deck without touching components. The default is light (`theme-defaults`).\n\n**Swap to a built-in theme** — one extra `@import`, *after* `theme-defaults`, in your Tailwind entry CSS:\n\n```css\n@import \"tailwindcss\";\n@import \"@atom63/slides/theme-defaults\";\n@import \"@atom63/slides/themes/dark\";   /* flips the whole deck to dark */\n@import \"@atom63/slides/styles\";\n```\n\nFive themes ship in the box — each is one line, swapped for the `dark` line above:\n\n| Theme | Import | Look |\n|---|---|---|\n| `dark` | `@import \"@atom63/slides/themes/dark\";` | Neutral dark, blue signal. |\n| `terminal` | `@import \"@atom63/slides/themes/terminal\";` | Dark monospace; phosphor-green on GitHub-dark greys. |\n| `editorial` | `@import \"@atom63/slides/themes/editorial\";` | Light paper & ink; Cormorant serif, editorial red. |\n| `neon` | `@import \"@atom63/slides/themes/neon\";` | Dark cyber; cyan/magenta on navy. |\n| `bold` | `@import \"@atom63/slides/themes/bold\";` | Dark, charcoal + bright orange, strong Archivo sans. |\n\n> Theme palettes adapted from [zarazhangrui/frontend-slides](https://github.com/zarazhangrui/frontend-slides) (MIT).\n\n### Theme contract\n\nA theme is **only** a `:root` override of documented CSS custom properties — a palette, the three font tokens (`--font-sans` for headings/body, `--font-mono` for labels/code, `--font-serif` for quotes), and a few `--theme-slide-*` polish tokens — plus an optional `@import url(...)` for a webfont. **There is no per-theme component code.** This is the controllable surface: to restyle a deck you set or override these tokens, you do **not** write freeform CSS or bespoke components. The complete token set lives in [`src/styles/theme-defaults.css`](./src/styles/theme-defaults.css) — that file is the contract; every built-in theme is just a subset of it overridden. Model a new theme on any of the shipped files in [`src/styles/themes/`](./src/styles/themes/).\n\n**Write your own theme** — override the tokens in your CSS. Most surfaces derive from the base palette via `color-mix`, so a handful of overrides restyle the whole deck:\n\n```css\n:root {\n  /* base palette — drives slides AND chrome */\n  --background: #0b0b10;\n  --foreground: #f2f2f5;\n  --border: #3a3a42;          /* control / panel borders */\n  --primary: #7c5cff;         /* the signal color */\n\n  /* slide-specific knobs (optional) */\n  --theme-slide-accent: var(--primary);\n  --theme-slide-rule-color: color-mix(in oklch, var(--foreground) 25%, transparent);\n  --theme-slide-surface: #1a1a20;   /* card / bento surfaces */\n  --theme-slide-quote-color: #d8d8de;\n}\n```\n\nKey tokens: **base palette** — `--background`, `--foreground`, `--card`, `--muted`, `--muted-foreground`, `--border`, `--input`, `--primary`, `--primary-foreground`, `--accent`; **slides** — `--theme-slide-bg`, `--theme-slide-accent`, `--theme-slide-rule-color`, `--theme-slide-rule-width`, `--theme-slide-surface`, `--theme-slide-muted`, `--theme-slide-code-bg`, `--theme-slide-quote-color`, `--theme-slide-stage-bg`. The full set lives in [`src/styles/theme-defaults.css`](./src/styles/theme-defaults.css) — copy it as a starting point for a custom theme.\n\n> Runtime light/dark toggle: import `themes/dark` is a hard swap. For a toggle, copy `dark.css` and re-scope its `:root` to e.g. `[data-slides-theme=\"dark\"]`, then set that attribute on a wrapper.\n\n### `theme:` frontmatter and runtime presets\n\nSet `theme:` in frontmatter to any of the five built-in names and the deck restyles at runtime — your agent writes this line, or you change it by hand:\n\n```mdx\n---\ntitle: \"My Talk\"\ntheme: terminal\n---\n```\n\nLoad the runtime presets once, with a CSS **`@import`** in your Tailwind entry (the same place you import `theme-defaults` and `styles` — a JS import will **not** deliver it):\n\n```css\n@import \"tailwindcss\";\n@import \"@atom63/slides/theme-defaults\";\n@import \"@atom63/slides/themes\";          /* all presets, switched at runtime */\n@import \"@atom63/slides/styles\";\n```\n\n`DeckSurface` then reads `meta.theme` at runtime and sets `data-slides-theme=\"<name>\"` on the surface wrapper, so the matching `[data-slides-theme]` rule activates — **no build step required**; the deck restyles live as the `theme:` line changes.\n\n**Present-only consumer path** — if you embed a bare `<SlidesPlayer>` without `DeckSurface`, keep the same `@import \"@atom63/slides/themes\"` above and set the attribute on a wrapper around the player yourself:\n\n```tsx\nimport { resolveTheme } from \"@atom63/slides\"\n\n<div data-slides-theme={resolveTheme(deck.meta)}>\n  <SlidesPlayer deck={deck} onBack={onBack} />\n</div>\n```\n\nThe per-theme `:root` imports (`@atom63/slides/themes/dark`, etc.) remain available for a static **build-time hard-swap** where you want a single theme locked in at compile time, without the runtime bundle.\n\n## Authoring\n\nSee the reference deck for the full template catalog and slot APIs, and inspect templates programmatically:\n\n```ts\nimport { templateRegistry, getTemplate, listTemplates } from '@atom63/slides'\n\ngetTemplate('StatBento')\n// → { name, label, category, props: [...], slots: [{ name: 'Stat', min: 0, max: 6, props: [...] }, ...] }\n```\n\n## Subpath exports\n\nBeyond the engine entry (`@atom63/slides`) and the style sheets (`@atom63/slides/styles`, `@atom63/slides/theme-defaults`), two optional subpaths ship in the same package.\n\n### `@atom63/slides/vite` — build-time Vite plugins\n\nFor multi-deck apps, the Vite plugins extract MDX frontmatter into a static manifest (so decks code-split into lazy chunks) and make `*.mdx?raw` imports resolve to source even when `@mdx-js/rollup` is active. `vite` is an optional peer dependency — install it only if you use this subpath.\n\n```ts\n// vite.config.ts\nimport { mdxManifestPlugin, mdxRawPlugin } from '@atom63/slides/vite'\n\nexport default defineConfig({\n  plugins: [mdxManifestPlugin(), mdxRawPlugin() /* …mdx(), react(), tailwindcss() */],\n})\n```\n\n### `@atom63/slides/editor` — optional live deck editor\n\n> **Optional / experimental.** The main path is agent-authored MDX (see [Author with a coding agent](#author-with-a-coding-agent)); this GUI is a hand-steering escape hatch, not a required part of the workflow, and its API is the least stable in the package.\n\nA GUI deck editor with a live, runtime-compiled preview (no bundler in the loop) and a registry-driven template palette. Import its chrome stylesheet as a side effect.\n\n```tsx\nimport { DeckEditor } from '@atom63/slides/editor'\nimport '@atom63/slides/editor/styles'\n\n<DeckEditor source={deckMdxSource} onChange={setSource} />\n```\n\n## License\n\nMIT © You Zhang (ATOM63)\n","readmeFilename":"README.md"}