{"_id":"@jarenjs/view","_rev":"26-e1df80dfa676d23a5e81fee06e08b919","name":"@jarenjs/view","dist-tags":{"latest":"0.91.4"},"versions":{"0.34.0":{"name":"@jarenjs/view","version":"0.34.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.34.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4b907debe71c420f4f8c0ee1fb69d0f5d2cacb1f","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.34.0.tgz","fileCount":27,"integrity":"sha512-DCeF8P7F7Uf3WGnSgsrtsu7AKw6MLzuWcXS+E3JhSo6bDbz7X64YqU0Le9AJd0UzebN/rtzvPz4W2BCHNGapiQ==","signatures":[{"sig":"MEUCIBP5gKN6um9e36G2xb9y3cVJADh7lhqbnxp8poiFnQ6zAiEArzEaOvbs7yBvWyOoOPLwUAgmRD8EEDbNWo6NUc3uMkQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"2c2376a53a0905e8adbca04e3cc2510c358d3462","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.34.0_1786632481060_0.2328641140473806","host":"s3://npm-registry-packages-npm-production"}},"0.34.2":{"name":"@jarenjs/view","version":"0.34.2","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.34.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"cd0ca6d2b7ebc36a0b52885d767b3f596c3c8bfa","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.34.2.tgz","fileCount":27,"integrity":"sha512-SEbl3szstKTYSobkPOn1jUfK33hP22paYJwHXXBnpRCJXpxG/pw95ZYj3c+F9Xls43blDmjhefLWnq5p3lTJ7w==","signatures":[{"sig":"MEUCIQCB65ohl3itw6qxmT8WQaTLWAtABMDNT6LMbA8yDUdPkgIgNM04FA6ha2Ki6N4jYe0Tpj7JVagewpDWo5N2ypG94Zg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"50d115c4d4a0cdf96f0a9775bb55cd3ec1f1aeab","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.34.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.34.2_1786889755387_0.42797855679299635","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"@jarenjs/view","version":"0.43.1","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.43.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"d61e9a802f31fde7e6c392c00d50806731ad735b","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.43.1.tgz","fileCount":27,"integrity":"sha512-NMtDjRr2DQWtMwhrLMacX2yQ72maWUaFDlg3f1OI34rVTg+oyp6aQUBBYpRyM0H2lyJ4+08NvwTdG7aw0XcoGQ==","signatures":[{"sig":"MEUCIHw/psT16vVol7sXHBNwMFLot0meOoFsST124Q5dswA1AiEAtnErD8+XTyRkwnjufPc2AXAaEqUdBscadFEWDivqRbw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"6e03d18fb68dd79a80c58f04f47901641901a2ec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.43.1_1787481692376_0.7862098803857502","host":"s3://npm-registry-packages-npm-production"}},"0.43.3":{"name":"@jarenjs/view","version":"0.43.3","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.43.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"55d541e1c297ac779552ea71f28f28b911d4dfea","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.43.3.tgz","fileCount":27,"integrity":"sha512-6M1pMGnpHLMT5+rPIEwRkUWGX7fPSrBeOdeJKN5/8/jO1vg81aQ1t1vhuG4ARwFtdV/Di2cphOAvNMM/7Jwlww==","signatures":[{"sig":"MEYCIQCeLPJ07pNAHraROWwTF9h6oy/aHqLjqch3oBYAsvjd0QIhAJFLPbCGpcjm9S1kpQdoYA8VPuadl9laOmpQ/DgmnfgR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"efd18dec49c026ddd9dd301cb17eb97e5feb1288","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.43.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.43.3_1787588978508_0.9117744035410864","host":"s3://npm-registry-packages-npm-production"}},"0.46.4":{"name":"@jarenjs/view","version":"0.46.4","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.46.4","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"d088f1867255e9ba0bbb2eec240c31e2a69e8bab","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.46.4.tgz","fileCount":27,"integrity":"sha512-yzP7nQg732UzmZmBoCIbKDbitPw40hbBBuQzgTfngUbQYTXQGewBll3I21rkQ+3bg0lxJ85nseisBIb2Errwqg==","signatures":[{"sig":"MEYCIQC8mhI6RiXvp7UTQWaM7v4ZGq+2wx5hTC0/eCPk9EyphQIhALljhEl69XAzHUFFbcEgM1YP+C0eqNwEdp5NVd8AE+Or","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"e1dc4417ddc0acc42402e7486f45bbc5bff2cb41","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.46.4_1787728817169_0.5277923089954752","host":"s3://npm-registry-packages-npm-production"}},"0.46.5":{"name":"@jarenjs/view","version":"0.46.5","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.46.5","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"5a00469df61a6ebbfc05ce3a30850d1e5b0abf5d","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.46.5.tgz","fileCount":27,"integrity":"sha512-Tbx5CslLzU0f0X95hB1xXUROfJeCgJzAvXkjnGeXN7xiW/8HIPd1brOreSqJeWQFzwDOoFeUNcgaSgYMIX57Mw==","signatures":[{"sig":"MEUCIQCNJfCHugUrmsm2xCVHVuzSobLvQaSfSDYuAk3PhBDbBwIgOZzKMeO4IWAgfHOuJ7NE7w64wXWQJlQkcv9WQV84V9g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"0df1ef3a27b39e1408acf1ba2e63eed34b1c8621","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.46.5"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.46.5_1787734459206_0.41266867596621637","host":"s3://npm-registry-packages-npm-production"}},"0.49.2":{"name":"@jarenjs/view","version":"0.49.2","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.49.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"ec4a75c69faa9bffea1eb5592a7f723356f7b72f","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.49.2.tgz","fileCount":27,"integrity":"sha512-Xgahu+DBwRaIH5wqP+BdvmxoSaxfspGcj4pvuS4hpvJhCLerVk8Ow/ouvl5ZOokamOOUII110JgnIzvSZ9qqYw==","signatures":[{"sig":"MEUCIQDad3ybkea6zXXX4yyjpAl1XIcsnfrLB7ZuKeRQf8e9TgIgNsO8NOFWm3ihZxLCqeJEVrL+yvpo5Y3b370wJiTiXBE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194648},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"15e048f0cba387991c17758f689e8fd3b306dea8","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.49.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.49.2_1787775771760_0.39760384298265494","host":"s3://npm-registry-packages-npm-production"}},"0.56.0":{"name":"@jarenjs/view","version":"0.56.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.56.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"a1c87a0143796832bf6f3e14ef299ea60abc0bb4","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.56.0.tgz","fileCount":27,"integrity":"sha512-5RtnKKpvyKav3uV2MMeV4LVOC4iCuOcUfBGntbnA84O324uiaWodK44Ta4kgy9iXWdaQs6dlT1GABu1EzGJASg==","signatures":[{"sig":"MEUCIFdI35OO63jL8jZ3JcXzKn3B4gQzN0YyE1ls0HgY1M8sAiEA9bcUNkBFbfwF4TCbGJttNNF3jSIpP65XjXBTsY1E1P4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":194660},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"74f70f52b57410763dab4c52173cf037da601e70","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.19.0","dependencies":{"@jarenjs/core":"^0.56.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.56.0_1788053697494_0.9319039144330012","host":"s3://npm-registry-packages-npm-production"}},"0.66.1":{"name":"@jarenjs/view","version":"0.66.1","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.66.1","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"7894dada7a40782734e5ec2942b6cc3b3e0810e4","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.66.1.tgz","fileCount":27,"integrity":"sha512-Wt77Cv2hBh6W9qgSNON7fadESpPWqTIK4z9gL0xbotPjEX15rJsN2OFC1xgwb/nSuvvuYoAzhDkRkb8cZBN+hw==","signatures":[{"sig":"MEQCIF6kKJP+zGddRf8n7BpJ5U/C9LY1VfEEUP+bnyh/HFFxAiAmObroXFnk/8rKZNE6lpEesK+Md+1IG6/pO8+QwaOBJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEnsmB6HTpYEn76JzoTALJnvt3HMT602J1TF0kDaabI0AiEA0dT/vnj+KNIQ/QNTL373CgylcqmQ7zHdVQuubnIKGi4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196596},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"38bd730da099aff22b13944f85b691b0bd399bec","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.66.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.66.1_1788890934398_0.7823730002378462","host":"s3://npm-registry-packages-npm-production"}},"0.67.0":{"name":"@jarenjs/view","version":"0.67.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.67.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"b8c7d27f50f82225cef2692ee840e0d36da3731d","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.67.0.tgz","fileCount":27,"integrity":"sha512-sIRiLbGpE6CL9nLAGLVNayXuTkmkw3YhzDygjbekE1cqZTViVsLu+qDRHQeCO/WIcK9xtK9bQSMVh+e50Ijaiw==","signatures":[{"sig":"MEQCIGiw9yZKY5d+3Boqa85+SuiZLPN0RRRKpxtEUyI4GUL2AiBU8Lo/2yyIni4n+3OzNpkwOaM9aMRiV+eOuzp7p9kViA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDDN121JcXZnDU5rEALHLJNwmdtWUjED+L+ca1QwoxkAAiAk8gUkxk7WxNaPAO/Pd/V09umymzWghkZhoOBJOFKtwQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196596},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"78082760da582ed92ccb3f4dedbf550090f1f18f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.67.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.67.0_1788896728249_0.9995313515739175","host":"s3://npm-registry-packages-npm-production"}},"0.72.0":{"name":"@jarenjs/view","version":"0.72.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.72.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"5697c096e870de567e315373ce6f6b9ac75258cb","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.72.0.tgz","fileCount":27,"integrity":"sha512-J6Dha0qRw3t8YWgdhxhuaWei06aPV11a8WseOR4SFl1knEgTQYNqhocoizh4ZHjEx9751Gc27nc73wYlHnqQYQ==","signatures":[{"sig":"MEQCIE15Wj8hM6mPWP6qPZoXjgWNFYEYGpM4eUoKRvchhexaAiBEaeX/gkGdHjRHPVcjNNbyq+PP2CcUjWCtv4Vgcya5gA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDTjCR+8iY1n2OrxmH/7wUlTEfjW9Nm9nv7yG8ZoRn9VQIgKv1dX24/FhD99ZDkiQ4/9ARnc46FPwepJdwxUd4TsoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196596},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"661647bcd8ec149b3d466d3929ba3b5e7a2d267d","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.72.0_1788952235054_0.3467596577494143","host":"s3://npm-registry-packages-npm-production"}},"0.72.2":{"name":"@jarenjs/view","version":"0.72.2","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.72.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"5148d4cdad2ffce72266bccac8f0f5f0902ab25e","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.72.2.tgz","fileCount":27,"integrity":"sha512-/7IL+jw8RJX7NvPd4+GhdYQLkF3ZsxzFFOG4Gi8YjL7gUqRczHVEMbgeXeZ7eiD2KtOXTPNY7gRfCeLQeT1t7A==","signatures":[{"sig":"MEYCIQDDJPMtfEAUQ978fxTKTEe8c2asRMlmcabNAJZ/q/xdFAIhALnkiUYOtBT67+Fjn+EHuGIdyigZuywuZ1xYDf/9pvjE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDbmz48/2cH5WqCQZ0HOg/V0KpXO/m75c0f5L/qjksqBAiB6XcY6LE3NyhKEspsLsfKrJCixd92CA23OaOjcV0AF8g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198587},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"fe4a5f69ee8d59552c53795c279c46091aa3ff8c","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.72.2_1788964518356_0.8947020222833515","host":"s3://npm-registry-packages-npm-production"}},"0.72.3":{"name":"@jarenjs/view","version":"0.72.3","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.72.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"6e765c9853479ffec403c31ac86c500139328206","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.72.3.tgz","fileCount":27,"integrity":"sha512-6xP0tOYOjuwOKsT4ZGFVDv9I6Z/hNZG1PYZ48usm03SsmsprGAHcVV2pSI6Gd3XLIzmD7WlsBdjdtT3OOuR8BQ==","signatures":[{"sig":"MEUCIAaOYzCVQ446PzL/5yTKTc05v/5hs+2HqbKcY1kr49qaAiEA1vJnoC7MjLRD2iAz8lI4yITJip/LcOh1Fp419PdTvnI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDW4MrMPIjsycvdx2MW5YEbcNJGCp+KKjW+9lPIR7RLgAiBaUt5Ra7DfFT8T6rSnN2ZLshcxXKNR3v89jvtIhmcd0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198587},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"a5ef0d342fdb56b58f5bd1301af4a23d0cc3ec00","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.72.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.72.3_1788974529144_0.880180718558615","host":"s3://npm-registry-packages-npm-production"}},"0.73.0":{"name":"@jarenjs/view","version":"0.73.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.73.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"43e75e12c14955f266a098778b648f1ba0ceaeb3","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.73.0.tgz","fileCount":27,"integrity":"sha512-bnR0TkabgvFUY6wG5tJ9yyUCIXl1ghYFhRmK9ursPwcYemQlzkSpvSItNLS4IAYnS+/RqLMktKyz1J+d7gAbOQ==","signatures":[{"sig":"MEUCIQCjdWr3qEg12ZckmnjDArAKeoGzNCQn+gKmo+9GZiXENwIgYtQU/9BOYzO5xQ3JALn8nvfTgBKISvImUCgUX6PazfE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD3VdByKI604KVC5gjSwTbuiC+VmzRo9NjUx61xBe+ZygIhAKDTVWTV3e6vmmIHt4oD0FUFoFLYj8Htzkfs1V4bYdPp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198587},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"7f700942ad404a8203452f3b263b05c2aec2fe05","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.73.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.73.0_1788980447091_0.2525239998726352","host":"s3://npm-registry-packages-npm-production"}},"0.75.0":{"name":"@jarenjs/view","version":"0.75.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.75.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"e737ddd9732007b6b32aef43202dc0c4683e122c","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.75.0.tgz","fileCount":27,"integrity":"sha512-RRbGswnQenTRZtf9v40Etd34SbUX6sqQmJo2f8f3w62Z6bOqwMBqkIMSHDRc7zHzCO6/TgOC17gibL4VOUI/Dw==","signatures":[{"sig":"MEUCICyzeL0X+HbttL+6aq3ENV7WrxRn5M7E4OrshctfMU5PAiEAxhBk4XYF2enpephFL0vYtsgmjgYwoDT7J4eG0l26wHs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICCO7tExvK3FJHvL4Ae9YWJxzpebWREeiMfRym7sNkDFAiBjNwFl01tKLyf7JyxbNXlha01FpI1BvZSVxvYuqjDRrg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198587},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"a50e9c57bc3e867529c18433a448178559d20c85","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.75.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.75.0_1788994381129_0.35294138196171665","host":"s3://npm-registry-packages-npm-production"}},"0.83.2":{"name":"@jarenjs/view","version":"0.83.2","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.83.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"96723e51d093d5d9816f3c061bf52497cec315b3","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.83.2.tgz","fileCount":27,"integrity":"sha512-OfQ9+X1+T08CW5ILDdgEdD2BsbW9M8SN0qcDG4MAnSynq9ku4wpmo0Au3hc9UVmI0ByChM4kE2dEPctySU0q7w==","signatures":[{"sig":"MEUCID0zB8F5QPfXNkidzZ0fAj2iLIzU7uRQ8V2oZvCTbe6kAiEAl/ivaPkLUcCQkCsx1gfTq9p39355ES1DZqQ6Tve7HBw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBfw2wPlzdvvtp2a6zQ5+IGbb2Pk8MmOFR8kEFsMfFD0AiEAzaZVOgugq6dDyWuUUtCbqpeYjQYikKzWaReVYuHHJ5w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206344},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"f21b18fa123a6c72a0ca31dbad374ec5a8bf78ff","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.83.2_1789113438824_0.7581318790613805","host":"s3://npm-registry-packages-npm-production"}},"0.83.3":{"name":"@jarenjs/view","version":"0.83.3","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.83.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"de824d8295dc2ef2bf08b4b521c730fb05866077","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.83.3.tgz","fileCount":27,"integrity":"sha512-q2UwjPMNqYp5F7Ko5KYKR97qYWTMrnpsQExfMI+G81/l/5AowUEGzWDVoTWfYMqX9bVgrO7j18nPiGn7dvIuVQ==","signatures":[{"sig":"MEYCIQCM7ixYqICgYRzhQJBnUKLs851a/tbd/zSZlcu6zpvcnQIhAMoBMjHTwdO48R3eaW7e+7R/FcTs++2/IeAfaIXqtL1X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGKa+ILgRg1BSqT+Neyof1M6LX2yUdIeDrqHbosAElELAiEA/Zfz6qa3JT4btE5Hx5GZXKKtaHqC1vhFg3MRvayM+tE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206344},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"3491513e164dc30e429c84e709bd738841f4df16","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.83.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.83.3_1789132342906_0.43684309915488795","host":"s3://npm-registry-packages-npm-production"}},"0.84.3":{"name":"@jarenjs/view","version":"0.84.3","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.84.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"327a329e84cfe7df9b1b947e141cfcb506297a9b","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.84.3.tgz","fileCount":27,"integrity":"sha512-ep+IkfqT5CDJOJifIjh9XBg4/5Wvuknm+VHVKEbxroLIcFwYGrlbWsIKLSHZLNINlk/lXZIo/gZHPOM2ZzqD3g==","signatures":[{"sig":"MEUCIQD74PsrcNW3eZhLN45Okv5Ig8BGk/NS4EayOyx3DDnLPAIgEEPmNrKzdElZu/tgZGPvPDfmwPeRHcSE+5W8DQ5ZW0M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCuFzZf77sNXxpUsZufXsNLLfECbNTv29QInITE3dcjpAIgFNounz8eigdOJQdk5sUfFliykDvt0HnZ6XCQ3sCw3n4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206344},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"ac8749711f5d058251f72842ce7e0095b389403f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.84.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.84.3_1789192005705_0.27209511797710895","host":"s3://npm-registry-packages-npm-production"}},"0.85.0":{"name":"@jarenjs/view","version":"0.85.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.85.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"c98b72a4f375dada7dde3a73e4a1d9c31242d853","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.85.0.tgz","fileCount":27,"integrity":"sha512-7mXoQnGJYyy1j572HJAY/XD6tYQtcEKDXHci3i4hpG0dl+5RecuBkXFx9vQQHDcS/thXWff5Dv8LbNBQkDhJZg==","signatures":[{"sig":"MEYCIQCXV67Bcxc2THXBTvtABTu8rqglgUPpYbiBL7rKT8H+EwIhAOgDsq5ehkGfn2mH9QtHAZ4tG4uuWqwy3REu3Z9960Vf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEIDBv5M7yLRLqQmW8ZzG5igMCVrqTfitEyzLTloFKQyAiEA4eZy/0k6Toma601r6per0oQ954Y311oQs3nwVqIX/20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206344},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"5765fba5ab5c1d390dc28316a4255b47cd0f6f8a","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.85.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.85.0_1789213971599_0.2782654111283358","host":"s3://npm-registry-packages-npm-production"}},"0.86.0":{"name":"@jarenjs/view","version":"0.86.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.86.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"d64a6eea080a270fcddbc9a00a0a9d922ea61c0c","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.86.0.tgz","fileCount":27,"integrity":"sha512-kblGyrovHQ8AHkhSBmbyslWT/SY6bIL46cmhIHw0T7QfaRcEoieq3Ir59DYlVmp4LhYC9qKlNXxGD21Rluhv2g==","signatures":[{"sig":"MEYCIQCZoIIajPuA6TfbrFcjL1FpQKQ6hM8BbldjIdtuRSPNUwIhALB8/zFBYmhRQtPCjkuYZfjzzWx+XXBVOgAIAVtL7GOG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC7VZIWIcpXOjg2chdzGkA8Hs8EfFRoc5UP1RQhSDD50AIgKIzFE+oiSZsdpB9cXgfk9B71ywoHeS+NMLusT5Jit+A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206575},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"ce489546f21a176a2574169b65b95f9dc15461f7","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.86.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.86.0_1789221907815_0.26782409686991304","host":"s3://npm-registry-packages-npm-production"}},"0.87.0":{"name":"@jarenjs/view","version":"0.87.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.87.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4c619e070ade3b9916e88b6cb75f72e6d89fe099","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.87.0.tgz","fileCount":27,"integrity":"sha512-+6MG59UMqrCDbJzMK5WoQJMam53lqcNYgs+ylKWSkTvZjZFDpH/nz9dBzJRr1h/vxajZ2x5lGqTSHkqD2e7K1Q==","signatures":[{"sig":"MEQCIBYvbfwgoaA2L0kpnDjeLJKdSN3GCNw9F8WKHpevqaYvAiAPUDpnCYGmJ5CwfajtFZXv19y4ImdIBEBrfnJk8flXtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDas2/rRsqmfQnqm7L/YysrqoZt4Zoy8sLQcaRIu7eBGAIgLzvy+AsSGlsWYLPQXpAXi20yXHkf2GowhjK7K3VCZMQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206575},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"9b67ed8cb88d2dbe95cb3eb5fe0ac88cfb70f347","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.87.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.87.0_1789243362447_0.24775852210050475","host":"s3://npm-registry-packages-npm-production"}},"0.89.0":{"name":"@jarenjs/view","version":"0.89.0","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.89.0","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"ff915d95cbd2eaba6c5280b3016806e51d72d649","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.89.0.tgz","fileCount":27,"integrity":"sha512-Va93IfsoGXc2chjYCX8clRtPnqUGO6HJExix7ANZhFd21tCXiQ3KDVhQ+01p/93BWYOeHZoOJIibd1zbG1a4vA==","signatures":[{"sig":"MEYCIQDDo3MO3aqrLIlyM9rBn6Ko4RVc2a89Zi0dlsLs9d12PwIhAOSjfHnAla1AghNk4AuNAtZ9l9J2M/qr6V4M8Ana7bEo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCcTKxTsCdBzuat1tLb1smxtFcV8ODFgd1nI1Q/c6yUZAIhAJW4CeQDH0vaGaYKflNeJ2Fb2atd8WCW9j7aRWvZUiiV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":206575},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"41f5a36eccd43591d7c04d9116a6d210617e9146","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.89.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.89.0_1789288811718_0.6184498786462398","host":"s3://npm-registry-packages-npm-production"}},"0.90.6":{"name":"@jarenjs/view","version":"0.90.6","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.90.6","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4681660a9f05e156a0e7360dcd535467a71cc270","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.90.6.tgz","fileCount":31,"integrity":"sha512-YfRuNFz5h5GGA8liNysPZ7SGna7Gg4z7YZo3iLdOABgFi7aTyIf+sgPlyuaB4G67HGjplwJJQ4qcY222LlqtUA==","signatures":[{"sig":"MEQCIHxc1atYRwEOmchYdENZORtrBn0OFseN5Z7FUgroiq+lAiAJ9fBVJrDdzymfpLLjKZFFPAc291+E4bImp/jWNWAHDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDcS9yE75J9UEvShXAyKMP+mPFSQiPucWWkPpUiT5+pAAiAdV40R7wWO58+7i2KR7sK+iO5FSng4hHnU59K76wxw/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220962},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"37ba1676dab7868b168858b413a3ec647eebefdd","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.90.6"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.90.6_1789444523748_0.1441887551231391","host":"s3://npm-registry-packages-npm-production"}},"0.91.2":{"name":"@jarenjs/view","version":"0.91.2","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.91.2","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"741d19e883ed4506816e102d6bbcc1ec9f50c6f0","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.91.2.tgz","fileCount":31,"integrity":"sha512-Lxe0lIqu9o64qv25pUSM4rYEUPTWh4cDgEISVukA8Ga1zm7mglotiJKKfvCOmvz2tNnRnhOnu0ONIcs7JSOWwg==","signatures":[{"sig":"MEUCIAWLSxhbrKXEfWZ5TNBivFLYJKy+3PPSm/0uI6UGhlgSAiEAlFceq0BUsnJJ2StMc8H3dyshfdQdAKo02u7RV0I4vQU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDQlgT2Pkow0Cfdb0pexMA+pGLjhGvqDAK1uYNtATcxzQIgc2Dr6LtNGEPluQTxSdBjUz7Ac+feSxWF8gmQXYtA86o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220962},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"74036c063c5a4efa8c41aa878713d405223cc464","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.91.2_1789572379507_0.40633708852200723","host":"s3://npm-registry-packages-npm-production"}},"0.91.3":{"name":"@jarenjs/view","version":"0.91.3","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"author":{"name":"joham"},"license":"MIT","_id":"@jarenjs/view@0.91.3","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"homepage":"https://github.com/jklarenbeek/jarenjs#readme","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4ca4e6f1aeb2a88eac8a5eb2d5c3b5b0c9ba88bb","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.91.3.tgz","fileCount":31,"integrity":"sha512-9l0paXgrOg0tc+ABw2o2P2zBVOv3JFyoBvPGp32CBIRKes7JhRUvend7pf8JHiNlFiIJvWj23Edge0WZTZ8frQ==","signatures":[{"sig":"MEYCIQCBVTDWB+2kx/g/I8/29EM0unpfhLFfYO+fgJ5ogXfSXgIhAIBNPWFOUtLFAGT0VEJ/IR28UWEe1+SRU9ac3Rq7hglM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFoPLjwYfbrNN6ib8rPaIE8NkeG+Ys4oPWFk1iahgrm+AiEAwLsB/3LAXtOM7tCZUunu4ATifDmG6ws+25CUmSLpJ/E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220962},"main":"./src/index.js","type":"module","types":"./dist/types/index.d.ts","engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"1577600d98b9ef23381843911958aab10728707f","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.3"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/view_0.91.3_1789659263115_0.9209313609007381","host":"s3://npm-registry-packages-npm-production"}},"0.91.4":{"_id":"@jarenjs/view@0.91.4","bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"dist":{"shasum":"4013d46a3b2641bbb1761a4dcdcd1dc387385e24","tarball":"https://registry.npmjs.org/@jarenjs/view/-/view-0.91.4.tgz","fileCount":31,"integrity":"sha512-5HAhKhwbe/oUodh57v0aaYpkvikZ9UufeJTvhDP8fC5fon7wy7V+RoDvfH8TuQ3QGEHTrSzFjsGZfvxNZ5Qa3Q==","signatures":[{"sig":"MEUCIDVjn8OxqWrCu7bSR9UTSYSpuj9gD6uMfLrpffZg8khhAiEAwpV5it7S7ZPkTC7qoAJ1ERjBUWyI1R3ZbIjorrNrmcE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCP6RttzScctTV34CJZx35kUFb2djB4BJQ486ym/mP6TwIhAIs5izl+jH/jTe7IXcRj2AOL2K+ErYtevVZYUNGkRmjW"}],"unpackedSize":220962},"main":"./src/index.js","name":"@jarenjs/view","type":"module","types":"./dist/types/index.d.ts","author":{"name":"joham"},"engines":{"node":">=24"},"exports":{".":{"types":"./dist/types/index.d.ts","default":"./src/index.js"},"./helpers":{"types":"./dist/types/helpers/index.d.ts","default":"./src/helpers/index.js"},"./helpers/*":{"types":"./dist/types/helpers/*.d.ts","default":"./src/helpers/*.js"},"./schemas/*":"./schemas/*","./package.json":"./package.json"},"gitHead":"30ec046081c02c80ad1916569c45e134e33fb82b","license":"MIT","private":false,"scripts":{"build":"npm run build:types","prepack":"npm run build:types","build:types":"tsc -p tsconfig.json"},"version":"0.91.4","_npmUser":{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"},"homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"_npmVersion":"11.12.1","description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","directories":{},"maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"sideEffects":false,"_nodeVersion":"24.20.0","dependencies":{"@jarenjs/core":"^0.91.4"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/view_0.91.4_1789820664303_0.7494004549435835"}}},"time":{"created":"2026-08-13T14:48:00.811Z","modified":"2026-09-19T12:24:24.535Z","0.34.0":"2026-08-13T14:48:01.187Z","0.34.2":"2026-08-16T14:15:55.526Z","0.43.1":"2026-08-23T10:41:32.528Z","0.43.3":"2026-08-24T16:29:38.643Z","0.46.4":"2026-08-26T07:20:17.331Z","0.46.5":"2026-08-26T08:54:19.342Z","0.49.2":"2026-08-26T20:22:51.903Z","0.56.0":"2026-08-30T01:34:57.624Z","0.66.1":"2026-09-08T18:08:54.499Z","0.67.0":"2026-09-08T19:45:28.479Z","0.72.0":"2026-09-09T11:10:35.142Z","0.72.2":"2026-09-09T14:35:18.435Z","0.72.3":"2026-09-09T17:22:09.250Z","0.73.0":"2026-09-09T19:00:47.189Z","0.75.0":"2026-09-09T22:53:01.217Z","0.83.2":"2026-09-11T07:57:18.968Z","0.83.3":"2026-09-11T13:12:22.994Z","0.84.3":"2026-09-12T05:46:45.785Z","0.85.0":"2026-09-12T11:52:51.681Z","0.86.0":"2026-09-12T14:05:07.900Z","0.87.0":"2026-09-12T20:02:42.548Z","0.89.0":"2026-09-13T08:40:11.820Z","0.90.6":"2026-09-15T03:55:23.843Z","0.91.2":"2026-09-16T15:26:19.623Z","0.91.3":"2026-09-17T15:34:23.204Z","0.91.4":"2026-09-19T12:24:24.385Z"},"bugs":{"url":"https://github.com/jklarenbeek/jarenjs/issues"},"author":{"name":"joham"},"license":"MIT","homepage":"https://github.com/jklarenbeek/jarenjs#readme","keywords":["jaren","json","vnode","vdom","view","renderer","ssr"],"repository":{"url":"git+https://github.com/jklarenbeek/jarenjs.git","type":"git","directory":"packages/view"},"description":"The Jaren vnode format: user interfaces as JSON documents, with a keyed DOM patcher and an SSR string renderer","maintainers":[{"name":"jklarenbeek","email":"jklarenbeek@gmail.com"}],"readme":"# @jarenjs/view\n\nUser interfaces as JSON documents. This package defines the **Jaren vnode format** — the output vocabulary a view produces the way XSLT produces HTML — and ships the two renderers that consume it:\n\n- a **keyed DOM patcher** (`createDomRenderer`): diff the previous vnode against the next, touch only what changed, reuse keyed nodes across reorders;\n- an **SSR string renderer** (`renderToString`): the same JSON to an HTML string, no DOM required.\n\nIt is the only package in the Jaren suite that touches the DOM, and it knows nothing about schemas, queries or state — a vnode is plain JSON, wherever it came from. In practice it comes from a [JSLT stylesheet](../json/docs/JSLT-FORMAT.md) compiled by [`@jarenjs/json`](../json), and the loop around it lives in [`@jarenjs/app`](../app). Its only runtime dependency is the pure, zero-dependency [`@jarenjs/core`](../core); no `eval`, CSP-safe.\n\nThe vnode grammar is published as JSON Schema in [`schemas/jaren-vnode.schema.json`](schemas/jaren-vnode.schema.json) — hand it to a constrained decoder and a language model cannot emit a document outside the *grammar*. That is a **structural** guarantee, not a safety one: a grammar-valid vnode can still carry `innerHTML`, an inline `on*` handler or a `javascript:` URL, so validation alone does **not** make an untrusted document safe to render. Rendering an untrusted view — from a tenant, a remote service, a model — requires the [safe profile](#untrusted-views-the-safe-profile) below; the default renderers trust their input, exactly like writing the DOM by hand. The normative contract is [docs/VIEW-FORMAT.md](docs/VIEW-FORMAT.md).\n\n## The format in one glance\n\n```json\n[\"main\", {},\n  [\"h1\", { \"class\": \"title\" }, \"Todos\"],\n  [\"ul\", {},\n    [[\"li\", { \"key\": 1, \"on\": { \"click\": { \"action\": \"toggle\", \"with\": 1 } } }, \"Buy milk\"],\n     [\"li\", { \"key\": 2 }, \"Ship it\"]]\n  ],\n  [\"input\", { \"value\": \"\", \"on\": { \"input\": \"type\" } }]\n]\n```\n\n- **text** — a string or number renders as text;\n- **element** — an array whose first item is a string tag: `[tag, props?, ...children]`;\n- **list** — an array whose first item is *not* a string is spliced into its parent's children (exactly the shape a JSLT `[{\"$apply\": \"$.todos[*]\"}]` body produces);\n- **skipped** — `null` and booleans render nothing, so `{\"$if\": ...}` conditions compose without wrapper nodes.\n\nFour props are special: `key` (reconciliation identity), `on` (event bindings — opaque JSON handed to the renderer's `onEvent` hook, never functions), `memo` (a subtree-stability marker — see the performance contract), and `style` (string or object). Everything else writes through to the DOM as a property when the node has one, as an attribute otherwise; `true` renders a bare attribute, `false`/`null` remove it.\n\n## Usage\n\n### In the browser\n\n```javascript\nimport { createDomRenderer } from '@jarenjs/view';\n\nconst render = createDomRenderer(document.getElementById('app'), {\n  onEvent: (binding, event) => {\n    // `binding` is the vnode's `on` JSON, verbatim — dispatch it yourself,\n    // or let @jarenjs/app do this wiring for you\n  },\n});\n\nrender(['h1', {}, 'Hello']);\nrender(['h1', {}, 'Goodbye']);   // patches the text node in place\nrender.destroy();                // terminal teardown, idempotent\n```\n\n`render.destroy()` unmounts every mounted widget exactly once (pending mounts are canceled), empties the container, and turns every later `render` call into an exact no-op — including a scheduled flush that fires after destruction. The render boundary is **serialized**: a `render` entered synchronously from inside a widget hook or event callback (an `emit` chain) never nests — it queues behind the running patch, multiple nested requests coalesce to the latest vnode, and the queued tree is applied against the committed baseline, so no widget sees `update` before its `mount` returned or receives stale previous props.\n\nBoth renderers accept fragment roots without a wrapper. Pass `hydrate: true`\nto adopt matching server DOM on the first trusted render; local mismatches\nare repaired and widgets get fresh hosts. Safe mode rebuilds existing DOM.\nControlled text writes defer through composition and the final input event,\nthen settle with the caret preserved. The browser tests cover these paths in\nChromium, Firefox and WebKit; native OS IME audits remain separate.\n\n### On the server\n\n```javascript\nimport { renderToString } from '@jarenjs/view';\n\nrenderToString(['p', { class: 'note' }, 'a < b'])\n// '<p class=\"note\">a &lt; b</p>'\n```\n\nText and attribute values are escaped, void elements render without end tags, `key` and `on` produce no markup. On the client, `hydrate: true` adopts matching server DOM on the first trusted render, repairs local mismatches and gives widgets fresh hosts. Safe mode rebuilds existing DOM.\n\n### With JavaScript in the middle\n\n`h(tag, props, ...children)` builds the same JSON a stylesheet would, for hand-written views and tests. The shape helpers (`isTextNode`, `isElementNode`, `propsOf`, `keyOf`, `childrenOf`, `isSameNode`) are exported for anyone building another renderer over the format.\n\n### Widgets — the imperative escape hatch\n\nSome islands are irreducibly imperative: a virtualized grid, a canvas, a map, a third-party control. The reserved tag `jaren-widget` mounts a **registered widget** into a host element the patcher owns but never descends into ([VIEW-FORMAT §7](docs/VIEW-FORMAT.md)):\n\n```json\n[\"jaren-widget\", {\n  \"name\": \"virtual-list\", \"key\": \"list\", \"class\": \"viewport\",\n  \"props\": { \"rows\": \"$.rows\", \"rowHeight\": 28 }\n}]\n```\n\n```javascript\nconst render = createDomRenderer(container, {\n  onEvent: (binding, event) => dispatch(binding, event),\n  widgets: {\n    'virtual-list': {\n      mount(host, props, emit) { /* build DOM, measure, listen */ return state; },\n      update(handle, props, prevProps) { /* re-window the visible rows */ },\n      unmount(handle) { /* timers, listeners and observers die here */ },\n      ssr: (props) => ['ul', { class: 'list' }],   // declarative fallback\n    },\n  },\n});\n```\n\n`name`/`props`/`tag` configure the widget (the host tag defaults to `div`); every other prop — `key`, `class`, `on`, ... — applies to the host element as usual, and the widget node has no vnode children (the widget owns the host's subtree). `props` is compared **by reference**: with the JSLT memo option, unchanged state yields reference-equal props, so an untouched widget is never called. `mount` runs after the host is connected (grids can measure) and returns a handle threaded to `update`/`unmount`; `unmount` runs exactly once when the widget leaves the tree, even when an ancestor subtree is replaced. A throwing `mount` or `update` **poisons** the widget instead of corrupting it: siblings and the frame still complete, the first error surfaces after the frame settles, and the next render that revisits the widget replaces it with a fresh lifecycle (`unmount` runs on the old instance only when its `mount` had succeeded). `emit(binding, event)` delivers ordinary event bindings to `onEvent` — a widget composes runtime data (the clicked row id) into the binding its props carry instead of inventing an action vocabulary. `renderToString(vnode, { widgets })` serializes the host around the widget's `ssr(props)` vnode — still pure, nothing mounts.\n\n## Untrusted views: the safe profile\n\nThe default renderers **trust** their input. A vnode is plain JSON, and the\ndefault `createDomRenderer`/`renderToString` write whatever it says — including\n`innerHTML`, inline `on*` handlers and `javascript:` URLs. For a\nsource-authored view that is exactly right; it is the equivalent of writing the\nDOM by hand, and it is why the grammar's guarantee is *structural*, not a\nsanitizer. Validating a document against the vnode schema proves it is\nwell-formed, **not** that it is safe to render.\n\nWhen a view arrives from somewhere you do not control — a tenant, a remote\nservice, a language model — pass `{ safe: true }`:\n\n```js\nrenderToString(untrustedVnode, { safe: true });\ncreateDomRenderer(container, { safe: true, onUnsafe: (i) => log(i) });\n```\n\nBoth build the **same** policy ([`createSafePolicy`](src/safe.js)), so the\nclient and the server neutralize an attack identically. In safe mode:\n\n- **tags** are restricted to an allow-list of inert HTML and SVG elements —\n  `script`, `iframe`, `object`, `style`, `link`, `foreignObject` and the rest\n  are dropped, and so is any tag whose *name* is not a bare identifier (which\n  closes structural injection through a tag like `div><img …`);\n- **property names** must be bare identifiers too (closing attribute-name\n  injection), may not begin with `on`, may not be an HTML-parsing sink\n  (`innerHTML`, `outerHTML`, `srcdoc`, …), and may not be `is` (which upgrades\n  an element to a registered customized built-in on parse);\n- **URL attributes** (`href`, `src`, …) are filtered through the `sanitizeUrl`\n  deny-list; **inline styles** carrying `expression(` or a script-scheme\n  `url()` are dropped;\n- **`on` event bindings and `jaren-widget` nodes are stripped** — an untrusted\n  document must not bind the host's actions or mount imperative JavaScript, so\n  safe-mode views are display-oriented.\n\nA companion schema,\n[`schemas/jaren-vnode-safe.schema.json`](schemas/jaren-vnode-safe.schema.json),\ngates the structural half (tag and property *names*) at validation time as\ndefense in depth. It cannot read a `javascript:` scheme out of a string, so\nthe **runtime policy is authoritative**: validate with the safe schema *and*\nrender with `{ safe: true }`.\n\n**What safe mode is, and is not.** It reduces the attack surface of an\nuntrusted *view* to a display: it strips script, raw-HTML sinks, inline and\n`on` handlers, widgets, and unsafe URLs, and the client and server strip\nidentically. It is **not a complete sandbox** — the allow-list still includes\nanchors, forms, controls and media, so native navigation, form submission,\nfocus and network loads remain possible; treat safe mode as one layer under a\nContent-Security-Policy, not a replacement for one. It also applies to the\n**renderer only**: [`@jarenjs/app`](../app) forwards `safe` to the renderer, while\nan app document names host actions, effects and subscriptions, so a safe\n*view* does not make an untrusted *app document* safe — run only self-authored\napp documents. Automated Chromium/Firefox/WebKit tests cover controlled inputs,\ncomposition and multiple-select behavior. Native OS IME and assistive-technology\nqualification and a Trusted Types integration remain separate work.\n\n### Shared view helpers — `@jarenjs/view/helpers`\n\nThe `./helpers` subpath is the single home for the small view-layer helper kernel that the suite's visual components (`@jarenjs/calc`, `@jarenjs/md`, `@jarenjs/mermaid`) share, so no component re-implements them:\n\n- **SVG builders over `h()`** — `svgRoot(className, width, height, theme, children, key?)`, `group`, `rect`, `circle`, `line`, `path`, `polyline`, `polygon`, `textAt`, `textLines`, plus the geometry guard `num` and the path-string builder `polylinePath`. `svgRoot` takes the root `class` and (via `theme.cssVars`) the CSS variables from the caller.\n- **`sanitizeHref(url)`** — the strict URL **allow-list** (http/https/mailto/`#`/`/`/`.`) for link hrefs from a constrained producer, such as a Mermaid `click` directive. It rejects a scheme-less relative reference like `image.png`.\n- **`sanitizeUrl(url)`** — the URL **deny-list** for hrefs and image sources authored in ordinary content: it rejects only `javascript:`, `vbscript:`, `file:` and `data:` other than a raster image, and passes everything else, relative references included. This is what `@jarenjs/md` filters link destinations through. Both return the trimmed URL or `null`, and `null` means *drop the attribute*.\n- **`resolveTheme(themes, prefix, nameOrOverrides?)`** — the prefix-driven mechanics behind each component's `createTheme`: a name-or-overrides object resolved to `{ name, tokens, cssVars }`, stamping every token as `--<prefix>-<kebab-case-key>`. Components keep their own token tables; the resolution logic lives here once. The pure `kebabCase` transform it uses comes from [`@jarenjs/core/string`](../core). One documented quirk (behavior preserved, test-asserted): when passed an *overrides object* that carries a `theme` key, that key is spread into the returned `tokens` and therefore surfaces as a `--<prefix>-theme` CSS variable — the base-selecting key leaks into the output rather than being stripped.\n\n- **`createProjectionMemo({ compile, toVnode, docToVnode, memoLimit? })`** — the memo pair a component's `view()` projection is built on: an LRU-memoized `compile(source)` (string-keyed, default limit 32) and a reference-stable `view(sourceOrDoc)` that projects a source string through the compile memo or an already-parsed document through a WeakMap keyed on its identity. `@jarenjs/md` and `@jarenjs/mermaid` build their component-layer `view()` on it — reference stability is what lets an unchanged input patch in O(1).\n\nImport the whole barrel (`@jarenjs/view/helpers`) or a single module (`@jarenjs/view/helpers/svg`, `@jarenjs/view/helpers/theme`).\n\n## Performance contract\n\nThe patcher's first check is `oldVnode === newVnode` — a reference-equal subtree is skipped in O(1), unexamined. This is designed to meet the JSLT engine's structural sharing and its `memo` option (an unchanged input subtree flows to the output by reference; `@jarenjs/app` compiles every view with `memo: true`), so views re-render in time proportional to what changed, not to the size of the page. Vnodes are never mutated or annotated by the renderer: frozen documents, cached documents and shared subtrees are always safe.\n\nMeasured, not claimed — run `npm run benchmark:view` for your own numbers, and the [benchmarks page](https://jarenjs.github.io/#/benchmarks?suite=view) publishes the latest full run with its date and machine. Two different costs get measured on a 1000-row table (output equality with React and preact asserted before timing), and keeping them apart is what makes the numbers readable:\n\n- **The format.** A vnode is a tagged array — an array literal plus a plain object — and the renderer, patcher and SSR accept it from any producer. A **hand-written view building tagged arrays directly is the fastest element builder in the table: ~<!--fact:view.vsReact-->2.2<!--/fact-->× faster than React's production `createElement`**, ~<!--fact:view.vsPreact-->2.8<!--/fact-->× faster than preact's `h()`. Writing views by hand is fully supported; the stylesheet is opt-in per view.\n- **The engine.** A JSLT stylesheet is a view as *data* — schema-validated, serializable, storable, and renderable from an untrusted source through the [safe profile](#untrusted-views-the-safe-profile) — and running that document through the generic dispatcher costs **~<!--fact:view.engineCost-->23.2<!--/fact-->× the hand-written build**. That is the published price of a capability none of the rivals has a mode for: a JSX view is code by construction, so there is no data-driven React number to compare against.\n- **The re-render path.** An **unchanged document re-renders in O(1)** — the memoized transform returns the previous output by reference and the patcher skips it whole — and the vnode-level `memo` marker gives hand-written producers the same subtree skip (~12× over the child scan). For a one-row copy-on-write update the memo cuts the stylesheet frame ~1.5× against its own no-memo path; at this table size the hand-written view plus a full diff is still the fastest frame outright, and that is on the page too. SSR lands within ~1.6–2.8× of `preact-render-to-string` depending on the route, on byte-identical output.\n\nWhen a producer cannot preserve the reference — it rebuilds its tree but knows a region did not change — the **`memo` prop** says so declaratively (VIEW-FORMAT §5.5): two same-node vnodes carrying equal `memo` values skip reconciliation exactly like reference-equal ones. It is a producer-owned assertion, `key`'s sibling: equal markers promise identical subtrees, and a violated promise means stale output. Measured on a reallocated parent over 10 000 shared children, the marker removes the whole per-child scan: about **448 µs** to walk the children looking for `===` skips versus about **41 µs** with the marker — **10.9×**, and the gap widens with the child count (`npm run benchmark:view`). `@jarenjs/charts`' streaming sessions are the reference consumer.\n\nChildren reconcile with a head/tail sweep plus a key map for the middle: keyed siblings move their real DOM nodes instead of recreating them; unkeyed siblings patch positionally. Event bindings are data stored on the node behind one shared proxy listener per event type — re-rendering rebinds by assignment, never through `addEventListener`.\n\n## Exports\n\nEvery subpath a consumer can import, derived from the manifest by\n`npm run docs:derive` (`npm run docs:check` fails when the two drift):\n\n<!--fact:exports.view-->\n| Import | Kind | Declarations |\n|---|---|---|\n| `@jarenjs/view` | JavaScript | declared |\n| `@jarenjs/view/helpers` | JavaScript | declared |\n| `@jarenjs/view/helpers/dialog` | JavaScript | declared |\n| `@jarenjs/view/helpers/focus` | JavaScript | declared |\n| `@jarenjs/view/helpers/index` | JavaScript | declared |\n| `@jarenjs/view/helpers/memo` | JavaScript | declared |\n| `@jarenjs/view/helpers/metrics` | JavaScript | declared |\n| `@jarenjs/view/helpers/svg` | JavaScript | declared |\n| `@jarenjs/view/helpers/theme` | JavaScript | declared |\n| `@jarenjs/view/helpers/url` | JavaScript | declared |\n| `@jarenjs/view/schemas/jaren-vnode-safe.schema.json` | schema | — |\n| `@jarenjs/view/schemas/jaren-vnode.schema.json` | schema | — |\n| `@jarenjs/view/package.json` | metadata | — |\n<!--/fact-->\n\n## Development\n\nUnit tests live in `test/view/` at the repository root (`npm run test:view`), including the minimal DOM stub they run against. See the repository [README](../../README.md) for the full suite documentation and [ROADMAP](../../docs/ROADMAP.md) for planned work: fragment roots, DOM-adopting hydration, and the memoized rule-output layer that turns JSLT sharing into cross-frame skipping.\n","readmeFilename":"README.md"}