@harkenapp/sdk-react-native 0.0.1-alpha.1 → 0.0.1-alpha.2

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 (278) hide show
  1. package/README.md +44 -7
  2. package/app.plugin.cjs +12 -17
  3. package/dist/__mocks__/async-storage.d.ts +16 -0
  4. package/dist/__mocks__/async-storage.d.ts.map +1 -0
  5. package/dist/__mocks__/async-storage.js +39 -0
  6. package/dist/__mocks__/async-storage.js.map +1 -0
  7. package/dist/__mocks__/expo-document-picker.d.ts +26 -0
  8. package/dist/__mocks__/expo-document-picker.d.ts.map +1 -0
  9. package/dist/__mocks__/expo-document-picker.js +25 -0
  10. package/dist/__mocks__/expo-document-picker.js.map +1 -0
  11. package/dist/__mocks__/expo-file-system.d.ts +42 -0
  12. package/dist/__mocks__/expo-file-system.d.ts.map +1 -0
  13. package/dist/__mocks__/expo-file-system.js +37 -0
  14. package/dist/__mocks__/expo-file-system.js.map +1 -0
  15. package/dist/__mocks__/expo-image-picker.d.ts +30 -0
  16. package/dist/__mocks__/expo-image-picker.d.ts.map +1 -0
  17. package/dist/__mocks__/expo-image-picker.js +30 -0
  18. package/dist/__mocks__/expo-image-picker.js.map +1 -0
  19. package/dist/__mocks__/expo-secure-store.d.ts +15 -0
  20. package/dist/__mocks__/expo-secure-store.d.ts.map +1 -0
  21. package/dist/__mocks__/expo-secure-store.js +30 -0
  22. package/dist/__mocks__/expo-secure-store.js.map +1 -0
  23. package/dist/__mocks__/react-native.d.ts +73 -0
  24. package/dist/__mocks__/react-native.d.ts.map +1 -0
  25. package/dist/__mocks__/react-native.js +45 -0
  26. package/dist/__mocks__/react-native.js.map +1 -0
  27. package/dist/api/client.d.ts +8 -8
  28. package/dist/api/client.d.ts.map +1 -1
  29. package/dist/api/client.js +17 -19
  30. package/dist/api/client.js.map +1 -1
  31. package/dist/api/client.test.d.ts +2 -0
  32. package/dist/api/client.test.d.ts.map +1 -0
  33. package/dist/api/client.test.js +417 -0
  34. package/dist/api/client.test.js.map +1 -0
  35. package/dist/api/errors.d.ts +3 -3
  36. package/dist/api/errors.d.ts.map +1 -1
  37. package/dist/api/errors.js +3 -3
  38. package/dist/api/errors.js.map +1 -1
  39. package/dist/api/errors.test.d.ts +2 -0
  40. package/dist/api/errors.test.d.ts.map +1 -0
  41. package/dist/api/errors.test.js +155 -0
  42. package/dist/api/errors.test.js.map +1 -0
  43. package/dist/api/index.d.ts +6 -6
  44. package/dist/api/index.d.ts.map +1 -1
  45. package/dist/api/index.js.map +1 -1
  46. package/dist/api/retry.d.ts +1 -1
  47. package/dist/api/retry.d.ts.map +1 -1
  48. package/dist/api/retry.js.map +1 -1
  49. package/dist/api/retry.test.d.ts +2 -0
  50. package/dist/api/retry.test.d.ts.map +1 -0
  51. package/dist/api/retry.test.js +193 -0
  52. package/dist/api/retry.test.js.map +1 -0
  53. package/dist/attachments/FeedbackSheet.d.ts +36 -13
  54. package/dist/attachments/FeedbackSheet.d.ts.map +1 -1
  55. package/dist/attachments/FeedbackSheet.js +50 -30
  56. package/dist/attachments/FeedbackSheet.js.map +1 -1
  57. package/dist/attachments/index.d.ts +2 -2
  58. package/dist/components/AttachmentGrid.d.ts +12 -4
  59. package/dist/components/AttachmentGrid.d.ts.map +1 -1
  60. package/dist/components/AttachmentGrid.js +44 -34
  61. package/dist/components/AttachmentGrid.js.map +1 -1
  62. package/dist/components/AttachmentPicker.d.ts +3 -3
  63. package/dist/components/AttachmentPicker.d.ts.map +1 -1
  64. package/dist/components/AttachmentPicker.js +34 -36
  65. package/dist/components/AttachmentPicker.js.map +1 -1
  66. package/dist/components/AttachmentPreview.d.ts +10 -4
  67. package/dist/components/AttachmentPreview.d.ts.map +1 -1
  68. package/dist/components/AttachmentPreview.js +48 -34
  69. package/dist/components/AttachmentPreview.js.map +1 -1
  70. package/dist/components/CategorySelector.d.ts +3 -3
  71. package/dist/components/CategorySelector.d.ts.map +1 -1
  72. package/dist/components/CategorySelector.js +21 -27
  73. package/dist/components/CategorySelector.js.map +1 -1
  74. package/dist/components/FeedbackForm.d.ts +3 -3
  75. package/dist/components/FeedbackForm.d.ts.map +1 -1
  76. package/dist/components/FeedbackForm.js +7 -8
  77. package/dist/components/FeedbackForm.js.map +1 -1
  78. package/dist/components/FeedbackSheet.d.ts +34 -11
  79. package/dist/components/FeedbackSheet.d.ts.map +1 -1
  80. package/dist/components/FeedbackSheet.js +46 -28
  81. package/dist/components/FeedbackSheet.js.map +1 -1
  82. package/dist/components/ThemedButton.d.ts +16 -5
  83. package/dist/components/ThemedButton.d.ts.map +1 -1
  84. package/dist/components/ThemedButton.js +38 -29
  85. package/dist/components/ThemedButton.js.map +1 -1
  86. package/dist/components/ThemedText.d.ts +3 -3
  87. package/dist/components/ThemedText.d.ts.map +1 -1
  88. package/dist/components/ThemedText.js +1 -1
  89. package/dist/components/ThemedText.js.map +1 -1
  90. package/dist/components/ThemedTextInput.d.ts +11 -2
  91. package/dist/components/ThemedTextInput.d.ts.map +1 -1
  92. package/dist/components/ThemedTextInput.js +19 -9
  93. package/dist/components/ThemedTextInput.js.map +1 -1
  94. package/dist/components/UploadStatusOverlay.d.ts +11 -3
  95. package/dist/components/UploadStatusOverlay.d.ts.map +1 -1
  96. package/dist/components/UploadStatusOverlay.js +59 -76
  97. package/dist/components/UploadStatusOverlay.js.map +1 -1
  98. package/dist/components/index.d.ts +18 -18
  99. package/dist/components/index.d.ts.map +1 -1
  100. package/dist/components/index.js.map +1 -1
  101. package/dist/context/HarkenContext.d.ts +20 -15
  102. package/dist/context/HarkenContext.d.ts.map +1 -1
  103. package/dist/context/HarkenContext.js +20 -17
  104. package/dist/context/HarkenContext.js.map +1 -1
  105. package/dist/context/index.d.ts +2 -2
  106. package/dist/domain/index.d.ts +2 -2
  107. package/dist/domain/index.d.ts.map +1 -1
  108. package/dist/domain/index.js.map +1 -1
  109. package/dist/hooks/index.d.ts +5 -5
  110. package/dist/hooks/useAnonymousId.js +1 -1
  111. package/dist/hooks/useAnonymousId.test.d.ts +2 -0
  112. package/dist/hooks/useAnonymousId.test.d.ts.map +1 -0
  113. package/dist/hooks/useAnonymousId.test.js +154 -0
  114. package/dist/hooks/useAnonymousId.test.js.map +1 -0
  115. package/dist/hooks/useAttachmentPicker.d.ts +3 -3
  116. package/dist/hooks/useAttachmentPicker.js +7 -7
  117. package/dist/hooks/useAttachmentStatus.d.ts +1 -1
  118. package/dist/hooks/useAttachmentStatus.d.ts.map +1 -1
  119. package/dist/hooks/useAttachmentStatus.js.map +1 -1
  120. package/dist/hooks/useAttachmentUpload.d.ts +2 -2
  121. package/dist/hooks/useAttachmentUpload.d.ts.map +1 -1
  122. package/dist/hooks/useAttachmentUpload.js +5 -5
  123. package/dist/hooks/useAttachmentUpload.js.map +1 -1
  124. package/dist/hooks/useAttachmentUpload.test.d.ts +2 -0
  125. package/dist/hooks/useAttachmentUpload.test.d.ts.map +1 -0
  126. package/dist/hooks/useAttachmentUpload.test.js +542 -0
  127. package/dist/hooks/useAttachmentUpload.test.js.map +1 -0
  128. package/dist/hooks/useFeedback.d.ts +4 -4
  129. package/dist/hooks/useFeedback.d.ts.map +1 -1
  130. package/dist/hooks/useFeedback.js +3 -5
  131. package/dist/hooks/useFeedback.js.map +1 -1
  132. package/dist/hooks/useFeedback.test.d.ts +2 -0
  133. package/dist/hooks/useFeedback.test.d.ts.map +1 -0
  134. package/dist/hooks/useFeedback.test.js +299 -0
  135. package/dist/hooks/useFeedback.test.js.map +1 -0
  136. package/dist/hooks/useHarkenContext.d.ts +1 -1
  137. package/dist/hooks/useHarkenContext.js +1 -1
  138. package/dist/hooks/useHarkenTheme.d.ts +27 -3
  139. package/dist/hooks/useHarkenTheme.d.ts.map +1 -1
  140. package/dist/hooks/useHarkenTheme.js +26 -2
  141. package/dist/hooks/useHarkenTheme.js.map +1 -1
  142. package/dist/index.d.ts +28 -28
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js.map +1 -1
  145. package/dist/services/index.d.ts +3 -3
  146. package/dist/services/index.d.ts.map +1 -1
  147. package/dist/services/index.js.map +1 -1
  148. package/dist/services/uploadQueueService.d.ts +2 -2
  149. package/dist/services/uploadQueueService.d.ts.map +1 -1
  150. package/dist/services/uploadQueueService.js +16 -17
  151. package/dist/services/uploadQueueService.js.map +1 -1
  152. package/dist/services/uploadQueueService.test.d.ts +2 -0
  153. package/dist/services/uploadQueueService.test.d.ts.map +1 -0
  154. package/dist/services/uploadQueueService.test.js +426 -0
  155. package/dist/services/uploadQueueService.test.js.map +1 -0
  156. package/dist/services/uploadQueueStorage.d.ts +1 -1
  157. package/dist/services/uploadQueueStorage.d.ts.map +1 -1
  158. package/dist/services/uploadQueueStorage.js +4 -4
  159. package/dist/services/uploadQueueStorage.js.map +1 -1
  160. package/dist/services/uploadQueueStorage.test.d.ts +2 -0
  161. package/dist/services/uploadQueueStorage.test.d.ts.map +1 -0
  162. package/dist/services/uploadQueueStorage.test.js +200 -0
  163. package/dist/services/uploadQueueStorage.test.js.map +1 -0
  164. package/dist/storage/IdentityStore.d.ts +1 -1
  165. package/dist/storage/IdentityStore.d.ts.map +1 -1
  166. package/dist/storage/IdentityStore.js.map +1 -1
  167. package/dist/storage/IdentityStore.test.d.ts +2 -0
  168. package/dist/storage/IdentityStore.test.d.ts.map +1 -0
  169. package/dist/storage/IdentityStore.test.js +176 -0
  170. package/dist/storage/IdentityStore.test.js.map +1 -0
  171. package/dist/storage/SecureStoreAdapter.d.ts +1 -1
  172. package/dist/storage/SecureStoreAdapter.test.d.ts +2 -0
  173. package/dist/storage/SecureStoreAdapter.test.d.ts.map +1 -0
  174. package/dist/storage/SecureStoreAdapter.test.js +114 -0
  175. package/dist/storage/SecureStoreAdapter.test.js.map +1 -0
  176. package/dist/storage/defaultStorage.d.ts +1 -1
  177. package/dist/storage/defaultStorage.js +4 -4
  178. package/dist/storage/defaultStorage.test.d.ts +2 -0
  179. package/dist/storage/defaultStorage.test.d.ts.map +1 -0
  180. package/dist/storage/defaultStorage.test.js +159 -0
  181. package/dist/storage/defaultStorage.test.js.map +1 -0
  182. package/dist/storage/index.d.ts +5 -5
  183. package/dist/storage/types.js +1 -1
  184. package/dist/theme/defaults.d.ts +14 -3
  185. package/dist/theme/defaults.d.ts.map +1 -1
  186. package/dist/theme/defaults.js +58 -43
  187. package/dist/theme/defaults.js.map +1 -1
  188. package/dist/theme/index.d.ts +3 -2
  189. package/dist/theme/index.d.ts.map +1 -1
  190. package/dist/theme/index.js +4 -1
  191. package/dist/theme/index.js.map +1 -1
  192. package/dist/theme/resolver.d.ts +16 -0
  193. package/dist/theme/resolver.d.ts.map +1 -0
  194. package/dist/theme/resolver.js +375 -0
  195. package/dist/theme/resolver.js.map +1 -0
  196. package/dist/theme/resolver.test.d.ts +2 -0
  197. package/dist/theme/resolver.test.d.ts.map +1 -0
  198. package/dist/theme/resolver.test.js +344 -0
  199. package/dist/theme/resolver.test.js.map +1 -0
  200. package/dist/theme/types.d.ts +378 -5
  201. package/dist/theme/types.d.ts.map +1 -1
  202. package/dist/types/config.d.ts +4 -4
  203. package/dist/types/index.d.ts +2 -2
  204. package/dist/utils/index.d.ts +1 -1
  205. package/dist/utils/uuid.d.ts.map +1 -1
  206. package/dist/utils/uuid.js +4 -5
  207. package/dist/utils/uuid.js.map +1 -1
  208. package/dist/utils/uuid.test.d.ts +2 -0
  209. package/dist/utils/uuid.test.d.ts.map +1 -0
  210. package/dist/utils/uuid.test.js +78 -0
  211. package/dist/utils/uuid.test.js.map +1 -0
  212. package/package.json +21 -13
  213. package/src/@types/expo-file-system-legacy.d.ts +3 -3
  214. package/src/__mocks__/async-storage.ts +46 -0
  215. package/src/__mocks__/expo-document-picker.ts +41 -0
  216. package/src/__mocks__/expo-file-system.ts +62 -0
  217. package/src/__mocks__/expo-image-picker.ts +48 -0
  218. package/src/__mocks__/expo-secure-store.ts +29 -0
  219. package/src/__mocks__/react-native.ts +46 -0
  220. package/src/api/client.test.ts +515 -0
  221. package/src/api/client.ts +45 -64
  222. package/src/api/errors.test.ts +193 -0
  223. package/src/api/errors.ts +7 -11
  224. package/src/api/index.ts +6 -10
  225. package/src/api/retry.test.ts +251 -0
  226. package/src/api/retry.ts +3 -6
  227. package/src/attachments/FeedbackSheet.tsx +100 -80
  228. package/src/attachments/index.ts +2 -2
  229. package/src/components/AttachmentGrid.tsx +54 -45
  230. package/src/components/AttachmentPicker.tsx +43 -54
  231. package/src/components/AttachmentPreview.tsx +51 -47
  232. package/src/components/CategorySelector.tsx +29 -35
  233. package/src/components/FeedbackForm.tsx +23 -35
  234. package/src/components/FeedbackSheet.tsx +89 -68
  235. package/src/components/ThemedButton.tsx +49 -47
  236. package/src/components/ThemedText.tsx +7 -10
  237. package/src/components/ThemedTextInput.tsx +23 -13
  238. package/src/components/UploadStatusOverlay.tsx +66 -89
  239. package/src/components/index.ts +18 -21
  240. package/src/context/HarkenContext.tsx +29 -28
  241. package/src/context/index.ts +2 -2
  242. package/src/domain/index.ts +2 -5
  243. package/src/domain/upload-queue.ts +5 -5
  244. package/src/hooks/index.ts +5 -5
  245. package/src/hooks/useAnonymousId.test.ts +189 -0
  246. package/src/hooks/useAnonymousId.ts +3 -3
  247. package/src/hooks/useAttachmentPicker.ts +12 -12
  248. package/src/hooks/useAttachmentStatus.ts +12 -16
  249. package/src/hooks/useAttachmentUpload.test.ts +632 -0
  250. package/src/hooks/useAttachmentUpload.ts +45 -54
  251. package/src/hooks/useFeedback.test.ts +376 -0
  252. package/src/hooks/useFeedback.ts +12 -14
  253. package/src/hooks/useHarkenContext.ts +4 -4
  254. package/src/hooks/useHarkenTheme.ts +30 -6
  255. package/src/index.ts +28 -52
  256. package/src/services/index.ts +3 -9
  257. package/src/services/uploadQueueService.test.ts +489 -0
  258. package/src/services/uploadQueueService.ts +40 -56
  259. package/src/services/uploadQueueStorage.test.ts +243 -0
  260. package/src/services/uploadQueueStorage.ts +7 -9
  261. package/src/storage/IdentityStore.test.ts +173 -0
  262. package/src/storage/IdentityStore.ts +4 -5
  263. package/src/storage/SecureStoreAdapter.test.ts +147 -0
  264. package/src/storage/SecureStoreAdapter.ts +1 -1
  265. package/src/storage/defaultStorage.test.ts +159 -0
  266. package/src/storage/defaultStorage.ts +6 -6
  267. package/src/storage/index.ts +5 -5
  268. package/src/storage/types.ts +1 -1
  269. package/src/theme/defaults.ts +75 -46
  270. package/src/theme/index.ts +15 -2
  271. package/src/theme/resolver.test.ts +411 -0
  272. package/src/theme/resolver.ts +446 -0
  273. package/src/theme/types.ts +453 -15
  274. package/src/types/config.ts +4 -4
  275. package/src/types/index.ts +2 -2
  276. package/src/utils/index.ts +1 -1
  277. package/src/utils/uuid.test.ts +85 -0
  278. package/src/utils/uuid.ts +4 -7
@@ -0,0 +1,154 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /**
7
+ * @vitest-environment jsdom
8
+ */
9
+ const vitest_1 = require("vitest");
10
+ const react_1 = require("@testing-library/react");
11
+ const react_2 = __importDefault(require("react"));
12
+ const useAnonymousId_1 = require("./useAnonymousId");
13
+ const context_1 = require("../context");
14
+ // Mock identityStore
15
+ function createMockIdentityStore() {
16
+ return {
17
+ getAnonymousId: vitest_1.vi.fn(),
18
+ getUserId: vitest_1.vi.fn(),
19
+ setUserId: vitest_1.vi.fn(),
20
+ clearUserId: vitest_1.vi.fn(),
21
+ };
22
+ }
23
+ // Helper to create a wrapper with HarkenContext
24
+ function createWrapper(contextValue) {
25
+ return function Wrapper({ children }) {
26
+ return react_2.default.createElement(context_1.HarkenContext.Provider, { value: contextValue }, children);
27
+ };
28
+ }
29
+ (0, vitest_1.describe)("useAnonymousId", () => {
30
+ let mockIdentityStore;
31
+ (0, vitest_1.beforeEach)(() => {
32
+ vitest_1.vi.clearAllMocks();
33
+ mockIdentityStore = createMockIdentityStore();
34
+ });
35
+ (0, vitest_1.describe)("context requirement", () => {
36
+ (0, vitest_1.it)("throws when used outside HarkenProvider", () => {
37
+ // Suppress console.error for expected error
38
+ const consoleSpy = vitest_1.vi.spyOn(console, "error").mockImplementation(() => { });
39
+ (0, vitest_1.expect)(() => {
40
+ (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)());
41
+ }).toThrow("useAnonymousId must be used within a HarkenProvider");
42
+ consoleSpy.mockRestore();
43
+ });
44
+ });
45
+ (0, vitest_1.describe)("loading state", () => {
46
+ (0, vitest_1.it)("starts with isLoading true and anonymousId null", () => {
47
+ mockIdentityStore.getAnonymousId.mockImplementation(() => new Promise(() => { }) // Never resolves
48
+ );
49
+ const wrapper = createWrapper({
50
+ identityStore: mockIdentityStore,
51
+ client: {},
52
+ config: {},
53
+ });
54
+ const { result } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper });
55
+ (0, vitest_1.expect)(result.current.isLoading).toBe(true);
56
+ (0, vitest_1.expect)(result.current.anonymousId).toBeNull();
57
+ });
58
+ (0, vitest_1.it)("sets isLoading false after loading completes", async () => {
59
+ mockIdentityStore.getAnonymousId.mockResolvedValue("anon-123");
60
+ const wrapper = createWrapper({
61
+ identityStore: mockIdentityStore,
62
+ client: {},
63
+ config: {},
64
+ });
65
+ const { result } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper });
66
+ await (0, react_1.waitFor)(() => {
67
+ (0, vitest_1.expect)(result.current.isLoading).toBe(false);
68
+ });
69
+ });
70
+ });
71
+ (0, vitest_1.describe)("anonymousId retrieval", () => {
72
+ (0, vitest_1.it)("returns anonymousId from identityStore", async () => {
73
+ mockIdentityStore.getAnonymousId.mockResolvedValue("stable-uuid-abc");
74
+ const wrapper = createWrapper({
75
+ identityStore: mockIdentityStore,
76
+ client: {},
77
+ config: {},
78
+ });
79
+ const { result } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper });
80
+ await (0, react_1.waitFor)(() => {
81
+ (0, vitest_1.expect)(result.current.anonymousId).toBe("stable-uuid-abc");
82
+ });
83
+ (0, vitest_1.expect)(mockIdentityStore.getAnonymousId).toHaveBeenCalledTimes(1);
84
+ });
85
+ (0, vitest_1.it)("returns different IDs for different stores", async () => {
86
+ const store1 = createMockIdentityStore();
87
+ const store2 = createMockIdentityStore();
88
+ store1.getAnonymousId.mockResolvedValue("id-from-store-1");
89
+ store2.getAnonymousId.mockResolvedValue("id-from-store-2");
90
+ const wrapper1 = createWrapper({
91
+ identityStore: store1,
92
+ client: {},
93
+ config: {},
94
+ });
95
+ const wrapper2 = createWrapper({
96
+ identityStore: store2,
97
+ client: {},
98
+ config: {},
99
+ });
100
+ const { result: result1 } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper: wrapper1 });
101
+ const { result: result2 } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper: wrapper2 });
102
+ await (0, react_1.waitFor)(() => {
103
+ (0, vitest_1.expect)(result1.current.anonymousId).toBe("id-from-store-1");
104
+ });
105
+ await (0, react_1.waitFor)(() => {
106
+ (0, vitest_1.expect)(result2.current.anonymousId).toBe("id-from-store-2");
107
+ });
108
+ });
109
+ });
110
+ (0, vitest_1.describe)("error handling", () => {
111
+ (0, vitest_1.it)("handles storage errors gracefully", async () => {
112
+ mockIdentityStore.getAnonymousId.mockRejectedValue(new Error("Storage failed"));
113
+ const wrapper = createWrapper({
114
+ identityStore: mockIdentityStore,
115
+ client: {},
116
+ config: {},
117
+ });
118
+ const { result } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper });
119
+ await (0, react_1.waitFor)(() => {
120
+ (0, vitest_1.expect)(result.current.isLoading).toBe(false);
121
+ });
122
+ // Should have null ID but not crash
123
+ (0, vitest_1.expect)(result.current.anonymousId).toBeNull();
124
+ });
125
+ });
126
+ (0, vitest_1.describe)("cleanup", () => {
127
+ (0, vitest_1.it)("does not update state after unmount", async () => {
128
+ // Spy on console.error to detect React's unmounted component warning
129
+ const errorSpy = vitest_1.vi.spyOn(console, "error").mockImplementation(() => { });
130
+ let resolvePromise;
131
+ const promise = new Promise((resolve) => {
132
+ resolvePromise = resolve;
133
+ });
134
+ mockIdentityStore.getAnonymousId.mockReturnValue(promise);
135
+ const wrapper = createWrapper({
136
+ identityStore: mockIdentityStore,
137
+ client: {},
138
+ config: {},
139
+ });
140
+ const { unmount } = (0, react_1.renderHook)(() => (0, useAnonymousId_1.useAnonymousId)(), { wrapper });
141
+ // Unmount before the promise resolves
142
+ unmount();
143
+ // Resolve after unmount - should not trigger setState on unmounted component
144
+ resolvePromise("late-id");
145
+ // Wait for the async handler to run
146
+ await new Promise((resolve) => setTimeout(() => resolve(undefined), 10));
147
+ // Verify no React warning about updating unmounted component was logged
148
+ const reactWarnings = errorSpy.mock.calls.filter((call) => typeof call[0] === "string" && call[0].includes("unmounted component"));
149
+ (0, vitest_1.expect)(reactWarnings).toHaveLength(0);
150
+ errorSpy.mockRestore();
151
+ });
152
+ });
153
+ });
154
+ //# sourceMappingURL=useAnonymousId.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAnonymousId.test.js","sourceRoot":"","sources":["../../src/hooks/useAnonymousId.test.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,mCAA8D;AAC9D,kDAA6D;AAC7D,kDAA0B;AAC1B,qDAAkD;AAClD,wCAA2C;AAE3C,qBAAqB;AACrB,SAAS,uBAAuB;IAC9B,OAAO;QACL,cAAc,EAAE,WAAE,CAAC,EAAE,EAAE;QACvB,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;QAClB,SAAS,EAAE,WAAE,CAAC,EAAE,EAAE;QAClB,WAAW,EAAE,WAAE,CAAC,EAAE,EAAE;KACrB,CAAC;AACJ,CAAC;AAED,gDAAgD;AAChD,SAAS,aAAa,CAAC,YAAqB;IAC1C,OAAO,SAAS,OAAO,CAAC,EAAE,QAAQ,EAAiC;QACjE,OAAO,eAAK,CAAC,aAAa,CAAC,uBAAa,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAqB,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjG,CAAC,CAAC;AACJ,CAAC;AAED,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,iBAA6D,CAAC;IAElE,IAAA,mBAAU,EAAC,GAAG,EAAE;QACd,WAAE,CAAC,aAAa,EAAE,CAAC;QACnB,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,IAAA,WAAE,EAAC,yCAAyC,EAAE,GAAG,EAAE;YACjD,4CAA4C;YAC5C,MAAM,UAAU,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAE3E,IAAA,eAAM,EAAC,GAAG,EAAE;gBACV,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC,OAAO,CAAC,qDAAqD,CAAC,CAAC;YAElE,UAAU,CAAC,WAAW,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,IAAA,WAAE,EAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,iBAAiB,CAAC,cAAc,CAAC,kBAAkB,CACjD,GAAG,EAAE,CAAC,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,iBAAiB;aAC9C,CAAC;YAEF,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnE,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAE/D,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnE,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;gBACjB,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,uBAAuB,EAAE,GAAG,EAAE;QACrC,IAAA,WAAE,EAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAEtE,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnE,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;gBACjB,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YAEH,IAAA,eAAM,EAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,IAAA,WAAE,EAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,uBAAuB,EAAE,CAAC;YACzC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC3D,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAE3D,MAAM,QAAQ,GAAG,aAAa,CAAC;gBAC7B,aAAa,EAAE,MAAM;gBACrB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YACH,MAAM,QAAQ,GAAG,aAAa,CAAC;gBAC7B,aAAa,EAAE,MAAM;gBACrB,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YACtF,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEtF,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;gBACjB,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;gBACjB,IAAA,eAAM,EAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,IAAA,WAAE,EAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,iBAAiB,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAEhF,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEnE,MAAM,IAAA,eAAO,EAAC,GAAG,EAAE;gBACjB,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,oCAAoC;YACpC,IAAA,eAAM,EAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;QACvB,IAAA,WAAE,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,qEAAqE;YACrE,MAAM,QAAQ,GAAG,WAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAEzE,IAAI,cAAuC,CAAC;YAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,EAAE;gBAC9C,cAAc,GAAG,OAAO,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAE1D,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,aAAa,EAAE,iBAAiB;gBAChC,MAAM,EAAE,EAAE;gBACV,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAA,kBAAU,EAAC,GAAG,EAAE,CAAC,IAAA,+BAAc,GAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAEpE,sCAAsC;YACtC,OAAO,EAAE,CAAC;YAEV,6EAA6E;YAC7E,cAAe,CAAC,SAAS,CAAC,CAAC;YAE3B,oCAAoC;YACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YAEzE,wEAAwE;YACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAC9C,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CACjF,CAAC;YACF,IAAA,eAAM,EAAC,aAAa,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEtC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -5,8 +5,8 @@
5
5
  * - Skipping the picker modal when only one source is enabled
6
6
  * - Warning when no sources are enabled
7
7
  */
8
- import type { UseAttachmentUploadResult } from './useAttachmentUpload';
9
- import type { AttachmentPickerProps } from '../components/AttachmentPicker';
8
+ import type { UseAttachmentUploadResult } from "./useAttachmentUpload";
9
+ import type { AttachmentPickerProps } from "../components/AttachmentPicker";
10
10
  /**
11
11
  * Configuration for which attachment sources are enabled.
12
12
  */
@@ -29,7 +29,7 @@ export interface UseAttachmentPickerResult extends UseAttachmentUploadResult {
29
29
  /** Close the picker modal */
30
30
  closePicker: () => void;
31
31
  /** Props to spread onto AttachmentPicker component */
32
- pickerProps: Pick<AttachmentPickerProps, 'visible' | 'onClose' | 'onTakePhoto' | 'onPickFromLibrary' | 'onPickDocument' | 'options'>;
32
+ pickerProps: Pick<AttachmentPickerProps, "visible" | "onClose" | "onTakePhoto" | "onPickFromLibrary" | "onPickDocument" | "options">;
33
33
  /** Which sources are enabled */
34
34
  enabledSources: {
35
35
  camera: boolean;
@@ -83,19 +83,19 @@ function useAttachmentPicker(sourceConfig = {}) {
83
83
  const handleTakePhoto = (0, react_1.useCallback)(async () => {
84
84
  setIsPickerVisible(false);
85
85
  try {
86
- await pickImage('camera');
86
+ await pickImage("camera");
87
87
  }
88
88
  catch (e) {
89
- console.error('[Harken] Failed to take photo:', e);
89
+ console.error("[Harken] Failed to take photo:", e);
90
90
  }
91
91
  }, [pickImage]);
92
92
  const handlePickFromLibrary = (0, react_1.useCallback)(async () => {
93
93
  setIsPickerVisible(false);
94
94
  try {
95
- await pickImage('library');
95
+ await pickImage("library");
96
96
  }
97
97
  catch (e) {
98
- console.error('[Harken] Failed to pick from library:', e);
98
+ console.error("[Harken] Failed to pick from library:", e);
99
99
  }
100
100
  }, [pickImage]);
101
101
  const handlePickDocument = (0, react_1.useCallback)(async () => {
@@ -104,7 +104,7 @@ function useAttachmentPicker(sourceConfig = {}) {
104
104
  await pickDocument();
105
105
  }
106
106
  catch (e) {
107
- console.error('[Harken] Failed to pick document:', e);
107
+ console.error("[Harken] Failed to pick document:", e);
108
108
  }
109
109
  }, [pickDocument]);
110
110
  const closePicker = (0, react_1.useCallback)(() => {
@@ -118,8 +118,8 @@ function useAttachmentPicker(sourceConfig = {}) {
118
118
  */
119
119
  const openPicker = (0, react_1.useCallback)(() => {
120
120
  if (enabledSourceCount === 0) {
121
- console.warn('[Harken] useAttachmentPicker: No attachment sources are enabled. ' +
122
- 'Enable at least one of: camera, library, or files.');
121
+ console.warn("[Harken] useAttachmentPicker: No attachment sources are enabled. " +
122
+ "Enable at least one of: camera, library, or files.");
123
123
  return;
124
124
  }
125
125
  if (enabledSourceCount === 1) {
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Useful for components that display a single attachment with progress indicator.
5
5
  */
6
- import { UploadPhase } from '../domain';
6
+ import type { UploadPhase } from "../domain";
7
7
  /**
8
8
  * Status information for a single attachment.
9
9
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachmentStatus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,MAAM,GACnB,gBAAgB,GAAG,IAAI,CA6BzB"}
1
+ {"version":3,"file":"useAttachmentStatus.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachmentStatus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CA2BjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentStatus.js","sourceRoot":"","sources":["../../src/hooks/useAttachmentStatus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkDH,kDA+BC;AA/ED,iCAA4C;AAC5C,0CAAiD;AAejD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,mBAAmB,CACjC,YAAoB;IAEpB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAA0B,GAAG,EAAE;QACjE,2CAA2C;QAC3C,MAAM,IAAI,GAAG,6BAAkB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,6BAAkB,CAAC,UAAU,CAC/C,CAAC,QAAwB,EAAE,EAAE;YAC3B,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO;YAEnD,SAAS,CAAC;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"useAttachmentStatus.js","sourceRoot":"","sources":["../../src/hooks/useAttachmentStatus.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AAkDH,kDA2BC;AA3ED,iCAA4C;AAC5C,0CAAiD;AAejD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAA0B,GAAG,EAAE;QACjE,2CAA2C;QAC3C,MAAM,IAAI,GAAG,6BAAkB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,SAAS;SACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,WAAW,GAAG,6BAAkB,CAAC,UAAU,CAAC,CAAC,QAAwB,EAAE,EAAE;YAC7E,IAAI,QAAQ,CAAC,YAAY,KAAK,YAAY;gBAAE,OAAO;YAEnD,SAAS,CAAC;gBACR,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,KAAK,EAAE,QAAQ,CAAC,KAAK;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IACrB,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Provides methods for picking images/documents and tracking upload progress.
5
5
  * Uploads happen in background via the singleton uploadQueueService.
6
6
  */
7
- import { UploadPhase } from '../domain';
7
+ import { UploadPhase } from "../domain";
8
8
  /**
9
9
  * State for a single attachment.
10
10
  */
@@ -31,7 +31,7 @@ export interface UseAttachmentUploadResult {
31
31
  /** All current attachments */
32
32
  attachments: AttachmentState[];
33
33
  /** Pick image from camera or library */
34
- pickImage: (source: 'camera' | 'library') => Promise<AttachmentState | null>;
34
+ pickImage: (source: "camera" | "library") => Promise<AttachmentState | null>;
35
35
  /** Pick document (images or PDFs) */
36
36
  pickDocument: () => Promise<AttachmentState | null>;
37
37
  /** Add attachment from existing local URI */
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentUpload.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachmentUpload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,WAAW,EAAkB,MAAM,WAAW,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/B,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAE7E,qCAAqC;IACrC,YAAY,EAAE,MAAM,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/B,4BAA4B;IAC5B,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,+CAA+C;IAC/C,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,MAAM,EAAE,CAAC;IAEjC,0CAA0C;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,sCAAsC;IACtC,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,mCAAmC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CA2P/D"}
1
+ {"version":3,"file":"useAttachmentUpload.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachmentUpload.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAGxC;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oCAAoC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;IACnB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,8BAA8B;IAC9B,WAAW,EAAE,eAAe,EAAE,CAAC;IAE/B,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,KAAK,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAE7E,qCAAqC;IACrC,YAAY,EAAE,MAAM,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAEpD,6CAA6C;IAC7C,aAAa,EAAE,CAAC,MAAM,EAAE;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/B,4BAA4B;IAC5B,eAAe,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD,+CAA+C;IAC/C,gBAAgB,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,MAAM,EAAE,CAAC;IAEjC,0CAA0C;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAE1B,sCAAsC;IACtC,cAAc,EAAE,MAAM,IAAI,CAAC;IAE3B,mCAAmC;IACnC,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CAiP/D"}
@@ -159,10 +159,10 @@ function useAttachmentUpload() {
159
159
  */
160
160
  const pickImage = (0, react_1.useCallback)(async (source) => {
161
161
  const options = {
162
- mediaTypes: ['images'],
162
+ mediaTypes: ["images"],
163
163
  quality: 0.8,
164
164
  };
165
- const result = source === 'camera'
165
+ const result = source === "camera"
166
166
  ? await ImagePicker.launchCameraAsync(options)
167
167
  : await ImagePicker.launchImageLibraryAsync(options);
168
168
  if (result.canceled || !result.assets[0]) {
@@ -170,7 +170,7 @@ function useAttachmentUpload() {
170
170
  }
171
171
  const asset = result.assets[0];
172
172
  const fileName = asset.fileName ?? `image_${Date.now()}.jpg`;
173
- const mimeType = asset.mimeType ?? 'image/jpeg';
173
+ const mimeType = asset.mimeType ?? "image/jpeg";
174
174
  // Get file size - use asset.fileSize if available, otherwise query filesystem
175
175
  let fileSize = asset.fileSize;
176
176
  if (fileSize === undefined || fileSize === null) {
@@ -189,7 +189,7 @@ function useAttachmentUpload() {
189
189
  */
190
190
  const pickDocument = (0, react_1.useCallback)(async () => {
191
191
  const result = await DocumentPicker.getDocumentAsync({
192
- type: ['image/*', 'application/pdf'],
192
+ type: ["image/*", "application/pdf"],
193
193
  copyToCacheDirectory: true,
194
194
  });
195
195
  if (result.canceled || !result.assets[0]) {
@@ -204,7 +204,7 @@ function useAttachmentUpload() {
204
204
  }
205
205
  return addAttachment({
206
206
  uri: asset.uri,
207
- mimeType: asset.mimeType ?? 'application/octet-stream',
207
+ mimeType: asset.mimeType ?? "application/octet-stream",
208
208
  fileName: asset.name,
209
209
  fileSize,
210
210
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useAttachmentUpload.js","sourceRoot":"","sources":["../../src/hooks/useAttachmentUpload.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useAttachmentUpload.js","sourceRoot":"","sources":["../../src/hooks/useAttachmentUpload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useAttachmentUpload.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAttachmentUpload.test.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachmentUpload.test.ts"],"names":[],"mappings":""}