{"_id":"@axis-love/kmd-web","_rev":"4-e11610801e93d56818216505aac49875","name":"@axis-love/kmd-web","dist-tags":{"rc":"0.1.0-rc.1","latest":"0.2.0"},"versions":{"0.1.0-rc.0":{"name":"@axis-love/kmd-web","version":"0.1.0-rc.0","license":"MIT","_id":"@axis-love/kmd-web@0.1.0-rc.0","maintainers":[{"name":"nyxprime","email":"nyx@axis.love"}],"homepage":"https://github.com/axis-love/kmd-web/tree/main/packages/kmd-web#readme","bugs":{"url":"https://github.com/axis-love/kmd-web/issues"},"dist":{"shasum":"030125619df12350e20a39319fc8b765f50a16c4","tarball":"https://registry.npmjs.org/@axis-love/kmd-web/-/kmd-web-0.1.0-rc.0.tgz","fileCount":16,"integrity":"sha512-J0E484Q5klzbsFrtlGnzRLMLJ+KXReNfiMSdrdq2S+ZbAa6XwLirgu3q8icl43OjMiwAJ2gJokNBmSz8AAjDGQ==","signatures":[{"sig":"MEUCIANMiWS7YQoNzAeSfon2mJKMt2+gbNcj7PxpNTl/1P6CAiEA4wdqXewN8AHXEKXpyZKIs6xm9tT9Igs6FRv8v+84T1Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axis-love%2fkmd-web@0.1.0-rc.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12857},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./element":{"types":"./dist/element.d.ts","import":"./dist/element.js"},"./styles.css":"./styles.css"},"gitHead":"b933d01f0a7838b26ac21c5842367f0520d3a751","private":false,"_npmUser":{"name":"nyxprime","email":"nyx@axis.love"},"repository":{"url":"git+https://github.com/axis-love/kmd-web.git","type":"git","directory":"packages/kmd-web"},"_npmVersion":"10.8.2","description":"Convenience exports for the supported public kmd-web entry points.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","dependencies":{"@axis-love/core":"0.1.0-rc.0","@axis-love/react":"0.1.0-rc.0","@axis-love/styles":"0.1.0-rc.0","@axis-love/browser":"0.1.0-rc.0","@axis-love/element":"0.1.0-rc.0","@axis-love/contracts":"0.1.0-rc.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kmd-web_0.1.0-rc.0_1786267160781_0.3280313415750762","host":"s3://npm-registry-packages-npm-production"}},"0.1.0-rc.1":{"name":"@axis-love/kmd-web","version":"0.1.0-rc.1","license":"MIT","_id":"@axis-love/kmd-web@0.1.0-rc.1","maintainers":[{"name":"nyxprime","email":"nyx@axis.love"}],"homepage":"https://github.com/axis-love/kmd-web/tree/main/packages/kmd-web#readme","bugs":{"url":"https://github.com/axis-love/kmd-web/issues"},"dist":{"shasum":"da7c9f9eac9d954023a1daca1101fe7008dc6e89","tarball":"https://registry.npmjs.org/@axis-love/kmd-web/-/kmd-web-0.1.0-rc.1.tgz","fileCount":16,"integrity":"sha512-9ufUQg7g2IGukIPu1Fw7ukBIJk6mS9A0eJffik+A69GbOAQxVKN1Z7X32XqbP95Rq/MXL/Lbfiw1OZ0zLD859A==","signatures":[{"sig":"MEYCIQDgZcja4rYzH/i9mCqSPZTLl4V3kKdElSdKAQudJ9zUpQIhAPe7apFvpO/TdGru2jLze1cMM3QFrW1AHwL5UVImkmd6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axis-love%2fkmd-web@0.1.0-rc.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12857},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./element":{"types":"./dist/element.d.ts","import":"./dist/element.js"},"./styles.css":"./styles.css"},"gitHead":"e44634f36e2cd6737fedca70237f2046571ee4ba","private":false,"_npmUser":{"name":"nyxprime","email":"nyx@axis.love"},"repository":{"url":"git+https://github.com/axis-love/kmd-web.git","type":"git","directory":"packages/kmd-web"},"_npmVersion":"10.8.2","description":"Convenience exports for the supported public kmd-web entry points.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.20.2","dependencies":{"@axis-love/core":"0.1.0-rc.1","@axis-love/react":"0.1.0-rc.1","@axis-love/styles":"0.1.0-rc.1","@axis-love/browser":"0.1.0-rc.1","@axis-love/element":"0.1.0-rc.1","@axis-love/contracts":"0.1.0-rc.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/kmd-web_0.1.0-rc.1_1786285785953_0.05369445523297167","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@axis-love/kmd-web","version":"0.1.0","license":"MIT","_id":"@axis-love/kmd-web@0.1.0","maintainers":[{"name":"nyxprime","email":"nyx@axis.love"}],"homepage":"https://github.com/axis-love/kmd-web/tree/main/packages/kmd-web#readme","bugs":{"url":"https://github.com/axis-love/kmd-web/issues"},"dist":{"shasum":"6e99ec85c96a3190ee27f194b7a08691070ba8a6","tarball":"https://registry.npmjs.org/@axis-love/kmd-web/-/kmd-web-0.1.0.tgz","fileCount":16,"integrity":"sha512-WbyD9DiSKfVuEeKBKqdLC8a/mrapd64e8lATHKbaSX9JoLSH2sQYnEgYoOs9xIi7Kw/w5wGqKlkqD2syKDroiw==","signatures":[{"sig":"MEUCIQDMCl4b72Cm80SYvxnsaTye5NnAqYDeKkVSbyU5J+iFjwIgQcYmseMwu1IqjGVehHqpZAUq1P0Sz3VKnkRAxYbgU/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axis-love%2fkmd-web@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":12812},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./element":{"types":"./dist/element.d.ts","import":"./dist/element.js"},"./styles.css":"./styles.css"},"gitHead":"85fa623aa7785916a3efaf66cd38b8dc5bff55bd","private":false,"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba85294b-20fe-427a-afd7-a777dbd03feb"}},"repository":{"url":"git+https://github.com/axis-love/kmd-web.git","type":"git","directory":"packages/kmd-web"},"_npmVersion":"12.0.2","description":"Convenience exports for the supported public kmd-web entry points.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.23.1","dependencies":{"@axis-love/core":"0.1.0","@axis-love/react":"0.1.0","@axis-love/styles":"0.1.0","@axis-love/browser":"0.1.0","@axis-love/element":"0.1.0","@axis-love/contracts":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/kmd-web_0.1.0_1786431436576_0.45898112363696586","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@axis-love/kmd-web","version":"0.2.0","description":"Convenience exports for the supported public kmd-web entry points.","license":"MIT","repository":{"type":"git","url":"git+https://github.com/axis-love/kmd-web.git","directory":"packages/kmd-web"},"bugs":{"url":"https://github.com/axis-love/kmd-web/issues"},"homepage":"https://github.com/axis-love/kmd-web/tree/main/packages/kmd-web#readme","type":"module","private":false,"sideEffects":["**/*.css"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./react":{"types":"./dist/react.d.ts","import":"./dist/react.js"},"./element":{"types":"./dist/element.d.ts","import":"./dist/element.js"},"./styles.css":"./styles.css"},"types":"./dist/index.d.ts","main":"./dist/index.js","module":"./dist/index.js","dependencies":{"@axis-love/contracts":"0.2.0","@axis-love/core":"0.2.0","@axis-love/browser":"0.2.0","@axis-love/react":"0.2.0","@axis-love/element":"0.2.0","@axis-love/styles":"0.2.0"},"publishConfig":{"access":"public"},"gitHead":"7d3a08bdd5c08184576a198b91774322a3f41f5e","_id":"@axis-love/kmd-web@0.2.0","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-0nWWqo2Z+NfT+lkYDtjjwO0RSdbmfpCuzAsMNjfX2vo0qUfStwZG+t6GlFi8maLYbO0EJTkVMEqSI8zpXO0Wng==","shasum":"28007e32cb406e5a53bdb107334b77cfacd76440","tarball":"https://registry.npmjs.org/@axis-love/kmd-web/-/kmd-web-0.2.0.tgz","fileCount":16,"unpackedSize":12812,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@axis-love%2fkmd-web@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCar9PqMYwOHJg9M+MpIcrul6mnr3+g3fyfW5c+LNBstwIhAMhEo9YysbNcc2jWaWtVFC1UnUr92ecu3AIbUff99zDu"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:ba85294b-20fe-427a-afd7-a777dbd03feb"}},"directories":{},"maintainers":[{"name":"nyxprime","email":"nyx@axis.love"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/kmd-web_0.2.0_1787427101582_0.001402625128270607"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-09T09:19:20.649Z","modified":"2026-08-22T19:31:42.071Z","0.1.0-rc.0":"2026-08-09T09:19:20.923Z","0.1.0-rc.1":"2026-08-09T14:29:46.099Z","0.1.0":"2026-08-11T06:57:16.716Z","0.2.0":"2026-08-22T19:31:41.712Z"},"bugs":{"url":"https://github.com/axis-love/kmd-web/issues"},"license":"MIT","homepage":"https://github.com/axis-love/kmd-web/tree/main/packages/kmd-web#readme","repository":{"type":"git","url":"git+https://github.com/axis-love/kmd-web.git","directory":"packages/kmd-web"},"description":"Convenience exports for the supported public kmd-web entry points.","maintainers":[{"name":"nyxprime","email":"nyx@axis.love"}],"readme":"# @axis-love/kmd-web\n\nConvenience exports for the supported public kmd-web entry points.\n\nOne install, one import path per surface. Everything here is a re-export — this\npackage holds no implementation of its own. Consumers who want a narrower\ndependency graph can install the individual `@axis-love/*` packages instead.\n\n```bash\nnpm install @axis-love/kmd-web\n```\n\n## Entry points\n\n| Import | What you get |\n|---|---|\n| `@axis-love/kmd-web` | `render`, `renderWithFeaturePlugins`, `BrowserReader`, host-capability types, contracts types, version constants |\n| `@axis-love/kmd-web/react` | `<MarkdownReader>`, `<DocumentShell>`, the React hooks |\n| `@axis-love/kmd-web/element` | `<kmd-reader>` (`KmdReaderElement`, `registerKmdReader`) |\n| `@axis-love/kmd-web/styles.css` | The scoped reader stylesheet |\n\n## Root-entry decision (KWEB-045)\n\n**The root entry is renderable, not contract-only.**\n\nThrough KWEB-044 the root exported types and version constants and nothing else.\nThat made the documented single-install path a dead end: `npm install\n@axis-love/kmd-web` followed by `import { render } from \"@axis-love/kmd-web\"` —\nthe exact line in `examples/vanilla/main.js` and in the root README — resolved to\nnothing. Rendering was reachable only through `./react` or `./element`, so a\nconsumer who wanted neither React nor a custom element had to work out on their\nown that the real entry point was a different package.\n\nSo the root now re-exports the renderable surface:\n\n- `render` — core's DOM-free pipeline. Sanitized HTML, math left as source, code\n  left unhighlighted. Safe to call anywhere, including Node.\n- `renderWithFeaturePlugins` / `loadFeatureRehypePlugins` — the same pipeline with\n  KaTeX and Shiki injected when those optional peers are installed. This is the\n  render entry a browser host wants.\n- `BrowserReader` — the full reader lifecycle: worker bridge, parse cache, DOM\n  morphing, anchor navigation, scroll tracking, code copy, link policy, asset\n  lifecycle, feature coordination.\n\nThe framework surfaces deliberately stay on their subpaths. `MarkdownReader` and\n`KmdReaderElement` are **not** re-exported from the root, so importing the root\nnever pulls React or a custom-element registration into a bundle that did not ask\nfor one.\n\n## Optional features\n\nSyntax highlighting, math, and Mermaid are optional peer dependencies of\n`@axis-love/browser` (which this package depends on). They are lazy-loaded, and a\ndocument renders fine without them — code stays unhighlighted, math stays as\nsource text. Install the ones you want:\n\n```bash\nnpm install @axis-love/highlighting @axis-love/math @axis-love/mermaid\n```\n\n## Example\n\n```js\nimport { renderWithFeaturePlugins } from \"@axis-love/kmd-web\";\nimport \"@axis-love/kmd-web/styles.css\";\n\nconst result = await renderWithFeaturePlugins(\"# Hello\\n\\n$E = mc^2$\");\n\n// The library's output is already sanitized.\ndocument.querySelector(\".kmd-reader\").innerHTML = result.html;\nconsole.log(result.outline, result.diagnostics, result.detectedFeatures);\n```\n\n## Versioning\n\nEvery `@axis-love/*` package moves in lockstep below 1.0 (see\n[RELEASING.md](../../RELEASING.md)). `VERSION` from this package is the version of\nthe whole set; `CONTRACTS_VERSION`, `CORE_VERSION` and `BROWSER_VERSION` are\nre-exported so a host can report what it is actually running.\n","readmeFilename":"README.md"}