{"_id":"@alefiori/react-scheduler","_rev":"6-7124d9b8502a854a0f5b37b80de2f1d9","name":"@alefiori/react-scheduler","description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","dist-tags":{"latest":"0.1.11"},"versions":{"0.1.5":{"name":"@alefiori/react-scheduler","version":"0.1.5","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.5","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"homepage":"https://github.com/alefiori/react-scheduler#readme","bugs":{"url":"https://github.com/alefiori/react-scheduler/issues"},"dist":{"shasum":"18ae2d19249a707f2fd90d217d3b183edb8f5216","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.5.tgz","fileCount":2,"integrity":"sha512-EIlpZpTKIUdWz5Yi7i0z7OFYPklA40L6irry9Gd3TOj5nbnnOUqd+UXj5SsgCIiCN0jScJ5UOdJOLhy+jiYBzw==","signatures":[{"sig":"MEUCIQCjHIbesQxc6vd43mUZX8JB95WgqEl3FFJipCx/UjllIAIgNXUBG+gRxYR1GUOr9Wa/9l8yjanZYvfbqjrUmvJDra8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13032},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"gitHead":"5262c32be04327eeb15d9fc66f8011565b8962d4","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"git+https://github.com/alefiori/react-scheduler.git","type":"git"},"_npmVersion":"10.5.2","description":"<div align=\"center\">   <img src=\"logo.svg\" style=\"height: 60px\" alt=\"@alefiori/react-scheduler\">   <hr />   <p align=\"center\">     <br/>     Open sourced, typescript oriented, light-weight, and ultra fast React Component for creating gantt charts.   </p> ","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"_nodeVersion":"21.7.3","dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.5_1714063970810_0.43823057833698953","host":"s3://npm-registry-packages"}},"0.1.6":{"name":"@alefiori/react-scheduler","version":"0.1.6","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.6","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"dist":{"shasum":"713ba7abb5e7d1aeb3c448e9dd71bcdfb0695e97","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.6.tgz","fileCount":8,"integrity":"sha512-8o/vnnbMN1C4nh+SJ2IAcnAw0/jQbARz67NjNy1AeP/8uBWocxAQt+JJe5FR4ew+OMmZHnsTej52BPjK0Q0UkQ==","signatures":[{"sig":"MEUCIDgykFzSw1KnjuTWhKZDRl8CWU/50Q1KGZbBLp06TCTsAiEAlswcqjo3iEw9XlT42vM0wbk5Q34N74JznXjKQO5YXsE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297067},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"modules":"dist/index.js","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"https://github.com/alefiori/react-scheduler","type":"git"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.6_1714064434097_0.41368380181151054","host":"s3://npm-registry-packages"}},"0.1.7":{"name":"@alefiori/react-scheduler","version":"0.1.7","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.7","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"dist":{"shasum":"be9b3c237ee2032557cb928f78c75d42f258648f","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.7.tgz","fileCount":8,"integrity":"sha512-/LhWwz0oby3GRxUnGACNoiiuVNOfuwRKtmjpDEdQTYsHb0O8wNNhuCtqvgj5iITyvCyxg8GTWZNUyLpOx7Fp8g==","signatures":[{"sig":"MEYCIQCll1flJORwTwJZC8djgUoN7lzErxi5KRGuDz0ig0iNywIhAOCnHeH7oILNvMpakDUpma5vo5K4bMTL3j0X9DlQO4cD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297067},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"modules":"dist/index.js","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"https://github.com/alefiori/react-scheduler","type":"git"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.7_1714065109119_0.4098360282057809","host":"s3://npm-registry-packages"}},"0.1.8":{"name":"@alefiori/react-scheduler","version":"0.1.8","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.8","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"dist":{"shasum":"43c45ffdfd81a9df9369cb329126380cf7f961c1","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.8.tgz","fileCount":8,"integrity":"sha512-i2B4HcK303T8H6e//Mpu2zh1INlJiRCkpLgJqseOuH9gE+glTWH63OHJXPvjdpti1GGI1wSJch3tgfy5fke5zw==","signatures":[{"sig":"MEUCIQD0tS6HxgUaKWbxTsiz+KBGjRAwzjrfh8eKAgunvzYWmgIgB3babeMjFVPnKORU5NqjAwiTVrnBvcWawem9jTBXpD0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297067},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"modules":"dist/index.js","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"https://github.com/alefiori/react-scheduler","type":"git"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.8_1714065921646_0.4195187104686695","host":"s3://npm-registry-packages"}},"0.1.9":{"name":"@alefiori/react-scheduler","version":"0.1.9","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.9","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"dist":{"shasum":"cd1140c018ef7fedaf62957910e43cfe5fab29ef","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.9.tgz","fileCount":8,"integrity":"sha512-MZGWsjXfuYBMTs7fCrWX11AHePReeDSThmpHGwyDR53GQ2z2ldRrjaHFdZy1Rtf9IPznjah1Y1dfgiiA82ODrQ==","signatures":[{"sig":"MEUCIGPAyOQXn6pWysMVMG3XAF/dFCOB0FvU/Q7VfOMuPkuWAiEA4izpLtGArGatQ8RoXT7Ee7OY7WZFQm1ab98yA6IaPAQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297067},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"modules":"dist/index.js","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"https://github.com/alefiori/react-scheduler","type":"git"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.9_1715852422777_0.14076583886938154","host":"s3://npm-registry-packages"}},"0.1.10":{"name":"@alefiori/react-scheduler","version":"0.1.10","keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","_id":"@alefiori/react-scheduler@0.1.10","maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"dist":{"shasum":"c0615797af13bacef227b6612d5ed219f0fc590c","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.10.tgz","fileCount":8,"integrity":"sha512-ypmZgL4wQdcbbAb++8VzIrXFndx4w7vuva7+f7Xo+Fw7SbUJFCpJhmTKJmA2aZIY2BniYJXvQZqF0CpiNwvTVw==","signatures":[{"sig":"MEYCIQCSF8n/mD9eiz1sMYCtJRshkmAJjVIEwg2Jb7N+TeJG/wIhAKbDjmS5kuEbAaN6yZOC9QzpWNkTr8fxhJRPfI4Y4wcc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297068},"main":"dist/index.umd.js","type":"module","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"modules":"dist/index.js","scripts":{"dev":"vite","lint":"eslint .","build":"tsc && vite build","format":"prettier --write .","prepare":"husky install","preview":"vite preview","lint:fix":"eslint --fix .","typecheck":"tsc -b"},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"repository":{"url":"https://github.com/alefiori/react-scheduler","type":"git"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","directories":{},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"path":"0.12.7","dayjs":"1.11.7","react":"18.2.0","react-dom":"18.2.0","lodash.debounce":"4.0.8","styled-normalize":"8.0.7","styled-components":"5.3.8"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"4.1.0","husky":"8.0.0","eslint":"8.37.0","prettier":"2.8.7","typescript":"4.9.3","@types/node":"18.15.11","lint-staged":"13.2.0","@types/react":"18.0.27","@types/datejs":"0.0.32","@faker-js/faker":"7.6.0","vite-plugin-dts":"2.2.0","@types/react-dom":"18.0.10","vite-plugin-svgr":"2.4.0","eslint-plugin-react":"7.32.2","@vitejs/plugin-react":"3.1.0","eslint-plugin-import":"2.27.5","@types/lodash.debounce":"4.0.7","eslint-config-prettier":"8.8.0","eslint-plugin-prettier":"4.2.1","eslint-plugin-filenames":"1.3.2","@types/styled-components":"5.1.26","rollup-plugin-visualizer":"5.9.0","@typescript-eslint/parser":"5.57.1","eslint-plugin-react-hooks":"4.6.0","babel-plugin-styled-components":"2.0.7","@typescript-eslint/eslint-plugin":"5.57.1","eslint-import-resolver-typescript":"3.5.5"},"_npmOperationalInternal":{"tmp":"tmp/react-scheduler_0.1.10_1718439222138_0.9987819439172116","host":"s3://npm-registry-packages"}},"0.1.11":{"name":"@alefiori/react-scheduler","version":"0.1.11","type":"module","license":"MIT","repository":{"type":"git","url":"https://github.com/alefiori/react-scheduler"},"keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","lint":"eslint .","lint:fix":"eslint --fix .","format":"prettier --write .","typecheck":"tsc -b","prepare":"husky install"},"main":"dist/index.umd.js","modules":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.umd.cjs"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"publishConfig":{"access":"public"},"lint-staged":{"**/*.{ts,tsx}":["yarn run lint"]},"dependencies":{"dayjs":"1.11.7","lodash.debounce":"4.0.8","path":"0.12.7","react":"18.2.0","react-dom":"18.2.0","styled-components":"5.3.8","styled-normalize":"8.0.7"},"devDependencies":{"@faker-js/faker":"7.6.0","@types/datejs":"0.0.32","@types/lodash.debounce":"4.0.7","@types/node":"18.15.11","@types/react":"18.0.27","@types/react-dom":"18.0.10","@types/styled-components":"5.1.26","@typescript-eslint/eslint-plugin":"5.57.1","@typescript-eslint/parser":"5.57.1","@vitejs/plugin-react":"3.1.0","babel-plugin-styled-components":"2.0.7","eslint":"8.37.0","eslint-config-prettier":"8.8.0","eslint-import-resolver-typescript":"3.5.5","eslint-plugin-filenames":"1.3.2","eslint-plugin-import":"2.27.5","eslint-plugin-prettier":"4.2.1","eslint-plugin-react":"7.32.2","eslint-plugin-react-hooks":"4.6.0","husky":"8.0.0","lint-staged":"13.2.0","prettier":"2.8.7","rollup-plugin-visualizer":"5.9.0","typescript":"4.9.3","vite":"4.1.0","vite-plugin-dts":"2.2.0","vite-plugin-svgr":"2.4.0"},"description":"```bash # yarn yarn add '@alefiori/react-scheduler' # npm npm install '@alefiori/react-scheduler' ```","_id":"@alefiori/react-scheduler@0.1.11","dist":{"shasum":"ec85c9ce61fb839a1b7a1074fa893ba11f93df61","integrity":"sha512-1hlaVocyLWE+RPMKPfJuHeRz92iUwltGEcO9SGJ6ML/y2BqAZa1QDY8YPbyd6ClwDuyUW7jTyPbLvKXrYr8X7g==","tarball":"https://registry.npmjs.org/@alefiori/react-scheduler/-/react-scheduler-0.1.11.tgz","fileCount":8,"unpackedSize":297068,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFqqJZp9hpu6etx7bi+C50vdmCAl1YsF2SfI2Jw3YzrZAiB4bWDUUEgsjO+mldt4y2zD2uxhs2qBW7iKRw3UyCeZ/g=="}]},"_npmUser":{"name":"alefiori","email":"alefiori97@gmail.com"},"directories":{},"maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/react-scheduler_0.1.11_1718439549007_0.861728667346267"},"_hasShrinkwrap":false}},"time":{"created":"2024-04-25T16:52:50.676Z","modified":"2024-06-15T08:19:09.442Z","0.1.5":"2024-04-25T16:52:51.013Z","0.1.6":"2024-04-25T17:00:34.460Z","0.1.7":"2024-04-25T17:11:49.333Z","0.1.8":"2024-04-25T17:25:21.810Z","0.1.9":"2024-05-16T09:40:22.971Z","0.1.10":"2024-06-15T08:13:42.364Z","0.1.11":"2024-06-15T08:19:09.227Z"},"maintainers":[{"name":"alefiori","email":"alefiori97@gmail.com"}],"repository":{"type":"git","url":"https://github.com/alefiori/react-scheduler"},"keywords":["scheduler","gantt","gantt chart","react","timeline","calendar"],"license":"MIT","readme":"<div align=\"center\">\n  <img src=\"logo.svg\" style=\"height: 60px\" alt=\"@alefiori/react-scheduler\">\n  <hr />\n  <p align=\"center\">\n    <br/>\n    Open sourced, typescript oriented, light-weight, and ultra fast React Component for creating gantt charts.\n  </p>\n  <div align=\"center\">\n    <a href=\"https://bit.ly/react_scheduler\">Youtube Tutorial</a>\n    <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>\n    <a href=\"https://www.npmjs.com/package/@alefiori/react-scheduler\">npm</a>\n    <span>&nbsp;&nbsp;•&nbsp;&nbsp;</span>\n    <a href=\"https://github.com/alefiori/react-scheduler/issues/new\">Report an issue</a>\n  </div>\n</div>\n<hr />\n\n### Installation\n\n```bash\n# yarn\nyarn add '@alefiori/react-scheduler'\n# npm\nnpm install '@alefiori/react-scheduler'\n```\n\n### Example usage\n\n1. import required styles for scheduler\n\n```ts\nimport \"@alefiori/react-scheduler/dist/style.css\";\n```\n\n2. Import Scheduler component into your project\n\n```ts\nimport { Scheduler, SchedulerData } from \"@alefiori/react-scheduler\";\n\ndefault export function Component() {\n  const [filterButtonState, setFilterButtonState] = useState(0);\n\n  return (\n    <section>\n      <Scheduler\n        data={mockedSchedulerData}\n        isLoading={isLoading}\n        onRangeChange={(newRange) => console.log(newRange)}\n        onTileClick={(clickedResource) => console.log(clickedResource)}\n        onItemClick={(item) => console.log(item)}\n        onFilterData={() => {\n          // Some filtering logic...\n          setFilterButtonState(1);\n        }}\n        onClearFilterData={() => {\n          // Some clearing filters logic...\n          setFilterButtonState(0)\n        }}\n        config={{\n          zoom: 0,\n          filterButtonState,\n        }}\n      />\n    </section>\n  );\n}\n\nconst mockedSchedulerData: SchedulerData = [\n  {\n    id: \"070ac5b5-8369-4cd2-8ba2-0a209130cc60\",\n    label: {\n      icon: \"https://picsum.photos/24\",\n      title: \"Joe Doe\",\n      subtitle: \"Frontend Developer\"\n    },\n    data: [\n      {\n        id: \"8b71a8a5-33dd-4fc8-9caa-b4a584ba3762\",\n        startDate: new Date(\"2023-04-13T15:31:24.272Z\"),\n        endDate: new Date(\"2023-08-28T10:28:22.649Z\"),\n        occupancy: 3600,\n        title: \"Project A\",\n        subtitle: \"Subtitle A\",\n        description: \"array indexing Salad West Account\",\n        bgColor: \"rgb(254,165,177)\"\n      },\n      {\n        id: \"22fbe237-6344-4c8e-affb-64a1750f33bd\",\n        startDate: new Date(\"2023-10-07T08:16:31.123Z\"),\n        endDate: new Date(\"2023-11-15T21:55:23.582Z\"),\n        occupancy: 2852,\n        title: \"Project B\",\n        subtitle: \"Subtitle B\",\n        description: \"Tuna Home pascal IP drive\",\n        bgColor: \"rgb(254,165,177)\"\n      },\n      {\n        id: \"3601c1cd-f4b5-46bc-8564-8c983919e3f5\",\n        startDate: new Date(\"2023-03-30T22:25:14.377Z\"),\n        endDate: new Date(\"2023-09-01T07:20:50.526Z\"),\n        occupancy: 1800,\n        title: \"Project C\",\n        subtitle: \"Subtitle C\",\n        bgColor: \"rgb(254,165,177)\"\n      },\n      {\n        id: \"b088e4ac-9911-426f-aef3-843d75e714c2\",\n        startDate: new Date(\"2023-10-28T10:08:22.986Z\"),\n        endDate: new Date(\"2023-10-30T12:30:30.150Z\"),\n        occupancy: 11111,\n        title: \"Project D\",\n        subtitle: \"Subtitle D\",\n        description: \"Garden heavy an software Metal\",\n        bgColor: \"rgb(254,165,177)\"\n      }\n    ]\n  }\n];\n\n```\n\n3. If some problems occur, please see our troubleshooting section below.\n\n### Scheduler API\n\n##### Scheduler Component Props\n\n| Property Name     | Type       | Arguments                         | Description                                                                                                                       |\n| ----------------- | ---------- | --------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |\n| isLoading         | `boolean`  | -                                 | shows loading indicators on scheduler                                                                                             |\n| onRangeChange     | `function` | updated `startDate` and `endDate` | runs whenever user reaches end of currently rendered canvas                                                                       |\n| onTileClick       | `function` | clicked resource data             | detects resource click                                                                                                            |\n| onItemClick       | `function` | clicked left column item data     | detects item click on left column                                                                                                 |\n| onFilterData      | `function` | -                                 | callback firing when filter button was clicked                                                                                    |\n| onClearFilterData | `function` | -                                 | callback firing when clear filters button was clicked (clearing button is visible **only** when filterButtonState is set to `>0`) |\n| config            | `Config`   | -                                 | object with scheduler config properties                                                                                           |\n\n##### Scheduler Config Object\n\n| Property Name                        | Type         | Default | Description                                                                                                                                                            |\n| ------------------------------------ | ------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| zoom                                 | `0` or `1`   | 0       | `0` - display grid divided into weeks `1` - display grid divided into days                                                                                             |\n| filterButtonState                    | `number`     | 0       | `< 0` - hides filter button, `0` - state for when filters were not set, `> 0` - state for when some filters were set (allows to also handle `onClearFilterData` event) |\n| maxRecordsPerPage                    | `number`     | 50      | number of items from `SchedulerData` visible per page                                                                                                                  |\n| lang                                 | `en` or `pl` or `it` | en      | scheduler's language                                                                                                                                                   |\n| includeTakenHoursOnWeekendsInDayView | `boolean`    | `false` | show weekends as taken when given resource is longer than a week                                                                                                       |\n\n##### Scheduler Data\n\narray of chart rows with shape of\n| Property Name | Type | Description |\n| -------- | --------------------- | -------------------------------- |\n| id | `string` | unique row id |\n| label | `SchedulerRowLabel` | row's label, `e.g person's name, surname, icon` |\n| data | `Array<ResourceItem>` | array of `resources` |\n\n##### Left Colum Item Data\n\ndata that is accessible as argument of `onItemClick` callback\n| Property Name | Type | Description |\n| -------- | --------------------- | -------------------------------- |\n| id | `string` | unique row id |\n| label | `string` | row's label, `e.g person's name` |\n\n##### Resource Item\n\nitem that will be visible on the grid as tile and that will be accessible as argument of `onTileClick` event\n| Property Name | Type | Description |\n| ----------- | ----------------- | ------------------------------------------------------------------------------------------------------- |\n| id | `string` | unique resource id |\n| title | `string` | resource title that will be displayed on resource tile |\n| subtitle | `string (optional)` | resource subtitle that will be displayed on resource tile |\n| description | `string (optional)` | resource description that will be displayed on resource tile |\n| startDate | `Date` | date for calculating start position for resource |\n| endDate | `Date` | date for calculating end position for resource |\n| occupancy | `number` | number of seconds resource takes up for given row that will be visible on resource tooltip when hovered |\n| bgColor | `string (optional)` | tile color |\n\n### Troubleshooting\n\n- For using Scheduler with RemixJS make sure to add `@alefiori/react-scheduler` to `serverDependenciesToBundle` in `remix.config.js` like so:\n\n```js\n// remix.config.js\n/** @type  {import('@remix-run/dev').AppConfig} */\nmodule.exports = {\n\t// ...\n\tserverDependenciesToBundle: [..., \"@alefiori/react-scheduler\"],\n};\n```\n\n- When using with NextJS (app router) Scheduler needs to be wrapped with component with `use client`\n\n```ts\n\"use client\"\nimport { Scheduler, SchedulerProps } from \"@alefiori/react-scheduler\";\n\ndefault export function SchedulerClient(props: SchedulerProps) {\n\treturn <Scheduler {...props} />;\n}\n\n```\n\n- When using with NextJS (pages router) it needs to be imported using `dynamic`:\n\n```ts\nimport dynamic from \"next/dynamic\";\nconst Scheduler = dynamic(() => import(\"@alefiori/react-scheduler\").then((mod) => mod.Scheduler), {\n  ssr: false\n});\n```\n\n### Known Issues\n\n1. No responsiveness\n2. Slower performance on Firefox when working with big set of data due to Firefox being slower working with canvas\n\n### How to contribute\n\n- **Reporting Issues**: If you come across any bugs, glitches, or have any suggestions for improvements, please [open an issue](https://github.com/alefiori/react-scheduler/issues) on our GitHub repository. Provide as much detail as possible, including steps to reproduce the issue.\n- **Suggesting Enhancements**: If you have ideas for new features or enhancements, we would love to hear them! You can [open an issue](https://github.com/alefiori/react-scheduler/issues) on our GitHub repository and clearly describe your suggestion.\n- **Submitting Pull Requests**: If you have developed a fix or a new feature that you would like to contribute, you can submit a pull request. Here's a quick overview of the process:\n  - Clone the repository and create your own branch: `git checkout -b feat/your-branch-name`.\n  - Implement your changes, following the **code style and guidelines** from [development.md](development.md).\n  - Test your changes to ensure they work as expected.\n  - Commit your changes and push to your forked repository.\n  - Open a pull request against our main repository's `master` branch.\n    - add at least 1 reviewer\n    - link correct issue\n","readmeFilename":"readme.md"}