{"_id":"@4i4/theme-registry","_rev":"16-de9b18f6e2f43c9bfa2d4cdf9a846b9f","name":"@4i4/theme-registry","dist-tags":{"latest":"1.1.12"},"versions":{"1.0.0":{"name":"@4i4/theme-registry","version":"1.0.0","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.0.0","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://gitlab.com/4i4/theme-registry#readme","bugs":{"url":"https://gitlab.com/4i4/theme-registry/-/issues"},"dist":{"shasum":"9c9fb6a968f8af9d6a55cefd2ead0a8ba6ce2e86","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.0.0.tgz","fileCount":7,"integrity":"sha512-7M9QdZxnEsk6LDNw3XICdWq1lH42588/DCMKxKppaCLr1+Ql0Uvq4eomysKWxjJVLBoclBfq5EfOL8evuFc5eA==","signatures":[{"sig":"MEUCIQC/ZUacSetJqmNlQeuRl4V85PbaHo46GT/QZJSDY6heFQIgfzYbSA6A9ZeGbHXYUzrBivk1DZHXQFwMxPy80GwfhiY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17673,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjliCOACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmovsQ//XY5sopZEX5AF91Op3pHry9THkY+7V+B158rjCrO0sgGHE8pl\r\nESZow5H4Xv2nXnvdLbp3BPJMVucGHDXOZHr3bqDlMX3QrqAroXSpDkAYZ6hQ\r\nrE2KNIWDRAXZhUUJB3aNV3twBr0Htr4Z25+PPHs17hg5f/4UttI4NfTyCjmc\r\nObp59GVWOa5vxTPJjZygl/JOxjh4sHyAO9dpudYBKXMybDDlEaQwhWYvBfpF\r\noq2u8cEuPbuq4LzkPf8WPTbNST3wc+NMKYYfTvuwgF+LIfCvlV4nuzS/p8iI\r\n8EZkipQ9CCoOodPox2h0JhTZXx+VMkI31k0ouEwKUlguynjyjpWWZMBLZOT/\r\nRiknup8S0r2l00QeFJkfFd8maP98fy4HeNhJ8pKpxhFAk6CmPKcJVdHkMfDW\r\nH+fjw4RsS25K2K/hYP3XFUHdJfNuM6rRKuIJF87xiNCUjsNJrZCkMRUpSzHS\r\nKi2uiQfawifVqIHh4Y4l2N+PNp8rKAfUvMr98ZXCA+vXbtQYID+v4Hsci50z\r\nBrTpzB4QRXRaOw0DZcAkL9GZL44fGVAQ/X4lXpkg8kCWVs9XaxiEJxa2x3qO\r\n/y2boYD5/jxR7s2XmbJh8k3VOJ9Knn1Il1N3dE/veStYu8H7eGEqBz+RiruE\r\nTDy2qESkFYmG+MhFNTNU2GXo/ExLrIm1Y5E=\r\n=EOM8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"1a962eda79bd5686bdb94cad70087eea851d43ea","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://gitlab.com/4i4/theme-registry.git","type":"git"},"_npmVersion":"8.19.2","description":"Theme registry for React","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.0.0_1670783118672_0.9332172667640997","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"@4i4/theme-registry","version":"1.0.1","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.0.1","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://gitlab.com/4i4/theme-registry#readme","bugs":{"url":"https://gitlab.com/4i4/theme-registry/-/issues"},"dist":{"shasum":"fe6b8b8e52f4e958227b9c764b8e17bca073e14a","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.0.1.tgz","fileCount":7,"integrity":"sha512-SrcxPoZkhpBNRp2IQpC6aYeHX0keCcuuBvKENTy6Ur0eM9Dk5ku7JJd/5jev3YZw+Ickgch5ZCnaPCceDWbFdA==","signatures":[{"sig":"MEQCIG5yJxjwASe6EBsixXcrAj3juR9zq2aq/iikkJBE4lr4AiBdejDGJEVG4Lzqu5wTa6v6g7A96JYU1rbpedIXRgWpKA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19829},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"gitHead":"144c43cb4947961bd9b483dc4c8d34f37228e42a","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://gitlab.com/4i4/theme-registry.git","type":"git"},"_npmVersion":"8.19.2","description":"Theme registry for React","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.0.1_1694185601425_0.48896438491279715","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"@4i4/theme-registry","version":"1.0.2","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.0.2","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://gitlab.com/4i4/theme-registry#readme","bugs":{"url":"https://gitlab.com/4i4/theme-registry/-/issues"},"dist":{"shasum":"a10e1afe9d22539ce87951813ab46167252513f6","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.0.2.tgz","fileCount":7,"integrity":"sha512-qzkmOT2yk821tkkcicGTZ8nZnc3nIpVmWquc52rtCKDllVQoHBXczaTn/RMa5AQH4b+jGarRQjkdYnuB8LcvlA==","signatures":[{"sig":"MEUCIQCVc3Ft59Z0hldcC1syzTd218KCMtfO0plvJzrI1pRyPgIgA5hCvxh2Y6uOczTdOEldNcNjaYKSmjk0rxJg2gIgXk0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19857},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"49fa21db9d8ac1c4cf6b7652565fbb63e7437cc5","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://gitlab.com/4i4/theme-registry.git","type":"git"},"_npmVersion":"8.19.2","description":"Theme registry for React","directories":{},"_nodeVersion":"16.18.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.0.2_1695294403190_0.3545562961386546","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"@4i4/theme-registry","version":"1.1.0","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.0","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://gitlab.com/4i4/theme-registry#readme","bugs":{"url":"https://gitlab.com/4i4/theme-registry/-/issues"},"dist":{"shasum":"15786b67a8bd5179ca9804ce7a37ec6d991f1651","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.0.tgz","fileCount":7,"integrity":"sha512-ZUQNb57YOlZNSEYx6yi+FIpGWiD+2fSNhGJmFQjnvURmTPUx+HhFlErM00Hk10+AOfqHOL/s226ZLq46DjhVVg==","signatures":[{"sig":"MEQCIGs5l7oH3axtZ0BANH2ckw+zh937FnGXBkh4E7aO6kX2AiBV+0nJlhREUMXlWvwTOnajgtWFh2vBK4n94f8oWX8fAg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21384},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"2b866db347a72589a49807eb3c6a1aa480cad378","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://gitlab.com/4i4/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.0_1732741195020_0.8037240457287904","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"@4i4/theme-registry","version":"1.1.1","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.1","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://gitlab.com/4i4/theme-registry#readme","bugs":{"url":"https://gitlab.com/4i4/theme-registry/-/issues"},"dist":{"shasum":"f18e59e9ccc0fd27b1e2f268958b86f7290b8ac4","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.1.tgz","fileCount":7,"integrity":"sha512-A5gF3qcb+MpSeWZuVkxKsWFRFQd6vXcNOHhueSpff4LxLJvwS8qTRp/6zthkkulJY0sgzuaHXIpCVMSubDK6cw==","signatures":[{"sig":"MEUCIG73nUPdxOlI5WUVBLVrD2QCnFe/FyNghlz7OB263ZHyAiEAsxLiliGE9YgRROk1j9c06RLBFInzWHqsKEsewozskis=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22069},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"c159e07519a0bcdb928f7f08b7c6ad22fcd4f46b","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://gitlab.com/4i4/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.1_1732743165314_0.4922378889689709","host":"s3://npm-registry-packages"}},"1.1.2":{"name":"@4i4/theme-registry","version":"1.1.2","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.2","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"03f91610ba7a88bf99eb4feb16ebbac79db94338","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.2.tgz","fileCount":2,"integrity":"sha512-hAO2PpYw+yFoYGxPPltZIUoqHP+aFyBZvC88O+J/uf+DagoivP42NE5XhVIkuX6RgNV7D3O+iYjU5vMNWMb95Q==","signatures":[{"sig":"MEUCIQDekg2T6/T9FdTx7z+k+Tg89ba+yOB2dOCWdCdih4nNOQIgGpIjXNWxg6aMgcQrWhW9ar4M3TknMq7cnz/n9YmK4c0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11445},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"456a2a2f7b03ba34dc20a3b9bb8d6744a1e3402a","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.2_1756652248826_0.8244662547047803","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@4i4/theme-registry","version":"1.1.3","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.3","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"2003fa5360a88673e6cce72cd1894970c35a80be","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.3.tgz","fileCount":2,"integrity":"sha512-Z9aKlOz7HEq2xRj3EZEF1fBYbBTbnRe+TZNBcLCHmWnJS9xdP2Eb0oachVjB6pdtBoqRTvoszUTEI7LDFg5fWQ==","signatures":[{"sig":"MEQCIGDDHZyHqbnyhjg8fAdlj22q90DY51aTBORSu6XAcAbmAiBMlQ3TEZ35B8WEAmy888OYRMsR5Kdf7eUHBkieeFO+sg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13338},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"3621e2756dc57c9d9fc14751b06ca4707b5c0ee3","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.3_1756655707028_0.9254641384169555","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@4i4/theme-registry","version":"1.1.4","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.4","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"653068835414819dd5cc5c2412ad0f7d59154580","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.4.tgz","fileCount":7,"integrity":"sha512-0eZUJYQW+7uoVU7QWOEyc8l4MvfrdCqCSQa2j4qEKsw5OhUDy/35okVra8JYDqfR30MlVsBxoo3MIm0KB7irbQ==","signatures":[{"sig":"MEUCIBq52DW6OASlMIIAZfdizPI45pVXk7ELSKqgp/17ax60AiEAsfJ59khZ9BHQx8hxSYgXj1EKFHP1FzQx8t3OzvNNTVI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24105},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"dfcb063c2fb11b8931f6bac3e9ba153155985b40","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.4_1760194384401_0.7268497770929447","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@4i4/theme-registry","version":"1.1.5","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.5","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"2323ed358c2369ff6e6b0cbdb8c8212e5a207e65","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.5.tgz","fileCount":7,"integrity":"sha512-yGnZVD3lNvwbRQ3Ja0FbVlhrRLYWlzRMMPUb1QwsmDLbmVKcbRmGsm7MI3W9jXsXjh0IXTFzFsWyYT2l+c/w2Q==","signatures":[{"sig":"MEYCIQDAT3rZbwaPsPO9Nx9ta6mK0OcHBgwqVK6vgGYWP1FGwQIhAJKZF6/zOwmSVKmcFmZpRMuFLxXeT/HG7HzoyU5UBypr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24614},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"ea94cce0f1f45cb709422f16ff4919ccb43c6c8f","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.5_1760250265352_0.06617747340214097","host":"s3://npm-registry-packages-npm-production"}},"1.1.6":{"name":"@4i4/theme-registry","version":"1.1.6","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.6","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"e9a65a7d04436441d8ed685cde0e57b44b6a7baa","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.6.tgz","fileCount":7,"integrity":"sha512-zb4/w6oKHDTeaF0iEWYt2mHRYqcKOGZKTFUOw0kLBUsPTsP8xumaxSppmcrVANgcFdBix/HspSYpj2PStoHu9A==","signatures":[{"sig":"MEYCIQDVW3IKiyNqz+3Apk1VHb/g0dF8HM0ntwR2gUSyZO6KUwIhAKzqlA3LB1KbCMpUxWKwZzjG5zYFylZqrRTAtmOHRRcn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27837},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"1c83e6efe17217eb7e2e0ebe449a39f930a02b99","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.6_1760414934593_0.06655733817370213","host":"s3://npm-registry-packages-npm-production"}},"1.1.8":{"name":"@4i4/theme-registry","version":"1.1.8","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.8","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"59f47569bba7d449a17c435e0dae31f21b278c29","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.8.tgz","fileCount":7,"integrity":"sha512-wdcS7rzMreYnbi4ATkxXMJkoPSq7Whx6JEVPN4aWR1QqMU6m8gMnt+wn6CwfWvZWq3Tel5rMXdOvdQUrXU9nnQ==","signatures":[{"sig":"MEUCIQCzoek5j7aHGXJg0zIlCngrRm1KlZM1i+SYPYz+OGPRpwIgXsVkMyZWKAqPoyJ+MvLmezY+2xQhdr98r2gcVXeLZ3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27872},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"635173274c18ad71b5ad4101eccfd862eff13b65","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.2.3","description":"Theme registry for React","directories":{},"_nodeVersion":"18.19.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.8_1760417602841_0.5748993344703657","host":"s3://npm-registry-packages-npm-production"}},"1.1.9":{"name":"@4i4/theme-registry","version":"1.1.9","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.9","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"6f5148d28db13dc2977fcec8cdd87a31413184fd","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.9.tgz","fileCount":7,"integrity":"sha512-S2+X+SxW4W6KrHueWeFhQ8+onh5ZbGTjis8oUCMp0di/wKCxU0yLp0RfQvB3DDYRqTMnuERo+Gvc2F2E/2p36Q==","signatures":[{"sig":"MEUCICmJAkQ4l8bi9HW3nDuTFwEf+4u4FoY1EcDhojG4cUvWAiEAjsRqt1smc5KDvwb1uO1FX9lvbzP1dCeujkQm157/fxA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":31758},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"a448328272c344f00181b032a0a3552207c7ab70","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Theme registry for React","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.9_1761076205791_0.326703267594296","host":"s3://npm-registry-packages-npm-production"}},"1.1.10":{"name":"@4i4/theme-registry","version":"1.1.10","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.10","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"fd5b601a50f84dacc5d93ec435c5e4b9c0d587cc","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.10.tgz","fileCount":7,"integrity":"sha512-6jOdmq9hTtF+cvb6oQv6bnK2AeWxZ4ryWnvayYVoiMwcXrce/psDMHXr1xN8ohPvdlCshvaOSocv/jrzG5GhjA==","signatures":[{"sig":"MEUCIBNw5f+XO3MGC2XiVAVZ5BO3+JJMTqcheVg8k9rjpgKrAiEAoRJlx/lRj50FGM8AmanujV463+d0GJhmxNhbJKy3+NM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33026},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"ff2b877927809611f7c94dfa9ec47b738ecb71d9","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Theme registry for React","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.10_1761077563048_0.12552666185821226","host":"s3://npm-registry-packages-npm-production"}},"1.1.11":{"name":"@4i4/theme-registry","version":"1.1.11","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","_id":"@4i4/theme-registry@1.1.11","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"homepage":"https://github.com/4i4-team/theme-registry#readme","bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"dist":{"shasum":"b132b0fe0c35e236e770ce1a297784ea6cf9db0b","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.11.tgz","fileCount":7,"integrity":"sha512-PLq4XHbQRq6rs9RKnNdZ8CLqyxImfr2wdJ8o83RArFjhi3NYlUHGmBFY7OCfzoEmcGIgARhP0KX4zWUraDjL6g==","signatures":[{"sig":"MEQCIHvuS88H32Z9bcQ/C+UG7X19HsIVlRXIxGBgTE84top0AiBQPAyB+V7wqknbrI8AQiVrEqtOTwPKXPS9BPF6reLlKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33188},"main":"./dist/index.cjs.js","types":"./dist/index.d.ts","module":"./dist/index.esm.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.esm.js","require":"./dist/index.cjs.js"}},"gitHead":"32bf5849f1af65b989ce905426adbe99e57d19c3","scripts":{"lint":"eslint --fix --ext .tsx ./src/**","build":"rollup -c","start":"rollup -c -w","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"repository":{"url":"git+https://github.com/4i4-team/theme-registry.git","type":"git"},"_npmVersion":"10.8.2","description":"Theme registry for React","directories":{},"_nodeVersion":"20.18.2","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","tslib":"^2.4.0","eslint":"^8.29.0","rollup":"^3.2.3","prettier":"^2.7.1","typescript":"^4.8.4","@types/react":"^18.0.22","@4i4/registry":"^1.0.0","rollup-plugin-dts":"^5.0.0","rollup-plugin-terser":"^7.0.2","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","@rollup/plugin-typescript":"^9.0.2","@typescript-eslint/parser":"^5.46.0","@typescript-eslint/eslint-plugin":"^5.46.0","rollup-plugin-peer-deps-external":"^2.2.4"},"peerDependencies":{"react":"^18.2.0","@4i4/registry":"^1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/theme-registry_1.1.11_1761078105059_0.3050281273275739","host":"s3://npm-registry-packages-npm-production"}},"1.1.12":{"name":"@4i4/theme-registry","version":"1.1.12","description":"Theme registry for React","author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/4i4-team/theme-registry.git"},"bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"homepage":"https://github.com/4i4-team/theme-registry#readme","license":"MIT","main":"./dist/index.cjs.js","module":"./dist/index.esm.js","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.cjs.js","import":"./dist/index.esm.js","types":"./dist/index.d.ts"}},"scripts":{"build":"rollup -c","start":"rollup -c -w","lint":"eslint --fix --ext .tsx ./src/**","format":"prettier --write './**/*.tsx' --config ./.prettierrc"},"devDependencies":{"@4i4/registry":"^1.0.0","@rollup/plugin-typescript":"^9.0.2","@types/react":"^18.0.22","@typescript-eslint/eslint-plugin":"^5.46.0","@typescript-eslint/parser":"^5.46.0","eslint":"^8.29.0","eslint-config-prettier":"^8.5.0","eslint-plugin-prettier":"^4.2.1","prettier":"^2.7.1","react":"^18.2.0","rollup":"^3.2.3","rollup-plugin-dts":"^5.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-terser":"^7.0.2","tslib":"^2.4.0","typescript":"^4.8.4"},"peerDependencies":{"@4i4/registry":"^1.0.0","react":"^18.2.0"},"_id":"@4i4/theme-registry@1.1.12","gitHead":"a32a9bf21cd52351491f3c5db5402290e14f62a8","_nodeVersion":"20.18.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-NVoNqJQ7i/60FbzCmX6S/RJFvjMKh+CBnNPCwmQ9rV3Jb6ccAY4TVfhUfHCFa3aABgBxuCF5qNaEwsHmRk56qw==","shasum":"f24d2ccc8d20980402030c68593e5990348b78fa","tarball":"https://registry.npmjs.org/@4i4/theme-registry/-/theme-registry-1.1.12.tgz","fileCount":7,"unpackedSize":33119,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDC1bGB1THROtjqYcFdD1nlAtu4QodwlYJlap+N+Pt8WQIgM+n4Kk990/AMR762carZqKetu4Yjfsx23ALOcVEUxGA="}]},"_npmUser":{"name":"petyosv","email":"petyosv@gmail.com"},"directories":{},"maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/theme-registry_1.1.12_1761131265299_0.6650808871559253"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-11T18:25:18.672Z","modified":"2025-10-22T11:07:45.694Z","1.0.0":"2022-12-11T18:25:18.897Z","1.0.1":"2023-09-08T15:06:41.600Z","1.0.2":"2023-09-21T11:06:43.384Z","1.1.0":"2024-11-27T20:59:55.217Z","1.1.1":"2024-11-27T21:32:45.478Z","1.1.2":"2025-08-31T14:57:28.995Z","1.1.3":"2025-08-31T15:55:07.205Z","1.1.4":"2025-10-11T14:53:04.669Z","1.1.5":"2025-10-12T06:24:25.526Z","1.1.6":"2025-10-14T04:08:54.782Z","1.1.8":"2025-10-14T04:53:23.038Z","1.1.9":"2025-10-21T19:50:05.981Z","1.1.10":"2025-10-21T20:12:43.241Z","1.1.11":"2025-10-21T20:21:45.258Z","1.1.12":"2025-10-22T11:07:45.500Z"},"bugs":{"url":"https://github.com/4i4-team/theme-registry/issues"},"author":{"name":"Petyo Stoyanov","email":"petyosv@gmail.com"},"license":"MIT","homepage":"https://github.com/4i4-team/theme-registry#readme","repository":{"type":"git","url":"git+https://github.com/4i4-team/theme-registry.git"},"description":"Theme registry for React","maintainers":[{"name":"petyosv","email":"petyosv@gmail.com"}],"readme":"# Theme Registry for React\n\nEasy way to manage list of dynamic components / templates through your React project. Under the hood is [@4i4/registry](https://www.npmjs.com/package/@4i4/registry).\n\n## Why this package exists?\n\nThis package is React wrapper on top of [@4i4/registry](https://www.npmjs.com/package/@4i4/registry).\\\nIt provides Context Provider, Hook and Component for easy usage of the registry.\\\nFor more information please check the [registry](https://www.npmjs.com/package/@4i4/registry) package.\n\n### Why I need the Context?\nFrom the examples bellow you can see that there is not much of a difference between importing the registry instance or consuming it directly from a context.\\\nHowever, if you want to support multiple themes, or/and extending already existing one, you will need to manage the registry from single place.\\\nThat is where the theme-registry it comes to help. You can load the registry only once as theme and then consume it directly.\\\nIf you want to change the theme just switch the registry in the context.\n\n## Installing:\n\nUsing npm:\n```shell\n$ npm install @4i4/theme-registry\n```\n\nUsing yarn:\n```shell\n$ yarn add @4i4/theme-registry\n```\n\nUsing pnpm:\n```shell\n$ pnpm add @4i4/theme-registry\n```\n\n## ThemeProvider:\nThe theme-registry contains ready for use React Context that will hold the registry instance.\\\nThat way instead of importing the registry each time you need to use it you can directly consume it from the context through the hook or the component that this package provides.\n\n**Example**\n```javascript\nimport Registry from \"@4i4/registry\";\nimport { ThemeProvider } from \"@4i4/theme-registry\";\n\nconst registry = new Registry();\n\n<ThemeProvider registry={registry}>\n  {children}\n</ThemeProvider>\n```\n\n## \"Template\" Component:\nOne way to consume directly the registry is by using the `<Template />` component.\n\n**Specific props**\n\n| **Prop**   | **Type**                     | **Optional** | **Default value** | **Description**                                  |\n|------------|------------------------------|--------------|-------------------|--------------------------------------------------|\n| `template` | `array`, `string`            | No           |                   | The template suggestions / search.               |\n| `context`  | `string`                     | Yes          | _                 | The default scope. Default value is `_`.         |\n| `fallback` | `React Component / Function` | Yes          |                   | Use this component if the main one is not found. |\n\nFor more information check [registry.get()](https://gitlab.com/4i4/registry/-/blob/main/README.md#get)\n\n**Example without theme-registry**\n```javascript\n/** ---- ./registry.js ---- **/\nimport React from \"react\";\nimport Registry from '@4i4/registry';\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", React.lazy(() => import('./templates/Wrapper')));\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\nregistry.set(\"footer\", React.lazy(() => import('./templates/Footer')));\nregistry.set(\"content\", React.lazy(() => import('./templates/Content')));\n\nexport default registry;\n\n/** ---- ./templates/Page.js ---- **/\nimport registry from \"../registry\";\n\nconst Wrapper = registry.get(\"wrapper\");\nconst Header = registry.get(\"header\");\nconst Footer = registry.get(\"footer\");\nconst Content = registry.get(\"content\");\n\nconst Page = () => {\n  return (\n    <Wrapper>\n      <Header>\n        ...\n      </Header>\n      <Content>\n        ...\n      </Content>\n      <Footer>\n        ...\n      </Footer>\n    </Wrapper>\n  )\n};\n\nexport default Page;\n```\n\n**Example with theme-registry**\n```javascript\n/** ---- ./registry.js ---- **/\nimport React from \"react\";\nimport Registry from '@4i4/registry';\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", React.lazy(() => import('./templates/Wrapper')));\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\nregistry.set(\"footer\", React.lazy(() => import('./templates/Footer')));\nregistry.set(\"content\", React.lazy(() => import('./templates/Content')));\n\nexport default registry;\n\n/** ---- ./templates/Page.js ---- **/\nimport { Template } from \"@4i4/theme-registry\";\n\nconst Page = () => {\n  return (\n    <Template template=\"wrapper\">\n      <Template template=\"header\">\n        ...\n      </Template>\n      <Template template=\"content\">\n        ...\n      </Template>\n      <Template template=\"footer\">\n        ...\n      </Template>\n    </Template>\n  )\n};\n\nexport default Page;\n```\n\n## \"useTemplate\":\nThe other way to consume directly the registry is by using the `useTemplate` hook.\n\n**Params**\n\n| **Param**   | **Type**          | **Optional** | **Description**                                    |\n|-------------|-------------------|--------------|----------------------------------------------------|\n| `search`    | `string`, `array` | No           | The template suggestions / search.                 |\n| `fallback`  | `any`             | Yes          | Return this component if the item is missing.      |\n| `scope`     | `string`          | Yes          | The scope in which this key will be retrieve from. |\n\nFor more information check [registry.get()](https://gitlab.com/4i4/registry/-/blob/main/README.md#get)\n\n**Example with theme-registry**\n```javascript\n/** ---- ./registry.js ---- **/\nimport React from \"react\";\nimport Registry from '@4i4/registry';\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", React.lazy(() => import('./templates/Wrapper')));\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\nregistry.set(\"footer\", React.lazy(() => import('./templates/Footer')));\nregistry.set(\"content\", React.lazy(() => import('./templates/Content')));\n\nexport default registry;\n\n/** ---- ./templates/Page.js ---- **/\nimport { useTemplate } from \"@4i4/theme-registry\";\n\nconst Page = () => {\n  const Wrapper =useTemplate(\"wrapper\");\n  const Header = useTemplate(\"header\");\n  const Footer = useTemplate(\"footer\");\n  const Content = useTemplate(\"content\");\n\n  return (\n    <Wrapper>\n      <Header>\n        ...\n      </Header>\n      <Content>\n        ...\n      </Content>\n      <Footer>\n        ...\n      </Footer>\n    </Wrapper>\n  )\n};\n\nexport default Page;\n```\n\n## \"useThemeSettings\" and the `_settings` scope\n\nThe theme-registry reserves a special scope named `_settings` that can hold arbitrary configuration objects for a theme (palettes, typography, global styles, etc.).\n\nRegister each setting under the reserved scope:\n\n```ts\nimport Registry from \"@4i4/registry\";\nimport { SETTINGS_SCOPE } from \"@4i4/theme-registry\";\n\nconst registry = new Registry();\n\nregistry.set(\"palette\", { primary: \"#e02b20\" }, SETTINGS_SCOPE);\nregistry.set(\"typography\", { headingFont: \"Inter\" }, SETTINGS_SCOPE);\n```\n\nThen inside your components you can merge overrides with the defaults:\n\n```ts\nimport { useThemeSettings } from \"@4i4/theme-registry\";\n\ntype StarterSettings = {\n  palette: Record<string, string>;\n  typography: { headingFont: string };\n};\n\nconst defaults: StarterSettings = {\n  palette: { primary: \"#e02b20\" },\n  typography: { headingFont: \"Inter\" }\n};\n\nconst palette = useThemeSettings<StarterSettings>(\"palette\", defaults);\nconst typography = useThemeSettings<StarterSettings>(\"typography\", defaults);\n\n// When no defaults are needed you can omit the second argument entirely:\nconst layout = useThemeSettings<StarterSettings>(\"layout\");\n```\n\nAny theme can override the same setting key inside `_settings` before rendering and the hook will merge the override with the defaults while preserving the overall settings type.\n\n## \"withHOC\":\n```withHOC``` is a Higher-Order Component that wraps your component dynamically with a template and scope.\n\n**Params**\n\n| **Param**   | **Type**          | **Optional** | **Description**                                    |\n|-------------|-------------------|--------------|----------------------------------------------------|\n| `Component` | `ComponentType`   | No           | The React component to wrap.                       |\n| `search`    | `string`, `array` | No           | The template suggestions / search.                 |\n| `scope`     | `string`          | Yes          | The scope in which this key will be retrieve from. |\n\n**Example**\n```javascript\n/** ---- ./registry.js ---- **/\nimport React from \"react\";\nimport Registry from '@4i4/registry';\n\nconst registry = new Registry();\n\nregistry.set(\"button\", React.lazy(() => import('./templates/button')));\nregistry.set(\"withLogger\", React.lazy(() => import('./templates/withLogger')));\n\nexport default registry;\n\n/** ---- ./templates/button.js ---- **/\nimport { withHOC } from \"@4i4/theme-registry\";\n\nconst Button = ({ children, onClick }) => {\n  return (\n    <button onClick={onClick}>{children}</button>\n  )\n};\n\nexport default withHOC(Button, \"withLogger\");\n\n/** ---- ./templates/withLogger.js ---- **/\nconst withLogger = ({ Component, ...props }) => {\n  console.log('Props received:', props);\n  return (\n    <Component {...props} />\n  )\n};\n\nexport default withLogger;\n```\n\n### Normal HOC vs withHOC\n\n**Normal HOC**\n```javascript\nconst withLogger = (Component) => {\n  const WrappedComponent = (props) => {\n    console.log('Props received:', props);\n    return <Component {...props} />;\n  };\n  return WrappedComponent;\n}\n```\n\n**HOC using withHOC style**\n```javascript\nconst withLogger = ({ Component, ...props }) => {\n  console.log('Props received:', props);\n  return (\n    <Component {...props} />\n  )\n};\n```\n\n## Basic Example:\nSetup the registry:\n```javascript\n/** ---- ./registry.js ---- **/\nimport React from \"react\";\nimport Registry from \"@4i4/registry\";\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", React.lazy(() => import('./templates/Wrapper')));\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\nregistry.set(\"footer\", React.lazy(() => import('./templates/Footer')));\nregistry.set(\"content\", React.lazy(() => import('./templates/Content')));\nregistry.set(\"page\", React.lazy(() => import('./templates/Page')));\n\nexport default registry;\n```\n\nProvide the registry:\n```javascript\n/** ---- ./app.js ---- **/\nimport { Suspense } from 'react';\nimport { ThemeProvider, Template } from \"@4i4/theme-registry\";\nimport registry from \"./registry\";\n\nconst App = () => {\n  return (\n    <Suspense fallback={<div>loading...</div>}>\n      <ThemeProvider registry={registry}>\n        <Template template=\"page\" />\n      </ThemeProvider>\n    </Suspense>\n  );\n};\n\nexport default App;\n```\n\nConsume the registry:\n```javascript\n/** ---- ./templates/page.js ---- **/\nimport { useTemplate } from \"@4i4/theme-registry\";\n\nconst Page = () => {\n  const Wrapper = useTemplate(\"wrapper\");\n  const Header = useTemplate(\"header\");\n  const Footer = useTemplate(\"footer\");\n  const Content = useTemplate(\"content\");\n\n  return (\n    <Wrapper>\n      <Header>\n        ...\n      </Header>\n      <Content>\n        ...\n      </Content>\n      <Footer>\n        ...\n      </Footer>\n    </Wrapper>\n  )\n};\n```\n\n## Next.JS Example:\nSetup the registry:\n```javascript\n/** ---- ./registry.js ---- **/\nimport dynamic from \"next/dynamic\";\nimport Registry from \"@4i4/registry\";\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", dynamic(() => import('./templates/Wrapper')));\nregistry.set(\"header\", dynamic(() => import('./templates/Header')));\nregistry.set(\"footer\", dynamic(() => import('./templates/Footer')));\nregistry.set(\"content\", dynamic(() => import('./templates/Content')));\nregistry.set(\"page\", dynamic(() => import('./templates/Page')));\n\nexport default registry;\n```\n\n## Multi-theme Example:\nSetup the registry for default theme:\n```javascript\n/** ---- ./themes/default/registry.js ---- **/\nimport React from \"react\";\nimport Registry from \"@4i4/registry\";\n\nconst registry = new Registry();\n\nregistry.set(\"wrapper\", React.lazy(() => import('./templates/Wrapper')));\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\nregistry.set(\"footer\", React.lazy(() => import('./templates/Footer')));\nregistry.set(\"content\", React.lazy(() => import('./templates/Content')));\nregistry.set(\"page\", React.lazy(() => import('./templates/Page')));\n\nexport default registry;\n```\n\nSetup the registry for the second theme:\n```javascript\n/** ---- ./themes/second/registry.js ---- **/\nimport React from \"react\";\nimport defaultTheme from '../default/registry';\n\nconst registry = defaultTheme.clone();\n\nregistry.set(\"header\", React.lazy(() => import('./templates/Header')));\n\nexport default registry;\n```\n\nProvide the registry:\n```javascript\n/** ---- ./app.js ---- **/\nimport { Suspense, useState } from 'react';\nimport { ThemeProvider, Template } from \"@4i4/theme-registry\";\n\nimport defaultTheme from \"./themes/default/registry\";\nimport secondTheme from \"./themes/second/registry\";\n\nconst App = () => {\n  const [theme, setTheme] = useState('defaultTheme');\n  const themes:any = {\n    defaultTheme,\n    secondTheme\n  };\n  \n  return (\n    <Suspense fallback={<div>loading...</div>}>\n      <ThemeProvider registry={themes[theme]}>\n        <Template template=\"page\" />\n      </ThemeProvider>\n    </Suspense>\n  );\n};\n\nexport default App;\n```\n","readmeFilename":"README.md"}