{"_id":"@bentipe/gantt-chartmeleon","_rev":"8-5d1f7cd9e336e4ec96d78793fb031042","name":"@bentipe/gantt-chartmeleon","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.0","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.0","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-charttmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-charttmeleon/issues"},"dist":{"shasum":"ec1e5deed4eb9dbb61b1348fefc3b45f9b778efb","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.0.tgz","fileCount":15,"integrity":"sha512-1RWLJglTiM9Z8Ap2D9OGBGm/sYAf3QACeDayltQJ/xfNs+WwUJg25NEr//JJZT1hFyaoy1Lvm5AA1hjR+N1zqg==","signatures":[{"sig":"MEQCIGCayTHgxU9+3SfN1SHxrqaoOZpvICmmcUYlN6nLGTFeAiASWmlQ1YoDoS3Eudh2km2uzfCNd1m8Oi82t8YpoMu0qg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":344732},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"99db6ea6b2b8c28aea2a1eff2990905fe9be68eb","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-charttmeleon.git","type":"git"},"_npmVersion":"10.9.3","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.18.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^20.10.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.0_1755981258996_0.4367559118279849","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.1","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.1","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"2b25290e735b0643d622b9a080fbc21fa6cdd694","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.1.tgz","fileCount":15,"integrity":"sha512-B0YWL7bkXr5evn1ZMonsqHxQD7axPJdGlzwrUXubH7xyMzvJ1sOlP+v/JEz/vjUKtwPr9M91J2z62kUlPhpFhQ==","signatures":[{"sig":"MEUCIDOJ8qtNTKT+a6qgxFTyD2kIcng/oF06cc8y+LS1Egq0AiEA5WxMEsfwrQwnbIYo0VwNgdUOT2BcfBHowpgI8gnAR6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":347000},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"ae240ee6f6f92070784b527aae23d0b085711236","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.3","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.18.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^20.10.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.1_1756132906348_0.9700622598811086","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.2","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.2","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"f044e7d1ce70cc7665eb1334aba6edb75b81d3bd","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.2.tgz","fileCount":15,"integrity":"sha512-ZSzfeeD86ZeI4FtwVOgQQdw9kWVIxzmdk5m/WFAjjIzOo26p+Xd635wt1mSfN5G4AXI8aBOOETcgmweNCWqlTg==","signatures":[{"sig":"MEQCIDRAty4oSDCJDaa0J8aC/bA+BCkgLbQaYjBWDnHiYMLqAiBM6fQMuSsFhAMVYqbnPA9Rd5GbkExvagaL/yWKD9EWTA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327525},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"32ea741cc018c364166c4e156c2bd390e9d008b7","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.2","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^22.14.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.2_1756201365833_0.7691932554370962","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.3","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.3","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"55762b31636c6164e5c9efacfba4ed631dd67c1d","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.3.tgz","fileCount":15,"integrity":"sha512-6OvFcgjNyehS/hi2CcHnxBKSG4ymYu27czTo3/bO+UOz2Uzrwt2hErXqE4Ui+vbZtU+FUzaHlw+aIT4HffOAQQ==","signatures":[{"sig":"MEYCIQCifLzbxptWjHpirTq7+GUDSyOlKJV0R7PSsXWhDwi9HQIhAMgWaZEFGWFxOUffr1MNAoaias1yoUjsThLV9vPIZuAr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":333004},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"9c87454d8d8c4e21477a4d7b4d0baf74ceaaf339","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.2","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^22.14.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.3_1756207303738_0.793820552785865","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.4","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.4","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"7ae956b43edd861b4d2edb3aff0aae2c9592e88e","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.4.tgz","fileCount":15,"integrity":"sha512-dKhA0zNOwU9u9pML7eqVjKt/Wh6STPKvl+/GhD+i44MtnaFXxry2Yzy3vg+rKv3ufn3FPEiOWmPyJ7ll2WbIZw==","signatures":[{"sig":"MEQCIDKN2jxk3Z6JYvdEG2jY+vgbTyMNQNxpBe+TWSdYMIQcAiAl612n1OQmAm7YQC2yXI68s1ixiAtTmj+sjN7pFxtHzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":334625},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"7952dea8a13ca3d8605edec7417a108d7f3558dd","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.2","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.14.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^22.14.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.4_1756209304069_0.8212428123621607","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@bentipe/gantt-chartmeleon","version":"1.0.5","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.0.5","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"5f4ff00ac7db94680e42ba790a62a5e4c6ec86f7","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.0.5.tgz","fileCount":15,"integrity":"sha512-IYcsKrq3bbeoi4e7SjjGmPgwY4fDNpjxXpvDYd4b6gjShf2/IBnL2QSOoeANfvWXIW68pFt0KKLTkWDpM5CBXQ==","signatures":[{"sig":"MEQCIGKT7wjnIMf0W9FyJeSs8r7N81ehGZmo1nmLL2leJD/ZAiArD0H5DYL2pd7GP0FTkkwWPaeVaTp+tYA5yNS+Y69gSg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":371514},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"d91dfc88da36ce72ff125803df9cc4fbeedbe7d7","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.3","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.18.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^22.14.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.0.5_1756237798941_0.5710200510382657","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@bentipe/gantt-chartmeleon","version":"1.1.0","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"author":{"name":"Bentipe"},"license":"GPL-3.0","_id":"@bentipe/gantt-chartmeleon@1.1.0","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"dist":{"shasum":"fd55362f0b384d1339ab16f12cd9dfb37bbad8e6","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.1.0.tgz","fileCount":15,"integrity":"sha512-qvFDw4Cw0Nk0lrWchmcV0PWWB+Jv0qffVs7pyVWoPl3/YgVhQGPibfte+gA9kzjOfjDrE/k8sWoNVjopzLfb9w==","signatures":[{"sig":"MEYCIQDfE/2rw3U/IhLMIJ2/OhioSOWk5qzN045jw/PwxrlfRQIhAPqnChqMjbeN1OoIVUcKuPrtyNcM+mkcC8BghcCDGq05","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":449434},"main":"dist/gantt-chartmeleon.umd.js","style":"dist/gantt-chartmeleon.css","types":"dist/index.d.ts","module":"dist/gantt-chartmeleon.es.js","engines":{"node":">=14.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"gitHead":"1f5ffb1f1c47293d14694ac4543cc48c717b2390","scripts":{"dev":"vite","lint":"eslint src --ext .js,.ts,.vue","test":"vitest","build":"vite build && npm run build:types","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","preview":"vite preview","build:types":"cp src/index.d.ts dist/index.d.ts","prepublishOnly":"npm run build"},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"repository":{"url":"git+https://github.com/Bentipe/gantt-chartmeleon.git","type":"git"},"_npmVersion":"10.9.3","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","directories":{},"sideEffects":["*.css"],"_nodeVersion":"22.18.0","dependencies":{"terser":"^5.43.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vue":"^3.4.0","vite":"^7.1.3","eslint":"^8.55.0","vitest":"^3.2.4","prettier":"^3.1.0","typescript":"^5.3.0","@types/node":"^22.14.0","eslint-plugin-vue":"^9.27.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/gantt-chartmeleon_1.1.0_1756241998320_0.04906155770622167","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@bentipe/gantt-chartmeleon","version":"1.1.1","description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","author":{"name":"Bentipe"},"license":"GPL-3.0","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","repository":{"type":"git","url":"git+https://github.com/Bentipe/gantt-chartmeleon.git"},"bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"main":"dist/gantt-chartmeleon.umd.js","module":"dist/gantt-chartmeleon.es.js","types":"dist/index.d.ts","style":"dist/gantt-chartmeleon.css","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/gantt-chartmeleon.es.js","require":"./dist/gantt-chartmeleon.umd.js"},"./vue":{"import":"./src/vue/GanttChartmeleon.vue"},"./dist/gantt-chartmeleon.css":{"import":"./dist/gantt-chartmeleon.css","require":"./dist/gantt-chartmeleon.css"}},"sideEffects":["*.css"],"publishConfig":{"access":"public"},"scripts":{"dev":"vite","build":"vite build && npm run build:types","build:types":"cp src/index.d.ts dist/index.d.ts","preview":"vite preview","test":"vitest","lint":"eslint src --ext .js,.ts,.vue","format":"prettier --write \"src/**/*.{js,ts,css,json,md}\"","prepublishOnly":"npm run build"},"devDependencies":{"@types/node":"^22.14.0","eslint":"^8.55.0","eslint-plugin-vue":"^9.27.0","prettier":"^3.1.0","typescript":"^5.3.0","vite":"^7.1.3","vitest":"^3.2.4","vue":"^3.4.0"},"peerDependencies":{"vue":"^3.0.0"},"peerDependenciesMeta":{"vue":{"optional":true}},"engines":{"node":">=14.0.0"},"dependencies":{"terser":"^5.43.1"},"_id":"@bentipe/gantt-chartmeleon@1.1.1","gitHead":"a859dd03f7374906cec3a25365444c81c779e4ed","_nodeVersion":"22.18.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-rrhuLN4pqSu0pjmAvWNF/TdUwTUJryOBi+vQG8laIlDQQN6sCpJm1Leg7eNaNylHgotRucaBvVWHe5bDcEomqQ==","shasum":"5e17490776fdac8ab0eb1fdfd182a0c5734e2443","tarball":"https://registry.npmjs.org/@bentipe/gantt-chartmeleon/-/gantt-chartmeleon-1.1.1.tgz","fileCount":15,"unpackedSize":457555,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH3puDumiWTUj7xgDtJrD/+mSMHN1ryX8zaiuzMKiTRhAiBu8y5KczTq0Enf9ZIvTf/ROuWqJKgTfXu2JGtjbZ3tNg=="}]},"_npmUser":{"name":"bentipe","email":"bentipe@pm.me"},"directories":{},"maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/gantt-chartmeleon_1.1.1_1756242719182_0.9942546177442113"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-23T20:34:18.902Z","modified":"2025-08-26T21:11:59.591Z","1.0.0":"2025-08-23T20:34:19.201Z","1.0.1":"2025-08-25T14:41:46.541Z","1.0.2":"2025-08-26T09:42:45.997Z","1.0.3":"2025-08-26T11:21:43.933Z","1.0.4":"2025-08-26T11:55:04.333Z","1.0.5":"2025-08-26T19:49:59.112Z","1.1.0":"2025-08-26T20:59:58.525Z","1.1.1":"2025-08-26T21:11:59.410Z"},"bugs":{"url":"https://github.com/Bentipe/gantt-chartmeleon/issues"},"author":{"name":"Bentipe"},"license":"GPL-3.0","homepage":"https://github.com/Bentipe/gantt-chartmeleon#readme","keywords":["gantt","gantt-chart","project-management","timeline","scheduler","vue3","javascript","chart","visualization","gantt-chartmeleon"],"repository":{"type":"git","url":"git+https://github.com/Bentipe/gantt-chartmeleon.git"},"description":"A modern, feature-rich Gantt chart library for JavaScript with Vue 3 support","maintainers":[{"name":"bentipe","email":"bentipe@pm.me"}],"readme":"# 📊 Gantt Chartmeleon Library\n\nCaution, made with AI.\n\nA modern, feature-rich Gantt chart library for JavaScript with Vue 3 support. Build beautiful project timelines with ease.\n\n![npm version](https://img.shields.io/npm/v/@bentipe/gantt-chartmeleon)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](./LICENSE.md)\n\n## ✨ Features\n\n- 📅 **Multiple View Modes** - Hours, Days, Weeks, and Months\n- 🎯 **Task Management** - Create, update, and delete tasks\n- 🔗 **Dependencies** - Visual task dependencies with arrows + programmatic API\n- 📁 **Collapsible Groups** - Organize tasks into collapsible groups; expand/collapse all\n- 🗂️ **Nested Groups** - Groups inside groups with hierarchical sidebar indentation\n- 🎨 **Customizable** - Colors, sizes, and styles for every task\n- 📱 **Responsive** - Works on desktop and mobile devices\n- 🖱️ **Drag & Drop** - Intuitive task rescheduling\n- 🧩 **Segmented Tasks** - Multiple segments per task (each with its own start/end and name), draggable independently\n- 🔍 **Zoom In/Out** - Programmatic zoom controls and zoomChange event\n- 📍 **Day Marking** - Highlight special days, holidays, or events (with events)\n- 🏷️ **Y-Axis Labels** - Display work orders, assignees, and metadata\n- 🌙 **Dark Mode** - Built-in dark theme support\n- 🌐 **Locale & Formatting** - Set locale, date and time formats\n- 🧭 **Date Range Control** - Configure min/max dates (auto-extends to fill view)\n- 🔁 **Infinite Horizontal Scroll** - Seamlessly extends time range as you scroll left/right\n- 🧩 **Sidebar Improvements** - Custom sidebar title + resizable sidebar\n- 💫 **Vue 3 Ready** - Easy integration with Vue 3 projects\n\nNote: Tasks operate via a segments-only model (except milestones). Each task must have one or more segments. If you pass task-level start/end only, the library will internally convert them into a single segment and compute the task’s overall start/end from its segments.\n\n## 📦 Installation\n\n```bash\nnpm install @bentipe/gantt-chartmeleon\n```\n\nOr with yarn:\n\n```bash\nyarn add @bentipe/gantt-chartmeleon\n```\n\n## 🚀 Quick Start\n\n### Vanilla JavaScript\n\n```javascript\nimport { GanttChart } from '@bentipe/gantt-chartmeleon';\nimport '@bentipe/gantt-chartmeleon/dist/gantt-chartmeleon.css';\n\n// Create instance\nconst gantt = new GanttChart('#gantt-container', {\n    viewMode: 'day',\n    enableDragDrop: true,\n    showSidebar: true\n});\n\n// Add tasks\nconst tasks = [\n    {\n        id: '1',\n        name: 'Project Planning',\n        start: '2024-01-01',\n        end: '2024-01-05',\n        progress: 75,\n        color: '#4CAF50'\n    },\n    {\n        id: '2',\n        name: 'Development',\n        // Example of a segmented task\n        segments: [\n          { name: 'Sprint 1', start: '2024-01-06', end: '2024-01-08' },\n          { name: 'Sprint 2', start: '2024-01-10', end: '2024-01-12' }\n        ],\n        progress: 30,\n        color: '#2196F3',\n        dependencies: ['1']\n    }\n];\n\n// Optional: define groups (supports nested groups via parent)\nconst groups = [\n  { id: 'planning', name: 'Planning' },\n  { id: 'development', name: 'Development' },\n  { id: 'dev-backend', name: 'Backend', parent: 'development' },\n  { id: 'dev-frontend', name: 'Frontend', parent: 'development' }\n];\n\n// Pass groups as second argument\ngantt.setTasks(tasks, groups);\n```\n\n### Vue 3 Component\n\n```vue\n<template>\n  <GanttChart\n    :tasks=\"tasks\"\n    :groups=\"groups\"\n    :options=\"options\"\n    @task-click=\"handleTaskClick\"\n    @task-drop=\"handleTaskDrop\"\n  />\n</template>\n\n<script setup>\nimport { GanttChart } from '@bentipe/gantt-chartmeleon/vue';\nimport '@bentipe/gantt-chartmeleon/dist/gantt-chartmeleon.css';\n\nconst tasks = ref([\n  // Your tasks\n  // Example segmented task\n  {\n    id: 'frontend',\n    name: 'Frontend Development',\n    segments: [\n      { name: 'FE Sprint 1', start: '2025-08-26', end: '2025-08-28' },\n      { name: 'FE Sprint 2', start: '2025-08-29', end: '2025-08-31' }\n    ],\n    color: '#2196F3'\n  }\n]);\n\nconst groups = ref([\n  {\n    id: 'phase-1',\n    name: 'Phase 1: Planning'\n  }\n]);\n\nconst options = {\n  viewMode: 'day',\n  enableDragDrop: true\n};\n\n// For segmented tasks, payload may be { task, segmentIndex }\nconst handleTaskClick = (payload) => {\n  if (payload && payload.task) {\n    const { task, segmentIndex } = payload;\n    console.log('Task clicked:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '');\n  } else {\n    console.log('Task clicked:', payload?.name);\n  }\n};\n\nconst handleTaskDrop = ({ task, start, end, segmentIndex }) => {\n  console.log('Task moved:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '', start, end);\n};\n</script>\n```\n\n## 📖 API Documentation\n\n### Constructor Options\n\n```javascript\nconst options = {\n  viewMode: 'day',        // 'hour' | 'day' | 'week' | 'month'\n  minDate: null,          // Optional: min bound for visible date range\n  maxDate: null,          // Optional: max bound for visible date range\n  rowHeight: 40,          // Height of each row\n  headerHeight: 50,       // Height of the header\n  columnWidth: 30,        // Width of each column\n  taskMinWidth: 40,       // Minimum width for tasks\n  enableDragDrop: true,   // Enable drag and drop\n  showSidebar: true,      // Show task labels sidebar\n  sidebarWidth: 200,      // Initial sidebar width\n  sidebarTitle: 'Tasks',  // Sidebar header title\n  locale: 'en-US',        // Intl locale for formatting\n  dateFormat: 'YYYY-MM-DD', // Date formatting pattern\n  timeFormat: 'HH:mm',    // Time formatting pattern\n  theme: 'default'        // 'default' | 'dark'\n};\n```\n\n### Task Properties\n\n```javascript\nconst task = {\n  id: 'unique-id',           // Required: Unique identifier\n  name: 'Task Name',         // Required: Display name\n  // Segments-only model: tasks operate via segments (1..N). If you pass start/end, they will be converted to a single segment.\n  // start/end are ignored as authoritative values and always derived from segments.\n  // You can still seed a single segment by providing start/end.\n  start: '2024-01-01',       // Optional: used only to seed a single segment\n  end: '2024-01-05',         // Optional: used only to seed a single segment\n  segments: [                // Required for multi-part tasks; if omitted, a single segment will be created from start/end or defaulted\n    {\n      id: 'seg-1',\n      name: 'Phase A',\n      start: '2024-01-01',\n      end: '2024-01-03',\n      color: '#2196F3',      // Optional: segment color (defaults to task color)\n      metadata: {}           // Optional: any custom data on segment\n    }\n  ],\n  progress: 50,              // Optional: Progress percentage (0-100)\n  color: '#2196F3',          // Optional: Task color\n  dependencies: ['task-1'],  // Optional: Array of task IDs\n  group: 'group-1',          // Optional: Group ID\n  workOrder: 'WO-2024-001',  // Optional: Work order number\n  assignee: 'John Doe',      // Optional: Assigned person\n  type: 'task',              // Optional: 'task' | 'milestone'\n  metadata: {}               // Optional: Custom data\n};\n```\n\nNotes:\n- Tasks operate via segments only. The task’s overall start/end are always computed as the min/max over its segments.\n- If a task is provided with only start/end, it will be converted into a single-segment task internally.\n\n### Segmented Tasks\n\nA task can be split into multiple segments, each with its own start, end, and name. Segments are rendered as separate bars on the same row and can be dragged independently. When a segment is moved, the task’s overall start/end are recalculated as the min/max of its segments.\n\n- Data model: provide a `segments` array on the task (see Task Properties above).\n- Colors: a segment can define its own color; otherwise it inherits the task color.\n- Events: taskClick/taskMouseOver/taskMouseOut/taskDrag/taskDrop include `segmentIndex` when the interaction targets a segment.\n- Custom CSS per segment: you can add `className` (string, can include multiple classes) and/or `style` (string or object) to a segment to style it individually. The class/style are applied to the segment's SVG group, so you can target its bar via `.gantt-task-segment.your-class .gantt-task-bar`.\n\nExample:\n\n```js\nconst task = {\n  id: 'frontend',\n  name: 'Frontend Development',\n  color: '#2196F3',\n  segments: [\n    { name: 'FE Sprint 1', start: '2025-08-26', end: '2025-08-28' },\n    { name: 'FE Sprint 2', start: '2025-08-29', end: '2025-08-31', className: 'highlighted-seg', style: 'filter: drop-shadow(0 0 4px rgba(0,0,0,0.3))' }\n  ]\n};\n\n/* CSS */\n.gantt-task-segment.highlighted-seg .gantt-task-bar {\n  stroke: #FF5722;\n  stroke-width: 3px;\n}\n```\n\n### Group Properties\n\n```javascript\nconst group = {\n  id: 'group-1',            // Required: Unique identifier\n  name: 'Group Name',       // Required: Display name\n  workOrder: 'WO-2024-100', // Optional: Work order number\n  color: '#607D8B',         // Optional: Group color\n  metadata: {},             // Optional: Custom data\n  parent: null              // Optional: Parent group ID (supports nested groups)\n};\n```\n\n### Methods\n\n#### Task Management\n\n```javascript\n// Set all tasks at once\ngantt.setTasks(tasks, groups);\n\n// Add a single task\nconst newTask = gantt.addTask({\n  name: 'New Task',\n  start: '2024-01-01',\n  end: '2024-01-05'\n});\n\n// Update a task\ngantt.updateTask('task-id', {\n  progress: 100,\n  color: '#4CAF50'\n});\n\n// Remove a task\ngantt.removeTask('task-id');\n\n// Get a specific task\nconst task = gantt.getTask('task-id');\n\n// Get all tasks\nconst allTasks = gantt.getTasks();\n```\n\n#### Group Management\n\n```javascript\n// Add a group\nconst group = gantt.addGroup({\n  name: 'Phase 1',\n  workOrder: 'WO-001'\n});\n\n// Remove a group\ngantt.removeGroup('group-id');\n\n// Toggle group collapse/expand\ngantt.toggleGroup('group-id');\n\n// Expand/collapse all groups\ngantt.expandAll();\ngantt.collapseAll();\n```\n\n#### View Management\n\n```javascript\n// Change view mode\ngantt.setViewMode('week');\n\n// Get visible tasks\nconst visible = gantt.getVisibleTasks();\n\n// Get date range\nconst { start, end } = gantt.getDateRange();\n```\n\nNote: getVisibleTasks returns an array of visible items in order. For grouped views, each item has `type: 'task' | 'group'`, `data`, and may include a `depth` number indicating indentation for nested groups.\n\n#### Zoom\n\n```javascript\n// Get current zoom (column width in px)\nconst current = gantt.getZoom();\n\n// Set absolute zoom (clamped internally)\ngantt.setZoom(40);\n\n// Relative zoom controls\ngantt.zoomIn();   // default step = 5px\ngantt.zoomOut(10); // custom step\n\n// Listen to zoom changes\ngantt.on('zoomChange', ({ columnWidth }) => {\n  console.log('Zoom changed. Column width:', columnWidth);\n});\n```\n\n#### Scrolling\n\n```javascript\n// Scroll horizontally so that a given date is visible\n// Options:\n// - align: 'start' | 'center' | 'end' (default: 'center')\n// - behavior: 'auto' | 'smooth' (default: 'auto')\n// - paddingColumns: number of extra columns to extend when the target date is out of range (default: 2)\ngantt.scrollToDate(new Date('2025-08-26'), { align: 'center', behavior: 'smooth', paddingColumns: 2 });\n\n// Convenience: scroll to today\ngantt.scrollToToday({ align: 'center', behavior: 'smooth' });\n\n// Notes:\n// - If the target date is outside the current [minDate, maxDate], the chart will extend the range\n//   (left and/or right) and re-render, preserving vertical scroll position.\n// - Emits events:\n//     'rangeExtend' -> { direction: 'left' | 'right' | 'both', from: Date, to: Date }\n//     'scrollToDate' -> { date: Date, align: 'start' | 'center' | 'end' }\n```\n\n#### Day Marking\n\n```javascript\n// Mark a special day\ngantt.markDay('2024-01-01', 'holiday', '#ff0000');\n\n// Unmark a day\ngantt.unmarkDay('2024-01-01');\n\n// Clear all marked days\ngantt.clearMarkedDays();\n```\n\n#### Dependencies\n\n```javascript\n// Set dependencies (array of relations)\n// Example format is flexible; typically pair of task IDs or objects\nconst dependencies = [\n  { from: '1', to: '2', type: 'FS' }, // Finish-to-Start\n  { from: '2', to: '3', type: 'SS' }\n];\n\ngantt.setDependencies(dependencies);\n```\n\n### Events\n\n```javascript\n// Task events\ngantt.on('tasksSet', ({ tasks, groups }) => {\n  console.log('Tasks set:', tasks.length, 'Groups:', groups.length);\n});\n\n// Note: taskClick payload can be either the task (for non-segmented)\n// or { task, segmentIndex } when a segment is clicked.\n// segmentIndex is 0-based when present.\ngantt.on('taskClick', (payload) => {\n  if (payload && payload.task) {\n    const { task, segmentIndex } = payload;\n    console.log('Task clicked:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '');\n  } else if (payload) {\n    console.log('Task clicked:', payload.name);\n  }\n});\n\n// Mouse over/out also include segmentIndex when applicable\ngantt.on('taskMouseOver', ({ task, segmentIndex, event }) => {\n  console.log('Mouse over:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '', event.clientX, event.clientY);\n});\n\ngantt.on('taskMouseOut', ({ task, segmentIndex, event }) => {\n  console.log('Mouse out:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '');\n});\n\n// Drag events include segmentIndex for segmented tasks\ngantt.on('taskDrag', ({ task, start, end, segmentIndex }) => {\n  console.log('Dragging:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '', 'to', start, end);\n});\n\n// Drop event includes originalStart/originalEnd and segmentIndex\ngantt.on('taskDrop', ({ task, start, end, originalStart, originalEnd, segmentIndex }) => {\n  console.log('Task dropped:', task.name, segmentIndex != null ? `(segment ${segmentIndex})` : '', 'from', originalStart, originalEnd, 'to', start, end);\n});\n\ngantt.on('taskAdd', (task) => {\n  console.log('Task added:', task);\n});\n\ngantt.on('taskUpdate', (task) => {\n  console.log('Task updated:', task);\n});\n\ngantt.on('taskRemove', (task) => {\n  console.log('Task removed:', task);\n});\n\n// Group events\ngantt.on('groupAdd', (group) => {\n  console.log('Group added:', group);\n});\n\ngantt.on('groupRemove', (group) => {\n  console.log('Group removed:', group);\n});\n\ngantt.on('groupClick', (group) => {\n  console.log('Group clicked:', group);\n});\n\ngantt.on('groupCollapse', (groupId) => {\n  console.log('Group collapsed:', groupId);\n});\n\ngantt.on('groupExpand', (groupId) => {\n  console.log('Group expanded:', groupId);\n});\n\ngantt.on('expandAll', () => {\n  console.log('All groups expanded');\n});\n\ngantt.on('collapseAll', () => {\n  console.log('All groups collapsed');\n});\n\n// View events\ngantt.on('viewModeChange', (mode) => {\n  console.log('View mode changed to:', mode);\n});\n\ngantt.on('zoomChange', ({ columnWidth }) => {\n  console.log('Zoom changed to column width:', columnWidth);\n});\n\n// Scrolling / infinite range events\ngantt.on('rangeExtend', ({ direction, from, to }) => {\n  console.log('Range extended:', direction, 'from', from, 'to', to);\n});\n\ngantt.on('scrollToDate', ({ date, align }) => {\n  console.log('Scrolled to date:', date, 'align:', align);\n});\n\n// Day marking events\ngantt.on('dayMarked', ({ date, type, color }) => {\n  console.log('Day marked:', date, type, color);\n});\n\ngantt.on('dayUnmarked', ({ date }) => {\n  console.log('Day unmarked:', date);\n});\n\ngantt.on('markedDaysCleared', () => {\n  console.log('All marked days cleared');\n});\n\n// Dependencies\ngantt.on('dependenciesSet', (deps) => {\n  console.log('Dependencies set:', deps);\n});\n\n// Remove event listener\ngantt.off('taskClick', handler);\n\n// Remove all listeners for an event\ngantt.off('taskClick');\n```\n\n## 🎨 Theming\n\n### Built-in Themes\n\n```javascript\n// Light theme (default)\nconst gantt = new GanttChart('#container', {\n  theme: 'default'\n});\n\n// Dark theme\nconst gantt = new GanttChart('#container', {\n  theme: 'dark'\n});\n```\n\n### Custom Styling\n\nOverride CSS variables for custom theming:\n\n```css\n.gantt-container {\n  --gantt-primary-color: #2196F3;\n  --gantt-header-bg: #f8f9fa;\n  --gantt-border-color: #e0e0e0;\n  --gantt-row-height: 40px;\n  --gantt-font-family: 'Inter', sans-serif;\n}\n```\n\n## 🧪 Demo\n\nA live demo is included in the repo under the demo/ folder and showcases:\n- Nested groups (groups inside groups) with hierarchical indentation\n- Collapsing/expanding groups, including ancestors hiding all descendants\n- Segmented tasks: tasks with multiple independent segments (each segment has its own start/end and name)\n- Controls: Add Task, Add Group, Add Subgroup, Toggle Theme, Expand All, Collapse All, Zoom, Today\n\nNote: The Add Task button always creates a segmented task with 1–8 segments to demonstrate the segments-only model.\n\nHow to run locally:\n\n```bash\nnpm install\nnpm run dev\n# then open the demo at /demo/index.html via the dev server\n```\n\nTip: You can also open demo/index.html directly in a modern browser for a quick preview.\n\n## 🔧 Development\n\n### Setup\n\n```bash\n# Clone the repository\ngit clone https://github.com/Bentipe/gantt-chartmeleon.git\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpm run dev\n```\n\n### Build\n\n```bash\n# Build library\nnpm run build\n\n# Run tests\nnpm test\n\n# Lint code\nnpm run lint\n\n# Format code\nnpm run format\n```\n\n### Project Structure\n\n```\ngantt-chart/\n├── src/\n│   ├── gantt-chartmeleon.js      # Main library\n│   ├── gantt-chartmeleon.css     # Styles\n│   ├── index.d.ts                # TypeScript definitions\n│   └── vue/\n│       └── GanttChartmeleon.vue  # Vue 3 component\n├── demo/\n│   └── index.html          # Demo page\n├── dist/                   # Built files\n├── vite.config.js          # Build configuration\n└── package.json\n```\n\n## 🐛 Bug Reports\n\nFound a bug? Please [open an issue](https://github.com/Bentipe/gantt-chartmeleon/issues) with a detailed description and reproduction steps.\n","readmeFilename":"README.md"}