{"_id":"@andersseen/vanilla-components","_rev":"4-e8899f8d7deaaf4a58ca8768060fa8b9","name":"@andersseen/vanilla-components","dist-tags":{"latest":"0.0.2"},"versions":{"0.0.1":{"name":"@andersseen/vanilla-components","version":"0.0.1","keywords":["web-components","custom-elements","vanilla","typescript","framework-agnostic","zero-dependencies"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@andersseen/vanilla-components@0.0.1","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/and-web-components#readme","bugs":{"url":"https://github.com/Andersseen/and-web-components/issues"},"dist":{"shasum":"4f9ae1313fa551bac1e23c0fa058f40d3d0ad172","tarball":"https://registry.npmjs.org/@andersseen/vanilla-components/-/vanilla-components-0.0.1.tgz","fileCount":51,"integrity":"sha512-Pm3ThgDFrhHtgS2xGr5ICFQDd21vAtbIGmLF+rt/mHiOgYv0GnGSUrzVn3Z+Im4nnG8SSyJZxs7E5WtABpuRQA==","signatures":[{"sig":"MEQCICf3xDVqkwbNtlaIXcDYZuVcF5MrTiSr8rmXTJtMNHOiAiAlQTgSqIxkyQotrnKerGzNT2cKUZdL75GHZqFIB+dj+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71076},"main":"./dist/index.js","type":"module","_from":"file:andersseen-vanilla-components-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist-cjs/index.js"},"./style.css":"./dist/style.css"},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"rm -rf dist dist-cjs && tsc && node ../../scripts/fix-esm-extensions.cjs dist && tsc -p tsconfig.cjs.json && cp src/style.css dist/style.css","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint src --ext .ts,.tsx --fix","test:watch":"vitest","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/private/var/folders/wq/4bgf9dy51d5776cl3qgg362h0000gn/T/469d50e31a6f5903ce17c47dbe0a048f/andersseen-vanilla-components-0.0.1.tgz","_integrity":"sha512-Pm3ThgDFrhHtgS2xGr5ICFQDd21vAtbIGmLF+rt/mHiOgYv0GnGSUrzVn3Z+Im4nnG8SSyJZxs7E5WtABpuRQA==","repository":{"url":"git+https://github.com/Andersseen/and-web-components.git","type":"git","directory":"packages/vanilla-components"},"_npmVersion":"10.9.8","description":"Zero-runtime-dependency vanilla web components. Optionally wire @andersseen/motion for animations.","directories":{},"sideEffects":true,"_nodeVersion":"22.23.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.0","@eslint/js":"^10.0.1","typescript":"^5.3.3","typescript-eslint":"^8.57.1","@andersseen/motion":"0.1.1","@andersseen/headless-components":"0.1.3"},"peerDependencies":{"@andersseen/motion":">=0.1.1","@andersseen/headless-components":">=0.1.3"},"peerDependenciesMeta":{"@andersseen/motion":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vanilla-components_0.0.1_1783266442217_0.35997625365681185","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@andersseen/vanilla-components","version":"0.1.0","keywords":["web-components","custom-elements","vanilla","typescript","framework-agnostic","zero-dependencies"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@andersseen/vanilla-components@0.1.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/and-web-components#readme","bugs":{"url":"https://github.com/Andersseen/and-web-components/issues"},"dist":{"shasum":"8e8247fe7a5e11074922d986b01ec0f7c2348e7d","tarball":"https://registry.npmjs.org/@andersseen/vanilla-components/-/vanilla-components-0.1.0.tgz","fileCount":51,"integrity":"sha512-hKNdgK4zf+5aY3p5R/b0ypS3EAWjVuTXye1WOfyUTHhwqu/59n+8cHnhX7ggzT3aH6NckuPYaFDxJatNrwwtiA==","signatures":[{"sig":"MEUCIHBgitWzuPfSTSjqLwkqYZuBzWMXu9exWCkv0Av+SwyyAiEAxwlpYV29B0J4pV0unQ6s5ldzwxhOBO7S2nkTqWWBTew=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71106},"main":"./dist/index.js","type":"module","_from":"file:andersseen-vanilla-components-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist-cjs/index.js"},"./style.css":"./dist/style.css"},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"rm -rf dist dist-cjs && tsc && node ../../scripts/fix-esm-extensions.cjs dist && tsc -p tsconfig.cjs.json && cp src/style.css dist/style.css","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint src --ext .ts,.tsx --fix","test:watch":"vitest","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/private/var/folders/wq/4bgf9dy51d5776cl3qgg362h0000gn/T/db21bf359f52eb2e525b75a69b0d696e/andersseen-vanilla-components-0.1.0.tgz","_integrity":"sha512-hKNdgK4zf+5aY3p5R/b0ypS3EAWjVuTXye1WOfyUTHhwqu/59n+8cHnhX7ggzT3aH6NckuPYaFDxJatNrwwtiA==","repository":{"url":"git+https://github.com/Andersseen/and-web-components.git","type":"git","directory":"packages/vanilla-components"},"_npmVersion":"10.9.8","description":"Zero-runtime-dependency vanilla web components. Optionally wire @andersseen/motion for animations.","directories":{},"sideEffects":true,"_nodeVersion":"22.23.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.0","@eslint/js":"^10.0.1","typescript":"^5.3.3","typescript-eslint":"^8.57.1","@andersseen/motion":"0.1.1","@andersseen/headless-components":"0.1.3"},"peerDependencies":{"@andersseen/motion":">=0.1.1","@andersseen/headless-components":">=0.1.3"},"peerDependenciesMeta":{"@andersseen/motion":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vanilla-components_0.1.0_1783535168983_0.0011564123808500693","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@andersseen/vanilla-components","version":"1.0.0","keywords":["web-components","custom-elements","vanilla","typescript","framework-agnostic","zero-dependencies"],"author":{"name":"Andersseen"},"license":"MIT","_id":"@andersseen/vanilla-components@1.0.0","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"homepage":"https://github.com/Andersseen/and-web-components#readme","bugs":{"url":"https://github.com/Andersseen/and-web-components/issues"},"dist":{"shasum":"c2b2e991e0da4952280a603f803a2308c8139644","tarball":"https://registry.npmjs.org/@andersseen/vanilla-components/-/vanilla-components-1.0.0.tgz","fileCount":51,"integrity":"sha512-x1f7w/vy0uIOLVUGbm4ACj4jlPVvSmlzOWpzICe68grICWYD8rafrYT0sqEOj2fkSFuv5B61G/bG8DiwJO6ikQ==","signatures":[{"sig":"MEUCIQDxpcbzduJcKyfpgWcCwMHgvTPbjCFxOSSozkU2F762fAIgeps3IRMVcuVxq3krFUGh40Mb2NUr0fSxlAe92YehXgI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71106},"main":"./dist/index.js","type":"module","_from":"file:andersseen-vanilla-components-1.0.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist-cjs/index.js"},"./style.css":"./dist/style.css"},"scripts":{"lint":"eslint src --ext .ts,.tsx","test":"vitest run","build":"rm -rf dist dist-cjs && tsc && node ../../scripts/fix-esm-extensions.cjs dist && tsc -p tsconfig.cjs.json && cp src/style.css dist/style.css","format":"prettier --write \"src/**/*.{ts,tsx}\"","lint:fix":"eslint src --ext .ts,.tsx --fix","test:watch":"vitest","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"_resolved":"/private/var/folders/wq/4bgf9dy51d5776cl3qgg362h0000gn/T/e6a8bb48437db7ff2d7f83a99343a59a/andersseen-vanilla-components-1.0.0.tgz","_integrity":"sha512-x1f7w/vy0uIOLVUGbm4ACj4jlPVvSmlzOWpzICe68grICWYD8rafrYT0sqEOj2fkSFuv5B61G/bG8DiwJO6ikQ==","repository":{"url":"git+https://github.com/Andersseen/and-web-components.git","type":"git","directory":"packages/vanilla-components"},"_npmVersion":"10.9.8","description":"Zero-runtime-dependency vanilla web components. Optionally wire @andersseen/motion for animations.","directories":{},"sideEffects":true,"_nodeVersion":"22.23.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.1.0","vitest":"^4.1.0","@eslint/js":"^10.0.1","typescript":"^5.3.3","typescript-eslint":"^8.57.1","@andersseen/motion":"0.1.1","@andersseen/headless-components":"0.2.0"},"peerDependencies":{"@andersseen/motion":">=0.1.1","@andersseen/headless-components":">=0.2.0"},"peerDependenciesMeta":{"@andersseen/motion":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/vanilla-components_1.0.0_1784648274804_0.26019826530838785","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@andersseen/vanilla-components","version":"0.0.2","description":"EXPERIMENTAL — proof-of-concept zero-dependency vanilla custom elements. Not production-ready; use @andersseen/web-components instead.","type":"module","sideEffects":true,"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist-cjs/index.js"},"./style.css":"./dist/style.css"},"keywords":["web-components","custom-elements","vanilla","typescript","framework-agnostic","zero-dependencies"],"author":{"name":"Andersseen"},"license":"MIT","dependencies":{},"peerDependencies":{"@andersseen/headless-components":">=0.3.0","@andersseen/motion":">=0.2.0"},"peerDependenciesMeta":{"@andersseen/motion":{"optional":true}},"devDependencies":{"@eslint/js":"^10.0.1","eslint":"^10.1.0","typescript":"^5.3.3","typescript-eslint":"^8.57.1","vitest":"^4.1.0","@andersseen/headless-components":"0.3.0","@andersseen/motion":"0.2.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/Andersseen/and-web-components.git","directory":"packages/vanilla-components"},"scripts":{"build":"rm -rf dist dist-cjs && tsc && node ../../scripts/fix-esm-extensions.cjs dist && tsc -p tsconfig.cjs.json && cp src/style.css dist/style.css","test":"vitest run","test:watch":"vitest","lint":"eslint src --ext .ts,.tsx","lint:fix":"eslint src --ext .ts,.tsx --fix","format":"prettier --write \"src/**/*.{ts,tsx}\"","format:check":"prettier --check \"src/**/*.{ts,tsx}\""},"_id":"@andersseen/vanilla-components@0.0.2","bugs":{"url":"https://github.com/Andersseen/and-web-components/issues"},"homepage":"https://github.com/Andersseen/and-web-components#readme","_integrity":"sha512-j4jezXmZbI80JGfk3ey2i3OWXhZb+shqCVeW+eAkt+Jo/raUDfqfMHwdx6Cb5IAbsHLTLrpAJFPrt+3QVvkH0Q==","_resolved":"/tmp/1f86c59f600ed051b7d0bc3b7a07174a/andersseen-vanilla-components-0.0.2.tgz","_from":"file:andersseen-vanilla-components-0.0.2.tgz","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-j4jezXmZbI80JGfk3ey2i3OWXhZb+shqCVeW+eAkt+Jo/raUDfqfMHwdx6Cb5IAbsHLTLrpAJFPrt+3QVvkH0Q==","shasum":"e9bdbd037d40a3a438741c60a64fe65fbdc1120e","tarball":"https://registry.npmjs.org/@andersseen/vanilla-components/-/vanilla-components-0.0.2.tgz","fileCount":64,"unpackedSize":109219,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCY5wik3KiCAQ386UNlS5VFEckWu9vmWeHtgXRAoTo38AIhAKr99z4ZIcRFAqhGh88GPwnnwI+58oM2kOs0051+FELL"}]},"_npmUser":{"name":"andriipap","email":"andriipap01@gmail.com"},"directories":{},"maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vanilla-components_0.0.2_1784814154978_0.2787785644543641"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-05T15:47:22.077Z","modified":"2026-07-23T13:42:35.423Z","0.0.1":"2026-07-05T15:47:22.393Z","0.1.0":"2026-07-08T18:26:09.120Z","1.0.0":"2026-07-21T15:37:54.938Z","0.0.2":"2026-07-23T13:42:35.135Z"},"bugs":{"url":"https://github.com/Andersseen/and-web-components/issues"},"author":{"name":"Andersseen"},"license":"MIT","homepage":"https://github.com/Andersseen/and-web-components#readme","keywords":["web-components","custom-elements","vanilla","typescript","framework-agnostic","zero-dependencies"],"repository":{"type":"git","url":"git+https://github.com/Andersseen/and-web-components.git","directory":"packages/vanilla-components"},"description":"EXPERIMENTAL — proof-of-concept zero-dependency vanilla custom elements. Not production-ready; use @andersseen/web-components instead.","maintainers":[{"name":"andriipap","email":"andriipap01@gmail.com"}],"readme":"# @andersseen/vanilla-components\n\n> ## ⚠️ Experimental — not production-ready\n>\n> This package is a **proof of concept**: it exists to validate that\n> `@andersseen/headless-components` can drive plain Custom Elements with zero\n> runtime dependencies. It is not a supported UI library.\n>\n> - It ships **3 components** (button, accordion, modal) against the 25 in\n>   `@andersseen/web-components`.\n> - It is pinned at `0.0.x` and is **excluded from the Changesets release flow**\n>   — it does not follow the rest of the stack's cadence and gets no minor\n>   releases.\n> - Its API can change or disappear without a deprecation window.\n>\n> **For anything real, use\n> [`@andersseen/web-components`](https://www.npmjs.com/package/@andersseen/web-components).**\n>\n> ### Note on versions\n>\n> A `1.0.0` was published to npm by mistake and does not reflect maturity. The\n> package tracks `0.0.x`. Note that `0.0.1` and `0.1.0` are earlier builds\n> already on npm, so the next release is `0.0.2`. Depend on an exact `0.0.x`\n> version.\n\nZero-runtime-dependency native Custom Elements built on the same headless core\nas the Stencil components. `@andersseen/motion` is optional and loaded\ndynamically only when the `animated` attribute is present.\n\n## Install\n\n```bash\npnpm add @andersseen/vanilla-components @andersseen/headless-components\n```\n\n## Usage\n\n```html\n<link\n  rel=\"stylesheet\"\n  href=\"node_modules/@andersseen/vanilla-components/style.css\"\n/>\n\n<and-vanilla-modal id=\"dialog\" label=\"Confirm deletion\">\n  <h2>Delete account</h2>\n  <p>This cannot be undone.</p>\n  <button>Confirm</button>\n</and-vanilla-modal>\n\n<script type=\"module\">\n  import '@andersseen/vanilla-components';\n  document.getElementById('dialog').setAttribute('open', '');\n</script>\n```\n\nImporting the package registers `and-vanilla-button`, `and-vanilla-accordion`\nand `and-vanilla-modal` automatically in the browser. The import is safe on the\nserver: element registration is skipped when there is no DOM, so the module can\nbe pulled into an Astro or Next server build without crashing.\n\nTo register manually instead:\n\n```ts\nimport { defineAndComponents } from '@andersseen/vanilla-components';\n\ndefineAndComponents();\n```\n\n## Components\n\n| Element                 | Notes                                                        |\n| ----------------------- | ------------------------------------------------------------ |\n| `and-vanilla-button`    | `variant`, `size`, `disabled`, `loading`                     |\n| `and-vanilla-accordion` | single/multiple expansion                                    |\n| `and-vanilla-modal`     | `open`, `animated`, `label`, focus trap, Escape, scroll lock |\n\n### `and-vanilla-modal`\n\nGive every modal an accessible name: set `label`, or slot a heading\n(`<h1>`–`<h6>`) as the first element and it is wired as `aria-labelledby`\nautomatically.\n\n| Attribute  | Description                                           |\n| ---------- | ----------------------------------------------------- |\n| `open`     | Reflects and controls the open state                  |\n| `animated` | Enables enter/exit animation via `@andersseen/motion` |\n| `label`    | Accessible name for the dialog                        |\n\nEmits `andModalClose` (bubbles, composed) once per close.\n\n## License\n\nMIT\n","readmeFilename":"README.md"}