@arbidocs/blocks 0.4.159 → 0.4.161

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 (334) hide show
  1. package/README.md +48 -9
  2. package/dist/{ConnectedNativeDocxComparison-R6RU5TZE.cjs → ConnectedNativeDocxComparison-GLHOGUP6.cjs} +12 -11
  3. package/dist/{ConnectedNativeDocxComparison-R6RU5TZE.cjs.map → ConnectedNativeDocxComparison-GLHOGUP6.cjs.map} +1 -1
  4. package/dist/{ConnectedNativeDocxComparison-XMZ5KLD4.js → ConnectedNativeDocxComparison-LKIMKOTA.js} +11 -10
  5. package/dist/{ConnectedStreamedWordArtifact-IXRJ7MUE.js.map → ConnectedNativeDocxComparison-LKIMKOTA.js.map} +1 -1
  6. package/dist/{ConnectedNativeDocxEditor-NGUK2AX6.js → ConnectedNativeDocxEditor-6LNYWZ3P.js} +10 -9
  7. package/dist/{ConnectedNativeDocxEditor-NGUK2AX6.js.map → ConnectedNativeDocxEditor-6LNYWZ3P.js.map} +1 -1
  8. package/dist/{ConnectedNativeDocxEditor-LBATSM3M.cjs → ConnectedNativeDocxEditor-M3UGWL6K.cjs} +12 -11
  9. package/dist/{ConnectedNativeDocxEditor-LBATSM3M.cjs.map → ConnectedNativeDocxEditor-M3UGWL6K.cjs.map} +1 -1
  10. package/dist/{ConnectedStreamedWordArtifact-IXRJ7MUE.js → ConnectedStreamedWordArtifact-432HT7DK.js} +11 -10
  11. package/dist/{ConnectedNativeDocxComparison-XMZ5KLD4.js.map → ConnectedStreamedWordArtifact-432HT7DK.js.map} +1 -1
  12. package/dist/{ConnectedStreamedWordArtifact-CWFR6A37.cjs → ConnectedStreamedWordArtifact-COEXL5IT.cjs} +12 -11
  13. package/dist/ConnectedStreamedWordArtifact-COEXL5IT.cjs.map +1 -0
  14. package/dist/{FactTextEditor-YESAU2IJ.js → FactTextEditor-ABKKJOCY.js} +2 -2
  15. package/dist/FactTextEditor-ABKKJOCY.js.map +1 -0
  16. package/dist/{FactTextEditor-YUPBCTXK.cjs → FactTextEditor-GYN5RHJT.cjs} +2 -2
  17. package/dist/FactTextEditor-GYN5RHJT.cjs.map +1 -0
  18. package/dist/{WorkspaceTableView-EYLEUZZT.cjs → WorkspaceTableView-AQTF5F6T.cjs} +6 -5
  19. package/dist/WorkspaceTableView-AQTF5F6T.cjs.map +1 -0
  20. package/dist/{WorkspaceTableView-DWUE4VQF.js → WorkspaceTableView-PTB5BPVA.js} +4 -3
  21. package/dist/WorkspaceTableView-PTB5BPVA.js.map +1 -0
  22. package/dist/agents/index.cjs +263 -263
  23. package/dist/agents/index.js +6 -6
  24. package/dist/agents/skills/skillLibrary.d.ts +1 -1
  25. package/dist/{chunk-FPHTSNOE.js → chunk-2AKIMCDD.js} +3 -3
  26. package/dist/{chunk-FPHTSNOE.js.map → chunk-2AKIMCDD.js.map} +1 -1
  27. package/dist/{chunk-YNMO3DSR.js → chunk-2AMYT2HQ.js} +3 -3
  28. package/dist/{chunk-YNMO3DSR.js.map → chunk-2AMYT2HQ.js.map} +1 -1
  29. package/dist/{chunk-MSFQDELO.cjs → chunk-3CUORKDL.cjs} +4 -4
  30. package/dist/{chunk-MSFQDELO.cjs.map → chunk-3CUORKDL.cjs.map} +1 -1
  31. package/dist/{chunk-MNG7N6M2.js → chunk-3PQIWOTZ.js} +122 -57
  32. package/dist/chunk-3PQIWOTZ.js.map +1 -0
  33. package/dist/chunk-5C7DRQQE.cjs +1891 -0
  34. package/dist/chunk-5C7DRQQE.cjs.map +1 -0
  35. package/dist/{chunk-F57LNUSZ.js → chunk-5NWY3FXQ.js} +24 -57
  36. package/dist/chunk-5NWY3FXQ.js.map +1 -0
  37. package/dist/{chunk-ISHFVKVU.js → chunk-5WLORPGX.js} +4 -4
  38. package/dist/{chunk-ISHFVKVU.js.map → chunk-5WLORPGX.js.map} +1 -1
  39. package/dist/{chunk-FAXXN7KI.cjs → chunk-5Y6V7F6W.cjs} +53 -4
  40. package/dist/chunk-5Y6V7F6W.cjs.map +1 -0
  41. package/dist/{chunk-6QAAIDQQ.cjs → chunk-6UTIAHQG.cjs} +60 -60
  42. package/dist/{chunk-6QAAIDQQ.cjs.map → chunk-6UTIAHQG.cjs.map} +1 -1
  43. package/dist/{chunk-KCSIX7CY.js → chunk-6XIXNH26.js} +3 -3
  44. package/dist/{chunk-KCSIX7CY.js.map → chunk-6XIXNH26.js.map} +1 -1
  45. package/dist/{chunk-YBJ4QGNH.cjs → chunk-ANLTECZ6.cjs} +8 -8
  46. package/dist/{chunk-YBJ4QGNH.cjs.map → chunk-ANLTECZ6.cjs.map} +1 -1
  47. package/dist/{chunk-Q2XGM372.cjs → chunk-AR6A2PMV.cjs} +4 -4
  48. package/dist/{chunk-Q2XGM372.cjs.map → chunk-AR6A2PMV.cjs.map} +1 -1
  49. package/dist/{chunk-KBO75NLM.cjs → chunk-AYJZRBHG.cjs} +7 -7
  50. package/dist/{chunk-KBO75NLM.cjs.map → chunk-AYJZRBHG.cjs.map} +1 -1
  51. package/dist/{chunk-FM3IRQJW.cjs → chunk-AYKE6USO.cjs} +12 -12
  52. package/dist/chunk-AYKE6USO.cjs.map +1 -0
  53. package/dist/chunk-BGJZVJJM.cjs +63 -0
  54. package/dist/chunk-BGJZVJJM.cjs.map +1 -0
  55. package/dist/{chunk-ECW2R2KF.cjs → chunk-BPL5RLNN.cjs} +27 -27
  56. package/dist/{chunk-ECW2R2KF.cjs.map → chunk-BPL5RLNN.cjs.map} +1 -1
  57. package/dist/{chunk-CNHUJRQ4.cjs → chunk-EFEFLBRM.cjs} +21 -55
  58. package/dist/chunk-EFEFLBRM.cjs.map +1 -0
  59. package/dist/{chunk-ETZ5A3GU.js → chunk-EVO2UNX3.js} +3 -3
  60. package/dist/chunk-EVO2UNX3.js.map +1 -0
  61. package/dist/{chunk-P6RIBIVN.js → chunk-FMJGVAWX.js} +8 -9
  62. package/dist/chunk-FMJGVAWX.js.map +1 -0
  63. package/dist/chunk-H5542IOD.cjs +108 -0
  64. package/dist/chunk-H5542IOD.cjs.map +1 -0
  65. package/dist/{chunk-VF5EUAIV.js → chunk-H7PHANI4.js} +3 -3
  66. package/dist/chunk-H7PHANI4.js.map +1 -0
  67. package/dist/chunk-HQJL7FSY.js +58 -0
  68. package/dist/chunk-HQJL7FSY.js.map +1 -0
  69. package/dist/{chunk-OFV3PRF2.cjs → chunk-HRDVQERS.cjs} +7 -7
  70. package/dist/{chunk-OFV3PRF2.cjs.map → chunk-HRDVQERS.cjs.map} +1 -1
  71. package/dist/{chunk-3VULDTNL.cjs → chunk-HUNX4CQG.cjs} +4 -4
  72. package/dist/chunk-HUNX4CQG.cjs.map +1 -0
  73. package/dist/{chunk-2BHDRVVL.cjs → chunk-I6I34FDU.cjs} +38 -37
  74. package/dist/chunk-I6I34FDU.cjs.map +1 -0
  75. package/dist/chunk-IWVOZREF.js +12 -0
  76. package/dist/chunk-IWVOZREF.js.map +1 -0
  77. package/dist/chunk-J7YHBMBB.js +1834 -0
  78. package/dist/chunk-J7YHBMBB.js.map +1 -0
  79. package/dist/{chunk-SDOEHEJP.js → chunk-JMQLTMJ7.js} +53 -5
  80. package/dist/chunk-JMQLTMJ7.js.map +1 -0
  81. package/dist/{chunk-TF7HN5EU.js → chunk-JNE2XEXD.js} +12 -12
  82. package/dist/chunk-JNE2XEXD.js.map +1 -0
  83. package/dist/{chunk-QKR5LWDO.js → chunk-K7CZFNJ2.js} +7 -7
  84. package/dist/{chunk-QKR5LWDO.js.map → chunk-K7CZFNJ2.js.map} +1 -1
  85. package/dist/{chunk-4RPBUMHB.cjs → chunk-KMZO5W6D.cjs} +4 -4
  86. package/dist/chunk-KMZO5W6D.cjs.map +1 -0
  87. package/dist/{chunk-FTZ45WHY.js → chunk-KNCJSPXV.js} +5020 -4014
  88. package/dist/chunk-KNCJSPXV.js.map +1 -0
  89. package/dist/{chunk-3OCNUKGX.js → chunk-KQWC4YBX.js} +3 -3
  90. package/dist/{chunk-3OCNUKGX.js.map → chunk-KQWC4YBX.js.map} +1 -1
  91. package/dist/{chunk-TC3RQNEX.cjs → chunk-L4KWTDFE.cjs} +5 -5
  92. package/dist/chunk-L4KWTDFE.cjs.map +1 -0
  93. package/dist/{chunk-VTTZZ4FN.js → chunk-LH3JAZ33.js} +5 -5
  94. package/dist/chunk-LH3JAZ33.js.map +1 -0
  95. package/dist/{chunk-P2YM67Y5.cjs → chunk-LQYPOWKN.cjs} +14 -21
  96. package/dist/chunk-LQYPOWKN.cjs.map +1 -0
  97. package/dist/{chunk-RATEAOKT.js → chunk-NOXGEQQR.js} +7 -13
  98. package/dist/chunk-NOXGEQQR.js.map +1 -0
  99. package/dist/{chunk-NPLGB4LI.cjs → chunk-NUAC5GTQ.cjs} +5115 -4077
  100. package/dist/chunk-NUAC5GTQ.cjs.map +1 -0
  101. package/dist/chunk-NYECCTB3.js +101 -0
  102. package/dist/chunk-NYECCTB3.js.map +1 -0
  103. package/dist/{chunk-GC2FSPSQ.cjs → chunk-O5E3NKPI.cjs} +128 -58
  104. package/dist/chunk-O5E3NKPI.cjs.map +1 -0
  105. package/dist/{chunk-SZOFGU7W.js → chunk-O5XREO7H.js} +3 -3
  106. package/dist/{chunk-SZOFGU7W.js.map → chunk-O5XREO7H.js.map} +1 -1
  107. package/dist/{chunk-OOU4QLRK.cjs → chunk-OHCYJFV2.cjs} +9 -9
  108. package/dist/{chunk-OOU4QLRK.cjs.map → chunk-OHCYJFV2.cjs.map} +1 -1
  109. package/dist/{chunk-DEPF5LQI.js → chunk-OKRYNQPH.js} +3 -3
  110. package/dist/chunk-OKRYNQPH.js.map +1 -0
  111. package/dist/{chunk-KFMRBZQK.js → chunk-PCL7IEZO.js} +21 -20
  112. package/dist/chunk-PCL7IEZO.js.map +1 -0
  113. package/dist/chunk-RFB7B6XG.cjs +169 -0
  114. package/dist/chunk-RFB7B6XG.cjs.map +1 -0
  115. package/dist/{chunk-SZSJGZSO.js → chunk-SQQU3WRB.js} +714 -5
  116. package/dist/chunk-SQQU3WRB.js.map +1 -0
  117. package/dist/{chunk-OALEDG67.cjs → chunk-TNESYDBR.cjs} +5 -5
  118. package/dist/{chunk-OALEDG67.cjs.map → chunk-TNESYDBR.cjs.map} +1 -1
  119. package/dist/chunk-TTS353W2.js +163 -0
  120. package/dist/chunk-TTS353W2.js.map +1 -0
  121. package/dist/{chunk-CROGFB46.cjs → chunk-U7OUZHBH.cjs} +753 -2
  122. package/dist/chunk-U7OUZHBH.cjs.map +1 -0
  123. package/dist/{chunk-BQ77KSXU.js → chunk-UORU5S7Y.js} +3 -3
  124. package/dist/{chunk-BQ77KSXU.js.map → chunk-UORU5S7Y.js.map} +1 -1
  125. package/dist/{chunk-FYZXDZM7.js → chunk-VFF76GTB.js} +4 -4
  126. package/dist/{chunk-FYZXDZM7.js.map → chunk-VFF76GTB.js.map} +1 -1
  127. package/dist/{chunk-E4H5H2C3.cjs → chunk-VYTK2WJB.cjs} +4 -4
  128. package/dist/{chunk-E4H5H2C3.cjs.map → chunk-VYTK2WJB.cjs.map} +1 -1
  129. package/dist/{chunk-XI37A7HH.js → chunk-WKSP73RU.js} +3 -3
  130. package/dist/{chunk-XI37A7HH.js.map → chunk-WKSP73RU.js.map} +1 -1
  131. package/dist/chunk-WP4VIOOA.cjs +15 -0
  132. package/dist/chunk-WP4VIOOA.cjs.map +1 -0
  133. package/dist/{chunk-YF3QUHKN.cjs → chunk-X3XPXEIM.cjs} +14 -15
  134. package/dist/chunk-X3XPXEIM.cjs.map +1 -0
  135. package/dist/{chunk-VZPFYZZU.cjs → chunk-Z2HEBOA3.cjs} +8 -8
  136. package/dist/{chunk-VZPFYZZU.cjs.map → chunk-Z2HEBOA3.cjs.map} +1 -1
  137. package/dist/{chunk-Q7CQYYZW.cjs → chunk-ZMYW5M75.cjs} +5 -5
  138. package/dist/chunk-ZMYW5M75.cjs.map +1 -0
  139. package/dist/{chunk-7UENVUA6.js → chunk-ZW2AWACP.js} +3 -3
  140. package/dist/{chunk-7UENVUA6.js.map → chunk-ZW2AWACP.js.map} +1 -1
  141. package/dist/citations/index.cjs +10 -10
  142. package/dist/citations/index.js +2 -2
  143. package/dist/collaboration/contacts/contact-form.d.ts +47 -0
  144. package/dist/collaboration/contacts/index.d.ts +3 -1
  145. package/dist/collaboration/contacts/invite-plan.d.ts +46 -0
  146. package/dist/collaboration/contacts/parseEmails.d.ts +7 -0
  147. package/dist/collaboration/index.cjs +163 -83
  148. package/dist/collaboration/index.js +2 -2
  149. package/dist/components/ActionLink.d.ts +1 -1
  150. package/dist/components/TeamGrid.d.ts +1 -1
  151. package/dist/components/editorial/{ProfileCard.d.ts → EditorialProfileCard.d.ts} +2 -2
  152. package/dist/components/editorial/index.d.ts +1 -1
  153. package/dist/connect/docx.cjs +14 -13
  154. package/dist/connect/docx.d.ts +1 -1
  155. package/dist/connect/docx.js +10 -9
  156. package/dist/connect/index.cjs +22097 -14743
  157. package/dist/connect/index.cjs.map +1 -1
  158. package/dist/connect/index.d.ts +11 -7
  159. package/dist/connect/index.js +15203 -7912
  160. package/dist/connect/index.js.map +1 -1
  161. package/dist/connect/viewer.cjs +83 -138
  162. package/dist/connect/viewer.cjs.map +1 -1
  163. package/dist/connect/viewer.d.ts +3 -2
  164. package/dist/connect/viewer.js +25 -82
  165. package/dist/connect/viewer.js.map +1 -1
  166. package/dist/connection/ConnectedSettings.d.ts +3 -2
  167. package/dist/connection/ConnectionProvider.d.ts +5 -4
  168. package/dist/connection/StreamedArtifact.d.ts +1 -1
  169. package/dist/connection/billing/index.d.ts +3 -3
  170. package/dist/connection/billing/support.d.ts +4 -7
  171. package/dist/connection/contacts/ConnectedAddContacts.d.ts +9 -0
  172. package/dist/connection/contacts/ConnectedContactCardForm.d.ts +11 -0
  173. package/dist/connection/contacts/ConnectedContactToggle.d.ts +16 -0
  174. package/dist/connection/contacts/ConnectedContactsDirectory.d.ts +10 -0
  175. package/dist/connection/contacts/ImportVcf.d.ts +29 -0
  176. package/dist/connection/contacts/index.d.ts +5 -0
  177. package/dist/connection/defaultHost.d.ts +9 -0
  178. package/dist/connection/docx/ConnectedNativeDocxEditor.d.ts +3 -3
  179. package/dist/connection/docx/support.d.ts +10 -9
  180. package/dist/connection/files/bulk/ConnectedFilesBulkActions.d.ts +22 -0
  181. package/dist/connection/files/bulk/useDocumentBulkActions.d.ts +19 -0
  182. package/dist/connection/files/explorer/FileTiles.d.ts +6 -3
  183. package/dist/connection/files/fields/ConnectedBulkTagEditor.d.ts +16 -0
  184. package/dist/connection/files/fields/ConnectedFieldsEditor.d.ts +40 -0
  185. package/dist/connection/files/fields/ConnectedFieldsManager.d.ts +33 -0
  186. package/dist/connection/files/fields/ConnectedTagEditorDialog.d.ts +20 -0
  187. package/dist/connection/files/fields/ConnectedTagForm.d.ts +54 -0
  188. package/dist/connection/files/fields/DocumentFieldParts.d.ts +33 -0
  189. package/dist/connection/files/fields/DocumentUser.d.ts +11 -0
  190. package/dist/connection/files/fields/documentField.d.ts +48 -0
  191. package/dist/connection/files/fields/useFieldWrites.d.ts +20 -0
  192. package/dist/connection/files/fields/useFieldsApply.d.ts +49 -0
  193. package/dist/connection/files/fields/useMemberLookup.d.ts +3 -0
  194. package/dist/connection/files/grid/ConnectedTagEntity.d.ts +19 -0
  195. package/dist/connection/files/grid/cells.d.ts +85 -0
  196. package/dist/connection/files/grid/documentColumns.d.ts +66 -0
  197. package/dist/connection/files/grid/documentGridBus.d.ts +48 -0
  198. package/dist/connection/files/grid/documentStatus.d.ts +43 -0
  199. package/dist/connection/files/grid/familyMeta.d.ts +21 -0
  200. package/dist/connection/files/grid/tagColumn.d.ts +23 -0
  201. package/dist/connection/files/grid/useDocumentGridSync.d.ts +48 -0
  202. package/dist/connection/files/grid/useDocumentTable.d.ts +30 -0
  203. package/dist/connection/files/index.d.ts +36 -2
  204. package/dist/connection/files/move/ConnectedMoveToFolder.d.ts +31 -0
  205. package/dist/connection/files/page/ConnectedFilesPage.d.ts +86 -0
  206. package/dist/connection/files/page/DocumentsFilterBarActions.d.ts +39 -0
  207. package/dist/connection/files/page/DocumentsUploadButton.d.ts +25 -0
  208. package/dist/connection/files/page/PersistedGridView.d.ts +6 -0
  209. package/dist/connection/files/page/ProgressiveLoadingChip.d.ts +12 -0
  210. package/dist/connection/files/page/useDocumentNavigation.d.ts +20 -0
  211. package/dist/connection/files/review/ConnectedAiReview.d.ts +40 -0
  212. package/dist/connection/files/review/reviewProgress.d.ts +2 -0
  213. package/dist/connection/files/store.d.ts +96 -0
  214. package/dist/connection/files/useDocumentFilters.d.ts +54 -0
  215. package/dist/connection/files/views/ViewSelector.d.ts +33 -0
  216. package/dist/connection/files/views/tableViews.d.ts +22 -0
  217. package/dist/connection/files/views/useTableViews.d.ts +22 -0
  218. package/dist/connection/mail/ConnectedMailbox.d.ts +2 -2
  219. package/dist/connection/messenger/ChatAttachments.d.ts +15 -0
  220. package/dist/connection/messenger/ConnectedChatThread.d.ts +21 -0
  221. package/dist/connection/messenger/ConnectedGroupMembers.d.ts +20 -0
  222. package/dist/connection/messenger/ConnectedMessenger.d.ts +52 -0
  223. package/dist/connection/messenger/index.d.ts +6 -0
  224. package/dist/connection/messenger/types.d.ts +103 -0
  225. package/dist/connection/messenger/useMessengerRows.d.ts +19 -0
  226. package/dist/connection/tags/ConnectedTagsPage.d.ts +2 -35
  227. package/dist/connection/viewer/ConnectedDocumentToolsProvider.d.ts +19 -2
  228. package/dist/connection/viewer/ConnectedDocumentViewer.d.ts +1 -1
  229. package/dist/connection/viewer/support.d.ts +21 -15
  230. package/dist/connection/workspaceData.d.ts +134 -8
  231. package/dist/facts/index.cjs +3 -3
  232. package/dist/facts/index.js +2 -2
  233. package/dist/files/bulk/BulkActionsBar.d.ts +9 -5
  234. package/dist/files/cells/DocumentNameCell.d.ts +4 -2
  235. package/dist/files/cells/MultiSelectCellEditor.d.ts +13 -0
  236. package/dist/files/cells/RelatedDocsCell.d.ts +2 -1
  237. package/dist/files/cells/index.d.ts +1 -0
  238. package/dist/files/documentColumns.d.ts +15 -0
  239. package/dist/files/folders/DocumentsFolderButton.d.ts +26 -0
  240. package/dist/files/folders/FolderTreePicker.d.ts +16 -0
  241. package/dist/files/folders/index.d.ts +2 -0
  242. package/dist/files/index.cjs +430 -434
  243. package/dist/files/index.d.ts +4 -1
  244. package/dist/files/index.js +5 -5
  245. package/dist/files/navigator/DocumentSearchList.d.ts +19 -0
  246. package/dist/files/navigator/ExplorerFileNavigator.d.ts +23 -0
  247. package/dist/files/navigator/NavDocumentPicker.d.ts +15 -0
  248. package/dist/files/navigator/NavigatorPickerBar.d.ts +26 -0
  249. package/dist/files/navigator/index.d.ts +5 -0
  250. package/dist/files/navigator/types.d.ts +7 -0
  251. package/dist/files/tags/BulkTagEditor.d.ts +2 -1
  252. package/dist/files/tags/index.d.ts +0 -2
  253. package/dist/files/visibility.d.ts +6 -5
  254. package/dist/home/StartTiles.d.ts +1 -1
  255. package/dist/home/index.cjs +30 -30
  256. package/dist/home/index.js +5 -5
  257. package/dist/index.cjs +684 -694
  258. package/dist/index.cjs.map +1 -1
  259. package/dist/index.d.ts +2 -1
  260. package/dist/index.js +22 -134
  261. package/dist/index.js.map +1 -1
  262. package/dist/provider/{BlocksProvider.d.ts → environment.d.ts} +8 -10
  263. package/dist/provider/host.d.ts +44 -0
  264. package/dist/retrieval/index.cjs +4 -4
  265. package/dist/retrieval/index.js +2 -2
  266. package/dist/shell/index.cjs +44 -44
  267. package/dist/shell/index.js +3 -3
  268. package/dist/shell/types.d.ts +1 -1
  269. package/dist/site/index.cjs +61 -61
  270. package/dist/site/index.js +2 -2
  271. package/dist/studio/index.cjs +86 -87
  272. package/dist/studio/index.cjs.map +1 -1
  273. package/dist/studio/index.js +15 -16
  274. package/dist/studio/index.js.map +1 -1
  275. package/dist/workflow-canvas/index.cjs +28 -27
  276. package/dist/workflow-canvas/index.cjs.map +1 -1
  277. package/dist/workflow-canvas/index.js +11 -10
  278. package/dist/workflow-canvas/index.js.map +1 -1
  279. package/dist/workspaces/WorkspaceCard.d.ts +1 -1
  280. package/dist/workspaces/index.cjs +20 -20
  281. package/dist/workspaces/index.js +4 -4
  282. package/node_modules/@arbidocs/coedit/package.json +1 -1
  283. package/package.json +5 -5
  284. package/dist/ConnectedStreamedWordArtifact-CWFR6A37.cjs.map +0 -1
  285. package/dist/FactTextEditor-YESAU2IJ.js.map +0 -1
  286. package/dist/FactTextEditor-YUPBCTXK.cjs.map +0 -1
  287. package/dist/WorkspaceTableView-DWUE4VQF.js.map +0 -1
  288. package/dist/WorkspaceTableView-EYLEUZZT.cjs.map +0 -1
  289. package/dist/chunk-2BHDRVVL.cjs.map +0 -1
  290. package/dist/chunk-3VULDTNL.cjs.map +0 -1
  291. package/dist/chunk-4RPBUMHB.cjs.map +0 -1
  292. package/dist/chunk-5ZIYPZYE.js +0 -2748
  293. package/dist/chunk-5ZIYPZYE.js.map +0 -1
  294. package/dist/chunk-6I6CVX5G.cjs +0 -22
  295. package/dist/chunk-6I6CVX5G.cjs.map +0 -1
  296. package/dist/chunk-7NL6WJER.cjs +0 -682
  297. package/dist/chunk-7NL6WJER.cjs.map +0 -1
  298. package/dist/chunk-CB4TIDEX.cjs +0 -54
  299. package/dist/chunk-CB4TIDEX.cjs.map +0 -1
  300. package/dist/chunk-CNHUJRQ4.cjs.map +0 -1
  301. package/dist/chunk-CROGFB46.cjs.map +0 -1
  302. package/dist/chunk-DEPF5LQI.js.map +0 -1
  303. package/dist/chunk-ETZ5A3GU.js.map +0 -1
  304. package/dist/chunk-EYJMMGXF.js +0 -19
  305. package/dist/chunk-EYJMMGXF.js.map +0 -1
  306. package/dist/chunk-F57LNUSZ.js.map +0 -1
  307. package/dist/chunk-FAXXN7KI.cjs.map +0 -1
  308. package/dist/chunk-FM3IRQJW.cjs.map +0 -1
  309. package/dist/chunk-FTZ45WHY.js.map +0 -1
  310. package/dist/chunk-GC2FSPSQ.cjs.map +0 -1
  311. package/dist/chunk-KDLX5AA7.js +0 -49
  312. package/dist/chunk-KDLX5AA7.js.map +0 -1
  313. package/dist/chunk-KFMRBZQK.js.map +0 -1
  314. package/dist/chunk-MNG7N6M2.js.map +0 -1
  315. package/dist/chunk-NPLGB4LI.cjs.map +0 -1
  316. package/dist/chunk-P2YM67Y5.cjs.map +0 -1
  317. package/dist/chunk-P6RIBIVN.js.map +0 -1
  318. package/dist/chunk-Q7CQYYZW.cjs.map +0 -1
  319. package/dist/chunk-QJFJ5JBF.cjs +0 -2838
  320. package/dist/chunk-QJFJ5JBF.cjs.map +0 -1
  321. package/dist/chunk-RATEAOKT.js.map +0 -1
  322. package/dist/chunk-SDOEHEJP.js.map +0 -1
  323. package/dist/chunk-SZSJGZSO.js.map +0 -1
  324. package/dist/chunk-TC3RQNEX.cjs.map +0 -1
  325. package/dist/chunk-TF7HN5EU.js.map +0 -1
  326. package/dist/chunk-VF5EUAIV.js.map +0 -1
  327. package/dist/chunk-VTTZZ4FN.js.map +0 -1
  328. package/dist/chunk-WK6FVIF7.js +0 -654
  329. package/dist/chunk-WK6FVIF7.js.map +0 -1
  330. package/dist/chunk-YF3QUHKN.cjs.map +0 -1
  331. package/dist/connection/ArbiAppProvider.d.ts +0 -16
  332. package/dist/connection/files/support.d.ts +0 -40
  333. package/dist/files/tags/DocTagPopover.d.ts +0 -113
  334. package/dist/files/tags/TagManager.d.ts +0 -54
@@ -8,8 +8,9 @@
8
8
  * deletion, the password policy) is a prop.
9
9
  *
10
10
  * The hooks talk to the account client in scope (`useAccountClient` from `@arbidocs/react`):
11
- * `ConnectionProvider` provides one over the SDK; a host with its own session and API client
12
- * mounts its own `AccountClientProvider` (as ARBI-frontend does), and these sections work alike.
11
+ * `defaultHost`'s sign-in layer gives one over the SDK; a host with its own session and API
12
+ * client gives its own as its host config's `account` (as ARBI-frontend does), and these sections
13
+ * work alike.
13
14
  */
14
15
  import { type ReactNode } from 'react';
15
16
  import { type IdentityStatus } from '@arbidocs/react/ui';
@@ -50,8 +50,9 @@ export declare const workspaceStorageKey: (apiUrl: string, userKey: string) => s
50
50
  /** Shown on the sign-in screen after the session could not be recovered. */
51
51
  export declare const SESSION_EXPIRED_MESSAGE = "Your session expired. Sign in again.";
52
52
  /**
53
- * The connection, over the session state of the host (an `ArbiSessionStateProvider` above), else
54
- * its own: the selected workspace lives there, so every block reads one value.
53
+ * The sign-in layer of a blocks-only site, mounted by its host (`defaultHost`): login, demo mode
54
+ * and the selected workspace, over the host's session state (the selected workspace lives there,
55
+ * so every block reads one value). Its account client is the host's `account` below it.
55
56
  */
56
57
  export declare function ConnectionProvider({ config, children, }: {
57
58
  config: ArbiConnectionConfig;
@@ -80,8 +81,8 @@ export interface ConnectedWorkspace {
80
81
  }) => Promise<void>;
81
82
  }
82
83
  /**
83
- * The workspace for a connected kit: the `ConnectionProvider`'s when there is one, else the host's
84
- * own session (an app that mounts `ArbiProvider` and `ArbiSessionStateProvider` and keeps its
84
+ * The workspace for a connected kit: the sign-in layer's (`defaultHost`) when there is one, else the
85
+ * host's own session (an app whose host config has its `arbi` and `session` and keeps its
85
86
  * workspace open itself). So a kit runs the same in Clarum and in the ARBI app.
86
87
  */
87
88
  export declare function useConnectedWorkspace(): ConnectedWorkspace;
@@ -31,7 +31,7 @@ export interface StreamedArtifactProps extends Pick<UseStreamedArtifactOptions,
31
31
  * with track changes) when its text is ready;
32
32
  * 4. an error with Retry when storing or parsing fails.
33
33
  *
34
- * Needs `<ArbiProvider>` + React Query. The host imports the editor stylesheet
34
+ * Needs an `<ArbiHost>` with an `arbi` + React Query. The host imports the editor stylesheet
35
35
  * (`@mdxeditor/editor/style.css`) and defines the global `Prism` in a module it imports at app
36
36
  * start (see the Artifacts section of docs/design/blocks-package.md).
37
37
  *
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * The billing kit: a host's projects (plan, usage, add-ons, invoices), the plan picker and checkout,
3
- * new projects, and the projects shared with the user. Stripe stays the host's
4
- * (`BillingSupportProvider`); without it projects show their limits and usage only.
3
+ * new projects, and the projects shared with the user. Stripe stays the host's (the host
4
+ * configuration's `billing`); without it projects show their limits and usage only.
5
5
  */
6
- export { BillingSupportProvider, useBillingSupport, type BillingSupport, type BillingCheckoutSupport, } from './support';
6
+ export { useBillingSupport, type BillingSupport, type BillingCheckoutSupport } from './support';
7
7
  export { requestProjectBillingFocus, useProjectBillingFocus, type ProjectBillingFocus, } from './billing-focus';
8
8
  export { ProjectsTable } from './ProjectsTable';
9
9
  export { SharedProjects } from './SharedProjects';
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * What a host adds to the billing kit. Selling plans needs Stripe, which stays the host's: whether
3
- * this deployment sells plans (a publishable key is configured), and its embedded checkout. Without
4
- * a `BillingSupportProvider` nothing is for sale: projects show their limits and usage only.
3
+ * this deployment sells plans (a publishable key is configured), and its embedded checkout. It is the
4
+ * host configuration's `billing`; without it nothing is for sale: projects show their limits and
5
+ * usage only.
5
6
  */
6
- import { type ReactNode } from 'react';
7
+ import type { ReactNode } from 'react';
7
8
  export interface BillingCheckoutSupport {
8
9
  /** Load the host's Stripe (lazily, when a checkout opens); `null` when it cannot. */
9
10
  load(): Promise<unknown> | null;
@@ -26,10 +27,6 @@ export interface BillingSupport {
26
27
  storage: number;
27
28
  }) => void;
28
29
  }
29
- export declare function BillingSupportProvider({ value, children, }: {
30
- value: BillingSupport;
31
- children: ReactNode;
32
- }): import("react").JSX.Element;
33
30
  export declare function useBillingSupport(): BillingSupport;
34
31
  /** The signed-in user's id (`usr-…`), to tell the projects they own from the others. */
35
32
  export declare function useSelfExtId(): string | undefined;
@@ -0,0 +1,9 @@
1
+ export interface ConnectedAddContactsProps {
2
+ /** After a submit (also when nothing needed sending). */
3
+ onSuccess?: () => void;
4
+ onClose?: () => void;
5
+ initialEmail?: string;
6
+ /** Formatted referral reward ("£20"); omit to hide the banner. */
7
+ rewardAmount?: string;
8
+ }
9
+ export declare function ConnectedAddContacts({ onSuccess, onClose, initialEmail, rewardAmount, }: ConnectedAddContactsProps): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { type contacts } from '@arbidocs/sdk/browser';
2
+ type Contact = contacts.Contact;
3
+ export interface ConnectedContactCardFormProps {
4
+ /** The contact to edit; omitted or null for a new one. */
5
+ contact?: Contact | null;
6
+ onDone: () => void;
7
+ /** Open another contact (the one that already has an address this card uses). */
8
+ onOpenContact?: (contactId: string) => void;
9
+ }
10
+ export declare function ConnectedContactCardForm({ contact, onDone, onOpenContact, }: ConnectedContactCardFormProps): import("react").JSX.Element;
11
+ export {};
@@ -0,0 +1,16 @@
1
+ interface ToggleUser {
2
+ external_id: string;
3
+ email: string;
4
+ given_name: string;
5
+ family_name?: string | null;
6
+ }
7
+ export interface ConnectedContactToggleProps {
8
+ /** The person (a registered user) OR just an e-mail address (a pending invitation). */
9
+ user?: ToggleUser;
10
+ email?: string;
11
+ /** False when nested inside another tooltip. */
12
+ showTooltip?: boolean;
13
+ 'data-testid'?: string;
14
+ }
15
+ export declare function ConnectedContactToggle({ user, email, showTooltip, 'data-testid': dataTestId, }: ConnectedContactToggleProps): import("react").JSX.Element | null;
16
+ export {};
@@ -0,0 +1,10 @@
1
+ export interface ConnectedContactsDirectoryProps {
2
+ className?: string;
3
+ /** Message a registered contact (by account id). Omitted: no message button. */
4
+ onMessage?: (userId: string) => void;
5
+ /** Invite people by e-mail (the empty state's second action). Omitted: not offered. */
6
+ onInviteByEmail?: () => void;
7
+ /** Show the plans, from the .vcf import's Pro notice. Omitted: no "See plans". */
8
+ onSeePlans?: () => void;
9
+ }
10
+ export declare function ConnectedContactsDirectory({ className, onMessage, onInviteByEmail, onSeePlans, }: ConnectedContactsDirectoryProps): import("react").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { type contacts } from '@arbidocs/sdk/browser';
2
+ type ContactImportResult = contacts.ContactImportResult;
3
+ export type FileOutcome = {
4
+ file: string;
5
+ result: ContactImportResult;
6
+ } | {
7
+ file: string;
8
+ error: string;
9
+ };
10
+ export type ImportState = {
11
+ kind: 'upgrade';
12
+ } | {
13
+ kind: 'running';
14
+ done: FileOutcome[];
15
+ pending: number;
16
+ } | {
17
+ kind: 'done';
18
+ done: FileOutcome[];
19
+ };
20
+ export declare function ImportVcfButton({ onState }: {
21
+ onState: (state: ImportState) => void;
22
+ }): import("react").JSX.Element;
23
+ export declare function ImportVcfSummary({ state, onClose, onSeePlans, }: {
24
+ state: ImportState;
25
+ onClose: () => void;
26
+ /** Show the plans (Pro). Omitted: no "See plans" button. */
27
+ onSeePlans?: () => void;
28
+ }): import("react").JSX.Element;
29
+ export {};
@@ -0,0 +1,5 @@
1
+ export { ConnectedContactsDirectory, type ConnectedContactsDirectoryProps, } from './ConnectedContactsDirectory';
2
+ export { ConnectedContactCardForm, type ConnectedContactCardFormProps, } from './ConnectedContactCardForm';
3
+ export { ImportVcfButton, ImportVcfSummary, type ImportState, type FileOutcome } from './ImportVcf';
4
+ export { ConnectedAddContacts, type ConnectedAddContactsProps } from './ConnectedAddContacts';
5
+ export { ConnectedContactToggle, type ConnectedContactToggleProps } from './ConnectedContactToggle';
@@ -0,0 +1,9 @@
1
+ import { QueryClient } from '@tanstack/react-query';
2
+ import type { ArbiHostConfig } from '../provider/host';
3
+ import type { ArbiConnectionConfig } from './types';
4
+ export interface DefaultHostOptions {
5
+ /** The React Query client the kits share. Default: a new one. */
6
+ queryClient?: QueryClient;
7
+ }
8
+ /** `arbi` and the sign-in layer (`connection`) for `<ArbiHost config>`. Call it once per site. */
9
+ export declare function defaultHost(config: ArbiConnectionConfig, { queryClient }?: DefaultHostOptions): Pick<ArbiHostConfig, 'arbi' | 'connection'>;
@@ -3,14 +3,14 @@ export type ConnectedNativeDocxEditorProps = Omit<NativeDocxEditorProps, 'adapte
3
3
  fontBaseUrl?: string;
4
4
  };
5
5
  /**
6
- * The native Word editor on the signed-in ARBI session, under any host (a `ConnectionProvider`, or
7
- * the host's own `ArbiProvider` + session state). Until a live session has opened, a failure to
6
+ * The native Word editor on the signed-in ARBI session, under any host (`defaultHost`'s sign-in
7
+ * layer, or the host's own `arbi` and session state). Until a live session has opened, a failure to
8
8
  * open one falls back to the saved copy, read-only, so the document is still readable; later token
9
9
  * refreshes are not guarded (switching modes would drop unsaved edits).
10
10
  */
11
11
  export declare function ConnectedNativeDocxEditor({ fontBaseUrl, ...props }: ConnectedNativeDocxEditorProps): import("react").JSX.Element;
12
12
  /**
13
13
  * The native Word adapter on the signed-in session: the editor transport, the people to mention,
14
- * cross-references, the house template, and the host's extras (`NativeDocxSupportProvider`).
14
+ * cross-references, the house template, and the host's extras (its host config's `docx`).
15
15
  */
16
16
  export declare function useConnectedNativeDocxAdapter(fontBaseUrl?: string): NativeDocxAdapter;
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * What a host adds to the connected Word editor that the platform API alone cannot give: the
3
3
  * workspace's definitions (facts labelled "Definitions"), image generation (an assistant run), the
4
- * host's leave-page guard, and a comment to open the editor at. Every field is optional; without a
5
- * provider the editor simply offers less (no Defined term, no Generate image).
4
+ * host's leave-page guard, and a comment to open the editor at. It is the host configuration's
5
+ * `docx`; every field is optional, and without one the editor simply offers less (no Defined term,
6
+ * no Generate image).
6
7
  */
7
- import { type ReactNode } from 'react';
8
8
  import type { DefinitionSource } from '../../tags/definitions';
9
9
  import type { DocxImageGeneration } from '../../docx/layout/GenerateImage';
10
10
  export interface NativeDocxSupport {
@@ -14,14 +14,15 @@ export interface NativeDocxSupport {
14
14
  imageGeneration?: DocxImageGeneration;
15
15
  /** The open editor has (or no longer has) unsaved changes. */
16
16
  onDirtyChange?: (dirty: boolean) => void;
17
- /** A comment thread to open when its document opens (a notification's link). */
18
- commentTarget?: {
17
+ /** A comment thread to open when its document opens (a notification's link), as a hook. */
18
+ useCommentTarget?: () => {
19
19
  documentId: string;
20
20
  commentId: string;
21
21
  } | null;
22
22
  }
23
- export declare function NativeDocxSupportProvider({ value, children, }: {
24
- value: NativeDocxSupport;
25
- children: ReactNode;
26
- }): import("react").JSX.Element;
27
23
  export declare function useNativeDocxSupport(): NativeDocxSupport;
24
+ /** The comment thread to open with its document (none without the host's). */
25
+ export declare function useDocxCommentTarget(): {
26
+ documentId: string;
27
+ commentId: string;
28
+ } | null;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * The floating bar of the selected documents: chat about them, fill AI fields, label, share or make
3
+ * private, move, export, produce, reprocess, keep offline, delete. Deleting, reprocessing and
4
+ * hiding from the members ask first. Moving, exporting and producing open the host's dialogs; the
5
+ * rest is written here. An action the host has no part for is left out.
6
+ */
7
+ import { type WorkspaceDocument } from '@arbidocs/react';
8
+ export interface ConnectedFilesBulkActionsProps<D extends WorkspaceDocument> {
9
+ selectedDocuments: D[];
10
+ onClearSelection: () => void;
11
+ /** The viewer may change documents here (members get the editing actions). */
12
+ isMember: boolean;
13
+ /** Review the selection one by one. Absent: not offered. */
14
+ onReview?: () => void;
15
+ /** Open the host's folder picker for the selection. */
16
+ onMoveToFolder: () => void;
17
+ /** Open the host's export dialog for the selection. */
18
+ onExport: () => void;
19
+ /** Open the host's production (Bates numbering) dialog. Absent: not offered. */
20
+ onProduce?: () => void;
21
+ }
22
+ export declare function ConnectedFilesBulkActions<D extends WorkspaceDocument>({ selectedDocuments, onClearSelection, isMember, onReview, onMoveToFolder, onExport, onProduce, }: ConnectedFilesBulkActionsProps<D>): import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * What the bulk bar does to the selected documents, written through `@arbidocs/react` and told
3
+ * through the environment: share or make private, delete, reprocess (under the settings in force
4
+ * now, at most 100 at a time). The selection is read fresh from the cache, so a document shared a
5
+ * moment ago counts as shared.
6
+ */
7
+ import { type WorkspaceDocument } from '@arbidocs/react';
8
+ /**
9
+ * The most documents one reprocess takes: it re-runs parsing and indexing on each, so a batch is
10
+ * capped to keep the workers' queues predictable.
11
+ */
12
+ export declare const BULK_REPROCESS_LIMIT = 100;
13
+ export declare function useDocumentBulkActions<D extends WorkspaceDocument>(selectedDocuments: D[]): {
14
+ freshSelectedDocuments: D[];
15
+ share: () => Promise<void>;
16
+ makePrivate: () => Promise<void>;
17
+ remove: () => Promise<void>;
18
+ reprocess: () => Promise<void>;
19
+ };
@@ -5,10 +5,9 @@
5
5
  * document pill, the mail handoff and the member / label lookups. `FileTile` is a draggable
6
6
  * document, `FolderTile` a droppable folder (separate components so the dnd hooks always run).
7
7
  */
8
- import { type WorkspaceDocument } from '@arbidocs/react';
8
+ import { type DocumentHostActions, type DocumentStartItem, type WorkspaceDocument } from '@arbidocs/react';
9
9
  import { type ExplorerDensity, type ExplorerMenuItem } from '../../../files/ExplorerTile';
10
10
  import { type ExplorerFolder } from '../../../files/folders';
11
- import { type FilesStartItem } from '../support';
12
11
  export type { ExplorerDensity };
13
12
  /** A workspace member as a tile shows them (avatar and name). */
14
13
  export interface FileTileUser {
@@ -31,7 +30,7 @@ export declare function FileTooltipContent({ doc, modifiedBy, tagNameById, }: {
31
30
  tagNameById: ReadonlyMap<string, string>;
32
31
  }): import("react").JSX.Element;
33
32
  /** The "Start…" submenu: one entry per thing the host can start on the file or folder. */
34
- export declare function startMenuItem(items: readonly FilesStartItem[]): ExplorerMenuItem[];
33
+ export declare function startMenuItem(items: readonly DocumentStartItem[]): ExplorerMenuItem[];
35
34
  interface FileTileProps {
36
35
  doc: FileTileDocument;
37
36
  density: ExplorerDensity;
@@ -61,6 +60,8 @@ interface FileTileProps {
61
60
  onDownload: (doc: FileTileDocument) => void;
62
61
  onMove?: (doc: FileTileDocument) => void;
63
62
  onDelete: (doc: FileTileDocument) => void;
63
+ /** The host's actions on documents (read once by the view). */
64
+ actions?: DocumentHostActions;
64
65
  }
65
66
  export declare const FileTile: import("react").NamedExoticComponent<FileTileProps>;
66
67
  interface FolderTileProps {
@@ -83,5 +84,7 @@ interface FolderTileProps {
83
84
  onDownload?: (folder: ExplorerFolder) => void;
84
85
  onMove?: (folder: ExplorerFolder) => void;
85
86
  onDelete?: (folder: ExplorerFolder) => void;
87
+ /** The host's actions on documents (read once by the view). */
88
+ actions?: DocumentHostActions;
86
89
  }
87
90
  export declare const FolderTile: import("react").NamedExoticComponent<FolderTileProps>;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Edit the labels and annotations of several documents at once: tick or untick a label, set or
3
+ * clear a value, with each tag's mixed state shown and a confirmation before values are
4
+ * overwritten or removed. AI fields can be generated for the selection, choosing which existing
5
+ * values to replace first.
6
+ */
7
+ import { type ReactNode } from 'react';
8
+ import { type WorkspaceDocument } from '@arbidocs/react';
9
+ export interface ConnectedBulkTagEditorProps {
10
+ selectedDocuments: WorkspaceDocument[];
11
+ open: boolean;
12
+ onClose: () => void;
13
+ /** Where this is (workspace / page), before the title. */
14
+ breadcrumb?: ReactNode;
15
+ }
16
+ export declare function ConnectedBulkTagEditor({ selectedDocuments, open, onClose, breadcrumb, }: ConnectedBulkTagEditorProps): import("react").JSX.Element;
@@ -0,0 +1,40 @@
1
+ /**
2
+ * One group of the workspace's tags (labels, or annotations) as a list to manage: create, edit,
3
+ * rename and share them, find and sort them, tick some and put them on the target (documents, or
4
+ * the host's items such as the selected facts), take them off it, delete or export them.
5
+ */
6
+ import { type ReactNode } from 'react';
7
+ import { type TagGroup, type TagResponse } from '@arbidocs/sdk/browser';
8
+ import { type AppliedAiFields, type FieldsTarget } from './useFieldsApply';
9
+ /** The host's export of the checked tags to another workspace. */
10
+ export type FieldsExportSlot = (props: {
11
+ open: boolean;
12
+ onOpenChange: (open: boolean) => void;
13
+ items: {
14
+ extId: string;
15
+ label: string;
16
+ }[];
17
+ }) => ReactNode;
18
+ export interface ConnectedFieldsEditorProps {
19
+ /** The group listed (labels or annotations): the form and the wording follow it. */
20
+ group?: TagGroup;
21
+ /** The group's tags. */
22
+ tags: TagResponse[];
23
+ /** The documents Apply / Clear act on (without a `target`). */
24
+ documentIds?: string[];
25
+ /** The documents are the one under review: the wording says so. */
26
+ reviewing?: boolean;
27
+ /** Apply / Clear act on the host's items instead of documents. */
28
+ target?: FieldsTarget;
29
+ /** Opens the form for a new tag while above 0 (a counter, so each request opens it again). */
30
+ createRequest?: number;
31
+ /** The request was answered: the form was cancelled or a tag was created. */
32
+ onCreateRequestDone?: () => void;
33
+ /** A new annotation was created (e.g. show it as a column). */
34
+ onAnnotationCreated?: (tagId: string) => void;
35
+ /** AI fields were applied to documents (e.g. show their values). Absent: a message says so. */
36
+ onAiFieldsApplied?: (result: AppliedAiFields) => void;
37
+ /** Export the checked tags. Absent: not offered. */
38
+ renderExport?: FieldsExportSlot;
39
+ }
40
+ export declare function ConnectedFieldsEditor({ group: kind, tags, documentIds, reviewing, target, createRequest, onCreateRequestDone, onAnnotationCreated, onAiFieldsApplied, renderExport, }: ConnectedFieldsEditorProps): import("react").JSX.Element;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The workspace's labels and annotations, in the two groups a user thinks in (the server keeps one
3
+ * tags table; every kind is on the Tags page):
4
+ * - **Labels**: short names that file documents and facts (checkboxes).
5
+ * - **Annotations**: per-document values (text, choice, number, date), optionally AI-filled, each
6
+ * a Files table column.
7
+ * Each tab is a `ConnectedFieldsEditor` of its group. The host places it: inside its floating panel
8
+ * (with the panel's mode switcher), or as a dialog over another dialog.
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ import { type TagGroup } from '@arbidocs/sdk/browser';
12
+ import { type ConnectedFieldsEditorProps } from './ConnectedFieldsEditor';
13
+ export interface ConnectedFieldsManagerProps extends Omit<ConnectedFieldsEditorProps, 'group' | 'tags'> {
14
+ /** The tab shown. */
15
+ kind: TagGroup;
16
+ onKindChange: (kind: TagGroup) => void;
17
+ /** Only the Labels tab, for items that carry no annotations (facts). */
18
+ labelsOnly?: boolean;
19
+ /**
20
+ * Whose labels are listed. A label used on documents and one used on facts are different
21
+ * vocabularies to the reader, so each side lists its own; a label used nowhere yet is in both
22
+ * (else it would vanish from the panel that just created it).
23
+ */
24
+ scope?: 'document' | 'fact';
25
+ /** In the host's floating panel: its mode switcher (and close), shown beside the tabs. */
26
+ modeSwitcher?: ReactNode;
27
+ /** As a dialog instead (e.g. over another dialog). */
28
+ dialog?: {
29
+ open: boolean;
30
+ onClose: () => void;
31
+ };
32
+ }
33
+ export declare function ConnectedFieldsManager({ kind, onKindChange, labelsOnly, scope, modeSwitcher, dialog, ...editorProps }: ConnectedFieldsManagerProps): import("react").JSX.Element;
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Create or edit a tag of any kind (the tag form without a Fields panel group): name, kind, format
3
+ * and options for an annotation, AI instruction, the tag it is nested under, sharing. The server's
4
+ * reason for refusing a change (a format change values already set would not fit) stays on screen
5
+ * with the form.
6
+ */
7
+ import { type TagKind, type TagResponse } from '@arbidocs/sdk/browser';
8
+ export interface ConnectedTagEditorDialogProps {
9
+ open: boolean;
10
+ onOpenChange: (open: boolean) => void;
11
+ /** The tag to edit; absent: a new tag. */
12
+ tag?: TagResponse;
13
+ /** The kind a new tag starts as. */
14
+ defaultKind?: TagKind;
15
+ /** The workspace's tags (the "Nested under" choices). */
16
+ tags: TagResponse[];
17
+ /** Called with the new tag's id and kind once created. */
18
+ onCreated?: (tagId: string, kind: TagKind) => void;
19
+ }
20
+ export declare function ConnectedTagEditorDialog({ open, onOpenChange, tag, defaultKind, tags, onCreated, }: ConnectedTagEditorDialogProps): import("react").JSX.Element;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * The form that creates or edits a tag: its name, kind, an annotation's value type and options, the
3
+ * AI instruction, the tag it is nested under, and (on create) whether it is shared. Used inline by
4
+ * the fields editor and in the tag editor dialog. It reports what was entered; the caller writes it.
5
+ */
6
+ import { type TagGroup, type TagKind, type TagResponse } from '@arbidocs/sdk/browser';
7
+ export type TagFormat = TagResponse['tag_type'];
8
+ /** A new tag, as entered. */
9
+ export interface TagCreateData {
10
+ name: string;
11
+ tag_type: TagFormat;
12
+ kind: TagKind;
13
+ shared: boolean;
14
+ instruction?: string | null;
15
+ /** The tag it is nested under, or null for the top level. */
16
+ parent_ext_id?: string | null;
17
+ }
18
+ /** A changed tag, as entered. */
19
+ export interface TagUpdateData {
20
+ name: string;
21
+ tag_type?: TagFormat;
22
+ /** Present only when the kind changes. */
23
+ kind?: TagKind;
24
+ shared: boolean;
25
+ instruction?: string | null;
26
+ /** The tag it is nested under. Never null: see `canClearParent`. */
27
+ parent_ext_id?: string | null;
28
+ }
29
+ export interface ConnectedTagFormProps {
30
+ /** The tag to edit; absent: a new tag. */
31
+ tag?: TagResponse;
32
+ /**
33
+ * The workspace's other tags, for the "Nested under" picker. Absent: no picker (quick-create
34
+ * surfaces stay flat).
35
+ */
36
+ availableTags?: TagResponse[];
37
+ /** Called with a new tag. */
38
+ onSave?: (data: TagCreateData) => void;
39
+ /** Called with an edited tag. */
40
+ onUpdate?: (tagId: string, data: TagUpdateData) => void;
41
+ onCancel: () => void;
42
+ /** Focus the name on mount. */
43
+ autoFocus?: boolean;
44
+ /**
45
+ * Which group of the Fields panel this form creates or edits. `label`: a label (a checkbox, no AI
46
+ * instruction). `annotation`: picks among the value formats. Absent: the mixed form, every kind.
47
+ */
48
+ group?: TagGroup;
49
+ /** The kind a new tag starts as (without a group); default an annotation. */
50
+ defaultKind?: TagKind;
51
+ /** Name the tag after its kind ("Person Name") rather than as a document field ("Field Name"). */
52
+ nameByKind?: boolean;
53
+ }
54
+ export declare function ConnectedTagForm({ tag, availableTags, onSave, onUpdate, onCancel, autoFocus, group, defaultKind, nameByKind, }: ConnectedTagFormProps): import("react").JSX.Element;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * The parts of the review form's fields: the folder picker, the related documents, who last set a
3
+ * value, and the labels picker.
4
+ */
5
+ import type { TagResponse } from '@arbidocs/sdk/browser';
6
+ import { type RelatedDocs, type WorkspaceDocument } from '@arbidocs/react';
7
+ type DocTag = NonNullable<WorkspaceDocument['doctags']>[number];
8
+ /** The workspace's folders to move the document to. */
9
+ export declare function FolderPicker({ documents, value, onSelect, }: {
10
+ documents: WorkspaceDocument[];
11
+ value: string | null | undefined;
12
+ onSelect: (folder: string | null) => void;
13
+ }): import("react").JSX.Element;
14
+ /** The related documents, the one open in the viewer marked. */
15
+ export declare function RelatedDocuments({ doc, related, onOpen, onDelete, onCompare, }: {
16
+ doc: WorkspaceDocument;
17
+ related: RelatedDocs<WorkspaceDocument>;
18
+ onOpen?: (docId: string) => void;
19
+ onDelete?: (docId: string) => void;
20
+ onCompare?: (docId: string, otherDocId: string) => void;
21
+ }): import("react").JSX.Element;
22
+ /** Who last set a value, and when: shown on hover. */
23
+ export declare function DocTagAttribution({ doctag }: {
24
+ doctag: DocTag;
25
+ }): import("react").JSX.Element | null;
26
+ /** The labels as a picker: toggle one, or create one by name and apply it. */
27
+ export declare function LabelsCombobox({ labelTags, appliedTagIds, onToggle, onCreateAndApply, }: {
28
+ labelTags: TagResponse[];
29
+ appliedTagIds: ReadonlySet<string>;
30
+ onToggle: (tag: TagResponse) => void;
31
+ onCreateAndApply?: (name: string) => void;
32
+ }): import("react").JSX.Element;
33
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * A person by a document or a field (who made a document, a field, a value): the host's own
3
+ * rendering when it has one (`DocumentsSupport.renderUser`: presence, their card), else the kit's
4
+ * avatar, which opens them when the host can.
5
+ */
6
+ import { type DocumentPerson } from '@arbidocs/react';
7
+ export declare function DocumentUser({ user, tooltip, }: {
8
+ user: DocumentPerson | undefined;
9
+ /** Whether hovering shows their card (the host's rendering). */
10
+ tooltip?: boolean;
11
+ }): import("react").JSX.Element;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * One field of a document as the review form shows it (a column of the documents table, one per
3
+ * row): its label, icon and the value, editable where the table's column is. Standard fields,
4
+ * metadata, the folder, related documents, the labels and each annotation (with who last set it).
5
+ */
6
+ import type { ElementType, ReactNode } from 'react';
7
+ import { type TagResponse } from '@arbidocs/sdk/browser';
8
+ import type { DocumentPerson, RelatedDocs, WorkspaceDocument } from '@arbidocs/react';
9
+ type DocTag = NonNullable<WorkspaceDocument['doctags']>[number];
10
+ export type DocTagCitations = NonNullable<DocTag['citations']> | null;
11
+ /** A field as the form lays it out. */
12
+ export interface DocumentFieldContent {
13
+ label: string;
14
+ icon?: ReactNode;
15
+ /** The annotation the field is (its pill is shown as the label). */
16
+ tag?: TagResponse;
17
+ children: ReactNode;
18
+ }
19
+ export interface DocumentFieldOptions {
20
+ /** The column (a standard field's id, or an annotation's tag id). */
21
+ columnId: string;
22
+ doc: WorkspaceDocument;
23
+ canEdit: boolean;
24
+ workspaceTags: TagResponse[];
25
+ /** The workspace's documents (the folders to pick from). */
26
+ allDocuments?: WorkspaceDocument[];
27
+ /** Who uploaded the document. */
28
+ creator?: DocumentPerson;
29
+ getColumnLabel: (colId: string) => string;
30
+ getColumnIcon: (colId: string) => ElementType | undefined;
31
+ isColumnEditable: (colId: string) => boolean;
32
+ onUpdateDocumentField: (field: string, value: unknown) => void;
33
+ onUpdateTagValue: (tag: TagResponse, value: string | boolean) => void;
34
+ onUpdateTagWithCitations: (tag: TagResponse, note: string, citations: DocTagCitations) => void;
35
+ /** Create a label and apply it (the labels picker). Absent: the picker only toggles. */
36
+ onCreateAndApplyLabel?: (name: string) => void;
37
+ /** The document's related documents (email family, copies, duplicates, similar). */
38
+ relatedDocs?: RelatedDocs<WorkspaceDocument>;
39
+ /** Open a related document. */
40
+ onOpenDocument?: (docId: string) => void;
41
+ /** Delete a related document (asks first). */
42
+ onDeleteDocument?: (docId: string) => void;
43
+ /** Compare with a similar document. Absent: not offered. */
44
+ onCompareDocuments?: (docId: string, otherDocId: string) => void;
45
+ }
46
+ /** The field of `columnId`, or null when the document has none to show there. */
47
+ export declare function documentFieldContent(options: DocumentFieldOptions): DocumentFieldContent | null;
48
+ export {};
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The fields editor's writes on the tags themselves: create, edit, rename, share, and delete the
3
+ * checked ones after one confirmation. Each says how it went.
4
+ */
5
+ import { type TagResponse } from '@arbidocs/sdk/browser';
6
+ import type { TagCreateData, TagUpdateData } from './ConnectedTagForm';
7
+ export declare function useFieldWrites({ tags, nouns, }: {
8
+ /** The tags the editor lists. */
9
+ tags: TagResponse[];
10
+ nouns: {
11
+ singular: string;
12
+ plural: string;
13
+ };
14
+ }): {
15
+ create: (data: TagCreateData) => Promise<string | null>;
16
+ update: (tagId: string, data: TagUpdateData) => void;
17
+ rename: (tag: TagResponse, name: string) => Promise<void>;
18
+ toggleShared: (tag: TagResponse) => Promise<void>;
19
+ removeMany: (tagIds: string[]) => Promise<void>;
20
+ };