{"_id":"@blocktion/json-to-table","_rev":"7-83f2d988cf55398c18f47f32cea7ffbf","name":"@blocktion/json-to-table","dist-tags":{"latest":"1.0.6"},"versions":{"1.0.0":{"name":"@blocktion/json-to-table","version":"1.0.0","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.0","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"7daae89a544c7b2645eed0edb9c74877367dd722","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.0.tgz","fileCount":99,"integrity":"sha512-fbUD4RnW3tEEzrMReTghPWlq8o9WJKdj7dD0RckqINKeAFDNsk15qdDjMx9nXDegQeHiOj9E+Jr17kphA6jZtA==","signatures":[{"sig":"MEUCIQDNV1ShwThqqZy4vaRi1i3/U7YtL9W7phOyzpWBZBSshwIgfnjG4Xb68bAJU1Aoz4XuJ+bs0jT4udb19jdpv7I8hiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197886},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"2f67778c3ffd751a253a2bb1dfa50941a7153e1c","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.0_1759023949396_0.02582839640330903","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@blocktion/json-to-table","version":"1.0.1","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.1","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"22f1f75f3016eed7bdd6091bb4b891a9b73e485a","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.1.tgz","fileCount":97,"integrity":"sha512-fZ9WrdkLNqdNv/6HG6lgaac7dtvCX5wX5Jgk4IUq2emvn7xnIwU8GOwUrFLI3u9Gp+d+f1PQxsGyn5Cxw+/EXw==","signatures":[{"sig":"MEYCIQCfasKLH8YcGoMJXuxg4iNMXy6ut445pBFmcNdbQmKI8wIhAP6OlQH1hJLm8WnqPvwq7082DsaFCczo1L0Fvw8ZtMGb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":196966},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"f0fb955a420a82b2b2f1eafb30b19a71dde3bc83","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.1_1759024502461_0.9904150627677824","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@blocktion/json-to-table","version":"1.0.2","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.2","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"ad3bad9541508c8ff2b5b5a128becb1643430ae0","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.2.tgz","fileCount":97,"integrity":"sha512-1yuzEKQrWxJgBuPO4QEV9htwoxQ0f9r59eJHrRcDGW08k5GHx93Cnj3JvZd6qsWmWp6M9QOFl+u+Nm2BMaBgJA==","signatures":[{"sig":"MEUCIQDYCIH6afiYhEgG7qUur/IpgqamuDvr1FsQ6Icq0zZQUQIgQ4R0pnPDaghFRXmlA3foWV5Kdm9FBJUp/DY1yItTkbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":197301},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"0439ca62c714354ae407c9d642230d1121dd0c58","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.2_1759027202878_0.49027832311539976","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@blocktion/json-to-table","version":"1.0.3","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.3","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"a5d1ebe65af85963e493eb6f308307fd5118a24a","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.3.tgz","fileCount":97,"integrity":"sha512-yrITpjccsQourJ0wzHyEgDorztgzU3tNujzzPIMtW9fwINeF+NbRRJxxH9wVgY8Xm5hGVtefxlOgsxh9Ev5EOw==","signatures":[{"sig":"MEYCIQCzA2HGBjnUt3wFytzxseO3VMwqLzGeY4IRzmwJgO+7vgIhAOqr8VWc66TV5w4lCOaP5R0iZAzxI2rgDKo1eNK3odwZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198304},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"629b02d9761f74488cc51288cfd409b87a976199","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.3_1759032147740_0.2391126390736853","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@blocktion/json-to-table","version":"1.0.4","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.4","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"41a72f62ab0a9620356c7544a675e5c0db306b79","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.4.tgz","fileCount":97,"integrity":"sha512-bxr/1Kn9woNJE3joNkOzykqY8/ydwS/068R4AsblNJlYNuYTNPhWPVBGRplybfUJgWHmLKR6WJJ8lUwDdK7Pxw==","signatures":[{"sig":"MEYCIQCa1Frmjyz6yHZWPnxf/L5n5EzkAc+q+15RqEFojH+rdwIhAPckY0vcvdy/93WmQpBI2dgPRhSm8/LKuzXR8wXl3C28","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198590},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"319fec8f4aad8a3a227cbe34900422441707597e","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.4_1759033055525_0.6446111312213676","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@blocktion/json-to-table","version":"1.0.5","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"url":"https://parallaxsolutions.org","name":"Parallax Solutions","email":"info@parallaxsolutions.org"},"license":"MIT","_id":"@blocktion/json-to-table@1.0.5","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"homepage":"https://github.com/blocktion/json-to-table","bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"dist":{"shasum":"b3f31babc299c5d193fce8cb5d91ea4f73c890c6","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.5.tgz","fileCount":97,"integrity":"sha512-PlMT42jF2c+FZA8finwiYeo/EkFHY5nK64T1aR/SoaJPvEeMSl05GhVK4iRqgDzKRyu6D9ntp5erW6ixyic4Zg==","signatures":[{"sig":"MEQCIBpXSijFnLH3CTITdZjxc9W5z61DhGx3ymuuVdnAC3INAiATp05Fg/A0JJFzfm9g+OHCnpvyP8zyTa3cKoh2gDkyYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":198662},"main":"./dist/index.js","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"},"./hooks":{"types":"./dist/hooks/index.d.ts","import":"./dist/hooks/index.js","require":"./dist/hooks/index.js"},"./utils":{"types":"./dist/utils/index.d.ts","import":"./dist/utils/index.js","require":"./dist/utils/index.js"},"./themes":{"types":"./dist/styles/theme.d.ts","import":"./dist/styles/theme.js","require":"./dist/styles/theme.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.js","require":"./dist/components/index.js"}},"gitHead":"4e8d27f7f1e2afefea35ed9c408c52fd5f9f6399","scripts":{"dev":"tsc --watch","test":"echo \"No tests specified\" && exit 0","build":"tsc","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"repository":{"url":"git+https://github.com/blocktion/json-to-table.git","type":"git"},"_npmVersion":"10.2.4","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"_hasShrinkwrap":false,"devDependencies":{"rimraf":"^5.0.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/json-to-table_1.0.5_1759034157753_0.613534574509607","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@blocktion/json-to-table","version":"1.0.6","description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.js","types":"./dist/index.d.ts"},"./themes":{"import":"./dist/styles/theme.js","require":"./dist/styles/theme.js","types":"./dist/styles/theme.d.ts"},"./components":{"import":"./dist/components/index.js","require":"./dist/components/index.js","types":"./dist/components/index.d.ts"},"./hooks":{"import":"./dist/hooks/index.js","require":"./dist/hooks/index.js","types":"./dist/hooks/index.d.ts"},"./utils":{"import":"./dist/utils/index.js","require":"./dist/utils/index.js","types":"./dist/utils/index.d.ts"}},"scripts":{"build":"tsc","dev":"tsc --watch","clean":"rimraf dist","prepublishOnly":"npm run clean && npm run build","test":"echo \"No tests specified\" && exit 0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"dependencies":{"json5":"^2.2.3","react-icons":"^4.12.0"},"devDependencies":{"@types/react":"^18.2.0","@types/react-dom":"^18.2.0","rimraf":"^5.0.0","typescript":"^5.0.0"},"keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"author":{"name":"Parallax Solutions","email":"info@parallaxsolutions.org","url":"https://parallaxsolutions.org"},"license":"MIT","homepage":"https://github.com/blocktion/json-to-table","repository":{"type":"git","url":"git+https://github.com/blocktion/json-to-table.git"},"bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"engines":{"node":">=14.0.0"},"_id":"@blocktion/json-to-table@1.0.6","gitHead":"93597e92e9c73d3903272a48d3f13d9178e2b722","_nodeVersion":"20.11.0","_npmVersion":"10.2.4","dist":{"integrity":"sha512-ntSmwh08wMmQMIW1J97F2p7xuFu14AO02XuH+aVrsxj4HcI8EoeQh9m46ESal2k2er9j8CPoiaTa+8qI7J40AQ==","shasum":"0c87d9f9d832441fea93677b2885c19057db157b","tarball":"https://registry.npmjs.org/@blocktion/json-to-table/-/json-to-table-1.0.6.tgz","fileCount":97,"unpackedSize":201379,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCcsxOOhGYAb48vKT1Bj0oJn7KpCpfPYvFK+dPE435V9QIgRlxXgkaxiTGn9AQ/uFjboiOmt+KzhLMpCeaNbr02wRo="}]},"_npmUser":{"name":"blocktion","email":"pascual@parallaxsolutions.org"},"directories":{},"maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/json-to-table_1.0.6_1759100851959_0.7999058991502428"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-28T01:45:49.252Z","modified":"2025-09-28T23:07:32.379Z","1.0.0":"2025-09-28T01:45:49.585Z","1.0.1":"2025-09-28T01:55:02.639Z","1.0.2":"2025-09-28T02:40:03.062Z","1.0.3":"2025-09-28T04:02:27.934Z","1.0.4":"2025-09-28T04:17:35.763Z","1.0.5":"2025-09-28T04:35:57.948Z","1.0.6":"2025-09-28T23:07:32.163Z"},"bugs":{"url":"https://github.com/blocktion/json-to-table/issues"},"author":{"name":"Parallax Solutions","email":"info@parallaxsolutions.org","url":"https://parallaxsolutions.org"},"license":"MIT","homepage":"https://github.com/blocktion/json-to-table","keywords":["react","json","table","data-visualization","navigable-table","typescript","theme","modular","blocktion","parallaxsolutions","saas","data-grid","spreadsheet","excel-like"],"repository":{"type":"git","url":"git+https://github.com/blocktion/json-to-table.git"},"description":"A powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, and sub-table navigation. Part of the Blocktion SaaS project ecosystem.","maintainers":[{"name":"blocktion","email":"pascual@parallaxsolutions.org"}],"readme":"# @blocktion/json-to-table\r\n\r\nA powerful, modular React component for converting JSON data to navigable tables with advanced features like automatic column detection, theming, array merging, type detection, and sub-table navigation. This component is part of the **Blocktion platform** ecosystem.\r\n\r\n> **Note**: This component was originally developed for the [Blocktion platform](https://blocktion.io) - an intelligent workflow automation platform. We've open-sourced this component for anyone to use in their React projects. Read the [root folder README](../../README.md) to understand what Blocktion is.\r\n\r\n## ✨ Features\r\n\r\n### Core Features\r\n\r\n- **🚀 Automatic Column Detection**: Automatically generates columns from any object structure\r\n- **🔗 Nested Navigation**: Click on cells to navigate into nested objects and arrays as separate sub-tables\r\n- **📊 Smart Sorting**: Click column headers to sort data with intelligent type detection\r\n- **🔍 Advanced Filtering**: Filter data with multiple operators and type-aware filtering\r\n- **📄 Pagination**: Built-in pagination for large datasets\r\n- **🔄 Array Merging**: Automatically merges repeated columns into arrays\r\n- **🎯 Type Detection**: Automatically detects and handles different data types\r\n- **🍞 Breadcrumb Navigation**: Navigate back to previous levels using breadcrumbs\r\n- **🎨 Customizable Rendering**: Custom cell renderers for any column\r\n- **📱 Responsive Design**: Horizontal scrolling for large datasets\r\n- **🔧 TypeScript Support**: Fully typed components and utilities\r\n- **🎭 Multiple Themes**: Built-in theme support\r\n- **⚡ Performance Optimized**: Memoized operations and efficient rendering\r\n\r\n### 🆕 Editing Features\r\n\r\n- **✏️ Inline Editing**: Click any cell to edit it directly in the table\r\n- **🗑️ Row Management**: Add, delete individual rows or perform bulk operations\r\n- **🔧 Field Operations**: Add, update, or delete specific fields\r\n- **✅ Real-time Validation**: Built-in validation system with custom rules\r\n- **📝 Change Tracking**: Complete audit trail of all modifications\r\n- **💾 Save/Discard**: Save changes or discard them with confirmation\r\n- **🎯 Type-specific Editors**: Different editors for text, numbers, booleans, dates, etc.\r\n- **⌨️ Keyboard Navigation**: Full keyboard support for editing workflows\r\n- **🔍 Bulk Operations**: Select and operate on multiple rows simultaneously\r\n- **🎨 Visual Feedback**: Clear indicators for editable fields and validation errors\r\n\r\n## 📦 Installation\r\n\r\n```bash\r\nnpm install @blocktion/json-to-table\r\n```\r\n\r\n## 🏗️ Modular Usage\r\n\r\nThis package is designed with modularity in mind. You can import only what you need:\r\n\r\n```tsx\r\n// Main component\r\nimport { JsonTable } from \"@blocktion/json-to-table\";\r\n\r\n// Individual components\r\nimport {\r\n  TableContainer,\r\n  TableHeader,\r\n  TableBody,\r\n} from \"@blocktion/json-to-table/components\";\r\n\r\n// Hooks\r\nimport {\r\n  useTableData,\r\n  useSorting,\r\n  usePagination,\r\n} from \"@blocktion/json-to-table/hooks\";\r\n\r\n// Themes\r\nimport {\r\n  defaultTheme,\r\n  darkTheme,\r\n  minimalTheme,\r\n} from \"@blocktion/json-to-table/themes\";\r\n\r\n// Utilities\r\nimport { ArrayAnalyzer, ObjectUtils } from \"@blocktion/json-to-table/utils\";\r\n```\r\n\r\n## 🚀 Quick Start\r\n\r\n### Basic Table\r\n\r\n```tsx\r\nimport { JsonTable } from \"@blocktion/json-to-table\";\r\n\r\nconst data = [\r\n  { id: 1, name: \"John\", age: 30, email: \"john@example.com\" },\r\n  { id: 2, name: \"Jane\", age: 25, email: \"jane@example.com\" },\r\n];\r\n\r\nfunction App() {\r\n  return (\r\n    <JsonTable\r\n      data={data}\r\n      title=\"Users\"\r\n      options={{\r\n        maxDepth: 2,\r\n        enableSorting: true,\r\n        enableNavigation: true,\r\n      }}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n### Editable Table with Full Editing Capabilities\r\n\r\n```tsx\r\nimport React, { useState } from \"react\";\r\nimport { JsonTable } from \"@parallaxsolutions/json-to-table\";\r\n\r\nconst data = [\r\n  {\r\n    id: 1,\r\n    name: \"John Doe\",\r\n    email: \"john@example.com\",\r\n    age: 30,\r\n    isActive: true,\r\n    salary: 75000,\r\n    department: \"Engineering\",\r\n    tags: [\"developer\", \"react\"],\r\n  },\r\n];\r\n\r\nfunction EditableApp() {\r\n  const [tableData, setTableData] = useState(data);\r\n\r\n  const handleDataChange = (newData, changes) => {\r\n    console.log(\"Data changed:\", changes);\r\n    setTableData(newData);\r\n  };\r\n\r\n  const validationRules = [\r\n    {\r\n      field: \"email\",\r\n      validator: (value) => /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(value),\r\n      message: \"Invalid email format\",\r\n    },\r\n    {\r\n      field: \"age\",\r\n      validator: (value) => value >= 18 && value <= 100,\r\n      message: \"Age must be between 18 and 100\",\r\n    },\r\n  ];\r\n\r\n  return (\r\n    <JsonTable\r\n      data={tableData}\r\n      title=\"Editable Users Table\"\r\n      options={{\r\n        // Core features\r\n        enableSorting: true,\r\n        enableNavigation: true,\r\n        enablePagination: true,\r\n        showRowNumbers: true,\r\n\r\n        // Editing features\r\n        enableEditing: true,\r\n        enableRowDeletion: true,\r\n        enableFieldEditing: true,\r\n        enableFieldDeletion: true,\r\n        enableInlineEditing: true,\r\n        enableBulkOperations: true,\r\n        editMode: \"inline\",\r\n        validationRules,\r\n      }}\r\n      onDataChange={handleDataChange}\r\n      onRowAdd={(rowIndex, row) => console.log(\"Row added:\", rowIndex)}\r\n      onRowDelete={(rowIndex, row) => console.log(\"Row deleted:\", rowIndex)}\r\n      onFieldUpdate={(rowIndex, field, newValue, oldValue) =>\r\n        console.log(\"Field updated:\", { rowIndex, field, newValue, oldValue })\r\n      }\r\n      customRenderers={{\r\n        email: (value) => (\r\n          <a href={`mailto:${value}`} className=\"text-blue-600 underline\">\r\n            {value}\r\n          </a>\r\n        ),\r\n        isActive: (value) => (\r\n          <span className={value ? \"text-green-600\" : \"text-red-600\"}>\r\n            {value ? \"Active\" : \"Inactive\"}\r\n          </span>\r\n        ),\r\n      }}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n### Advanced Table with All Features\r\n\r\n```tsx\r\nimport { JsonTable } from \"@blocktion/json-to-table\";\r\n\r\nconst data = [\r\n  {\r\n    id: 1,\r\n    name: \"John Doe\",\r\n    profile: {\r\n      email: \"john@example.com\",\r\n      settings: { theme: \"dark\", notifications: true },\r\n    },\r\n    hobbies: [\"reading\", \"swimming\"],\r\n    isActive: true,\r\n    lastLogin: \"2024-01-15T10:30:00Z\",\r\n  },\r\n];\r\n\r\nfunction App() {\r\n  return (\r\n    <JsonTable\r\n      data={data}\r\n      title=\"Advanced Users Table\"\r\n      options={{\r\n        maxDepth: 3,\r\n        enableSorting: true,\r\n        enableNavigation: true,\r\n        enablePagination: true,\r\n        enableFiltering: true,\r\n        mergeRepeatedColumns: true,\r\n        pageSize: 10,\r\n        showRowNumbers: true,\r\n      }}\r\n      onRowClick={(row, index) => console.log(\"Row clicked:\", row)}\r\n      onCellClick={(value, column, row) => console.log(\"Cell clicked:\", value)}\r\n      customRenderers={{\r\n        email: (value) => (\r\n          <a href={`mailto:${value}`} className=\"text-blue-600 underline\">\r\n            {value}\r\n          </a>\r\n        ),\r\n        isActive: (value) => (\r\n          <span className={value ? \"text-green-600\" : \"text-red-600\"}>\r\n            {value ? \"Active\" : \"Inactive\"}\r\n          </span>\r\n        ),\r\n      }}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n## 📚 API Reference\r\n\r\n### JsonTable Props\r\n\r\n| Prop              | Type                                                                | Default        | Description                              |\r\n| ----------------- | ------------------------------------------------------------------- | -------------- | ---------------------------------------- |\r\n| `data`            | `unknown[]`                                                         | -              | Array of objects to display in the table |\r\n| `title`           | `string`                                                            | `\"Data Table\"` | Title displayed above the table          |\r\n| `className`       | `string`                                                            | `\"\"`           | Additional CSS classes                   |\r\n| `options`         | `TableOptions`                                                      | `{}`           | Table configuration options              |\r\n| `theme`           | `'default' \\| 'minimal' \\| 'dark'`                                  | `'default'`    | Theme for the table                      |\r\n| `onRowClick`      | `(row: unknown, index: number) => void`                             | -              | Callback when a row is clicked           |\r\n| `onCellClick`     | `(value: unknown, column: Column, row: unknown) => void`            | -              | Callback when a cell is clicked          |\r\n| `customRenderers` | `Record<string, (value: unknown, row: unknown) => React.ReactNode>` | `{}`           | Custom cell renderers                    |\r\n\r\n### TableOptions\r\n\r\n| Option                 | Type      | Default | Description                                 |\r\n| ---------------------- | --------- | ------- | ------------------------------------------- |\r\n| `maxDepth`             | `number`  | `2`     | Maximum depth for nested object exploration |\r\n| `enableSorting`        | `boolean` | `true`  | Enable column sorting                       |\r\n| `enableFiltering`      | `boolean` | `false` | Enable data filtering                       |\r\n| `enablePagination`     | `boolean` | `false` | Enable pagination                           |\r\n| `enableNavigation`     | `boolean` | `true`  | Enable sub-table navigation                 |\r\n| `mergeRepeatedColumns` | `boolean` | `false` | Merge repeated columns into arrays          |\r\n| `pageSize`             | `number`  | `50`    | Number of rows per page                     |\r\n| `showRowNumbers`       | `boolean` | `false` | Show row numbers                            |\r\n| `showColumnCount`      | `boolean` | `true`  | Show column count                           |\r\n| `showRowCount`         | `boolean` | `true`  | Show row count                              |\r\n\r\n## 🎨 Styling\r\n\r\nThe component uses Tailwind CSS classes. Make sure Tailwind CSS is available in your project for proper styling.\r\n\r\n### Custom Themes\r\n\r\n```tsx\r\n<JsonTable\r\n  data={data}\r\n  theme=\"dark\" // or \"minimal\"\r\n  className=\"custom-table\"\r\n/>\r\n```\r\n\r\n### Custom Cell Renderers\r\n\r\n```tsx\r\n<JsonTable\r\n  data={data}\r\n  customRenderers={{\r\n    status: (value) => (\r\n      <span\r\n        className={`badge ${value === \"active\" ? \"badge-success\" : \"badge-error\"}`}\r\n      >\r\n        {value}\r\n      </span>\r\n    ),\r\n    avatar: (value) => (\r\n      <img src={value} alt=\"Avatar\" className=\"w-8 h-8 rounded-full\" />\r\n    ),\r\n  }}\r\n/>\r\n```\r\n\r\n## 🔧 Advanced Usage\r\n\r\n### Array Merging\r\n\r\nWhen `mergeRepeatedColumns` is enabled, the table will automatically merge repeated column values into arrays:\r\n\r\n```tsx\r\nconst data = [\r\n  { id: 1, name: \"John\", tags: [\"developer\"] },\r\n  { id: 2, name: \"Jane\", tags: [\"designer\"] },\r\n  { id: 3, name: \"Bob\", tags: [\"manager\"] },\r\n  { id: 4, name: \"Alice\", tags: [\"developer\", \"designer\"] },\r\n];\r\n\r\n<JsonTable data={data} options={{ mergeRepeatedColumns: true }} />;\r\n```\r\n\r\n### Type Detection\r\n\r\nThe table automatically detects data types and provides appropriate sorting and filtering:\r\n\r\n- **Strings**: Text-based sorting and filtering\r\n- **Numbers**: Numeric sorting and comparison\r\n- **Booleans**: Boolean sorting\r\n- **Dates**: Date-based sorting and filtering\r\n- **Objects**: Navigation to sub-tables\r\n- **Arrays**: Navigation to sub-tables\r\n\r\n### Filtering\r\n\r\n```tsx\r\n<JsonTable\r\n  data={data}\r\n  options={{ enableFiltering: true }}\r\n  // Filtering is handled internally, but you can access filter state\r\n  onFilterChange={(filters) => console.log(\"Filters changed:\", filters)}\r\n/>\r\n```\r\n\r\n## 🚀 Performance\r\n\r\nThe component is optimized for performance with:\r\n\r\n- **Memoized Operations**: Expensive operations are memoized to prevent unnecessary recalculations\r\n- **Efficient Rendering**: Only re-renders when necessary\r\n- **Virtual Scrolling**: For very large datasets (coming soon)\r\n- **Lazy Loading**: Nested data is loaded on demand\r\n\r\n## 🏢 About Blocktion\r\n\r\nThis package is part of the **Blocktion platform** - an intelligent workflow automation platform that enables you to create, manage, and execute complex workflows through a powerful combination of visual design and advanced orchestration.\r\n\r\n### Blocktion Platform\r\n\r\n[Blocktion](https://blocktion.io) is a sophisticated, enterprise-grade workflow automation platform that transforms complex automation challenges into simple, visual workflows. This JSON-to-table component was originally developed for Blocktion's data exploration and visualization features and is now available to the open-source community.\r\n\r\nRead the [root folder README](../../README.md) to learn more about Blocktion's full capabilities, including:\r\n\r\n- Visual workflow designer with drag-and-drop interface\r\n- Advanced block system with rich integrations (Gmail, Twitter, AI/ML services)\r\n- Intelligent execution engine with path optimization\r\n- Real-time monitoring and enterprise security features\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions from the community! Please feel free to:\r\n\r\n- Submit bug reports and feature requests\r\n- Fork the repository and submit pull requests\r\n- Improve documentation\r\n- Add tests and examples\r\n\r\n### Development Setup\r\n\r\n```bash\r\ngit clone https://github.com/blocktion/json-to-table.git\r\ncd json-to-table\r\nnpm install\r\nnpm run dev\r\n```\r\n\r\n## 📄 License\r\n\r\nMIT License - see [LICENSE](LICENSE) file for details.\r\n\r\n## 🔗 Related\r\n\r\n- [Blocktion Platform](https://blocktion.io) - The main workflow automation platform\r\n- [React](https://reactjs.org/)\r\n- [TypeScript](https://www.typescriptlang.org/)\r\n- [Tailwind CSS](https://tailwindcss.com/)\r\n\r\n## 📞 Support\r\n\r\nFor support, questions, or business inquiries:\r\n\r\n- Email: info@blocktion.io\r\n- GitHub Issues: [Create an issue](https://github.com/blocktion/json-to-table/issues)\r\n- Website: [blocktion.io](https://blocktion.io)\r\n","readmeFilename":"README.md"}