@noya-app/noya-file-explorer 0.0.13 → 0.0.15

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
@@ -1100,6 +1100,15 @@ var require_lib = __commonJS({
1100
1100
  }
1101
1101
  });
1102
1102
 
1103
+ // src/formatByteSize.ts
1104
+ var byteSizeUnits = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
1105
+ function formatByteSize(size) {
1106
+ const unitIndex = Math.floor(Math.log(size) / Math.log(1024));
1107
+ const unit = byteSizeUnits[unitIndex];
1108
+ const value = size / Math.pow(1024, unitIndex);
1109
+ return `${value.toFixed(1)} ${unit}`;
1110
+ }
1111
+
1103
1112
  // src/MediaCollection.tsx
1104
1113
  import {
1105
1114
  ActionMenu,
@@ -1532,7 +1541,8 @@ var MediaCollection = memo(
1532
1541
  scrollable = false,
1533
1542
  sortable = false,
1534
1543
  renderEmptyState,
1535
- sharedDragProps
1544
+ sharedDragProps,
1545
+ onClickItem
1536
1546
  }, ref) {
1537
1547
  const setMedia = useCallback(
1538
1548
  (...args) => {
@@ -1621,7 +1631,7 @@ var MediaCollection = memo(
1621
1631
  setExpandedMap(initialExpanded);
1622
1632
  }
1623
1633
  }, [initialExpanded]);
1624
- const handleExpanded = useCallback(
1634
+ const getExpanded = useCallback(
1625
1635
  (item) => {
1626
1636
  if (!expandable) return void 0;
1627
1637
  if (item.kind !== "folder") return void 0;
@@ -1719,6 +1729,7 @@ var MediaCollection = memo(
1719
1729
  },
1720
1730
  [media, tree, setMedia]
1721
1731
  );
1732
+ const [isUploading, setIsUploading] = useState(false);
1722
1733
  const handleUpload = useCallback(
1723
1734
  async (selectedId) => {
1724
1735
  try {
@@ -1734,6 +1745,7 @@ var MediaCollection = memo(
1734
1745
  asset: createMediaAsset({ assetId: asset.id })
1735
1746
  };
1736
1747
  });
1748
+ setIsUploading(true);
1737
1749
  const newMediaMap = await Promise.all(uploadPromises);
1738
1750
  setMedia(
1739
1751
  { name: "Add media items", timestamp: Date.now() },
@@ -1746,6 +1758,8 @@ var MediaCollection = memo(
1746
1758
  );
1747
1759
  } catch (error) {
1748
1760
  console.error("Failed to upload files:", error);
1761
+ } finally {
1762
+ setIsUploading(false);
1749
1763
  }
1750
1764
  },
1751
1765
  [tree.idToPathMap, setMedia, media, assetManager]
@@ -1984,7 +1998,8 @@ var MediaCollection = memo(
1984
1998
  FileExplorerUploadButton,
1985
1999
  {
1986
2000
  showUploadButton,
1987
- onUpload: () => handleUpload(rootMediaItem.id)
2001
+ onUpload: () => handleUpload(rootMediaItem.id),
2002
+ isUploading
1988
2003
  },
1989
2004
  right
1990
2005
  ),
@@ -2018,7 +2033,7 @@ var MediaCollection = memo(
2018
2033
  return "Enter file name";
2019
2034
  }
2020
2035
  },
2021
- getExpanded: handleExpanded,
2036
+ getExpanded,
2022
2037
  setExpanded: handleSetExpanded,
2023
2038
  getRenamable: (item) => {
2024
2039
  if (item.id === rootMediaItem.id) return false;
@@ -2028,6 +2043,7 @@ var MediaCollection = memo(
2028
2043
  menuItems: assetContextMenuItems,
2029
2044
  onSelectMenuItem: handleMenuAction,
2030
2045
  onSelectionChange: setSelectedIds,
2046
+ onClickItem,
2031
2047
  onDoubleClickItem,
2032
2048
  onRename,
2033
2049
  renamable,
@@ -2044,7 +2060,7 @@ var MediaCollection = memo(
2044
2060
  if (file.kind !== "asset") return null;
2045
2061
  const asset = assets.find((a) => a.id === file.assetId);
2046
2062
  if (!asset) return null;
2047
- return /* @__PURE__ */ React.createElement(FileExplorerDetail, { selected, size }, (asset.size / 1024).toFixed(1), "KB");
2063
+ return /* @__PURE__ */ React.createElement(FileExplorerDetail, { selected, size }, formatByteSize(asset.size));
2048
2064
  },
2049
2065
  renderEmptyState: () => renderEmptyState?.() ?? /* @__PURE__ */ React.createElement(FileExplorerEmptyState, null),
2050
2066
  itemRoleDescription: "clickable file item",
@@ -2139,6 +2155,7 @@ export {
2139
2155
  createMediaItem,
2140
2156
  createMediaItemTree,
2141
2157
  deleteMediaItems,
2158
+ formatByteSize,
2142
2159
  getDepthMap,
2143
2160
  getParentDirectories,
2144
2161
  getVisibleItems,