@arbidocs/blocks 0.4.146 → 0.4.150

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 (357) hide show
  1. package/dist/ConnectedNativeDocxComparison-3XQSINPQ.cjs +44 -0
  2. package/dist/ConnectedNativeDocxComparison-3XQSINPQ.cjs.map +1 -0
  3. package/dist/ConnectedNativeDocxComparison-XQSXVGHR.js +35 -0
  4. package/dist/ConnectedNativeDocxComparison-XQSXVGHR.js.map +1 -0
  5. package/dist/ConnectedNativeDocxEditor-IPEZDERL.js +33 -0
  6. package/dist/ConnectedNativeDocxEditor-IPEZDERL.js.map +1 -0
  7. package/dist/ConnectedNativeDocxEditor-OUWFMIPH.cjs +46 -0
  8. package/dist/ConnectedNativeDocxEditor-OUWFMIPH.cjs.map +1 -0
  9. package/dist/ConnectedStreamedWordArtifact-D5LSMDO4.cjs +44 -0
  10. package/dist/ConnectedStreamedWordArtifact-D5LSMDO4.cjs.map +1 -0
  11. package/dist/ConnectedStreamedWordArtifact-UZVNBKQB.js +35 -0
  12. package/dist/ConnectedStreamedWordArtifact-UZVNBKQB.js.map +1 -0
  13. package/dist/FactTextEditor-YESAU2IJ.js +25 -0
  14. package/dist/FactTextEditor-YESAU2IJ.js.map +1 -0
  15. package/dist/FactTextEditor-YUPBCTXK.cjs +27 -0
  16. package/dist/FactTextEditor-YUPBCTXK.cjs.map +1 -0
  17. package/dist/{NativeDocxEditor-BE2OEOTJ.cjs → NativeDocxEditor-5VBNM5I7.cjs} +8 -8
  18. package/dist/{NativeDocxEditor-BE2OEOTJ.cjs.map → NativeDocxEditor-5VBNM5I7.cjs.map} +1 -1
  19. package/dist/{NativeDocxEditor-KOPFMRYW.js → NativeDocxEditor-XT5ZLFGU.js} +4 -4
  20. package/dist/{NativeDocxEditor-KOPFMRYW.js.map → NativeDocxEditor-XT5ZLFGU.js.map} +1 -1
  21. package/dist/agents/index.cjs +265 -266
  22. package/dist/agents/index.js +8 -9
  23. package/dist/calendar/index.cjs +117 -125
  24. package/dist/calendar/index.d.ts +0 -1
  25. package/dist/calendar/index.js +1 -1
  26. package/dist/calls/index.cjs +3 -3
  27. package/dist/calls/index.js +2 -2
  28. package/dist/chat/index.cjs +78 -78
  29. package/dist/chat/index.js +3 -3
  30. package/dist/{chunk-2FL7QJKJ.js → chunk-265GOG4W.js} +3 -3
  31. package/dist/{chunk-2FL7QJKJ.js.map → chunk-265GOG4W.js.map} +1 -1
  32. package/dist/{chunk-IJST4EBM.js → chunk-3E2F4AHD.js} +8 -8
  33. package/dist/{chunk-IJST4EBM.js.map → chunk-3E2F4AHD.js.map} +1 -1
  34. package/dist/chunk-3FSXWVHW.cjs +5184 -0
  35. package/dist/chunk-3FSXWVHW.cjs.map +1 -0
  36. package/dist/{chunk-LPYEUD2D.cjs → chunk-4JNKXOFZ.cjs} +3 -3
  37. package/dist/{chunk-LPYEUD2D.cjs.map → chunk-4JNKXOFZ.cjs.map} +1 -1
  38. package/dist/{chunk-ODRHHWHY.cjs → chunk-4KMLM3GY.cjs} +4 -4
  39. package/dist/chunk-4KMLM3GY.cjs.map +1 -0
  40. package/dist/{chunk-MHFF5N65.cjs → chunk-757OYF6G.cjs} +4 -38
  41. package/dist/chunk-757OYF6G.cjs.map +1 -0
  42. package/dist/chunk-AXTDDWMR.js +16 -0
  43. package/dist/chunk-AXTDDWMR.js.map +1 -0
  44. package/dist/{chunk-B3AHCIV5.js → chunk-BJ24VPOA.js} +4 -55
  45. package/dist/chunk-BJ24VPOA.js.map +1 -0
  46. package/dist/chunk-C7PTF6BQ.cjs +172 -0
  47. package/dist/chunk-C7PTF6BQ.cjs.map +1 -0
  48. package/dist/{chunk-T5B7FM7S.js → chunk-COA3S3CZ.js} +3 -3
  49. package/dist/{chunk-T5B7FM7S.js.map → chunk-COA3S3CZ.js.map} +1 -1
  50. package/dist/{chunk-C44TDH54.js → chunk-CQPFW64W.js} +5 -5
  51. package/dist/{chunk-C44TDH54.js.map → chunk-CQPFW64W.js.map} +1 -1
  52. package/dist/chunk-D3WFIFRY.cjs +659 -0
  53. package/dist/chunk-D3WFIFRY.cjs.map +1 -0
  54. package/dist/{chunk-QXMR5YHC.js → chunk-DIB4JYUY.js} +19 -3
  55. package/dist/chunk-DIB4JYUY.js.map +1 -0
  56. package/dist/chunk-DVB5ZKOF.js +22 -0
  57. package/dist/chunk-DVB5ZKOF.js.map +1 -0
  58. package/dist/{chunk-VHJHY7TT.js → chunk-ECERC6TI.js} +3 -3
  59. package/dist/{chunk-VHJHY7TT.js.map → chunk-ECERC6TI.js.map} +1 -1
  60. package/dist/chunk-EDV7CYG6.cjs +18 -0
  61. package/dist/chunk-EDV7CYG6.cjs.map +1 -0
  62. package/dist/chunk-FAXXN7KI.cjs +213 -0
  63. package/dist/chunk-FAXXN7KI.cjs.map +1 -0
  64. package/dist/{chunk-2MJWWPHY.js → chunk-G4IYES7G.js} +140 -15
  65. package/dist/chunk-G4IYES7G.js.map +1 -0
  66. package/dist/{chunk-MFMASSEO.cjs → chunk-GGTUMLCT.cjs} +93 -91
  67. package/dist/chunk-GGTUMLCT.cjs.map +1 -0
  68. package/dist/{chunk-QI6AIHWP.cjs → chunk-GOWXP5KT.cjs} +145 -14
  69. package/dist/chunk-GOWXP5KT.cjs.map +1 -0
  70. package/dist/{chunk-O6IEZDRC.cjs → chunk-GRGS5M6O.cjs} +181 -3
  71. package/dist/chunk-GRGS5M6O.cjs.map +1 -0
  72. package/dist/{chunk-A6IU4GIW.js → chunk-HGLC566X.js} +598 -13
  73. package/dist/chunk-HGLC566X.js.map +1 -0
  74. package/dist/{chunk-O2GW5IY6.cjs → chunk-ILM42LE6.cjs} +33 -33
  75. package/dist/{chunk-O2GW5IY6.cjs.map → chunk-ILM42LE6.cjs.map} +1 -1
  76. package/dist/{chunk-C3CGJK7A.cjs → chunk-IPQ5MJ4Z.cjs} +636 -31
  77. package/dist/chunk-IPQ5MJ4Z.cjs.map +1 -0
  78. package/dist/{chunk-NRFAWUVD.js → chunk-JAANWQGB.js} +157 -157
  79. package/dist/chunk-JAANWQGB.js.map +1 -0
  80. package/dist/{chunk-7RJTEWYM.js → chunk-JGOST4IL.js} +350 -64
  81. package/dist/chunk-JGOST4IL.js.map +1 -0
  82. package/dist/chunk-KHXEIEXN.js +41 -0
  83. package/dist/chunk-KHXEIEXN.js.map +1 -0
  84. package/dist/chunk-KLPRAQCE.cjs +22 -0
  85. package/dist/chunk-KLPRAQCE.cjs.map +1 -0
  86. package/dist/chunk-KQYPP72K.js +644 -0
  87. package/dist/chunk-KQYPP72K.js.map +1 -0
  88. package/dist/chunk-KUT2Y7JF.cjs +43 -0
  89. package/dist/chunk-KUT2Y7JF.cjs.map +1 -0
  90. package/dist/{chunk-6YTHQ73P.cjs → chunk-LLYZGH3L.cjs} +3 -56
  91. package/dist/chunk-LLYZGH3L.cjs.map +1 -0
  92. package/dist/{chunk-YSHIC4NJ.cjs → chunk-LXTOOUEN.cjs} +159 -154
  93. package/dist/chunk-LXTOOUEN.cjs.map +1 -0
  94. package/dist/{chunk-EVUEIBNU.js → chunk-M4S75AEJ.js} +44 -5
  95. package/dist/chunk-M4S75AEJ.js.map +1 -0
  96. package/dist/{chunk-V5OAXIBN.cjs → chunk-NPR5BGFF.cjs} +11 -11
  97. package/dist/{chunk-V5OAXIBN.cjs.map → chunk-NPR5BGFF.cjs.map} +1 -1
  98. package/dist/{chunk-PLJ7PHWU.cjs → chunk-NS7NVX4E.cjs} +3 -3
  99. package/dist/{chunk-PLJ7PHWU.cjs.map → chunk-NS7NVX4E.cjs.map} +1 -1
  100. package/dist/{chunk-RB7GX2VT.cjs → chunk-NWNAYXC7.cjs} +9 -9
  101. package/dist/{chunk-RB7GX2VT.cjs.map → chunk-NWNAYXC7.cjs.map} +1 -1
  102. package/dist/chunk-Q6N6MZKO.js +5004 -0
  103. package/dist/chunk-Q6N6MZKO.js.map +1 -0
  104. package/dist/{chunk-I2QSDQQV.cjs → chunk-QT3A4PFC.cjs} +21 -2
  105. package/dist/chunk-QT3A4PFC.cjs.map +1 -0
  106. package/dist/{chunk-6HCJ3ZEU.js → chunk-R6VCPDPF.js} +178 -6
  107. package/dist/chunk-R6VCPDPF.js.map +1 -0
  108. package/dist/{chunk-ZM26YEOT.js → chunk-RY2SODRN.js} +3 -3
  109. package/dist/{chunk-ZM26YEOT.js.map → chunk-RY2SODRN.js.map} +1 -1
  110. package/dist/chunk-SDOEHEJP.js +208 -0
  111. package/dist/chunk-SDOEHEJP.js.map +1 -0
  112. package/dist/{chunk-DETZZBG2.cjs → chunk-SIB6C7P7.cjs} +43 -2
  113. package/dist/chunk-SIB6C7P7.cjs.map +1 -0
  114. package/dist/{chunk-OPTBQSCV.cjs → chunk-SMN32BQ3.cjs} +4 -183
  115. package/dist/chunk-SMN32BQ3.cjs.map +1 -0
  116. package/dist/chunk-TAWPVD6C.cjs +1956 -0
  117. package/dist/chunk-TAWPVD6C.cjs.map +1 -0
  118. package/dist/chunk-TC25LGIM.js +6584 -0
  119. package/dist/chunk-TC25LGIM.js.map +1 -0
  120. package/dist/{chunk-OBWYM25Y.js → chunk-TL45OJQE.js} +85 -83
  121. package/dist/chunk-TL45OJQE.js.map +1 -0
  122. package/dist/{chunk-AOSUHWIL.js → chunk-TZOQKV64.js} +4 -37
  123. package/dist/chunk-TZOQKV64.js.map +1 -0
  124. package/dist/chunk-UTVY63DG.js +16 -0
  125. package/dist/chunk-UTVY63DG.js.map +1 -0
  126. package/dist/chunk-V4YZXGXR.cjs +6751 -0
  127. package/dist/chunk-V4YZXGXR.cjs.map +1 -0
  128. package/dist/chunk-XRWHFMHK.js +19 -0
  129. package/dist/chunk-XRWHFMHK.js.map +1 -0
  130. package/dist/{chunk-O4YPVYPO.cjs → chunk-YAEXSCUW.cjs} +364 -60
  131. package/dist/chunk-YAEXSCUW.cjs.map +1 -0
  132. package/dist/chunk-YIFCLNII.cjs +18 -0
  133. package/dist/chunk-YIFCLNII.cjs.map +1 -0
  134. package/dist/chunk-Z27QMJ6S.cjs +25 -0
  135. package/dist/chunk-Z27QMJ6S.cjs.map +1 -0
  136. package/dist/{chunk-CSI2B2H5.js → chunk-Z4NQ3TED.js} +4 -4
  137. package/dist/chunk-Z4NQ3TED.js.map +1 -0
  138. package/dist/{chunk-DWZXSPMB.cjs → chunk-ZAVEMQ37.cjs} +3 -3
  139. package/dist/{chunk-DWZXSPMB.cjs.map → chunk-ZAVEMQ37.cjs.map} +1 -1
  140. package/dist/{chunk-FUTMU4FR.js → chunk-ZLEYLCE4.js} +8 -181
  141. package/dist/chunk-ZLEYLCE4.js.map +1 -0
  142. package/dist/chunk-ZNLTEZEF.js +170 -0
  143. package/dist/chunk-ZNLTEZEF.js.map +1 -0
  144. package/dist/chunk-ZO7PJMCO.js +1907 -0
  145. package/dist/chunk-ZO7PJMCO.js.map +1 -0
  146. package/dist/citations/index.cjs +14 -14
  147. package/dist/citations/index.js +2 -2
  148. package/dist/collaboration/index.cjs +74 -74
  149. package/dist/collaboration/index.js +3 -3
  150. package/dist/connect/docx.cjs +23 -28
  151. package/dist/connect/docx.cjs.map +1 -1
  152. package/dist/connect/docx.js +12 -28
  153. package/dist/connect/docx.js.map +1 -1
  154. package/dist/connect/index.cjs +8799 -2057
  155. package/dist/connect/index.cjs.map +1 -1
  156. package/dist/connect/index.d.ts +11 -2
  157. package/dist/connect/index.js +8578 -1884
  158. package/dist/connect/index.js.map +1 -1
  159. package/dist/connect/viewer.cjs +1229 -0
  160. package/dist/connect/viewer.cjs.map +1 -0
  161. package/dist/connect/viewer.d.ts +8 -0
  162. package/dist/connect/viewer.js +1226 -0
  163. package/dist/connect/viewer.js.map +1 -0
  164. package/dist/connection/ConnectedWorkflowsTable.d.ts +2 -12
  165. package/dist/connection/ai.d.ts +2 -9
  166. package/dist/connection/billing/AddAddonDialog.d.ts +24 -0
  167. package/dist/connection/billing/BillingCard.d.ts +18 -0
  168. package/dist/connection/billing/BillingProjectEntity.d.ts +9 -0
  169. package/dist/connection/billing/ChangePlanDialog.d.ts +20 -0
  170. package/dist/connection/billing/ChangeProPlan.d.ts +20 -0
  171. package/dist/connection/billing/CheckoutTotal.d.ts +12 -0
  172. package/dist/connection/billing/DailyCapEditor.d.ts +4 -0
  173. package/dist/connection/billing/InvoicesModal.d.ts +6 -0
  174. package/dist/connection/billing/NewProjectFlow.d.ts +14 -0
  175. package/dist/connection/billing/PlanChangeLines.d.ts +13 -0
  176. package/dist/connection/billing/PlanSelector.d.ts +50 -0
  177. package/dist/connection/billing/ProjectBilling.d.ts +24 -0
  178. package/dist/connection/billing/ProjectDetail.d.ts +16 -0
  179. package/dist/connection/billing/ProjectUsageCard.d.ts +21 -0
  180. package/dist/connection/billing/ProjectUsageContent.d.ts +18 -0
  181. package/dist/connection/billing/ProjectsTable.d.ts +13 -0
  182. package/dist/connection/billing/ReduceAddonDialog.d.ts +18 -0
  183. package/dist/connection/billing/ReferralReward.d.ts +32 -0
  184. package/dist/connection/billing/SharedProjects.d.ts +13 -0
  185. package/dist/connection/billing/StripeCheckoutModal.d.ts +32 -0
  186. package/dist/connection/billing/SubscriptionPlans.d.ts +15 -0
  187. package/dist/connection/billing/SubscriptionStatus.d.ts +10 -0
  188. package/dist/connection/billing/addon-pricing.d.ts +97 -0
  189. package/dist/connection/billing/api-error.d.ts +6 -0
  190. package/dist/connection/billing/billing-country.d.ts +14 -0
  191. package/dist/connection/billing/billing-focus.d.ts +11 -0
  192. package/dist/connection/billing/index.d.ts +22 -0
  193. package/dist/connection/billing/plan-badge.d.ts +15 -0
  194. package/dist/connection/billing/plan-change-outcome.d.ts +15 -0
  195. package/dist/connection/billing/plan-constants.d.ts +29 -0
  196. package/dist/connection/billing/plan-pricing.d.ts +67 -0
  197. package/dist/connection/billing/quota-items.d.ts +33 -0
  198. package/dist/connection/billing/referral-reward.d.ts +28 -0
  199. package/dist/connection/billing/refusal-copy.d.ts +5 -0
  200. package/dist/connection/billing/reward-balance.d.ts +19 -0
  201. package/dist/connection/billing/support.d.ts +35 -0
  202. package/dist/connection/billing/tax-quote.d.ts +36 -0
  203. package/dist/connection/billing/useAddonPurchase.d.ts +32 -0
  204. package/dist/connection/billing/useAutoRefreshPendingProjects.d.ts +11 -0
  205. package/dist/connection/billing/useCheckoutQuote.d.ts +30 -0
  206. package/dist/connection/billing/useOpenBillingPortal.d.ts +12 -0
  207. package/dist/connection/calendar/CalendarSettingsDialog.d.ts +1 -1
  208. package/dist/connection/connectors/ConnectedAppsSettings.d.ts +24 -0
  209. package/dist/connection/connectors/ConnectedDriveSyncDialog.d.ts +12 -0
  210. package/dist/connection/connectors/ConnectedMailboxSyncDialog.d.ts +12 -0
  211. package/dist/connection/connectors/index.d.ts +4 -0
  212. package/dist/connection/connectors/sync-labels.d.ts +21 -0
  213. package/dist/connection/facts/ConnectedFactsPage.d.ts +50 -0
  214. package/dist/connection/facts/FactMarkdownEditor.d.ts +57 -0
  215. package/dist/connection/facts/FactSourcesPopover.d.ts +38 -0
  216. package/dist/connection/facts/FactTextEditor.d.ts +2 -0
  217. package/dist/connection/facts/factNouns.d.ts +4 -0
  218. package/dist/connection/facts/factPageColumns.d.ts +37 -0
  219. package/dist/connection/facts/types.d.ts +127 -0
  220. package/dist/connection/facts/useFactActions.d.ts +10 -0
  221. package/dist/connection/facts/useFactComposer.d.ts +54 -0
  222. package/dist/connection/facts/useFactFilters.d.ts +101 -0
  223. package/dist/connection/facts/useFactSelection.d.ts +82 -0
  224. package/dist/connection/facts/useFactsGrid.d.ts +87 -0
  225. package/dist/connection/facts/useFactsPageView.d.ts +4 -0
  226. package/dist/connection/mail/ConnectedMailComposer.d.ts +3 -1
  227. package/dist/connection/mail/ConnectedMailbox.d.ts +4 -2
  228. package/dist/connection/mail/MailComposerForm.d.ts +4 -2
  229. package/dist/connection/mail/MailRecipientInput.d.ts +14 -0
  230. package/dist/connection/mail/index.d.ts +1 -1
  231. package/dist/connection/mail/types.d.ts +10 -0
  232. package/dist/connection/search/ConnectedSearchPage.d.ts +64 -0
  233. package/dist/connection/search/SearchResultRows.d.ts +38 -0
  234. package/dist/connection/search/index.d.ts +2 -0
  235. package/dist/connection/settings-page/ConnectedSettingsPage.d.ts +4 -0
  236. package/dist/connection/settings-page/index.d.ts +1 -1
  237. package/dist/connection/tags/ConnectedTagTable.d.ts +108 -0
  238. package/dist/connection/tags/ConnectedTagsPage.d.ts +55 -0
  239. package/dist/connection/tags/DocTagPassages.d.ts +25 -0
  240. package/dist/connection/tags/GlossaryExport.d.ts +7 -0
  241. package/dist/connection/tags/TagCombineFilter.d.ts +14 -0
  242. package/dist/connection/tags/TagPlacement.d.ts +16 -0
  243. package/dist/connection/tags/TagsPageSections.d.ts +36 -0
  244. package/dist/connection/tags/tagCombine.d.ts +55 -0
  245. package/dist/connection/useConnectedWorkNotifications.d.ts +7 -24
  246. package/dist/connection/viewer/ConnectedDocumentToolsProvider.d.ts +11 -0
  247. package/dist/connection/viewer/ConnectedDocumentViewer.d.ts +21 -0
  248. package/dist/connection/viewer/FinaliseTranslationButton.d.ts +15 -0
  249. package/dist/connection/viewer/ViewerPdfPane.d.ts +46 -0
  250. package/dist/connection/viewer/support.d.ts +79 -0
  251. package/dist/connection/viewer/useImageCrop.d.ts +13 -0
  252. package/dist/connection/viewer/useViewedDocument.d.ts +70 -0
  253. package/dist/connection/viewer/useViewerBlobs.d.ts +15 -0
  254. package/dist/connection/viewer/useViewerTabs.d.ts +18 -0
  255. package/dist/connection/viewer/useViewerVersions.d.ts +11 -0
  256. package/dist/connection/workspace-settings/useConnectedWorkspaceSettings.d.ts +6 -0
  257. package/dist/document-tools/index.cjs +59 -652
  258. package/dist/document-tools/index.cjs.map +1 -1
  259. package/dist/document-tools/index.js +2 -641
  260. package/dist/document-tools/index.js.map +1 -1
  261. package/dist/docx/index.cjs +48 -47
  262. package/dist/docx/index.js +4 -3
  263. package/dist/facts/FactsBulkBar.d.ts +6 -3
  264. package/dist/facts/cited-version-ref.d.ts +1 -0
  265. package/dist/facts/index.cjs +206 -1942
  266. package/dist/facts/index.cjs.map +1 -1
  267. package/dist/facts/index.d.ts +1 -0
  268. package/dist/facts/index.js +15 -1897
  269. package/dist/facts/index.js.map +1 -1
  270. package/dist/files/ViewerChrome.d.ts +5 -4
  271. package/dist/files/ViewerControlBar.d.ts +12 -0
  272. package/dist/files/doc-labels.d.ts +35 -0
  273. package/dist/files/grid/FilterButton.d.ts +12 -0
  274. package/dist/files/grid/RowDensityControl.d.ts +18 -0
  275. package/dist/files/grid/row-density.d.ts +27 -0
  276. package/dist/files/index.cjs +779 -7100
  277. package/dist/files/index.cjs.map +1 -1
  278. package/dist/files/index.d.ts +5 -0
  279. package/dist/files/index.js +14 -6919
  280. package/dist/files/index.js.map +1 -1
  281. package/dist/home/index.cjs +2 -2
  282. package/dist/home/index.js +2 -2
  283. package/dist/index.cjs +1043 -1259
  284. package/dist/index.cjs.map +1 -1
  285. package/dist/index.js +27 -360
  286. package/dist/index.js.map +1 -1
  287. package/dist/retrieval/SearchSnippet.d.ts +6 -0
  288. package/dist/retrieval/index.cjs +75 -42
  289. package/dist/retrieval/index.d.ts +2 -0
  290. package/dist/retrieval/index.js +3 -2
  291. package/dist/retrieval/search-results.d.ts +46 -0
  292. package/dist/settings/Billing.d.ts +0 -66
  293. package/dist/settings/PlanBadge.d.ts +1 -1
  294. package/dist/settings/SubscriptionParts.d.ts +1 -50
  295. package/dist/settings/index.cjs +501 -3714
  296. package/dist/settings/index.cjs.map +1 -1
  297. package/dist/settings/index.d.ts +3 -2
  298. package/dist/settings/index.js +10 -3527
  299. package/dist/settings/index.js.map +1 -1
  300. package/dist/settings/inverted-index-filter.d.ts +26 -0
  301. package/dist/shell/index.cjs +2 -2
  302. package/dist/shell/index.js +2 -2
  303. package/dist/site/index.cjs +5 -5
  304. package/dist/site/index.js +1 -1
  305. package/dist/studio/index.cjs +6 -6
  306. package/dist/studio/index.js +5 -5
  307. package/dist/tags/definitions.d.ts +10 -0
  308. package/dist/tags/index.d.ts +4 -1
  309. package/dist/tags/page/ExtractEntitiesDialog.d.ts +24 -0
  310. package/dist/tags/page/TagPicker.d.ts +16 -0
  311. package/dist/tags/page/tagsPageLabels.d.ts +36 -0
  312. package/dist/workflow-canvas/index.cjs +21 -22
  313. package/dist/workflow-canvas/index.cjs.map +1 -1
  314. package/dist/workflow-canvas/index.js +8 -9
  315. package/dist/workflow-canvas/index.js.map +1 -1
  316. package/node_modules/@arbidocs/coedit/package.json +1 -1
  317. package/package.json +13 -4
  318. package/dist/calendar/access-setup.d.ts +0 -8
  319. package/dist/chunk-2MJWWPHY.js.map +0 -1
  320. package/dist/chunk-3AFWGEDJ.cjs +0 -53
  321. package/dist/chunk-3AFWGEDJ.cjs.map +0 -1
  322. package/dist/chunk-5YHEHEJT.js +0 -1667
  323. package/dist/chunk-5YHEHEJT.js.map +0 -1
  324. package/dist/chunk-6HCJ3ZEU.js.map +0 -1
  325. package/dist/chunk-6YTHQ73P.cjs.map +0 -1
  326. package/dist/chunk-7RJTEWYM.js.map +0 -1
  327. package/dist/chunk-A6IU4GIW.js.map +0 -1
  328. package/dist/chunk-AOSUHWIL.js.map +0 -1
  329. package/dist/chunk-B3AHCIV5.js.map +0 -1
  330. package/dist/chunk-C3CGJK7A.cjs.map +0 -1
  331. package/dist/chunk-CSI2B2H5.js.map +0 -1
  332. package/dist/chunk-DETZZBG2.cjs.map +0 -1
  333. package/dist/chunk-EVUEIBNU.js.map +0 -1
  334. package/dist/chunk-FUTMU4FR.js.map +0 -1
  335. package/dist/chunk-I2QSDQQV.cjs.map +0 -1
  336. package/dist/chunk-J5CWKFSC.js +0 -170
  337. package/dist/chunk-J5CWKFSC.js.map +0 -1
  338. package/dist/chunk-MFMASSEO.cjs.map +0 -1
  339. package/dist/chunk-MHFF5N65.cjs.map +0 -1
  340. package/dist/chunk-NRFAWUVD.js.map +0 -1
  341. package/dist/chunk-O4YPVYPO.cjs.map +0 -1
  342. package/dist/chunk-O6IEZDRC.cjs.map +0 -1
  343. package/dist/chunk-OBWYM25Y.js.map +0 -1
  344. package/dist/chunk-ODRHHWHY.cjs.map +0 -1
  345. package/dist/chunk-OPTBQSCV.cjs.map +0 -1
  346. package/dist/chunk-QI6AIHWP.cjs.map +0 -1
  347. package/dist/chunk-QXMR5YHC.js.map +0 -1
  348. package/dist/chunk-RFXJYIDV.js +0 -50
  349. package/dist/chunk-RFXJYIDV.js.map +0 -1
  350. package/dist/chunk-U73KPFYH.cjs +0 -1717
  351. package/dist/chunk-U73KPFYH.cjs.map +0 -1
  352. package/dist/chunk-XVUOMWMD.cjs +0 -177
  353. package/dist/chunk-XVUOMWMD.cjs.map +0 -1
  354. package/dist/chunk-YSHIC4NJ.cjs.map +0 -1
  355. package/dist/connection/ConnectedTagTable.d.ts +0 -32
  356. package/dist/connection/calendar/CopyField.d.ts +0 -9
  357. package/dist/connection/calendar/OpenAccessPanel.d.ts +0 -7
@@ -0,0 +1,659 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var chunkUWIILWDI_cjs = require('./chunk-UWIILWDI.cjs');
5
+ var lucideReact = require('lucide-react');
6
+ var ui = require('@arbidocs/react/ui');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var documentTools = require('@arbidocs/react/document-tools');
9
+ var react = require('react');
10
+
11
+ var TOUCH = "pointer-coarse:min-h-11";
12
+ function AnnotateButton({ active, onClick, compact }) {
13
+ return /* @__PURE__ */ jsxRuntime.jsxs(
14
+ ui.Button,
15
+ {
16
+ type: "button",
17
+ variant: active ? "default" : "outline",
18
+ size: compact ? "icon" : "sm",
19
+ "aria-pressed": active,
20
+ title: "Annotate: highlight, comment, stamp, redact",
21
+ "aria-label": "Annotate",
22
+ "data-testid": "annotate-toggle",
23
+ className: TOUCH,
24
+ onClick,
25
+ children: [
26
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PencilLine, { className: "size-4" }),
27
+ !compact && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1", children: "Annotate" })
28
+ ]
29
+ }
30
+ );
31
+ }
32
+ function ShowOriginalButton({ active, onClick, compact }) {
33
+ return /* @__PURE__ */ jsxRuntime.jsxs(
34
+ ui.Button,
35
+ {
36
+ type: "button",
37
+ variant: active ? "default" : "outline",
38
+ size: compact ? "icon" : "sm",
39
+ "aria-pressed": active,
40
+ title: active ? "Show the markup again" : "Show the original, without markup",
41
+ "aria-label": "Show original",
42
+ "data-testid": "markup-show-original",
43
+ className: TOUCH,
44
+ onClick,
45
+ children: [
46
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileText, { className: "size-4" }),
47
+ !compact && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1", children: "Show original" })
48
+ ]
49
+ }
50
+ );
51
+ }
52
+ function DownloadMarkupButton({
53
+ onClick,
54
+ disabledReason
55
+ }) {
56
+ const button = /* @__PURE__ */ jsxRuntime.jsx(
57
+ ui.Button,
58
+ {
59
+ type: "button",
60
+ variant: "outline",
61
+ size: "icon",
62
+ title: disabledReason ?? "Download with markup: the PDF with its annotations (opens in Acrobat or Preview)",
63
+ "aria-label": "Download with markup",
64
+ "aria-description": disabledReason,
65
+ disabled: !!disabledReason,
66
+ "data-testid": "markup-download",
67
+ className: TOUCH,
68
+ onClick,
69
+ children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Download, { className: "size-4" })
70
+ }
71
+ );
72
+ return disabledReason ? /* @__PURE__ */ jsxRuntime.jsx("span", { title: disabledReason, className: "inline-flex", "data-testid": "markup-download-locked", children: button }) : button;
73
+ }
74
+ function SignedEditNote() {
75
+ return /* @__PURE__ */ jsxRuntime.jsx(
76
+ "p",
77
+ {
78
+ className: "border-b px-3 py-1.5 text-xs text-muted-foreground",
79
+ "data-testid": "signed-edit-note",
80
+ children: "Editing creates a new unsigned version"
81
+ }
82
+ );
83
+ }
84
+ function SignButton({ active, onClick, compact }) {
85
+ return /* @__PURE__ */ jsxRuntime.jsxs(
86
+ ui.Button,
87
+ {
88
+ type: "button",
89
+ variant: active ? "default" : "outline",
90
+ size: compact ? "icon" : "sm",
91
+ "aria-pressed": active,
92
+ title: "Sign document",
93
+ "aria-label": "Sign",
94
+ "data-testid": "sign-document-button",
95
+ className: TOUCH,
96
+ onClick,
97
+ children: [
98
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, { className: "size-4" }),
99
+ !compact && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1", children: "Sign" })
100
+ ]
101
+ }
102
+ );
103
+ }
104
+ function RequestSignaturesButton({ active, onClick, compact }) {
105
+ return /* @__PURE__ */ jsxRuntime.jsxs(
106
+ ui.Button,
107
+ {
108
+ type: "button",
109
+ variant: active ? "default" : "outline",
110
+ size: compact ? "icon" : "sm",
111
+ "aria-pressed": active,
112
+ title: "Request signatures",
113
+ "aria-label": "Request signatures",
114
+ "data-testid": "request-signatures-button",
115
+ className: TOUCH,
116
+ onClick,
117
+ children: [
118
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Users, { className: "size-4" }),
119
+ !compact && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "ml-1", children: "Request signatures" })
120
+ ]
121
+ }
122
+ );
123
+ }
124
+ var BAR = "flex flex-wrap items-center justify-between gap-2 border-b px-3 py-2 text-xs";
125
+ var LINK = "font-medium text-primary hover:underline disabled:opacity-50 disabled:no-underline pointer-coarse:min-h-11";
126
+ function MarkupNotices({ legacyPrompt, olderNote, onOpenVersion }) {
127
+ return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
128
+ legacyPrompt && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: BAR, role: "status", "data-testid": "markup-migration-prompt", children: [
129
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
130
+ legacyPrompt.count,
131
+ " annotation",
132
+ legacyPrompt.count === 1 ? "" : "s",
133
+ " on this document",
134
+ legacyPrompt.count === 1 ? " is" : " are",
135
+ " saved only in this browser. Add",
136
+ " ",
137
+ legacyPrompt.count === 1 ? "it" : "them",
138
+ " to the shared markup, where everyone with access sees ",
139
+ legacyPrompt.count === 1 ? "it" : "them",
140
+ "?"
141
+ ] }),
142
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-3", children: [
143
+ /* @__PURE__ */ jsxRuntime.jsx(
144
+ "button",
145
+ {
146
+ type: "button",
147
+ className: LINK,
148
+ disabled: legacyPrompt.busy,
149
+ "data-testid": "markup-migration-add",
150
+ onClick: legacyPrompt.add,
151
+ children: legacyPrompt.busy ? "Adding\u2026" : "Add to shared markup"
152
+ }
153
+ ),
154
+ /* @__PURE__ */ jsxRuntime.jsx(
155
+ "button",
156
+ {
157
+ type: "button",
158
+ className: LINK,
159
+ disabled: legacyPrompt.busy,
160
+ "data-testid": "markup-migration-discard",
161
+ onClick: legacyPrompt.discard,
162
+ children: "Discard"
163
+ }
164
+ )
165
+ ] })
166
+ ] }),
167
+ olderNote && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: BAR, "data-testid": "markup-older-version-note", children: [
168
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
169
+ "The markup is on version ",
170
+ olderNote.version,
171
+ ". This version started without it.",
172
+ olderNote.signed && /* @__PURE__ */ jsxRuntime.jsxs("span", { "data-testid": "markup-older-version-signed", children: [
173
+ " ",
174
+ "It is signed: comments copied here are kept beside it, and the signed PDF does not change."
175
+ ] })
176
+ ] }),
177
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-3", children: [
178
+ /* @__PURE__ */ jsxRuntime.jsxs(
179
+ "button",
180
+ {
181
+ type: "button",
182
+ className: LINK,
183
+ "data-testid": "markup-open-older-version",
184
+ onClick: () => onOpenVersion(olderNote.version),
185
+ children: [
186
+ "Open version ",
187
+ olderNote.version
188
+ ]
189
+ }
190
+ ),
191
+ /* @__PURE__ */ jsxRuntime.jsx(
192
+ "button",
193
+ {
194
+ type: "button",
195
+ className: LINK,
196
+ disabled: olderNote.busy,
197
+ "data-testid": "markup-copy-open-threads",
198
+ title: "Copy the unresolved comment threads onto this version (redactions never carry over)",
199
+ onClick: olderNote.copy,
200
+ children: olderNote.busy ? "Copying\u2026" : "Copy open comments here"
201
+ }
202
+ )
203
+ ] })
204
+ ] })
205
+ ] });
206
+ }
207
+ function MarkupViewNote({ showOriginal, onToggle }) {
208
+ return /* @__PURE__ */ jsxRuntime.jsxs(chunkUWIILWDI_cjs.ViewerStatusNote, { testId: "markup-view-note", children: [
209
+ showOriginal ? "Original, without markup" : "With markup",
210
+ " \xB7 ",
211
+ /* @__PURE__ */ jsxRuntime.jsx(
212
+ "button",
213
+ {
214
+ type: "button",
215
+ className: "font-medium text-primary hover:underline pointer-coarse:min-h-11",
216
+ "data-testid": "markup-view-note-toggle",
217
+ onClick: onToggle,
218
+ children: showOriginal ? "Show markup" : "Show original"
219
+ }
220
+ )
221
+ ] });
222
+ }
223
+ function formatSignedAt(iso) {
224
+ const date = new Date(iso);
225
+ if (Number.isNaN(date.getTime())) return iso;
226
+ return date.toLocaleString([], { dateStyle: "medium", timeStyle: "short" });
227
+ }
228
+ function Row({ label, field, children }) {
229
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[5.5rem_1fr] gap-2", children: [
230
+ /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "text-muted-foreground", children: label }),
231
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "min-w-0 break-words", "data-testid": `signature-detail-${field}`, children })
232
+ ] });
233
+ }
234
+ function SignatureStatus({
235
+ status,
236
+ formatDate = formatSignedAt,
237
+ certificateUrl
238
+ }) {
239
+ const tools = documentTools.useOptionalDocumentTools();
240
+ const hostCertificateUrl = certificateUrl ?? tools?.certificateUrl;
241
+ const signatures = status.signatures ?? [];
242
+ const isCounterSigned = signatures.length > 1;
243
+ return /* @__PURE__ */ jsxRuntime.jsxs(ui.Popover, { children: [
244
+ /* @__PURE__ */ jsxRuntime.jsx(ui.PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
245
+ "button",
246
+ {
247
+ type: "button",
248
+ className: "flex-shrink-0 text-sm text-muted-foreground underline decoration-dotted underline-offset-4 hover:text-foreground pointer-coarse:min-h-11",
249
+ "data-testid": "document-signature-status",
250
+ "aria-label": `${status.intact ? "Signed, locked" : "Modified after signing"}: show signature details`,
251
+ children: status.intact ? "Signed \u2014 locked" : "Modified after signing"
252
+ }
253
+ ) }),
254
+ /* @__PURE__ */ jsxRuntime.jsxs(
255
+ ui.PopoverContent,
256
+ {
257
+ className: "max-h-[70vh] w-80 overflow-y-auto p-3 text-sm",
258
+ align: "start",
259
+ "data-testid": "signature-details",
260
+ children: [
261
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mb-2 font-medium", "data-testid": "signature-details-title", children: isCounterSigned ? `Electronic signatures (${signatures.length})` : "Electronic signature" }),
262
+ signatures.map((signature, index) => /* @__PURE__ */ jsxRuntime.jsxs(
263
+ "dl",
264
+ {
265
+ className: `mb-3 space-y-1 ${index > 0 ? "border-t border-border pt-2" : ""}`,
266
+ "data-testid": `signature-item-${index}`,
267
+ children: [
268
+ /* @__PURE__ */ jsxRuntime.jsx(Row, { label: "Signed by", field: "signer", children: signature.signer_name || signature.signer_email }),
269
+ /* @__PURE__ */ jsxRuntime.jsx(Row, { label: "On", field: "time", children: formatDate(signature.signed_at) }),
270
+ /* @__PURE__ */ jsxRuntime.jsx("dd", { children: /* @__PURE__ */ jsxRuntime.jsx(
271
+ "a",
272
+ {
273
+ href: documentTools.certificateLink(signature, hostCertificateUrl),
274
+ target: "_blank",
275
+ rel: "noopener noreferrer",
276
+ className: "inline-flex items-center font-medium text-primary hover:underline pointer-coarse:min-h-11",
277
+ "data-testid": `signature-certificate-link-${index}`,
278
+ children: "View certificate"
279
+ }
280
+ ) })
281
+ ]
282
+ },
283
+ signature.reference
284
+ )),
285
+ /* @__PURE__ */ jsxRuntime.jsx(
286
+ "p",
287
+ {
288
+ className: `border-t border-border pt-2 ${status.intact ? "" : "text-red-text"}`,
289
+ "data-testid": "signature-detail-intact",
290
+ children: status.intact ? isCounterSigned ? "\u2713 Unchanged since the last signature" : "\u2713 Unchanged since signing" : "\u2717 Changed after it was signed"
291
+ }
292
+ ),
293
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-xs text-muted-foreground", "data-testid": "signature-detail-locked", children: "Locked: only further signatures can be added." })
294
+ ]
295
+ }
296
+ )
297
+ ] });
298
+ }
299
+ function Frame({ children }) {
300
+ return /* @__PURE__ */ jsxRuntime.jsxs(
301
+ "main",
302
+ {
303
+ className: "mx-auto w-full max-w-xl px-4 py-10 text-foreground",
304
+ "data-testid": "signature-certificate",
305
+ children: [
306
+ /* @__PURE__ */ jsxRuntime.jsx("h1", { className: "mb-6 text-xl font-semibold", children: "Signature certificate" }),
307
+ children
308
+ ]
309
+ }
310
+ );
311
+ }
312
+ function copyResult(name, match) {
313
+ if (match.kind === "current") return `\u2713 ${name} is the signed document, unchanged.`;
314
+ if (match.kind === "earlier") {
315
+ return `\u2713 ${name}: this is the version signed by ${match.signature.signer_name || "an ARBI user"}.`;
316
+ }
317
+ return `\u2717 ${name} is not the signed document: it differs from what was signed.`;
318
+ }
319
+ function SignatureCertificate({
320
+ reference,
321
+ verification,
322
+ isLoading = false,
323
+ error,
324
+ isErrorTransient = false,
325
+ formatDate = formatSignedAt,
326
+ allowCopyCheck = true
327
+ }) {
328
+ const [copy, setCopy] = react.useState({ state: "idle" });
329
+ const [dragging, setDragging] = react.useState(false);
330
+ const input = react.useRef(null);
331
+ if (isLoading) {
332
+ return /* @__PURE__ */ jsxRuntime.jsx(Frame, { children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", "data-testid": "signature-certificate-loading", children: "Checking the signature\u2026" }) });
333
+ }
334
+ if (error || !verification) {
335
+ return /* @__PURE__ */ jsxRuntime.jsx(Frame, { children: /* @__PURE__ */ jsxRuntime.jsx(
336
+ "p",
337
+ {
338
+ className: isErrorTransient ? "text-muted-foreground" : "text-red-text",
339
+ role: isErrorTransient ? "status" : "alert",
340
+ "data-testid": "signature-certificate-error",
341
+ children: error || "The signature could not be checked."
342
+ }
343
+ ) });
344
+ }
345
+ const [first, ...counter] = verification.signatures;
346
+ const check = async (file) => {
347
+ if (!file) return;
348
+ setCopy({ state: "checking", name: file.name });
349
+ try {
350
+ setCopy({ state: "done", name: file.name, match: await documentTools.matchSignedCopy(file, verification) });
351
+ } catch {
352
+ setCopy({ state: "failed", name: file.name });
353
+ }
354
+ };
355
+ const onDrop = (e) => {
356
+ e.preventDefault();
357
+ setDragging(false);
358
+ void check(e.dataTransfer.files[0]);
359
+ };
360
+ return /* @__PURE__ */ jsxRuntime.jsxs(Frame, { children: [
361
+ /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-3", children: [
362
+ first && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "text-base", "data-testid": "signature-certificate-signer", children: [
363
+ "Signed by ",
364
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: first.signer_name || "an ARBI user" }),
365
+ " on",
366
+ " ",
367
+ formatDate(first.signed_at)
368
+ ] }),
369
+ counter.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ul", { className: "space-y-1 text-sm", "data-testid": "signature-certificate-counter", children: counter.map((s, i) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
370
+ "Also signed by ",
371
+ /* @__PURE__ */ jsxRuntime.jsx("strong", { children: s.signer_name || "an ARBI user" }),
372
+ " on",
373
+ " ",
374
+ formatDate(s.signed_at)
375
+ ] }, `${s.sha256}-${i}`)) }),
376
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground", children: "ARBI checks that this document hasn\u2019t changed since it was signed. If anything changed, this check fails." }),
377
+ /* @__PURE__ */ jsxRuntime.jsx(
378
+ "p",
379
+ {
380
+ className: ui.cn(
381
+ "rounded-md border px-3 py-2 font-medium",
382
+ verification.intact ? "border-green-border bg-green-bg text-green-text" : "border-red-text text-red-text"
383
+ ),
384
+ role: "status",
385
+ "data-testid": "signature-certificate-result",
386
+ "data-intact": verification.intact,
387
+ children: verification.intact ? "\u2713 Unchanged since signing" : "\u2717 Changed since signing: this is not the document that was signed"
388
+ }
389
+ )
390
+ ] }),
391
+ allowCopyCheck && /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "mt-8 space-y-2", children: [
392
+ /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "text-sm font-medium", children: "Check your copy" }),
393
+ /* @__PURE__ */ jsxRuntime.jsxs(
394
+ "div",
395
+ {
396
+ role: "button",
397
+ tabIndex: 0,
398
+ className: ui.cn(
399
+ "flex min-h-24 cursor-pointer flex-col items-center justify-center rounded-md border border-dashed px-4 py-6 text-center text-sm text-muted-foreground pointer-coarse:min-h-32",
400
+ dragging && "border-primary bg-muted"
401
+ ),
402
+ "data-testid": "signature-certificate-dropzone",
403
+ onClick: () => input.current?.click(),
404
+ onKeyDown: (e) => {
405
+ if (e.key === "Enter" || e.key === " ") {
406
+ e.preventDefault();
407
+ input.current?.click();
408
+ }
409
+ },
410
+ onDragOver: (e) => {
411
+ e.preventDefault();
412
+ setDragging(true);
413
+ },
414
+ onDragLeave: () => setDragging(false),
415
+ onDrop,
416
+ children: [
417
+ "Drop the PDF you were sent here, or choose it",
418
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "mt-1 text-xs", children: "It is checked in this browser and never uploaded." }),
419
+ /* @__PURE__ */ jsxRuntime.jsx(
420
+ "input",
421
+ {
422
+ ref: input,
423
+ type: "file",
424
+ accept: "application/pdf,.pdf",
425
+ className: "sr-only",
426
+ "data-testid": "signature-certificate-file-input",
427
+ onChange: (e) => void check(e.target.files?.[0])
428
+ }
429
+ )
430
+ ]
431
+ }
432
+ ),
433
+ copy.state !== "idle" && /* @__PURE__ */ jsxRuntime.jsx(
434
+ "p",
435
+ {
436
+ className: ui.cn(
437
+ "text-sm",
438
+ copy.state === "done" && copy.match.kind !== "none" && "text-green-text",
439
+ (copy.state === "done" && copy.match.kind === "none" || copy.state === "failed") && "text-red-text"
440
+ ),
441
+ role: "status",
442
+ "data-testid": "signature-certificate-copy-result",
443
+ children: copy.state === "checking" ? `Checking ${copy.name}\u2026` : copy.state === "failed" ? `${copy.name} could not be read.` : copyResult(copy.name, copy.match)
444
+ }
445
+ )
446
+ ] }),
447
+ reference && /* @__PURE__ */ jsxRuntime.jsxs(
448
+ "p",
449
+ {
450
+ className: "mt-8 text-xs text-muted-foreground",
451
+ "data-testid": "signature-certificate-reference",
452
+ children: [
453
+ "Reference ",
454
+ reference
455
+ ]
456
+ }
457
+ )
458
+ ] });
459
+ }
460
+ var LINK2 = "font-medium text-primary hover:underline pointer-coarse:min-h-11";
461
+ var DEFAULT_VERSION_SNAPSHOT_BAR_LABELS = {
462
+ title: (number) => `${number ? `Version ${number}` : "Saved version"} \xB7 read only`,
463
+ ask: "Ask about this version",
464
+ returnToCurrent: "Return to current version",
465
+ returnToLive: "Return to live document"
466
+ };
467
+ function VersionSnapshotBar({
468
+ versionNumber,
469
+ live = false,
470
+ onAsk,
471
+ onReturn,
472
+ labels: overrides
473
+ }) {
474
+ const labels = { ...DEFAULT_VERSION_SNAPSHOT_BAR_LABELS, ...overrides };
475
+ return /* @__PURE__ */ jsxRuntime.jsxs(
476
+ "div",
477
+ {
478
+ className: "flex items-center justify-between border-b px-3 py-2 text-xs",
479
+ "data-testid": "version-snapshot-bar",
480
+ children: [
481
+ /* @__PURE__ */ jsxRuntime.jsx("span", { children: labels.title(versionNumber) }),
482
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "flex items-center gap-3", children: [
483
+ onAsk && /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", className: LINK2, "data-testid": "version-snapshot-ask", onClick: onAsk, children: labels.ask }),
484
+ /* @__PURE__ */ jsxRuntime.jsx(
485
+ "button",
486
+ {
487
+ type: "button",
488
+ className: LINK2,
489
+ "data-testid": "version-snapshot-return",
490
+ onClick: onReturn,
491
+ children: live ? labels.returnToLive : labels.returnToCurrent
492
+ }
493
+ )
494
+ ] })
495
+ ]
496
+ }
497
+ );
498
+ }
499
+ function names(request, status) {
500
+ return request.signers.filter((s) => s.status === status).map((s) => s.name || s.email || "");
501
+ }
502
+ function SignatureRequestBanner({
503
+ documentId,
504
+ onSign,
505
+ onEditDraft,
506
+ hidden = false
507
+ }) {
508
+ const { user, notify } = documentTools.useDocumentTools();
509
+ const requests = documentTools.useDocumentSignatureRequests(documentId, !hidden);
510
+ const voidRequest = documentTools.useVoidSignatureRequest();
511
+ const me = user?.externalId ?? null;
512
+ if (hidden || !me || !requests.data) return null;
513
+ const open = requests.data.filter((r) => r.status === "sent" || r.status === "draft");
514
+ const awaitingMe = open.filter(
515
+ (r) => r.status === "sent" && r.signers.some((s) => s.user_ext_id === me && s.status === "pending")
516
+ );
517
+ const sentByMe = open.filter(
518
+ (r) => r.status === "sent" && r.created_by === me && !awaitingMe.includes(r)
519
+ );
520
+ const drafts = open.filter((r) => r.status === "draft" && r.created_by === me);
521
+ if (awaitingMe.length + sentByMe.length + drafts.length === 0) return null;
522
+ const doVoid = async (request) => {
523
+ try {
524
+ await voidRequest.mutateAsync(request.external_id);
525
+ notify(request.status === "draft" ? "Draft discarded." : "Signature request voided.", "info");
526
+ } catch (err) {
527
+ notify(err instanceof Error ? err.message : "Could not void it", "error");
528
+ }
529
+ };
530
+ return /* @__PURE__ */ jsxRuntime.jsxs(
531
+ "div",
532
+ {
533
+ className: "space-y-1.5 border-b border-border px-3 py-2 text-sm",
534
+ "data-testid": "signature-request-banner",
535
+ children: [
536
+ awaitingMe.map((r) => {
537
+ const count = r.fields.filter((f) => f.signer === me).length;
538
+ const author = r.signers.find((s) => s.user_ext_id === r.created_by)?.name;
539
+ return /* @__PURE__ */ jsxRuntime.jsxs(
540
+ "div",
541
+ {
542
+ className: "flex flex-wrap items-center gap-2 rounded-md bg-blue-50 px-2 py-1.5 text-blue-950 dark:bg-blue-950/40 dark:text-blue-100",
543
+ "data-testid": "signature-request-awaiting-me",
544
+ children: [
545
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.PenLine, { className: "size-4 shrink-0", "aria-hidden": true }),
546
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "mr-auto", children: [
547
+ author && r.created_by !== me ? `${author} asked you to sign` : "You are asked to sign",
548
+ " ",
549
+ count,
550
+ " field",
551
+ count === 1 ? "" : "s",
552
+ " in this document.",
553
+ r.stale && " It has changed since it was sent: ask for it again."
554
+ ] }),
555
+ /* @__PURE__ */ jsxRuntime.jsx(
556
+ ui.Button,
557
+ {
558
+ type: "button",
559
+ size: "sm",
560
+ onClick: () => onSign(r),
561
+ disabled: r.stale,
562
+ "data-testid": "signature-request-start",
563
+ children: "Review and sign"
564
+ }
565
+ )
566
+ ]
567
+ },
568
+ r.external_id
569
+ );
570
+ }),
571
+ sentByMe.map((r) => {
572
+ const pending = names(r, "pending");
573
+ const signed = r.signers.length - pending.length;
574
+ return /* @__PURE__ */ jsxRuntime.jsxs(
575
+ "div",
576
+ {
577
+ className: "flex flex-wrap items-center gap-2",
578
+ "data-testid": "signature-request-sent",
579
+ children: [
580
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Send, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": true }),
581
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "mr-auto", children: [
582
+ "Out for signature: ",
583
+ signed,
584
+ " of ",
585
+ r.signers.length,
586
+ " signed",
587
+ pending.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-muted-foreground", children: [
588
+ " \xB7 waiting for ",
589
+ pending.join(", ")
590
+ ] }),
591
+ r.stale && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-red-text", children: " \xB7 the document has changed since it was sent" })
592
+ ] }),
593
+ /* @__PURE__ */ jsxRuntime.jsx(
594
+ ui.Button,
595
+ {
596
+ type: "button",
597
+ size: "sm",
598
+ variant: "ghost",
599
+ onClick: () => doVoid(r),
600
+ disabled: voidRequest.isPending,
601
+ children: "Void"
602
+ }
603
+ )
604
+ ]
605
+ },
606
+ r.external_id
607
+ );
608
+ }),
609
+ drafts.map((r) => /* @__PURE__ */ jsxRuntime.jsxs(
610
+ "div",
611
+ {
612
+ className: "flex flex-wrap items-center gap-2",
613
+ "data-testid": "signature-request-draft",
614
+ children: [
615
+ /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FilePenLine, { className: "size-4 shrink-0 text-muted-foreground", "aria-hidden": true }),
616
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "mr-auto", children: [
617
+ "Draft signature request: ",
618
+ r.fields.length,
619
+ " field",
620
+ r.fields.length === 1 ? "" : "s",
621
+ ", not sent yet."
622
+ ] }),
623
+ /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { type: "button", size: "sm", variant: "outline", onClick: () => onEditDraft(r), children: "Continue" }),
624
+ /* @__PURE__ */ jsxRuntime.jsx(
625
+ ui.Button,
626
+ {
627
+ type: "button",
628
+ size: "sm",
629
+ variant: "ghost",
630
+ onClick: () => doVoid(r),
631
+ disabled: voidRequest.isPending,
632
+ children: "Discard"
633
+ }
634
+ )
635
+ ]
636
+ },
637
+ r.external_id
638
+ ))
639
+ ]
640
+ }
641
+ );
642
+ }
643
+
644
+ exports.AnnotateButton = AnnotateButton;
645
+ exports.DEFAULT_VERSION_SNAPSHOT_BAR_LABELS = DEFAULT_VERSION_SNAPSHOT_BAR_LABELS;
646
+ exports.DownloadMarkupButton = DownloadMarkupButton;
647
+ exports.MarkupNotices = MarkupNotices;
648
+ exports.MarkupViewNote = MarkupViewNote;
649
+ exports.RequestSignaturesButton = RequestSignaturesButton;
650
+ exports.ShowOriginalButton = ShowOriginalButton;
651
+ exports.SignButton = SignButton;
652
+ exports.SignatureCertificate = SignatureCertificate;
653
+ exports.SignatureRequestBanner = SignatureRequestBanner;
654
+ exports.SignatureStatus = SignatureStatus;
655
+ exports.SignedEditNote = SignedEditNote;
656
+ exports.VersionSnapshotBar = VersionSnapshotBar;
657
+ exports.formatSignedAt = formatSignedAt;
658
+ //# sourceMappingURL=chunk-D3WFIFRY.cjs.map
659
+ //# sourceMappingURL=chunk-D3WFIFRY.cjs.map