{"_id":"@boardxus/canvasx-core","_rev":"14-232a9c5e68a6a5cd7b49218e0e15f45e","name":"@boardxus/canvasx-core","dist-tags":{"latest":"0.1.15"},"versions":{"0.1.1":{"name":"@boardxus/canvasx-core","version":"0.1.1","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.1","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://www.boardx.us/","dist":{"shasum":"05e2634cf9e204b0f315c900cd1ef62bdd424201","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.1.tgz","fileCount":601,"integrity":"sha512-Dl04T+gEugegoWTGh0RG/Sx6EFdPV0Mb7PTz19pMe2PT/+y4MODHFh8xnN4L82hFOpuzu8cE8FTNgiIkqqrR/A==","signatures":[{"sig":"MEUCIQDgaq+yLFh2Kx58wbZkUfppofHDFthY5dAMoWwwpUazlgIgQC0eDXSmSY5iCoGbtadvPUevHWmsi6wCebmovmLKlQs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2340262},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"03c092bd59a35b259210eb69942d8961fbbbc209","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.5.3","marked":"^13.0.0","chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","@types/jsdom":"^20.0.1","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.1_1747273890446_0.032455154489270166","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@boardxus/canvasx-core","version":"0.1.2","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.2","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"dafca76695a05127e79084c7b36b9a620dcda503","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.2.tgz","fileCount":339,"integrity":"sha512-Tz5GAkQgzyxoasOhUrniMzONbwCopKSru2NCvRg75ReI/yuWLPjB6qLMBjRgxC8fuA/77wC6ReWreZhrv+WuTg==","signatures":[{"sig":"MEUCIAbbG4so1dkDkj6WAF7xQpoL7+YjRz6HLTyTkxem7kLSAiEA6zjJ+YFiLNcEjon37wDcY1fGz7iXF2pn6zsmiMgWDlc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1802375},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"d17664ef87a6ba5e64091e3a00afed94489a8032","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.5.3","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.2_1747282090902_0.3088026217335693","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@boardxus/canvasx-core","version":"0.1.3","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.3","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"a572e49a4f3365d9120ea3bedf43d53a5fecacbb","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.3.tgz","fileCount":339,"integrity":"sha512-rX8CcKJHhVvNk5e5wW3eBP2pttg1vw33n2YOgJ8y1N8T35bn712lZTBfknNrjUW24qh0G7BDpy/g6zntSVHvBQ==","signatures":[{"sig":"MEUCIBjYhDkxpbg7GK2DEwyv1hJhbLeSg3hyPrjYY/i/Kv0/AiEAqBXOZnqraMCVyuJlABTLarlW1pE9Bxz81jl80HjU0aY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1803814},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"bc71bebc766556ccf00b3305c61b5812fd7b1f10","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.5.3","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.3_1747284959192_0.32453282851121235","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@boardxus/canvasx-core","version":"0.1.4","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.4","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"509c877f352a9b2989166cc90633a41eeee194da","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.4.tgz","fileCount":339,"integrity":"sha512-1aUqBulTPfXUgCXVwp1B+I7lSAx6IHtgQxz+qQVju+DC5SVTU+vlbyPzx5db6qbtOBDW0CrcJFqvpSCDcpRuKQ==","signatures":[{"sig":"MEYCIQCL/o+nKkZeDF93FMTFglCaQOqbpMKJBHBnY1QPCuyCugIhANsG8nEX4b3WHFOwqPGQwdAGzC4ULEIOZPylF4sVI7xM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1804038},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"95ca04829c5b2e8925ee76fe04ba548172fe4ef0","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.5.3","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.4_1747285505935_0.05126619282549272","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@boardxus/canvasx-core","version":"0.1.5","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.5","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"9727c180ef786527f56d5e9d4d5bfa03705aa46f","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.5.tgz","fileCount":558,"integrity":"sha512-f32FjdLsJBn1oifpqI4+1Cfh7OEjgL/ZfB4JXOApqr8VEVwHztmStlng5PVKmeuB2dVJ9bEqLSPqOKuExes6Xg==","signatures":[{"sig":"MEYCIQCrdxQbjjehYjxN03GnJgdrOV3pqSym1tt+Nxeve8zTNwIhAIwLcaxrAuZCCev8lhct/7JUqNetiK8IPIm9YbT5K1nX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11719048},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"6400c575116476e6abc69966eed7f03ccd2f8531","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.5.3","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.5_1747344609402_0.40805243721074747","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@boardxus/canvasx-core","version":"0.1.7","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.7","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"ee8c0fe20b50824c18f926f31f6fdc76c856f4ea","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.7.tgz","fileCount":879,"integrity":"sha512-kEnMB9bd5nSOTFqEP4WQgEsZ4upmC1OHgjCU/PaHlk+udQS2ws+j2EWsaP0hSi6hcppUbbUGq7I7AzzAZBnCOw==","signatures":[{"sig":"MEQCIFWH/PUml9mUv1hCLlsc0hCaj+7tv4G2G0OcH0G/jrb8AiAl0IIOdWOVqHKu03uePVyOhrzkfp5FFPCFheAGozjVKQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6321609},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"47b8104f84e5db078356b07718a9983ac74f28c4","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.7_1748790938329_0.41297877101095537","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@boardxus/canvasx-core","version":"0.1.8","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.8","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"248618275041160c988dca4b14cae75b8514d33a","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.8.tgz","fileCount":882,"integrity":"sha512-uBIjWkoQE0RKuPCNq4e7lJ7KQ4+xTMFdRFuW1OgjAOjtOs0b1igfHuaA6W3ucs95BT/sK0opP8l8K3e4qvZA7Q==","signatures":[{"sig":"MEUCICSDnPaSBnYFa5Nt+ukcBDB075CquOHgltaT9pPPstLVAiEA4yA9RQ5XqH63mBWnwKSlnjTdiAVLNMnhjvJgfci4mf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6333911},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"a9e6a9b5e3e79106bbd2248600fc046e5af929eb","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.8_1748965977712_0.16131102080074555","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@boardxus/canvasx-core","version":"0.1.9","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.9","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"8181d55adac6c1ad5a8e6363c623915f38f164b1","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.9.tgz","fileCount":882,"integrity":"sha512-Dx48H12L+6E4mksNjmKaEExWunly6/qf/Dc8suJqdBIOgvWlN/zMY8Qi+Nbb1PoD8ntJgyQ7kFN1q/6SyEVHRA==","signatures":[{"sig":"MEUCICSzCGqr4bDY1fFWmemjCYM2zT9Aj2UYFzXV278QLn1QAiEA8PV1rFN7g/2tCTYGwbooU0LDVYRZ+EavztzhBBLqBpY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6338170},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"f596db13913786bfc246adc029b5ad56a1b1cced","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","marked":"^13.0.0","webfontloader":"^1.6.28","@emotion/react":"^11.11.4","@emotion/styled":"^11.11.5","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.9_1749068218435_0.7704226346708465","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@boardxus/canvasx-core","version":"0.1.10","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.10","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"c48a662281500cf2a1fe59343f3490cdf25b8011","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.10.tgz","fileCount":908,"integrity":"sha512-yXJFhcSa5ss3INJHw1Q15/VU3EUTcmN2V1VcfguG7WsYhQN67RLC2+XUrCPPO574qZxgPSOFAXIHKHnIgm8jgQ==","signatures":[{"sig":"MEQCIH5k2JjHoPjGI+qnsASIZuQCOsXTzt+268dLIFeCR9ZyAiB5RGlHV0keCr1/6QC8KAsQPa3Wr7dFpQzFCgazWAnZYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6387456},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"db81693967ea66c5cc8c715a6bd8d490dd26b3d9","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write ."},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","webfontloader":"^1.6.28","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"marked":"^13.0.0","chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.10_1749926538212_0.8418148108915586","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@boardxus/canvasx-core","version":"0.1.11","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.11","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"cda4997a7ead451db5b766509bcc4f6e24a986de","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.11.tgz","fileCount":965,"integrity":"sha512-Tj0ykJrimcqp3gciqWUXaRcRpsWUcxqDH7aYw7YN7kCy1slf/qH0UY2xSYpndhOCHFws2LzU8ORC6JZoPHcOgA==","signatures":[{"sig":"MEQCIGHvG0ooVtnGcgKrAYDb6ls9QlMOP857RA0b3Pb+MNlqAiBKnJy4FMeDsZ4mfqc4FPScS/6Abf19bjGAvrxZ+E/oZA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6585044},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"a67199794e2d1d860c9e56f328630b3c547cda8e","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write .","test:shift-fix":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.shift-fix.test.ts","test:reattachment":"jest src/widgets/XConnector/__tests__/ConnectorReattachment","test:target-ports":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.target-port-support.test.ts","test:control-points":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.control-points.test.ts","test:coordinate-offset":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.coordinate-offset.test.ts","test:movement-threshold":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.movement-threshold.test.ts","test:reattachment:watch":"jest src/widgets/XConnector/__tests__/ConnectorReattachment --watch"},"_npmUser":{"name":"usam","actor":{"name":"usam","type":"user","email":"usam@boardx.us"},"email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","webfontloader":"^1.6.28","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"marked":"^13.0.0","chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.11_1750349124985_0.9044236486647101","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@boardxus/canvasx-core","version":"0.1.12","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.12","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"80860acf1ef279770c9b8da9f31dcc5244234917","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.12.tgz","fileCount":963,"integrity":"sha512-z5O7TFMrLMHTyxJaiCv5hiA8c1Sgbi4Ft2y5Rz5FXiw6PzRZ3XbKgN8D7Qbyw6SWNgFl3u4fcOsC6qEP7RrY/A==","signatures":[{"sig":"MEQCIBax+1i1O8xxZEcl1Xu4umCpSExO9IN3l8Z+eyNGqYwtAiAMxgMUE8MmkzubmCvcr1DzZ0eDGYO3nKcqvGgFzRMNVQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6540611},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"e67fd72b1510f977d340dc1ea7bd4a2d6ef65064","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write .","test:shift-fix":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.shift-fix.test.ts","test:reattachment":"jest src/widgets/XConnector/__tests__/ConnectorReattachment","test:target-ports":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.target-port-support.test.ts","test:control-points":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.control-points.test.ts","test:coordinate-offset":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.coordinate-offset.test.ts","test:movement-threshold":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.movement-threshold.test.ts","test:reattachment:watch":"jest src/widgets/XConnector/__tests__/ConnectorReattachment --watch"},"_npmUser":{"name":"usam","actor":{"name":"usam","type":"user","email":"usam@boardx.us"},"email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","webfontloader":"^1.6.28","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"marked":"^13.0.0","chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.12_1750870256387_0.6771771491664724","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@boardxus/canvasx-core","version":"0.1.13","author":{"name":"BoardX"},"license":"MIT","_id":"@boardxus/canvasx-core@0.1.13","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"}],"homepage":"http://canvasx-demo.boardx.us/","dist":{"shasum":"e838d06c0e21599ac8c752beb1f053e7572244e8","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.13.tgz","fileCount":963,"integrity":"sha512-sJO8g5B97y4QfmAH/9JCKK6SV5sUhvrKpW/ayaTghM4S9Czxgzib3vE55vaSiJdTVM5Nw//awhzvBptK72qdJQ==","signatures":[{"sig":"MEQCIBxB/iga2/1NTRNRkaW6gxfuOOU8yE5nANrbYMseIdJCAiA4q+3oYhraD+Vt2xztlmICl7QKB5J3Ywgr/WwBjPjz2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6541032},"main":"dist/index.mjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"node":null,"types":"./dist/index.d.ts","import":"./dist/index.mjs","default":"./dist/index.min.mjs","require":"./dist/index.mjs"}},"gitHead":"e67fd72b1510f977d340dc1ea7bd4a2d6ef65064","scripts":{"lint":"eslint src","test":"jest src","build":"rollup -c ./rollup.config.mjs","start":"npm run build && npm run sandboxscript -- start next","test:ci":"jest --collectCoverage src","type-check":"tsc","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write .","test:shift-fix":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.shift-fix.test.ts","test:reattachment":"jest src/widgets/XConnector/__tests__/ConnectorReattachment","test:target-ports":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.target-port-support.test.ts","test:control-points":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.control-points.test.ts","test:coordinate-offset":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.coordinate-offset.test.ts","test:movement-threshold":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.movement-threshold.test.ts","test:reattachment:watch":"jest src/widgets/XConnector/__tests__/ConnectorReattachment --watch"},"_npmUser":{"name":"usam","actor":{"name":"usam","type":"user","email":"usam@boardx.us"},"email":"usam@boardx.us"},"_npmVersion":"10.7.0","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","directories":{},"_nodeVersion":"20.15.1","dependencies":{"fabric":"^6.6.6","webfontloader":"^1.6.28","@rollup/plugin-node-resolve":"^16.0.1"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.7.0","axios":"^1.7.9","chalk":"^5.3.0","tslib":"^2.6.3","eslint":"^9.9.0","rollup":"^4.20.0","ps-list":"^8.1.1","ts-jest":"^29.2.5","chart.js":"^4.4.3","inquirer":"^8.2.1","prettier":"^3.3.1","commander":"^9.1.0","@babel/cli":"^7.22.9","typescript":"^5.5.4","@babel/core":"^7.26.10","@types/jest":"^29.5.2","html2canvas":"^1.4.1","markdown-it":"^14.1.0","@types/jsdom":"^20.0.1","highlight.js":"^11.9.0","child_process":"^1.0.2","@babel/preset-env":"^7.26.9","@rollup/plugin-json":"^6.0.0","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-terser":"^0.4.4","eslint-config-prettier":"^9.1.0","jest-environment-jsdom":"^29.5.0","@babel/preset-typescript":"^7.22.5","@rollup/plugin-typescript":"^11.1.1","@typescript-eslint/parser":"^8.1.0","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","@typescript-eslint/eslint-plugin":"^8.1.0"},"peerDependencies":{"marked":"^13.0.0","chart.js":"^4.4.3","html2canvas":"^1.4.1","markdown-it":"^14.1.0","highlight.js":"^11.9.0","@mdit/plugin-katex":"^0.12.0","markdown-it-highlightjs":"^4.1.0"},"optionalDependencies":{"jsdom":"^20.0.1","canvas":"^2.11.2"},"_npmOperationalInternal":{"tmp":"tmp/canvasx-core_0.1.13_1750872014866_0.5379649621152887","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@boardxus/canvasx-core","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","homepage":"http://canvasx-demo.boardx.us/","type":"module","main":"dist/index.mjs","version":"0.1.15","scripts":{"type-check":"tsc","test":"jest src","test:ci":"jest --collectCoverage src","test:reattachment":"jest src/widgets/XConnector/__tests__/ConnectorReattachment","test:reattachment:watch":"jest src/widgets/XConnector/__tests__/ConnectorReattachment --watch","test:shift-fix":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.shift-fix.test.ts","test:target-ports":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.target-port-support.test.ts","test:control-points":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.control-points.test.ts","test:movement-threshold":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.movement-threshold.test.ts","test:coordinate-offset":"jest src/widgets/XConnector/__tests__/ConnectorReattachment.coordinate-offset.test.ts","lint":"eslint src","sandboxscript":"node ./scripts/sandbox.mjs","prettier:check":"prettier --check .","prettier:write":"prettier --write .","start":"npm run build && npm run sandboxscript -- start next","build":"rollup -c ./rollup.config.mjs"},"author":{"name":"BoardX"},"license":"MIT","optionalDependencies":{"canvas":"^2.11.2","jsdom":"^20.0.1"},"peerDependencies":{"chart.js":"^4.4.3","highlight.js":"^11.9.0","html2canvas":"^1.4.1","markdown-it":"^14.1.0","markdown-it-highlightjs":"^4.1.0","marked":"^13.0.0","@mdit/plugin-katex":"^0.12.0"},"devDependencies":{"@babel/cli":"^7.22.9","@babel/core":"^7.26.10","@babel/preset-env":"^7.26.9","@babel/preset-typescript":"^7.22.5","@rollup/plugin-babel":"^6.0.4","@rollup/plugin-json":"^6.0.0","@rollup/plugin-terser":"^0.4.4","@rollup/plugin-typescript":"^11.1.1","@types/jest":"^29.5.2","@types/jsdom":"^20.0.1","@typescript-eslint/eslint-plugin":"^8.1.0","@typescript-eslint/parser":"^8.1.0","axios":"^1.7.9","babel-plugin-transform-imports":"git+https://git@github.com/fabricjs/babel-plugin-transform-imports.git","chalk":"^5.3.0","chart.js":"^4.4.3","child_process":"^1.0.2","commander":"^9.1.0","eslint":"^9.9.0","eslint-config-prettier":"^9.1.0","highlight.js":"^11.9.0","html2canvas":"^1.4.1","inquirer":"^8.2.1","jest":"^29.7.0","jest-environment-jsdom":"^29.5.0","markdown-it":"^14.1.0","prettier":"^3.3.1","ps-list":"^8.1.1","rollup":"^4.20.0","ts-jest":"^29.2.5","tslib":"^2.6.3","typescript":"^5.5.4"},"dependencies":{"@rollup/plugin-node-resolve":"^16.0.1","fabric":"^6.6.6","webfontloader":"^1.6.28"},"module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.mjs","default":"./dist/index.min.mjs","node":null,"types":"./dist/index.d.ts"}},"_id":"@boardxus/canvasx-core@0.1.15","gitHead":"79fefe8c029b12427162dbeb14b694c31b3fa02b","_nodeVersion":"20.15.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-PeBwuEL7N7qJfq4dBIrI3fJtnXDgp+sLCr/c5/jDaEIQSj5B97vJiCBARxfLhQcOpjuL/Ezo5Hhyupi/8z2kRw==","shasum":"79e0141fadcabacdb34bdfc04517c0be19055aa4","tarball":"https://registry.npmjs.org/@boardxus/canvasx-core/-/canvasx-core-0.1.15.tgz","fileCount":936,"unpackedSize":4675082,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCyKeU9BJ2CGU6NxobffR8hUCIUauRWImW6tdZO46jfSgIhAIX1knzWHWTjV0AOXIOedq5gz56uRVNhU8HTCzcYuCqO"}]},"_npmUser":{"name":"usam","email":"usam@boardx.us"},"directories":{},"maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"},{"name":"yangjun.shen","email":"yangjun.shen@boardx.us"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/canvasx-core_0.1.15_1760533543187_0.8091382824187909"},"_hasShrinkwrap":false}},"time":{"created":"2025-05-15T01:51:30.384Z","modified":"2025-10-15T13:05:43.642Z","0.1.1":"2025-05-15T01:51:30.683Z","0.1.2":"2025-05-15T04:08:11.192Z","0.1.3":"2025-05-15T04:55:59.445Z","0.1.4":"2025-05-15T05:05:06.349Z","0.1.5":"2025-05-15T21:30:09.759Z","0.1.7":"2025-06-01T15:15:38.609Z","0.1.8":"2025-06-03T15:52:57.956Z","0.1.9":"2025-06-04T20:16:58.708Z","0.1.10":"2025-06-14T18:42:18.548Z","0.1.11":"2025-06-19T16:05:25.305Z","0.1.12":"2025-06-25T16:50:56.620Z","0.1.13":"2025-06-25T17:20:15.162Z","0.1.15":"2025-10-15T13:05:43.422Z"},"author":{"name":"BoardX"},"license":"MIT","homepage":"http://canvasx-demo.boardx.us/","description":"CanvasX is the core component for boardx - the open source digital whiteboard for the future of work.","maintainers":[{"name":"ziwei_777","email":"ziwei@boardx.us"},{"name":"usam","email":"usam@boardx.us"},{"name":"yangjun.shen","email":"yangjun.shen@boardx.us"}],"readme":"\n# CanvasX\n\nCanvasX is the core component of **BoardX**, an open source digital whiteboard. It builds on top of [Fabric.js](https://fabricjs.com/) and provides a set of widgets and utilities for creating interactive canvas‑based applications.\n\n## Features\n\n- **XCanvas** – an extended Fabric.js canvas with built‑in connector and port management\n- A rich collection of widgets including text boxes, sticky notes, shapes, connectors, frames, images, files, charts, and markdown\n- Helper utilities for alignment guidelines, cropping and drawing\n- A Next.js based demo showcasing how the widgets work together\n\n## Installation\n\n```bash\nnpm install @boardxus/canvasx-core\n```\n\n## Basic Usage\n\n```typescript\nimport { XCanvas } from '@boardxus/canvasx-core';\n\nconst el = document.getElementById('canvas');\nconst canvas = new XCanvas(el);\ncanvas.setDimensions({ width: 500, height: 500 });\n```\n\nAfter creating an `XCanvas` instance you can add any of the provided widgets to build interactive experiences.\n\n## Running the Demo\n\nThis repository includes a full demo under `.codesandbox/templates/next`. Run the helper script to build the library and start the demo locally:\n\n```bash\nchmod +x demo.sh\n./demo.sh\n```\n\nThe script installs dependencies, builds the package and launches the demo on <http://localhost:4000>.\n\n## Development\n\n- `npm run build` – bundle the library using Rollup\n- `npm test` – run Jest tests\n- `npm run type-check` – run TypeScript type checking\n\n## Contributing\n\nContributions and issues are welcome! Feel free to open pull requests or report problems in the issue tracker.\n\n## License\n\nCanvasX is released under the MIT license as specified in `package.json`.\n=======\n<!-- Banner -->\n<p align=\"center\">\n  <img src=\"https://github.com/user-attachments/assets/be2daa81-abd0-4603-bafd-66f2d5fb9e35\" alt=\"canvasx\" />\n</p>\n \n\n<p align=\"center\">\n  <b>CanvasX</b> · A Fabric.js‑powered whiteboard canvas for AI‑augmented visual thinking  \n  <br />\n  <a href=\"https://github.com/boardx/canvasx/actions\"><img src=\"https://github.com/boardx/canvasx/actions/workflows/ci.yml/badge.svg\" alt=\"CI\" /></a>\n  <a href=\"https://www.npmjs.com/package/@boardx/canvasx\"><img src=\"https://img.shields.io/npm/v/@boardx/canvasx\" alt=\"npm version\" /></a>\n  <a href=\"LICENSE\"><img src=\"https://img.shields.io/github/license/boardx/canvasx\" alt=\"License\" /></a>\n</p>\n\n---\n---\n\n## 👁️ Why Canvas X?\n\nHumans—and increasingly **human × AI teams**—solve complex problems by _seeing_ ideas together.  \nCanvasX lets you **think with your eyes**, turning abstract thoughts into shared visual objects that boost communication bandwidth.\n\n* **Made for makers** – Built on the robust Fabric.js engine you already trust.  \n* **AI‑ready hooks** – Drop in your favourite GenAI model to auto‑generate shapes, sticky notes, or layouts.  \n* **Open‑source freedom** – MIT‑licensed and part of the wider **BoardX** ecosystem.  \n* **Solo‑focus** – Keep it lightweight: **CanvasX ships only the canvas layer**—no networking or persistence baked in.  \n  Bring your own sync/back‑end when you need it.\n\n> _“Visual collaboration is not decoration—it’s cognition.”_\n\n---\n\n## ✨ Core Capabilities\n\n| Capability | Description |\n|------------|-------------|\n| **Fabric.js Wrapper** | Simple React component that exposes the full Fabric API plus sensible defaults. |\n| **Extensible Widgets** | Sticky notes, connectors, images, free‑draw, and plug‑in zones for your own React widgets. |\n| **Viewport Mini‑Map** | Navigate large canvases with a zoomable overview. |\n \n\n*Looking for multi‑user sync?* That’s on our roadmap (see below) and intentionally decoupled so you can integrate your preferred real‑time framework (WebRTC, WebSockets, server‑side OT, etc.).\n\n---\n\n## 🚀 Quick Start\n\n \n# 1. Install\nnpm install @boardx/canvasx-core fabric\n\n# 2. Import & render\nimport { CanvasX } from '@boardx/canvasx-core';\n\n<CanvasX\n  width={window.innerWidth}\n  height={window.innerHeight}\n/>\n\n \n \n⸻\n\n📝 License\n\nMIT © BoardX, Inc.\nWe believe in open collaboration—use CanvasX freely and help us make visual teamwork ubiquitous.\n\n_Paste this into your `README.md` to give CanvasX a lean, accurate landing page that focuses solely on the whiteboard canvas while leaving sync and persistence for future or user‑chosen solutions._\n\n","readmeFilename":"README.md"}