{"_id":"@aoviz/vtable","_rev":"4-cb2887169f14acef1b17e6ae7489a586","name":"@aoviz/vtable","dist-tags":{"latest":"1.23.3-alpha.3"},"versions":{"1.23.3":{"name":"@aoviz/vtable","version":"1.23.3","keywords":["grid","table","pivottable","visualization","VTable","VisActor","spreadsheet","canvas","datagrid","datatable"],"author":{"url":"https://VisActor.io/","name":"VisActor"},"license":"MIT","_id":"@aoviz/vtable@1.23.3","maintainers":[{"name":"zhongshenen","email":"zhong_heart@163.com"},{"name":"festinalente123","email":"winniezhaooo@gmail.com"},{"name":"jet_peng","email":"1352351506@qq.com"},{"name":"lucaus","email":"mzx2602685411@gmail.com"}],"homepage":"https://visactor.io/vtable","bugs":{"url":"https://github.com/VisActor/VTable/issues"},"dist":{"shasum":"50c9bc6381fcb1667d5a876835822a102c13a860","tarball":"https://registry.npmjs.org/@aoviz/vtable/-/vtable-1.23.3.tgz","fileCount":2080,"integrity":"sha512-plC0axgZsHzko0lM2mUpK5+mIGQx067xQJI0LnRajftZlUPa6Z6X4SvibOPeazxjnOdO6ZFS/h61x0O8ugDPeg==","signatures":[{"sig":"MEUCIQCWcHxBvgqAETb0V52BUWUAbeZs0dOm7ioquCsuS5gK3QIgTdwPcVDQzH7h6kmYPlcDueVvvZ4iKhmoI6DW10/40zU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24633387},"main":"cjs/index.js","types":"es/index.d.ts","unpkg":"latest","module":"es/index.js","gitHead":"3c391bed94288cbc97208b06208cd341d9f2a048","scripts":{"ci":"ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts","dev":"bundle --clean -f es -w","demo":"vite serve examples","test":"jest --silent","build":"npm run fix-memory-limit && bundle --clean","start":"vite serve examples","eslint":"eslint --debug --fix src/","compile":"tsc --noEmit","build:es":"bundle --clean -f es --ignorePostTasks","test-cov":"jest --coverage","site-demo":"vite serve site-demo","test-nodejs":"ts-node --transpileOnly --skipProject ./nodejs/index.ts","fix-memory-limit":"cross-env LIMIT=10240 increase-memory-limit"},"_npmUser":{"name":"zhongshenen","email":"zhong_heart@163.com"},"repository":{"url":"git+https://github.com/VisActor/VTable.git","type":"git","directory":"packages/vtable"},"unpkgFiles":["build/es5/index.js"],"_npmVersion":"10.8.2","description":"canvas table width high performance","directories":{},"sideEffects":["./src/ListTable-all.js","./src/ListTable-simple.js","./src/PivotTable-all.js","./src/PivotTable-simple.js","./src/PivotChart.js","./src/index.js","./src/scenegraph/scenegraph.js"],"_nodeVersion":"18.20.8","dependencies":{"lodash":"4.17.21","gifuct-js":"2.1.2","cssfontparser":"^1.2.1","@visactor/vscale":"~1.0.17","@visactor/vutils":"~1.0.17","@visactor/vdataset":"~1.0.17","@visactor/vrender-core":"~1.0.41","@visactor/vrender-kits":"~1.0.41","@visactor/vtable-editors":"workspace:*","@visactor/vrender-animate":"~1.0.41","@visactor/vutils-extension":"~2.0.12","@visactor/vrender-components":"~1.0.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"^26.0.0","sass":"1.43.5","vite":"3.2.6","axios":"^1.4.0","luxon":"*","mocha":"9.1.3","react":"^18.0.0","tslib":"2.3.1","d3-dsv":"^3.0.1","d3-geo":"^3.0.1","eslint":"~8.18.0","rimraf":"3.0.2","pikaday":"1.8.2","postcss":"8.4.21","ts-jest":"^26.0.0","ts-node":"10.9.0","d3-array":"3.2.3","cross-env":"^7.0.3","d3-hexbin":"^0.2.2","form-data":"~4.0.0","inversify":"6.0.1","react-dom":"^18.0.0","ts-loader":"9.2.6","node-fetch":"2.6.7","typescript":"4.9.5","@babel/core":"7.20.12","@types/chai":"4.2.22","@types/jest":"^26.0.0","@types/node":"*","markdown-it":"^13.0.0","ttypescript":"1.5.13","@types/mocha":"9.0.0","@types/react":"^18.0.0","d3-hierarchy":"^3.1.1","magic-string":"^0.25.7","@types/lodash":"4.14.182","jest-electron":"^0.1.12","@resvg/resvg-js":"^2.5.0","@types/react-dom":"^18.0.0","@visactor/vchart":"2.0.13-alpha.10","@babel/preset-env":"7.20.2","@internal/bundler":"workspace:*","json-formatter-js":"^2.3.4","@internal/ts-config":"workspace:*","jest-transform-stub":"^2.0.0","@vitejs/plugin-react":"3.1.0","vite-plugin-markdown":"^2.1.0","increase-memory-limit":"^1.0.7","@types/offscreencanvas":"2019.6.4","@internal/eslint-config":"workspace:*","@rushstack/eslint-patch":"~1.1.4","typescript-transform-paths":"3.3.1"},"_npmOperationalInternal":{"tmp":"tmp/vtable_1.23.3_1773045124875_0.4740688079955111","host":"s3://npm-registry-packages-npm-production"}},"1.23.3-alpha.1":{"name":"@aoviz/vtable","version":"1.23.3-alpha.1","keywords":["grid","table","pivottable","visualization","VTable","VisActor","spreadsheet","canvas","datagrid","datatable"],"author":{"url":"https://VisActor.io/","name":"VisActor"},"license":"MIT","_id":"@aoviz/vtable@1.23.3-alpha.1","maintainers":[{"name":"zhongshenen","email":"zhong_heart@163.com"},{"name":"festinalente123","email":"winniezhaooo@gmail.com"},{"name":"jet_peng","email":"1352351506@qq.com"},{"name":"lucaus","email":"mzx2602685411@gmail.com"}],"homepage":"https://visactor.io/vtable","bugs":{"url":"https://github.com/VisActor/VTable/issues"},"dist":{"shasum":"482993771063a4fd6f8ba8a2fb8858e9fdfc2a67","tarball":"https://registry.npmjs.org/@aoviz/vtable/-/vtable-1.23.3-alpha.1.tgz","fileCount":2080,"integrity":"sha512-wv7SPtSwzJ/P/2rfJK7+KWtMGe9L9E+SeBKXXViaQQBHDIHd2MPIzInm4JRMCGKvFC2JiZRmPpqv+jSvQHeVOA==","signatures":[{"sig":"MEUCIQCFqdJsLfUOnktRo8bpmiYRLpcyJO65s/0DGTnk4oiEygIgHq5Jhn7Lm0rCH4bQj3TpOdIPQv1HlO+l+QPeVXM0tgo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24635563},"main":"cjs/index.js","types":"es/index.d.ts","unpkg":"latest","module":"es/index.js","gitHead":"5347f864712915b3a281710874267fb5a2974674","scripts":{"ci":"ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts","dev":"bundle --clean -f es -w","demo":"vite serve examples","test":"jest --silent","build":"npm run fix-memory-limit && bundle --clean","start":"vite serve examples","eslint":"eslint --debug --fix src/","compile":"tsc --noEmit","build:es":"bundle --clean -f es --ignorePostTasks","test-cov":"jest --coverage","site-demo":"vite serve site-demo","test-nodejs":"ts-node --transpileOnly --skipProject ./nodejs/index.ts","fix-memory-limit":"cross-env LIMIT=10240 increase-memory-limit"},"_npmUser":{"name":"zhongshenen","email":"zhong_heart@163.com"},"repository":{"url":"git+https://github.com/VisActor/VTable.git","type":"git","directory":"packages/vtable"},"unpkgFiles":["build/es5/index.js"],"_npmVersion":"10.9.2","description":"canvas table width high performance","directories":{},"sideEffects":["./src/ListTable-all.js","./src/ListTable-simple.js","./src/PivotTable-all.js","./src/PivotTable-simple.js","./src/PivotChart.js","./src/index.js","./src/scenegraph/scenegraph.js"],"_nodeVersion":"22.17.0","dependencies":{"lodash":"4.17.21","gifuct-js":"2.1.2","cssfontparser":"^1.2.1","@visactor/vscale":"~1.0.17","@visactor/vutils":"~1.0.17","@visactor/vdataset":"~1.0.17","@visactor/vrender-core":"~1.0.41","@visactor/vrender-kits":"~1.0.41","@visactor/vtable-editors":"1.23.3","@visactor/vrender-animate":"~1.0.41","@visactor/vutils-extension":"~2.0.12","@visactor/vrender-components":"~1.0.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"^26.0.0","sass":"1.43.5","vite":"3.2.6","axios":"^1.4.0","luxon":"*","mocha":"9.1.3","react":"^18.0.0","tslib":"2.3.1","d3-dsv":"^3.0.1","d3-geo":"^3.0.1","eslint":"~8.18.0","rimraf":"3.0.2","pikaday":"1.8.2","postcss":"8.4.21","ts-jest":"^26.0.0","ts-node":"10.9.0","d3-array":"3.2.3","cross-env":"^7.0.3","d3-hexbin":"^0.2.2","form-data":"~4.0.0","inversify":"6.0.1","react-dom":"^18.0.0","ts-loader":"9.2.6","node-fetch":"2.6.7","typescript":"4.9.5","@babel/core":"7.20.12","@types/chai":"4.2.22","@types/jest":"^26.0.0","@types/node":"*","markdown-it":"^13.0.0","ttypescript":"1.5.13","@types/mocha":"9.0.0","@types/react":"^18.0.0","d3-hierarchy":"^3.1.1","magic-string":"^0.25.7","@types/lodash":"4.14.182","jest-electron":"^0.1.12","@resvg/resvg-js":"^2.5.0","@types/react-dom":"^18.0.0","@visactor/vchart":"2.0.13-alpha.10","@babel/preset-env":"7.20.2","json-formatter-js":"^2.3.4","jest-transform-stub":"^2.0.0","@vitejs/plugin-react":"3.1.0","vite-plugin-markdown":"^2.1.0","increase-memory-limit":"^1.0.7","@types/offscreencanvas":"2019.6.4","@rushstack/eslint-patch":"~1.1.4","typescript-transform-paths":"3.3.1"},"_npmOperationalInternal":{"tmp":"tmp/vtable_1.23.3-alpha.1_1773111888616_0.8945489489430671","host":"s3://npm-registry-packages-npm-production"}},"1.23.3-alpha.2":{"name":"@aoviz/vtable","version":"1.23.3-alpha.2","keywords":["grid","table","pivottable","visualization","VTable","VisActor","spreadsheet","canvas","datagrid","datatable"],"author":{"url":"https://VisActor.io/","name":"VisActor"},"license":"MIT","_id":"@aoviz/vtable@1.23.3-alpha.2","maintainers":[{"name":"zhongshenen","email":"zhong_heart@163.com"},{"name":"festinalente123","email":"winniezhaooo@gmail.com"},{"name":"jet_peng","email":"1352351506@qq.com"},{"name":"lucaus","email":"mzx2602685411@gmail.com"}],"homepage":"https://visactor.io/vtable","bugs":{"url":"https://github.com/VisActor/VTable/issues"},"dist":{"shasum":"25c1c6870a4fc4340d989b0048c17f31f9992f00","tarball":"https://registry.npmjs.org/@aoviz/vtable/-/vtable-1.23.3-alpha.2.tgz","fileCount":2080,"integrity":"sha512-e8npq31kdyv48vtrYoS8r54ZaV/2qggVzj0zCRv7rl0BqBcTdaxa1w/lR9o7OWAIY6h6QpP7+QNOcvl0x30GVA==","signatures":[{"sig":"MEQCIHOvW9Cq01KRv1fw/8/RMA1Z7YexP4zdLknK6jPOkWNuAiASNIEp95z8ZmQ6J79zSo/ekpyP1HeIKsNFob2eQbuZXA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24633262},"main":"cjs/index.js","types":"es/index.d.ts","unpkg":"latest","module":"es/index.js","gitHead":"ba911eb0c1e136e3d65fec74b6ed5db6dde98917","scripts":{"ci":"ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts","dev":"bundle --clean -f es -w","demo":"vite serve examples","test":"jest --silent","build":"npm run fix-memory-limit && bundle --clean","start":"vite serve examples","eslint":"eslint --debug --fix src/","compile":"tsc --noEmit","build:es":"bundle --clean -f es --ignorePostTasks","test-cov":"jest --coverage","site-demo":"vite serve site-demo","test-nodejs":"ts-node --transpileOnly --skipProject ./nodejs/index.ts","fix-memory-limit":"cross-env LIMIT=10240 increase-memory-limit"},"_npmUser":{"name":"zhongshenen","email":"zhong_heart@163.com"},"repository":{"url":"git+https://github.com/VisActor/VTable.git","type":"git","directory":"packages/vtable"},"unpkgFiles":["build/es5/index.js"],"_npmVersion":"10.9.2","description":"canvas table width high performance","directories":{},"sideEffects":["./src/ListTable-all.js","./src/ListTable-simple.js","./src/PivotTable-all.js","./src/PivotTable-simple.js","./src/PivotChart.js","./src/index.js","./src/scenegraph/scenegraph.js"],"_nodeVersion":"22.17.0","dependencies":{"lodash":"4.17.21","gifuct-js":"2.1.2","cssfontparser":"^1.2.1","@visactor/vscale":"~1.0.17","@visactor/vutils":"~1.0.17","@visactor/vdataset":"~1.0.17","@visactor/vrender-core":"~1.0.41","@visactor/vrender-kits":"~1.0.41","@visactor/vtable-editors":"1.23.3","@visactor/vrender-animate":"~1.0.41","@visactor/vutils-extension":"~2.0.12","@visactor/vrender-components":"~1.0.41"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"chai":"4.3.4","jest":"^26.0.0","sass":"1.43.5","vite":"3.2.6","axios":"^1.4.0","luxon":"*","mocha":"9.1.3","react":"^18.0.0","tslib":"2.3.1","d3-dsv":"^3.0.1","d3-geo":"^3.0.1","eslint":"~8.18.0","rimraf":"3.0.2","pikaday":"1.8.2","postcss":"8.4.21","ts-jest":"^26.0.0","ts-node":"10.9.0","d3-array":"3.2.3","cross-env":"^7.0.3","d3-hexbin":"^0.2.2","form-data":"~4.0.0","inversify":"6.0.1","react-dom":"^18.0.0","ts-loader":"9.2.6","node-fetch":"2.6.7","typescript":"4.9.5","@babel/core":"7.20.12","@types/chai":"4.2.22","@types/jest":"^26.0.0","@types/node":"*","markdown-it":"^13.0.0","ttypescript":"1.5.13","@types/mocha":"9.0.0","@types/react":"^18.0.0","d3-hierarchy":"^3.1.1","magic-string":"^0.25.7","@types/lodash":"4.14.182","jest-electron":"^0.1.12","@resvg/resvg-js":"^2.5.0","@types/react-dom":"^18.0.0","@visactor/vchart":"2.0.13-alpha.10","@babel/preset-env":"7.20.2","json-formatter-js":"^2.3.4","jest-transform-stub":"^2.0.0","@vitejs/plugin-react":"3.1.0","vite-plugin-markdown":"^2.1.0","increase-memory-limit":"^1.0.7","@types/offscreencanvas":"2019.6.4","@rushstack/eslint-patch":"~1.1.4","typescript-transform-paths":"3.3.1"},"_npmOperationalInternal":{"tmp":"tmp/vtable_1.23.3-alpha.2_1773112073504_0.8663800750780095","host":"s3://npm-registry-packages-npm-production"}},"1.23.3-alpha.3":{"name":"@aoviz/vtable","version":"1.23.3-alpha.3","description":"canvas table width high performance","keywords":["grid","table","pivottable","visualization","VTable","VisActor","spreadsheet","canvas","datagrid","datatable"],"author":{"name":"VisActor","url":"https://VisActor.io/"},"license":"MIT","sideEffects":["./src/ListTable-all.js","./src/ListTable-simple.js","./src/PivotTable-all.js","./src/PivotTable-simple.js","./src/PivotChart.js","./src/index.js","./src/scenegraph/scenegraph.js"],"main":"cjs/index.js","module":"es/index.js","types":"es/index.d.ts","scripts":{"demo":"vite serve examples","site-demo":"vite serve site-demo","compile":"tsc --noEmit","eslint":"eslint --debug --fix src/","build":"npm run fix-memory-limit && bundle --clean","dev":"bundle --clean -f es -w","start":"vite serve examples","test":"jest --silent","test-cov":"jest --coverage","ci":"ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts","build:es":"bundle --clean -f es --ignorePostTasks","test-nodejs":"ts-node --transpileOnly --skipProject ./nodejs/index.ts","fix-memory-limit":"cross-env LIMIT=10240 increase-memory-limit"},"dependencies":{"@visactor/vtable-editors":"workspace:*","@visactor/vrender-core":"~1.0.41","@visactor/vrender-kits":"~1.0.41","@visactor/vrender-components":"~1.0.41","@visactor/vrender-animate":"~1.0.41","@visactor/vutils":"~1.0.17","@visactor/vscale":"~1.0.17","@visactor/vdataset":"~1.0.17","@visactor/vutils-extension":"~2.0.12","cssfontparser":"^1.2.1","gifuct-js":"2.1.2","lodash":"4.17.21"},"devDependencies":{"cross-env":"^7.0.3","increase-memory-limit":"^1.0.7","luxon":"*","@visactor/vchart":"2.0.13-alpha.10","@internal/bundler":"workspace:*","@internal/eslint-config":"workspace:*","@internal/ts-config":"workspace:*","@rushstack/eslint-patch":"~1.1.4","react":"^18.0.0","react-dom":"^18.0.0","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@vitejs/plugin-react":"3.1.0","eslint":"~8.18.0","vite":"3.2.6","typescript":"4.9.5","@babel/core":"7.20.12","@babel/preset-env":"7.20.2","@types/chai":"4.2.22","@types/jest":"^26.0.0","@types/mocha":"9.0.0","@types/node":"*","@types/offscreencanvas":"2019.6.4","@types/lodash":"4.14.182","chai":"4.3.4","jest":"^26.0.0","jest-electron":"^0.1.12","jest-transform-stub":"^2.0.0","magic-string":"^0.25.7","mocha":"9.1.3","postcss":"8.4.21","rimraf":"3.0.2","sass":"1.43.5","ts-jest":"^26.0.0","ts-loader":"9.2.6","ts-node":"10.9.0","tslib":"2.3.1","ttypescript":"1.5.13","typescript-transform-paths":"3.3.1","json-formatter-js":"^2.3.4","inversify":"6.0.1","vite-plugin-markdown":"^2.1.0","markdown-it":"^13.0.0","node-fetch":"2.6.7","form-data":"~4.0.0","axios":"^1.4.0","d3-dsv":"^3.0.1","d3-array":"3.2.3","d3-geo":"^3.0.1","d3-hexbin":"^0.2.2","d3-hierarchy":"^3.1.1","@resvg/resvg-js":"^2.5.0","pikaday":"1.8.2"},"unpkg":"latest","unpkgFiles":["build/es5/index.js"],"publishConfig":{"access":"public"},"homepage":"https://visactor.io/vtable","repository":{"type":"git","url":"git+https://github.com/VisActor/VTable.git","directory":"packages/vtable"},"_id":"@aoviz/vtable@1.23.3-alpha.3","gitHead":"74ab641e3288db345ec6d434f8d4ea89ae6448a7","bugs":{"url":"https://github.com/VisActor/VTable/issues"},"_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-irETfEhPEsxN4sPy3PpSU+NBvPkfZKa6yS7X1x2FT2lwNRkLo6nEJ09pveueZgYldewjvJP3Vr3bCtZ/pNrr8Q==","shasum":"4867d64f751a4e96699a5aa21e1071a92b01aa43","tarball":"https://registry.npmjs.org/@aoviz/vtable/-/vtable-1.23.3-alpha.3.tgz","fileCount":2080,"unpackedSize":24635085,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFmdK2eqECbbWWBL6++ZLT/ZzsOfehULLVy+P0LDYaEtAiAAwq52LqDwAaw+eV/7I9kCNAgQvZEiwzCvPwXyU5U67Q=="}]},"_npmUser":{"name":"zhongshenen","email":"zhong_heart@163.com"},"directories":{},"maintainers":[{"name":"zhongshenen","email":"zhong_heart@163.com"},{"name":"festinalente123","email":"winniezhaooo@gmail.com"},{"name":"jet_peng","email":"1352351506@qq.com"},{"name":"lucaus","email":"mzx2602685411@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vtable_1.23.3-alpha.3_1773137101445_0.9610154491424254"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-09T08:32:04.800Z","modified":"2026-03-10T10:05:01.992Z","1.23.3":"2026-03-09T08:32:05.217Z","1.23.3-alpha.1":"2026-03-10T03:04:49.007Z","1.23.3-alpha.2":"2026-03-10T03:07:53.941Z","1.23.3-alpha.3":"2026-03-10T10:05:01.806Z"},"bugs":{"url":"https://github.com/VisActor/VTable/issues"},"author":{"name":"VisActor","url":"https://VisActor.io/"},"license":"MIT","homepage":"https://visactor.io/vtable","keywords":["grid","table","pivottable","visualization","VTable","VisActor","spreadsheet","canvas","datagrid","datatable"],"repository":{"type":"git","url":"git+https://github.com/VisActor/VTable.git","directory":"packages/vtable"},"description":"canvas table width high performance","maintainers":[{"name":"zhongshenen","email":"zhong_heart@163.com"},{"name":"festinalente123","email":"winniezhaooo@gmail.com"},{"name":"jet_peng","email":"1352351506@qq.com"},{"name":"lucaus","email":"mzx2602685411@gmail.com"}],"readme":"<div align=\"center\">\n  <a href=\"\" target=\"_blank\">\n    <img alt=\"VisActor Logo\" width=\"200\" src=\"https://github.com/VisActor/.github/blob/main/profile/500_200.svg\"/>\n  </a>\n</div>\n\n<div align=\"center\">\n  <h1>VTable</h1>\n</div>\n\n<div align=\"center\">\n\nVTable is not just a high-performance multidimensional data analysis table, but also a grid artist that creates art between rows and columns.\n\n<p align=\"center\">\n  <a href=\"\">Introduction</a> •\n  <a href=\"\">demo</a> •\n  <a href=\"\">Tutorial</a> •\n  <a href=\"\">API</a>•\n</p>\n\n[![npm Version](https://img.shields.io/npm/v/@visactor/vtable.svg)](https://www.npmjs.com/package/@visactor/vtable)\n[![npm Download](https://img.shields.io/npm/dm/@visactor/vtable.svg)](https://www.npmjs.com/package/@visactor/vtable)\n[![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/visactor/vtable/blob/main/LICENSE)\n\n</div>\n\n<div align=\"center\">\n\nEnglish| [简体中文](./README.zh-CN.md)\n\n</div>\n\n<div align=\"center\">\n\n（video）\n\n</div>\n\n# Introduction\n\nVTable is a canvas table library based on visual rendering engine [VRender](https://github.com/VisActor/VRender). \n\nThe core capabilities are as follows:\n\n1. Extreme performance: Supports fast computation and rendering of millions of data points.\n2. Multidimensional analysis: Automatically analyzes and presents multidimensional data.\n3. Strong expressiveness: Provides flexible and powerful graphic capabilities, seamlessly integrating with charts of [VChart](https://github.com/VisActor/VChart).\n\n# Repo Intro\n\nThis repository includes the following packages:\n\n1. vtable: VTable components\n2. vtable-docs: VTable documentation\n\n# Usage\n\n## Installation\n\n[npm package](https://www.npmjs.com/package/@visactor/vtable)\n\n```bash\n// npm\nnpm install @visactor/vtable\n\n// yarn\nyarn add @visactor/vtable\n```\n\n## Quick Start\n\n```javascript\nimport * as VTable from '@visactor/vtable';\n\nconst columns =[\n    {\n        \"field\": \"Order ID\",\n        \"caption\": \"Order ID\",\n    },\n    {\n        \"field\": \"Customer ID\",\n        \"caption\": \"Customer ID\",\n    },\n    {\n        \"field\": \"Product Name\",\n        \"caption\": \"Product Name\",\n    },\n    {\n        \"field\": \"Sales\",\n        \"caption\": \"Sales\",\n    },\n    {\n        \"field\": \"Profit\",\n        \"caption\": \"Profit\",\n    }\n];\n\nconst option = {\n  records:[\n      {\n      \"Order ID\": \"CA-2018-156720\",\n      \"Customer ID\": \"JM-15580\",\n      \"Product Name\": \"Bagged Rubber Bands\",\n      \"Sales\": \"3.024\",\n      \"Profit\": \"-0.605\"\n  },\n  {\n      \"Order ID\": \"CA-2018-115427\",\n      \"Customer ID\": \"EB-13975\",\n      \"Product Name\": \"GBC Binding covers\",\n      \"Sales\": \"20.72\",\n      \"Profit\": \"6.475\"\n  },\n  ...\n  ],\n  columns,\n  widthMode:'standard'\n};\nconst tableInstance = new VTable.ListTable(document.getElementById(CONTAINER_ID), option);\n```\n\n## Component Layout Priority\n\nThe `componentLayoutOrder` option allows you to control the layout priority of `title` and `legend`. This affects the order in which they occupy space in the drawing area. By default, the order is `['legend', 'title']`.\n\nTo place the title above the legend, you can configure it as follows:\n\n```javascript\nconst option = {\n  // ...other options\n  title: {\n    text: 'Sales Analysis',\n    orient: 'top',\n    align: 'center'\n  },\n  legends: {\n    orient: 'top',\n    // ...other legend options\n  },\n  componentLayoutOrder: ['title', 'legend']\n};\n\nconst tableInstance = new VTable.ListTable(document.getElementById(CONTAINER_ID), option);\n```\n\n##\n\n[More demos and detailed tutorials](https://visactor.io/vtable)\n\n# Related Links\n\n- [Official website](https://visactor.io/vtable)\n\n# Ecosystem\n\n| Project                                                     | Description                                                                            |\n| ----------------------------------------------------------- | -------------------------------------------------------------------------------------- |\n| [AI-generated Components](https://visactor.io/ai-vtable)    | AI-generated table component.                                                          |\n\n# Contribution\n\nIf you would like to contribute, please read the [Code of Conduct ](./CODE_OF_CONDUCT.md) 和 [ Guide](./CONTRIBUTING.zh-CN.md) first。\n\nSmall streams converge to make great rivers and seas!\n\n<a href=\"https://github.com/visactor/vtable/graphs/contributors\"><img src=\"https://contrib.rocks/image?repo=visactor/vtable\" /></a>\n\n# License\n\n[MIT License](./LICENSE)\n","readmeFilename":"README.md"}