@flamingo-stack/openframe-frontend-core 0.0.719 → 0.0.721

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 (228) hide show
  1. package/dist/assets/index.cjs +6 -0
  2. package/dist/assets/index.d.ts +1 -0
  3. package/dist/assets/index.d.ts.map +1 -1
  4. package/dist/assets/index.js +5 -1
  5. package/dist/assets/mobile-app-qr.d.ts +17 -0
  6. package/dist/assets/mobile-app-qr.d.ts.map +1 -0
  7. package/dist/{chunk-2JLP2X2M.js → chunk-2P2M27EW.js} +2396 -2369
  8. package/dist/{chunk-IWCPXJEE.js → chunk-2TXGR7IK.js} +138 -63
  9. package/dist/{chunk-FVQJBII6.js → chunk-3LY7V3RF.js} +3 -3
  10. package/dist/{chunk-HCFNEKO3.cjs → chunk-3R32ZNA2.cjs} +46 -46
  11. package/dist/{chunk-WSDT7LYL.js → chunk-3UBWDR65.js} +1 -1
  12. package/dist/{chunk-NZ5BHDFZ.js → chunk-44Q6MV7C.js} +2 -2
  13. package/dist/{chunk-CMZ3QTFQ.js → chunk-4I3K6LEH.js} +24 -0
  14. package/dist/{chunk-ZXCZYMN4.cjs → chunk-4LY6R4TN.cjs} +137 -62
  15. package/dist/{chunk-EAHOB64X.js → chunk-57UTI7ZH.js} +106 -42
  16. package/dist/{chunk-XGHGGBM3.js → chunk-5QXE5HMV.js} +4 -4
  17. package/dist/{chunk-NYWESHOQ.cjs → chunk-6AJIOW3S.cjs} +57 -57
  18. package/dist/{chunk-4QFWGLZO.js → chunk-6YBUQAOH.js} +1 -1
  19. package/dist/{chunk-JHQ334WS.js → chunk-742BGXNX.js} +2 -0
  20. package/dist/{chunk-D6PMVWDI.js → chunk-74N742ZG.js} +6 -6
  21. package/dist/{chunk-AECTRMGQ.cjs → chunk-7GRPR7XA.cjs} +13 -1
  22. package/dist/{chunk-4HJRHEXD.cjs → chunk-7Z5FMQYR.cjs} +22 -22
  23. package/dist/chunk-AFTRPEXO.js +13 -0
  24. package/dist/{chunk-WBNAEYTQ.cjs → chunk-BYUIFT7Q.cjs} +6 -6
  25. package/dist/{chunk-LCLDFMDF.cjs → chunk-BYVVE7HP.cjs} +58 -58
  26. package/dist/{chunk-JPD4NXH6.js → chunk-CO3FOZIH.js} +1 -1
  27. package/dist/{chunk-E7YCPY7K.cjs → chunk-D2DH6VZL.cjs} +3 -3
  28. package/dist/{chunk-HWVUR735.cjs → chunk-DFM572VH.cjs} +2 -2
  29. package/dist/{chunk-YDPKUAP4.js → chunk-DJ4IFQNQ.js} +2 -0
  30. package/dist/{chunk-5U3KWQXP.js → chunk-E6SMMMKV.js} +13 -13
  31. package/dist/chunk-EWPR7662.cjs +13 -0
  32. package/dist/{chunk-SWAVO7BB.cjs → chunk-F7ORKKEF.cjs} +108 -108
  33. package/dist/{chunk-AGVXKD4K.js → chunk-FSQQZFVG.js} +12 -0
  34. package/dist/{chunk-ETYLOZOB.cjs → chunk-GCK75D7F.cjs} +109 -22
  35. package/dist/{chunk-ZKNZ2CXW.cjs → chunk-GGBYZKMS.cjs} +11 -11
  36. package/dist/{chunk-Y4MB25KW.js → chunk-GYAXV3MZ.js} +3 -3
  37. package/dist/{chunk-UWQWMGJ7.cjs → chunk-HJMSNOBT.cjs} +1040 -696
  38. package/dist/{chunk-DFQYAYBH.cjs → chunk-HQIOMFJH.cjs} +2 -0
  39. package/dist/{chunk-JH2SIWPQ.js → chunk-HXB7SEYG.js} +1611 -1267
  40. package/dist/{chunk-LE5WKGJV.cjs → chunk-I2254QN6.cjs} +16 -16
  41. package/dist/{chunk-PSVSEN4J.cjs → chunk-IMTY3GRR.cjs} +2 -0
  42. package/dist/{chunk-ILNN6QRW.js → chunk-JDBZ4ZHU.js} +3 -3
  43. package/dist/{chunk-GQ7JJUIT.cjs → chunk-K2JUJ37D.cjs} +25 -1
  44. package/dist/{chunk-6YPTUHM7.js → chunk-K76ACBR3.js} +3 -3
  45. package/dist/{chunk-2NASBO7O.js → chunk-KFOAV77K.js} +2 -2
  46. package/dist/{chunk-CU6NWO2M.js → chunk-LAXKEBDD.js} +14 -18
  47. package/dist/{chunk-5YAGX5DY.js → chunk-LGKMR7NZ.js} +7 -7
  48. package/dist/{chunk-E2V2EH2G.cjs → chunk-LODMNSQY.cjs} +16 -16
  49. package/dist/{chunk-4D6NMPOO.js → chunk-NJ5TBTJG.js} +7 -7
  50. package/dist/{chunk-TDZ76NCB.cjs → chunk-NMPVK53I.cjs} +29 -29
  51. package/dist/{chunk-TTVOLEUS.js → chunk-NPSJE7J3.js} +90 -3
  52. package/dist/{chunk-H5VIMBRN.cjs → chunk-O5EHOJZD.cjs} +4 -4
  53. package/dist/{chunk-KT3U3ZRP.cjs → chunk-OKE5BIQH.cjs} +8 -8
  54. package/dist/{chunk-DC4RTYWK.cjs → chunk-QLTXT562.cjs} +5 -5
  55. package/dist/{chunk-H5V7GRN5.js → chunk-QQCFPMAA.js} +5 -7
  56. package/dist/{chunk-7BREFV7G.cjs → chunk-QYS4YVEP.cjs} +34 -36
  57. package/dist/{chunk-7BCY77W6.js → chunk-RCI3PALX.js} +8 -10
  58. package/dist/{chunk-P3JMAMHP.js → chunk-REETLEL5.js} +1 -1
  59. package/dist/{chunk-4JIGEK7C.cjs → chunk-RJMWJAJO.cjs} +97 -33
  60. package/dist/{chunk-WS7WRR5Z.cjs → chunk-RQZQHLNS.cjs} +86 -90
  61. package/dist/{chunk-FFT56TYB.cjs → chunk-RUZIICXT.cjs} +2 -2
  62. package/dist/{chunk-AJHSQ5XK.js → chunk-S63QBBT7.js} +6 -6
  63. package/dist/{chunk-TELAANY6.js → chunk-UXU7Y5BH.js} +2 -2
  64. package/dist/{chunk-NQVS4G7G.cjs → chunk-UZTOI6FJ.cjs} +773 -746
  65. package/dist/{chunk-DFEPUYTF.cjs → chunk-VFICDEYJ.cjs} +45 -47
  66. package/dist/{chunk-LOZLHG2U.cjs → chunk-XE2K53GH.cjs} +20 -20
  67. package/dist/{chunk-QBCDSTLE.cjs → chunk-XXO52RZR.cjs} +26 -26
  68. package/dist/{chunk-TTEFN6VO.js → chunk-ZLUFEWZZ.js} +10 -10
  69. package/dist/{chunk-MA4Q5RBP.cjs → chunk-ZSOFLPQN.cjs} +9 -9
  70. package/dist/{chunk-KBJJQFYU.js → chunk-ZZEKXGFS.js} +2 -2
  71. package/dist/{cloud-tenants-FBUO66GW.cjs → cloud-tenants-HZHKRUIW.cjs} +16 -16
  72. package/dist/{cloud-tenants-DNBPNQNP.js → cloud-tenants-Q4TCJS5Y.js} +15 -15
  73. package/dist/components/calendar.cjs +4 -4
  74. package/dist/components/calendar.js +1 -1
  75. package/dist/components/case-studies/index.cjs +30 -30
  76. package/dist/components/case-studies/index.js +16 -16
  77. package/dist/components/chat/ask-prompts.d.ts +10 -2
  78. package/dist/components/chat/ask-prompts.d.ts.map +1 -1
  79. package/dist/components/chat/assistant-ask-prompts.d.ts +27 -0
  80. package/dist/components/chat/assistant-ask-prompts.d.ts.map +1 -0
  81. package/dist/components/chat/entity-cards/dispatch.d.ts.map +1 -1
  82. package/dist/components/chat/hooks/index.d.ts +1 -0
  83. package/dist/components/chat/hooks/index.d.ts.map +1 -1
  84. package/dist/components/chat/hooks/use-ask-prompts.d.ts +63 -0
  85. package/dist/components/chat/hooks/use-ask-prompts.d.ts.map +1 -0
  86. package/dist/components/chat/index.cjs +27 -10
  87. package/dist/components/chat/index.d.ts +1 -0
  88. package/dist/components/chat/index.d.ts.map +1 -1
  89. package/dist/components/chat/index.js +26 -9
  90. package/dist/components/chat/utils/icon-library.d.ts.map +1 -1
  91. package/dist/components/contact/index.cjs +17 -17
  92. package/dist/components/contact/index.js +16 -16
  93. package/dist/components/docs/index.cjs +20 -20
  94. package/dist/components/docs/index.js +19 -19
  95. package/dist/components/embeds/index.cjs +17 -17
  96. package/dist/components/embeds/index.js +16 -16
  97. package/dist/components/faq/faq-ask-card.d.ts +44 -0
  98. package/dist/components/faq/faq-ask-card.d.ts.map +1 -0
  99. package/dist/components/faq/faq-document-page.d.ts +5 -1
  100. package/dist/components/faq/faq-document-page.d.ts.map +1 -1
  101. package/dist/components/faq/faq-section.d.ts +18 -5
  102. package/dist/components/faq/faq-section.d.ts.map +1 -1
  103. package/dist/components/faq/index.cjs +19 -18
  104. package/dist/components/faq/index.d.ts +1 -0
  105. package/dist/components/faq/index.d.ts.map +1 -1
  106. package/dist/components/faq/index.js +18 -17
  107. package/dist/components/features/auth/auth-benefits-panel.d.ts.map +1 -1
  108. package/dist/components/features/index.cjs +16 -16
  109. package/dist/components/features/index.js +15 -15
  110. package/dist/components/help-center-pages/download-apps-page.d.ts +55 -0
  111. package/dist/components/help-center-pages/download-apps-page.d.ts.map +1 -0
  112. package/dist/components/help-center-pages/index.cjs +333 -119
  113. package/dist/components/help-center-pages/index.d.ts +1 -0
  114. package/dist/components/help-center-pages/index.d.ts.map +1 -1
  115. package/dist/components/help-center-pages/index.js +251 -37
  116. package/dist/components/help-center-pages/trust-center-page.d.ts +4 -1
  117. package/dist/components/help-center-pages/trust-center-page.d.ts.map +1 -1
  118. package/dist/components/index.cjs +131 -217
  119. package/dist/components/index.js +236 -322
  120. package/dist/components/meeting-scheduler/index.cjs +61 -62
  121. package/dist/components/meeting-scheduler/index.js +18 -19
  122. package/dist/components/navigation/index.cjs +19 -19
  123. package/dist/components/navigation/index.js +18 -18
  124. package/dist/components/navigation/mingo-ai-button.d.ts +1 -1
  125. package/dist/components/navigation/mingo-ai-button.d.ts.map +1 -1
  126. package/dist/components/onboarding-guides/index.cjs +19 -20
  127. package/dist/components/onboarding-guides/index.js +18 -19
  128. package/dist/components/product-demo/index.cjs +8 -8
  129. package/dist/components/product-demo/index.js +8 -8
  130. package/dist/components/related-content/index.cjs +7 -9
  131. package/dist/components/related-content/index.js +6 -8
  132. package/dist/components/tickets/index.cjs +21 -21
  133. package/dist/components/tickets/index.js +20 -20
  134. package/dist/components/ui/button/button.d.ts.map +1 -1
  135. package/dist/components/ui/file-manager/index.cjs +11 -11
  136. package/dist/components/ui/file-manager/index.js +1 -1
  137. package/dist/components/ui/index.cjs +34 -16
  138. package/dist/components/ui/index.d.ts +1 -0
  139. package/dist/components/ui/index.d.ts.map +1 -1
  140. package/dist/components/ui/index.js +33 -15
  141. package/dist/components/ui/mobile-app-qr.d.ts +23 -0
  142. package/dist/components/ui/mobile-app-qr.d.ts.map +1 -0
  143. package/dist/components/ui/store-badges.d.ts +7 -4
  144. package/dist/components/ui/store-badges.d.ts.map +1 -1
  145. package/dist/contexts/assistant-runtime-context.d.ts +74 -0
  146. package/dist/contexts/assistant-runtime-context.d.ts.map +1 -0
  147. package/dist/contexts/index.cjs +7 -1
  148. package/dist/contexts/index.d.ts +1 -0
  149. package/dist/contexts/index.d.ts.map +1 -1
  150. package/dist/contexts/index.js +6 -0
  151. package/dist/{devices-5A5TY4JD.cjs → devices-6XHUFIC6.cjs} +17 -17
  152. package/dist/{devices-PLDAEUSL.js → devices-NOUGVTES.js} +15 -15
  153. package/dist/hooks/index.cjs +10 -5
  154. package/dist/hooks/index.d.ts +1 -0
  155. package/dist/hooks/index.d.ts.map +1 -1
  156. package/dist/hooks/index.js +9 -4
  157. package/dist/hooks/use-downloads.d.ts +41 -0
  158. package/dist/hooks/use-downloads.d.ts.map +1 -0
  159. package/dist/index.cjs +80 -20
  160. package/dist/index.js +79 -19
  161. package/dist/{knowledge-G6Q5KRWV.js → knowledge-2YTUXQ2Z.js} +15 -15
  162. package/dist/{knowledge-FKTJ723Z.cjs → knowledge-ANEKPMO2.cjs} +17 -17
  163. package/dist/{logs-CJCXUBU6.cjs → logs-U3IB3HUM.cjs} +25 -25
  164. package/dist/{logs-QMV6XIC4.js → logs-WVQIONUT.js} +15 -15
  165. package/dist/{policies-G6D7AX6F.js → policies-66EGDW2H.js} +15 -15
  166. package/dist/{policies-QMRTK3CY.cjs → policies-UFRN2EQF.cjs} +20 -20
  167. package/dist/{remote-session-DBD6OSTX.js → remote-session-6WEUJZDC.js} +5 -5
  168. package/dist/{remote-session-2JVI7RVA.cjs → remote-session-A75X5NPC.cjs} +7 -7
  169. package/dist/{software-update-PNZMRDBT.cjs → software-update-2MHKL76D.cjs} +20 -20
  170. package/dist/{software-update-6BQM6BKH.js → software-update-3ZD3MXF3.js} +15 -15
  171. package/dist/{tickets-board-BHLPAVNJ.cjs → tickets-board-IFWMIZ35.cjs} +9 -9
  172. package/dist/{tickets-board-PYDNELSK.js → tickets-board-MYXG3V72.js} +4 -4
  173. package/dist/types/downloads.d.ts +67 -0
  174. package/dist/types/downloads.d.ts.map +1 -0
  175. package/dist/types/index.cjs +24 -0
  176. package/dist/types/index.d.ts +1 -0
  177. package/dist/types/index.d.ts.map +1 -1
  178. package/dist/types/index.js +16 -1
  179. package/dist/utils/index.cjs +46 -2
  180. package/dist/utils/index.d.ts +2 -0
  181. package/dist/utils/index.d.ts.map +1 -1
  182. package/dist/utils/index.js +40 -3
  183. package/dist/utils/list-url.d.ts.map +1 -1
  184. package/dist/utils/mobile-app.cjs +46 -0
  185. package/dist/utils/mobile-app.d.ts +40 -0
  186. package/dist/utils/mobile-app.d.ts.map +1 -0
  187. package/dist/utils/mobile-app.js +40 -0
  188. package/dist/utils/source-icons.d.ts.map +1 -1
  189. package/dist/utils/trial.d.ts +18 -0
  190. package/dist/utils/trial.d.ts.map +1 -0
  191. package/package.json +7 -1
  192. package/src/assets/index.ts +1 -0
  193. package/src/assets/mobile-app-qr.ts +19 -0
  194. package/src/components/chat/ask-prompts.tsx +25 -3
  195. package/src/components/chat/assistant-ask-prompts.tsx +78 -0
  196. package/src/components/chat/entity-cards/dispatch.tsx +38 -4
  197. package/src/components/chat/hooks/index.ts +12 -0
  198. package/src/components/chat/hooks/use-ask-prompts.ts +188 -0
  199. package/src/components/chat/index.ts +1 -0
  200. package/src/components/chat/utils/icon-library.tsx +6 -0
  201. package/src/components/faq/faq-ask-card.tsx +115 -0
  202. package/src/components/faq/faq-document-page.tsx +6 -1
  203. package/src/components/faq/faq-section.tsx +27 -5
  204. package/src/components/faq/index.ts +1 -0
  205. package/src/components/features/auth/auth-benefits-panel.tsx +5 -4
  206. package/src/components/help-center-pages/download-apps-page.tsx +364 -0
  207. package/src/components/help-center-pages/index.ts +1 -0
  208. package/src/components/help-center-pages/trust-center-page.tsx +5 -2
  209. package/src/components/navigation/mingo-ai-button.tsx +27 -6
  210. package/src/components/ui/button/button.tsx +3 -0
  211. package/src/components/ui/index.ts +1 -0
  212. package/src/components/ui/mobile-app-qr.tsx +40 -0
  213. package/src/components/ui/store-badges.tsx +17 -9
  214. package/src/contexts/assistant-runtime-context.tsx +84 -0
  215. package/src/contexts/index.ts +9 -0
  216. package/src/hooks/index.ts +1 -0
  217. package/src/hooks/use-downloads.ts +138 -0
  218. package/src/types/downloads.ts +82 -0
  219. package/src/types/index.ts +1 -0
  220. package/src/utils/index.ts +3 -0
  221. package/src/utils/list-url.ts +4 -0
  222. package/src/utils/mobile-app.ts +57 -0
  223. package/src/utils/source-icons.ts +10 -2
  224. package/src/utils/trial.ts +19 -0
  225. package/dist/chunk-6X3O67OL.cjs +0 -89
  226. package/dist/chunk-AUMKE74M.cjs +0 -16
  227. package/dist/chunk-G3GRYDMS.js +0 -16
  228. package/dist/chunk-RR6PY34K.js +0 -89
@@ -8,7 +8,6 @@ var _chunkB4NCVYEQcjs = require('./chunk-B4NCVYEQ.cjs');
8
8
  var _chunkMZ4KBSH7cjs = require('./chunk-MZ4KBSH7.cjs');
9
9
 
10
10
 
11
- var _chunkAUMKE74Mcjs = require('./chunk-AUMKE74M.cjs');
12
11
 
13
12
 
14
13
 
@@ -37,7 +36,8 @@ var _chunkAUMKE74Mcjs = require('./chunk-AUMKE74M.cjs');
37
36
 
38
37
 
39
38
 
40
- var _chunkGQ7JJUITcjs = require('./chunk-GQ7JJUIT.cjs');
39
+
40
+ var _chunkK2JUJ37Dcjs = require('./chunk-K2JUJ37D.cjs');
41
41
 
42
42
 
43
43
 
@@ -51,7 +51,8 @@ var _chunk7DNL734Scjs = require('./chunk-7DNL734S.cjs');
51
51
 
52
52
 
53
53
 
54
- var _chunkAECTRMGQcjs = require('./chunk-AECTRMGQ.cjs');
54
+
55
+ var _chunk7GRPR7XAcjs = require('./chunk-7GRPR7XA.cjs');
55
56
 
56
57
 
57
58
 
@@ -405,7 +406,7 @@ function useSearch(config) {
405
406
  searchFnRef.current = searchFn;
406
407
  mapResultRef.current = mapResult;
407
408
  });
408
- const debouncedQuery = _chunkGQ7JJUITcjs.useDebounce.call(void 0, query, debounceMs);
409
+ const debouncedQuery = _chunkK2JUJ37Dcjs.useDebounce.call(void 0, query, debounceMs);
409
410
  const clearResults = _react.useCallback.call(void 0, () => {
410
411
  setResults(NO_RESULTS);
411
412
  setError(null);
@@ -772,7 +773,7 @@ function usePlatformConfig() {
772
773
  label: platform.label
773
774
  }))
774
775
  ];
775
- const selectableOptions = _chunkGQ7JJUITcjs.transformPlatformConfigsToOptions.call(void 0, platforms);
776
+ const selectableOptions = _chunkK2JUJ37Dcjs.transformPlatformConfigsToOptions.call(void 0, platforms);
776
777
  return {
777
778
  platforms,
778
779
  platformOptions,
@@ -1123,7 +1124,7 @@ function useContactSubmission(options = {}) {
1123
1124
  if (isSubmitting) return;
1124
1125
  setIsSubmitting(true);
1125
1126
  try {
1126
- const response = await _chunkAUMKE74Mcjs.contentFetch.call(void 0, contactUrl, {
1127
+ const response = await _chunk7GRPR7XAcjs.contentFetch.call(void 0, contactUrl, {
1127
1128
  method: "POST",
1128
1129
  headers: { "Content-Type": "application/json" },
1129
1130
  body: JSON.stringify({
@@ -1204,6 +1205,77 @@ function useCopyToClipboard({
1204
1205
  return { copy, copied };
1205
1206
  }
1206
1207
 
1208
+ // src/hooks/use-downloads.ts
1209
+
1210
+ var IDLE = { data: null, isLoading: false, error: false };
1211
+ var entries = /* @__PURE__ */ new Map();
1212
+ function entryFor(endpoint) {
1213
+ let entry = entries.get(endpoint);
1214
+ if (!entry) {
1215
+ entry = { state: IDLE, request: null, listeners: /* @__PURE__ */ new Set() };
1216
+ entries.set(endpoint, entry);
1217
+ }
1218
+ return entry;
1219
+ }
1220
+ function publish(endpoint, state) {
1221
+ const entry = entryFor(endpoint);
1222
+ entry.state = state;
1223
+ for (const listener of entry.listeners) listener();
1224
+ }
1225
+ function load(endpoint, force = false) {
1226
+ const entry = entryFor(endpoint);
1227
+ if (entry.request || entry.state.data && !force) return;
1228
+ publish(endpoint, { data: entry.state.data, isLoading: true, error: false });
1229
+ entry.request = _chunk7GRPR7XAcjs.contentFetch.call(void 0, endpoint).then(async (response) => {
1230
+ if (!response.ok) throw new Error(`Request failed (${response.status})`);
1231
+ publish(endpoint, { data: await response.json(), isLoading: false, error: false });
1232
+ }).catch(() => publish(endpoint, { data: entry.state.data, isLoading: false, error: true })).finally(() => {
1233
+ entry.request = null;
1234
+ });
1235
+ }
1236
+ function resetDownloadsStore() {
1237
+ entries.clear();
1238
+ }
1239
+ function useDownloads({ endpoint = _chunkK2JUJ37Dcjs.DOWNLOADS_API_PATH, initialData, enabled = true } = {}) {
1240
+ const entry = entryFor(endpoint);
1241
+ if (initialData && entry.state.data !== initialData && !entry.request) {
1242
+ entry.state = { data: initialData, isLoading: false, error: false };
1243
+ }
1244
+ _react.useEffect.call(void 0, () => {
1245
+ if (!initialData) return;
1246
+ for (const listener of entry.listeners) listener();
1247
+ }, [entry, initialData]);
1248
+ const subscribe2 = _react.useCallback.call(void 0,
1249
+ (listener) => {
1250
+ entry.listeners.add(listener);
1251
+ return () => {
1252
+ entry.listeners.delete(listener);
1253
+ };
1254
+ },
1255
+ [entry]
1256
+ );
1257
+ const state = _react.useSyncExternalStore.call(void 0,
1258
+ subscribe2,
1259
+ () => entry.state,
1260
+ () => entry.state
1261
+ );
1262
+ _react.useEffect.call(void 0, () => {
1263
+ if (enabled) load(endpoint);
1264
+ }, [enabled, endpoint]);
1265
+ const reload = _react.useCallback.call(void 0, () => load(endpoint, true), [endpoint]);
1266
+ const isLoading = state.isLoading || enabled && !state.data && !state.error;
1267
+ return { data: state.data, isLoading, error: state.error, reload };
1268
+ }
1269
+ function useVisitorDesktopDownload(options = {}) {
1270
+ const enabled = _nullishCoalesce(options.enabled, () => ( true));
1271
+ const visitor = _chunkK2JUJ37Dcjs.useVisitorOs.call(void 0, );
1272
+ const { data, error } = useDownloads(options);
1273
+ if (!enabled || !visitor.known || !data && !error) return { known: false, download: null };
1274
+ const os = _chunkK2JUJ37Dcjs.desktopOsOf.call(void 0, visitor.os);
1275
+ const download = _nullishCoalesce(_optionalChain([data, 'optionalAccess', _22 => _22.desktop, 'access', _23 => _23.find, 'call', _24 => _24((row) => row.kind === "binary" && row.url && row.os === os)]), () => ( null));
1276
+ return { known: true, download };
1277
+ }
1278
+
1207
1279
  // src/hooks/use-batch-images.ts
1208
1280
 
1209
1281
  var globalBatchImageConfig = {};
@@ -1452,12 +1524,12 @@ function useAuthenticatedImage(imageUrl, refreshKey, config) {
1452
1524
  };
1453
1525
  }, []);
1454
1526
  const active = settled && settled.key === cacheKey ? settled : null;
1455
- const cachedBlobUrl = cacheKey === null ? void 0 : _optionalChain([imageCache, 'access', _22 => _22.get, 'call', _23 => _23(cacheKey), 'optionalAccess', _24 => _24.blobUrl]);
1456
- const resolvedBlobUrl = _nullishCoalesce(_nullishCoalesce(_optionalChain([active, 'optionalAccess', _25 => _25.blobUrl]), () => ( cachedBlobUrl)), () => ( _optionalChain([settled, 'optionalAccess', _26 => _26.blobUrl])));
1527
+ const cachedBlobUrl = cacheKey === null ? void 0 : _optionalChain([imageCache, 'access', _25 => _25.get, 'call', _26 => _26(cacheKey), 'optionalAccess', _27 => _27.blobUrl]);
1528
+ const resolvedBlobUrl = _nullishCoalesce(_nullishCoalesce(_optionalChain([active, 'optionalAccess', _28 => _28.blobUrl]), () => ( cachedBlobUrl)), () => ( _optionalChain([settled, 'optionalAccess', _29 => _29.blobUrl])));
1457
1529
  return {
1458
1530
  imageUrl: cacheKey === null ? void 0 : resolvedBlobUrl,
1459
1531
  isLoading: cacheKey !== null && active === null && cachedBlobUrl === void 0,
1460
- error: _nullishCoalesce((cacheKey === null ? void 0 : _optionalChain([active, 'optionalAccess', _27 => _27.error])), () => ( null))
1532
+ error: _nullishCoalesce((cacheKey === null ? void 0 : _optionalChain([active, 'optionalAccess', _30 => _30.error])), () => ( null))
1461
1533
  };
1462
1534
  }
1463
1535
 
@@ -1818,7 +1890,7 @@ function variablesToUrlParams(variables, schema) {
1818
1890
  const params = new URLSearchParams();
1819
1891
  for (const [paramName, paramConfig] of Object.entries(schema)) {
1820
1892
  const value = getNestedValue(variables, paramConfig.graphqlPath);
1821
- if (!_chunkAECTRMGQcjs.shouldIncludeInUrl.call(void 0, value, paramConfig)) {
1893
+ if (!_chunk7GRPR7XAcjs.shouldIncludeInUrl.call(void 0, value, paramConfig)) {
1822
1894
  continue;
1823
1895
  }
1824
1896
  if (Array.isArray(value)) {
@@ -1847,7 +1919,7 @@ function coerceScalar(value, type) {
1847
1919
  return isNaN(num) ? null : num;
1848
1920
  }
1849
1921
  case "int":
1850
- return _chunkAECTRMGQcjs.positiveInt.call(void 0, value, null);
1922
+ return _chunk7GRPR7XAcjs.positiveInt.call(void 0, value, null);
1851
1923
  case "boolean":
1852
1924
  return value === "true" || value === "1";
1853
1925
  case "string":
@@ -2153,7 +2225,7 @@ function useApiParams(schema, options = {}) {
2153
2225
  return flattened;
2154
2226
  }, [stableSchema]);
2155
2227
  const rawParams = _react.useMemo.call(void 0, () => {
2156
- const result = _chunkAECTRMGQcjs.parseSchemaParams.call(void 0, stableSchema, new URLSearchParams(searchString), {
2228
+ const result = _chunk7GRPR7XAcjs.parseSchemaParams.call(void 0, stableSchema, new URLSearchParams(searchString), {
2157
2229
  absent: options.absent === "null" ? "null" : "undefined"
2158
2230
  });
2159
2231
  if (debug) {
@@ -2169,14 +2241,14 @@ function useApiParams(schema, options = {}) {
2169
2241
  }
2170
2242
  const params = stableParams;
2171
2243
  const addParamToSearchParams = _react.useCallback.call(void 0, (searchParams, key, value) => {
2172
- for (const [k, v] of _chunkAECTRMGQcjs.createSearchParams.call(void 0, { [key]: value })) searchParams.append(k, v);
2244
+ for (const [k, v] of _chunk7GRPR7XAcjs.createSearchParams.call(void 0, { [key]: value })) searchParams.append(k, v);
2173
2245
  }, []);
2174
2246
  const urlSearchParams = _react.useMemo.call(void 0, () => {
2175
2247
  const newParams = new URLSearchParams();
2176
2248
  for (const key of Object.keys(stableSchema)) {
2177
2249
  const value = params[key];
2178
2250
  const paramConfig = flattenedSchema[key];
2179
- if (!_chunkAECTRMGQcjs.shouldIncludeInUrl.call(void 0, value, paramConfig)) {
2251
+ if (!_chunk7GRPR7XAcjs.shouldIncludeInUrl.call(void 0, value, paramConfig)) {
2180
2252
  continue;
2181
2253
  }
2182
2254
  addParamToSearchParams(newParams, key, value);
@@ -2233,7 +2305,7 @@ function useApiParams(schema, options = {}) {
2233
2305
  return;
2234
2306
  }
2235
2307
  const newParams = new URLSearchParams();
2236
- if (_chunkAECTRMGQcjs.shouldIncludeInUrl.call(void 0, value, config)) {
2308
+ if (_chunk7GRPR7XAcjs.shouldIncludeInUrl.call(void 0, value, config)) {
2237
2309
  addParamToSearchParams(newParams, key, value);
2238
2310
  updateUrl(newParams);
2239
2311
  } else {
@@ -2252,7 +2324,7 @@ function useApiParams(schema, options = {}) {
2252
2324
  console.warn(`[useApiParams] Unknown parameter: ${key}`);
2253
2325
  continue;
2254
2326
  }
2255
- if (_chunkAECTRMGQcjs.shouldIncludeInUrl.call(void 0, value, flattenedSchema[key])) {
2327
+ if (_chunk7GRPR7XAcjs.shouldIncludeInUrl.call(void 0, value, flattenedSchema[key])) {
2256
2328
  addParamToSearchParams(newParams, key, value);
2257
2329
  } else {
2258
2330
  keysToRemove.push(key);
@@ -2277,7 +2349,7 @@ function useApiParams(schema, options = {}) {
2277
2349
  }, [router, debug]);
2278
2350
  const pendingParams = _react.useMemo.call(void 0, () => {
2279
2351
  if (pendingTail === void 0 || pendingTail === searchString) return params;
2280
- return _chunkAECTRMGQcjs.parseSchemaParams.call(void 0, stableSchema, new URLSearchParams(pendingTail), {
2352
+ return _chunk7GRPR7XAcjs.parseSchemaParams.call(void 0, stableSchema, new URLSearchParams(pendingTail), {
2281
2353
  absent: options.absent === "null" ? "null" : "undefined"
2282
2354
  });
2283
2355
  }, [pendingTail, searchString, params, stableSchema, options.absent]);
@@ -2448,7 +2520,7 @@ function useScenarioPlayer({
2448
2520
  initialScenario = 0,
2449
2521
  startAtEnd = false
2450
2522
  }) {
2451
- const auto = _chunkGQ7JJUITcjs.useAutoplay.call(void 0, enabled);
2523
+ const auto = _chunkK2JUJ37Dcjs.useAutoplay.call(void 0, enabled);
2452
2524
  const { reducedMotion, paused, setPaused } = auto;
2453
2525
  const [scenario, setScenario] = _react.useState.call(void 0, initialScenario);
2454
2526
  const [rawStep, setRawStep] = _react.useState.call(void 0, startAtEnd ? Number.MAX_SAFE_INTEGER : 0);
@@ -2505,7 +2577,7 @@ function useAccessCodeIntegration() {
2505
2577
  const validate = async (email, code) => {
2506
2578
  setIsValidating(true);
2507
2579
  try {
2508
- return await _chunkGQ7JJUITcjs.validateAccessCode.call(void 0, email, code, endpoints);
2580
+ return await _chunkK2JUJ37Dcjs.validateAccessCode.call(void 0, email, code, endpoints);
2509
2581
  } finally {
2510
2582
  setIsValidating(false);
2511
2583
  }
@@ -2513,7 +2585,7 @@ function useAccessCodeIntegration() {
2513
2585
  const consume = async (email, code) => {
2514
2586
  setIsConsuming(true);
2515
2587
  try {
2516
- return await _chunkGQ7JJUITcjs.consumeAccessCode.call(void 0, email, code, endpoints);
2588
+ return await _chunkK2JUJ37Dcjs.consumeAccessCode.call(void 0, email, code, endpoints);
2517
2589
  } finally {
2518
2590
  setIsConsuming(false);
2519
2591
  }
@@ -2522,7 +2594,7 @@ function useAccessCodeIntegration() {
2522
2594
  setIsValidating(true);
2523
2595
  setIsConsuming(true);
2524
2596
  try {
2525
- return await _chunkGQ7JJUITcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2597
+ return await _chunkK2JUJ37Dcjs.validateAndConsumeAccessCode.call(void 0, email, code, endpoints);
2526
2598
  } finally {
2527
2599
  setIsValidating(false);
2528
2600
  setIsConsuming(false);
@@ -2545,14 +2617,14 @@ async function revalidateMirror(mirrorPath) {
2545
2617
  const res = await fetch(`${mirrorPath}?revalidate=1`);
2546
2618
  if (!res.ok) return null;
2547
2619
  const body = await res.json();
2548
- return _optionalChain([body, 'optionalAccess', _28 => _28.updated]) ? String(_nullishCoalesce(body.version, () => ( Date.now()))) : null;
2620
+ return _optionalChain([body, 'optionalAccess', _31 => _31.updated]) ? String(_nullishCoalesce(body.version, () => ( Date.now()))) : null;
2549
2621
  } catch (e6) {
2550
2622
  return null;
2551
2623
  }
2552
2624
  }
2553
2625
  function useClaudeMirrorSrc(url) {
2554
2626
  const endpoints = _chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, );
2555
- const mirrorPath = _chunkGQ7JJUITcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _29 => _29.storageViewBaseUrl]));
2627
+ const mirrorPath = _chunkK2JUJ37Dcjs.toClaudeMirrorPath.call(void 0, url, _optionalChain([endpoints, 'optionalAccess', _32 => _32.storageViewBaseUrl]));
2556
2628
  const [resolved, setResolved] = _react.useState.call(void 0, null);
2557
2629
  const state = resolved && resolved.key === mirrorPath ? resolved.value : { src: null, status: mirrorPath ? "probing" : "absent" };
2558
2630
  _react.useEffect.call(void 0, () => {
@@ -2583,7 +2655,7 @@ function useClaudeMirrorSrc(url) {
2583
2655
 
2584
2656
  // src/hooks/use-location-hash.ts
2585
2657
 
2586
- var HASH_EVENTS = ["hashchange", "popstate", _chunkGQ7JJUITcjs.LOCATION_HASH_SYNC_EVENT];
2658
+ var HASH_EVENTS = ["hashchange", "popstate", _chunkK2JUJ37Dcjs.LOCATION_HASH_SYNC_EVENT];
2587
2659
  function subscribe(onChange) {
2588
2660
  for (const event of HASH_EVENTS) window.addEventListener(event, onChange);
2589
2661
  return () => {
@@ -2591,7 +2663,7 @@ function subscribe(onChange) {
2591
2663
  };
2592
2664
  }
2593
2665
  function readHash() {
2594
- const raw = _chunkGQ7JJUITcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2666
+ const raw = _chunkK2JUJ37Dcjs.normalizeHashFragment.call(void 0, window.location.hash).replace(/^#/, "");
2595
2667
  try {
2596
2668
  return decodeURIComponent(raw);
2597
2669
  } catch (e7) {
@@ -2606,7 +2678,7 @@ function useLocationHash() {
2606
2678
 
2607
2679
  var MAX_POLL_FRAMES = 60;
2608
2680
  function useScrollToHash(readyDep = true, options) {
2609
- const headerOffset = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _30 => _30.headerOffset]), () => ( 0));
2681
+ const headerOffset = _nullishCoalesce(_optionalChain([options, 'optionalAccess', _33 => _33.headerOffset]), () => ( 0));
2610
2682
  _react.useEffect.call(void 0, () => {
2611
2683
  if (typeof window === "undefined") return void 0;
2612
2684
  if (readyDep === null || readyDep === false) return void 0;
@@ -2618,16 +2690,16 @@ function useScrollToHash(readyDep = true, options) {
2618
2690
  }
2619
2691
  };
2620
2692
  const tryScrollToHash = () => {
2621
- if (_chunkGQ7JJUITcjs.isScrollSyncedHash.call(void 0, )) return;
2622
- const hash = _chunkGQ7JJUITcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2693
+ if (_chunkK2JUJ37Dcjs.isScrollSyncedHash.call(void 0, )) return;
2694
+ const hash = _chunkK2JUJ37Dcjs.normalizeHashFragment.call(void 0, window.location.hash).slice(1);
2623
2695
  if (!hash) return;
2624
2696
  cancelPoll();
2625
2697
  let frames = 0;
2626
2698
  const tick = () => {
2627
- const el = _chunkGQ7JJUITcjs.getHashTargetElement.call(void 0, hash);
2699
+ const el = _chunkK2JUJ37Dcjs.getHashTargetElement.call(void 0, hash);
2628
2700
  if (el) {
2629
2701
  rafId = null;
2630
- _chunkGQ7JJUITcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2702
+ _chunkK2JUJ37Dcjs.scrollElementIntoView.call(void 0, el, { headerOffset });
2631
2703
  return;
2632
2704
  }
2633
2705
  if (frames++ < MAX_POLL_FRAMES) {
@@ -2655,8 +2727,8 @@ function useHumanitySignals() {
2655
2727
  const startedAtRef = _react.useRef.call(void 0, mountedAt);
2656
2728
  const getSignals = _react.useCallback.call(void 0,
2657
2729
  () => ({
2658
- [_chunkGQ7JJUITcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _31 => _31.current, 'optionalAccess', _32 => _32.value]), () => ( "")),
2659
- [_chunkGQ7JJUITcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2730
+ [_chunkK2JUJ37Dcjs.HONEYPOT_FIELD]: _nullishCoalesce(_optionalChain([ref, 'access', _34 => _34.current, 'optionalAccess', _35 => _35.value]), () => ( "")),
2731
+ [_chunkK2JUJ37Dcjs.ELAPSED_MS_FIELD]: typeof performance !== "undefined" ? Math.round(performance.now() - startedAtRef.current) : 0
2660
2732
  }),
2661
2733
  []
2662
2734
  );
@@ -2664,7 +2736,7 @@ function useHumanitySignals() {
2664
2736
  if (ref.current) ref.current.value = "";
2665
2737
  if (typeof performance !== "undefined") startedAtRef.current = performance.now();
2666
2738
  }, []);
2667
- return { honeypotInputProps: { ref, name: _chunkGQ7JJUITcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2739
+ return { honeypotInputProps: { ref, name: _chunkK2JUJ37Dcjs.HONEYPOT_FIELD }, getSignals, resetSignals };
2668
2740
  }
2669
2741
 
2670
2742
  // src/hooks/use-form-rescue.ts
@@ -2686,9 +2758,9 @@ function readLocalDraft(formId) {
2686
2758
  const raw = window.localStorage.getItem(STORAGE_PREFIX + formId);
2687
2759
  if (!raw) return null;
2688
2760
  const parsed = JSON.parse(raw);
2689
- if (!_chunkGQ7JJUITcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2761
+ if (!_chunkK2JUJ37Dcjs.isFormAttemptId.call(void 0, parsed.attemptId) || typeof parsed.savedAt !== "number") return null;
2690
2762
  if (Date.now() - parsed.savedAt > LOCAL_DRAFT_TTL_MS) return null;
2691
- return { attemptId: parsed.attemptId, values: _chunkGQ7JJUITcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2763
+ return { attemptId: parsed.attemptId, values: _chunkK2JUJ37Dcjs.sanitizeRescueValues.call(void 0, parsed.values), savedAt: parsed.savedAt };
2692
2764
  } catch (e8) {
2693
2765
  return null;
2694
2766
  }
@@ -2708,9 +2780,9 @@ function clearLocalDraft(formId) {
2708
2780
  function completeFormRescue(form, attemptId) {
2709
2781
  if (!form || typeof window === "undefined") return;
2710
2782
  const local = readLocalDraft(form.id);
2711
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.submitted, {
2783
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.submitted, {
2712
2784
  form_id: form.id,
2713
- attempt_id: _chunkGQ7JJUITcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _33 => _33.attemptId]), () => ( null))
2785
+ attempt_id: _chunkK2JUJ37Dcjs.isFormAttemptId.call(void 0, attemptId) ? attemptId : _nullishCoalesce(_optionalChain([local, 'optionalAccess', _36 => _36.attemptId]), () => ( null))
2714
2786
  });
2715
2787
  clearLocalDraft(form.id);
2716
2788
  }
@@ -2728,8 +2800,8 @@ function readUtm() {
2728
2800
  }
2729
2801
  }
2730
2802
  function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2731
- const draftsUrl = _optionalChain([_chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, ), 'optionalAccess', _34 => _34.formDraftsUrl]);
2732
- const formId = _nullishCoalesce(_optionalChain([form, 'optionalAccess', _35 => _35.id]), () => ( null));
2803
+ const draftsUrl = _optionalChain([_chunkMZ4KBSH7cjs.useEndpointsRuntime.call(void 0, ), 'optionalAccess', _37 => _37.formDraftsUrl]);
2804
+ const formId = _nullishCoalesce(_optionalChain([form, 'optionalAccess', _38 => _38.id]), () => ( null));
2733
2805
  const attemptIdRef = _react.useRef.call(void 0, null);
2734
2806
  const resumeTokenRef = _react.useRef.call(void 0, null);
2735
2807
  const latestRef = _react.useRef.call(void 0, null);
@@ -2763,15 +2835,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2763
2835
  ...resumeTokenRef.current ? { resume_token: resumeTokenRef.current } : {}
2764
2836
  };
2765
2837
  try {
2766
- void _chunkAUMKE74Mcjs.contentFetch.call(void 0, draftsUrl, {
2838
+ void _chunk7GRPR7XAcjs.contentFetch.call(void 0, draftsUrl, {
2767
2839
  method: "POST",
2768
2840
  headers: { "Content-Type": "application/json" },
2769
- body: JSON.stringify({ ...body, ..._nullishCoalesce(_optionalChain([getSignalsRef, 'access', _36 => _36.current, 'optionalCall', _37 => _37()]), () => ( {})) }),
2841
+ body: JSON.stringify({ ...body, ..._nullishCoalesce(_optionalChain([getSignalsRef, 'access', _39 => _39.current, 'optionalCall', _40 => _40()]), () => ( {})) }),
2770
2842
  keepalive
2771
2843
  }).catch(() => void 0);
2772
2844
  } catch (e12) {
2773
2845
  }
2774
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.progress, {
2846
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.progress, {
2775
2847
  form_id: formId,
2776
2848
  attempt_id: attemptId(),
2777
2849
  fields_filled: body.fields_filled,
@@ -2784,23 +2856,23 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2784
2856
  _react.useEffect.call(void 0, () => {
2785
2857
  if (!formId || typeof window === "undefined") return void 0;
2786
2858
  let cancelled = false;
2787
- const token = new URLSearchParams(window.location.search).get(_chunkGQ7JJUITcjs.FORM_RESCUE_RESUME_PARAM);
2859
+ const token = new URLSearchParams(window.location.search).get(_chunkK2JUJ37Dcjs.FORM_RESCUE_RESUME_PARAM);
2788
2860
  const restoreLocal = () => {
2789
2861
  const local = readLocalDraft(formId);
2790
2862
  if (!local) return;
2791
2863
  attemptIdRef.current = local.attemptId;
2792
- if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _38 => _38.current, 'optionalCall', _39 => _39(local.values)]);
2864
+ if (Object.keys(local.values).length) _optionalChain([onRestoreRef, 'access', _41 => _41.current, 'optionalCall', _42 => _42(local.values)]);
2793
2865
  };
2794
- if (_chunkGQ7JJUITcjs.isResumeToken.call(void 0, token) && draftsUrl) {
2795
- _chunkAUMKE74Mcjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2866
+ if (_chunkK2JUJ37Dcjs.isResumeToken.call(void 0, token) && draftsUrl) {
2867
+ _chunk7GRPR7XAcjs.contentFetch.call(void 0, `${draftsUrl}/resume/${encodeURIComponent(token)}`).then(async (res) => res.ok ? await res.json() : null).then((data) => {
2796
2868
  if (cancelled) return;
2797
2869
  if (!data || data.form_id !== formId) {
2798
2870
  restoreLocal();
2799
2871
  return;
2800
2872
  }
2801
2873
  resumeTokenRef.current = token;
2802
- _optionalChain([onRestoreRef, 'access', _40 => _40.current, 'optionalCall', _41 => _41(_chunkGQ7JJUITcjs.sanitizeRescueValues.call(void 0, data.values))]);
2803
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2874
+ _optionalChain([onRestoreRef, 'access', _43 => _43.current, 'optionalCall', _44 => _44(_chunkK2JUJ37Dcjs.sanitizeRescueValues.call(void 0, data.values))]);
2875
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.resumed, { form_id: formId, attempt_id: attemptId() });
2804
2876
  }).catch(() => {
2805
2877
  if (!cancelled) restoreLocal();
2806
2878
  });
@@ -2820,11 +2892,11 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2820
2892
  timerRef.current = null;
2821
2893
  }
2822
2894
  send(true);
2823
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.abandoned, {
2895
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.abandoned, {
2824
2896
  form_id: formId,
2825
2897
  attempt_id: attemptId(),
2826
- last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _42 => _42.current, 'optionalAccess', _43 => _43.last_field]), () => ( null)),
2827
- completion_pct: _nullishCoalesce(_optionalChain([latestRef, 'access', _44 => _44.current, 'optionalAccess', _45 => _45.completion_pct]), () => ( 0))
2898
+ last_field: _nullishCoalesce(_optionalChain([latestRef, 'access', _45 => _45.current, 'optionalAccess', _46 => _46.last_field]), () => ( null)),
2899
+ completion_pct: _nullishCoalesce(_optionalChain([latestRef, 'access', _47 => _47.current, 'optionalAccess', _48 => _48.completion_pct]), () => ( 0))
2828
2900
  });
2829
2901
  };
2830
2902
  const onVisibility = () => {
@@ -2844,22 +2916,22 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2844
2916
  const names = fieldNamesRef.current;
2845
2917
  const visible = {};
2846
2918
  for (const name of names) visible[name] = values[name];
2847
- const filled = _chunkGQ7JJUITcjs.filledRescueFields.call(void 0, visible, names);
2919
+ const filled = _chunkK2JUJ37Dcjs.filledRescueFields.call(void 0, visible, names);
2848
2920
  if (!filled.length) return;
2849
2921
  if (!startedRef.current) {
2850
2922
  startedRef.current = true;
2851
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2923
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.started, { form_id: formId, attempt_id: attemptId() });
2852
2924
  }
2853
- const clean = _chunkGQ7JJUITcjs.sanitizeRescueValues.call(void 0, visible);
2854
- if (!leadCapturedRef.current && _chunkGQ7JJUITcjs.isRescueEmail.call(void 0, clean.email)) {
2925
+ const clean = _chunkK2JUJ37Dcjs.sanitizeRescueValues.call(void 0, visible);
2926
+ if (!leadCapturedRef.current && _chunkK2JUJ37Dcjs.isRescueEmail.call(void 0, clean.email)) {
2855
2927
  leadCapturedRef.current = true;
2856
- _chunkGQ7JJUITcjs.captureFormRescueEvent.call(void 0, _chunkGQ7JJUITcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2928
+ _chunkK2JUJ37Dcjs.captureFormRescueEvent.call(void 0, _chunkK2JUJ37Dcjs.FORM_RESCUE_EVENTS.leadCaptured, { form_id: formId, attempt_id: attemptId() });
2857
2929
  }
2858
2930
  latestRef.current = {
2859
2931
  values: clean,
2860
2932
  fields_filled: filled,
2861
- last_field: _chunkGQ7JJUITcjs.sanitizeRescueFieldName.call(void 0, lastField),
2862
- completion_pct: _chunkGQ7JJUITcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2933
+ last_field: _chunkK2JUJ37Dcjs.sanitizeRescueFieldName.call(void 0, lastField),
2934
+ completion_pct: _chunkK2JUJ37Dcjs.rescueCompletionPct.call(void 0, filled.length, names.length)
2863
2935
  };
2864
2936
  dirtyRef.current = true;
2865
2937
  writeLocalDraft(formId, { attemptId: attemptId(), values: clean, savedAt: Date.now() });
@@ -2867,15 +2939,15 @@ function useFormRescue({ form, fieldNames, onRestore, getSignals }) {
2867
2939
  timerRef.current = setTimeout(() => {
2868
2940
  timerRef.current = null;
2869
2941
  send(false);
2870
- }, _chunkGQ7JJUITcjs.FORM_RESCUE_DEBOUNCE_MS);
2942
+ }, _chunkK2JUJ37Dcjs.FORM_RESCUE_DEBOUNCE_MS);
2871
2943
  },
2872
2944
  [attemptId, formId, send]
2873
2945
  );
2874
2946
  const submitFields = _react.useCallback.call(void 0, () => {
2875
2947
  if (!formId) return {};
2876
2948
  return {
2877
- [_chunkGQ7JJUITcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2878
- ...resumeTokenRef.current ? { [_chunkGQ7JJUITcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2949
+ [_chunkK2JUJ37Dcjs.FORM_RESCUE_ATTEMPT_FIELD]: attemptId(),
2950
+ ...resumeTokenRef.current ? { [_chunkK2JUJ37Dcjs.FORM_RESCUE_RESUME_FIELD]: resumeTokenRef.current } : {}
2879
2951
  };
2880
2952
  }, [attemptId, formId]);
2881
2953
  const complete = _react.useCallback.call(void 0, () => {
@@ -2994,4 +3066,7 @@ function useRescuedForm(form, { rescue, fields, getSignals, fieldPath }) {
2994
3066
 
2995
3067
 
2996
3068
 
2997
- exports.useDeferredError = useDeferredError; exports.useFocusTrap = useFocusTrap; exports.useStickyToolbar = useStickyToolbar; exports.useMemoizedCallback = useMemoizedCallback; exports.useNotificationPermission = useNotificationPermission; exports.useOnboardingState = useOnboardingState; exports.useSearch = useSearch; exports.useTablePagination = useTablePagination; exports.useThrottle = useThrottle; exports.useWindowSize = useWindowSize; exports.resolveActiveSection = resolveActiveSection; exports.useActiveSection = useActiveSection; exports.useNavMenus = useNavMenus; exports.usePreventScroll = _overlays.usePreventScroll; exports.usePlatformConfig = usePlatformConfig; exports.usePlatformByValue = usePlatformByValue; exports.useValidatePlatform = useValidatePlatform; exports.dotColorByVariant = dotColorByVariant; exports.progressColorByVariant = progressColorByVariant; exports.ToastCard = ToastCard; exports.CommandApprovalToast = CommandApprovalToast; exports.Toaster = Toaster; exports.showToast = showToast; exports.showCommandApprovalToast = showCommandApprovalToast; exports.toast = toast; exports.useToast = useToast; exports.useContactSubmission = useContactSubmission; exports.useCopyToClipboard = useCopyToClipboard; exports.configureBatchImageFetch = configureBatchImageFetch; exports.batchFetchAuthenticatedImages = batchFetchAuthenticatedImages; exports.useBatchImages = useBatchImages; exports.configureAuthenticatedImage = configureAuthenticatedImage; exports.useAuthenticatedImage = useAuthenticatedImage; exports.flattenQueryVariables = flattenQueryVariables; exports.mergeDefaults = mergeDefaults; exports.validateSchema = validateSchema; exports.getArrayParams = getArrayParams; exports.getRequiredParams = getRequiredParams; exports.extractVariablesFromQuery = extractVariablesFromQuery; exports.isScalarType = isScalarType; exports.isInputObjectType = isInputObjectType; exports.GraphQLIntrospector = GraphQLIntrospector; exports.introspector = introspector; exports.urlParamsToVariables = urlParamsToVariables; exports.variablesToUrlParams = variablesToUrlParams; exports.coerceValue = coerceValue; exports.setNestedValue = setNestedValue; exports.getNestedValue = getNestedValue; exports.mergeVariables = mergeVariables; exports.clearParams = clearParams; exports.validateVariables = validateVariables; exports.useQueryParams = useQueryParams; exports.useApiParams = useApiParams; exports.useCursorPaginationState = useCursorPaginationState; exports.useNatsClient = useNatsClient; exports.useScenarioPlayer = useScenarioPlayer; exports.useAccessCodeIntegration = useAccessCodeIntegration; exports.useClaudeMirrorSrc = useClaudeMirrorSrc; exports.useLocationHash = useLocationHash; exports.useScrollToHash = useScrollToHash; exports.useHumanitySignals = useHumanitySignals; exports.completeFormRescue = completeFormRescue; exports.useFormRescue = useFormRescue; exports.useRescuedForm = useRescuedForm;
3069
+
3070
+
3071
+
3072
+ exports.useDeferredError = useDeferredError; exports.useFocusTrap = useFocusTrap; exports.useStickyToolbar = useStickyToolbar; exports.useMemoizedCallback = useMemoizedCallback; exports.useNotificationPermission = useNotificationPermission; exports.useOnboardingState = useOnboardingState; exports.useSearch = useSearch; exports.useTablePagination = useTablePagination; exports.useThrottle = useThrottle; exports.useWindowSize = useWindowSize; exports.resolveActiveSection = resolveActiveSection; exports.useActiveSection = useActiveSection; exports.useNavMenus = useNavMenus; exports.usePreventScroll = _overlays.usePreventScroll; exports.usePlatformConfig = usePlatformConfig; exports.usePlatformByValue = usePlatformByValue; exports.useValidatePlatform = useValidatePlatform; exports.dotColorByVariant = dotColorByVariant; exports.progressColorByVariant = progressColorByVariant; exports.ToastCard = ToastCard; exports.CommandApprovalToast = CommandApprovalToast; exports.Toaster = Toaster; exports.showToast = showToast; exports.showCommandApprovalToast = showCommandApprovalToast; exports.toast = toast; exports.useToast = useToast; exports.useContactSubmission = useContactSubmission; exports.useCopyToClipboard = useCopyToClipboard; exports.resetDownloadsStore = resetDownloadsStore; exports.useDownloads = useDownloads; exports.useVisitorDesktopDownload = useVisitorDesktopDownload; exports.configureBatchImageFetch = configureBatchImageFetch; exports.batchFetchAuthenticatedImages = batchFetchAuthenticatedImages; exports.useBatchImages = useBatchImages; exports.configureAuthenticatedImage = configureAuthenticatedImage; exports.useAuthenticatedImage = useAuthenticatedImage; exports.flattenQueryVariables = flattenQueryVariables; exports.mergeDefaults = mergeDefaults; exports.validateSchema = validateSchema; exports.getArrayParams = getArrayParams; exports.getRequiredParams = getRequiredParams; exports.extractVariablesFromQuery = extractVariablesFromQuery; exports.isScalarType = isScalarType; exports.isInputObjectType = isInputObjectType; exports.GraphQLIntrospector = GraphQLIntrospector; exports.introspector = introspector; exports.urlParamsToVariables = urlParamsToVariables; exports.variablesToUrlParams = variablesToUrlParams; exports.coerceValue = coerceValue; exports.setNestedValue = setNestedValue; exports.getNestedValue = getNestedValue; exports.mergeVariables = mergeVariables; exports.clearParams = clearParams; exports.validateVariables = validateVariables; exports.useQueryParams = useQueryParams; exports.useApiParams = useApiParams; exports.useCursorPaginationState = useCursorPaginationState; exports.useNatsClient = useNatsClient; exports.useScenarioPlayer = useScenarioPlayer; exports.useAccessCodeIntegration = useAccessCodeIntegration; exports.useClaudeMirrorSrc = useClaudeMirrorSrc; exports.useLocationHash = useLocationHash; exports.useScrollToHash = useScrollToHash; exports.useHumanitySignals = useHumanitySignals; exports.completeFormRescue = completeFormRescue; exports.useFormRescue = useFormRescue; exports.useRescuedForm = useRescuedForm;