@powerhousedao/design-system 5.0.0-staging.21 → 5.0.0-staging.23

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"}
@@ -7,7 +7,7 @@ import { ConnectReplaceDuplicateModal } from "../modal/replace-duplicate-modal.j
7
7
  import { UploadFileListContainer } from "./upload-file-list-container.js";
8
8
  import { useUploadTracker } from "./use-upload-tracker.js";
9
9
  export function DropZone(props) {
10
- 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;
10
+ 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;
11
11
  // Modal state for conflict resolution
12
12
  const [modalOpen, setModalOpen] = useState(false);
13
13
  const [conflictUploadId, setConflictUploadId] = useState(null);
@@ -48,6 +48,7 @@ export function DropZone(props) {
48
48
  onMoveNode: onMoveNode ?? (async () => { }),
49
49
  onCopyNode: onCopyNode ?? (async () => { }),
50
50
  trackNestedDrag: true,
51
+ acceptedFileExtensions,
51
52
  });
52
53
  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
53
54
  ? 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"withDropZone.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/withDropZone.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAER,gBAAgB,EAEnB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACrD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACjC,aAAa,CAAC,CAAC,CAAC,CAoClB"}
1
+ {"version":3,"file":"withDropZone.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/withDropZone.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,gCAAgC,CAAC;AAMxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,wBAAgB,YAAY,CAAC,CAAC,SAAS,gBAAgB,EACrD,gBAAgB,EAAE,aAAa,CAAC,CAAC,CAAC,GACjC,aAAa,CAAC,CAAC,CAAC,CAoClB"}
@@ -1 +1 @@
1
- {"version":3,"file":"withDropZone.js","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/withDropZone.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAMxD,OAAO,EACH,eAAe,EACf,aAAa,EACb,kBAAkB,GACrB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,UAAU,YAAY,CAC1B,gBAAkC;IAElC,MAAM,qBAAqB,GAAG,CAAC,KAAQ,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,KAAK,EACrB,IAAU,EACV,MAAW,EACX,UAAuC,EACvC,eAAoC,EACpC,EAAE;YACF,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAC7C,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,IAAI,EACrB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAEzB,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACtB,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,KAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;IACzC,CAAC,CAAC;IAEF,qBAAqB,CAAC,WAAW,GAAG,gBAClC,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAC3D,GAAG,CAAC;IAEJ,OAAO,qBAAqB,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"withDropZone.js","sourceRoot":"","sources":["../../../../../src/connect/components/drop-zone/withDropZone.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAMxD,OAAO,EACL,eAAe,EACf,aAAa,EACb,kBAAkB,GACnB,MAAM,gCAAgC,CAAC;AAGxC,MAAM,UAAU,YAAY,CAC1B,gBAAkC;IAElC,MAAM,qBAAqB,GAAG,CAAC,KAAQ,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAEpE,MAAM,SAAS,GAAG,KAAK,EACrB,IAAU,EACV,MAAW,EACX,UAAuC,EACvC,eAAoC,EACpC,EAAE;YACF,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7D,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;YAC7C,OAAO,CACL,KAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,IAAI,EACrB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAEzB,KAAC,gBAAgB,OAAK,KAAK,GAAI,GACtB,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,KAAC,gBAAgB,OAAK,KAAK,GAAI,CAAC;IACzC,CAAC,CAAC;IAEF,qBAAqB,CAAC,WAAW,GAAG,gBAClC,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,IAAI,WAC3D,GAAG,CAAC;IAEJ,OAAO,qBAAqB,CAAC;AAC/B,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":"AACA,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":"AACA,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,20 +1,63 @@
1
1
  import { UI_NODE } from "#connect";
2
2
  import { useCallback, useMemo, useRef, useState } from "react";
3
3
  export function useDrop(props) {
4
- const { node, onAddFile, onCopyNode, onMoveNode, trackNestedDrag = false, } = props;
4
+ const { node, onAddFile, onCopyNode, onMoveNode, trackNestedDrag = false, acceptedFileExtensions, } = props;
5
5
  const [isDropTarget, setIsDropTarget] = useState(false);
6
6
  const dragDepthRef = useRef(0);
7
+ /**
8
+ * Check if the dragged content is valid based on accepted file extensions
9
+ */
10
+ const isValidDropContent = useCallback((dataTransfer) => {
11
+ if (!acceptedFileExtensions || acceptedFileExtensions.length === 0) {
12
+ return true;
13
+ }
14
+ // Always allow internal node dragging
15
+ if (dataTransfer.types.includes(UI_NODE)) {
16
+ return true;
17
+ }
18
+ // Check if dragging files
19
+ if (dataTransfer.types.includes("Files")) {
20
+ const items = Array.from(dataTransfer.items);
21
+ return items.some((item) => {
22
+ if (item.kind === "file") {
23
+ // Check MIME types for zip files
24
+ if (item.type === "application/zip" ||
25
+ item.type === "application/x-zip-compressed") {
26
+ return acceptedFileExtensions.includes(".zip");
27
+ }
28
+ // For custom extensions (.phd, .phdm), browsers might not report
29
+ // a specific MIME type (they show as '' or 'application/octet-stream')
30
+ // We allow these through and do stricter validation on drop
31
+ if (item.type === "" || item.type === "application/octet-stream") {
32
+ return true;
33
+ }
34
+ }
35
+ return false;
36
+ });
37
+ }
38
+ return false;
39
+ }, [acceptedFileExtensions]);
7
40
  const onDragOver = useCallback((event) => {
8
41
  event.preventDefault();
9
42
  event.stopPropagation();
10
- setIsDropTarget(true);
11
- }, []);
43
+ const isValid = isValidDropContent(event.dataTransfer);
44
+ if (isValid) {
45
+ setIsDropTarget(true);
46
+ }
47
+ else {
48
+ // Visual feedback that dropping is not allowed
49
+ event.dataTransfer.dropEffect = "none";
50
+ }
51
+ }, [isValidDropContent]);
12
52
  const onDragEnter = useCallback((event) => {
13
53
  event.preventDefault();
14
54
  event.stopPropagation();
15
- dragDepthRef.current += 1;
16
- setIsDropTarget(true);
17
- }, []);
55
+ const isValid = isValidDropContent(event.dataTransfer);
56
+ if (isValid) {
57
+ dragDepthRef.current += 1;
58
+ setIsDropTarget(true);
59
+ }
60
+ }, [isValidDropContent]);
18
61
  const onDragLeaveDepth = useCallback((event) => {
19
62
  event.preventDefault();
20
63
  event.stopPropagation();
@@ -37,7 +80,16 @@ export function useDrop(props) {
37
80
  return;
38
81
  }
39
82
  try {
40
- const droppedFiles = getDroppedFiles(event.dataTransfer.items).filter(Boolean);
83
+ let droppedFiles = getDroppedFiles(event.dataTransfer.items).filter(Boolean);
84
+ // Filter files by accepted extensions if specified
85
+ if (acceptedFileExtensions && acceptedFileExtensions.length > 0) {
86
+ droppedFiles = droppedFiles.filter((file) => {
87
+ if (!file)
88
+ return false;
89
+ const fileName = file.name.toLowerCase();
90
+ return acceptedFileExtensions.some((ext) => fileName.endsWith(ext.toLowerCase()));
91
+ });
92
+ }
41
93
  if (droppedFiles.length) {
42
94
  for (const file of droppedFiles) {
43
95
  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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"}