@arbidocs/blocks 0.5.91 → 0.5.92
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.
- package/dist/{ConnectedCallDock-PJE7EZ6T.js → ConnectedCallDock-H5ABOXNR.js} +13 -13
- package/dist/{ConnectedCallDock-PJE7EZ6T.js.map → ConnectedCallDock-H5ABOXNR.js.map} +1 -1
- package/dist/{ConnectedCallDock-ZRSZYSLO.cjs → ConnectedCallDock-XF56C2JA.cjs} +22 -22
- package/dist/{ConnectedCallDock-ZRSZYSLO.cjs.map → ConnectedCallDock-XF56C2JA.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-XK2RPNO6.cjs → ConnectedCallRoom-EEI2ZVTS.cjs} +14 -14
- package/dist/{ConnectedCallRoom-XK2RPNO6.cjs.map → ConnectedCallRoom-EEI2ZVTS.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-S7DO2MP6.js → ConnectedCallRoom-N6DUEV4S.js} +13 -13
- package/dist/{ConnectedCallRoom-S7DO2MP6.js.map → ConnectedCallRoom-N6DUEV4S.js.map} +1 -1
- package/dist/{ConnectedMailInviteCard-YYPLRL6G.js → ConnectedMailInviteCard-2TXUPVV7.js} +4 -4
- package/dist/{ConnectedMailInviteCard-YYPLRL6G.js.map → ConnectedMailInviteCard-2TXUPVV7.js.map} +1 -1
- package/dist/{ConnectedMailInviteCard-OBDYWUFM.cjs → ConnectedMailInviteCard-RSNELYZX.cjs} +5 -5
- package/dist/{ConnectedMailInviteCard-OBDYWUFM.cjs.map → ConnectedMailInviteCard-RSNELYZX.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-2RIERXLW.js → ConnectedNativeDocxComparison-P6GG3ODF.js} +18 -18
- package/dist/ConnectedNativeDocxComparison-P6GG3ODF.js.map +1 -0
- package/dist/{ConnectedNativeDocxComparison-46C7LYGT.cjs → ConnectedNativeDocxComparison-QHAV3K7N.cjs} +19 -19
- package/dist/ConnectedNativeDocxComparison-QHAV3K7N.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-6XMB2XT7.cjs → ConnectedNativeDocxEditor-6HQD3MHT.cjs} +19 -19
- package/dist/ConnectedNativeDocxEditor-6HQD3MHT.cjs.map +1 -0
- package/dist/{ConnectedNativeDocxEditor-K6X63CPL.js → ConnectedNativeDocxEditor-CWDRJHXN.js} +17 -17
- package/dist/ConnectedNativeDocxEditor-CWDRJHXN.js.map +1 -0
- package/dist/{ConnectedProductionSetDialog-JXQLGDIH.js → ConnectedProductionSetDialog-2SM3ZNBF.js} +3 -3
- package/dist/{ConnectedProductionSetDialog-JXQLGDIH.js.map → ConnectedProductionSetDialog-2SM3ZNBF.js.map} +1 -1
- package/dist/{ConnectedProductionSetDialog-T3Q32XPJ.cjs → ConnectedProductionSetDialog-XNGMUGB6.cjs} +3 -3
- package/dist/{ConnectedProductionSetDialog-T3Q32XPJ.cjs.map → ConnectedProductionSetDialog-XNGMUGB6.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-6UMLSR3G.js → ConnectedStreamedWordArtifact-4SU4FVZE.js} +18 -18
- package/dist/ConnectedStreamedWordArtifact-4SU4FVZE.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-GFFLCGF7.cjs → ConnectedStreamedWordArtifact-5V7VRTEY.cjs} +19 -19
- package/dist/ConnectedStreamedWordArtifact-5V7VRTEY.cjs.map +1 -0
- package/dist/{DocumentReviewCard-SAKLHM4Y.js → DocumentReviewCard-LP33IGEL.js} +18 -18
- package/dist/{DocumentReviewCard-SAKLHM4Y.js.map → DocumentReviewCard-LP33IGEL.js.map} +1 -1
- package/dist/{DocumentReviewCard-XGYMO5YS.cjs → DocumentReviewCard-QV3CM7YP.cjs} +23 -23
- package/dist/{DocumentReviewCard-XGYMO5YS.cjs.map → DocumentReviewCard-QV3CM7YP.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-HNBRY7RQ.js → FilesViewerDialog-FZYXO3MS.js} +29 -29
- package/dist/{FilesViewerDialog-HNBRY7RQ.js.map → FilesViewerDialog-FZYXO3MS.js.map} +1 -1
- package/dist/{FilesViewerDialog-3C6JUMVS.cjs → FilesViewerDialog-JKNA25Q3.cjs} +31 -31
- package/dist/{FilesViewerDialog-3C6JUMVS.cjs.map → FilesViewerDialog-JKNA25Q3.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-DFN4WGRI.js → WorkspaceTableView-IFXCT6AJ.js} +10 -10
- package/dist/{WorkspaceTableView-DFN4WGRI.js.map → WorkspaceTableView-IFXCT6AJ.js.map} +1 -1
- package/dist/{WorkspaceTableView-UOP3EB2F.cjs → WorkspaceTableView-PZVCHSOP.cjs} +12 -12
- package/dist/{WorkspaceTableView-UOP3EB2F.cjs.map → WorkspaceTableView-PZVCHSOP.cjs.map} +1 -1
- package/dist/agents/index.cjs +353 -353
- package/dist/agents/index.js +14 -14
- package/dist/calendar/index.cjs +116 -116
- package/dist/calendar/index.js +1 -1
- package/dist/calls/index.cjs +154 -154
- package/dist/calls/index.js +13 -13
- package/dist/chat/index.cjs +18 -18
- package/dist/chat/index.js +2 -2
- package/dist/{chunk-B7RAN4DM.js → chunk-26RAAEFP.js} +3 -3
- package/dist/{chunk-B7RAN4DM.js.map → chunk-26RAAEFP.js.map} +1 -1
- package/dist/{chunk-GUGSUCIK.js → chunk-2A5QNDV2.js} +3 -3
- package/dist/{chunk-GUGSUCIK.js.map → chunk-2A5QNDV2.js.map} +1 -1
- package/dist/{chunk-WWMVVAA5.js → chunk-2AEWXS4X.js} +8 -8
- package/dist/{chunk-WWMVVAA5.js.map → chunk-2AEWXS4X.js.map} +1 -1
- package/dist/{chunk-HMS3GRMI.cjs → chunk-2Q7LETQX.cjs} +6 -6
- package/dist/{chunk-HMS3GRMI.cjs.map → chunk-2Q7LETQX.cjs.map} +1 -1
- package/dist/{chunk-OZS7THEB.js → chunk-2RDH5PVJ.js} +3 -3
- package/dist/{chunk-OZS7THEB.js.map → chunk-2RDH5PVJ.js.map} +1 -1
- package/dist/{chunk-6XOHTWDR.cjs → chunk-2XTU5H2U.cjs} +69 -69
- package/dist/{chunk-6XOHTWDR.cjs.map → chunk-2XTU5H2U.cjs.map} +1 -1
- package/dist/{chunk-JIFXHVO4.js → chunk-3BSFHBHY.js} +4 -4
- package/dist/{chunk-JIFXHVO4.js.map → chunk-3BSFHBHY.js.map} +1 -1
- package/dist/{chunk-SK6BAW7L.js → chunk-46IG4KY7.js} +103 -104
- package/dist/chunk-46IG4KY7.js.map +1 -0
- package/dist/{chunk-BLAWERIU.cjs → chunk-4P553YX2.cjs} +36 -36
- package/dist/{chunk-BLAWERIU.cjs.map → chunk-4P553YX2.cjs.map} +1 -1
- package/dist/{chunk-UAF2J7P7.cjs → chunk-5HEMXXHR.cjs} +103 -104
- package/dist/chunk-5HEMXXHR.cjs.map +1 -0
- package/dist/{chunk-A4MBPDLX.cjs → chunk-5S52732U.cjs} +6 -6
- package/dist/{chunk-A4MBPDLX.cjs.map → chunk-5S52732U.cjs.map} +1 -1
- package/dist/{chunk-4RFNQRUD.js → chunk-5SUIQS75.js} +16 -16
- package/dist/{chunk-4RFNQRUD.js.map → chunk-5SUIQS75.js.map} +1 -1
- package/dist/{chunk-Y2FPWPDB.js → chunk-5XB3H2TJ.js} +3 -3
- package/dist/{chunk-Y2FPWPDB.js.map → chunk-5XB3H2TJ.js.map} +1 -1
- package/dist/{chunk-NZQZ2HFU.cjs → chunk-64KZM3RZ.cjs} +3 -3
- package/dist/{chunk-NZQZ2HFU.cjs.map → chunk-64KZM3RZ.cjs.map} +1 -1
- package/dist/{chunk-YIJ4MFYM.js → chunk-6U6IY7DB.js} +3 -3
- package/dist/{chunk-YIJ4MFYM.js.map → chunk-6U6IY7DB.js.map} +1 -1
- package/dist/{chunk-K6UKLIRR.js → chunk-AS3HX7LL.js} +3 -3
- package/dist/{chunk-K6UKLIRR.js.map → chunk-AS3HX7LL.js.map} +1 -1
- package/dist/{chunk-LBRJA4ZJ.cjs → chunk-AZVKR4JO.cjs} +3 -3
- package/dist/{chunk-LBRJA4ZJ.cjs.map → chunk-AZVKR4JO.cjs.map} +1 -1
- package/dist/{chunk-RIBQCTBQ.js → chunk-B2NHC2KC.js} +3 -3
- package/dist/{chunk-RIBQCTBQ.js.map → chunk-B2NHC2KC.js.map} +1 -1
- package/dist/{chunk-IXA534S4.js → chunk-BCYFZIG6.js} +13 -13
- package/dist/{chunk-IXA534S4.js.map → chunk-BCYFZIG6.js.map} +1 -1
- package/dist/{chunk-VJLW3UPL.cjs → chunk-BDTPWXUW.cjs} +7 -7
- package/dist/{chunk-VJLW3UPL.cjs.map → chunk-BDTPWXUW.cjs.map} +1 -1
- package/dist/{chunk-EXZPKMMP.js → chunk-BSTVTI5G.js} +14 -14
- package/dist/{chunk-EXZPKMMP.js.map → chunk-BSTVTI5G.js.map} +1 -1
- package/dist/{chunk-OTODKLR3.cjs → chunk-C5CWKZ5D.cjs} +3 -3
- package/dist/{chunk-OTODKLR3.cjs.map → chunk-C5CWKZ5D.cjs.map} +1 -1
- package/dist/{chunk-LPGBRMYS.js → chunk-CHQMVIHR.js} +36 -36
- package/dist/chunk-CHQMVIHR.js.map +1 -0
- package/dist/{chunk-Z6NX57CU.js → chunk-CPOFZYKH.js} +4 -4
- package/dist/{chunk-Z6NX57CU.js.map → chunk-CPOFZYKH.js.map} +1 -1
- package/dist/{chunk-Q4ORI364.cjs → chunk-DBGN4M4F.cjs} +19 -19
- package/dist/{chunk-Q4ORI364.cjs.map → chunk-DBGN4M4F.cjs.map} +1 -1
- package/dist/{chunk-3TECBO75.cjs → chunk-DCYVHUSU.cjs} +54 -54
- package/dist/{chunk-3TECBO75.cjs.map → chunk-DCYVHUSU.cjs.map} +1 -1
- package/dist/{chunk-PZXEXHKB.cjs → chunk-DIE5ENQC.cjs} +28 -28
- package/dist/{chunk-PZXEXHKB.cjs.map → chunk-DIE5ENQC.cjs.map} +1 -1
- package/dist/{chunk-TVLY7FTU.js → chunk-DW7LSBIW.js} +3 -3
- package/dist/{chunk-TVLY7FTU.js.map → chunk-DW7LSBIW.js.map} +1 -1
- package/dist/{chunk-RCOJ7JG5.cjs → chunk-EBNY3RTL.cjs} +4 -4
- package/dist/{chunk-RCOJ7JG5.cjs.map → chunk-EBNY3RTL.cjs.map} +1 -1
- package/dist/{chunk-FEBLYTME.js → chunk-ER36PSS7.js} +5 -5
- package/dist/{chunk-FEBLYTME.js.map → chunk-ER36PSS7.js.map} +1 -1
- package/dist/{chunk-VIRQYEFL.cjs → chunk-F5T4W2R2.cjs} +140 -140
- package/dist/chunk-F5T4W2R2.cjs.map +1 -0
- package/dist/{chunk-RQNNHO44.cjs → chunk-GE2O6S44.cjs} +4 -4
- package/dist/{chunk-RQNNHO44.cjs.map → chunk-GE2O6S44.cjs.map} +1 -1
- package/dist/{chunk-4UMSQ67B.js → chunk-H57PBOFE.js} +3 -3
- package/dist/{chunk-4UMSQ67B.js.map → chunk-H57PBOFE.js.map} +1 -1
- package/dist/{chunk-7OPOPYV6.cjs → chunk-H5OLHP2U.cjs} +3 -3
- package/dist/{chunk-7OPOPYV6.cjs.map → chunk-H5OLHP2U.cjs.map} +1 -1
- package/dist/{chunk-VK5Q5JXU.cjs → chunk-HDPT7D6F.cjs} +3 -3
- package/dist/{chunk-VK5Q5JXU.cjs.map → chunk-HDPT7D6F.cjs.map} +1 -1
- package/dist/{chunk-HU7MB33Q.js → chunk-HLVLPDDD.js} +3 -3
- package/dist/{chunk-HU7MB33Q.js.map → chunk-HLVLPDDD.js.map} +1 -1
- package/dist/{chunk-CLPDKHSP.cjs → chunk-HYDIQEDT.cjs} +12 -12
- package/dist/{chunk-CLPDKHSP.cjs.map → chunk-HYDIQEDT.cjs.map} +1 -1
- package/dist/{chunk-HUE76NAI.cjs → chunk-I6SPGHFY.cjs} +2 -2
- package/dist/{chunk-HUE76NAI.cjs.map → chunk-I6SPGHFY.cjs.map} +1 -1
- package/dist/{chunk-M6XUGXCY.cjs → chunk-IHJ7BEI5.cjs} +741 -741
- package/dist/chunk-IHJ7BEI5.cjs.map +1 -0
- package/dist/{chunk-WLQAD6ZY.js → chunk-IL6OWGAU.js} +744 -744
- package/dist/chunk-IL6OWGAU.js.map +1 -0
- package/dist/{chunk-KXRGVY3M.cjs → chunk-ILLWGL7Q.cjs} +4 -4
- package/dist/{chunk-KXRGVY3M.cjs.map → chunk-ILLWGL7Q.cjs.map} +1 -1
- package/dist/{chunk-WFNEZT7S.cjs → chunk-IOCEKN44.cjs} +4 -4
- package/dist/{chunk-WFNEZT7S.cjs.map → chunk-IOCEKN44.cjs.map} +1 -1
- package/dist/{chunk-MFEJKCCZ.js → chunk-JGA2JJEL.js} +3 -3
- package/dist/{chunk-MFEJKCCZ.js.map → chunk-JGA2JJEL.js.map} +1 -1
- package/dist/{chunk-UCQ3VXRB.js → chunk-JM7Z3QNS.js} +5 -5
- package/dist/{chunk-UCQ3VXRB.js.map → chunk-JM7Z3QNS.js.map} +1 -1
- package/dist/{chunk-3KNKAZ5D.cjs → chunk-K3C4WECV.cjs} +5 -5
- package/dist/{chunk-3KNKAZ5D.cjs.map → chunk-K3C4WECV.cjs.map} +1 -1
- package/dist/{chunk-DGG35TPO.cjs → chunk-KB2FH26M.cjs} +4 -4
- package/dist/{chunk-DGG35TPO.cjs.map → chunk-KB2FH26M.cjs.map} +1 -1
- package/dist/{chunk-MB3IQLNN.cjs → chunk-L4USMBHU.cjs} +18 -18
- package/dist/chunk-L4USMBHU.cjs.map +1 -0
- package/dist/{chunk-XIEX3HO3.js → chunk-L4YGZJYR.js} +3 -3
- package/dist/{chunk-XIEX3HO3.js.map → chunk-L4YGZJYR.js.map} +1 -1
- package/dist/{chunk-KNC77LZZ.cjs → chunk-LMOLE5PS.cjs} +3 -3
- package/dist/{chunk-KNC77LZZ.cjs.map → chunk-LMOLE5PS.cjs.map} +1 -1
- package/dist/{chunk-PYLG3M6G.js → chunk-LTRFQ2IC.js} +2 -2
- package/dist/{chunk-PYLG3M6G.js.map → chunk-LTRFQ2IC.js.map} +1 -1
- package/dist/{chunk-636KUL53.js → chunk-NSJUMOLN.js} +5 -5
- package/dist/{chunk-636KUL53.js.map → chunk-NSJUMOLN.js.map} +1 -1
- package/dist/{chunk-7SJXYEZI.cjs → chunk-OAIOOVFN.cjs} +36 -36
- package/dist/chunk-OAIOOVFN.cjs.map +1 -0
- package/dist/{chunk-FKPFKSDT.js → chunk-PA2I7GLY.js} +6 -6
- package/dist/{chunk-FKPFKSDT.js.map → chunk-PA2I7GLY.js.map} +1 -1
- package/dist/{chunk-4KARJ4CC.js → chunk-PCAWLVHE.js} +3 -3
- package/dist/{chunk-4KARJ4CC.js.map → chunk-PCAWLVHE.js.map} +1 -1
- package/dist/{chunk-7QDLONHA.js → chunk-PPFTNP6J.js} +11 -11
- package/dist/chunk-PPFTNP6J.js.map +1 -0
- package/dist/{chunk-2FPBFLOX.cjs → chunk-Q4X5RK4A.cjs} +9 -3
- package/dist/chunk-Q4X5RK4A.cjs.map +1 -0
- package/dist/{chunk-4VUKYB32.cjs → chunk-Q5TOUT2C.cjs} +4 -4
- package/dist/{chunk-4VUKYB32.cjs.map → chunk-Q5TOUT2C.cjs.map} +1 -1
- package/dist/{chunk-DU3H4WC6.cjs → chunk-QIEUKIBH.cjs} +4 -4
- package/dist/{chunk-DU3H4WC6.cjs.map → chunk-QIEUKIBH.cjs.map} +1 -1
- package/dist/{chunk-5YBH5CQD.cjs → chunk-QJNHVQUQ.cjs} +26 -26
- package/dist/{chunk-5YBH5CQD.cjs.map → chunk-QJNHVQUQ.cjs.map} +1 -1
- package/dist/{chunk-C33VIPE2.js → chunk-QZ6XGYGW.js} +9 -3
- package/dist/chunk-QZ6XGYGW.js.map +1 -0
- package/dist/{chunk-YRVE6RX5.cjs → chunk-RB6MAAS7.cjs} +4 -4
- package/dist/{chunk-YRVE6RX5.cjs.map → chunk-RB6MAAS7.cjs.map} +1 -1
- package/dist/{chunk-KPD7WAXP.js → chunk-S6QBLVPP.js} +3 -3
- package/dist/{chunk-KPD7WAXP.js.map → chunk-S6QBLVPP.js.map} +1 -1
- package/dist/{chunk-TIQZ7CXZ.js → chunk-SOLSDXOZ.js} +83 -83
- package/dist/chunk-SOLSDXOZ.js.map +1 -0
- package/dist/{chunk-ZZE3ORJS.js → chunk-SOZIHPO2.js} +3 -3
- package/dist/{chunk-ZZE3ORJS.js.map → chunk-SOZIHPO2.js.map} +1 -1
- package/dist/{chunk-TSP5JJ56.js → chunk-VUXWBUZ7.js} +11 -11
- package/dist/{chunk-TSP5JJ56.js.map → chunk-VUXWBUZ7.js.map} +1 -1
- package/dist/{chunk-NZ26UYEQ.cjs → chunk-VWX36C4Y.cjs} +67 -67
- package/dist/{chunk-NZ26UYEQ.cjs.map → chunk-VWX36C4Y.cjs.map} +1 -1
- package/dist/{chunk-YACOI5ZU.cjs → chunk-WA2U4G43.cjs} +62 -62
- package/dist/{chunk-YACOI5ZU.cjs.map → chunk-WA2U4G43.cjs.map} +1 -1
- package/dist/{chunk-PSJAFPMH.js → chunk-WLWZAS7J.js} +4 -4
- package/dist/{chunk-PSJAFPMH.js.map → chunk-WLWZAS7J.js.map} +1 -1
- package/dist/{chunk-GNKQVCMW.cjs → chunk-WVEYUH6C.cjs} +6 -6
- package/dist/{chunk-GNKQVCMW.cjs.map → chunk-WVEYUH6C.cjs.map} +1 -1
- package/dist/{chunk-2F65OOU3.js → chunk-YB2P5Y52.js} +7 -7
- package/dist/{chunk-2F65OOU3.js.map → chunk-YB2P5Y52.js.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +22 -22
- package/dist/connect/docx.js +18 -18
- package/dist/connect/index.cjs +1176 -1176
- package/dist/connect/index.js +87 -87
- package/dist/connect/viewer.cjs +28 -28
- package/dist/connect/viewer.js +27 -27
- package/dist/dashboards/index.cjs +1 -1
- package/dist/dashboards/index.js +1 -1
- package/dist/embed/index.cjs +42 -42
- package/dist/embed/index.js +36 -36
- package/dist/facts/index.cjs +44 -44
- package/dist/facts/index.js +3 -3
- package/dist/files/index.cjs +226 -226
- package/dist/files/index.js +5 -5
- package/dist/index.cjs +1631 -1631
- package/dist/index.js +47 -47
- package/dist/settings/index.cjs +153 -153
- package/dist/settings/index.js +4 -4
- package/dist/shell/Sidebar.d.ts +4 -2
- package/dist/shell/index.cjs +89 -89
- package/dist/shell/index.js +10 -10
- package/dist/shell/use-sidebar-controller.d.ts +3 -3
- package/dist/studio/index.cjs +18 -18
- package/dist/studio/index.js +15 -15
- package/dist/workflow-canvas/index.cjs +66 -66
- package/dist/workflow-canvas/index.js +42 -42
- package/dist/workspaces/index.cjs +20 -20
- package/dist/workspaces/index.js +3 -3
- package/node_modules/@arbidocs/coedit/package.json +1 -1
- package/package.json +5 -5
- package/dist/ConnectedNativeDocxComparison-2RIERXLW.js.map +0 -1
- package/dist/ConnectedNativeDocxComparison-46C7LYGT.cjs.map +0 -1
- package/dist/ConnectedNativeDocxEditor-6XMB2XT7.cjs.map +0 -1
- package/dist/ConnectedNativeDocxEditor-K6X63CPL.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-6UMLSR3G.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-GFFLCGF7.cjs.map +0 -1
- package/dist/chunk-2FPBFLOX.cjs.map +0 -1
- package/dist/chunk-7QDLONHA.js.map +0 -1
- package/dist/chunk-7SJXYEZI.cjs.map +0 -1
- package/dist/chunk-C33VIPE2.js.map +0 -1
- package/dist/chunk-LPGBRMYS.js.map +0 -1
- package/dist/chunk-M6XUGXCY.cjs.map +0 -1
- package/dist/chunk-MB3IQLNN.cjs.map +0 -1
- package/dist/chunk-SK6BAW7L.js.map +0 -1
- package/dist/chunk-TIQZ7CXZ.js.map +0 -1
- package/dist/chunk-UAF2J7P7.cjs.map +0 -1
- package/dist/chunk-VIRQYEFL.cjs.map +0 -1
- package/dist/chunk-WLQAD6ZY.js.map +0 -1
|
@@ -2,12 +2,111 @@
|
|
|
2
2
|
import { useConnectedWorkspace } from './chunk-JVJOIZNN.js';
|
|
3
3
|
import { EntityTooltip, EntityTooltipHeader, EntityTooltipSection, EntityTooltipHint } from './chunk-3UIJLUXN.js';
|
|
4
4
|
import { useBlocksEnvironment } from './chunk-3KA6GZUW.js';
|
|
5
|
+
import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, Button, Tooltip, TooltipTrigger, TooltipContent } from '@arbidocs/react/ui';
|
|
6
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
7
|
import { memo, useMemo } from 'react';
|
|
6
8
|
import { Users, MessageCircleMore } from 'lucide-react';
|
|
7
9
|
import { useWorkspaces, ArbiBotHeadIcon, useArbiWsStatus, useArbiWsStore, useUserSettings, useArbiSession, usePeople } from '@arbidocs/react';
|
|
8
|
-
import { isAgent, UserEntity, getUserInitials, getUserDisplayName, getUserAvatarColor, agentAvatarColors, Avatar, AvatarImage, AvatarFallback, cn, ShieldIcon, getWorkspaceColor, Button, Tooltip, TooltipTrigger, TooltipContent } from '@arbidocs/react/ui';
|
|
9
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
10
|
|
|
11
|
+
// src/calls/recording-labels.ts
|
|
12
|
+
var MODE_LABEL = {
|
|
13
|
+
audio: "Audio",
|
|
14
|
+
audio_video: "Audio + video"
|
|
15
|
+
};
|
|
16
|
+
var EXPIRY_DAYS = [null, 7, 30, 90];
|
|
17
|
+
function expiryFor(days, now = Date.now()) {
|
|
18
|
+
return days ? new Date(now + days * 864e5).toISOString() : null;
|
|
19
|
+
}
|
|
20
|
+
function expiryChoiceOf(expiresAt, now = Date.now()) {
|
|
21
|
+
if (!expiresAt) return "none";
|
|
22
|
+
const days = (Date.parse(expiresAt) - now) / 864e5;
|
|
23
|
+
const nearest = [7, 30, 90].reduce(
|
|
24
|
+
(best, d) => Math.abs(d - days) < Math.abs(best - days) ? d : best
|
|
25
|
+
);
|
|
26
|
+
return String(nearest);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// src/calls/call-cards.ts
|
|
30
|
+
var ids = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
|
|
31
|
+
var str = (v) => typeof v === "string" && v ? v : null;
|
|
32
|
+
function parseCallLogDetail(detail) {
|
|
33
|
+
const callExtId = str(detail?.call_ext_id);
|
|
34
|
+
if (!detail || !callExtId) return null;
|
|
35
|
+
return {
|
|
36
|
+
call_ext_id: callExtId,
|
|
37
|
+
started_by: str(detail.started_by),
|
|
38
|
+
invited: ids(detail.invited),
|
|
39
|
+
started_at: str(detail.started_at),
|
|
40
|
+
ended_at: str(detail.ended_at),
|
|
41
|
+
duration_s: typeof detail.duration_s === "number" ? detail.duration_s : null,
|
|
42
|
+
joined: ids(detail.joined),
|
|
43
|
+
meeting_conversation_ext_id: str(detail.meeting_conversation_ext_id)
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function formatCallDuration(seconds) {
|
|
47
|
+
if (seconds == null || seconds < 0) return null;
|
|
48
|
+
if (seconds < 60) return `${Math.round(seconds)} s`;
|
|
49
|
+
const minutes = Math.round(seconds / 60);
|
|
50
|
+
if (minutes < 60) return `${minutes} min`;
|
|
51
|
+
const h = Math.floor(minutes / 60);
|
|
52
|
+
const m = minutes % 60;
|
|
53
|
+
return m ? `${h} h ${m} min` : `${h} h`;
|
|
54
|
+
}
|
|
55
|
+
function isCallLive(call, liveNow) {
|
|
56
|
+
if (liveNow) return true;
|
|
57
|
+
if (!call?.started_at || call.cancelled) return false;
|
|
58
|
+
return !call.ended_at || Date.parse(call.started_at) > Date.parse(call.ended_at);
|
|
59
|
+
}
|
|
60
|
+
function contactsCallTitle(names) {
|
|
61
|
+
if (!names.length) return null;
|
|
62
|
+
const shown = names.slice(0, 3).join(", ");
|
|
63
|
+
return `Call with ${shown}${names.length > 3 ? ` +${names.length - 3}` : ""}`;
|
|
64
|
+
}
|
|
65
|
+
function HeaderAction({
|
|
66
|
+
label,
|
|
67
|
+
icon,
|
|
68
|
+
iconOnly = false,
|
|
69
|
+
onClick,
|
|
70
|
+
testId,
|
|
71
|
+
className
|
|
72
|
+
}) {
|
|
73
|
+
if (!iconOnly) {
|
|
74
|
+
return /* @__PURE__ */ jsxs(
|
|
75
|
+
Button,
|
|
76
|
+
{
|
|
77
|
+
type: "button",
|
|
78
|
+
size: "sm",
|
|
79
|
+
variant: "outline",
|
|
80
|
+
className,
|
|
81
|
+
onClick,
|
|
82
|
+
"data-testid": testId,
|
|
83
|
+
children: [
|
|
84
|
+
/* @__PURE__ */ jsx("span", { className: "mr-1 inline-flex", children: icon }),
|
|
85
|
+
label
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
91
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
92
|
+
Button,
|
|
93
|
+
{
|
|
94
|
+
type: "button",
|
|
95
|
+
size: "icon",
|
|
96
|
+
variant: "ghost",
|
|
97
|
+
className,
|
|
98
|
+
"aria-label": label,
|
|
99
|
+
onClick,
|
|
100
|
+
"data-testid": testId,
|
|
101
|
+
children: [
|
|
102
|
+
icon,
|
|
103
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: label })
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
) }),
|
|
107
|
+
/* @__PURE__ */ jsx(TooltipContent, { side: "bottom", children: label })
|
|
108
|
+
] });
|
|
109
|
+
}
|
|
11
110
|
function useDisplayStatus(user, isMe, showPresence) {
|
|
12
111
|
const wsStatus = useArbiWsStatus();
|
|
13
112
|
const presence = useArbiWsStore(
|
|
@@ -156,106 +255,6 @@ var ConnectedUserEntity = memo(function ConnectedUserEntity2({
|
|
|
156
255
|
}
|
|
157
256
|
);
|
|
158
257
|
});
|
|
159
|
-
|
|
160
|
-
// src/calls/call-cards.ts
|
|
161
|
-
var ids = (v) => Array.isArray(v) ? v.filter((x) => typeof x === "string") : [];
|
|
162
|
-
var str = (v) => typeof v === "string" && v ? v : null;
|
|
163
|
-
function parseCallLogDetail(detail) {
|
|
164
|
-
const callExtId = str(detail?.call_ext_id);
|
|
165
|
-
if (!detail || !callExtId) return null;
|
|
166
|
-
return {
|
|
167
|
-
call_ext_id: callExtId,
|
|
168
|
-
started_by: str(detail.started_by),
|
|
169
|
-
invited: ids(detail.invited),
|
|
170
|
-
started_at: str(detail.started_at),
|
|
171
|
-
ended_at: str(detail.ended_at),
|
|
172
|
-
duration_s: typeof detail.duration_s === "number" ? detail.duration_s : null,
|
|
173
|
-
joined: ids(detail.joined),
|
|
174
|
-
meeting_conversation_ext_id: str(detail.meeting_conversation_ext_id)
|
|
175
|
-
};
|
|
176
|
-
}
|
|
177
|
-
function formatCallDuration(seconds) {
|
|
178
|
-
if (seconds == null || seconds < 0) return null;
|
|
179
|
-
if (seconds < 60) return `${Math.round(seconds)} s`;
|
|
180
|
-
const minutes = Math.round(seconds / 60);
|
|
181
|
-
if (minutes < 60) return `${minutes} min`;
|
|
182
|
-
const h = Math.floor(minutes / 60);
|
|
183
|
-
const m = minutes % 60;
|
|
184
|
-
return m ? `${h} h ${m} min` : `${h} h`;
|
|
185
|
-
}
|
|
186
|
-
function isCallLive(call, liveNow) {
|
|
187
|
-
if (liveNow) return true;
|
|
188
|
-
if (!call?.started_at || call.cancelled) return false;
|
|
189
|
-
return !call.ended_at || Date.parse(call.started_at) > Date.parse(call.ended_at);
|
|
190
|
-
}
|
|
191
|
-
function contactsCallTitle(names) {
|
|
192
|
-
if (!names.length) return null;
|
|
193
|
-
const shown = names.slice(0, 3).join(", ");
|
|
194
|
-
return `Call with ${shown}${names.length > 3 ? ` +${names.length - 3}` : ""}`;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
// src/calls/recording-labels.ts
|
|
198
|
-
var MODE_LABEL = {
|
|
199
|
-
audio: "Audio",
|
|
200
|
-
audio_video: "Audio + video"
|
|
201
|
-
};
|
|
202
|
-
var EXPIRY_DAYS = [null, 7, 30, 90];
|
|
203
|
-
function expiryFor(days, now = Date.now()) {
|
|
204
|
-
return days ? new Date(now + days * 864e5).toISOString() : null;
|
|
205
|
-
}
|
|
206
|
-
function expiryChoiceOf(expiresAt, now = Date.now()) {
|
|
207
|
-
if (!expiresAt) return "none";
|
|
208
|
-
const days = (Date.parse(expiresAt) - now) / 864e5;
|
|
209
|
-
const nearest = [7, 30, 90].reduce(
|
|
210
|
-
(best, d) => Math.abs(d - days) < Math.abs(best - days) ? d : best
|
|
211
|
-
);
|
|
212
|
-
return String(nearest);
|
|
213
|
-
}
|
|
214
|
-
function HeaderAction({
|
|
215
|
-
label,
|
|
216
|
-
icon,
|
|
217
|
-
iconOnly = false,
|
|
218
|
-
onClick,
|
|
219
|
-
testId,
|
|
220
|
-
className
|
|
221
|
-
}) {
|
|
222
|
-
if (!iconOnly) {
|
|
223
|
-
return /* @__PURE__ */ jsxs(
|
|
224
|
-
Button,
|
|
225
|
-
{
|
|
226
|
-
type: "button",
|
|
227
|
-
size: "sm",
|
|
228
|
-
variant: "outline",
|
|
229
|
-
className,
|
|
230
|
-
onClick,
|
|
231
|
-
"data-testid": testId,
|
|
232
|
-
children: [
|
|
233
|
-
/* @__PURE__ */ jsx("span", { className: "mr-1 inline-flex", children: icon }),
|
|
234
|
-
label
|
|
235
|
-
]
|
|
236
|
-
}
|
|
237
|
-
);
|
|
238
|
-
}
|
|
239
|
-
return /* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
240
|
-
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
|
|
241
|
-
Button,
|
|
242
|
-
{
|
|
243
|
-
type: "button",
|
|
244
|
-
size: "icon",
|
|
245
|
-
variant: "ghost",
|
|
246
|
-
className,
|
|
247
|
-
"aria-label": label,
|
|
248
|
-
onClick,
|
|
249
|
-
"data-testid": testId,
|
|
250
|
-
children: [
|
|
251
|
-
icon,
|
|
252
|
-
/* @__PURE__ */ jsx("span", { className: "sr-only", children: label })
|
|
253
|
-
]
|
|
254
|
-
}
|
|
255
|
-
) }),
|
|
256
|
-
/* @__PURE__ */ jsx(TooltipContent, { side: "bottom", children: label })
|
|
257
|
-
] });
|
|
258
|
-
}
|
|
259
258
|
function useCallUser(identity, fallbackName) {
|
|
260
259
|
const me = useArbiSession().user;
|
|
261
260
|
const { byId } = usePeople();
|
|
@@ -296,5 +295,5 @@ var CallUserPill = memo(function CallUserPill2({
|
|
|
296
295
|
});
|
|
297
296
|
|
|
298
297
|
export { CallUserPill, ConnectedUserEntity, EXPIRY_DAYS, HeaderAction, MODE_LABEL, contactsCallTitle, expiryChoiceOf, expiryFor, formatCallDuration, isCallLive, parseCallLogDetail };
|
|
299
|
-
//# sourceMappingURL=chunk-
|
|
300
|
-
//# sourceMappingURL=chunk-
|
|
298
|
+
//# sourceMappingURL=chunk-46IG4KY7.js.map
|
|
299
|
+
//# sourceMappingURL=chunk-46IG4KY7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/calls/recording-labels.ts","../src/calls/call-cards.ts","../src/calls/HeaderAction.tsx","../src/connection/entities/ConnectedUserEntity.tsx","../src/calls/connected/CallUserPill.tsx"],"names":["ConnectedUserEntity","jsx","jsxs","ArbiBotIcon","useMemo","memo","CallUserPill","getUserDisplayName"],"mappings":"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","file":"chunk-46IG4KY7.js","sourcesContent":["import type { calls } from '@arbidocs/sdk/browser'\n\n/** Shared by the recording UI (kept out of the component files for fast refresh). */\n\n/** How a recording mode is named in the UI. */\nexport const MODE_LABEL: Record<calls.RecordingMode, string> = {\n audio: 'Audio',\n audio_video: 'Audio + video',\n}\n\n/** Expiry choices (days; null = kept). */\nexport const EXPIRY_DAYS = [null, 7, 30, 90] as const\n\n/** `expires_at` for a choice, from now. */\nexport function expiryFor(days: number | null, now = Date.now()): string | null {\n return days ? new Date(now + days * 86_400_000).toISOString() : null\n}\n\n/** Which expiry choice an `expires_at` is closest to (for the select). */\nexport function expiryChoiceOf(expiresAt: string | null, now = Date.now()): string {\n if (!expiresAt) return 'none'\n const days = (Date.parse(expiresAt) - now) / 86_400_000\n const nearest = [7, 30, 90].reduce((best, d) =>\n Math.abs(d - days) < Math.abs(best - days) ? d : best\n )\n return String(nearest)\n}\n","/** Pure helpers for the call cards and call titles (kept apart from the components). */\n\nimport type { calls } from '@arbidocs/sdk/browser'\n\nexport interface CallLogDetail {\n call_ext_id: string\n started_by: string | null\n invited: string[]\n started_at: string | null\n ended_at: string | null\n duration_s: number | null\n joined: string[]\n meeting_conversation_ext_id: string | null\n}\n\nconst ids = (v: unknown): string[] =>\n Array.isArray(v) ? v.filter((x): x is string => typeof x === 'string') : []\nconst str = (v: unknown): string | null => (typeof v === 'string' && v ? v : null)\n\n/** The card's detail from an activity event's `detail`, or null when it is not a call card. */\nexport function parseCallLogDetail(\n detail: Record<string, unknown> | null | undefined\n): CallLogDetail | null {\n const callExtId = str(detail?.call_ext_id)\n if (!detail || !callExtId) return null\n return {\n call_ext_id: callExtId,\n started_by: str(detail.started_by),\n invited: ids(detail.invited),\n started_at: str(detail.started_at),\n ended_at: str(detail.ended_at),\n duration_s: typeof detail.duration_s === 'number' ? detail.duration_s : null,\n joined: ids(detail.joined),\n meeting_conversation_ext_id: str(detail.meeting_conversation_ext_id),\n }\n}\n\n/** \"45 s\", \"12 min\", \"1 h 5 min\". */\nexport function formatCallDuration(seconds: number | null | undefined): string | null {\n if (seconds == null || seconds < 0) return null\n if (seconds < 60) return `${Math.round(seconds)} s`\n const minutes = Math.round(seconds / 60)\n if (minutes < 60) return `${minutes} min`\n const h = Math.floor(minutes / 60)\n const m = minutes % 60\n return m ? `${h} h ${m} min` : `${h} h`\n}\n\n/** Whether the call's current session is running (the server's view, or `call.started`). */\nexport function isCallLive(\n call: Pick<calls.CallResponse, 'started_at' | 'ended_at' | 'cancelled'> | undefined,\n liveNow: boolean\n): boolean {\n if (liveNow) return true\n if (!call?.started_at || call.cancelled) return false\n return !call.ended_at || Date.parse(call.started_at) > Date.parse(call.ended_at)\n}\n\n/** \"Call with Ada, Bob\" (the title is encrypted under the call key). */\nexport function contactsCallTitle(names: string[]): string | null {\n if (!names.length) return null\n const shown = names.slice(0, 3).join(', ')\n return `Call with ${shown}${names.length > 3 ? ` +${names.length - 3}` : ''}`\n}\n","/**\n * A secondary action of a conversation header (Save transcript, Recordings): labelled where there\n * is room, or icon-only with the label in a tooltip (and for screen readers) where the header is\n * crowded — the thread's title keeps priority.\n */\n\nimport type { ReactElement, ReactNode } from 'react'\nimport { Button, Tooltip, TooltipContent, TooltipTrigger } from '@arbidocs/react/ui'\n\nexport function HeaderAction({\n label,\n icon,\n iconOnly = false,\n onClick,\n testId,\n className,\n}: {\n label: string\n icon: ReactNode\n iconOnly?: boolean\n onClick(): void\n testId?: string\n className?: string\n}): ReactElement {\n if (!iconOnly) {\n return (\n <Button\n type=\"button\"\n size=\"sm\"\n variant=\"outline\"\n className={className}\n onClick={onClick}\n data-testid={testId}\n >\n <span className=\"mr-1 inline-flex\">{icon}</span>\n {label}\n </Button>\n )\n }\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n type=\"button\"\n size=\"icon\"\n variant=\"ghost\"\n className={className}\n aria-label={label}\n onClick={onClick}\n data-testid={testId}\n >\n {icon}\n <span className=\"sr-only\">{label}</span>\n </Button>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">{label}</TooltipContent>\n </Tooltip>\n )\n}\n","/**\n * A person, connected: the shared avatar / pill (`UserEntity` in `@arbidocs/react/ui`) with what\n * the session knows about them. \"You\" for the signed-in user, their live presence (and, on your own\n * avatar, the live connection's status unless you hide your online status), the workspaces you\n * share and an agent's owner in the hover card. A click on someone else opens your direct chat\n * with them (`openDirectChat`); on yourself, your settings.\n */\nimport { memo, useMemo, type MouseEvent } from 'react'\nimport { MessageCircleMore, Users } from 'lucide-react'\nimport {\n ArbiBotHeadIcon as ArbiBotIcon,\n useArbiWsStatus,\n useArbiWsStore,\n useUserSettings,\n useWorkspaces,\n} from '@arbidocs/react'\nimport {\n Avatar,\n AvatarFallback,\n AvatarImage,\n ShieldIcon,\n UserEntity,\n agentAvatarColors,\n cn,\n getWorkspaceColor,\n type PresenceDisplayStatus,\n getUserAvatarColor,\n getUserDisplayName,\n getUserInitials,\n isAgent,\n} from '@arbidocs/react/ui'\nimport type { components } from '@arbidocs/client'\nimport {\n EntityTooltip,\n EntityTooltipHeader,\n EntityTooltipHint,\n EntityTooltipSection,\n} from '../../components/EntityTooltip'\nimport { useBlocksEnvironment } from '../../provider/environment'\nimport { useConnectedWorkspace } from '../ConnectionProvider'\n\ntype UserResponse = components['schemas']['UserResponse']\n\nexport interface ConnectedUserEntityProps {\n user?: UserResponse | null\n size?: 'xs' | 'sm' | 'md' | 'lg'\n variant?: 'icon' | 'pill'\n className?: string\n /** Hovering shows their card (default true). */\n showTooltip?: boolean\n /** The presence dot (default true). */\n showPresence?: boolean\n /** A click opens the chat with them, or your settings (default true). */\n interactive?: boolean\n /** Your own label in place of \"You\" (e.g. \"Ada Lovelace (me)\" in a call). */\n selfLabel?: string\n}\n\n/** The presence dot: your own live connection, or the person's presence. */\nfunction useDisplayStatus(\n user: UserResponse | null | undefined,\n isMe: boolean,\n showPresence: boolean\n): PresenceDisplayStatus | undefined {\n const wsStatus = useArbiWsStatus()\n const presence = useArbiWsStore((s) =>\n showPresence && user ? s.presence[user.external_id] : undefined\n )\n const { data: settings } = useUserSettings()\n if (!showPresence) return undefined\n if (isMe) {\n // Hiding your online status hides only \"connected\": connection trouble always shows.\n if (wsStatus === 'connected') return settings?.hide_online_status ? 'hidden' : 'connected'\n return wsStatus === 'reconnecting' ? 'connecting' : wsStatus\n }\n // `unknown` (removed from contacts, or hidden) and no news show grey.\n return presence === 'online' ? 'connected' : 'hidden'\n}\n\nexport const ConnectedUserEntity = memo(function ConnectedUserEntity({\n user,\n size = 'md',\n variant = 'pill',\n className,\n showTooltip = true,\n showPresence = true,\n interactive = true,\n selfLabel,\n}: ConnectedUserEntityProps) {\n const { userId: currentUserId } = useConnectedWorkspace()\n const { openDirectChat, openSettings } = useBlocksEnvironment()\n const isMe = !!(user && currentUserId && user.external_id === currentUserId)\n const displayStatus = useDisplayStatus(user, isMe, showPresence)\n\n // The workspaces you share with them, and an agent's human owner (the hover card only).\n const { data: workspaces = [] } = useWorkspaces()\n const sharedWorkspaces = useMemo(() => {\n if (!user || isMe) return []\n return workspaces.filter((ws) =>\n ws.users?.some((member) => member.user.external_id === user.external_id)\n )\n }, [workspaces, user, isMe])\n const agentOwner = useMemo(() => {\n if (!user || !isAgent(user) || !user.parent_ext_id) return null\n for (const ws of workspaces) {\n const found = ws.users?.find((member) => member.user.external_id === user.parent_ext_id)\n if (found) return found.user\n }\n return null\n }, [user, workspaces])\n\n if (!user) return <UserEntity empty size={size} className={className} />\n\n const initials = getUserInitials(user)\n const userIsAgent = isAgent(user)\n const fullName = getUserDisplayName(user)\n const colorClass = getUserAvatarColor(user.external_id)\n const agentStyle = userIsAgent ? agentAvatarColors(colorClass) : undefined\n const canChat = !isMe && !!openDirectChat\n\n const onClick = (e: MouseEvent) => {\n e.stopPropagation()\n if (isMe) openSettings()\n else openDirectChat?.(user.external_id)\n }\n\n const tooltipContent = (\n <EntityTooltip>\n <EntityTooltipHeader\n lead={\n <Avatar\n className={cn(\n 'h-8 w-8',\n userIsAgent ? 'rounded-full border-2 border-dashed' : 'border border-white'\n )}\n style={agentStyle}\n >\n {user.picture && <AvatarImage src={user.picture} alt={initials} />}\n <AvatarFallback\n className={cn(\n 'text-xs font-semibold leading-none',\n userIsAgent ? 'rounded-full bg-transparent' : `text-white ${colorClass}`\n )}\n style={agentStyle}\n >\n {initials}\n </AvatarFallback>\n </Avatar>\n }\n title={fullName}\n titleAccessory={\n userIsAgent ? <ArbiBotIcon className=\"w-3.5 h-3.5 text-primary\" /> : undefined\n }\n subtitle={user.email}\n />\n\n {userIsAgent && agentOwner && (\n <EntityTooltipSection>\n <EntityTooltipHint icon={<ArbiBotIcon className=\"w-3.5 h-3.5 flex-shrink-0\" />}>\n Agent of{' '}\n <span className=\"font-medium text-foreground\">{getUserDisplayName(agentOwner)}</span>\n </EntityTooltipHint>\n </EntityTooltipSection>\n )}\n\n {sharedWorkspaces.length > 0 && (\n <EntityTooltipSection\n icon={<Users className=\"w-3.5 h-3.5 flex-shrink-0\" />}\n heading=\"Shared Workspaces\"\n >\n <div className=\"flex flex-wrap gap-1 pl-5\">\n {sharedWorkspaces.slice(0, 3).map((ws) => (\n <div\n key={ws.external_id}\n className=\"inline-flex items-center gap-1 px-1.5 py-0.5 bg-muted rounded text-xs\"\n >\n <ShieldIcon\n char={ws.name.charAt(0)}\n workspaceColor={getWorkspaceColor(ws.external_id)}\n size={14}\n />\n <span className=\"truncate max-w-[80px]\">{ws.name}</span>\n </div>\n ))}\n {sharedWorkspaces.length > 3 && (\n <span className=\"text-xs text-muted-foreground\">\n +{sharedWorkspaces.length - 3} more\n </span>\n )}\n </div>\n </EntityTooltipSection>\n )}\n\n {interactive && variant === 'pill' && canChat && (\n <EntityTooltipHint isRuled icon={<MessageCircleMore className=\"w-3 h-3\" />}>\n Click to send message\n </EntityTooltipHint>\n )}\n </EntityTooltip>\n )\n\n return (\n <UserEntity\n size={size}\n variant={variant}\n className={className}\n showTooltip={showTooltip}\n interactive={interactive && (isMe || canChat)}\n initials={initials}\n displayName={isMe ? (selfLabel ?? 'You') : fullName}\n picture={user.picture}\n colorClass={colorClass}\n isAgent={userIsAgent}\n isVerified={user.is_identity_verified === true}\n agentStyle={agentStyle}\n isMe={isMe}\n displayStatus={displayStatus}\n onClick={onClick}\n tooltipContent={tooltipContent}\n />\n )\n})\n","/**\n * A person in the call UI, shown the way people are shown everywhere: the `ConnectedUserEntity`\n * pill (avatar with initials or picture, name, verified tick), without presence. My own reads\n * \"Name (me)\". The user is one the session already knows (me, contacts, workspace members); a\n * participant it does not know yet gets a pill built from the call's own name for them.\n */\n\nimport { memo, useMemo, type ReactElement } from 'react'\nimport { useArbiSession, usePeople, type UserResponse } from '@arbidocs/react'\nimport { getUserDisplayName, type EntitySize } from '@arbidocs/react/ui'\nimport { ConnectedUserEntity } from '../../connection/entities/ConnectedUserEntity'\n\n/** A person in the call UI (a participant, a speaker, a host). */\nexport interface CallUserPillProps {\n /** Their LiveKit identity: the user ext id. */\n identity: string\n /** The call's name for them, for someone the session does not know. */\n name?: string | null\n size?: EntitySize\n variant?: 'pill' | 'icon'\n /** Click opens a chat with them (off by default inside the call). */\n interactive?: boolean\n className?: string\n}\n\n/** The known user for an identity (user ext id), else a stand-in from the call's name. */\nfunction useCallUser(identity: string, fallbackName?: string | null): UserResponse {\n const me = useArbiSession().user\n const { byId } = usePeople()\n return useMemo(() => {\n if (me && me.external_id === identity) return me as UserResponse\n const user = byId(identity)\n if (user) return user\n const [given = '', ...rest] = (fallbackName || identity).trim().split(/\\s+/)\n return {\n external_id: identity,\n given_name: given,\n family_name: rest.join(' '),\n email: '',\n } as UserResponse\n }, [me, byId, identity, fallbackName])\n}\n\nexport const CallUserPill = memo(function CallUserPill({\n identity,\n name,\n size = 'xs',\n variant = 'pill',\n interactive = false,\n className,\n}: CallUserPillProps): ReactElement {\n const user = useCallUser(identity, name)\n return (\n <ConnectedUserEntity\n user={user}\n size={size}\n variant={variant}\n interactive={interactive}\n showPresence={false}\n selfLabel={`${getUserDisplayName(user)} (me)`}\n className={className}\n />\n )\n})\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var chunkKB2FH26M_cjs = require('./chunk-KB2FH26M.cjs');
|
|
5
5
|
var chunkZPPMAL5P_cjs = require('./chunk-ZPPMAL5P.cjs');
|
|
6
|
-
var chunkUIXY4HKM_cjs = require('./chunk-UIXY4HKM.cjs');
|
|
7
6
|
var chunkLKK52DEY_cjs = require('./chunk-LKK52DEY.cjs');
|
|
7
|
+
var chunkUIXY4HKM_cjs = require('./chunk-UIXY4HKM.cjs');
|
|
8
8
|
var chunkULWRNGGE_cjs = require('./chunk-ULWRNGGE.cjs');
|
|
9
9
|
var ui = require('@arbidocs/react/ui');
|
|
10
10
|
var react = require('react');
|
|
@@ -196,7 +196,7 @@ function TileStatusBadge({ doc, status }) {
|
|
|
196
196
|
case "failed":
|
|
197
197
|
tone = "danger";
|
|
198
198
|
icon = /* @__PURE__ */ jsxRuntime.jsx(
|
|
199
|
-
|
|
199
|
+
chunkKB2FH26M_cjs.FailedStageIcon,
|
|
200
200
|
{
|
|
201
201
|
stage: doc.failed_stage ?? null,
|
|
202
202
|
errorMessage: doc.error_message,
|
|
@@ -223,7 +223,7 @@ function TileStatusBadge({ doc, status }) {
|
|
|
223
223
|
return null;
|
|
224
224
|
}
|
|
225
225
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
226
|
-
|
|
226
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
227
227
|
{
|
|
228
228
|
tone,
|
|
229
229
|
icon,
|
|
@@ -235,11 +235,11 @@ function TileStatusBadge({ doc, status }) {
|
|
|
235
235
|
function TileVisibilityBadge({ doc }) {
|
|
236
236
|
const shared = !!doc.shared;
|
|
237
237
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
238
|
-
|
|
238
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
239
239
|
{
|
|
240
240
|
icon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: shared, className: "size-3.5", "aria-hidden": true }),
|
|
241
241
|
label: shared ? ui.getEntityLabel("WORKSPACE") : "Only you",
|
|
242
|
-
title:
|
|
242
|
+
title: chunkKB2FH26M_cjs.visibilityAudience(shared),
|
|
243
243
|
testId: `explorer-file-visibility-${doc.external_id}`
|
|
244
244
|
}
|
|
245
245
|
);
|
|
@@ -266,7 +266,7 @@ function FileTooltipContent({
|
|
|
266
266
|
}) {
|
|
267
267
|
const labels = (doc.doctags ?? []).map((dt) => tagNameById.get(dt.tag_ext_id)).filter((name) => !!name);
|
|
268
268
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
269
|
-
|
|
269
|
+
chunkKB2FH26M_cjs.ExplorerFileTooltip,
|
|
270
270
|
{
|
|
271
271
|
title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
|
|
272
272
|
summary: ui.getDocumentSubject(doc),
|
|
@@ -275,7 +275,7 @@ function FileTooltipContent({
|
|
|
275
275
|
shared: !!doc.shared,
|
|
276
276
|
visibilityIcon: /* @__PURE__ */ jsxRuntime.jsx(ui.VisibilityIcon, { isShared: !!doc.shared, className: "h-3 w-3" }),
|
|
277
277
|
labels,
|
|
278
|
-
uiLabels: { shared:
|
|
278
|
+
uiLabels: { shared: chunkKB2FH26M_cjs.visibilityAudience(true), private: chunkKB2FH26M_cjs.visibilityAudience(false) }
|
|
279
279
|
}
|
|
280
280
|
);
|
|
281
281
|
}
|
|
@@ -387,7 +387,7 @@ var FileTile = react.memo(function FileTile2({
|
|
|
387
387
|
];
|
|
388
388
|
const tooltip = renaming || dndActive ? void 0 : /* @__PURE__ */ jsxRuntime.jsx(FileTooltipContent, { doc, modifiedBy, tagNameById });
|
|
389
389
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
390
|
-
|
|
390
|
+
chunkKB2FH26M_cjs.ExplorerFileTile,
|
|
391
391
|
{
|
|
392
392
|
id: doc.external_id,
|
|
393
393
|
title: ui.getDocumentTitle(doc, doc.file_name ?? ""),
|
|
@@ -481,17 +481,17 @@ var FolderTile = react.memo(function FolderTile2({
|
|
|
481
481
|
}
|
|
482
482
|
] : []
|
|
483
483
|
];
|
|
484
|
-
const displayName = folder.path.length === 1 ?
|
|
485
|
-
const providerIcon = folder.path.length === 1 &&
|
|
484
|
+
const displayName = folder.path.length === 1 ? chunkKB2FH26M_cjs.formatFolderSegment(folder.name) : folder.name;
|
|
485
|
+
const providerIcon = folder.path.length === 1 && chunkKB2FH26M_cjs.hasFolderProviderIcon(folder.name) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
486
486
|
"span",
|
|
487
487
|
{
|
|
488
488
|
className: "flex items-center justify-center drop-shadow-sm",
|
|
489
489
|
style: { width: iconSize, height: iconSize },
|
|
490
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(chunkKB2FH26M_cjs.FolderProviderIcon, { folderPath: folder.name, className: "h-full w-full" })
|
|
491
491
|
}
|
|
492
492
|
) : void 0;
|
|
493
493
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
494
|
-
|
|
494
|
+
chunkKB2FH26M_cjs.ExplorerFolderTile,
|
|
495
495
|
{
|
|
496
496
|
name: folder.name,
|
|
497
497
|
displayName: displayName === "" ? null : displayName,
|
|
@@ -581,7 +581,7 @@ function describeGlyph(resolved, doc) {
|
|
|
581
581
|
}
|
|
582
582
|
return {
|
|
583
583
|
node: /* @__PURE__ */ jsxRuntime.jsx(
|
|
584
|
-
|
|
584
|
+
chunkKB2FH26M_cjs.FailedStageIcon,
|
|
585
585
|
{
|
|
586
586
|
stage: resolved.failedStage,
|
|
587
587
|
errorMessage: doc.error_message,
|
|
@@ -626,7 +626,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
626
626
|
if (isPendingSync) {
|
|
627
627
|
return cell(
|
|
628
628
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
629
|
-
|
|
629
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
630
630
|
{
|
|
631
631
|
tone: "warning",
|
|
632
632
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.RefreshCw, { className: "size-3.5" }),
|
|
@@ -641,7 +641,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
641
641
|
case "completed":
|
|
642
642
|
return cell(
|
|
643
643
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
644
|
-
|
|
644
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
645
645
|
{
|
|
646
646
|
tone: "success",
|
|
647
647
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.CheckCircle, { className: "size-3.5" }),
|
|
@@ -654,7 +654,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
654
654
|
case "skipped":
|
|
655
655
|
return cell(
|
|
656
656
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
657
|
-
|
|
657
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
658
658
|
{
|
|
659
659
|
tone: "neutral",
|
|
660
660
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.SkipForward, { className: "size-3.5" }),
|
|
@@ -667,7 +667,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
667
667
|
case "empty":
|
|
668
668
|
return cell(
|
|
669
669
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
670
|
-
|
|
670
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
671
671
|
{
|
|
672
672
|
tone: "warning",
|
|
673
673
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.FileX, { className: "size-3.5" }),
|
|
@@ -680,7 +680,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
680
680
|
case "low-content":
|
|
681
681
|
return cell(
|
|
682
682
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
683
|
-
|
|
683
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
684
684
|
{
|
|
685
685
|
tone: "warning",
|
|
686
686
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.AlertTriangle, { className: "size-3.5" }),
|
|
@@ -695,7 +695,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
695
695
|
if (quota) {
|
|
696
696
|
return cell(
|
|
697
697
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
698
|
-
|
|
698
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
699
699
|
{
|
|
700
700
|
tone: "warning",
|
|
701
701
|
icon: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.Zap, { className: "size-3.5" }),
|
|
@@ -708,11 +708,11 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
708
708
|
}
|
|
709
709
|
return cell(
|
|
710
710
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
711
|
-
|
|
711
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
712
712
|
{
|
|
713
713
|
tone: "danger",
|
|
714
714
|
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
|
715
|
-
|
|
715
|
+
chunkKB2FH26M_cjs.FailedStageIcon,
|
|
716
716
|
{
|
|
717
717
|
stage: failedStage,
|
|
718
718
|
errorMessage: doc.error_message,
|
|
@@ -729,7 +729,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
729
729
|
const isDocx = doc.file_name?.toLowerCase().endsWith(".docx");
|
|
730
730
|
return cell(
|
|
731
731
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
732
|
-
|
|
732
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
733
733
|
{
|
|
734
734
|
tone: "neutral",
|
|
735
735
|
label: isDocx ? "Uploaded" : "Queued",
|
|
@@ -746,7 +746,7 @@ var StatusCell2 = react.memo(function StatusCell3({
|
|
|
746
746
|
case "analysing":
|
|
747
747
|
return cell(
|
|
748
748
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
749
|
-
|
|
749
|
+
chunkKB2FH26M_cjs.StatusPill,
|
|
750
750
|
{
|
|
751
751
|
tone: "info",
|
|
752
752
|
label: PROCESSING_LABELS[status],
|
|
@@ -829,7 +829,7 @@ var DocumentNameCell = react.memo(function DocumentNameCell2({
|
|
|
829
829
|
}
|
|
830
830
|
};
|
|
831
831
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
832
|
-
|
|
832
|
+
chunkKB2FH26M_cjs.DocumentNameCellFrame,
|
|
833
833
|
{
|
|
834
834
|
testId: `open-document-viewer-button-${doc.external_id}`,
|
|
835
835
|
isViewing,
|
|
@@ -858,7 +858,7 @@ var DocumentNameCell = react.memo(function DocumentNameCell2({
|
|
|
858
858
|
openTimerRef.current = window.setTimeout(onOpen, OPEN_AFTER_DOUBLE_CLICK_WINDOW_MS);
|
|
859
859
|
},
|
|
860
860
|
actions: /* @__PURE__ */ jsxRuntime.jsx(
|
|
861
|
-
|
|
861
|
+
chunkKB2FH26M_cjs.DocumentRowMenu,
|
|
862
862
|
{
|
|
863
863
|
canEdit,
|
|
864
864
|
onOpen,
|
|
@@ -895,8 +895,8 @@ var DocumentSharedCell = react.memo(function DocumentSharedCell2({
|
|
|
895
895
|
onToggle: handleToggle,
|
|
896
896
|
disabled,
|
|
897
897
|
disabledTooltip,
|
|
898
|
-
tooltipActive:
|
|
899
|
-
tooltipInactive:
|
|
898
|
+
tooltipActive: chunkKB2FH26M_cjs.visibilityToggleTooltip(true),
|
|
899
|
+
tooltipInactive: chunkKB2FH26M_cjs.visibilityToggleTooltip(false),
|
|
900
900
|
workspaceLabel: ui.getEntityLabel("WORKSPACE")
|
|
901
901
|
}
|
|
902
902
|
);
|
|
@@ -910,7 +910,7 @@ function useDocumentFolders(documents, value) {
|
|
|
910
910
|
}, [documents, value]);
|
|
911
911
|
}
|
|
912
912
|
function folderSegments(folder) {
|
|
913
|
-
return folder.split("/").map((part, i) => i === 0 ?
|
|
913
|
+
return folder.split("/").map((part, i) => i === 0 ? chunkKB2FH26M_cjs.formatFolderSegment(part) : part).filter((part, i) => i > 0 || part !== "");
|
|
914
914
|
}
|
|
915
915
|
var DocumentFolderCell = react.memo(
|
|
916
916
|
function DocumentFolderCell2({
|
|
@@ -922,14 +922,14 @@ var DocumentFolderCell = react.memo(
|
|
|
922
922
|
const folder = document.folder;
|
|
923
923
|
const folders = useDocumentFolders(allDocuments, folder);
|
|
924
924
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
925
|
-
|
|
925
|
+
chunkKB2FH26M_cjs.FolderCell,
|
|
926
926
|
{
|
|
927
927
|
folder,
|
|
928
928
|
segments: folder ? folderSegments(folder) : [],
|
|
929
|
-
icon: folder &&
|
|
929
|
+
icon: folder && chunkKB2FH26M_cjs.hasFolderProviderIcon(folder) ? /* @__PURE__ */ jsxRuntime.jsx(chunkKB2FH26M_cjs.FolderProviderIcon, { folderPath: folder, className: "h-3.5 w-3.5 flex-none shrink-0" }) : void 0,
|
|
930
930
|
isEditable,
|
|
931
931
|
picker: /* @__PURE__ */ jsxRuntime.jsx(
|
|
932
|
-
|
|
932
|
+
chunkKB2FH26M_cjs.FolderCommandList,
|
|
933
933
|
{
|
|
934
934
|
folders,
|
|
935
935
|
value: folder,
|
|
@@ -965,7 +965,7 @@ var RelatedDocumentsCell = react.memo(function RelatedDocumentsCell2({
|
|
|
965
965
|
onCompare
|
|
966
966
|
}) {
|
|
967
967
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
968
|
-
|
|
968
|
+
chunkKB2FH26M_cjs.RelatedDocsCell,
|
|
969
969
|
{
|
|
970
970
|
parent: related.parent,
|
|
971
971
|
attachments: related.children,
|
|
@@ -1057,7 +1057,7 @@ var DocumentLabelsCell = react.memo(function DocumentLabelsCell2({
|
|
|
1057
1057
|
);
|
|
1058
1058
|
const openFieldsManager = actions?.openFieldsManager;
|
|
1059
1059
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1060
|
-
|
|
1060
|
+
chunkKB2FH26M_cjs.LabelMultiSelectView,
|
|
1061
1061
|
{
|
|
1062
1062
|
options,
|
|
1063
1063
|
appliedIds,
|
|
@@ -1087,5 +1087,5 @@ exports.openPendingSyncDialog = openPendingSyncDialog;
|
|
|
1087
1087
|
exports.parseQuotaError = parseQuotaError;
|
|
1088
1088
|
exports.startMenuItem = startMenuItem;
|
|
1089
1089
|
exports.useDocumentFolders = useDocumentFolders;
|
|
1090
|
-
//# sourceMappingURL=chunk-
|
|
1091
|
-
//# sourceMappingURL=chunk-
|
|
1090
|
+
//# sourceMappingURL=chunk-4P553YX2.cjs.map
|
|
1091
|
+
//# sourceMappingURL=chunk-4P553YX2.cjs.map
|