{"_id":"@create-art/preact-konva","_rev":"2-4b46aeb27ab1351f1617319162a70cd7","name":"@create-art/preact-konva","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.1":{"name":"@create-art/preact-konva","version":"0.1.1","keywords":["canvas","konva","preact","renderer"],"license":"MPL-2.0","_id":"@create-art/preact-konva@0.1.1","maintainers":[{"name":"jeremybanka","email":"hello@jeremybanka.com"}],"dist":{"shasum":"3dd894e5699ee9558f171066eef7887c9348125c","tarball":"https://registry.npmjs.org/@create-art/preact-konva/-/preact-konva-0.1.1.tgz","fileCount":8,"integrity":"sha512-Qf2yJPl5lYDsP8UQ3DOf3rOn20rcbUYIoLN+b1+rtecMlSI/Gf0QFpKNUQ6PglpffwpIv2yZVtMLhcY3FSYJeQ==","signatures":[{"sig":"MEUCIQCL5TQ+p8NxeyQWha3re+crSkDVdnBIxH4vrnWxXZO/4AIgPZMLQptNai8JShCemQsQqZjRXp3l68Wj95Kujb9LoI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":60791},"type":"module","engines":{"node":">=22.0.0"},"exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","development":"./src/index.ts"},"./package.json":"./package.json"},"scripts":{"dev":"vp pack --watch --no-clean","test":"vp test","build":"vp pack"},"_npmUser":{"name":"jeremybanka","email":"hello@jeremybanka.com"},"repository":{"url":"https://github.com/jeremybanka/create-font","type":"git","directory":"packages/create-art/preact-konva"},"description":"Small, native Preact bindings for the Konva scene graph","directories":{},"sideEffects":false,"_nodeVersion":"26.0.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"konva":"10.3.0","preact":"10.29.8","vitest":"4.1.10"},"peerDependencies":{"konva":"^10.3.0","preact":"^10.29.0"},"_npmOperationalInternal":{"tmp":"tmp/preact-konva_0.1.1_1785739056920_0.48453236568667","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@create-art/preact-konva","version":"0.2.0","description":"Small, native Preact bindings for the Konva scene graph","keywords":["canvas","konva","preact","renderer"],"license":"MPL-2.0","repository":{"type":"git","url":"https://github.com/jeremybanka/create-font","directory":"packages/create-art/preact-konva"},"type":"module","sideEffects":false,"publishConfig":{"access":"public"},"exports":{".":{"development":"./src/index.ts","types":"./dist/index.d.mts","import":"./dist/index.mjs"},"./package.json":"./package.json"},"peerDependencies":{"konva":"^10.3.0","preact":"^10.29.0"},"devDependencies":{"konva":"10.3.0","preact":"10.29.8","vitest":"4.1.10"},"engines":{"node":">=22.0.0"},"scripts":{"build":"vp pack","dev":"vp pack --watch --no-clean","test":"vp test"},"_nodeVersion":"26.0.0","_id":"@create-art/preact-konva@0.2.0","dist":{"integrity":"sha512-ff7+2pyWKPTTS5TlMsQkeFIeHFglQwM33aEatz2E2hNOpWpaKArEXfHhvVo/2Eo8KvUAoytrmaRpu4/xssYe5w==","shasum":"5bba2b04ea305f500f57bb85349eb170cadad19d","tarball":"https://registry.npmjs.org/@create-art/preact-konva/-/preact-konva-0.2.0.tgz","fileCount":8,"unpackedSize":60791,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@create-art%2fpreact-konva@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCfktVtsToPMZlxmNZI0LVsroBIQymd1M39AO8fwhlOMQIgYPqErOVRf32Knwt0sSNXTXLBzUcbnD0gCC+kvL24gqk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:1471bb2d-d9ef-452a-8a41-e84bab781901"}},"directories":{},"maintainers":[{"name":"jeremybanka","email":"hello@jeremybanka.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/preact-konva_0.2.0_1785742016897_0.029036802072288648"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-03T06:37:36.743Z","modified":"2026-08-03T07:26:57.639Z","0.1.1":"2026-08-03T06:37:37.066Z","0.2.0":"2026-08-03T07:26:57.036Z"},"license":"MPL-2.0","keywords":["canvas","konva","preact","renderer"],"repository":{"type":"git","url":"https://github.com/jeremybanka/create-font","directory":"packages/create-art/preact-konva"},"description":"Small, native Preact bindings for the Konva scene graph","maintainers":[{"name":"jeremybanka","email":"hello@jeremybanka.com"}],"readme":"# @create-art/preact-konva\n\nSmall, native Preact bindings for the Konva scene graph.\n\n`@create-art/preact-konva` provides a deliberately narrow declarative layer for interactive\nbrowser canvases. It creates ordinary Konva nodes, applies changed properties,\nkeeps JSX child order synchronized with Konva z-order, manages event listeners,\nand exposes the underlying nodes through refs.\n\n## Install\n\n```sh\nnpm install @create-art/preact-konva preact konva\n```\n\nBoth Preact and Konva are peer dependencies so the application and adapter use\nthe same framework and scene-graph instances.\n\n## Example\n\n```tsx\nimport { useRef } from \"preact/hooks\"\nimport type Konva from \"konva\"\nimport { Circle, Layer, Stage } from \"@create-art/preact-konva\"\n\nexport function Canvas() {\n\tconst circle = useRef<Konva.Circle>(null)\n\n\treturn (\n\t\t<Stage width={640} height={480}>\n\t\t\t<Layer>\n\t\t\t\t<Circle\n\t\t\t\t\tref={circle}\n\t\t\t\t\tx={320}\n\t\t\t\t\ty={240}\n\t\t\t\t\tradius={48}\n\t\t\t\t\tfill=\"tomato\"\n\t\t\t\t\tdraggable\n\t\t\t\t/>\n\t\t\t</Layer>\n\t\t</Stage>\n\t)\n}\n```\n\n## API\n\nThe package currently exports typed components for:\n\n- `Stage`\n- `Layer`\n- `Group`\n- `Rect`\n- `Circle`\n- `Line`\n- `Path`\n- `Text`\n\nIt also exports `KonvaEventObject` and the component/event prop types. Konva\nproperties and `onMouseDown`/`onPointerMove`-style event props are forwarded to\ntheir nodes. Container children must be `@create-art/preact-konva` components; shape\ncomponents cannot contain children.\n\nThe `Stage` component owns its browser host and therefore does not support\nserver rendering. Import Konva directly for headless canvas work.\n\n## Scope\n\nThis is not intended to reproduce every feature of `react-konva`. Its small API\nmatches the primitives required by the create-font and create-design editors.\nNew nodes and events are added explicitly so the supported surface stays typed,\ntestable, and tree-shakeable.\n\nThe Create Art project is separately evaluating whether to migrate its editor\nruntime to React and the externally maintained `react-konva` renderer in\n[create-font issue #366](https://github.com/jeremybanka/create-font/issues/366).\n\n## License\n\nMozilla Public License 2.0. See [LICENSE](LICENSE).\n","readmeFilename":""}