@brftech/filex-core 0.30.1 → 0.32.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 +37 -2
- package/dist/filex-core.js +10571 -8278
- package/dist/filex-core.js.map +1 -1
- package/dist/filex-core.umd.cjs +95 -87
- package/dist/filex-core.umd.cjs.map +1 -1
- package/dist/index.d.ts +548 -66
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/src/FileExplorer.vue +1104 -26
- package/src/components/Breadcrumb.vue +4 -2
- package/src/components/CommandPalette.vue +18 -2
- package/src/components/E2eRecoveryUnlockModal.vue +193 -0
- package/src/components/EncryptedFolderModal.vue +10 -0
- package/src/components/FilterBar.vue +244 -0
- package/src/components/GalleryView.vue +48 -0
- package/src/components/GridView.vue +85 -3
- package/src/components/InspectorPanel.vue +231 -8
- package/src/components/ListView.vue +11 -1
- package/src/components/RecoveryKeyModal.vue +133 -0
- package/src/components/SecondaryPane.vue +15 -1
- package/src/components/SideNav.vue +329 -6
- package/src/components/StarButton.vue +27 -15
- package/src/components/Toolbar.vue +235 -49
- package/src/components/ViewSwitcher.vue +81 -0
- package/src/composables/useFileApi.ts +83 -0
- package/src/composables/useKeyboardShortcuts.ts +7 -0
- package/src/index.ts +33 -1
- package/src/lib/e2ecrypto.ts +716 -70
- package/src/lib/fileFilters.ts +143 -0
- package/src/lib/listing.ts +103 -1
- package/src/lib/star.ts +42 -0
- package/src/lib/tags.ts +105 -0
- package/src/locales/en.ts +154 -2
- package/src/locales/tr.ts +154 -2
- package/src/modals/PermissionsModal.vue +18 -2
- package/src/styles/base.css +743 -0
- package/src/types/ExplorerConfig.ts +53 -1
- package/src/types/FileNode.ts +23 -0
package/README.md
CHANGED
|
@@ -50,7 +50,8 @@ const config = {
|
|
|
50
50
|
trashVisible: true,
|
|
51
51
|
sideNav: true, // the navigation panel (default on)
|
|
52
52
|
connections: true, // its "How to connect" + "API keys" entries
|
|
53
|
-
uiProfile: 'standard', //
|
|
53
|
+
uiProfile: 'standard', // 'simple' — one pane, list/grid, no tabs
|
|
54
|
+
// 'drive' — that, plus the Drive-shaped shell
|
|
54
55
|
};
|
|
55
56
|
</script>
|
|
56
57
|
|
|
@@ -108,7 +109,7 @@ const config = {
|
|
|
108
109
|
apiBase: 'https://files.example.com',
|
|
109
110
|
auth: { kind: 'bearer', token },
|
|
110
111
|
sideNav: true, // default; `rootPath` flips it off
|
|
111
|
-
uiProfile: 'simple', // 'standard' (default) | 'simple'
|
|
112
|
+
uiProfile: 'simple', // 'standard' (default) | 'simple' | 'drive'
|
|
112
113
|
};
|
|
113
114
|
```
|
|
114
115
|
|
|
@@ -121,11 +122,45 @@ to be told to ask an administrator. Set `connections: false` to leave them out.
|
|
|
121
122
|
⚠ Never gated on role in the UI: `/api/tokens` caps every scope against the
|
|
122
123
|
caller's own account, and the panel renders what the API returns.
|
|
123
124
|
|
|
125
|
+
⚠ **API keys is dropped for an app token** — along with Recent, Starred and
|
|
126
|
+
Shared with me — because those surfaces belong to one person and an app token
|
|
127
|
+
belongs to none. `ConnectionsPanel` degrades with it: the guides stay, and
|
|
128
|
+
`S3KeysPanel` / `SSHKeysPanel` / `NFSExportsPanel` / `TokensPanel` show their
|
|
129
|
+
existing "cannot mint" note instead of a form, driven by the server's 403
|
|
130
|
+
through the `canMint` / `canAdd` flag each composable already reports. That is `callerKind`, read from
|
|
131
|
+
`GET /api/files/capabilities` (`caller_kind`) and overridable per embed; it is a
|
|
132
|
+
credential-kind check, not the role check the paragraph above forbids. "How to
|
|
133
|
+
connect", Upload, the storages and Trash stay. See
|
|
134
|
+
[docs/MCP.md → Token kinds](https://github.com/BRF-Tech/filex/blob/main/docs/MCP.md#token-kinds--user-vs-app).
|
|
135
|
+
|
|
124
136
|
`uiProfile: 'simple'` is a preset, not a feature switch — nothing is removed
|
|
125
137
|
from the build. It turns off the tab strip and the split pane, reduces the view
|
|
126
138
|
switcher to list + grid, and starts the navigation panel expanded, for the
|
|
127
139
|
people who want a file drive rather than a file manager.
|
|
128
140
|
|
|
141
|
+
`uiProfile: 'drive'` is `simple` plus the shell those people already know:
|
|
142
|
+
|
|
143
|
+
- one primary **+ New** menu in the panel (upload files · new folder · request
|
|
144
|
+
files) instead of the Upload / New folder pair,
|
|
145
|
+
- one **search field across the header** with a ⌘K / Ctrl+K chip that hands the
|
|
146
|
+
query to the command palette — the field searches the folder you are in, the
|
|
147
|
+
palette is where "everywhere", saved searches and commands live,
|
|
148
|
+
- a **filter row** under the breadcrumb: Type · Modified · Size,
|
|
149
|
+
- **Folders** and **Files** as labelled sections in grid view,
|
|
150
|
+
- the details panel split into **Details** and **Activity**, with "People with
|
|
151
|
+
access" and a share-link row,
|
|
152
|
+
- a **storage line** under the navigation (`GET /api/files/quota/me`).
|
|
153
|
+
|
|
154
|
+
Nothing is removed here either: density, theme, the shortcut editor, the tour
|
|
155
|
+
and the other view modes all live in the header's "⋯" menu, and the view
|
|
156
|
+
switcher and details toggle move to the breadcrumb row rather than disappearing.
|
|
157
|
+
|
|
158
|
+
⚠ There is deliberately **no People filter** and no Owner column, though the
|
|
159
|
+
mockups this profile came from draw both: a listing row carries no owner
|
|
160
|
+
(`nodes.owner_id` is quota bookkeeping, serialized by nothing) and the listing
|
|
161
|
+
endpoint reads no owner parameter. A chip that opens, offers names and changes
|
|
162
|
+
nothing is worse than no chip.
|
|
163
|
+
|
|
129
164
|
### Connections
|
|
130
165
|
|
|
131
166
|
A second surface, for reaching the same server *without* a browser. filex can
|