@brftech/filex-core 0.29.0 → 0.30.1

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.
@@ -257,6 +257,74 @@ export interface ExplorerConfig {
257
257
  /** Whether the info panel toggle is visible. */
258
258
  showInfoPanel?: boolean;
259
259
 
260
+ /**
261
+ * Which set of chrome the explorer presents. A PRESET, not a feature switch:
262
+ * nothing is removed from the code, and every capability stays reachable —
263
+ * `'simple'` only changes what is on screen by default.
264
+ *
265
+ * 'standard' (default) — everything: tab strip, split pane, all three view
266
+ * modes. The tool the explorer has always been.
267
+ * 'simple' — one pane, one folder, list/grid only. The
268
+ * navigation panel starts expanded, the tab strip
269
+ * and split pane are off, the gallery view mode and
270
+ * the host's "How to connect" surface are hidden.
271
+ *
272
+ * Why it exists (GitHub #14): the reporter's users are not in IT and read
273
+ * split panes, tabs and mount instructions as a file manager they would have
274
+ * to relearn. The answer was NOT a second UI — one explorer, configured, so
275
+ * a fix lands in one place for every surface that mounts this package.
276
+ *
277
+ * ⚠ It does not gate the navigation panel. The panel ships in both profiles,
278
+ * for administrators too; only its default expanded/collapsed state and the
279
+ * rest of the chrome differ. A viewer's own collapse choice, once made,
280
+ * outranks the profile — it is a per-viewer preference, not a policy.
281
+ */
282
+ uiProfile?: 'standard' | 'simple';
283
+
284
+ /**
285
+ * Render the navigation panel (Upload · Recent / Starred / Shared with me /
286
+ * Trash · the storage list). Collapsible to an icon rail by the viewer, whose
287
+ * choice is remembered per browser.
288
+ *
289
+ * Default: ON — everywhere, including the desktop app and every embed. This
290
+ * package is the reason those are one product; a panel that appeared in the
291
+ * web app and nowhere else would turn it back into three (0.16.0 did exactly
292
+ * that with `tabStrip` and it had to be undone).
293
+ *
294
+ * ⚠ ONE exception, and it is about `rootPath`, not about who is embedding: a
295
+ * confined embed has no storage list to show, and its views would list files
296
+ * from OUTSIDE the folder the embed was confined to. So `rootPath` flips the
297
+ * default to off. Setting `sideNav: true` alongside `rootPath` still wins —
298
+ * the panel is then yours, along with what its views will show.
299
+ */
300
+ sideNav?: boolean;
301
+
302
+ /**
303
+ * Show the navigation panel's **Connections** entries — "How to connect"
304
+ * (the storage list and the per-protocol guides: WebDAV · SFTP · FTPS · S3 ·
305
+ * NFS · `filex mount`) and **API keys** (mint and revoke the tokens three of
306
+ * those protocols sign in with).
307
+ *
308
+ * Default: on, EXCEPT under `uiProfile: 'simple'`, where it is off. Those two
309
+ * defaults answer two different people: #14's reporter called mount
310
+ * instructions power-user noise in front of users who are not in IT, and an
311
+ * embedder's own tenant may still legitimately need an S3 key. Whichever one
312
+ * you are, say so explicitly and the default stops mattering.
313
+ *
314
+ * ⚠ Not gated on role, ever. The backend decides what a caller may see —
315
+ * ConnectionsPanel renders what the API returns, and `/api/tokens` caps every
316
+ * scope against the caller's own role and grants. A UI-side role check here
317
+ * would only hide the surface from the accounts that need it most; that is
318
+ * the bug this became: for a year the sole place to mint the token the FTPS
319
+ * guide told you to use was the admin panel.
320
+ *
321
+ * ⚠ The entries live in the panel, so `sideNav: false` takes them with it.
322
+ * Hosts that want the surface without the panel mount `<filex-connections>`
323
+ * (or `ConnectionsPanel`) on a page of their own.
324
+ */
325
+ connections?: boolean;
326
+
327
+
260
328
  /** Default view. */
261
329
  viewMode?: 'list' | 'grid';
262
330