{"_id":"@bwg-lsu/bwg-itam-canvas","_rev":"11-51ca87832465250378feb8658cf09ad2","name":"@bwg-lsu/bwg-itam-canvas","dist-tags":{"latest":"1.0.12"},"versions":{"1.0.0":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.0","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.0","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"a0d1d8af030787de67fe14de67b137b8eaa210bd","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.0.tgz","fileCount":8,"integrity":"sha512-tdtHEpQchC3b28p4wlINZMNfK64jNfTuRDv2FHkC69e74YGa4R1h08IslawkuQfUZG+Z5UtaK1hzU9XThH8VHA==","signatures":[{"sig":"MEUCIQDlMarFTYPlbhR9MTAjQFrFy8WudTxMiCoT6mqkZMZtXQIgMPIkvbKYVNk98gA04T8z8rtq4loNEkJAdjwmycixBV4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675391},"main":"dist/index.cjs","type":"module","types":"src/BwgItamCanvas/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./src/BwgItamCanvas/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cd414a40d6eda7d9aab09ef15b387052de1f42ed","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","eslint":"^9.34.0","prettier":"^3.6.2","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18","react-dom":">=18","react-konva":">=19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.0_1757561658374_0.7434128093240524","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.1","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.1","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"a485b31c41765967e72b8b342e106e154702e81d","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.1.tgz","fileCount":8,"integrity":"sha512-kNIzbCVi6WcHrRVER+fDqflo6Va+N7tabmIb6YDJh0tcLQgg2YRQMLiVzgd+YFR+9r9x1WyigDji4mt+szyqxQ==","signatures":[{"sig":"MEUCIQC1dQfjHotYwzD7Jx0q7oT/sYcWXjHiqmWtPUszZxB7fAIgabkU8/zQWgLwWFZAhaVp6uwcqRK3w0H9aKV8dJteC7Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675918},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"e034003da9f0f2941d48f04d82e49914281a9bf4","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","eslint":"^9.34.0","prettier":"^3.6.2","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18","react-dom":">=18","react-konva":">=19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.1_1757562595168_0.3437873331414647","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.2","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.2","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"ee17946c57b04506a2aa8654d80490cfca1121e6","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.2.tgz","fileCount":8,"integrity":"sha512-HYtblrGg9iQq+exl2Z/alIG5fXvlHgdKMwsv3I7sPTkGx5Fy1yRWh23I78s+z1o0R9IKpGvIWlSSfsyBFcH5Vw==","signatures":[{"sig":"MEQCID3mTpvM98BHaQsK3Iw/siW38ZSpP419zxTtoCgVTpviAiBzjPWOpIPL1Oi/0xmYk8dvOf0lugcYolFv7mgNuVKZxA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":675918},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"92b914eb243e2b7bf386e5999818e03846b0bb20","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","eslint":"^9.34.0","prettier":"^3.6.2","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18","react-dom":">=18","react-konva":">=19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.2_1757564786124_0.9491272730132327","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.3","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.3","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"e3e5fd45f232547c12db0b553835d4bd018a69e8","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.3.tgz","fileCount":8,"integrity":"sha512-lhcc64RrQ5e0eXGblUPoysnS7Np1VnKct+eBSQviRxSEdJHAAWiA5y/7u3x5GXlQhbJ9SmC/MqbPRhq2gGeu7A==","signatures":[{"sig":"MEUCIQD4vGKSR9O1x8dNsvlNH2qWsXxIXyqEdhU6w7WCRcxCAwIgZR8SGW9u41vMW+/Z7yjk/yRJgqB5FlKpLBXdSHnprOw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781066},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"88478327614d2fa980d7000be95b4aa6ec2d44a7","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.3_1757573782940_0.6111983568413919","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.4","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.4","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"f8cc7b73a3056ee5cab25d6c0370b1bc2078fcb3","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.4.tgz","fileCount":8,"integrity":"sha512-Zjdw+nMmiPL8bLnR8QNZCWfNWPTPvSdwE0cvFUFS1H8VKwILgLnMt9MVa7D/IfCBI7SM2XG8McOa6iThQXzFgg==","signatures":[{"sig":"MEQCIGymwvqdInyAVmI5Pjz+cS61hNoMAf+l4m4+/BS+bX/YAiBdXbxHYK4NUv0WPz2NUU8hNC74Hq9RnfTlG1Ct4Tg+BQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781062},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"88478327614d2fa980d7000be95b4aa6ec2d44a7","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.4_1757573815865_0.43325655817699915","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.6","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.6","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"4952af656721fc5b4ceac754d987c52a556ebb9e","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.6.tgz","fileCount":8,"integrity":"sha512-NLobrnmvRn84qLZb2v23AvErus9nFUe9YPsZvvDYzufvzTVy5ZOJ0Fvug7LL2oIfslFth+rZl1Go9HbJ3zF2fw==","signatures":[{"sig":"MEUCIGpKZEcrb4qMo8XZoSR096B6krYtRiIkjM4YBpQqsz58AiEAwDZxHQWH7GvOIvq6lkVi9/SOsHZXAbxaIK9+TwfDk+E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781040},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"50141dfed5ecd5b3b690590c56d37c5edff15a41","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.6_1757574675842_0.3996195304063792","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.8","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.8","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"fae816cb8bd04fc6b23d521a0af97117eb070fe2","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.8.tgz","fileCount":8,"integrity":"sha512-Fl5kVeHQbyaY+//Fo/Rb1RadSWLmc1kVXv0HgnJGHxmHoApZ52GRUi8ZTRY+iYX0xCVjX+O8tLtspypVqVGImw==","signatures":[{"sig":"MEUCIQDIFp7iW2K9t21CoD8XkFvd5axNz6qVk0AHZOmemt2XwQIgfDcuMSaGdSfvPFS2Qw0U+IiSw9odV9eS/6/XFXOXQ5Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781658},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"95aaa5cd4be9a1aafd16d96c04adc76f1bfdda6e","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.8_1757590437427_0.5111970414274709","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.9","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.9","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"c0783f9a72ad838ef07ff016e1bfdb0b545e19f6","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.9.tgz","fileCount":8,"integrity":"sha512-oWbAln1gcDTxF5A61HG4qNWng1UkRQEv4wkDaX/aw2QoAgkz8mqT9FvZMUUb+HmPSOP3qw7MW14UwnZmYY4PHQ==","signatures":[{"sig":"MEYCIQCbgAqzKgxKVyOF/9HJpYAD31oUJ751ug59RHNpZ3RTgAIhAObahSHWANVUHTVvZAyvalBv70VZfKp8kkokapD94YI8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":781770},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"d4ebb85b7e1cdf6a6fcbc17a4518eae0868eaa83","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.9_1757591334697_0.6456139137953871","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.10","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.10","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"e1ba795a9415aa1007048508a64de0fbaef1e7dc","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.10.tgz","fileCount":8,"integrity":"sha512-obyaLEVs1QK+CT86DA+RH8GIn1U3ZLScYtVLMFn2v2AK4Qtapqh+jzaslTMLnG9+QFzCndsNBLaQw/It1YbE1A==","signatures":[{"sig":"MEYCIQCS924KIyvVfHPEY0RxzKYACYJKdWf1IHGmSgWkaAJw6QIhAMJ37n91PHk+C7kzzMR9Myq0z8f9CH0jeXxBpT7UdgCJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":780924},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"cf8f327a4ba25077b79d25103d826a9a195307f9","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.10_1757591670874_0.036359038691069046","host":"s3://npm-registry-packages-npm-production"}},"1.0.11":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.11","license":"MIT","_id":"@bwg-lsu/bwg-itam-canvas@1.0.11","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"dist":{"shasum":"d9db0f3406a737c239e82d5c7c59118d9846f484","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.11.tgz","fileCount":8,"integrity":"sha512-zH9/Hxxg7em+vZ2qhBvQGr8mUcyo0APOqONgYOFD2lR8JfsjQkNob/TKBCIcGmQv9Pckg1ASlhIC/w4ARt++Ug==","signatures":[{"sig":"MEUCIQCUjdPo2aGj3B4IetlKlljHElrpH5zZkJHgoulWOH+0KgIgLca/OlXAzhucrhmGRwtW6+2jwS0s9FNTN9SGd6f6ePA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":782705},"main":"dist/index.cjs","type":"module","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"b2405a0c4365642cac81553baa59b4eac4c0985f","scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts"},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"_npmVersion":"11.5.2","description":"Bwg ITAM Canvas React component.","directories":{},"sideEffects":false,"_nodeVersion":"22.18.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.2","react":"^18.2.0","eslint":"^9.34.0","prettier":"^3.6.2","react-dom":"^18.2.0","typescript":"~5.8.3","@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","eslint-plugin-react":"^7.37.5","eslint-config-prettier":"^10.1.8","@vitejs/plugin-react-swc":"^4.0.1","@typescript-eslint/parser":"^8.42.0","eslint-plugin-react-hooks":"^5.2.0","@typescript-eslint/eslint-plugin":"^8.42.0"},"peerDependencies":{"antd":">=5","konva":">=9","react":">=18 <19","react-dom":">=18 <19","react-konva":">=18 <19","@ant-design/icons":">=5"},"_npmOperationalInternal":{"tmp":"tmp/bwg-itam-canvas_1.0.11_1758851748894_0.4365975212837596","host":"s3://npm-registry-packages-npm-production"}},"1.0.12":{"name":"@bwg-lsu/bwg-itam-canvas","version":"1.0.12","type":"module","description":"Bwg ITAM Canvas React component.","license":"MIT","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"publishConfig":{"access":"public"},"sideEffects":false,"scripts":{"dev":"vite","build":"tsc && vite build","postbuild":"cp src/BwgItamCanvas/index.d.ts dist/index.d.ts","preview":"vite preview"},"devDependencies":{"@types/node":"^24.3.0","@types/react":"^18.3.24","@types/react-dom":"^18.3.7","@typescript-eslint/eslint-plugin":"^8.42.0","@typescript-eslint/parser":"^8.42.0","@vitejs/plugin-react-swc":"^4.0.1","eslint":"^9.34.0","eslint-config-prettier":"^10.1.8","eslint-plugin-react":"^7.37.5","eslint-plugin-react-hooks":"^5.2.0","prettier":"^3.6.2","typescript":"~5.8.3","vite":"^7.1.2","react":"^18.2.0","react-dom":"^18.2.0"},"peerDependencies":{"react":">=18 <19","react-dom":">=18 <19","antd":">=5","@ant-design/icons":">=5","konva":">=9","react-konva":">=18 <19"},"dependencies":{},"_id":"@bwg-lsu/bwg-itam-canvas@1.0.12","gitHead":"32343e7cc623df66de6f4e7317012ab11cf52335","_nodeVersion":"22.18.0","_npmVersion":"11.5.2","dist":{"integrity":"sha512-y5bWHXlTsF4VLQIJvS/v7JdJbCvierTrmKSnmhjAIQryTIO8sQSFjxSVrk5FV/eoK55Pv/xqbWUvslI54r3vUw==","shasum":"942dcdff816f9a95f1a6fa72f7440c0101edd876","tarball":"https://registry.npmjs.org/@bwg-lsu/bwg-itam-canvas/-/bwg-itam-canvas-1.0.12.tgz","fileCount":8,"unpackedSize":783348,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC88EW7GClwsrRI7zby2xsRwj4uAxe6y1oyOeEDoh8T6AiAGhn+iBKUG8wT/6wKg8LAisD2Dk2RE/PgEfWEFaI0+HA=="}]},"_npmUser":{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"},"directories":{},"maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bwg-itam-canvas_1.0.12_1758852909083_0.3800407654890905"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-11T03:34:18.314Z","modified":"2025-09-26T02:15:09.515Z","1.0.0":"2025-09-11T03:34:18.590Z","1.0.1":"2025-09-11T03:49:55.428Z","1.0.2":"2025-09-11T04:26:26.389Z","1.0.3":"2025-09-11T06:56:23.170Z","1.0.4":"2025-09-11T06:56:56.082Z","1.0.6":"2025-09-11T07:11:16.108Z","1.0.8":"2025-09-11T11:33:57.651Z","1.0.9":"2025-09-11T11:48:54.875Z","1.0.10":"2025-09-11T11:54:31.072Z","1.0.11":"2025-09-26T01:55:49.136Z","1.0.12":"2025-09-26T02:15:09.304Z"},"license":"MIT","description":"Bwg ITAM Canvas React component.","maintainers":[{"name":"bankwareglobal.co.kr","email":"sunghoon.chung@bankwareglobal.com"}],"readme":"# @bwg-lsu/bwg-itam-canvas\r\n\r\nReact + Ant Design 기반의 ITAM(인프라 자산) 도면 편집 캔버스 컴포넌트입니다. 구역(area) / 랙(rack) / 텍스트(text) 배치, 배경(grid / 이미지), 확대/축소, 이동, 히스토리(Undo/Redo), 속성 편집 등을 제공합니다.\r\n\r\n## 설치\r\n\r\npeerDependencies를 앱에서 함께 설치해야 합니다.\r\n\r\n```bash\r\nnpm i @bwg-lsu/bwg-itam-canvas antd @ant-design/icons react-konva konva\r\n# (프로젝트에 없다면) React도 설치\r\nnpm i react react-dom\r\n```\r\n\r\nAnt Design v5를 사용한다면 전역 reset CSS를 함께 적용하는 것을 권장합니다.\r\n\r\n```ts\r\n// 예) src/main.tsx 또는 앱 엔트리에서\r\nimport 'antd/dist/reset.css';\r\n```\r\n\r\n## 빠른 시작\r\n\r\n아래 예시는 `src/App.tsx`를 단순화한 형태로, BwgItamCanvas를 렌더링하고 JSON으로 저장/불러오기, 신규 생성 흐름을 보여줍니다.\r\n\r\n```tsx\r\nimport React, { useRef } from 'react';\r\nimport { App as AntdApp, Button, Space, Tooltip } from 'antd';\r\nimport { SaveOutlined, FolderOpenOutlined, FileOutlined } from '@ant-design/icons';\r\nimport BwgItamCanvas from '@bwg-lsu/bwg-itam-canvas';\r\nimport type { CanvasData, BwgItamCanvasRef } from '@bwg-lsu/bwg-itam-canvas';\r\n\r\nexport default function MyCanvasPage() {\r\n  const canvasRef = useRef<BwgItamCanvasRef | null>(null);\r\n  const { message, modal } = AntdApp.useApp();\r\n\r\n  const handleSaveData = () => {\r\n    const data = canvasRef.current?.getCanvasData();\r\n    if (!data) return message.error('캔버스 데이터를 가져올 수 없습니다.');\r\n\r\n    const blob = new Blob([JSON.stringify(data, null, 2)], { type: 'application/json' });\r\n    const url = URL.createObjectURL(blob);\r\n    const a = document.createElement('a');\r\n    a.href = url;\r\n    a.download = `bwg-itam-canvas-${Date.now()}.json`;\r\n    a.click();\r\n    URL.revokeObjectURL(url);\r\n    message.success('데이터가 저장되었습니다.');\r\n  };\r\n\r\n  const handleNewCanvas = () => {\r\n    modal.confirm({\r\n      title: '새 캔버스 생성',\r\n      content: '현재 작업 중인 내용이 모두 삭제됩니다. 계속하시겠습니까?',\r\n      okText: '새로 만들기',\r\n      cancelText: '취소',\r\n      onOk: () => {\r\n        const empty: CanvasData = {\r\n          objects: [],\r\n          backgroundSettings: {\r\n            type: 'grid',\r\n            gridSettings: {\r\n              size: 'default',\r\n              customWidth: 1000,\r\n              customHeight: 1000,\r\n              backgroundColor: '#ffffff',\r\n              lineColor: '#e0e0e0',\r\n              subLineColor: '#f0f0f0',\r\n            },\r\n            imageSettings: { url: undefined, scale: 1, opacity: 1 },\r\n          },\r\n          metadata: { version: '1.0.0', savedAt: 0 },\r\n        };\r\n        canvasRef.current?.setCanvasData(empty);\r\n        message.success('새 캔버스가 생성되었습니다.');\r\n      },\r\n    });\r\n  };\r\n\r\n  const handleLoadData = () => {\r\n    const input = document.createElement('input');\r\n    input.type = 'file';\r\n    input.accept = '.json';\r\n    input.onchange = (e) => {\r\n      const file = (e.target as HTMLInputElement).files?.[0];\r\n      if (!file) return;\r\n      const reader = new FileReader();\r\n      reader.onload = () => {\r\n        try {\r\n          const data = JSON.parse(reader.result as string) as CanvasData;\r\n          canvasRef.current?.setCanvasData(data);\r\n          message.success('데이터가 성공적으로 로드되었습니다.');\r\n        } catch {\r\n          message.error('데이터 불러오기에 실패했습니다. 파일 형식을 확인해주세요.');\r\n        }\r\n      };\r\n      reader.readAsText(file);\r\n    };\r\n    input.click();\r\n  };\r\n\r\n  return (\r\n    <AntdApp>\r\n      <div style={{ marginBottom: 16, display: 'flex', justifyContent: 'flex-end', padding: '0 10px' }}>\r\n        <Space size=\"middle\">\r\n          <Tooltip title=\"새 캔버스 생성\">\r\n            <Button icon={<FileOutlined />} onClick={handleNewCanvas}>신규</Button>\r\n          </Tooltip>\r\n          <Tooltip title=\"데이터 불러오기\">\r\n            <Button icon={<FolderOpenOutlined />} onClick={handleLoadData}>데이터 불러오기</Button>\r\n          </Tooltip>\r\n          <Tooltip title=\"데이터를 JSON으로 저장\">\r\n            <Button icon={<SaveOutlined />} onClick={handleSaveData}>데이터 저장</Button>\r\n          </Tooltip>\r\n        </Space>\r\n      </div>\r\n\r\n      <BwgItamCanvas ref={canvasRef} />\r\n    </AntdApp>\r\n  );\r\n}\r\n```\r\n\r\n주의: 상위 트리 어딘가에 Ant Design의 `App`(AntdApp) 컨텍스트가 있어야 메시지/모달을 쉽게 쓸 수 있습니다. 컴포넌트 내부는 자체 `ConfigProvider`를 사용하여 테마를 적용합니다.\r\n\r\n## Ref API\r\n\r\n`BwgItamCanvas`는 `forwardRef`로 다음 메서드를 제공합니다.\r\n\r\n- getCanvasData: 현재 상태를 `CanvasData`로 반환\r\n- setCanvasData: 전달한 `CanvasData`로 상태 초기화\r\n\r\n```ts\r\nimport type { BwgItamCanvasRef, CanvasData } from '@bwg/itam-canvas';\r\nconst ref = useRef<BwgItamCanvasRef | null>(null);\r\nconst data: CanvasData | undefined = ref.current?.getCanvasData();\r\nref.current?.setCanvasData(data!);\r\n```\r\n\r\n## 데이터 스키마 개요\r\n\r\n`CanvasData`는 배경 설정과 객체 목록을 포함합니다. 세부 타입은 패키지 타입 정의를 참고하세요.\r\n\r\n```ts\r\ninterface CanvasData {\r\n  objects: ComponentObject[];\r\n  backgroundSettings: {\r\n    type: 'grid' | 'image';\r\n    gridSettings: {\r\n      size: 'default' | 'custom';\r\n      customWidth?: number;\r\n      customHeight?: number;\r\n      backgroundColor: string;\r\n      lineColor: string;\r\n      subLineColor: string;\r\n    };\r\n    imageSettings: {\r\n      url?: string;\r\n      filename?: string | null;\r\n      scale: number;\r\n      opacity: number;\r\n    };\r\n  };\r\n  metadata: { version: string; savedAt: number };\r\n}\r\n```\r\n\r\n## 사용 팁\r\n\r\n- 배경 설정 모달: 컴포넌트 상단 UI에서 배경(Grid/Image), 그리드 크기/색상, 이미지 URL/스케일/투명도 등을 설정할 수 있습니다.\r\n- 확대/축소/맞춤: 툴바에서 확대/축소(+1%/+10%), 배경 맞춤, 캔버스 중앙정렬을 제공합니다.\r\n- 객체 편집: 좌측(또는 하단) 속성 패널에서 선택된 객체의 색상/테두리/폰트/슬롯(RACK) 등을 수정할 수 있습니다.\r\n- Undo/Redo/복사/삭제/전체삭제: 캔버스 컨트롤에서 제공됩니다.\r\n\r\n## 요구 사항\r\n\r\n- React 18+\r\n- Ant Design 5+\r\n- react-konva 19+, konva 9+\r\n\r\npeerDependencies에 선언되어 있으므로, 호스트 앱에서 해당 패키지를 설치해야 합니다.\r\n\r\n## 라이선스\r\n\r\nMIT License. 자세한 내용은 LICENSE 파일을 참고하세요.\r\nCopyright (c) 2025 BankwareGlobal\r\n","readmeFilename":"README.md"}