@unisim/sdk 0.160.0 → 0.162.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.
Files changed (51) hide show
  1. package/android/src/main/AndroidManifest.xml +1 -1
  2. package/dist/AccountLimits.d.ts.map +1 -1
  3. package/dist/AccountLimits.js +11 -1
  4. package/dist/AccountLimits.js.map +1 -1
  5. package/dist/AdvancedMenu.d.ts +2 -2
  6. package/dist/AdvancedMenu.d.ts.map +1 -1
  7. package/dist/AdvancedMenu.js +8 -2
  8. package/dist/AdvancedMenu.js.map +1 -1
  9. package/dist/PreferencesDialog.d.ts +18 -1
  10. package/dist/PreferencesDialog.d.ts.map +1 -1
  11. package/dist/PreferencesDialog.js +38 -7
  12. package/dist/PreferencesDialog.js.map +1 -1
  13. package/dist/UniversalAppsNavBar.d.ts +9 -1
  14. package/dist/UniversalAppsNavBar.d.ts.map +1 -1
  15. package/dist/UniversalAppsNavBar.js +2 -2
  16. package/dist/UniversalAppsNavBar.js.map +1 -1
  17. package/dist/UniversalNavBar.d.ts +9 -1
  18. package/dist/UniversalNavBar.d.ts.map +1 -1
  19. package/dist/UniversalNavBar.js +3 -1
  20. package/dist/UniversalNavBar.js.map +1 -1
  21. package/dist/UserCountLine.d.ts.map +1 -1
  22. package/dist/UserCountLine.js +2 -1
  23. package/dist/UserCountLine.js.map +1 -1
  24. package/dist/UserProfile.d.ts +9 -1
  25. package/dist/UserProfile.d.ts.map +1 -1
  26. package/dist/UserProfile.js +3 -3
  27. package/dist/UserProfile.js.map +1 -1
  28. package/dist/folderDrop.d.ts +73 -0
  29. package/dist/folderDrop.d.ts.map +1 -0
  30. package/dist/folderDrop.js +145 -0
  31. package/dist/folderDrop.js.map +1 -0
  32. package/dist/i18n.d.ts.map +1 -1
  33. package/dist/i18n.js +80 -40
  34. package/dist/i18n.js.map +1 -1
  35. package/dist/index.d.ts +3 -2
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +2 -1
  38. package/dist/index.js.map +1 -1
  39. package/dist/presence.d.ts +11 -7
  40. package/dist/presence.d.ts.map +1 -1
  41. package/dist/presence.js +15 -5
  42. package/dist/presence.js.map +1 -1
  43. package/dist/productNames.d.ts +7 -0
  44. package/dist/productNames.d.ts.map +1 -1
  45. package/dist/productNames.js +11 -0
  46. package/dist/productNames.js.map +1 -1
  47. package/dist/useFileDrop.d.ts +27 -1
  48. package/dist/useFileDrop.d.ts.map +1 -1
  49. package/dist/useFileDrop.js +35 -5
  50. package/dist/useFileDrop.js.map +1 -1
  51. package/package.json +2 -1
@@ -65,6 +65,22 @@ export interface UseFileDropOptions {
65
65
  * page over rather than both of them taking the same file.
66
66
  */
67
67
  pageWide?: boolean;
68
+ /**
69
+ * Take FOLDERS too: a dropped folder is walked, subfolders and all, and every
70
+ * file inside arrives with its place in the tree on `webkitRelativePath`
71
+ * (`"Holiday/Day 1/IMG_0001.jpg"`) — read it back with `relativeFolderOf`.
72
+ * It also makes `openFolder` work, for a "choose a folder" button.
73
+ *
74
+ * Off by default because an app that has never thought about folders should
75
+ * not suddenly be handed four hundred files from one drop. Without it a
76
+ * dropped folder is whatever the browser makes of it, as before.
77
+ *
78
+ * ⚠️ A folder drop reaches `onFiles` a moment AFTER the drop (the walk is
79
+ * asynchronous), and in one call once the whole tree has been read. A drop
80
+ * with no folder in it is untouched — synchronous, same files, same order.
81
+ * Hidden files (`.DS_Store` and friends) are left out; see `folderDrop.ts`.
82
+ */
83
+ folders?: boolean;
68
84
  }
69
85
  export interface FileDrop {
70
86
  /**
@@ -83,6 +99,16 @@ export interface FileDrop {
83
99
  pageOver: boolean;
84
100
  /** Open the file picker — wire this to your own button if you have one. */
85
101
  open: () => void;
102
+ /**
103
+ * Open the FOLDER picker. Does nothing unless `folders` is on and
104
+ * `canOpenFolder` is true — so gate the button on `canOpenFolder`.
105
+ */
106
+ openFolder: () => void;
107
+ /**
108
+ * `folders` is on AND this browser can pick a folder through the dialog —
109
+ * false on phones, where the input claims to and the picker does not.
110
+ */
111
+ canOpenFolder: boolean;
86
112
  /** Spread onto the drop target. */
87
113
  dropzoneProps: {
88
114
  onDragEnter: (e: DragEvent) => void;
@@ -121,5 +147,5 @@ export interface FileDrop {
121
147
  }) => void;
122
148
  };
123
149
  }
124
- export declare function useFileDrop({ onFiles, accept, multiple, clickToBrowse, label, disabled, pageWide, }: UseFileDropOptions): FileDrop;
150
+ export declare function useFileDrop({ onFiles, accept, multiple, clickToBrowse, label, disabled, pageWide, folders, }: UseFileDropOptions): FileDrop;
125
151
  //# sourceMappingURL=useFileDrop.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAA;IACb;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,mCAAmC;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAClC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;QACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;QACtC,IAAI,CAAC,EAAE,QAAQ,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB;;;;WAIG;QACH,sBAAsB,EAAE,EAAE,CAAA;KAC3B,CAAA;IACD;;;;;;;;;OASG;IACH,UAAU,EAAE;QACV,GAAG,EAAE,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAA;QAC1C,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,OAAO,CAAA;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE;YAAE,MAAM,EAAE,gBAAgB,CAAA;SAAE,KAAK,IAAI,CAAA;KACpD,CAAA;CACF;AAyGD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,QAAe,EACf,aAAoB,EACpB,KAA6C,EAC7C,QAAgB,EAChB,QAAgB,GACjB,EAAE,kBAAkB,GAAG,QAAQ,CA2G/B"}
1
+ {"version":3,"file":"useFileDrop.d.ts","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAIrD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChD,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAA;IACb;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB;;;OAGG;IACH,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB,mCAAmC;IACnC,aAAa,EAAE;QACb,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,UAAU,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAClC,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QACnC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,IAAI,CAAA;QAC9B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;QACpB,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,CAAA;QACtC,IAAI,CAAC,EAAE,QAAQ,CAAA;QACf,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB;;;;WAIG;QACH,sBAAsB,EAAE,EAAE,CAAA;KAC3B,CAAA;IACD;;;;;;;;;OASG;IACH,UAAU,EAAE;QACV,GAAG,EAAE,CAAC,EAAE,EAAE,gBAAgB,GAAG,IAAI,KAAK,IAAI,CAAA;QAC1C,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,OAAO,CAAA;QACjB,QAAQ,EAAE,CAAC,CAAC,EAAE;YAAE,MAAM,EAAE,gBAAgB,CAAA;SAAE,KAAK,IAAI,CAAA;KACpD,CAAA;CACF;AAyGD,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,MAAM,EACN,QAAe,EACf,aAAoB,EACpB,KAA6C,EAC7C,QAAgB,EAChB,QAAgB,EAChB,OAAe,GAChB,EAAE,kBAAkB,GAAG,QAAQ,CA2I/B"}
@@ -1,5 +1,6 @@
1
1
  'use client';
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
+ import { canPickFolder, filesFromEntries, folderEntries, withoutHidden } from './folderDrop.js';
3
4
  /**
4
5
  * Every mounted `pageWide` zone, oldest first — one set of window listeners for
5
6
  * all of them rather than a set each, so N zones cannot each preventDefault and
@@ -68,7 +69,7 @@ function onPageDrop(e) {
68
69
  // well is how one file becomes two.
69
70
  if (inAnyZone(e.target))
70
71
  return;
71
- activeZone()?.take(e.dataTransfer?.files);
72
+ activeZone()?.take(e.dataTransfer);
72
73
  }
73
74
  function listen() {
74
75
  if (listening || typeof window === 'undefined')
@@ -91,7 +92,7 @@ function unlisten() {
91
92
  window.removeEventListener('drop', onPageDropCapture, true);
92
93
  window.removeEventListener('drop', onPageDrop);
93
94
  }
94
- export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse = true, label = 'Drop files here, or click to browse', disabled = false, pageWide = false, }) {
95
+ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse = true, label = 'Drop files here, or click to browse', disabled = false, pageWide = false, folders = false, }) {
95
96
  const inputRef = useRef(null);
96
97
  const setInputRef = useCallback((el) => {
97
98
  inputRef.current = el;
@@ -107,11 +108,23 @@ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse =
107
108
  if (list.length > 0)
108
109
  void onFiles(list);
109
110
  }, [onFiles]);
111
+ // ⚠️ `folderEntries` runs HERE, synchronously inside the drop event — the
112
+ // items list is emptied the moment the handler returns. Only the walk itself
113
+ // is allowed to be asynchronous.
114
+ const takeTransfer = useCallback((transfer) => {
115
+ const entries = folders
116
+ ? folderEntries(transfer?.items)
117
+ : null;
118
+ if (entries)
119
+ void filesFromEntries(entries).then(take);
120
+ else
121
+ take(transfer?.files);
122
+ }, [folders, take]);
110
123
  // Read through refs so registering does not depend on the caller memoising
111
124
  // `onFiles`. Re-registering on every render would reorder the stack — and the
112
125
  // stack is what decides which zone owns the page.
113
- const takeRef = useRef(take);
114
- takeRef.current = take;
126
+ const takeRef = useRef(takeTransfer);
127
+ takeRef.current = takeTransfer;
115
128
  const disabledRef = useRef(disabled);
116
129
  disabledRef.current = disabled;
117
130
  useEffect(() => {
@@ -136,6 +149,21 @@ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse =
136
149
  if (!disabled)
137
150
  inputRef.current?.click();
138
151
  }, [disabled]);
152
+ const [folderPickable] = useState(canPickFolder);
153
+ const canOpenFolder = folders && folderPickable;
154
+ // A throwaway input rather than a second one for the app to render: nothing
155
+ // about it is visible, and one fewer spread is one fewer thing to forget.
156
+ // Built fresh each time, so picking the same folder twice fires `change`.
157
+ const openFolder = useCallback(() => {
158
+ if (disabled || !canOpenFolder)
159
+ return;
160
+ const input = document.createElement('input');
161
+ input.type = 'file';
162
+ input.multiple = true;
163
+ input.webkitdirectory = true;
164
+ input.addEventListener('change', () => take(withoutHidden(Array.from(input.files ?? []))), { once: true });
165
+ input.click();
166
+ }, [disabled, canOpenFolder, take]);
139
167
  const reset = () => {
140
168
  depth.current = 0;
141
169
  setZoneOver(false);
@@ -146,6 +174,8 @@ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse =
146
174
  // everywhere else.
147
175
  pageOver: pageOver && !zoneOver,
148
176
  open,
177
+ openFolder,
178
+ canOpenFolder,
149
179
  dropzoneProps: {
150
180
  'data-unisim-dropzone': '',
151
181
  onDragEnter: (e) => {
@@ -168,7 +198,7 @@ export function useFileDrop({ onFiles, accept, multiple = true, clickToBrowse =
168
198
  e.preventDefault();
169
199
  reset();
170
200
  if (!disabled)
171
- take(e.dataTransfer?.files);
201
+ takeTransfer(e.dataTransfer);
172
202
  },
173
203
  ...(clickToBrowse && !disabled
174
204
  ? {
@@ -1 +1 @@
1
- {"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFileDrop.js","sourceRoot":"","sources":["../src/useFileDrop.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unisim/sdk",
3
- "version": "0.160.0",
3
+ "version": "0.162.0",
4
4
  "description": "Shared React SDK for the Universal Suite — auth, entitlements, usage telemetry, changelog, org admin.",
5
5
  "license": "MIT",
6
6
  "author": "Universal Simulation Ltd",
@@ -61,6 +61,7 @@
61
61
  "test:session-storage": "npm run build && node tests/session-storage.browser.mjs",
62
62
  "test:handoff": "npm run build && node tests/handoff.browser.mjs",
63
63
  "test:shared-signout": "node tests/shared-signout.mjs",
64
+ "test:folder-drop": "npm run build && node tests/folder-drop.mjs",
64
65
  "test:suite-apps": "npm run build && node tests/suite-apps.mjs",
65
66
  "test:suite-store": "npm run build && node tests/suite-store.browser.mjs",
66
67
  "test:suite-switcher": "npm run build && node tests/suite-switcher-close.browser.mjs",