@arbidocs/blocks 0.5.107 → 0.5.108
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-TDYRHPAK.js → ConnectedCallDock-DV4FU376.js} +8 -8
- package/dist/{ConnectedCallDock-TDYRHPAK.js.map → ConnectedCallDock-DV4FU376.js.map} +1 -1
- package/dist/{ConnectedCallDock-H3WWFGXF.cjs → ConnectedCallDock-EM2VVGZK.cjs} +10 -10
- package/dist/{ConnectedCallDock-H3WWFGXF.cjs.map → ConnectedCallDock-EM2VVGZK.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-55O5OUN7.cjs → ConnectedCallRoom-7WEPEWUJ.cjs} +9 -9
- package/dist/{ConnectedCallRoom-55O5OUN7.cjs.map → ConnectedCallRoom-7WEPEWUJ.cjs.map} +1 -1
- package/dist/{ConnectedCallRoom-Z6F6WCLH.js → ConnectedCallRoom-RYTZP34O.js} +8 -8
- package/dist/{ConnectedCallRoom-Z6F6WCLH.js.map → ConnectedCallRoom-RYTZP34O.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-NVZRVNOS.js → ConnectedNativeDocxComparison-2NDXXZLQ.js} +15 -15
- package/dist/{ConnectedNativeDocxComparison-NVZRVNOS.js.map → ConnectedNativeDocxComparison-2NDXXZLQ.js.map} +1 -1
- package/dist/{ConnectedNativeDocxComparison-DGBZJ4XA.cjs → ConnectedNativeDocxComparison-7HOY3AVI.cjs} +16 -16
- package/dist/{ConnectedNativeDocxComparison-DGBZJ4XA.cjs.map → ConnectedNativeDocxComparison-7HOY3AVI.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-R4WINUUB.cjs → ConnectedNativeDocxEditor-CUWDPHXN.cjs} +16 -16
- package/dist/{ConnectedNativeDocxEditor-R4WINUUB.cjs.map → ConnectedNativeDocxEditor-CUWDPHXN.cjs.map} +1 -1
- package/dist/{ConnectedNativeDocxEditor-RSVBN7DY.js → ConnectedNativeDocxEditor-SPZB6Y27.js} +14 -14
- package/dist/{ConnectedNativeDocxEditor-RSVBN7DY.js.map → ConnectedNativeDocxEditor-SPZB6Y27.js.map} +1 -1
- package/dist/{ConnectedProductionSetDialog-2DFBXE2X.js → ConnectedProductionSetDialog-N3EDG3SU.js} +4 -4
- package/dist/{ConnectedProductionSetDialog-2DFBXE2X.js.map → ConnectedProductionSetDialog-N3EDG3SU.js.map} +1 -1
- package/dist/{ConnectedProductionSetDialog-KYDPQ7SG.cjs → ConnectedProductionSetDialog-XAEFEN3N.cjs} +4 -4
- package/dist/{ConnectedProductionSetDialog-KYDPQ7SG.cjs.map → ConnectedProductionSetDialog-XAEFEN3N.cjs.map} +1 -1
- package/dist/{ConnectedStreamedWordArtifact-HLJ5IIOU.js → ConnectedStreamedWordArtifact-6LTGEAJO.js} +15 -15
- package/dist/ConnectedStreamedWordArtifact-6LTGEAJO.js.map +1 -0
- package/dist/{ConnectedStreamedWordArtifact-JQ34AOUU.cjs → ConnectedStreamedWordArtifact-HNCRKZTV.cjs} +16 -16
- package/dist/ConnectedStreamedWordArtifact-HNCRKZTV.cjs.map +1 -0
- package/dist/{DocumentReviewCard-7JSXRJZ2.js → DocumentReviewCard-RJD3CO32.js} +8 -8
- package/dist/{DocumentReviewCard-7JSXRJZ2.js.map → DocumentReviewCard-RJD3CO32.js.map} +1 -1
- package/dist/{DocumentReviewCard-C4HVT3WM.cjs → DocumentReviewCard-VON7LOOY.cjs} +8 -8
- package/dist/{DocumentReviewCard-C4HVT3WM.cjs.map → DocumentReviewCard-VON7LOOY.cjs.map} +1 -1
- package/dist/{FilesViewerDialog-IMQTZWKD.js → FilesViewerDialog-7SJGY72Q.js} +21 -21
- package/dist/{FilesViewerDialog-IMQTZWKD.js.map → FilesViewerDialog-7SJGY72Q.js.map} +1 -1
- package/dist/{FilesViewerDialog-UP7GFHYN.cjs → FilesViewerDialog-VIPTC6OT.cjs} +27 -27
- package/dist/{FilesViewerDialog-UP7GFHYN.cjs.map → FilesViewerDialog-VIPTC6OT.cjs.map} +1 -1
- package/dist/{RechartsRenderer-GIRCW7DB.cjs → RechartsRenderer-THES2SE5.cjs} +6 -5
- package/dist/RechartsRenderer-THES2SE5.cjs.map +1 -0
- package/dist/{RechartsRenderer-23OF4H6X.js → RechartsRenderer-XIZLV6GH.js} +6 -5
- package/dist/RechartsRenderer-XIZLV6GH.js.map +1 -0
- package/dist/{WorkspaceTableView-PJM47B5F.cjs → WorkspaceTableView-FNME7TL6.cjs} +9 -9
- package/dist/{WorkspaceTableView-PJM47B5F.cjs.map → WorkspaceTableView-FNME7TL6.cjs.map} +1 -1
- package/dist/{WorkspaceTableView-YDA7A4UJ.js → WorkspaceTableView-XQ6J2JKI.js} +7 -7
- package/dist/{WorkspaceTableView-YDA7A4UJ.js.map → WorkspaceTableView-XQ6J2JKI.js.map} +1 -1
- package/dist/agents/index.cjs +202 -202
- package/dist/agents/index.js +8 -8
- package/dist/{ai-ADS6YSS2.cjs → ai-3SAMEYBB.cjs} +20 -20
- package/dist/ai-3SAMEYBB.cjs.map +1 -0
- package/dist/{ai-KHWTGBT5.js → ai-OTQWSYVK.js} +12 -12
- package/dist/ai-OTQWSYVK.js.map +1 -0
- package/dist/calls/index.cjs +57 -57
- package/dist/calls/index.js +9 -9
- package/dist/chat/index.cjs +3 -3
- package/dist/chat/index.js +3 -3
- package/dist/{chunk-O27K7KTZ.cjs → chunk-2TBQBF4Y.cjs} +5 -5
- package/dist/{chunk-O27K7KTZ.cjs.map → chunk-2TBQBF4Y.cjs.map} +1 -1
- package/dist/{chunk-YJWAGXYM.js → chunk-4ZA2RSQH.js} +3 -3
- package/dist/{chunk-YJWAGXYM.js.map → chunk-4ZA2RSQH.js.map} +1 -1
- package/dist/{chunk-6A4GNM4T.cjs → chunk-5D2ZINOJ.cjs} +16 -16
- package/dist/{chunk-6A4GNM4T.cjs.map → chunk-5D2ZINOJ.cjs.map} +1 -1
- package/dist/{chunk-BFVCYBND.cjs → chunk-5HXQOM3I.cjs} +5 -5
- package/dist/{chunk-BFVCYBND.cjs.map → chunk-5HXQOM3I.cjs.map} +1 -1
- package/dist/{chunk-GSD5U553.cjs → chunk-5KKT65WU.cjs} +3 -3
- package/dist/{chunk-GSD5U553.cjs.map → chunk-5KKT65WU.cjs.map} +1 -1
- package/dist/{chunk-AVGHTUPE.js → chunk-5PWLXLHY.js} +5 -5
- package/dist/chunk-5PWLXLHY.js.map +1 -0
- package/dist/{chunk-BBWLFK3C.js → chunk-5XIMUQ63.js} +3 -3
- package/dist/{chunk-BBWLFK3C.js.map → chunk-5XIMUQ63.js.map} +1 -1
- package/dist/{chunk-AHMRYY7J.cjs → chunk-6DAJXQZZ.cjs} +13 -13
- package/dist/{chunk-AHMRYY7J.cjs.map → chunk-6DAJXQZZ.cjs.map} +1 -1
- package/dist/{chunk-3PV25ICC.js → chunk-6KKVJ2V6.js} +3 -3
- package/dist/{chunk-3PV25ICC.js.map → chunk-6KKVJ2V6.js.map} +1 -1
- package/dist/{chunk-OLAYDOPC.js → chunk-6LUHNFEE.js} +6 -6
- package/dist/{chunk-OLAYDOPC.js.map → chunk-6LUHNFEE.js.map} +1 -1
- package/dist/{chunk-FSXQHEFQ.cjs → chunk-7CDV7Y4U.cjs} +25 -25
- package/dist/{chunk-FSXQHEFQ.cjs.map → chunk-7CDV7Y4U.cjs.map} +1 -1
- package/dist/{chunk-OAIOOVFN.cjs → chunk-7SJXYEZI.cjs} +36 -36
- package/dist/chunk-7SJXYEZI.cjs.map +1 -0
- package/dist/{chunk-LFYKB7KF.cjs → chunk-7V6APLF7.cjs} +19 -19
- package/dist/{chunk-LFYKB7KF.cjs.map → chunk-7V6APLF7.cjs.map} +1 -1
- package/dist/{chunk-4WMGFGYP.cjs → chunk-AJZ66VJC.cjs} +4 -4
- package/dist/{chunk-4WMGFGYP.cjs.map → chunk-AJZ66VJC.cjs.map} +1 -1
- package/dist/{chunk-KCP42W67.cjs → chunk-ARGQ5YZ5.cjs} +3 -3
- package/dist/{chunk-KCP42W67.cjs.map → chunk-ARGQ5YZ5.cjs.map} +1 -1
- package/dist/{chunk-BH6IKGZ3.js → chunk-AUAHGQY6.js} +5 -5
- package/dist/{chunk-BH6IKGZ3.js.map → chunk-AUAHGQY6.js.map} +1 -1
- package/dist/{chunk-KIXFXCHL.js → chunk-CEOCA7ID.js} +3 -3
- package/dist/{chunk-KIXFXCHL.js.map → chunk-CEOCA7ID.js.map} +1 -1
- package/dist/{chunk-TNKPQ3EF.js → chunk-CIRSOYGK.js} +12 -12
- package/dist/{chunk-TNKPQ3EF.js.map → chunk-CIRSOYGK.js.map} +1 -1
- package/dist/{chunk-BAUZUIHB.js → chunk-COL2TJGO.js} +83 -83
- package/dist/chunk-COL2TJGO.js.map +1 -0
- package/dist/{chunk-XHN5KOI2.cjs → chunk-DRLD4P2C.cjs} +8 -8
- package/dist/{chunk-XHN5KOI2.cjs.map → chunk-DRLD4P2C.cjs.map} +1 -1
- package/dist/{chunk-5AC52BHL.cjs → chunk-DYPFNQTQ.cjs} +140 -140
- package/dist/chunk-DYPFNQTQ.cjs.map +1 -0
- package/dist/{chunk-SCLGUHLU.cjs → chunk-E7TGSOPR.cjs} +4 -4
- package/dist/{chunk-SCLGUHLU.cjs.map → chunk-E7TGSOPR.cjs.map} +1 -1
- package/dist/{chunk-CRLFLMTK.cjs → chunk-EOXA4VJH.cjs} +3 -3
- package/dist/{chunk-CRLFLMTK.cjs.map → chunk-EOXA4VJH.cjs.map} +1 -1
- package/dist/{chunk-DBKZANTC.js → chunk-GA47YVW5.js} +3 -3
- package/dist/{chunk-DBKZANTC.js.map → chunk-GA47YVW5.js.map} +1 -1
- package/dist/{chunk-RCZRI72J.cjs → chunk-GMODJT4N.cjs} +4 -4
- package/dist/{chunk-RCZRI72J.cjs.map → chunk-GMODJT4N.cjs.map} +1 -1
- package/dist/{chunk-22KAKJ3W.cjs → chunk-GS5MFUPC.cjs} +4 -4
- package/dist/{chunk-22KAKJ3W.cjs.map → chunk-GS5MFUPC.cjs.map} +1 -1
- package/dist/{chunk-62OMGQHS.js → chunk-H6W3VXHU.js} +3 -3
- package/dist/{chunk-62OMGQHS.js.map → chunk-H6W3VXHU.js.map} +1 -1
- package/dist/{chunk-DX3Z2COD.cjs → chunk-HUYKO2ES.cjs} +3 -3
- package/dist/{chunk-DX3Z2COD.cjs.map → chunk-HUYKO2ES.cjs.map} +1 -1
- package/dist/{chunk-U5F5P4YU.js → chunk-IK234EFX.js} +12 -12
- package/dist/{chunk-U5F5P4YU.js.map → chunk-IK234EFX.js.map} +1 -1
- package/dist/{chunk-UQ2OBHMV.js → chunk-JUGEFTRC.js} +1010 -1010
- package/dist/chunk-JUGEFTRC.js.map +1 -0
- package/dist/{chunk-CHQMVIHR.js → chunk-LPGBRMYS.js} +36 -36
- package/dist/chunk-LPGBRMYS.js.map +1 -0
- package/dist/{chunk-D35EHOK5.cjs → chunk-M23W7IID.cjs} +12 -12
- package/dist/chunk-M23W7IID.cjs.map +1 -0
- package/dist/{chunk-FPOKWML2.js → chunk-MIVNNQO3.js} +21 -4
- package/dist/chunk-MIVNNQO3.js.map +1 -0
- package/dist/{chunk-WI3BVKEC.cjs → chunk-MNFI66H5.cjs} +5 -5
- package/dist/{chunk-WI3BVKEC.cjs.map → chunk-MNFI66H5.cjs.map} +1 -1
- package/dist/{chunk-T5ZMG6MC.js → chunk-NF4M7PUB.js} +3 -3
- package/dist/{chunk-T5ZMG6MC.js.map → chunk-NF4M7PUB.js.map} +1 -1
- package/dist/{chunk-ZNY5W3VX.js → chunk-NPSFPBIB.js} +3 -3
- package/dist/{chunk-ZNY5W3VX.js.map → chunk-NPSFPBIB.js.map} +1 -1
- package/dist/{chunk-LYW5A35J.js → chunk-OMIYTUVR.js} +12 -12
- package/dist/{chunk-LYW5A35J.js.map → chunk-OMIYTUVR.js.map} +1 -1
- package/dist/{chunk-ZMVF7EYJ.cjs → chunk-PBPO54KZ.cjs} +21 -3
- package/dist/chunk-PBPO54KZ.cjs.map +1 -0
- package/dist/{chunk-7V4OCZS6.cjs → chunk-RA3EGF6K.cjs} +6 -6
- package/dist/{chunk-7V4OCZS6.cjs.map → chunk-RA3EGF6K.cjs.map} +1 -1
- package/dist/{chunk-PL7O3RJJ.cjs → chunk-RKBAY7GZ.cjs} +3 -3
- package/dist/{chunk-PL7O3RJJ.cjs.map → chunk-RKBAY7GZ.cjs.map} +1 -1
- package/dist/{chunk-J3E5CSSC.js → chunk-RKFWBIKS.js} +3 -3
- package/dist/{chunk-J3E5CSSC.js.map → chunk-RKFWBIKS.js.map} +1 -1
- package/dist/{chunk-YLKHTBYA.js → chunk-RRP7MQAO.js} +3 -3
- package/dist/{chunk-YLKHTBYA.js.map → chunk-RRP7MQAO.js.map} +1 -1
- package/dist/{chunk-U6LQ6Z3P.cjs → chunk-SP3IKIPA.cjs} +6 -6
- package/dist/{chunk-U6LQ6Z3P.cjs.map → chunk-SP3IKIPA.cjs.map} +1 -1
- package/dist/{chunk-GX75YCWJ.cjs → chunk-SQUOXOY3.cjs} +560 -560
- package/dist/chunk-SQUOXOY3.cjs.map +1 -0
- package/dist/{chunk-6ZYOUT73.js → chunk-T5LORFHL.js} +7 -7
- package/dist/{chunk-6ZYOUT73.js.map → chunk-T5LORFHL.js.map} +1 -1
- package/dist/{chunk-45OU2UAA.cjs → chunk-TEMTKBBL.cjs} +10 -10
- package/dist/{chunk-45OU2UAA.cjs.map → chunk-TEMTKBBL.cjs.map} +1 -1
- package/dist/{chunk-PHDUN4SG.cjs → chunk-THCMGAFX.cjs} +41 -41
- package/dist/{chunk-PHDUN4SG.cjs.map → chunk-THCMGAFX.cjs.map} +1 -1
- package/dist/{chunk-HTGEAQOA.js → chunk-TOMDMKOD.js} +7 -7
- package/dist/{chunk-HTGEAQOA.js.map → chunk-TOMDMKOD.js.map} +1 -1
- package/dist/{chunk-WJHRWXWJ.js → chunk-TXIAF4PX.js} +3 -3
- package/dist/{chunk-WJHRWXWJ.js.map → chunk-TXIAF4PX.js.map} +1 -1
- package/dist/{chunk-6M5NAAWX.js → chunk-UCSEE52D.js} +3 -3
- package/dist/{chunk-6M5NAAWX.js.map → chunk-UCSEE52D.js.map} +1 -1
- package/dist/{chunk-I7CJDF3V.cjs → chunk-UHMP6S7M.cjs} +104 -103
- package/dist/chunk-UHMP6S7M.cjs.map +1 -0
- package/dist/{chunk-PGCKTXYH.js → chunk-UHUI6A36.js} +3 -3
- package/dist/{chunk-PGCKTXYH.js.map → chunk-UHUI6A36.js.map} +1 -1
- package/dist/{chunk-6KQVTMRL.cjs → chunk-UOGXKHTJ.cjs} +3 -3
- package/dist/{chunk-6KQVTMRL.cjs.map → chunk-UOGXKHTJ.cjs.map} +1 -1
- package/dist/{chunk-7S7YVBFK.js → chunk-VDSDG4FR.js} +3 -3
- package/dist/{chunk-7S7YVBFK.js.map → chunk-VDSDG4FR.js.map} +1 -1
- package/dist/{chunk-3GFQNJYE.js → chunk-VGWCHX6G.js} +104 -103
- package/dist/chunk-VGWCHX6G.js.map +1 -0
- package/dist/{chunk-VY3HTT37.js → chunk-VUH547VQ.js} +3 -3
- package/dist/{chunk-VY3HTT37.js.map → chunk-VUH547VQ.js.map} +1 -1
- package/dist/{chunk-AZCMKGDG.js → chunk-W37PFYFL.js} +4 -4
- package/dist/{chunk-AZCMKGDG.js.map → chunk-W37PFYFL.js.map} +1 -1
- package/dist/{chunk-JGUM4EXE.cjs → chunk-W3IX3GZS.cjs} +8 -8
- package/dist/{chunk-JGUM4EXE.cjs.map → chunk-W3IX3GZS.cjs.map} +1 -1
- package/dist/{chunk-UCA4JLLJ.cjs → chunk-X7GT57KW.cjs} +3 -3
- package/dist/{chunk-UCA4JLLJ.cjs.map → chunk-X7GT57KW.cjs.map} +1 -1
- package/dist/{chunk-IXL2KJOZ.cjs → chunk-XBEGD33U.cjs} +40 -40
- package/dist/{chunk-IXL2KJOZ.cjs.map → chunk-XBEGD33U.cjs.map} +1 -1
- package/dist/{chunk-FDNIK5YS.cjs → chunk-XBKIFGBB.cjs} +8 -8
- package/dist/{chunk-FDNIK5YS.cjs.map → chunk-XBKIFGBB.cjs.map} +1 -1
- package/dist/{chunk-HZE5MHQO.js → chunk-XT7HKQ4H.js} +3 -3
- package/dist/{chunk-HZE5MHQO.js.map → chunk-XT7HKQ4H.js.map} +1 -1
- package/dist/{chunk-M3OK6KGR.js → chunk-ZGQKED5T.js} +3 -3
- package/dist/{chunk-M3OK6KGR.js.map → chunk-ZGQKED5T.js.map} +1 -1
- package/dist/{chunk-NWBCZ4PA.js → chunk-ZKBYG6MN.js} +4 -4
- package/dist/{chunk-NWBCZ4PA.js.map → chunk-ZKBYG6MN.js.map} +1 -1
- package/dist/collaboration/index.cjs +1 -1
- package/dist/collaboration/index.js +1 -1
- package/dist/connect/docx.cjs +19 -19
- package/dist/connect/docx.js +15 -15
- package/dist/connect/index.cjs +762 -762
- package/dist/connect/index.js +63 -63
- package/dist/connect/viewer.cjs +14 -14
- package/dist/connect/viewer.js +13 -13
- package/dist/connection/dashboards/ConnectedDashboardsPage.d.ts +6 -0
- package/dist/dashboards/chartModel.d.ts +12 -0
- package/dist/dashboards/index.cjs +113 -42
- package/dist/dashboards/index.cjs.map +1 -1
- package/dist/dashboards/index.js +95 -24
- package/dist/dashboards/index.js.map +1 -1
- package/dist/embed/index.cjs +29 -29
- package/dist/embed/index.js +23 -23
- package/dist/facts/index.cjs +43 -43
- package/dist/facts/index.js +2 -2
- package/dist/files/index.cjs +1 -1
- package/dist/files/index.js +1 -1
- package/dist/home/index.cjs +31 -31
- package/dist/home/index.js +3 -3
- package/dist/index.cjs +383 -383
- package/dist/index.js +21 -21
- package/dist/settings/index.cjs +153 -153
- package/dist/settings/index.js +4 -4
- package/dist/shell/index.cjs +36 -36
- package/dist/shell/index.js +4 -4
- package/dist/site/index.cjs +5 -5
- package/dist/site/index.js +1 -1
- package/dist/studio/index.cjs +19 -19
- package/dist/studio/index.js +14 -14
- package/dist/styles.css +1 -1
- package/dist/workflow-canvas/index.cjs +33 -33
- package/dist/workflow-canvas/index.js +22 -22
- package/node_modules/@arbidocs/coedit/package.json +2 -2
- package/node_modules/@docx-editor.dev/core/dist/automation.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/automation.d.ts +60 -13
- package/node_modules/@docx-editor.dev/core/dist/automation.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/binding.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/binding.d.ts +21 -13
- package/node_modules/@docx-editor.dev/core/dist/binding.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{index-Bsg7oIKP.d.ts → chrome-print-CAs51cpq.d.ts} +31 -21
- package/node_modules/@docx-editor.dev/core/dist/{chunk-VDNNLG6X.js → chunk-236O4YQW.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-4HENIAFG.js +1 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-SRPILEWV.cjs → chunk-6JPL6ZAS.cjs} +5 -5
- package/node_modules/@docx-editor.dev/core/dist/{chunk-2RC2EPND.js → chunk-6ZQP4HQ7.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{chunk-ZUHOMK52.cjs → chunk-7WQ7AAHW.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{chunk-Z6WBFXJU.js → chunk-BCXH4BXB.js} +3 -3
- package/node_modules/@docx-editor.dev/core/dist/{chunk-QMLCVPCD.cjs → chunk-BY2ACZZ6.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-CAJEXXVG.cjs +4 -0
- package/node_modules/@docx-editor.dev/core/dist/chunk-CPWLFPWC.js +30 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-6APGXLBB.cjs → chunk-D7ZMDMPX.cjs} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/chunk-DOHF6FA7.cjs +30 -0
- package/node_modules/@docx-editor.dev/core/dist/chunk-DVX32P2P.js +27 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-6EYYL7FL.js → chunk-E4LOMDNL.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-EKLM7NWB.cjs +7 -0
- package/node_modules/@docx-editor.dev/core/dist/chunk-G3K63G7P.cjs +27 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-5CSUYANV.js → chunk-G4HOFIKJ.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{chunk-K5U2PLDP.cjs → chunk-JLVBDYVQ.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-LQX36Z5P.js +7 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-TSLBZ26X.js → chunk-LSZ6KPKK.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{chunk-O2AL2HSJ.cjs → chunk-MM5QBMTE.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{chunk-ETTO6GK3.js → chunk-OMCG63ZF.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-OSFOJTHU.cjs +18 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-E7BQA6UP.js → chunk-RCLZXP3B.js} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-T6K2QYNZ.cjs +2 -0
- package/node_modules/@docx-editor.dev/core/dist/chunk-TRGAVV2Y.js +4 -0
- package/node_modules/@docx-editor.dev/core/dist/chunk-U4JZVSOE.js +2 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-2GO5T2JU.cjs → chunk-UHHYFIDT.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-V3N4SOAK.cjs +1 -0
- package/node_modules/@docx-editor.dev/core/dist/{chunk-6AWEKBLB.cjs → chunk-W35WTWAO.cjs} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-YQ5G6LC7.js +18 -0
- package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.d.ts +5 -5
- package/node_modules/@docx-editor.dev/core/dist/collaboration/replication.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/collaboration.d.ts +4 -4
- package/node_modules/@docx-editor.dev/core/dist/contracts/document.d.ts +3 -3
- package/node_modules/@docx-editor.dev/core/dist/contracts/editor.d.ts +9 -10
- package/node_modules/@docx-editor.dev/core/dist/contracts/interaction.d.ts +2 -2
- package/node_modules/@docx-editor.dev/core/dist/contracts/modules.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/contracts/modules.d.ts +33 -9
- package/node_modules/@docx-editor.dev/core/dist/contracts/modules.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/contracts/types.d.ts +2 -2
- package/node_modules/@docx-editor.dev/core/dist/{custom-node-writes-cvL5rhcD.d.ts → custom-node-writes-Bn6uciLb.d.ts} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/diagnostic-context-B8M79cfK.d.ts +30 -0
- package/node_modules/@docx-editor.dev/core/dist/diagnostic-hints-BeVjfNOv.d.ts +113 -0
- package/node_modules/@docx-editor.dev/core/dist/{document-protection-BAGVGqaP.d.ts → document-protection-CUb55pl_.d.ts} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/{editor-Ci7IZGmG.d.ts → editor-CZQZmTIU.d.ts} +386 -9
- package/node_modules/@docx-editor.dev/core/dist/{editor-scope-OHPwVQ5l.d.ts → editor-scope-7o9xweiJ.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/editor.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/editor.d.ts +54 -33
- package/node_modules/@docx-editor.dev/core/dist/editor.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/export.cjs +2 -2
- package/node_modules/@docx-editor.dev/core/dist/export.d.ts +13 -14
- package/node_modules/@docx-editor.dev/core/dist/export.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{font-resolver-BVQB14qT.d.ts → font-resolver-lSBLirLR.d.ts} +3 -3
- package/node_modules/@docx-editor.dev/core/dist/{headless-document-view-qH331moE.d.ts → headless-document-view-pp3q7wIh.d.ts} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/{image-resources-BN-hUgCn.d.ts → image-resources-tXLQShoC.d.ts} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/index.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/index.d.ts +65 -20
- package/node_modules/@docx-editor.dev/core/dist/index.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{layout-shaping-BEyuiQOk.d.ts → layout-shaping-BD-dF_rn.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/layout.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/layout.d.ts +17 -20
- package/node_modules/@docx-editor.dev/core/dist/layout.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{note-properties-4Y9o6Gyk.d.ts → note-properties-qQUjO1GQ.d.ts} +3 -3
- package/node_modules/@docx-editor.dev/core/dist/{omml-equation-CuzBL5DD.d.ts → omml-equation-BUbU0utM.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/output.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/output.d.ts +8 -9
- package/node_modules/@docx-editor.dev/core/dist/output.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{protocol-Bqk4Izjc.d.ts → protocol-DYzzz2ej.d.ts} +2 -2
- package/node_modules/@docx-editor.dev/core/dist/{review-paragraph-order-DT-n6ouC.d.ts → review-paragraph-order-CN_0l2Cb.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{semantic-cell-selection-D9D1KSXq.d.ts → semantic-cell-selection-eYag3P47.d.ts} +4 -211
- package/node_modules/@docx-editor.dev/core/dist/{semantic-interaction-CIC-PooQ.d.ts → semantic-interaction-kR_QB845.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{semantic-paint-BME37OMv.d.ts → semantic-paint-ZayFF3tD.d.ts} +17 -5
- package/node_modules/@docx-editor.dev/core/dist/{semantic-record-queries-CBlZqZNa.d.ts → semantic-record-queries-Bsgth6lv.d.ts} +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{semantic-records-4B3WwFAi.d.ts → semantic-records-DQmumPgL.d.ts} +1279 -828
- package/node_modules/@docx-editor.dev/core/dist/store.cjs +1 -1
- package/node_modules/@docx-editor.dev/core/dist/store.d.ts +1466 -1464
- package/node_modules/@docx-editor.dev/core/dist/store.js +1 -1
- package/node_modules/@docx-editor.dev/core/dist/{tree-package-fragment-BeeKxDw8.d.ts → tree-package-store-CovjNARF.d.ts} +83 -83
- package/node_modules/@docx-editor.dev/core/dist/{tree-session-contract-CVbmlMlq.d.ts → tree-session-contract-CZVAGl51.d.ts} +6 -6
- package/node_modules/@docx-editor.dev/core/dist/{types-barrel-D3xCgQX6.d.ts → types-barrel-DuC5QBNC.d.ts} +548 -527
- package/node_modules/@docx-editor.dev/core/package.json +3 -3
- package/node_modules/@docx-editor.dev/react/dist/index.js +3 -3
- package/node_modules/@docx-editor.dev/react/dist/index.mjs +3 -3
- package/node_modules/@docx-editor.dev/react/package.json +4 -4
- package/package.json +8 -8
- package/dist/ConnectedStreamedWordArtifact-HLJ5IIOU.js.map +0 -1
- package/dist/ConnectedStreamedWordArtifact-JQ34AOUU.cjs.map +0 -1
- package/dist/RechartsRenderer-23OF4H6X.js.map +0 -1
- package/dist/RechartsRenderer-GIRCW7DB.cjs.map +0 -1
- package/dist/ai-ADS6YSS2.cjs.map +0 -1
- package/dist/ai-KHWTGBT5.js.map +0 -1
- package/dist/chunk-3GFQNJYE.js.map +0 -1
- package/dist/chunk-5AC52BHL.cjs.map +0 -1
- package/dist/chunk-AVGHTUPE.js.map +0 -1
- package/dist/chunk-BAUZUIHB.js.map +0 -1
- package/dist/chunk-CHQMVIHR.js.map +0 -1
- package/dist/chunk-D35EHOK5.cjs.map +0 -1
- package/dist/chunk-FPOKWML2.js.map +0 -1
- package/dist/chunk-GX75YCWJ.cjs.map +0 -1
- package/dist/chunk-I7CJDF3V.cjs.map +0 -1
- package/dist/chunk-OAIOOVFN.cjs.map +0 -1
- package/dist/chunk-UQ2OBHMV.js.map +0 -1
- package/dist/chunk-ZMVF7EYJ.cjs.map +0 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-4GBTELJV.cjs +0 -28
- package/node_modules/@docx-editor.dev/core/dist/chunk-4R3TEXMN.js +0 -18
- package/node_modules/@docx-editor.dev/core/dist/chunk-EO4C5QJW.cjs +0 -2
- package/node_modules/@docx-editor.dev/core/dist/chunk-FIJZIQXA.cjs +0 -18
- package/node_modules/@docx-editor.dev/core/dist/chunk-FRXAOVTB.js +0 -28
- package/node_modules/@docx-editor.dev/core/dist/chunk-J6BVWIDB.js +0 -2
- package/node_modules/@docx-editor.dev/core/dist/chunk-JGNVNT2A.cjs +0 -2
- package/node_modules/@docx-editor.dev/core/dist/chunk-KKIJG3C6.js +0 -2
- package/node_modules/@docx-editor.dev/core/dist/chunk-LWDSDCMO.js +0 -27
- package/node_modules/@docx-editor.dev/core/dist/chunk-NBCVVZOM.cjs +0 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-O5INAWZQ.js +0 -1
- package/node_modules/@docx-editor.dev/core/dist/chunk-RCHS4ZEH.cjs +0 -27
- package/node_modules/@docx-editor.dev/core/dist/chunk-VHAVHCQY.js +0 -7
- package/node_modules/@docx-editor.dev/core/dist/chunk-VX43VBAX.cjs +0 -7
- package/node_modules/@docx-editor.dev/core/dist/review-pane-D9jm8DcY.d.ts +0 -128
- package/node_modules/@docx-editor.dev/core/dist/revision-projection-DZ4kKVev.d.ts +0 -242
|
@@ -44,6 +44,12 @@ var DEFAULT_UNIT_FORMATTERS = {
|
|
|
44
44
|
bytes: (v) => v < 1024 ? `${v} B` : v < 1024 ** 2 ? `${(v / 1024).toFixed(1)} KB` : v < 1024 ** 3 ? `${(v / 1024 ** 2).toFixed(1)} MB` : `${(v / 1024 ** 3).toFixed(1)} GB`,
|
|
45
45
|
tokens: formatCompact
|
|
46
46
|
};
|
|
47
|
+
function formatGbpTick(value) {
|
|
48
|
+
const abs = Math.abs(value);
|
|
49
|
+
if (abs >= 1e3) return `${value < 0 ? "-" : ""}\xA3${formatCompact(abs)}`;
|
|
50
|
+
const digits = abs === 0 || abs >= 1 ? 2 : Math.min(6, Math.max(2, -Math.floor(Math.log10(abs)) + 1));
|
|
51
|
+
return `${value < 0 ? "-" : ""}\xA3${abs.toLocaleString("en-GB", { maximumFractionDigits: digits })}`;
|
|
52
|
+
}
|
|
47
53
|
function formatterOf(field, formatters = DEFAULT_UNIT_FORMATTERS) {
|
|
48
54
|
const unit = field?.unit;
|
|
49
55
|
if (!unit) return (v) => plain.format(v);
|
|
@@ -125,9 +131,20 @@ function chartModelOf(spec, dataset, options = {}) {
|
|
|
125
131
|
xLabel: xField?.label ?? "",
|
|
126
132
|
valueLabel,
|
|
127
133
|
format,
|
|
128
|
-
formatTick: valueField?.unit === "gbp"
|
|
134
|
+
formatTick: valueField?.unit === "gbp" ? formatGbpTick : valueField?.unit === "bytes" ? format : formatCompact,
|
|
135
|
+
integer: series.every((s) => s.values.every((v) => v === null || Number.isInteger(v)))
|
|
129
136
|
};
|
|
130
137
|
}
|
|
138
|
+
function valueAxisWidth(model) {
|
|
139
|
+
const totals = model.categories.map(
|
|
140
|
+
(_, i) => model.stacked ? model.series.reduce((sum, s) => sum + Math.abs(s.values[i] ?? 0), 0) : Math.max(0, ...model.series.map((s) => Math.abs(s.values[i] ?? 0)))
|
|
141
|
+
);
|
|
142
|
+
const max = Math.max(0, ...totals);
|
|
143
|
+
const longest = Math.max(
|
|
144
|
+
...[1, 0.75, 0.5, 0.25, 0.15].map((f) => model.formatTick(max * f).length)
|
|
145
|
+
);
|
|
146
|
+
return Math.max(48, Math.ceil(longest * 6.5) + 10);
|
|
147
|
+
}
|
|
131
148
|
function sliceColors(model, otherLabel = "Other") {
|
|
132
149
|
return model.categories.map(
|
|
133
150
|
(c, i) => c === otherLabel && i === model.categories.length - 1 && i >= MAX_COLORED - 1 ? OTHER_COLOR : SERIES_COLORS[i % SERIES_COLORS.length]
|
|
@@ -147,5 +164,6 @@ exports.formatBucketLabel = formatBucketLabel;
|
|
|
147
164
|
exports.formatterOf = formatterOf;
|
|
148
165
|
exports.metricValueOf = metricValueOf;
|
|
149
166
|
exports.sliceColors = sliceColors;
|
|
150
|
-
|
|
151
|
-
//# sourceMappingURL=chunk-
|
|
167
|
+
exports.valueAxisWidth = valueAxisWidth;
|
|
168
|
+
//# sourceMappingURL=chunk-PBPO54KZ.cjs.map
|
|
169
|
+
//# sourceMappingURL=chunk-PBPO54KZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/dashboards/chartModel.ts"],"names":["divisor"],"mappings":"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","file":"chunk-PBPO54KZ.cjs","sourcesContent":["/**\n * The renderer adapter's first half: a `ChartSpec` and its aggregated `Dataset` (long form: a row\n * per group and series) become a `ChartModel`, the categories and series a drawing component plots.\n * Nothing here knows the drawing library, so it can change without touching specs or sources.\n */\nimport type {\n AGGREGATE_FIELDS,\n ChartSpec,\n Dataset,\n DatasetField,\n DatasetValue,\n TimeBucket,\n} from '@arbidocs/react'\n\n/** The aggregated dataset's field ids (`@arbidocs/react`'s `AGGREGATE_FIELDS`, checked). */\nconst F = {\n group: 'group',\n key: 'key',\n series: 'series',\n value: 'value',\n} as const satisfies typeof AGGREGATE_FIELDS\n\n/** The drawing types (a metric and a table are not drawn). */\nexport type DrawnChartType = 'bar' | 'line' | 'area' | 'pie' | 'donut'\n\nexport interface ChartModelSeries {\n id: string\n label: string\n /** One per category; `null` where the group has no value. */\n values: (number | null)[]\n /** The series' colour as a CSS value (a theme token). */\n color: string\n}\n\n/** What a chart plots, library-free. */\nexport interface ChartModel {\n type: DrawnChartType\n stacked: boolean\n /** Category labels, in order (x axis, or pie slices). */\n categories: string[]\n series: ChartModelSeries[]\n /** The x axis's name (the grouped field). */\n xLabel: string\n /** The value's name (\"count\", \"sum of Fee\"). */\n valueLabel: string\n /** Formats a value for ticks, the tooltip and the table. */\n format: (value: number) => string\n /** Short form of `format` for axis ticks. */\n formatTick: (value: number) => string\n /** Every value is a whole number (a count, a sum of counts): the value axis has no 0.5 ticks. */\n integer: boolean\n}\n\n/** Formats by unit (`gbp`, `bytes`, `tokens`, …); a host passes its own (the SDK's £ formatter). */\nexport type UnitFormatters = Readonly<Record<string, (value: number) => string>>\n\n/** The theme's series colours, then a muted \"Other\". */\nexport const SERIES_COLORS = [1, 2, 3, 4, 5].map((i) => `hsl(var(--chart-${i}))`)\nexport const OTHER_COLOR = 'hsl(var(--muted-foreground))'\n\nconst MONTHS = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']\n\n/** A date bucket key as people read it: \"12 Jun 2026\", \"W24 2026\", \"Jun 2026\", \"Q2 2026\", \"2026\". */\nexport function formatBucketLabel(key: string, bucket: TimeBucket = 'month'): string {\n let m: RegExpMatchArray | null\n if (bucket === 'day' && (m = key.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/)))\n return `${Number(m[3])} ${MONTHS[Number(m[2]) - 1]} ${m[1]}`\n if (bucket === 'week' && (m = key.match(/^(\\d{4})-W(\\d{2})$/))) return `W${Number(m[2])} ${m[1]}`\n if (bucket === 'month' && (m = key.match(/^(\\d{4})-(\\d{2})$/)))\n return `${MONTHS[Number(m[2]) - 1]} ${m[1]}`\n if (bucket === 'quarter' && (m = key.match(/^(\\d{4})-Q(\\d)$/))) return `Q${m[2]} ${m[1]}`\n return key\n}\n\nconst plain = new Intl.NumberFormat('en-GB', { maximumFractionDigits: 2 })\nconst oneDecimal = new Intl.NumberFormat('en-GB', { maximumFractionDigits: 1 })\nconst COMPACT_UNITS: readonly [number, string][] = [\n [1e12, 'T'],\n [1e9, 'B'],\n [1e6, 'M'],\n [1e3, 'K'],\n]\n\n/**\n * A number in fixed suffixes (950, 1.2K, 1.5M, 3B), the same in every browser and runtime:\n * `Intl`'s compact notation follows the ICU data, which writes \"1.5m\" in some versions.\n */\nfunction formatCompact(value: number): string {\n const size = Math.abs(value)\n const at = COMPACT_UNITS.findIndex(([divisor]) => size >= divisor)\n if (at === -1) return oneDecimal.format(value)\n // 999,950 rounds to \"1000K\": the next suffix up reads it.\n const [divisor, suffix] =\n at > 0 && Math.round((size / COMPACT_UNITS[at][0]) * 10) / 10 >= 1000\n ? COMPACT_UNITS[at - 1]\n : COMPACT_UNITS[at]\n return `${oneDecimal.format(value / divisor)}${suffix}`\n}\n\n/** The default formatters: £ with pence, bytes in KB/MB/GB, tokens compact. */\nexport const DEFAULT_UNIT_FORMATTERS: UnitFormatters = {\n gbp: (v) =>\n `${v < 0 ? '-' : ''}£${Math.abs(v).toLocaleString('en-GB', {\n minimumFractionDigits: Number.isInteger(v) ? 0 : 2,\n maximumFractionDigits: 2,\n })}`,\n bytes: (v) =>\n v < 1024\n ? `${v} B`\n : v < 1024 ** 2\n ? `${(v / 1024).toFixed(1)} KB`\n : v < 1024 ** 3\n ? `${(v / 1024 ** 2).toFixed(1)} MB`\n : `${(v / 1024 ** 3).toFixed(1)} GB`,\n tokens: formatCompact,\n}\n\n/**\n * A £ axis tick with the pence it needs: £0.0025 where every amount is under a penny (where the\n * display form says \"<£0.01\" on every tick), £12.5 and £1.2K above.\n */\nexport function formatGbpTick(value: number): string {\n const abs = Math.abs(value)\n if (abs >= 1000) return `${value < 0 ? '-' : ''}£${formatCompact(abs)}`\n const digits =\n abs === 0 || abs >= 1 ? 2 : Math.min(6, Math.max(2, -Math.floor(Math.log10(abs)) + 1))\n return `${value < 0 ? '-' : ''}£${abs.toLocaleString('en-GB', { maximumFractionDigits: digits })}`\n}\n\n/** The formatter of a value field: by its unit, a suffix for any other unit, else a number. */\nexport function formatterOf(\n field: Pick<DatasetField, 'unit'> | undefined,\n formatters: UnitFormatters = DEFAULT_UNIT_FORMATTERS\n): (value: number) => string {\n const unit = field?.unit\n if (!unit) return (v) => plain.format(v)\n const known = formatters[unit] ?? DEFAULT_UNIT_FORMATTERS[unit]\n return known ?? ((v) => `${plain.format(v)} ${unit}`)\n}\n\n/** The most series (or pie slices) drawn in their own colour; the rest fold into \"Other\". */\nexport const MAX_COLORED = SERIES_COLORS.length\n\nconst additive = (spec: ChartSpec) =>\n (spec.aggregate ?? 'count') === 'count' || spec.aggregate === 'sum'\n\nconst num = (v: DatasetValue | undefined) => (typeof v === 'number' ? v : null)\n\nexport interface ChartModelOptions {\n /** The source's fields, for the x axis's name. */\n fields?: readonly DatasetField[]\n formatters?: UnitFormatters\n /** The words for the folded series and slices. Default \"Other\". */\n otherLabel?: string\n}\n\n/**\n * Turn an aggregated dataset into what a chart plots. Series (and pie slices) beyond the theme's\n * colours fold into \"Other\" when the values add up (count, sum); otherwise the smallest are left out.\n */\nexport function chartModelOf(\n spec: ChartSpec & { type: DrawnChartType },\n dataset: Dataset,\n options: ChartModelOptions = {}\n): ChartModel {\n const other = options.otherLabel ?? 'Other'\n const valueField = dataset.fields.find((f) => f.id === F.value)\n const xField = options.fields?.find((f) => f.id === spec.x)\n const isDate = xField?.type === 'date'\n const keys: string[] = []\n const labels = new Map<string, string>()\n const seriesIds: string[] = []\n const cells = new Map<string, number | null>()\n for (const row of dataset.rows) {\n const key = String(row[F.key] ?? row[F.group] ?? '')\n if (!labels.has(key)) {\n keys.push(key)\n const label = String(row[F.group] ?? key)\n labels.set(key, isDate && key ? formatBucketLabel(key, spec.bucket) : label)\n }\n const s = row[F.series] === undefined ? '' : String(row[F.series])\n if (!seriesIds.includes(s)) seriesIds.push(s)\n cells.set(`${key}\\u0000${s}`, num(row[F.value]))\n }\n const valueLabel = valueField?.label ?? 'value'\n let series = seriesIds.map((s) => ({\n id: s || F.value,\n label: s || valueLabel,\n values: keys.map((k) => cells.get(`${k}\\u0000${s}`) ?? null),\n }))\n let categories = keys.map((k) => labels.get(k) ?? k)\n const sum = (values: (number | null)[]) => values.reduce<number>((a, v) => a + (v ?? 0), 0)\n\n if (spec.type === 'pie' || spec.type === 'donut') {\n const values = series[0]?.values ?? []\n if (categories.length > MAX_COLORED) {\n const order = values.map((_, i) => i).sort((a, b) => (values[b] ?? 0) - (values[a] ?? 0))\n const kept = order.slice(0, MAX_COLORED - 1)\n const rest = order.slice(MAX_COLORED - 1)\n categories = [...kept.map((i) => categories[i]), ...(additive(spec) ? [other] : [])]\n const keptValues = kept.map((i) => values[i])\n series = [\n {\n ...series[0],\n values: additive(spec) ? [...keptValues, sum(rest.map((i) => values[i]))] : keptValues,\n },\n ]\n }\n } else if (series.length > MAX_COLORED) {\n const order = [...series].sort((a, b) => sum(b.values) - sum(a.values))\n const kept = order.slice(0, MAX_COLORED - 1)\n const rest = order.slice(MAX_COLORED - 1)\n series = [\n ...series.filter((s) => kept.includes(s)),\n ...(additive(spec)\n ? [\n {\n id: '__other',\n label: other,\n values: keys.map((_, i) =>\n rest.some((s) => s.values[i] !== null) ? sum(rest.map((s) => s.values[i])) : null\n ),\n },\n ]\n : []),\n ]\n }\n\n const format = formatterOf(valueField, options.formatters)\n return {\n type: spec.type,\n stacked: Boolean(spec.stacked) && (spec.type === 'bar' || spec.type === 'area'),\n categories,\n series: series.map((s, i) => ({\n ...s,\n color: s.id === '__other' ? OTHER_COLOR : SERIES_COLORS[i % SERIES_COLORS.length],\n })),\n xLabel: xField?.label ?? '',\n valueLabel,\n format,\n formatTick:\n valueField?.unit === 'gbp'\n ? formatGbpTick\n : valueField?.unit === 'bytes'\n ? format\n : formatCompact,\n integer: series.every((s) => s.values.every((v) => v === null || Number.isInteger(v))),\n }\n}\n\n/**\n * The value axis's width: room for its longest tick (at 11px, about 6.5px a character), at least\n * 48px. Ticks fall within the largest value (a stack's total), so its fractions stand for them.\n */\nexport function valueAxisWidth(model: ChartModel): number {\n const totals = model.categories.map((_, i) =>\n model.stacked\n ? model.series.reduce((sum, s) => sum + Math.abs(s.values[i] ?? 0), 0)\n : Math.max(0, ...model.series.map((s) => Math.abs(s.values[i] ?? 0)))\n )\n const max = Math.max(0, ...totals)\n const longest = Math.max(\n ...[1, 0.75, 0.5, 0.25, 0.15].map((f) => model.formatTick(max * f).length)\n )\n return Math.max(48, Math.ceil(longest * 6.5) + 10)\n}\n\n/** The pie slice colours (one per category; \"Other\" muted). */\nexport function sliceColors(model: Pick<ChartModel, 'categories'>, otherLabel = 'Other') {\n return model.categories.map((c, i) =>\n c === otherLabel && i === model.categories.length - 1 && i >= MAX_COLORED - 1\n ? OTHER_COLOR\n : SERIES_COLORS[i % SERIES_COLORS.length]\n )\n}\n\n/** The single value of a metric (an aggregated dataset with one group), or null. */\nexport function metricValueOf(dataset: Dataset | undefined): number | null {\n if (!dataset?.rows.length) return null\n return dataset.rows.reduce<number | null>((total, row) => {\n const v = num(row[F.value])\n return v === null ? total : (total ?? 0) + v\n }, null)\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
-
var chunkFDNIK5YS_cjs = require('./chunk-FDNIK5YS.cjs');
|
|
5
4
|
var chunkEKSHUNJI_cjs = require('./chunk-EKSHUNJI.cjs');
|
|
6
5
|
var chunkNNBL3HPG_cjs = require('./chunk-NNBL3HPG.cjs');
|
|
6
|
+
var chunkXBKIFGBB_cjs = require('./chunk-XBKIFGBB.cjs');
|
|
7
7
|
var chunkWGWP4ATS_cjs = require('./chunk-WGWP4ATS.cjs');
|
|
8
8
|
var react = require('react');
|
|
9
9
|
var react$1 = require('@arbidocs/react');
|
|
@@ -25,7 +25,7 @@ function toWorkflowFieldDocument(doc) {
|
|
|
25
25
|
function useConnectedWorkflowScopeSource() {
|
|
26
26
|
const { data: docs } = chunkEKSHUNJI_cjs.useListedDocuments();
|
|
27
27
|
const { data: tags } = chunkEKSHUNJI_cjs.useConnectedTags();
|
|
28
|
-
return react.useMemo(() =>
|
|
28
|
+
return react.useMemo(() => chunkXBKIFGBB_cjs.buildWorkflowScopeSource(docs, chunkXBKIFGBB_cjs.documentScopeLabels(tags)), [docs, tags]);
|
|
29
29
|
}
|
|
30
30
|
function useConnectedAgentOptions() {
|
|
31
31
|
const { data: agents } = react$1.useAgents();
|
|
@@ -82,7 +82,7 @@ function ConnectedWorkflowDocumentsField({
|
|
|
82
82
|
}
|
|
83
83
|
),
|
|
84
84
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
85
|
-
|
|
85
|
+
chunkXBKIFGBB_cjs.WorkflowDocumentsField,
|
|
86
86
|
{
|
|
87
87
|
field,
|
|
88
88
|
value,
|
|
@@ -104,7 +104,7 @@ function ConnectedWorkflowLauncher({
|
|
|
104
104
|
const scopeSource = useConnectedWorkflowScopeSource();
|
|
105
105
|
const agents = useConnectedAgentOptions();
|
|
106
106
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
107
|
-
|
|
107
|
+
chunkXBKIFGBB_cjs.WorkflowLauncher,
|
|
108
108
|
{
|
|
109
109
|
...props,
|
|
110
110
|
scopeSource,
|
|
@@ -126,5 +126,5 @@ exports.ConnectedWorkflowDocumentsField = ConnectedWorkflowDocumentsField;
|
|
|
126
126
|
exports.ConnectedWorkflowLauncher = ConnectedWorkflowLauncher;
|
|
127
127
|
exports.toWorkflowFieldDocument = toWorkflowFieldDocument;
|
|
128
128
|
exports.useConnectedWorkflowScopeSource = useConnectedWorkflowScopeSource;
|
|
129
|
-
//# sourceMappingURL=chunk-
|
|
130
|
-
//# sourceMappingURL=chunk-
|
|
129
|
+
//# sourceMappingURL=chunk-RA3EGF6K.cjs.map
|
|
130
|
+
//# sourceMappingURL=chunk-RA3EGF6K.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/connection/ConnectedWorkflowLauncher.tsx"],"names":["useListedDocuments","useConnectedTags","useMemo","buildWorkflowScopeSource","documentScopeLabels","useAgents","useBlocksEnvironment","useConnectedWorkspace","useUploadDocuments","useThumbnails","useRef","useState","useCallback","jsxs","Fragment","jsx","WorkflowDocumentsField","WorkflowLauncher"],"mappings":"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","file":"chunk-7V4OCZS6.cjs","sourcesContent":["/**\n * The workflow launcher bound to the connection: the open workspace's folders, labels and files\n * behind its scope and `documents` fields (files can be added right there), and the user's agents\n * behind \"Run as\". The host still says what a launch does (`onLaunch`): open a chat, start a task.\n */\n\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { useAgents, useThumbnails, useUploadDocuments } from '@arbidocs/react'\nimport { WorkflowLauncher, type WorkflowLauncherProps } from '../agents/workflows/WorkflowLauncher'\nimport {\n WorkflowDocumentsField,\n type WorkflowDocumentsFieldLabels,\n type WorkflowFieldDocument,\n} from '../agents/workflows/WorkflowDocumentsField'\nimport type { WorkflowScopeSource } from '../agents/workflows/WorkflowConfigDialog'\nimport { buildWorkflowScopeSource, documentScopeLabels } from '../agents/workflows/workspaceScope'\nimport type { AgentOption } from '../agents/workflows/AgentSelect'\nimport type { WorkflowField, WorkflowScope } from '../agents/workflows/types'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport { useConnectedWorkspace } from './ConnectionProvider'\nimport { useConnectedTags, useListedDocuments, type ConnectedDocument } from './workspaceData'\n\nconst IMAGE_FILE_TYPES = new Set(['png', 'jpg', 'jpeg', 'gif', 'bmp', 'tiff', 'webp'])\n\n/** A workspace document as a `documents` field offers it. */\nexport function toWorkflowFieldDocument(doc: ConnectedDocument): WorkflowFieldDocument {\n // Pages and tokens are a text-parsing concept: never meaningful for an image.\n const isImage = IMAGE_FILE_TYPES.has((doc.file_type ?? '').toLowerCase())\n return {\n id: doc.external_id,\n title: doc.doc_metadata?.title || doc.file_name || doc.external_id,\n fileName: doc.file_name,\n pages: isImage ? null : (doc.n_pages ?? null),\n tokens: isImage ? null : (doc.tokens ?? null),\n status: doc.status,\n isImage,\n }\n}\n\n/** The open workspace's folders and labels for a workflow's scope field. */\nexport function useConnectedWorkflowScopeSource(): WorkflowScopeSource {\n const { data: docs } = useListedDocuments()\n const { data: tags } = useConnectedTags()\n return useMemo(() => buildWorkflowScopeSource(docs, documentScopeLabels(tags)), [docs, tags])\n}\n\n/** The user's agents, for \"Run as\". */\nfunction useConnectedAgentOptions(): AgentOption[] {\n const { data: agents } = useAgents()\n return useMemo(\n () => (agents ?? []).map((a) => ({ id: a.external_id, label: a.given_name || a.email })),\n [agents]\n )\n}\n\nexport interface ConnectedWorkflowDocumentsFieldProps {\n field: WorkflowField\n value: WorkflowScope\n onChange: (value: WorkflowScope) => void\n /** Add files the host's way (its upload dialog). Absent: they are uploaded here. */\n onAddFiles?: (files?: File[]) => void\n labels?: Partial<WorkflowDocumentsFieldLabels>\n}\n\n/**\n * A workflow `documents` field over the open workspace's files: pick, add (or drop) files, see the\n * chosen images. A launcher's or a task composer's `renderDocuments`.\n */\nexport function ConnectedWorkflowDocumentsField({\n field,\n value,\n onChange,\n onAddFiles,\n labels,\n}: ConnectedWorkflowDocumentsFieldProps) {\n const { notify } = useBlocksEnvironment()\n const { ensureWorkspaceOpen } = useConnectedWorkspace()\n const { data: docs, loaded } = useListedDocuments()\n const uploadDocuments = useUploadDocuments()\n const documents = useMemo(() => docs.map(toWorkflowFieldDocument), [docs])\n const chosen = value.documents ?? []\n const { data: thumbnails } = useThumbnails(chosen, { enabled: (field.max ?? 1) > 1 })\n const input = useRef<HTMLInputElement>(null)\n const [adding, setAdding] = useState(false)\n\n const upload = useCallback(\n async (files: File[]) => {\n setAdding(true)\n try {\n await ensureWorkspaceOpen()\n // Each new document joins the shared list as it lands.\n for (const file of files) await uploadDocuments.mutateAsync({ files: [file] })\n } catch (error) {\n notify(error instanceof Error && error.message ? error.message : String(error), 'error')\n } finally {\n setAdding(false)\n }\n },\n [uploadDocuments, ensureWorkspaceOpen, notify]\n )\n\n return (\n <>\n {!onAddFiles && (\n <input\n ref={input}\n type=\"file\"\n multiple\n className=\"hidden\"\n aria-label=\"Add files\"\n data-testid=\"workflow-add-files-input\"\n onChange={(e) => {\n const files = Array.from(e.target.files ?? [])\n e.target.value = ''\n if (files.length) void upload(files)\n }}\n />\n )}\n <WorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n documents={documents}\n loaded={loaded}\n thumbnailOf={(id) => thumbnails?.[id]}\n onAddFiles={\n onAddFiles ?? ((files) => (files?.length ? void upload(files) : input.current?.click()))\n }\n adding={adding}\n labels={labels}\n />\n </>\n )\n}\n\nexport interface ConnectedWorkflowLauncherProps extends Omit<\n WorkflowLauncherProps,\n 'scopeSource' | 'renderDocuments' | 'agents'\n> {\n /** Add files from a `documents` field the host's way (its upload dialog). Absent: uploaded here. */\n onAddFiles?: (files?: File[]) => void\n}\n\nexport function ConnectedWorkflowLauncher({\n onAddFiles,\n ...props\n}: ConnectedWorkflowLauncherProps) {\n const scopeSource = useConnectedWorkflowScopeSource()\n const agents = useConnectedAgentOptions()\n return (\n <WorkflowLauncher\n {...props}\n scopeSource={scopeSource}\n agents={agents}\n renderDocuments={(field, value, onChange) => (\n <ConnectedWorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n onAddFiles={onAddFiles}\n />\n )}\n />\n )\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/connection/ConnectedWorkflowLauncher.tsx"],"names":["useListedDocuments","useConnectedTags","useMemo","buildWorkflowScopeSource","documentScopeLabels","useAgents","useBlocksEnvironment","useConnectedWorkspace","useUploadDocuments","useThumbnails","useRef","useState","useCallback","jsxs","Fragment","jsx","WorkflowDocumentsField","WorkflowLauncher"],"mappings":";;;;;;;;;;AAsBA,IAAM,gBAAA,mBAAmB,IAAI,GAAA,CAAI,CAAC,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,KAAA,EAAO,KAAA,EAAO,MAAA,EAAQ,MAAM,CAAC,CAAA;AAG9E,SAAS,wBAAwB,GAAA,EAA+C;AAErF,EAAA,MAAM,UAAU,gBAAA,CAAiB,GAAA,CAAA,CAAK,IAAI,SAAA,IAAa,EAAA,EAAI,aAAa,CAAA;AACxE,EAAA,OAAO;AAAA,IACL,IAAI,GAAA,CAAI,WAAA;AAAA,IACR,OAAO,GAAA,CAAI,YAAA,EAAc,KAAA,IAAS,GAAA,CAAI,aAAa,GAAA,CAAI,WAAA;AAAA,IACvD,UAAU,GAAA,CAAI,SAAA;AAAA,IACd,KAAA,EAAO,OAAA,GAAU,IAAA,GAAQ,GAAA,CAAI,OAAA,IAAW,IAAA;AAAA,IACxC,MAAA,EAAQ,OAAA,GAAU,IAAA,GAAQ,GAAA,CAAI,MAAA,IAAU,IAAA;AAAA,IACxC,QAAQ,GAAA,CAAI,MAAA;AAAA,IACZ;AAAA,GACF;AACF;AAGO,SAAS,+BAAA,GAAuD;AACrE,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAK,GAAIA,oCAAA,EAAmB;AAC1C,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAK,GAAIC,kCAAA,EAAiB;AACxC,EAAA,OAAOC,aAAA,CAAQ,MAAMC,0CAAA,CAAyB,IAAA,EAAMC,qCAAA,CAAoB,IAAI,CAAC,CAAA,EAAG,CAAC,IAAA,EAAM,IAAI,CAAC,CAAA;AAC9F;AAGA,SAAS,wBAAA,GAA0C;AACjD,EAAA,MAAM,EAAE,IAAA,EAAM,MAAA,EAAO,GAAIC,iBAAA,EAAU;AACnC,EAAA,OAAOH,aAAA;AAAA,IACL,OAAO,MAAA,IAAU,EAAC,EAAG,GAAA,CAAI,CAAC,CAAA,MAAO,EAAE,EAAA,EAAI,CAAA,CAAE,aAAa,KAAA,EAAO,CAAA,CAAE,UAAA,IAAc,CAAA,CAAE,OAAM,CAAE,CAAA;AAAA,IACvF,CAAC,MAAM;AAAA,GACT;AACF;AAeO,SAAS,+BAAA,CAAgC;AAAA,EAC9C,KAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,EAAE,MAAA,EAAO,GAAII,sCAAA,EAAqB;AACxC,EAAA,MAAM,EAAE,mBAAA,EAAoB,GAAIC,uCAAA,EAAsB;AACtD,EAAA,MAAM,EAAE,IAAA,EAAM,IAAA,EAAM,MAAA,KAAWP,oCAAA,EAAmB;AAClD,EAAA,MAAM,kBAAkBQ,0BAAA,EAAmB;AAC3C,EAAA,MAAM,SAAA,GAAYN,cAAQ,MAAM,IAAA,CAAK,IAAI,uBAAuB,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AACzE,EAAA,MAAM,MAAA,GAAS,KAAA,CAAM,SAAA,IAAa,EAAC;AACnC,EAAA,MAAM,EAAE,IAAA,EAAM,UAAA,EAAW,GAAIO,qBAAA,CAAc,MAAA,EAAQ,EAAE,OAAA,EAAA,CAAU,KAAA,CAAM,GAAA,IAAO,CAAA,IAAK,CAAA,EAAG,CAAA;AACpF,EAAA,MAAM,KAAA,GAAQC,aAAyB,IAAI,CAAA;AAC3C,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIC,eAAS,KAAK,CAAA;AAE1C,EAAA,MAAM,MAAA,GAASC,iBAAA;AAAA,IACb,OAAO,KAAA,KAAkB;AACvB,MAAA,SAAA,CAAU,IAAI,CAAA;AACd,MAAA,IAAI;AACF,QAAA,MAAM,mBAAA,EAAoB;AAE1B,QAAA,KAAA,MAAW,IAAA,IAAQ,KAAA,EAAO,MAAM,eAAA,CAAgB,WAAA,CAAY,EAAE,KAAA,EAAO,CAAC,IAAI,CAAA,EAAG,CAAA;AAAA,MAC/E,SAAS,KAAA,EAAO;AACd,QAAA,MAAA,CAAO,KAAA,YAAiB,SAAS,KAAA,CAAM,OAAA,GAAU,MAAM,OAAA,GAAU,MAAA,CAAO,KAAK,CAAA,EAAG,OAAO,CAAA;AAAA,MACzF,CAAA,SAAE;AACA,QAAA,SAAA,CAAU,KAAK,CAAA;AAAA,MACjB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,eAAA,EAAiB,mBAAA,EAAqB,MAAM;AAAA,GAC/C;AAEA,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,CAAC,UAAA,oBACAC,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,KAAA;AAAA,QACL,IAAA,EAAK,MAAA;AAAA,QACL,QAAA,EAAQ,IAAA;AAAA,QACR,SAAA,EAAU,QAAA;AAAA,QACV,YAAA,EAAW,WAAA;AAAA,QACX,aAAA,EAAY,0BAAA;AAAA,QACZ,QAAA,EAAU,CAAC,CAAA,KAAM;AACf,UAAA,MAAM,QAAQ,KAAA,CAAM,IAAA,CAAK,EAAE,MAAA,CAAO,KAAA,IAAS,EAAE,CAAA;AAC7C,UAAA,CAAA,CAAE,OAAO,KAAA,GAAQ,EAAA;AACjB,UAAA,IAAI,KAAA,CAAM,MAAA,EAAQ,KAAK,MAAA,CAAO,KAAK,CAAA;AAAA,QACrC;AAAA;AAAA,KACF;AAAA,oBAEFA,cAAA;AAAA,MAACC,wCAAA;AAAA,MAAA;AAAA,QACC,KAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA;AAAA,QACA,SAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA,EAAa,CAAC,EAAA,KAAO,UAAA,GAAa,EAAE,CAAA;AAAA,QACpC,UAAA,EACE,UAAA,KAAe,CAAC,KAAA,KAAW,KAAA,EAAO,MAAA,GAAS,KAAK,MAAA,CAAO,KAAK,CAAA,GAAI,KAAA,CAAM,OAAA,EAAS,KAAA,EAAM,CAAA;AAAA,QAEvF,MAAA;AAAA,QACA;AAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ;AAUO,SAAS,yBAAA,CAA0B;AAAA,EACxC,UAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmC;AACjC,EAAA,MAAM,cAAc,+BAAA,EAAgC;AACpD,EAAA,MAAM,SAAS,wBAAA,EAAyB;AACxC,EAAA,uBACED,cAAA;AAAA,IAACE,kCAAA;AAAA,IAAA;AAAA,MACE,GAAG,KAAA;AAAA,MACJ,WAAA;AAAA,MACA,MAAA;AAAA,MACA,eAAA,EAAiB,CAAC,KAAA,EAAO,KAAA,EAAO,QAAA,qBAC9BF,cAAA;AAAA,QAAC,+BAAA;AAAA,QAAA;AAAA,UACC,KAAA;AAAA,UACA,KAAA;AAAA,UACA,QAAA;AAAA,UACA;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ","file":"chunk-RA3EGF6K.cjs","sourcesContent":["/**\n * The workflow launcher bound to the connection: the open workspace's folders, labels and files\n * behind its scope and `documents` fields (files can be added right there), and the user's agents\n * behind \"Run as\". The host still says what a launch does (`onLaunch`): open a chat, start a task.\n */\n\nimport { useCallback, useMemo, useRef, useState } from 'react'\nimport { useAgents, useThumbnails, useUploadDocuments } from '@arbidocs/react'\nimport { WorkflowLauncher, type WorkflowLauncherProps } from '../agents/workflows/WorkflowLauncher'\nimport {\n WorkflowDocumentsField,\n type WorkflowDocumentsFieldLabels,\n type WorkflowFieldDocument,\n} from '../agents/workflows/WorkflowDocumentsField'\nimport type { WorkflowScopeSource } from '../agents/workflows/WorkflowConfigDialog'\nimport { buildWorkflowScopeSource, documentScopeLabels } from '../agents/workflows/workspaceScope'\nimport type { AgentOption } from '../agents/workflows/AgentSelect'\nimport type { WorkflowField, WorkflowScope } from '../agents/workflows/types'\nimport { useBlocksEnvironment } from '../provider/environment'\nimport { useConnectedWorkspace } from './ConnectionProvider'\nimport { useConnectedTags, useListedDocuments, type ConnectedDocument } from './workspaceData'\n\nconst IMAGE_FILE_TYPES = new Set(['png', 'jpg', 'jpeg', 'gif', 'bmp', 'tiff', 'webp'])\n\n/** A workspace document as a `documents` field offers it. */\nexport function toWorkflowFieldDocument(doc: ConnectedDocument): WorkflowFieldDocument {\n // Pages and tokens are a text-parsing concept: never meaningful for an image.\n const isImage = IMAGE_FILE_TYPES.has((doc.file_type ?? '').toLowerCase())\n return {\n id: doc.external_id,\n title: doc.doc_metadata?.title || doc.file_name || doc.external_id,\n fileName: doc.file_name,\n pages: isImage ? null : (doc.n_pages ?? null),\n tokens: isImage ? null : (doc.tokens ?? null),\n status: doc.status,\n isImage,\n }\n}\n\n/** The open workspace's folders and labels for a workflow's scope field. */\nexport function useConnectedWorkflowScopeSource(): WorkflowScopeSource {\n const { data: docs } = useListedDocuments()\n const { data: tags } = useConnectedTags()\n return useMemo(() => buildWorkflowScopeSource(docs, documentScopeLabels(tags)), [docs, tags])\n}\n\n/** The user's agents, for \"Run as\". */\nfunction useConnectedAgentOptions(): AgentOption[] {\n const { data: agents } = useAgents()\n return useMemo(\n () => (agents ?? []).map((a) => ({ id: a.external_id, label: a.given_name || a.email })),\n [agents]\n )\n}\n\nexport interface ConnectedWorkflowDocumentsFieldProps {\n field: WorkflowField\n value: WorkflowScope\n onChange: (value: WorkflowScope) => void\n /** Add files the host's way (its upload dialog). Absent: they are uploaded here. */\n onAddFiles?: (files?: File[]) => void\n labels?: Partial<WorkflowDocumentsFieldLabels>\n}\n\n/**\n * A workflow `documents` field over the open workspace's files: pick, add (or drop) files, see the\n * chosen images. A launcher's or a task composer's `renderDocuments`.\n */\nexport function ConnectedWorkflowDocumentsField({\n field,\n value,\n onChange,\n onAddFiles,\n labels,\n}: ConnectedWorkflowDocumentsFieldProps) {\n const { notify } = useBlocksEnvironment()\n const { ensureWorkspaceOpen } = useConnectedWorkspace()\n const { data: docs, loaded } = useListedDocuments()\n const uploadDocuments = useUploadDocuments()\n const documents = useMemo(() => docs.map(toWorkflowFieldDocument), [docs])\n const chosen = value.documents ?? []\n const { data: thumbnails } = useThumbnails(chosen, { enabled: (field.max ?? 1) > 1 })\n const input = useRef<HTMLInputElement>(null)\n const [adding, setAdding] = useState(false)\n\n const upload = useCallback(\n async (files: File[]) => {\n setAdding(true)\n try {\n await ensureWorkspaceOpen()\n // Each new document joins the shared list as it lands.\n for (const file of files) await uploadDocuments.mutateAsync({ files: [file] })\n } catch (error) {\n notify(error instanceof Error && error.message ? error.message : String(error), 'error')\n } finally {\n setAdding(false)\n }\n },\n [uploadDocuments, ensureWorkspaceOpen, notify]\n )\n\n return (\n <>\n {!onAddFiles && (\n <input\n ref={input}\n type=\"file\"\n multiple\n className=\"hidden\"\n aria-label=\"Add files\"\n data-testid=\"workflow-add-files-input\"\n onChange={(e) => {\n const files = Array.from(e.target.files ?? [])\n e.target.value = ''\n if (files.length) void upload(files)\n }}\n />\n )}\n <WorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n documents={documents}\n loaded={loaded}\n thumbnailOf={(id) => thumbnails?.[id]}\n onAddFiles={\n onAddFiles ?? ((files) => (files?.length ? void upload(files) : input.current?.click()))\n }\n adding={adding}\n labels={labels}\n />\n </>\n )\n}\n\nexport interface ConnectedWorkflowLauncherProps extends Omit<\n WorkflowLauncherProps,\n 'scopeSource' | 'renderDocuments' | 'agents'\n> {\n /** Add files from a `documents` field the host's way (its upload dialog). Absent: uploaded here. */\n onAddFiles?: (files?: File[]) => void\n}\n\nexport function ConnectedWorkflowLauncher({\n onAddFiles,\n ...props\n}: ConnectedWorkflowLauncherProps) {\n const scopeSource = useConnectedWorkflowScopeSource()\n const agents = useConnectedAgentOptions()\n return (\n <WorkflowLauncher\n {...props}\n scopeSource={scopeSource}\n agents={agents}\n renderDocuments={(field, value, onChange) => (\n <ConnectedWorkflowDocumentsField\n field={field}\n value={value}\n onChange={onChange}\n onAddFiles={onAddFiles}\n />\n )}\n />\n )\n}\n"]}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
var chunk7LIPW6ZK_cjs = require('./chunk-7LIPW6ZK.cjs');
|
|
5
|
-
var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
|
|
6
5
|
var chunk3YZKDCWY_cjs = require('./chunk-3YZKDCWY.cjs');
|
|
6
|
+
var chunkAHDJXIUB_cjs = require('./chunk-AHDJXIUB.cjs');
|
|
7
7
|
var chunkDEXUL3T6_cjs = require('./chunk-DEXUL3T6.cjs');
|
|
8
8
|
var chunk6WMMZLEV_cjs = require('./chunk-6WMMZLEV.cjs');
|
|
9
9
|
var chunkYZSQ7F5K_cjs = require('./chunk-YZSQ7F5K.cjs');
|
|
@@ -1335,5 +1335,5 @@ exports.useCloseOnEscape = useCloseOnEscape;
|
|
|
1335
1335
|
exports.usePanelHostSupport = usePanelHostSupport;
|
|
1336
1336
|
exports.useSidebarController = useSidebarController;
|
|
1337
1337
|
exports.useSidebarSettle = useSidebarSettle;
|
|
1338
|
-
//# sourceMappingURL=chunk-
|
|
1339
|
-
//# sourceMappingURL=chunk-
|
|
1338
|
+
//# sourceMappingURL=chunk-RKBAY7GZ.cjs.map
|
|
1339
|
+
//# sourceMappingURL=chunk-RKBAY7GZ.cjs.map
|