@aiquants/drag-drop-panels 0.2.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/README.md +186 -0
- package/dist/DragDropLayout.d.ts +31 -0
- package/dist/DragDropLayout.d.ts.map +1 -0
- package/dist/drag-drop/ColumnControlPanel.d.ts +36 -0
- package/dist/drag-drop/ColumnControlPanel.d.ts.map +1 -0
- package/dist/drag-drop/ColumnInsertPanel.d.ts +34 -0
- package/dist/drag-drop/ColumnInsertPanel.d.ts.map +1 -0
- package/dist/drag-drop/DebugComponents.d.ts +93 -0
- package/dist/drag-drop/DebugComponents.d.ts.map +1 -0
- package/dist/drag-drop/DebugControlPanel.d.ts +31 -0
- package/dist/drag-drop/DebugControlPanel.d.ts.map +1 -0
- package/dist/drag-drop/DebugOverlay.d.ts +71 -0
- package/dist/drag-drop/DebugOverlay.d.ts.map +1 -0
- package/dist/drag-drop/ResizeHandle.d.ts +30 -0
- package/dist/drag-drop/ResizeHandle.d.ts.map +1 -0
- package/dist/drag-drop/ResponsiveControl.d.ts +9 -0
- package/dist/drag-drop/ResponsiveControl.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useColumnLayout.d.ts +47 -0
- package/dist/drag-drop/hooks/useColumnLayout.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useCustomDragHandlers.d.ts +42 -0
- package/dist/drag-drop/hooks/useCustomDragHandlers.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useDragDropColumns.d.ts +20 -0
- package/dist/drag-drop/hooks/useDragDropColumns.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useDragDropState.d.ts +28 -0
- package/dist/drag-drop/hooks/useDragDropState.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useMouseTracking.d.ts +23 -0
- package/dist/drag-drop/hooks/useMouseTracking.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useNormalDragHandlers.d.ts +46 -0
- package/dist/drag-drop/hooks/useNormalDragHandlers.d.ts.map +1 -0
- package/dist/drag-drop/hooks/usePanelManagement.d.ts +24 -0
- package/dist/drag-drop/hooks/usePanelManagement.d.ts.map +1 -0
- package/dist/drag-drop/hooks/useResponsiveColumns.d.ts +41 -0
- package/dist/drag-drop/hooks/useResponsiveColumns.d.ts.map +1 -0
- package/dist/drag-drop/types.d.ts +184 -0
- package/dist/drag-drop/types.d.ts.map +1 -0
- package/dist/drag-drop/utils/columnIdUtils.d.ts +19 -0
- package/dist/drag-drop/utils/columnIdUtils.d.ts.map +1 -0
- package/dist/drag-drop/utils/edgeScrollUtils.d.ts +33 -0
- package/dist/drag-drop/utils/edgeScrollUtils.d.ts.map +1 -0
- package/dist/drag-drop-panels.css +1 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +2267 -0
- package/dist/index.umd.js +22 -0
- package/package.json +69 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { DragEvent, MouseEvent } from 'react';
|
|
2
|
+
import { ClickState, CustomDragState, DebugConfig, DragOverPosition, DragState, OriginalPanelPosition } from '../types';
|
|
3
|
+
|
|
4
|
+
interface UseCustomDragHandlersProps {
|
|
5
|
+
debugConfig: DebugConfig;
|
|
6
|
+
dragState: DragState;
|
|
7
|
+
customDrag: CustomDragState;
|
|
8
|
+
clickState: ClickState;
|
|
9
|
+
dragModes: Record<string, "normal" | "custom">;
|
|
10
|
+
isMouseDown: boolean;
|
|
11
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
12
|
+
dragOverPosition: DragOverPosition | null;
|
|
13
|
+
setCustomDrag: (state: CustomDragState) => void;
|
|
14
|
+
setDragState: (state: DragState | ((prev: DragState) => DragState)) => void;
|
|
15
|
+
setDragOverPosition: (position: DragOverPosition | null) => void;
|
|
16
|
+
setOriginalPanelPosition: (position: OriginalPanelPosition | null) => void;
|
|
17
|
+
setClickState: (state: ClickState) => void;
|
|
18
|
+
setIsMouseDown: (isDown: boolean) => void;
|
|
19
|
+
findPanelPosition: (panelId: string) => OriginalPanelPosition | null;
|
|
20
|
+
performPanelMove: (panelId: string, targetColumn: string, insertIndex: number) => void;
|
|
21
|
+
showMousePosition: (x: number, y: number) => void;
|
|
22
|
+
updateMousePosition: (x: number, y: number) => void;
|
|
23
|
+
recordMouseDown: (x: number, y: number) => void;
|
|
24
|
+
recordClickPosition: (x: number, y: number) => void;
|
|
25
|
+
isVirtualClick: (x: number, y: number, maxTime?: number, maxDistance?: number) => boolean;
|
|
26
|
+
calculateMoveDistance: (x: number, y: number) => number;
|
|
27
|
+
clearMouseTracking: () => void;
|
|
28
|
+
resetDragState: () => void;
|
|
29
|
+
resetClickState: () => void;
|
|
30
|
+
createDragImage: (panelId: string, offsetX: number, offsetY: number) => void;
|
|
31
|
+
updateDragImagePosition: (x: number, y: number) => void;
|
|
32
|
+
removeDragImage: () => void;
|
|
33
|
+
handlePlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void;
|
|
34
|
+
handlePlaceholderDragLeave: (e?: DragEvent<Element>, columnIndex?: number, insertIndex?: number) => void;
|
|
35
|
+
}
|
|
36
|
+
export declare const useCustomDragHandlers: ({ debugConfig, dragState, customDrag, clickState, dragModes, isMouseDown, dragOverPosition, setCustomDrag, setDragState, setDragOverPosition, setOriginalPanelPosition, setClickState, setIsMouseDown, findPanelPosition, performPanelMove, showMousePosition, updateMousePosition, recordMouseDown, recordClickPosition, isVirtualClick, calculateMoveDistance, clearMouseTracking, resetDragState, resetClickState, createDragImage, updateDragImagePosition, removeDragImage, handlePlaceholderDragEnter, handlePlaceholderDragLeave, }: UseCustomDragHandlersProps) => {
|
|
37
|
+
handleGlobalMouseMove: (e: globalThis.MouseEvent) => void;
|
|
38
|
+
handleGlobalMouseUp: (e: globalThis.MouseEvent) => void;
|
|
39
|
+
handleMouseDown: (e: MouseEvent, panelId: string) => void;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=useCustomDragHandlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCustomDragHandlers.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useCustomDragHandlers.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { DebugConfig, UseDragDropColumnsReturn } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface UseDragDropColumnsProps {
|
|
4
|
+
initialColumnPanels: Record<string, string[]>;
|
|
5
|
+
initialPanelVisibility: Record<string, boolean>;
|
|
6
|
+
initialDragModes?: Record<string, "normal" | "custom">;
|
|
7
|
+
debugConfig: DebugConfig;
|
|
8
|
+
enableAnimation?: boolean;
|
|
9
|
+
enableTouch?: boolean;
|
|
10
|
+
onPanelMove?: (panelId: string, fromColumn: string, toColumn: string, insertIndex: number) => void;
|
|
11
|
+
onPanelVisibilityChange?: (panelId: string, isVisible: boolean) => void;
|
|
12
|
+
onDragModeChange?: (panelId: string, mode: "normal" | "custom") => void;
|
|
13
|
+
onColumnPanelsChange?: (newColumnPanels: Record<string, string[]>) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Main drag and drop columns hook - integrates all sub-hooks.
|
|
17
|
+
* メインドラッグ&ドロップカラムフック - 全てのサブフックを統合。
|
|
18
|
+
*/
|
|
19
|
+
export declare const useDragDropColumns: ({ initialColumnPanels, initialPanelVisibility, initialDragModes, debugConfig, onPanelMove, onDragModeChange, onColumnPanelsChange }: UseDragDropColumnsProps) => UseDragDropColumnsReturn;
|
|
20
|
+
//# sourceMappingURL=useDragDropColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDragDropColumns.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useDragDropColumns.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,WAAW,EAAkB,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAGrF,MAAM,WAAW,uBAAuB;IAEpC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IAC7C,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/C,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;IAGtD,WAAW,EAAE,WAAW,CAAA;IAGxB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,CAAC,EAAE,OAAO,CAAA;IAGrB,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAClG,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAA;IACvE,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAA;IACvE,oBAAoB,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,IAAI,CAAA;CAC7E;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,qIAA0I,uBAAuB,KAAG,wBAsZtM,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ClickState, CustomDragState, DragOverPosition, DragState, OriginalPanelPosition, TouchDragState } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A custom hook for managing all states related to drag-and-drop operations.
|
|
5
|
+
* It encapsulates the state logic, providing a clean interface for components to use.
|
|
6
|
+
*
|
|
7
|
+
* ドラッグ&ドロップ操作に関連するすべての状態を管理するためのカスタムフック。
|
|
8
|
+
* 状態ロジックをカプセル化し、コンポーネントが使用するためのクリーンなインターフェースを提供します。
|
|
9
|
+
*/
|
|
10
|
+
export declare const useDragDropState: () => {
|
|
11
|
+
dragState: DragState;
|
|
12
|
+
dragOverPosition: DragOverPosition | null;
|
|
13
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
14
|
+
customDrag: CustomDragState;
|
|
15
|
+
clickState: ClickState;
|
|
16
|
+
touchDragState: TouchDragState;
|
|
17
|
+
isMouseDown: boolean;
|
|
18
|
+
setDragState: (state: DragState | ((prev: DragState) => DragState)) => void;
|
|
19
|
+
setDragOverPosition: (position: DragOverPosition | null) => void;
|
|
20
|
+
setOriginalPanelPosition: (position: OriginalPanelPosition | null) => void;
|
|
21
|
+
setCustomDrag: (state: CustomDragState | ((prev: CustomDragState) => CustomDragState)) => void;
|
|
22
|
+
setClickState: (state: ClickState | ((prev: ClickState) => ClickState)) => void;
|
|
23
|
+
setTouchDragState: (state: TouchDragState | ((prev: TouchDragState) => TouchDragState)) => void;
|
|
24
|
+
setIsMouseDown: (isDown: boolean) => void;
|
|
25
|
+
resetDragState: () => void;
|
|
26
|
+
resetClickState: () => void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useDragDropState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDragDropState.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useDragDropState.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAE/H;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;0BAiIsB,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;oCAIlC,gBAAgB,GAAG,IAAI;yCAIlB,qBAAqB,GAAG,IAAI;2BAI1C,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,CAAC;2BAI9D,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,CAAC;+BAI3C,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,cAAc,CAAC;6BAI7D,OAAO;;;CA2B5D,CAAA"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { MousePosition } from '../types';
|
|
2
|
+
|
|
3
|
+
export declare const useMouseTracking: () => {
|
|
4
|
+
mousePosition: MousePosition;
|
|
5
|
+
lastClickPosition: {
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
} | null;
|
|
9
|
+
mouseDownTime: number;
|
|
10
|
+
mouseDownPosition: {
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
} | null;
|
|
14
|
+
showMousePosition: (x: number, y: number) => void;
|
|
15
|
+
hideMousePosition: () => void;
|
|
16
|
+
updateMousePosition: (x: number, y: number) => void;
|
|
17
|
+
recordMouseDown: (x: number, y: number) => void;
|
|
18
|
+
recordClickPosition: (x: number, y: number) => void;
|
|
19
|
+
isVirtualClick: (x: number, y: number, maxTime?: number, maxDistance?: number) => boolean;
|
|
20
|
+
calculateMoveDistance: (x: number, y: number) => number;
|
|
21
|
+
clearMouseTracking: () => void;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useMouseTracking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMouseTracking.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useMouseTracking.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C,eAAO,MAAM,gBAAgB;;;WAOgB,MAAM;WAAK,MAAM;;;;WAEjB,MAAM;WAAK,MAAM;;2BAEhB,MAAM,KAAK,MAAM;;6BAQf,MAAM,KAAK,MAAM;yBAcrB,MAAM,KAAK,MAAM;6BAKb,MAAM,KAAK,MAAM;wBAItB,MAAM,KAAK,MAAM,6CAAmC,OAAO;+BAiBpD,MAAM,KAAK,MAAM,KAAG,MAAM;;CA8B3E,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { CustomDragState, DebugConfig, DragOverPosition, DragState, OriginalPanelPosition } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `useNormalDragHandlers` フックが受け取るプロパティの型定義。
|
|
5
|
+
* Defines the props structure for the `useNormalDragHandlers` hook.
|
|
6
|
+
*/
|
|
7
|
+
interface UseNormalDragHandlersProps {
|
|
8
|
+
debugConfig: DebugConfig;
|
|
9
|
+
dragState: DragState;
|
|
10
|
+
customDrag: CustomDragState;
|
|
11
|
+
dragModes: Record<string, "normal" | "custom">;
|
|
12
|
+
columnPanels: Record<string, string[]>;
|
|
13
|
+
dragOverPosition: DragOverPosition | null;
|
|
14
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
15
|
+
setDragState: (state: DragState | ((prev: DragState) => DragState)) => void;
|
|
16
|
+
setDragOverPosition: (position: DragOverPosition | null) => void;
|
|
17
|
+
setOriginalPanelPosition: (position: OriginalPanelPosition | null) => void;
|
|
18
|
+
performPanelMove: (panelId: string, targetColumn: string, insertIndex: number) => void;
|
|
19
|
+
showMousePosition: (x: number, y: number) => void;
|
|
20
|
+
updateMousePosition: (x: number, y: number) => void;
|
|
21
|
+
resetDragState: () => void;
|
|
22
|
+
handlePlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void;
|
|
23
|
+
handlePlaceholderDragLeave: (e?: React.DragEvent<Element>, columnIndex?: number, insertIndex?: number) => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 標準HTML5 D&Dイベントハンドラを提供するカスタムフック。
|
|
27
|
+
*
|
|
28
|
+
* `useCallback` でメモ化されたイベントハンドラ群を返す。
|
|
29
|
+
* パフォーマンス向上のため、頻繁に更新される値は `useRef` を介して参照し、
|
|
30
|
+
* コールバック関数の再生成を最小限に抑える。
|
|
31
|
+
*
|
|
32
|
+
* A custom hook that provides memoized event handlers for standard HTML5 drag-and-drop。
|
|
33
|
+
*
|
|
34
|
+
* It returns a set of event handlers memoized with `useCallback`。
|
|
35
|
+
* For performance optimization, frequently updated values are accessed via `useRef`
|
|
36
|
+
* to minimize the re-creation of callback functions。
|
|
37
|
+
*/
|
|
38
|
+
export declare const useNormalDragHandlers: ({ debugConfig, dragState, customDrag, dragModes, columnPanels, dragOverPosition, originalPanelPosition, setDragState, setDragOverPosition, setOriginalPanelPosition, performPanelMove, showMousePosition, updateMousePosition, resetDragState, handlePlaceholderDragEnter, handlePlaceholderDragLeave, }: UseNormalDragHandlersProps) => {
|
|
39
|
+
handleDragStart: (e: React.DragEvent, panelId: string) => void;
|
|
40
|
+
handleDragEnd: () => void;
|
|
41
|
+
handleDragOverWithInsert: (e: React.DragEvent, columnIndex: number) => void;
|
|
42
|
+
handleDropWithInsert: (e: React.DragEvent, targetColumn: string) => void;
|
|
43
|
+
handleColumnDragLeave: (e: React.DragEvent) => void;
|
|
44
|
+
};
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=useNormalDragHandlers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useNormalDragHandlers.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useNormalDragHandlers.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,gBAAgB,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhH;;;GAGG;AACH,UAAU,0BAA0B;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,eAAe,CAAA;IAC3B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,CAAA;IAC9C,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;IACtC,gBAAgB,EAAE,gBAAgB,GAAG,IAAI,CAAA;IACzC,qBAAqB,EAAE,qBAAqB,GAAG,IAAI,CAAA;IAGnD,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,CAAC,CAAC,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC,KAAK,IAAI,CAAA;IAC3E,mBAAmB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAA;IAChE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAA;IAG1E,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IACtF,iBAAiB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACnD,cAAc,EAAE,MAAM,IAAI,CAAA;IAC1B,0BAA0B,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9E,0BAA0B,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CACjH;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,qBAAqB,GAAI,0SAiBnC,0BAA0B;yBAgDjB,KAAK,CAAC,SAAS,WAAW,MAAM;;kCAsFhC,KAAK,CAAC,SAAS,eAAe,MAAM;8BAiEpC,KAAK,CAAC,SAAS,gBAAgB,MAAM;+BAoCrC,KAAK,CAAC,SAAS;CA2D1B,CAAA"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { PanelSizeInfo } from '../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A simplified custom hook for managing panel state such as size, visibility, and refs。
|
|
5
|
+
* It provides basic functionalities without the complexity of ResizeObserver for performance。
|
|
6
|
+
*
|
|
7
|
+
* パネルの状態(サイズ、可視性、refなど)を管理するための簡略化されたカスタムフック。
|
|
8
|
+
* パフォーマンスのためにResizeObserverの複雑さなしに、基本的な機能を提供します。
|
|
9
|
+
* @param {Record<string, boolean>} initialPanelVisibility - An object mapping panel IDs to their initial visibility state.
|
|
10
|
+
*/
|
|
11
|
+
export declare const usePanelManagement: (initialPanelVisibility: Record<string, boolean>) => {
|
|
12
|
+
panelVisibility: Record<string, boolean>;
|
|
13
|
+
panelSizes: Record<string, PanelSizeInfo>;
|
|
14
|
+
setPanelVisibility: import('react').Dispatch<import('react').SetStateAction<Record<string, boolean>>>;
|
|
15
|
+
setPanelSizes: import('react').Dispatch<import('react').SetStateAction<Record<string, PanelSizeInfo>>>;
|
|
16
|
+
setPanelRef: (panelId: string, el: HTMLDivElement | null) => void;
|
|
17
|
+
updatePanelSize: (panelId: string) => void;
|
|
18
|
+
togglePanelVisibility: (panelId: string) => void;
|
|
19
|
+
getPanelElement: (panelId: string) => HTMLElement | null;
|
|
20
|
+
createDragImage: (panelId: string, offsetX: number, offsetY: number) => void;
|
|
21
|
+
updateDragImagePosition: (x: number, y: number) => void;
|
|
22
|
+
removeDragImage: () => void;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=usePanelManagement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePanelManagement.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/usePanelManagement.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAE7C;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,wBAAwB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;2BA+FhE,MAAM,MAAM,cAAc,GAAG,IAAI;+BAhBjC,MAAM;qCA4FgC,MAAM;+BAtIZ,MAAM,KAAG,WAAW,GAAG,IAAI;+BA2E3D,MAAM,WAAW,MAAM,WAAW,MAAM;iCAmCN,MAAM,KAAK,MAAM;;CAmDpE,CAAA"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Props for the `useResponsiveColumns` hook.
|
|
3
|
+
* `useResponsiveColumns` フックのプロパティ。
|
|
4
|
+
*/
|
|
5
|
+
export interface UseResponsiveColumnsProps {
|
|
6
|
+
/** The minimum width for each column in pixels. / 各カラムの最小幅(ピクセル単位)。 */
|
|
7
|
+
minColumnWidth?: number;
|
|
8
|
+
/** The default number of columns to display when not in responsive mode. / レスポンシブモードでない場合に表示するデフォルトのカラム数。 */
|
|
9
|
+
defaultColumns?: number;
|
|
10
|
+
/** The maximum number of columns allowed. / 許容される最大カラム数。 */
|
|
11
|
+
maxColumns?: number;
|
|
12
|
+
/** The minimum number of columns allowed. / 許容される最小カラム数。 */
|
|
13
|
+
minColumns?: number;
|
|
14
|
+
/** The current column widths to consider for responsive calculation. / レスポンシブ計算で考慮する現在のカラム幅。 */
|
|
15
|
+
currentColumnWidths?: Record<string, number>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The return value of the `useResponsiveColumns` hook.
|
|
19
|
+
* `useResponsiveColumns` フックの戻り値。
|
|
20
|
+
*/
|
|
21
|
+
export interface UseResponsiveColumnsReturn {
|
|
22
|
+
/** The calculated number of columns for the current screen width. / 現在の画面幅に対して計算されたカラム数。 */
|
|
23
|
+
responsiveColumnCount: number;
|
|
24
|
+
/** A boolean indicating if responsive mode is currently active. / レスポンシブモードが現在アクティブかどうかを示すブール値。 */
|
|
25
|
+
isResponsiveMode: boolean;
|
|
26
|
+
/** The current width of the screen in pixels. / 現在の画面幅(ピクセル単位)。 */
|
|
27
|
+
screenWidth: number;
|
|
28
|
+
/** A function to toggle responsive mode on and off. / レスポンシブモードのオン/オフを切り替える関数。 */
|
|
29
|
+
toggleResponsiveMode: () => void;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* A custom hook that determines the number of columns for a responsive layout.
|
|
33
|
+
* It listens to screen resize events and calculates the column count based on the available width.
|
|
34
|
+
*
|
|
35
|
+
* レスポンシブレイアウトのカラム数を決定するカスタムフック。
|
|
36
|
+
* 画面のリサイズイベントをリッスンし、利用可能な幅に基づいてカラム数を計算します。
|
|
37
|
+
* @param {UseResponsiveColumnsProps} [props={}] - Configuration properties for the hook.
|
|
38
|
+
* @returns {UseResponsiveColumnsReturn} An object containing the calculated column count and related state.
|
|
39
|
+
*/
|
|
40
|
+
export declare const useResponsiveColumns: ({ minColumnWidth, defaultColumns, maxColumns, minColumns, currentColumnWidths }?: UseResponsiveColumnsProps) => UseResponsiveColumnsReturn;
|
|
41
|
+
//# sourceMappingURL=useResponsiveColumns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useResponsiveColumns.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/hooks/useResponsiveColumns.ts"],"names":[],"mappings":"AAWA;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACtC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,6GAA6G;IAC7G,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,gGAAgG;IAChG,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/C;AAED;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACvC,4FAA4F;IAC5F,qBAAqB,EAAE,MAAM,CAAA;IAC7B,mGAAmG;IACnG,gBAAgB,EAAE,OAAO,CAAA;IACzB,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAA;IACnB,kFAAkF;IAClF,oBAAoB,EAAE,MAAM,IAAI,CAAA;CACnC;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAAI,kFAMlC,yBAA8B,KAAG,0BA6JnC,CAAA"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { ComponentType, DragEvent, MouseEvent, TouchEvent, RefObject } from 'react';
|
|
2
|
+
|
|
3
|
+
export interface ElementWithResizeObserver extends HTMLElement {
|
|
4
|
+
__resizeObserver?: ResizeObserver;
|
|
5
|
+
}
|
|
6
|
+
export type ReactMouseEvent = import('react').MouseEvent<Element>;
|
|
7
|
+
export type ReactDragEvent = import('react').DragEvent<Element>;
|
|
8
|
+
export type ReactTouchEvent = import('react').TouchEvent<Element>;
|
|
9
|
+
export type DOMMouseEvent = globalThis.MouseEvent;
|
|
10
|
+
export type DOMDragEvent = globalThis.DragEvent;
|
|
11
|
+
export type DOMTouchEvent = globalThis.TouchEvent;
|
|
12
|
+
export interface DebugConfig {
|
|
13
|
+
showDebugPanel?: boolean;
|
|
14
|
+
showMousePosition?: boolean;
|
|
15
|
+
showPanelSizes?: boolean;
|
|
16
|
+
showPlaceholderInfo?: boolean;
|
|
17
|
+
showDropZoneOutlines?: boolean;
|
|
18
|
+
logLevel?: 0 | 1 | 2;
|
|
19
|
+
}
|
|
20
|
+
export declare const DEFAULT_DEBUG_CONFIG: Required<DebugConfig>;
|
|
21
|
+
export interface DragOverPosition {
|
|
22
|
+
columnIndex: number;
|
|
23
|
+
insertIndex: number;
|
|
24
|
+
}
|
|
25
|
+
export interface OriginalPanelPosition {
|
|
26
|
+
columnIndex: number;
|
|
27
|
+
panelIndex: number;
|
|
28
|
+
}
|
|
29
|
+
export interface DragState {
|
|
30
|
+
isDragging: boolean;
|
|
31
|
+
draggedPanel: string | null;
|
|
32
|
+
dragOverColumn: number | null;
|
|
33
|
+
}
|
|
34
|
+
export interface ColumnConfig {
|
|
35
|
+
id: string;
|
|
36
|
+
key: string;
|
|
37
|
+
minWidth?: number;
|
|
38
|
+
maxWidth?: number;
|
|
39
|
+
className?: string;
|
|
40
|
+
label?: string;
|
|
41
|
+
title?: string;
|
|
42
|
+
initialWidth?: number;
|
|
43
|
+
resizable?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface PanelConfig {
|
|
46
|
+
id: string;
|
|
47
|
+
component: ComponentType<Record<string, unknown>>;
|
|
48
|
+
title: string;
|
|
49
|
+
props?: Record<string, unknown>;
|
|
50
|
+
dragMode?: "normal" | "custom";
|
|
51
|
+
minHeight?: string;
|
|
52
|
+
maxHeight?: string;
|
|
53
|
+
}
|
|
54
|
+
export interface PanelSizeInfo {
|
|
55
|
+
width: number;
|
|
56
|
+
height: number;
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
minHeight: string;
|
|
60
|
+
maxHeight: string;
|
|
61
|
+
}
|
|
62
|
+
export interface TouchDragState {
|
|
63
|
+
isTouchDragging: boolean;
|
|
64
|
+
panelId?: string | null;
|
|
65
|
+
startX: number;
|
|
66
|
+
startY: number;
|
|
67
|
+
currentX: number;
|
|
68
|
+
currentY: number;
|
|
69
|
+
draggedElement: HTMLElement | null;
|
|
70
|
+
}
|
|
71
|
+
export interface ClickState {
|
|
72
|
+
isClicked: boolean;
|
|
73
|
+
panelId: string | null;
|
|
74
|
+
}
|
|
75
|
+
export interface MousePosition {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
isVisible: boolean;
|
|
79
|
+
}
|
|
80
|
+
export interface CustomDragState {
|
|
81
|
+
isActive: boolean;
|
|
82
|
+
panelId: string;
|
|
83
|
+
startX: number;
|
|
84
|
+
startY: number;
|
|
85
|
+
}
|
|
86
|
+
export interface DragDropHookReturn {
|
|
87
|
+
dragState: DragState;
|
|
88
|
+
dragOverPosition: DragOverPosition | null;
|
|
89
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
90
|
+
touchDragState: TouchDragState;
|
|
91
|
+
customDrag: CustomDragState;
|
|
92
|
+
clickState: ClickState;
|
|
93
|
+
mousePosition: MousePosition;
|
|
94
|
+
dragModes: Record<string, "normal" | "custom">;
|
|
95
|
+
panelSizes: Record<string, PanelSizeInfo>;
|
|
96
|
+
handleDragStart: (e: ReactDragEvent, panelId: string) => void;
|
|
97
|
+
handleDragEnd: (e: ReactDragEvent) => void;
|
|
98
|
+
handleClick: (e: ReactMouseEvent, panelId: string) => void;
|
|
99
|
+
handleMouseDown: (e: ReactMouseEvent, panelId: string) => void;
|
|
100
|
+
handleTouchStart: (e: ReactTouchEvent, panelId: string) => void;
|
|
101
|
+
handleTouchMove: (e: ReactTouchEvent) => void;
|
|
102
|
+
handleTouchEnd: (e: ReactTouchEvent) => void;
|
|
103
|
+
handlePlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void;
|
|
104
|
+
handlePlaceholderDragLeave: (e: ReactDragEvent, columnIndex: number, insertIndex: number) => void;
|
|
105
|
+
toggleDragMode: (panelId: string) => void;
|
|
106
|
+
setDragOverPosition: (position: DragOverPosition | null) => void;
|
|
107
|
+
setPanelRef: (panelId: string, el: ElementWithResizeObserver | null) => void;
|
|
108
|
+
findPanelPosition: (panelId: string) => OriginalPanelPosition | null;
|
|
109
|
+
dragOverPositionRef: RefObject<DragOverPosition | null>;
|
|
110
|
+
}
|
|
111
|
+
export interface DragDropEventHandlers {
|
|
112
|
+
onDragStart: (e: DragEvent<Element>, panelId: string) => void;
|
|
113
|
+
onDragEnd: () => void;
|
|
114
|
+
onPlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void;
|
|
115
|
+
onPlaceholderDragLeave: (e?: DragEvent<Element>, columnIndex?: number, insertIndex?: number) => void;
|
|
116
|
+
onDragOverWithInsert: (e: DragEvent<Element>, columnIndex: number) => void;
|
|
117
|
+
onDropWithInsert: (e: DragEvent<Element>, targetColumn: string) => void;
|
|
118
|
+
onColumnDragLeave: (e: DragEvent<Element>) => void;
|
|
119
|
+
onPanelClick?: (e: MouseEvent<Element>, panelId: string) => void;
|
|
120
|
+
onPanelMouseDown?: (e: MouseEvent<Element>, panelId: string) => void;
|
|
121
|
+
onTouchStart?: (e: TouchEvent<Element>, panelId: string) => void;
|
|
122
|
+
onTouchMove?: (e: TouchEvent<Element>) => void;
|
|
123
|
+
onTouchEnd?: (e: TouchEvent<Element>) => void;
|
|
124
|
+
onPanelSizeInfoClick?: (e: MouseEvent<Element> | TouchEvent<Element>, panelId: string) => void;
|
|
125
|
+
onToggleDragMode?: (panelId: string) => void;
|
|
126
|
+
}
|
|
127
|
+
export interface DragDropState {
|
|
128
|
+
columnPanels: Record<string, string[]>;
|
|
129
|
+
panelVisibility: Record<string, boolean>;
|
|
130
|
+
dragModes: Record<string, "normal" | "custom">;
|
|
131
|
+
dragState: DragState;
|
|
132
|
+
dragOverPosition: DragOverPosition | null;
|
|
133
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
134
|
+
panelSizes: Record<string, PanelSizeInfo>;
|
|
135
|
+
customDrag?: CustomDragState;
|
|
136
|
+
}
|
|
137
|
+
export interface DragDropStateUpdaters {
|
|
138
|
+
onColumnPanelsChange: (newColumnPanels: Record<string, string[]>) => void;
|
|
139
|
+
onPanelVisibilityChange: (newVisibility: Record<string, boolean>) => void;
|
|
140
|
+
setPanelRef?: (panelId: string, el: HTMLDivElement | null) => void;
|
|
141
|
+
}
|
|
142
|
+
export interface UseDragDropColumnsReturn {
|
|
143
|
+
columnPanels: Record<string, string[]>;
|
|
144
|
+
panelVisibility: Record<string, boolean>;
|
|
145
|
+
dragModes: Record<string, "normal" | "custom">;
|
|
146
|
+
dragState: DragState;
|
|
147
|
+
dragOverPosition: DragOverPosition | null;
|
|
148
|
+
originalPanelPosition: OriginalPanelPosition | null;
|
|
149
|
+
touchDragState: TouchDragState;
|
|
150
|
+
customDrag: CustomDragState;
|
|
151
|
+
clickState: ClickState;
|
|
152
|
+
mousePosition: MousePosition;
|
|
153
|
+
panelSizes: Record<string, PanelSizeInfo>;
|
|
154
|
+
setColumnPanels: (newColumnPanels: Record<string, string[]>) => void;
|
|
155
|
+
setPanelVisibility: (newVisibility: Record<string, boolean>) => void;
|
|
156
|
+
setDragModes: (newDragModes: Record<string, "normal" | "custom">) => void;
|
|
157
|
+
setPanelRef: (panelId: string, el: HTMLDivElement | null) => void;
|
|
158
|
+
handleDragStart: (e: DragEvent<Element>, panelId: string) => void;
|
|
159
|
+
handleDragEnd: () => void;
|
|
160
|
+
handleMouseDown: (e: MouseEvent<Element>, panelId: string) => void;
|
|
161
|
+
handleTouchStart: (e: TouchEvent<Element>, panelId: string) => void;
|
|
162
|
+
handleTouchMove: (e: TouchEvent) => void;
|
|
163
|
+
handleTouchEnd: (e: TouchEvent) => void;
|
|
164
|
+
handlePlaceholderDragEnter: (columnIndex: number, insertIndex: number) => void;
|
|
165
|
+
handlePlaceholderDragLeave: (e?: DragEvent<Element>, columnIndex?: number, insertIndex?: number) => void;
|
|
166
|
+
handleDragOverWithInsert: (e: DragEvent<Element>, columnIndex: number) => void;
|
|
167
|
+
handleDropWithInsert: (e: DragEvent<Element>, targetColumn: string) => void;
|
|
168
|
+
handleColumnDragLeave: (e: DragEvent<Element>) => void;
|
|
169
|
+
handlePanelSizeInfoClick: (e: MouseEvent<Element> | TouchEvent<Element>, panelId: string) => void;
|
|
170
|
+
toggleDragMode: (panelId: string) => void;
|
|
171
|
+
findPanelPosition: (panelId: string) => OriginalPanelPosition | null;
|
|
172
|
+
}
|
|
173
|
+
export interface ResizeConfig {
|
|
174
|
+
enableResize?: boolean;
|
|
175
|
+
columnWidths?: Record<string, number>;
|
|
176
|
+
onColumnWidthChange?: (columnId: string, width: number) => void;
|
|
177
|
+
onResizeStart?: (columnId: string, startX: number) => void;
|
|
178
|
+
onResize?: (currentX: number) => void;
|
|
179
|
+
onResizeEnd?: () => void;
|
|
180
|
+
isResizing?: boolean;
|
|
181
|
+
resizingColumn?: string | null;
|
|
182
|
+
}
|
|
183
|
+
export type DragMode = "normal" | "custom";
|
|
184
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/drag-drop/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Column ID management utilities for consistent column identification across the application.
|
|
3
|
+
* カラムID管理ユーティリティ - アプリケーション全体でのカラム識別の一貫性を保つ。
|
|
4
|
+
*/
|
|
5
|
+
export interface ColumnIdConfig {
|
|
6
|
+
prefix: string;
|
|
7
|
+
startIndex: number;
|
|
8
|
+
separator: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const DEFAULT_COLUMN_ID_CONFIG: ColumnIdConfig;
|
|
11
|
+
export declare const generateColumnId: (index: number, config?: ColumnIdConfig) => string;
|
|
12
|
+
export declare const generateColumnIds: (count: number, config?: ColumnIdConfig) => string[];
|
|
13
|
+
export declare const parseColumnId: (columnId: string, config?: ColumnIdConfig) => number | null;
|
|
14
|
+
export declare const isValidColumnId: (columnId: string, config?: ColumnIdConfig) => boolean;
|
|
15
|
+
export declare const getNextColumnId: (existingIds: string[], config?: ColumnIdConfig) => string;
|
|
16
|
+
export declare const sortColumnIds: (columnIds: string[], config?: ColumnIdConfig) => string[];
|
|
17
|
+
export declare const createColumnIdMapping: (oldIds: string[], config?: ColumnIdConfig) => Record<string, string>;
|
|
18
|
+
export declare const normalizeColumnPanels: (columnPanels: Record<string, string[]>, newColumnCount: number, config?: ColumnIdConfig) => Record<string, string[]>;
|
|
19
|
+
//# sourceMappingURL=columnIdUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"columnIdUtils.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/utils/columnIdUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CACpB;AAED,eAAO,MAAM,wBAAwB,EAAE,cAItC,CAAA;AAED,eAAO,MAAM,gBAAgB,GACzB,OAAO,MAAM,EACb,SAAQ,cAAyC,KAClD,MAIF,CAAA;AAED,eAAO,MAAM,iBAAiB,GAC1B,OAAO,MAAM,EACb,SAAQ,cAAyC,KAClD,MAAM,EAER,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,UAAU,MAAM,EAChB,SAAQ,cAAyC,KAClD,MAAM,GAAG,IAgBX,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,UAAU,MAAM,EAChB,SAAQ,cAAyC,KAClD,OAEF,CAAA;AAED,eAAO,MAAM,eAAe,GACxB,aAAa,MAAM,EAAE,EACrB,SAAQ,cAAyC,KAClD,MAaF,CAAA;AAED,eAAO,MAAM,aAAa,GACtB,WAAW,MAAM,EAAE,EACnB,SAAQ,cAAyC,KAClD,MAAM,EAMR,CAAA;AAED,eAAO,MAAM,qBAAqB,GAC9B,QAAQ,MAAM,EAAE,EAChB,SAAQ,cAAyC,KAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CASvB,CAAA;AAED,eAAO,MAAM,qBAAqB,GAC9B,cAAc,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACtC,gBAAgB,MAAM,EACtB,SAAQ,cAAyC,KAClD,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoBzB,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utility functions for implementing edge scrolling during drag operations.
|
|
3
|
+
* This provides auto-scrolling functionality when the cursor reaches the edge of the viewport.
|
|
4
|
+
*
|
|
5
|
+
* ドラッグ操作中のエッジスクロール機能を実装するためのユーティリティ関数。
|
|
6
|
+
* カーソルがビューポートの端に到達した際の自動スクロール機能を提供します。
|
|
7
|
+
*/
|
|
8
|
+
export interface EdgeScrollConfig {
|
|
9
|
+
triggerDistance: number;
|
|
10
|
+
scrollSpeed: number;
|
|
11
|
+
maxScrollSpeed: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const DEFAULT_EDGE_SCROLL_CONFIG: EdgeScrollConfig;
|
|
14
|
+
export interface ScrollVector {
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
}
|
|
18
|
+
export declare const calculateScrollVector: (clientX: number, clientY: number, config?: EdgeScrollConfig, scrollElement?: HTMLElement) => ScrollVector;
|
|
19
|
+
export declare const performScroll: (scrollVector: ScrollVector, scrollElement?: HTMLElement) => void;
|
|
20
|
+
export declare class EdgeScrollManager {
|
|
21
|
+
private intervalId;
|
|
22
|
+
private config;
|
|
23
|
+
private isActive;
|
|
24
|
+
private scrollElement?;
|
|
25
|
+
constructor(config?: EdgeScrollConfig, scrollElement?: HTMLElement);
|
|
26
|
+
setScrollElement(element?: HTMLElement): void;
|
|
27
|
+
start(clientX: number, clientY: number): void;
|
|
28
|
+
update(clientX: number, clientY: number): void;
|
|
29
|
+
stop(): void;
|
|
30
|
+
isScrolling(): boolean;
|
|
31
|
+
updateConfig(newConfig: EdgeScrollConfig): void;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=edgeScrollUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edgeScrollUtils.d.ts","sourceRoot":"","sources":["../../../src/drag-drop/utils/edgeScrollUtils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,gBAAgB;IAC7B,eAAe,EAAE,MAAM,CAAA;IACvB,WAAW,EAAE,MAAM,CAAA;IACnB,cAAc,EAAE,MAAM,CAAA;CACzB;AAED,eAAO,MAAM,0BAA0B,EAAE,gBAIxC,CAAA;AAED,MAAM,WAAW,YAAY;IACzB,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,eAAO,MAAM,qBAAqB,GAC9B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,SAAQ,gBAA6C,EACrD,gBAAgB,WAAW,KAC5B,YAkCF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,cAAc,YAAY,EAAE,gBAAgB,WAAW,KAAG,IAQvF,CAAA;AAED,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAC,CAAa;gBAEvB,MAAM,GAAE,gBAA6C,EAAE,aAAa,CAAC,EAAE,WAAW;IAK9F,gBAAgB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAI7C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAY7C,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAU9C,IAAI,IAAI,IAAI;IAQZ,WAAW,IAAI,OAAO;IAItB,YAAY,CAAC,SAAS,EAAE,gBAAgB,GAAG,IAAI;CAGlD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.resize-enabled-column{flex-shrink:0;flex-grow:0;width:var(--column-width, 350px)}.auto-width-column{flex:1}.resizing-cursor{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.column-resizing{opacity:.8;transition:opacity .2s ease}.column-resizing-active{opacity:1;box-shadow:0 0 0 2px #3b82f680;transition:none}body.resizing{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}body.custom-dragging,body.custom-dragging *{cursor:grabbing!important;-webkit-user-select:none!important;user-select:none!important}body.custom-dragging *:before,body.custom-dragging *:after{cursor:grabbing!important}.panel-draggable[data-dragging=true]{transform:rotate(1deg);opacity:.2;box-shadow:0 0 0 2px #60a5fa80;transition:transform 1s ease,opacity 1s ease,box-shadow 1s ease}.panel.is-moving *{overflow:hidden!important}.panel-with-placeholder[data-panel-hidden=true]{margin-top:0!important;margin-bottom:0!important;padding-top:0!important;padding-bottom:0!important;height:0!important;opacity:0}[data-drop-zone=true]>.panel-with-placeholder{margin-top:0;transition:margin .2s ease}[data-drop-zone=true]>.panel-with-placeholder:not([data-panel-hidden=true])~.panel-with-placeholder:not([data-panel-hidden=true]){margin-top:1rem}.panel-scroll-area{scrollbar-width:thin;scrollbar-color:rgba(15,23,42,.25) transparent}.panel-scroll-area:hover{scrollbar-color:rgba(15,23,42,.35) transparent}.panel-scroll-area::-webkit-scrollbar{width:6px}.panel-scroll-area::-webkit-scrollbar-track{background:transparent}.panel-scroll-area::-webkit-scrollbar-thumb{border-radius:9999px;background-color:#0f172a40}.panel-scroll-area:hover::-webkit-scrollbar-thumb{background-color:#0f172a59}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}.resize-handle{position:absolute;top:0;bottom:0;width:12px;display:flex;align-items:center;justify-content:center;cursor:col-resize;z-index:10;transition:background-color .2s ease}.resize-handle.right{right:-6px}.resize-handle.left{left:-6px}.resize-handle.resizing,.resize-handle:hover{background-color:#0000000d}.resize-handle-bar{width:2px;height:40px;background-color:#6366f180;border-radius:999px}.resize-handle.resizing .resize-handle-bar{background-color:#6366f1e6;box-shadow:0 0 6px #6366f199}.resize-handle-debug-info{position:absolute;bottom:8px;left:50%;transform:translate(-50%);background:#1e40afd9;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;white-space:nowrap;pointer-events:none}.column-debug-size{position:absolute;top:8px;right:12px;background:#1e40afd9;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;pointer-events:none}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @aiquants/drag-drop-panels
|
|
3
|
+
* @description Reusable drag-and-drop panel layout components and utilities
|
|
4
|
+
*
|
|
5
|
+
* 再利用可能なドラッグ&ドロップパネルレイアウトコンポーネントとユーティリティ
|
|
6
|
+
*/
|
|
7
|
+
export { DragDropLayout } from './DragDropLayout';
|
|
8
|
+
export type { DragDropLayoutProps } from './DragDropLayout';
|
|
9
|
+
export { debugLog, PanelSizeDisplay } from './drag-drop/DebugComponents';
|
|
10
|
+
export { DropZoneDebugOverlay, InsertPlaceholder } from './drag-drop/DebugOverlay';
|
|
11
|
+
export { ColumnControlPanel } from './drag-drop/ColumnControlPanel';
|
|
12
|
+
export { ColumnInsertPanel } from './drag-drop/ColumnInsertPanel';
|
|
13
|
+
export { DebugControlPanel } from './drag-drop/DebugControlPanel';
|
|
14
|
+
export { ResponsiveControl } from './drag-drop/ResponsiveControl';
|
|
15
|
+
export { ResizeHandle, ResizableColumn } from './drag-drop/ResizeHandle';
|
|
16
|
+
export type { ResizeHandleProps, ResizableColumnProps } from './drag-drop/ResizeHandle';
|
|
17
|
+
export { useColumnLayout } from './drag-drop/hooks/useColumnLayout';
|
|
18
|
+
export type { ColumnConfig, ColumnLayoutState, UseColumnLayoutProps, UseColumnLayoutReturn } from './drag-drop/hooks/useColumnLayout';
|
|
19
|
+
export { useCustomDragHandlers } from './drag-drop/hooks/useCustomDragHandlers';
|
|
20
|
+
export { useMouseTracking } from './drag-drop/hooks/useMouseTracking';
|
|
21
|
+
export { useDragDropState } from './drag-drop/hooks/useDragDropState';
|
|
22
|
+
export { useNormalDragHandlers } from './drag-drop/hooks/useNormalDragHandlers';
|
|
23
|
+
export { usePanelManagement } from './drag-drop/hooks/usePanelManagement';
|
|
24
|
+
export { useResponsiveColumns } from './drag-drop/hooks/useResponsiveColumns';
|
|
25
|
+
export type { UseResponsiveColumnsProps, UseResponsiveColumnsReturn } from './drag-drop/hooks/useResponsiveColumns';
|
|
26
|
+
export { useDragDropColumns } from './drag-drop/hooks/useDragDropColumns';
|
|
27
|
+
export type { UseDragDropColumnsProps } from './drag-drop/hooks/useDragDropColumns';
|
|
28
|
+
export { generateColumnId, generateColumnIds, parseColumnId, isValidColumnId, getNextColumnId, sortColumnIds, createColumnIdMapping, normalizeColumnPanels, DEFAULT_COLUMN_ID_CONFIG } from './drag-drop/utils/columnIdUtils';
|
|
29
|
+
export type { ColumnIdConfig } from './drag-drop/utils/columnIdUtils';
|
|
30
|
+
export { calculateScrollVector, performScroll, EdgeScrollManager, DEFAULT_EDGE_SCROLL_CONFIG } from './drag-drop/utils/edgeScrollUtils';
|
|
31
|
+
export type { EdgeScrollConfig, ScrollVector } from './drag-drop/utils/edgeScrollUtils';
|
|
32
|
+
export type { ElementWithResizeObserver, ReactMouseEvent, ReactDragEvent, ReactTouchEvent, DOMMouseEvent, DOMDragEvent, DOMTouchEvent, DebugConfig, DragOverPosition, OriginalPanelPosition, DragState, ColumnConfig as ColumnConfigType, PanelConfig, PanelSizeInfo, TouchDragState, ClickState, MousePosition, CustomDragState, DragDropHookReturn, DragDropEventHandlers, DragDropState, DragDropStateUpdaters, UseDragDropColumnsReturn, ResizeConfig, DragMode, } from './drag-drop/types';
|
|
33
|
+
export { DEFAULT_DEBUG_CONFIG } from './drag-drop/types';
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AACxE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAA;AAEvF,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACrI,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,YAAY,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AACnH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AACzE,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAA;AAEnF,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC7N,YAAY,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AACrE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,iBAAiB,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AACvI,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAA;AAEvF,YAAY,EACR,yBAAyB,EACzB,eAAe,EACf,cAAc,EACd,eAAe,EACf,aAAa,EACb,YAAY,EACZ,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACT,YAAY,IAAI,gBAAgB,EAChC,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,EACV,aAAa,EACb,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,qBAAqB,EACrB,wBAAwB,EACxB,YAAY,EACZ,QAAQ,GACX,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA"}
|