@arbidocs/blocks 0.4.152 → 0.4.154

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 (221) hide show
  1. package/dist/{ConnectedNativeDocxComparison-OFPIXNJB.js → ConnectedNativeDocxComparison-OLWRQSRS.js} +11 -11
  2. package/dist/{ConnectedNativeDocxComparison-OFPIXNJB.js.map → ConnectedNativeDocxComparison-OLWRQSRS.js.map} +1 -1
  3. package/dist/{ConnectedNativeDocxComparison-Y5BNLNH6.cjs → ConnectedNativeDocxComparison-YORMOPPN.cjs} +12 -12
  4. package/dist/{ConnectedNativeDocxComparison-Y5BNLNH6.cjs.map → ConnectedNativeDocxComparison-YORMOPPN.cjs.map} +1 -1
  5. package/dist/{ConnectedNativeDocxEditor-LRYU5HPA.js → ConnectedNativeDocxEditor-34EBIIFS.js} +10 -10
  6. package/dist/{ConnectedNativeDocxEditor-LRYU5HPA.js.map → ConnectedNativeDocxEditor-34EBIIFS.js.map} +1 -1
  7. package/dist/{ConnectedNativeDocxEditor-HTEW5JAH.cjs → ConnectedNativeDocxEditor-EHTWGGX3.cjs} +12 -12
  8. package/dist/{ConnectedNativeDocxEditor-HTEW5JAH.cjs.map → ConnectedNativeDocxEditor-EHTWGGX3.cjs.map} +1 -1
  9. package/dist/{ConnectedStreamedWordArtifact-QW74LKHN.cjs → ConnectedStreamedWordArtifact-5DK6QGYN.cjs} +12 -12
  10. package/dist/ConnectedStreamedWordArtifact-5DK6QGYN.cjs.map +1 -0
  11. package/dist/{ConnectedStreamedWordArtifact-QAUVUCSX.js → ConnectedStreamedWordArtifact-GLIDLSAS.js} +11 -11
  12. package/dist/{ConnectedStreamedWordArtifact-QAUVUCSX.js.map → ConnectedStreamedWordArtifact-GLIDLSAS.js.map} +1 -1
  13. package/dist/WorkspaceTableView-5OWX53R5.js +376 -0
  14. package/dist/WorkspaceTableView-5OWX53R5.js.map +1 -0
  15. package/dist/WorkspaceTableView-ZFMAYHUD.cjs +378 -0
  16. package/dist/WorkspaceTableView-ZFMAYHUD.cjs.map +1 -0
  17. package/dist/agents/index.cjs +282 -282
  18. package/dist/agents/index.js +7 -7
  19. package/dist/{chunk-RQ2Y7USX.cjs → chunk-2VHYOTWW.cjs} +3 -3
  20. package/dist/chunk-2VHYOTWW.cjs.map +1 -0
  21. package/dist/{chunk-DTROMMDX.cjs → chunk-3VULDTNL.cjs} +4 -4
  22. package/dist/{chunk-DTROMMDX.cjs.map → chunk-3VULDTNL.cjs.map} +1 -1
  23. package/dist/{chunk-UTTTJSQU.cjs → chunk-4RPBUMHB.cjs} +4 -4
  24. package/dist/{chunk-UTTTJSQU.cjs.map → chunk-4RPBUMHB.cjs.map} +1 -1
  25. package/dist/chunk-53RCZPMR.cjs +496 -0
  26. package/dist/chunk-53RCZPMR.cjs.map +1 -0
  27. package/dist/chunk-5TDGVOR5.js +142 -0
  28. package/dist/chunk-5TDGVOR5.js.map +1 -0
  29. package/dist/{chunk-CU2O32Z4.cjs → chunk-6QAAIDQQ.cjs} +62 -99
  30. package/dist/chunk-6QAAIDQQ.cjs.map +1 -0
  31. package/dist/chunk-7HHYMDPE.js +431 -0
  32. package/dist/chunk-7HHYMDPE.js.map +1 -0
  33. package/dist/{chunk-SMN32BQ3.cjs → chunk-7NL6WJER.cjs} +3 -160
  34. package/dist/chunk-7NL6WJER.cjs.map +1 -0
  35. package/dist/{chunk-T74Q3MCZ.cjs → chunk-BDA3RHYD.cjs} +4 -4
  36. package/dist/{chunk-T74Q3MCZ.cjs.map → chunk-BDA3RHYD.cjs.map} +1 -1
  37. package/dist/{chunk-IXWJGOM2.js → chunk-BQ77KSXU.js} +3 -3
  38. package/dist/{chunk-IXWJGOM2.js.map → chunk-BQ77KSXU.js.map} +1 -1
  39. package/dist/chunk-BTF4AZMG.js +148 -0
  40. package/dist/chunk-BTF4AZMG.js.map +1 -0
  41. package/dist/{chunk-HALD6ZB5.cjs → chunk-C3SMTA3C.cjs} +4 -4
  42. package/dist/{chunk-HALD6ZB5.cjs.map → chunk-C3SMTA3C.cjs.map} +1 -1
  43. package/dist/{chunk-GAYMJWTC.cjs → chunk-CB4TIDEX.cjs} +6 -6
  44. package/dist/{chunk-GAYMJWTC.cjs.map → chunk-CB4TIDEX.cjs.map} +1 -1
  45. package/dist/{chunk-KPZZ5FHE.cjs → chunk-CNHUJRQ4.cjs} +10 -6
  46. package/dist/chunk-CNHUJRQ4.cjs.map +1 -0
  47. package/dist/{chunk-Q4BY2CQQ.cjs → chunk-CQCNU5KT.cjs} +28 -28
  48. package/dist/{chunk-Q4BY2CQQ.cjs.map → chunk-CQCNU5KT.cjs.map} +1 -1
  49. package/dist/{chunk-GRGS5M6O.cjs → chunk-CROGFB46.cjs} +160 -3
  50. package/dist/chunk-CROGFB46.cjs.map +1 -0
  51. package/dist/{chunk-QN47Q4N7.js → chunk-CU6LDQ57.js} +3 -3
  52. package/dist/{chunk-QN47Q4N7.js.map → chunk-CU6LDQ57.js.map} +1 -1
  53. package/dist/{chunk-EF4ZLKRM.js → chunk-DEPF5LQI.js} +3 -3
  54. package/dist/{chunk-EF4ZLKRM.js.map → chunk-DEPF5LQI.js.map} +1 -1
  55. package/dist/{chunk-JAANWQGB.js → chunk-ETZ5A3GU.js} +3 -3
  56. package/dist/{chunk-JAANWQGB.js.map → chunk-ETZ5A3GU.js.map} +1 -1
  57. package/dist/{chunk-TBEVGWY3.js → chunk-F57LNUSZ.js} +10 -6
  58. package/dist/chunk-F57LNUSZ.js.map +1 -0
  59. package/dist/{chunk-GFNELPDP.cjs → chunk-FM3IRQJW.cjs} +10 -5
  60. package/dist/chunk-FM3IRQJW.cjs.map +1 -0
  61. package/dist/chunk-FPHTSNOE.js +465 -0
  62. package/dist/chunk-FPHTSNOE.js.map +1 -0
  63. package/dist/{chunk-OVR3XMYL.js → chunk-FYZXDZM7.js} +3 -3
  64. package/dist/{chunk-OVR3XMYL.js.map → chunk-FYZXDZM7.js.map} +1 -1
  65. package/dist/{chunk-2FLWPM3B.cjs → chunk-GC2FSPSQ.cjs} +7 -7
  66. package/dist/{chunk-2FLWPM3B.cjs.map → chunk-GC2FSPSQ.cjs.map} +1 -1
  67. package/dist/{chunk-DB2OXRQC.js → chunk-GO3BN76C.js} +7 -7
  68. package/dist/{chunk-DB2OXRQC.js.map → chunk-GO3BN76C.js.map} +1 -1
  69. package/dist/{chunk-XZIYRKLW.cjs → chunk-H32DV7XS.cjs} +5 -139
  70. package/dist/chunk-H32DV7XS.cjs.map +1 -0
  71. package/dist/{chunk-4236BRZK.js → chunk-HP2C4MD3.js} +29 -3
  72. package/dist/chunk-HP2C4MD3.js.map +1 -0
  73. package/dist/{chunk-ZP6Q3KXU.cjs → chunk-HUATKA3M.cjs} +4 -4
  74. package/dist/{chunk-ZP6Q3KXU.cjs.map → chunk-HUATKA3M.cjs.map} +1 -1
  75. package/dist/chunk-ISHFVKVU.js +304 -0
  76. package/dist/chunk-ISHFVKVU.js.map +1 -0
  77. package/dist/chunk-JUUOJP7I.cjs +164 -0
  78. package/dist/chunk-JUUOJP7I.cjs.map +1 -0
  79. package/dist/{chunk-4KMLM3GY.cjs → chunk-KBO75NLM.cjs} +7 -7
  80. package/dist/{chunk-4KMLM3GY.cjs.map → chunk-KBO75NLM.cjs.map} +1 -1
  81. package/dist/{chunk-Z4NQ3TED.js → chunk-KCSIX7CY.js} +3 -3
  82. package/dist/{chunk-Z4NQ3TED.js.map → chunk-KCSIX7CY.js.map} +1 -1
  83. package/dist/{chunk-DN2KI4BU.js → chunk-KDLX5AA7.js} +3 -3
  84. package/dist/{chunk-DN2KI4BU.js.map → chunk-KDLX5AA7.js.map} +1 -1
  85. package/dist/{chunk-WFA2GVZJ.js → chunk-MF5KQ4PS.js} +3 -3
  86. package/dist/{chunk-WFA2GVZJ.js.map → chunk-MF5KQ4PS.js.map} +1 -1
  87. package/dist/{chunk-YXNNNP57.js → chunk-MNG7N6M2.js} +4 -4
  88. package/dist/{chunk-YXNNNP57.js.map → chunk-MNG7N6M2.js.map} +1 -1
  89. package/dist/chunk-MSFQDELO.cjs +482 -0
  90. package/dist/chunk-MSFQDELO.cjs.map +1 -0
  91. package/dist/{chunk-KSHKTOY2.js → chunk-NUSBINUM.js} +3 -3
  92. package/dist/chunk-NUSBINUM.js.map +1 -0
  93. package/dist/{chunk-EYKISBDO.cjs → chunk-OALEDG67.cjs} +5 -5
  94. package/dist/{chunk-EYKISBDO.cjs.map → chunk-OALEDG67.cjs.map} +1 -1
  95. package/dist/{chunk-COCGRJLA.cjs → chunk-OFV3PRF2.cjs} +7 -7
  96. package/dist/{chunk-COCGRJLA.cjs.map → chunk-OFV3PRF2.cjs.map} +1 -1
  97. package/dist/chunk-OOU4QLRK.cjs +319 -0
  98. package/dist/chunk-OOU4QLRK.cjs.map +1 -0
  99. package/dist/chunk-OU3RGQFX.cjs +136 -0
  100. package/dist/chunk-OU3RGQFX.cjs.map +1 -0
  101. package/dist/{chunk-3PCBYOIZ.js → chunk-P6RIBIVN.js} +38 -7
  102. package/dist/chunk-P6RIBIVN.js.map +1 -0
  103. package/dist/{chunk-LXTOOUEN.cjs → chunk-Q7CQYYZW.cjs} +5 -5
  104. package/dist/{chunk-LXTOOUEN.cjs.map → chunk-Q7CQYYZW.cjs.map} +1 -1
  105. package/dist/{chunk-CROTH2BS.js → chunk-QKR5LWDO.js} +9 -40
  106. package/dist/{chunk-CROTH2BS.js.map → chunk-QKR5LWDO.js.map} +1 -1
  107. package/dist/{chunk-HUJF2XM2.js → chunk-RE7NULEY.js} +3 -3
  108. package/dist/{chunk-HUJF2XM2.js.map → chunk-RE7NULEY.js.map} +1 -1
  109. package/dist/chunk-REH7PX3N.cjs +145 -0
  110. package/dist/chunk-REH7PX3N.cjs.map +1 -0
  111. package/dist/chunk-RQKWYKZY.js +127 -0
  112. package/dist/chunk-RQKWYKZY.js.map +1 -0
  113. package/dist/{chunk-U6JQ4KMX.cjs → chunk-SN2GZ4ZM.cjs} +29 -2
  114. package/dist/chunk-SN2GZ4ZM.cjs.map +1 -0
  115. package/dist/{chunk-R6VCPDPF.js → chunk-SZSJGZSO.js} +156 -6
  116. package/dist/chunk-SZSJGZSO.js.map +1 -0
  117. package/dist/{chunk-US3S4DCB.js → chunk-TF7HN5EU.js} +10 -5
  118. package/dist/chunk-TF7HN5EU.js.map +1 -0
  119. package/dist/{chunk-YKQ2DPIP.js → chunk-VF5EUAIV.js} +3 -3
  120. package/dist/{chunk-YKQ2DPIP.js.map → chunk-VF5EUAIV.js.map} +1 -1
  121. package/dist/{chunk-KMZWKSKO.cjs → chunk-VZPFYZZU.cjs} +4 -4
  122. package/dist/{chunk-KMZWKSKO.cjs.map → chunk-VZPFYZZU.cjs.map} +1 -1
  123. package/dist/{chunk-ZLEYLCE4.js → chunk-WK6FVIF7.js} +6 -156
  124. package/dist/chunk-WK6FVIF7.js.map +1 -0
  125. package/dist/{chunk-COA3S3CZ.js → chunk-XI37A7HH.js} +4 -4
  126. package/dist/{chunk-COA3S3CZ.js.map → chunk-XI37A7HH.js.map} +1 -1
  127. package/dist/{chunk-LGBAZD37.js → chunk-XRL4R2TT.js} +7 -139
  128. package/dist/chunk-XRL4R2TT.js.map +1 -0
  129. package/dist/{chunk-4JNKXOFZ.cjs → chunk-YBJ4QGNH.cjs} +11 -11
  130. package/dist/{chunk-4JNKXOFZ.cjs.map → chunk-YBJ4QGNH.cjs.map} +1 -1
  131. package/dist/{chunk-GFOEWPAP.cjs → chunk-YF3QUHKN.cjs} +49 -12
  132. package/dist/chunk-YF3QUHKN.cjs.map +1 -0
  133. package/dist/{chunk-H4D7WKDY.js → chunk-YNMO3DSR.js} +3 -3
  134. package/dist/{chunk-H4D7WKDY.js.map → chunk-YNMO3DSR.js.map} +1 -1
  135. package/dist/citations/index.cjs +10 -10
  136. package/dist/citations/index.js +2 -2
  137. package/dist/collaboration/index.cjs +77 -77
  138. package/dist/collaboration/index.js +2 -2
  139. package/dist/connect/docx.cjs +14 -14
  140. package/dist/connect/docx.js +10 -10
  141. package/dist/connect/index.cjs +1577 -962
  142. package/dist/connect/index.cjs.map +1 -1
  143. package/dist/connect/index.d.ts +3 -0
  144. package/dist/connect/index.js +1014 -450
  145. package/dist/connect/index.js.map +1 -1
  146. package/dist/connect/viewer.cjs +66 -66
  147. package/dist/connect/viewer.js +10 -10
  148. package/dist/connection/ConnectionProvider.d.ts +7 -0
  149. package/dist/connection/projects/ConnectedProjectsPanel.d.ts +34 -0
  150. package/dist/connection/projects/index.d.ts +1 -0
  151. package/dist/connection/workspace-dashboard/ConnectedWorkspaceDashboard.d.ts +37 -0
  152. package/dist/connection/workspace-dashboard/dashboard-rows.d.ts +42 -0
  153. package/dist/connection/workspace-dashboard/index.d.ts +1 -0
  154. package/dist/connection/workspace-list/ConnectedWorkspaceList.d.ts +37 -0
  155. package/dist/connection/workspace-list/WorkspaceCardsView.d.ts +15 -0
  156. package/dist/connection/workspace-list/WorkspaceFilterMenu.d.ts +4 -0
  157. package/dist/connection/workspace-list/WorkspaceTableView.d.ts +13 -0
  158. package/dist/connection/workspace-list/index.d.ts +5 -0
  159. package/dist/connection/workspace-list/projectBilling.d.ts +21 -0
  160. package/dist/connection/workspace-list/useConnectedWorkspaceList.d.ts +251 -0
  161. package/dist/connection/workspace-list/workspaceTable.d.ts +58 -0
  162. package/dist/connection/workspace-settings/ConnectedWorkspaceMembers.d.ts +26 -0
  163. package/dist/connection/workspace-settings/ConnectedWorkspaceSettings.d.ts +7 -9
  164. package/dist/connection/workspace-settings/index.d.ts +2 -1
  165. package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +0 -1
  166. package/dist/facts/index.cjs +3 -3
  167. package/dist/facts/index.js +2 -2
  168. package/dist/files/index.cjs +169 -169
  169. package/dist/files/index.js +3 -3
  170. package/dist/home/index.cjs +119 -459
  171. package/dist/home/index.cjs.map +1 -1
  172. package/dist/home/index.js +13 -419
  173. package/dist/home/index.js.map +1 -1
  174. package/dist/index.cjs +510 -510
  175. package/dist/index.js +18 -18
  176. package/dist/provider/BlocksProvider.d.ts +9 -1
  177. package/dist/retrieval/index.cjs +4 -4
  178. package/dist/retrieval/index.js +2 -2
  179. package/dist/settings/index.cjs +169 -165
  180. package/dist/settings/index.d.ts +1 -0
  181. package/dist/settings/index.js +2 -2
  182. package/dist/settings/tri-state-filters.d.ts +13 -0
  183. package/dist/shell/index.cjs +44 -44
  184. package/dist/shell/index.js +3 -3
  185. package/dist/site/index.cjs +5 -5
  186. package/dist/site/index.js +1 -1
  187. package/dist/studio/index.cjs +14 -14
  188. package/dist/studio/index.js +6 -6
  189. package/dist/workflow-canvas/index.cjs +27 -27
  190. package/dist/workflow-canvas/index.js +9 -9
  191. package/dist/workspaces/index.cjs +110 -369
  192. package/dist/workspaces/index.cjs.map +1 -1
  193. package/dist/workspaces/index.d.ts +2 -0
  194. package/dist/workspaces/index.js +12 -350
  195. package/dist/workspaces/index.js.map +1 -1
  196. package/dist/workspaces/workspace-groups.d.ts +90 -0
  197. package/dist/workspaces/workspace-roles.d.ts +11 -0
  198. package/node_modules/@arbidocs/coedit/package.json +1 -1
  199. package/package.json +5 -5
  200. package/dist/ConnectedStreamedWordArtifact-QW74LKHN.cjs.map +0 -1
  201. package/dist/chunk-3PCBYOIZ.js.map +0 -1
  202. package/dist/chunk-4236BRZK.js.map +0 -1
  203. package/dist/chunk-CU2O32Z4.cjs.map +0 -1
  204. package/dist/chunk-EV7W64B6.js +0 -134
  205. package/dist/chunk-EV7W64B6.js.map +0 -1
  206. package/dist/chunk-GFNELPDP.cjs.map +0 -1
  207. package/dist/chunk-GFOEWPAP.cjs.map +0 -1
  208. package/dist/chunk-GRGS5M6O.cjs.map +0 -1
  209. package/dist/chunk-KPZZ5FHE.cjs.map +0 -1
  210. package/dist/chunk-KSHKTOY2.js.map +0 -1
  211. package/dist/chunk-LGBAZD37.js.map +0 -1
  212. package/dist/chunk-R6VCPDPF.js.map +0 -1
  213. package/dist/chunk-RQ2Y7USX.cjs.map +0 -1
  214. package/dist/chunk-RXK3XP62.cjs +0 -144
  215. package/dist/chunk-RXK3XP62.cjs.map +0 -1
  216. package/dist/chunk-SMN32BQ3.cjs.map +0 -1
  217. package/dist/chunk-TBEVGWY3.js.map +0 -1
  218. package/dist/chunk-U6JQ4KMX.cjs.map +0 -1
  219. package/dist/chunk-US3S4DCB.js.map +0 -1
  220. package/dist/chunk-XZIYRKLW.cjs.map +0 -1
  221. package/dist/chunk-ZLEYLCE4.js.map +0 -1
@@ -1,18 +1,18 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkT74Q3MCZ_cjs = require('../chunk-T74Q3MCZ.cjs');
4
+ var chunkBDA3RHYD_cjs = require('../chunk-BDA3RHYD.cjs');
5
5
  var chunk6I6CVX5G_cjs = require('../chunk-6I6CVX5G.cjs');
6
6
  require('../chunk-YAEXSCUW.cjs');
7
7
  require('../chunk-223D4727.cjs');
8
- var chunkGAYMJWTC_cjs = require('../chunk-GAYMJWTC.cjs');
9
- var chunkGFNELPDP_cjs = require('../chunk-GFNELPDP.cjs');
8
+ var chunkCB4TIDEX_cjs = require('../chunk-CB4TIDEX.cjs');
9
+ var chunkFM3IRQJW_cjs = require('../chunk-FM3IRQJW.cjs');
10
10
  var chunkD3WFIFRY_cjs = require('../chunk-D3WFIFRY.cjs');
11
11
  require('../chunk-6MG62I5B.cjs');
12
12
  var chunkUWIILWDI_cjs = require('../chunk-UWIILWDI.cjs');
13
13
  var chunkJH6JTI76_cjs = require('../chunk-JH6JTI76.cjs');
14
14
  require('../chunk-2WLXQGWC.cjs');
15
- require('../chunk-COCGRJLA.cjs');
15
+ require('../chunk-OFV3PRF2.cjs');
16
16
  var chunkVLCY46K6_cjs = require('../chunk-VLCY46K6.cjs');
17
17
  require('../chunk-FAXXN7KI.cjs');
18
18
  require('../chunk-V46W7YLI.cjs');
@@ -20,7 +20,7 @@ var chunkLJJJ6CYH_cjs = require('../chunk-LJJJ6CYH.cjs');
20
20
  require('../chunk-SIB6C7P7.cjs');
21
21
  require('../chunk-DVUZTGVL.cjs');
22
22
  require('../chunk-AHDJXIUB.cjs');
23
- require('../chunk-DTROMMDX.cjs');
23
+ require('../chunk-3VULDTNL.cjs');
24
24
  require('../chunk-V4ISCZJ7.cjs');
25
25
  require('../chunk-2EI7NCUA.cjs');
26
26
  require('../chunk-C2CWWEHO.cjs');
@@ -35,8 +35,8 @@ require('../chunk-32HW2Q33.cjs');
35
35
  var chunkFX3K6LNZ_cjs = require('../chunk-FX3K6LNZ.cjs');
36
36
  require('../chunk-PPCATBOY.cjs');
37
37
  require('../chunk-MHVNT4J3.cjs');
38
- var chunkLXTOOUEN_cjs = require('../chunk-LXTOOUEN.cjs');
39
- var chunkKPZZ5FHE_cjs = require('../chunk-KPZZ5FHE.cjs');
38
+ var chunkQ7CQYYZW_cjs = require('../chunk-Q7CQYYZW.cjs');
39
+ var chunkCNHUJRQ4_cjs = require('../chunk-CNHUJRQ4.cjs');
40
40
  require('../chunk-ULWRNGGE.cjs');
41
41
  var chunkKDG6FER6_cjs = require('../chunk-KDG6FER6.cjs');
42
42
  require('../chunk-DES3K4SD.cjs');
@@ -61,8 +61,8 @@ function ConnectedDocumentToolsProvider({ children }) {
61
61
  function OwnDocumentTools({ children }) {
62
62
  const arbi = react.useArbi();
63
63
  const queryClient = reactQuery.useQueryClient();
64
- const { user, ensureWorkspaceOpen } = chunkGFNELPDP_cjs.useConnectedWorkspace();
65
- const { notify: environmentNotify, openDocument: openInHost } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
64
+ const { user, ensureWorkspaceOpen } = chunkFM3IRQJW_cjs.useConnectedWorkspace();
65
+ const { notify: environmentNotify, openDocument: openInHost } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
66
66
  const client = arbi.isLoggedIn ? arbi.getClient().fetch : null;
67
67
  const signer = React.useMemo(
68
68
  () => user ? { name: user.name, email: user.email, externalId: user.externalId } : null,
@@ -118,7 +118,7 @@ function FinaliseTranslationButton({
118
118
  }) {
119
119
  const finalise = react.useFinaliseTranslation();
120
120
  const { openDocument } = documentTools.useDocumentTools();
121
- const { notify } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
121
+ const { notify } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
122
122
  if (!document2 || !isTranslationDraft(document2)) return null;
123
123
  const pending = finalise.isPending;
124
124
  const onClick = async () => {
@@ -155,7 +155,7 @@ function FinaliseTranslationButton({
155
155
  }
156
156
  function useImageCrop(documentId, fileName, imageBlob) {
157
157
  const { uploadDocument, onDocumentsChanged, openDocument } = documentTools.useDocumentTools();
158
- const { notify } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
158
+ const { notify } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
159
159
  const [cropImageUrl, setCropImageUrl] = React.useState(null);
160
160
  const handleOpenCrop = React.useCallback(() => {
161
161
  if (!imageBlob) return;
@@ -209,7 +209,7 @@ function useViewedDocument(documentId) {
209
209
  const isDraft = !!draftDoc;
210
210
  const isCaptureDraft = draftDoc?.kind === "audio" || draftDoc?.kind === "photo" || draftDoc?.kind === "video";
211
211
  const isTextDraft = draftDoc?.kind === "text";
212
- const { workspaceId, live } = chunkGFNELPDP_cjs.useConnectedWorkspace();
212
+ const { workspaceId, live } = chunkFM3IRQJW_cjs.useConnectedWorkspace();
213
213
  const { data: record } = react.useDocument(documentId, {
214
214
  enabled: live && !!workspaceId && !isStreaming && !isDraft,
215
215
  // A new version (Save version, a signed copy) is processed before its PDF exists: keep
@@ -217,9 +217,9 @@ function useViewedDocument(documentId) {
217
217
  pollWhileProcessing: true
218
218
  });
219
219
  const documentData = record?.external_id === documentId ? record : void 0;
220
- const { data: tags } = chunkGAYMJWTC_cjs.useConnectedTags();
220
+ const { data: tags } = chunkCB4TIDEX_cjs.useConnectedTags();
221
221
  const labelSummaries = React.useMemo(
222
- () => chunkT74Q3MCZ_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkT74Q3MCZ_cjs.isDocumentLabel)),
222
+ () => chunkBDA3RHYD_cjs.summariseDocTags(documentData?.doctags ?? [], tags.filter(chunkBDA3RHYD_cjs.isDocumentLabel)),
223
223
  [documentData, tags]
224
224
  );
225
225
  const fileName = documentData?.file_name;
@@ -285,7 +285,7 @@ function useViewerBlobs(documentId, doc) {
285
285
  const { documentData, isArtifact, isDocx, isXlsx, isDownloadOnly, isWebmFile } = doc;
286
286
  const { setWebmHasVideoTrack } = doc;
287
287
  const { client, saveFile } = documentTools.useDocumentTools();
288
- const { notify } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
288
+ const { notify } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
289
289
  const { loadOfflineCopy } = chunk6I6CVX5G_cjs.useDocumentViewerSupport();
290
290
  const currentVersion = documentData?.current_version ?? 1;
291
291
  const name = documentData?.file_name;
@@ -475,7 +475,7 @@ function useViewerTabs(doc, isCompact, hasHistory = false) {
475
475
  }
476
476
  function useViewerVersions(docId) {
477
477
  const plainId = docId ? artifacts.parseVersionRef(docId).docId : "";
478
- const { data: documents } = chunkGAYMJWTC_cjs.useConnectedDocuments();
478
+ const { data: documents } = chunkCB4TIDEX_cjs.useConnectedDocuments();
479
479
  const listed = React.useMemo(
480
480
  () => plainId ? documents.find((d) => d.external_id === plainId) : void 0,
481
481
  [documents, plainId]
@@ -649,7 +649,7 @@ function PassageTagPanel({
649
649
  const { createTag } = chunk6I6CVX5G_cjs.useDocumentViewerSupport();
650
650
  const [editingNoteTagId, setEditingNoteTagId] = React.useState(null);
651
651
  const [noteValue, setNoteValue] = React.useState("");
652
- const { data: allTags } = chunkGAYMJWTC_cjs.useConnectedTags();
652
+ const { data: allTags } = chunkCB4TIDEX_cjs.useConnectedTags();
653
653
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
654
654
  const { getChunkTagState, toggleChunkTag, updateChunkTagNote, isLoading } = useChunkTagging({
655
655
  documentId,
@@ -725,7 +725,7 @@ function PassageTagPanel({
725
725
  [workspaceTags]
726
726
  );
727
727
  return /* @__PURE__ */ jsxRuntime.jsx(
728
- chunkT74Q3MCZ_cjs.TagPassagePanel,
728
+ chunkBDA3RHYD_cjs.TagPassagePanel,
729
729
  {
730
730
  pageNumber,
731
731
  preview,
@@ -850,7 +850,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
850
850
  ];
851
851
  }) : [];
852
852
  return /* @__PURE__ */ jsxRuntime.jsx(
853
- chunkT74Q3MCZ_cjs.HtmlPassage,
853
+ chunkBDA3RHYD_cjs.HtmlPassage,
854
854
  {
855
855
  chunkId,
856
856
  highlight: isStrong ? "strong" : isLight ? "light" : void 0,
@@ -863,7 +863,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
863
863
  isTagged: labels.length > 0,
864
864
  activeTagColor,
865
865
  tagMark: labels.length > 0 ? /* @__PURE__ */ jsxRuntime.jsx(
866
- chunkLXTOOUEN_cjs.LabelMark,
866
+ chunkQ7CQYYZW_cjs.LabelMark,
867
867
  {
868
868
  colors: labels.map((l) => l.color),
869
869
  name: `Labels: ${labels.map((l) => l.name).join(", ")}`,
@@ -874,7 +874,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
874
874
  }
875
875
  ) : void 0,
876
876
  runMarker: isSelected && runIsStart ? /* @__PURE__ */ jsxRuntime.jsx(
877
- chunkLXTOOUEN_cjs.NoteMark,
877
+ chunkQ7CQYYZW_cjs.NoteMark,
878
878
  {
879
879
  label: runLabel,
880
880
  title: "Cited by this note \u2014 click a passage to add, shift-click for a range",
@@ -882,7 +882,7 @@ var ParsedPassage = React.memo(function ParsedPassage2({
882
882
  }
883
883
  ) : void 0,
884
884
  mark: showLabel && chunkId ? /* @__PURE__ */ jsxRuntime.jsx(
885
- chunkLXTOOUEN_cjs.PassageMark,
885
+ chunkQ7CQYYZW_cjs.PassageMark,
886
886
  {
887
887
  label: runLabel,
888
888
  menuLabel: "Passage actions",
@@ -917,7 +917,7 @@ function usePassageCopy({
917
917
  documentData,
918
918
  selectedWorkspaceId
919
919
  }) {
920
- const { notify, runtimeConfig } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
920
+ const { notify, runtimeConfig } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
921
921
  const deploymentDomain = runtimeConfig.deploymentDomain;
922
922
  const formatChunkWithCitation = React.useCallback(
923
923
  (chunkContent, pageNumber, chunkExtId) => {
@@ -990,7 +990,7 @@ ${text}
990
990
  "span",
991
991
  { className: "inline-flex items-center gap-2" },
992
992
  prefix,
993
- React__default.default.createElement(chunkLXTOOUEN_cjs.PassagePill, {
993
+ React__default.default.createElement(chunkQ7CQYYZW_cjs.PassagePill, {
994
994
  icon: React__default.default.createElement(react.HtmlIcon, { size: 16, className: "flex-shrink-0" }),
995
995
  documentTitle: passageInfo.documentTitle,
996
996
  pageNumber: passageInfo.pageNumber,
@@ -1023,15 +1023,15 @@ ${text}
1023
1023
  };
1024
1024
  }
1025
1025
  function useDocumentLabels(documentId, doctags, orderedChunkIds) {
1026
- const { data: allTags } = chunkGAYMJWTC_cjs.useConnectedTags();
1026
+ const { data: allTags } = chunkCB4TIDEX_cjs.useConnectedTags();
1027
1027
  const workspaceTags = React.useMemo(() => allTags.filter(isDocumentTag), [allTags]);
1028
1028
  const documentDoctags = React.useMemo(() => doctags ?? [], [doctags]);
1029
1029
  const tagSummaries = React.useMemo(
1030
- () => chunkT74Q3MCZ_cjs.summariseDocTags(documentDoctags, workspaceTags),
1030
+ () => chunkBDA3RHYD_cjs.summariseDocTags(documentDoctags, workspaceTags),
1031
1031
  [documentDoctags, workspaceTags]
1032
1032
  );
1033
1033
  const labelSummaries = React.useMemo(
1034
- () => chunkT74Q3MCZ_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkT74Q3MCZ_cjs.isDocumentLabel)),
1034
+ () => chunkBDA3RHYD_cjs.summariseDocTags(documentDoctags, workspaceTags.filter(chunkBDA3RHYD_cjs.isDocumentLabel)),
1035
1035
  [documentDoctags, workspaceTags]
1036
1036
  );
1037
1037
  const labelsByChunk = React.useMemo(() => {
@@ -1474,7 +1474,7 @@ function ParsedTextView({
1474
1474
  zoom = 1,
1475
1475
  onZoomChange
1476
1476
  }) {
1477
- const { workspaceId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
1477
+ const { workspaceId } = chunkFM3IRQJW_cjs.useConnectedWorkspace();
1478
1478
  const { openInNavigator } = chunk6I6CVX5G_cjs.useDocumentViewerSupport();
1479
1479
  const containerRef = React.useRef(null);
1480
1480
  const { data: documentRecord } = react.useDocument(artifacts.parseVersionRef(documentId).docId, {
@@ -1539,14 +1539,14 @@ function ParsedTextView({
1539
1539
  }
1540
1540
  }
1541
1541
  }, [maxPageNumber, onLoadSuccess]);
1542
- if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading parsed document..." });
1542
+ if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading parsed document..." });
1543
1543
  if (error) {
1544
- return /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1544
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: "Failed to load parsed document" }) });
1545
1545
  }
1546
1546
  const taggingChunk = labels.taggingChunkId ? processedChunks.flatMap((page) => page.chunks).find((c) => c.chunkExtId === labels.taggingChunkId) : void 0;
1547
- return /* @__PURE__ */ jsxRuntime.jsxs(chunkT74Q3MCZ_cjs.HtmlViewerRoot, { children: [
1547
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkBDA3RHYD_cjs.HtmlViewerRoot, { children: [
1548
1548
  /* @__PURE__ */ jsxRuntime.jsx(
1549
- chunkT74Q3MCZ_cjs.DocumentLabelBar,
1549
+ chunkBDA3RHYD_cjs.DocumentLabelBar,
1550
1550
  {
1551
1551
  summaries: labels.labelSummaries,
1552
1552
  activeTagExtId: labels.activeTagExtId,
@@ -1571,15 +1571,15 @@ function ParsedTextView({
1571
1571
  }
1572
1572
  ),
1573
1573
  !citation.factCitationActive && citation.runStartIds.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
1574
- chunkT74Q3MCZ_cjs.CitedRunNav,
1574
+ chunkBDA3RHYD_cjs.CitedRunNav,
1575
1575
  {
1576
1576
  position: citation.runCursor + 1,
1577
1577
  total: citation.runStartIds.length,
1578
1578
  onStep: citation.gotoRun
1579
1579
  }
1580
1580
  ),
1581
- /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1582
- chunkT74Q3MCZ_cjs.HtmlPage,
1581
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.HtmlViewerSurface, { surfaceRef: containerRef, onMouseUp: citation.handleSelectionEnd, children: processedChunks.length > 0 ? processedChunks.map((page, pageIndex) => /* @__PURE__ */ jsxRuntime.jsx(
1582
+ chunkBDA3RHYD_cjs.HtmlPage,
1583
1583
  {
1584
1584
  pageNumber: page.pageNumber,
1585
1585
  totalPages,
@@ -1620,7 +1620,7 @@ function ParsedTextView({
1620
1620
  })
1621
1621
  },
1622
1622
  pageIndex
1623
- )) : /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.HtmlViewerEmpty, {}) })
1623
+ )) : /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.HtmlViewerEmpty, {}) })
1624
1624
  ] });
1625
1625
  }
1626
1626
  var AnnotatedPdfViewer = React.lazy(
@@ -1669,7 +1669,7 @@ function ViewerPdfPane({
1669
1669
  const showMarkup = markup.hasMarkup && !markup.showOriginal;
1670
1670
  if (isDownloadOnly) {
1671
1671
  return /* @__PURE__ */ jsxRuntime.jsx(
1672
- chunkT74Q3MCZ_cjs.ViewerPreviewUnavailable,
1672
+ chunkBDA3RHYD_cjs.ViewerPreviewUnavailable,
1673
1673
  {
1674
1674
  extension: fileExtension(documentData?.file_name),
1675
1675
  onDownload
@@ -1679,26 +1679,26 @@ function ViewerPdfPane({
1679
1679
  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...";
1680
1680
  const errorLabel = isVideo ? "Failed to load video" : isAudio ? "Failed to load audio" : isImage ? "Failed to load image" : "Failed to load PDF";
1681
1681
  if (isDocx && documentData && !["completed", "low-content", "failed"].includes(documentData.status || "")) {
1682
- return /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1682
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "PDF and search indexing are processing. Open the DOCX tab to edit now." });
1683
1683
  }
1684
- if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: loadingLabel });
1684
+ if (isPdfLoading) return /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: loadingLabel });
1685
1685
  if (pdfError) {
1686
1686
  return /* @__PURE__ */ jsxRuntime.jsx(
1687
- chunkT74Q3MCZ_cjs.ViewerLoadError,
1687
+ chunkBDA3RHYD_cjs.ViewerLoadError,
1688
1688
  {
1689
1689
  message: isVideo || isAudio || isImage ? `${errorLabel} \u2014 download it instead.` : "Couldn't display the PDF \u2014 download it instead.",
1690
1690
  onDownload
1691
1691
  }
1692
1692
  );
1693
1693
  }
1694
- if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: loadingLabel });
1694
+ if (!pdfBlob) return /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: loadingLabel });
1695
1695
  if (isVideo) return /* @__PURE__ */ jsxRuntime.jsx(viewers.VideoViewer, { blob: pdfBlob, title: documentData?.file_name || "Video" });
1696
1696
  if (isAudio) return /* @__PURE__ */ jsxRuntime.jsx(viewers.AudioViewer, { blob: pdfBlob, title: documentData?.file_name || "Audio" });
1697
1697
  if (isImage) {
1698
1698
  return /* @__PURE__ */ jsxRuntime.jsx(viewers.ImageViewer, { blob: pdfBlob, alt: documentData?.file_name || "Document image" });
1699
1699
  }
1700
1700
  if (signatureFlow?.kind === "prepare") {
1701
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1701
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1702
1702
  SignatureRequestEditor,
1703
1703
  {
1704
1704
  ...viewerProps,
@@ -1714,7 +1714,7 @@ function ViewerPdfPane({
1714
1714
  }
1715
1715
  if (signatureFlow?.kind === "sign" && currentUserId) {
1716
1716
  const { currentPage: _page, scrollTrigger: _trigger, ...guidedProps } = viewerProps;
1717
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1717
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1718
1718
  GuidedSigningViewer,
1719
1719
  {
1720
1720
  ...guidedProps,
@@ -1728,7 +1728,7 @@ function ViewerPdfPane({
1728
1728
  ) });
1729
1729
  }
1730
1730
  if (placingSignature) {
1731
- return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1731
+ return /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
1732
1732
  SignaturePlacementViewer,
1733
1733
  {
1734
1734
  ...viewerProps,
@@ -1744,7 +1744,7 @@ function ViewerPdfPane({
1744
1744
  return /* @__PURE__ */ jsxRuntime.jsx(
1745
1745
  React.Suspense,
1746
1746
  {
1747
- fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1747
+ fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: annotating ? "Loading annotation tools\u2026" : "Loading markup\u2026" }),
1748
1748
  children: /* @__PURE__ */ jsxRuntime.jsx(
1749
1749
  AnnotatedPdfViewer,
1750
1750
  {
@@ -1768,17 +1768,17 @@ function ViewerPdfPane({
1768
1768
  return /* @__PURE__ */ jsxRuntime.jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1769
1769
  }
1770
1770
  var NativeDocxEditor = React.lazy(
1771
- () => import('../ConnectedNativeDocxEditor-HTEW5JAH.cjs').then((m) => ({
1771
+ () => import('../ConnectedNativeDocxEditor-EHTWGGX3.cjs').then((m) => ({
1772
1772
  default: m.ConnectedNativeDocxEditor
1773
1773
  }))
1774
1774
  );
1775
1775
  var StreamedWordArtifact = React.lazy(
1776
- () => import('../ConnectedStreamedWordArtifact-QW74LKHN.cjs').then((m) => ({
1776
+ () => import('../ConnectedStreamedWordArtifact-5DK6QGYN.cjs').then((m) => ({
1777
1777
  default: m.ConnectedStreamedWordArtifact
1778
1778
  }))
1779
1779
  );
1780
1780
  var NativeDocxComparison = React.lazy(
1781
- () => import('../ConnectedNativeDocxComparison-Y5BNLNH6.cjs').then((m) => ({
1781
+ () => import('../ConnectedNativeDocxComparison-YORMOPPN.cjs').then((m) => ({
1782
1782
  default: m.ConnectedNativeDocxComparison
1783
1783
  }))
1784
1784
  );
@@ -1803,8 +1803,8 @@ function DocumentViewerContent({
1803
1803
  const support = chunk6I6CVX5G_cjs.useDocumentViewerSupport();
1804
1804
  const formatDate = support.formatDate ?? chunkKDG6FER6_cjs.fmtDate;
1805
1805
  const tools = documentTools.useDocumentTools();
1806
- const { openConversation, notify } = chunkKPZZ5FHE_cjs.useBlocksEnvironment();
1807
- const { userId: currentUserId } = chunkGFNELPDP_cjs.useConnectedWorkspace();
1806
+ const { openConversation, notify } = chunkCNHUJRQ4_cjs.useBlocksEnvironment();
1807
+ const { userId: currentUserId } = chunkFM3IRQJW_cjs.useConnectedWorkspace();
1808
1808
  const documentId = artifacts.parseVersionRef(openedId).docId;
1809
1809
  const [totalPages, setTotalPages] = React.useState(0);
1810
1810
  const [isCompact, setIsCompact] = React.useState(false);
@@ -1830,7 +1830,7 @@ function DocumentViewerContent({
1830
1830
  const setViewingDocumentId = (id) => session.setViewingDocument({ id });
1831
1831
  const setActiveTab = (tab) => session.setDocumentViewer({ tab });
1832
1832
  const setCompareDocumentId = (id) => session.setDocumentViewer({ compareId: id });
1833
- const { data: conversations } = chunkGAYMJWTC_cjs.useConnectedConversations();
1833
+ const { data: conversations } = chunkCB4TIDEX_cjs.useConnectedConversations();
1834
1834
  const snapshotRef = artifacts.parseVersionRef(openedId).version ? openedId : null;
1835
1835
  const { versions, translations } = useViewerVersions(documentId);
1836
1836
  const currentVersionId = versions.find((v) => v.isCurrent)?.id ?? documentId;
@@ -1908,15 +1908,15 @@ function DocumentViewerContent({
1908
1908
  };
1909
1909
  const documentTitle = streamingDoc?.title || draftDoc?.title || documentData?.doc_metadata?.title || documentData?.file_name || "Document";
1910
1910
  const pageNav = totalPages > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1911
- /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
1911
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerZoomControl, { zoom, onCycle: () => setZoom(viewers.cycleZoom(zoom)) }),
1912
1912
  /* @__PURE__ */ jsxRuntime.jsx(
1913
- chunkT74Q3MCZ_cjs.PdfPageNav,
1913
+ chunkBDA3RHYD_cjs.PdfPageNav,
1914
1914
  {
1915
1915
  canPrev: (viewingDocumentPage || 1) > 1,
1916
1916
  canNext: (viewingDocumentPage || 1) < totalPages,
1917
1917
  onPrev: () => stepPage(-1),
1918
1918
  onNext: () => stepPage(1),
1919
- counter: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
1919
+ counter: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerPageCounter, { page: viewingDocumentPage || 1, total: totalPages, onGoTo: goToPage })
1920
1920
  }
1921
1921
  )
1922
1922
  ] });
@@ -1940,7 +1940,7 @@ function DocumentViewerContent({
1940
1940
  );
1941
1941
  const titleBlock = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1942
1942
  isDraft ? support.renderDraftTitle?.(documentId) : /* @__PURE__ */ jsxRuntime.jsx(
1943
- chunkT74Q3MCZ_cjs.ViewerTitle,
1943
+ chunkBDA3RHYD_cjs.ViewerTitle,
1944
1944
  {
1945
1945
  title: documentTitle,
1946
1946
  versionLabel: currentVersionLabel,
@@ -1965,7 +1965,7 @@ function DocumentViewerContent({
1965
1965
  // A draft's kind replaces the tabs: neither Versions nor the text view means anything
1966
1966
  // before the first save.
1967
1967
  support.renderDraftKind?.(documentId)
1968
- ) : /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
1968
+ ) : /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerTabBar, { tabs: viewerTabs, activeId: activeTab, onChange: handleTabChange }),
1969
1969
  !isCompact && titleBlock
1970
1970
  ] });
1971
1971
  const annotatable = documentTools.canAnnotate({
@@ -2038,7 +2038,7 @@ function DocumentViewerContent({
2038
2038
  }
2039
2039
  ),
2040
2040
  activeTab === "pdf" && isImage && pdfBlob && /* @__PURE__ */ jsxRuntime.jsx(
2041
- chunkT74Q3MCZ_cjs.ViewerImageActions,
2041
+ chunkBDA3RHYD_cjs.ViewerImageActions,
2042
2042
  {
2043
2043
  compact: isCompact,
2044
2044
  onUseAsReference: support.useImageAsReference ? () => support.useImageAsReference(documentId) : void 0,
@@ -2166,7 +2166,7 @@ function DocumentViewerContent({
2166
2166
  onZoomChange: setZoom
2167
2167
  };
2168
2168
  return /* @__PURE__ */ jsxRuntime.jsxs(
2169
- chunkT74Q3MCZ_cjs.ViewerFrame,
2169
+ chunkBDA3RHYD_cjs.ViewerFrame,
2170
2170
  {
2171
2171
  frameRef: containerRef,
2172
2172
  contentId: documentId,
@@ -2211,7 +2211,7 @@ function DocumentViewerContent({
2211
2211
  )
2212
2212
  ),
2213
2213
  children: [
2214
- isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2214
+ isComparing && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading comparison\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2215
2215
  NativeDocxComparison,
2216
2216
  {
2217
2217
  baseId: compareDocumentId,
@@ -2221,7 +2221,7 @@ function DocumentViewerContent({
2221
2221
  ) }),
2222
2222
  isCaptureDraft && support.renderCaptureDraft?.(documentId),
2223
2223
  !isCaptureDraft && (activeTab === "pdf" || isMedia && activeTab === "html") && !isArtifact && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(chunkUWIILWDI_cjs.ViewerPane, { hidden: activeTab !== "pdf", children: [
2224
- /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2224
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.DocumentLabelBar, { summaries: labelSummaries }),
2225
2225
  !isMedia && !isImage && signatureBanner,
2226
2226
  activeTab === "pdf" && !isMedia && !isImage && /* @__PURE__ */ jsxRuntime.jsx(
2227
2227
  chunkD3WFIFRY_cjs.MarkupNotices,
@@ -2231,7 +2231,7 @@ function DocumentViewerContent({
2231
2231
  onOpenVersion: (n) => setSnapshotDocumentId(`${documentId}@v${n}`)
2232
2232
  }
2233
2233
  ),
2234
- /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2234
+ /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerControlBar, { controls: activeTab === "pdf" && pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2235
2235
  ViewerPdfPane,
2236
2236
  {
2237
2237
  documentId,
@@ -2269,7 +2269,7 @@ function DocumentViewerContent({
2269
2269
  }
2270
2270
  ),
2271
2271
  activeTab === "edit" && isArtifact && liveKind && /* @__PURE__ */ jsxRuntime.jsx(chunk2YV7FBLO_cjs.ArtifactCodeView, { source: liveSource, fileName: documentData?.file_name ?? void 0 }),
2272
- activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2272
+ activeTab === "edit" && isArtifact && !liveKind && !isStreaming && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2273
2273
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkD3WFIFRY_cjs.SignedEditNote, {}),
2274
2274
  /* @__PURE__ */ jsxRuntime.jsx(
2275
2275
  NativeDocxEditor,
@@ -2312,8 +2312,8 @@ function DocumentViewerContent({
2312
2312
  onOpenTranslation: (id) => setViewingDocumentId(id)
2313
2313
  }
2314
2314
  ),
2315
- activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2316
- activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2315
+ activeTab === "xlsx" && isXlsx && (xlsxBlob ? /* @__PURE__ */ jsxRuntime.jsx(viewers.XlsxViewer, { blob: xlsxBlob }) : /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: xlsxError ? "Failed to load spreadsheet" : "Loading spreadsheet..." })),
2316
+ activeTab === "docx" && isDocx && !isComparing && /* @__PURE__ */ jsxRuntime.jsxs(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Loading editor\u2026" }), children: [
2317
2317
  signatureBanner,
2318
2318
  isSigned && !snapshotDocumentId && /* @__PURE__ */ jsxRuntime.jsx(chunkD3WFIFRY_cjs.SignedEditNote, {}),
2319
2319
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -2326,7 +2326,7 @@ function DocumentViewerContent({
2326
2326
  `${snapshotDocumentId || documentId}-${snapshotDocumentId ? "snapshot" : "live"}`
2327
2327
  )
2328
2328
  ] }),
2329
- streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2329
+ streamingDoc && isStreaming && isArtifact && !liveKind && !isComparing && (activeTab === "html" || activeTab === "edit") && /* @__PURE__ */ jsxRuntime.jsx(React.Suspense, { fallback: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerMessage, { children: "Opening draft\u2026" }), children: /* @__PURE__ */ jsxRuntime.jsx(
2330
2330
  StreamedWordArtifact,
2331
2331
  {
2332
2332
  documentId: documentId.startsWith("doc-") ? documentId : void 0,
@@ -2336,7 +2336,7 @@ function DocumentViewerContent({
2336
2336
  },
2337
2337
  documentId
2338
2338
  ) }),
2339
- !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkUWIILWDI_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkT74Q3MCZ_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2339
+ !isCaptureDraft && !isComparing && activeTab === "html" && !(isStreaming && isArtifact && !liveKind) && /* @__PURE__ */ jsxRuntime.jsx(chunkUWIILWDI_cjs.ViewerPane, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkBDA3RHYD_cjs.ViewerControlBar, { controls: pageNav, children: /* @__PURE__ */ jsxRuntime.jsx(
2340
2340
  ParsedTextView,
2341
2341
  {
2342
2342
  documentId: pdfSnapshotId || documentId,
@@ -1,16 +1,16 @@
1
1
  "use client";
2
- import { HtmlPassage, ViewerTitle, ViewerTabBar, ViewerImageActions, ViewerFrame, ViewerMessage, DocumentLabelBar, ViewerControlBar, ViewerZoomControl, PdfPageNav, ViewerPageCounter, summariseDocTags, isDocumentLabel, ViewerPreviewUnavailable, ViewerLoadError, HtmlViewerRoot, CitedRunNav, HtmlViewerSurface, HtmlPage, HtmlViewerEmpty, TagPassagePanel } from '../chunk-HUJF2XM2.js';
2
+ import { HtmlPassage, ViewerTitle, ViewerTabBar, ViewerImageActions, ViewerFrame, ViewerMessage, DocumentLabelBar, ViewerControlBar, ViewerZoomControl, PdfPageNav, ViewerPageCounter, summariseDocTags, isDocumentLabel, ViewerPreviewUnavailable, ViewerLoadError, HtmlViewerRoot, CitedRunNav, HtmlViewerSurface, HtmlPage, HtmlViewerEmpty, TagPassagePanel } from '../chunk-RE7NULEY.js';
3
3
  import { useDocumentViewerSupport } from '../chunk-EYJMMGXF.js';
4
4
  import '../chunk-JGOST4IL.js';
5
5
  import '../chunk-RC6VTY2H.js';
6
- import { useConnectedConversations, useConnectedDocuments, useConnectedTags } from '../chunk-DN2KI4BU.js';
7
- import { useConnectedWorkspace } from '../chunk-US3S4DCB.js';
6
+ import { useConnectedConversations, useConnectedDocuments, useConnectedTags } from '../chunk-KDLX5AA7.js';
7
+ import { useConnectedWorkspace } from '../chunk-TF7HN5EU.js';
8
8
  import { MarkupViewNote, SignatureStatus, AnnotateButton, ShowOriginalButton, DownloadMarkupButton, SignButton, RequestSignaturesButton, MarkupNotices, SignedEditNote, VersionSnapshotBar, SignatureRequestBanner } from '../chunk-KQYPP72K.js';
9
9
  import '../chunk-EQB3WELX.js';
10
10
  import { ViewerStatusNote, ViewerHeaderStart, ViewerHeaderEnd, ViewerPane } from '../chunk-6HKLTYNN.js';
11
11
  import { SignDocumentDialog } from '../chunk-2YOVK524.js';
12
12
  import '../chunk-JJA6GQKH.js';
13
- import '../chunk-H4D7WKDY.js';
13
+ import '../chunk-YNMO3DSR.js';
14
14
  import { ShareControl } from '../chunk-K4BGOPGG.js';
15
15
  import '../chunk-SDOEHEJP.js';
16
16
  import '../chunk-A3XPS2EU.js';
@@ -18,7 +18,7 @@ import { buildDeepLinkUrl } from '../chunk-SV65E4QW.js';
18
18
  import '../chunk-M4S75AEJ.js';
19
19
  import '../chunk-5LXQPP2K.js';
20
20
  import '../chunk-RLWIUUQ5.js';
21
- import '../chunk-YKQ2DPIP.js';
21
+ import '../chunk-VF5EUAIV.js';
22
22
  import '../chunk-NUNKSZKU.js';
23
23
  import '../chunk-YU2KUMGE.js';
24
24
  import '../chunk-N5YEF3LC.js';
@@ -33,8 +33,8 @@ import '../chunk-AUS3KBHJ.js';
33
33
  import { useIsPhone } from '../chunk-SLSBJRWW.js';
34
34
  import '../chunk-NPLYHR2E.js';
35
35
  import '../chunk-7F6CBP3Z.js';
36
- import { PassageMark, NoteMark, LabelMark, PassagePill } from '../chunk-JAANWQGB.js';
37
- import { useBlocksEnvironment } from '../chunk-TBEVGWY3.js';
36
+ import { PassageMark, NoteMark, LabelMark, PassagePill } from '../chunk-ETZ5A3GU.js';
37
+ import { useBlocksEnvironment } from '../chunk-F57LNUSZ.js';
38
38
  import '../chunk-TX2ZICS7.js';
39
39
  import { fmtDate } from '../chunk-OXF2IFXG.js';
40
40
  import '../chunk-VUNV25KB.js';
@@ -1762,17 +1762,17 @@ function ViewerPdfPane({
1762
1762
  return /* @__PURE__ */ jsx(SessionPdfViewer, { ...viewerProps, file: pdfBlob });
1763
1763
  }
1764
1764
  var NativeDocxEditor = lazy(
1765
- () => import('../ConnectedNativeDocxEditor-LRYU5HPA.js').then((m) => ({
1765
+ () => import('../ConnectedNativeDocxEditor-34EBIIFS.js').then((m) => ({
1766
1766
  default: m.ConnectedNativeDocxEditor
1767
1767
  }))
1768
1768
  );
1769
1769
  var StreamedWordArtifact = lazy(
1770
- () => import('../ConnectedStreamedWordArtifact-QAUVUCSX.js').then((m) => ({
1770
+ () => import('../ConnectedStreamedWordArtifact-GLIDLSAS.js').then((m) => ({
1771
1771
  default: m.ConnectedStreamedWordArtifact
1772
1772
  }))
1773
1773
  );
1774
1774
  var NativeDocxComparison = lazy(
1775
- () => import('../ConnectedNativeDocxComparison-OFPIXNJB.js').then((m) => ({
1775
+ () => import('../ConnectedNativeDocxComparison-OLWRQSRS.js').then((m) => ({
1776
1776
  default: m.ConnectedNativeDocxComparison
1777
1777
  }))
1778
1778
  );
@@ -71,6 +71,13 @@ export interface ConnectedWorkspace {
71
71
  userId: string | undefined;
72
72
  /** Re-assert the workspace on the server session before a workspace-scoped write. */
73
73
  ensureWorkspaceOpen: () => Promise<void>;
74
+ /**
75
+ * Go into a workspace: select it (with a connection) and show it (`BlocksEnvironment.
76
+ * openWorkspace`, where a host without a connection also switches its session).
77
+ */
78
+ openWorkspace: (workspaceId: string, options?: {
79
+ name?: string;
80
+ }) => Promise<void>;
74
81
  }
75
82
  /**
76
83
  * The workspace for a connected kit: the `ConnectionProvider`'s when there is one, else the host's
@@ -0,0 +1,34 @@
1
+ /**
2
+ * The Projects panel ("Plan & Usage"): the base tab lists the user's projects (plan, usage,
3
+ * collaborators), the billing portal, the projects shared with them and the host's footer; each
4
+ * project the user opens gets a closeable tab with its detail. "New project" sits after the tabs.
5
+ *
6
+ * Opening a project anywhere goes through `BlocksEnvironment.openProject`. A host that opens
7
+ * project tabs from elsewhere (a workspace's project band, a quota warning) keeps the tabs itself
8
+ * (`tabs`); without it the panel keeps them and opens its own projects' tabs.
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ /** The base tab's id. */
12
+ export declare const PROJECTS_BASE_TAB_ID = "projects";
13
+ /** The panel's project tabs, kept by a host. */
14
+ export interface ProjectPanelTabs {
15
+ /** The open project tabs, in order. */
16
+ openProjectIds: string[];
17
+ /** The project shown, or `null` for the base list. */
18
+ activeProjectId: string | null;
19
+ /** Show a project's tab (`null`: the base list). */
20
+ onSelect: (projectId: string | null) => void;
21
+ onClose: (projectId: string) => void;
22
+ }
23
+ export interface ConnectedProjectsPanelProps {
24
+ /** Host-kept tabs; the panel keeps its own without. */
25
+ tabs?: ProjectPanelTabs;
26
+ /** A project's storage section, at the foot of its detail. */
27
+ projectStorage?: (projectId: string) => ReactNode;
28
+ /** After the lists on the base tab (e.g. the deployment's storage, for its admins). */
29
+ footer?: ReactNode;
30
+ /** At the right of the tab header (e.g. the panel's mode switcher). */
31
+ headerRight?: ReactNode;
32
+ className?: string;
33
+ }
34
+ export declare function ConnectedProjectsPanel({ tabs: hostTabs, projectStorage, footer, headerRight, className, }: ConnectedProjectsPanelProps): import("react").JSX.Element;
@@ -0,0 +1 @@
1
+ export { ConnectedProjectsPanel, PROJECTS_BASE_TAB_ID, type ConnectedProjectsPanelProps, type ProjectPanelTabs, } from './ConnectedProjectsPanel';
@@ -0,0 +1,37 @@
1
+ /**
2
+ * The open workspace's home: what a returning person needs, in order. What they can start (the
3
+ * host's Start band), then what is recent (the last files and threads, each a way back in), then
4
+ * its facts (upcoming dated ones, the newest others) beside the host's agenda.
5
+ *
6
+ * Every section always shows, each with its own empty state, so a new workspace has the same
7
+ * layout as a busy one. A row opens its thing (`BlocksEnvironment.openDocument` /
8
+ * `openConversation`); the sections, a fact, "New" and the empty states go through `actions`, the
9
+ * host's pages and dialogs.
10
+ */
11
+ import { type ReactNode } from 'react';
12
+ /** What a dashboard hands back to its host: its pages and dialogs. */
13
+ export interface WorkspaceDashboardActions {
14
+ /** A section's header: the Files, Threads or Facts page. */
15
+ openSection: (section: 'documents' | 'threads' | 'facts') => void;
16
+ /** A fact itself (the Facts page, at that fact). */
17
+ openFact: (factId: string) => void;
18
+ /** "New fact": the Facts page with its composer open. */
19
+ newFact: () => void;
20
+ /** "New" on Threads: the new-thread dialog. */
21
+ newThread: () => void;
22
+ /** The empty Threads card: a new, blank thread. */
23
+ ask: () => void;
24
+ /** The empty Files card: add files. */
25
+ addFiles: () => void;
26
+ }
27
+ export interface ConnectedWorkspaceDashboardProps {
28
+ actions: WorkspaceDashboardActions;
29
+ /** The Start band: what the workspace can do, each one click from underway. */
30
+ start?: ReactNode;
31
+ /** The Files section's add control (a source menu, say). */
32
+ addFilesAction?: ReactNode;
33
+ /** Beside the facts: what is coming up (the calendar's agenda, say). */
34
+ aside?: ReactNode;
35
+ testId?: string;
36
+ }
37
+ export declare function ConnectedWorkspaceDashboard({ actions, start, addFilesAction, aside, testId, }: ConnectedWorkspaceDashboardProps): import("react").JSX.Element;