{"_id":"@gaddario98/react-pages","_rev":"26-f50efbdf5dae6c6a91001e3e30e8380c","name":"@gaddario98/react-pages","dist-tags":{"latest":"3.0.3"},"versions":{"1.0.0":{"name":"@gaddario98/react-pages","version":"1.0.0","_id":"@gaddario98/react-pages@1.0.0","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"dist":{"shasum":"65ba11339e83b848dee2f875bdf1756f36c94907","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.0.tgz","fileCount":21,"integrity":"sha512-CSeP4Sq0+PW9psdusk7rgI2wcjazZrm6azITXuITz8MYh+TmJodZM5Vu93jHWilEzdhTjb34xwVS19F9Dr3Y7g==","signatures":[{"sig":"MEUCIQCPBK56iz5Xz3fFAw2qkMB2+uTh4mAUZe86JOHxdmA2lQIgRpTuwPU076ObwMilrXnLuR/qGZ9LaALnoIt2jdnKV9E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":201350},"main":"dist/index.cjs.js","module":"dist/index.esm.js","gitHead":"998ab2bf2ae27334f9bc675d9871e1ba7fed500f","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"1.0.0","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"1.0.0","@gaddario98/react-form":"1.0.0","@tanstack/react-virtual":"*","@gaddario98/react-queries":"1.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.0_1744816635171_0.5181871888871543","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@gaddario98/react-pages","version":"1.0.1","license":"MIT","_id":"@gaddario98/react-pages@1.0.1","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"dist":{"shasum":"91417d0aac14c2cfcb4024f754a3e75847bf31bb","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.1.tgz","fileCount":22,"integrity":"sha512-x869Mwp3wv5vyT4XRzJMN1x+cQwqB/5/TcqRp7YIvBe2rV3rnYAzS9l+yfwdDkkgmlev6uyJRZ8LqY7ZG/LNRw==","signatures":[{"sig":"MEUCIHp7hP7gEjV8jjvd+S2Y6Z3Ax9cnahUM5TrgxrSRkU8SAiEA9qLDVGb8Bx66rFwtEu13F1TOhPa0ELkxc53fb6PK6ks=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202489},"main":"dist/index.cjs.js","type":"module","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"998ab2bf2ae27334f9bc675d9871e1ba7fed500f","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"1.0.1","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"1.0.1","@gaddario98/react-form":"1.0.1","@tanstack/react-virtual":"*","@gaddario98/react-queries":"1.0.1"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.1_1744822935256_0.9470764969370522","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@gaddario98/react-pages","version":"1.0.5","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.5","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"d1b67b4d0b709f47471ee452f001c7314d7c6026","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.5.tgz","fileCount":20,"integrity":"sha512-GBn0DUVlzKgnoBWZieobpX7D6jBIcDKimjHtYfcnOe2jvxYrGXos9e08tvPEplvmr6m0gOMUZOfOL86b8X32dQ==","signatures":[{"sig":"MEYCIQC8s6ZS0KdesFr9S/IfLbsu3Dw0YIWYflNZuXlaCYIE8AIhAMrKci+Mn2tmVQYX5tl33ndb/VJNgAgKY4Myhp+3mWZq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107372},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"3b88131ecc58df9c9bd0fafda2638bfd96e14d86","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"1.0.5","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"1.0.5","@gaddario98/react-form":"1.0.5","@tanstack/react-virtual":"*","@gaddario98/react-queries":"1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.5_1744972553697_0.45666768359504606","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@gaddario98/react-pages","version":"1.0.6","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.6","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"e8fb751dae7abb6e0bed3e405855317f53998c42","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.6.tgz","fileCount":20,"integrity":"sha512-Us6Qh7nmKbfA1ET4KbUqXykSkS30U4o7TZHENI1xfs6H9YMmM+sxqd9Dg1I+t/IpT6tRKeQHVpSfPJRNe44E5g==","signatures":[{"sig":"MEYCIQD/tpa35gdzRzZOC1t6ROSjow/ABw5sqd92e/Oxf+lA4gIhAPrU4BWRNrfhenSCe+jKv7DJEHPPbfxbkp/NbvyAHkOb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107407},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"da30da25434c3996beac91871e8766d131580c23","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"1.0.5","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"1.0.5","@gaddario98/react-form":"1.0.5","@tanstack/react-virtual":"*","@gaddario98/react-queries":"1.0.5"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.6_1744975638764_0.5742164367935871","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@gaddario98/react-pages","version":"1.0.9","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.9","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"7c5936fbf0b3d7b8ae35dd0ebead0ffd718a9ca4","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.9.tgz","fileCount":20,"integrity":"sha512-jH33mvAKRee7zQFngXlqrQ+wAWcwwpr5iJW72NayKWisGORmp0fIWNV2QHLXtj3/JUrDA0s4WDkqhO/BFpxZ1w==","signatures":[{"sig":"MEUCIQCZ9J25cQbPCzZJ7aLWmA5GxAhyiTBtV8KWiBO2X4wm0gIgCfgxuw+6pKtkK4aBP/234tX9PyDeeeh3M6damHHmzEg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107406},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"95e9daf7fcd3329c4e7461f06c96c54180781e44","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.9.2","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.9_1745420970192_0.11722910597427783","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@gaddario98/react-pages","version":"1.0.10","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.10","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"6c7792eaa1ab1d8df3de9e05e3e4934a1ead4093","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.10.tgz","fileCount":20,"integrity":"sha512-xpcc6ZAlbhL3tlNoWiqJqJt+nJrADAKjbgb0wgx5/4Y/Dwo9WnyO4BTck2fXSSD6gumcSOJmMHchU20qCYemJw==","signatures":[{"sig":"MEQCIGmuWQI/d4xEBYNRN/y/VMiQD2wbQk/8QoOHSpxueFivAiB9T33GxyW+RCnWycwtlhz8xg6Mb1dtod6sqtQwY2v4ng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":108340},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"07c58c2d92562443b1a5b15c9353c1120dd9e09d","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*","@gaddario98/react-providers":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.10_1747233613798_0.5872890278117746","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@gaddario98/react-pages","version":"1.0.11","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.11","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"c4f314e2e4d7d563b4d3ebd6877997f37b19f55e","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.11.tgz","fileCount":20,"integrity":"sha512-NTHYzb0iZxYbPcjmn762Gp5L/cVAcm7HgneUW4GFKTIYuFt1thhEB7TUVHWhs3rnrASm0DQ7L6tPxPdJq8QIvg==","signatures":[{"sig":"MEQCIFJNIdjYhtfpwwsDhoQ1Y81eUt2Yzp7098lso/Ay5MfTAiBNbBJHuJ0ag5FTeNxSYkM7KwJXk6JaRfFe8loltUK5JA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122077},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"568218f2daa7e960a8e6e748f9ed0241a7d3305f","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*","@gaddario98/react-providers":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.11_1747845032566_0.739147177922125","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@gaddario98/react-pages","version":"1.0.12","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.12","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"83a088b2fe66631f809d00008e22f1e30640fe8a","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.12.tgz","fileCount":20,"integrity":"sha512-D7GpskfnW28KefLDb54+R6de4FMSHq3efNTBTtcsApDiCF9cs56Yjr96/9cYW297WN33vnfBdPNHv4ec/UGS+Q==","signatures":[{"sig":"MEYCIQDUSX+BRHrEUyrf5JRz+yMlwF0DaRGJzk4+b7ZSwBYK/wIhALK83ABcgMC2oPFHoeKjRiLZXq1x+dZN+uG7cbQNTWya","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123013},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"fefb92062540d6bd3f92eb40357965d8b29cd608","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*","@gaddario98/react-providers":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.12_1748952694741_0.6284100866438223","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"@gaddario98/react-pages","version":"1.0.13","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.13","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"1aaefeb80a6ae8a83ae52a47458f398c164d937a","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.13.tgz","fileCount":20,"integrity":"sha512-twDYWoon4RaHBYTFjjgPAI2KD+n6JM7NVpFT2+Okd/tOudxn6e6nrwN8a99nkA08fzEfM4SJ2ne6SZhsVNsIGQ==","signatures":[{"sig":"MEQCIH9ARE91WewjH4bf0t1kc27Ko7twns8/i2hRpMdSCaHSAiBtribC/STMjl5CF0LyTHB1wg3hNgFL+Ln3b7KpTGABjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":123825},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":"./dist/index.mjs","gitHead":"455eaa6caedd8ddb736c4c1e02a9915401091381","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"10.8.2","directories":{},"_nodeVersion":"20.19.1","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@types/react":"^19.1.2","@types/react-dom":"^19.1.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","react-i18next":"*","react-hook-form":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*","@gaddario98/react-providers":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.13_1749050902852_0.2906629611231324","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"@gaddario98/react-pages","version":"1.0.14","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.14","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"ebe6bc141ca4d2cc6443206e8af4edaf9561cf4b","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.14.tgz","fileCount":20,"integrity":"sha512-+ciMpo4fw0dJpwfoxhE/P6xDvz6Jy+n9+jrIqbQOasi4AK9J/X4XF+rpuaobP7bi++uc4V++W2d5TsKdVV+BSA==","signatures":[{"sig":"MEQCIAoPh3mPT0lwf8kSzsqDt8BDWT4Gmtv7QyHkiEzKgEnOAiBKcARDee41Cw7THwGzrO0W4C32ujOgCZMVe6R60Hks3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":129747},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"66131712792990a2f66c583600778e66f730895c","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.2.0","directories":{},"_nodeVersion":"22.14.0","_hasShrinkwrap":false,"devDependencies":{"rollup":"^4.40.0","typescript":"^5.8.3","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"*","i18next":"*","@types/react":"*","react-i18next":"*","react-hook-form":"*","@types/react-dom":"*","@gaddario98/utiles":"*","react-helmet-async":"*","@tanstack/react-query":"*","@gaddario98/react-auth":"*","@gaddario98/react-form":"*","@tanstack/react-virtual":"*","@gaddario98/react-queries":"*","@gaddario98/react-providers":"*"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.14_1757596529799_0.8855268209944533","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"@gaddario98/react-pages","version":"1.0.15","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.15","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"53b8bffc611dd8f533bb5de2374b721f5c484dbf","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.15.tgz","fileCount":27,"integrity":"sha512-Ds7E3sUBGCyQeN39PdhbxmbUjTdJnZXHimbYFYZ/3vz7VlzTEM0oUZZXSFvYLXYxOWJNJ1IWuP+aydGbHUsCKg==","signatures":[{"sig":"MEUCIQCmSn/kbgjqRzS1t2TXF1aVpJBoACt570U2npcUhYFOMAIgMEUK9KWbQ40W/MCLpOZCAf677a++hqVVHHFzSo2s2UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176365},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"aadfafc697f09a052abf8cc5bc19cb2239675605","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","react-dom":"^19.2.0","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"^19.2.0","i18next":"^25.5.3","react-dom":"^19.2.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@gaddario98/utiles":"1.0.10","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"1.0.11","@gaddario98/react-form":"1.0.15","@gaddario98/react-queries":"1.0.16","@gaddario98/react-providers":"1.0.12"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.15_1760005983951_0.8552313888177236","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"@gaddario98/react-pages","version":"1.0.16","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.16","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"1570f1e2a786c74ed456673240d3ab0169888683","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.16.tgz","fileCount":28,"integrity":"sha512-DGx9No08eKjDfBttv/034XcTj4l4IfnA3SztfMKUz5nFVTHKC5qy2x2HXETNNE/rxjiKaUdMb5iTMaeiaD0tDQ==","signatures":[{"sig":"MEUCIQC3i767akS1zJwDedD18lBjiLPOio8XZ+bQyYS0smZ2pAIgVzMCsPlwsaAMpx824GB7NCa9T86OBcQZK7FdIhpsWo4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177375},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"gitHead":"aadfafc697f09a052abf8cc5bc19cb2239675605","scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","react-dom":"^19.2.0","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":"^19.2.0","i18next":"^25.5.3","react-dom":"^19.2.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@gaddario98/utiles":"1.0.10","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"1.0.11","@gaddario98/react-form":"1.0.15","@gaddario98/react-queries":"1.0.16","@gaddario98/react-providers":"1.0.12"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.16_1760006489768_0.045994334719718255","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"@gaddario98/react-pages","version":"1.0.18","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.18","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"8e98d4c4e4c9ee3e21bc0054e9d8be384f17aaaf","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.18.tgz","fileCount":27,"integrity":"sha512-9UcftJdvvkEq4kQTpxTiRgd5UJQ4R57zQnpqeo6/XMdYEDzfAbIxA+YB/1R+ILEz1fCtF6qL/4VXhx4osBPjDA==","signatures":[{"sig":"MEQCIGU+/UulVNhRR8gBaFls2Ydb7CftCRyIOFzUS1KgSUKBAiAY5oy6uIFjIjrPNaz9XLZyWjU1e3WsSbqbeFC9pdp1Lw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":176618},"main":"dist/index.mjs","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"scripts":{"build":"rollup -c"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.12","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.13","@gaddario98/react-form":"^1.0.17","@gaddario98/react-queries":"^1.0.18","@gaddario98/react-providers":"^1.0.14"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","react-dom":"^19.2.0","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0","react-dom":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.18_1760625690764_0.28163302004743684","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"@gaddario98/react-pages","version":"1.0.19","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.19","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"ae59726d82964ec4b03cbe533244acce568ba745","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.19.tgz","fileCount":51,"integrity":"sha512-sbPTL34DUFwBN0dkTQ8h/tC9MoWBXAc1itbAVb9RNyrDYChQaeOTcQ/GKfE/U9Z11cv6f0oKOxezXJm3ziy+rg==","signatures":[{"sig":"MEQCICTfERlT1qzMVHjq7+x8R9njiosDNjunqWSnOVkkcx31AiAoES72v0X2a+xUCk6a3M1+UK+c5Ggq5H1SK40621b+nw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6967475},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs"}},"scripts":{"build":"rollup -c","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.13","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.14","@gaddario98/react-form":"^1.0.18","@gaddario98/react-queries":"^1.0.19"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"peerDependenciesMeta":{"react-helmet-async":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.19_1760641491195_0.3717485911162042","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"@gaddario98/react-pages","version":"1.0.20","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.20","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"f34cc8279eb5fc54c588fda8d94eb01e5a6be751","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.20.tgz","fileCount":67,"integrity":"sha512-KdusMcNe+AT+RFC4ZkuD7wbnDiOKuWR1A07lu5wVXoaL3NLzNc2noWQd85Vo9R8AsR0gfGScxgXBV8Yc0b4ntQ==","signatures":[{"sig":"MEYCIQCBLIxLqE60KgCRbaKhA17d8mipvUuzWqgYZxDy9jBiBgIhAMXfPeR4UFumQS/wRi7IWoiNI02zs7UFrM91y2RIidxQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":913067},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.13","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.14","@gaddario98/react-form":"^1.0.18","@gaddario98/react-queries":"^1.0.19"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"peerDependenciesMeta":{"react-helmet-async":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.20_1760654264812_0.2770433380061723","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"@gaddario98/react-pages","version":"1.0.21","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.21","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"df84b740873ba7d4cc1a1e8d3a5c5bfa18879021","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.21.tgz","fileCount":67,"integrity":"sha512-lpW/7tYOYAhQmVz/NR71VAS++PixDth7Cxk/fl0IBXK4Ig1kDfFUfPC3EsqmFwGzk2r1Aw8x/1sXMyPcMy22zA==","signatures":[{"sig":"MEUCIEPo6yldgWNUxG9vThY51lyNVpegnJV4Cb300z9Bj2NzAiEAmsSbBYePQFmyGy7Q4tA1PDW+mFrOEoLdh0Z4LYzxSvY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":913067},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.20","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"peerDependenciesMeta":{"react-helmet-async":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.21_1760655057082_0.8797636777216566","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"@gaddario98/react-pages","version":"1.0.22","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.22","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"12ce2a4015272a3091ad9ee16cd5c892b983d04c","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.22.tgz","fileCount":50,"integrity":"sha512-w1rNJhUFBMij68u7XPnV4GHg4StseQq05vw3oezc5Lko2r9S/EHXd9evcdWv99QDnJHoNB0zliFm8iCjKndxqA==","signatures":[{"sig":"MEQCIBXKFIMN3u+xgVGKIKT2hQvysOg8/H2zJtq5o98PTwYiAiBUvp1eRcbVzounyQT9JGTIFbV56o8TlbT9+KezH1mTFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894280},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.21","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"peerDependenciesMeta":{"react-helmet-async":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.22_1761756442274_0.8320959723982031","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"@gaddario98/react-pages","version":"1.0.23","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@1.0.23","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"5bc010ae471de53509abe585fac2b7fff156ad77","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-1.0.23.tgz","fileCount":50,"integrity":"sha512-5mymbqC69Tr0Z5YeDGvqJFUYTkSTb1zgRS/09OxMJj6Zf6fmL8P+wN8wzVfssqRfxUrB8nYntsuUUZPFa691IA==","signatures":[{"sig":"MEUCIH67RO5g9ku/8ki3zJlwKqnEKR4iKk4cYFY7kr1ScXRjAiEA6ZYwVEV5Kp0N41EI65kcEOHKSH5rwAzo5jZoYpJUqB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":894717},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React plugin for creating dynamic web pages with integrated form management, query handling, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","react-i18next":"^16.0.1","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","react-helmet-async":"^2.0.5","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.21","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.0","rollup":"^4.40.0","i18next":"^25.5.3","typescript":"^5.8.3","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","react-helmet-async":"^2.0.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","@tanstack/react-query":"^5.90.2","@rollup/plugin-commonjs":"^28.0.3","@rollup/plugin-typescript":"^12.1.2","@rollup/plugin-node-resolve":"^16.0.1","babel-plugin-react-compiler":"1","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"peerDependenciesMeta":{"react-helmet-async":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/react-pages_1.0.23_1761758131667_0.48794756207833756","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@gaddario98/react-pages","version":"2.0.0","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@2.0.0","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"8a56c4a8acc65e08dbeecdf38e4f4daa05e281e1","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-2.0.0.tgz","fileCount":75,"integrity":"sha512-KlM/HYskS1gDTeD1Am51ztY/gLjbTPI1TecQUDsffowBIMhoJJvlI4R6uvfs4UiXGdE0w+pYappnrclmm+1CCA==","signatures":[{"sig":"MEQCIHlTBQXsOJzMib2+geJIBYplEhm8v0TVnougcVujbC32AiBOY8g4/8R/E9bqF9vJ0xy/MskDGitjRVPX4jyYtv0C0A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2857179},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","use-debounce":"^10.0.3","react-i18next":"^16.0.1","fast-deep-equal":"^3.1.3","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.21","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","i18next":"^25.5.3","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_2.0.0_1761872178272_0.5749031795573059","host":"s3://npm-registry-packages-npm-production"}},"2.0.2":{"name":"@gaddario98/react-pages","version":"2.0.2","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@2.0.2","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"bbe3bcd787e24c685501d71e6f1ffdaff4d773be","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-2.0.2.tgz","fileCount":75,"integrity":"sha512-FD4Xd1hh2dmYgeiHstCUFCwvhLF+gzF72nwWSMCLpBIUmiNKA0EuKe2KaMXFE06smvpZIWOTe92mTBr1BfR2DQ==","signatures":[{"sig":"MEYCIQDEQWX/jaamp/CpStOEFzk5CFa1X8JEFipKjp6ttyIvTwIhAJxqLyrG495BnTLuI7DsxNfXFgr9+3JdpcQQKhofHkB+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2873267},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","use-debounce":"^10.0.3","react-i18next":"^16.0.1","fast-deep-equal":"^3.1.3","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.22","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","i18next":"^25.5.3","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_2.0.2_1761913705838_0.3994866780925874","host":"s3://npm-registry-packages-npm-production"}},"2.0.21":{"name":"@gaddario98/react-pages","version":"2.0.21","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@2.0.21","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"f048ea991ba8ea0ab1077678bf97c6ec203fc3b6","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-2.0.21.tgz","fileCount":75,"integrity":"sha512-niBTTk2cLNg6VNtnfugYbaWCQaETU+55bVOdsU07CpMZZFBpefa/2qKoGot702+5JSpLmTetW1QKQSO6pyIGTg==","signatures":[{"sig":"MEUCIQCoXToO/vMGUF88n6iYmeNDky3Yq/YTDrGpesu8m0V8ZQIgeUa4IauM/LagQEXviyHhciVAnp6xko3GINk/w2keD2Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2851255},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","use-debounce":"^10.0.3","react-i18next":"^16.0.1","fast-deep-equal":"^3.1.3","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.22","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","i18next":"^25.5.3","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_2.0.21_1761916447689_0.5181147133946284","host":"s3://npm-registry-packages-npm-production"}},"2.0.22":{"name":"@gaddario98/react-pages","version":"2.0.22","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@2.0.22","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"e21e392e32648b96af8ef90e6fb8010c872c45c2","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-2.0.22.tgz","fileCount":75,"integrity":"sha512-Bhdc4fv0DQi0d8HOhct8by18ic0nMywqoyxAXBLvtKoqLEz3yY9ueBOsumSr0BA5suOsQOjl80//mGLF2PjLEQ==","signatures":[{"sig":"MEUCIQCuvEbIQRMgBU0fdVrV/TJRJXYxVDQiKXbt8FYC4+9UXQIgRwjV0vLdcWEwECK3gcFnZisegylgUS48s7NqH3FY9nA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2851769},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.6.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"23.11.0","dependencies":{"i18next":"^25.5.3","use-debounce":"^10.0.3","react-i18next":"^16.0.1","fast-deep-equal":"^3.1.3","react-hook-form":"^7.64.0","@gaddario98/utiles":"^1.0.15","@tanstack/react-query":"^5.90.2","@gaddario98/react-auth":"^1.0.16","@gaddario98/react-form":"^1.0.23","@gaddario98/react-queries":"^1.0.21"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","i18next":"^25.5.3","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","react-i18next":"^16.0.0","react-hook-form":"^7.64.0","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_2.0.22_1761922302332_0.7554925284195273","host":"s3://npm-registry-packages-npm-production"}},"3.0.0":{"name":"@gaddario98/react-pages","version":"3.0.0","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@3.0.0","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"a10296a37755e51ed3cfe0d4b5d9138d8ed3c25d","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-3.0.0.tgz","fileCount":57,"integrity":"sha512-M4EfcfeDSNOZqoxFTOTGvsmDeSipUdn+cqgQiU3jC9xAeCh/msqQt4H/ofkkS7puae7U5UN9sr2/+P1HsmB8fA==","signatures":[{"sig":"MEQCIGUrXvclqTpiCpJtV6x3hSt5xRXvDD0qWU+IF/uLycvJAiAY+Qazp420Rw5CQ9iD6vkUThvWGZoOZagj9UFzWtXutw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2224756},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.7.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"jotai":"^2.16.0","jotai-family":"^1.0.1","fast-deep-equal":"^3.1.3","@tanstack/react-query":"^5.90.2","@gaddario98/react-form":"^2.0.2","@gaddario98/react-state":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jotai":"^2.16.0","jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","jotai-family":"^1.0.1","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_3.0.0_1770307061773_0.6166892435799223","host":"s3://npm-registry-packages-npm-production"}},"3.0.1":{"name":"@gaddario98/react-pages","version":"3.0.1","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@3.0.1","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"b1f4bb5aab52966d89479afa5032a6b2d0c80250","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-3.0.1.tgz","fileCount":57,"integrity":"sha512-T0QmmJygepdZb82oXXn6V12j9DWJVKtY9X3MpYJwUTd16j/wz3fNvxlqfbw/N6Q5UvI7n5hEkuzHKl7CK7EVaQ==","signatures":[{"sig":"MEQCIB6RKyftZDtvF3cTXcwVUGKOBIHxb/G83AKoBIM//cOlAiAneuMXIsQ6FM+R+9q8SwiuDDSqyuX1oNe/s+0MzIVfJg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2225468},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.7.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"jotai":"^2.16.0","jotai-family":"^1.0.1","fast-deep-equal":"^3.1.3","@tanstack/react-query":"^5.90.2","@gaddario98/react-form":"^2.0.3","@gaddario98/react-state":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jotai":"^2.16.0","jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","jotai-family":"^1.0.1","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_3.0.1_1770307728808_0.8602457136712642","host":"s3://npm-registry-packages-npm-production"}},"3.0.2":{"name":"@gaddario98/react-pages","version":"3.0.2","keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"license":"MIT","_id":"@gaddario98/react-pages@3.0.2","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"homepage":"https://github.com/gaddario98/react-pages#readme","bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"dist":{"shasum":"c932eba8eaf66ca24a08a226315d384dde63f175","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-3.0.2.tgz","fileCount":57,"integrity":"sha512-29ouU3Lckcn1lKHK72zSJPan/e0cbkiEG4DK2mSMx6ZkD+mvxwZFr4QKlgeN4sxauWJZkZWYgMSAa+Wt64daTA==","signatures":[{"sig":"MEUCIG65vGXWPP5yu0oCTr5QpViW90riuOMH8fLFZzLvkcPKAiEA8zVBy0O62vuVYJFW7knPNBEbi1aR3ZHvgygnH8VSM6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2224689},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","default":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","default":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","default":"./dist/config/index.js","require":"./dist/config/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","default":"./dist/components/index.js","require":"./dist/components/index.js"}},"scripts":{"lint":"eslint .","test":"vitest run","build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","test:ui":"vitest --ui","test:perf":"vitest run --testNamePattern='performance'","test:watch":"vitest","type-check":"tsc --noEmit","test:native":"vitest -c vitest.config.native.ts","test:coverage":"vitest run --coverage","prepublishOnly":"yarn build"},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"repository":{"url":"git+https://github.com/gaddario98/react-pages.git","type":"git"},"_npmVersion":"11.7.0","description":"A powerful, performance-optimized React component library for creating dynamic pages that work seamlessly across web (React DOM) and React Native with integrated form management, query handling, SEO metadata, lazy loading, and content rendering.","directories":{},"sideEffects":false,"_nodeVersion":"25.3.0","dependencies":{"jotai":"^2.16.0","jotai-family":"^1.0.1","fast-deep-equal":"^3.1.3","@tanstack/react-query":"^5.90.2","@gaddario98/react-form":"^2.0.3","@gaddario98/react-state":"^2.0.1","@gaddario98/react-queries":"^2.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jotai":"^2.16.0","jsdom":"^25.0.0","react":"^19.2.0","rollup":"^4.40.0","vitest":"^3.0.0","happy-dom":"^15.0.0","@vitest/ui":"^3.0.0","typescript":"^5.8.3","@types/node":"^22.0.0","jotai-family":"^1.0.1","@rollup/plugin-json":"^6.1.0","@vitest/coverage-v8":"^3.0.0","@rollup/plugin-babel":"^6.0.4","@vitejs/plugin-react":"^5.1.0","@tanstack/react-query":"^5.90.2","@testing-library/react":"^16.0.0","rollup-plugin-filesize":"^10.0.0","@rollup/plugin-commonjs":"^28.0.3","rollup-plugin-visualizer":"^6.0.5","@rollup/plugin-typescript":"^12.1.2","@testing-library/jest-dom":"^6.5.0","@rollup/plugin-node-resolve":"^16.0.1","@testing-library/user-event":"^14.5.0","babel-plugin-react-compiler":"1","@testing-library/react-native":"^13.0.0","rollup-plugin-peer-deps-external":"^2.2.4","@types/rollup-plugin-peer-deps-external":"^2"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-pages_3.0.2_1770394269869_0.8431601218709202","host":"s3://npm-registry-packages-npm-production"}},"3.0.3":{"name":"@gaddario98/react-pages","version":"3.0.3","type":"module","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","license":"MIT","scripts":{"build":"rollup -c rollup.config.js && rollup -c rollup.dts.config.js","prepublishOnly":"yarn build","test":"vitest run","test:watch":"vitest","test:ui":"vitest --ui","test:coverage":"vitest run --coverage","test:native":"vitest -c vitest.config.native.ts","test:perf":"vitest run --testNamePattern='performance'","lint":"eslint .","type-check":"tsc --noEmit"},"devDependencies":{"@rollup/plugin-babel":"^7.1.0","@rollup/plugin-commonjs":"^29.0.3","@rollup/plugin-json":"^6.1.0","@rollup/plugin-node-resolve":"^16.0.3","@rollup/plugin-typescript":"^12.3.0","@types/node":"^26.5.0","@types/rollup-plugin-peer-deps-external":"^2","@vitejs/plugin-react":"^6.1.1","@vitest/coverage-v8":"^5.0.0","@vitest/ui":"^5.0.0","babel-plugin-react-compiler":"1","jsdom":"^30.0.1","react":"^19.2.8","rollup":"^4.63.1","rollup-plugin-filesize":"^10.0.0","rollup-plugin-peer-deps-external":"^2.2.4","rollup-plugin-visualizer":"^7.1.1","typescript":"^6.0.3","vitest":"^5.0.0"},"dependencies":{"@gaddario98/react-form":"^2.0.4","@gaddario98/react-queries":"^2.0.3","@gaddario98/react-state":"^2.0.3","@tanstack/react-query":"^5.102.8","fast-deep-equal":"^3.1.3","jotai":"^2.20.3","jotai-family":"^1.1.0"},"peerDependencies":{"react":">=18.0.0 <20.0.0"},"sideEffects":false,"repository":{"type":"git","url":"git+https://github.com/gaddario98/react-pages.git"},"keywords":["react","generate-pages","settings-generation","pages","component-library"],"author":{"name":"Giosuè Addario"},"bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"homepage":"https://github.com/gaddario98/react-pages#readme","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js","default":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js","default":"./dist/components/index.js"},"./config":{"types":"./dist/config/index.d.ts","import":"./dist/config/index.mjs","require":"./dist/config/index.js","default":"./dist/config/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.mjs","require":"./dist/hooks/index.js","default":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.mjs","require":"./dist/utils/index.js","default":"./dist/utils/index.js"}},"_id":"@gaddario98/react-pages@3.0.3","description":"A performance-optimized React component library for building dynamic pages that work across web (React DOM) and React Native. It integrates form management, query handling, SEO metadata, and content rendering behind a single unified `PageProps` interface.","_nodeVersion":"25.3.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-ZULmIpxT67FSeObR2DtRlpjWyKav+J/hub1rDgK3SCMtgF3A+HA0RtmYEMHBCFjDKCmi4fxNdQJ8+mUyMS3STg==","shasum":"dc29dc9914c8d0aed3c44fac1e8c8141d0434429","tarball":"https://registry.npmjs.org/@gaddario98/react-pages/-/react-pages-3.0.3.tgz","fileCount":63,"unpackedSize":2064535,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEMrA/Z60RaWe885yCNfOYe7dGl13i5qh9XaD4sRnin9AiBNQsjwTUCz25vhkMrRufYp8SVkx8reXxnh+64hckv5qg=="}]},"_npmUser":{"name":"gaddario98","email":"gaddario98@gmail.com"},"directories":{},"maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-pages_3.0.3_1788880938260_0.31106079752056526"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-16T15:17:15.104Z","modified":"2026-09-08T15:22:18.589Z","1.0.0":"2025-04-16T15:17:15.387Z","1.0.1":"2025-04-16T17:02:15.464Z","1.0.5":"2025-04-18T10:35:53.933Z","1.0.6":"2025-04-18T11:27:18.969Z","1.0.9":"2025-04-23T15:09:30.383Z","1.0.10":"2025-05-14T14:40:13.990Z","1.0.11":"2025-05-21T16:30:32.733Z","1.0.12":"2025-06-03T12:11:34.974Z","1.0.13":"2025-06-04T15:28:23.045Z","1.0.14":"2025-09-11T13:15:30.003Z","1.0.15":"2025-10-09T10:33:04.160Z","1.0.16":"2025-10-09T10:41:29.954Z","1.0.18":"2025-10-16T14:41:30.967Z","1.0.19":"2025-10-16T19:04:51.413Z","1.0.20":"2025-10-16T22:37:45.056Z","1.0.21":"2025-10-16T22:50:57.336Z","1.0.22":"2025-10-29T16:47:22.464Z","1.0.23":"2025-10-29T17:15:31.842Z","2.0.0":"2025-10-31T00:56:18.570Z","2.0.2":"2025-10-31T12:28:26.056Z","2.0.21":"2025-10-31T13:14:08.001Z","2.0.22":"2025-10-31T14:51:42.550Z","3.0.0":"2026-02-05T15:57:41.960Z","3.0.1":"2026-02-05T16:08:49.064Z","3.0.2":"2026-02-06T16:11:10.088Z","3.0.3":"2026-09-08T15:22:18.420Z"},"bugs":{"url":"https://github.com/gaddario98/react-pages/issues"},"author":{"name":"Giosuè Addario"},"license":"MIT","homepage":"https://github.com/gaddario98/react-pages#readme","keywords":["react","generate-pages","settings-generation","pages","component-library"],"repository":{"type":"git","url":"git+https://github.com/gaddario98/react-pages.git"},"description":"A performance-optimized React component library for building dynamic pages that work across web (React DOM) and React Native. It integrates form management, query handling, SEO metadata, and content rendering behind a single unified `PageProps` interface.","maintainers":[{"name":"gaddario98","email":"gaddario98@gmail.com"}],"readme":"# @gaddario98/react-pages\n\nA performance-optimized React component library for building dynamic pages that work across web (React DOM) and React Native. It integrates form management, query handling, SEO metadata, and content rendering behind a single unified `PageProps` interface.\n\n**Version**: v3.0.2\n\n---\n\n## Table of Contents\n\n- [Overview](#overview)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Global Configuration](#global-configuration)\n- [Architecture](#architecture)\n  - [PageGenerator](#pagegenerator)\n  - [Content Items & Layout](#content-items--layout)\n  - [MetadataManager](#metadatamanager)\n  - [Cross-Platform Containers](#cross-platform-containers)\n  - [RenderComponents](#rendercomponents)\n- [Features](#features)\n  - [SEO & Metadata](#seo--metadata)\n  - [Form Management](#form-management)\n  - [Query & Mutation Management](#query--mutation-management)\n  - [Authentication & Access Control](#authentication--access-control)\n  - [Internationalization](#internationalization)\n  - [Performance Optimization](#performance-optimization)\n- [API Reference](#api-reference)\n  - [PageGenerator Props](#pagegenerator-props)\n  - [Content Item Types](#content-item-types)\n  - [`get` / `set` Interface](#get--set-interface)\n  - [Metadata Configuration](#metadata-configuration)\n  - [Form Configuration](#form-configuration)\n  - [Query Configuration](#query-configuration)\n- [Advanced Patterns](#advanced-patterns)\n- [TypeScript Support](#typescript-support)\n- [React Native & Ionic Integration](#react-native--ionic-integration)\n- [Troubleshooting](#troubleshooting)\n\n---\n\n## Overview\n\n**Core capabilities:**\n\n- **Universal Cross-Platform**: Single `PageProps` configuration works on web (React DOM) and React Native\n- **Performance Optimized**: Automatic dependency tracking for selective re-rendering, debounced form inputs, 90% fewer re-renders\n- **SEO & AI Metadata**: Dynamic metadata with Open Graph, Twitter Card, JSON-LD, and AI crawler hints\n- **Fully Extensible**: Custom layout containers and platform adapters\n\n**Developer experience:**\n\n- **TypeScript First**: Full generic type support with strict mode\n- **Form Integration**: Built-in form management via `@gaddario98/react-form`\n- **Query Management**: Query and mutation handling via `@gaddario98/react-queries`\n- **Internationalization**: Namespace-based i18n via `ns` prop and pluggable `translateText`\n- **Tree-Shakeable**: 5 optimized entry points for minimal bundle footprint\n- **React Compiler**: Automatic memoization via `babel-plugin-react-compiler`\n\n---\n\n## Installation\n\n```bash\nnpm install @gaddario98/react-pages\n```\n\n### Peer Dependencies\n\n```bash\nnpm install react@^19.2.0 react-dom@^19.2.0\n```\n\n> **Note**: Form management (`@gaddario98/react-form`) and query/mutation handling (`@gaddario98/react-queries`) are internal dependencies — you do not need to install them separately. `@tanstack/react-query` is bundled transitively.\n\n---\n\n## Quick Start\n\n```tsx\nimport { useMemo } from \"react\";\nimport {\n  PageGenerator,\n  type PageProps,\n  type QueryDefinition,\n} from \"@gaddario98/react-pages\";\n\ninterface MyForm {\n  name: string;\n}\ntype MyQueries = [QueryDefinition<\"hello\", \"query\", never, string>];\n\nexport function MyPage() {\n  const props: PageProps<MyForm, MyQueries> = useMemo(\n    () => ({\n      id: \"my-page\",\n      meta: {\n        title: \"My Page\",\n        description: \"My awesome page\",\n      },\n      contents: [\n        {\n          type: \"custom\",\n          // Component functions receive { get, set } for type-safe state access\n          component: ({ get }) => (\n            <h1>Welcome, {get(\"form\", \"name\", \"Guest\")}!</h1>\n          ),\n        },\n      ],\n    }),\n    [],\n  );\n\n  return <PageGenerator<MyForm, MyQueries> {...props} />;\n}\n```\n\n---\n\n## Global Configuration\n\nBefore rendering any `PageGenerator`, configure the global defaults once near the root of your app using `usePageConfigState`:\n\n```tsx\nimport { usePageConfigState } from \"@gaddario98/react-pages\";\nimport { useEffect } from \"react\";\n\nexport function GlobalProvider({ children }: { children: React.ReactNode }) {\n  const [, setPageConfig] = usePageConfigState();\n\n  useEffect(() => {\n    setPageConfig((prev) => ({\n      ...prev,\n      // Default SEO metadata applied to all pages\n      defaultMetadata: {\n        title: \"My App\",\n        description: \"Default description\",\n      },\n      // Custom layout containers (web or React Native)\n      PageContainer: MyPageContainer,\n      BodyContainer: MyBodyContainer,\n      // Authentication\n      isLogged: (user) => !!user?.token,\n      authPageProps: { id: \"login-page\" },\n    }));\n  }, [setPageConfig]);\n\n  return <>{children}</>;\n}\n```\n\n**Key configurable slots in `PageConfigProps`:**\n\n| Key               | Type                                       | Purpose                               |\n| ----------------- | ------------------------------------------ | ------------------------------------- |\n| `PageContainer`   | `ComponentType`                            | Outermost page wrapper                |\n| `BodyContainer`   | `ComponentType`                            | Scrollable body area                  |\n| `HeaderContainer` | `ComponentType`                            | Header slot renderer                  |\n| `FooterContainer` | `ComponentType`                            | Footer slot renderer                  |\n| `ItemsContainer`  | `ComponentType`                            | Wrapper for `type: \"container\"` items |\n| `LoaderComponent` | `ComponentType`                            | Custom loader component               |\n| `isLogged`        | `(user) => boolean`                        | Auth check function                   |\n| `authValues`      | `PageAuthState \\| null`                    | Current authentication state values   |\n| `authPageProps`   | `PageProps`                                | Fallback page when not authenticated  |\n| `authPageImage`   | `string`                                   | Image URL for the fallback auth page  |\n| `defaultMetadata` | `MetadataConfig`                           | Default SEO metadata                  |\n| `setMetadata`     | `(config: MetadataConfig) => void`         | Updates current SEO metadata          |\n| `getMetadata`     | `() => MetadataConfig`                     | Retrieves current SEO metadata        |\n| `resetMetadata`   | `() => void`                               | Resets metadata to defaults           |\n| `meta`            | `{ title?: string; description?: string }` | Basic fallback metadata               |\n| `translateText`   | `(key, options) => string`                 | Pluggable i18n function               |\n| `locale`          | `string`                                   | Active locale                         |\n\n---\n\n## Architecture\n\n### PageGenerator\n\nThe main orchestrator component. It wires together forms, queries, metadata, layout, and authentication into a single declarative configuration.\n\n- Orchestrates the full page lifecycle and state management\n- Integrates form management via `@gaddario98/react-form`\n- Manages queries and mutations via `@gaddario98/react-queries`\n- Handles metadata injection (SEO, Open Graph, JSON-LD, AI hints)\n- Delegates internationalization to `pageConfig.translateText`\n- Handles authentication and access control via `pageConfig.isLogged`\n- Tracks data dependencies for selective re-rendering\n\n**When to use:** any page with forms, queries, dynamic content, SEO requirements, or complex data dependencies.\n\n### Content Items & Layout\n\nContent items are distributed across three layout slots: **header**, **body**, and **footer**. Use `renderInHeader` and `renderInFooter` to route items to the corresponding slot. Nest items in a `type: \"container\"` to group them inside the `ItemsContainer`.\n\n```tsx\n<PageGenerator\n  id=\"layout-page\"\n  viewSettings={{\n    withoutPadding: false,\n    disableRefreshing: false,\n  }}\n  contents={[\n    { type: \"custom\", component: <PageHeader />, renderInHeader: true },\n    { type: \"custom\", component: <PageFooter />, renderInFooter: true },\n    {\n      type: \"container\",\n      items: [\n        { type: \"custom\", component: <Section1 />, index: 0 },\n        { type: \"custom\", component: <Section2 />, index: 1 },\n      ],\n    },\n  ]}\n/>\n```\n\n### MetadataManager\n\nAn internal component (used automatically by `PageGenerator`) that applies resolved metadata to the page.\n\n- Writes to `document.head` on web (title, meta, link, JSON-LD script tags)\n- Is a **silent no-op on React Native** (`typeof document === 'undefined'`)\n- Supports dynamic metadata evaluation via functions that receive `{ get, set }`\n\n### Cross-Platform Containers\n\n`@gaddario98/react-pages` is **platform-agnostic by design** — it imports no React DOM or React Native–specific APIs. All rendering logic (forms, queries, metadata, dependency tracking) is decoupled from layout, which is injected externally via five configurable container slots in `pageConfig`:\n\n| Slot              | Role                                            | Default                      |\n| ----------------- | ----------------------------------------------- | ---------------------------- |\n| `PageContainer`   | Outermost page wrapper (navigation integration) | `({ children }) => children` |\n| `BodyContainer`   | Scrollable body container                       | `({ children }) => children` |\n| `HeaderContainer` | Header slot (receives `renderInHeader` items)   | `({ children }) => children` |\n| `FooterContainer` | Footer slot (receives `renderInFooter` items)   | `({ children }) => children` |\n| `ItemsContainer`  | Children wrapper for `type: \"container\"` items  | `({ children }) => children` |\n\nOn **web**, replace these with `div` elements and CSS layouts. On **React Native**, replace them with `View`, `ScrollView`, etc. The `PageGenerator` component itself does not change — only the container implementations differ. See [React Native & Ionic Integration](#react-native--ionic-integration) for complete setup examples.\n\n### RenderComponents\n\nAn exported component that routes a `ContentItem` to the correct renderer based on its `type` (`\"custom\"` → `RenderComponent`, `\"container\"` → `Container`).\n\n**When to use:** rendering a `ContentItem` outside of `PageGenerator` (e.g. in a custom page shell) or building custom orchestrators that reuse the library's rendering pipeline.\n\n---\n\n## Features\n\n### SEO & Metadata\n\nThe `meta` prop accepts a rich `MetadataConfig` object. All values can be static strings or evaluator functions that receive `{ get, set }` for dynamic metadata based on page state.\n\n**Supported metadata:**\n\n- Page title and description\n- Open Graph (title, description, image, URL, type, article fields)\n- Twitter Card\n- Canonical URL and `hreflang` alternates\n- JSON-LD structured data (schema.org)\n- AI crawler hints (`contentClassification`, `modelHints`, `contextualInfo`)\n- Robots meta tags (`noindex`, `nofollow`, `noarchive`, `nosnippet`, `maxSnippet`, `maxImagePreview`)\n- Icons and PWA manifest\n- Custom meta tags\n\n```tsx\n<PageGenerator\n  id=\"seo-page\"\n  meta={{\n    title: \"Product Details\",\n    description: \"High-quality product with amazing features\",\n    keywords: [\"product\", \"quality\"],\n    openGraph: {\n      title: \"Check out this product!\",\n      description: \"Amazing features included\",\n      image: \"https://example.com/og-image.png\",\n      url: \"https://example.com/product\",\n      type: \"product\",\n    },\n    structuredData: {\n      type: \"Product\",\n      schema: {\n        name: \"Product Name\",\n        price: \"99.99\",\n      },\n    },\n    aiHints: {\n      contentClassification: \"product-page\",\n      contextualInfo: \"Product information page\",\n      excludeFromIndexing: false,\n    },\n    robots: {\n      noindex: false,\n      nofollow: false,\n      noarchive: false,\n    },\n  }}\n  contents={[...]}\n/>\n```\n\n---\n\n### Form Management\n\nForm configuration is passed via the `form` prop. Under the hood it uses `@gaddario98/react-form`.\n\n**Capabilities:**\n\n- Field types: text, email, password, textarea, select, checkbox, radio, date, and more\n- Built-in validation: required, pattern, min/max length, custom validators\n- Default values sourced from a query result via `defaultValueQueryKey` + `defaultValueQueryMap`\n- Form state tracking: values, errors, touched fields, submission state\n- Submit buttons configured declaratively, with access to mutations via `get()`\n- Per-field `debounceDelay` to reduce re-renders on fast typing\n\n```tsx\n<PageGenerator\n  id=\"form-page\"\n  form={{\n    defaultValues: { email: \"\", message: \"\" },\n    data: [\n      {\n        name: \"email\",\n        type: \"email\",\n        placeholder: \"your@email.com\",\n        rules: {\n          onChange: ({ value }) => !value ? \"Email is required\" : undefined,\n        },\n      },\n      {\n        name: \"message\",\n        type: \"textarea\",\n        placeholder: \"Your message\",\n      },\n    ],\n    submit: ({ get }) => {\n      const sendEmail = get(\"mutation\", \"sendEmail.mutateAsync\");\n      const isPending = get(\"mutation\", \"sendEmail.isPending\", false);\n\n      return [\n        {\n          values: [\"email\", \"message\"],\n          component: ({ onClick }) => (\n            <button onClick={onClick} disabled={isPending}>\n              {isPending ? \"Sending...\" : \"Send\"}\n            </button>\n          ),\n          onSuccess: sendEmail,\n        },\n      ];\n    },\n  }}\n  contents={[...]}\n/>\n```\n\n---\n\n### Query & Mutation Management\n\nQueries and mutations are configured via the `queries` prop and managed by `@gaddario98/react-queries` (built on TanStack Query). Query results are scoped to the page and accessible via `get(\"query\", ...)` and `get(\"mutation\", ...)`.\n\n**Capabilities:**\n\n- Type-safe query definitions with `QueryDefinition`\n- Queries can be static configs or functions receiving `{ get, set }` for dependent queries\n- Full TanStack Query options (`staleTime`, `enabled`, `refetchInterval`, etc.)\n- Query results automatically invalidated on mutation success\n\n```tsx\n<PageGenerator\n  id=\"data-page\"\n  queries={[\n    {\n      type: \"query\",\n      key: \"products\",\n      queryConfig: {\n        queryKey: [\"products\"],\n        queryFn: () => fetch(\"/api/products\").then((r) => r.json()),\n        staleTime: 1000 * 60 * 5, // 5 minutes\n      },\n    },\n    {\n      type: \"mutation\",\n      key: \"addProduct\",\n      mutationConfig: {\n        mutationFn: (newProduct) =>\n          fetch(\"/api/products\", {\n            method: \"POST\",\n            body: JSON.stringify(newProduct),\n          }),\n      },\n    },\n  ]}\n  contents={[\n    {\n      type: \"custom\",\n      component: ({ get }) => {\n        const isLoading = get(\"query\", \"products.isLoading\", false);\n        const products = get(\"query\", \"products.data\", []);\n\n        return isLoading ? (\n          <p>Loading...</p>\n        ) : (\n          <ul>\n            {products.map((p) => (\n              <li key={p.id}>{p.name}</li>\n            ))}\n          </ul>\n        );\n      },\n    },\n  ]}\n/>\n```\n\n---\n\n### Authentication & Access Control\n\nWhen `enableAuthControl` is `true` (default), the page checks `pageConfig.isLogged(authValues)` before rendering. If the check fails, it renders `pageConfig.authPageProps` instead.\n\n```tsx\n// Configure globally\nsetPageConfig((prev) => ({\n  ...prev,\n  isLogged: (user) => !!user?.token,\n  authValues: currentUser,\n  authPageProps: {\n    id: \"login\",\n    contents: [{ type: \"custom\", component: <LoginForm /> }],\n  },\n}));\n\n// Protect a page\n<PageGenerator\n  id=\"protected-page\"\n  enableAuthControl={true}\n  contents={[...]}\n/>\n```\n\n---\n\n### Internationalization\n\nThe library does not depend on any i18n library. You wire your own translation function via `pageConfig.translateText` and scope it per page with the `ns` prop.\n\n```tsx\n// Global setup — wire your i18n solution once\nsetPageConfig((prev) => ({\n  ...prev,\n  locale: \"it\",\n  translateText: (key, options) => i18next.t(key, options),\n}));\n\n// Per-page usage\n<PageGenerator\n  id=\"i18n-page\"\n  ns=\"myPage\"\n  meta={{\n    title: i18next.t(\"myPage:meta.title\"),\n    description: i18next.t(\"myPage:meta.description\"),\n  }}\n  contents={[...]}\n/>\n```\n\n---\n\n### Performance Optimization\n\nThe library tracks which data keys each component reads via the `get()` function and re-renders only the affected items when those values change. No manual dependency declarations needed.\n\n| Technique                             | Impact                                      |\n| ------------------------------------- | ------------------------------------------- |\n| Automatic `get()` dependency tracking | 90% reduction in query-driven re-renders    |\n| Form `debounceDelay`                  | Up to 80% reduction in keystroke re-renders |\n| `React.memo` + `fast-deep-equal`      | Stable component identity across renders    |\n| React Compiler                        | Automatic memoization at compile time       |\n\n```tsx\n<PageGenerator\n  id=\"optimized-page\"\n  form={{\n    data: [{ name: \"search\", debounceDelay: 300 }],\n  }}\n  contents={[\n    {\n      type: \"custom\",\n      component: ({ get }) => {\n        // Reading these keys registers dependencies automatically\n        const search = get(\"form\", \"search\", \"\");\n        const results = get(\"query\", \"results.data\", []);\n        return <SearchResults search={search} results={results} />;\n      },\n    },\n  ]}\n/>\n```\n\n**Tips:**\n\n1. **Use `get()` inside component functions** — the library registers dependencies automatically\n2. **Apply `debounceDelay`** on search and filter fields\n3. **Import selectively** — use `/hooks`, `/config`, `/utils` sub-paths instead of the main entry\n4. **Wrap stable components with `React.memo`** if they receive no dynamic props\n\n### Bundle Size (All Tree-Shakeable)\n\n| Entry Point                      | Size   | Gzipped |\n| -------------------------------- | ------ | ------- |\n| Main (`@gaddario98/react-pages`) | ~90 KB | ~11 KB  |\n| `/components`                    | ~90 KB | ~11 KB  |\n| `/hooks`                         | ~76 KB | ~10 KB  |\n| `/config`                        | ~12 KB | ~2 KB   |\n| `/utils`                         | ~8 KB  | ~2 KB   |\n\n---\n\n## API Reference\n\n### PageGenerator Props\n\n| Prop                | Type                                  | Default | Description                                                     |\n| ------------------- | ------------------------------------- | ------- | --------------------------------------------------------------- |\n| `id`                | `string`                              | —       | Unique page identifier **(required)**                           |\n| `contents`          | `ContentItemsType<F, Q, V>`           | `[]`    | Page content items or a function returning them                 |\n| `queries`           | `QueryPageConfigArray<F, Q, V>`       | `[]`    | Query and mutation definitions                                  |\n| `form`              | `FormPageProps<F, Q, V>`              | —       | Form configuration and fields                                   |\n| `variables`         | `V`                                   | —       | Page-scoped state variables, accessible via `get(\"state\", ...)` |\n| `viewSettings`      | `ViewSettings \\| MappedItemsFunction` | `{}`    | Layout and behavior settings                                    |\n| `meta`              | `MetadataConfig<F, Q, V>`             | —       | SEO and metadata configuration                                  |\n| `ns`                | `string`                              | —       | i18n namespace                                                  |\n| `enableAuthControl` | `boolean`                             | `true`  | Whether to check authentication before rendering                |\n\n### Content Item Types\n\n#### `type: \"custom\"`\n\n```tsx\n{\n  type: \"custom\",\n  component: React.JSX.Element | ((props: FunctionProps) => React.JSX.Element),\n  index?: number,\n  renderInHeader?: boolean,\n  renderInFooter?: boolean,\n  hidden?: boolean | ((props: FunctionProps) => boolean),\n  key?: string,\n  isDraggable?: boolean,\n  isInDraggableView?: boolean,\n  /** @deprecated — use get() inside component to track dependencies automatically */\n  usedQueries?: string[],\n}\n```\n\n#### `type: \"container\"`\n\n```tsx\n{\n  type: \"container\",\n  items: ContentItem[],\n  component?: React.ComponentType,  // custom ItemsContainer for this group\n  // all optional props from \"custom\" apply here too\n}\n```\n\n### `get` / `set` Interface\n\n`FunctionProps<F, Q, V>` provides the `get` and `set` accessors passed to component functions, query/mutation configs, submit handlers, and metadata evaluators:\n\n| Signature                                  | Returns                                          |\n| ------------------------------------------ | ------------------------------------------------ |\n| `get(\"query\", \"myQuery.data\")`             | Typed query data                                 |\n| `get(\"query\", \"myQuery.isLoading\", false)` | `boolean` (with default)                         |\n| `get(\"mutation\", \"myMutation.mutate\")`     | Typed mutate function                            |\n| `get(\"form\", \"fieldName\", \"\")`             | Typed field value                                |\n| `get(\"state\", \"myVar\")`                    | Value from `variables` prop                      |\n| `set(\"form\")`                              | Returns `setValue` from `@gaddario98/react-form` |\n| `set(\"state\")`                             | Returns a setter for `variables`                 |\n\n### Metadata Configuration\n\n```tsx\n{\n  // Basic\n  title?: string | ((context: FunctionProps) => string),\n  description?: string | ((context: FunctionProps) => string),\n  keywords?: string[] | ((context: FunctionProps) => string[]),\n  canonical?: string | ((context: FunctionProps) => string),\n  lang?: string,\n  author?: string,\n  viewport?: string,\n  themeColor?: string,\n\n  // Indexing\n  robots?: {\n    noindex?: boolean,\n    nofollow?: boolean,\n    noarchive?: boolean,\n    nosnippet?: boolean,\n    maxImagePreview?: \"none\" | \"standard\" | \"large\",\n    maxSnippet?: number,\n  },\n  disableIndexing?: boolean,  // shorthand: sets noindex + nofollow\n\n  // Open Graph\n  openGraph?: {\n    type?: \"website\" | \"article\" | \"product\" | \"profile\",\n    title?: string | ((context: FunctionProps) => string),\n    description?: string | ((context: FunctionProps) => string),\n    image?: string | OpenGraphImage | ((context: FunctionProps) => string | OpenGraphImage),\n    images?: OpenGraphImage[] | ((context: FunctionProps) => OpenGraphImage[]),\n    url?: string | ((context: FunctionProps) => string),\n    siteName?: string,\n    locale?: string,\n    article?: OpenGraphArticle,  // used when type=\"article\"\n  },\n\n  // Twitter Card\n  twitter?: {\n    card?: \"summary\" | \"summary_large_image\" | \"app\" | \"player\",\n    site?: string,\n    creator?: string,\n    title?: string | ((context: FunctionProps) => string),\n    description?: string | ((context: FunctionProps) => string),\n    image?: string | ((context: FunctionProps) => string),\n    imageAlt?: string | ((context: FunctionProps) => string),\n  },\n\n  // Alternates / hreflang\n  alternates?: {\n    canonical?: string,\n    languages?: Record<string, string>,  // locale → URL\n    media?: Record<string, string>,\n    types?: Record<string, Array<{ url: string; title?: string }>>,\n  },\n\n  // Icons & PWA\n  icons?: {\n    icon?: string | IconConfig | IconConfig[],\n    apple?: string | IconConfig | IconConfig[],\n    shortcut?: string,\n  },\n  manifest?: string,\n\n  // Structured Data (schema.org JSON-LD)\n  structuredData?: {\n    type: \"Article\" | \"Product\" | \"WebPage\" | \"FAQPage\" | \"Organization\"\n        | \"Person\" | \"WebSite\" | \"BreadcrumbList\",\n    schema: Record<string, unknown> | ((context: FunctionProps) => Record<string, unknown>),\n  },\n\n  // AI Crawler Hints\n  aiHints?: {\n    contentClassification?: string | ((context: FunctionProps) => string),\n    modelHints?: string[] | ((context: FunctionProps) => string[]),\n    contextualInfo?: string | ((context: FunctionProps) => string),\n    excludeFromIndexing?: boolean,\n  },\n\n  // Custom tags\n  customMeta?: Array<MetaTag> | ((context: FunctionProps) => Array<MetaTag>),\n}\n```\n\n### Form Configuration\n\n```tsx\n{\n  data?: Array<FormManagerConfig | ((props: FunctionProps) => FormManagerConfig)>,\n  submit?: Array<Submit> | ((props: FunctionProps) => Array<Submit>),\n  defaultValues?: Partial<F>,\n  defaultValueQueryKey?: string[],\n  defaultValueQueryMap?: (data: QueryResult) => Partial<F>,\n  debounceDelay?: number,  // global debounce for all fields (ms)\n}\n```\n\n### Query Configuration\n\n```tsx\n// Query\n{\n  type: \"query\",\n  key: string,\n  queryConfig?: QueryProps | ((props: FunctionProps<F, Q>) => QueryProps),\n}\n\n// Mutation\n{\n  type: \"mutation\",\n  key: string,\n  mutationConfig?: MutationConfig | ((props: FunctionProps<F, Q>) => MutationConfig),\n}\n```\n\n---\n\n## Advanced Patterns\n\n### Dependent Queries\n\nPass `queryConfig` as a function to access resolved query data when defining a subsequent query:\n\n```tsx\n<PageGenerator\n  id=\"dependent-queries\"\n  queries={[\n    {\n      type: \"query\",\n      key: \"user\",\n      queryConfig: { queryKey: [\"user\"], queryFn: fetchUser },\n    },\n    {\n      type: \"query\",\n      key: \"posts\",\n      queryConfig: ({ get }) => ({\n        queryKey: [\"posts\", get(\"query\", \"user.data.id\")],\n        queryFn: () =>\n          fetch(`/api/users/${get(\"query\", \"user.data.id\")}/posts`).then((r) => r.json()),\n        enabled: !!get(\"query\", \"user.data.id\"),\n      }),\n    },\n  ]}\n  contents={({ get }) => [...]}\n/>\n```\n\n### Dynamic Content Driven by Query State\n\nUse `contents` as a function to conditionally build the content array based on query state:\n\n```tsx\n<PageGenerator\n  id=\"dynamic-page\"\n  queries={[...]}\n  contents={({ get }) => [\n    {\n      type: \"custom\",\n      component: (\n        <div>\n          {get(\"query\", \"data.isLoading\", false) && <Spinner />}\n          {get(\"query\", \"data.error\") && (\n            <Error message={get(\"query\", \"data.error.message\", \"\")} />\n          )}\n          {get(\"query\", \"data.data\") && (\n            <DataDisplay data={get(\"query\", \"data.data\")} />\n          )}\n        </div>\n      ),\n    },\n  ]}\n/>\n```\n\n### Form-Driven Dynamic Content\n\nShow different content sections based on current form values:\n\n```tsx\n<PageGenerator\n  id=\"form-with-dynamic-content\"\n  form={{\n    data: [\n      { name: \"type\", type: \"select\", options: [\"A\", \"B\", \"C\"] },\n      { name: \"details\", type: \"textarea\" },\n    ],\n  }}\n  contents={({ get }) => [\n    {\n      type: \"custom\",\n      component: <TypeSpecificContent type={get(\"form\", \"type\")} />,\n    },\n  ]}\n/>\n```\n\n---\n\n## TypeScript Support\n\n`PageGenerator` is fully generic over form data (`F`), query definitions (`Q`), and page-scoped variables (`V`), providing end-to-end type safety including autocomplete for field names and type-safe query key paths.\n\n```tsx\ninterface UserFormData {\n  username: string;\n  email: string;\n}\n\ntype PageQueries = [\n  QueryDefinition<\"users\", \"query\", never, User[]>,\n  QueryDefinition<\"createUser\", \"mutation\", UserFormData, User>,\n];\n\n<PageGenerator<UserFormData, PageQueries>\n  id=\"typed-page\"\n  form={{\n    data: [\n      { name: \"username\", type: \"text\" }, // autocompleted: only valid field names\n      { name: \"email\", type: \"email\" },\n    ],\n  }}\n  contents={({ get }) => [\n    {\n      type: \"custom\",\n      component: (() => {\n        const mutate = get(\"mutation\", \"createUser.mutate\");\n        const formValues = {\n          username: get(\"form\", \"username\", \"\"),\n          email: get(\"form\", \"email\", \"\"),\n        };\n        return <button onClick={() => mutate(formValues)}>Create User</button>;\n      })(),\n    },\n  ]}\n/>;\n```\n\n---\n\n## React Native & Ionic Integration\n\n### React Native Setup\n\nMount a provider once near the root to replace the container slots with native components:\n\n```tsx\n// rnPages/setup.tsx\nimport { View, ScrollView } from \"react-native\";\nimport { usePageConfigState } from \"@gaddario98/react-pages\";\nimport { useEffect } from \"react\";\n\nexport function ReactNativePageProvider({\n  children,\n}: {\n  children: React.ReactNode;\n}) {\n  const [, setPageConfig] = usePageConfigState();\n\n  useEffect(() => {\n    setPageConfig((prev) => ({\n      ...prev,\n      PageContainer: ({ children, id }) => (\n        <View style={{ flex: 1 }} accessibilityLabel={id}>\n          {children}\n        </View>\n      ),\n      BodyContainer: ({ children }) => (\n        <ScrollView contentContainerStyle={{ flexGrow: 1 }}>\n          {children}\n        </ScrollView>\n      ),\n      HeaderContainer: ({ children }) => <View>{children}</View>,\n      FooterContainer: ({ children }) => <View>{children}</View>,\n      ItemsContainer: ({ children }) => <View>{children}</View>,\n    }));\n  }, [setPageConfig]);\n\n  return <>{children}</>;\n}\n```\n\n```tsx\n// App.tsx\nexport default function App() {\n  return (\n    <ReactNativePageProvider>\n      <NavigationContainer>{/* your screens */}</NavigationContainer>\n    </ReactNativePageProvider>\n  );\n}\n```\n\nOnce configured, `PageGenerator` works identically on React Native:\n\n```tsx\nimport { PageGenerator } from \"@gaddario98/react-pages\";\nimport { Text } from \"react-native\";\n\nexport function ProfileScreen() {\n  return (\n    <PageGenerator\n      id=\"profile-screen\"\n      queries={[\n        {\n          type: \"query\",\n          key: \"profile\",\n          queryConfig: {\n            queryKey: [\"profile\"],\n            queryFn: fetchProfile,\n          },\n        },\n      ]}\n      contents={({ get }) => [\n        {\n          type: \"custom\",\n          component: (\n            <Text>{get(\"query\", \"profile.data.name\", \"Loading...\")}</Text>\n          ),\n        },\n      ]}\n    />\n  );\n}\n```\n\n### Ionic Integration\n\nWithin the monorepo, `@gaddario98/react-pages` is extended by `@gaddario98/react-ionic-pages` which overrides `PageContainer` with Ionic's `<IonPage>` component:\n\n```tsx\n// react-ionic-pages/components/page/index.tsx\nimport React from \"react\";\nimport { IonPage } from \"@ionic/react\";\nimport { withMemo } from \"@gaddario98/utiles\";\nimport { pageConfig } from \"@gaddario98/react-pages\";\n\nexport const IonicPageContainer = withMemo(\n  ({ children, id }: React.ComponentProps<typeof pageConfig.PageContainer>) => {\n    return (\n      <IonPage id={id} key={id}>\n        {children}\n      </IonPage>\n    );\n  },\n);\n```\n\n### Compatibility Summary\n\n| Feature           | Behavior on React Native                              |\n| ----------------- | ----------------------------------------------------- |\n| Form management   | Works — field components are provided by the consumer |\n| Query / Mutation  | Works — no DOM dependency                             |\n| `MetadataManager` | Silent no-op                                          |\n\n---\n\n## Troubleshooting\n\n### Form Not Submitting\n\n- Ensure `submit` is configured in the `form` prop\n- Check that form validation passes before submission\n- Verify the `onSuccess` callback (or mutation) does not throw\n\n### Queries Not Loading\n\n- Check that `queryFn` is correctly defined\n- Verify `enabled` is not set to `false`\n- Inspect network requests in DevTools\n\n### Metadata Not Appearing\n\n- Ensure `meta` is passed to `PageGenerator`\n- Confirm you are on a web platform (`document.head` must be available)\n- For SSR: use `collectMetadataToHtml()` from `/config` to inject tags server-side\n\n### Re-renders Too Frequent\n\n- Use `component: ({ get }) => ...` instead of passing pre-computed values as JSX props\n- Add `debounceDelay` to text and search fields\n- Wrap stable external components with `React.memo`\n\n### TypeScript Errors\n\n- Ensure the generic types `<F, Q, V>` match your form interface, query tuple, and variables type\n- Use `as const` assertions on query key arrays\n- Verify that all required peer dependencies are installed\n\n---\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## Support\n\n- [Open an issue on GitHub](https://github.com/gaddario98/react-pages/issues)\n","readmeFilename":"README.md"}