@principal-ade/dynamic-file-tree 0.2.31 → 0.2.33

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/dist/index.mjs CHANGED
@@ -363,6 +363,15 @@ function TreeNode({
363
363
  },
364
364
  ref: isDraggable ? undefined : dragHandle,
365
365
  draggable: isDraggable,
366
+ "data-native-drag": isDraggable ? "true" : undefined,
367
+ "data-drag-data": dragConfig ? JSON.stringify({
368
+ dataType: dragConfig.dataType,
369
+ primaryData: dragConfig.primaryData,
370
+ metadata: dragConfig.metadata,
371
+ suggestedActions: dragConfig.suggestedActions,
372
+ sourcePanel: dragConfig.sourcePanel
373
+ }) : undefined,
374
+ "data-drag-text": dragConfig?.primaryData,
366
375
  onDragStart: isDraggable ? handleDragStart : undefined,
367
376
  onDragEnd: isDraggable ? handleDragEnd : undefined,
368
377
  onClick: (e) => {
@@ -1079,6 +1088,39 @@ import {
1079
1088
  } from "lucide-react";
1080
1089
  import React7, { useMemo as useMemo5, useRef as useRef4 } from "react";
1081
1090
  import { Tree as Tree2 } from "react-arborist";
1091
+
1092
+ // src/hooks/useNativeDragInterceptor.ts
1093
+ import { useLayoutEffect } from "react";
1094
+ var useNativeDragInterceptor = (containerRef) => {
1095
+ useLayoutEffect(() => {
1096
+ const container = containerRef.current;
1097
+ if (!container)
1098
+ return;
1099
+ const handler = (e) => {
1100
+ const target = e.target;
1101
+ const nativeDragElement = target.closest('[data-native-drag="true"]');
1102
+ if (nativeDragElement) {
1103
+ e.stopImmediatePropagation();
1104
+ const dragEvent = e;
1105
+ if (dragEvent.dataTransfer) {
1106
+ const dragData = nativeDragElement.getAttribute("data-drag-data");
1107
+ const dragText = nativeDragElement.getAttribute("data-drag-text");
1108
+ if (dragData) {
1109
+ dragEvent.dataTransfer.setData("application/x-panel-data", dragData);
1110
+ }
1111
+ if (dragText) {
1112
+ dragEvent.dataTransfer.setData("text/plain", dragText);
1113
+ }
1114
+ dragEvent.dataTransfer.effectAllowed = "copyMove";
1115
+ }
1116
+ }
1117
+ };
1118
+ container.addEventListener("dragstart", handler, true);
1119
+ return () => container.removeEventListener("dragstart", handler, true);
1120
+ }, [containerRef]);
1121
+ };
1122
+
1123
+ // src/components/GitStatusFileTree.tsx
1082
1124
  var GitStatusContext = React7.createContext(null);
1083
1125
  var getGitStatusDisplay2 = (status, theme) => {
1084
1126
  switch (status) {
@@ -1229,10 +1271,20 @@ var GitStatusFileTree = ({
1229
1271
  openByDefault,
1230
1272
  initialHeight = 600,
1231
1273
  autoHeight = false,
1232
- enableDragAndDrop = false
1274
+ enableDragAndDrop = false,
1275
+ enablePanelDrag = false,
1276
+ getDragConfig
1233
1277
  }) => {
1234
1278
  const dndProps = getDndProps(enableDragAndDrop);
1235
1279
  const parentDndManager = useParentDndManager();
1280
+ const getDefaultDragConfig = (nodePath, isFolder) => ({
1281
+ dataType: isFolder ? "directory-path" : "file-path",
1282
+ primaryData: nodePath,
1283
+ metadata: { isFolder },
1284
+ suggestedActions: ["insert-path", "open"],
1285
+ sourcePanel: "git-status-file-tree",
1286
+ dragPreview: nodePath.split("/").pop() || nodePath
1287
+ });
1236
1288
  const gitStatusMap = useMemo5(() => {
1237
1289
  const map = new Map;
1238
1290
  gitStatusData.forEach((item) => {
@@ -1262,6 +1314,8 @@ var GitStatusFileTree = ({
1262
1314
  const baseColor = theme.colors.primary || "#007bff";
1263
1315
  nameColor = baseColor + "80";
1264
1316
  }
1317
+ const isFolder = !!node.data.children;
1318
+ const dragConfig = enablePanelDrag ? getDragConfig ? getDragConfig(node.data.id, isFolder) : getDefaultDragConfig(node.data.id, isFolder) : undefined;
1265
1319
  const rightContent = gitDisplay ? /* @__PURE__ */ React7.createElement("div", {
1266
1320
  style: {
1267
1321
  display: "flex",
@@ -1293,7 +1347,8 @@ var GitStatusFileTree = ({
1293
1347
  if (onNodeHover) {
1294
1348
  onNodeHover(isHovered ? node2.data.id : null, !!node2.data.children);
1295
1349
  }
1296
- }
1350
+ },
1351
+ dragConfig
1297
1352
  });
1298
1353
  };
1299
1354
  const treeStructure = useMemo5(() => {
@@ -1353,6 +1408,7 @@ var GitStatusFileTree = ({
1353
1408
  return initialHeight;
1354
1409
  }, [autoHeight, treeData, openByDefault, initialHeight, rowHeight]);
1355
1410
  const [containerRef, containerHeight, isContainerReady] = useContainerHeight(calculatedHeight);
1411
+ useNativeDragInterceptor(containerRef);
1356
1412
  return /* @__PURE__ */ React7.createElement("div", {
1357
1413
  ref: containerRef,
1358
1414
  style: {
@@ -2798,6 +2854,7 @@ var StoryboardWorkflowsTreeCoreInner = ({
2798
2854
  };
2799
2855
  const initialHeight = 600;
2800
2856
  const [containerRef, containerHeight, isContainerReady] = useContainerHeight(initialHeight);
2857
+ useNativeDragInterceptor(containerRef);
2801
2858
  const treeRef = useRef5(null);
2802
2859
  return /* @__PURE__ */ React13.createElement("div", {
2803
2860
  ref: containerRef,
@@ -3379,6 +3436,7 @@ var CanvasListTreeCore = ({
3379
3436
  };
3380
3437
  const initialHeight = 600;
3381
3438
  const [containerRef, containerHeight, isContainerReady] = useContainerHeight(initialHeight);
3439
+ useNativeDragInterceptor(containerRef);
3382
3440
  const treeRef = useRef6(null);
3383
3441
  const handleToggle = (id) => {
3384
3442
  if (onToggle && treeRef.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasListTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasListTree/CanvasListTreeCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAQ/C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAuRjB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyN5D,CAAC"}
1
+ {"version":3,"file":"CanvasListTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/CanvasListTree/CanvasListTreeCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAS/C,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,SAAS,CAAC;AAuRjB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA4N5D,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { Theme } from '@principal-ade/industry-theme';
2
2
  import { FileTree } from '@principal-ai/repository-abstraction';
3
3
  import React from 'react';
4
+ import { DragConfig } from './TreeNode';
4
5
  export type GitStatus = 'M' | 'A' | 'D' | 'R' | 'C' | 'U' | '??' | '!!' | 'AM' | 'MM' | null;
5
6
  export interface GitFileStatus {
6
7
  filePath: string;
@@ -27,6 +28,8 @@ export interface GitStatusFileTreeProps {
27
28
  initialHeight?: number;
28
29
  autoHeight?: boolean;
29
30
  enableDragAndDrop?: boolean;
31
+ enablePanelDrag?: boolean;
32
+ getDragConfig?: (nodePath: string, isFolder: boolean) => DragConfig | undefined;
30
33
  }
31
34
  export declare const GitStatusFileTree: React.FC<GitStatusFileTreeProps>;
32
35
  //# sourceMappingURL=GitStatusFileTree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GitStatusFileTree.d.ts","sourceRoot":"","sources":["../../../src/components/GitStatusFileTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAgB,MAAM,sCAAsC,CAAC;AAS9E,OAAO,KAA0B,MAAM,OAAO,CAAC;AAS/C,MAAM,MAAM,SAAS,GACjB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAGT,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;CACnB;AAmBD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA0JD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CA6O9D,CAAC"}
1
+ {"version":3,"file":"GitStatusFileTree.d.ts","sourceRoot":"","sources":["../../../src/components/GitStatusFileTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAgB,MAAM,sCAAsC,CAAC;AAS9E,OAAO,KAA0B,MAAM,OAAO,CAAC;AAO/C,OAAO,EAAY,UAAU,EAAE,MAAM,YAAY,CAAC;AAGlD,MAAM,MAAM,SAAS,GACjB,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,CAAC;AAGT,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,MAAM,EAAE,SAAS,CAAC;CACnB;AAmBD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,aAAa,EAAE,aAAa,EAAE,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACpD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACvF,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,UAAU,GAAG,SAAS,CAAC;CACjF;AA0JD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAoQ9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StoryboardWorkflowsTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/StoryboardWorkflowsTree/StoryboardWorkflowsTreeCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAS/C,OAAO,KAAK,EAEV,4BAA4B,EAQ7B,MAAM,SAAS,CAAC;AAk9BjB,eAAO,MAAM,2BAA2B,0DAA+C,CAAC"}
1
+ {"version":3,"file":"StoryboardWorkflowsTreeCore.d.ts","sourceRoot":"","sources":["../../../../src/components/StoryboardWorkflowsTree/StoryboardWorkflowsTreeCore.tsx"],"names":[],"mappings":"AACA,OAAO,KAA0B,MAAM,OAAO,CAAC;AAU/C,OAAO,KAAK,EAEV,4BAA4B,EAQ7B,MAAM,SAAS,CAAC;AAq9BjB,eAAO,MAAM,2BAA2B,0DAA+C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../../src/components/TreeNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,EAAY,SAAS,EAAe,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACjF,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sHAAsH;IACtH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACrF;AAKD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,EAC/C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,mBAA2B,EAC3B,SAAS,EACT,qBAA6B,EAC7B,mBAA2B,EAC3B,aAAa,EACb,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,EAAE,aAAa,CAAC,CAAC,CAAC,qBAgKlB"}
1
+ {"version":3,"file":"TreeNode.d.ts","sourceRoot":"","sources":["../../../src/components/TreeNode.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,EAAY,SAAS,EAAe,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,YAAY,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IACjF,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACtF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC3E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,sHAAsH;IACtH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;CACrF;AAKD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,EAC/C,IAAI,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,mBAA2B,EAC3B,SAAS,EACT,qBAA6B,EAC7B,mBAA2B,EAC3B,aAAa,EACb,OAAO,EACP,QAAQ,EACR,UAAU,EACV,WAAW,GACZ,EAAE,aAAa,CAAC,CAAC,CAAC,qBAyKlB"}
@@ -0,0 +1,16 @@
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * Intercepts dragstart events for elements with data-native-drag="true"
4
+ * and prevents react-dnd's HTML5Backend from interfering.
5
+ *
6
+ * HTML5Backend attaches capture-phase listeners to the dndRootElement.
7
+ * By attaching our own capture-phase listener first (via useLayoutEffect),
8
+ * we can call stopImmediatePropagation() to prevent HTML5Backend from
9
+ * processing native drag events.
10
+ *
11
+ * Since stopImmediatePropagation prevents the event from reaching TreeNode's
12
+ * onDragStart handler, we also set the drag data here by reading from
13
+ * data attributes on the element.
14
+ */
15
+ export declare const useNativeDragInterceptor: (containerRef: RefObject<HTMLElement | null>) => void;
16
+ //# sourceMappingURL=useNativeDragInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useNativeDragInterceptor.d.ts","sourceRoot":"","sources":["../../../src/hooks/useNativeDragInterceptor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,wBAAwB,GACnC,cAAc,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,KAC1C,IAmCF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@principal-ade/dynamic-file-tree",
3
- "version": "0.2.31",
3
+ "version": "0.2.33",
4
4
  "description": "React component for selective directory filtering and file tree visualization",
5
5
  "type": "module",
6
6
  "main": "dist/index.mjs",