{"_id":"react-x11","_rev":"64-0b40a104fddcf8a72663c44cc9cf0ef1","name":"react-x11","dist-tags":{"canary":"2.0.0-canary.20260820101121.g8a4ce2b","latest":"2.22.8"},"versions":{"0.0.1":{"name":"react-x11","version":"0.0.1","keywords":["react","renderer","x11","ui"],"author":{"name":"Andrey Sidorov","email":"sidorares@yandex.ru"},"license":"MIT","_id":"react-x11@0.0.1","maintainers":[{"name":"sidorares","email":"sidorares@yandex.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"cc646307a31a7f9980e4f3226e39aaeb3d7587d3","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-0.0.1.tgz","integrity":"sha512-VQWOVMUAvNe+w3iko4EbWkk5mod2LMogYwhvjlcsZnh+kZbHT5lx3bVEXe0mqgUdzW2A+jv2pPDtuGU8bKuRkw==","signatures":[{"sig":"MEYCIQDF/QhA1tViF13Bz0g7BViKLDNXpdWIAW49LkBSuxdr/QIhAKma4bxw9tB+4/fkOne6Dy/I+sogdqH8MMq0HclKUzqU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"test.js","_from":".","_shasum":"cc646307a31a7f9980e4f3226e39aaeb3d7587d3","gitHead":"8b7ceef0c34bef8f67aebce2492d421681d7d0ec","scripts":{},"_npmUser":{"name":"sidorares","email":"sidorares@yandex.com"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"2.14.7","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"4.2.1","dependencies":{"ntk":"github:sidorares/ntk","node-jsx":"^0.13.3","css-layout":"0.0.2"}},"1.2.0":{"name":"react-x11","version":"1.2.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@1.2.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"e58b24cd954884cc65a97e68d78a618bb581d71b","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-1.2.0.tgz","fileCount":34,"integrity":"sha512-2NSzS7FBAwrIOoic/SgZCptexPf/W7tfgw9EY0W9+ygpDz8sxpn4lmjaDZjCN5F5kh16UaSMsFjboLbMjHl59g==","signatures":[{"sig":"MEUCIB4zLq1wgtFwZnrdk4U7FVPeXqsyejxaw7f43y8tDgisAiEAqdYmDjuvCkfZ1gevLTB+rjny4UeIu1RoHzZdgHuAitI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":257762},"main":"./src/index.js","type":"module","engines":{"node":">=20.19"},"exports":{".":"./src/index.js"},"gitHead":"e00a10cb0bfbfc90d62108d226ff623695312419","scripts":{"lint":"eslint .","test":"node --test","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","examples:gl":"tsx examples/gl.jsx","screenshots":"tsx scripts/screenshots.jsx","format:check":"prettier --check .","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:three":"tsx examples/three.jsx","examples:xeyes":"tsx examples/xeyes.jsx","examples:simple":"tsx examples/simple.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","examples:richtext":"tsx examples/richtext.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:tasks:hot":"node --enable-source-maps --import ./examples/hmr-register.mjs examples/tasks-hot.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.1","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.18.0","dependencies":{"ntk":"^3.7.2","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^16.0.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","@babel/core":"^8.0.1","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-x11_1.2.0_1785219926726_0.9565336130106243","host":"s3://npm-registry-packages-npm-production"}},"2.0.0-canary.20260820101121.g8a4ce2b":{"name":"react-x11","version":"2.0.0-canary.20260820101121.g8a4ce2b","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.0.0-canary.20260820101121.g8a4ce2b","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"07fe1c79e8296d9b7ae8be493d3b4e803cdd8aea","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.0.0-canary.20260820101121.g8a4ce2b.tgz","fileCount":159,"integrity":"sha512-9k0AiKKGXsRVG/1xjfmt7Dx5xN+PkXssCu5OnZMIIY5MH/Zgdp8dt9QqcT6gAUokkREYPKx+lY+sE3Cncdjtbg==","signatures":[{"sig":"MEQCIEGpuy5LBpJaPE0hN2R3y39qvpNlHH6F4CN7M8JLCkQbAiAjMiDdpS1knbzr6Biw1Scs8x26P4bpdkM7mQmwoonQYw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.0.0-canary.20260820101121.g8a4ce2b","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2222493},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"8a4ce2b85c7c01f2377bdfbfef18d5fb42c04f93","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:gl":"tsx examples/gl.jsx","examples:wm":"tsx examples/wm.jsx","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:three":"tsx examples/three.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","examples:finder":"tsx examples/finder.jsx","examples:shader":"tsx examples/shader.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","examples:urischeme":"tsx examples/urischeme.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:shader-lab":"tsx examples/shader-lab.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:react-features":"tsx examples/react-features.jsx","examples:variable-fonts":"tsx examples/variable-fonts.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.2.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.0.0-canary.20260820101121.g8a4ce2b_1787220687278_0.25758933699340547","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"react-x11","version":"2.0.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.0.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"f35bcc6d41f7023e7cb945a69596e32c098cb5f4","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.0.0.tgz","fileCount":154,"integrity":"sha512-qwe4wPCcQ3WVNNmj74dgHvrZxMHxjvDEzy8LVTLpqnHY17BakMnIFLgVO/AOEuz3/ksUtwv+5vhFMLYCPGnIGQ==","signatures":[{"sig":"MEUCIHApmapwXPzu51Jjng//H884GDxnb7xynZOQF4/uMU7MAiEAuBvgGJDsXDb6MSfobVlD7k3ga5E4DVlHXTqzMUUYSlI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2204499},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"a8f6d022fdd6deb2f80aa489a3369509bb641092","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.3.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.0.0_1787489255594_0.6225972433015061","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"react-x11","version":"2.0.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.0.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"6762671dfeba9deca32a97e4917b9d8366473dfc","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.0.1.tgz","fileCount":154,"integrity":"sha512-+9Gf+ogi96lQvEu3/Z/SEmLPQnNuSe7mdOOv7cktB0/WHuTqWbEbMVSBRuo3SlpEEWayfG6VrJZYlgm+2EF9Bg==","signatures":[{"sig":"MEQCIGpnViG3iRr2LiKu835ORpeBXg6m1Mhog+9QZM42Ies2AiB1PKfRQmsUUhBbnQaCVbsZ1OWSbn/Ma+4DXW6+VabPGw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2211688},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"89c4899073b385d92fb4dfcddbd2888ff77ec414","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.3.1","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.0.1_1787572543843_0.45112130724831756","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"react-x11","version":"2.1.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.1.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"a24f0cf24a94c9a05272c4a9198342a74c4a5cec","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.1.0.tgz","fileCount":154,"integrity":"sha512-PRivBP6tFmbFBqb9yTjDobxBpIjH2rPhXeBDbGi7xcG2yeL3hyK7FJVN5fasV97twnwYO5XW4Dl3Ax69Q/UAqA==","signatures":[{"sig":"MEYCIQCmwlCP4IGAqlZLfozIONCzgh7EVr0/pRlvO+LwUnBb7AIhAPK/fSqOmYySrbHj2sVpdgfyqtQ2z4MMjyPDKHoBEOtE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2217696},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"a8121c29d283c06da31c957fcdc26a029c2a76ac","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.4.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.1.0_1787613186679_0.7504048193256465","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"react-x11","version":"2.1.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.1.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"a423920bb43ae504cec5fa53080ff763ae0fc57b","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.1.1.tgz","fileCount":154,"integrity":"sha512-g8YMHgK9yWgBzSOPmfMNGHUa4M34YTgXkPwqrhQjVgA7rdSNXGgHN5iVFOu7e1uQhhedkpUWfplcgaKFeEzYGQ==","signatures":[{"sig":"MEUCIH9OEloA5lXalI1eVo5skaWhTA3XmJ1Ji7LoUG42/R7MAiEA84HORNLsGsr3yarxAy4Zys2Pd4U1a65BsdCgdqPq3XY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2236757},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"1eef102c0e805ce52a0ef7fc65adb957122147f6","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.4.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.1.1_1787644107181_0.4921277982070176","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"react-x11","version":"2.1.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.1.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"0c22822ca1e37810b81cbabfa01dabea4004bb9b","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.1.2.tgz","fileCount":154,"integrity":"sha512-Do3k0nWUuA+vccnUTFNuGYvbGloM+KpSXuSL5C+jdsspjJlTeW7/MzcGQo3Ra7af7L7D6MSm2vy2FSM3UE/GmQ==","signatures":[{"sig":"MEYCIQCXqwiDrgvlmwKyhHrCxmdV2th/WKm3n0YIzd8LxXR9jQIhAIlQLFXMrCWN+JaiQopZrVKyawRxV0XWmWeFRWS8e1h8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2238146},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"fc2389dd6a9f72659a2db3e304cf90f7ea73d84a","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.4.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.1.2_1787649655873_0.8601908120031376","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"react-x11","version":"2.1.3","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.1.3","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"d37147802079b907a5554a77ad4f31228c469f24","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.1.3.tgz","fileCount":154,"integrity":"sha512-TXWyhoJXpSl2T+1HsBWU+uN+PAqRD7/F1l9IVH9FcVswJ1R8Hvbw/6enVbbF6cUzuWyPK154Ikb8Nz7NssMU+A==","signatures":[{"sig":"MEYCIQCb+ucY2FCPo1OHu5+Cul4lchU22ZUP3kQSXFa4WpaM0wIhAMFccBYMU18OJ8eoPCxrb/cd/3L1ELjPqIW+AdZ66bc+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2249999},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"4da31d1ad8fd9c13eb65a80bcba002255d09d185","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.4.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.1.3_1787664341970_0.1045404679455022","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"react-x11","version":"2.1.4","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.1.4","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"c9bf26fd63009e3070f435d2f80387e637608f09","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.1.4.tgz","fileCount":154,"integrity":"sha512-tGbtgxvk7C0vFULt0HbE8onigRStjV6jEyzrj5B5165zkzb+QMUgSb2/7pbNNJ8Psg1EFTcGeFY1M81d/jV1KQ==","signatures":[{"sig":"MEUCIC/oz6Z4qWlSkNqSUSOLT8+det7e4BabXq7R4xCXVNRpAiEAxaPDRp2+1/oQjNb4s0bDO5waBPsZ626wA+OBLD3m+gc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2256847},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"df1a3fc3755209cdea0557d25ab1e98d024350de","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.5.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.1.4_1787666874946_0.9112806374690197","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"react-x11","version":"2.2.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.2.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"9e4d7771d199784b8e0ecb00393d00f77275bde1","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.2.0.tgz","fileCount":155,"integrity":"sha512-ZbkI1A1f5DdjF5Dd4ce56hjGIpODFN9Zzr9lyPAJK8WtsljhFTyTtASAw2KkoAMQolPU0jmDE6kDB5AcV8myzw==","signatures":[{"sig":"MEUCIHicr1uZQFZZyFEwUPxGjUJyQdfehuUTd6DrowcOMPGGAiEA1zRtnvaKPkHU5nU65YOH6/kHb2aB39ywulhUWWNUDns=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2271297},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"c41aa73166707c0db57d7731bb649a3c68f6230a","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.5.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.2.0_1787803122285_0.956024676485248","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"react-x11","version":"2.2.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.2.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"a942c279e6059b7620023b12d6ddcd2463edbd63","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.2.1.tgz","fileCount":155,"integrity":"sha512-lXeWcSbvNO0tgSNht8EjX7t7KWnOuM2wlon8dcML8vlRGd4aqGDb4Vh5uiuAET2W64mcTkphr3wLqlCDE2jL4Q==","signatures":[{"sig":"MEQCIG5+6tr0xkl9yBGqTi12rORCiyjuseH9b/zlTfB2hIdGAiAQrhkZd5xysvzH0ZNtDUT7u5oEKCXfN8jct1BO2T3ZGg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2277471},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"a60e010469844e15f096396aefdd082ca67946d5","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.5.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"dbus-native":"^0.15.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.2.1_1787814727290_0.47387629755846206","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"react-x11","version":"2.3.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.3.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"90e58db0d7738bc90bbfa5048169743b69400e73","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.3.0.tgz","fileCount":168,"integrity":"sha512-/LJnq81gJYBjBsmWcl/gv6aSq5POtOIpG/ciS1H1mNR3qPJP3s9h70ayiTpv3i/s0U3E5Axpt1L2+gzt4N7pSQ==","signatures":[{"sig":"MEQCIHzcxE82QrxTNKD1ZNC/4vey0ccGf+Z6lRVz1CEbXh4CAiB41yELOttMPP1lr+l0W7R9AXeqoc+iV04kA+wP7iyNXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2444789},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"66dcacec688c495726d7d1ca2336c9f6eac1428a","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.1.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.3.0_1788310485144_0.5199587780827637","host":"s3://npm-registry-packages-npm-production"}},"2.3.1":{"name":"react-x11","version":"2.3.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.3.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"80fbd5293e6fae2cb18be15e16484387539eebe8","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.3.1.tgz","fileCount":168,"integrity":"sha512-6jlVeVCSfgkGaqYXF7SFocyU7/Yqrtse3yY46Lm1ubdaK1sOvs/1ujDzVaQwTlwB1CcBywE5Yad94vdzhp4MgA==","signatures":[{"sig":"MEUCIQD4YPCHIJBt1ImHZI0YJtz8f+XoNMpJvy9X2iDJXIgj/QIgc+9TefT5yJVZ63Vr/XPjl48+AIyDzIdapbONn6GpzmI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2446217},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"1218ab6821dc56e0f111cb237b14264b7a0c0ffb","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.1.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.3.1_1788328232583_0.5945953067250209","host":"s3://npm-registry-packages-npm-production"}},"2.4.0":{"name":"react-x11","version":"2.4.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.4.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"3f319e129ccd794511add4be95a4d959aeabc54a","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.4.0.tgz","fileCount":168,"integrity":"sha512-8azd43mWULDUdneyMtjL8Mv01IrUNQQg16lSdu25zl0gTQ1sJTW9Yc46sAbG1fOZi/mKW1cgHdbIlIVeq3ENGg==","signatures":[{"sig":"MEYCIQCq6hD9H3MLNdJToGgMFWGTvcRbpwjhubLesjFqPLEPBgIhAJ0xH2wWakcU76WxPm1G4w/WfMqtF/oaaRnsrisd9DSv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2466288},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"69fc93868344063b7778641cb97c83d0e1fa47ed","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.3.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.4.0_1788393630245_0.9567125437877468","host":"s3://npm-registry-packages-npm-production"}},"2.5.0":{"name":"react-x11","version":"2.5.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.5.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"dc4f9ead8304d373a45b16323400475fca70ccad","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.5.0.tgz","fileCount":169,"integrity":"sha512-xruEyK+Dvp1ibSy4+VmBFUbFZQEx3HhPB1Ql9y+XWH3bfSVfsrYrNqAhverDg7FzxU9amAx0skCy8h1AI9kHKg==","signatures":[{"sig":"MEUCIAg7S18RjGI1ihHe0v6jmsEVp2EdjN9Sdz0qINKceFc+AiEA5RnIX9Camjb+3cuGJVpAp888DN818YXUp08nIYYvTjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2479877},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"1c4f51b8ce4a522140d2eb0254760581c6be6e54","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.3.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.5.0_1788399456528_0.22661553474732798","host":"s3://npm-registry-packages-npm-production"}},"2.6.0":{"name":"react-x11","version":"2.6.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.6.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"ab8d47a3f560d20b56029084319d5b983faaf0b9","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.6.0.tgz","fileCount":169,"integrity":"sha512-XCChPzg6obMODOGZqPXceNtxnJJf/YxxXSOFKbWWwTenroYx3TmMBqe+/HYNr+G+dpvvoOr7kXFGjTjDOzFn5A==","signatures":[{"sig":"MEUCIQCZryBgX7ptHHbw9HC/fWB6jU203we5Nr8lueLaoO8UVAIgVCCGgWnjjkjy7BOCVbP1/MWo2ouSuCtcOJbnrWcWh0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2543961},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"199720536a4ec3c5347bcb0adf14429e5f4ffcf8","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.4.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.6.0_1788433995424_0.9341508993406364","host":"s3://npm-registry-packages-npm-production"}},"2.6.1":{"name":"react-x11","version":"2.6.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.6.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"b169ac5695f421859848cdc9e11134b07a1fb29f","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.6.1.tgz","fileCount":169,"integrity":"sha512-9SJdh4Dc5NBI05Wyh0c3OpSYmvJl6Tzomcf/xieeJ/34Zx6djJyJ0mr5RiOiMBXxpc9wKoD++X+6IYGJFxoKqA==","signatures":[{"sig":"MEUCICnfPXHAFa6dR0yy0iuXtwzruLMaRMQadMrhzZfelDuLAiEA6Q2Ymqlyte8OBi2CjXFaq3XIvVphV2JxPKrUpI6QxME=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2556460},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"4ad03d225256313520aaae46c42bcaf2000ee29b","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form.jsx","examples:menu":"tsx examples/menu.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.19.0","dependencies":{"ntk":"^8.7.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.4.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.6.1_1788490008026_0.8376074657502637","host":"s3://npm-registry-packages-npm-production"}},"2.7.0":{"name":"react-x11","version":"2.7.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.7.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"3c2fea5a99d87c951ea3738cc1cb181653d57225","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.7.0.tgz","fileCount":186,"integrity":"sha512-Sk4OLnUtLlSo5FMNtbPnKGGpt+r41uj8TFm4DD9zvGjtKR4dIX/cqEmyjp/Ua/gGEnVmylb8E9YpCwLvp/av5g==","signatures":[{"sig":"MEQCIAwiMs+1o7vRBvr51FWXBGpBRmVHh2uaGQ+zRAQtS7lgAiBeI/bHk8WFdLMZ0tNTess4EPQ64QCpZ2/V59daTmCISA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2756078},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"111a4bf8006406661a575e88add388bef45d7053","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.5.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.7.0_1788687733287_0.34275978875134583","host":"s3://npm-registry-packages-npm-production"}},"2.8.0":{"name":"react-x11","version":"2.8.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.8.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"bff528089c98981d7e2cbc8a4434223a3ed063b3","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.8.0.tgz","fileCount":187,"integrity":"sha512-1Ik5WfFOAKXbEtKGfzj/CqWwivgSHgStxvem9YWkgajUosWLskjk7GlNHnRDX/HbcVIyI/+Vse3tx/J+6A+xEA==","signatures":[{"sig":"MEUCIQC5V/d9yeCdX9AR2O8nsA5ttUcedYLtJsJqBe7CGXSLAgIgWyoVcEcRIoR+6LWTe9migXHBYyqyCak6vCYhdzOxOoU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2793793},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"0c6852a38d0f8d47b1e18fc30a69b9b3e2fb322b","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.5.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.8.0_1788702236265_0.5300018233204484","host":"s3://npm-registry-packages-npm-production"}},"2.8.1":{"name":"react-x11","version":"2.8.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.8.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"e740f181facbdfd0d13339a3834a39466368cfc8","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.8.1.tgz","fileCount":187,"integrity":"sha512-ShftMO29LAasgi7F/Rwl7p+CH/g2HWgffA/rigW7OwzI/Qp5cI0PdEo45qANkz/GBzGD02qI4vaPRbseUw774A==","signatures":[{"sig":"MEUCIQDVFd5ulUSg1kxh61pnWUvsElvD0//fliKUgfI31y/+WQIgX9pzHXsp9JkHCbWAS5K2fMZu2yOQPnrL7wmm3E0qbe0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.8.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2794926},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"3c3492ea24b362d07cf96d2106cf3fe26713ba10","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.5.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.8.1_1788738859221_0.31470964701164994","host":"s3://npm-registry-packages-npm-production"}},"2.8.2":{"name":"react-x11","version":"2.8.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.8.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"923bdb14973ac0540ae33e70d85ffd590fd40f55","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.8.2.tgz","fileCount":187,"integrity":"sha512-YYB+oZueoN3qJlEIodw0cI7k88UvLfJVEDW7EMy6WnleHg00S09g+fM8Lr98ybqS6fPGAx68xxvbUf/QoTG2Sg==","signatures":[{"sig":"MEQCIGm4Vs7P1wre/7vT8sausnC4q/Mu8qsrdIDiWz+f7Q2jAiBXlcE8qRcDCtXZ2XgL9t+1//kqJNFMhL7dbNBvi0xwIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.8.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2795814},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"5eadd527df4252c0e3248c48d5cf499d7426a70c","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.6.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.8.2_1788745680259_0.8412246280493334","host":"s3://npm-registry-packages-npm-production"}},"2.8.3":{"name":"react-x11","version":"2.8.3","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.8.3","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"af7da95cac93d13ffece450ddc577aa7620c1cb1","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.8.3.tgz","fileCount":187,"integrity":"sha512-+TMGy2QNmVyGmRW8yFFbUDuuQsxQ3PVPYGNufI11mYx2zsog/2Z2/oYFfRv/1lIfNXuA3vdo/mKuvlAqatci6g==","signatures":[{"sig":"MEYCIQDG0i/NCeztMwy3Ri4WF0vwyx+MsxXaeh0jHPemfK1BYgIhAM6MrcBRBYbGPVfS/sQTVZOaccz3SlM15MxW1t+jm7NB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.8.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2796660},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"25d68697e4ae8346022457c35d96b8d516a2d250","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.6.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.8.3_1788749997370_0.6754652162574541","host":"s3://npm-registry-packages-npm-production"}},"2.9.0":{"name":"react-x11","version":"2.9.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.9.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"518757b7aa65cd056bef1ac05fa62e826af1a86b","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.9.0.tgz","fileCount":188,"integrity":"sha512-ksVVQwdwsTieYsOsfrvjbUpACOVVwwhHApEH4Rb/BycTSkz9KfFt320zrYLl5aDVvbN9MXet1/DyjBtldli6Cg==","signatures":[{"sig":"MEYCIQCYyQxsREFgoDXIs+VLBBQlkIoWoyal+jm4WtkMI840MgIhAL6EMISfnH6cgzzJRlAIKXBbhfPnbA+4bCplBWoAilSD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2846921},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"bf48860e668e351264fe0fb8e9d5e1173f44a0b4","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.7.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.9.0_1788767328748_0.9778650365001957","host":"s3://npm-registry-packages-npm-production"}},"2.9.1":{"name":"react-x11","version":"2.9.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.9.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"c5c49f2f7892c980407cdcdd1bf8cfc69a3b08e5","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.9.1.tgz","fileCount":192,"integrity":"sha512-psODKaRjWJ/RfEvPi/HUpwtMuItTDpwM5b5bEGg8m7GwNzAiFa5KsZLDJrtlyQMeVjL2JdTb8USvRtpFb3USPw==","signatures":[{"sig":"MEUCIQC+ch1WX2rpy88B9maFPuk1WZ8+CgGg9TRm24qpaxfzBQIgez458lcy1PtkVpp8z9DDKwTphyjpUlol5ZLILPQPBw0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.9.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2923677},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"f92e5a6eabf83fbb35c4f6b7ebf58ea30cbd30b8","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.8.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.9.1_1788866958420_0.5144720556744407","host":"s3://npm-registry-packages-npm-production"}},"2.9.2":{"name":"react-x11","version":"2.9.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.9.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"f54950178a69eea095e0fbf3eca5b93c3578253d","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.9.2.tgz","fileCount":192,"integrity":"sha512-9BhuiPZ1/sC+Hcu7s82AkZ00LdUQXS/VC6Zt/eBg2n3p0SrtiYkXRoag7uD/76DQHWbxCvBfYXPaf5QOcQYawg==","signatures":[{"sig":"MEQCIGy2SaPkf6HNL0nJcfqnm04bbvOU400qd5DhSp+6+uC7AiBpyPZs9yW7q5wi/CEZ0f1qv0gvgU75OKN19TTlBenMAA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.9.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2927230},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"93f0235c1d4b5ddafe482a513e43289ae8024522","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.8.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.9.2_1788879324234_0.0362022778268698","host":"s3://npm-registry-packages-npm-production"}},"2.10.1":{"name":"react-x11","version":"2.10.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.10.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"10c8ddc255020677e410d796d69ec9b5c1d318ce","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.10.1.tgz","fileCount":192,"integrity":"sha512-nyywlKcGwCYBZl39hzkM7W60Hg5dSKySi0MXiZath3akD0HJkBQtOuyMQ89Olk7Pdocl0VxyySyXCRUh/Hfddw==","signatures":[{"sig":"MEUCIDrBTL0FPiByq8qNxBZsBwRsyZ48npekJBYDb6oQz/EeAiEA16oOqLvN1WYkQR4HfiHD/C3dBmvw6tXnsDIondlSfy0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.10.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2931521},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"2f36d3fc11d8d137831e85aec825471e1343ba1c","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.8.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.10.1_1788880945416_0.4009393369369041","host":"s3://npm-registry-packages-npm-production"}},"2.10.2":{"name":"react-x11","version":"2.10.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.10.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"56147a3649d522d567aae0bbfa699f11954eacfe","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.10.2.tgz","fileCount":192,"integrity":"sha512-8sW/zKYAgVnTI7NWVyx4thTe3RKSf8Y24OtUemq7Dm8qm/8nNJq6aydg6ajKThn5/QYO1LdgUGIHOlIbhYjpKw==","signatures":[{"sig":"MEUCIQDdtpIAhsTStjo3iU2RmWAa4PSjFSEoAF0YdzXgsO9+JAIgUh7x0DbPU6JLCyFMdXO/ixP8tR6WxdHw2QCQM2uA49w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.10.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2932076},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"62bd26229dd8adaf21190431ec04f941ea2f8074","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.8.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.10.2_1788933409731_0.951789497199796","host":"s3://npm-registry-packages-npm-production"}},"2.11.0":{"name":"react-x11","version":"2.11.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.11.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"c4db2cefb3c411e6fb184ea4c8641fbaf6ce3027","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.11.0.tgz","fileCount":193,"integrity":"sha512-zhy0TvOAKbcyxI5x3Hc7jPcEn9Nk7ISb5NDFDQMsL4fOgpanCaRv7SoMATnzfJAEtWCnh8OG1k8hnE5ih2N5qg==","signatures":[{"sig":"MEUCIQDmD5zu+nwliJsUxLofTAmZRVdugGqF2O/IW8kaHJMgEQIgTd7l/FSzaHGcwWL55mNFQ4oxkvI+HQPpold8stR9j1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":2945161},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"fdf574894df5a5cff5c46418465a113faaf1ecc4","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.9.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.11.0_1789015141578_0.34137581948879014","host":"s3://npm-registry-packages-npm-production"}},"2.12.0":{"name":"react-x11","version":"2.12.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.12.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"6914ee2cbe5b39f4569e4e92c5eb51fe7848badc","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.12.0.tgz","fileCount":240,"integrity":"sha512-saGSjVTU4tq8PitaP4UY7+RJ709g5r09Htuw5yYODBoTHNWnpHQMUczhz757CRM7hlzShwkgoeURWZpoFAN8iw==","signatures":[{"sig":"MEUCIBGlolAtEmueu5wHGqh7RQturZk6oyvRcKYf/fOuysyDAiEA/IxKrOd8NKJJZMN0NKXwb8pUJWHlSJJIdH28oTOW6DQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD+2sh7uf/lr5CZCNH+ERESXEwNe+ZZWy//uAmNYoDqiAIgGx/8VcTA+SN3uiOdK/WhLTiDfGeY65n7IniWnRFMGp0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3210193},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"56468f7fe5f8a505b02bd435b7af1e24fa268c00","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.7.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.12.0_1789184628761_0.3746844822517448","host":"s3://npm-registry-packages-npm-production"}},"2.13.0":{"name":"react-x11","version":"2.13.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.13.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"428f788dbff05f3868746436da0e721470bf2809","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.13.0.tgz","fileCount":243,"integrity":"sha512-sy/wMPJbEPYP8dnCPNo9kswRU4agSI/8jNLB611QI9jVMhlLI4Y4jmTqvEArd/YHSht2naE/PIFAPF5DlpwLyQ==","signatures":[{"sig":"MEQCIGfxU5jeQ3G78vDgw+OKgQ+6eCnrbmGtdzyHRf0GexI5AiAVzJ7+BrhqoILspA2oKt4uV5t4Qz4+qRPCh2g6Ura3fA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIGZfruBmfNesw0qa/CQftoFl8WYIGzw0FW7AyEsbH2GqAiAR9nfA2ifTzKhWvE64Z4T1uVjZIlvyYX4tqDqmoBnY/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3246961},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"6a6c877b9f37ab421d64846c5266f973bd66ed7f","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.33.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.2.8","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.18.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^7.0.1","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.0.0","@babel/core":"^8.0.0","react-refresh":"^0.18.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.8.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.13.0_1789248621570_0.926240046740189","host":"s3://npm-registry-packages-npm-production"}},"2.14.0":{"name":"react-x11","version":"2.14.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.14.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"0dc6b51045bd186e4f30488777914eed42797a45","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.14.0.tgz","fileCount":297,"integrity":"sha512-8vI1+n4N8LyNQB5VMuAv0DO2Kp2lFX+cVt/qRJP6OYLvzZ5+5UNtaa+Ey7kUfLs/tBfgfZUlSRMC0aX3yDFSfg==","signatures":[{"sig":"MEUCIEBC2RYclWBIiENxkIBYM8/6H/HfLIyiDy9AXAe3rYGqAiEA0W7qAnaXbIDIH+L3BJqEgprpPbQ8JDsu+Xwa0ke1++8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHdTUuejVV1Box3N767Ult6QN+PaNZf/z6FR2tkwgL4+AiEA5iBo8H50jpMbywzNXOwTFGQsbBBent2dWZfJ1zkJg/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3788662},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"793d0df14ee11e90bc170edfef2900a7dcad4cff","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.14.0_1789365484869_0.06739014242822239","host":"s3://npm-registry-packages-npm-production"}},"2.15.0":{"name":"react-x11","version":"2.15.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.15.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"bcb90410155907a6e9f51a855d300508baba508c","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.15.0.tgz","fileCount":300,"integrity":"sha512-E3DHNDhrgRbWQ2ugyvnMpGjLDIwl3jV/qpOWhaiWzNT1KrIvQKJDybbXTtyi1O4C6Qqo46IcW1QFNsoz3FbnNA==","signatures":[{"sig":"MEUCIQCboUS5RoN8Sv8scFGu9IFYrfUN9Rokcajro6YG5PPvBwIgFdRTCeGMhb6t2Kcv4jzxOqlDVZAIRexAOE5mvcvFbGo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFgSNCc9HWj4KSoNvLtd0GwsnNEhp1fv35J4Z6g8sCAZAiEAuGay0uFRIR87x8UmD21788Rf5EHJcwCjX2OpcFI6SU4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3820965},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"c0d1c1519a8bc2317263611dadd74c88b503e5ef","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.15.0_1789424137726_0.017533374733937013","host":"s3://npm-registry-packages-npm-production"}},"2.15.1":{"name":"react-x11","version":"2.15.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.15.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"2a64e28306bd2493eb572d6e3201771f39a61f2b","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.15.1.tgz","fileCount":300,"integrity":"sha512-5LWcUpZqymULXvrpd9aA81nJ3UFp4pe9Nah2S85E+GrVHwmDYTjf8Tg76+VjC24hagRF8c2aw6WkOAMMIw+aMQ==","signatures":[{"sig":"MEUCIFtE2Mixi+eeOYjklnWrtjGIK5CLMkFuGKXeLqHeMv1XAiEAhKWDyW9hzr3scHp38qKkRlvnPvuepuFbQlS2VSGKZ+w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICp10Z94spmz7aNiLr4hEwtIkaNxWuH48hvY4+w9KBqOAiAJce/1fgAGqpSVg00Q2B/f0IIRJ0nidI3mJbLHSE9nlQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3822038},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"b96439ce3d23eea735db7491a2b6d20a85487940","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.15.1_1789430296215_0.7123745487383888","host":"s3://npm-registry-packages-npm-production"}},"2.15.2":{"name":"react-x11","version":"2.15.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.15.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"25542bd0bfdb6750401922300f6bfe398aeeff93","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.15.2.tgz","fileCount":300,"integrity":"sha512-FkZD+EvWjNG9LfU9A0GT4m38b1X35sv/JOl+5DhpR1/JtrFlQbaqvtIBC0JG2QBqWBj7RKuO1jfPVtrzB4vSEw==","signatures":[{"sig":"MEUCICLuYyGpnI7g7UZhlPatzD+Hxyqf7SxdSr5rDmFrKYTLAiEAuAkN8WqJ8pWOK9sred8qpU+UhPdJO8fDfWGqrkOeAB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDGN+Nmgc3cqvwXqihmRPKzKgJQNDnF0OaADvAg6PaJbAIhAM4wWcXMOXKGjv422GtQD7dtWfedJqWBe07AP/mYAHs9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.15.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3824833},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"fcfdafc4b03b3785427d7559513ac0854459f82d","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.15.2_1789443784682_0.5199863859823473","host":"s3://npm-registry-packages-npm-production"}},"2.15.3":{"name":"react-x11","version":"2.15.3","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.15.3","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"31b0ac24d49f0ddbba9b2d8b66d101dc17328777","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.15.3.tgz","fileCount":305,"integrity":"sha512-gZPKHYqXY/Mj2TRVJQobKPFYAzDVoLh8ydIl6pMZH+luG/YIic8l1bUkwla9VKDEkNXnryuQuYhe+jFAprd34w==","signatures":[{"sig":"MEQCIBlY4DnV8BBMFUnqXih+FAo89A6Ayoz0fJvRrCW28JREAiBWuh3sNtjKoYY9sXn5fuVms9AYYWPCxhceH+1pHc+4/Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBVZ9xeOaYz7xHLkIM610R7TQGLARUf/v+yaUB6cBhb8AiEAxwIxOc5WH8MXC7cDZwJ64dsTasmGfmOUMAcia1oM4Rk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.15.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":3895343},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"3bf23146e005ef582533e8af64ba6be5b7d539da","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.7.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.10.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.15.3_1789511979431_0.9828205522723867","host":"s3://npm-registry-packages-npm-production"}},"2.16.0":{"name":"react-x11","version":"2.16.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.16.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"b7c01f82c50ed01a2c74366613a7255108ce4afe","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.16.0.tgz","fileCount":310,"integrity":"sha512-iJeyJU1nMNS7E/RetWgtdFxSUQc9bSb3dEaS7eWDySsnNRaQrGRRC0MQgs40RqctZjbCadknR2xLTtG96oqxvg==","signatures":[{"sig":"MEQCIF4pg9SYWifBCsslukCiavgZSQTMewEEc13gUF/hd1B6AiBKjcCouwD7pxWf0UgEtIYGjnGYSJ2UDKFdwzqwqO66KQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAVDe1PTG3/LQy9m0UbLs0z1XV2PJ/Dgu7N0XVBeZdaoAiEAoJ8O6U2uFM4foP4dWIlRI08kgXanBgHpQs4JTWSZb9Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4003703},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"8888f10433a3c2acd091fcb41836cbe4df628f23","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.16.0_1789683446422_0.2213878793308357","host":"s3://npm-registry-packages-npm-production"}},"2.16.1":{"name":"react-x11","version":"2.16.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.16.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"55c049440562d271c9dea27d023e03d93a65e2ef","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.16.1.tgz","fileCount":311,"integrity":"sha512-bDI79MgQZjXRaAAqu1BjeMzjN6sDmy53hPgclyTMCqbykbU4itsb/teA0QIM+Pzx7KMI3kopaeCVpYMCOYc6cQ==","signatures":[{"sig":"MEQCIDMbUax7iK6y30fYROr/aNVDkWWtRd6mjAT9/4QSVp4MAiBuvtQOv/sGjSbAq8enr2eeA/PM0KGxf1qkKMh47N+a/w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA9CYdFNDrLYatJqAjxfkjAKVRPaPSJBXJLzdEsrYnDsAiEAhlzgYmQsJf3N7ci4IDk9n4t9HNUd1HgaRl6lnScj2K0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.16.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4039562},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"85f4381efb12329f8188d7f011f12c5f6c209671","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.16.1_1789709645465_0.9148572364481327","host":"s3://npm-registry-packages-npm-production"}},"2.17.0":{"name":"react-x11","version":"2.17.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.17.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"74582fd6d699e928ee527d76315a8591a09e0c26","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.17.0.tgz","fileCount":327,"integrity":"sha512-yti+CiL4jZRb0AMSEavFyhVA6XWSMKizeQuxQlDKE6AqxNVCAJmdKdKnwUF0ATMn+U6HjsFmN1ZPGtAqwSxKjQ==","signatures":[{"sig":"MEYCIQCA1QAu7XTez81bLVo2qLwiRw2TrqGk3Lk2YCNPOu7udgIhAIJq3/fU+KFiuYsX1qLbG1nOBinZML8tj/Upxt2jlW40","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDemFz0HFzVdFdtMff9/dY7W0a1K/MQJj6uCaVOX9U0hgIhAJk7r85sJHK8qr58wQtg+sIkRR7inuLVTUoIYgmWkhXy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.17.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4268311},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"91f0d0c52f4ad2dc73c5912dccbfba9e1633d754","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.17.0_1789944322860_0.1672230223502127","host":"s3://npm-registry-packages-npm-production"}},"2.17.1":{"name":"react-x11","version":"2.17.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.17.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"16038cca00a8a71f34fa58b79145de4c9e28ab46","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.17.1.tgz","fileCount":327,"integrity":"sha512-1ugT1HASZYex2MOOYCcheXDRpEsC0UtqUbbUOkOBcKNUSLsx2wLsoZlE6IF3S8JAVU1xwCp0mje/yJchyCbrUw==","signatures":[{"sig":"MEQCIBLq5f4vSnrXOTUWJMnrorB+qOKw4lHlKyrJnCuWJnt9AiAg4HOjG6lNtL91WjMxdJunD/AcTGIQGoD+pPgjiEnXXg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDTrDc2iBsnWLff+J1Dtb4XXOX2hAA0OY71JbTz/R3wUAiEAkMo7ecSxu3QVOkvKOSUC8jfkVODJJDziOkPTlPLa1mM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.17.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4271787},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"9ff9613a967da3a45155060dc92fe1dd321477cd","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.17.1_1789947628239_0.09338423868325307","host":"s3://npm-registry-packages-npm-production"}},"2.18.0":{"name":"react-x11","version":"2.18.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"c620f32b333ea3d462c34390c90b56ff39085588","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.0.tgz","fileCount":327,"integrity":"sha512-zbB5aiNWW4ungB6K0MZGMcBZcgHO2loX7YB4o/7MHBGqI0tuScVZOF5bxNfBIrWZYGQqKqj591wKBE0V8+toHg==","signatures":[{"sig":"MEUCIQD8Img/C/6i8boySM9tgZPwwTENFbDHxMaDfA+NBg/aQgIgJBLDpnK2lZI53pXh67fdzAUBoT2WLpAFs2oChqVmvpQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCTZX+qqIm0/WmaFSHjgwYhO9jwuZmzISy6mFoirn3a+wIhAP0t7z+8velLc0yIQBv6uaK3kDXbY60dHIb3k0JTGzD6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4272961},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"2844760d0ec50d2f4914923b606f2783487ea1ea","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.0_1789966155727_0.0801565291626316","host":"s3://npm-registry-packages-npm-production"}},"2.18.1":{"name":"react-x11","version":"2.18.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"fbb3c469a346fa670ec994ab21a1da83262fcc8d","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.1.tgz","fileCount":328,"integrity":"sha512-QBIH65mq5TQocTcl29GaF6vPACGZ/Gmgs2wqb5tfecJzoo0X3xEat0uqGgme+AyYkCVmkc3dalddPH5ecMVICQ==","signatures":[{"sig":"MEUCIGalJem5TgmqSVq5qQS7YtgoSm8uFJ3RRbMTzuLOqUB+AiEAjq4haubqHCc1ALJH5jCKwvPmrke4q1UqoYNV/z+tIB4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDrCxi1P3vikoSA+6GLgcrGnwC1ZhWubBWa2b2yzjcZegIhAKCrvs/qD5gp0IpIdGhyfwLs1+6EGoZAuQhqK7o+Fb4t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4274174},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"85245687bf7f12de65618a580e61932bdcd7f00a","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.1_1789975307173_0.37221901024993653","host":"s3://npm-registry-packages-npm-production"}},"2.18.2":{"name":"react-x11","version":"2.18.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"6d8848eb937cdb1b115512684f8c3071777d45f3","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.2.tgz","fileCount":328,"integrity":"sha512-68hxE4QyAxYFuWfpDInov6MqBgDAxpL+OWy5WDc+ID67e4ph3QbNL27t7jWzO6Eo4JDsExZIqTcBTLmEaboHRw==","signatures":[{"sig":"MEUCIHOYVCvkKvtlwW5QEE2WuUz8IDRrkkpSrkddX6nxzI7gAiEA/wuUjK7DD5ccdL9Q47nH3YPhVR224Z3DtrcII5bcMtc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBO1MGpJRHndkeAbVaonqPr2eqz4TsOdizpoC+wDRIa0AiEAylJry9odM2jS15Xd9wwYtsd5X4lwbD4FABBjqNY1Y5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4275469},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"a6eb5e111721b747d1fa75d9f3b06abf2d3559f3","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.2_1790031923981_0.8401284197772467","host":"s3://npm-registry-packages-npm-production"}},"2.18.3":{"name":"react-x11","version":"2.18.3","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.3","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"42bbb45f5b8048229ba0005613095c9ce840915a","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.3.tgz","fileCount":328,"integrity":"sha512-sVxm6OOEMVRn08rer3glgtq19V4bIRBIUbivclt2riO/f+XHu+ienEUYypvUzQ0df1HtJYqwdWbu6cUmK0arow==","signatures":[{"sig":"MEUCIBpo/5/B2ql7UQK7aNVZQ33mz0OEpYCnF5uzd7PKLlMJAiEA++i07ApDea5Cwucvn7Z3thxSy3BJu7fWbqXvlqKlOY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC3bzAiIi/Y2SxDZy/93GnrkGo+RF2M23O8R7YFvQjeqAIgCn5M7pteQcv9Y5GI4NEcT0vf6+1Q7QjkXG7bUIdx31k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4301793},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"daac24051999cbca3cc959ecf4f9ba25258091ed","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.3_1790054582725_0.37856737691693865","host":"s3://npm-registry-packages-npm-production"}},"2.18.4":{"name":"react-x11","version":"2.18.4","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.4","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"8c7263d653d639a4720625199ba395fe6ac4329f","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.4.tgz","fileCount":328,"integrity":"sha512-clIlI/1NMWWkrY7L+24BYdBGfbA6YXRIG+ggEdmgh8JDXxpvNwogUcJIw1+ytknyl1f4brW/V21L1rq0yXi7SA==","signatures":[{"sig":"MEQCIA4PI0RQsD+JUIY6MdIzbUK9nPsjQtRg3waMOAfX541EAiBVSPTYsIC2jpPGtiemG9qyzIPEfSDygPYVvKGrTX2nhg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFdV1nl4orELWrtufcWcx6vjIhA+5yt4zkhHtnZIQqa7AiBxMTVTLmWALfv2W2iUUB3ob7P1pbZ0H6QcS4JDpjTPaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4316633},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"8af470a897bd69d20864549b375dda0f294ed3ef","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.0.2","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.4_1790069975275_0.27374620657244564","host":"s3://npm-registry-packages-npm-production"}},"2.18.5":{"name":"react-x11","version":"2.18.5","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.5","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"048f4bcc87b716d84450343444f228adcc14d20a","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.5.tgz","fileCount":329,"integrity":"sha512-EKRkhRuRsXDd7hqBXWl/n+Dc5TtiBOUHh7m8ffWOOho0XGCTVsniz2nvYG41PH+m1VXcffL6n3TdF4p7gqUYIg==","signatures":[{"sig":"MEUCIB3L5TP9jQ6dfGZVOids6i+FbUFVW0w6sQvRTsLfiJ03AiEA6jc4fQwY25zC+SrYL/WNGxjGZ1j4DcpaU/+yjeid6ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICZYW2YFHfNZ6AyMBHYjZhw7t3q1ZOP9rYq7obUSc+ecAiEAiPqnQ/OYU8XeB/o+UdG+OZ+grXCvul4ck8uohD9Qv/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4338852},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"179729225b0664c9bfab6096fbfa6593ef08ad0b","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.9.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.1","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.5_1790129530149_0.7914310068273136","host":"s3://npm-registry-packages-npm-production"}},"2.18.6":{"name":"react-x11","version":"2.18.6","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.18.6","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"674a5e744682189a3a7c781d91d6db26caaa0f49","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.18.6.tgz","fileCount":331,"integrity":"sha512-+y24QAGyLlB7M38fsh+fO8XFFAkfmIs2maEj9I/cvzRyD22njmjFrh2CtU0dpF/3otWX94isMSOt1wuJ1AFQ5g==","signatures":[{"sig":"MEUCIQDlm9hdjlpbeSzpQMfvE7q2Su8XPWuSBkcVUuDvWJI30gIgZ8nyQBA/2dl8kKR0Jlx4wk6rgUrJ8xsww8nWs6JwtZI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB0bnTEdRo2Ci4avQRfdmE9UnDMOuy3p9ChotEoPhBiQAiEAvt+YZvbmFyRnyd4hqOU1Dhd1ALh5nkb7WLyN1hQbAU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.18.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4345190},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"ab4caf94c9ac3d41f579afed18e2dddc0d673809","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.2","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.18.6_1790164130498_0.30187478269447166","host":"s3://npm-registry-packages-npm-production"}},"2.19.0":{"name":"react-x11","version":"2.19.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.19.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"e6ed724a3bf2291ee2ed5646bda57b9a601b879c","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.19.0.tgz","fileCount":331,"integrity":"sha512-kOp5YI/EnJwRsXX5PHO3n09ZjReBz5uUBZUrTbGjA4yZAnW4iLp/L4Zlt3HjAXcX1XPqxW+bA5w1DK0Z0KGk6w==","signatures":[{"sig":"MEUCIFNS8lK078SOl/XT7SVXWJcHdV3yp0gQc/AxaQqmIyMzAiEA20HZqSML2beTllcYmk3B/Ai4T4eXzx993jxY4QvU1y4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDZSLoVLa0ITsJ4OSr7Bxx5BapdKYUAI9ZFhWc9p9yidgIgcS/3Y8M5m5lHYjxtVisfGdU+4xhDZxQSW0jtUDAlvsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.19.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4358234},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"e9511ba956551e636e4e3ad75b25b43894478835","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.3","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.19.0_1790167821016_0.944841324413247","host":"s3://npm-registry-packages-npm-production"}},"2.20.0":{"name":"react-x11","version":"2.20.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.20.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"afd3f637b4f858d24aa676a4b3a92d404a82a49a","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.20.0.tgz","fileCount":331,"integrity":"sha512-o60prNPWVmBggbj55g62AZS70GxH8+GrSr9c5NmxWJvi2KtVQ3jqLtGmKJ4v3xaIkZDKOzeoi6HRHPROWzddQw==","signatures":[{"sig":"MEUCIEp+LKDlZ5qDLRuRi3R15X8xmdRjJIkd3t0wE7F3U7rgAiEAtT2x7sZi9MUzeB2wleB+2+rHIoV9FC8aEyORCc9jgX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDHR2vmjXCyAPe0OdW40LO3B4us1fJcH3zp7BZG7vQbjQIhAI96Qa97koQsJfZWSWgL6JYQRazAf+6IZEP8tfrwW9vv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.20.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4371363},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"341271d3477bab34a386f47adf36728e15537a2a","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.3","@windowkit/appkit":"^0.12.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.20.0_1790200257198_0.904850856691024","host":"s3://npm-registry-packages-npm-production"}},"2.21.0":{"name":"react-x11","version":"2.21.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.21.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"fd1c3fda70f0152a947117daab4abaa1f8a24fa1","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.21.0.tgz","fileCount":331,"integrity":"sha512-e7l3XhrZMAPGjz9sQE6OGwSnqAslwV+5mn4IjUWNzwKscJ7ncAbv/5PJo9gu4Nnwz5bM8qHEcp69bod60kGhGA==","signatures":[{"sig":"MEQCID+/sbAxKvsEnJcOcA99rzfFeWM6zfix1vJx/h+iuAVvAiBHVbFGLfGMAr2102kNP91sjRjqwAPBGTt+Kc091WtYiw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDstLz69GwV07S/LmKdIWTtuc7+6ZuKz9sSSiDkNJDMGgIhAMuur9h1dxmYqWf5hsLMfwEVtwFRRf0dvHE74D8UQ7f5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.21.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4373317},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"f9d7996d14483bf533418349e6c2fac5df19d245","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.3","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.21.0_1790211396571_0.41276397183573743","host":"s3://npm-registry-packages-npm-production"}},"2.21.1":{"name":"react-x11","version":"2.21.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.21.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"42b08d2beb25bb5c42bad84dc5906a984dc37218","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.21.1.tgz","fileCount":331,"integrity":"sha512-U5j9ROIIZylYNsLPrVNu170dgU3WoE3DrdRTrcNItyLZlrBpb+1bFgUbEyOGGIFEF3lgHXR1oHxDBJYUKYLetw==","signatures":[{"sig":"MEYCIQCoLKpHhbzxHxKA79dqqxtlyTBdZ21W2uv/smcCmux0uAIhAK/2hSOWLPWpyi10RGCqsNeSCiFEtmrfjVV6uxxCtEe6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDOPM1N9mWLVETXEEhaPJ5lPsXi8a30huoruz2LsAm0GwIhAKs3CJGUUjoq16QsghYT5JhJXm0L71lVnqXMhVb6zZJS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.21.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4373317},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"1d0ae9b936392b061c246617d34037687bc184f6","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.4","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.21.1_1790212651679_0.7404383075026022","host":"s3://npm-registry-packages-npm-production"}},"2.21.2":{"name":"react-x11","version":"2.21.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.21.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"fb076bd31808a04a7b5b1b80534553a501e1769a","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.21.2.tgz","fileCount":331,"integrity":"sha512-Q9wInMbCAMOmMB08vtzgVG+4g/TyMPkjdPIgnKkaN7cGfF3a+wMNOsiw42Md3iDIS1SwXFMa5wyB9uizTFDrsA==","signatures":[{"sig":"MEYCIQCF79maf9fgp31q8lBULJeAPHiR/xjIq+WaqKs1PqoztgIhAJ4ojuJjdLEAGfwbogWHgx5fLA/4c8buFQ3ELId+0CCL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFQhmfbdGf5k1qcGfPklnwpkRjqZb4MDUjD1duHIICw5AiEA1vb6/ymMrx++PmHw3jg9TbZS6UcTJms7d6yq9aooQiA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.21.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4374642},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"2a050e9c0488334d3a6376f96d0d238206c19307","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.4","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.21.2_1790225342396_0.10770792939970097","host":"s3://npm-registry-packages-npm-production"}},"2.22.0":{"name":"react-x11","version":"2.22.0","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.0","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"b0b20f76881decd21805ba1343ddd5967e0b0515","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.0.tgz","fileCount":333,"integrity":"sha512-KJAX8G19STPg76tOZfz7GfqVy0nSsjiNwmDKccdV6Gxye3wPkZFi04290zZquLPmvhNYAskPcZ3rOdngs4e30g==","signatures":[{"sig":"MEQCIFvb8mI54daix2mqauT38LCsxr3o0T/gfMQW26HzJYBtAiAI66FqIq9GMsMY+swYWqe3XtBJqMTTH4T2hR/QQyxlAQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC95yCiy2xMtyhblk4xrtVC1BlWOVhY67+m76jrkgqZfAIgLOEy+pxRcELcq5As79R5bvg8K44ivnYN//oTUelyMtk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4425168},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"c6dfa698268e0521d1a1aaa17388b7cffde32fd2","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.20.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.0_1790254648568_0.18814459389874316","host":"s3://npm-registry-packages-npm-production"}},"2.22.1":{"name":"react-x11","version":"2.22.1","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.1","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"4d1ac75f67d018e8170e803fbedbccbb30269a81","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.1.tgz","fileCount":333,"integrity":"sha512-F5Y8yANafKRowkCZ1qRGeI1CvbxgL8c8UpA1+t1T3iNWwKeroi6alZ8swu0CFj8n6OOnVw9EfqeDDaDqmKq2iw==","signatures":[{"sig":"MEUCIEUTrbV2KCv+KlPQbid6l7Yt2nyWkrQHJsiz6fSow8T0AiEAjhRs1BbPoP26d45DhZEqq33kKta7z9nYNyRiGBogLlU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFIg0qpL7da+eiZJ1dvQjbZY+bXy0vEHD7ujhJ72PYx7AiEAtE35fjeTAhkeRaCuVLnDI1x9/t6gFtJVceM0SDEcN20=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4427021},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"b2e9e008940df66237409e18661ef47cd302714c","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.1_1790294669191_0.02264371974895507","host":"s3://npm-registry-packages-npm-production"}},"2.22.2":{"name":"react-x11","version":"2.22.2","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.2","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"d1898aa9ebc096094ef7a5e5bed2dac4018164d7","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.2.tgz","fileCount":333,"integrity":"sha512-754L/zsp4n9c8cwXfrRZeY/AoaV+Zrz4DEjSg+MIRgvo03mu1KtrvXW3Cv5pJhkO8AmkXnYTUPVQ3oJIRRC/qA==","signatures":[{"sig":"MEUCICTlku6uNIA7xtyJd0253e5O7GfMaUMgQf04tDLdQ1hoAiEAt9wiWA5Yd33mZEcdeFwIyV9RqH38PMqmV7JhZ3h3xso=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAQC62zMwDoknKrvIUXDUUbRqqWPCBNZLsW0cywUFbxqAiAFPNnmHH9mtS5OCZ6A8+R1nhRHHvHms2T9JFZ7y8faqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4429411},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"8f9f630577134c9f953951071afeacde45ee4995","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.2_1790297022594_0.08038682108358075","host":"s3://npm-registry-packages-npm-production"}},"2.22.3":{"name":"react-x11","version":"2.22.3","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.3","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"8bd258422857695d083528065dd551717bd8f28e","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.3.tgz","fileCount":333,"integrity":"sha512-Mp+s+l31C16Fg0NFpX+TwRLPa/j4djzgThWytqV4tCb1cQMeVzSqAST6vUOleUd+sJ/Tr46AMEQm6HVI3QOxbg==","signatures":[{"sig":"MEUCIEJ+ebahZhCgX3NqOfcR8dH/pxWdbUuXvhM1Bilcxld1AiEA8Z3SrenUJ8CSBKoqmWAy6+m0rMA6Ne6a2+T5D3qZrsg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDEvtPK81XdVEkPEyPnaTGTWKiKj4M5KPej16R0kUlvowIgd/2KVKvHZs/Lxy6FXjvwTAtQkY/60SS5BDVNyxn6XrU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4430064},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"9da28af1223e29e4c9b64948fe55b0401d24411f","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.3_1790304278911_0.3682550116907388","host":"s3://npm-registry-packages-npm-production"}},"2.22.4":{"name":"react-x11","version":"2.22.4","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.4","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"d0cee0711fa79e9ddeefd170f91a63097d86e5d9","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.4.tgz","fileCount":335,"integrity":"sha512-QfdoPg5lUo3aNjL01l2VUOrJaIZApcOzm2kLU2oOoZGpLWr7RENypHrPH/2aLnVIRTOhFB1UK/T3AdhKzixtQw==","signatures":[{"sig":"MEQCICFNwlzx8/oCepysIjT7UnvhM9pt7AxCiTEAs2RZ/GjzAiACxsVI6rDUYmU4afXOsAKpmwU8N9QC3/pmxW6pR9jBdw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA8k/3RldCcfSYyd/dQMzPMWyKv/so1taLmylvQgS/2GAiEA5Q9/G9ILXhF9H2L4D8I2kIRRY4HPkCZb/AOOAByc3Us=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4457162},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"a0f5e4f7e25509ee781f953cf3dfdba1429de848","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.4_1790308599094_0.1360633908784603","host":"s3://npm-registry-packages-npm-production"}},"2.22.5":{"name":"react-x11","version":"2.22.5","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.5","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"e4c38abdf748c39a40a847c9855798e3551d7e34","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.5.tgz","fileCount":335,"integrity":"sha512-ldtHW/NqLcWjowgx6Y8I2kg5sDCc5V8bD9TnNw9y8dJyMgrgFSEZ6UraIoGojOSAMNaUNR2Y4EEMD2gBdNQBNA==","signatures":[{"sig":"MEYCIQC7UmeiHAE4oXW9SvVS0XVIsGcpyA5McymCxFwNWbHf8gIhANkRRO8cnqarokTLMcddx/MEhxGZ3AjfvN+Cf5WJp7Eg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCUYHys8Mm/2wz+ouK7TcXea3G4eQ83DiTSHyfYqvVBxQIhAMLF7pP8+sUXLHn20M7kBwq2TZmb1+Zn/LH8qObCCfYb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4463699},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"4fd720b395c9e4b08dbbef056f458094f6669acd","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.5_1790322665575_0.1743275967166158","host":"s3://npm-registry-packages-npm-production"}},"2.22.6":{"name":"react-x11","version":"2.22.6","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.6","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"391415594a8a561fb0e5731ae4a95c3516c482f4","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.6.tgz","fileCount":335,"integrity":"sha512-YIgJJeWmwPRbVmi3F0KlXo8KgV2g+3M4u3BLBMnFx0to39pJ+Fu9wllre8OTbW3rS0He4569WzhkDTB05XYhdg==","signatures":[{"sig":"MEUCIQDZ5pUzoc+lgUrOc9LlfuigJr6theNrsB+boXvW4LPJ5wIgZ5IIMjD4LjqSeqsfT8TZShgWfbZRLMmO5CoRsmRRS0s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDhFHsLr37Mh1ZZ5eSj/0krc2eLi2YpcjZhSpQCMiIiegIhAJEpE/PLdgUmHAPrDNisT7Lj3nPKuJusVd7kN4LRtytX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4471917},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"f41f116cfdf4728148613a7533d9b80f4c1cf134","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.13.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.6_1790326249005_0.5362131992162598","host":"s3://npm-registry-packages-npm-production"}},"2.22.7":{"name":"react-x11","version":"2.22.7","keywords":["react","renderer","desktop","x11","ui"],"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","_id":"react-x11@2.22.7","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"homepage":"https://github.com/sidorares/react-x11#readme","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"6aad19d348cb9eb61eaf218782823a88f1b12a3d","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.7.tgz","fileCount":335,"integrity":"sha512-McBm1xsW4ShELhMfoxNYCOx2tsboM8y2Of/tR+XTef4n63plByc9yXa4OxaIoSew+ktd29+oXae2g8H5BK7KXg==","signatures":[{"sig":"MEYCIQDbhBk6uRlroJfXK2JDG7soMKzaWzb9WVsCxsoa66QEFgIhAOp1IEdeGYqCBv3sg2cJfcyL94lSxlzM3aO7gyrBrigK","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFCyBAhfyYwUSPl1l3euyJoNPuT36gnjS+8Q1gNYCLjSAiEAiJy0LQYeR54XBXAM5kFo66ywgTwbqtk6C3XdcCH8z34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.7","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4480373},"main":"./src/index.js","type":"module","types":"./src/index.d.ts","engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"374028b55e45d0c1fdccd1312683abe6dd1115d5","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.14.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-x11_2.22.7_1790374353424_0.6619997631638652","host":"s3://npm-registry-packages-npm-production"}},"2.22.8":{"_id":"react-x11@2.22.8","bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"dist":{"shasum":"956ee6a2a1b9783f3be27a473112505016b047e9","tarball":"https://registry.npmjs.org/react-x11/-/react-x11-2.22.8.tgz","fileCount":335,"integrity":"sha512-9UcQa17865cHFooGEpKpkNXK3KW316Et8UKV4XPqfrJEpYZbrl7pgM1zQsIuk4M6dNdo00AeGkVNUcG3DbRErw==","signatures":[{"sig":"MEUCIDQcdDeXp2U1GcaSWdAM0REZKRiHDT6rAV8+mx5W8zloAiEA0N+Ee2njI/2IrpTg9eH9F2licP+7K1Mp9m6KVogW0V4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGSwfS7x1iIjIpTsa73R3g/LvxQSa40uzGtTTUWGauvwAiEAsMaU116tNWgXCM1F0/X7P2riac6vK7W5tFDdPI9sdT8="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/react-x11@2.22.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4484979},"main":"./src/index.js","name":"react-x11","type":"module","types":"./src/index.d.ts","author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"engines":{"node":">=20.19"},"exports":{".":{"types":"./src/index.d.ts","default":"./src/index.js"},"./ntk":{"types":"./src/ntk.d.ts","default":"./src/ntk.js"},"./host":{"types":"./src/host.d.ts","default":"./src/host.js"},"./node":{"types":"./src/node.d.ts","default":"./src/node.js"},"./test":{"types":"./src/testing/index.d.ts","default":"./src/testing/index.js"},"./yoga":{"types":"./src/yoga.d.ts","default":"./src/yoga.js"},"./debug":{"types":"./src/debug.d.ts","default":"./src/debug.js"},"./style":{"types":"./src/style.d.ts","default":"./src/style.js"},"./keysyms":{"types":"./src/keysyms.d.ts","default":"./src/keysyms.js"},"./refresh":{"types":"./src/refresh/index.d.ts","default":"./src/refresh/index.js"},"./cocoa-main":{"types":"./src/cocoa/main.d.ts","default":"./src/cocoa/main.js"},"./jsx-runtime":{"types":"./src/jsx-runtime.d.ts","default":"./src/jsx-runtime.js"},"./refresh/loader":{"types":"./src/refresh/loader.d.ts","default":"./src/refresh/loader.js"},"./jsx-dev-runtime":{"types":"./src/jsx-dev-runtime.d.ts","default":"./src/jsx-dev-runtime.js"},"./refresh/register":{"types":"./src/refresh/register.d.ts","default":"./src/refresh/register.js"}},"gitHead":"289a0ef9e0e3dae7e4d4c8e3afec0cfe1764644a","license":"MIT","scripts":{"lint":"eslint .","test":"node --import tsx --test --test-timeout=60000","bench":"node --expose-gc --import tsx scripts/bench/protocol.js","format":"prettier --write .","docs:dev":"npm --prefix website start","docs:test":"npm --prefix website test","typecheck":"tsc -p tsconfig.json","xi2:probe":"node scripts/xi2-probe.mjs","a11y:probe":"node scripts/a11y-probe.mjs","bench:grid":"node --import tsx scripts/bench/grid/bench.mjs","docs:build":"npm --prefix website run build","examples:wm":"tsx examples/wm.jsx","scale:probe":"node scripts/scale-probe.mjs","screenshots":"tsx scripts/screenshots.jsx","bench:frames":"tsx scripts/bench/frames.js","bench:pixels":"tsx scripts/bench/pixels.js","examples:app":"tsx examples/app.jsx","format:check":"prettier --check .","stress:check":"tsx scripts/check-stress.jsx","bench:touched":"node scripts/bench/touched.js","examples:chat":"tsx examples/chat.jsx","examples:form":"tsx examples/form/index.jsx","examples:menu":"tsx examples/menu.jsx","examples:tray":"tsx examples/tray.jsx","devtools:proxy":"node scripts/devtools-proxy.mjs","examples:badge":"tsx examples/badge.jsx","examples:fonts":"tsx examples/fonts.jsx","examples:frame":"tsx examples/frame.jsx","examples:icons":"tsx examples/icons.jsx","examples:rules":"tsx examples/rules.jsx","examples:tasks":"tsx examples/tasks.jsx","examples:timer":"tsx examples/timer.jsx","examples:xeyes":"tsx examples/xeyes.jsx","labs:direct-gl":"tsx examples/labs/direct-gl.jsx","labs:urischeme":"tsx examples/labs/urischeme.jsx","examples:finder":"tsx examples/finder.jsx","examples:notify":"tsx examples/notify.jsx","examples:simple":"tsx examples/simple.jsx","examples:stress":"tsx examples/stress/index.jsx","globalmenu:host":"node scripts/globalmenu-host.mjs","labs:gl-overlay":"tsx examples/labs/gl-overlay.jsx","bench:presenters":"node --import tsx scripts/bench/presenters.js","examples:desktop":"tsx examples/desktop.jsx","examples:foreign":"tsx examples/foreign.jsx","examples:monitor":"tsx examples/monitor.jsx","examples:taskbar":"tsx examples/taskbar.jsx","examples:theming":"tsx examples/theming.jsx","examples:widgets":"tsx examples/widgets.jsx","examples:windows":"tsx examples/windows.jsx","filedialog:probe":"node scripts/filedialog-probe.mjs","examples:calendar":"tsx examples/calendar.jsx","examples:form:app":"sh examples/form/make-app.sh && open examples/form/build/Guestbook.app","examples:password":"tsx examples/password.jsx","examples:schedule":"tsx examples/schedule.jsx","examples:settings":"tsx examples/settings.jsx","examples:tooltips":"tsx examples/tooltips.jsx","examples:viewer3d":"tsx examples/viewer3d.jsx","examples:animation":"tsx examples/animation.jsx","examples:attention":"tsx examples/attention.jsx","examples:clipboard":"tsx examples/clipboard.jsx","examples:dashboard":"tsx examples/dashboard.jsx","examples:selection":"tsx examples/selection.jsx","examples:tasks:hot":"node --enable-source-maps --import react-x11/refresh/register examples/tasks-hot.jsx","labs:text-baseline":"tsx examples/labs/text-baseline.jsx","screenshots:framed":"tsx scripts/screenshots-framed.jsx","examples:appearance":"tsx examples/appearance.jsx","examples:dnd-source":"tsx examples/dnd-source.jsx","examples:dnd-target":"tsx examples/dnd-target.jsx","examples:wayland-gl":"node examples/wayland-gl.mjs","examples:wayland-ui":"node examples/wayland-ui.mjs","examples:raster-gate":"tsx examples/raster-gate.jsx","examples:transparent":"tsx examples/transparent.jsx","examples:configurator":"tsx examples/configurator/index.jsx","examples:simple-nojsx":"node examples/simple-nojsx.js","examples:custom-layout":"tsx examples/custom-layout.jsx","examples:container-queries":"tsx examples/container-queries.jsx"},"version":"2.22.8","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:daf45b05-88bb-4ce3-adb2-a646ad569470"}},"homepage":"https://github.com/sidorares/react-x11#readme","keywords":["react","renderer","desktop","x11","ui"],"overrides":{"brace-expansion":"^5.0.8"},"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"_npmVersion":"12.1.0","description":"react renderer with X11 as a target","directories":{},"maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"ntk":"^8.10.0","ical.js":"^2.2.1","linebreak":"^1.1.0","yoga-layout":"^3.2.1","react-reconciler":"^0.34.0"},"_hasShrinkwrap":false,"devDependencies":{"ws":"^8.21.1","tsx":"^4.23.1","katex":"^0.18.1","react":"^19.3.0","eslint":"^9.32.0","globals":"^17.8.0","prettier":"^3.6.0","@eslint/js":"^9.32.0","typescript":"^7.0.2","@babel/core":"^8.0.1","@types/react":"^19.2.17","react-refresh":"^0.19.0","@fontsource/inter":"^5.3.0","eslint-plugin-react":"^7.37.5","react-devtools-core":"^8.0.0","hot-module-replacement":"^4.0.1","@fontsource/jetbrains-mono":"^5.3.0","@fontsource/instrument-serif":"^5.3.0","@babel/plugin-transform-react-jsx":"^8.0.1"},"peerDependencies":{"react":"^19.3.0","@babel/core":"^8.0.0","react-refresh":"^0.19.0","hot-module-replacement":"^4.0.1","@babel/plugin-transform-react-jsx":"^8.0.0"},"optionalDependencies":{"x11-dri":"^0.9.0","dbus-native":"^0.15.1","@windowkit/win32":"^0.0.5","@windowkit/appkit":"^0.15.0","@windowkit/wayland":"^3.1.1"},"peerDependenciesMeta":{"@babel/core":{"optional":true},"react-refresh":{"optional":true},"hot-module-replacement":{"optional":true},"@babel/plugin-transform-react-jsx":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-x11_2.22.8_1790420243868_0.26418239664788934"}}},"time":{"created":"2015-11-11T02:50:04.553Z","modified":"2026-09-26T10:57:24.301Z","0.0.1":"2015-11-11T02:50:04.553Z","1.2.0":"2026-07-28T06:25:26.860Z","2.0.0-canary.20260820101121.g8a4ce2b":"2026-08-20T10:11:27.438Z","2.0.0":"2026-08-23T12:47:35.774Z","2.0.1":"2026-08-24T11:55:44.051Z","2.1.0":"2026-08-24T23:13:06.940Z","2.1.1":"2026-08-25T07:48:27.344Z","2.1.2":"2026-08-25T09:20:56.048Z","2.1.3":"2026-08-25T13:25:42.140Z","2.1.4":"2026-08-25T14:07:55.123Z","2.2.0":"2026-08-27T03:58:42.450Z","2.2.1":"2026-08-27T07:12:07.521Z","2.3.0":"2026-09-02T00:54:45.316Z","2.3.1":"2026-09-02T05:50:32.746Z","2.4.0":"2026-09-03T00:00:30.437Z","2.5.0":"2026-09-03T01:37:36.733Z","2.6.0":"2026-09-03T11:13:15.616Z","2.6.1":"2026-09-04T02:46:48.175Z","2.7.0":"2026-09-06T09:42:13.443Z","2.8.0":"2026-09-06T13:43:56.428Z","2.8.1":"2026-09-06T23:54:19.431Z","2.8.2":"2026-09-07T01:48:00.446Z","2.8.3":"2026-09-07T02:59:57.554Z","2.9.0":"2026-09-07T07:48:48.947Z","2.9.1":"2026-09-08T11:29:18.575Z","2.9.2":"2026-09-08T14:55:24.411Z","2.10.1":"2026-09-08T15:22:25.605Z","2.10.2":"2026-09-09T05:56:49.924Z","2.11.0":"2026-09-10T04:39:01.799Z","2.12.0":"2026-09-12T03:43:48.887Z","2.13.0":"2026-09-12T21:30:21.728Z","2.14.0":"2026-09-14T05:58:05.001Z","2.15.0":"2026-09-14T22:15:37.903Z","2.15.1":"2026-09-14T23:58:16.347Z","2.15.2":"2026-09-15T03:43:04.880Z","2.15.3":"2026-09-15T22:39:39.597Z","2.16.0":"2026-09-17T22:17:26.609Z","2.16.1":"2026-09-18T05:34:05.597Z","2.17.0":"2026-09-20T22:45:22.983Z","2.17.1":"2026-09-20T23:40:28.353Z","2.18.0":"2026-09-21T04:49:15.871Z","2.18.1":"2026-09-21T07:21:47.309Z","2.18.2":"2026-09-21T23:05:24.104Z","2.18.3":"2026-09-22T05:23:02.843Z","2.18.4":"2026-09-22T09:39:35.431Z","2.18.5":"2026-09-23T02:12:10.321Z","2.18.6":"2026-09-23T11:48:50.602Z","2.19.0":"2026-09-23T12:50:21.285Z","2.20.0":"2026-09-23T21:50:57.349Z","2.21.0":"2026-09-24T00:56:36.684Z","2.21.1":"2026-09-24T01:17:31.802Z","2.21.2":"2026-09-24T04:49:02.532Z","2.22.0":"2026-09-24T12:57:28.693Z","2.22.1":"2026-09-25T00:04:29.330Z","2.22.2":"2026-09-25T00:43:42.735Z","2.22.3":"2026-09-25T02:44:39.033Z","2.22.4":"2026-09-25T03:56:39.206Z","2.22.5":"2026-09-25T07:51:05.678Z","2.22.6":"2026-09-25T08:50:49.112Z","2.22.7":"2026-09-25T22:12:33.602Z","2.22.8":"2026-09-26T10:57:23.997Z"},"bugs":{"url":"https://github.com/sidorares/react-x11/issues"},"author":{"name":"Andrey Sidorov","email":"andrey.sidorov@gmail.com"},"license":"MIT","homepage":"https://github.com/sidorares/react-x11#readme","keywords":["react","renderer","desktop","x11","ui"],"repository":{"url":"git+https://github.com/sidorares/react-x11.git","type":"git"},"description":"react renderer with X11 as a target","maintainers":[{"name":"sidorares","email":"andrey.sidorov@gmail.com"}],"readme":"# react-x11\n\n[![CI](https://github.com/sidorares/react-x11/actions/workflows/ci.yml/badge.svg)](https://github.com/sidorares/react-x11/actions/workflows/ci.yml)\n\n**[Documentation](https://sidorares.github.io/react-x11/)** ·\n**[Playground](https://sidorares.github.io/react-x11/playground)** — edit\nreact-x11 and watch it render, in your browser, against a JavaScript X server\nrunning on the page.\n\nA React renderer for **desktop applications**, whose host is a display\nsystem rather than a document. React's job in a renderer is to compute what\nchanged; the renderer's job is to turn that into side effects on some host —\nin react-dom those are DOM mutations, here they are **X11 protocol requests**\nwritten to a socket, or **Core Animation layers and CoreGraphics drawing** on\nmacOS. There is no DOM, no HTML and no browser engine underneath: this is not\nElectron with a different skin, and `<div>` is not an element that exists.\nBuild GUI programs for a Linux desktop, for a display at the other end of an\nssh connection, or as a native Mac app, with your React / React Native\nexperience — flexbox layout, components, hooks, synthetic events.\n\n### Four backends, one tree\n\nThe same components, the same hooks and the same `style` objects run on all\nof them. The two that are mature:\n\n- **X11** ([the flagship](docs/remote.md)) — a Linux desktop, a display\n  forwarded over `ssh -X`, `Xvfb` in CI, a thin client, or macOS through\n  [XQuartz](https://www.xquartz.org/). Everything is JavaScript all the way\n  down: ntk / [node-x11](https://github.com/sidorares/node-x11) implement\n  the X11 protocol in pure JS (think xlib rewritten in node.js).\n- **Cocoa** ([docs/macos.md](docs/macos.md)) — a real Mac app: `NSWindow`s,\n  the menu bar at the top of the screen, AppKit's own control bezels, native\n  open/save panels, native notifications, Core Animation compositing. No X\n  server anywhere. It rides on\n  [`@windowkit/appkit`](https://www.npmjs.com/package/@windowkit/appkit), a\n  thin mechanism-only Objective-C++ bridge — an optional dependency shipping\n  prebuilds, absent on Linux installs.\n\n`createRoot()` picks for you: **Cocoa on macOS** and **win32 on Windows**\nwhen the matching bridge is installed, X11 via `$DISPLAY` everywhere else —\nand X11 on either of those without its bridge, so an XQuartz or WSLg setup\nkeeps working. `createRoot({ backend: 'x11' })` or `REACT_X11_BACKEND=x11`\npins it. On macOS the app's JS runs on a worker\nwhile AppKit keeps the main thread, so a menu, a drag or a live resize never\nstops it — `node app.js` is enough, and `REACT_X11_THREADED=0` keeps the\nmain thread ([docs/macos.md](docs/macos.md#js-on-a-worker-a-ui-thread-of-the-bridges-own)).\n\nTwo more backends exist beside these, serving the goal of **full\ncross-platform support**, and both are younger than the two above.\n**native Wayland** ([docs/wayland.md](docs/wayland.md)) is opt-in rather than\nautomatic, because X11 stays the default on Linux — the remote case is the\nflagship reason this project exists and Wayland has no network transparency.\n**Windows** ([docs/windows.md](docs/windows.md)) — Win32 windows, Direct2D\nand DirectWrite, DWM compositing through DirectComposition — renders and\ntakes mouse input, with the desktop integrations still to come. Each is a\nbackend beside the others rather than a replacement for any of them: the\nsame tree, the same components, the same `style` objects.\n\nLayout is [yoga-layout](https://www.npmjs.com/package/yoga-layout) (WASM) on\nboth, and text shaping is [fontkit](https://github.com/foliojs/fontkit) on\nthe X11 side, CoreText on the Cocoa one. **`npm install` never compiles\nanything**: the X11 stack is JavaScript all the way down, and the two native\naddons in the tree — the Cocoa bridge and `x11-dri` for direct GL — are\noptional dependencies that ship prebuilt. And `npm test` doesn't even need\nan X server (node-x11 ships an in-process pure-JS X server that the tests\nrender into and read pixels back from; every screenshot below was rendered\nthat way too, by driving the real examples through the real event\npipeline).\n\n### On X11, the wire carries drawing, not pixels\n\nreact-x11 does not rasterize a frame on the client and ship the buffer\nacross. React reconciles the component tree, the renderer turns that diff\ninto **drawing operations** — rounded rectangles, composited gradients, clip\nregions, runs of glyph indices — and the X server executes them. The server\nowns the pixels; the client never had them.\n\nThat is what X's RENDER extension is for. Text is shaped once and its glyphs\nuploaded once, so drawing a line afterwards names them by index, about a byte\nper glyph; gradients, scaling, alpha compositing and clipping are single\nserver-side requests rather than loops over a pixel array; nothing is read\nback. An update costs what the _drawing_ costs, not what the window's area\ncosts. Going full-screen on a 4K panel does not multiply your bandwidth,\nbecause you were not sending pixels at 1080p either — which is why this\nstays comfortable on a display forwarded over ssh. Mounting a window with\nforty rows and their labels is 110 requests and 4.2 KB on the wire, and\nstalls the pipeline on none of them.\n\nBecause that is the design it is measured rather than assumed: `npm run\nbench` reports requests, bytes, replies, blocking round trips, RENDER\ncomposites and the pixel area those composites touch, against a checked-in\nbaseline (`scripts/bench/baseline.json`, which is where the numbers in these\ndocs come from).\n\nThe Cocoa backend inverts this, and [docs/macos.md](docs/macos.md) is the\ndesign record for why: there is no wire, the WindowServer is a retained\ncompositor, and a React commit maps onto property mutations of persistent\nobjects. Scrolling is a layer's `bounds.origin` rather than a repaint,\nanimations run in the render server while the JS thread is busy, and Retina\nis composited at native resolution instead of quadrupling every rasterized\npixel.\n\n### Where this fits\n\nX11 is the wire protocol, which means the display can be somewhere the\nprogram is not, and the program can be somewhere a browser engine cannot go.\nThat is the shape of the problem this is good at:\n\n- **the display is elsewhere** — a headless server over `ssh -X`, a\n  container pointed at the host, a thin client, an X terminal, a\n  deliberately dumb workstation. A whole window appears for about four\n  kilobytes, because what crosses the link is drawing rather than pixels\n  ([docs/remote.md](docs/remote.md));\n- **the machine cannot afford a browser engine** — a kiosk, an appliance, an\n  instrument panel, an ARM board with 512 MB, a locked-down box where\n  installing must not compile anything and root is not on offer;\n- **you want the UI in the same process as the rest of your program** —\n  `fs`, `serialport`, `pg` and your components in one heap, one event loop,\n  no IPC bridge and no second bundler;\n- **you want GUI tests that run in CI with no display server** — `npm test`\n  here renders real pixels through the real protocol into node-x11's\n  in-process X server, on a machine with no `$DISPLAY`, on macOS. That\n  harness is published as `react-x11/test`\n  ([docs/testing.md](docs/testing.md)).\n- **you want a Mac app out of the same source** — the Cocoa backend is a\n  real one: system menu bar, native panels and notifications, layer-backed\n  compositing, and a Developer-ID-signed `.app` from either node or bun\n  (the App Store's sandbox takes node only —\n  [docs/packaging.md](docs/packaging.md)).\n\nAnd the shape it is not good at, so you can stop here rather than in week\nthree:\n\n- **Windows — today.** The Windows backend is young, and further along than\n  that sounds. Win32 windows composited by DWM through DirectComposition,\n  Direct2D and DirectWrite behind the same contracts the Cocoa backend\n  proved, OpenGL, the keyboard and all five mouse buttons, popups, the\n  clipboard, file dialogs, the tray, the taskbar, global hotkeys,\n  notifications and window states — on a mechanism-only bridge shaped like\n  the Cocoa one, with a test suite and CI of its own. The examples run.\n  Drag and drop works both ways with the desktop, and the taskbar's own\n  surfaces — a thumbnail toolbar, a jump list, recent documents — are there\n  behind a capability, so an app that also runs elsewhere asks\n  `useSupports()` rather than the platform. What it does not have is **IME\n  and screen-reader support**: an app is unusable with a screen reader and\n  in CJK input. So an app that needs either on Windows _this month_ still\n  wants Electron or Tauri.\n  [docs/windows-integrations.md](docs/windows-integrations.md) is the\n  measured status and [docs/windows.md](docs/windows.md) the design. The three\n  targets are not the same app: the desktop-shell half of X11 (`<foreign>`\n  embedding, panel struts, substructure redirect, the window-manager example\n  below) has no macOS or Windows equivalent, and `react-x11/test` drives the\n  X11 backend only. [docs/macos.md](docs/macos.md) says which is which.\n- **native Wayland — today.** There is no Wayland backend yet. Ordinary\n  application windows work fine on a Wayland desktop through Xwayland, which\n  is not going away — but the desktop-shell half of X11 (panel struts,\n  global key grabs, screen capture, and the window-manager example below)\n  needs a real X session. A native backend is coming too, as a **target\n  beside X11, not a migration**: [docs/wayland.md](docs/wayland.md) is the\n  RFC, from the fd transport up to what the rendering would ride on.\n- **reusing web components.** There is no DOM. Your MUI, your Tailwind and\n  your `recharts` do not come with you; the state, data-fetching, validation\n  and math libraries mostly do. [docs/ecosystem.md](docs/ecosystem.md) says\n  which is which, and what the failure looks like when it is the wrong one.\n- **rendering HTML.** There is no HTML element and no webview. Rich\n  documents are markdown, through `<Markdown>` in\n  [`@react-x11/components`](https://github.com/sidorares/react-x11-components).\n- **text entry outside Latin.** See [Known issues](#known-issues).\n\nThe screenshots below are the X11 backend, rendered headlessly into\nnode-x11's in-process server by `npm run screenshots` — which is why they\nare pixel-stable enough to check in.\n\n| `examples/dashboard.jsx` — context theming, hooks | `examples/tasks.jsx` — useReducer, textinput, scrolling |\n| ------------------------------------------------- | ------------------------------------------------------- |\n| ![dashboard](docs/img/dashboard.png)              | ![tasks](docs/img/tasks.png)                            |\n\n| `examples/form/index.jsx` — textinput + Select | the open Select menu (a real `<popup>` window) |\n| ---------------------------------------------- | ---------------------------------------------- |\n| ![form](docs/img/form.png)                     | ![select menu](docs/img/select-menu.png)       |\n\n`examples/viewer3d.jsx` — a model viewer over **indirect GLX**: the GL\nprotocol sent over the X connection, geometry compiled into a display list,\na frame costing two matrices and one `CallList`. No native bindings, no GPU\ndriver bindings — the same \"JavaScript all the way down\" story as the rest.\n(GL renders where the X server cannot read it back, so there is no\nscreenshot of it here; see [docs/glx.md](docs/glx.md).)\n\n## Quick start\n\n```sh\nnpm install react-x11 react\n```\n\n```jsx\nimport React, { useState } from 'react';\nimport { createRoot } from 'react-x11';\n\nfunction Counter() {\n  const [n, setN] = useState(0);\n  return (\n    <window\n      width={240}\n      height={120}\n      title=\"counter\"\n      style={{ backgroundColor: '#f4f4f4' }}\n    >\n      <box\n        style={{\n          flexGrow: 1,\n          alignItems: 'center',\n          justifyContent: 'center',\n          gap: 10,\n        }}\n      >\n        <text style={{ fontSize: 24 }}>{String(n)}</text>\n        <box\n          style={{\n            backgroundColor: '#2980b9',\n            borderRadius: 6,\n            padding: 8,\n            cursor: 'pointer',\n            ':hover': { backgroundColor: '#1f6693' },\n          }}\n          onClick={() => setN(n + 1)}\n        >\n          <text style={{ color: 'white' }}>+1</text>\n        </box>\n      </box>\n    </window>\n  );\n}\n\nconst root = await createRoot(); // Cocoa on macOS, else X11 via $DISPLAY\nroot.render(<Counter />);\n```\n\nRun it with `tsx` or any JSX-capable loader — or skip JSX entirely with\n`React.createElement` (see\n[`examples/simple-nojsx.js`](examples/simple-nojsx.js), plain node, no build\nstep).\n\n## Elements\n\nOnly `<window>`, `<popup>`, `<glarea>` and `<foreign>` are real windows of\nthe display system. Everything else is a retained lightweight node — one\nyoga node each — drawn client-side into the owning window's double-buffered\n2d context, with events dispatched by front-to-back hit testing over the\ndrawn tree. See [docs/elements.md](docs/elements.md) for the full reference.\n\n| element       | what it is                                                                                                                                                                                         |\n| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `<window>`    | a real toplevel — an X11 window, or an `NSWindow`; the flex, paint and event root                                                                                                                  |\n| `<popup>`     | an undecorated window placed at screen coordinates — menus, tooltips, dropdowns. `anchor` places it against a node; `grab` and `trapFocus` make it modal                                           |\n| `<box>`       | flex container: layout props → yoga, plus backgrounds, borders (solid/dashed, radius), overflow clipping, zIndex. `overflow: 'scroll'` makes it a wheel-scrollable viewport with a drawn scrollbar |\n| `<text>`      | shaped, wrapped text (bidi, ligatures, font fallback); nested `<text>` elements are style spans                                                                                                    |\n| `<textinput>` | single-line editor: caret/selection, clipboard, word select, undo/redo, right-click menu                                                                                                           |\n| `<textarea>`  | the same editor, wrapped and multi-line, scrolling with its content                                                                                                                                |\n| `<image>`     | PNG/JPEG from `src`, natural-size aware; also pixels the server already has                                                                                                                        |\n| `<canvas>`    | escape hatch: `onDraw={(ctx, {width, height}) => …}` with a canvas-like 2d context (XRender-backed on X11, CoreGraphics on Cocoa)                                                                  |\n| `<svg>`       | static SVG (paths, shapes, gradients, transforms), sized like `<image>`                                                                                                                            |\n| `<glarea>`    | an OpenGL surface in the layout — see [3D](#3d)                                                                                                                                                    |\n| `<foreign>`   | another application's X window, laid out as an element. **X11 only** ([docs/embedding.md](docs/embedding.md))                                                                                      |\n\n`registerElement()` adds one from outside the package —\n[docs/extending.md](docs/extending.md).\n\nWidget **components** (plain React on top of the primitives, themable via\n`ThemeProvider`): `Button`, `Checkbox`, `Radio`/`RadioGroup`, `Switch`,\n`Slider`, `ProgressBar`, `Select`, `Tooltip`, `Icon`, `MenuBar`/`ContextMenu`,\n`PasswordInput` — whose mask is a scribble that moves on every keystroke\nrather than a countable row of bullets — `Dialog`, a modal built on\n`<popup trapFocus>` which traps Tab and restores focus when it closes,\n`FileDialog`, the two containers an application window is built from —\n`Tabs` and `SplitPane` — and a virtualized `Table`. See\n[docs/components.md](docs/components.md). Richer widgets — `Markdown`,\n`Tree`, `Calendar`/`DatePicker`, a three.js scene graph — live in\n[`@react-x11/components`](https://github.com/sidorares/react-x11-components).\n\n**The menu bar goes where the desktop keeps menus.** On the Cocoa backend\n`<MenuBar menus={…}/>` becomes the **macOS menu bar** at the top of the\nscreen. On Plasma, on a panel running `vala-panel-appmenu`, or under one of\nthe GNOME extensions that add a menu bar, it hands its menu to the panel\nover `com.canonical.dbusmenu`. Everywhere else — a stock GNOME session,\nXQuartz, ssh, CI — it draws the bar itself. No configuration, and the same\nline of JSX every time: the item descriptors are dbusmenu's own vocabulary,\nso the array that draws the menu is the array that serialises and the array\nthat becomes an `NSMenu`. `npm run globalmenu:host` is a panel in a\nterminal, for seeing the D-Bus path work on a desktop that has none. See\n[docs/globalmenu.md](docs/globalmenu.md).\n\n**`myapp://` links open the app that is already running.**\n`registerApplication({ appId, schemes })` before `createRoot()` takes the two\ndispatch paths a real desktop uses: on Linux it owns the app's name on the\nbus, exports `org.freedesktop.Application`, and — on the half of all desktops\nwhere `xdg-open` ignores D-Bus activation and spawns a second copy with the\nURI in `argv` — forwards it to the first copy and tells that copy to exit; on\nmacOS the link arrives as an Apple Event through the bridge. `useAppOpen()`\nreceives it either way, buffered and replayed if it arrived before the tree\nmounted, and `activateWindow()` brings the window forward — with the launch's\nown timestamp on X11, without which a window manager declines and the taskbar\nentry just blinks. The OAuth redirect this is for has an easier answer that\nneeds none of it, and the page says so first. See\n[docs/uri-schemes.md](docs/uri-schemes.md).\n\n**Drag and drop** works with the rest of the desktop on both backends —\nXDND on X11, `NSDraggingSession` on Cocoa. `<box dropAccept={['files']}\nonDrop={…}>` takes a file dragged out of Nautilus or Finder, and\n`<box draggable dragData={…}>` can be dropped into a file manager or an\neditor. Drags that stay inside the app never touch the wire and hand their\npayload over by reference, so a reorderable list and a cross-application\nfile drop are the same two props.\nSee [docs/drag-and-drop.md](docs/drag-and-drop.md).\n\n### The desktop around the app\n\nEverything an app does outside its own windows is a **ladder**: the best\nrung the machine actually has, the same hook whichever one answers, and a\nfirst-class \"this desktop cannot\" rather than a throw.\n\n| what                                                             | rungs, best first                                                                                                                                             |\n| ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| [open/save panels](docs/filedialog.md) `useFileDialog()`         | `NSOpenPanel` · the XDG portal · `osascript` · one react-x11 draws                                                                                            |\n| [notifications](docs/notifications.md) `notify()`                | UNUserNotificationCenter · `org.freedesktop.Notifications` · `osascript` · `notify-send`                                                                      |\n| [light/dark, accent](docs/appearance.md) `useSystemAppearance()` | the settings portal · macOS · XSETTINGS — remembered on disk, so the first frame is not a flash                                                               |\n| [permissions](docs/permissions.md) `usePermission()`             | TCC on macOS · the Settings pane · `'unknown'` on Linux until the device portals land                                                                         |\n| [the user's real events](docs/desktop-calendar.md)               | EventKit through the bridge · EventKit through `osascript` · Evolution Data Server                                                                            |\n| [sample a screen colour](docs/eyedropper.md) `useEyedropper()`   | `NSColorSampler` · the portal's picker · a crosshair grab on plain X11                                                                                        |\n| a badge on the icon `setBadge()`                                 | `NSDockTile.badgeLabel` · `com.canonical.Unity.LauncherEntry`                                                                                                 |\n| a tray icon `useTray()`                                          | `NSStatusItem`. **Cocoa only today** — `available` is false on X11 until StatusNotifierItem lands ([#353](https://github.com/sidorares/react-x11/issues/353)) |\n\n[docs/system.md](docs/system.md) is the rest of the machine — monitors,\nwindow state, idle, keyboard layout, locale — and\n[docs/desktop.md](docs/desktop.md) is what the app tells the desktop about\nitself.\n\n### 3D\n\n`<glarea>` is a GL surface in the layout, with three ways underneath it and\nthe same `onDraw` over all three:\n\n- **indirect GLX** (the X11 default) — the GL protocol encoded into the X\n  connection, no native bindings and no GPU driver bindings, the same\n  \"JavaScript all the way down\" story as the rest. Geometry belongs in a\n  server-side display list, so a frame costs matrices and one `CallList`\n  whatever the triangle count. No shaders and no render targets: the\n  protocol encodes neither.\n- **direct** (`glPolicy: 'auto'`, ntk's optional `x11-dri` addon) — GL ES 2\n  on the GPU, with GLSL and framebuffer objects. DRI3 + Present on Linux,\n  Apple-DRI under XQuartz.\n- **Cocoa** — CGL into IOSurface-backed framebuffers, presented as a\n  sublayer of the window; shaders and render targets, on any Mac, with no\n  X server involved.\n\n```jsx\n<glarea\n  style={{ flexGrow: 1 }}\n  frameLoop=\"always\"\n  onCreated={(gl) => gl.Enable(gl.DEPTH_TEST)}\n  onDraw={(gl, { width, height }) => drawFrame(gl, width, height)}\n/>\n```\n\nA scene graph over it — `<mesh>`, geometries, materials, lights, and shaders\nor post-processing where the backend has them — is\n[`@react-x11/components/three`](https://github.com/sidorares/react-x11-components).\nSee [docs/gl.md](docs/gl.md) and [docs/glx.md](docs/glx.md).\n\nEvents are synthetic with capture/bubble phases and hit testing over the\ndrawn tree: `onClick` (with DOM-style `detail` click counting),\n`onMouseDown/Up/Move`, `onMouseEnter/Leave`, `onWheel`, `onKeyDown/Up`,\n`focusable` + `onFocus`/`onBlur` + Tab traversal, and a `cursor` prop.\nUser handlers run before element default actions and can\n`ev.preventDefault()` — stopping a `<textinput>` from editing or a\na scroll container from scrolling, like the DOM.\n\n## Examples\n\nOn macOS these run natively, with no X server; everywhere else they need\none — and \"an X server\" is a broader thing than it sounds: your Linux\ndesktop, XQuartz, `Xvfb` for automation, `Xephyr` for a disposable screen, a\nVNC server, or your own display reached over `ssh -X` from wherever the\nprogram actually runs — see [docs/remote.md](docs/remote.md), which is the\ncase this architecture is categorically better at. `REACT_X11_BACKEND=x11`\nin front of any of them runs the X11 path on a Mac too, which is how the two\nget compared.\n[`examples/README.md`](examples/README.md) describes each one and how to\nexplore them:\n\n```sh\nnpm run examples:simple        # hello world (JSX via tsx)\nnpm run examples:app           # the showcase: Tabs + SplitPane hosting the rest\nnpm run examples:widgets       # every built-in control, in one window\nnpm run examples:theming       # three themes x light/dark, and a size query\nnpm run examples:container-queries  # one card, two panes: '@container', and a named one\nnpm run examples:custom-layout  # masonry, a justified gallery, CSS grid, and equal-row controls\nnpm run examples:simple-nojsx  # the same, plain node — no build step\nnpm run examples:xeyes         # canvas drawing + hooks\nnpm run examples:dashboard     # context theming, custom hooks, components\nnpm run examples:tasks         # useReducer, textinput, scrolling\nnpm run examples:menu          # right-click context menu via <popup>\nnpm run examples:transparent   # rounded translucent <popup transparent>\nnpm run examples:animation     # transitions and loops, and which backend runs them\nnpm run examples:form          # <textinput> + Select dropdowns\nnpm run examples:password      # PasswordInput: the scribble mask, and a custom one\nnpm run examples:calendar      # the desktop's own calendar events, no OAuth\nnpm run examples:dnd-source    # and :dnd-target — drags in and out of the desktop\nnpm run examples:frame         # <Frame>: a pane of the app in its own process\nnpm run examples:stress        # the perf scenarios the benches are cut from\nnpm run examples:viewer3d      # raw GL in a <glarea>: a model viewer over indirect GLX\nnpm run examples:wm            # a reparenting window manager (X11 only, see below)\n```\n\nOn the X11 backend the GL examples additionally need a server with\n**indirect GLX** enabled (`+iglx` / `AllowIndirectGLX` — off by default on\nmany), or `glPolicy: 'auto'` and ntk's `x11-dri` addon. On Cocoa they need\nneither.\n\n### Window manager\n\n`examples:wm` is a real reparenting window manager, and it is **X11 only** —\nsubstructure redirect has no macOS equivalent, so this is one of the places\nthe two backends are not the same app. It takes over the root window, puts\nevery application's window inside a frame it draws, and moves, resizes,\nfocuses and closes them. The frames are ordinary react-x11 `<window>`s — the\ntitlebar, the buttons and the eight resize handles are components with\n`onMouseDown` handlers, and the application is a foreign X window reparented\ninside.\n\nOnly one window manager may own a display, so run it against a nested\nserver rather than the one managing your desktop:\n\n```sh\nXephyr :10 -screen 1200x800 &\nDISPLAY=:10 npm run examples:wm\nDISPLAY=:10 xterm &                    # give it something to manage\n```\n\nTo have it manage your real session instead — including replacing\n`quartz-wm` on macOS, which XQuartz has a hook for — see\n[`examples/README.md`](examples/README.md#the-window-manager).\n\n### Hot reloading\n\n```sh\nnpm run examples:tasks:hot     # then edit examples/tasks.jsx while it runs\n```\n\nRuns the tasks example under the supported hot-reload entry point,\n`react-x11/refresh` (`node --import react-x11/refresh/register`, Node ≥\n22.15), with React **Fast Refresh**: saving `examples/tasks.jsx` updates\nthe edited components in place. The connection, the mounted window, and\ncomponent state — the task list, even half-typed text in the input —\nsurvive the reload (a component whose hook signature changed remounts\nalone). Any app adopts it the same way — no accept handlers, no loader\nfiles to copy; see\n[docs/ecosystem/dev-tooling.md](docs/ecosystem/dev-tooling.md#react-refresh).\n\n## React DevTools\n\n```sh\nnpx react-devtools                                # 1. start the standalone UI\nREACT_X11_DEVTOOLS=1 npm run examples:dashboard   # 2. run any example with the bridge on\n```\n\nThe component tree, props and hook state show up live in the DevTools\nwindow, and editing any of them re-renders the app. Hovering an element in\nthe tree tints its rect in the app's window; the toolbar's crosshair picks\nan element by clicking it in the app; \"highlight updates when components\nrender\" outlines the rects that just re-rendered; the style editor edits a\nselected element's style live; and the Profiler can restart the app to\nrecord its mount. All of it is above the display system, so it works the\nsame on both backends. `REACT_X11_DEVTOOLS_HOST` /\n`REACT_X11_DEVTOOLS_PORT` override the default `localhost:8097`. See\n[docs/devtools.md](docs/devtools.md).\n\nThree more debugging aids:\n\n- `REACT_X11_DEBUG_LAYOUT=1` outlines every laid-out node (color = tree\n  depth) — handy when a flexbox doesn't do what you expect.\n- `REACT_X11_DEBUG_PAINT=1` strokes each frame's damage rects in a rotating\n  colour, so a region repainting every frame strobes visibly;\n  `REACT_X11_TRACE` records the X11 protocol. Both are\n  [docs/debugging.md](docs/debugging.md).\n- refs give you the retained node (`abs` rect, `scrollTo`, …) for drawn\n  elements, or the live window object for `<window>`/`<popup>` — on X11\n  that is the [ntk](https://github.com/sidorares/ntk) window and the whole\n  ntk API with it.\n\n## Click to component\n\n```sh\nREACT_X11_EDITOR=code npm run examples:tasks\n```\n\nAlt+Click any rendered element (Option+Click on macOS, either backend) to\nopen the JSX line that created it in your editor. `REACT_X11_EDITOR` picks\nthe CLI and enables the feature in one go; `REACT_X11_CLICK_TO_COMPONENT=1`\ndoes the same with the default editor\n(`cursor`). See [docs/click-to-component.md](docs/click-to-component.md).\n\n## TypeScript\n\nTypes ship with the package — no `@types/react-x11` to install. Point JSX at\nreact-x11 and the host elements type-check:\n\n```jsonc\n// tsconfig.json\n{\n  \"compilerOptions\": {\n    \"jsx\": \"react-jsx\",\n    \"jsxImportSource\": \"react-x11\",\n  },\n}\n```\n\n```tsx\nimport { createRoot, createStyles, Button } from 'react-x11';\nimport type { MouseEvent } from 'react-x11';\n\nconst s = createStyles({\n  root: { flexGrow: 1, padding: 12, gap: 8 },\n  //          ^ flexDirection: 'sideways' would not compile,\n  //            and neither would a layout property inside ':hover'\n});\n\n<window title=\"hi\" width={320} height={200} style={s.root}>\n  <box onClick={(ev: MouseEvent) => console.log(ev.detail)}>\n    <text style={{ fontSize: 18 }}>hello</text>\n  </box>\n  <Button primary onPress={() => {}}>\n    ok\n  </Button>\n</window>;\n```\n\n`jsxImportSource` is what makes `<div>` an error rather than something that\ncompiles and then throws at runtime: react-x11 owns the JSX namespace\ninstead of adding to React's, which it could not do anyway — `text`,\n`image`, `canvas`, `html` and `svg` are all DOM element names too, with\nincompatible props.\n\nStyle props, element props, event objects, ref types and every widget are\ntyped; `style` accepts the same nested arrays with falsy entries the runtime\ndoes. See [docs/typescript.md](docs/typescript.md).\n\n## Developing\n\n```sh\nnpm test             # hermetic: mock smoke tests + in-process X server pixels\nnpm run typecheck    # tsc over the declarations and the type tests\nnpm run lint         # ESLint\nnpm run format       # Prettier\nnpm run bench        # protocol cost against scripts/bench/baseline.json\nnpm run bench:frames # frame timings; bench:pixels for the pixel-hash gate\nnpm run screenshots  # regenerate docs/img/*.png headlessly (no X server)\nnpm run docs:dev     # the documentation site (npm install in website/ first)\n```\n\nThe test suite drives the **X11** backend against node-x11's in-process\nserver; the Cocoa backend's own tests run against a fake bridge, and its\npixels are checked by hand on a Mac. 3D is the other exception: the headless\npath has no GL, so a 3D shot has to be captured from a real server with\nindirect GLX.\n\nSee [AGENTS.md](AGENTS.md) for architecture notes and contributor/agent\nguidance, [docs/](docs/README.md) for API documentation,\n[docs/architecture/](docs/architecture/) for the design records behind the\nbigger pieces, and [NEXT_STEPS.md](NEXT_STEPS.md) for the older roadmap it\ngrew out of.\n\nThe [documentation site](https://sidorares.github.io/react-x11/) lives in\n[`website/`](website/) and renders `docs/` rather than repeating it — edit\n`docs/` and the site follows. Its playground bundles this repo's `src/` for\nthe browser, so `npm run docs:test` fails when a demo stops matching the API.\n\n## Known issues\n\nWorth knowing before you hit them. Both are **X11-backend** problems that\ncome out of X's own keyboard and font models; neither applies to a Mac app\non the Cocoa backend, where CoreText resolves families and `NSEvent` reports\nthe character that was actually typed.\n\n- **`sans-serif` can resolve to a CJK font on macOS**\n  ([#86](https://github.com/sidorares/react-x11/issues/86)). Font families\n  are resolved by shelling out to `fc-match`, which follows `PATH`;\n  Homebrew's fontconfig ships no macOS system-font aliases and answers\n  Hiragino Sans. Latin looks fine, Cyrillic comes out on full-width\n  advances. Put `/opt/X11/bin` first on `PATH` until this is fixed.\n- **AltGr levels do not work, and there is no input method.** `@` on a\n  German layout, `€`, `ł`, `ã` on US-International: the core keyboard map\n  cannot say whether the third and fourth keysyms on a key are a second\n  layout or a third and fourth level, so they are read as a layout and left\n  alone. Dead keys, Compose and layout switching all work\n  ([docs/events.md](docs/events.md)); what is absent is an ibus/fcitx/XIM\n  backend, so CJK is not partially working — it is structurally absent. On\n  Cocoa the character arrives with the event, so AltGr-style levels type;\n  an `NSTextInputClient` IME for CJK is not built there either.\n\nTwo more places the backends genuinely differ, so you can plan around them\nrather than discover them: `react-x11/test` drives the **X11** backend only,\nand the AT-SPI accessibility bridge is X11's — on Cocoa `createRoot()`\nleaves it off, and an `NSAccessibility` bridge is not built yet\n([docs/accessibility.md](docs/accessibility.md)).\n\n## Security\n\n**On X11**, there is no isolation between clients: any program on a display\ncan read any other program's window contents, grab the keyboard, and\nsynthesize or record input. That is the 1987 design, not a gap in this\nlibrary, and it cuts both ways — do not run untrusted programs on a display\nyou use, and do not treat a react-x11 window as a confidential surface. Your\n`$XAUTHORITY` cookie is a bearer token; treat it like a password. (macOS\ndoes isolate applications from one another, so a Cocoa-backend app does not\ninherit this; what it inherits instead is TCC, where the camera, the\nmicrophone and the screen are permissions the user grants —\n[docs/permissions.md](docs/permissions.md).)\n\n`ssh -X` runs your app as an untrusted client and restricts most of the\nabove; `ssh -Y` turns the restrictions off. **Prefer `-X` — react-x11 should\nwork under it, and if it does not, that is a bug worth filing.**\n\nThe full threat model, including what react-x11 does and does not defend\nagainst, is [docs/security.md](docs/security.md). To report something,\n[SECURITY.md](SECURITY.md).\n\n## Similar projects\n\n- [GPUIX](https://github.com/remorses/gpuix) — React for\n  [GPUI](https://github.com/zed-industries/zed/tree/main/crates/gpui), Zed's\n  GPU UI framework. Each commit crosses a napi-rs addon as one batch of\n  mutations to a retained Rust tree, which GPUI lays out with Taffy's flexbox\n  and paints through Metal, DirectX or Vulkan, on macOS, Windows and Linux.\n- [react-native-gpui](https://github.com/natew/react-native-gpui) — React\n  Native's component API (`View`, `Text`, `Pressable`, `TextInput`,\n  `FlatList`) on GPUI as well, hosted the other way round: a Rust binary\n  embeds the system's JavaScriptCore and runs the bundled app, and commits\n  reach GPUI in memory. macOS on Apple silicon only, for now.\n- [GTKX](https://github.com/gtkx-org/gtkx) — React for GNOME: every GObject\n  is a JSX element, so the tree is the platform's own GTK4 and Adwaita\n  widgets. The TypeScript bindings are generated from GObject-Introspection\n  and call into GTK through a Rust core on Node.js. Linux-only by design.\n- React Native for [Windows](https://github.com/microsoft/react-native-windows)\n  and [macOS](https://github.com/microsoft/react-native-macos) — Microsoft's\n  desktop platforms for React Native. On Windows the new architecture's\n  renderer targets Composition from the start, in Windows App SDK apps by\n  default, with XAML islands for advanced controls; on macOS a fork of React\n  Native maps its UIKit views onto AppKit. [docs/windows.md](docs/windows.md)\n  cites its threading as prior art: JS on a thread of its own, and every\n  mount posted to the UI thread that alone touches the visuals.\n- [React Native Skia](https://github.com/Shopify/react-native-skia) — 2D\n  graphics for React Native, with a React renderer of its own: the\n  components inside a `<Canvas>` become a Skia display list, cheap to\n  animate with Reanimated. On iOS, Android, macOS and tvOS, in the browser\n  through CanvasKit, and headless on Node. Its experimental Graphite builds\n  render through Dawn and can share a GPU device with React Native WebGPU.\n- [React Native WebGPU](https://github.com/wcandillon/react-native-webgpu) —\n  not a renderer but a GPU surface for React Native: the WebGPU API\n  (`navigator.gpu` and a `<Canvas>` view) on iOS, Android, macOS and\n  visionOS, implemented over Dawn, Chrome's WebGPU implementation. It runs\n  three.js's WebGPU renderer and React Three Fiber. The nearest thing in\n  react-x11 is [`<glarea>`](#3d), which speaks GL instead.\n\n## See also\n\n- [awesome-react-renderer](https://github.com/chentsulin/awesome-react-renderer)\n  — the catalogue of React renderers, which is how most people find things\n  like this.\n- [ntk](https://github.com/sidorares/ntk) — the toolkit under the X11\n  backend: windows, the XRender-backed 2d context, the text stack, the frame\n  clock.\n- [node-x11](https://github.com/sidorares/node-x11) — the X11 protocol in\n  JavaScript, including the in-process X server the tests and the playground\n  run against.\n- [`@windowkit/appkit`](https://www.npmjs.com/package/@windowkit/appkit) —\n  the Cocoa bridge: `NSWindow`s, CALayer trees, CoreText, CoreGraphics\n  surfaces, and an `NSApplication` event pump driven from Node's own loop.\n  Mechanism only, no policy — the renderer owns that.\n- [`@react-x11/components`](https://github.com/sidorares/react-x11-components)\n  — widgets over the primitives: `Markdown`, `Tree`, `Calendar`, a terminal,\n  a three.js scene graph.\n","readmeFilename":"README.md"}