{"_id":"svelte-render","_rev":"26-2fae784a43906efdb587809d1da0a52d","time":{"created":"2022-09-28T12:14:17.889Z","1.0.0":"2019-06-26T10:20:16.338Z","modified":"2024-02-02T15:24:28.262Z","1.0.1":"2019-06-26T10:23:35.359Z","1.0.2":"2019-06-26T16:41:20.060Z","1.0.3":"2019-06-26T16:42:33.484Z","1.0.4":"2019-06-26T17:16:43.321Z","1.0.5":"2019-06-26T17:53:14.798Z","1.0.6":"2019-06-26T17:55:31.971Z","1.0.7":"2019-06-26T18:23:22.068Z","1.0.8":"2019-06-27T12:13:52.734Z","1.0.9":"2019-06-27T12:17:33.138Z","1.1.0":"2019-06-27T14:40:55.655Z","1.1.1":"2019-06-27T14:59:33.107Z","1.1.2":"2019-06-27T15:01:06.987Z","1.1.3":"2019-06-27T15:02:52.951Z","1.1.4":"2019-06-27T15:05:48.593Z","1.1.5":"2019-06-27T15:26:47.527Z","1.1.6":"2019-06-27T16:59:59.206Z","1.2.0":"2019-07-01T15:59:03.699Z","1.2.1":"2019-07-02T19:23:24.124Z","1.2.2":"2019-12-14T20:48:20.486Z","1.5.0":"2022-09-28T12:14:18.102Z","1.6.0":"2022-12-22T08:45:48.581Z","1.6.1":"2023-08-10T18:01:58.298Z","2.0.0":"2024-01-02T19:40:28.366Z","2.0.1":"2024-02-02T15:24:28.108Z"},"name":"svelte-render","dist-tags":{"latest":"2.0.1"},"versions":{"1.5.0":{"name":"svelte-render","description":"Manage complex Svelte behaviors outside of templates with full type safety","version":"1.5.0","repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"keywords":["svelte","sveltejs","render","template"],"author":{"name":"Bryan Lee"},"license":"MIT","bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"homepage":"https://github.com/bryanmylee/svelte-render#readme","devDependencies":{"@sveltejs/adapter-auto":"next","@sveltejs/kit":"next","@sveltejs/package":"^1.0.0-next.1","@testing-library/jest-dom":"^5.16.5","@testing-library/svelte":"^3.2.1","@testing-library/user-event":"^14.4.3","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","@vitest/coverage-c8":"^0.23.4","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","jsdom":"^20.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte":"^3.44.0","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.4","vite":"^3.1.0","vitest":"^0.23.4"},"type":"module","dependencies":{"svelte-subscribe":"^1.0.5"},"exports":{"./package.json":"./package.json","./ComponentRender.svelte":"./ComponentRender.svelte","./Render.svelte":"./Render.svelte","./createRender":"./createRender.js",".":"./index.js","./store":"./store.js"},"svelte":"./index.js","types":"./index.d.ts","gitHead":"3fc41513b9910d1c0b562a67d63995618e81fb79","_id":"svelte-render@1.5.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-avH7dl6LkJxzi7AbGQScoY58WmjdFQRcr8vTvDAgZwOnrJj7tMIdlIFM0f9lIqYlmO5fbRrrQM3LMXNMe1LWfw==","shasum":"92212c9400b29ef4c5ae453d27b82b3a25d0f7f2","tarball":"https://registry.npmjs.org/svelte-render/-/svelte-render-1.5.0.tgz","fileCount":13,"unpackedSize":11127,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDjh2IaU2INKUfl3BKhJTQamhE0MRo5olAVWRXjzrWbNgIgV4CjooAeXutf/XkfAs62I+3jh+Exl1u7a1RFKmenCeQ="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjNDqaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkaBAAont2Ytr+V671UoKiPCx00Bo47BeNiYN6LfbK2cfqahluWRz2\r\nOVdmkJmkrPyrT+XDWc0TCb2TMCly6aySfFIOsdFznvLPpJjNHy2y424QK3AH\r\nZbaPBuzoo1+pDaqOGqCy5L0sqfnS6xNEMN5LzFNnc54IRc8BpltVBg0O0/lf\r\nFUgzDTiMQIkzRyyMDk1SLqF/EO2q3UWHBquWCi5J2YnEIka3aQXeHaNRGpMU\r\nkbIayJvvgme8xg/DMj39AHFy961KontwWCO/2HQDN1Z46pgJm7DuPJV/MCaj\r\nmvy4cXM2iqP/AEJZjr+zS2IrUfSwSRIF7IE7V7ZdwdHC+9PAOhm+KdJWXWQ2\r\nm+CJLz63B/rEKolB2V1tegjee6FHTtAQPENoaszfeVqzKLaOy1Y2XcEdzqar\r\n2nSj2Ki/rEzqIhdjmRUcZh5wvjOxgge+ocdNPKzi81PnjRjazOa22nkNcaB6\r\n4/RwX7Hu7W4ZU1ebkfIgTJVnjY4IfUompXBQ2vaj7EDMbnVIrztxdTIHfA0Y\r\nEahheIt6BYCK6Yb08H+s3dDA1mR86+F6/7REF9H3YtClKmGXzt2H/+qWZ88j\r\nN7VoByVhz7QycSXohgbrew9+nHh58ZulOHdiDafwY911FK5EtiNfnNi8+wtK\r\nH+KHkLCzd+XDI95lnxvm4vfrNqDEhXzWkGg=\r\n=mhDZ\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bryanmylee","email":"bryanmylee@gmail.com"},"directories":{},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-render_1.5.0_1664367257890_0.886343052144207"},"_hasShrinkwrap":false},"1.6.0":{"name":"svelte-render","description":"Manage complex Svelte behaviors outside of templates with full type safety","version":"1.6.0","repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"keywords":["svelte","sveltejs","render","template"],"author":{"name":"Bryan Lee"},"license":"MIT","bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"homepage":"https://github.com/bryanmylee/svelte-render#readme","devDependencies":{"@sveltejs/adapter-auto":"next","@sveltejs/kit":"next","@sveltejs/package":"^1.0.0-next.1","@testing-library/jest-dom":"^5.16.5","@testing-library/svelte":"^3.2.1","@testing-library/user-event":"^14.4.3","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","@vitest/coverage-c8":"^0.23.4","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","jsdom":"^20.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte":"^3.44.0","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.4","vite":"^3.1.0","vitest":"^0.23.4"},"type":"module","dependencies":{"svelte-subscribe":"^1.0.5"},"exports":{"./package.json":"./package.json","./ComponentRenderer.svelte":"./ComponentRenderer.svelte","./PropsRenderer.svelte":"./PropsRenderer.svelte","./Render.svelte":"./Render.svelte","./createRender":"./createRender.js",".":"./index.js","./store":"./store.js"},"svelte":"./index.js","types":"./index.d.ts","gitHead":"0637a87bdbbff614856a1b1c4e8b91d132a5d045","_id":"svelte-render@1.6.0","_nodeVersion":"16.18.1","_npmVersion":"8.19.2","dist":{"integrity":"sha512-Y6Ea6U768MuhH0xR72pAPnXdSnJ+4yi24YyD/b9Q46yGalQFVxUyan496EELWtQEvgQE9Z2PsFAG8JjvrWcDAg==","shasum":"cbea95322e54931efaa08a814870fa0f3670a2b3","tarball":"https://registry.npmjs.org/svelte-render/-/svelte-render-1.6.0.tgz","fileCount":15,"unpackedSize":13922,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGxz7H1MMIHPEdKbKmG5obw53+rwvtGr02GDR7+C/vtpAiAuP90o/u1wQueUwc/YsjKip7VFScekwZACYs+ldoYEZQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjpBk8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrj2BAAkHdZbhjH08KXas8PqbYNBZj4gNPelVGYwFDxIxhMeSjyKpeL\r\n5iwOuXEzlS744dSVwbCz9aX7mPvYFnBgsoLObBvJia23oCgIzTJkcLrBSjSQ\r\n1QUoD/Erz8f2teZofwKJRpschAea22TE71IYMOJOG6jVDWhX79poh6n/R5Ac\r\ncn6DuKNn4EPda9WZIHvnqGRPV63zSd/Zr4dRwx/Zm3dpB2ePYZNT1Vpq8dWY\r\nx+W1r+Q447+7K61HV7RcJQ7GFfbCl6Z4aFhTeP6onamDLwgjCvcoxL+qYdtE\r\nPzqgSfy64Q/avPmJaVZgoHRFw7/Dk4LPXYzVrErTrW4ihUvkFqFDDEeuGxW2\r\nzE5sGS0WU0mRN6t3cJiDxy9ThqLvEgQh6e3FWxHhXbQTNXvxlnLsL2wtTSCV\r\nT9aHJR1NjZinRItr2Ttci3lepkjbIrgkPdxGMCoy8RnUycXmnjU2FsdwWdWO\r\nduPWB2BFOAuyDcqmyTuHJow+870vhO01/A44jjEpeCsHEy8pSk3VsQRW+56t\r\nd9+wFodTiWCo4RVnxb+V2+gKGf/8C9lEAWL1OCcR+VJvYSDevTVp8V+hyJK1\r\n0BDpx8zK2N4M96YC+et2LO4TCaNJWildzQBD8AeEURePseCT3ih9x3NExtB3\r\nW1Wpmn/Hm5TRYUSC1CoBpcPE/ZqXb38iCTY=\r\n=Altp\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"bryanmylee","email":"bryanmylee@gmail.com"},"directories":{},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-render_1.6.0_1671698748363_0.056775789209045024"},"_hasShrinkwrap":false},"1.6.1":{"name":"svelte-render","description":"Manage complex Svelte behaviors outside of templates with full type safety","version":"1.6.1","repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"keywords":["svelte","sveltejs","render","template"],"author":{"name":"Bryan Lee"},"license":"MIT","bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"homepage":"https://github.com/bryanmylee/svelte-render#readme","devDependencies":{"@sveltejs/adapter-auto":"next","@sveltejs/kit":"next","@sveltejs/package":"^1.0.0-next.1","@testing-library/jest-dom":"^5.16.5","@testing-library/svelte":"^3.2.1","@testing-library/user-event":"^14.4.3","@typescript-eslint/eslint-plugin":"^5.27.0","@typescript-eslint/parser":"^5.27.0","@vitest/coverage-c8":"^0.23.4","eslint":"^8.16.0","eslint-config-prettier":"^8.3.0","eslint-plugin-svelte3":"^4.0.0","jsdom":"^20.0.0","prettier":"^2.6.2","prettier-plugin-svelte":"^2.7.0","svelte-check":"^2.7.1","svelte-preprocess":"^4.10.6","tslib":"^2.3.1","typescript":"^4.8.4","vite":"^3.1.0","vitest":"^0.23.4"},"type":"module","dependencies":{"svelte-subscribe":"^1.0.5"},"peerDependencies":{"svelte":"^3 || ^4"},"exports":{"./package.json":"./package.json","./ComponentRenderer.svelte":"./ComponentRenderer.svelte","./PropsRenderer.svelte":"./PropsRenderer.svelte","./Render.svelte":"./Render.svelte","./createRender":"./createRender.js",".":"./index.js","./store":"./store.js"},"svelte":"./index.js","types":"./index.d.ts","gitHead":"b944fd225b886cdc6b2da811d5d3a249be9f4c16","_id":"svelte-render@1.6.1","_nodeVersion":"16.20.1","_npmVersion":"8.19.4","dist":{"integrity":"sha512-pn580Z6DtxIDrXqQaGR/7z8tdHasgURn1AG5tt4ym1PfE6qFjT27NpN6vIg5kvDl1ewK9pYeTfIWPw4pPXqyuw==","shasum":"ad741e1b02a1d8d85ee6edd351a7a321e2996e7e","tarball":"https://registry.npmjs.org/svelte-render/-/svelte-render-1.6.1.tgz","fileCount":15,"unpackedSize":13951,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0HcHLh+XMjE627OdHXUlvPrV0hroBFpJhBXwB5YgzoAiBKWMMT8dfswir+2ShkOodJlaOvLL+r4b9tQTAzVRGFTg=="}]},"_npmUser":{"name":"bryanmylee","email":"bryanmylee@gmail.com"},"directories":{},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-render_1.6.1_1691690518108_0.45356812373175126"},"_hasShrinkwrap":false},"2.0.0":{"name":"svelte-render","description":"Manage complex Svelte behaviors outside of templates with full type safety","version":"2.0.0","scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","test":"vitest run --coverage","test:only":"vitest run","test:watch":"vitest","lint":"prettier --check . && eslint .","format":"prettier --write ."},"repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"keywords":["svelte","sveltejs","render","template"],"author":{"name":"Bryan Lee"},"license":"MIT","bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"homepage":"https://github.com/bryanmylee/svelte-render#readme","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"}},"peerDependencies":{"svelte":"^4.0.0"},"devDependencies":{"@sveltejs/adapter-auto":"^3.0.0","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/vite-plugin-svelte":"^3.0.0","@testing-library/jest-dom":"^6.1.6","@testing-library/svelte":"^4.0.5","@testing-library/user-event":"^14.5.2","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","@vitest/coverage-v8":"^1.1.1","eslint":"^8.28.0","eslint-config-prettier":"^9.1.0","eslint-plugin-svelte":"^2.30.0","jsdom":"^23.0.1","prettier":"^3.1.1","prettier-plugin-svelte":"^3.1.2","publint":"^0.1.9","svelte":"^4.2.7","svelte-check":"^3.6.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^5.0.3","vitest":"^1.0.0"},"dependencies":{"svelte-subscribe":"^2.0.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","_id":"svelte-render@2.0.0","gitHead":"a605c1a395d369b9ac35a0467a0390686335a56d","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-YWMwXGlUlnlb8QhEd138Kmay2KfU6sE7jj3epoYZuHe3M2voGdXfgqYJY7gGizW55N0zDWtuRaY3Rh6PGcGQyQ==","shasum":"9bf166d432d5da5a9c7dc364982e2cdac97f480d","tarball":"https://registry.npmjs.org/svelte-render/-/svelte-render-2.0.0.tgz","fileCount":15,"unpackedSize":14520,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLumMZsy9vIsHbG9KNKh6S1vhlfmBVFieFYN4kG4SyEgIhAMFUI6uWWrMAnmWRrEdNcL2TppHxagsGZ4nie2irZKLY"}]},"_npmUser":{"name":"bryanmylee","email":"bryanmylee@gmail.com"},"directories":{},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-render_2.0.0_1704224428182_0.90660115318005"},"_hasShrinkwrap":false},"2.0.1":{"name":"svelte-render","description":"Manage complex Svelte behaviors outside of templates with full type safety","version":"2.0.1","scripts":{"dev":"vite dev","build":"vite build && npm run package","preview":"vite preview","package":"svelte-kit sync && svelte-package && publint","prepublishOnly":"npm run package","check":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json","check:watch":"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch","test":"vitest run --coverage","test:only":"vitest run","test:watch":"vitest","lint":"prettier --check . && eslint .","format":"prettier --write ."},"repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"keywords":["svelte","sveltejs","render","template"],"author":{"name":"Bryan Lee"},"license":"MIT","bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"homepage":"https://github.com/bryanmylee/svelte-render#readme","exports":{".":{"types":"./dist/index.d.ts","svelte":"./dist/index.js","default":"./dist/index.js"}},"peerDependencies":{"svelte":"^4.0.0"},"devDependencies":{"@sveltejs/adapter-auto":"^3.0.0","@sveltejs/kit":"^2.0.0","@sveltejs/package":"^2.0.0","@sveltejs/vite-plugin-svelte":"^3.0.0","@testing-library/jest-dom":"^6.1.6","@testing-library/svelte":"^4.0.5","@testing-library/user-event":"^14.5.2","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","@vitest/coverage-v8":"^1.1.1","eslint":"^8.28.0","eslint-config-prettier":"^9.1.0","eslint-plugin-svelte":"^2.30.0","jsdom":"^23.0.1","prettier":"^3.1.1","prettier-plugin-svelte":"^3.1.2","publint":"^0.1.9","svelte":"^4.2.7","svelte-check":"^3.6.0","tslib":"^2.4.1","typescript":"^5.0.0","vite":"^5.0.3","vitest":"^1.0.0"},"dependencies":{"svelte-subscribe":"^2.0.0"},"svelte":"./dist/index.js","types":"./dist/index.d.ts","type":"module","_id":"svelte-render@2.0.1","gitHead":"d886ad1613dd64eb9fe07300928caaad1185e062","_nodeVersion":"18.19.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-RpB0SurwXm4xhjvHHtjeqMmvd645FURb79GFOotScOSqnKK5vpqBgoBPGC0pp+E/eZgDSQ9rRAdn/+N4ys1mXQ==","shasum":"4c01c66a0e19b9aa10d0a1f87ebbed266886b4cd","tarball":"https://registry.npmjs.org/svelte-render/-/svelte-render-2.0.1.tgz","fileCount":15,"unpackedSize":14503,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDCarGczYW+a32FobC1t23ggGonVJE7xleRQFzuheW2CwIhAJW7UEs+tZf0wbE62LHyLWV/wPT5lXc4kyoE6Mtu65Yy"}]},"_npmUser":{"name":"bryanmylee","email":"bryanmylee@gmail.com"},"directories":{},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/svelte-render_2.0.1_1706887467961_0.41353135890202664"},"_hasShrinkwrap":false}},"maintainers":[{"name":"bryanmylee","email":"bryanmylee@gmail.com"}],"description":"Manage complex Svelte behaviors outside of templates with full type safety","homepage":"https://github.com/bryanmylee/svelte-render#readme","keywords":["svelte","sveltejs","render","template"],"repository":{"type":"git","url":"git+ssh://git@github.com/bryanmylee/svelte-render.git"},"author":{"name":"Bryan Lee"},"bugs":{"url":"https://github.com/bryanmylee/svelte-render/issues"},"license":"MIT","readme":"# svelte-render\n\n[![npm version](http://img.shields.io/npm/v/svelte-render.svg)](https://www.npmjs.com/package/svelte-render)\n[![npm downloads](https://img.shields.io/npm/dm/svelte-render.svg)](https://www.npmjs.com/package/svelte-render)\n![license](https://img.shields.io/npm/l/svelte-render)\n![build](https://img.shields.io/github/actions/workflow/status/bryanmylee/svelte-render/publish.yml)\n[![coverage](https://coveralls.io/repos/github/bryanmylee/svelte-render/badge.svg?branch=main)](https://coveralls.io/github/bryanmylee/svelte-render?branch=main)\n[![size](https://img.shields.io/bundlephobia/min/svelte-render)](https://bundlephobia.com/result?p=svelte-render)\n\nManage complex Svelte behaviors outside of templates with full type safety.\n\n```svelte\n<script>\n  import {Render, createRender} from 'svelte-render';\n  import Avatar from './Avatar.svelte';\n  // ...\n  const avatar = createRender(Avatar, {name: 'Ada Lovelace'})\n    .on('click', handleClick)\n    .on('launch', handleLaunch);\n</script>\n\n<Render of={avatar} />\n```\n\n## Installation\n\n```bash\n$ npm i -D svelte-render\n```\n\n## API\n\nSvelte Render was primarily built to support complex rendering definitions for [Svelte Headless Table](https://github.com/bryanmylee/svelte-headless-table). You can find full documentation on `createRender` on the [documentation site](https://svelte-headless-table.bryanmylee.com/docs/api/create-render).\n\n### `<Render />`\n\n`<Render />` handles props and automatically registers the event handlers defined with `.on` as well as slot data defined with `.slot`.\n\n`of` accepts:\n\n- primitive data such as `number` and `string`\n- `Writable<number>` and `Writable<string>` for dynamic primitive data\n- `ComponentRenderConfig` returned by `createRender`\n\n```svelte\n<script>\n  const avatar = createRender(Avatar, {name: 'Ada Lovelace'});\n</script>\n\n<Render of={avatar} />\n```\n\nbecomes\n\n```svelte\n<Avatar name=\"Ada Lovelace\" />\n```\n\n### `createRender: (component, props)`\n\n`createRender` accepts a Svelte component and its props as arguments.\n\n`props` can be omitted if the component does not receive props but must be included otherwise.\n\n```ts\nconst icon = createRender(TickIcon); // ✅\nconst avatar = createRender(Avatar); // ❌ Type error.\nconst avatar = createRender(Avatar, {name: 'Ada Lovelace'}); // ✅\n```\n\nIf you need prop reactivity, `props` must be a [Svelte store](https://svelte.dev/tutorial/writable-stores).\n\n```ts\nconst avatarProps = writable({name: 'Ada Lovelace'});\nconst avatar = createRender(Avatar, avatarProps);\n```\n\n### `.on(event, handler)`\n\nSvelte Render supports the Svelte event system by chaining `.on` calls on `createRender()`. Multiple event handlers can be registered for the same event type like the Svelte `on:` directive.\n\n```ts\nconst button = createRender(Button)\n  .on('click', handleClick)\n  .on('click', (ev) => console.log(ev));\n```\n\n`<Render of={button} />` becomes:\n\n```svelte\n<Button on:click={handleClick} on:click={(ev) => console.log(ev)} />\n```\n\nHowever, note that the callback handler passed into `.on(event, handler)` is not dynamic and will only capture references to variables as they were when the render configuration is created.\n\nIf you need a handler to access dynamic data, use a dynamic system like Svelte Stores.\n\n```ts\nconst counter = writable(0);\nconst button = createRender(Button)\n  .on('click', (ev) => counter.update(c => c + 1));\n```\n\n### `.slot(...config)`\n\nSvelte Render also supports Svelte's default slot system.\n\n`.slot` receives any number of arguments with the same type as `of`, including `ComponentRenderConfig` returned by `createRender`, primitive data, and `Writable`. This makes it useful for rendering wrapper components such as `<Button />` and `<Label />`.\n\n_Due to technical limitations with Svelte 4, it is not possible to assign render configurations to named slots._\n\n```ts\nconst button = createRender(Button).slot(createRender(Icon, {name: 'user'}), 'Log in');\n```\n\n`<Render of={button} />` becomes:\n\n```svelte\n<Button>\n  <Icon name=\"user\" />\n  Log in\n</Button>\n```\n","readmeFilename":"README.md"}