@art-tools/react-gantt 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +626 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +1042 -0
- package/dist/index.d.ts +1042 -0
- package/dist/index.mjs +3288 -0
- package/dist/index.mjs.map +1 -0
- package/dist/style.css +2 -0
- package/dist/style.css.d.ts +15 -0
- package/package.json +96 -0
package/dist/style.css
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
:root{--am-gantt-focus-ring-color:#1d4ed8;--am-gantt-focus-ring-width:2px;--am-gantt-focus-ring-offset:-2px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--am-gantt-task-bg:#0ba5ff;--am-gantt-task-bg-progress:#0000001f;--am-gantt-task-color:#fff;--am-gantt-task-border-radius:4px;--am-gantt-task-font-size:14px;--am-gantt-project-bg:#16a34a;--am-gantt-project-bg-progress:#86efac73;--am-gantt-project-color:#f0fdf4;--am-gantt-milestone-bg:#f59e0b;--am-gantt-calendar-bg:#fff;--am-gantt-calendar-border:#e2e8f0;--am-gantt-calendar-radius:6px;--am-gantt-calendar-color:#334155;--am-gantt-calendar-header-bg:#f8fafc;--am-gantt-calendar-header-color:#0f172a;--am-gantt-calendar-weekend-bg:#f1f5f9;--am-gantt-calendar-weekend-color:#64748b;--am-gantt-resizer-width:11px;--am-gantt-resizer-handle-width:3px;--am-gantt-resizer-handle-radius:1.5px;--am-gantt-resizer-handle-inset:4px;--am-gantt-links-z-index:2;--am-gantt-task-bar-z-index:3;--am-gantt-calendar-z-index:30;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}._calendar_1ksbu_1{box-sizing:border-box;border:1px solid var(--am-gantt-calendar-border,#e2e8f0);border-radius:var(--am-gantt-calendar-radius,6px);background:var(--am-gantt-calendar-bg,#fff);-webkit-user-select:none;user-select:none;z-index:var(--am-gantt-calendar-z-index,30);flex-direction:column;font-family:inherit;display:flex;position:sticky;top:0;overflow:hidden}._row_1ksbu_19{box-sizing:border-box;border-bottom:1px solid var(--am-gantt-calendar-border,#e2e8f0);position:relative}._row_1ksbu_19:last-child{border-bottom:none}._row_1ksbu_19:first-child ._cell_1ksbu_29{background:var(--am-gantt-calendar-header-bg,#f8fafc);color:var(--am-gantt-calendar-header-color,#0f172a);font-weight:600}._cell_1ksbu_29{box-sizing:border-box;border-right:1px solid var(--am-gantt-calendar-border,#e2e8f0);color:var(--am-gantt-calendar-color,#334155);white-space:nowrap;text-overflow:ellipsis;justify-content:center;align-items:center;padding:0 8px;font-size:13px;display:flex;position:absolute;top:0;bottom:0;overflow:hidden}._cell_1ksbu_29:last-child{border-right:none}._cellWeekend_1ksbu_56{background:var(--am-gantt-calendar-weekend-bg,#f1f5f9);color:var(--am-gantt-calendar-weekend-color,#64748b)}._milestone_o4jql_1{position:absolute}._milestoneShape_o4jql_5{background-color:var(--am-gantt-milestone-bg);clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);width:100%;height:100%}._barProgress_1obm3_1{background-color:var(--am-gantt-bar-progress-bg,var(--am-gantt-task-bg-progress));border-radius:4px 0 0 4px;height:100%;position:absolute;top:0;left:0}._barProgressResizeHandle_1obm3_10{cursor:ew-resize;z-index:10;opacity:0;background-color:#0000;width:1px;height:10px;transition:opacity .15s;position:absolute;bottom:0;right:0}.am-gantt-bar-task:hover ._barProgressResizeHandle_1obm3_10{opacity:1}._barProgressResizeHandle_1obm3_10:after{content:"";background-color:var(--am-gantt-calendar-border);clip-path:polygon(50% 0%,0% 100%,100% 100%);width:10px;height:10px;position:absolute;top:0;left:-5px}._project_927ph_1{box-sizing:border-box;background-color:var(--am-gantt-project-bg);--am-gantt-bar-progress-bg:var(--am-gantt-project-bg-progress);border-radius:4px;position:absolute;overflow:hidden}._projectInner_927ph_10{width:100%;height:100%;position:relative}._projectContent_927ph_16{vertical-align:middle;text-align:center;color:var(--am-gantt-project-color);z-index:1;font-size:14px;font-weight:600;position:relative}._task_18g5p_1{box-sizing:border-box;background-color:var(--am-gantt-task-bg);border-radius:var(--am-gantt-task-border-radius);--am-gantt-bar-progress-bg:var(--am-gantt-task-bg-progress);position:absolute}._taskInner_18g5p_9{width:100%;height:100%;position:relative}._taskContent_18g5p_15{vertical-align:middle;text-align:center;font-size:var(--am-gantt-task-font-size);color:var(--am-gantt-task-color);z-index:1;white-space:nowrap;text-overflow:ellipsis;padding-inline:8px;position:relative;overflow:hidden}._resizer_18g5p_28{width:var(--am-gantt-resizer-width);cursor:ew-resize;z-index:10;background-color:#0000;border:none;height:100%;padding:0;position:absolute;top:0}._resizer_18g5p_28:after{opacity:0;content:"";width:var(--am-gantt-resizer-handle-width);inset:var(--am-gantt-resizer-handle-inset);height:calc(100% - (var(--am-gantt-resizer-handle-inset) * 2));border-radius:var(--am-gantt-resizer-handle-radius);background-color:var(--am-gantt-calendar-border);position:absolute}._task_18g5p_1:hover ._resizer_18g5p_28:after{opacity:.8}._task_18g5p_1:hover ._resizer_18g5p_28:hover ._resizer_18g5p_28:after{opacity:1}._startResizer_18g5p_59{left:0}._endResizer_18g5p_62{right:0}._handle_fw6gu_1{cursor:crosshair;z-index:20;opacity:0;pointer-events:auto;box-sizing:border-box;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:10px;height:10px;transition:opacity .15s;position:absolute;box-shadow:0 0 0 1px #3b82f6}._visible_fw6gu_18{opacity:1}._row_xikao_1{border-bottom:1px solid var(--am-gantt-calendar-border,#e2e8f0);box-sizing:border-box;z-index:var(--am-gantt-task-bar-z-index,3);position:absolute;left:0;right:0}._row_xikao_1:last-child{border-bottom:none}._layer_1ih9f_1{z-index:var(--am-gantt-links-z-index,2);pointer-events:none;position:absolute;inset:0}._hitArea_1ih9f_8{pointer-events:auto;cursor:pointer;background:0 0;position:absolute}._segment_1ih9f_15{background:var(--am-gantt-dependency-color,#94a3b8);pointer-events:none;position:absolute}._segmentSelected_1ih9f_21{background:#ef4444}._arrowRight_1ih9f_25,._arrowLeft_1ih9f_26{pointer-events:none;border-top:4px solid #0000;border-bottom:4px solid #0000;width:0;height:0;position:absolute}._arrowRight_1ih9f_25{border-left:8px solid var(--am-gantt-dependency-color,#94a3b8)}._arrowLeft_1ih9f_26{border-right:8px solid var(--am-gantt-dependency-color,#94a3b8)}._arrowSelected_1ih9f_43._arrowRight_1ih9f_25{border-left-color:#ef4444}._arrowSelected_1ih9f_43._arrowLeft_1ih9f_26{border-right-color:#ef4444}._lagLabel_1ih9f_51{background:var(--am-gantt-grid-bg,#fff);border:1px solid var(--am-gantt-calendar-border,#e2e8f0);pointer-events:none;white-space:nowrap;color:var(--am-gantt-dependency-color,#94a3b8);border-radius:3px;padding:1px 4px;font-size:11px;line-height:1.4;position:absolute;transform:translate(-50%,-100%)}._deleteBtn_1ih9f_65{color:#ef4444;cursor:pointer;pointer-events:auto;z-index:10;background:#fff;border:1px solid #ef4444;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;transform:translate(-50%,-50%)}._deleteBtn_1ih9f_65:hover{color:#fff;background:#ef4444}._preview_1jjzd_1{transform-origin:0;pointer-events:none;z-index:20;background:repeating-linear-gradient(90deg,#3b82f6 0 6px,#0000 6px 12px);height:2px;position:absolute}._cols_kjab1_1{pointer-events:none;position:absolute;inset:0}._col_kjab1_1{box-sizing:border-box;border-right:1px solid var(--am-gantt-calendar-border,#e2e8f0);position:absolute;top:0}._colWeekend_kjab1_14{background:var(--am-gantt-calendar-weekend-bg,#f1f5f9)}._gridWrapper_1tr84_1{overscroll-behavior:none;flex:auto;min-width:0;overflow:auto}._grid_1tr84_1{flex-direction:column;font-family:inherit;display:flex;position:relative}._body_1tr84_17{background:var(--am-gantt-grid-bg,#fff);border:1px solid var(--am-gantt-calendar-border,#e2e8f0);border-bottom-left-radius:var(--am-gantt-calendar-radius,6px);border-bottom-right-radius:var(--am-gantt-calendar-radius,6px);box-sizing:border-box;border-top:none;position:relative;overflow:hidden}._handle_1o220_1{cursor:col-resize;background:var(--am-gantt-calendar-border,#e2e8f0);-webkit-user-select:none;user-select:none;flex-shrink:0;align-self:stretch;width:4px;transition:background .15s}._handle_1o220_1:hover{background:var(--am-gantt-dependency-color,#94a3b8)}._taskList_i76t8_1{background:var(--am-gantt-tasklist-bg,#fff);flex-direction:column;flex-shrink:0;width:max-content;font-family:inherit;display:flex}._header_i76t8_10{background:var(--am-gantt-calendar-header-bg,#f8fafc);border:1px solid var(--am-gantt-calendar-border,#e2e8f0);border-radius:var(--am-gantt-calendar-radius,6px) var(--am-gantt-calendar-radius,6px) 0 0;box-sizing:border-box;-webkit-user-select:none;user-select:none;flex-direction:row;align-items:stretch;display:flex;overflow:hidden}._headerCell_i76t8_22{color:var(--am-gantt-calendar-header-color,#475569);border-right:1px solid var(--am-gantt-calendar-border,#e2e8f0);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;align-items:center;padding:0 8px;font-size:12px;font-weight:600;display:flex;position:relative;overflow:hidden}._headerCell_i76t8_22:last-child{border-right:none}._body_i76t8_41{overscroll-behavior:none;border:1px solid var(--am-gantt-calendar-border,#e2e8f0);border-radius:0 0 var(--am-gantt-calendar-radius,6px) var(--am-gantt-calendar-radius,6px);background:var(--am-gantt-tasklist-bg,#fff);box-sizing:border-box;border-top:none;position:relative;overflow:hidden auto}._rows_i76t8_54{position:relative}._row_i76t8_54{border-bottom:1px solid var(--am-gantt-calendar-border,#e2e8f0);box-sizing:border-box;flex-direction:row;align-items:stretch;display:flex}._row_i76t8_54:last-child{border-bottom:none}._row_i76t8_54._selected_i76t8_70{background:var(--am-gantt-row-selected-bg,#e0f2fe)}._cell_i76t8_74{color:var(--am-gantt-tasklist-color,#334155);border-right:1px solid var(--am-gantt-calendar-border,#e2e8f0);white-space:nowrap;text-overflow:ellipsis;box-sizing:border-box;align-items:center;padding:0 8px;font-size:13px;display:flex;overflow:hidden}._cell_i76t8_74:last-child{border-right:none}._treeCell_i76t8_91{overflow:hidden}._nameContent_i76t8_95{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;display:flex;overflow:hidden}._expandBtn_i76t8_104{cursor:pointer;color:var(--am-gantt-tasklist-color,#334155);background:0 0;border:none;flex-shrink:0;width:14px;padding:0;font-size:10px;line-height:1}._expandBtn_i76t8_104:focus-visible{outline:var(--am-gantt-focus-ring-width,2px) solid var(--am-gantt-focus-ring-color,#1d4ed8);outline-offset:var(--am-gantt-focus-ring-offset,-2px);border-radius:2px}._expandPlaceholder_i76t8_122{flex-shrink:0;width:14px;display:inline-block}._divider_i76t8_128{cursor:col-resize;-webkit-user-select:none;user-select:none;width:5px;height:100%;position:absolute;top:0;right:0}._divider_i76t8_128:hover{background:var(--am-gantt-dependency-color,#94a3b8)}
|
|
2
|
+
/*$vite$:1*/
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type stub for the `@art-tools/react-gantt/style.css` export.
|
|
3
|
+
*
|
|
4
|
+
* The package's `exports` map points that subpath's `types` condition here, and
|
|
5
|
+
* `files` ships it — but the file did not exist, which only stayed invisible
|
|
6
|
+
* because both consumers supply an ambient `declare module '*.css'` (Vite via
|
|
7
|
+
* `vite/client`, Next via `next/types/global.d.ts`). It would surface the moment
|
|
8
|
+
* anyone enables `noUncheckedSideEffectImports` or consumes the package outside
|
|
9
|
+
* those two toolchains.
|
|
10
|
+
*
|
|
11
|
+
* The stylesheet is imported for its side effect:
|
|
12
|
+
* import "@art-tools/react-gantt/style.css";
|
|
13
|
+
*/
|
|
14
|
+
declare const styleSheetUrl: string;
|
|
15
|
+
export default styleSheetUrl;
|
package/package.json
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@art-tools/react-gantt",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Composable, virtualized Gantt chart for React — dependencies, working-time calendars, undo/redo, and slot-based theming.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"gantt",
|
|
7
|
+
"gantt-chart",
|
|
8
|
+
"project-management",
|
|
9
|
+
"react",
|
|
10
|
+
"scheduling",
|
|
11
|
+
"timeline",
|
|
12
|
+
"typescript",
|
|
13
|
+
"virtualized"
|
|
14
|
+
],
|
|
15
|
+
"homepage": "https://github.com/artmakatera/react-gantt-edge#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/artmakatera/react-gantt-edge/issues"
|
|
18
|
+
},
|
|
19
|
+
"license": "MIT",
|
|
20
|
+
"author": "Artem Makatera",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "git+https://github.com/artmakatera/react-gantt-edge.git",
|
|
24
|
+
"directory": "packages/react-gantt"
|
|
25
|
+
},
|
|
26
|
+
"files": [
|
|
27
|
+
"dist"
|
|
28
|
+
],
|
|
29
|
+
"type": "module",
|
|
30
|
+
"sideEffects": [
|
|
31
|
+
"**/*.css"
|
|
32
|
+
],
|
|
33
|
+
"main": "./dist/index.cjs",
|
|
34
|
+
"module": "./dist/index.mjs",
|
|
35
|
+
"types": "./dist/index.d.ts",
|
|
36
|
+
"exports": {
|
|
37
|
+
".": {
|
|
38
|
+
"import": {
|
|
39
|
+
"types": "./dist/index.d.ts",
|
|
40
|
+
"default": "./dist/index.mjs"
|
|
41
|
+
},
|
|
42
|
+
"require": {
|
|
43
|
+
"types": "./dist/index.d.cts",
|
|
44
|
+
"default": "./dist/index.cjs"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"./style.css": {
|
|
48
|
+
"types": "./dist/style.css.d.ts",
|
|
49
|
+
"style": "./dist/style.css",
|
|
50
|
+
"default": "./dist/style.css"
|
|
51
|
+
},
|
|
52
|
+
"./package.json": "./package.json"
|
|
53
|
+
},
|
|
54
|
+
"publishConfig": {
|
|
55
|
+
"access": "public",
|
|
56
|
+
"provenance": true
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"prepublishOnly": "pnpm run build",
|
|
60
|
+
"build": "vite build",
|
|
61
|
+
"dev": "vite build --watch",
|
|
62
|
+
"check-types": "tsc --noEmit",
|
|
63
|
+
"lint": "oxlint",
|
|
64
|
+
"lint:fix": "oxlint --fix",
|
|
65
|
+
"test": "vitest run",
|
|
66
|
+
"test:watch": "vitest"
|
|
67
|
+
},
|
|
68
|
+
"dependencies": {
|
|
69
|
+
"clsx": "^2.1.1"
|
|
70
|
+
},
|
|
71
|
+
"devDependencies": {
|
|
72
|
+
"@am/config-typescript": "workspace:*",
|
|
73
|
+
"@am/oxlint-config": "workspace:*",
|
|
74
|
+
"@microsoft/api-extractor": "^7.59.0",
|
|
75
|
+
"@testing-library/dom": "^10.4.1",
|
|
76
|
+
"@testing-library/jest-dom": "^6.9.1",
|
|
77
|
+
"@testing-library/react": "^16.3.2",
|
|
78
|
+
"@types/react": "^19.2.14",
|
|
79
|
+
"@types/react-dom": "^19.2.0",
|
|
80
|
+
"@vitejs/plugin-react": "^6.0.1",
|
|
81
|
+
"jsdom": "^29.1.1",
|
|
82
|
+
"react": "^19.2.5",
|
|
83
|
+
"react-dom": "^19.2.5",
|
|
84
|
+
"typescript": "^6.0.3",
|
|
85
|
+
"vite": "^8.0.10",
|
|
86
|
+
"vite-plugin-dts": "^5.0.0",
|
|
87
|
+
"vitest": "^4.1.5"
|
|
88
|
+
},
|
|
89
|
+
"peerDependencies": {
|
|
90
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
91
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
92
|
+
},
|
|
93
|
+
"engines": {
|
|
94
|
+
"node": ">=22"
|
|
95
|
+
}
|
|
96
|
+
}
|