Svelte-gantt
10 |A lightweight and fast interactive gantt chart/resource booking component made with Svelte. Compatible with any JS library or framework. ZERO dependencies.
11 |Demo
12 |To see the examples check the links in the header.
13 |├── docs
├── .nojekyll
├── _app
│ ├── version.json
│ └── immutable
│ │ ├── entry
│ │ └── start.Dwci9Oks.js
│ │ ├── chunks
│ │ ├── paths.oQcPQ3IF.js
│ │ ├── stores.BxMDhJ8m.js
│ │ ├── spread.CgU5AtxT.js
│ │ ├── control.CYgJF_JY.js
│ │ ├── layout.zjTtpqzV.js
│ │ ├── each.DqwAsWNO.js
│ │ ├── A.201zTarD.js
│ │ ├── store.CCmTIowZ.js
│ │ └── index.DyGm78TJ.js
│ │ ├── assets
│ │ ├── 17.CKKkePFl.css
│ │ ├── _page.CKKkePFl.css
│ │ ├── 3.D4zGWEJI.css
│ │ ├── _page.D4zGWEJI.css
│ │ ├── 7.zCu19reB.css
│ │ ├── _page.zCu19reB.css
│ │ ├── 5.HrAC0il4.css
│ │ ├── _page.HrAC0il4.css
│ │ ├── _page.BMXDRz-s.css
│ │ └── 6.DZf7PkB2.css
│ │ └── nodes
│ │ ├── 4.C_seFb3q.js
│ │ ├── 1.MAtuXuJq.js
│ │ ├── 9.D5dLAYhx.js
│ │ └── 14.CPQ9PDjB.js
├── favicon.png
├── favicon.svg
└── 404.html
├── packages
├── demo
│ ├── static
│ │ ├── .nojekyll
│ │ ├── joe.jpg
│ │ └── favicon.png
│ ├── .npmrc
│ ├── src
│ │ ├── routes
│ │ │ ├── +layout.js
│ │ │ ├── +page.svelte
│ │ │ └── +layout.svelte
│ │ ├── lib
│ │ │ └── index.js
│ │ ├── utils.js
│ │ ├── stores
│ │ │ └── store.js
│ │ ├── app.d.ts
│ │ ├── app.html
│ │ ├── main.css
│ │ ├── components
│ │ │ ├── DateTime.svelte
│ │ │ ├── GanttViewNavigation.svelte
│ │ │ └── GanttOptions.svelte
│ │ └── gantt-default.css
│ ├── .gitignore
│ ├── vite.config.js
│ ├── package.json
│ ├── jsconfig.json
│ ├── README.md
│ └── svelte.config.js
├── docs-mdsvex
│ ├── static
│ │ ├── .nojekyll
│ │ ├── favicon.png
│ │ └── favicon.svg
│ ├── .npmrc
│ ├── src
│ │ ├── routes
│ │ │ ├── +layout.js
│ │ │ ├── docs
│ │ │ │ ├── layout.svelte
│ │ │ │ ├── +page.js
│ │ │ │ ├── options
│ │ │ │ │ ├── layout
│ │ │ │ │ │ ├── +page.svx
│ │ │ │ │ │ └── LayoutExample.svelte
│ │ │ │ │ ├── columns
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ ├── headers
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ └── zoom
│ │ │ │ │ │ ├── +page.svx
│ │ │ │ │ │ └── ZoomExample.svelte
│ │ │ │ ├── getting-started
│ │ │ │ │ ├── migrating
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ └── installation
│ │ │ │ │ │ └── +page.svx
│ │ │ │ ├── modules
│ │ │ │ │ ├── table
│ │ │ │ │ │ ├── TableExample.svelte
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ ├── create-tasks
│ │ │ │ │ │ ├── +page.svx
│ │ │ │ │ │ └── CreateTasksExample.svelte
│ │ │ │ │ ├── dependencies
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ └── external
│ │ │ │ │ │ ├── ExternalExample.svelte
│ │ │ │ │ │ └── +page.svx
│ │ │ │ ├── data
│ │ │ │ │ ├── rows
│ │ │ │ │ │ ├── RowsExample.svelte
│ │ │ │ │ │ ├── TreeExample.svelte
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ ├── time-ranges
│ │ │ │ │ │ ├── TimeRangesExample.svelte
│ │ │ │ │ │ └── +page.svx
│ │ │ │ │ └── tasks
│ │ │ │ │ │ ├── TasksExample.svelte
│ │ │ │ │ │ ├── TaskComponentExample.svelte
│ │ │ │ │ │ ├── +page.svx
│ │ │ │ │ │ └── TaskComponentExample.css
│ │ │ │ └── +layout.svelte
│ │ │ ├── FeatureCard.svelte
│ │ │ ├── +layout.svelte
│ │ │ └── HeroExample.svelte
│ │ ├── app.css
│ │ ├── lib
│ │ │ ├── components
│ │ │ │ ├── A.svelte
│ │ │ │ ├── IconButton.svelte
│ │ │ │ ├── NavLink.svelte
│ │ │ │ ├── SideBarCategory.svelte
│ │ │ │ ├── SideBarLink.svelte
│ │ │ │ ├── SideBar.svelte
│ │ │ │ ├── Button.svelte
│ │ │ │ └── NavBar.svelte
│ │ │ ├── icons
│ │ │ │ ├── CloseIcon.svelte
│ │ │ │ ├── ArrowRightIcon.svelte
│ │ │ │ ├── MenuIcon.svelte
│ │ │ │ ├── MoonIcon.svelte
│ │ │ │ ├── SunIcon.svelte
│ │ │ │ ├── GithubIcon.svelte
│ │ │ │ └── SvelteGanttLogo.svelte
│ │ │ ├── styles
│ │ │ │ ├── fonts.css
│ │ │ │ └── vars.css
│ │ │ ├── index.js
│ │ │ └── store.js
│ │ └── app.html
│ ├── jsconfig.json
│ ├── .prettierignore
│ ├── postcss.config.js
│ ├── .gitignore
│ ├── .eslintignore
│ ├── .prettierrc
│ ├── .eslintrc.cjs
│ ├── vite.config.js
│ ├── README.md
│ ├── package.json
│ └── svelte.config.js
└── svelte-gantt
│ ├── src
│ ├── core
│ │ ├── constants.ts
│ │ ├── drag
│ │ │ ├── index.ts
│ │ │ ├── DragContext.ts
│ │ │ └── Draggable.svelte
│ │ ├── selectionManager.ts
│ │ ├── timeRange.ts
│ │ ├── events.ts
│ │ ├── column.ts
│ │ └── api.ts
│ ├── modules
│ │ ├── table
│ │ │ ├── index.ts
│ │ │ ├── tableHeader.ts
│ │ │ └── TableTreeCell.svelte
│ │ ├── dependencies
│ │ │ ├── index.ts
│ │ │ ├── dependency.ts
│ │ │ └── GanttDependencies.svelte
│ │ └── external
│ │ │ └── external.ts
│ ├── entities
│ │ ├── Task.d.ts
│ │ ├── index.ts
│ │ ├── Row.svelte
│ │ └── TimeRange.svelte
│ ├── ui
│ │ ├── index.ts
│ │ ├── ContextMenu.svelte
│ │ └── Resizer.svelte
│ ├── column
│ │ ├── index.ts
│ │ ├── Column.svelte
│ │ ├── ColumnHeader.svelte
│ │ ├── canvas.ts
│ │ └── Columns.svelte
│ ├── context.d.ts
│ ├── index.ts
│ └── utils
│ │ ├── contextMenuManager.ts
│ │ └── momentDateAdapter.ts
│ ├── .eslintignore
│ ├── .prettierignore
│ ├── .prettierrc
│ ├── svelte.config.js
│ ├── tsconfig.json
│ ├── rollup.config.js
│ ├── LICENSE.txt
│ ├── .eslintrc.cjs
│ ├── .gitignore
│ └── package.json
├── pnpm-workspace.yaml
├── examples
├── example-sveltekit
│ ├── .npmrc
│ ├── static
│ │ └── favicon.png
│ ├── src
│ │ ├── utils.js
│ │ ├── stores
│ │ │ └── store.js
│ │ ├── app.d.ts
│ │ ├── app.html
│ │ ├── components
│ │ │ └── DateTime.svelte
│ │ ├── gantt-default.css
│ │ └── routes
│ │ │ └── +layout.svelte
│ ├── .gitignore
│ ├── vite.config.js
│ ├── svelte.config.js
│ ├── tsconfig.json
│ ├── package.json
│ └── README.md
├── example-svelte
│ ├── .gitignore
│ ├── src
│ │ ├── utils.js
│ │ ├── index.js
│ │ ├── components
│ │ │ ├── DateTime.svelte
│ │ │ └── GanttOptions.svelte
│ │ └── App.svelte
│ ├── rollup.config.js
│ └── package.json
└── example-reactjs
│ ├── public
│ ├── robots.txt
│ ├── manifest.json
│ └── index.html
│ ├── README.md
│ ├── src
│ ├── App.js
│ └── index.js
│ ├── .gitignore
│ └── package.json
├── .eslintignore
├── .prettierignore
├── .prettierrc
├── package.json
├── LICENSE.txt
├── .eslintrc.cjs
├── .gitignore
└── README.md
/docs/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/static/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/docs-mdsvex/static/.nojekyll:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/packages/demo/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/docs/_app/version.json:
--------------------------------------------------------------------------------
1 | {"version":"1723125560024"}
--------------------------------------------------------------------------------
/packages/docs-mdsvex/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/pnpm-workspace.yaml:
--------------------------------------------------------------------------------
1 | packages:
2 | - 'packages/*'
--------------------------------------------------------------------------------
/examples/example-sveltekit/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/examples/example-svelte/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | /public/build/
--------------------------------------------------------------------------------
/packages/docs-mdsvex/src/routes/+layout.js:
--------------------------------------------------------------------------------
1 | export const ssr = false;
2 |
--------------------------------------------------------------------------------
/docs/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ANovokmet/svelte-gantt/HEAD/docs/favicon.png
--------------------------------------------------------------------------------
/packages/demo/src/routes/+layout.js:
--------------------------------------------------------------------------------
1 | export const prerender = true;
2 | export const ssr = false;
3 |
--------------------------------------------------------------------------------
/packages/demo/src/lib/index.js:
--------------------------------------------------------------------------------
1 | // place files you want to import through the `$lib` alias in this folder.
2 |
--------------------------------------------------------------------------------
/packages/svelte-gantt/src/core/constants.ts:
--------------------------------------------------------------------------------
1 | export const MIN_DRAG_X = 2;
2 | export const MIN_DRAG_Y = 2;
3 |
--------------------------------------------------------------------------------
/docs/_app/immutable/entry/start.Dwci9Oks.js:
--------------------------------------------------------------------------------
1 | import{a as t}from"../chunks/entry.0-2BfHub.js";export{t as start};
2 |
--------------------------------------------------------------------------------
/packages/demo/static/joe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ANovokmet/svelte-gantt/HEAD/packages/demo/static/joe.jpg
--------------------------------------------------------------------------------
/examples/example-reactjs/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 | Disallow:
4 |
--------------------------------------------------------------------------------
/packages/demo/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ANovokmet/svelte-gantt/HEAD/packages/demo/static/favicon.png
--------------------------------------------------------------------------------
/packages/docs-mdsvex/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {}
4 | }
5 |
--------------------------------------------------------------------------------
/examples/example-reactjs/README.md:
--------------------------------------------------------------------------------
1 | ## Install
2 | `yarn i` or `npm i`
3 |
4 | # Launch
5 | `yarn start` or `npm start`
--------------------------------------------------------------------------------
/packages/docs-mdsvex/.prettierignore:
--------------------------------------------------------------------------------
1 | # Ignore files for PNPM, NPM and YARN
2 | pnpm-lock.yaml
3 | package-lock.json
4 | yarn.lock
5 |
--------------------------------------------------------------------------------
/packages/docs-mdsvex/postcss.config.js:
--------------------------------------------------------------------------------
1 | export default {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {}
5 | }
6 | };
7 |
--------------------------------------------------------------------------------
/packages/docs-mdsvex/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ANovokmet/svelte-gantt/HEAD/packages/docs-mdsvex/static/favicon.png
--------------------------------------------------------------------------------
/packages/svelte-gantt/src/modules/table/index.ts:
--------------------------------------------------------------------------------
1 | import SvelteGanttTable from './Table.svelte';
2 |
3 | export { SvelteGanttTable };
4 |
--------------------------------------------------------------------------------
/examples/example-sveltekit/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ANovokmet/svelte-gantt/HEAD/examples/example-sveltekit/static/favicon.png
--------------------------------------------------------------------------------
/examples/example-svelte/src/utils.js:
--------------------------------------------------------------------------------
1 | import moment from 'moment';
2 |
3 | export function time(input) {
4 | return moment(input, 'HH:mm');
5 | }
6 |
--------------------------------------------------------------------------------
/examples/example-sveltekit/src/utils.js:
--------------------------------------------------------------------------------
1 | import moment from 'moment';
2 |
3 | export function time(input) {
4 | return moment(input, 'HH:mm');
5 | }
6 |
--------------------------------------------------------------------------------
/packages/svelte-gantt/src/entities/Task.d.ts:
--------------------------------------------------------------------------------
1 | // declare module '*.svelte' {
2 | // export { SvelteComponentDev as default } from 'svelte/internal';
3 | // }
4 |
--------------------------------------------------------------------------------
/packages/demo/src/utils.js:
--------------------------------------------------------------------------------
1 | import moment from 'moment';
2 |
3 | window.moment = moment;
4 |
5 | export function time(input) {
6 | return moment(input, 'HH:mm');
7 | }
8 |
--------------------------------------------------------------------------------
/packages/docs-mdsvex/src/app.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | .landing-page .nav-category {
6 | display: none !important;
7 | }
--------------------------------------------------------------------------------
/examples/example-svelte/src/index.js:
--------------------------------------------------------------------------------
1 | import App from "./App.svelte";
2 |
3 | const app = new App({
4 | target: document.getElementById("app")
5 | });
6 |
7 | export default app;
--------------------------------------------------------------------------------
/packages/docs-mdsvex/src/routes/docs/layout.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
6 |
A lightweight and fast interactive gantt chart/resource booking component made with Svelte. Compatible with any JS library or framework. ZERO dependencies.
11 |To see the examples check the links in the header.
13 |