{"_id":"@supercat1337/ui","_rev":"28-e6c722e00dc88f2fae2ecf269a7a0c20","name":"@supercat1337/ui","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@supercat1337/ui","version":"1.0.0","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.0","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"3fccdc0246c24075834701b5f5850e6f367274f7","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.0.tgz","fileCount":25,"integrity":"sha512-hYWCSXnp+y1fZwyMbqoyqihPvcCFKHvyIJqUk3Ixtux9Gy8BphKsUdg9fU7OhKPTUCbi/5qcfXBA/jZ4NuqiVw==","signatures":[{"sig":"MEUCIQDCuX0S9TQ6uB9S7PyZS+mFTz559xwdc/i2tNJT7WoDHgIgIkduCmLq+ful6Hj7WnUomQUKXeGgxVjakcnPXCnsdk4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109754},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"b74e7383bde3666bcf1587e6094f135fd4e9440e","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A simple UI library to display RPC responses","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.0_1740570519293_0.5884381809491495","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@supercat1337/ui","version":"1.0.1","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.1","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"4b7c736a2be4484afe3f69018889055341778cfe","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.1.tgz","fileCount":25,"integrity":"sha512-kWPxBtJOtqz+QEk8hYSVt7jn3xjj1fWISVr6gJ081xy4O5Lx5cPGr9aj/C6nKpQ2RhrtW7BNLQ5dJlw2WLz7DQ==","signatures":[{"sig":"MEUCIAGcPVv122B7IF8YZl1TFqCO9uh8BtxFgrmi++G695GHAiEAiIMC4EiLVvOyLH4Ea0NFwiHwRAAu6psLoapxZr8mMXw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":114062},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"d5c66074efddbcc50244b0c2f6e800967181975c","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A simple UI library to display RPC responses","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.1_1740604842670_0.8390491532313875","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@supercat1337/ui","version":"1.0.2","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.2","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"1131debc906b3891342cc41e95b8cef03adcf226","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.2.tgz","fileCount":25,"integrity":"sha512-J+Hh7+pjznTG/Wx3/x0oH1pJmxZqhuoBenQWSpds65blMX3cI4oqE0Vp0U6p1ceme/eLZFrw0An+7Vx/ogU74w==","signatures":[{"sig":"MEYCIQCsDtHwcn5tNKSM+ay7L0+VPwygyFJTSx9su2flhddiHQIhAOTH9od08KyL8UEezaiYsFZKUo9tlOmpK5XbybWEGda1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116911},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"ed347d3301cf66aa670ae1682c556fc255ff8460","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A simple UI library to display RPC responses","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.2_1741210437561_0.22449728647170142","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@supercat1337/ui","version":"1.0.3","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.3","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"afad2665de91998560944f8b358717daf3caa28e","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.3.tgz","fileCount":25,"integrity":"sha512-eefFMpKHRRL+z83ivA18OlyhmY6a9OtEltomGvRN34CpXF1uv6Zv2NJSC0Y3D0RFt7aMILUmbmIJWoCaytnXxA==","signatures":[{"sig":"MEQCIGrsXGqjKv4Iw7qyCIh0LXu4zTbGQQ2Rqf/TjZwGHtHzAiBxBLdOmYIWcEggsRCnylnyD1AA33mP3049z4WL2KlHRA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":209628},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"9e132f38935e2089264f6af9c0acb5fba8ce1987","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.3","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.3_1741250009719_0.660998853270538","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@supercat1337/ui","version":"1.0.4","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.4","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"c5fb73da45b4f84c3bcd1e877b1c4681bbc913e1","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.4.tgz","fileCount":25,"integrity":"sha512-m2DHSSqwE82K4jUQoT9ya46ttFAUMCpHS1K8uKbv2NS/q7ltDRNWMf4SwErAjK3uFCyfYFnRyQcWDNTF6TIp9w==","signatures":[{"sig":"MEQCIDPWrwdN+ph1Iwp/XlxS90AhlvIfJVR0Mjduq6p4llKFAiAK3PccwL8iRBduvpI8sOJ6QtH8SNot5EhNNso2jwY5gQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145302},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"399e490ca0d3020652075ce45eef7b21a230d4fa","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.3","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.4_1741251812035_0.7112644178697829","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@supercat1337/ui","version":"1.0.5","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.5","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"832069dccf5795457a1f2b4f8c74a57ebdb1591b","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.5.tgz","fileCount":25,"integrity":"sha512-asul7DJr0ASc9hE4LpdKbR08qozoJd66O5zRugIJDpY7/gXtmRaI3b4jHOQmWWsAlFM6ln/BwLNrg/PY2PXulg==","signatures":[{"sig":"MEQCID/0j90nlvpL5ZEWL2VmMf0WWC2ztGmIgc8e2SK7TKsJAiAmAbW5/6rbOY5qhC0YFb5JNeGYNs014L0yoCnKrffHTg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157076},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"bdeaf1233f6467d6dd6122d600c416811cf56966","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd .."},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.0.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.3","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.5_1741254785920_0.55101627428299","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@supercat1337/ui","version":"1.0.6","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.6","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"a83ea71ce17673acfe9bcdb721655aa969d0b595","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.6.tgz","fileCount":23,"integrity":"sha512-BNaCr6iQ2HhCncJY4iWYPMheqLk8wyoruYJUvoyPhPi+Q+NKI0TtaTkyP9zlTxDv1Zyq6yAb/NrJQzJ8AtqDSw==","signatures":[{"sig":"MEUCIEdj3UgcLOVk27Gi19gYiGp8mYPxGbPmZfoDqx0bBYHqAiEA5oiE32usQLz0vL226VpsFKVbQtsfYKCMejEwfB8hlbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":296503},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"7b567c506659781c5e2286ef3034b68ec9bee2eb","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.3.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.3","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.6_1747165640793_0.5084069435606646","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@supercat1337/ui","version":"1.0.7","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.7","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"5c8c99fd9ea25c1585dc3c1c4f8f02e38a8ddb51","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.7.tgz","fileCount":27,"integrity":"sha512-fWZpTyer/Qzif5/CDgAp3eBMLvGIHjzWQyhGCmF31qtl8hqBitse+7i6RIg/dDisfyDQMXoibPE0imBYP79IwA==","signatures":[{"sig":"MEQCIC9imdfeEJwWL1lj8tNSSAOq/CYmsDcjLEnOrYm83s4nAiA32IJuMUNNl/IPGD7eEEWUssQCU7riAL7juS3UzZGHbw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":376968},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"2bf3eb4e39b527ef20616f025a99f49a1c51f90c","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.3.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.6","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.7_1747667294377_0.017625402502175813","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@supercat1337/ui","version":"1.0.8","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.8","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"5a4b6a57f1ca02d74e71775cd1c4bb0667bf6577","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.8.tgz","fileCount":27,"integrity":"sha512-adWUD11XLarKchci/pXomCCzaygrWTpOaw1yKBkGUktbJfI3nq+xH+BPbl8UgqccHuksu6CeQ0D6yp1AJ1kV5Q==","signatures":[{"sig":"MEUCIQDqOYHBgNT2lKye2L8BrShteFMwGsuMxuWRbX3U6WZ8lAIgZwzDo7t3x2k+j03P//+t026pXRcFEGDRG3z7zAEjhaY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380090},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"0c89db09f4c9e0af97f326b182ca5053f6a2c8a9","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.3.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.6","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.8_1749651285607_0.18112804787558856","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@supercat1337/ui","version":"1.0.9","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.9","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"ae8a0d45814cb4084be303a89ef9fb0461eb3cf3","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.9.tgz","fileCount":27,"integrity":"sha512-jdar2Oal3pJVfX2jIro+5uxZEs/9Ms/1oAbC8TfCYqOFzgWJqoqhimnC0o3hqoTsuHiTUmyxoCdDvaSbjpTCzA==","signatures":[{"sig":"MEQCIAxgGNZ+morYfcAtZFNkMs7Yon1nlxWdbyg/n3NgdpBdAiAotfc4+15tb+ctazDcWziPAVs78L56jBRW+bJk9eT0XA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384697},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"0b727a632a320726029a3763e00bc549259d5864","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.3.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.6","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.9_1749808656519_0.5289529359468206","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@supercat1337/ui","version":"1.0.10","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.10","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"ad9fd218bd6da14dbf721508898e26a4e94d5b4f","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.10.tgz","fileCount":27,"integrity":"sha512-2TxtEht69+jo64Oxkcg7ejd8FYm8imMbMGW0E1jfC9Io1zQ19HseSbVWq0HHr3vUY2LIP5jtCbrI9x8ofu+FiA==","signatures":[{"sig":"MEUCIFQasPbhIKUILBgzkPgjm8rbVHtzgMeuSqzWp8OvE+zQAiEA2VxxqNu5EhIsqCdNVF56IPjfrb2dWOdJpNz2N+VmsY0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385073},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"32641ca476397333af9489562452c1aa94312422","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","preinstall":"npm i -g esbuild && npm i -g rollup","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.3.0","description":"A lightweight, modern JavaScript library for displaying RPC responses and managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"bootstrap":"^5.3.6","dom-scope":"^1.0.17","@supercat1337/rpc":"^1.0.5","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.10_1749811831118_0.4572774983627248","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@supercat1337/ui","version":"1.0.11","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.11","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"ed98856efc87a7b53dde96cd496dcf3625404d4f","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.11.tgz","fileCount":15,"integrity":"sha512-tdCrekD5aFDfD48yNpBzl2ahpMlLlUIABMyHk8n0fpQLCrKjoGP6EwYH5Wmzb8jL4gzePZUNpn7ZP+wN5RDI3g==","signatures":[{"sig":"MEYCIQCoZzSTCB6XXqPf44psrpIYE9W3z5alCTWm/Nequ0dsbgIhAMJXTTj5gYWd4XoEDeE6QV7VD6bWeRxeZW1grO8JCazN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149120},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"0d2865d2442fd7db06e9c6c6279f86b6c72feab7","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.4.2","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.11_1752664675066_0.43029993160514235","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@supercat1337/ui","version":"1.0.12","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.12","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"12e571022874da9ef7a4930f1466c47a190dc554","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.12.tgz","fileCount":18,"integrity":"sha512-chlvw23duZ0igi1zeyw9TvvckoB7xQahWIyi5TWfbjhY3c4QxwoC3Fgt86Vn7t9k77a+WNADVSQruI4sE55GXw==","signatures":[{"sig":"MEYCIQCVIhDA5/d7+PpsqEL07zaNFsMqvOtlbRYo5fBkYnyRnAIhAKk+P71y9YuzmkIOS4IQSf/LT7MPfCAyQTs8AsdHtyA7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":154615},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"22dda1d851e0f91be272a2548023395d26d2b620","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.4.2","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.12_1756788021698_0.7691279316868678","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@supercat1337/ui","version":"1.0.13","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.13","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"9c11803bf0816d6709f7a7f25b98c2015ac5b50a","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.13.tgz","fileCount":19,"integrity":"sha512-gz98DhtqMvTkWrU5TUD4f9ClRzjxS+A6ppI17KOnmMVKAGx7iNsIao6sphHlskmiGv313yLXQb2NnGdVD7eYXA==","signatures":[{"sig":"MEUCIHalwSBdiaHhfUKEPDY8K9zGWfm+pYvSLk9lYYqDwS81AiEAkh5H/Yv14k3lk2w1EeNMh8mycIm4j+yIgh8QXwumsUw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":175499},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"62ed6b5ec5a3efa2865bcf19ad4c70bd29e220fe","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.4.2","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.12.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.13_1756839882549_0.8151358782069427","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@supercat1337/ui","version":"1.0.14","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.14","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"f1b6c328285ef9b499a10a8b1526c7c8153e5739","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.14.tgz","fileCount":22,"integrity":"sha512-W5bMdXHhrYbJE4fPh/cNQIEB5ddblJEooFeOumtNMwtSeZOd8ub69yFjDLBLmAZFVA0gxtMntL1mjmy0Zc1sRA==","signatures":[{"sig":"MEYCIQDTyHkJ8K9FBIX6jfHBtP0vWRAMMrH5wKU5HVr0e+W8QQIhANZX7s94d9U9tqJmM+7ZpEp017DmYt3yNHEZ9kGrRAtY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190644},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"09e2448f1f2e45b144acfc85cb060aab67f38c1c","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.4.2","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.17.0","dependencies":{"dom-scope":"^1.0.17","@supercat1337/event-emitter":"^1.0.10"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.14_1760372014906_0.3438709234470063","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@supercat1337/ui","version":"1.0.15","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.15","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"ecdbb3de2d6439eb88e1b6a7d93d9f65339857e6","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.15.tgz","fileCount":23,"integrity":"sha512-Zz0oBMftCp4PP4stbKOlGZcVZkHWaGySpgBnvhG9hyopxJy0PuqOi0tvguYVGG/z3QEWJR/Q6R07OiSM1VZ/6A==","signatures":[{"sig":"MEUCIB/rdz7S0aHS/lFmVflTWKhWwOrSbVZCobfCsjim1HxDAiEA1sdVgJuEmUWb9tHIApU3AJlE7VLO1FObPnwF+yOrV6A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":193516},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"6f51ee9ef9a53e5e941c830a1d2c4912c34e68e7","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.15_1765184220301_0.6085977788053056","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@supercat1337/ui","version":"1.0.16","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.16","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"2de5f0e381b9f0a92041331fddab763dd06a84cf","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.16.tgz","fileCount":23,"integrity":"sha512-u4xQGeGABI+W+lya58MXihN25H0zDjuws7/UFyDg8M6/gB4OQiWdeCfsKtr2GX3Qh2QMxrApKgQ7yVZ2Zs8yqQ==","signatures":[{"sig":"MEUCIQDUGs7RvI3N7avtJFeZDKK38+OLwSTzrGtETLjK0Z7+hgIgCHO8RQE5A1TaWnc/QsLiCh2TLLPHeeBba36/98kJOhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":200199},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"14140ac8a8b38845ac6ed3718477beffbb366d28","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.16_1765449885165_0.19641649158702212","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"@supercat1337/ui","version":"1.0.17","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.17","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"3d82e18ef00fcbd45c37dab5228f00b4f7030968","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.17.tgz","fileCount":23,"integrity":"sha512-y6Zxisp9lafpMzVHAKxBV1ki0c4jlHswS/et0aF+ryQJ8xkbVu0P2B3IsNaPIgvml60Y82FX+ZNgogHD+lsPmA==","signatures":[{"sig":"MEUCIAyjOUjr6D8dQm0BxShnavqg6diH9TBQ5whGd9fLVFb7AiEAnuPyrLfsOgLDqgCl+Ky5+5IVzDlg2oUBF3crWyS2ciI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":199768},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"ad58fedccbcec902c9ccb3098717180cf033627f","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.17_1765555205484_0.8287999262254806","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@supercat1337/ui","version":"1.0.18","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.18","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"2afcae53346af4d28d268f2d15c7aa887e2feb54","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.18.tgz","fileCount":23,"integrity":"sha512-WQJ1leo2t+ypOrjjoMZPRSzkc8HyKJYLtE6bznLsyifmlZ1IklJMAWrcw/vVo+qQI+xfGlZR5fVxddjMzIBfjA==","signatures":[{"sig":"MEYCIQCEaGTDfaGUMIJSZw4uh8Y6B/d5fZcYhzlbveysEzbZ0wIhAO0edgFrF8CgD+YUzOlRBn9mtzFGM4YytvBLYVMdluQE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198441},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"c65a4560997f55f26fb4e5160d317541c5083c6b","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.18_1765632047363_0.7222097644090091","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@supercat1337/ui","version":"1.0.19","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.19","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"fc97ddf55f5ad1876c21912fa9639c8c2dbc7b9e","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.19.tgz","fileCount":23,"integrity":"sha512-DPxShkVov6hiSUpq2Lg5Bih2T6Q7iDT8/y/RtVY/y+Xb1pHlt+cawVLUjucY+0qrFM9exVNB0LaiAC88T1OuTA==","signatures":[{"sig":"MEYCIQDFoHjl7wxCuixncYkuNR5xs5refKTa2wDKUpPRYzmi4QIhAKqfTPwUny7Pqp4sAxHkyzH9kwHKLJ6cDrnIN7DNOdv8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198188},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"3bf10f63bc85e3f92149411da280ef2a4904f527","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.19_1765632901557_0.5606377215049267","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@supercat1337/ui","version":"1.0.20","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.20","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"915496eb17c49ef468941af5611285ac564857d1","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.20.tgz","fileCount":24,"integrity":"sha512-Ek52r4TNY4S/PxbupMWohjuhSkeqxMn00HJbPrg7EEqnOIPDrot8FCTaWO9F1ktuByoiHPxa+KsH+KpMWodIfw==","signatures":[{"sig":"MEUCIGd6oxjmOOxRJKHE8dmbahdj9Fbmq775H5iB++yyq++TAiEAw/vmrPcfx8J5dLNv/b1863lLT1l9hzpeS4ulxPpGPVA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":218258},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"93b7312415c61f96b43801c1debeea95364f9428","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.20_1765726566291_0.5616703251627011","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@supercat1337/ui","version":"1.0.21","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.21","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"35fdc1ce50be125def91cd28bb328ffa93aec02d","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.21.tgz","fileCount":25,"integrity":"sha512-+GM18NQrFLlYj9h8+rDfjK6pQcSg9iVOYyFBFdqLplRdmxxhyZ1HXCfjLategtRRZ5tsugh9gHdK8Pzw/CCQlA==","signatures":[{"sig":"MEQCIFsUygNH+KgTJ4kPN9mflEME1VujzUPAq4BJVj7a4zhpAiBHrnNFullOejjBBmPEbUjbDHN4AZsJ7hvLxGjLDVQ05g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233302},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"d8cf1efbd02bea71f95134f5222d2d074f6c0ac6","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.21_1765890109446_0.5864927312153365","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@supercat1337/ui","version":"1.0.22","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.22","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"766f611324dd0c650ed70ed1a8b3964d96882ead","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.22.tgz","fileCount":25,"integrity":"sha512-Bk6YUyUiwtV7BsPd29QQeb3NHWe7p0R18xj8A32umACHGkhHZ1P1NWI1q5y51/85zytngE7ou/c8vAtJuZn0QQ==","signatures":[{"sig":"MEYCIQDzqYA5tUmSbJAXmJz6iGWIDnml471khkNSWiUZbLHI5QIhAK0VHnf2coGe1KpWSaUvCd837mxr2w4UY7xlppXkUnR4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233448},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"11a1963308bdd2f9ee625206d46be1ff2c923681","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.22_1765890397431_0.31849664028348923","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@supercat1337/ui","version":"1.0.23","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.23","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"4b84859e0aed7105b5e3b882c39b13c55b7e3806","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.23.tgz","fileCount":25,"integrity":"sha512-fPR6IygxgRm5IKVfQxXrCPM2CXx75VxQ1yg0DiZWKEjAWz7dCtTxZ9YwFXp1bhZEEWFXrjCUEke9yYRZ40Sdqw==","signatures":[{"sig":"MEYCIQCQ3Ze8NnmgfyAFy0tWM7D2e7MsT3/Da/rez/6Fii6JrAIhAMHG3l3NVuACHmPvMXpylm3lZ0BMs2mjtiJ0Yonm3KJs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233594},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"160d927daea6f9f81997bd4a94009790795d6c67","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"10.9.4","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.23_1765938227308_0.45508442239958513","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"@supercat1337/ui","version":"1.0.24","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.24","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"bf541c9b548731afb867bc7965627faef2ed4f46","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.24.tgz","fileCount":25,"integrity":"sha512-IWDf93Zt5g8SQdEsIIhaBxbenKsm4dy1gvy0TMhXPqiUHLFwuri/GsM/mvZ1220m7/7ywQZ63aOodBDG+4r7LA==","signatures":[{"sig":"MEUCIERzbSYGjzqedpyWRb9lCxisuZPBSvyl4ab77nVEhd0IAiEA9SPp1CU6wM/pKLgU+COG1LDHu50vCFMib9TCWVmw0jw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236620},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"cb12e9a4df053739ba10a7f3737f67211e9c96a4","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.7.0","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.24_1767558679305_0.7113254236174256","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"@supercat1337/ui","version":"1.0.25","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.25","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"34d53432e3e46d0b2a9ea67c1cc6645899f78b20","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.25.tgz","fileCount":25,"integrity":"sha512-Pvn9skTQwCXQ6hKGxYCmTNfJ0LvOPxJd4C+Y3UibmuVPTRB5fw+Dcv9o6UdMtxsQoMjRzh4JGhj9g+P0RAtBqw==","signatures":[{"sig":"MEUCIBeNI74KTNiZJNutzRTjztI6/hmIscPussgpG40Tj654AiEA5VLIBvB9XmofBBpDZb4BqrLr/TVeORzlFEOqxruB5e0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":245260},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"79bd5914b9d7f8c2268c40ffaeb50263d5a5a61b","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.7.0","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.0","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.25_1767639727791_0.5450451363244155","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"@supercat1337/ui","version":"1.0.26","author":{"name":"SuperCat1337"},"license":"MIT","_id":"@supercat1337/ui@1.0.26","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"homepage":"https://github.com/supercat1337/ui","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"dist":{"shasum":"09f405c7244e7fae1e688bd54dd9455d23b84444","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-1.0.26.tgz","fileCount":25,"integrity":"sha512-TYSJUjzHz3zxVuXhuDL9htcJjSZxLv5V3F8f6BKOC3CMIR9ynTO23G+eNou6HvpDKZVYMQabCRDZ+YcdL7gNHw==","signatures":[{"sig":"MEUCICr3ZwRIkh4BqUZRKeP0znqJG/CIzjAfLwFBcCr7YHO2AiEA49wEpVKY0o+1KuBA3bkm2g4D9LEuE3IcAEcM2rOXNcI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":257276},"main":"index.js","type":"module","types":"./index.d.ts","gitHead":"e71748036af1db43e0640648e837370eea3f129d","scripts":{"build":"npm run remove_type_files && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","create_types":"npx -p typescript tsc --project my.tsconfig.types.json","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","remove_type_files":"del /q *.d.ts *.d.ts.map && cd dist && del /s /q *.d.ts *.d.ts.map && cd ..","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js"},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"repository":{"url":"git+https://github.com/supercat1337/ui.git"},"_npmVersion":"11.7.0","description":"A lightweight, modern JavaScript library for managing the DOM.","directories":{},"_nodeVersion":"22.21.0","dependencies":{"dom-scope":"^2.0.2","@supercat1337/event-emitter":"^1.0.12"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/ui_1.0.26_1767699045726_0.14900337888381232","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@supercat1337/ui","version":"2.0.0","description":"UI library for building high-performance web interfaces with native JavaScript","license":"MIT","author":{"name":"Albert Bazaleev"},"type":"module","main":"./dist/ui.esm.js","types":"./dist/ui.esm.d.ts","homepage":"https://github.com/supercat1337/ui","repository":{"url":"git+https://github.com/supercat1337/ui.git"},"keywords":["ui-library","vanilla-js","components","ssr","hydration","dom-scope","high-performance","lightweight","no-vdom","isomorphic","typescript","event-emitter","esm"],"exports":{".":{"import":{"types":"./dist/ui.esm.d.ts","default":"./dist/ui.esm.js"},"browser":{"types":"./dist/ui.bundle.esm.d.ts","default":"./dist/ui.bundle.esm.js"}}},"scripts":{"build":"npm run clean && npm run build_esm && npm run build_bundle_esm && npm run build_bundle_esm_min && npm run create_types && npm run post_build","clean":"shx rm -rf ./dist && shx mkdir ./dist","build_esm":"rollup ./src/index.js --file ./dist/ui.esm.js --format es","build_bundle_esm":"esbuild --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.js","build_bundle_esm_min":"esbuild --minify --bundle --platform=neutral --legal-comments=none ./src/index.js --outfile=./dist/ui.bundle.esm.min.js","create_types":"tsc --project my.tsconfig.types.json && node ./scripts/fix-types.js","post_build":"node ./scripts/post-build.js","examples":"live-server --open=./examples --watch=dist,examples","test":"c8 ava"},"ava":{"require":["./tests/_setup.js"],"nodeArguments":["--no-warnings"]},"dependencies":{"@supercat1337/event-emitter":"^2.0.0","dom-scope":"^2.1.2"},"devDependencies":{"ava":"^7.0.0","c8":"^11.0.0","jsdom":"^28.1.0","live-server":"^1.2.0","shx":"^0.4.0"},"gitHead":"ac6b92d9e750e6a1f4be6260778121dcbdeb8fe7","_id":"@supercat1337/ui@2.0.0","bugs":{"url":"https://github.com/supercat1337/ui/issues"},"_nodeVersion":"24.14.0","_npmVersion":"11.10.0","dist":{"integrity":"sha512-jqtCoBuDrrxgVRo02KakDP0PCCB1WpyoDbFbWYJE0H4RkevXbBkad8in6Iugq3+wkkSmBa5+O8izILDopI9bkg==","shasum":"2036249829d1172a25a95b59b9e7bf0b4681641d","tarball":"https://registry.npmjs.org/@supercat1337/ui/-/ui-2.0.0.tgz","fileCount":7,"unpackedSize":362315,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCID+znsPMyBj8DIgzd8JajkXjtNJIRmuwrCKhqxr3HK8qAiBiGPqR838XyaX8UFTXQqJeZ4aOpvezk7Z7DhN8wUwtGw=="}]},"_npmUser":{"name":"supercat1337","email":"albert.bazaleev@gmail.com"},"directories":{},"maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ui_2.0.0_1774222007983_0.321296481089004"},"_hasShrinkwrap":false}},"time":{"created":"2025-02-26T11:48:39.233Z","modified":"2026-03-22T23:26:48.275Z","1.0.0":"2025-02-26T11:48:39.462Z","1.0.1":"2025-02-26T21:20:42.874Z","1.0.2":"2025-03-05T21:33:57.729Z","1.0.3":"2025-03-06T08:33:29.894Z","1.0.4":"2025-03-06T09:03:32.261Z","1.0.5":"2025-03-06T09:53:06.262Z","1.0.6":"2025-05-13T19:47:21.001Z","1.0.7":"2025-05-19T15:08:14.541Z","1.0.8":"2025-06-11T14:14:45.795Z","1.0.9":"2025-06-13T09:57:36.681Z","1.0.10":"2025-06-13T10:50:31.319Z","1.0.11":"2025-07-16T11:17:55.296Z","1.0.12":"2025-09-02T04:40:21.887Z","1.0.13":"2025-09-02T19:04:42.767Z","1.0.14":"2025-10-13T16:13:35.095Z","1.0.15":"2025-12-08T08:57:00.443Z","1.0.16":"2025-12-11T10:44:45.383Z","1.0.17":"2025-12-12T16:00:05.657Z","1.0.18":"2025-12-13T13:20:47.514Z","1.0.19":"2025-12-13T13:35:01.730Z","1.0.20":"2025-12-14T15:36:06.454Z","1.0.21":"2025-12-16T13:01:49.587Z","1.0.22":"2025-12-16T13:06:37.586Z","1.0.23":"2025-12-17T02:23:47.483Z","1.0.24":"2026-01-04T20:31:19.460Z","1.0.25":"2026-01-05T19:02:07.936Z","1.0.26":"2026-01-06T11:30:45.901Z","2.0.0":"2026-03-22T23:26:48.161Z"},"bugs":{"url":"https://github.com/supercat1337/ui/issues"},"author":{"name":"Albert Bazaleev"},"license":"MIT","homepage":"https://github.com/supercat1337/ui","repository":{"url":"git+https://github.com/supercat1337/ui.git"},"description":"UI library for building high-performance web interfaces with native JavaScript","maintainers":[{"name":"supercat1337","email":"albert.bazaleev@gmail.com"}],"readme":"# BareDOM – Surgical Direct DOM Components\r\n\r\n**The Surgical Direct DOM Component Engine for the Modern Web.**\r\n\r\n[![npm version](https://img.shields.io/npm/v/@supercat1337/ui.svg)](https://www.npmjs.com/package/@supercat1337/ui)\r\n[![bundle size](https://img.shields.io/bundlephobia/minzip/@supercat1337/ui)](https://bundlephobia.com/package/@supercat1337/ui)\r\n[![license](https://img.shields.io/npm/l/@supercat1337/ui)](https://github.com/supercat1337/ui/blob/main/LICENSE)\r\n[![npm downloads](https://img.shields.io/npm/dm/@supercat1337/ui)](https://www.npmjs.com/package/@supercat1337/ui)\r\n\r\n`BareDOM` (published as `@supercat1337/ui`) is a structured Vanilla JS toolkit for developers who demand the architectural power of modern frameworks (Components, Slots, Lifecycle) without the abstraction tax of a Virtual DOM. It operates directly on the **Native DOM**, offering unparalleled performance and total transparency.\r\n\r\n- **Lightweight** (core ~5kB gzipped, plus two small dependencies)\r\n- **Type-safe with JSDoc + runtime validation**\r\n- **Isomorphic (SSR-ready)**\r\n- **Built-in teleports, event system, and utilities**\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Installation](#installation)\r\n- [Quick Start](#quick-start)\r\n- [Philosophy: Surgical Direct DOM vs. Reactive](#philosophy-surgical-direct-dom-vs-reactive)\r\n- [Core Concepts](#core-concepts)\r\n    - [Component](#component)\r\n    - [Layouts](#layouts)\r\n    - [Refs & Type Safety](#refs--type-safety)\r\n    - [Slots & Composition](#slots--composition)\r\n    - [Lifecycle Hooks](#lifecycle-hooks)\r\n    - [Events](#events)\r\n    - [Teleports (Portals)](#teleports-portals)\r\n    - [Web Components Integration](#web-components-integration)\r\n    - [Hydration (SSR)](#hydration-ssr)\r\n- [Utility Functions](#utility-functions)\r\n- [Utility Classes](#utility-classes)\r\n- [Examples](#examples)\r\n- [API Reference](#api-reference)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @supercat1337/ui\r\n```\r\n\r\nOr directly from GitHub:\r\n\r\n```bash\r\nnpm install https://github.com/supercat1337/ui.git\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n```js\r\nimport { Component, html } from '@supercat1337/ui';\r\n\r\nclass Header extends Component {\r\n    // Defined a semantic layout with Bootstrap-like utility classes\r\n    layout = html`\r\n        <div class=\"d-flex justify-content-between p-3 border-bottom\">\r\n            <h2>My App</h2>\r\n            <button class=\"btn btn-outline-secondary\" data-ref=\"refreshBtn\">Refresh</button>\r\n        </div>\r\n    `;\r\n\r\n    // Runtime validation for references\r\n    refsAnnotation = { refreshBtn: HTMLButtonElement.prototype };\r\n\r\n    connectedCallback() {\r\n        const { refreshBtn } = this.getRefs();\r\n\r\n        refreshBtn.onclick = () => location.reload();\r\n\r\n        // Or use $on for auto-cleanup.\r\n        // This avoids memory leaks when the header is unmounted.\r\n        this.$on(refreshBtn, 'click', () => location.reload());\r\n    }\r\n}\r\n\r\nclass DynamicBody extends Component {\r\n    // Functional layout that re-evaluates on every rerender()\r\n    layout = () => html`\r\n        <div class=\"p-3\"><strong>Time:</strong> ${new Date().toLocaleTimeString()}</div>\r\n    `;\r\n\r\n    connectedCallback() {\r\n        // Use addDisposer to ensure the interval is cleared when component unmounts\r\n        const timerId = setInterval(() => this.rerender(), 1000);\r\n        this.addDisposer(() => clearInterval(timerId));\r\n    }\r\n}\r\n\r\nclass App extends Component {\r\n    // Define slots for composition\r\n    layout = html`\r\n        <div class=\"app-wrapper\">\r\n            <header data-slot=\"header\"></header>\r\n            <main data-slot=\"content\"></main>\r\n        </div>\r\n    `;\r\n\r\n    constructor() {\r\n        super();\r\n        // Compose the application using the Slot API\r\n        this.addToSlot('header', new Header());\r\n        this.addToSlot('content', new DynamicBody());\r\n    }\r\n}\r\n\r\nconst app = new App();\r\napp.mount(document.body);\r\n```\r\n\r\n---\r\n\r\n## Philosophy: Surgical Direct DOM vs. Reactive\r\n\r\nMost modern frameworks follow a **“Top‑Down”** approach: state change → re‑render the whole tree → compute a diff against the virtual DOM → patch the real DOM.\r\n\r\n**Our approach – Surgical Direct DOM** – turns this model upside down:\r\n\r\n- **Direct DOM** – we work directly with real DOM nodes. No wrappers, no proxies, no virtual trees. The library is a thin layer between your code and the browser.\r\n- **Surgical** – every update is targeted and predictable. You never re‑render an entire tree. Instead, you locate a specific element using a `data-ref` attribute, receive it with full type safety (thanks to `refsAnnotation`), and update exactly what needs to change.\r\n\r\n| Feature        | Virtual DOM                      | Surgical Direct DOM                          |\r\n| -------------- | -------------------------------- | -------------------------------------------- |\r\n| Updates        | Whole tree → diff → patch        | Only the targeted element(s)                 |\r\n| Performance    | Scales with tree size            | Constant time per update (O(1))              |\r\n| Predictability | Hidden, diff‑algorithm dependent | Absolute – you control every change          |\r\n| DOM access     | Through abstractions             | Direct, native element references            |\r\n| Type safety    | Often weak or none               | Static + runtime checks via `refsAnnotation` |\r\n\r\n**How it looks in code:**\r\n\r\n```js\r\nrefsAnnotation = { countSpan: HTMLSpanElement.prototype };\r\nconnectedCallback() {\r\n    const refs = this.getRefs(); // refs.countSpan is typed as HTMLSpanElement\r\n    refs.countSpan.textContent = String(this.state.count); // surgical update\r\n}\r\n```\r\n\r\nYou don’t burden the browser with unnecessary work, you don’t wait for diff calculations, and you always know **when** and **where** the DOM changes. That’s the essence of **surgical precision** combined with **direct access**.\r\n\r\n---\r\n\r\n## Core Concepts\r\n\r\n### Component\r\n\r\nEvery component extends the base `Component` class. The constructor accepts an optional `options` object with `instanceId` and `sid` (server-side identifier).\r\n\r\n```js\r\nclass MyComponent extends Component {\r\n    static styles = `/* optional CSS */`; // Adopted stylesheet\r\n    constructor() {\r\n        super({ instanceId: 'my-id' }); // optional\r\n    }\r\n}\r\n```\r\n\r\n### Layouts\r\n\r\nA component’s appearance is defined by its `layout` property. It can be:\r\n\r\n- A **string** (parsed as HTML)\r\n- A **function** that returns a `Node` or `string`\r\n- A **Node** (e.g., `DocumentFragment`, `HTMLElement`)\r\n\r\nUse the `html` tagged template to create `DocumentFragment` efficiently.\r\n\r\n```js\r\n// Static layout\r\nlayout = html`<div data-ref=\"box\">Hello</div>`;\r\n\r\n// Dynamic layout (re‑evaluated on every render)\r\nlayout = () => html`<div>${new Date().toLocaleTimeString()}</div>`;\r\n\r\n// Direct DOM node\r\nlayout = document.createElement('div');\r\n```\r\n\r\nYou can also set the layout programmatically with `setLayout(layout, annotation?)`.\r\n\r\n### Refs & Type Safety\r\n\r\nElements marked with `data-ref=\"name\"` become accessible via `this.getRefs()`. To enable IDE autocompletion and runtime validation, define `refsAnnotation` as an object mapping ref names to their expected prototype.\r\n\r\n```js\r\nrefsAnnotation = {\r\n    searchInput: HTMLInputElement.prototype,\r\n    submitBtn: HTMLButtonElement.prototype,\r\n};\r\n\r\nconnectedCallback() {\r\n    const refs = this.getRefs();\r\n    refs.submitBtn.onclick = () => console.log(refs.searchInput.value);\r\n}\r\n```\r\n\r\nIf a ref is missing at runtime, the library throws a descriptive error. Use `hasRef(refName)` to check, and `updateRefs()` to rescan after dynamic DOM changes.\r\n\r\n### Slots & Composition\r\n\r\nComponents can contain **slots** – placeholders where child components can be inserted. Define a slot with `data-slot=\"slotName\"`.\r\n\r\n```js\r\n// Parent component\r\nclass Parent extends Component {\r\n    layout = html`\r\n        <div class=\"card\">\r\n            <header data-slot=\"header\"></header>\r\n            <main data-slot=\"content\"></main>\r\n        </div>\r\n    `;\r\n\r\n    constructor() {\r\n        super();\r\n        this.addToSlot('header', new Header());\r\n        this.addToSlot('content', new DynamicContent());\r\n    }\r\n}\r\n```\r\n\r\nSlot management methods:\r\n\r\n- `addToSlot(slotName, componentOrComponents, mode?)` – mode can be `'append'`, `'prepend'`, or `'replace'`.\r\n- `getSlotNames()` – returns an array of slot names.\r\n- `hasSlotContent(slotName)` – checks if a slot has any children.\r\n- `clearSlotContent(slotName)` – removes all children from a slot.\r\n\r\n### Lifecycle Hooks\r\n\r\nOverride these methods to run code at specific moments:\r\n\r\n| Method                   | Description                                                         |\r\n| ------------------------ | ------------------------------------------------------------------- |\r\n| `connectedCallback()`    | Called after the component is mounted to the DOM.                   |\r\n| `disconnectedCallback()` | Called just before unmounting. Good for cleanup.                    |\r\n| `restoreCallback(data)`  | Called during hydration to restore state from server-provided data. |\r\n\r\nAdditionally, you can subscribe to lifecycle events using `this.on(eventName, callback)`. Available event names are:\r\n\r\n- `'connect'` – after `connectedCallback`\r\n- `'disconnect'` – after `disconnectedCallback`\r\n- `'mount'` – after the component is fully inserted into the DOM\r\n- `'unmount'` – after the component is removed from the DOM\r\n- `'prepareRender'` – before the layout is rendered\r\n- `'collapse'` – after the component collapses\r\n- `'expand'` – after the component expands\r\n- `'restore'` – after hydration state is restored\r\n\r\nThe hooks follow a **bottom‑up** order: child components are connected/disconnected before their parent, mirroring the natural DOM lifecycle.\r\n\r\n```js\r\nthis.on('connect', () => console.log('Component connected'));\r\n```\r\n\r\n### Events\r\n\r\nComponents include a built-in event emitter for custom communication:\r\n\r\n```js\r\n// Emit an event\r\nthis.emit('userLoggedIn', { name: 'Alice' });\r\n\r\n// Listen for events – callback receives (context, component)\r\nconst unsubscribe = this.on('userLoggedIn', ({ user }, component) => {\r\n    console.log('Welcome', user.name);\r\n    console.log('Event from component:', component.instanceId);\r\n});\r\n\r\n// Remove listener\r\nunsubscribe();\r\n```\r\n\r\nFor DOM events that should auto‑cleanup on unmount, use `$on(element, event, callback)`.\r\n\r\n```js\r\nthis.$on(this.getRefs().myButton, 'click', () => { ... });\r\n// Listener is automatically removed when component disconnects\r\n```\r\n\r\n### Teleports (Portals)\r\n\r\nRender a fragment of UI into an arbitrary DOM node (e.g., `document.body`) while keeping it logically attached to the component. Define teleports in the `teleports` property.\r\n\r\n```js\r\n// @ts-check\r\nimport { Component, html } from '@supercat1337/ui';\r\n\r\nexport class ModalComponent extends Component {\r\n    refsAnnotation = {\r\n        openBtn: HTMLButtonElement.prototype,\r\n        closeBtn: HTMLButtonElement.prototype,\r\n        overlay: HTMLElement.prototype,\r\n        title: HTMLElement.prototype,\r\n    };\r\n\r\n    // Main component layout (the \"anchor\" in the DOM)\r\n    layout = () => html`\r\n        <div class=\"modal-wrapper\">\r\n            <button data-ref=\"openBtn\">Open Modal</button>\r\n        </div>\r\n    `;\r\n\r\n    // Teleported overlay that lives elsewhere (e.g., document.body)\r\n    teleports = {\r\n        overlay: {\r\n            layout: () => html`\r\n                <div class=\"modal-overlay\" data-ref=\"overlay\">\r\n                    <div class=\"modal-content\">\r\n                        <h2 data-ref=\"title\">Settings</h2>\r\n                        <button class=\"close-btn\" data-ref=\"closeBtn\">Close</button>\r\n                    </div>\r\n                </div>\r\n            `,\r\n            target: () => document.body,\r\n            strategy: /** @type {const} */ ('append'),\r\n        },\r\n    };\r\n\r\n    connectedCallback() {\r\n        // All refs (from main layout AND teleports) are merged here!\r\n        const refs = this.getRefs();\r\n\r\n        refs.openBtn.onclick = () => this.show();\r\n        refs.closeBtn.onclick = () => this.hide();\r\n\r\n        refs.overlay.onclick = e => {\r\n            if (e.target === refs.overlay) this.hide();\r\n        };\r\n    }\r\n\r\n    show() {\r\n        this.getRefs().overlay.classList.add('is-active');\r\n    }\r\n\r\n    hide() {\r\n        this.getRefs().overlay.classList.remove('is-active');\r\n    }\r\n}\r\n\r\nconst modal = new ModalComponent();\r\nmodal.mount(document.getElementById('app'));\r\n```\r\n\r\n- `teleports` is an object where each key is a teleport name, and the value is a `TeleportConfig` with:\r\n    - `layout`: a function returning the `DocumentFragment` to teleport.\r\n    - `target`: an `Element`, a CSS selector, or a function that returns an `Element` where the teleported content will be inserted.\r\n    - `strategy`: `'append'` (default), `'prepend'`, or `'replace'` to control how the content is inserted.\r\n- All `data-ref` elements inside teleports are merged into the component’s main refs object, so you can access them with `this.getRefs()`.\r\n- Teleports are automatically created and destroyed with the component.\r\n\r\n### Web Components Integration\r\n\r\nBareDOM components are not a replacement for native Web Components – they complement them. You can freely use custom elements with Shadow DOM inside a BareDOM layout and even access their internal `data-ref` elements through the unified refs system.\r\n\r\n#### How it works\r\n\r\n1. Define a Web Component with its own Shadow DOM, marking elements with `data-ref`.\r\n2. Use the custom element in your BareDOM layout.\r\n3. In the BareDOM component, subscribe to the `before-update-refs` event. Inside the callback, locate the custom element instance and push its `shadowRoot` into `this.$internals.additionalRoots`.\r\n4. The library will then scan that shadow root for `data-ref` attributes and merge them into the component’s refs object.\r\n\r\n#### Example\r\n\r\n```js\r\n// Define a Web Component with Shadow DOM\r\nclass FancyCard extends HTMLElement {\r\n    constructor() {\r\n        super();\r\n        const shadow = this.attachShadow({ mode: 'open' });\r\n        shadow.innerHTML = `\r\n            <h3 data-ref=\"cardTitle\">Default Title</h3>\r\n            <button data-ref=\"cardBtn\">Click me</button>\r\n        `;\r\n    }\r\n}\r\ncustomElements.define('fancy-card', FancyCard);\r\n\r\n// BareDOM component that uses it and accesses internal refs\r\nexport class WebComponentIntegration extends Component {\r\n    refsAnnotation = {\r\n        mainBtn: HTMLButtonElement.prototype, // light DOM ref\r\n        cardTitle: HTMLHeadingElement.prototype, // shadow DOM ref\r\n        cardBtn: HTMLButtonElement.prototype, // shadow DOM ref\r\n    };\r\n\r\n    layout = html`\r\n        <div>\r\n            <button data-ref=\"mainBtn\">Main Button</button>\r\n            <fancy-card></fancy-card>\r\n        </div>\r\n    `;\r\n\r\n    constructor() {\r\n        super();\r\n\r\n        // Before refs are collected, add the custom element's shadowRoot\r\n        // to the list of additional roots to scan.\r\n        this.on('before-update-refs', () => {\r\n            const fancyCard = this.getRootNode().querySelector('fancy-card');\r\n            if (fancyCard?.shadowRoot) {\r\n                this.$internals.additionalRoots.push(fancyCard.shadowRoot);\r\n            }\r\n        });\r\n    }\r\n\r\n    connectedCallback() {\r\n        const refs = this.getRefs();\r\n        // Now all refs (light + shadow) are available with full type information\r\n        refs.mainBtn.onclick = () => (refs.cardTitle.textContent = 'Updated!');\r\n        refs.cardBtn.onclick = () => alert('Shadow button clicked!');\r\n    }\r\n}\r\n```\r\n\r\n**Key benefits:**\r\n\r\n- **Unified refs** – elements inside a Web Component’s Shadow DOM become accessible like any other ref.\r\n- **Type safety** – include them in `refsAnnotation` for autocompletion and runtime validation.\r\n- **Automatic cleanup** – event listeners attached with `$on` are removed when the component unmounts, even if they target shadow DOM elements.\r\n\r\n> **Note:** The Web Component must be defined before the BareDOM component attempts to use it. The example defines it at the top of the module.\r\n\r\nFor a complete runnable example, see [`examples/16-web-components`](./examples/16-web-components).\r\n\r\n### Hydration (SSR)\r\n\r\nTo attach logic to server‑rendered HTML that already exists in the DOM, use `mount(container, 'hydrate')`. The component will reuse existing elements that match its layout structure.\r\n\r\n**Server‑side (simulated via hydration manifest):**\r\n\r\n```html\r\n<!-- index.html – server‑rendered HTML with hydration markers -->\r\n<!doctype html>\r\n<html lang=\"en\">\r\n    <head>\r\n        <!-- Hydration manifest (populated by the server) -->\r\n        <script>\r\n            window.__HYDRATION_DATA__ = {\r\n                'root.profile': {\r\n                    data: {\r\n                        userName: 'SuperCat 1337',\r\n                        userStatus: 'Online (from SSR)',\r\n                    },\r\n                },\r\n            };\r\n        </script>\r\n        <script type=\"importmap\">\r\n            { \"imports\": { \"@supercat1337/ui\": \"../../dist/ui.bundle.esm.js\" } }\r\n        </script>\r\n    </head>\r\n    <body>\r\n        <!-- The server‑rendered component root, marked with data‑sid and data‑component‑root -->\r\n        <div\r\n            id=\"ssr-widget\"\r\n            data-sid=\"root.profile\"\r\n            data-component-root=\"user-profile\"\r\n            class=\"card shadow\"\r\n            style=\"width: 22rem;\"\r\n        >\r\n            <div class=\"card-body text-center\">\r\n                <h5 class=\"fw-bold\" data-ref=\"title\">Loading...</h5>\r\n                <p class=\"text-muted small\">\r\n                    Status: <span data-ref=\"status\" class=\"badge bg-secondary\">Unknown</span>\r\n                </p>\r\n                <hr />\r\n                <button class=\"btn btn-primary w-100\" data-ref=\"actionBtn\">\r\n                    Wait for Hydration\r\n                </button>\r\n            </div>\r\n        </div>\r\n\r\n        <script type=\"module\" src=\"./main.js\" async></script>\r\n    </body>\r\n</html>\r\n```\r\n\r\n**Client‑side component:**\r\n\r\n```js\r\n// main.js\r\nimport { Component } from '@supercat1337/ui';\r\n\r\nclass HydratedWidget extends Component {\r\n    refsAnnotation = {\r\n        title: HTMLHeadingElement.prototype,\r\n        status: HTMLSpanElement.prototype,\r\n        actionBtn: HTMLButtonElement.prototype,\r\n    };\r\n\r\n    state = {\r\n        userName: 'Guest',\r\n        userStatus: 'Offline',\r\n    };\r\n\r\n    restoreCallback(data) {\r\n        // Called automatically during hydration BEFORE the DOM is ready\r\n        this.state.userName = data.userName;\r\n        this.state.userStatus = data.userStatus;\r\n    }\r\n\r\n    connectedCallback() {\r\n        // DOM is ready, attach logic using restored state\r\n        const refs = this.getRefs();\r\n        refs.title.textContent = this.state.userName;\r\n        refs.status.textContent = this.state.userStatus;\r\n        refs.status.className = 'badge bg-success';\r\n\r\n        refs.actionBtn.onclick = () => {\r\n            alert(`Hello, ${this.state.userName}!`);\r\n        };\r\n    }\r\n}\r\n\r\nconst container = document.getElementById('ssr-widget');\r\nif (container) {\r\n    const widget = new HydratedWidget({ instanceId: 'user-profile', sid: 'root.profile' });\r\n    widget.mount(container, 'hydrate');\r\n}\r\n```\r\n\r\n**Key points:**\r\n\r\n- The server must generate a hydration manifest (a JavaScript object keyed by component `sid`) containing the serialized state (`data`). This is typically injected as `window.__HYDRATION_DATA__`.\r\n- Each component instance on the server must have a unique `sid` (server ID) that matches the `data-sid` attribute in the rendered HTML.\r\n- The client component is instantiated with the same `instanceId` and `sid`. During `mount(..., 'hydrate')`, the library finds the existing DOM node, matches the manifest data, and calls `restoreCallback(data)` before the component is attached.\r\n- After hydration, the component behaves as if it were rendered entirely on the client – events, refs, and state work normally.\r\n\r\nThis approach enables full isomorphism: render HTML on the server, hydrate it on the client, and retain interactivity without double‑rendering.\r\n\r\n---\r\n\r\n## Utility Functions\r\n\r\nThe library exports the following standalone utilities:\r\n\r\n| Function                                                                             | Description                                                                             |\r\n| ------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------- |\r\n| `DOMReady(callback, doc?)`                                                           | Executes callback when DOM is ready.                                                    |\r\n| `copyToClipboard(text, wnd?)`                                                        | Copies text to clipboard using Clipboard API.                                           |\r\n| `createManifestScript(manifest, variableName?)`                                      | Creates a `<script>` element with the hydration manifest.                               |\r\n| `createPaginationArray(current, total, delta?, gap?)`                                | Returns array of page numbers with gaps.                                                |\r\n| `createStorage(storage)`                                                             | Wraps `localStorage`/`sessionStorage` with JSON serialization and change subscriptions. |\r\n| `debounce(func, wait, immediate?)`                                                   | Debounces a function; returns a cancellable version.                                    |\r\n| `delegateEvent(eventType, ancestorElement, targetElementSelector, listenerFunction)` | Attaches a delegated event listener.                                                    |\r\n| `escapeHtml(unsafe)`                                                                 | Escapes &, <, \", ' for safe HTML interpolation.                                         |\r\n| `extractComponentStyles(doc?)`                                                       | Extracts CSS from all `<style>` elements in the document.                               |\r\n| `fadeIn(element, duration?, wnd?)`                                                   | Fades in an element.                                                                    |\r\n| `fadeOut(element, duration?, wnd?)`                                                  | Fades out an element.                                                                   |\r\n| `formatBytes(bytes, decimals?, lang?, sizes?)`                                       | Human‑readable file size.                                                               |\r\n| `formatDate(unix_timestamp)`                                                         | Localized date string.                                                                  |\r\n| `formatDateTime(unix_timestamp)`                                                     | Localized date + time.                                                                  |\r\n| `generateManifest(...rootComponents)`                                                | Generates a flat hydration map for SSR.                                                 |\r\n| `getDefaultLanguage()`                                                               | Returns user's language (or 'en').                                                      |\r\n| `hideElements(...elements)`                                                          | Adds `d-none` class.                                                                    |\r\n| `html` (tagged template)                                                             | Creates `DocumentFragment` from template.                                               |\r\n| `injectCoreStyles(doc?)`                                                             | Injects minimal CSS (`.d-none`, `html-fragment`).                                       |\r\n| `isDarkMode(wnd?)`                                                                   | Detects prefers‑color‑scheme: dark.                                                     |\r\n| `local`                                                                              | Wrapped `localStorage` with change subscriptions.                                       |\r\n| `onClickOutside(element, callback)`                                                  | Calls callback when a click occurs outside the given element.                           |\r\n| `removeSpinnerFromButton(button)`                                                    | Removes spinner element from a button.                                                  |\r\n| `renderManifestHTML(manifest, variableName?)`                                        | Returns a string `<script>` tag for SSR.                                                |\r\n| `renderPaginationElement(current, total, itemUrlRenderer?, onClickCallback?)`        | Returns a Bootstrap‑style pagination `<ul>`.                                            |\r\n| `scrollToBottom(element)`                                                            | Scrolls element to bottom.                                                              |\r\n| `scrollToTop(element)`                                                               | Scrolls element to top.                                                                 |\r\n| `session`                                                                            | Wrapped `sessionStorage` with change subscriptions.                                     |\r\n| `showElements(...elements)`                                                          | Removes `d-none` class.                                                                 |\r\n| `showSpinnerInButton(button, customClassName?, doc?)`                                | Adds a spinner to a button.                                                             |\r\n| `sleep(ms)`                                                                          | Promise‑based delay.                                                                    |\r\n| `throttle(func, wait, options?)`                                                     | Throttles a function; returns a cancellable version.                                    |\r\n| `ui_button_status_waiting_off(button, text)`                                         | Restores button after waiting.                                                          |\r\n| `ui_button_status_waiting_off_html(button, html)`                                    | Restores with HTML content.                                                             |\r\n| `ui_button_status_waiting_on(button, text)`                                          | Disables button and shows spinner.                                                      |\r\n| `uniqueId(prefix?)`                                                                  | Generates a unique ID with an optional prefix.                                          |\r\n| `unixtime(dateObject?)`                                                              | Returns current Unix time in seconds.                                                   |\r\n| `unsafeHTML(html)`                                                                   | Marks string as safe HTML (bypasses escaping).                                          |\r\n| `withMinimumTime(promise, minTime)`                                                  | Ensures promise takes at least `minTime` ms.                                            |\r\n\r\n---\r\n\r\n## Utility Classes\r\n\r\n| Class                                                | Description                                               |\r\n| ---------------------------------------------------- | --------------------------------------------------------- |\r\n| `SlotToggler(component, slotNames, activeSlotName?)` | Manages toggling between slots.                           |\r\n| `Toggler()`                                          | Generic toggler for any set of items.                     |\r\n| `Config`                                             | Configuration manager (SSR flags, hydration data access). |\r\n\r\n---\r\n\r\n## Examples\r\n\r\nExplore the [examples directory](./examples) for complete, runnable demos. Each example focuses on a specific feature:\r\n\r\n| Folder                      | Name                                  | Key Concept                                                                                                                    |\r\n| --------------------------- | ------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |\r\n| `01-layout-diversity`       | Layout Diversity                      | Using strings, functions, and DOM nodes as layouts.                                                                            |\r\n| `02-interactive-counter`    | Interactive Counter                   | State, events, and `getRefs()`.                                                                                                |\r\n| `03-todo-list`              | Todo List                             | Complex state and dynamic re‑rendering.                                                                                        |\r\n| `04-lifecycle-async`        | Lifecycle & Async                     | Fetching data with `connectedCallback`.                                                                                        |\r\n| `05-hydration`              | Client Hydration                      | Attaching logic to existing HTML.                                                                                              |\r\n| `06-ssr-generator`          | Isomorphic SSR                        | Full Node.js server‑side rendering.                                                                                            |\r\n| `07-lazy-loading`           | Lazy Loading                          | Dynamic imports and slot placeholders.                                                                                         |\r\n| `08-css-modules`            | CSS Modules                           | Style encapsulation in ESM.                                                                                                    |\r\n| `09-native-css-scripts`     | Native CSS Scripts                    | Direct CSSOM manipulation.                                                                                                     |\r\n| `10-instance-theming`       | Component Theming                     | CSS modifiers and `adoptedStyleSheets`.                                                                                        |\r\n| `11-event-interop`          | Event Interop                         | Component communication via `on`/`emit`.                                                                                       |\r\n| `12-slot-toggler-utils`     | UI Utilities                          | High‑level UI logic helpers.                                                                                                   |\r\n| `13-teleports`              | Logical Teleports                     | Rendering fragments to external DOM nodes.                                                                                     |\r\n| `14-teleport-hydration`     | Teleport Hydration                    | Hydrating teleported SSR markup.                                                                                               |\r\n| `15-nested-portals`         | Nested Portals                        | Rendering components with portals inside portals.                                                                              |\r\n| `16-web-components`         | **Web Components Integration**        | Using custom elements with Shadow DOM inside BareDOM components and accessing their internal refs via the unified refs system. |\r\n| `17-i18n`                   | Internationalization                  | Dynamic text updates without re‑rendering.                                                                                     |\r\n| `18-utilities`              | Utility Functions                     | Debounce, throttle, uniqueId, onClickOutside, storage wrapper.                                                                 |\r\n| `19-moving-components`      | Moving Components (Same Parent)       | Moving a component between slots.                                                                                              |\r\n| `20-moving-between-parents` | Moving Components (Different Parents) | Transferring a component between parents.                                                                                      |\r\n\r\nTo run examples locally:\r\n\r\n```bash\r\nnpm install\r\nnpm run examples\r\n```\r\n\r\nFor SSR examples (06), navigate to the folder and run `node server.js`.\r\n\r\n---\r\n\r\n## API Reference\r\n\r\nFor a complete API reference, refer to the TypeScript definitions (`ui.esm.d.ts`) included in the package. Below are the most important methods and properties of the `Component` class.\r\n\r\n### Component (public members)\r\n\r\n| Property / Method                                                      | Description                                                                            |\r\n| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------- |\r\n| `static styles: string \\| CSSStyleSheet`                               | Optional CSS to be adopted by the component.                                           |\r\n| `layout: (() => Node \\| string) \\| string \\| Node`                     | The component’s layout.                                                                |\r\n| `teleports: TeleportList`                                              | Map of teleport configurations.                                                        |\r\n| `refsAnnotation: T`                                                    | Annotates `data-ref` elements with expected types.                                     |\r\n| `get instanceId(): string`                                             | Unique identifier for this component instance.                                         |\r\n| `get isConnected(): boolean`                                           | Whether the component is currently mounted.                                            |\r\n| `reloadText(): void`                                                   | Calls the registered text update function (for i18n).                                  |\r\n| `setTextUpdateFunction(func: (component: this) => void \\| null): void` | Sets a function to update text nodes.                                                  |\r\n| `setLayout(layout, annotation?): void`                                 | Assigns a new layout and optional ref annotation.                                      |\r\n| `getRefs(): T`                                                         | Returns the map of referenced elements.                                                |\r\n| `hasRef(refName): boolean`                                             | Checks if a ref exists.                                                                |\r\n| `updateRefs(): void`                                                   | Rescans the DOM for `data-ref` elements.                                               |\r\n| `serialize(): any`                                                     | Returns a plain object to be serialized for SSR.                                       |\r\n| `on(event, callback): () => void`                                      | Subscribes to a component event.                                                       |\r\n| `once(event, callback): () => void`                                    | Subscribes once.                                                                       |\r\n| `emit(event, data): void`                                              | Emits a component event.                                                               |\r\n| `$on(element, event, callback): () => void`                            | Attaches a DOM event that auto‑cleans on unmount.                                      |\r\n| `addDisposer(fn: () => void): void`                                    | Registers a cleanup function that is automatically called when the component unmounts. |\r\n| `connectedCallback(): void`                                            | Lifecycle hook (override).                                                             |\r\n| `disconnectedCallback(): void`                                         | Lifecycle hook (override).                                                             |\r\n| `restoreCallback(data): void`                                          | Lifecycle hook (override) for hydration.                                               |\r\n| `mount(container, mode?): void`                                        | Mounts the component (`'replace'`, `'append'`, `'prepend'`, `'hydrate'`).              |\r\n| `unmount(): void`                                                      | Removes the component from the DOM.                                                    |\r\n| `rerender(): void`                                                     | Fully re‑renders the component.                                                        |\r\n| `get isCollapsed(): boolean`                                           | Whether the component is collapsed.                                                    |\r\n| `collapse(): void`                                                     | Collapses the component (replaces with placeholder).                                   |\r\n| `expand(): void`                                                       | Expands a collapsed component.                                                         |\r\n| `expandForce(): void`                                                  | Expands the component and all collapsed ancestors.                                     |\r\n| `getSlotNames(): string[]`                                             | Returns an array of slot names.                                                        |\r\n| `hasSlotContent(slotName: string): boolean`                            | Checks if a slot has any child components.                                             |\r\n| `clearSlotContent(slotName: string): boolean`                          | Removes all child components from a slot. Returns `true` if the slot was cleared.      |\r\n| `detachFromSlot(): boolean`                                            | Removes the component from its slot.                                                   |\r\n| `addToSlot(slotName, componentOrComponents, mode?): this`              | Adds child component(s) to a slot.                                                     |\r\n| `get parentComponent(): Component \\| null`                             | Returns the parent component, if any.                                                  |\r\n| `getRootNode(): HTMLElement`                                           | Returns the component’s root DOM element.                                              |\r\n| `removeOnUnmount(...elements): void`                                   | Marks elements to be removed when component unmounts.                                  |\r\n| `queryLocal(tagName, querySelector?): Element[]`                       | Searches only the component’s direct DOM (excludes child components).                  |\r\n| `getComponentBySid(sid): Component \\| null`                            | Finds a descendant component by its server ID.                                         |\r\n| `getHydrationData(): any \\| null`                                      | Retrieves hydration data for this instance.                                            |\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT © [Albert Bazaleev aka supercat1337](https://github.com/supercat1337)\r\n","readmeFilename":"README.md","keywords":["ui-library","vanilla-js","components","ssr","hydration","dom-scope","high-performance","lightweight","no-vdom","isomorphic","typescript","event-emitter","esm"]}