@harryy/react-file-browser 1.1.1 → 1.3.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.
package/README.md CHANGED
@@ -33,6 +33,23 @@ S3, Cloudflare R2, Supabase Storage, an in-memory store, or any backend you impl
33
33
  shipped.
34
34
  - **Read-only mode**, comfortable/compact density, ESM-only, fully typed.
35
35
 
36
+ ### Responsive layouts
37
+
38
+ The browser responds to its **container width**, including when embedded in a narrow modal or split
39
+ pane. Below 40rem (640px with the default root font size), tap an item to open it. Long-press for
40
+ multi-selection, or choose **Browser options → Select items**, then use the visible checkboxes and
41
+ bottom action bar. Search stays visible; filter, sort, view, and folder creation live in Browser
42
+ options. Upload remains available above the footer.
43
+
44
+ Details use the sidebar at 64rem and above, and an on-demand sheet at smaller widths. On narrow
45
+ layouts, select an item and choose **Details**. `showDetailsPanel={false}` hides both presentations.
46
+ Custom item and details renderers should also use fluid widths.
47
+
48
+ Dialogs fit the available viewport height. Narrow menus and conflicts use bottom sheets. The
49
+ provider's transfer widget responds to the viewport, starts collapsed on phones, and expands into a
50
+ scrollable queue without changing transfer state. Desktop mouse and keyboard interactions remain
51
+ available, and touch controls retain their minimum target size in compact density.
52
+
36
53
  ## Install
37
54
 
38
55
  ```bash
@@ -210,7 +227,7 @@ or `bulkDownloadUrl`, those controls are hidden. Recursive folder drops are reje
210
227
  | `onSearchQueryChange` | `(query) => void` | None | Receives user-driven search changes. |
211
228
  | `density` | `"comfortable" \| "compact"` | `"comfortable"` | Row/tile density. |
212
229
  | `readOnly` | `boolean` | `false` | Hides all mutating affordances. |
213
- | `showDetailsPanel` | `boolean` | `true` | Toggles the right-hand details panel. |
230
+ | `showDetailsPanel` | `boolean` | `true` | Toggles details, shown as a sidebar or responsive sheet. |
214
231
  | `uploadPolicy` | `FileBrowserUploadPolicy` | None | Reject files before they enqueue. |
215
232
  | `uploadConflictResolutions` | `FileBrowserUploadConflictResolution[]` | all | Allowed conflict-dialog actions. |
216
233
  | `allowClientZipFallback` | `boolean` | `true` | Allows browser-built ZIPs when no server ZIP exists. |
@@ -250,6 +267,11 @@ own UI. The `FileBrowser` component is a consumer of this hook.
250
267
  It also accepts controlled `path`, `searchQuery`, and their change callbacks. `navigate(path)` emits a
251
268
  `programmatic` path-change source, while `open(folder)` emits the complete target item.
252
269
 
270
+ For tree-style list views, `listRows` flattens expanded folders into `{ type: 'item', item, depth,
271
+ expanded }` and `{ type: 'status', parentPath, depth, status }` rows. Drive expansion with
272
+ `expandFolder`, `collapseFolder`, `toggleFolder`, and `loadMoreFolder`. `visibleItems` lists items in
273
+ on-screen order for the active view and backs range selection and keyboard movement.
274
+
253
275
  ### Entry points
254
276
 
255
277
  | Import | Contents |
@@ -295,6 +317,12 @@ documents every token and its default.
295
317
  - Move-capable adapters enable the destination tree picker, Cut/Paste, and drag onto folders.
296
318
  - Keyboard shortcuts include Enter preview/open, F2 rename, Delete confirm, Cmd/Ctrl+A selection, and
297
319
  Cmd/Ctrl+C/X/V for adapter-gated copy, cut, and paste.
320
+ - List view doubles as a tree, like an OS outline view: the chevron (or Right arrow) expands a folder
321
+ inline, Left arrow collapses it or jumps to the parent, and double-click or Enter still opens the
322
+ folder. Children load lazily through `adapter.list` with per-folder "Load more" pagination. Nested
323
+ items support selection, preview, rename, delete, move, and paste like top-level items. Collapsing a
324
+ folder, switching to grid view, or navigating clears selections that would become hidden. Search
325
+ narrows the current folder only; the kind filter and sort apply at every level.
298
326
 
299
327
  ### Transfer persistence and concurrency
300
328
 
@@ -1 +1 @@
1
- {"version":3,"file":"file-browser.d.ts","sourceRoot":"","sources":["../../src/components/file-browser.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-browser.d.ts","sourceRoot":"","sources":["../../src/components/file-browser.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { MouseEvent, ReactNode, RefObject, TouchEvent } from 'react';
2
+ export declare function useNarrowViewport(): boolean;
3
+ export declare function useBrowserLayout(ref: RefObject<HTMLElement | null>): {
4
+ isNarrow: boolean;
5
+ hasSidebar: boolean;
6
+ };
7
+ export declare function useLongPress(onLongPress: () => void): {
8
+ onTouchStart(event: TouchEvent): void;
9
+ onTouchMove: () => void;
10
+ onTouchCancel(): void;
11
+ onTouchEnd(): void;
12
+ onClickCapture(event: MouseEvent): void;
13
+ onContextMenuCapture(event: MouseEvent): void;
14
+ };
15
+ export declare function ResponsiveDialog({ children, label, narrow, onClose }: {
16
+ children: ReactNode;
17
+ label: string;
18
+ narrow?: boolean;
19
+ onClose: () => void;
20
+ }): import("react").JSX.Element;
21
+ export declare function ActionSheet({ children, label, onClose }: {
22
+ children: ReactNode;
23
+ label: string;
24
+ onClose: () => void;
25
+ }): import("react").JSX.Element;
26
+ //# sourceMappingURL=responsive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responsive.d.ts","sourceRoot":"","sources":["../../src/components/responsive.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAEzE,wBAAgB,iBAAiB,YAWhC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC;;;EA8BlE;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,IAAI;wBAc9B,UAAU;;;;0BAwBR,UAAU;gCAOJ,UAAU;EAOvC;AAKD,wBAAgB,gBAAgB,CAAC,EAChC,QAAQ,EACR,KAAK,EACL,MAAc,EACd,OAAO,EACP,EAAE;IACF,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;CACnB,+BAoEA;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,+BAoBpH"}
@@ -1,6 +1,25 @@
1
1
  import type { Dispatch, SetStateAction } from 'react';
2
2
  import type { FileBrowserAdapter, FileNode } from './types';
3
3
  export type FileBrowserStatus = 'idle' | 'loading' | 'ready' | 'error';
4
+ export type FileBrowserFolderChildren<TMetadata = unknown> = {
5
+ status: 'loading' | 'ready' | 'error';
6
+ items: FileNode<TMetadata>[];
7
+ cursor?: string;
8
+ error: Error | null;
9
+ };
10
+ /** A flattened list-view row: an item at some nesting depth, or a status line for an expanded folder. */
11
+ export type FileBrowserListRow<TMetadata = unknown> = {
12
+ type: 'item';
13
+ item: FileNode<TMetadata>;
14
+ depth: number;
15
+ expanded: boolean;
16
+ } | {
17
+ type: 'status';
18
+ parentPath: string;
19
+ depth: number;
20
+ status: 'loading' | 'empty' | 'error' | 'more';
21
+ error: Error | null;
22
+ };
4
23
  export type FileBrowserView = 'grid' | 'list';
5
24
  export type FileBrowserKindFilter = 'all' | 'files' | 'folders';
6
25
  export type FileBrowserUploadConflictResolution = 'replace' | 'keep-both' | 'skip';
@@ -58,6 +77,11 @@ export type UseFileBrowserResult<TMetadata = unknown> = {
58
77
  sortBy: 'name' | 'modifiedAt' | 'size';
59
78
  sortDirection: 'asc' | 'desc';
60
79
  filteredItems: FileNode<TMetadata>[];
80
+ /** List view rows with expanded folders' children inlined. */
81
+ listRows: FileBrowserListRow<TMetadata>[];
82
+ /** Items in on-screen order: `filteredItems` in grid view, every item row of `listRows` in list view. */
83
+ visibleItems: FileNode<TMetadata>[];
84
+ expandedPaths: string[];
61
85
  setView: Dispatch<SetStateAction<FileBrowserView>>;
62
86
  setSearchQuery: Dispatch<SetStateAction<string>>;
63
87
  setFilterKind: Dispatch<SetStateAction<FileBrowserKindFilter>>;
@@ -67,6 +91,10 @@ export type UseFileBrowserResult<TMetadata = unknown> = {
67
91
  loadMore: () => Promise<void>;
68
92
  navigate: (path: string, context?: FileBrowserPathChangeContext<TMetadata>) => Promise<void>;
69
93
  open: (node: FileNode<TMetadata>) => Promise<void>;
94
+ expandFolder: (path: string) => void;
95
+ collapseFolder: (path: string) => void;
96
+ toggleFolder: (path: string) => void;
97
+ loadMoreFolder: (path: string) => void;
70
98
  selectOnly: (path: string) => void;
71
99
  toggleSelection: (path: string) => void;
72
100
  selectRange: (path: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-file-browser.d.ts","sourceRoot":"","sources":["../../src/core/use-file-browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-file-browser.d.ts","sourceRoot":"","sources":["../../src/core/use-file-browser.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { FileBrowserAdapterError, FileBrowserBulkActionError, type FileBrowserAdapter, type FileBrowserBulkAction, type FileBrowserBulkActionFailure, type FileBrowserListOptions, type FileBrowserListResult, type FileBrowserUploadOptions, type FileNode, type FileNodeKind, type MultipartUploadPart } from './core/types';
2
2
  export { ROOT_PATH, getFileBrowserBasename, getFileBrowserDirname, isFileBrowserDescendantOrSelf, joinFileBrowserPath, normalizeFileBrowserPath, replaceFileBrowserPathPrefix } from './core/path';
3
3
  export { FILE_BROWSER_THEME_CONTRACT, getFileBrowserDensityAttributes, type FileBrowserDensity } from './theme';
4
- export { useFileBrowser, type FileBrowserCapabilities, type FileBrowserClipboard, type FileBrowserKindFilter, type FileBrowserPathChangeContext, type FileBrowserStatus, type FileBrowserUploadConflictResolution, type FileBrowserUploadFilesOptions, type FileBrowserView, type UseFileBrowserOptions, type UseFileBrowserResult } from './core/use-file-browser';
4
+ export { useFileBrowser, type FileBrowserCapabilities, type FileBrowserClipboard, type FileBrowserFolderChildren, type FileBrowserKindFilter, type FileBrowserListRow, type FileBrowserPathChangeContext, type FileBrowserStatus, type FileBrowserUploadConflictResolution, type FileBrowserUploadFilesOptions, type FileBrowserView, type UseFileBrowserOptions, type UseFileBrowserResult } from './core/use-file-browser';
5
5
  export { FileBrowser, type FileBrowserProps } from './components/file-browser';
6
6
  export type { FileBrowserUploadPolicy, FileBrowserUploadRejection } from './components/file-browser';
7
7
  export { FileBrowserProvider, useTransferSnapshot, useTransfers, type FileBrowserProviderProps } from './transfers/file-browser-provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,cAAc,CAAA;AACrB,OAAO,EACN,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC/G,OAAO,EACN,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,KAAK,wBAAwB,EAC7B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACN,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,MAAM,8BAA8B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,uBAAuB,EACvB,0BAA0B,EAC1B,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,MAAM,cAAc,CAAA;AACrB,OAAO,EACN,SAAS,EACT,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,mBAAmB,EACnB,wBAAwB,EACxB,4BAA4B,EAC5B,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,2BAA2B,EAAE,+BAA+B,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC/G,OAAO,EACN,cAAc,EACd,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,KAAK,4BAA4B,EACjC,KAAK,iBAAiB,EACtB,KAAK,mCAAmC,EACxC,KAAK,6BAA6B,EAClC,KAAK,eAAe,EACpB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,YAAY,EAAE,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AACpG,OAAO,EACN,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,KAAK,wBAAwB,EAC7B,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACN,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,MAAM,8BAA8B,CAAA"}