@arbidocs/blocks 0.5.121 → 0.5.122

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 (185) hide show
  1. package/dist/{ClippingMediaViewer-B6WG7Q64.cjs → ClippingMediaViewer-IEIBT74X.cjs} +8 -8
  2. package/dist/{ClippingMediaViewer-B6WG7Q64.cjs.map → ClippingMediaViewer-IEIBT74X.cjs.map} +1 -1
  3. package/dist/{ClippingPdfViewer-6GCVTV3V.cjs → ClippingPdfViewer-OGYLMVCE.cjs} +5 -5
  4. package/dist/{ClippingPdfViewer-6GCVTV3V.cjs.map → ClippingPdfViewer-OGYLMVCE.cjs.map} +1 -1
  5. package/dist/{ConnectedCallDock-DC5V5OUJ.cjs → ConnectedCallDock-XJOYVVAH.cjs} +21 -21
  6. package/dist/{ConnectedCallDock-DC5V5OUJ.cjs.map → ConnectedCallDock-XJOYVVAH.cjs.map} +1 -1
  7. package/dist/{ConnectedCallRoom-FQLXWTFB.cjs → ConnectedCallRoom-CUDYAPQK.cjs} +14 -14
  8. package/dist/{ConnectedCallRoom-FQLXWTFB.cjs.map → ConnectedCallRoom-CUDYAPQK.cjs.map} +1 -1
  9. package/dist/{ConnectedNativeDocxComparison-4Q5S7VLD.cjs → ConnectedNativeDocxComparison-QKHCYD6W.cjs} +16 -16
  10. package/dist/{ConnectedNativeDocxComparison-4Q5S7VLD.cjs.map → ConnectedNativeDocxComparison-QKHCYD6W.cjs.map} +1 -1
  11. package/dist/ConnectedPresentation-AU25OW25.cjs +321 -0
  12. package/dist/ConnectedPresentation-AU25OW25.cjs.map +1 -0
  13. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs → ConnectedProductionSetDialog-LHB4VQWC.cjs} +3 -3
  14. package/dist/{ConnectedProductionSetDialog-4EAY6KAZ.cjs.map → ConnectedProductionSetDialog-LHB4VQWC.cjs.map} +1 -1
  15. package/dist/{ConnectedSlidesTab-7QDE2CZD.cjs → ConnectedSlidesTab-I75LKKN7.cjs} +40 -38
  16. package/dist/ConnectedSlidesTab-I75LKKN7.cjs.map +1 -0
  17. package/dist/{ConnectedStreamedWordArtifact-FFOQJBOI.cjs → ConnectedStreamedWordArtifact-AG62232A.cjs} +16 -16
  18. package/dist/{ConnectedStreamedWordArtifact-FFOQJBOI.cjs.map → ConnectedStreamedWordArtifact-AG62232A.cjs.map} +1 -1
  19. package/dist/{DocumentReviewCard-SNWVEZ7S.cjs → DocumentReviewCard-M53XFLI2.cjs} +15 -15
  20. package/dist/{DocumentReviewCard-SNWVEZ7S.cjs.map → DocumentReviewCard-M53XFLI2.cjs.map} +1 -1
  21. package/dist/{FilesViewerDialog-IZI63FOV.cjs → FilesViewerDialog-4352KIOG.cjs} +50 -49
  22. package/dist/FilesViewerDialog-4352KIOG.cjs.map +1 -0
  23. package/dist/{WorkspaceTableView-TEIRB6VJ.cjs → WorkspaceTableView-3XYAV4BV.cjs} +8 -8
  24. package/dist/{WorkspaceTableView-TEIRB6VJ.cjs.map → WorkspaceTableView-3XYAV4BV.cjs.map} +1 -1
  25. package/dist/agents/index.cjs +297 -297
  26. package/dist/{ai-KBYNRNZ6.cjs → ai-IEIR7SC2.cjs} +25 -25
  27. package/dist/ai-IEIR7SC2.cjs.map +1 -0
  28. package/dist/calls/index.cjs +121 -121
  29. package/dist/chat/index.cjs +1 -1
  30. package/dist/{chunk-NLOETJCB.cjs → chunk-2F57IO7S.cjs} +12 -12
  31. package/dist/{chunk-NLOETJCB.cjs.map → chunk-2F57IO7S.cjs.map} +1 -1
  32. package/dist/chunk-2RLA6QO2.cjs +174 -0
  33. package/dist/chunk-2RLA6QO2.cjs.map +1 -0
  34. package/dist/{chunk-Q6DQGGP4.cjs → chunk-325GVZE6.cjs} +3 -3
  35. package/dist/{chunk-Q6DQGGP4.cjs.map → chunk-325GVZE6.cjs.map} +1 -1
  36. package/dist/{chunk-XTR26TNE.cjs → chunk-4TTX6ZNS.cjs} +20 -4
  37. package/dist/chunk-4TTX6ZNS.cjs.map +1 -0
  38. package/dist/{chunk-BVAT4EVC.cjs → chunk-5QERK4PK.cjs} +35 -35
  39. package/dist/{chunk-BVAT4EVC.cjs.map → chunk-5QERK4PK.cjs.map} +1 -1
  40. package/dist/{chunk-GX2EBMJW.cjs → chunk-6OK7ESTL.cjs} +7 -6
  41. package/dist/chunk-6OK7ESTL.cjs.map +1 -0
  42. package/dist/{chunk-C2OICDMI.cjs → chunk-7557LDAN.cjs} +10 -10
  43. package/dist/{chunk-C2OICDMI.cjs.map → chunk-7557LDAN.cjs.map} +1 -1
  44. package/dist/{chunk-474GPLCM.cjs → chunk-7L4X6QN2.cjs} +6 -6
  45. package/dist/{chunk-474GPLCM.cjs.map → chunk-7L4X6QN2.cjs.map} +1 -1
  46. package/dist/{chunk-52KGMAO5.cjs → chunk-7NLO7ASW.cjs} +15 -15
  47. package/dist/{chunk-52KGMAO5.cjs.map → chunk-7NLO7ASW.cjs.map} +1 -1
  48. package/dist/{chunk-H5OLHP2U.cjs → chunk-7OPOPYV6.cjs} +3 -3
  49. package/dist/{chunk-H5OLHP2U.cjs.map → chunk-7OPOPYV6.cjs.map} +1 -1
  50. package/dist/{chunk-W6B3RYTX.cjs → chunk-7PN3YENO.cjs} +4 -4
  51. package/dist/{chunk-W6B3RYTX.cjs.map → chunk-7PN3YENO.cjs.map} +1 -1
  52. package/dist/{chunk-734NPQNR.cjs → chunk-ADDQKZ5I.cjs} +4 -4
  53. package/dist/{chunk-734NPQNR.cjs.map → chunk-ADDQKZ5I.cjs.map} +1 -1
  54. package/dist/{chunk-JQLWKNJO.cjs → chunk-ALK3PUUB.cjs} +4 -4
  55. package/dist/{chunk-JQLWKNJO.cjs.map → chunk-ALK3PUUB.cjs.map} +1 -1
  56. package/dist/{chunk-4VZZWYEC.cjs → chunk-BQ5RIWWT.cjs} +3 -3
  57. package/dist/{chunk-4VZZWYEC.cjs.map → chunk-BQ5RIWWT.cjs.map} +1 -1
  58. package/dist/{chunk-ENGL7P3I.cjs → chunk-CQQQIZU4.cjs} +27 -27
  59. package/dist/{chunk-ENGL7P3I.cjs.map → chunk-CQQQIZU4.cjs.map} +1 -1
  60. package/dist/{chunk-3SCNXNHI.cjs → chunk-E3L5DB5F.cjs} +5 -5
  61. package/dist/{chunk-3SCNXNHI.cjs.map → chunk-E3L5DB5F.cjs.map} +1 -1
  62. package/dist/{chunk-VJ5ZLRBD.cjs → chunk-GFUOCGY6.cjs} +8 -3
  63. package/dist/chunk-GFUOCGY6.cjs.map +1 -0
  64. package/dist/{chunk-RYVZDFVO.cjs → chunk-JJZOL5MG.cjs} +3 -3
  65. package/dist/{chunk-RYVZDFVO.cjs.map → chunk-JJZOL5MG.cjs.map} +1 -1
  66. package/dist/{chunk-QFXILJMJ.cjs → chunk-K4763GD5.cjs} +17 -174
  67. package/dist/chunk-K4763GD5.cjs.map +1 -0
  68. package/dist/{chunk-EHP6OH5D.cjs → chunk-KA3F6TIH.cjs} +11 -11
  69. package/dist/{chunk-EHP6OH5D.cjs.map → chunk-KA3F6TIH.cjs.map} +1 -1
  70. package/dist/{chunk-UUENH4BJ.cjs → chunk-KXIRVKCJ.cjs} +3 -3
  71. package/dist/{chunk-UUENH4BJ.cjs.map → chunk-KXIRVKCJ.cjs.map} +1 -1
  72. package/dist/{chunk-4RBQ44RY.cjs → chunk-MLA2BJ2Y.cjs} +28 -28
  73. package/dist/{chunk-4RBQ44RY.cjs.map → chunk-MLA2BJ2Y.cjs.map} +1 -1
  74. package/dist/{chunk-DR2AH7JL.cjs → chunk-NG2EE7HR.cjs} +48 -48
  75. package/dist/{chunk-DR2AH7JL.cjs.map → chunk-NG2EE7HR.cjs.map} +1 -1
  76. package/dist/{chunk-4NPCDS2X.cjs → chunk-NY3YUCOW.cjs} +3 -3
  77. package/dist/{chunk-4NPCDS2X.cjs.map → chunk-NY3YUCOW.cjs.map} +1 -1
  78. package/dist/{chunk-JZEYHDWJ.cjs → chunk-OHHKBURG.cjs} +76 -76
  79. package/dist/chunk-OHHKBURG.cjs.map +1 -0
  80. package/dist/{chunk-AY6EZSZB.cjs → chunk-QG2U2JGX.cjs} +4 -4
  81. package/dist/{chunk-AY6EZSZB.cjs.map → chunk-QG2U2JGX.cjs.map} +1 -1
  82. package/dist/{chunk-5534FYXP.cjs → chunk-SDRYSLOX.cjs} +4 -4
  83. package/dist/{chunk-5534FYXP.cjs.map → chunk-SDRYSLOX.cjs.map} +1 -1
  84. package/dist/{chunk-2W5E62EY.cjs → chunk-SGYSDABK.cjs} +6 -6
  85. package/dist/{chunk-2W5E62EY.cjs.map → chunk-SGYSDABK.cjs.map} +1 -1
  86. package/dist/{chunk-EATIFPKP.cjs → chunk-T73BHNQX.cjs} +4 -4
  87. package/dist/{chunk-EATIFPKP.cjs.map → chunk-T73BHNQX.cjs.map} +1 -1
  88. package/dist/{chunk-4IOYQLKG.cjs → chunk-TP5PGWIO.cjs} +3 -3
  89. package/dist/{chunk-4IOYQLKG.cjs.map → chunk-TP5PGWIO.cjs.map} +1 -1
  90. package/dist/{chunk-GKVE5JGB.cjs → chunk-UFT22LAB.cjs} +3 -3
  91. package/dist/{chunk-GKVE5JGB.cjs.map → chunk-UFT22LAB.cjs.map} +1 -1
  92. package/dist/{chunk-Q3XJUXID.cjs → chunk-USNTRL22.cjs} +215 -199
  93. package/dist/chunk-USNTRL22.cjs.map +1 -0
  94. package/dist/{chunk-7VUJGHMY.cjs → chunk-UTJ223TI.cjs} +178 -82
  95. package/dist/chunk-UTJ223TI.cjs.map +1 -0
  96. package/dist/{chunk-FKFQCK3C.cjs → chunk-V6MW7B4B.cjs} +4 -4
  97. package/dist/{chunk-FKFQCK3C.cjs.map → chunk-V6MW7B4B.cjs.map} +1 -1
  98. package/dist/{chunk-2PZT3J34.cjs → chunk-VWBYE3XY.cjs} +6 -6
  99. package/dist/{chunk-2PZT3J34.cjs.map → chunk-VWBYE3XY.cjs.map} +1 -1
  100. package/dist/{chunk-GQXPNIRE.cjs → chunk-WAV762GP.cjs} +6 -6
  101. package/dist/{chunk-GQXPNIRE.cjs.map → chunk-WAV762GP.cjs.map} +1 -1
  102. package/dist/{chunk-5LTIZ44D.cjs → chunk-WFMWKPGY.cjs} +14 -7
  103. package/dist/chunk-WFMWKPGY.cjs.map +1 -0
  104. package/dist/{chunk-KP5AITQ4.cjs → chunk-WRLGLZIA.cjs} +7 -7
  105. package/dist/{chunk-KP5AITQ4.cjs.map → chunk-WRLGLZIA.cjs.map} +1 -1
  106. package/dist/{chunk-MZ2KZXNU.cjs → chunk-WXUU3COI.cjs} +3 -3
  107. package/dist/{chunk-MZ2KZXNU.cjs.map → chunk-WXUU3COI.cjs.map} +1 -1
  108. package/dist/{chunk-NAJN32MF.cjs → chunk-XF355M7O.cjs} +13 -13
  109. package/dist/{chunk-NAJN32MF.cjs.map → chunk-XF355M7O.cjs.map} +1 -1
  110. package/dist/{chunk-GPX5VC57.cjs → chunk-XGM4VVNV.cjs} +50 -50
  111. package/dist/{chunk-GPX5VC57.cjs.map → chunk-XGM4VVNV.cjs.map} +1 -1
  112. package/dist/connect/docx.cjs +19 -19
  113. package/dist/connect/index.cjs +996 -995
  114. package/dist/connect/index.cjs.map +1 -1
  115. package/dist/connect/viewer.cjs +38 -37
  116. package/dist/connection/conversation/ConnectedMessage.js +1 -1
  117. package/dist/connection/conversation/ConnectedMessage.js.map +2 -2
  118. package/dist/connection/presentation/ConnectedSlidesTab.js +5 -3
  119. package/dist/connection/presentation/ConnectedSlidesTab.js.map +2 -2
  120. package/dist/connection/presentation/PresentationPill.js +3 -8
  121. package/dist/connection/presentation/PresentationPill.js.map +2 -2
  122. package/dist/connection/presentation/requests.d.ts +5 -0
  123. package/dist/connection/presentation/requests.js +8 -1
  124. package/dist/connection/presentation/requests.js.map +2 -2
  125. package/dist/connection/viewer/ViewerPdfPane.js +4 -1
  126. package/dist/connection/viewer/ViewerPdfPane.js.map +2 -2
  127. package/dist/connection/viewer/documentPlace.d.ts +5 -4
  128. package/dist/connection/viewer/documentPlace.js +2 -2
  129. package/dist/connection/viewer/documentPlace.js.map +2 -2
  130. package/dist/connection/viewer/pdf/PdfClipOutlines.d.ts +11 -0
  131. package/dist/connection/viewer/pdf/PdfClipOutlines.js +42 -0
  132. package/dist/connection/viewer/pdf/PdfClipOutlines.js.map +7 -0
  133. package/dist/connection/viewer/pdf/clipOutlines.d.ts +17 -0
  134. package/dist/connection/viewer/pdf/clipOutlines.js +24 -0
  135. package/dist/connection/viewer/pdf/clipOutlines.js.map +7 -0
  136. package/dist/connection/viewer/pdf/passageHighlights.d.ts +2 -0
  137. package/dist/connection/viewer/pdf/passageHighlights.js +12 -1
  138. package/dist/connection/viewer/pdf/passageHighlights.js.map +2 -2
  139. package/dist/connection/viewer/pdf/usePdfClipOutlines.d.ts +7 -0
  140. package/dist/connection/viewer/pdf/usePdfClipOutlines.js +36 -0
  141. package/dist/connection/viewer/pdf/usePdfClipOutlines.js.map +7 -0
  142. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js +11 -2
  143. package/dist/connection/viewer/pdf/usePdfPassageHighlights.js.map +2 -2
  144. package/dist/dashboards/index.cjs +1 -1
  145. package/dist/embed/index.cjs +39 -39
  146. package/dist/files/index.cjs +224 -224
  147. package/dist/index.cjs +1597 -1596
  148. package/dist/index.cjs.map +1 -1
  149. package/dist/presentation/PresentControls.d.ts +11 -0
  150. package/dist/presentation/PresentControls.js +117 -0
  151. package/dist/presentation/PresentControls.js.map +7 -0
  152. package/dist/presentation/PresenterView.js +36 -5
  153. package/dist/presentation/PresenterView.js.map +2 -2
  154. package/dist/presentation/SlidesEditor.js +17 -1
  155. package/dist/presentation/SlidesEditor.js.map +2 -2
  156. package/dist/presentation/panel-id.d.ts +12 -2
  157. package/dist/presentation/panel-id.js +6 -1
  158. package/dist/presentation/panel-id.js.map +2 -2
  159. package/dist/presentation/slide-layout.d.ts +5 -1
  160. package/dist/presentation/slide-layout.js +16 -0
  161. package/dist/presentation/slide-layout.js.map +2 -2
  162. package/dist/settings/index.cjs +146 -146
  163. package/dist/shell/PanelPortal.js +13 -4
  164. package/dist/shell/PanelPortal.js.map +2 -2
  165. package/dist/shell/index.cjs +92 -91
  166. package/dist/shell/panel-windows.js +1 -0
  167. package/dist/shell/panel-windows.js.map +2 -2
  168. package/dist/studio/index.cjs +28 -28
  169. package/dist/styles.css +1 -1
  170. package/dist/workflow-canvas/index.cjs +53 -53
  171. package/node_modules/@arbidocs/coedit/package.json +1 -1
  172. package/package.json +5 -5
  173. package/dist/ConnectedPresentation-4HLDZDWV.cjs +0 -183
  174. package/dist/ConnectedPresentation-4HLDZDWV.cjs.map +0 -1
  175. package/dist/ConnectedSlidesTab-7QDE2CZD.cjs.map +0 -1
  176. package/dist/FilesViewerDialog-IZI63FOV.cjs.map +0 -1
  177. package/dist/ai-KBYNRNZ6.cjs.map +0 -1
  178. package/dist/chunk-5LTIZ44D.cjs.map +0 -1
  179. package/dist/chunk-7VUJGHMY.cjs.map +0 -1
  180. package/dist/chunk-GX2EBMJW.cjs.map +0 -1
  181. package/dist/chunk-JZEYHDWJ.cjs.map +0 -1
  182. package/dist/chunk-Q3XJUXID.cjs.map +0 -1
  183. package/dist/chunk-QFXILJMJ.cjs.map +0 -1
  184. package/dist/chunk-VJ5ZLRBD.cjs.map +0 -1
  185. package/dist/chunk-XTR26TNE.cjs.map +0 -1
@@ -1,33 +1,33 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunk5LTIZ44D_cjs = require('./chunk-5LTIZ44D.cjs');
5
- var chunkXTR26TNE_cjs = require('./chunk-XTR26TNE.cjs');
4
+ var chunkWFMWKPGY_cjs = require('./chunk-WFMWKPGY.cjs');
5
+ var chunk4TTX6ZNS_cjs = require('./chunk-4TTX6ZNS.cjs');
6
6
  var chunk4CIVQWAX_cjs = require('./chunk-4CIVQWAX.cjs');
7
7
  var chunkPL7HUTM3_cjs = require('./chunk-PL7HUTM3.cjs');
8
- var chunkVJ5ZLRBD_cjs = require('./chunk-VJ5ZLRBD.cjs');
9
- var chunk734NPQNR_cjs = require('./chunk-734NPQNR.cjs');
10
- var chunkUUENH4BJ_cjs = require('./chunk-UUENH4BJ.cjs');
11
- var chunkBVAT4EVC_cjs = require('./chunk-BVAT4EVC.cjs');
12
- var chunkJQLWKNJO_cjs = require('./chunk-JQLWKNJO.cjs');
13
- var chunkC2OICDMI_cjs = require('./chunk-C2OICDMI.cjs');
8
+ var chunkGFUOCGY6_cjs = require('./chunk-GFUOCGY6.cjs');
9
+ var chunkADDQKZ5I_cjs = require('./chunk-ADDQKZ5I.cjs');
10
+ var chunkKXIRVKCJ_cjs = require('./chunk-KXIRVKCJ.cjs');
11
+ var chunk5QERK4PK_cjs = require('./chunk-5QERK4PK.cjs');
12
+ var chunkALK3PUUB_cjs = require('./chunk-ALK3PUUB.cjs');
13
+ var chunk7557LDAN_cjs = require('./chunk-7557LDAN.cjs');
14
14
  var chunkLHWOKOMP_cjs = require('./chunk-LHWOKOMP.cjs');
15
15
  var chunkGNZAH6UI_cjs = require('./chunk-GNZAH6UI.cjs');
16
16
  var chunkJH6JTI76_cjs = require('./chunk-JH6JTI76.cjs');
17
17
  var chunkDTMBAFIL_cjs = require('./chunk-DTMBAFIL.cjs');
18
18
  var chunkMZZ3SBQL_cjs = require('./chunk-MZZ3SBQL.cjs');
19
+ var chunkMNIQDXM6_cjs = require('./chunk-MNIQDXM6.cjs');
20
+ var chunkE3Y7RI3J_cjs = require('./chunk-E3Y7RI3J.cjs');
19
21
  var chunkTG2GM7WJ_cjs = require('./chunk-TG2GM7WJ.cjs');
20
- var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
21
- var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
22
22
  var chunkEG7EJFUE_cjs = require('./chunk-EG7EJFUE.cjs');
23
23
  var chunkHQDR43JC_cjs = require('./chunk-HQDR43JC.cjs');
24
24
  var chunkJR2YSBD5_cjs = require('./chunk-JR2YSBD5.cjs');
25
25
  var chunkSJSGSHIT_cjs = require('./chunk-SJSGSHIT.cjs');
26
26
  var chunkZW6FPIFC_cjs = require('./chunk-ZW6FPIFC.cjs');
27
- var chunkLJJJ6CYH_cjs = require('./chunk-LJJJ6CYH.cjs');
28
- var chunkMNIQDXM6_cjs = require('./chunk-MNIQDXM6.cjs');
29
- var chunkE3Y7RI3J_cjs = require('./chunk-E3Y7RI3J.cjs');
27
+ var chunkFX3K6LNZ_cjs = require('./chunk-FX3K6LNZ.cjs');
28
+ var chunkIPSHAMO2_cjs = require('./chunk-IPSHAMO2.cjs');
30
29
  var chunkTKHCIHE2_cjs = require('./chunk-TKHCIHE2.cjs');
30
+ var chunkLJJJ6CYH_cjs = require('./chunk-LJJJ6CYH.cjs');
31
31
  var React = require('react');
32
32
  var lucideReact = require('lucide-react');
33
33
  var react = require('@arbidocs/react');
@@ -200,32 +200,27 @@ function ViewerRelatedDocuments({ document: document2 }) {
200
200
  );
201
201
  if (!related) return null;
202
202
  return /* @__PURE__ */ jsxRuntime.jsx(
203
- chunkBVAT4EVC_cjs.RelatedDocumentsCell,
203
+ chunk5QERK4PK_cjs.RelatedDocumentsCell,
204
204
  {
205
205
  currentDoc: document2,
206
206
  related,
207
207
  viewingDocumentId: viewerOpen ? viewingId : null,
208
208
  onDocumentClick: (id) => session.setViewingDocument({ id, page: null }),
209
- onDelete: (doc) => chunk734NPQNR_cjs.useFilesDialogs.getState().requestDelete(doc),
209
+ onDelete: (doc) => chunkADDQKZ5I_cjs.useFilesDialogs.getState().requestDelete(doc),
210
210
  onCompare
211
211
  }
212
212
  );
213
213
  }
214
214
  function PresentationPill({ compact }) {
215
215
  const session = react.useArbiSessionStore();
216
- const boundTo = chunkXTR26TNE_cjs.usePresentation((s) => s.boundTo);
217
- const clips = chunkXTR26TNE_cjs.usePresentation((s) => s.clips.length);
218
- const title = chunkXTR26TNE_cjs.usePresentation((s) => s.title);
216
+ const boundTo = chunk4TTX6ZNS_cjs.usePresentation((s) => s.boundTo);
217
+ const clips = chunk4TTX6ZNS_cjs.usePresentation((s) => s.clips.length);
218
+ const title = chunk4TTX6ZNS_cjs.usePresentation((s) => s.title);
219
219
  const onIt = react.useArbiSessionState(
220
220
  (s) => s.viewingDocument?.id === boundTo && s.documentViewer.tab === "slides"
221
221
  );
222
222
  if (onIt || boundTo === null && clips === 0) return null;
223
- const back = () => {
224
- if (boundTo === null) return chunk5LTIZ44D_cjs.editPresentation(session, { kind: "new" });
225
- session.setViewingDocument({ id: boundTo, page: null });
226
- session.setDocumentViewer({ tab: "slides" });
227
- session.openPanel(react.DOCUMENT_VIEWER_PANEL, "docked");
228
- };
223
+ const back = () => chunkWFMWKPGY_cjs.showPresentation(session, boundTo);
229
224
  return /* @__PURE__ */ jsxRuntime.jsxs(
230
225
  ui.Button,
231
226
  {
@@ -293,7 +288,7 @@ function CleanViewControl({ onExit }) {
293
288
  size: "sm",
294
289
  variant: "ghost",
295
290
  className: "h-7",
296
- onClick: () => view && chunk5LTIZ44D_cjs.toggleFullscreen(view),
291
+ onClick: () => view && chunkWFMWKPGY_cjs.toggleFullscreen(view),
297
292
  children: [
298
293
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Maximize, { className: "size-3.5" }),
299
294
  "Full screen"
@@ -476,7 +471,7 @@ function useViewedDocument(documentId) {
476
471
  const documentData = record?.external_id === documentId ? record : void 0;
477
472
  const { data: tags } = chunkHQDR43JC_cjs.useConnectedTags();
478
473
  const labelSummaries = React.useMemo(
479
- () => chunkJQLWKNJO_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkJQLWKNJO_cjs.isDocumentLabel)),
474
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkALK3PUUB_cjs.isDocumentLabel)),
480
475
  [documentData, tags]
481
476
  );
482
477
  const fileName = documentData?.file_name;
@@ -1046,7 +1041,7 @@ function PassageTagPanel({
1046
1041
  [workspaceTags]
1047
1042
  );
1048
1043
  return /* @__PURE__ */ jsxRuntime.jsx(
1049
- chunkJQLWKNJO_cjs.TagPassagePanel,
1044
+ chunkALK3PUUB_cjs.TagPassagePanel,
1050
1045
  {
1051
1046
  pageNumber,
1052
1047
  preview,
@@ -1171,7 +1166,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
1171
1166
  ];
1172
1167
  }) : [];
1173
1168
  return /* @__PURE__ */ jsxRuntime.jsx(
1174
- chunkJQLWKNJO_cjs.HtmlPassage,
1169
+ chunkALK3PUUB_cjs.HtmlPassage,
1175
1170
  {
1176
1171
  chunkId,
1177
1172
  highlight: isStrong ? "strong" : isLight ? "light" : void 0,
@@ -1211,7 +1206,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
1211
1206
  items: passageItems
1212
1207
  }
1213
1208
  ) : void 0,
1214
- children: /* @__PURE__ */ jsxRuntime.jsx(chunkUUENH4BJ_cjs.ConnectedMarkdown, { children: chunk.content })
1209
+ children: /* @__PURE__ */ jsxRuntime.jsx(chunkKXIRVKCJ_cjs.ConnectedMarkdown, { children: chunk.content })
1215
1210
  }
1216
1211
  );
1217
1212
  });
@@ -1347,11 +1342,11 @@ function useDocumentLabels(documentId, doctags, orderedChunkIds) {
1347
1342
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
1348
1343
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
1349
1344
  const tagSummaries = React.useMemo(
1350
- () => chunkJQLWKNJO_cjs.summariseDocTags(documentDoctags, workspaceTags),
1345
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentDoctags, workspaceTags),
1351
1346
  [documentDoctags, workspaceTags]
1352
1347
  );
1353
1348
  const labelSummaries = React.useMemo(
1354
- () => chunkJQLWKNJO_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkJQLWKNJO_cjs.isDocumentLabel)),
1349
+ () => chunkALK3PUUB_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkALK3PUUB_cjs.isDocumentLabel)),
1355
1350
  [documentDoctags, workspaceTags]
1356
1351
  );
1357
1352
  const labelsByChunk = React.useMemo(() => {
@@ -1859,14 +1854,14 @@ function ParsedTextView({
1859
1854
  }
1860
1855
  }
1861
1856
  }, [maxPageNumber, onLoadSuccess]);
1862
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading parsed document..." });
1857
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading parsed document..." });
1863
1858
  if (error) {
1864
- return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1859
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1865
1860
  }
1866
1861
  const taggingChunk = labels.taggingChunkId ? processedChunks.flatMap((page) => page.chunks).find((c) => c.chunkExtId === labels.taggingChunkId) : void 0;
1867
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkJQLWKNJO_cjs.HtmlViewerRoot, { children: [
1862
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkALK3PUUB_cjs.HtmlViewerRoot, { children: [
1868
1863
  /* @__PURE__ */ jsxRuntime.jsx(
1869
- chunkJQLWKNJO_cjs.DocumentLabelBar,
1864
+ chunkALK3PUUB_cjs.DocumentLabelBar,
1870
1865
  {
1871
1866
  summaries: labels.labelSummaries,
1872
1867
  activeTagExtId: labels.activeTagExtId,
@@ -1891,15 +1886,15 @@ function ParsedTextView({
1891
1886
  }
1892
1887
  ),
1893
1888
  !citation.factCitationActive && citation.runStartIds.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1894
- chunkJQLWKNJO_cjs.CitedRunNav,
1889
+ chunkALK3PUUB_cjs.CitedRunNav,
1895
1890
  {
1896
1891
  position: citation.runCursor + 1,
1897
1892
  total: citation.runStartIds.length,
1898
1893
  onStep: citation.gotoRun
1899
1894
  }
1900
1895
  ),
1901
- /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1902
- chunkJQLWKNJO_cjs.HtmlPage,
1896
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1897
+ chunkALK3PUUB_cjs.HtmlPage,
1903
1898
  {
1904
1899
  pageNumber: page.pageNumber,
1905
1900
  totalPages,
@@ -1940,9 +1935,89 @@ function ParsedTextView({
1940
1935
  })
1941
1936
  },
1942
1937
  pageIndex
1943
- )) : /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.HtmlViewerEmpty, {}) })
1938
+ )) : /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.HtmlViewerEmpty, {}) })
1944
1939
  ] });
1945
1940
  }
1941
+ function PdfClipOutlines({ outlines, onShow }) {
1942
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pointer-events-none absolute inset-0", "data-testid": "pdf-clip-outlines", children: outlines.map((outline) => {
1943
+ const { rect } = outline;
1944
+ const label = outline.slides.length ? `Slide ${outline.slides.map((index) => index + 1).join(", ")}` : "In the tray";
1945
+ return /* @__PURE__ */ jsxRuntime.jsx(
1946
+ "div",
1947
+ {
1948
+ className: "absolute rounded-sm border-2 border-dashed border-primary/70",
1949
+ style: {
1950
+ left: `${rect.x * 100}%`,
1951
+ top: `${rect.y * 100}%`,
1952
+ width: `${rect.w * 100}%`,
1953
+ height: `${rect.h * 100}%`
1954
+ },
1955
+ "data-testid": "pdf-clip-outline",
1956
+ "data-clip-id": outline.clipId,
1957
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
1958
+ "button",
1959
+ {
1960
+ type: "button",
1961
+ className: "pointer-events-auto absolute -top-2.5 left-1 inline-flex items-center gap-1 rounded-full bg-primary px-1.5 text-[10px] font-medium leading-4 text-primary-foreground shadow-sm hover:bg-primary/90",
1962
+ title: outline.slides.length ? `Clipped for the presentation: go to ${label.toLowerCase()}` : "Clipped for the presentation: not on a slide yet",
1963
+ onClick: () => onShow(outline),
1964
+ "data-testid": "pdf-clip-outline-label",
1965
+ children: [
1966
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Presentation, { className: "size-2.5" }),
1967
+ label
1968
+ ]
1969
+ }
1970
+ )
1971
+ },
1972
+ outline.clipId
1973
+ );
1974
+ }) });
1975
+ }
1976
+
1977
+ // src/connection/viewer/pdf/clipOutlines.ts
1978
+ function parseRef(id) {
1979
+ const match = /^(.*)@v(\d+)$/.exec(id);
1980
+ return match ? { documentId: match[1], version: Number(match[2]) } : { documentId: id, version: null };
1981
+ }
1982
+ function clipOutlinesByPage(viewingId, clips, slides) {
1983
+ const byPage = /* @__PURE__ */ new Map();
1984
+ if (!viewingId) return byPage;
1985
+ const { documentId, version } = parseRef(viewingId);
1986
+ for (const clip of clips) {
1987
+ if (clip.kind !== "pdf" || clip.plain || clip.documentId !== documentId) continue;
1988
+ if (version !== null && clip.version !== void 0 && clip.version !== version) continue;
1989
+ const on = slides.flatMap(
1990
+ (slide, index) => slide.items.some((item) => item.clipId === clip.id) ? [index] : []
1991
+ );
1992
+ const outline = { clipId: clip.id, rect: clip.rect, slides: on };
1993
+ byPage.set(clip.page, [...byPage.get(clip.page) ?? [], outline]);
1994
+ }
1995
+ return byPage;
1996
+ }
1997
+ function usePdfClipOutlines(viewingId) {
1998
+ const session = react.useArbiSessionStore();
1999
+ const clips = chunk4TTX6ZNS_cjs.usePresentation((s) => s.clips);
2000
+ const slides = chunk4TTX6ZNS_cjs.usePresentation((s) => s.slides);
2001
+ const byPage = React.useMemo(
2002
+ () => clipOutlinesByPage(viewingId, clips, slides),
2003
+ [viewingId, clips, slides]
2004
+ );
2005
+ const show = React.useCallback(
2006
+ (outline) => {
2007
+ const state = chunk4TTX6ZNS_cjs.usePresentation.getState();
2008
+ if (outline.slides.length) state.goTo(outline.slides[0]);
2009
+ chunkWFMWKPGY_cjs.showPresentation(session, state.boundTo);
2010
+ },
2011
+ [session]
2012
+ );
2013
+ return React.useCallback(
2014
+ (pageNumber) => {
2015
+ const outlines = byPage.get(pageNumber);
2016
+ return outlines ? /* @__PURE__ */ jsxRuntime.jsx(PdfClipOutlines, { outlines, onShow: show }) : null;
2017
+ },
2018
+ [byPage, show]
2019
+ );
2020
+ }
1946
2021
  function PdfPassageHighlights({
1947
2022
  boxes,
1948
2023
  activeId,
@@ -1990,6 +2065,16 @@ function asBox(bbox) {
1990
2065
  function isWholePage([x0, y0, x1, y1]) {
1991
2066
  return x0 <= 0 && y0 <= 0 && x1 >= 1 && y1 >= 1;
1992
2067
  }
2068
+ function passagePlaced(pages, chunkId) {
2069
+ for (const page of pages) {
2070
+ const chunk = page.chunks.find((entry) => entry.chunkExtId === chunkId);
2071
+ if (chunk) {
2072
+ const box = asBox(chunk.pageBbox);
2073
+ return !!box && !isWholePage(box);
2074
+ }
2075
+ }
2076
+ return false;
2077
+ }
1993
2078
  function passageBoxesByPage(pages, state) {
1994
2079
  const byPage = /* @__PURE__ */ new Map();
1995
2080
  if (state.cited.size === 0 && !state.active) return byPage;
@@ -2022,6 +2107,15 @@ function usePdfPassageHighlights(documentId) {
2022
2107
  () => passageBoxesByPage(processedChunks, { cited, active }),
2023
2108
  [processedChunks, cited, active]
2024
2109
  );
2110
+ const session = react.useArbiSessionStore();
2111
+ const fellBackFor = React.useRef(null);
2112
+ React.useEffect(() => {
2113
+ if (!active || !parsed || !documentId) return;
2114
+ const key = `${documentId}:${active}`;
2115
+ if (fellBackFor.current === key || passagePlaced(processedChunks, active)) return;
2116
+ fellBackFor.current = key;
2117
+ session.setDocumentViewer({ tab: "html" });
2118
+ }, [active, parsed, processedChunks, documentId, session]);
2025
2119
  const centredFor = React.useRef(null);
2026
2120
  const activeKey = active ? `${documentId}:${active}` : null;
2027
2121
  React.useEffect(() => {
@@ -2049,13 +2143,13 @@ function PresentationFileCard({ documentId, fileName }) {
2049
2143
  chunkZW6FPIFC_cjs.EmptyState,
2050
2144
  {
2051
2145
  icon: lucideReact.Presentation,
2052
- title: chunkXTR26TNE_cjs.presentationTitle(fileName),
2146
+ title: chunk4TTX6ZNS_cjs.presentationTitle(fileName),
2053
2147
  description: "A presentation saved in an earlier format, without its slides. Open it and save it to keep it as a presentation PDF; this file can then be deleted.",
2054
2148
  action: /* @__PURE__ */ jsxRuntime.jsxs(
2055
2149
  ui.Button,
2056
2150
  {
2057
2151
  type: "button",
2058
- onClick: () => chunk5LTIZ44D_cjs.editPresentation(session, { kind: "open", documentId }),
2152
+ onClick: () => chunkWFMWKPGY_cjs.editPresentation(session, { kind: "open", documentId }),
2059
2153
  "data-testid": "presentation-file-edit",
2060
2154
  children: [
2061
2155
  /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Pencil, { className: "size-4" }),
@@ -2076,10 +2170,10 @@ var SignatureRequestEditor = React.lazy(
2076
2170
  () => import('./document-tools/viewer/index.cjs').then((m) => ({ default: m.SignatureRequestEditor }))
2077
2171
  );
2078
2172
  var ClippingPdfViewer = React.lazy(
2079
- () => import('./ClippingPdfViewer-6GCVTV3V.cjs').then((m) => ({ default: m.ClippingPdfViewer }))
2173
+ () => import('./ClippingPdfViewer-OGYLMVCE.cjs').then((m) => ({ default: m.ClippingPdfViewer }))
2080
2174
  );
2081
2175
  var ClippingMediaViewer = React.lazy(
2082
- () => import('./ClippingMediaViewer-B6WG7Q64.cjs').then((m) => ({ default: m.ClippingMediaViewer }))
2176
+ () => import('./ClippingMediaViewer-IEIBT74X.cjs').then((m) => ({ default: m.ClippingMediaViewer }))
2083
2177
  );
2084
2178
  var GuidedSigningViewer = React.lazy(
2085
2179
  () => import('./document-tools/viewer/index.cjs').then((m) => ({ default: m.GuidedSigningViewer }))
@@ -2095,13 +2189,15 @@ function SessionPdfViewer(props) {
2095
2189
  [session, viewingId]
2096
2190
  );
2097
2191
  const passageHighlights = usePdfPassageHighlights(viewingId);
2192
+ const clipOutlines = usePdfClipOutlines(viewingId);
2098
2193
  const { renderPageOverlay: modeOverlay } = props;
2099
2194
  const renderPageOverlay = React.useCallback(
2100
2195
  (page) => /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2101
2196
  passageHighlights(page.pageNumber),
2197
+ clipOutlines(page.pageNumber),
2102
2198
  modeOverlay?.(page)
2103
2199
  ] }),
2104
- [passageHighlights, modeOverlay]
2200
+ [passageHighlights, clipOutlines, modeOverlay]
2105
2201
  );
2106
2202
  return /* @__PURE__ */ jsxRuntime.jsx(
2107
2203
  viewers.PdfViewer,
@@ -2135,12 +2231,12 @@ function ViewerPdfPane({
2135
2231
  }) {
2136
2232
  const { documentData, isDownloadOnly, isVideo, isAudio, isImage, isDocx } = doc;
2137
2233
  const showMarkup = markup.hasMarkup && !markup.showOriginal;
2138
- if (chunkVJ5ZLRBD_cjs.isLegacyPresentationFile(documentData?.file_name)) {
2234
+ if (chunkGFUOCGY6_cjs.isLegacyPresentationFile(documentData?.file_name)) {
2139
2235
  return /* @__PURE__ */ jsxRuntime.jsx(PresentationFileCard, { documentId, fileName: documentData?.file_name ?? "" });
2140
2236
  }
2141
2237
  if (isDownloadOnly) {
2142
2238
  return /* @__PURE__ */ jsxRuntime.jsx(
2143
- chunkJQLWKNJO_cjs.ViewerPreviewUnavailable,
2239
+ chunkALK3PUUB_cjs.ViewerPreviewUnavailable,
2144
2240
  {
2145
2241
  extension: fileExtension(documentData?.file_name),
2146
2242
  onDownload
@@ -2150,24 +2246,24 @@ function ViewerPdfPane({
2150
2246
  const loadingLabel = isVideo ? "Loading video..." : isAudio ? "Loading audio..." : isImage ? "Loading image..." : !documentData ? "Loading document..." : ui.friendlyFileType(documentData.file_type, documentData.file_name) === "Text" ? "Loading text..." : "Loading PDF...";
2151
2247
  const errorLabel = isVideo ? "Failed to load video" : isAudio ? "Failed to load audio" : isImage ? "Failed to load image" : "Failed to load PDF";
2152
2248
  if (isDocx && !pdfSnapshotNumber && documentData && !["completed", "low-content", "failed"].includes(documentData.status || "")) {
2153
- return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
2249
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
2154
2250
  }
2155
2251
  if (isDocx && !pdfSnapshotNumber && documentData?.status === "failed") {
2156
- return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "PDF conversion failed. Open the Word editor or download the document." });
2252
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "PDF conversion failed. Open the Word editor or download the document." });
2157
2253
  }
2158
- if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: loadingLabel });
2254
+ if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: loadingLabel });
2159
2255
  if (pdfError) {
2160
2256
  return /* @__PURE__ */ jsxRuntime.jsx(
2161
- chunkJQLWKNJO_cjs.ViewerLoadError,
2257
+ chunkALK3PUUB_cjs.ViewerLoadError,
2162
2258
  {
2163
2259
  message: isVideo || isAudio || isImage ? `${errorLabel} \u2014 download it instead.` : "Couldn't display the PDF \u2014 download it instead.",
2164
2260
  onDownload
2165
2261
  }
2166
2262
  );
2167
2263
  }
2168
- if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: loadingLabel });
2264
+ if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: loadingLabel });
2169
2265
  if (clipping && (isImage || isVideo)) {
2170
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2266
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2171
2267
  ClippingMediaViewer,
2172
2268
  {
2173
2269
  file: pdfBlob,
@@ -2183,7 +2279,7 @@ function ViewerPdfPane({
2183
2279
  return /* @__PURE__ */ jsxRuntime.jsx(viewers.ImageViewer, { blob: pdfBlob, alt: documentData?.file_name || "Document image" });
2184
2280
  }
2185
2281
  if (signatureFlow?.kind === "prepare") {
2186
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2282
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2187
2283
  SignatureRequestEditor,
2188
2284
  {
2189
2285
  ...viewerProps,
@@ -2201,7 +2297,7 @@ function ViewerPdfPane({
2201
2297
  }
2202
2298
  if (signatureFlow?.kind === "sign" && currentUserId) {
2203
2299
  const { currentPage: _page, scrollTrigger: _trigger, ...guidedProps } = viewerProps;
2204
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2300
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2205
2301
  GuidedSigningViewer,
2206
2302
  {
2207
2303
  ...guidedProps,
@@ -2215,7 +2311,7 @@ function ViewerPdfPane({
2215
2311
  ) });
2216
2312
  }
2217
2313
  if (placingSignature) {
2218
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2314
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2219
2315
  SignaturePlacementViewer,
2220
2316
  {
2221
2317
  ...viewerProps,
@@ -2228,7 +2324,7 @@ function ViewerPdfPane({
2228
2324
  ) });
2229
2325
  }
2230
2326
  if (clipping) {
2231
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2327
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2232
2328
  ClippingPdfViewer,
2233
2329
  {
2234
2330
  ...viewerProps,
@@ -2245,7 +2341,7 @@ function ViewerPdfPane({
2245
2341
  return /* @__PURE__ */ jsxRuntime.jsx(
2246
2342
  React.Suspense,
2247
2343
  {
2248
- fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
2344
+ fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
2249
2345
  children: /* @__PURE__ */ jsxRuntime.jsx(
2250
2346
  AnnotatedPdfViewer,
2251
2347
  {
@@ -2271,15 +2367,15 @@ function ViewerPdfPane({
2271
2367
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
2272
2368
  }
2273
2369
  var SlidesTab = React.lazy(
2274
- () => import('./ConnectedSlidesTab-7QDE2CZD.cjs').then((m) => ({ default: m.ConnectedSlidesTab }))
2370
+ () => import('./ConnectedSlidesTab-I75LKKN7.cjs').then((m) => ({ default: m.ConnectedSlidesTab }))
2275
2371
  );
2276
2372
  var StreamedWordArtifact = React.lazy(
2277
- () => import('./ConnectedStreamedWordArtifact-FFOQJBOI.cjs').then((m) => ({
2373
+ () => import('./ConnectedStreamedWordArtifact-AG62232A.cjs').then((m) => ({
2278
2374
  default: m.ConnectedStreamedWordArtifact
2279
2375
  }))
2280
2376
  );
2281
2377
  var NativeDocxComparison = React.lazy(
2282
- () => import('./ConnectedNativeDocxComparison-4Q5S7VLD.cjs').then((m) => ({
2378
+ () => import('./ConnectedNativeDocxComparison-QKHCYD6W.cjs').then((m) => ({
2283
2379
  default: m.ConnectedNativeDocxComparison
2284
2380
  }))
2285
2381
  );
@@ -2501,15 +2597,15 @@ function DocumentViewerContent({
2501
2597
  };
2502
2598
  const documentTitle = streamingDoc?.title || draftDoc?.title || documentData?.doc_metadata?.title || documentData?.file_name || "Document";
2503
2599
  const pageNav = totalPages > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2504
- /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2600
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
2505
2601
  /* @__PURE__ */ jsxRuntime.jsx(
2506
- chunkJQLWKNJO_cjs.PdfPageNav,
2602
+ chunkALK3PUUB_cjs.PdfPageNav,
2507
2603
  {
2508
2604
  canPrev: (viewingDocumentPage || 1) > 1,
2509
2605
  canNext: (viewingDocumentPage || 1) < totalPages,
2510
2606
  onPrev: () => stepPage(-1),
2511
2607
  onNext: () => stepPage(1),
2512
- counter: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2608
+ counter: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
2513
2609
  }
2514
2610
  )
2515
2611
  ] });
@@ -2533,7 +2629,7 @@ function DocumentViewerContent({
2533
2629
  );
2534
2630
  const titleBlock = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2535
2631
  isDraft ? /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftTitle, { documentId }) : /* @__PURE__ */ jsxRuntime.jsx(
2536
- chunkJQLWKNJO_cjs.ViewerTitle,
2632
+ chunkALK3PUUB_cjs.ViewerTitle,
2537
2633
  {
2538
2634
  title: documentTitle,
2539
2635
  versionLabel: currentVersionLabel,
@@ -2560,7 +2656,7 @@ function DocumentViewerContent({
2560
2656
  /* @__PURE__ */ jsxRuntime.jsx(ViewerDraftKind, { documentId })
2561
2657
  ) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2562
2658
  /* @__PURE__ */ jsxRuntime.jsx(
2563
- chunkJQLWKNJO_cjs.ViewerTabBar,
2659
+ chunkALK3PUUB_cjs.ViewerTabBar,
2564
2660
  {
2565
2661
  tabs: viewerTabs.filter((tab) => tab.id !== "versions"),
2566
2662
  activeId: activeTab,
@@ -2664,7 +2760,7 @@ function DocumentViewerContent({
2664
2760
  }
2665
2761
  ),
2666
2762
  activeTab === "pdf" && isImage && pdfBlob && /* @__PURE__ */ jsxRuntime.jsx(
2667
- chunkJQLWKNJO_cjs.ViewerImageActions,
2763
+ chunkALK3PUUB_cjs.ViewerImageActions,
2668
2764
  {
2669
2765
  compact: isCompact,
2670
2766
  onUseAsReference: support.useImageAsReference ? () => support.useImageAsReference(documentId) : void 0,
@@ -2733,7 +2829,7 @@ function DocumentViewerContent({
2733
2829
  {
2734
2830
  state: documentData?.shared ? "shared" : "private",
2735
2831
  onToggle: share,
2736
- disabled: !chunkJQLWKNJO_cjs.canChangeVisibility(documentData, currentUserId),
2832
+ disabled: !chunkALK3PUUB_cjs.canChangeVisibility(documentData, currentUserId),
2737
2833
  disabledTooltip: "Only the owner can change visibility",
2738
2834
  tooltip: documentData?.shared ? "Shared with the workspace \u2014 click to share with specific people" : "Share with the workspace, then optionally notify specific people by email",
2739
2835
  variant: "outline",
@@ -2877,7 +2973,7 @@ function DocumentViewerContent({
2877
2973
  onZoomChange: setZoom
2878
2974
  };
2879
2975
  return /* @__PURE__ */ jsxRuntime.jsxs(
2880
- chunkJQLWKNJO_cjs.ViewerFrame,
2976
+ chunkALK3PUUB_cjs.ViewerFrame,
2881
2977
  {
2882
2978
  frameRef: containerRef,
2883
2979
  contentId: documentId,
@@ -2908,7 +3004,7 @@ function DocumentViewerContent({
2908
3004
  ...clean.frame,
2909
3005
  footer: /* @__PURE__ */ jsxRuntime.jsx(ViewerCropModal, { crop }),
2910
3006
  children: [
2911
- isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3007
+ isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2912
3008
  NativeDocxComparison,
2913
3009
  {
2914
3010
  baseId: compareDocumentId,
@@ -2918,9 +3014,9 @@ function DocumentViewerContent({
2918
3014
  ) }),
2919
3015
  isCaptureDraft && /* @__PURE__ */ jsxRuntime.jsx(ViewerCaptureDraft, { documentId }),
2920
3016
  !isCaptureDraft && (activeTab === "pdf" || isMedia && activeTab === "html") && (!isArtifact || isDocx && !isDraft && !isStreaming && !liveKind) && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(chunkDTMBAFIL_cjs.ViewerPane, { hidden: activeTab !== "pdf", children: [
2921
- !clean.on && /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.DocumentLabelBar, { summaries: labelSummaries }),
3017
+ !clean.on && /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2922
3018
  !clean.on && !isMedia && !isImage && signatureBanner,
2923
- !clean.on && activeTab === "pdf" && pdfBlob && !pdfVerified && /* @__PURE__ */ jsxRuntime.jsxs(chunkJQLWKNJO_cjs.ViewerMessage, { children: [
3019
+ !clean.on && activeTab === "pdf" && pdfBlob && !pdfVerified && /* @__PURE__ */ jsxRuntime.jsxs(chunkALK3PUUB_cjs.ViewerMessage, { children: [
2924
3020
  "Offline copy: its version cannot be verified. Reconnect before signing.",
2925
3021
  " ",
2926
3022
  /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick: () => void blobs.retryPdf(), className: "underline", children: "Retry loading the current PDF" })
@@ -2933,7 +3029,7 @@ function DocumentViewerContent({
2933
3029
  onOpenVersion: (n) => setSnapshotDocumentId(`${documentId}@v${n}`)
2934
3030
  }
2935
3031
  ),
2936
- /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerControlBar, { controls: !clean.on && activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
3032
+ /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerControlBar, { controls: !clean.on && activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2937
3033
  ViewerPdfPane,
2938
3034
  {
2939
3035
  documentId,
@@ -2973,10 +3069,10 @@ function DocumentViewerContent({
2973
3069
  }
2974
3070
  ),
2975
3071
  activeTab === "edit" && isArtifact && liveKind && /* @__PURE__ */ jsxRuntime.jsx(chunkEG7EJFUE_cjs.ArtifactCodeView, { source: liveSource, fileName: documentData?.file_name ?? void 0 }),
2976
- activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
3072
+ activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2977
3073
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkLHWOKOMP_cjs.SignedEditNote, {}),
2978
3074
  /* @__PURE__ */ jsxRuntime.jsx(
2979
- chunkC2OICDMI_cjs.ConnectedNativeDocxEditor,
3075
+ chunk7557LDAN_cjs.ConnectedNativeDocxEditor,
2980
3076
  {
2981
3077
  documentId: snapshotDocumentId || documentId,
2982
3078
  title: documentTitle,
@@ -3017,8 +3113,8 @@ function DocumentViewerContent({
3017
3113
  onOpenTranslation: (id) => setViewingDocumentId(id)
3018
3114
  }
3019
3115
  ),
3020
- activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
3021
- activeTab === "slides" && isPresentation && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading slides\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3116
+ activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
3117
+ activeTab === "slides" && isPresentation && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading slides\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3022
3118
  SlidesTab,
3023
3119
  {
3024
3120
  documentId,
@@ -3027,11 +3123,11 @@ function DocumentViewerContent({
3027
3123
  draftTitle: isDraft ? draftDoc?.title ?? "" : void 0
3028
3124
  }
3029
3125
  ) }),
3030
- activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
3126
+ activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
3031
3127
  signatureBanner,
3032
3128
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkLHWOKOMP_cjs.SignedEditNote, {}),
3033
3129
  /* @__PURE__ */ jsxRuntime.jsx(
3034
- chunkC2OICDMI_cjs.ConnectedNativeDocxEditor,
3130
+ chunk7557LDAN_cjs.ConnectedNativeDocxEditor,
3035
3131
  {
3036
3132
  documentId: snapshotDocumentId || documentId,
3037
3133
  title: documentTitle,
@@ -3041,7 +3137,7 @@ function DocumentViewerContent({
3041
3137
  `${snapshotDocumentId || documentId}-${snapshotDocumentId ? "snapshot" : "live"}`
3042
3138
  )
3043
3139
  ] }),
3044
- streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3140
+ streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
3045
3141
  StreamedWordArtifact,
3046
3142
  {
3047
3143
  documentId: documentId.startsWith("doc-") ? documentId : void 0,
@@ -3051,7 +3147,7 @@ function DocumentViewerContent({
3051
3147
  },
3052
3148
  documentId
3053
3149
  ) }),
3054
- !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkJQLWKNJO_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
3150
+ !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkDTMBAFIL_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkALK3PUUB_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
3055
3151
  ParsedTextView,
3056
3152
  {
3057
3153
  documentId: pdfSnapshotId || documentId,
@@ -3067,5 +3163,5 @@ function DocumentViewerContent({
3067
3163
  }
3068
3164
 
3069
3165
  exports.ConnectedDocumentViewer = ConnectedDocumentViewer;
3070
- //# sourceMappingURL=chunk-7VUJGHMY.cjs.map
3071
- //# sourceMappingURL=chunk-7VUJGHMY.cjs.map
3166
+ //# sourceMappingURL=chunk-UTJ223TI.cjs.map
3167
+ //# sourceMappingURL=chunk-UTJ223TI.cjs.map