@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.
Files changed (45) hide show
  1. package/README.md +186 -0
  2. package/dist/DragDropLayout.d.ts +31 -0
  3. package/dist/DragDropLayout.d.ts.map +1 -0
  4. package/dist/drag-drop/ColumnControlPanel.d.ts +36 -0
  5. package/dist/drag-drop/ColumnControlPanel.d.ts.map +1 -0
  6. package/dist/drag-drop/ColumnInsertPanel.d.ts +34 -0
  7. package/dist/drag-drop/ColumnInsertPanel.d.ts.map +1 -0
  8. package/dist/drag-drop/DebugComponents.d.ts +93 -0
  9. package/dist/drag-drop/DebugComponents.d.ts.map +1 -0
  10. package/dist/drag-drop/DebugControlPanel.d.ts +31 -0
  11. package/dist/drag-drop/DebugControlPanel.d.ts.map +1 -0
  12. package/dist/drag-drop/DebugOverlay.d.ts +71 -0
  13. package/dist/drag-drop/DebugOverlay.d.ts.map +1 -0
  14. package/dist/drag-drop/ResizeHandle.d.ts +30 -0
  15. package/dist/drag-drop/ResizeHandle.d.ts.map +1 -0
  16. package/dist/drag-drop/ResponsiveControl.d.ts +9 -0
  17. package/dist/drag-drop/ResponsiveControl.d.ts.map +1 -0
  18. package/dist/drag-drop/hooks/useColumnLayout.d.ts +47 -0
  19. package/dist/drag-drop/hooks/useColumnLayout.d.ts.map +1 -0
  20. package/dist/drag-drop/hooks/useCustomDragHandlers.d.ts +42 -0
  21. package/dist/drag-drop/hooks/useCustomDragHandlers.d.ts.map +1 -0
  22. package/dist/drag-drop/hooks/useDragDropColumns.d.ts +20 -0
  23. package/dist/drag-drop/hooks/useDragDropColumns.d.ts.map +1 -0
  24. package/dist/drag-drop/hooks/useDragDropState.d.ts +28 -0
  25. package/dist/drag-drop/hooks/useDragDropState.d.ts.map +1 -0
  26. package/dist/drag-drop/hooks/useMouseTracking.d.ts +23 -0
  27. package/dist/drag-drop/hooks/useMouseTracking.d.ts.map +1 -0
  28. package/dist/drag-drop/hooks/useNormalDragHandlers.d.ts +46 -0
  29. package/dist/drag-drop/hooks/useNormalDragHandlers.d.ts.map +1 -0
  30. package/dist/drag-drop/hooks/usePanelManagement.d.ts +24 -0
  31. package/dist/drag-drop/hooks/usePanelManagement.d.ts.map +1 -0
  32. package/dist/drag-drop/hooks/useResponsiveColumns.d.ts +41 -0
  33. package/dist/drag-drop/hooks/useResponsiveColumns.d.ts.map +1 -0
  34. package/dist/drag-drop/types.d.ts +184 -0
  35. package/dist/drag-drop/types.d.ts.map +1 -0
  36. package/dist/drag-drop/utils/columnIdUtils.d.ts +19 -0
  37. package/dist/drag-drop/utils/columnIdUtils.d.ts.map +1 -0
  38. package/dist/drag-drop/utils/edgeScrollUtils.d.ts +33 -0
  39. package/dist/drag-drop/utils/edgeScrollUtils.d.ts.map +1 -0
  40. package/dist/drag-drop-panels.css +1 -0
  41. package/dist/index.d.ts +34 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.es.js +2267 -0
  44. package/dist/index.umd.js +22 -0
  45. 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}
@@ -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"}