{"_id":"@artemostapov/frappe-gantt-react","name":"@artemostapov/frappe-gantt-react","dist-tags":{"latest":"0.2.3"},"versions":{"0.2.3":{"name":"@artemostapov/frappe-gantt-react","version":"0.2.3","license":"MIT","main":"./index.js","types":"./typings/main.d.ts","author":{"name":"Artem Ostapov","email":"stallerpm@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/artemostapov/frappe-gantt-react.git"},"bugs":{"url":"https://github.com/artemostapov/frappe-gantt-react/issues"},"keywords":["react","frappe gantt wrapper","gantt","svg","simple gantt","project timeline","interactive gantt","project management"],"dependencies":{"frappe-gantt":"^0.8.0","moment":"^2.24.0","react":"^16.8.6","react-dom":"^16.8.6","react-scripts":"3.4.3"},"scripts":{"start":"react-scripts start","build":"react-scripts build","dist":"npm run tsc ;rollup -c","test":"react-scripts test","eject":"react-scripts eject","tsc":"tsc -p tsconfig.prod.json"},"eslintConfig":{"extends":"react-app"},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"devDependencies":{"@babel/plugin-proposal-optional-chaining":"^7.2.0","@babel/preset-env":"^7.4.4","@babel/preset-react":"^7.0.0","@svgr/rollup":"^4.2.0","@types/jest":"24.0.12","@types/node":"11.13.9","@types/react":"16.8.15","@types/react-dom":"16.8.4","node-sass":"^4.12.0","parcel-bundler":"^1.12.3","rollup":"^1.11.0","rollup-plugin-babel":"^4.3.2","rollup-plugin-commonjs":"^9.3.4","rollup-plugin-node-resolve":"^4.2.3","rollup-plugin-peer-deps-external":"^2.2.0","rollup-plugin-postcss":"^2.0.3","rollup-plugin-sass":"^1.2.2","rollup-plugin-terser":"^4.0.4","rollup-plugin-typescript":"^1.0.1","rollup-plugin-url":"^2.2.1","typescript":"3.4.5"},"_id":"@artemostapov/frappe-gantt-react@0.2.3","gitHead":"5b931a31fc6396377a096ddaafb49aeabaef758f","description":"It's a React Component, a Wrapper for the awesome [Gantt chart library](https://github.com/frappe/gantt) from Frappé","homepage":"https://github.com/artemostapov/frappe-gantt-react#readme","_nodeVersion":"20.6.1","_npmVersion":"10.7.0","dist":{"integrity":"sha512-uU3PgUwfOr5dpTaUZnHcd+h/JFxMEIVTuUkYOaoIswwcJ200+6LN2q8g0N55/v9RpgnjarWIV5WA9rddkD7k9w==","shasum":"3123eeaa548adc2c7ecb26764f9cee4649c46590","tarball":"https://registry.npmjs.org/@artemostapov/frappe-gantt-react/-/frappe-gantt-react-0.2.3.tgz","fileCount":39,"unpackedSize":50517,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCetT5ubyDlG7/ivq+PONpwpPlSFWS9sEPoUDCVeH3L9QIhAMs4UyQ/NFOCaeQr5e4+Wjd3OhW0K3mfLS+o1vnn8zMf"}]},"_npmUser":{"name":"artemostapov","email":"stallerpm@gmail.com"},"directories":{},"maintainers":[{"name":"artemostapov","email":"stallerpm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/frappe-gantt-react_0.2.3_1726589388223_0.8613462243299725"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-17T16:09:48.092Z","0.2.3":"2024-09-17T16:09:48.586Z","modified":"2024-09-17T16:09:49.012Z"},"maintainers":[{"name":"artemostapov","email":"stallerpm@gmail.com"}],"description":"It's a React Component, a Wrapper for the awesome [Gantt chart library](https://github.com/frappe/gantt) from Frappé","homepage":"https://github.com/artemostapov/frappe-gantt-react#readme","keywords":["react","frappe gantt wrapper","gantt","svg","simple gantt","project timeline","interactive gantt","project management"],"repository":{"type":"git","url":"git+https://github.com/artemostapov/frappe-gantt-react.git"},"author":{"name":"Artem Ostapov","email":"stallerpm@gmail.com"},"bugs":{"url":"https://github.com/artemostapov/frappe-gantt-react/issues"},"license":"MIT","readme":"# Frappé Gantt React Wrapper\n\nIt's a React Component, a Wrapper for the awesome [Gantt chart library](https://github.com/frappe/gantt) from Frappé\n\nFor the live demo, you can check their live demo [here](https://frappe.github.io/gantt/)\n\n## Install\n\n> npm install frappe-gantt-react\n\nor\n\n> yarn add frappe-gantt-react\n\n## Usage\n\nImport it to your project\n\nUsing ES6 modules\n\n`import { FrappeGantt } from 'frappe-gantt-react`\n\nOr using CommonJS\n\n`const { FrappeGantt } = require('frappe-gantt-react')`\n\nThen you can use it in your react app:\n\n    class App extends React.Component {\n\n        ...\n\n        render() {\n\n            return (\n                ...\n                <div>\n                    <FrappeGantt\n                        tasks={tasks}\n                        viewMode={this.state.mode}\n                        onClick={task => console.log(task)}\n                        onDateChange={(task, start, end) => console.log(task, start, end)}\n                        onProgressChange={(task, progress) => console.log(task, progress)}\n                        onTasksChange={tasks => console.log(tasks)}\n                    />\n                </div>\n                ...\n\n            )\n\n        }\n\n    }\n\n## The API\n\n### The component `props`\n\n|      Property      | Description                                                                                         |\n| :----------------: | :-------------------------------------------------------------------------------------------------- |\n|      `tasks`       | Accepts array of class `Task`                                                                       |\n|  `onTasksChange`   | Accepts a `(tasks: Task[]) => void`, where `tasks` is the new copy —manipulated— of array of tasks  |\n|     `onClick`      | Accepts a `(task: Task) => void`, where `task` is the clicked task                                  |\n|   `onDateChange`   | Accepts a `(task: Task, start: Moment, end: Moment) => void`, both start and end are Moment objects |\n| `onProgressChange` | Accepts a `(task: Task, progress: number) => void`                                                  |\n|   `onViewChange`   | Accepts a `(mode: ViewMode) => void`                                                                |\n","readmeFilename":"README.md"}