ryugi-artifacts 1.31.6 → 1.32.0
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/cli.cjs +1 -1
- package/dist/server.cjs +136 -24
- package/dist/viewer/CloudDocument-DBhwAPZX.js +1 -0
- package/dist/viewer/CloudLiveDocument-BX2fqdBQ.js +1 -0
- package/dist/viewer/{DocumentLayout-CyTmvIv_.js → DocumentLayout-DUPesXt0.js} +142 -142
- package/dist/viewer/DocumentPage-p78IN0UO.js +1 -0
- package/dist/viewer/RailSwitch-B8Aht-FG.js +64 -0
- package/dist/viewer/{abnfDiagram-VCTEODGH-BU-Q5nRu.js → abnfDiagram-VCTEODGH-Dz0T5wEI.js} +1 -1
- package/dist/viewer/{ar-SA-G6X2FPQ2-Bym-z3Gy.js → ar-SA-G6X2FPQ2-Bytlrg0S.js} +1 -1
- package/dist/viewer/{architectureDiagram-5GKGNRK7-hBXFocSt.js → architectureDiagram-5GKGNRK7-OYoo3ME7.js} +1 -1
- package/dist/viewer/{az-AZ-76LH7QW2-DptPViJZ.js → az-AZ-76LH7QW2-w9f06xDk.js} +1 -1
- package/dist/viewer/{bg-BG-XCXSNQG7-BCAH5UjV.js → bg-BG-XCXSNQG7-CEWDLlq7.js} +1 -1
- package/dist/viewer/{blockDiagram-I7D4REHJ-CQMZg8Nz.js → blockDiagram-I7D4REHJ-CAowR37U.js} +1 -1
- package/dist/viewer/{bn-BD-2XOGV67Q-CQ103rTG.js → bn-BD-2XOGV67Q-DBNpDzHO.js} +1 -1
- package/dist/viewer/{c4Diagram-7LVT6UL2-Wmb5uWym.js → c4Diagram-7LVT6UL2-Dzzhg0Hl.js} +1 -1
- package/dist/viewer/{ca-ES-6MX7JW3Y-QZjpbZoN.js → ca-ES-6MX7JW3Y-Det2dq0q.js} +1 -1
- package/dist/viewer/{chunk-4HAMMTFA-DApjFb3D.js → chunk-4HAMMTFA-DZl9uS5D.js} +1 -1
- package/dist/viewer/{chunk-EIO257PC-CWVuL_0r.js → chunk-EIO257PC-CjCjUdBc.js} +1 -1
- package/dist/viewer/{chunk-GMAD6QVW-CsJibQuL.js → chunk-GMAD6QVW-CDRo04Dc.js} +1 -1
- package/dist/viewer/{chunk-GVQU2GXP-DYTi7tYA.js → chunk-GVQU2GXP-BhrYhgpE.js} +1 -1
- package/dist/viewer/{chunk-IMKFNOWR-CWeDJlP4.js → chunk-IMKFNOWR-BfAgQjlN.js} +1 -1
- package/dist/viewer/{chunk-L3NEJ4N5-TdTMGSnz.js → chunk-L3NEJ4N5-D-FTstxq.js} +1 -1
- package/dist/viewer/{chunk-OSK3NFVY-DmS4WZvt.js → chunk-OSK3NFVY-CJgUgQQ4.js} +1 -1
- package/dist/viewer/{chunk-PWAF6VOD-CgqqcZ7Z.js → chunk-PWAF6VOD-DWHqbvtp.js} +1 -1
- package/dist/viewer/{chunk-SHT3W25Y-CO2CRBJI.js → chunk-SHT3W25Y-CBzt56Er.js} +1 -1
- package/dist/viewer/{chunk-SVP7TREG-CdURcuTQ.js → chunk-SVP7TREG-b6pmQaqb.js} +1 -1
- package/dist/viewer/{chunk-TICWLB2K--5oOkN7m.js → chunk-TICWLB2K-DIPK-gAO.js} +1 -1
- package/dist/viewer/{classDiagram-ZZMXUADV-DeIP4NkP.js → classDiagram-ZZMXUADV-DgM9EY-7.js} +1 -1
- package/dist/viewer/{classDiagram-v2-VYDZK3BY-DeIP4NkP.js → classDiagram-v2-VYDZK3BY-DgM9EY-7.js} +1 -1
- package/dist/viewer/{cs-CZ-2BRQDIVT-N2YztnjI.js → cs-CZ-2BRQDIVT-CXEgS6Pi.js} +1 -1
- package/dist/viewer/{cynefinDiagram-5FMLGOSQ-BqdKqwqw.js → cynefinDiagram-5FMLGOSQ-BQkxO3xf.js} +1 -1
- package/dist/viewer/{da-DK-5WZEPLOC-CClTezxe.js → da-DK-5WZEPLOC-D2twM2eB.js} +1 -1
- package/dist/viewer/{dagre-GXQ25YYZ-DhmSGUk2.js → dagre-GXQ25YYZ-DD_-ARQM.js} +1 -1
- package/dist/viewer/{de-DE-XR44H4JA-CLPa1jFU.js → de-DE-XR44H4JA-QQ3wzCUN.js} +1 -1
- package/dist/viewer/{diagram-S7CK7UJ4-rnc6tcUb.js → diagram-S7CK7UJ4-C6UhooWh.js} +1 -1
- package/dist/viewer/{diagram-UQ7AKVKN-CZG1zSha.js → diagram-UQ7AKVKN-CmOvdTfi.js} +1 -1
- package/dist/viewer/{diagram-VX7I27RA-esJGj2aD.js → diagram-VX7I27RA-BQrnggcb.js} +1 -1
- package/dist/viewer/{diagram-Z3DM3KII-rMa1oT-N.js → diagram-Z3DM3KII-eqq_bLYp.js} +1 -1
- package/dist/viewer/{dist-Bew_q9_H.js → dist-A6XqCKp3.js} +1 -1
- package/dist/viewer/{dist-cf3dK6JU.js → dist-BHQRLarc.js} +1 -1
- package/dist/viewer/{dist-vfTnUsvv.js → dist-BVD4SXRG.js} +1 -1
- package/dist/viewer/{dist-D6BaZXlD.js → dist-C2_czco-.js} +1 -1
- package/dist/viewer/{dist-Dd3TTld7.js → dist-CBPL9nOI.js} +1 -1
- package/dist/viewer/{dist-D78xEVNA.js → dist-CBa9iIgE.js} +1 -1
- package/dist/viewer/{dist-0R8oZhgF.js → dist-COWTq4PW.js} +1 -1
- package/dist/viewer/{dist-D-6apRFO.js → dist-CRFROhiU.js} +1 -1
- package/dist/viewer/{dist-CvCVEZHM.js → dist-Cm3PtUTh.js} +1 -1
- package/dist/viewer/{dist-CY2TkmE9.js → dist-CmuZXMYX.js} +1 -1
- package/dist/viewer/{dist-txabnobd.js → dist-CvMMV1bh.js} +1 -1
- package/dist/viewer/{dist-Ded9oFKo.js → dist-D6ZK8Xjb.js} +1 -1
- package/dist/viewer/{dist-C6czRr4c.js → dist-D9ubIHs9.js} +1 -1
- package/dist/viewer/{dist-B13oEVXf.js → dist-DlqN5LCW.js} +1 -1
- package/dist/viewer/{dist-BMEAkBHE.js → dist-Dvmx2QWc.js} +1 -1
- package/dist/viewer/{dist-CC9VKgjG.js → dist-DwneAiRo.js} +4 -4
- package/dist/viewer/{dist-Wtk9y4QC.js → dist-IvjL_4Fz.js} +1 -1
- package/dist/viewer/{dist-C55eUDGb.js → dist-MgwwM__x.js} +1 -1
- package/dist/viewer/{dist-DabEZ184.js → dist-QND2Lmk5.js} +1 -1
- package/dist/viewer/{dist-B40UUbgw.js → dist-YskcL8-n.js} +1 -1
- package/dist/viewer/{dist-1wqDUqVM.js → dist-lBA58Q6O.js} +1 -1
- package/dist/viewer/{dist-BQp88HM1.js → dist-lONhpLQT.js} +1 -1
- package/dist/viewer/{dist-DHALLG2c.js → dist-v3HQ_tBw.js} +1 -1
- package/dist/viewer/{dist-CJ7QItR6.js → dist-vk9ofs_t.js} +1 -1
- package/dist/viewer/{ebnfDiagram-PWID7BFC-9giBRT9V.js → ebnfDiagram-PWID7BFC-0s9Mm78H.js} +1 -1
- package/dist/viewer/{el-GR-BZB4AONW-DiytE3HK.js → el-GR-BZB4AONW-DFIcTo3i.js} +1 -1
- package/dist/viewer/{en-B4ZKOASM-BnlX_3m1.js → en-B4ZKOASM-BEswEOpC.js} +1 -1
- package/dist/viewer/{erDiagram-RLTQ6QDP-BFc3pr17.js → erDiagram-RLTQ6QDP-A9ucHzt3.js} +1 -1
- package/dist/viewer/{es-ES-U4NZUMDT-BLZs9ryR.js → es-ES-U4NZUMDT-Dsyjlq5a.js} +1 -1
- package/dist/viewer/{eu-ES-A7QVB2H4-Do47CF4f.js → eu-ES-A7QVB2H4-BAIIFqxX.js} +1 -1
- package/dist/viewer/{fa-IR-HGAKTJCU-BZbWTobm.js → fa-IR-HGAKTJCU-C3OpuRE4.js} +1 -1
- package/dist/viewer/{fi-FI-Z5N7JZ37-Bj1DZkcY.js → fi-FI-Z5N7JZ37-CGZNrctb.js} +1 -1
- package/dist/viewer/flowDiagram-HODETNUW-D_xWrdzr.js +1 -0
- package/dist/viewer/{fr-FR-RHASNOE6-BwL6w642.js → fr-FR-RHASNOE6-DABvCzvT.js} +1 -1
- package/dist/viewer/{ganttDiagram-EL5Y4UJY-tkthcHqs.js → ganttDiagram-EL5Y4UJY-DqLWQJWV.js} +1 -1
- package/dist/viewer/{gl-ES-HMX3MZ6V-ConDt0TV.js → gl-ES-HMX3MZ6V-D-FsubUP.js} +1 -1
- package/dist/viewer/{he-IL-6SHJWFNN-BlAXOFv0.js → he-IL-6SHJWFNN-DKZYdZfW.js} +1 -1
- package/dist/viewer/{hi-IN-IWLTKZ5I-D3eaYVhg.js → hi-IN-IWLTKZ5I-Dg6zlEAV.js} +1 -1
- package/dist/viewer/{hu-HU-A5ZG7DT2-DZRZmO8U.js → hu-HU-A5ZG7DT2-N2pu49mS.js} +1 -1
- package/dist/viewer/{id-ID-SAP4L64H-CpfVDf1D.js → id-ID-SAP4L64H-L0ROzOqC.js} +1 -1
- package/dist/viewer/{image-GAAHSSAO-CTiY9gHI.js → image-GAAHSSAO-CPsuFbpQ.js} +1 -1
- package/dist/viewer/index.html +6 -6
- package/dist/viewer/index.js +10 -10
- package/dist/viewer/index2.css +17 -1
- package/dist/viewer/{infoDiagram-27XIBGKW-nrTZd6ja.js → infoDiagram-27XIBGKW-DpFxmo2_.js} +1 -1
- package/dist/viewer/{ishikawaDiagram-5VMMS53U-Qt3RnGXG.js → ishikawaDiagram-5VMMS53U-8EYGUU-2.js} +1 -1
- package/dist/viewer/{it-IT-JPQ66NNP-D-9al1qd.js → it-IT-JPQ66NNP-BV10T_YH.js} +1 -1
- package/dist/viewer/{ja-JP-DBVTYXUO--8rpiAjQ.js → ja-JP-DBVTYXUO-BCaJwh3E.js} +1 -1
- package/dist/viewer/{journeyDiagram-3NMN7TZE-gleUhig1.js → journeyDiagram-3NMN7TZE-DaFiGmqB.js} +1 -1
- package/dist/viewer/{kaa-6HZHGXH3-BISHy72m.js → kaa-6HZHGXH3-B1skt76W.js} +1 -1
- package/dist/viewer/{kab-KAB-ZGHBKWFO-rqflrdnE.js → kab-KAB-ZGHBKWFO-Cw1z7bNO.js} +1 -1
- package/dist/viewer/{kanban-definition-UXKFOSKX-DHYX9Sne.js → kanban-definition-UXKFOSKX-XFPAw_KL.js} +1 -1
- package/dist/viewer/{kk-KZ-P5N5QNE5-CxsofODM.js → kk-KZ-P5N5QNE5-BPyIEorg.js} +1 -1
- package/dist/viewer/{km-KH-HSX4SM5Z-CY7KPsg8.js → km-KH-HSX4SM5Z-DuqV3Xms.js} +1 -1
- package/dist/viewer/{ko-KR-MTYHY66A-Mo8X-aCW.js → ko-KR-MTYHY66A-C40qKz7C.js} +1 -1
- package/dist/viewer/{ku-TR-6OUDTVRD-XdGOo6AM.js → ku-TR-6OUDTVRD-Bbrtxcjm.js} +1 -1
- package/dist/viewer/{lt-LT-XHIRWOB4-BTJg8sWT.js → lt-LT-XHIRWOB4-B_qXWIwM.js} +1 -1
- package/dist/viewer/{lv-LV-5QDEKY6T-BKlFEfuS.js → lv-LV-5QDEKY6T-8_k-NVNn.js} +1 -1
- package/dist/viewer/{mindmap-definition-YA3MSWOX-BmwdHmpO.js → mindmap-definition-YA3MSWOX-CJw_BzHI.js} +1 -1
- package/dist/viewer/{mr-IN-CRQNXWMA-D0AQrCA2.js → mr-IN-CRQNXWMA-Cr6mk0h0.js} +1 -1
- package/dist/viewer/{my-MM-5M5IBNSE-NjpzYQsO.js → my-MM-5M5IBNSE-zfvalQ4P.js} +1 -1
- package/dist/viewer/{nb-NO-T6EIAALU-BzWm7B-O.js → nb-NO-T6EIAALU-B0R5LoPU.js} +1 -1
- package/dist/viewer/{nl-NL-IS3SIHDZ-T8_DslA8.js → nl-NL-IS3SIHDZ-DByEOQ_2.js} +1 -1
- package/dist/viewer/{nn-NO-6E72VCQL-BTszDvP-.js → nn-NO-6E72VCQL-DUupf9du.js} +1 -1
- package/dist/viewer/{oc-FR-POXYY2M6-hpKPsf_6.js → oc-FR-POXYY2M6-C4GiSVlQ.js} +1 -1
- package/dist/viewer/{pa-IN-N4M65BXN-DFhI5C_f.js → pa-IN-N4M65BXN-BmpOpAle.js} +1 -1
- package/dist/viewer/{pegDiagram-XKGWAZYB-DqketQBQ.js → pegDiagram-XKGWAZYB-DAjil8NL.js} +1 -1
- package/dist/viewer/percentages-BXMCSKIN-B-KINBvQ.js +1 -0
- package/dist/viewer/{pieDiagram-E7YTZNPT-CswNjFwQ.js → pieDiagram-E7YTZNPT-CaXmRdry.js} +1 -1
- package/dist/viewer/{pl-PL-T2D74RX3-D558twE2.js → pl-PL-T2D74RX3-DuE4eY9G.js} +1 -1
- package/dist/viewer/{prod-QHcKCKFc.js → prod-CJIb7nxS.js} +8 -8
- package/dist/viewer/{pt-BR-5N22H2LF-DSx6pGlq.js → pt-BR-5N22H2LF-KH_3-_Pi.js} +1 -1
- package/dist/viewer/{pt-PT-UZXXM6DQ-DmOAYnAV.js → pt-PT-UZXXM6DQ-BF4pZvjU.js} +1 -1
- package/dist/viewer/{quadrantDiagram-AXDQQJYC-Du4WujoN.js → quadrantDiagram-AXDQQJYC-CttUyhBS.js} +1 -1
- package/dist/viewer/{railroadDiagram-O6MQD6OU-DtPojk0V.js → railroadDiagram-O6MQD6OU-CbnAU0MT.js} +1 -1
- package/dist/viewer/{requirementDiagram-BXWQKSXE-DPfOYGEZ.js → requirementDiagram-BXWQKSXE-DvKdUhZQ.js} +1 -1
- package/dist/viewer/{ro-RO-JPDTUUEW-CqQXLoRW.js → ro-RO-JPDTUUEW-Brpa20Xr.js} +1 -1
- package/dist/viewer/{ru-RU-B4JR7IUQ-J649-Rol.js → ru-RU-B4JR7IUQ-PktJmPKO.js} +1 -1
- package/dist/viewer/{sequenceDiagram-WJ2MYXX4-BCzPC46m.js → sequenceDiagram-WJ2MYXX4-CJoSlXfo.js} +1 -1
- package/dist/viewer/{si-LK-N5RQ5JYF-BtnJyPI4.js → si-LK-N5RQ5JYF-ChiCBRoh.js} +1 -1
- package/dist/viewer/{sk-SK-C5VTKIMK-Dd4ukPQm.js → sk-SK-C5VTKIMK-CqJFB_HV.js} +1 -1
- package/dist/viewer/{sl-SI-NN7IZMDC-CfLEfkKK.js → sl-SI-NN7IZMDC-DVLqmOJ1.js} +1 -1
- package/dist/viewer/{stateDiagram-D77RDMKH-rJOQf35n.js → stateDiagram-D77RDMKH-DMn_ZLVi.js} +1 -1
- package/dist/viewer/{stateDiagram-v2-MP3YSRHH-2Xy4p5Ky.js → stateDiagram-v2-MP3YSRHH-CEKv_pDb.js} +1 -1
- package/dist/viewer/subset-shared.chunk-P48EEdkR.js +1 -0
- package/dist/viewer/{subset-worker.chunk-VHwqqTOg.js → subset-worker.chunk-D7vPNmxj.js} +1 -1
- package/dist/viewer/{sv-SE-XGPEYMSR-6aSxoBco.js → sv-SE-XGPEYMSR-BE0Rox_P.js} +1 -1
- package/dist/viewer/{swimlanes-42K2YHIH-v4Asr9Gq.js → swimlanes-42K2YHIH-Z13RXAJ2.js} +1 -1
- package/dist/viewer/{swimlanesDiagram-VR7AAH4N-ELa654QB.js → swimlanesDiagram-VR7AAH4N-2F-sMn5C.js} +1 -1
- package/dist/viewer/{ta-IN-2NMHFXQM-CFXGYN1q.js → ta-IN-2NMHFXQM-BytzkZT9.js} +1 -1
- package/dist/viewer/{th-TH-HPSO5L25-DE3snqCF.js → th-TH-HPSO5L25-8djIgrrS.js} +1 -1
- package/dist/viewer/{timeline-definition-24CTP7MA-BAcffnfw.js → timeline-definition-24CTP7MA-BBemmJjg.js} +1 -1
- package/dist/viewer/{tr-TR-DEFEU3FU-B4xo5NFF.js → tr-TR-DEFEU3FU-s5K56Q5P.js} +1 -1
- package/dist/viewer/{uk-UA-QMV73CPH-6G-hcLK9.js → uk-UA-QMV73CPH-BR4VH6DS.js} +1 -1
- package/dist/viewer/{vennDiagram-4TSXK5OY-X6DsLJAg.js → vennDiagram-4TSXK5OY-BF17eruu.js} +1 -1
- package/dist/viewer/{vi-VN-M7AON7JQ-1UrXvj_c.js → vi-VN-M7AON7JQ-B0ic3hAd.js} +1 -1
- package/dist/viewer/{wardleyDiagram-VM6X3IG4-C6d-EQap.js → wardleyDiagram-VM6X3IG4-D-8trXu4.js} +1 -1
- package/dist/viewer/{xychartDiagram-S5SC5T6Z-CsXmXjQH.js → xychartDiagram-S5SC5T6Z-B596erre.js} +1 -1
- package/dist/viewer/{zh-CN-LNUGB5OW-t5_YfMiv.js → zh-CN-LNUGB5OW-CYANBkOM.js} +1 -1
- package/dist/viewer/{zh-HK-E62DVLB3-DJLNgDSD.js → zh-HK-E62DVLB3-BWpz93gC.js} +1 -1
- package/dist/viewer/{zh-TW-RAJ6MFWO-CxK5BbTi.js → zh-TW-RAJ6MFWO-CACFXFA3.js} +1 -1
- package/package.json +3 -1
- package/dist/viewer/CloudDocument--a8-nXso.js +0 -1
- package/dist/viewer/CloudLiveDocument-Dn7hsd9J.js +0 -1
- package/dist/viewer/DocumentPage-CNXMmV9l.js +0 -1
- package/dist/viewer/RailSwitch-D4FON4Vr.js +0 -58
- package/dist/viewer/flowDiagram-HODETNUW-DJKmbPSM.js +0 -1
- package/dist/viewer/percentages-BXMCSKIN-BE-dJ5Ph.js +0 -1
- package/dist/viewer/subset-shared.chunk-D9kegQAo.js +0 -1
package/dist/cli.cjs
CHANGED
package/dist/server.cjs
CHANGED
|
@@ -84900,10 +84900,10 @@ var CHAT_BLOCK_TRANSFORMER = {
|
|
|
84900
84900
|
export: (node) => {
|
|
84901
84901
|
if (node.getType() !== "chat") return null;
|
|
84902
84902
|
const j4 = node.exportJSON();
|
|
84903
|
-
const
|
|
84903
|
+
const lookup2 = new Map(j4.participants.map((p7) => [p7.id, p7]));
|
|
84904
84904
|
const lines = [];
|
|
84905
84905
|
j4.messages.forEach((m11, idx) => {
|
|
84906
|
-
const p7 =
|
|
84906
|
+
const p7 = lookup2.get(m11.participantId) ?? UNKNOWN_CHAT_PARTICIPANT;
|
|
84907
84907
|
const name = chatParticipantName(p7);
|
|
84908
84908
|
const block = j4.variant === "user-user" || j4.variant === "user-agent" && p7.kind === "user" ? m11.content.split("\n").map((line, i6) => i6 === 0 ? `> **${name}:** ${line}` : `> ${line}`).join("\n") : m11.content;
|
|
84909
84909
|
if (idx > 0) lines.push("");
|
|
@@ -89731,6 +89731,112 @@ var import_node_crypto8 = __toESM(require("node:crypto"), 1);
|
|
|
89731
89731
|
var RYUGI_MARK_VIEWBOX = "0 0 512 512";
|
|
89732
89732
|
var RYUGI_MARK_BODY = '<g transform="translate(82 136.317460) scale(0.613756614)"><g transform="translate(0.000000,390.000000) scale(0.100000,-0.100000)" stroke="none"><path d="M4945 3889 c-339 -44 -682 -239 -905 -517 -139 -172 -232 -355 -365 -717 -136 -368 -285 -735 -360 -890 -219 -449 -524 -768 -849 -887 -121 -44 -215 -60 -356 -60 -162 0 -244 18 -450 97 -291 111 -420 144 -650 166 -257 24 -637 -19 -772 -87 -148 -75 -249 -247 -235 -399 19 -197 186 -344 392 -346 40 -1 127 11 205 27 115 23 160 28 300 28 242 1 372 -29 671 -155 226 -95 467 -149 662 -149 252 0 548 74 789 197 394 201 708 521 988 1008 83 144 271 529 405 830 220 493 300 632 436 759 121 112 226 162 424 201 44 9 108 29 143 45 165 77 274 285 244 467 -31 188 -168 334 -354 378 -70 16 -249 18 -363 4z M765 3139 c-202 -11 -415 -48 -497 -86 -91 -44 -151 -101 -193 -186 -123 -248 31 -525 307 -554 38 -4 99 3 204 23 137 27 167 29 384 29 205 0 249 -3 347 -23 225 -45 387 -106 658 -247 182 -94 308 -144 463 -182 138 -35 350 -39 447 -9 174 53 275 152 305 299 26 130 -40 267 -158 323 -52 25 -72 28 -227 35 -248 11 -328 37 -576 187 -232 140 -384 213 -585 281 -283 95 -541 127 -879 110z M620 2104 c-273 -32 -384 -65 -471 -143 -235 -208 -136 -589 172 -660 68 -16 129 -13 272 14 400 73 702 31 1167 -163 239 -99 350 -125 535 -125 193 0 338 51 448 157 117 113 139 261 56 375 -50 69 -99 85 -294 92 -245 10 -332 35 -563 163 -224 123 -456 211 -693 262 -111 23 -149 26 -359 29 -129 2 -251 1 -270 -1z"/></g></g>';
|
|
89733
89733
|
|
|
89734
|
+
// src/shared/locale.ts
|
|
89735
|
+
var HTML_LANG = { en: "en", zh: "zh-CN" };
|
|
89736
|
+
function resolveLocale(preferences) {
|
|
89737
|
+
for (const preference of preferences) {
|
|
89738
|
+
const primary = preference.split("-")[0]?.trim().toLowerCase();
|
|
89739
|
+
if (primary === "zh") return "zh";
|
|
89740
|
+
if (primary === "en") return "en";
|
|
89741
|
+
}
|
|
89742
|
+
return "en";
|
|
89743
|
+
}
|
|
89744
|
+
function parseAcceptLanguage(header) {
|
|
89745
|
+
if (!header) return [];
|
|
89746
|
+
return header.split(",").map((part, index) => {
|
|
89747
|
+
const [tag = "", ...params] = part.trim().split(";");
|
|
89748
|
+
const q3 = params.map((param) => param.trim()).find((param) => param.startsWith("q="));
|
|
89749
|
+
return { tag: tag.trim(), q: q3 ? Number(q3.slice(2)) : 1, index };
|
|
89750
|
+
}).filter((entry) => entry.tag && !Number.isNaN(entry.q) && entry.q > 0).sort((a5, b6) => b6.q - a5.q || a5.index - b6.index).map((entry) => entry.tag);
|
|
89751
|
+
}
|
|
89752
|
+
|
|
89753
|
+
// src/shared/messages.ts
|
|
89754
|
+
function lookup(dictionary, key2) {
|
|
89755
|
+
let node = dictionary;
|
|
89756
|
+
for (const part of key2.split(".")) node = typeof node === "object" ? node[part] : void 0;
|
|
89757
|
+
return typeof node === "string" ? node : void 0;
|
|
89758
|
+
}
|
|
89759
|
+
function find3(dictionary, key2, locale, count) {
|
|
89760
|
+
if (typeof count === "number") {
|
|
89761
|
+
const form = lookup(dictionary, `${key2}_${new Intl.PluralRules(locale).select(count)}`) ?? lookup(dictionary, `${key2}_other`);
|
|
89762
|
+
if (form !== void 0) return form;
|
|
89763
|
+
}
|
|
89764
|
+
return lookup(dictionary, key2);
|
|
89765
|
+
}
|
|
89766
|
+
function translator(dictionaries, locale) {
|
|
89767
|
+
return (key2, values = {}) => {
|
|
89768
|
+
const message = find3(dictionaries[locale], key2, locale, values.count) ?? find3(dictionaries.en, key2, "en", values.count) ?? key2;
|
|
89769
|
+
return message.replace(/\{\{(\w+)\}\}/g, (match, name) => name in values ? String(values[name]) : match);
|
|
89770
|
+
};
|
|
89771
|
+
}
|
|
89772
|
+
|
|
89773
|
+
// src/server/locales/en.json
|
|
89774
|
+
var en_default = {
|
|
89775
|
+
callback: {
|
|
89776
|
+
titleOk: "Signed in to Ryugi Cloud",
|
|
89777
|
+
titleFailed: "Sign-in didn't finish",
|
|
89778
|
+
connected: "Connected to Ryugi Cloud",
|
|
89779
|
+
signedIn: "Signed in as",
|
|
89780
|
+
lead: "Ryugi on this computer can publish artifacts now.",
|
|
89781
|
+
fromPage: "Published from a Ryugi page?",
|
|
89782
|
+
fromPageDetail: "Go back to Ryugi; the share panel refreshes on its own.",
|
|
89783
|
+
fromAgent: "Asked the agent to publish?",
|
|
89784
|
+
fromAgentDetail: "Have it run the publish command again.",
|
|
89785
|
+
autoPublish: "Auto-publish is on",
|
|
89786
|
+
autoPublishDetail: "After each agent turn, changed artifacts sync privately to Ryugi Cloud. To turn it off, run <code>ryugi-artifacts config --auto-publish off</code>.",
|
|
89787
|
+
notConnected: "Not connected",
|
|
89788
|
+
retry: "Sign in again",
|
|
89789
|
+
retryDetail: "Go back to Ryugi and click Sign in in the share panel again.",
|
|
89790
|
+
description: "Result of signing in to Ryugi Cloud on this computer. Once connected, go back to Ryugi to publish and share artifacts.",
|
|
89791
|
+
closeOk: "You can close this page",
|
|
89792
|
+
closeFailed: "You can close this page and try again"
|
|
89793
|
+
},
|
|
89794
|
+
login: {
|
|
89795
|
+
expired: "This sign-in link has expired or was already used. Go back to Ryugi and sign in again.",
|
|
89796
|
+
unreachable: "Couldn't reach {{origin}} ({{message}}). Check your network, then go back to Ryugi and sign in again.",
|
|
89797
|
+
refused: "Ryugi Cloud didn't accept this sign-in ({{reason}}). Go back to Ryugi and sign in again."
|
|
89798
|
+
},
|
|
89799
|
+
meta: {
|
|
89800
|
+
artifact: "View {{title}} in the {{project}} project. This is a {{type}} artifact.",
|
|
89801
|
+
library: "Browse every artboard, document and HTML artifact in the {{project}} project, preview their content, and find them by type, name or update time."
|
|
89802
|
+
}
|
|
89803
|
+
};
|
|
89804
|
+
|
|
89805
|
+
// src/server/locales/zh.json
|
|
89806
|
+
var zh_default = {
|
|
89807
|
+
callback: {
|
|
89808
|
+
titleOk: "\u5DF2\u767B\u5F55 Ryugi Cloud",
|
|
89809
|
+
titleFailed: "\u767B\u5F55\u6CA1\u6709\u5B8C\u6210",
|
|
89810
|
+
connected: "\u5DF2\u8FDE\u63A5 Ryugi Cloud",
|
|
89811
|
+
signedIn: "\u5DF2\u767B\u5F55",
|
|
89812
|
+
lead: "\u8FD9\u53F0\u7535\u8111\u4E0A\u7684 Ryugi \u73B0\u5728\u53EF\u4EE5\u53D1\u5E03 artifact \u4E86\u3002",
|
|
89813
|
+
fromPage: "\u5728 Ryugi \u9875\u9762\u91CC\u53D1\u5E03\u7684\uFF1F",
|
|
89814
|
+
fromPageDetail: "\u56DE\u5230 Ryugi\uFF0C\u5206\u4EAB\u9762\u677F\u4F1A\u81EA\u52A8\u5237\u65B0\u3002",
|
|
89815
|
+
fromAgent: "\u8BA9 agent \u53D1\u5E03\u7684\uFF1F",
|
|
89816
|
+
fromAgentDetail: "\u8BA9\u5B83\u518D\u8FD0\u884C\u4E00\u6B21\u53D1\u5E03\u547D\u4EE4\u3002",
|
|
89817
|
+
autoPublish: "\u81EA\u52A8\u53D1\u5E03\u5DF2\u6253\u5F00",
|
|
89818
|
+
autoPublishDetail: "agent \u6BCF\u8F6E\u7ED3\u675F\u540E\uFF0C\u6539\u8FC7\u7684 artifact \u4F1A\u4EE5\u79C1\u5BC6\u65B9\u5F0F\u540C\u6B65\u5230 Ryugi Cloud\u3002\u5173\u95ED\uFF1A\u8FD0\u884C <code>ryugi-artifacts config --auto-publish off</code>\u3002",
|
|
89819
|
+
notConnected: "\u672A\u8FDE\u63A5",
|
|
89820
|
+
retry: "\u91CD\u65B0\u767B\u5F55",
|
|
89821
|
+
retryDetail: "\u56DE\u5230 Ryugi\uFF0C\u5728\u5206\u4EAB\u9762\u677F\u91CC\u518D\u70B9\u4E00\u6B21\u300C\u767B\u5F55\u300D\u3002",
|
|
89822
|
+
description: "Ryugi Cloud \u672C\u5730\u767B\u5F55\u7ED3\u679C\u3002\u5B8C\u6210\u8FDE\u63A5\u540E\uFF0C\u8FD4\u56DE Ryugi \u7EE7\u7EED\u53D1\u5E03\u548C\u5206\u4EAB Artifact\u3002",
|
|
89823
|
+
closeOk: "\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9875\u9762",
|
|
89824
|
+
closeFailed: "\u53EF\u4EE5\u5173\u95ED\u8FD9\u4E2A\u9875\u9762\u540E\u91CD\u8BD5"
|
|
89825
|
+
},
|
|
89826
|
+
login: {
|
|
89827
|
+
expired: "\u8FD9\u4E2A\u767B\u5F55\u94FE\u63A5\u5DF2\u8FC7\u671F\u6216\u5DF2\u7ECF\u7528\u8FC7\u3002\u56DE\u5230 Ryugi \u91CD\u65B0\u53D1\u8D77\u4E00\u6B21\u767B\u5F55\u3002",
|
|
89828
|
+
unreachable: "\u8FDE\u4E0D\u4E0A {{origin}}\uFF08{{message}}\uFF09\u3002\u68C0\u67E5\u7F51\u7EDC\u540E\u56DE\u5230 Ryugi \u91CD\u65B0\u53D1\u8D77\u767B\u5F55\u3002",
|
|
89829
|
+
refused: "Ryugi Cloud \u6CA1\u6709\u63A5\u53D7\u8FD9\u6B21\u767B\u5F55\uFF08{{reason}}\uFF09\u3002\u56DE\u5230 Ryugi \u91CD\u65B0\u53D1\u8D77\u767B\u5F55\u3002"
|
|
89830
|
+
},
|
|
89831
|
+
meta: {
|
|
89832
|
+
artifact: "\u5728 {{project}} \u9879\u76EE\u4E2D\u67E5\u770B {{title}}\uFF0C\u8FD9\u662F\u4E00\u4E2A {{type}} Artifact\u3002",
|
|
89833
|
+
library: "\u6D4F\u89C8 {{project}} \u9879\u76EE\u7684\u5168\u90E8 Artboard\u3001Document \u548C HTML Artifact\uFF0C\u9884\u89C8\u771F\u5B9E\u5185\u5BB9\uFF0C\u6309\u7C7B\u578B\u3001\u540D\u79F0\u548C\u66F4\u65B0\u65F6\u95F4\u67E5\u627E\u4F5C\u54C1\u3002"
|
|
89834
|
+
}
|
|
89835
|
+
};
|
|
89836
|
+
|
|
89837
|
+
// src/server/locales/index.ts
|
|
89838
|
+
var serverText = (locale) => translator({ en: en_default, zh: zh_default }, locale);
|
|
89839
|
+
|
|
89734
89840
|
// src/server/callback-page.ts
|
|
89735
89841
|
var CALLBACK_PAGE_CSP = "default-src 'none'; style-src 'unsafe-inline'; img-src data:; script-src 'none'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'";
|
|
89736
89842
|
var escapeHtml = (value) => value.replace(/[&<>"']/g, (ch) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[ch]);
|
|
@@ -89802,24 +89908,25 @@ footer { display: flex; justify-content: space-between; gap: 16px; margin-top: 2
|
|
|
89802
89908
|
footer code { font: 12px var(--mono); }
|
|
89803
89909
|
`;
|
|
89804
89910
|
var row = (title, detail) => `<li><b>${title}</b><span>${detail}</span></li>`;
|
|
89805
|
-
function callbackPage(result) {
|
|
89911
|
+
function callbackPage(result, locale = "en") {
|
|
89912
|
+
const t7 = serverText(locale);
|
|
89806
89913
|
const host = escapeHtml(new URL(result.origin).host);
|
|
89807
|
-
const title = result.ok ? "
|
|
89808
|
-
const body = result.ok ? `<p class="status">${CIRCLE_CHECK}
|
|
89809
|
-
<h1
|
|
89810
|
-
<p class="lead"
|
|
89811
|
-
<ul class="rows">${row("
|
|
89812
|
-
<h1
|
|
89914
|
+
const title = result.ok ? t7("callback.titleOk") : t7("callback.titleFailed");
|
|
89915
|
+
const body = result.ok ? `<p class="status">${CIRCLE_CHECK}${t7("callback.connected")}</p>
|
|
89916
|
+
<h1>${t7("callback.signedIn")}<em>${escapeHtml(result.login)}</em></h1>
|
|
89917
|
+
<p class="lead">${t7("callback.lead")}</p>
|
|
89918
|
+
<ul class="rows">${row(t7("callback.fromPage"), t7("callback.fromPageDetail"))}${row(t7("callback.fromAgent"), t7("callback.fromAgentDetail"))}${result.autoPublish ? row(t7("callback.autoPublish"), t7("callback.autoPublishDetail")) : ""}</ul>` : `<p class="status">${CIRCLE_ALERT}${t7("callback.notConnected")}</p>
|
|
89919
|
+
<h1>${t7("callback.titleFailed")}</h1>
|
|
89813
89920
|
<p class="lead">${escapeHtml(result.detail)}</p>
|
|
89814
|
-
<ul class="rows">${row("
|
|
89921
|
+
<ul class="rows">${row(t7("callback.retry"), t7("callback.retryDetail"))}</ul>`;
|
|
89815
89922
|
return `<!doctype html>
|
|
89816
|
-
<html lang="
|
|
89923
|
+
<html lang="${HTML_LANG[locale]}">
|
|
89817
89924
|
<head>
|
|
89818
89925
|
<meta charset="utf-8">
|
|
89819
89926
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
89820
89927
|
<meta name="referrer" content="no-referrer">
|
|
89821
89928
|
<meta name="robots" content="noindex, nofollow">
|
|
89822
|
-
<meta name="description" content="
|
|
89929
|
+
<meta name="description" content="${t7("callback.description")}">
|
|
89823
89930
|
<title>${title}</title>
|
|
89824
89931
|
<style>${STYLE2}</style>
|
|
89825
89932
|
</head>
|
|
@@ -89827,7 +89934,7 @@ function callbackPage(result) {
|
|
|
89827
89934
|
<div class="mark">${MARK}ryugi</div>
|
|
89828
89935
|
<main class="${result.ok ? "signed-in" : "failed"}">
|
|
89829
89936
|
${body}
|
|
89830
|
-
<footer><span>${result.ok ? "
|
|
89937
|
+
<footer><span>${result.ok ? t7("callback.closeOk") : t7("callback.closeFailed")}</span><code>${host}</code></footer>
|
|
89831
89938
|
</main>
|
|
89832
89939
|
</body>
|
|
89833
89940
|
</html>
|
|
@@ -90129,7 +90236,7 @@ function createCloudRoutes(options) {
|
|
|
90129
90236
|
};
|
|
90130
90237
|
const publish = async (ref, requested, { recreate = true, skipUnchanged = false } = {}) => {
|
|
90131
90238
|
const prepared = await prepare(ref);
|
|
90132
|
-
if (!prepared.ready) return { status: 409, body: { error: "fix these before publishing", reasons: prepared.reasons } };
|
|
90239
|
+
if (!prepared.ready) return { status: 409, body: { error: "fix these before publishing", code: "publish_not_ready", reasons: prepared.reasons } };
|
|
90133
90240
|
const { hashed, content, fingerprint } = prepared;
|
|
90134
90241
|
const key2 = `${ref.type}/${ref.id}`;
|
|
90135
90242
|
const entry = artifactEntry(key2);
|
|
@@ -90308,8 +90415,9 @@ function createCloudRoutes(options) {
|
|
|
90308
90415
|
send(res, 404, "Not found");
|
|
90309
90416
|
};
|
|
90310
90417
|
return {
|
|
90311
|
-
async handleCallback(url, res) {
|
|
90312
|
-
const
|
|
90418
|
+
async handleCallback(url, res, locale = "en") {
|
|
90419
|
+
const t7 = serverText(locale);
|
|
90420
|
+
const page = (status, result) => send(res, status, callbackPage({ ...result, origin }, locale), {
|
|
90313
90421
|
"Content-Type": "text/html; charset=utf-8",
|
|
90314
90422
|
"Content-Security-Policy": CALLBACK_PAGE_CSP
|
|
90315
90423
|
});
|
|
@@ -90318,7 +90426,7 @@ function createCloudRoutes(options) {
|
|
|
90318
90426
|
pendingStates.delete(state);
|
|
90319
90427
|
const code = url.searchParams.get("code");
|
|
90320
90428
|
if (!pending || pending.expires < Date.now() || !code) {
|
|
90321
|
-
page(400, { ok: false, detail: "
|
|
90429
|
+
page(400, { ok: false, detail: t7("login.expired") });
|
|
90322
90430
|
return;
|
|
90323
90431
|
}
|
|
90324
90432
|
let swap;
|
|
@@ -90329,13 +90437,13 @@ function createCloudRoutes(options) {
|
|
|
90329
90437
|
body: JSON.stringify({ code, verifier: pending.verifier })
|
|
90330
90438
|
});
|
|
90331
90439
|
} catch (err) {
|
|
90332
|
-
page(502, { ok: false, detail:
|
|
90440
|
+
page(502, { ok: false, detail: t7("login.unreachable", { origin, message: err.message }) });
|
|
90333
90441
|
return;
|
|
90334
90442
|
}
|
|
90335
90443
|
const issued = await swap.json().catch(() => ({}));
|
|
90336
90444
|
if (!swap.ok || typeof issued.token !== "string" || typeof issued.login !== "string") {
|
|
90337
90445
|
const reason = typeof issued.error === "string" ? issued.error : `HTTP ${swap.status}`;
|
|
90338
|
-
page(400, { ok: false, detail:
|
|
90446
|
+
page(400, { ok: false, detail: t7("login.refused", { reason }) });
|
|
90339
90447
|
return;
|
|
90340
90448
|
}
|
|
90341
90449
|
writeCredentials(credentialsFile2, { origin, token: issued.token, login: issued.login });
|
|
@@ -90495,15 +90603,17 @@ function commentNames({ agentFile, projectDir, cloud }) {
|
|
|
90495
90603
|
var import_node_crypto9 = require("node:crypto");
|
|
90496
90604
|
var escapeHtml2 = (value) => value.replace(/[&<>"']/g, (ch) => ({ "&": "&", "<": "<", ">": ">", '"': """, "'": "'" })[ch]);
|
|
90497
90605
|
function viewerPage(template, page) {
|
|
90606
|
+
const locale = page.locale ?? "en";
|
|
90498
90607
|
const values = {
|
|
90499
90608
|
robots: "noindex, nofollow",
|
|
90609
|
+
"og:locale": locale === "zh" ? "zh_CN" : "en_US",
|
|
90500
90610
|
description: page.description,
|
|
90501
90611
|
"og:title": page.title,
|
|
90502
90612
|
"og:description": page.description,
|
|
90503
90613
|
"twitter:title": page.title,
|
|
90504
90614
|
"twitter:description": page.description
|
|
90505
90615
|
};
|
|
90506
|
-
return template.replace(/<html\b
|
|
90616
|
+
return template.replace(/<html\b([^>]*)>/i, (_tag, attributes) => `<html${attributes.replace(/\slang="[^"]*"/i, "")} lang="${HTML_LANG[locale]}"${page.artifactId ? ` data-ryugi-artifact-id="${escapeHtml2(page.artifactId)}"` : ""}>`).replace(/<title\b[^>]*>[\s\S]*?<\/title>/i, () => `<title>${escapeHtml2(page.title)}</title>`).replace(/(<link\b[^>]*\brel="icon"[^>]*\bhref=")[^"]*(")/i, (tag, prefix, suffix) => page.icon ? `${prefix}${escapeHtml2(page.icon)}${suffix}` : tag).replace(/(<meta\b[^>]*\b(?:name|property)="([^"]+)"[^>]*\bcontent=")([^"]*)("[^>]*>)/gi, (tag, prefix, name, value, suffix) => {
|
|
90507
90617
|
const content = values[name] ?? (name === "og:image" || name === "twitter:image" ? new URL(value, page.url).href : void 0);
|
|
90508
90618
|
return content === void 0 ? tag : `${prefix}${escapeHtml2(content)}${suffix}`;
|
|
90509
90619
|
}).replace(/<\/head>/i, () => `<link rel="canonical" href="${escapeHtml2(page.url)}">
|
|
@@ -91199,7 +91309,7 @@ async function startArtifactsServer(options) {
|
|
|
91199
91309
|
return;
|
|
91200
91310
|
}
|
|
91201
91311
|
if (cloud && pathname === "/api/cloud/callback") {
|
|
91202
|
-
void cloud.handleCallback(url2, res).catch((err) => {
|
|
91312
|
+
void cloud.handleCallback(url2, res, resolveLocale(parseAcceptLanguage(req.headers["accept-language"]))).catch((err) => {
|
|
91203
91313
|
if (!res.headersSent) send(res, 500, `Artifacts error: ${err.message}`);
|
|
91204
91314
|
});
|
|
91205
91315
|
return;
|
|
@@ -91320,7 +91430,9 @@ async function startArtifactsServer(options) {
|
|
|
91320
91430
|
const dir = resolved?.dir;
|
|
91321
91431
|
const project = import_node_path21.default.basename(import_node_path21.default.dirname(import_node_path21.default.dirname(root)));
|
|
91322
91432
|
const title = ref ? dir ? titleOf(readArtifact(dir, ref), ref) : ref.id : `${project} \xB7 Artifacts`;
|
|
91323
|
-
const
|
|
91433
|
+
const locale = resolveLocale(parseAcceptLanguage(req.headers["accept-language"]));
|
|
91434
|
+
const t7 = serverText(locale);
|
|
91435
|
+
const description = ref ? t7("meta.artifact", { project, title, type: ref.type === "artboard" ? "Artboard" : ref.type === "document" ? "Document" : "HTML" }) : t7("meta.library", { project });
|
|
91324
91436
|
const preview = PREVIEW_ROUTE.test(pathname);
|
|
91325
91437
|
const canonicalPath = ref ? dir ? artifactPath(root, ref.type, ref.id) : `/${ref.type}/${ref.id}` : "/";
|
|
91326
91438
|
const canonical = `http://${urlHostForHttp(options.urlHost)}:${port}${preview ? "/preview" : ""}${canonicalPath}`;
|
|
@@ -91328,7 +91440,7 @@ async function startArtifactsServer(options) {
|
|
|
91328
91440
|
const headers = { "Content-Type": "text/html; charset=utf-8" };
|
|
91329
91441
|
if (key2 !== null) headers["Set-Cookie"] = `${cookieName}=${token}; HttpOnly; SameSite=Strict; Path=/`;
|
|
91330
91442
|
void import_node_fs24.default.promises.readFile(import_node_path21.default.join(viewerDir, "index.html"), "utf8").then((template) => {
|
|
91331
|
-
const html = viewerPage(template, { title, description, url: canonical, icon: ref ? typeFaviconHref(ref.type) : void 0, artifactId: resolved?.id });
|
|
91443
|
+
const html = viewerPage(template, { title, description, locale, url: canonical, icon: ref ? typeFaviconHref(ref.type) : void 0, artifactId: resolved?.id });
|
|
91332
91444
|
send(res, 200, html, { ...headers, "Content-Security-Policy": allowInlineScripts(csp, html) });
|
|
91333
91445
|
}).catch((err) => send(res, err.code === "ENOENT" ? 404 : 500, "Viewer unavailable"));
|
|
91334
91446
|
return;
|
|
@@ -91689,7 +91801,7 @@ function openReady(payload) {
|
|
|
91689
91801
|
}
|
|
91690
91802
|
|
|
91691
91803
|
// package.json
|
|
91692
|
-
var version = "1.
|
|
91804
|
+
var version = "1.32.0";
|
|
91693
91805
|
|
|
91694
91806
|
// src/server/main.ts
|
|
91695
91807
|
async function main() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{n as t,t as n}from"./jsx-runtime-CldxteV5.js";import{S as r,T as i,o as a,t as o}from"./RailSwitch-B8Aht-FG.js";import{E as s,T as c,d as l,f as u,k as d,t as f,y as p}from"./DocumentLayout-DUPesXt0.js";var m=e(t(),1),h=n();function g(){let e=(0,m.useMemo)(()=>window.matchMedia(`(prefers-color-scheme: dark)`),[]),[t,n]=(0,m.useState)(e.matches);return(0,m.useEffect)(()=>{let t=()=>n(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[e]),t}function _({id:e,state:t,contentBase:n,comments:_=r(),offline:v=!1}){let y=g(),[b,x]=(0,m.useState)(null),S=(0,m.useMemo)(()=>({artifact:`cloud/${e}`,contentBase:n,channel:c(),send:()=>void 0}),[e,n]),C=_.threads.filter(e=>e.status===`open`).length,w=a(e,{comments:C,activity:null,retrying:!1,reason:null,history:!1,historyOpen:!1});return(0,m.useEffect)(()=>{let e=document.createElement(`base`);return e.href=n,document.head.prepend(e),()=>e.remove()},[n]),(0,h.jsxs)(`div`,{className:`x1us19tq x1rozbrz xo2rkog`,className:`ryugi-doc ${{className:`x1us19tq x1rozbrz xo2rkog`}.className??``}`,children:[w?null:(0,h.jsxs)(`div`,{className:`x78zum5 x6s0dn4 x17d4w8g x1vqgdyp x4l9tsp x1bo0w0s xqfszdh xfifm61`,children:[(0,h.jsx)(o,{comments:C,open:!1,available:!1,onComments:()=>{},onHistory:()=>{}}),(0,h.jsx)(`span`,{children:i(`document.historyOffline`)})]}),v?(0,h.jsxs)(`div`,{...{0:{className:`x78zum5 x6s0dn4 x17d4w8g x1vqgdyp x4l9tsp x1bo0w0s xqfszdh xfifm61`},1:{className:`x6s0dn4 x17d4w8g x1vqgdyp x4l9tsp x1bo0w0s xqfszdh xfifm61 x1s85apg x1ux6vrq`}}[!!w|0],children:[(0,h.jsx)(`i`,{className:`xci0xqf x1hagigm x16rqkct xxwmxtg`}),i(`document.offlineNoComments`)]}):null,(0,h.jsx)(f,{editor:b,threads:_.threads,children:(0,h.jsx)(p.Provider,{value:S,children:(0,h.jsx)(d,{variant:`article`,theme:y?`dark`:`light`,initialValue:t,extraNodes:l,rendererConfig:u,onEditorReady:e=>{e?.setEditable(!1),x(e??null)},children:(0,h.jsx)(s,{})})})})]})}export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{n as t,t as n}from"./jsx-runtime-CldxteV5.js";import{T as r,o as i,w as a}from"./RailSwitch-B8Aht-FG.js";import{t as o}from"./index.js";import s from"./CloudDocument-DBhwAPZX.js";import{DocumentView as c,t as l}from"./DocumentPage-p78IN0UO.js";var u=e(t(),1),d=`1.32.0`,f=e=>/^(\d+)\.(\d+)\./.exec(e??``)?.slice(1,3).join(`.`)??null;function p(e,t){let n=f(e);return n!==null&&n===f(t)}var m=(e,t)=>a.t(`document.versionReason`,{host:t??a.t(`document.unknownVersion`),viewer:e}),h=n();function g({id:e,state:t,contentBase:n,liveContentBase:a,comments:f}){let{transport:g,presence:_}=l(e,a??n??``),v=_?.online??!1;i(e,{online:_?.online??null});let[y,b]=(0,u.useState)(!1);(0,u.useEffect)(()=>{v&&b(!0)},[v]);let x=t&&n?(0,h.jsx)(s,{id:e,state:t,contentBase:n,comments:f,offline:_!==null&&!v}):null;if(!g||!(y||v))return x??(0,h.jsx)(o,{children:r(_===null?`common.connecting`:`document.notPublished`)});let S=v&&p(d,_?.version??null),C=v&&!S?m(d,_?.version??null):null;return(0,h.jsx)(c,{id:e,transport:g,live:v,cloud:{online:v,canEdit:S,reason:C},fallback:x})}export{g as default};
|