@powerhousedao/design-system 4.1.0-dev.66 → 4.1.0-dev.68

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.
@@ -13,6 +13,7 @@ export type DropZoneProps = ComponentPropsWithoutRef<"div"> & {
13
13
  readonly setSelectedNode?: (nodeOrNodeSlug: Node | string | undefined) => void;
14
14
  readonly useLocalStorage?: boolean;
15
15
  readonly driveId?: string;
16
+ readonly acceptedFileExtensions?: string[];
16
17
  };
17
18
  export declare function DropZone(props: DropZoneProps): import("react/jsx-runtime").JSX.Element;
18
19
  //# sourceMappingURL=drop-zone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"drop-zone.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/drop-zone.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,KACtC,IAAI,CAAC;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CA8H5C"}
1
+ {"version":3,"file":"drop-zone.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/drop-zone.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,SAAS,EAGf,MAAM,OAAO,CAAC;AAMf,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG,wBAAwB,CAAC,KAAK,CAAC,GAAG;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,UAAU,CAAC,EAAE,CACpB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,IAAI,GAAG,SAAS,KACrB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,cAAc,EAAE,IAAI,GAAG,MAAM,GAAG,SAAS,KACtC,IAAI,CAAC;IACV,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5C,CAAC;AAEF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAgI5C"}
@@ -8,7 +8,7 @@ import { UploadFileListContainer } from "./upload-file-list-container.js";
8
8
  import { useUploadTracker } from "./use-upload-tracker.js";
9
9
  import {} from "./utils.js";
10
10
  export function DropZone(props) {
11
- const { title = "Drag your documents", subtitle = "to drop them in the currently selected folder.", node, enable = true, children, onAddFile, onMoveNode, onCopyNode, setSelectedNode, useLocalStorage = false, driveId, className, ...delegatedProps } = props;
11
+ const { title = "Drag your documents", subtitle = "to drop them in the currently selected folder.", node, enable = true, children, onAddFile, onMoveNode, onCopyNode, setSelectedNode, useLocalStorage = false, driveId, acceptedFileExtensions = [".zip", ".phd", ".phdm"], className, ...delegatedProps } = props;
12
12
  // Modal state for conflict resolution
13
13
  const [modalOpen, setModalOpen] = useState(false);
14
14
  const [conflictUploadId, setConflictUploadId] = useState(null);
@@ -49,6 +49,7 @@ export function DropZone(props) {
49
49
  onMoveNode: onMoveNode ?? (async () => { }),
50
50
  onCopyNode: onCopyNode ?? (async () => { }),
51
51
  trackNestedDrag: true,
52
+ acceptedFileExtensions,
52
53
  });
53
54
  return (_jsxs("div", { className: twMerge("relative", className), ...(enable ? dropProps : {}), ...delegatedProps, children: [children, enable && isDropTarget && (_jsx("div", { className: "fixed inset-0 z-[1000] flex min-h-screen w-screen items-center justify-center bg-black/50", children: _jsx("div", { className: "rounded-[24px] bg-white p-6 shadow-[1px_4px_15px_rgba(74,88,115,0.25)]", children: _jsxs("div", { className: "relative flex h-[130px] w-[400px] flex-col items-center justify-start overflow-visible rounded-lg border border-dashed border-black px-4 py-6", children: [_jsx("div", { className: "text-center text-base leading-5 text-zinc-500", children: title }), _jsx("div", { className: "text-center text-base leading-5 text-zinc-500", children: subtitle }), _jsx("span", { className: "pointer-events-none absolute -bottom-16 left-1/2 z-10 -translate-x-1/2", children: _jsx(Icon, { name: "DocumentIcons", size: 144, "aria-hidden": "true" }) })] }) }) })), _jsx(UploadFileListContainer, { uploadsArray: uploadsArray, uploadsCount: uploadsCount, removeUpload: removeUpload, clearAllUploads: clearAllUploads, setSelectedNode: setSelectedNode, onConflictResolution: handleConflictResolution }), _jsx(ConnectReplaceDuplicateModal, { open: modalOpen, onOpenChange: handleModalClose, fileName: conflictUploadId
54
55
  ? uploadsArray.find((u) => u?.id === conflictUploadId)?.fileName
@@ -1 +1 @@
1
- {"version":3,"file":"drop-zone.js","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/drop-zone.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"drop-zone.js","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/drop-zone.tsx"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface ConnectDropdownMenuProps<TItemId extends string> {
11
11
  readonly open?: boolean;
12
12
  readonly onItemClick: (id: TItemId) => void;
13
13
  readonly onOpenChange?: (open: boolean) => void;
14
+ readonly menuClassName?: string;
14
15
  }
15
16
  export declare function ConnectDropdownMenu<TItemId extends string>(props: ConnectDropdownMenuProps<TItemId>): import("react/jsx-runtime").JSX.Element;
16
17
  //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,uBAAuB,CAAC,OAAO,SAAS,MAAM,IAAI;IAC5D,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,MAAM;IAC9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACjD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,MAAM,EACxD,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,2CA2BzC"}
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,uBAAuB,CAAC,OAAO,SAAS,MAAM,IAAI;IAC5D,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,WAAW,wBAAwB,CAAC,OAAO,SAAS,MAAM;IAC9D,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,SAAS,MAAM,EACxD,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,2CAiCzC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@powerhousedao/design-system";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  export function ConnectDropdownMenu(props) {
5
- const { children, items, open, onItemClick, onOpenChange } = props;
6
- return (_jsxs(DropdownMenu, { onOpenChange: onOpenChange, open: open, children: [_jsx(DropdownMenuTrigger, { asChild: true, className: "outline-none", children: children }), _jsx(DropdownMenuContent, { className: "modal-shadow cursor-pointer rounded-2xl bg-white text-sm font-medium text-slate-500", children: items.map(({ id, label, icon, className }) => (_jsxs(DropdownMenuItem, { className: twMerge("flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-slate-50", className), onClick: (e) => e.stopPropagation(), onSelect: () => onItemClick(id), children: [icon ? _jsx("span", { className: "mr-2 inline-block", children: icon }) : null, label] }, id))) })] }));
5
+ const { children, items, open, onItemClick, onOpenChange, menuClassName } = props;
6
+ return (_jsxs(DropdownMenu, { onOpenChange: onOpenChange, open: open, children: [_jsx(DropdownMenuTrigger, { asChild: true, className: "outline-none", children: children }), _jsx(DropdownMenuContent, { className: twMerge("modal-shadow cursor-pointer rounded-2xl bg-white text-sm font-medium text-slate-500", menuClassName), children: items.map(({ id, label, icon, className }) => (_jsxs(DropdownMenuItem, { className: twMerge("flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-slate-50", className), onClick: (e) => e.stopPropagation(), onSelect: () => onItemClick(id), children: [icon ? _jsx("span", { className: "mr-2 inline-block", children: icon }) : null, label] }, id))) })] }));
7
7
  }
8
8
  //# sourceMappingURL=dropdown-menu.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../../src/connect/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAiBzC,MAAM,UAAU,mBAAmB,CACjC,KAAwC;IAExC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEnE,OAAO,CACL,MAAC,YAAY,IAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,aAClD,KAAC,mBAAmB,IAAC,OAAO,QAAC,SAAS,EAAC,cAAc,YAClD,QAAQ,GACW,EACtB,KAAC,mBAAmB,IAAC,SAAS,EAAC,qFAAqF,YACjH,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC7C,MAAC,gBAAgB,IACf,SAAS,EAAE,OAAO,CAChB,wJAAwJ,EACxJ,SAAS,CACV,EAED,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,aAE9B,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,mBAAmB,YAAE,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC/D,KAAK,KALD,EAAE,CAMU,CACpB,CAAC,GACkB,IACT,CAChB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../../../../src/connect/components/dropdown-menu/dropdown-menu.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAkBzC,MAAM,UAAU,mBAAmB,CACjC,KAAwC;IAExC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,GACvE,KAAK,CAAC;IAER,OAAO,CACL,MAAC,YAAY,IAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,aAClD,KAAC,mBAAmB,IAAC,OAAO,QAAC,SAAS,EAAC,cAAc,YAClD,QAAQ,GACW,EACtB,KAAC,mBAAmB,IAClB,SAAS,EAAE,OAAO,CAChB,qFAAqF,EACrF,aAAa,CACd,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC7C,MAAC,gBAAgB,IACf,SAAS,EAAE,OAAO,CAChB,wJAAwJ,EACxJ,SAAS,CACV,EAED,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,EACnC,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,aAE9B,IAAI,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,mBAAmB,YAAE,IAAI,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC/D,KAAK,KALD,EAAE,CAMU,CACpB,CAAC,GACkB,IACT,CAChB,CAAC;AACJ,CAAC"}
@@ -10,6 +10,11 @@ type Props = {
10
10
  * Defaults to false to preserve legacy behavior.
11
11
  */
12
12
  trackNestedDrag?: boolean;
13
+ /**
14
+ * Array of accepted file extensions (e.g., ['.zip', '.phd', '.phdm'])
15
+ * If not provided, all files are accepted
16
+ */
17
+ acceptedFileExtensions?: string[];
13
18
  };
14
19
  export declare function useDrop(props: Props): {
15
20
  isDropTarget: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"use-drop.d.ts","sourceRoot":"","sources":["../../../../../src/connect/hooks/drag-and-drop/use-drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AACF,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK;;;EAgHnC"}
1
+ {"version":3,"file":"use-drop.d.ts","sourceRoot":"","sources":["../../../../../src/connect/hooks/drag-and-drop/use-drop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAI3C,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,IAAI,GAAG,SAAS,CAAC;IACvB,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E,UAAU,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1E;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;CACnC,CAAC;AACF,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK;;;EA4LnC"}
@@ -1,19 +1,62 @@
1
1
  import { useCallback, useMemo, useRef, useState } from "react";
2
2
  export function useDrop(props) {
3
- const { node, onAddFile, onCopyNode, onMoveNode, trackNestedDrag = false, } = props;
3
+ const { node, onAddFile, onCopyNode, onMoveNode, trackNestedDrag = false, acceptedFileExtensions, } = props;
4
4
  const [isDropTarget, setIsDropTarget] = useState(false);
5
5
  const dragDepthRef = useRef(0);
6
+ /**
7
+ * Check if the dragged content is valid based on accepted file extensions
8
+ */
9
+ const isValidDropContent = useCallback((dataTransfer) => {
10
+ if (!acceptedFileExtensions || acceptedFileExtensions.length === 0) {
11
+ return true;
12
+ }
13
+ // Always allow internal node dragging
14
+ if (dataTransfer.types.includes("UI_NODE")) {
15
+ return true;
16
+ }
17
+ // Check if dragging files
18
+ if (dataTransfer.types.includes("Files")) {
19
+ const items = Array.from(dataTransfer.items);
20
+ return items.some((item) => {
21
+ if (item.kind === "file") {
22
+ // Check MIME types for zip files
23
+ if (item.type === "application/zip" ||
24
+ item.type === "application/x-zip-compressed") {
25
+ return acceptedFileExtensions.includes(".zip");
26
+ }
27
+ // For custom extensions (.phd, .phdm), browsers might not report
28
+ // a specific MIME type (they show as '' or 'application/octet-stream')
29
+ // We allow these through and do stricter validation on drop
30
+ if (item.type === "" || item.type === "application/octet-stream") {
31
+ return true;
32
+ }
33
+ }
34
+ return false;
35
+ });
36
+ }
37
+ return false;
38
+ }, [acceptedFileExtensions]);
6
39
  const onDragOver = useCallback((event) => {
7
40
  event.preventDefault();
8
41
  event.stopPropagation();
9
- setIsDropTarget(true);
10
- }, []);
42
+ const isValid = isValidDropContent(event.dataTransfer);
43
+ if (isValid) {
44
+ setIsDropTarget(true);
45
+ }
46
+ else {
47
+ // Visual feedback that dropping is not allowed
48
+ event.dataTransfer.dropEffect = "none";
49
+ }
50
+ }, [isValidDropContent]);
11
51
  const onDragEnter = useCallback((event) => {
12
52
  event.preventDefault();
13
53
  event.stopPropagation();
14
- dragDepthRef.current += 1;
15
- setIsDropTarget(true);
16
- }, []);
54
+ const isValid = isValidDropContent(event.dataTransfer);
55
+ if (isValid) {
56
+ dragDepthRef.current += 1;
57
+ setIsDropTarget(true);
58
+ }
59
+ }, [isValidDropContent]);
17
60
  const onDragLeaveDepth = useCallback((event) => {
18
61
  event.preventDefault();
19
62
  event.stopPropagation();
@@ -36,7 +79,16 @@ export function useDrop(props) {
36
79
  return;
37
80
  }
38
81
  try {
39
- const droppedFiles = getDroppedFiles(event.dataTransfer.items).filter(Boolean);
82
+ let droppedFiles = getDroppedFiles(event.dataTransfer.items).filter(Boolean);
83
+ // Filter files by accepted extensions if specified
84
+ if (acceptedFileExtensions && acceptedFileExtensions.length > 0) {
85
+ droppedFiles = droppedFiles.filter((file) => {
86
+ if (!file)
87
+ return false;
88
+ const fileName = file.name.toLowerCase();
89
+ return acceptedFileExtensions.some((ext) => fileName.endsWith(ext.toLowerCase()));
90
+ });
91
+ }
40
92
  if (droppedFiles.length) {
41
93
  for (const file of droppedFiles) {
42
94
  if (file) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-drop.js","sourceRoot":"","sources":["../../../../../src/connect/hooks/drag-and-drop/use-drop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-drop.js","sourceRoot":"","sources":["../../../../../src/connect/hooks/drag-and-drop/use-drop.ts"],"names":[],"mappings":"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"}