@mogura/moguchart-react 1.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 ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024-present Murakami Hiroyuki
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.ja.md ADDED
@@ -0,0 +1,171 @@
1
+ # @mogura/moguchart-react
2
+
3
+ [`@mogura/moguchart-core`](https://github.com/hiro-murakami/moguchart-core) の公式 React ラッパーコンポーネントです。
4
+
5
+ Lit 公式の `@lit/react` をベースに設計されており、Web Components の高いパフォーマンスとフレームワーク非依存の柔軟性を保ちつつ、React アプリケーションで型安全かつ直感的にガントチャートを扱うことができます。
6
+
7
+ ---
8
+
9
+ ## 特徴
10
+
11
+ - ⚛️ **ネイティブな React 開発体験**: JSX で直感的にプロパティ・イベントハンドラーを記述可能
12
+ - 🎯 **完全な型補完**: TypeScript による強力な型推論と自動補完
13
+ - 🔄 **ライフサイクル同期**: React の状態変更(State / Props)と Web Components のレンダリングを自動同期
14
+ - ⚡ **命令的メソッドへのアクセス**: `ref` を介して `chart.use()`, `chart.exportImage()`, `chart.selectTask()` などを直接呼び出し可能
15
+ - 📦 **Re-export**: `@mogura/moguchart-core` の型定義や定数をすべて再エクスポートしているため、本パッケージのみのインストールで開発可能
16
+
17
+ ---
18
+
19
+ ## インストール
20
+
21
+ ```bash
22
+ # pnpm
23
+ pnpm add @mogura/moguchart-react @mogura/moguchart-core react react-dom
24
+
25
+ # npm
26
+ npm install @mogura/moguchart-react @mogura/moguchart-core react react-dom
27
+
28
+ # yarn
29
+ yarn add @mogura/moguchart-react @mogura/moguchart-core react react-dom
30
+ ```
31
+
32
+ ---
33
+
34
+ ## 基本的な使い方
35
+
36
+ ```tsx
37
+ import React, { useState } from 'react'
38
+ import {
39
+ GanttChart,
40
+ type GanttRow,
41
+ type GanttChartOption,
42
+ type TaskUpdateEventDetail,
43
+ } from '@mogura/moguchart-react'
44
+
45
+ export function MyGanttView() {
46
+ const [rows, setRows] = useState<GanttRow[]>([
47
+ {
48
+ id: 'row-1',
49
+ name: '機能開発フェーズ',
50
+ tasks: [
51
+ {
52
+ id: 'task-1',
53
+ name: '要件定義',
54
+ start: new Date('2026-04-01'),
55
+ end: new Date('2026-04-10'),
56
+ progress: 100,
57
+ },
58
+ {
59
+ id: 'task-2',
60
+ name: 'UI/UX 設計',
61
+ start: new Date('2026-04-08'),
62
+ end: new Date('2026-04-20'),
63
+ progress: 50,
64
+ },
65
+ ],
66
+ },
67
+ ])
68
+
69
+ const option: GanttChartOption = {
70
+ calendar: {
71
+ start: new Date('2026-04-01'),
72
+ end: new Date('2026-04-30'),
73
+ pxPerDay: 40,
74
+ },
75
+ }
76
+
77
+ const handleTaskUpdate = (e: CustomEvent<TaskUpdateEventDetail>) => {
78
+ console.log('Task updated:', e.detail)
79
+ }
80
+
81
+ return (
82
+ <div style={{ width: '100%', height: '600px' }}>
83
+ <GanttChart
84
+ rows={rows}
85
+ option={option}
86
+ theme="light"
87
+ onTaskUpdate={handleTaskUpdate}
88
+ onTaskClick={(e) => console.log('Task clicked:', e.detail)}
89
+ />
90
+ </div>
91
+ )
92
+ }
93
+ ```
94
+
95
+ ---
96
+
97
+ ## プラグイン(エクスポート機能)との連携
98
+
99
+ PNG や PDF のエクスポートを行う場合は、`@mogura/moguchart-plugin-export` を組み合わせます。
100
+
101
+ ```tsx
102
+ import React, { useRef } from 'react'
103
+ import { GanttChart, type GanttChartElement, type GanttChartOption } from '@mogura/moguchart-react'
104
+ import { exportPlugin } from '@mogura/moguchart-plugin-export'
105
+
106
+ export function ExportableGantt() {
107
+ const chartRef = useRef<GanttChartElement>(null)
108
+
109
+ const option: GanttChartOption = {
110
+ calendar: {
111
+ start: new Date('2026-04-01'),
112
+ end: new Date('2026-04-30'),
113
+ },
114
+ plugins: [exportPlugin()],
115
+ }
116
+
117
+ const handleExportPng = async () => {
118
+ if (chartRef.current) {
119
+ await chartRef.current.exportImage('png', {
120
+ filename: 'my-schedule',
121
+ download: true,
122
+ })
123
+ }
124
+ }
125
+
126
+ return (
127
+ <div>
128
+ <button onClick={handleExportPng}>PNGダウンロード</button>
129
+ <GanttChart ref={chartRef} rows={[]} option={option} />
130
+ </div>
131
+ )
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## サポートされているイベント
138
+
139
+ | Prop 名 | 説明 |
140
+ |---|---|
141
+ | `onTaskUpdate` | タスクのドラッグ移動やリサイズ完了時 |
142
+ | `onTaskClick` | タスククリック時 |
143
+ | `onTaskDblClick` | タスクダブルクリック時 |
144
+ | `onTaskContextMenu` | タスク右クリック(コンテキストメニュー)時 |
145
+ | `onTaskDelete` | タスク削除時 |
146
+ | `onTaskDrop` | タスクを行間等にドロップした時 |
147
+ | `onTaskProgressChange` | 進捗率変更時 |
148
+ | `onBarHover` | タスクバーホバー時 |
149
+ | `onBarSelectionChange` | タスク選択状態の変更時 |
150
+ | `onRowHeaderClick` | 行ヘッダークリック時 |
151
+ | `onRowHeaderDblClick` | 行ヘッダーダブルクリック時 |
152
+ | `onRowHeaderContextMenu` | 行ヘッダー右クリック時 |
153
+ | `onRowHeaderResize` | 行ヘッダーリサイズ時 |
154
+ | `onRowReordered` | 行の並び順変更時 |
155
+ | `onRowSelectionChange` | 行選択状態の変更時 |
156
+ | `onRowToggleCollapse` | 行の開閉時(WBS) |
157
+ | `onDependencyCreate` | 依存関係(リンク)作成時 |
158
+ | `onDependencyClick` | 依存関係クリック時 |
159
+ | `onMarkerDblClick` | マーカーダブルクリック時 |
160
+ | `onMarkerContextMenu` | マーカー右クリック時 |
161
+ | `onZoomChange` | ズーム倍率変更時 |
162
+ | `onMinimapMove` | ミニマップスクロール時 |
163
+ | `onMinimapResize` | ミニマップリサイズ時 |
164
+ | `onMinimapCollapse` | ミニマップ折りたたみ時 |
165
+ | `onChartContextMenu` | チャート背景右クリック時 |
166
+
167
+ ---
168
+
169
+ ## ライセンス
170
+
171
+ [MIT](../../LICENSE) © Murakami Hiroyuki
package/README.md ADDED
@@ -0,0 +1,171 @@
1
+ # @mogura/moguchart-react
2
+
3
+ Official React wrapper component for [`@mogura/moguchart-core`](https://github.com/hiro-murakami/moguchart-core).
4
+
5
+ Built on top of Lit's official `@lit/react`, it combines the high performance and framework independence of Web Components with a type-safe, idiomatic React developer experience.
6
+
7
+ ---
8
+
9
+ ## Features
10
+
11
+ - ⚛️ **Native React Experience**: Declarative JSX props and event handlers
12
+ - 🎯 **Full Type Safety**: Complete TypeScript auto-completion for props and events
13
+ - 🔄 **Lifecycle Synchronization**: Automatic synchronization between React state/props and Web Component rendering
14
+ - ⚡ **Imperative API Access**: Directly access methods like `chart.use()`, `chart.exportImage()`, `chart.selectTask()` via `ref`
15
+ - 📦 **Re-exported Types**: Core types, constants, and utilities are all re-exported from this package
16
+
17
+ ---
18
+
19
+ ## Installation
20
+
21
+ ```bash
22
+ # pnpm
23
+ pnpm add @mogura/moguchart-react @mogura/moguchart-core react react-dom
24
+
25
+ # npm
26
+ npm install @mogura/moguchart-react @mogura/moguchart-core react react-dom
27
+
28
+ # yarn
29
+ yarn add @mogura/moguchart-react @mogura/moguchart-core react react-dom
30
+ ```
31
+
32
+ ---
33
+
34
+ ## Quick Start
35
+
36
+ ```tsx
37
+ import React, { useState } from 'react'
38
+ import {
39
+ GanttChart,
40
+ type GanttRow,
41
+ type GanttChartOption,
42
+ type TaskUpdateEventDetail,
43
+ } from '@mogura/moguchart-react'
44
+
45
+ export function MyGanttView() {
46
+ const [rows, setRows] = useState<GanttRow[]>([
47
+ {
48
+ id: 'row-1',
49
+ name: 'Development Phase',
50
+ tasks: [
51
+ {
52
+ id: 'task-1',
53
+ name: 'Requirements Analysis',
54
+ start: new Date('2026-04-01'),
55
+ end: new Date('2026-04-10'),
56
+ progress: 100,
57
+ },
58
+ {
59
+ id: 'task-2',
60
+ name: 'UI/UX Design',
61
+ start: new Date('2026-04-08'),
62
+ end: new Date('2026-04-20'),
63
+ progress: 50,
64
+ },
65
+ ],
66
+ },
67
+ ])
68
+
69
+ const option: GanttChartOption = {
70
+ calendar: {
71
+ start: new Date('2026-04-01'),
72
+ end: new Date('2026-04-30'),
73
+ pxPerDay: 40,
74
+ },
75
+ }
76
+
77
+ const handleTaskUpdate = (e: CustomEvent<TaskUpdateEventDetail>) => {
78
+ console.log('Task updated:', e.detail)
79
+ }
80
+
81
+ return (
82
+ <div style={{ width: '100%', height: '600px' }}>
83
+ <GanttChart
84
+ rows={rows}
85
+ option={option}
86
+ theme="light"
87
+ onTaskUpdate={handleTaskUpdate}
88
+ onTaskClick={(e) => console.log('Task clicked:', e.detail)}
89
+ />
90
+ </div>
91
+ )
92
+ }
93
+ ```
94
+
95
+ ---
96
+
97
+ ## Using with Plugins (e.g. Export)
98
+
99
+ To export charts as PNG or PDF, pair with `@mogura/moguchart-plugin-export`:
100
+
101
+ ```tsx
102
+ import React, { useRef } from 'react'
103
+ import { GanttChart, type GanttChartElement, type GanttChartOption } from '@mogura/moguchart-react'
104
+ import { exportPlugin } from '@mogura/moguchart-plugin-export'
105
+
106
+ export function ExportableGantt() {
107
+ const chartRef = useRef<GanttChartElement>(null)
108
+
109
+ const option: GanttChartOption = {
110
+ calendar: {
111
+ start: new Date('2026-04-01'),
112
+ end: new Date('2026-04-30'),
113
+ },
114
+ plugins: [exportPlugin()],
115
+ }
116
+
117
+ const handleExportPng = async () => {
118
+ if (chartRef.current) {
119
+ await chartRef.current.exportImage('png', {
120
+ filename: 'my-schedule',
121
+ download: true,
122
+ })
123
+ }
124
+ }
125
+
126
+ return (
127
+ <div>
128
+ <button onClick={handleExportPng}>Download PNG</button>
129
+ <GanttChart ref={chartRef} rows={[]} option={option} />
130
+ </div>
131
+ )
132
+ }
133
+ ```
134
+
135
+ ---
136
+
137
+ ## Supported Events
138
+
139
+ | Prop | Description |
140
+ |---|---|
141
+ | `onTaskUpdate` | Fired when a task is moved or resized |
142
+ | `onTaskClick` | Fired when a task is clicked |
143
+ | `onTaskDblClick` | Fired when a task is double-clicked |
144
+ | `onTaskContextMenu` | Fired on task right-click |
145
+ | `onTaskDelete` | Fired when a task is deleted |
146
+ | `onTaskDrop` | Fired when a task is dropped |
147
+ | `onTaskProgressChange` | Fired when task progress percentage changes |
148
+ | `onBarHover` | Fired when a task bar is hovered |
149
+ | `onBarSelectionChange` | Fired when task bar selection changes |
150
+ | `onRowHeaderClick` | Fired when a row header is clicked |
151
+ | `onRowHeaderDblClick` | Fired when a row header is double-clicked |
152
+ | `onRowHeaderContextMenu` | Fired on row header right-click |
153
+ | `onRowHeaderResize` | Fired when a row header is resized |
154
+ | `onRowReordered` | Fired when rows are reordered |
155
+ | `onRowSelectionChange` | Fired when row selection changes |
156
+ | `onRowToggleCollapse` | Fired when a row is expanded or collapsed (WBS) |
157
+ | `onDependencyCreate` | Fired when a dependency link is created |
158
+ | `onDependencyClick` | Fired when a dependency link is clicked |
159
+ | `onMarkerDblClick` | Fired when a marker is double-clicked |
160
+ | `onMarkerContextMenu` | Fired on marker right-click |
161
+ | `onZoomChange` | Fired when zoom scale changes |
162
+ | `onMinimapMove` | Fired when minimap viewport scrolls |
163
+ | `onMinimapResize` | Fired when minimap is resized |
164
+ | `onMinimapCollapse` | Fired when minimap is collapsed or expanded |
165
+ | `onChartContextMenu` | Fired on chart background right-click |
166
+
167
+ ---
168
+
169
+ ## License
170
+
171
+ [MIT](../../LICENSE) © Murakami Hiroyuki
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { type EventName } from '@lit/react';
3
+ import { GanttChartElement, type ChartContextMenuEventDetail, type MinimapMoveEventDetail, type MinimapResizeEventDetail, type MinimapCollapseEventDetail, type TaskUpdateEventDetail, type BarHoverEventDetail, type TaskClickEventDetail, type TaskContextMenuEventDetail, type TaskDropEventDetail, type RowReorderEventDetail, type RowHeaderResizeEventDetail, type RowSelectionChangeEventDetail, type BarSelectionChangeEventDetail, type RowHeaderClickEventDetail, type RowHeaderDblClickEventDetail, type RowHeaderContextMenuEventDetail, type RowToggleCollapseEventDetail, type DependencyCreateEventDetail, type DependencyClickEventDetail, type MarkerDblClickEventDetail, type MarkerContextMenuEventDetail, type TaskDeleteEventDetail, type ZoomChangeEventDetail, type TaskProgressChangeEventDetail } from '@mogura/moguchart-core';
4
+ /**
5
+ * @mogura/moguchart-core の GanttChartElement をラップした React コンポーネント。
6
+ * Web Components のライフサイクルと完全同期し、React のプロパティやイベントハンドラー、ref をサポートします。
7
+ */
8
+ export declare const GanttChart: import("@lit/react").ReactWebComponent<GanttChartElement, {
9
+ onChartContextMenu: EventName<CustomEvent<ChartContextMenuEventDetail>>;
10
+ onMinimapMove: EventName<CustomEvent<MinimapMoveEventDetail>>;
11
+ onMinimapResize: EventName<CustomEvent<MinimapResizeEventDetail>>;
12
+ onMinimapCollapse: EventName<CustomEvent<MinimapCollapseEventDetail>>;
13
+ onTaskUpdate: EventName<CustomEvent<TaskUpdateEventDetail>>;
14
+ onBarHover: EventName<CustomEvent<BarHoverEventDetail>>;
15
+ onTaskClick: EventName<CustomEvent<TaskClickEventDetail>>;
16
+ onTaskDblClick: EventName<CustomEvent<TaskClickEventDetail>>;
17
+ onTaskContextMenu: EventName<CustomEvent<TaskContextMenuEventDetail>>;
18
+ onTaskDrop: EventName<CustomEvent<TaskDropEventDetail>>;
19
+ onRowReordered: EventName<CustomEvent<RowReorderEventDetail>>;
20
+ onRowHeaderResize: EventName<CustomEvent<RowHeaderResizeEventDetail>>;
21
+ onRowSelectionChange: EventName<CustomEvent<RowSelectionChangeEventDetail>>;
22
+ onBarSelectionChange: EventName<CustomEvent<BarSelectionChangeEventDetail>>;
23
+ onRowHeaderClick: EventName<CustomEvent<RowHeaderClickEventDetail>>;
24
+ onRowHeaderDblClick: EventName<CustomEvent<RowHeaderDblClickEventDetail>>;
25
+ onRowHeaderContextMenu: EventName<CustomEvent<RowHeaderContextMenuEventDetail>>;
26
+ onRowToggleCollapse: EventName<CustomEvent<RowToggleCollapseEventDetail>>;
27
+ onDependencyCreate: EventName<CustomEvent<DependencyCreateEventDetail>>;
28
+ onDependencyClick: EventName<CustomEvent<DependencyClickEventDetail>>;
29
+ onMarkerDblClick: EventName<CustomEvent<MarkerDblClickEventDetail>>;
30
+ onMarkerContextMenu: EventName<CustomEvent<MarkerContextMenuEventDetail>>;
31
+ onTaskDelete: EventName<CustomEvent<TaskDeleteEventDetail>>;
32
+ onZoomChange: EventName<CustomEvent<ZoomChangeEventDetail>>;
33
+ onTaskProgressChange: EventName<CustomEvent<TaskProgressChangeEventDetail>>;
34
+ }>;
35
+ /** GanttChart コンポーネントの Props 型定義 */
36
+ export type GanttChartProps = React.ComponentProps<typeof GanttChart>;
37
+ export * from '@mogura/moguchart-core';
@@ -0,0 +1,39 @@
1
+ import e from "react";
2
+ import { createComponent as t } from "@lit/react";
3
+ import { GanttChartElement as n } from "@mogura/moguchart-core";
4
+ export * from "@mogura/moguchart-core";
5
+ //#region src/index.ts
6
+ var r = t({
7
+ tagName: "gantt-chart",
8
+ elementClass: n,
9
+ react: e,
10
+ events: {
11
+ onChartContextMenu: "chart-contextmenu",
12
+ onMinimapMove: "minimap-move",
13
+ onMinimapResize: "minimap-resize",
14
+ onMinimapCollapse: "minimap-collapse",
15
+ onTaskUpdate: "task-update",
16
+ onBarHover: "bar-hover",
17
+ onTaskClick: "task-click",
18
+ onTaskDblClick: "task-dblclick",
19
+ onTaskContextMenu: "task-contextmenu",
20
+ onTaskDrop: "task-drop",
21
+ onRowReordered: "row-reordered",
22
+ onRowHeaderResize: "row-header-resize",
23
+ onRowSelectionChange: "row-selection-change",
24
+ onBarSelectionChange: "bar-selection-change",
25
+ onRowHeaderClick: "row-header-click",
26
+ onRowHeaderDblClick: "row-header-dblclick",
27
+ onRowHeaderContextMenu: "row-header-contextmenu",
28
+ onRowToggleCollapse: "row-toggle-collapse",
29
+ onDependencyCreate: "dependency-create",
30
+ onDependencyClick: "dependency-click",
31
+ onMarkerDblClick: "marker-dblclick",
32
+ onMarkerContextMenu: "marker-contextmenu",
33
+ onTaskDelete: "task-delete",
34
+ onZoomChange: "zoom-change",
35
+ onTaskProgressChange: "task-progress-change"
36
+ }
37
+ });
38
+ //#endregion
39
+ export { r as GanttChart };
@@ -0,0 +1 @@
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("react"),require("@lit/react"),require("@mogura/moguchart-core")):typeof define==`function`&&define.amd?define([`exports`,`react`,`@lit/react`,`@mogura/moguchart-core`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.MoguchartReact={},e.React,e.LitReact,e.MoguchartCore))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e};t=((e,t,n)=>(n=e==null?{}:i(c(e)),u(t||!e||!e.__esModule||!l.call(e,`default`)?a(n,`default`,{value:e,enumerable:!0}):n,e)))(t,1),e.GanttChart=(0,n.createComponent)({tagName:`gantt-chart`,elementClass:r.GanttChartElement,react:t.default,events:{onChartContextMenu:`chart-contextmenu`,onMinimapMove:`minimap-move`,onMinimapResize:`minimap-resize`,onMinimapCollapse:`minimap-collapse`,onTaskUpdate:`task-update`,onBarHover:`bar-hover`,onTaskClick:`task-click`,onTaskDblClick:`task-dblclick`,onTaskContextMenu:`task-contextmenu`,onTaskDrop:`task-drop`,onRowReordered:`row-reordered`,onRowHeaderResize:`row-header-resize`,onRowSelectionChange:`row-selection-change`,onBarSelectionChange:`bar-selection-change`,onRowHeaderClick:`row-header-click`,onRowHeaderDblClick:`row-header-dblclick`,onRowHeaderContextMenu:`row-header-contextmenu`,onRowToggleCollapse:`row-toggle-collapse`,onDependencyCreate:`dependency-create`,onDependencyClick:`dependency-click`,onMarkerDblClick:`marker-dblclick`,onMarkerContextMenu:`marker-contextmenu`,onTaskDelete:`task-delete`,onZoomChange:`zoom-change`,onTaskProgressChange:`task-progress-change`}}),Object.keys(r).forEach(function(t){t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})})});
package/package.json ADDED
@@ -0,0 +1,66 @@
1
+ {
2
+ "name": "@mogura/moguchart-react",
3
+ "type": "module",
4
+ "version": "1.1.0",
5
+ "description": "React wrapper for @mogura/moguchart-core Gantt chart component",
6
+ "license": "MIT",
7
+ "author": "Murakami Hiroyuki",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/hiro-murakami/moguchart-core.git",
11
+ "directory": "packages/react"
12
+ },
13
+ "homepage": "https://github.com/hiro-murakami/moguchart-core",
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "keywords": [
18
+ "gantt",
19
+ "gantt-chart",
20
+ "moguchart",
21
+ "react",
22
+ "react-gantt",
23
+ "web-components"
24
+ ],
25
+ "files": [
26
+ "dist",
27
+ "README.md",
28
+ "README.ja.md"
29
+ ],
30
+ "main": "./dist/moguchart-react.umd.js",
31
+ "module": "./dist/moguchart-react.mjs",
32
+ "types": "./dist/index.d.ts",
33
+ "exports": {
34
+ ".": {
35
+ "types": "./dist/index.d.ts",
36
+ "import": "./dist/moguchart-react.mjs",
37
+ "require": "./dist/moguchart-react.umd.js"
38
+ }
39
+ },
40
+ "peerDependencies": {
41
+ "react": "^18.0.0 || ^19.0.0",
42
+ "react-dom": "^18.0.0 || ^19.0.0",
43
+ "@mogura/moguchart-core": "1.1.0"
44
+ },
45
+ "dependencies": {
46
+ "@lit/react": "^1.0.8"
47
+ },
48
+ "devDependencies": {
49
+ "@testing-library/react": "^16.2.0",
50
+ "@types/node": "^24.12.0",
51
+ "@types/react": "^19.0.0",
52
+ "@types/react-dom": "^19.0.0",
53
+ "jsdom": "^27.4.0",
54
+ "react": "^19.0.0",
55
+ "react-dom": "^19.0.0",
56
+ "typescript": "^5.9.3",
57
+ "vite": "^8.0.0",
58
+ "vitest": "^3.0.0",
59
+ "@mogura/moguchart-core": "1.1.0"
60
+ },
61
+ "scripts": {
62
+ "build": "vite build && pnpm exec tsc -p tsconfig.build.json",
63
+ "test": "vitest",
64
+ "test:run": "vitest run"
65
+ }
66
+ }