{"_id":"react-admin-crud-manager","_rev":"50-1588fb485efc607c1601eb1d43a01f4c","name":"react-admin-crud-manager","dist-tags":{"latest":"1.3.0"},"versions":{"1.0.0":{"name":"react-admin-crud-manager","version":"1.0.0","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.0","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"66d2d1601015b56329a8f45b68acd37d3b36fc93","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.0.tgz","fileCount":29,"integrity":"sha512-Yr1aofliLTeEqRVjnJATtNnQbZTbRHA4FylDp8U7kkQAoIwXzMS1O4QKDuwLRliphA7cHhVJgKZBGuEyDlFdlA==","signatures":[{"sig":"MEYCIQDiQcVxkC4VJExa7HhrN0/HAold2I6BSnm4oaLlbOfIcAIhAKy1fU7Vo6DmHNK/m5/yoHh4RMaqjFCdd4myzBupUX1F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116797},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"ddeacf801df926fab4edb2defbeeff4eacd390d2","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","react":"18.2.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","react-dom":"18.2.0","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.0_1770989879653_0.5348576620742476","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"react-admin-crud-manager","version":"1.0.1","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.1","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"3c0d27dab561205bb6949decec88f18c0d9eecfe","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.1.tgz","fileCount":28,"integrity":"sha512-fAL0ds8v5N31XumgD+C7IUixHKcO7INcPKOHCcJZuyrY4Jtf/V+0ELvOi6vny3fv/St1IwzrbJ9+B+28vJ4yfQ==","signatures":[{"sig":"MEYCIQCBH1LgwQFHttYRMd1euts7C5fnnaH9CnVu6WbB7egKQAIhAO9ZK2t3bWfnWy5L4sSYEUQGvY45dqArMza3d5T4zYBH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":116617},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.esm.js","gitHead":"e641a24602e1b0ccccce3b935e81818995a61016","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","react":"18.2.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","react-dom":"18.2.0","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.1_1771217130854_0.5512675834760559","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"react-admin-crud-manager","version":"1.0.2","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.2","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"11fd456ca287c2ddeeef53a8664757f45cfeac8b","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.2.tgz","fileCount":7,"integrity":"sha512-uJah4xYDkS1Im2ByOSSLQdZeJHD7gPsnRjZQqQMPwFBBsscjtqHO7fg5HydeFFX5M6+EvQqtYYdKPy9qFYkwWA==","signatures":[{"sig":"MEUCIHdbIlEiK3eER1+cesbx74r8YImUcXBxPuzXG2LVK3qnAiEA3lHZdtEC0mzeFZ2zCiB0QuOKN1qCF4wcvNhe9OOp8M4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704654},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"441e6fcc6d989ef5c59333bac46876e45fbcc50a","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","react":"18.2.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","react-dom":"18.2.0","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.2_1771218654535_0.5470256012244845","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"react-admin-crud-manager","version":"1.0.3","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.3","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"874b39099411f7454cdbec57dd62b46e9e2a4e58","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.3.tgz","fileCount":7,"integrity":"sha512-SCPJJdC3srfuzeasTvQy0sZ1u7MyThbizKle3Q4o8Zdlkns2UGfmswykY4/KKOpwq0Yzn5ipmXBoHlgJcMIb8A==","signatures":[{"sig":"MEUCIQDHeeqVIxj/K4OmDNh7jjzmrgfpkJ712icaNUElKpFWvQIgBCG/tde/mGnh7kMFcdc5ZdLxNByTdQMNlrtd3uRcmSk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704654},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"dd63477fbb76ce631b7384ef910257258c56bda8","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","react":"18.2.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","react-dom":"18.2.0","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.3_1771219367280_0.3234746463754694","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"react-admin-crud-manager","version":"1.0.4","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.4","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"a7cc6849812f9491f8a2dbae608480a1e67a7270","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.4.tgz","fileCount":7,"integrity":"sha512-ErxiWbF7KqKNzRmkArwHnF2eAQMBP3o4CTG6IIfpFbniufxc4vc5ja5L1qi545cuCv+AgBqBCPTBh6LBM7sRIA==","signatures":[{"sig":"MEQCICbyFMYtWoGjPGBO+R7QE+qBkdvpL1/SloWol+HKE7MYAiBPViazP9MLz6eLhiijj/sSVEXDKdCY2l9l08seK71V9g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":704844},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"e6d18af5e630cf48be17cfe8c00b395b2a5b7b43","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","react":"18.2.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","react-dom":"18.2.0","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.4_1771221917743_0.6454880977631268","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"react-admin-crud-manager","version":"1.0.5","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.5","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6629f7421d94962c5137dfc01577a3de32f67738","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.5.tgz","fileCount":7,"integrity":"sha512-+G4/ArHr576wAdfVUNn5hsxZ9DsbTlNOceCF0VFtAr90i4zEKb+QrPIeaBD39JLqK9q//LXxNKGnFJ32qFiBKA==","signatures":[{"sig":"MEUCIQC2bgThKTwQ/pT3B58O0/LCljhpvVpqTt5Xjzg9+x86qwIgUEZZHCfHoz2gAjgSVm1dKgbfEWQ6NVL2Re+NwdoJDmg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":604671},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"5879341dd05826192ecc7122555fab405a6dc69a","scripts":{"dev":"vite","build":"vite build","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.5_1771223161653_0.4094499523649129","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"react-admin-crud-manager","version":"1.0.6","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.6","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"a5114063532c66b5772f5b60bd9a9b7b1bbd62ca","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.6.tgz","fileCount":8,"integrity":"sha512-7cac4exS65z053vL6MohVLo5XM6UtlgeJu7eR6RhayH2oaLVYDDn9TGHBnfQFhMrX34cdoxD3d5ygwMm4UEv3g==","signatures":[{"sig":"MEYCIQD0iRWfs7sL+46NLR9zoDvROCYrZ1FEVqw/FvwaLS6xhAIhAIq0CQd+yzNbNivPDTduOTgh0WtvI3sy8ydOquYvReBU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650513},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"16b1064c77722f395933b2caea74339fe84875eb","scripts":{"dev":"vite","build":"vite build","preview":"vite preview","build:css":"node build-css.js"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.6_1771225525266_0.4185161700050073","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"react-admin-crud-manager","version":"1.0.7","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.7","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6cdd5a76221af7774c5b1ee1d88a4381e28b7f41","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.7.tgz","fileCount":8,"integrity":"sha512-fjE4uOG2eUv3E0WyxYIyb/brq5iNyFSrQq30OSVbxiRlOfTg6PJ5KWBgrSkzveYZGSpZAjtBn3pXopmyBAPnTw==","signatures":[{"sig":"MEYCIQCWOFycXYvJjMwNKobDePjsssvi+2VkTZtRj7P1WSSM9wIhANDc4PEZoIuHAU2+yHLMrubDkehC8pOvAkCBeVb9Z1NB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":650349},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"b7f15c64bd96cba21c9bf766f57da259225dd3f8","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.7_1771226910745_0.61809538646669","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"react-admin-crud-manager","version":"1.0.8","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.8","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"aff98219d1f2d72920930d62d5d7d66260613cde","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.8.tgz","fileCount":8,"integrity":"sha512-Nq8lZTmcPshZBvdPRUm4yDDKjEr+KpqIX2s7yis9m/rdD0hl7Lt9dEWzY0feoIZIGRzqocFM+6bjG/zJh01h1Q==","signatures":[{"sig":"MEUCIQCeaYrDD+hkCU7f8CQbv/TbzEZ8v+zDiwW6Z7boqQ7BTAIgdiTulk3S+Lp2ofLSG+1Ci5OAULGJwEjAxFw13MZXfIQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":659615},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"1149853cbfc9e96addff5cb95f997945593feea3","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.8_1771311146890_0.8353645365270363","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"react-admin-crud-manager","version":"1.0.9","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.9","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"d5c70f4e50a2646275133dfec8a020d8bd8815d7","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.9.tgz","fileCount":8,"integrity":"sha512-eihpTGE9lkQkhAXxnc8flOziTJ9cmnin9Fnxm3jGD0H0fl5r2PYHDnaTG7i45H2eqe0/jIFR4+CBUv9gYRbx8w==","signatures":[{"sig":"MEYCIQC0KMV23ptXMJ6J/x7NdEJXmlCS7FIEv0DJlI8HQIEbgAIhAKZdW6KZIGirXs5782OHz9AjJ4tTpcOB06w8fnkDs9CA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":659398},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"c4af491d1e62e2109ff0b00a6e5ba64856a8ef09","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.9_1771311325829_0.3582697339194685","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"react-admin-crud-manager","version":"1.0.10","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.10","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"83059ed7cf20dbf8cad1f51593626bc756931d36","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.10.tgz","fileCount":8,"integrity":"sha512-yebntRWbGt33TXmJqCYlkZd+bcvuAC7aUY2XV0CwOPK+Qp9BlWHbeiy65Cr/K2B8dAvMdqiuTuSZT9a2H0gXaA==","signatures":[{"sig":"MEUCIQDHFwiKrUA3m2YNegVXNeSaNJ+dLD5pFj0ziWL18jG6ewIgZLUsgBNLVpJNuzIUOO362JR48pDvg8CrOFXkLxtFcuo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":659694},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"bf938b4aa0b0086154bcd7a34d89d464c6cbcac5","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.10_1771409567202_0.29923102517542266","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"react-admin-crud-manager","version":"1.0.11","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.11","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"5baaedf1128d343689cbbee30ef4e66dd2b21cc6","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.11.tgz","fileCount":8,"integrity":"sha512-8Orzyy237acuW2OOT1FL05ANxK9fqhtoMlk/DZZfaT/WIwWqVXQr+wgqnX9DKM9t/mOLd8xNN8iWgk7yb1JQ9g==","signatures":[{"sig":"MEYCIQCENLjSCRPVF3eAbPYDcRex0/8bEOFGTdjheOB9IAj2RAIhAN0zXLxINCW0QoQ75h4Z5w/jrG7Xh/GupF0y4HF1NcLV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":599485},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"effc588ffe3cece53cc55ab176267b4f6f9197df","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.11_1771475675028_0.2984559892443881","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"react-admin-crud-manager","version":"1.0.12","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.12","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"ebcc2340b7c425d183ec4e172bdb3af6a18c3177","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.12.tgz","fileCount":8,"integrity":"sha512-cKHzGp9B3v1z07iyEUKSWKjmosHEaypRqw8l2+TG309rBpHKWzzkXu5SXYJ7Q9e4OaYc5pGRC5wr43Y+msS6hw==","signatures":[{"sig":"MEQCICXrSCIIDG7C+NIm6/37N0oyE4Y+mFINbMgKK1GHcsgYAiBvRdv2p0mjxjpmEgt1aVmzjNKNW94lLf36cRU8AhOQKA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":603068},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"bb4020f6d5c66f0f2fdd4057b220ed4e196bcf45","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.12_1771483354630_0.7025101114316585","host":"s3://npm-registry-packages-npm-production"}},"1.0.13":{"name":"react-admin-crud-manager","version":"1.0.13","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.13","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"0b4d2714e374ca96c21763b64bd76a62f645ab1e","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.13.tgz","fileCount":7,"integrity":"sha512-l65jTi+fJVML9mkdWhTQBAKyKdKSns2YwftxAyJlFvi3A4vT3EhgKWIJPfEAQBxFHif9+CUjbhtVJy1GqeJp0g==","signatures":[{"sig":"MEYCIQCkzKTUdD/pDOdAB4AJqqs3yqms7iZhgh3CSu+Bc7oYCQIhALmagVICEVajXurG5YIQAHieUCrSOPyeihwyii6JBwp9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":573498},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"f20ee96b72225070a834e722dc1c9198f600a0a5","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.13_1771487050238_0.7560506024141449","host":"s3://npm-registry-packages-npm-production"}},"1.0.14":{"name":"react-admin-crud-manager","version":"1.0.14","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.14","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6d2e0177d3fcd3d6b69ed318a042922d0fd38654","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.14.tgz","fileCount":7,"integrity":"sha512-+WcF7Dd/c+avJzS1JW6oSForphra1AFTUx44bTGhfILkqo32gKrBwrTVl7/BhoJhr5NVdXOGKLLs0OxZCjH9dg==","signatures":[{"sig":"MEUCIQCltmV/dzkG2h9b1QLostONZWO+JqbxmFxYr3mOIBzIDgIgPUp2oiruD8R+zBYRDHPYxunK3myIPKs/Lp9aPesJH+g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":600936},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"22060b71cf7298945b56f4849f2f96862645c179","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.14_1771583954663_0.4026881289891704","host":"s3://npm-registry-packages-npm-production"}},"1.0.15":{"name":"react-admin-crud-manager","version":"1.0.15","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.15","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"ea285d7e4b1551bffc4226d11e369cc16e452a43","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.15.tgz","fileCount":7,"integrity":"sha512-Y91I8QN5VD1gCNHa7gx8so8Af2bbnttzlOJ033DhJlI4bUZ1mkVhWxbGSl21qxucFFHSWeea+yIkmm4On4M3Tg==","signatures":[{"sig":"MEUCIQCAN9I2rIKAYAf74rR9xNjnwDPUCUpSA8ACZ+Soxy2MHwIgc3HYHOyoOIIJe1WXWhxcJQCzjlbz2G8NYxKAdBjzGBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":622958},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"fdfc4cb37b14cf7a45d7e29fde62ecc3090a500d","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.15_1771839992934_0.5282716641837752","host":"s3://npm-registry-packages-npm-production"}},"1.0.16":{"name":"react-admin-crud-manager","version":"1.0.16","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.16","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6472d6024c39cdd5bec2fcbcaff000d7fbe2caea","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.16.tgz","fileCount":7,"integrity":"sha512-1xMxbuwOTutpQTW69BzWFwHKs11x0Hm6OZvTpr6wxa+eTyV+HfFeXra+wtDU0iDvuLqTEVf86l3TXSqyI+Y+qg==","signatures":[{"sig":"MEUCIDW6ayTsiYQq/YGETlqo/Pv1+du1pyeRku1nSr9TdS5UAiEApF9w7LhYv4tGtbj2TNXZIyFIRMLk7g8MjNsfMVaTt4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623177},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"64b4d928be1ee1dde5420c83c2269af1b9f95dac","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.16_1771842293028_0.0011909395002289713","host":"s3://npm-registry-packages-npm-production"}},"1.0.17":{"name":"react-admin-crud-manager","version":"1.0.17","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.17","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"9f06785005c62beb995c9038786e0f4866e31468","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.17.tgz","fileCount":7,"integrity":"sha512-jAZwf2rsfniLO73a67+6vriQOL8773pVV9XwcaQ2lJL+TuefK561XXHf9tBRjEls1cxRNdc8ap6gNxgV/5AuFw==","signatures":[{"sig":"MEYCIQCh9HJvW9Jhn4upVy4uVCrkWq9hD/NmDGQtQjQuR+Vn6AIhALmhslADbMWgbusYheqjM7PxjlRiA5KK/zkH4rhKoogT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":623923},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"fdadd690b6f7fbd8602d49a4e81a8cda5fbd5174","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.17_1771844246042_0.17088906199773946","host":"s3://npm-registry-packages-npm-production"}},"1.0.18":{"name":"react-admin-crud-manager","version":"1.0.18","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.18","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"62c7d5e6a17dfcb66bc46b91fae4df3c26779185","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.18.tgz","fileCount":7,"integrity":"sha512-LzyN2IYYG2MOmImqHQ+623kmlgtb4t1aQdr2Ba+y9e7+qt69SIPijxIFl5Fed5NbuuZ0YAMYDgBI5UkA27CTQg==","signatures":[{"sig":"MEYCIQDoXxNuZ4YWo6i/VBUgaDGXhtJ1QGRp0GmrR3DdkC8mcwIhAKzeh+4A06Yp8UV2tYLCalB0klxBxenJ9ZHse3k+vCbq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":625735},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"876189922a794747c45cd3f9810ca13321181f71","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.18_1771911007186_0.7043969618989347","host":"s3://npm-registry-packages-npm-production"}},"1.0.19":{"name":"react-admin-crud-manager","version":"1.0.19","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.19","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"600c010bcec83b8d224d13cf5c2234a1a13acb68","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.19.tgz","fileCount":7,"integrity":"sha512-u8rZYnjt145ENI6mMX8z7AFEdcR474MYGGhqvdnVM9Hxye5qCHQCPdFZCJIM48MsuWEhDaidkyyu+x2wZGN45g==","signatures":[{"sig":"MEQCIB20PbAA1N+cn5C7FH9TOubIZF5YmdNKh8f+QNs7yjsqAiBciMv5uz7s+ca9p1fVhn5lz1LDkZTvdpC2LDzxZCZQHg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":631901},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"f2399ae2d2ef7c8dfb70422b1b8b3cb01f607ad7","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.5.2","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"20.13.1","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.19_1772002488904_0.6418517723814694","host":"s3://npm-registry-packages-npm-production"}},"1.0.20":{"name":"react-admin-crud-manager","version":"1.0.20","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.20","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"cdfcba8890ea09323bedc4d9a3ffa502bef726f9","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.20.tgz","fileCount":7,"integrity":"sha512-orEuAdVZ5GmHbNCE5TE5u6H3r8JEg1uMJy5B4p7Gz0dUpkTuxw625E+wwTz5GglfAos6HOj/5fxBI8B71x6GGQ==","signatures":[{"sig":"MEQCIC7pEd849yEZ3EbRDYR9j8as3+OlXHlYoUaSK0AOiw2lAiBaRUOk/ptsN5484zXWn6ks7xfWJhh3XNDwrnBB091MbA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":627869},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"d826131ff9c5017682855e3bd674f73000d1839c","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.20_1772006376603_0.84976552867322","host":"s3://npm-registry-packages-npm-production"}},"1.0.21":{"name":"react-admin-crud-manager","version":"1.0.21","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.21","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"c170fa2c62435fd411297def935e151fafb816da","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.21.tgz","fileCount":7,"integrity":"sha512-Cx5cpiycV7ZMEyppz7HFR+xKwai2MoDOQrk/69Hml0IOa3fQcgSPnC3djM/QRObQRcBKOBijvQsPaMncRKbrXw==","signatures":[{"sig":"MEYCIQCy2wcHrMvvKXCP3Pl6NHU7owTcc/HOm9tduqm4VVUwFAIhALvdeNwPJop6/G9LRDB4Uz7tuvSlm9Sf3wMm/BYEt2Df","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":629203},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"156197d6c7f540a8e825dea1f4c826d3314897fa","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.21_1772012449568_0.6161954243622143","host":"s3://npm-registry-packages-npm-production"}},"1.0.22":{"name":"react-admin-crud-manager","version":"1.0.22","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.22","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"8449797f8b3ff75ba65e55c517980ffe9366500c","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.22.tgz","fileCount":7,"integrity":"sha512-u+U8BgfujA16g+ieuh+9umFVTacf5oeVlTFjDHx6pWCrawEWECWI+qzAePPOlnYV4E8TOTDKesNylgYuvpjuHg==","signatures":[{"sig":"MEYCIQC16QIw/ym65KFh0jIxiyroNl9cnhm42KlX+xc60Sm8BQIhALaDRDOF4gcp/EphpTX0jJZ4BaL3X4C4oJjk/8B5WVoa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632276},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"ff665d108deb4a967fd74dabc998bb61ede8eb73","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.22_1772015948468_0.5433572886246416","host":"s3://npm-registry-packages-npm-production"}},"1.0.23":{"name":"react-admin-crud-manager","version":"1.0.23","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.23","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"e978ae9299a523f6de450ebc03d46e18e4b3674d","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.23.tgz","fileCount":7,"integrity":"sha512-yTOWGTP73B9EeyadKrt1psKjwlGRuF0tUa42Doy6GiFrPN1KeNt/+dCkMA7m6WCTwnleFakEGxGTPLoL6i73TQ==","signatures":[{"sig":"MEUCIQCoWhOL5CpENrDADRa3mLmv63s9swLe8Vmn/c1y83+TSQIgB6XgIEYgaxQenaqTj6OyUqnbOOB8v/bneLvvzI+ALG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":632204},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"291605e5bfc860531417c484ceab5eaa8085956a","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.23_1772016262067_0.23871064788165386","host":"s3://npm-registry-packages-npm-production"}},"1.0.24":{"name":"react-admin-crud-manager","version":"1.0.24","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.24","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"0903b2e060fc7f3d1e42e11375c86ac2d3597cca","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.24.tgz","fileCount":7,"integrity":"sha512-os7x8liAS3+PYQIqsTIZNEdnorz9tmiP00K9BXMQA/SNsRufEaut7cSu80yp0NoGE+dEQB6VEP4V2SjH1RuACw==","signatures":[{"sig":"MEUCIG7w2NWxMm6noy6cUWDgHQw4Xs3sXj9vyzZB7U1DT+0MAiEAiwac7R4bOhWsIzTvh5A/P4SqbqAk8dN613xTYz+GCzg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":636174},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"4815cfb98a069b2a6b0f80b3f41a54eda91716c1","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.24_1772090170630_0.43562935253447743","host":"s3://npm-registry-packages-npm-production"}},"1.0.25":{"name":"react-admin-crud-manager","version":"1.0.25","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.25","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"42759fe365b1035cdd7d11f38bb8825dbdfb96b4","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.25.tgz","fileCount":7,"integrity":"sha512-fB2yZ9T7pmbeshe2qcUJ6wg7XjKpVLN4xG6KjcPpLYiXr/TinMfCp+7ouWDiv+ddpg+PO7W4tbrEEyRkCathPg==","signatures":[{"sig":"MEQCIF/+J9wuBjhLvm9xZOkaV0hlKFUzbjvQ5wwx2jqfv2I7AiBZxyvFkkvmY+2C5GSah7u9jxTni0PIkkSXQXkFCz9jlA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":640543},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"24ea273f84d120ebab347960728a1c6b99cca6e6","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.25_1772101981885_0.6936141056969907","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"react-admin-crud-manager","version":"1.0.26","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.26","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"a19452636018562a259518f6148f12cb3ce20c1e","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.26.tgz","fileCount":7,"integrity":"sha512-Z9fQLE7t+oiBrurNR9iVeKjPUz7e+JpjJAUo62yUjsfZz0ltUPg7zigbsRbn6OF54Tv+uKFNq1Lk7TGlS0xl/A==","signatures":[{"sig":"MEUCIQD5WG8FyA/5oaHT4jpu/RdG9qwRpp7l9o/YN22DPlF9GQIgbjHiEJpcIzpH9dDF696tNbuA68FZUVtrDcUyJD6YcAA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":655303},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"67184e3d683a474f944261ade94edad5abe1af30","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.26_1772187050317_0.9192029366240102","host":"s3://npm-registry-packages-npm-production"}},"1.0.27":{"name":"react-admin-crud-manager","version":"1.0.27","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.27","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"3d727e05401187f38d18b526033b305d27113300","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.27.tgz","fileCount":7,"integrity":"sha512-VLqzZZLCg9C18drwXTxSH27/IR9cKnOSCbERtSH8051hF//BC0aWXyysesC3gbtyDKz8Nq4MGG9xpCooqUdjuQ==","signatures":[{"sig":"MEUCIDHB5ylA0GUQjwkmtGSMHMGDZgv/daVagXazcVr/OYJpAiEAzDUhpRWUzN2A+yvpv9dqvkcWJhLeAxdgrZ7A9RjBq60=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":681410},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"41e05b03d17bd8fa658ab059ee0b9c01be227726","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.27_1772522534988_0.43533478034188167","host":"s3://npm-registry-packages-npm-production"}},"1.0.28":{"name":"react-admin-crud-manager","version":"1.0.28","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.0.28","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"b9848f475c0de0678967a8b1ec35d0b4f9e74e83","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.0.28.tgz","fileCount":7,"integrity":"sha512-9hKO5PUGMSgKVLE5/nlQ595nPEdFMx8+FVXY2zKOiQI3xGf2Ua2Sg2VTTSNjzn1mK27uzL9UK0auy/BN3G9Q1g==","signatures":[{"sig":"MEQCIHN681yuhPnKdvLnPioPTAqCFOtyg2DjqIcGceLxgOK4AiB+hhtkULN6qs0iCPWL4ZI/S03Z6INuMBjxtK3Nl959Sw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":680996},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"d926c6862940c479e97885ffa3213a946e6674b1","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","axios":"^1.11.0","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","tailwindcss":"3.3.3","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.0.28_1772599974500_0.12987239242302118","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"react-admin-crud-manager","version":"1.1.0","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.1.0","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"86c6770d1e5356d9dd340e26200a0c336b8e872d","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.1.0.tgz","fileCount":7,"integrity":"sha512-fs+iUglN/HuS6eEQv7eCldfG3KI6j/IZM3FRraX6HcoJrLrp1uSynFIxQsvjqRmbdPDuKl9dntd61QfBXbOvaA==","signatures":[{"sig":"MEUCIQD2JEB3VBnsrmbnNsJ5X4Z3ivb4mKXcFFOS7LI+HUyWmgIgXAxfnlf+MQ8sPciI77cHt7+lpEDg7m5U2vUk+QTYSKk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1112241},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"1e6a945eac42c51e9df2622f76bcaef5825f9ab5","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.1.0_1773040614846_0.9244490568535175","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"react-admin-crud-manager","version":"1.1.1","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.1.1","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"142f89718ca21896ae26c118d40d35baaf1fd673","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.1.1.tgz","fileCount":41,"integrity":"sha512-IvSmk9D69+rxok8n13usAHYoc94+SaLZx5pMezZSDUYqiRukmlLV9DJT3vk5MF0pZca6UJVqRlscJgVsRWPdfg==","signatures":[{"sig":"MEUCIDJXe+AywTWCr3fgY/Q74neXTiN98QHL6q4QIEKAHXCAAiEA0b9ZZC4hOoXMVd3wxNkdJ93s5WmDXzW9FU6lzzIUSkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1133650},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"b8b56b082beb2cf474826a48c71a419519d5ec39","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview","build:all":"npm run build && npm run build:types","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.1.1_1773046232984_0.1691494718023765","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"react-admin-crud-manager","version":"1.1.2","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.1.2","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"92e5190ea5cb60f2254320697deb9348f3bc0cdc","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.1.2.tgz","fileCount":42,"integrity":"sha512-KnqYaOL1hrmvPZClXT+u7k5mxKPihwwWkZWPeFUJCKrmnvbrTZVMDB3rZ3qhq3CnVhiQgwPOaTYvCLa26t2vdw==","signatures":[{"sig":"MEUCID7Uk3mqi0KmxIW7k+Ez4AzCnZ98AcU8qWXuh9mLWwN0AiEA97LyX0wpX+Ra8Rj6h5PWsAEwX/HhOBvgj5CtH18nxQE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1122999},"main":"dist/index.cjs.js","types":"dist/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"},"./dist/tailwind.css":"./dist/tailwind.css"},"gitHead":"b8b56b082beb2cf474826a48c71a419519d5ec39","scripts":{"dev":"vite","build":"vite build && node build-css.js","preview":"vite preview","build:all":"npm run build && npm run build:types","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.1.2_1773127208956_0.5400651179775449","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"react-admin-crud-manager","version":"1.2.0","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.0","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"5ded53ffacfd1ab1ca65f664bbaff28a42a61a30","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.0.tgz","fileCount":43,"integrity":"sha512-uIFTNjhgY5ev4d4jYrxQs6NyqyHvvqdfD9ASKPsUud9A/6nh6KDDsRSGaQXircT1QH5TiQkKikmyyUrFns+GtA==","signatures":[{"sig":"MEUCIQDdZ6JX30QorCtu2tXz6eBb0QPGcFOiaHFCTTMgiLoaQwIgX8hgSDW6jrtqM2m4waltiEG9ZDhnPCrmOCZVsT+5lAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1472840},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"14419b2d8eb0884bd03db1a9c5c3a8398b77ded4","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.0_1773312776918_0.392267256400739","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"react-admin-crud-manager","version":"1.2.1","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.1","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"0f0687b7982ea6676af414847781dc7c6df592c7","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.1.tgz","fileCount":43,"integrity":"sha512-UQfEm1jgZgHev3hKqCNRZ6Q2nmt+x6e+A7MGIdboiCUYfsgqEWLgkJ8spBNedgr4gur9klU5i47/d0fmk0tPKg==","signatures":[{"sig":"MEYCIQC7tI/HcQw1l9kwVv0JJ3ZPnUEcWwwxPy1ZRBKJBJf6lwIhAKB7UbT9bah6uRRtajjPJJ7KTrBy9NtwReCprHAA7YL7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1469100},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a4a1dbcf36e0773250a41ad40573b8f98052a3d6","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.1_1773394673080_0.20215286366859253","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"react-admin-crud-manager","version":"1.2.2","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.2","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"848507f025eb4a51ad2506fce5728dbac64c3a4f","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.2.tgz","fileCount":43,"integrity":"sha512-8lVuS14IDxUT4Qbqa32QNG1Q8iJ/mol3lA8uX/A7hyNE262FFxvzSafvsaG3FE0eyLjeimSubrCv8pHfcl5Plg==","signatures":[{"sig":"MEUCICUVlaNxFVoU5t0njL0QulrexZ1QYXJ4boepu6YwmF8pAiEA34K6wYUct19pGJ6BmapDi38t46ZI7+ED3EwpORm8h2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1482271},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"be1d54af8703a810739d857465fcf3af0984689e","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.2_1773639835077_0.631850477202595","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"react-admin-crud-manager","version":"1.2.3","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.3","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6268e30226305ee4f44a0e9f287f65dc31346f90","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.3.tgz","fileCount":43,"integrity":"sha512-dk+C19sB2b0bFdv2QJv24KsztaBvxP/zTl+KSrNOnpTaJYaftJFcCU8MlgkHH57lv5AUJcuuUQtJAjSoXoutiw==","signatures":[{"sig":"MEUCIQDnR3243kBlsjwpX9JtymaXyEptxSeo95cZRPGwDTB9ZAIgMrkp2OCCn/ktCdG7SxFnEQqm6HEuHmTNb1d4QOIXoPE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1482823},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"dc1c068647aba1c41bc621f2c1ed48f5808b1718","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.3_1773644501659_0.08269992849985552","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"react-admin-crud-manager","version":"1.2.4","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.4","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"095dc6cb255a7df52210275465f410573370b575","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.4.tgz","fileCount":43,"integrity":"sha512-r3VTb63vPub24Y2PWYij7CZrffdObX3i/fG7XWO8wpy+4ab8BIEdeqSJr8e/h1sDnYEZvpwCwGHWUIU4FaMZJg==","signatures":[{"sig":"MEYCIQDrg97ppFo0lIxawFHl3YAUoCy3sS0eqkWAhpETk5ehpgIhANDKQG/E9YD/cc5lg7b8j98uYOHpX2Sl/zANimmCLRRx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1497768},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"3e7eb3fbe396f84799b86681fc064c0b9167a869","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.4_1773645611704_0.01749685249300903","host":"s3://npm-registry-packages-npm-production"}},"1.2.5":{"name":"react-admin-crud-manager","version":"1.2.5","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.5","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"c1aa115d72db51301d1f7c6a8bfeaaf0b0de7ec9","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.5.tgz","fileCount":43,"integrity":"sha512-CgmoGb72kFtSkxzSpRb2FFMvozk47/oCumNMRiSrOad0WXpiXrPcy1SZRFMQpsqEw96MdDQkBghf86En+N69rQ==","signatures":[{"sig":"MEQCID5fg4Md+OJdy8xS6Qu3Xum7ak2nWLLLVCyJDrlvqY8mAiAMNfCgEH5J5t8yvSdzXZup4rdXhiyrmNM+Zh4DLwnyJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1508848},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"32ca1cb2ba962823e597e2b55a449869fb595d5e","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.5_1773730237870_0.32698716035087516","host":"s3://npm-registry-packages-npm-production"}},"1.2.6":{"name":"react-admin-crud-manager","version":"1.2.6","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.6","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"4d6fa7fd3e9faca06fe487b0deba99b446286259","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.6.tgz","fileCount":43,"integrity":"sha512-NjbROj/yjZqfcRpsylxU5tkV+tdG1ku6wCQfqSnLtCqag0RQFkSVBYM+LYp1hspzs2C7hb13shL8Pn8g5cIzxA==","signatures":[{"sig":"MEUCIHW4dZ/UC0lgBEk/zgvgE1A1n46MRg5IQIuYY7X8ryCuAiEAhLH64lo9n1blEtYYJc25HNbEoC1XmgG3r9DUI/DqZ3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1606396},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"32ca1cb2ba962823e597e2b55a449869fb595d5e","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.6_1773735878002_0.4365640967463942","host":"s3://npm-registry-packages-npm-production"}},"1.2.7":{"name":"react-admin-crud-manager","version":"1.2.7","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.7","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"c13fbd95c3e114c580e3a7bc7754e099be3d1c4c","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.7.tgz","fileCount":43,"integrity":"sha512-9D9OHXiCDkytr0ManB6Rogs+5VrBCdInh1yxvau1U09Q1oVo83kYilIoV6lU17L2OwwkVD3L4uE/uk79th80RQ==","signatures":[{"sig":"MEYCIQDn5GjR8njb4jYPY3XD6WFNxaleiKKAnRH+9fBVluVa7wIhAKFoBdulxF+fVlyFBQwCyW3FsNPmXMXEJbhBQBbaktRj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1606396},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"168397303024092ecf4766d1157ad63a9b05b181","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.7_1773736366443_0.4046892665262527","host":"s3://npm-registry-packages-npm-production"}},"1.2.8":{"name":"react-admin-crud-manager","version":"1.2.8","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.8","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"354ae59c9617f7d59a79aea1745cdbc706a542e7","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.8.tgz","fileCount":43,"integrity":"sha512-2FEuMQCONoUuGXcTc9O0oY1gZLacS/VeoPqYTUPgwuBbOlndM8t+hVKvI29ZNAVAjdqvcSGZIZUxZhwCUuV1+A==","signatures":[{"sig":"MEUCIHaqn7oJ3vYFL2eyNbSeHvDGfxSsrHREpxYGQ/BLhYSvAiEA9cmO33c0DRPq6sFNTRBx4S0Amgh405PRcnMc+yyYCHQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1606459},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"aa6ae9bbfd724edd9f001b086532ed8c6fa54b2a","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.8_1773736393868_0.7112644039505347","host":"s3://npm-registry-packages-npm-production"}},"1.2.9":{"name":"react-admin-crud-manager","version":"1.2.9","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.9","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"19a6eedbd8ec0b9ecc1371e837f3062b691f25df","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.9.tgz","fileCount":43,"integrity":"sha512-fGQ+a0inRxDdlEfitTbVIjClBCMxlE6a+xQK/LVgmDCSrjfam+MUANcg+RqmLGhVFIkVsugY6UW0b5hcYFBwjQ==","signatures":[{"sig":"MEUCIQCoYwz+cV6CUrO/jOzNa/9bMPEtwazYqFbjBoAeQZBAFQIgJGPEj2+DKAWRCIKM5kyf8ke3QaMkEnJrSVvXmbmAThA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1606340},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"1b82f61e696f87364f874afa9110e3de72824a5a","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.9_1773740069613_0.9340059993358756","host":"s3://npm-registry-packages-npm-production"}},"1.2.10":{"name":"react-admin-crud-manager","version":"1.2.10","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.10","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"fd25e0ed42658594c61067d9f15e355a97fe3f65","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.10.tgz","fileCount":44,"integrity":"sha512-vaoU86cUXi1s93kppTcGZT1se//L/tUFDSKZ5uIy3befX7cs9+filVw8/L+OEeJiU2rswAJ32ogVYkGoRrHnqA==","signatures":[{"sig":"MEUCIHRSA0ZbWi4SbHww5G1WJGZmioFQIImBaXa5aooSTrofAiEA/6vgqxxjvSOAjkCMu93SlZ/P9pb5ZvDjLb7kcG5UKa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3507556},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"bc8f20ffaf839b9ea90be1f0f3cf36b2b63ea954","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.10_1774521731287_0.1519719429637949","host":"s3://npm-registry-packages-npm-production"}},"1.2.11":{"name":"react-admin-crud-manager","version":"1.2.11","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.11","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"b485bfdad11f5175543f8d506a4b35b919cbcec0","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.11.tgz","fileCount":45,"integrity":"sha512-W2i4pmt0WIqyEPvmff+5B3P9n4Ef//A3evo24wyaEbl3/ivlJ6bFsgV7JqceO1A2lRP9NlUi5bpM9/hSoAQ+Vw==","signatures":[{"sig":"MEUCIFARrdzddhw446CCc2eVdIQGLQzECTfGsW/wEt0eTRIMAiEA1djvKWmA2Gl6y0N0TKcF1BMiwRPugKhv1KwsqAUQr30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3579800},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"31d954ee687bbf46895a959654483fe015955c08","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.11_1775821783380_0.538467663028561","host":"s3://npm-registry-packages-npm-production"}},"1.2.12":{"name":"react-admin-crud-manager","version":"1.2.12","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.12","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"6a079b70864fc5573f529554dc11d46e3b8c7db3","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.12.tgz","fileCount":45,"integrity":"sha512-p9H7Wr7TerpCXtnIvMA6KDnLx7PwSRnZxs/qllHXfKD8ULMJLmTrU5C7ae4LAIyBcMzrIpR1xasFf15VF3/xZA==","signatures":[{"sig":"MEUCIQCLt9X0YzKC+0BMlbWWlor3d0+hsemcSfBHHYPZ/YmUUwIgUMHUaO4sSaCf27Z+BCPOBBYM+Dh9fquyzlbc1+1HLI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3586778},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"729ca30b69398a9e7efb316bf029796c6dc25884","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.12_1776055179441_0.4080287713949764","host":"s3://npm-registry-packages-npm-production"}},"1.2.13":{"name":"react-admin-crud-manager","version":"1.2.13","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.13","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"52b583a85d4043431d1dac27fe2bc91f04842fe9","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.13.tgz","fileCount":45,"integrity":"sha512-O+nc25+j3j0NBNPa7vClnM5T6erzKxD1VTME5uCAKYyRw1Q39uSctmZAkKapcM+N6ZpfKwJxZNUDmoa8VgwoxA==","signatures":[{"sig":"MEUCIHO1kqHIDxVZTIS0JKdy24yIAmOfQdLFlaYJeNXK87RBAiEAt7nwbkTllsWOgSoy5nTkI0jtnOpLqaMO7yUFOW6MoJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3595432},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"27c40db573e49a37bb6d9a27b290ca8c5c683cb4","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.13_1776171012983_0.7458291229649081","host":"s3://npm-registry-packages-npm-production"}},"1.2.14":{"name":"react-admin-crud-manager","version":"1.2.14","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.14","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"3636f2bd99c536f0d5e8506d9bb8e8bbaf8d7209","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.14.tgz","fileCount":45,"integrity":"sha512-LpDWAHJ8U6S2inU6XmsvE19QWzt8DM+lpO3xGAYE8mpt2YsUuSVhrPQXYOGvdzQWH048sZA3pjsMXXPUTiJW1Q==","signatures":[{"sig":"MEUCIQCgVPBjBfTk99VgeV1c4hAqOsVBvG5nFJ9mUM1rZEH3QwIgDRgbUr2Oie8FItLGuA89v92Lp7wFsqUGNolncAimEeY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3602580},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a5af8f34e7935f2f9ded9ae739b5b705c805dd9b","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.14_1776229086212_0.20508737221340145","host":"s3://npm-registry-packages-npm-production"}},"1.2.15":{"name":"react-admin-crud-manager","version":"1.2.15","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.15","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"35dfbca4be54c78d3ba7773cfef8b29970fe59ed","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.15.tgz","fileCount":45,"integrity":"sha512-t1IBigVSx9WNtOL2Mk7sFAU+zYmyoT4Zcl3576BSMC3T5lx7f4CVbTFNdYlKjdJnOLNK+n3rZvmWhnsrUAXGOg==","signatures":[{"sig":"MEUCIAtXL/ynXXaN2PuhDTdPyPH13lQMjuN5t8rYjqa4FLJHAiEA92txwZsqVP/q0WvkkiXdJSMOP6a/psoYBpd3FsV/ujU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3598169},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a5af8f34e7935f2f9ded9ae739b5b705c805dd9b","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.15_1776406907204_0.011270199203342157","host":"s3://npm-registry-packages-npm-production"}},"1.2.16":{"name":"react-admin-crud-manager","version":"1.2.16","keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","_id":"react-admin-crud-manager@1.2.16","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"dist":{"shasum":"49d4381807ecbc393136b5974d44dd1286a99b09","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.2.16.tgz","fileCount":45,"integrity":"sha512-hOkAarW1Ww4Kh1zPbBWkAZ0jisgaB2fFxd9VPzzPdH5kgc06ZspnwT+R+9yvsiWDAUxYc+hVAuri1aq8dE4CFA==","signatures":[{"sig":"MEUCIH3gGHMX6OZ3nygeoVjqtYK6BnDMRhm2WpiFlJAPCe6wAiEAsbELCsfSU5/L0dSN/XKgN+ygbOun6a/Y1U7D/w965kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3565932},"main":"dist/index.cjs.js","types":"./dist/types/index.d.ts","module":"dist/index.es.js","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/index.es.js","require":"./dist/index.cjs.js"}},"gitHead":"a70122ea5c1e390f7735f34abe2764e59dde0142","scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","preview":"vite preview","build:all":"npm run build","build:types":"tsc --emitDeclarationOnly"},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"repository":{"url":"git+https://github.com/devflips/react-admin-crud-manager.git","type":"git"},"_npmVersion":"10.9.3","description":"A reusable React CRUD admin template with modular components.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.20.0","dependencies":{"clsx":"^2.1.1","tinymce":"^8.3.2","date-fns":"^3.6.0","js-cookie":"^3.0.5","notistack":"^3.0.2","prop-types":"^15.8.1","lucide-react":"^0.446.0","@iconify/react":"^6.0.2","react-easy-crop":"^5.5.6","react-router-dom":"^7.9.1","react-text-editor-kit":"3.0.0","@tinymce/tinymce-react":"^6.3.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.0.8","typescript":"^5.9.3","postcss-cli":"^11.0.1","tailwindcss":"3.3.3","@types/react":"^19.2.14","autoprefixer":"10.4.15","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","postcss-prefix-selector":"^2.1.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-admin-crud-manager_1.2.16_1776410240520_0.3112619643983259","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"react-admin-crud-manager","version":"1.3.0","description":"A reusable React CRUD admin template with modular components.","main":"dist/index.cjs.js","module":"dist/index.es.js","types":"./dist/types/index.d.ts","exports":{".":{"import":"./dist/index.es.js","require":"./dist/index.cjs.js","types":"./dist/types/index.d.ts"}},"sideEffects":["**/*.css"],"keywords":["react","admin","crud","template","component-library"],"author":{"name":"Dev Flips"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/devflips/react-admin-crud-manager.git"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","react-router-dom":">=5.0.0"},"scripts":{"dev":"vite","build":"vite build && tsc --emitDeclarationOnly","build:types":"tsc --emitDeclarationOnly","build:all":"npm run build","preview":"vite preview"},"dependencies":{"@iconify/react":"^6.0.2","@tinymce/tinymce-react":"^6.3.0","clsx":"^2.1.1","date-fns":"^3.6.0","js-cookie":"^3.0.5","lucide-react":"^0.446.0","notistack":"^3.0.2","prop-types":"^15.8.1","react-easy-crop":"^5.5.6","react-text-editor-kit":"3.0.0","tinymce":"^8.3.2"},"peerDependenciesMeta":{"react-router-dom":{"optional":true}},"devDependencies":{"@types/react":"^19.2.14","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^4.2.1","autoprefixer":"10.4.15","postcss-cli":"^11.0.1","postcss-prefix-selector":"^2.1.1","tailwindcss":"3.3.3","typescript":"^5.9.3","vite":"^5.0.8","react-router-dom":"^7.9.1"},"_id":"react-admin-crud-manager@1.3.0","gitHead":"5ca0197bc8ccb9327b4210d4a791b2cae4fba6a1","bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"homepage":"https://github.com/devflips/react-admin-crud-manager#readme","_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-5kDzbhyceFaVwDC74xvusOWhzzIkqGj2P/+66mpbZIGrDdQcMrCd+fqrks2B7alv/k5ngiqX+cK3zcP1Gqfc8A==","shasum":"57434b439f8c58c74c28eed9f22e611a599eab6b","tarball":"https://registry.npmjs.org/react-admin-crud-manager/-/react-admin-crud-manager-1.3.0.tgz","fileCount":47,"unpackedSize":3805687,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIALBgYC3UtKeYO5ZUKE+/5eNQ+58XJLjOe9wN258iummAiEAsYxyIeVHwb4+Mc/KR2uVDL0Fvj65vqWWV/GuW0KAEK0="}]},"_npmUser":{"name":"devflips","email":"devflipstech@gmail.com"},"directories":{},"maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-admin-crud-manager_1.3.0_1782968657447_0.6861644198319956"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-13T13:37:59.653Z","modified":"2026-07-02T05:04:17.739Z","1.0.0":"2026-02-13T13:37:59.888Z","1.0.1":"2026-02-16T04:45:30.994Z","1.0.2":"2026-02-16T05:10:54.743Z","1.0.3":"2026-02-16T05:22:47.432Z","1.0.4":"2026-02-16T06:05:17.920Z","1.0.5":"2026-02-16T06:26:01.834Z","1.0.6":"2026-02-16T07:05:25.412Z","1.0.7":"2026-02-16T07:28:30.896Z","1.0.8":"2026-02-17T06:52:27.105Z","1.0.9":"2026-02-17T06:55:26.014Z","1.0.10":"2026-02-18T10:12:47.405Z","1.0.11":"2026-02-19T04:34:35.210Z","1.0.12":"2026-02-19T06:42:34.796Z","1.0.13":"2026-02-19T07:44:10.395Z","1.0.14":"2026-02-20T10:39:14.847Z","1.0.15":"2026-02-23T09:46:33.092Z","1.0.16":"2026-02-23T10:24:53.215Z","1.0.17":"2026-02-23T10:57:26.240Z","1.0.18":"2026-02-24T05:30:07.401Z","1.0.19":"2026-02-25T06:54:49.179Z","1.0.20":"2026-02-25T07:59:36.811Z","1.0.21":"2026-02-25T09:40:49.751Z","1.0.22":"2026-02-25T10:39:08.670Z","1.0.23":"2026-02-25T10:44:22.314Z","1.0.24":"2026-02-26T07:16:10.835Z","1.0.25":"2026-02-26T10:33:02.057Z","1.0.26":"2026-02-27T10:10:50.515Z","1.0.27":"2026-03-03T07:22:15.200Z","1.0.28":"2026-03-04T04:52:54.748Z","1.1.0":"2026-03-09T07:16:55.073Z","1.1.1":"2026-03-09T08:50:33.132Z","1.1.2":"2026-03-10T07:20:09.196Z","1.2.0":"2026-03-12T10:52:57.136Z","1.2.1":"2026-03-13T09:37:53.244Z","1.2.2":"2026-03-16T05:43:55.296Z","1.2.3":"2026-03-16T07:01:41.830Z","1.2.4":"2026-03-16T07:20:11.882Z","1.2.5":"2026-03-17T06:50:38.041Z","1.2.6":"2026-03-17T08:24:38.146Z","1.2.7":"2026-03-17T08:32:46.601Z","1.2.8":"2026-03-17T08:33:14.030Z","1.2.9":"2026-03-17T09:34:29.796Z","1.2.10":"2026-03-26T10:42:11.465Z","1.2.11":"2026-04-10T11:49:43.572Z","1.2.12":"2026-04-13T04:39:39.638Z","1.2.13":"2026-04-14T12:50:13.185Z","1.2.14":"2026-04-15T04:58:06.420Z","1.2.15":"2026-04-17T06:21:47.371Z","1.2.16":"2026-04-17T07:17:20.694Z","1.3.0":"2026-07-02T05:04:17.610Z"},"bugs":{"url":"https://github.com/devflips/react-admin-crud-manager/issues"},"author":{"name":"Dev Flips"},"license":"MIT","homepage":"https://github.com/devflips/react-admin-crud-manager#readme","keywords":["react","admin","crud","template","component-library"],"repository":{"type":"git","url":"git+https://github.com/devflips/react-admin-crud-manager.git"},"description":"A reusable React CRUD admin template with modular components.","maintainers":[{"name":"devflips","email":"devflipstech@gmail.com"}],"readme":"# react-admin-crud-manager\r\n\r\nA plug-and-play React CRUD admin component with full support for tables, modals, forms, filters, sorting, pagination, and more — all driven by a single `config` object.\r\n\r\n🌐 **[Live Demo](https://crudmanager.devflips.com/)** - See all features in action!\r\n\r\n---\r\n\r\n## Table of Contents\r\n\r\n- [Installation](#installation)\r\n- [Quick Start](#quick-start)\r\n- [Config Reference](#config-reference)\r\n  - [Top-Level Config](#top-level-config)\r\n  - [Routes Integration](#routes-integration)\r\n  - [tableConfig](#tableconfig)\r\n  - [Table Column Object](#table-column-object-table_head)\r\n  - [Tabs Configuration](#tabs-configuration-tabs)\r\n  - [Sorting](#sorting-sort)\r\n  - [modalConfig](#modalconfig)\r\n  - [Add & Edit Modal](#add--edit-modal)\r\n  - [Delete Modal](#delete-modal)\r\n  - [View Modal](#view-modal)\r\n  - [Form Field Schema](#form-field-schema)\r\n  - [View Field Schema](#view-field-schema)\r\n- [Features & Examples](#features--examples)\r\n  - [Client-Side CRUD](#1-client-side-crud-minimal-setup)\r\n  - [Server-Side CRUD](#2-server-side-crud-with-advanced-features)\r\n  - [Conditional Fields & Validation](#3-conditional-fields--custom-validation)\r\n  - [Export CSV](#4-export-csv)\r\n  - [Server-Side Filtering](#5-server-side-filtering)\r\n  - [Image Cropping](#6-image-cropping)\r\n  - [Input Masking](#7-input-masking)\r\n  - [Custom Table Cell Rendering](#8-custom-table-cell-rendering)\r\n  - [Custom Toolbar Buttons](#9-custom-toolbar-buttons)\r\n  - [Row Click Handler](#10-row-click-handler)\r\n  - [View Modal Variants](#11-view-modal-variants)\r\n  - [Custom View Component](#12-custom-view-component)\r\n  - [Sorting Examples](#13-sorting-examples)\r\n  - [Date Field Support](#14-date-field-support)\r\n  - [Modal Action Buttons](#15-modal-action-buttons)\r\n  - [Complete Field Types Showcase](#16-complete-field-types-showcase)\r\n  - [Tabs Feature](#17-tabs-feature)\r\n  - [React Router Integration](#18-react-router-integration)\r\n  - [Custom Filter Component](#19-custom-filter-component)\r\n- [CSS Customization](#css-customization)\r\n  - [Primary Color Override](#primary-color-override)\r\n  - [CSS Class Reference](#css-class-reference)\r\n- [License](#license)\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install react-admin-crud-manager\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n```jsx\r\nimport Crud from \"react-admin-crud-manager\";\r\n\r\nfunction App() {\r\n  const config = {\r\n    title: \"Users\",\r\n    fetchData: async () => ({ data: [] }),\r\n    tableConfig: {\r\n      table_head: [\r\n        { key: \"id\", title: \"ID\", type: \"index\" },\r\n        { key: \"name\", title: \"Name\" },\r\n        { key: \"email\", title: \"Email\" },\r\n      ],\r\n    },\r\n  };\r\n\r\n  return <Crud config={config} />;\r\n}\r\n```\r\n\r\n---\r\n\r\n## Config Reference\r\n\r\n### Top-Level Config\r\n\r\n| Property          | Type     | Required | Description                                                                   |\r\n| ----------------- | -------- | :------: | ----------------------------------------------------------------------------- |\r\n| `title`           | string   |    ✅    | Page title                                                                    |\r\n| `description`     | string   |    —     | Optional subtitle / description                                               |\r\n| `buttonText`      | string   |    —     | Label for the Add button (default: `\"Add\"`)                                   |\r\n| `fetchData`       | function |    ✅    | Async function to load data — see signature below                             |\r\n| `fetchRowDetails` | function |    —     | Async function to load extra details for a row (used by view modal)           |\r\n| `isStaticData`    | boolean  |    —     | `false` (default). Set `true` for client-side-only add / edit / delete        |\r\n| `routes`          | object   |    —     | React Router routes config — [see Routes Integration](#routes-integration)    |\r\n| `tableConfig`     | object   |    ✅    | Table configuration — [see tableConfig](#tableconfig)                         |\r\n| `modalConfig`     | object   |    —     | Modal definitions — [see modalConfig](#modalconfig)                           |\r\n| `filterConfig`    | object   |    —     | Filter drawer field definitions — [see Form Field Schema](#form-field-schema) |\r\n\r\n**`fetchData` signature:**\r\n\r\n```js\r\nasync ({\r\n  search,\r\n  rows_per_page,\r\n  current_page,\r\n  sort_by,\r\n  sort_order,\r\n  ...filters // any extra keys from filterConfig\r\n}) => ({\r\n  data: [], // array of row objects\r\n  pagination: {\r\n    // omit for client-side pagination\r\n    current_page,\r\n    rows_per_page,\r\n    total_pages,\r\n    total_records,\r\n  },\r\n});\r\n```\r\n\r\n---\r\n\r\n### Routes Integration\r\n\r\nEnable React Router integration for full-page Add/Edit/View forms instead of modals.\r\n\r\n| Property | Type   | Description                                      |\r\n| -------- | ------ | ------------------------------------------------ |\r\n| `add`    | string | Route pattern for add page (e.g. `\"/users/add\"`) |\r\n| `edit`   | string | Route pattern with param (e.g. `\"/users/:id/edit\"`) |\r\n| `view`   | string | Route pattern with param (e.g. `\"/users/:id\"`) |\r\n\r\n**Example:**\r\n\r\n```jsx\r\nimport { BrowserRouter, Routes, Route } from \"react-router-dom\";\r\nimport Crud from \"react-admin-crud-manager\";\r\n\r\nconst config = {\r\n  title: \"Users\",\r\n  fetchData: async () => ({ data: users }),\r\n  routes: {\r\n    add: \"/users/add\",\r\n    edit: \"/users/:id/edit\",\r\n    view: \"/users/:id\",\r\n  },\r\n  tableConfig: {\r\n    table_head: [\r\n      { key: \"id\", title: \"ID\", type: \"index\" },\r\n      { key: \"name\", title: \"Name\" },\r\n      { key: \"email\", title: \"Email\" },\r\n    ],\r\n  },\r\n  modalConfig: {\r\n    addModal: {\r\n      title: \"Add User\",\r\n      formFields: [\r\n        { key: \"name\", label: \"Name\", type: \"text\", required: true },\r\n        { key: \"email\", label: \"Email\", type: \"email\", required: true },\r\n      ],\r\n      handleSubmit: async (formData) => {\r\n        const response = await api.post(\"/users\", formData);\r\n        return { newObject: response.data };\r\n      },\r\n    },\r\n    editModal: {\r\n      title: \"Edit User\",\r\n      formFields: [\r\n        { key: \"name\", label: \"Name\", type: \"text\", required: true },\r\n        { key: \"email\", label: \"Email\", type: \"email\", required: true },\r\n      ],\r\n      handleSubmit: async (formData, item) => {\r\n        const response = await api.put(`/users/${item.id}`, formData);\r\n        return { newObject: response.data, targetObject: item };\r\n      },\r\n    },\r\n    viewModal: {\r\n      title: \"User Details\",\r\n      fields: [\r\n        { key: \"name\", label: \"Name\" },\r\n        { key: \"email\", label: \"Email\" },\r\n      ],\r\n    },\r\n  },\r\n};\r\n\r\nfunction App() {\r\n  return (\r\n    <BrowserRouter>\r\n      <Routes>\r\n        <Route path=\"/users/*\" element={<Crud config={config} />} />\r\n      </Routes>\r\n    </BrowserRouter>\r\n  );\r\n}\r\n```\r\n\r\n**How it works:**\r\n- Clicking \"Add\" button navigates to `/users/add` (full-page form)\r\n- Clicking \"Edit\" in action menu navigates to `/users/:id/edit` (full-page form)\r\n- Clicking \"View\" navigates to `/users/:id` (full-page details)\r\n- All routes include a back button to return to the table\r\n- Form submissions automatically navigate back to the list\r\n\r\n---\r\n\r\n### tableConfig\r\n\r\n| Key               | Type               | Description                                                                                  |\r\n| ----------------- | ------------------ | -------------------------------------------------------------------------------------------- |\r\n| `table_head`      | array              | Column definitions — [see Table Column Object](#table-column-object-table_head)              |\r\n| `search`          | object             | `{ enabled, useServerSideSearch?, searchKeys?, placeholder? }`                               |\r\n| `filter`          | object             | `{ enabled, useServerSideFilters?, label?, icon? }`                                          |\r\n| `pagination`      | object             | `{ enabled, useServerSidePagination? }`                                                      |\r\n| `tabs`            | object             | Tab filtering config — [see Tabs Configuration](#tabs-configuration-tabs)                    |\r\n| `sort`            | object             | Sorting config — [see Sorting](#sorting-sort)                                                |\r\n| `exportCSV`       | object             | `{ enabled, fileName, label?, icon?, fields: [{ label, key }] }`                             |\r\n| `emptyMessage`    | string             | Message displayed when no data (default: `\"No data available\"`)                              |\r\n| `rowClick`        | function \\| `true` | Called on row click `(row, rowIndex) => void`, or `true` to open the view details modal      |\r\n| `customButtons`   | array              | Extra buttons in the table toolbar — [see Custom Toolbar Buttons](#9-custom-toolbar-buttons) |\r\n| `customMenuItems` | array              | Items in the 3-dot overflow menu in the toolbar                                              |\r\n\r\n---\r\n\r\n### Table Column Object (`table_head[]`)\r\n\r\n| Key              | Type     | Description                                                                             |\r\n| ---------------- | -------- | --------------------------------------------------------------------------------------- |\r\n| `key`            | string   | Property name in the row data object                                                    |\r\n| `title`          | string   | Column header text                                                                      |\r\n| `type`           | string   | Renderer: `plain` (default), `index`, `group`, `chip`, `date`, `avatar`, `audio`, `image`, `multiImage`, `menu_actions` |\r\n| `imageKey`       | string   | Property path to image URL (for `avatar` / `group` types)                               |\r\n| `titleKey`       | string   | Property path to title text (for `avatar` / `group` types)                              |\r\n| `subtitleKey`    | string   | Property path to subtitle text (for `avatar` / `group` types)                           |\r\n| `onClickDetails` | boolean  | Opens view modal when cell is clicked                                                   |\r\n| `handleClick`    | function | Custom click handler: `(row) => void`                                                   |\r\n| `variant`        | string   | Chip style: `contained`, `outline`, `soft`                                              |\r\n| `chipOptions`    | array    | `[{ value, label, color? }]` — maps data values to chip labels/colors                   |\r\n| `defaultColor`   | string   | Fallback chip color when no `chipOptions` match                                         |\r\n| `className`      | string   | Tailwind classes for the cell content                                                   |\r\n| `format`         | string   | Date format pattern (e.g. `\"DD MMM YYYY\"`) — used with `type: \"date\"`                   |\r\n| `menuList`       | array    | `[{ title, type, variant?, icon?, onClick? }]` — used with `type: \"menu_actions\"`       |\r\n| `fallback_icon`  | ReactNode/function | Fallback icon for `avatar` type when image is missing. Can be component or `(row) => ReactNode` |\r\n| `maxPreview`     | number   | Maximum number of images to show (for `multiImage` type, default: 3)                   |\r\n| `alt`            | string   | Alt text for avatar/image types                                                         |\r\n| `render`         | function | Custom cell renderer: `(row, rowIndex) => ReactNode`                                    |\r\n\r\n#### Custom Render Function Example\r\n\r\n```jsx\r\ntable_head: [\r\n  {\r\n    key: \"status\",\r\n    title: \"Status\",\r\n    render: (row, rowIndex) => (\r\n      <div className=\"flex items-center gap-2\">\r\n        <span className={row.active ? \"text-green-600\" : \"text-red-600\"}>\r\n          ● {row.status}\r\n        </span>\r\n      </div>\r\n    ),\r\n  },\r\n]\r\n```\r\n\r\n---\r\n\r\n### Tabs Configuration (`tabs`)\r\n\r\nEnable tab-based filtering in your table.\r\n\r\n| Property            | Type     | Description                                                         |\r\n| ------------------- | -------- | ------------------------------------------------------------------- |\r\n| `enabled`           | boolean  | Enable tabs feature                                                 |\r\n| `useServerSideTabs` | boolean  | Pass tab params to `fetchData` instead of filtering client-side    |\r\n| `filterKey`         | string   | Default property name to filter by (can be overridden per tab)     |\r\n| `defaultValue`      | string/number/boolean | Default selected tab value                            |\r\n| `options`           | array    | Tab definitions — see below                                         |\r\n| `onChange`          | function | `({ value, option, key, useServerSide, serverValue }) => void`     |\r\n\r\n#### Tab Option Object\r\n\r\n| Property      | Type     | Description                                                |\r\n| ------------- | -------- | ---------------------------------------------------------- |\r\n| `value`       | string/number/boolean | Tab identifier                                |\r\n| `label`       | string   | Display label                                              |\r\n| `count`       | number   | Optional badge count                                       |\r\n| `className`   | string   | Custom CSS classes                                         |\r\n| `filterKey`   | string   | Property name to filter (overrides global `filterKey`)     |\r\n| `serverValue` | string/number/boolean | Value sent to server (for server-side tabs) |\r\n\r\n#### Client-Side Tabs Example\r\n\r\n```jsx\r\ntableConfig: {\r\n  tabs: {\r\n    enabled: true,\r\n    filterKey: \"status\",  // Filter by \"status\" field\r\n    defaultValue: \"all\",\r\n    options: [\r\n      { value: \"all\", label: \"All\", count: 150 },\r\n      { value: \"active\", label: \"Active\", count: 120 },\r\n      { value: \"inactive\", label: \"Inactive\", count: 30 },\r\n    ],\r\n  },\r\n  table_head: [\r\n    { key: \"id\", title: \"ID\", type: \"index\" },\r\n    { key: \"name\", title: \"Name\" },\r\n    { key: \"status\", title: \"Status\" },\r\n  ],\r\n}\r\n```\r\n\r\n#### Server-Side Tabs Example\r\n\r\n```jsx\r\ntableConfig: {\r\n  tabs: {\r\n    enabled: true,\r\n    useServerSideTabs: true,\r\n    filterKey: \"status\",\r\n    defaultValue: \"all\",\r\n    options: [\r\n      { value: \"all\", label: \"All\" },\r\n      { value: \"active\", label: \"Active\", serverValue: \"1\" },\r\n      { value: \"inactive\", label: \"Inactive\", serverValue: \"0\" },\r\n    ],\r\n    onChange: ({ value, option, key, serverValue }) => {\r\n      console.log(\"Tab changed:\", { value, key, serverValue });\r\n    },\r\n  },\r\n},\r\nfetchData: async ({ active_tab, active_tab_value, ...params }) => {\r\n  // active_tab = \"active\"\r\n  // active_tab_value = \"1\" (serverValue)\r\n  const response = await api.get(\"/users\", {\r\n    params: { ...params, status: active_tab_value }\r\n  });\r\n  return {\r\n    data: response.data.items,\r\n    pagination: response.data.pagination,\r\n  };\r\n},\r\n```\r\n\r\n#### Custom Filter Key Per Tab\r\n\r\n```jsx\r\ntableConfig: {\r\n  tabs: {\r\n    enabled: true,\r\n    options: [\r\n      { value: \"all\", label: \"All Users\" },\r\n      { \r\n        value: \"admin\", \r\n        label: \"Admins\", \r\n        filterKey: \"role\",  // Custom key for this tab\r\n        count: 5 \r\n      },\r\n      { \r\n        value: \"true\", \r\n        label: \"Verified\", \r\n        filterKey: \"verified\",  // Different key\r\n        count: 80 \r\n      },\r\n    ],\r\n  },\r\n}\r\n```\r\n\r\n---\r\n\r\n### Sorting (`sort`)\r\n\r\n| Property               | Type     | Description                                                     |\r\n| ---------------------- | -------- | --------------------------------------------------------------- |\r\n| `enabled`              | boolean  | Enable sorting (default: `true`)                                |\r\n| `useServerSideSorting` | boolean  | Pass sort params to `fetchData` instead of sorting client-side  |\r\n| `fields`               | string[] | Sortable field keys (used when not auto-generating)             |\r\n| `autoGenerate`         | boolean  | Auto-generate sort options from table column headers            |\r\n| `defaultValue`         | string   | Default selected sort option (e.g. `\"createdAt_desc\"`)          |\r\n| `clearLabel`           | string   | Label for the \"clear sort\" option                               |\r\n| `label`                | string   | Button label displayed next to sort icon                        |\r\n| `icon`                 | ReactNode | Custom icon for sort button                                     |\r\n| `onChange`             | function | `({ value, option, key, order, type }) => void` — called on sort change |\r\n| `options`              | array    | `[{ value, label, key, order, type }]` — custom sort options    |\r\n\r\n#### Client-Side Sorting\r\n\r\nClient-side sorting automatically sorts data in the browser based on the selected column.\r\n\r\n```jsx\r\ntableConfig: {\r\n  sort: {\r\n    enabled: true,\r\n    autoGenerate: true, // Generates sort options from table columns\r\n    defaultValue: \"name_asc\",\r\n    clearLabel: \"No Sort\",\r\n  },\r\n  table_head: [\r\n    { key: \"name\", title: \"Name\" },\r\n    { key: \"email\", title: \"Email\" },\r\n    { key: \"createdAt\", title: \"Created\", type: \"date\" },\r\n  ],\r\n}\r\n```\r\n\r\n#### Server-Side Sorting\r\n\r\nServer-side sorting sends sort parameters to your `fetchData` function.\r\n\r\n```jsx\r\ntableConfig: {\r\n  sort: {\r\n    enabled: true,\r\n    useServerSideSorting: true,\r\n    autoGenerate: true,\r\n  },\r\n},\r\nfetchData: async ({ sort_by, sort_order, ...otherParams }) => {\r\n  // sort_by = column key (e.g., \"name\")\r\n  // sort_order = \"asc\" or \"desc\"\r\n  const response = await api.get(\"/users\", {\r\n    params: { sort_by, sort_order, ...otherParams }\r\n  });\r\n  return {\r\n    data: response.data.items,\r\n    pagination: response.data.pagination,\r\n  };\r\n},\r\n```\r\n\r\n**API Payload Example:**\r\n```json\r\n{\r\n  \"sort_by\": \"createdAt\",\r\n  \"sort_order\": \"desc\",\r\n  \"search\": \"\",\r\n  \"rows_per_page\": 50,\r\n  \"current_page\": 1\r\n}\r\n```\r\n\r\n#### Custom Sort Options\r\n\r\n```jsx\r\ntableConfig: {\r\n  sort: {\r\n    enabled: true,\r\n    options: [\r\n      { value: \"newest\", label: \"Newest First\", key: \"createdAt\", order: \"desc\" },\r\n      { value: \"oldest\", label: \"Oldest First\", key: \"createdAt\", order: \"asc\" },\r\n      { value: \"name_az\", label: \"Name A-Z\", key: \"name\", order: \"asc\" },\r\n      { value: \"name_za\", label: \"Name Z-A\", key: \"name\", order: \"desc\" },\r\n    ],\r\n    defaultValue: \"newest\",\r\n    clearLabel: \"Default Order\",\r\n    onChange: ({ value, option, key, order }) => {\r\n      console.log(\"Sort changed:\", { value, key, order });\r\n    },\r\n  },\r\n}\r\n```\r\n\r\n---\r\n\r\n### modalConfig\r\n\r\nConfigure the add, edit, delete, and view modals under a single `modalConfig` object:\r\n\r\n```js\r\nmodalConfig: {\r\n  addModal:    { ... },\r\n  editModal:   { ... },\r\n  deleteModal: { ... },\r\n  viewModal:   { ... },\r\n}\r\n```\r\n\r\n---\r\n\r\n### Add & Edit Modal\r\n\r\n| Property        | Type      | Description                                                                                                                        |\r\n| --------------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------- |\r\n| `title`         | string    | Modal title                                                                                                                        |\r\n| `icon`          | ReactNode | Icon in the modal header                                                                                                           |\r\n| `size`          | string    | Width: `sm`, `md` (default), `lg`, `xl`, `full`                                                                                    |\r\n| `formClass`     | string    | Tailwind classes for the form wrapper (e.g. `\"grid grid-cols-12 gap-4\"`)                                                           |\r\n| `formFields`    | array     | Field definitions — [see Form Field Schema](#form-field-schema)                                                                    |\r\n| `handleSubmit`  | function  | **Add:** `async (formData) => { newObject, message? }` **Edit:** `async (formData, item) => { newObject, targetObject, message? }` |\r\n| `actionButtons` | array     | Custom footer buttons — [see Modal Action Buttons](#15-modal-action-buttons)                                                      |\r\n\r\n#### Action Buttons Configuration\r\n\r\n```jsx\r\nactionButtons: [\r\n  {\r\n    type: \"submit\",        // Special type for form submission\r\n    label: \"Save\",\r\n    color: \"primary\",      // primary, success, error, warning, default\r\n    variant: \"contained\",  // contained, outlined, text\r\n    disabled: false,\r\n  },\r\n  {\r\n    type: \"button\",\r\n    label: \"Cancel\",\r\n    color: \"default\",\r\n    variant: \"outlined\",\r\n    onClick: (event, item) => {\r\n      // Custom handler\r\n      console.log(\"Cancel clicked\");\r\n    },\r\n  },\r\n]\r\n```\r\n\r\n---\r\n\r\n### Delete Modal\r\n\r\n| Property        | Type      | Description                                                                           |\r\n| --------------- | --------- | ------------------------------------------------------------------------------------- |\r\n| `title`         | string    | Modal title                                                                           |\r\n| `icon`          | ReactNode | Icon in the modal header                                                              |\r\n| `size`          | string    | Width: `sm` (default), `md`, `lg`, `xl`, `full`                                       |\r\n| `confirmText`   | string    | Confirmation message shown to the user                                                |\r\n| `referenceKey`  | string    | Property from the selected row to display (e.g. `\"name\"`)                             |\r\n| `actionButtons` | array     | `[{ type, label, color, variant, onClick: async (event, item) => { targetObject } }]` |\r\n\r\n---\r\n\r\n### View Modal\r\n\r\n| Property          | Type            | Description                                                                        |\r\n| ----------------- | --------------- | ---------------------------------------------------------------------------------- |\r\n| `title`           | string          | Modal title                                                                        |\r\n| `icon`            | ReactNode       | Icon in the modal header                                                           |\r\n| `size`            | string          | Width: `sm`, `md` (default), `lg`, `xl`, `full`                                    |\r\n| `variant`         | string          | Layout style: `default`, `card`, `split`                                           |\r\n| `fields`          | array           | View field definitions — [see View Field Schema](#view-field-schema)               |\r\n| `component`       | React component | Fully custom component — receives `{ data }` prop                                  |\r\n| `styles`          | object          | Custom classes: `containerClass`, `rowClass`, `labelClass`, `valueClass`, etc.     |\r\n| `modalClassNames` | object          | Custom classes for modal parts: `overlay`, `container`, `header`, `body`, `footer` |\r\n| `footer`          | object          | `{ cancelButton: true, cancelText: \"Close\" }`                                      |\r\n\r\n---\r\n\r\n### Form Field Schema\r\n\r\nUsed in `addModal.formFields`, `editModal.formFields`, and `filterConfig.fields`.\r\n\r\n#### Common Properties (all field types)\r\n\r\n| Property           | Type     | Description                                                     |\r\n| ------------------ | -------- | --------------------------------------------------------------- |\r\n| `key`              | string   | Data property name — **required**                               |\r\n| `label`            | string   | Display label                                                   |\r\n| `type`             | string   | Field type — see list below — **required**                      |\r\n| `required`         | boolean  | Marks the field as required                                     |\r\n| `minLength`        | number   | Minimum character length                                        |\r\n| `placeholder`      | string   | Input placeholder text                                          |\r\n| `disabled`         | boolean  | Makes the field read-only                                       |\r\n| `parentClass`      | string   | Tailwind class on the wrapper div (e.g. `\"col-span-6\"`)         |\r\n| `className`        | string   | Tailwind class on the input element                             |\r\n| `renderCondition`  | function | `(formData) => boolean` — show/hide field based on other values |\r\n| `customValidation` | function | `(value) => true \\| \"error message\"` — custom validation logic  |\r\n\r\n#### Available Field Types\r\n\r\n| Type          | Extra Properties                                                                      | Description                                    |\r\n| ------------- | ------------------------------------------------------------------------------------- | ---------------------------------------------- |\r\n| `text`        | `pattern` (regex), `mask` (e.g. `\"(99) 99999-9999\"`), `maskApplyOnValue`              | Standard text input                            |\r\n| `number`      | `negativeNumberAllow`                                                                 | Numeric input field                            |\r\n| `email`       | —                                                                                     | Email input with validation                    |\r\n| `password`    | —                                                                                     | Password input (masked)                        |\r\n| `date`        | —                                                                                     | Date picker input                              |\r\n| `textarea`    | `rows`                                                                                | Multi-line text input                          |\r\n| `select`      | `options`, `multiple`, `search`, `countriesList`, `dropdownMaxHeight`, `defaultValue` | Dropdown selection                             |\r\n| `checkbox`    | `options`, `multiple`                                                                 | Checkbox input(s)                              |\r\n| `radio`       | `options`                                                                             | Radio button group                             |\r\n| `switch`      | `text`, `options`                                                                     | Toggle switch                                  |\r\n| `phone`       | `countriesList`, `defaultCountry`, `search`                                           | Phone number with country code                 |\r\n| `image`       | `accept`, `dragDrop`, `cropImage`, `aspectRatio`, `multiple`, `maxImages`             | Image upload (single)                          |\r\n| `multiImage`  | `accept`, `dragDrop`, `cropImage`, `aspectRatio`, `maxImages`                         | Multiple image uploads                         |\r\n| `video`       | `accept`, `dragDrop`, `maxSize` (MB)                                                  | Video file upload                              |\r\n| `audio`       | `accept`, `dragDrop`, `maxSize` (MB)                                                  | Audio file upload                              |\r\n| `file`        | `accept` (e.g. `\".pdf,.docx\"`), `dragDrop`, `maxSize` (MB), `multiple`, `maxFiles`    | Generic file upload                            |\r\n| `tinyEditor`  | `editorKey`, `fontFamily`, `height`                                                   | Rich text editor (TinyMCE)                     |\r\n| `freeEditor`  | `height`                                                                              | Simple rich text editor                        |\r\n| `group`       | —                                                                                     | Grouped display of related fields              |\r\n\r\n**Mask pattern characters:** `9` = digit, `A` = letter, `X` = alphanumeric, `*` = any character. All other characters are treated as literals.\r\n\r\n---\r\n\r\n#### Detailed Field Type Usage\r\n\r\n##### Text Field with Pattern & Mask\r\n\r\n```jsx\r\n{\r\n  key: \"phone\",\r\n  label: \"Phone Number\",\r\n  type: \"text\",\r\n  mask: \"(99) 99999-9999\",           // Brazilian format\r\n  maskApplyOnValue: true,            // Apply mask to stored value\r\n  placeholder: \"Enter phone number\",\r\n  required: true,\r\n  parentClass: \"col-span-6\",\r\n}\r\n```\r\n\r\n##### Number Field\r\n\r\n```jsx\r\n{\r\n  key: \"price\",\r\n  label: \"Price\",\r\n  type: \"number\",\r\n  negativeNumberAllow: false,        // Disallow negative numbers\r\n  required: true,\r\n  parentClass: \"col-span-6\",\r\n}\r\n```\r\n\r\n##### Date Field\r\n\r\n```jsx\r\n{\r\n  key: \"birthDate\",\r\n  label: \"Date of Birth\",\r\n  type: \"date\",\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Select Dropdown\r\n\r\n```jsx\r\n{\r\n  key: \"category\",\r\n  label: \"Category\",\r\n  type: \"select\",\r\n  options: [\r\n    { value: \"electronics\", label: \"Electronics\" },\r\n    { value: \"clothing\", label: \"Clothing\" },\r\n    { value: \"food\", label: \"Food\" },\r\n  ],\r\n  search: true,                      // Enable search in dropdown\r\n  multiple: false,                   // Single selection\r\n  dropdownMaxHeight: 300,            // Max height in pixels\r\n  defaultValue: \"electronics\",\r\n  required: true,\r\n  parentClass: \"col-span-6\",\r\n}\r\n```\r\n\r\n##### Multi-Select Dropdown\r\n\r\n```jsx\r\n{\r\n  key: \"tags\",\r\n  label: \"Tags\",\r\n  type: \"select\",\r\n  options: [\r\n    { value: \"new\", label: \"New\" },\r\n    { value: \"featured\", label: \"Featured\" },\r\n    { value: \"sale\", label: \"On Sale\" },\r\n  ],\r\n  multiple: true,                    // Multiple selection\r\n  search: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Checkbox (Single & Multiple)\r\n\r\n```jsx\r\n// Single checkbox\r\n{\r\n  key: \"terms\",\r\n  label: \"I agree to terms and conditions\",\r\n  type: \"checkbox\",\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n\r\n// Multiple checkboxes\r\n{\r\n  key: \"interests\",\r\n  label: \"Interests\",\r\n  type: \"checkbox\",\r\n  multiple: true,\r\n  options: [\r\n    { value: \"sports\", label: \"Sports\" },\r\n    { value: \"music\", label: \"Music\" },\r\n    { value: \"travel\", label: \"Travel\" },\r\n  ],\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Radio Buttons\r\n\r\n```jsx\r\n{\r\n  key: \"gender\",\r\n  label: \"Gender\",\r\n  type: \"radio\",\r\n  options: [\r\n    { value: \"male\", label: \"Male\" },\r\n    { value: \"female\", label: \"Female\" },\r\n    { value: \"other\", label: \"Other\" },\r\n  ],\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Switch Toggle\r\n\r\n```jsx\r\n{\r\n  key: \"isActive\",\r\n  label: \"Active Status\",\r\n  type: \"switch\",\r\n  text: \"Enable this item\",           // Optional toggle label\r\n  parentClass: \"col-span-6\",\r\n}\r\n```\r\n\r\n##### Phone Input with Country Code\r\n\r\n```jsx\r\n{\r\n  key: \"phoneNumber\",\r\n  label: \"Phone Number\",\r\n  type: \"phone\",\r\n  countriesList: true,                // Show country selector\r\n  defaultCountry: \"US\",               // Default country code\r\n  search: true,                       // Search countries\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Single Image Upload with Cropping\r\n\r\n```jsx\r\n{\r\n  key: \"profilePicture\",\r\n  label: \"Profile Picture\",\r\n  type: \"image\",\r\n  accept: \"image/*\",                  // Accept all image types\r\n  dragDrop: true,                     // Enable drag & drop\r\n  cropImage: true,                    // Enable cropping\r\n  aspectRatio: 1,                     // 1:1 square crop\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Multiple Image Upload\r\n\r\n```jsx\r\n{\r\n  key: \"gallery\",\r\n  label: \"Gallery Images\",\r\n  type: \"multiImage\",                 // or type: \"image\" with multiple: true\r\n  accept: \"image/*\",\r\n  dragDrop: true,\r\n  cropImage: true,\r\n  aspectRatio: 16 / 9,                // 16:9 landscape crop\r\n  maxImages: 5,                       // Maximum 5 images\r\n  multiple: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Video Upload\r\n\r\n```jsx\r\n{\r\n  key: \"videoFile\",\r\n  label: \"Upload Video\",\r\n  type: \"video\",\r\n  accept: \"video/*\",\r\n  dragDrop: true,\r\n  maxSize: 100,                       // Maximum 100 MB\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Audio Upload\r\n\r\n```jsx\r\n{\r\n  key: \"audioFile\",\r\n  label: \"Upload Audio\",\r\n  type: \"audio\",\r\n  accept: \"audio/*\",\r\n  dragDrop: true,\r\n  maxSize: 50,                        // Maximum 50 MB\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### File Upload (Generic)\r\n\r\n```jsx\r\n// Single file\r\n{\r\n  key: \"document\",\r\n  label: \"Upload Document\",\r\n  type: \"file\",\r\n  accept: \".pdf,.docx,.xlsx\",         // Specific file types\r\n  dragDrop: true,\r\n  maxSize: 10,                        // Maximum 10 MB\r\n  parentClass: \"col-span-12\",\r\n}\r\n\r\n// Multiple files\r\n{\r\n  key: \"attachments\",\r\n  label: \"Attachments\",\r\n  type: \"file\",\r\n  accept: \"*/*\",                      // All file types\r\n  dragDrop: true,\r\n  multiple: true,\r\n  maxFiles: 5,                        // Maximum 5 files\r\n  maxSize: 20,                        // 20 MB per file\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Rich Text Editor (TinyMCE)\r\n\r\n```jsx\r\n{\r\n  key: \"description\",\r\n  label: \"Description\",\r\n  type: \"tinyEditor\",\r\n  editorKey: \"your-tinymce-api-key\",  // Get from https://www.tiny.cloud/\r\n  fontFamily: \"Arial, sans-serif\",\r\n  height: 400,                        // Editor height in pixels\r\n  placeholder: \"Enter description...\",\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Simple Rich Text Editor (Free)\r\n\r\n```jsx\r\n{\r\n  key: \"notes\",\r\n  label: \"Notes\",\r\n  type: \"freeEditor\",\r\n  height: 300,\r\n  placeholder: \"Enter notes...\",\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Textarea\r\n\r\n```jsx\r\n{\r\n  key: \"comments\",\r\n  label: \"Comments\",\r\n  type: \"textarea\",\r\n  rows: 5,                            // Number of visible rows\r\n  placeholder: \"Enter your comments...\",\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Conditional Fields\r\n\r\n```jsx\r\n{\r\n  key: \"employmentStatus\",\r\n  label: \"Employment Status\",\r\n  type: \"select\",\r\n  options: [\r\n    { value: \"employed\", label: \"Employed\" },\r\n    { value: \"self-employed\", label: \"Self-Employed\" },\r\n    { value: \"unemployed\", label: \"Unemployed\" },\r\n  ],\r\n  parentClass: \"col-span-12\",\r\n},\r\n{\r\n  key: \"companyName\",\r\n  label: \"Company Name\",\r\n  type: \"text\",\r\n  renderCondition: (formData) => {\r\n    // Only show if employed or self-employed\r\n    return formData.employmentStatus === \"employed\" || \r\n           formData.employmentStatus === \"self-employed\";\r\n  },\r\n  required: true,\r\n  parentClass: \"col-span-12\",\r\n}\r\n```\r\n\r\n##### Custom Validation\r\n\r\n```jsx\r\n{\r\n  key: \"email\",\r\n  label: \"Email\",\r\n  type: \"email\",\r\n  required: true,\r\n  customValidation: (value) => {\r\n    if (!value.endsWith(\"@company.com\")) {\r\n      return \"Email must be from company domain\";\r\n    }\r\n    return true;  // Return true if valid\r\n  },\r\n  parentClass: \"col-span-12\",\r\n},\r\n{\r\n  key: \"age\",\r\n  label: \"Age\",\r\n  type: \"number\",\r\n  customValidation: (value) => {\r\n    if (value < 18) return \"Must be 18 or older\";\r\n    if (value > 100) return \"Invalid age\";\r\n    return true;\r\n  },\r\n  parentClass: \"col-span-6\",\r\n}\r\n```\r\n\r\n---\r\n\r\n### View Field Schema\r\n\r\nUsed in `viewModal.fields`.\r\n\r\n| Property          | Type      | Description                                                     |\r\n| ----------------- | --------- | --------------------------------------------------------------- |\r\n| `key`             | string    | Property name from row data                                     |\r\n| `label`           | string    | Display label                                                   |\r\n| `type`            | string    | `text`, `date`, `chip`, `image`, `avatar`, `group`, `cardGroup` |\r\n| `format`          | string    | Date format (e.g. `\"DD MMM YYYY\"`)                              |\r\n| `imageKey`        | string    | Property path to image URL                                      |\r\n| `titleKey`        | string    | Property path to title text                                     |\r\n| `subtitleKey`     | string    | Property path to subtitle text                                  |\r\n| `variant`         | string    | Chip style: `contained`, `outline`, `soft`                      |\r\n| `chipOptions`     | array     | `[{ value, label, color }]`                                     |\r\n| `defaultColor`    | string    | Fallback chip color                                             |\r\n| `className`       | string    | Tailwind class on the value element                             |\r\n| `blockClass`      | string    | Tailwind class on the field wrapper                             |\r\n| `icon`            | ReactNode | Icon displayed beside the field                                 |\r\n| `renderCondition` | function  | `(data) => boolean` — show/hide based on row data               |\r\n\r\n---\r\n\r\n## Features & Examples\r\n\r\n### 1. Client-Side CRUD (Minimal Setup)\r\n\r\n```jsx\r\nimport Crud from \"react-admin-crud-manager\";\r\n\r\nconst users = [\r\n  { id: 1, name: \"John Doe\", email: \"john@example.com\", status: \"active\" },\r\n  { id: 2, name: \"Jane Smith\", email: \"jane@example.com\", status: \"inactive\" },\r\n];\r\n\r\nfunction App() {\r\n  const config = {\r\n    title: \"Users\",\r\n    isStaticData: true,\r\n    fetchData: async () => ({ data: users }),\r\n    tableConfig: {\r\n      table_head: [\r\n        { key: \"id\", title: \"ID\", type: \"index\" },\r\n        { key: \"name\", title: \"Name\" },\r\n        { key: \"email\", title: \"Email\" },\r\n        {\r\n          key: \"status\",\r\n          title: \"Status\",\r\n          type: \"chip\",\r\n          chipOptions: [\r\n            { value: \"active\", label: \"Active\", color: \"green\" },\r\n            { value: \"inactive\", label: \"Inactive\", color: \"red\" },\r\n          ],\r\n        },\r\n      ],\r\n      search: { enabled: true, searchKeys: [\"name\", \"email\"] },\r\n      pagination: { enabled: true },\r\n    },\r\n    modalConfig: {\r\n      addModal: {\r\n        title: \"Add User\",\r\n        formFields: [\r\n          { key: \"name\", label: \"Name\", type: \"text\", required: true },\r\n          { key: \"email\", label: \"Email\", type: \"email\", required: true },\r\n          {\r\n            key: \"status\",\r\n            label: \"Status\",\r\n            type: \"select\",\r\n            options: [\r\n              { value: \"active\", label: \"Active\" },\r\n              { value: \"inactive\", label: \"Inactive\" },\r\n            ],\r\n          },\r\n        ],\r\n        handleSubmit: async (formData) => ({\r\n          newObject: { ...formData, id: Date.now() },\r\n        }),\r\n      },\r\n    },\r\n  };\r\n\r\n  return <Crud config={config} />;\r\n}\r\n```\r\n\r\n---\r\n\r\n### 2. Server-Side CRUD with Advanced Features\r\n\r\n```jsx\r\nimport Crud from \"react-admin-crud-manager\";\r\nimport axios from \"axios\";\r\n\r\nconst api = axios.create({ baseURL: \"https://api.example.com\" });\r\n\r\nconst config = {\r\n  title: \"Products\",\r\n  description: \"Manage your product inventory\",\r\n  buttonText: \"Add Product\",\r\n\r\n  fetchData: async ({\r\n    search,\r\n    rows_per_page,\r\n    current_page,\r\n    sort_by,\r\n    sort_order,\r\n    ...filters\r\n  }) => {\r\n    const resp = await api.get(\"/products\", {\r\n      params: {\r\n        q: search,\r\n        limit: rows_per_page,\r\n        page: current_page,\r\n        sort_by,\r\n        sort_order,\r\n        ...filters,\r\n      },\r\n    });\r\n    return {\r\n      data: resp.data.items,\r\n      pagination: {\r\n        current_page: resp.data.page,\r\n        rows_per_page: resp.data.limit,\r\n        total_pages: resp.data.totalPages,\r\n        total_records: resp.data.total,\r\n      },\r\n    };\r\n  },\r\n\r\n  tableConfig: {\r\n    table_head: [\r\n      { key: \"id\", title: \"ID\", type: \"index\" },\r\n      { key: \"name\", title: \"Name\" },\r\n      {\r\n        key: \"price\",\r\n        title: \"Price\",\r\n        render: (row) => `$${row.price.toFixed(2)}`,\r\n      },\r\n      {\r\n        key: \"category\",\r\n        title: \"Category\",\r\n        type: \"chip\",\r\n        variant: \"soft\",\r\n        chipOptions: [\r\n          { value: \"electronics\", label: \"Electronics\", color: \"blue\" },\r\n          { value: \"clothing\", label: \"Clothing\", color: \"purple\" },\r\n        ],\r\n      },\r\n      {\r\n        key: \"actions\",\r\n        title: \"\",\r\n        type: \"menu_actions\",\r\n        menuList: [\r\n          { title: \"Edit\", type: \"edit\" },\r\n          { title: \"Delete\", type: \"delete\" },\r\n          { title: \"View\", type: \"view\" },\r\n        ],\r\n      },\r\n    ],\r\n    search: { enabled: true, useServerSideSearch: true },\r\n    filter: { enabled: true, useServerSideFilters: true },\r\n    pagination: { enabled: true, useServerSidePagination: true },\r\n    sort: { enabled: true, useServerSideSorting: true, autoGenerate: true },\r\n    exportCSV: {\r\n      enabled: true,\r\n      fileName: \"products.csv\",\r\n      fields: [\r\n        { label: \"ID\", key: \"id\" },\r\n        { label: \"Name\", key: \"name\" },\r\n        { label: \"Price\", key: \"price\" },\r\n      ],\r\n    },\r\n    filterConfig: {\r\n      fields: [\r\n        {\r\n          key: \"category\",\r\n          label: \"Category\",\r\n          type: \"select\",\r\n          options: [\r\n            { value: \"electronics\", label: \"Electronics\" },\r\n            { value: \"clothing\", label: \"Clothing\" },\r\n          ],\r\n        },\r\n        { key: \"minPrice\", label: \"Min Price\", type: \"number\" },\r\n        { key: \"maxPrice\", label: \"Max Price\", type: \"number\" },\r\n      ],\r\n    },\r\n  },\r\n\r\n  modalConfig: {\r\n    addModal: {\r\n      title: \"Add Product\",\r\n      size: \"lg\",\r\n      formFields: [\r\n        {\r\n          key: \"name\",\r\n          label: \"Name\",\r\n          type: \"text\",\r\n          required: true,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        {\r\n          key: \"price\",\r\n          label: \"Price\",\r\n          type: \"number\",\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        {\r\n          key: \"stock\",\r\n          label: \"Stock\",\r\n          type: \"number\",\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        {\r\n          key: \"description\",\r\n          label: \"Description\",\r\n          type: \"textarea\",\r\n          rows: 4,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        {\r\n          key: \"image\",\r\n          label: \"Image\",\r\n          type: \"image\",\r\n          dragDrop: true,\r\n          cropImage: true,\r\n          aspectRatio: 1,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n      ],\r\n      handleSubmit: async (formData) => {\r\n        const resp = await api.post(\"/products\", formData);\r\n        return { newObject: resp.data, message: \"Product added!\" };\r\n      },\r\n    },\r\n\r\n    editModal: {\r\n      title: \"Edit Product\",\r\n      size: \"lg\",\r\n      formFields: [\r\n        {\r\n          key: \"name\",\r\n          label: \"Name\",\r\n          type: \"text\",\r\n          required: true,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        {\r\n          key: \"price\",\r\n          label: \"Price\",\r\n          type: \"number\",\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        {\r\n          key: \"stock\",\r\n          label: \"Stock\",\r\n          type: \"number\",\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n      ],\r\n      handleSubmit: async (formData, item) => {\r\n        const resp = await api.put(`/products/${item.id}`, formData);\r\n        return { newObject: resp.data, targetObject: item };\r\n      },\r\n    },\r\n\r\n    deleteModal: {\r\n      title: \"Delete Product\",\r\n      confirmText: \"Are you sure you want to delete this product?\",\r\n      referenceKey: \"name\",\r\n      actionButtons: [\r\n        {\r\n          type: \"button\",\r\n          label: \"Delete\",\r\n          color: \"error\",\r\n          variant: \"contained\",\r\n          onClick: async (event, item) => {\r\n            await api.delete(`/products/${item.id}`);\r\n            return { targetObject: item };\r\n          },\r\n        },\r\n      ],\r\n    },\r\n\r\n    viewModal: {\r\n      title: \"Product Details\",\r\n      variant: \"card\",\r\n      fields: [\r\n        { key: \"id\", label: \"ID\" },\r\n        { key: \"name\", label: \"Name\" },\r\n        { key: \"price\", label: \"Price\" },\r\n        { key: \"stock\", label: \"Stock\" },\r\n        { key: \"category\", label: \"Category\", type: \"chip\" },\r\n      ],\r\n    },\r\n  },\r\n};\r\n```\r\n\r\n---\r\n\r\n### 3. Conditional Fields & Custom Validation\r\n\r\n```js\r\nconst formFields = [\r\n  {\r\n    key: \"userType\",\r\n    label: \"User Type\",\r\n    type: \"select\",\r\n    options: [\r\n      { value: \"admin\", label: \"Administrator\" },\r\n      { value: \"user\", label: \"Regular User\" },\r\n    ],\r\n  },\r\n  {\r\n    key: \"adminLevel\",\r\n    label: \"Admin Level\",\r\n    type: \"select\",\r\n    renderCondition: (data) => data.userType === \"admin\", // only shown for admins\r\n    options: [\r\n      { value: \"superadmin\", label: \"Super Admin\" },\r\n      { value: \"moderator\", label: \"Moderator\" },\r\n    ],\r\n  },\r\n  {\r\n    key: \"email\",\r\n    label: \"Email\",\r\n    type: \"email\",\r\n    required: true,\r\n    customValidation: (value) => {\r\n      if (!value.includes(\"@company.com\")) return \"Must be a company email\";\r\n      return true;\r\n    },\r\n  },\r\n  {\r\n    key: \"password\",\r\n    label: \"Password\",\r\n    type: \"password\",\r\n    customValidation: (value) => {\r\n      if (value.length < 8) return \"Minimum 8 characters\";\r\n      if (!/[A-Z]/.test(value)) return \"Must include an uppercase letter\";\r\n      if (!/[0-9]/.test(value)) return \"Must include a number\";\r\n      return true;\r\n    },\r\n  },\r\n];\r\n```\r\n\r\n---\r\n\r\n### 4. Export CSV\r\n\r\n```js\r\ntableConfig: {\r\n  exportCSV: {\r\n    enabled: true,\r\n    fileName: \"users_export.csv\",\r\n    fields: [\r\n      { label: \"ID\",    key: \"id\" },\r\n      { label: \"Name\",  key: \"name\" },\r\n      { label: \"Email\", key: \"email\" },\r\n    ],\r\n  },\r\n}\r\n```\r\n\r\n---\r\n\r\n### 5. Server-Side Filtering\r\n\r\n```js\r\ntableConfig: {\r\n  filter: { enabled: true, useServerSideFilters: true },\r\n  filterConfig: {\r\n    fields: [\r\n      {\r\n        key: \"status\", label: \"Status\", type: \"select\",\r\n        options: [\r\n          { value: \"active\",   label: \"Active\" },\r\n          { value: \"inactive\", label: \"Inactive\" },\r\n        ],\r\n      },\r\n      { key: \"createdFrom\", label: \"From\", type: \"date\" },\r\n      { key: \"createdTo\",   label: \"To\",   type: \"date\" },\r\n    ],\r\n  },\r\n},\r\nfetchData: async ({ search, rows_per_page, current_page, sort_by, sort_order, ...filters }) => {\r\n  const resp = await api.get(\"/users\", {\r\n    params: { q: search, limit: rows_per_page, page: current_page, sort_by, sort_order, ...filters },\r\n  });\r\n  return { data: resp.data.items, pagination: resp.data.pagination };\r\n},\r\n```\r\n\r\n---\r\n\r\n### 6. Image Cropping\r\n\r\n```js\r\n{\r\n  key: \"profileImage\", label: \"Profile Picture\", type: \"image\",\r\n  cropImage: true,\r\n  aspectRatio: 1,     // 1:1 square\r\n  dragDrop: true,\r\n}\r\n\r\n{\r\n  key: \"banner\", label: \"Banner\", type: \"image\",\r\n  cropImage: true,\r\n  aspectRatio: 16 / 9,\r\n  dragDrop: true,\r\n}\r\n```\r\n\r\n---\r\n\r\n### 7. Input Masking\r\n\r\n```js\r\n// Pattern: 9 = digit | A = letter | X = alphanumeric | * = any | other = literal\r\n\r\n{ key: \"phone\",      type: \"text\", mask: \"(99) 99999-9999\" }\r\n{ key: \"zip\",        type: \"text\", mask: \"99999-999\" }\r\n{ key: \"creditCard\", type: \"text\", mask: \"9999 9999 9999 9999\" }\r\n```\r\n\r\n---\r\n\r\n### 8. Custom Table Cell Rendering\r\n\r\n```jsx\r\ntable_head: [\r\n  {\r\n    key: \"price\",\r\n    title: \"Price\",\r\n    render: (row) => (\r\n      <span className=\"text-green-600 font-semibold\">\r\n        ${row.price.toFixed(2)}\r\n      </span>\r\n    ),\r\n  },\r\n  {\r\n    key: \"user\",\r\n    title: \"User\",\r\n    render: (row) => (\r\n      <div className=\"flex items-center gap-3\">\r\n        <img src={row.avatar} className=\"w-8 h-8 rounded-full\" />\r\n        <div>\r\n          <p className=\"font-semibold\">{row.name}</p>\r\n          <p className=\"text-xs text-gray-500\">{row.email}</p>\r\n        </div>\r\n      </div>\r\n    ),\r\n  },\r\n];\r\n```\r\n\r\n---\r\n\r\n### 9. Custom Toolbar Buttons\r\n\r\n```jsx\r\nimport { Upload, RefreshCw } from \"lucide-react\";\r\n\r\ntableConfig: {\r\n  customButtons: [\r\n    {\r\n      key: \"import\", label: \"Import\",\r\n      icon: <Upload className=\"w-4 h-4\" />,\r\n      color: \"primary\", variant: \"contained\",\r\n      onClick: (event, ctx) => {\r\n        // ctx: { data, filteredData, sortedData, paginatedData,\r\n        //        searchTerm, appliedFilters, currentPage, pageSize, totalRecords }\r\n        console.log(\"Total records:\", ctx.totalRecords);\r\n      },\r\n    },\r\n    {\r\n      key: \"refresh\", label: \"Refresh\",\r\n      icon: <RefreshCw className=\"w-4 h-4\" />,\r\n      variant: \"outlined\",\r\n      onClick: async () => { /* refresh logic */ },\r\n    },\r\n  ],\r\n  customMenuItems: [\r\n    {\r\n      key: \"bulk-delete\", label: \"Bulk Delete\",\r\n      onClick: (event, ctx) => console.log(ctx.filteredData),\r\n    },\r\n  ],\r\n}\r\n```\r\n\r\n**Button properties:** `key`, `label`, `icon`, `variant` (`contained` / `outlined` / `text`), `color` (`primary` / `success` / `error` / `default`), `className`, `disabled`, `show`, `onClick`\r\n\r\n**Menu item properties:** `key`, `label`, `icon`, `className`, `disabled`, `show`, `onClick`\r\n\r\n---\r\n\r\n### 10. Row Click Handler\r\n\r\n```js\r\n// Custom handler\r\ntableConfig: {\r\n  rowClick: (row, rowIndex) => {\r\n    console.log(\"Clicked row:\", row);\r\n  },\r\n}\r\n\r\n// Open view modal on row click\r\ntableConfig: {\r\n  rowClick: true,\r\n}\r\n```\r\n\r\n---\r\n\r\n### 11. View Modal Variants\r\n\r\n```js\r\n// default — standard grid layout\r\nviewModal: { title: \"Details\", variant: \"default\", fields: [...] }\r\n\r\n// card — each field in its own elevated card\r\nviewModal: {\r\n  title: \"Details\", variant: \"card\",\r\n  styles: { containerClass: \"grid grid-cols-12 gap-4\" },\r\n  fields: [...],\r\n}\r\n\r\n// split — clean property-sheet with dividing lines\r\nviewModal: { title: \"Details\", variant: \"split\", fields: [...] }\r\n```\r\n\r\n---\r\n\r\n### 12. Custom View Component\r\n\r\n```jsx\r\nconst UserProfile = ({ data }) => (\r\n  <div className=\"space-y-4\">\r\n    <div className=\"flex items-center gap-4\">\r\n      <img src={data.avatarUrl} className=\"w-16 h-16 rounded-full\" />\r\n      <div>\r\n        <h2 className=\"text-xl font-bold\">{data.name}</h2>\r\n        <p className=\"text-gray-500\">{data.email}</p>\r\n      </div>\r\n    </div>\r\n  </div>\r\n);\r\n\r\nmodalConfig: {\r\n  viewModal: {\r\n    title: \"User Details\",\r\n    component: UserProfile,  // receives { data } prop\r\n  },\r\n}\r\n```\r\n\r\n---\r\n\r\n### 13. Sorting Examples\r\n\r\n#### Client-Side Sorting (Automatic)\r\n\r\n```jsx\r\nconst config = {\r\n  title: \"Products\",\r\n  tableConfig: {\r\n    table_head: [\r\n      { key: \"id\", title: \"ID\", type: \"index\" },\r\n      { key: \"name\", title: \"Name\" },\r\n      { key: \"price\", title: \"Price\" },\r\n      { key: \"createdAt\", title: \"Created\", type: \"date\" },\r\n    ],\r\n    sort: {\r\n      enabled: true,\r\n      autoGenerate: true,  // Auto-generates: name_asc, name_desc, price_asc, price_desc, etc.\r\n      defaultValue: \"name_asc\",\r\n      clearLabel: \"No Sort\",\r\n      label: \"Sort By\",    // Label shown next to sort icon\r\n    },\r\n  },\r\n};\r\n```\r\n\r\n#### Server-Side Sorting with Custom Options\r\n\r\n```jsx\r\nconst config = {\r\n  title: \"Users\",\r\n  fetchData: async ({ sort_by, sort_order, ...params }) => {\r\n    // Backend receives: sort_by = \"created_date\", sort_order = \"desc\"\r\n    const response = await api.get(\"/users\", {\r\n      params: { sortBy: sort_by, order: sort_order, ...params }\r\n    });\r\n    return {\r\n      data: response.data.items,\r\n      pagination: response.data.pagination,\r\n    };\r\n  },\r\n  tableConfig: {\r\n    table_head: [\r\n      { key: \"name\", title: \"Name\" },\r\n      { key: \"email\", title: \"Email\" },\r\n      { key: \"created_date\", title: \"Joined\" },\r\n    ],\r\n    sort: {\r\n      enabled: true,\r\n      useServerSideSorting: true,\r\n      options: [\r\n        { value: \"newest\", label: \"Newest First\", key: \"created_date\", order: \"desc\" },\r\n        { value: \"oldest\", label: \"Oldest First\", key: \"created_date\", order: \"asc\" },\r\n        { value: \"name_asc\", label: \"Name (A-Z)\", key: \"name\", order: \"asc\" },\r\n        { value: \"name_desc\", label: \"Name (Z-A)\", key: \"name\", order: \"desc\" },\r\n      ],\r\n      defaultValue: \"newest\",\r\n      clearLabel: \"Default\",\r\n      onChange: ({ value, option, key, order, type }) => {\r\n        console.log(\"Sort changed:\", { value, key, order });\r\n      },\r\n    },\r\n  },\r\n};\r\n```\r\n\r\n**Server-Side API Payload Example:**\r\n```json\r\n{\r\n  \"search\": \"john\",\r\n  \"rows_per_page\": 50,\r\n  \"current_page\": 1,\r\n  \"sort_by\": \"created_date\",\r\n  \"sort_order\": \"desc\"\r\n}\r\n```\r\n\r\n---\r\n\r\n### 14. Date Field Support\r\n\r\n#### Date Input in Add/Edit Modal\r\n\r\n```jsx\r\nmodalConfig: {\r\n  addModal: {\r\n    title: \"Add Event\",\r\n    formFields: [\r\n      { key: \"title\", label: \"Title\", type: \"text\", required: true },\r\n      { \r\n        key: \"startDate\", \r\n        label: \"Start Date\", \r\n        type: \"date\",  // Date picker field\r\n        required: true,\r\n        parentClass: \"col-span-6\",\r\n      },\r\n      { \r\n        key: \"endDate\", \r\n        label: \"End Date\", \r\n        type: \"date\",\r\n        required: true,\r\n        parentClass: \"col-span-6\",\r\n      },\r\n    ],\r\n    handleSubmit: async (formData) => {\r\n      // formData.startDate and formData.endDate are in YYYY-MM-DD format\r\n      const response = await api.post(\"/events\", formData);\r\n      return { newObject: response.data };\r\n    },\r\n  },\r\n}\r\n```\r\n\r\n#### Date Display in Table\r\n\r\n```jsx\r\ntable_head: [\r\n  { key: \"id\", title: \"ID\", type: \"index\" },\r\n  { key: \"title\", title: \"Event\" },\r\n  { \r\n    key: \"startDate\", \r\n    title: \"Start Date\", \r\n    type: \"date\",\r\n    format: \"DD MMM YYYY\",  // e.g., \"25 Dec 2023\"\r\n  },\r\n  { \r\n    key: \"endDate\", \r\n    title: \"End Date\", \r\n    type: \"date\",\r\n    format: \"DD/MM/YYYY\",  // e.g., \"25/12/2023\"\r\n  },\r\n  { \r\n    key: \"createdAt\", \r\n    title: \"Created\", \r\n    type: \"date\",\r\n    format: \"DD MMM YYYY HH:mm\",  // e.g., \"25 Dec 2023 14:30\"\r\n  },\r\n]\r\n```\r\n\r\n**Supported Date Format Tokens:**\r\n- `DD` - Day (01-31)\r\n- `MM` - Month (01-12)\r\n- `MMM` - Month short name (Jan-Dec)\r\n- `MMMM` - Month full name (January-December)\r\n- `YYYY` - Year (e.g., 2023)\r\n- `HH` - Hours (00-23)\r\n- `mm` - Minutes (00-59)\r\n- `ss` - Seconds (00-59)\r\n\r\n---\r\n\r\n### 15. Modal Action Buttons\r\n\r\n#### Custom Action Buttons in Add/Edit Modal\r\n\r\n```jsx\r\nmodalConfig: {\r\n  addModal: {\r\n    title: \"Add Product\",\r\n    formFields: [\r\n      { key: \"name\", label: \"Name\", type: \"text\", required: true },\r\n      { key: \"price\", label: \"Price\", type: \"number\", required: true },\r\n    ],\r\n    handleSubmit: async (formData) => {\r\n      const response = await api.post(\"/products\", formData);\r\n      return { newObject: response.data, message: \"Product added!\" };\r\n    },\r\n    actionButtons: [\r\n      {\r\n        type: \"submit\",       // Special type - triggers form submission\r\n        label: \"Save\",\r\n        color: \"primary\",     // primary, success, error, warning, default\r\n        variant: \"contained\", // contained, outlined, text\r\n      },\r\n      {\r\n        type: \"button\",\r\n        label: \"Save & Add Another\",\r\n        color: \"success\",\r\n        variant: \"outlined\",\r\n        onClick: async (event, item) => {\r\n          // Custom logic - form stays open after save\r\n          console.log(\"Save and continue\");\r\n        },\r\n      },\r\n    ],\r\n  },\r\n  editModal: {\r\n    title: \"Edit Product\",\r\n    formFields: [\r\n      { key: \"name\", label: \"Name\", type: \"text\", required: true },\r\n      { key: \"price\", label: \"Price\", type: \"number\", required: true },\r\n    ],\r\n    handleSubmit: async (formData, item) => {\r\n      const response = await api.put(`/products/${item.id}`, formData);\r\n      return { newObject: response.data, targetObject: item };\r\n    },\r\n    actionButtons: [\r\n      {\r\n        type: \"submit\",\r\n        label: \"Update\",\r\n        color: \"primary\",\r\n        variant: \"contained\",\r\n      },\r\n      {\r\n        type: \"button\",\r\n        label: \"Reset\",\r\n        color: \"default\",\r\n        variant: \"text\",\r\n        onClick: (event, item) => {\r\n          // Reset form to original values\r\n          console.log(\"Reset form\");\r\n        },\r\n      },\r\n    ],\r\n  },\r\n}\r\n```\r\n\r\n#### Delete Modal Action Buttons\r\n\r\n```jsx\r\nmodalConfig: {\r\n  deleteModal: {\r\n    title: \"Confirm Delete\",\r\n    icon: <Icon icon=\"ph:warning-bold\" className=\"w-6 h-6 text-red-500\" />,\r\n    confirmText: \"Are you sure you want to delete this item?\",\r\n    referenceKey: \"name\",  // Shows item.name in confirmation\r\n    actionButtons: [\r\n      {\r\n        type: \"button\",\r\n        label: \"Cancel\",\r\n        color: \"default\",\r\n        variant: \"outlined\",\r\n        onClick: async (event, item) => {\r\n          // Return null to close modal without deleting\r\n          return { targetObject: null };\r\n        },\r\n      },\r\n      {\r\n        type: \"button\",\r\n        label: \"Delete\",\r\n        color: \"error\",\r\n        variant: \"contained\",\r\n        onClick: async (event, item) => {\r\n          await api.delete(`/products/${item.id}`);\r\n          // Return targetObject to remove from table\r\n          return { targetObject: item };\r\n        },\r\n      },\r\n    ],\r\n  },\r\n}\r\n```\r\n\r\n#### View Modal Footer Configuration\r\n\r\n```jsx\r\nmodalConfig: {\r\n  viewModal: {\r\n    title: \"Product Details\",\r\n    variant: \"card\",\r\n    fields: [\r\n      { key: \"name\", label: \"Name\" },\r\n      { key: \"price\", label: \"Price\" },\r\n      { key: \"description\", label: \"Description\" },\r\n    ],\r\n    footer: {\r\n      cancelButton: true,        // Show close button\r\n      cancelText: \"Close\",       // Close button label\r\n    },\r\n  },\r\n}\r\n```\r\n\r\n---\r\n\r\n### 16. Complete Field Types Showcase\r\n\r\n```jsx\r\nconst config = {\r\n  title: \"Complete Example\",\r\n  modalConfig: {\r\n    addModal: {\r\n      title: \"Add Item\",\r\n      size: \"xl\",\r\n      formClass: \"grid grid-cols-12 gap-4\",\r\n      formFields: [\r\n        // Text fields\r\n        { \r\n          key: \"firstName\", \r\n          label: \"First Name\", \r\n          type: \"text\", \r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        { \r\n          key: \"lastName\", \r\n          label: \"Last Name\", \r\n          type: \"text\", \r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Email & Password\r\n        { \r\n          key: \"email\", \r\n          label: \"Email\", \r\n          type: \"email\", \r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        { \r\n          key: \"password\", \r\n          label: \"Password\", \r\n          type: \"password\", \r\n          required: true,\r\n          minLength: 8,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Number with validation\r\n        { \r\n          key: \"age\", \r\n          label: \"Age\", \r\n          type: \"number\", \r\n          negativeNumberAllow: false,\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n          customValidation: (value) => {\r\n            if (value < 18) return \"Must be 18 or older\";\r\n            return true;\r\n          },\r\n        },\r\n        \r\n        // Date field\r\n        { \r\n          key: \"birthDate\", \r\n          label: \"Date of Birth\", \r\n          type: \"date\", \r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Phone with country code\r\n        { \r\n          key: \"phone\", \r\n          label: \"Phone Number\", \r\n          type: \"phone\",\r\n          countriesList: true,\r\n          defaultCountry: \"US\",\r\n          search: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Masked text input\r\n        { \r\n          key: \"ssn\", \r\n          label: \"SSN\", \r\n          type: \"text\",\r\n          mask: \"999-99-9999\",\r\n          maskApplyOnValue: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Select dropdown\r\n        { \r\n          key: \"country\", \r\n          label: \"Country\", \r\n          type: \"select\",\r\n          countriesList: true,\r\n          search: true,\r\n          required: true,\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Multi-select\r\n        { \r\n          key: \"skills\", \r\n          label: \"Skills\", \r\n          type: \"select\",\r\n          multiple: true,\r\n          search: true,\r\n          options: [\r\n            { value: \"js\", label: \"JavaScript\" },\r\n            { value: \"react\", label: \"React\" },\r\n            { value: \"node\", label: \"Node.js\" },\r\n            { value: \"python\", label: \"Python\" },\r\n          ],\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Radio buttons\r\n        { \r\n          key: \"gender\", \r\n          label: \"Gender\", \r\n          type: \"radio\",\r\n          options: [\r\n            { value: \"male\", label: \"Male\" },\r\n            { value: \"female\", label: \"Female\" },\r\n            { value: \"other\", label: \"Other\" },\r\n          ],\r\n          required: true,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Checkboxes\r\n        { \r\n          key: \"interests\", \r\n          label: \"Interests\", \r\n          type: \"checkbox\",\r\n          multiple: true,\r\n          options: [\r\n            { value: \"sports\", label: \"Sports\" },\r\n            { value: \"music\", label: \"Music\" },\r\n            { value: \"reading\", label: \"Reading\" },\r\n            { value: \"travel\", label: \"Travel\" },\r\n          ],\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Switch toggle\r\n        { \r\n          key: \"newsletter\", \r\n          label: \"Newsletter\", \r\n          type: \"switch\",\r\n          text: \"Subscribe to newsletter\",\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        { \r\n          key: \"notifications\", \r\n          label: \"Push Notifications\", \r\n          type: \"switch\",\r\n          text: \"Enable notifications\",\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Single image with crop\r\n        { \r\n          key: \"avatar\", \r\n          label: \"Profile Picture\", \r\n          type: \"image\",\r\n          dragDrop: true,\r\n          cropImage: true,\r\n          aspectRatio: 1,\r\n          accept: \"image/*\",\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Multiple images\r\n        { \r\n          key: \"gallery\", \r\n          label: \"Gallery\", \r\n          type: \"multiImage\",\r\n          dragDrop: true,\r\n          cropImage: true,\r\n          aspectRatio: 16 / 9,\r\n          maxImages: 5,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Video upload\r\n        { \r\n          key: \"video\", \r\n          label: \"Video\", \r\n          type: \"video\",\r\n          dragDrop: true,\r\n          maxSize: 100,\r\n          accept: \"video/*\",\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // Audio upload\r\n        { \r\n          key: \"audio\", \r\n          label: \"Audio\", \r\n          type: \"audio\",\r\n          dragDrop: true,\r\n          maxSize: 50,\r\n          accept: \"audio/*\",\r\n          parentClass: \"col-span-6\",\r\n        },\r\n        \r\n        // File upload\r\n        { \r\n          key: \"resume\", \r\n          label: \"Resume\", \r\n          type: \"file\",\r\n          dragDrop: true,\r\n          maxSize: 10,\r\n          accept: \".pdf,.doc,.docx\",\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Textarea\r\n        { \r\n          key: \"bio\", \r\n          label: \"Biography\", \r\n          type: \"textarea\",\r\n          rows: 4,\r\n          placeholder: \"Tell us about yourself...\",\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Rich text editor (Free)\r\n        { \r\n          key: \"notes\", \r\n          label: \"Notes\", \r\n          type: \"freeEditor\",\r\n          height: 300,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        \r\n        // Conditional field\r\n        { \r\n          key: \"employmentType\", \r\n          label: \"Employment Type\", \r\n          type: \"select\",\r\n          options: [\r\n            { value: \"full-time\", label: \"Full-time\" },\r\n            { value: \"part-time\", label: \"Part-time\" },\r\n            { value: \"freelance\", label: \"Freelance\" },\r\n          ],\r\n          parentClass: \"col-span-12\",\r\n        },\r\n        { \r\n          key: \"companyName\", \r\n          label: \"Company Name\", \r\n          type: \"text\",\r\n          renderCondition: (data) => data.employmentType !== \"freelance\",\r\n          required: true,\r\n          parentClass: \"col-span-12\",\r\n        },\r\n      ],\r\n      handleSubmit: async (formData) => {\r\n        const response = await api.post(\"/items\", formData);\r\n        return { \r\n          newObject: response.data, \r\n          message: \"Item created successfully!\" \r\n        };\r\n      },\r\n      actionButtons: [\r\n        {\r\n          type: \"submit\",\r\n          label: \"Save\",\r\n          color: \"primary\",\r\n          variant: \"contained\",\r\n        },\r\n      ],\r\n    },\r\n  },\r\n};\r\n```\r\n\r\n---\r\n\r\n### 17. Tabs Feature\r\n\r\n#### Client-Side Tabs with Counts\r\n\r\n```jsx\r\nconst config = {\r\n  title: \"Orders\",\r\n  fetchData: async () => ({\r\n    data: [\r\n      { id: 1, order_no: \"ORD-001\", status: \"pending\", amount: 150 },\r\n      { id: 2, order_no: \"ORD-002\", status: \"completed\", amount: 200 },\r\n      { id: 3, order_no: \"ORD-003\", status: \"cancelled\", amount: 100 },\r\n      { id: 4, order_no: \"ORD-004\", status: \"completed\", amount: 300 },\r\n    ],\r\n  }),\r\n  tableConfig: {\r\n    tabs: {\r\n      enabled: true,\r\n      filterKey: \"status\",\r\n      defaultValue: \"all\",\r\n      options: [\r\n        { value: \"all\", label: \"All Orders\", count: 4 },\r\n        { value: \"pending\", label: \"Pending\", count: 1 },\r\n        { value: \"completed\", label: \"Completed\", count: 2 },\r\n        { value: \"cancelled\", label: \"Cancelled\", count: 1 },\r\n      ],\r\n    },\r\n    table_head: [\r\n      { key: \"order_no\", title: \"Order #\" },\r\n      { key: \"amount\", title: \"Amount\", render: (row) => `$${row.amount}` },\r\n      {\r\n        key: \"status\",\r\n        title: \"Status\",\r\n        type: \"chip\",\r\n        chipOpt","readmeFilename":"README.md"}