ryugi-artifacts 1.29.0 → 1.30.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.
Files changed (155) hide show
  1. package/dist/cli.cjs +22 -3
  2. package/dist/server.cjs +33 -11
  3. package/dist/viewer/CloudDocument-F3ikpU1A.js +1 -0
  4. package/dist/viewer/{CloudLiveDocument-BDga8aEj.js → CloudLiveDocument-DuFE3g-N.js} +1 -1
  5. package/dist/viewer/{DocumentLayout-DYTnCgfH.js → DocumentLayout-CDZm1Mud.js} +156 -154
  6. package/dist/viewer/DocumentPage-DJWzglCT.js +1 -0
  7. package/dist/viewer/DocumentPage-RHTp39ah.css +1 -0
  8. package/dist/viewer/{abnfDiagram-VCTEODGH-B4hF9R2U.js → abnfDiagram-VCTEODGH-bIgNbjEv.js} +1 -1
  9. package/dist/viewer/{ar-SA-G6X2FPQ2-B0MSU5l9.js → ar-SA-G6X2FPQ2-CBD4Eb4b.js} +1 -1
  10. package/dist/viewer/{architectureDiagram-5GKGNRK7-Cd8Xx-hV.js → architectureDiagram-5GKGNRK7-DmUtD0jW.js} +1 -1
  11. package/dist/viewer/{az-AZ-76LH7QW2-DQpVWUnU.js → az-AZ-76LH7QW2-Dawes6_l.js} +1 -1
  12. package/dist/viewer/{bg-BG-XCXSNQG7-CFWizXaa.js → bg-BG-XCXSNQG7-BjL-bwQR.js} +1 -1
  13. package/dist/viewer/{blockDiagram-I7D4REHJ-C2yu7mK-.js → blockDiagram-I7D4REHJ-DecnBxKr.js} +1 -1
  14. package/dist/viewer/{bn-BD-2XOGV67Q-DoeoV9n5.js → bn-BD-2XOGV67Q-DazPpl6F.js} +1 -1
  15. package/dist/viewer/{c4Diagram-7LVT6UL2-B5orhRgE.js → c4Diagram-7LVT6UL2-CyUvAiLu.js} +1 -1
  16. package/dist/viewer/{ca-ES-6MX7JW3Y-B6_hkxTX.js → ca-ES-6MX7JW3Y-CHN5F-MT.js} +1 -1
  17. package/dist/viewer/{chunk-4HAMMTFA-BGybz_si.js → chunk-4HAMMTFA-BqCV0tLQ.js} +1 -1
  18. package/dist/viewer/{chunk-EIO257PC-D9F5NHVA.js → chunk-EIO257PC-CI3oDVqd.js} +1 -1
  19. package/dist/viewer/{chunk-GMAD6QVW-C0XbWNVH.js → chunk-GMAD6QVW-_ArBNgmm.js} +1 -1
  20. package/dist/viewer/{chunk-GVQU2GXP-vRk2m9ao.js → chunk-GVQU2GXP-Bp9ybMmF.js} +1 -1
  21. package/dist/viewer/{chunk-IMKFNOWR-DmpawLXk.js → chunk-IMKFNOWR-B_rSZWOf.js} +1 -1
  22. package/dist/viewer/{chunk-L3NEJ4N5-DUZfiZWj.js → chunk-L3NEJ4N5-BoNmCXoa.js} +1 -1
  23. package/dist/viewer/{chunk-OSK3NFVY-BvVtm98g.js → chunk-OSK3NFVY-BULGZbtp.js} +1 -1
  24. package/dist/viewer/chunk-PWAF6VOD-CAWzBUKW.js +1 -0
  25. package/dist/viewer/{chunk-SHT3W25Y-BIOqc_9G.js → chunk-SHT3W25Y-BJQbbp7D.js} +1 -1
  26. package/dist/viewer/{chunk-SVP7TREG-CzXvGBkp.js → chunk-SVP7TREG-CtvQoWMe.js} +1 -1
  27. package/dist/viewer/{chunk-TICWLB2K-BGDOLNPy.js → chunk-TICWLB2K-Bv95TsNF.js} +1 -1
  28. package/dist/viewer/{classDiagram-ZZMXUADV-1LD9MdPj.js → classDiagram-ZZMXUADV-HxzLFa3r.js} +1 -1
  29. package/dist/viewer/{classDiagram-v2-VYDZK3BY-1LD9MdPj.js → classDiagram-v2-VYDZK3BY-HxzLFa3r.js} +1 -1
  30. package/dist/viewer/{cs-CZ-2BRQDIVT-DvQX9epx.js → cs-CZ-2BRQDIVT-DgtgaiDS.js} +1 -1
  31. package/dist/viewer/{cynefinDiagram-5FMLGOSQ-Ck6iqdN1.js → cynefinDiagram-5FMLGOSQ-COYP2ZfW.js} +1 -1
  32. package/dist/viewer/{da-DK-5WZEPLOC-CIkD-mT-.js → da-DK-5WZEPLOC-3I0OTBiS.js} +1 -1
  33. package/dist/viewer/{dagre-GXQ25YYZ-Bw4MivVe.js → dagre-GXQ25YYZ-D1rndX4t.js} +1 -1
  34. package/dist/viewer/{de-DE-XR44H4JA-CkZg3nnD.js → de-DE-XR44H4JA-B9iziAr2.js} +1 -1
  35. package/dist/viewer/{diagram-S7CK7UJ4-DcU-yw6G.js → diagram-S7CK7UJ4-p76_pN6n.js} +1 -1
  36. package/dist/viewer/{diagram-UQ7AKVKN-DnKTK9PW.js → diagram-UQ7AKVKN-BZeUM6LQ.js} +1 -1
  37. package/dist/viewer/{diagram-VX7I27RA-BBU-ZVb0.js → diagram-VX7I27RA-BH6DOtBA.js} +1 -1
  38. package/dist/viewer/{diagram-Z3DM3KII-CKk14xfI.js → diagram-Z3DM3KII-sfyUv_ve.js} +1 -1
  39. package/dist/viewer/{dist-CqRkCb8-.js → dist-3LZ0NP21.js} +1 -1
  40. package/dist/viewer/dist-B8MRULN_.js +6 -0
  41. package/dist/viewer/{dist-D_WrKoQ5.js → dist-BA4-A1Cd.js} +4 -4
  42. package/dist/viewer/{dist-DImjGUkS.js → dist-BM_aMsng.js} +1 -1
  43. package/dist/viewer/{dist-BKBE5pov.js → dist-BqWUq_oe.js} +1 -1
  44. package/dist/viewer/dist-BxVKiIee.js +1 -0
  45. package/dist/viewer/dist-C47_vNXB.js +1 -0
  46. package/dist/viewer/{dist-8kfzVrJL.js → dist-CEMvvLBZ.js} +1 -1
  47. package/dist/viewer/dist-CGRa5563.js +9 -0
  48. package/dist/viewer/{dist-uAqigpP8.js → dist-CK9txTdI.js} +1 -1
  49. package/dist/viewer/dist-CjL7F6gd.js +1 -0
  50. package/dist/viewer/{dist-7oXSkB_P.js → dist-DBvKpXmJ.js} +2 -2
  51. package/dist/viewer/{dist-DcUDFAUF.js → dist-DK-B8LN7.js} +5 -5
  52. package/dist/viewer/{dist-Dj78KV6Q.js → dist-DMMVvQeB.js} +1 -1
  53. package/dist/viewer/{dist-CYozWt7T.js → dist-Drowm01h.js} +1 -1
  54. package/dist/viewer/{dist-BhZ13kjD.js → dist-DyDaX5RO.js} +1 -1
  55. package/dist/viewer/{dist-CCKpuvTI.js → dist-Edi9zuA8.js} +1 -1
  56. package/dist/viewer/dist-YDT1APnG.js +1 -0
  57. package/dist/viewer/{dist-DH-ho6_2.js → dist-Zi8sHrLY.js} +1 -1
  58. package/dist/viewer/{dist-B9K9D6SC.js → dist-_r49mWqe.js} +1 -1
  59. package/dist/viewer/{dist-BRb242lg.js → dist-cVUMcmuG.js} +1 -1
  60. package/dist/viewer/{dist-C_kp_dU8.js → dist-eWnihDK-.js} +1 -1
  61. package/dist/viewer/{dist-B5g7S3C3.js → dist-s15uIKEV.js} +1 -1
  62. package/dist/viewer/{dist-DpLi82dR.js → dist-vujJ95vP.js} +2 -2
  63. package/dist/viewer/{ebnfDiagram-PWID7BFC-CUH9C71X.js → ebnfDiagram-PWID7BFC-Cwzg9YYr.js} +1 -1
  64. package/dist/viewer/{el-GR-BZB4AONW-Cl1kWlzB.js → el-GR-BZB4AONW-Bpku_fd2.js} +1 -1
  65. package/dist/viewer/{en-B4ZKOASM-CT3OzVWV.js → en-B4ZKOASM-JcO5O6ZA.js} +1 -1
  66. package/dist/viewer/{erDiagram-RLTQ6QDP-BZbuVZrG.js → erDiagram-RLTQ6QDP-fnZn2zGn.js} +1 -1
  67. package/dist/viewer/{es-ES-U4NZUMDT-BAD-ccHs.js → es-ES-U4NZUMDT-c2vvUvhU.js} +1 -1
  68. package/dist/viewer/{eu-ES-A7QVB2H4-Cj2NDws-.js → eu-ES-A7QVB2H4-C-syu7wy.js} +1 -1
  69. package/dist/viewer/{fa-IR-HGAKTJCU-C0FVEGIZ.js → fa-IR-HGAKTJCU-2ZjoxLW1.js} +1 -1
  70. package/dist/viewer/{fi-FI-Z5N7JZ37-D2AdBx48.js → fi-FI-Z5N7JZ37-Cm2EWw3m.js} +1 -1
  71. package/dist/viewer/flowDiagram-HODETNUW-BWCd1R3C.js +1 -0
  72. package/dist/viewer/{fr-FR-RHASNOE6-BFreNJCR.js → fr-FR-RHASNOE6-kwukqNI-.js} +1 -1
  73. package/dist/viewer/ganttDiagram-EL5Y4UJY-CfW25j5s.js +292 -0
  74. package/dist/viewer/{gl-ES-HMX3MZ6V-DkkhEoWc.js → gl-ES-HMX3MZ6V-DctejPjR.js} +1 -1
  75. package/dist/viewer/{he-IL-6SHJWFNN-VvaCcliL.js → he-IL-6SHJWFNN-BbKgaNUV.js} +1 -1
  76. package/dist/viewer/{hi-IN-IWLTKZ5I-DJSuk02I.js → hi-IN-IWLTKZ5I-_zDSxbjx.js} +1 -1
  77. package/dist/viewer/{hu-HU-A5ZG7DT2-CNvqWgoH.js → hu-HU-A5ZG7DT2-zY2bFqfB.js} +1 -1
  78. package/dist/viewer/{id-ID-SAP4L64H-BdPRkPOp.js → id-ID-SAP4L64H-BJOftWhs.js} +1 -1
  79. package/dist/viewer/{image-GAAHSSAO-C5hSHSJ9.js → image-GAAHSSAO-B0SzUEyg.js} +1 -1
  80. package/dist/viewer/index.html +1 -1
  81. package/dist/viewer/index.js +8 -8
  82. package/dist/viewer/index2.css +4 -0
  83. package/dist/viewer/{infoDiagram-27XIBGKW-Dz669Ti5.js → infoDiagram-27XIBGKW-i0jDaaMj.js} +1 -1
  84. package/dist/viewer/{ishikawaDiagram-5VMMS53U-BO2EV1vm.js → ishikawaDiagram-5VMMS53U-BkPu7Jq-.js} +1 -1
  85. package/dist/viewer/{it-IT-JPQ66NNP-BAm2zqLD.js → it-IT-JPQ66NNP-D6NtFjc_.js} +1 -1
  86. package/dist/viewer/{ja-JP-DBVTYXUO-Dux__a-p.js → ja-JP-DBVTYXUO-dfhQ8Eqf.js} +1 -1
  87. package/dist/viewer/{journeyDiagram-3NMN7TZE-B8pnfhpY.js → journeyDiagram-3NMN7TZE-DXHqPWxU.js} +1 -1
  88. package/dist/viewer/{kaa-6HZHGXH3-5P_fyC_H.js → kaa-6HZHGXH3-D_iRpg5w.js} +1 -1
  89. package/dist/viewer/{kab-KAB-ZGHBKWFO-9hTPNvCU.js → kab-KAB-ZGHBKWFO-cuwM4TOO.js} +1 -1
  90. package/dist/viewer/{kanban-definition-UXKFOSKX-B8Pjf3dY.js → kanban-definition-UXKFOSKX-DukKBuS_.js} +1 -1
  91. package/dist/viewer/{kk-KZ-P5N5QNE5-CGou3WF6.js → kk-KZ-P5N5QNE5-Cu2Xwqho.js} +1 -1
  92. package/dist/viewer/{km-KH-HSX4SM5Z-DOyT_tEV.js → km-KH-HSX4SM5Z-C2519YyM.js} +1 -1
  93. package/dist/viewer/{ko-KR-MTYHY66A-DftVvGn6.js → ko-KR-MTYHY66A-rDIeV__F.js} +1 -1
  94. package/dist/viewer/{ku-TR-6OUDTVRD-CVdlBZmx.js → ku-TR-6OUDTVRD-Dp1Pftew.js} +1 -1
  95. package/dist/viewer/{lt-LT-XHIRWOB4-CUlT0RyT.js → lt-LT-XHIRWOB4-CzjYAKUN.js} +1 -1
  96. package/dist/viewer/{lv-LV-5QDEKY6T-6wWFJoM0.js → lv-LV-5QDEKY6T-CjR7CWID.js} +1 -1
  97. package/dist/viewer/{mindmap-definition-YA3MSWOX-BcDNUqMO.js → mindmap-definition-YA3MSWOX-B0XyshNq.js} +1 -1
  98. package/dist/viewer/{mr-IN-CRQNXWMA-DnzpVGTc.js → mr-IN-CRQNXWMA-BUdSFgBe.js} +1 -1
  99. package/dist/viewer/{my-MM-5M5IBNSE-Cm4pCcPj.js → my-MM-5M5IBNSE-hDaDBPRH.js} +1 -1
  100. package/dist/viewer/{nb-NO-T6EIAALU-BcuxE4U7.js → nb-NO-T6EIAALU-BKm89ZTQ.js} +1 -1
  101. package/dist/viewer/{nl-NL-IS3SIHDZ-CQexxASS.js → nl-NL-IS3SIHDZ-BqhTIFG4.js} +1 -1
  102. package/dist/viewer/{nn-NO-6E72VCQL-C6pPjApO.js → nn-NO-6E72VCQL-CIzmcY9M.js} +1 -1
  103. package/dist/viewer/{oc-FR-POXYY2M6-CovxAT6s.js → oc-FR-POXYY2M6-DN0amV9z.js} +1 -1
  104. package/dist/viewer/{pa-IN-N4M65BXN-CM-0Bi_k.js → pa-IN-N4M65BXN-BBDfy7a_.js} +1 -1
  105. package/dist/viewer/{pegDiagram-XKGWAZYB-DHtXRebi.js → pegDiagram-XKGWAZYB-CyYKmP8R.js} +1 -1
  106. package/dist/viewer/percentages-BXMCSKIN-D6mV4By3.js +1 -0
  107. package/dist/viewer/{pieDiagram-E7YTZNPT-CxPTGmMv.js → pieDiagram-E7YTZNPT-C6zpNDN7.js} +3 -3
  108. package/dist/viewer/{pl-PL-T2D74RX3-Ce8egCLJ.js → pl-PL-T2D74RX3-uxeYKI3E.js} +1 -1
  109. package/dist/viewer/{prod-DLkZlcd2.js → prod-CqlW_rj5.js} +9 -9
  110. package/dist/viewer/{pt-BR-5N22H2LF-CwjXtf87.js → pt-BR-5N22H2LF-C1Z9eZIX.js} +1 -1
  111. package/dist/viewer/{pt-PT-UZXXM6DQ-Q9ejxTg5.js → pt-PT-UZXXM6DQ-C0y_uQrS.js} +1 -1
  112. package/dist/viewer/{quadrantDiagram-AXDQQJYC-z7Tz0_0k.js → quadrantDiagram-AXDQQJYC-C_dg2m-b.js} +1 -1
  113. package/dist/viewer/{railroadDiagram-O6MQD6OU-DwyNHCPY.js → railroadDiagram-O6MQD6OU-CqSn-tUv.js} +1 -1
  114. package/dist/viewer/{requirementDiagram-BXWQKSXE-BTL35j9A.js → requirementDiagram-BXWQKSXE-BifGv7Yp.js} +1 -1
  115. package/dist/viewer/{ro-RO-JPDTUUEW-J9XQ6U80.js → ro-RO-JPDTUUEW-C3XSytg4.js} +1 -1
  116. package/dist/viewer/{ru-RU-B4JR7IUQ-BBA1AdyW.js → ru-RU-B4JR7IUQ-DQIBK3MO.js} +1 -1
  117. package/dist/viewer/{sequenceDiagram-WJ2MYXX4-DLJNXQ8o.js → sequenceDiagram-WJ2MYXX4-17ZZS3Xp.js} +1 -1
  118. package/dist/viewer/{si-LK-N5RQ5JYF-U__xLKqD.js → si-LK-N5RQ5JYF-CykyDGoa.js} +1 -1
  119. package/dist/viewer/{sk-SK-C5VTKIMK-DnbPvh29.js → sk-SK-C5VTKIMK-zaXAzBEq.js} +1 -1
  120. package/dist/viewer/{sl-SI-NN7IZMDC-C8Eoz0pl.js → sl-SI-NN7IZMDC-VL133hzg.js} +1 -1
  121. package/dist/viewer/stateDiagram-D77RDMKH-CDp1mhdn.js +1 -0
  122. package/dist/viewer/{stateDiagram-v2-MP3YSRHH-CXwzb1Xj.js → stateDiagram-v2-MP3YSRHH-CznJp7-4.js} +1 -1
  123. package/dist/viewer/subset-shared.chunk-BZZzz7hv.js +1 -0
  124. package/dist/viewer/{subset-worker.chunk-B0UjzhBX.js → subset-worker.chunk-CpBimtVU.js} +1 -1
  125. package/dist/viewer/{sv-SE-XGPEYMSR-B82M1B45.js → sv-SE-XGPEYMSR-DorRBqhq.js} +1 -1
  126. package/dist/viewer/{swimlanes-42K2YHIH-CVnTCkti.js → swimlanes-42K2YHIH-DArQjMFS.js} +1 -1
  127. package/dist/viewer/{swimlanesDiagram-VR7AAH4N-CAsLGxAi.js → swimlanesDiagram-VR7AAH4N-BsHu3KM8.js} +1 -1
  128. package/dist/viewer/{ta-IN-2NMHFXQM-CDtoSBaY.js → ta-IN-2NMHFXQM-nmSQGl6D.js} +1 -1
  129. package/dist/viewer/{th-TH-HPSO5L25-CiNISjF4.js → th-TH-HPSO5L25-DbUatfoe.js} +1 -1
  130. package/dist/viewer/{timeline-definition-24CTP7MA-DCb3aOrx.js → timeline-definition-24CTP7MA-Bzg9DS-G.js} +1 -1
  131. package/dist/viewer/{tr-TR-DEFEU3FU-CJmFpjiQ.js → tr-TR-DEFEU3FU-CzemawLb.js} +1 -1
  132. package/dist/viewer/{uk-UA-QMV73CPH-BMLxQJ4h.js → uk-UA-QMV73CPH-s2YqebSD.js} +1 -1
  133. package/dist/viewer/{useSandboxFrame-rZO0A3sZ.js → useSandboxFrame-DJc_WnFq.js} +8 -8
  134. package/dist/viewer/{vennDiagram-4TSXK5OY-CuIg1PcQ.js → vennDiagram-4TSXK5OY-Cn2PBzsD.js} +1 -1
  135. package/dist/viewer/{vi-VN-M7AON7JQ-BOwqnpoG.js → vi-VN-M7AON7JQ-CNV_0Z3D.js} +1 -1
  136. package/dist/viewer/{wardleyDiagram-VM6X3IG4-D7TjtyXK.js → wardleyDiagram-VM6X3IG4-WYlJVagH.js} +1 -1
  137. package/dist/viewer/{xychartDiagram-S5SC5T6Z-D6WkQ4f2.js → xychartDiagram-S5SC5T6Z-aiKJ08dD.js} +2 -2
  138. package/dist/viewer/{zh-CN-LNUGB5OW-BGvgy1n4.js → zh-CN-LNUGB5OW-xMrtVmHe.js} +1 -1
  139. package/dist/viewer/{zh-HK-E62DVLB3-D7vhuMPK.js → zh-HK-E62DVLB3-CFjWlXxH.js} +1 -1
  140. package/dist/viewer/{zh-TW-RAJ6MFWO-vpZcm2KN.js → zh-TW-RAJ6MFWO-fjFsXTim.js} +1 -1
  141. package/package.json +3 -1
  142. package/dist/viewer/CloudDocument-DaS9ceOa.js +0 -1
  143. package/dist/viewer/DocumentPage-BLL9x3pY.js +0 -1
  144. package/dist/viewer/chunk-PWAF6VOD-BugGgSc5.js +0 -1
  145. package/dist/viewer/dist-B0J-I7r2.js +0 -6
  146. package/dist/viewer/dist-BUHcTBPN.js +0 -1
  147. package/dist/viewer/dist-BkV7Dy_o.js +0 -1
  148. package/dist/viewer/dist-CGL9Y16x.js +0 -9
  149. package/dist/viewer/dist-DVVjoE8q.js +0 -1
  150. package/dist/viewer/dist-DmaYQh00.js +0 -1
  151. package/dist/viewer/flowDiagram-HODETNUW-CAHqUwH1.js +0 -1
  152. package/dist/viewer/ganttDiagram-EL5Y4UJY-CF5GNdln.js +0 -292
  153. package/dist/viewer/percentages-BXMCSKIN-dSCeY2Vz.js +0 -1
  154. package/dist/viewer/stateDiagram-D77RDMKH-BfdN30HE.js +0 -1
  155. package/dist/viewer/subset-shared.chunk-Cd4b8GJL.js +0 -1
@@ -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,_ as i,_i as a,a as o,b as s,f as c,ja as l,l as u,o as d,p as f,x as p,y as m}from"./useSandboxFrame-DJc_WnFq.js";import{$ as h,A as g,B as _,C as v,D as y,F as b,G as x,H as S,I as C,J as w,Jn as ee,K as T,L as E,M as D,N as O,O as k,P as A,Q as te,R as j,S as M,T as N,U as P,V as F,W as I,X as L,Y as R,Z as ne,_ as re,a as z,b as ie,c as ae,d as B,et as oe,h as se,i as ce,j as V,l as le,m as ue,n as de,nt as H,o as U,p as fe,q as pe,qn as me,r as he,rt as W,s as ge,t as _e,tt as ve,u as ye,v as be,w as xe,x as Se,y as Ce,z as we}from"./DocumentLayout-CDZm1Mud.js";import{a as Te,c as Ee,d as De,f as Oe,i as ke,l as Ae,n as je,o as Me,r as Ne,s as Pe,u as Fe}from"./index.js";var Ie={name:`message-square`,size:24,node:[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]};Ie.node;var Le=a(Ie),G=e(t(),1);function Re({streaming:e,pending:t,agentActiveAt:n,now:r}){if(e)return{kind:`editing`};if(t===0)return{kind:`idle`};if(n===void 0)return{kind:`working`,pending:t,idleMs:null};let i=Math.max(0,r-n);return i>3e5?{kind:`stale`,pending:t,idleMs:i}:{kind:`working`,pending:t,idleMs:i}}function ze(e){return e<6e4?`${Math.floor(e/1e3)} 秒`:e<36e5?`${Math.floor(e/6e4)} 分钟`:`${Math.floor(e/36e5)} 小时`}function Be(e,t,n){switch(e.kind){case`editing`:return`${t} 正在编辑${n?` ${n}`:``}`;case`idle`:return null;case`working`:{let n=`${t} 还有 ${e.pending} 节待写`;return e.idleMs===null?n:`${n} · ${e.idleMs<1e4?`刚刚`:`${ze(e.idleMs)}前`}更新`}case`stale`:return`${t} ${ze(e.idleMs)}没有更新 · 还有 ${e.pending} 节待写`}}function Ve(e){let t=T(e);return t._headless=!0,[`registerDecoratorListener`,`registerRootListener`,`registerMutationListener`,`getRootElement`,`setRootElement`,`getElementByKey`,`focus`,`blur`].forEach(e=>{t[e]=()=>{(function(e,...t){throw function(e,...t){let n=new URL(`https://lexical.dev/docs/error`),r=new URLSearchParams;r.append(`code`,e);for(let e of t)r.append(`v`,e);return n.search=r.toString(),Error(`Minified Lexical error #${e}; visit ${n.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)}(e,...t)})(439,e)}}),t}var K=n();function He({text:e}){let t=(0,G.useRef)(null),n=(0,G.useRef)(null);return(0,G.useEffect)(()=>{let r=t.current;if(!r)return;let i=r.parentNode;if(!i)return;let a=n.current;return!a||a.parentNode!==i?(a=document.createComment(e),i.insertBefore(a,r),n.current=a):a.data!==e&&(a.data=e),()=>{n.current?.parentNode&&n.current.parentNode.removeChild(n.current),n.current=null}},[e]),(0,K.jsx)(`template`,{suppressHydrationWarning:!0,"data-rich-comment-anchor":``,ref:t})}var q=e=>`${H[e]} ${W[e]}`,Ue={h1:q(`headingH1`),h2:q(`headingH2`),h3:q(`headingH3`),h4:q(`headingH4`),h5:q(`headingH5`),h6:q(`headingH6`)};function We(e){return e.toLowerCase().trim().replaceAll(/[^\s\w\u3000-\u9FFF\uAC00-\uD7AF\uFF00-\uFFEF-]/g,``).replaceAll(/[\s_]+/g,`-`).replaceAll(/^-+|-+$/g,``)}function Ge(e){return e.type===`comment`?``:e.text?e.text:e.children?e.children.map(Ge).join(``):``}var Ke=/^["'«‘“‹「『"']/,qe=/["'»’”›」』"']$/;function Je(e,t,n,r,i){switch(e.type){case`root`:return(0,K.jsx)(K.Fragment,{children:n});case`paragraph`:{let r=e.format?{textAlign:e.format}:void 0;return(0,K.jsx)(`p`,{className:q(`paragraph`),style:r,children:n??(0,K.jsx)(`br`,{})},t)}case`heading`:{let a=e.tag,o=We(i||Ge(e)),s=o;if(o){let e=r.get(o);e===void 0?r.set(o,1):(s=`${o}-${e}`,r.set(o,e+1))}return(0,K.jsxs)(a,{className:Ue[a],id:s||void 0,children:[s&&(0,K.jsx)(`a`,{className:q(`headingAnchor`),href:`#${s}`,tabIndex:0,children:(0,K.jsx)(ee,{"aria-hidden":!0,size:14,strokeWidth:2})}),n]},t)}case`rich-quote`:case`quote`:{let r=(i||Ge(e)).trim(),a=Ke.test(r),o=qe.test(r),s=e.attribution;return(0,K.jsxs)(`blockquote`,{className:q(`quote`),"data-no-close-quote":o?``:void 0,"data-no-open-quote":a?``:void 0,children:[n,s&&(0,K.jsxs)(`footer`,{className:q(`quoteAttribution`),children:[`— `,s]})]},t)}case`list`:{let r=e.listType===`number`?`ol`:`ul`,i=e.listType===`number`?q(`listOl`):e.listType===`check`?`${q(`checklist`)} ${q(`listUl`)}`:q(`listUl`);return(0,K.jsx)(r,{className:i,start:e.start===1?void 0:e.start,children:n},t)}case`listitem`:{let r=e.checked!==void 0,i=e.children?.some(e=>e.type===`list`),a=typeof e.value==`number`&&e.value>1?e.value:void 0,o;return o=i?q(`listNestedItem`):r?e.checked?`${q(`listItem`)} ${q(`listItemChecked`)}`:`${q(`listItem`)} ${q(`listItemUnchecked`)}`:q(`listItem`),(0,K.jsx)(`li`,{className:o,value:a,children:n},t)}case`link`:return(0,K.jsxs)(`a`,{className:q(`link`),href:e.url,rel:e.rel||`noopener`,target:e.target||`_blank`,children:[(0,K.jsx)(g,{href:e.url}),n]},t);case`autolink`:return(0,K.jsxs)(`a`,{className:q(`link`),href:e.url,rel:`noopener`,target:`_blank`,children:[(0,K.jsx)(g,{href:e.url}),n]},t);case`horizontalrule`:return(0,K.jsx)(`hr`,{className:q(`hr`)},t);case`table`:return(0,K.jsx)(`div`,{className:q(`tableScrollableWrapper`),children:(0,K.jsx)(`table`,{className:q(`table`),children:n})},t);case`tablerow`:return(0,K.jsx)(`tr`,{children:n},t);case`tablecell`:{let r=e.headerState?`th`:`td`,i=e.headerState?q(`tableCellHeader`):q(`tableCell`);return(0,K.jsx)(r,{className:i,colSpan:e.colSpan>1?e.colSpan:void 0,children:n},t)}case`details`:{let r=e.summary||``;return(0,K.jsxs)(`details`,{className:`${C.details} ${E.details}`,open:e.open||void 0,children:[(0,K.jsxs)(`summary`,{className:`${C.summary} ${E.summary}`,children:[(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`${C.chevron} ${E.chevron}`,children:(0,K.jsx)(`svg`,{fill:`none`,height:`20`,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:`1.5`,viewBox:`0 0 20 20`,width:`20`,children:(0,K.jsx)(`path`,{d:`M8 6L12 10L8 14`})})}),(0,K.jsx)(`span`,{className:`${C.summaryText} ${E.summaryText}`,children:r})]}),(0,K.jsx)(`div`,{className:`${C.content} ${E.content}`,children:n})]},t)}case`spoiler`:return(0,K.jsx)(`span`,{className:q(`spoiler`),role:`button`,tabIndex:0,children:n},t);case`tag`:return(0,K.jsx)(`span`,{className:q(`tag`),style:{backgroundColor:S(e.text)},children:e.text},t);case`comment`:return(0,K.jsx)(He,{text:e.text??``},t);case`ruby`:return(0,G.createElement)(oe,{key:t,rendererKey:`Ruby`,defaultRenderer:k,props:{reading:e.reading??``,children:n}});case`code`:return(0,K.jsx)(`pre`,{className:`rich-code-block`,children:(0,K.jsx)(`code`,{children:n})},t);case`code-highlight`:return(0,K.jsx)(`span`,{children:e.text},t);case`linebreak`:return(0,K.jsx)(`br`,{},t);case`tab`:return(0,K.jsx)(`span`,{children:` `},t);default:return null}}var Ye=e=>`${H[e]} ${W[e]}`,Xe=[[1,`textBold`],[2,`textItalic`],[4,`textStrikethrough`],[8,`textUnderline`],[16,`textCode`],[32,`textSubscript`],[64,`textSuperscript`],[128,`textHighlight`]];function Ze(e){let t={};for(let n of e.split(`;`)){let e=n.indexOf(`:`);if(e===-1)continue;let r=n.slice(0,e).trim(),i=n.slice(e+1).trim();if(!r||!i)continue;let a=r.replaceAll(/-([a-z])/g,(e,t)=>t.toUpperCase());t[a]=i}return t}function Qe(e,t){let n=e.text,r=e.format||0;for(let[e,i]of Xe)r&e&&(n=(0,K.jsx)(`span`,{className:Ye(i),children:n},`${t}-${e}`));return e.style&&(n=(0,K.jsx)(`span`,{style:Ze(e.style),children:n},t)),n}function $e(e){let t={},n=new Set,r={},i=1;function a(e){if(e.type===`footnote`&&e.identifier){let t=e.identifier;n.has(t)||(n.add(t),r[t]=i++)}if(e.type===`footnote-section`&&e.definitions&&Object.assign(t,e.definitions),e.children)for(let t of e.children)a(t);if(e.root&&a(e.root),e.content&&typeof e.content==`object`&&e.content.root&&a(e.content),e.cells&&Array.isArray(e.cells))for(let t of e.cells)t&&t.root&&a(t)}a(e);for(let e of n)e in t||(t[e]=``);return{definitions:t,displayNumberMap:r}}var et=e=>`${H.alert} ${W.alert} rich-alert-${e}`;function tt(e,t,n){switch(e.type){case`alert-quote`:return(0,G.createElement)(`div`,{key:t,className:et(e.alertType)},n);case`banner`:return(0,G.createElement)(`div`,{key:t,className:`rich-banner rich-banner-${e.bannerType}`},n);case`grid-container`:return(0,G.createElement)(`div`,{key:t,className:`${j.container} ${we.container}`},n);default:return(0,G.isValidElement)(n)?(0,G.cloneElement)(n,{key:t}):n}}function nt(e,t,n){return(0,G.isValidElement)(e)&&typeof e.type==`string`?(0,G.cloneElement)(e,{"data-block-id":t}):(0,K.jsx)(`div`,{className:`rich-block-anchor`,"data-block-id":t,children:e},`${n}-block-anchor`)}function rt(e,t,n,r){return t?(r.blockAnchor??nt)(e,t,n):e}function it(e,t,n,r,i,a,o){let s=e.getKey?e.getKey():i,{builtinNodeOverrides:c}=o;if(typeof e.decorate==`function`){let r=null;try{r=e.decorate(t,n)}catch{}if(r!=null){let t=e.exportJSON?e.exportJSON():{},n=c?.[t.type];return rt(n?n(t,s,[r],()=>tt(t,s,r)):tt(t,s,r),a,s,o)}}let l=e.exportJSON?e.exportJSON():{};if(l.type===`text`){let e=c?.text;return e?e(l,s,null,()=>Qe(l,s)):Qe(l,s)}let u=typeof e.getChildren==`function`?e.getChildren():[];Array.isArray(l.children)&&l.children.length===0&&u.length>0&&(l.children=u.map(e=>({type:typeof e.getType==`function`?e.getType():e.__type})));let d=null;u.length>0&&(d=u.map((e,i)=>it(e,t,n,r,`${s}-${i}`,void 0,o)));let f=e.getTextContent?e.getTextContent():void 0,p=c?.[l.type];return rt(p?p(l,s,d,()=>Je(l,s,d,r,f)):Je(l,s,d,r,f),a,s,o)}function at(e,t,n){let r=Ve({nodes:t,theme:F,editable:!1,onError:e=>{console.error(`[RichRenderer]`,e)}}),i={namespace:`ssr`,theme:F},a=D(e),o=r.parseEditorState(a);r.setEditorState(o);let s=$e(a),c=a.root?.children,l=null;return o.read(()=>{let e=x(),t=new Map,a=e.getChildren().map((e,a)=>it(e,r,i,t,`ssr-${a}`,c?.[a]?.$?.blockId,n));l=(0,K.jsx)(K.Fragment,{children:a})}),{content:l,footnoteData:s,renderNestedContent:e=>{let r=Ve({nodes:t,theme:F,editable:!1,onError:e=>{console.error(`[RichRenderer:nested]`,e)}}),i={namespace:`ssr-nested`,theme:F},a=D(e),o=r.parseEditorState(a);r.setEditorState(o);let s=null,c=a.root?.children;return o.read(()=>{let e=x(),t=new Map,a=e.getChildren().map((e,a)=>it(e,r,i,t,`nested-${a}`,c?.[a]?.$?.blockId,n));s=(0,K.jsx)(K.Fragment,{children:a})}),s}}}function ot({value:e,variant:t=`article`,theme:n=`light`,className:r,style:i,as:a=`div`,nested:o=!1,rendererConfig:s,extraNodes:c,builtinNodeOverrides:l,blockAnchor:u}){let d=ve(t),f=P(),{content:p,footnoteData:m,renderNestedContent:g}=(0,G.useMemo)(()=>at(e,c?[...b,...c]:b,{blockAnchor:u,builtinNodeOverrides:l}),[u,l,c,e]),v=[`rich-content`,d,r].filter(Boolean).join(` `),y=typeof a==`string`?{suppressHydrationWarning:!0,className:v,"data-rich-nested":o?`true`:void 0,"data-theme":n}:{};return(0,K.jsx)(O,{className:d,theme:n,children:(0,K.jsx)(A,{colorScheme:n,children:(0,K.jsx)(h,{config:s,mode:`renderer`,variant:t,children:(0,K.jsx)(L,{definitions:m.definitions,displayNumberMap:m.displayNumberMap,children:(0,K.jsx)(_,{value:f??g,children:(0,K.jsx)(a,{...y,style:i,children:p})})})})})})}var st=[v];async function ct(e){await new Promise(e=>setTimeout(e,0));let t=[...e.getAllChanges().values()].flat().sort((e,t)=>e.lamport-t.lamport||e.peer.localeCompare(t.peer)||e.counter-t.counter),n=e.shallowSinceFrontiers(),r=e.frontiersToVV(n),i=[],a=[];try{for(let n of t){r.setLast({peer:n.peer,counter:n.counter+n.length-1});let t={id:`${n.counter}@${n.peer}`,change:n,frontiers:e.vvToFrontiers(r)};i.push(t);let o=n.message===`human`?`human`:n.message?.startsWith(`agent:`)?`agent`:n.message?.startsWith(`session `)?`session`:`unknown`,s=a.at(-1),c=s?.entries.at(-1)?.change;s&&c&&o!==`unknown`&&s.source===o&&c.peer===n.peer&&c.timestamp>0&&n.timestamp>=c.timestamp&&n.timestamp-c.timestamp<=60?(s.entries.push(t),s.id=t.id):a.push({id:t.id,source:o,entries:[t]}),i.length%200==0&&await new Promise(e=>setTimeout(e,0))}}finally{r.free()}return{entries:i,groups:a.reverse(),shallow:n.length>0}}function lt(e,t,n){let r=e.fork(),i;try{if(r.checkout(t),r.getTree(`lexical`).roots().length!==1)throw Error(`此版本的文档内容不可用`);let e=T({nodes:n,editable:!1,onError:e=>{throw e}});return i=re(e,r),e.getEditorState().toJSON()}finally{i?.dispose(),r.free()}}var ut=5e4,dt=`background-color: color-mix(in srgb, var(--rc-alert-caution) 22%, transparent); text-decoration: line-through;`,ft=`background-color: color-mix(in srgb, var(--rc-alert-tip) 22%, transparent);`;function J(e){let t=e;return t.type===`heading`?`heading:${t.tag}`:t.type===`list`?`list:${t.listType}`:t.type||`unknown`}function pt(e,t){return JSON.stringify(e)===JSON.stringify(t)}function Y(e){let t=e;return t.type===`text`&&typeof t.text==`string`}function X(e){let t=e;return Array.isArray(t.children)?t.children:null}function mt(e,t){let n=typeof e==`string`?e.trim():``;return n?`${n}${n.endsWith(`;`)?``:`;`} ${t}`:t}function Z(e,t,n){let{style:r}=e;return n===`delete`?r=mt(r,dt):n===`insert`&&(r=mt(r,ft)),{...e,text:t,style:r}}function Q(e,t){return{...e,children:t}}function $(e,t){if(Y(e))return Z(e,e.text,t);let n=X(e);return n?Q(e,n.map(e=>$(e,t))):e}function ht(e){return Array.from(e).reverse().join(``)}function gt(e){let t=[];for(let n of e){if(!n.text)continue;let e=t.at(-1);e&&e.kind===n.kind?e.text+=n.text:t.push({...n})}return t}function _t(e,t){let n=e.length,r=t.length;if(n===0&&r===0)return[];if(n===0)return[{kind:`insert`,text:t.join(``)}];if(r===0)return[{kind:`delete`,text:e.join(``)}];if(n*r>ut)return[{kind:`delete`,text:e.join(``)},{kind:`insert`,text:t.join(``)}];let i=Array.from({length:n+1},()=>Array.from({length:r+1}).fill(0));for(let a=1;a<=n;a++)for(let n=1;n<=r;n++)e[a-1]===t[n-1]?i[a][n]=i[a-1][n-1]+1:i[a][n]=Math.max(i[a-1][n],i[a][n-1]);let a=[],o=n,s=r;for(;o>0&&s>0;)if(e[o-1]===t[s-1]){let t=a.at(-1);t&&t.kind===`equal`?t.text+=e[o-1]:a.push({kind:`equal`,text:e[o-1]}),o--,s--}else if(i[o-1][s]>=i[o][s-1]){let t=a.at(-1);t&&t.kind===`delete`?t.text+=e[o-1]:a.push({kind:`delete`,text:e[o-1]}),o--}else{let e=a.at(-1);e&&e.kind===`insert`?e.text+=t[s-1]:a.push({kind:`insert`,text:t[s-1]}),s--}for(;o>0;){let t=a.at(-1);t&&t.kind===`delete`?t.text+=e[o-1]:a.push({kind:`delete`,text:e[o-1]}),o--}for(;s>0;){let e=a.at(-1);e&&e.kind===`insert`?e.text+=t[s-1]:a.push({kind:`insert`,text:t[s-1]}),s--}return gt(a.reverse().map(e=>({kind:e.kind,text:ht(e.text)})))}function vt(e,t){let n=Array.from(e),r=Array.from(t),i=0;for(;i<n.length&&i<r.length&&n[i]===r[i];)i++;let a=n.length-1,o=r.length-1;for(;a>=i&&o>=i&&n[a]===r[o];)a--,o--;let s=[];return i>0&&s.push({kind:`equal`,text:n.slice(0,i).join(``)}),s.push(..._t(n.slice(i,a+1),r.slice(i,o+1))),a<n.length-1&&s.push({kind:`equal`,text:n.slice(a+1).join(``)}),gt(s)}function yt(e,t){let n=vt(e.text,t.text),r=[],i=[],a=!1;for(let o of n)o.text&&(o.kind===`equal`?(r.push(Z(e,o.text)),i.push(Z(t,o.text))):(a=!0,o.kind===`delete`?r.push(Z(e,o.text,`delete`)):i.push(Z(t,o.text,`insert`))));return{oldNodes:r.length>0?r:[e],newNodes:i.length>0?i:[t],changed:a}}function bt(e,t){let n=e.length,r=t.length,i=Array.from({length:n+1},()=>Array.from({length:r+1}).fill(0));for(let a=1;a<=n;a++)for(let n=1;n<=r;n++){let r=Math.max(i[a-1][n],i[a][n-1]);if(J(e[a-1])===J(t[n-1])){let o=pt(e[a-1],t[n-1])?2:1;i[a][n]=Math.max(r,i[a-1][n-1]+o)}else i[a][n]=r}let a=[],o=n,s=r;for(;o>0&&s>0;){if(J(e[o-1])===J(t[s-1])){let n=pt(e[o-1],t[s-1]),r=n?2:1;if(i[o][s]===i[o-1][s-1]+r){a.push(n?{kind:`equal`,node:e[o-1]}:{kind:`modify`,oldNode:e[o-1],newNode:t[s-1]}),o--,s--;continue}}i[o-1][s]>=i[o][s-1]?(a.push({kind:`delete`,node:e[o-1]}),o--):(a.push({kind:`insert`,node:t[s-1]}),s--)}for(;o>0;)a.push({kind:`delete`,node:e[--o]});for(;s>0;)a.push({kind:`insert`,node:t[--s]});return a.reverse(),a}function xt(e,t){let n=bt(e,t),r=[],i=[],a=!1;for(let e of n)switch(e.kind){case`equal`:r.push(e.node),i.push(e.node);break;case`delete`:a=!0,r.push($(e.node,`delete`));break;case`insert`:a=!0,i.push($(e.node,`insert`));break;case`modify`:{if(a=!0,Y(e.oldNode)&&Y(e.newNode)){let t=yt(e.oldNode,e.newNode);r.push(...t.oldNodes),i.push(...t.newNodes);break}let t=St(e.oldNode,e.newNode);t?(r.push(t.oldNode),i.push(t.newNode)):(r.push($(e.oldNode,`delete`)),i.push($(e.newNode,`insert`)));break}}return{oldChildren:r,newChildren:i,changed:a}}function St(e,t){if(J(e)!==J(t))return null;if(pt(e,t))return{oldNode:e,newNode:t,changed:!1};let n=X(e),r=X(t);if(!n||!r)return null;let i=xt(n,r);return i.changed?{oldNode:Q(e,i.oldChildren),newNode:Q(t,i.newChildren),changed:!0}:{oldNode:e,newNode:t,changed:!1}}function Ct(e,t){let n=St(e,t);return n?{oldNode:n.oldNode,newNode:n.newNode}:{oldNode:$(e,`delete`),newNode:$(t,`insert`)}}function wt(e,t){let n=vt(e.text,t.text),r=[];for(let i of n)i.text&&(i.kind===`equal`?r.push(Z(t,i.text)):i.kind===`delete`?r.push(Z(e,i.text,`delete`)):r.push(Z(t,i.text,`insert`)));return r}function Tt(e,t){let n=bt(e,t),r=[];for(let e of n)switch(e.kind){case`equal`:r.push(e.node);break;case`delete`:r.push($(e.node,`delete`));break;case`insert`:r.push($(e.node,`insert`));break;case`modify`:{if(Y(e.oldNode)&&Y(e.newNode)){r.push(...wt(e.oldNode,e.newNode));break}let t=X(e.oldNode),n=X(e.newNode);t&&n?r.push(Q(e.newNode,Tt(t,n))):(r.push($(e.oldNode,`delete`)),r.push($(e.newNode,`insert`)));break}}return r}function Et(e,t){if(J(e)!==J(t))return $(t,`insert`);if(pt(e,t))return t;let n=X(e),r=X(t);return!n||!r?$(t,`insert`):Q(t,Tt(n,r))}function Dt(e,t){let n=bt(e.root.children,t.root.children),r=[];for(let e of n)switch(e.kind){case`equal`:{let t=r.at(-1);t&&t.type===`equal`?t.nodes.push(e.node):r.push({type:`equal`,nodes:[e.node]});break}case`modify`:{let t=Ct(e.oldNode,e.newNode);r.push({type:`delete`,nodes:[t.oldNode]},{type:`insert`,nodes:[t.newNode]})}break;case`delete`:r.push({type:`delete`,nodes:[$(e.node,`delete`)]});break;case`insert`:r.push({type:`insert`,nodes:[$(e.node,`insert`)]})}return r}function Ot(e){let t={...e};if(t.$){let{blockId:e,...n}=t.$;Object.keys(n).length?t.$=n:delete t.$}return t.children&&=t.children.map(Ot),t}function kt(e,t){let{children:n,text:r,...i}=e,{children:a,text:o,...s}=t;return JSON.stringify(i)!==JSON.stringify(s)||!!(n&&a&&Nt(n,a).some(e=>e.kind===`modify`&&kt(e.old[0],e.current[0])))}function At(e){let t=e;return t.type===`dynamic`||t.type===`pending`?{type:`paragraph`,version:1,direction:null,format:``,indent:0,children:[{type:`text`,version:1,text:t.type===`dynamic`?`动态内容(历史中不运行)\n${t.url}\n高度:${t.initialHeight??320}px\n${JSON.stringify(t.props??{})}`:`待完成:${t.intent??``}`,format:0,detail:0,mode:`normal`,style:``}]}:t.children?{...t,children:t.children.map(At)}:t}function jt(e){return Mt(e.map(At))}function Mt(e){return{root:{type:`root`,version:1,direction:null,format:``,indent:0,children:e}}}function Nt(e,t){let n=Dt(Mt(e),Mt(t)),r=[],i=0,a=0;for(let o=0;o<n.length;o++){let s=n[o];if(s.type===`equal`){r.push({kind:`equal`,old:e.slice(i,i+s.nodes.length),current:t.slice(a,a+s.nodes.length)}),i+=s.nodes.length,a+=s.nodes.length;continue}let c=0,l=0;for(;o<n.length&&n[o].type!==`equal`;){let e=n[o++];e.type===`delete`?c+=e.nodes.length:l+=e.nodes.length}o--;for(let n=0;n<Math.max(c,l);n++){let o=n<c?[e[i+n]]:[],s=n<l?[t[a+n]]:[];r.push({kind:o.length&&s.length?`modify`:o.length?`delete`:`insert`,old:o,current:s})}i+=c,a+=l}return r}function Pt(e,t){return Nt(e.root.children.map(Ot),t.root.children.map(Ot)).map(e=>{if(e.kind===`modify`){let t=e.old[0],n=e.current[0];return t.type===n.type&&!kt(t,n)?{kind:`modify`,value:jt([Et(t,n)])}:{kind:`modify`,before:jt(e.old),value:jt(e.current)}}let t=e.kind===`delete`?e.old:e.current;return{kind:e.kind,value:jt(e.kind===`equal`?t:t.map(t=>$(t,e.kind)))}})}var Ft=[xe,y,...st],It={[w]:M,[R]:Se,[ne]:ie,[te]:ue},Lt={human:`浏览器编辑`,agent:`Agent 编辑`,session:`会话开始`,unknown:`未标记编辑`},Rt=e=>JSON.stringify(e.frontiers()),zt=e=>{let t=new Date(e*1e3);return e>0&&Number.isFinite(t.getTime())?t.toLocaleString(void 0,{month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}):`时间未记录`};function Bt({doc:e,nodes:t,streaming:n,theme:r,title:i,onClose:a}){let[o,s]=(0,G.useState)(null),[c,l]=(0,G.useState)(null),u=(0,G.useRef)(null),d=(0,G.useRef)(null),p=(0,G.useRef)(0),[m,h]=(0,G.useState)(!0),[g,_]=(0,G.useState)(null),[v,y]=(0,G.useState)(!1),[b,x]=(0,G.useState)([]),[S,C]=(0,G.useState)(!1),[w,ee]=(0,G.useState)(0),[T,E]=(0,G.useState)(50),[D,O]=(0,G.useState)(()=>new Set),[k,A]=(0,G.useState)(!1),te=(0,G.useRef)(null),j=f(`(max-width: 1100px)`),M=(0,G.useRef)(null);(0,G.useEffect)(()=>{if(!k||!j)return;let e=document.activeElement,t=te.current,n=()=>[...t?.querySelectorAll(`button:not(:disabled), a[href], input:not(:disabled), [tabindex="0"]`)??[]];n()[0]?.focus();let r=e=>{if(e.key!==`Tab`)return;let t=n();e.shiftKey&&document.activeElement===t[0]?(e.preventDefault(),t.at(-1)?.focus()):!e.shiftKey&&document.activeElement===t.at(-1)&&(e.preventDefault(),t[0]?.focus())};return t?.addEventListener(`keydown`,r),()=>{t?.removeEventListener(`keydown`,r),e?.focus()}},[k,j]);let N=(0,G.useCallback)(async()=>{let n=++p.current;h(!0),_(null);let r=e.fork();try{let i=await ct(r),a=lt(r,r.frontiers(),t);if(p.current!==n){r.free();return}let o=d.current;d.current=r;let c=u.current??i.groups[1]?.entries.at(-1)??i.entries[0]??null;u.current=c,l(c);let f=Rt(r);s({doc:r,history:i,value:a,key:f}),y(Rt(e)!==f),o?.free()}catch(e){r.free(),p.current===n&&_(e.message)}finally{p.current===n&&h(!1)}},[e,t]);(0,G.useEffect)(()=>{!n&&!d.current&&N()},[N,n]),(0,G.useEffect)(()=>()=>{p.current++,d.current?.free(),d.current=null},[e]),(0,G.useEffect)(()=>e.subscribe(()=>y(d.current!==null&&Rt(e)!==Rt(d.current))),[e]),(0,G.useEffect)(()=>{let e=e=>{e.key===`Escape`&&(k?A(!1):a())};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a,k]),(0,G.useEffect)(()=>{if(!o||!c)return;let e=!1;h(!0);let n=setTimeout(()=>{try{let n=Pt(lt(o.doc,c.frontiers,t),o.value);e||(x(n),ee(0),_(null))}catch(t){e||_(t.message)}finally{e||h(!1)}},0);return()=>{e=!0,clearTimeout(n)}},[o,c,t]);let P=e=>{u.current=e,l(e),A(!1)},F=b.filter(e=>e.kind!==`equal`).length,I=e=>{let t=Math.max(0,Math.min(F-1,w+e));ee(t),M.current?.querySelectorAll(`[data-history-change]`)[t]?.scrollIntoView?.({block:`center`,behavior:`instant`})},L=o?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(`p`,{className:`history-help`,children:`选择时间点,与固定的最新版本比较`}),o.history.groups.slice(0,T).map(e=>{let t=e.entries.at(-1),n=c&&e.entries.some(({change:e})=>e.peer===c.change.peer&&e.counter<=c.change.counter&&e.counter+e.length>=c.change.counter+c.change.length);return(0,K.jsxs)(`section`,{className:`history-revision ${n?`active`:``}`,children:[(0,K.jsxs)(`button`,{type:`button`,className:`history-select`,"aria-current":n?`true`:void 0,onClick:()=>P(t),children:[(0,K.jsx)(`strong`,{children:zt(t.change.timestamp)}),n?(0,K.jsx)(`span`,{className:`history-tag`,children:`对比起点`}):null,(0,K.jsx)(`span`,{children:Lt[e.source]}),(0,K.jsxs)(`small`,{children:[e.entries.length,` 次提交`]})]}),(0,K.jsxs)(`button`,{type:`button`,className:`history-expand`,"aria-expanded":D.has(e.id),onClick:()=>O(t=>{let n=new Set(t);return n.has(e.id)?n.delete(e.id):n.add(e.id),n}),children:[D.has(e.id)?`⌄ 收起`:`› 展开`,`原始提交`]}),D.has(e.id)?(0,K.jsx)(`div`,{className:`history-raw`,children:[...e.entries].reverse().map(e=>(0,K.jsxs)(`button`,{type:`button`,title:e.change.message,onClick:()=>P(e),children:[(0,K.jsx)(`span`,{children:zt(e.change.timestamp)}),(0,K.jsx)(`code`,{children:e.change.message||`未标记编辑`})]},e.id))}):null]},e.id)}),T<o.history.groups.length?(0,K.jsx)(`button`,{type:`button`,className:`history-more`,onClick:()=>E(e=>e+50),children:`加载更早记录`}):(0,K.jsxs)(`p`,{className:`history-end`,children:[o.history.shallow?`更早历史未保留`:`已到最早记录`,(0,K.jsx)(`br`,{}),o.history.groups.length,` 段编辑 · `,o.history.entries.length,` 次提交`]}),(0,K.jsx)(`p`,{className:`history-help`,children:`时间来自编辑设备,顺序按因果关系排列。`})]}):(0,K.jsx)(`p`,{role:`status`,className:`history-help`,children:n?`等待本轮编辑完成…`:`正在加载历史…`}),R=e=>(0,K.jsx)(ot,{value:e,variant:`article`,theme:r,extraNodes:Ft,rendererConfig:It});return(0,K.jsxs)(`main`,{className:`document-history`,children:[(0,K.jsxs)(`section`,{className:`history-work`,children:[(0,K.jsxs)(`header`,{className:`history-toolbar`,children:[(0,K.jsxs)(`div`,{className:`history-toolbar-row`,children:[(0,K.jsx)(`strong`,{children:`历史对比`}),(0,K.jsx)(`span`,{className:`history-tag`,children:`只读`}),(0,K.jsx)(`button`,{type:`button`,className:`history-exit`,onClick:a,children:`退出对比 ↗`})]}),(0,K.jsxs)(`div`,{className:`history-basis`,children:[c?zt(c.change.timestamp):`选择时间点`,` `,(0,K.jsx)(`span`,{"aria-hidden":`true`,children:`───>`}),` 最新版本 `,o?zt(o.history.entries.at(-1)?.change.timestamp??0):``]}),(0,K.jsxs)(`div`,{className:`history-toolbar-row`,children:[(0,K.jsx)(`span`,{className:`history-delete-label`,children:`− 旧内容`}),(0,K.jsx)(`span`,{className:`history-insert-label`,children:`+ 新内容`}),(0,K.jsx)(`button`,{type:`button`,className:`history-filter`,"aria-pressed":S,onClick:()=>C(e=>!e),children:`仅看变更`}),(0,K.jsxs)(`span`,{role:`status`,"aria-live":`polite`,children:[F?w+1:0,` / `,F,` 处`]}),(0,K.jsx)(`button`,{type:`button`,"aria-label":`上一处变更`,disabled:w===0||m,onClick:()=>I(-1),children:`↑`}),(0,K.jsx)(`button`,{type:`button`,"aria-label":`下一处变更`,disabled:w>=F-1||m,onClick:()=>I(1),children:`↓`})]}),j?(0,K.jsx)(`button`,{type:`button`,className:`history-more`,onClick:()=>A(!0),children:`选择历史版本`}):null]}),v?(0,K.jsxs)(`div`,{className:`history-update`,role:`status`,children:[n?`等待本轮编辑完成…`:`最新文档有新内容`,(0,K.jsx)(`button`,{type:`button`,disabled:n||m,onClick:()=>void N(),children:`更新对比 →`})]}):null,g?(0,K.jsxs)(`div`,{role:`alert`,className:`history-message`,children:[`无法读取历史:`,g,(0,K.jsx)(`button`,{type:`button`,disabled:n,onClick:()=>void N(),children:`重试`})]}):m||n&&!o?(0,K.jsx)(`div`,{role:`status`,className:`history-message`,children:n?`等待本轮编辑完成…`:`正在计算差异…`}):(0,K.jsxs)(`div`,{ref:M,"aria-label":`差异正文`,className:`history-content`,children:[o?.value.root.children.some(e=>e.type===`heading`&&e.tag===`h1`)?null:(0,K.jsx)(`h1`,{children:i}),F?null:(0,K.jsx)(`p`,{className:`history-message`,children:`与当前对比版本没有差异。选择更早的时间点查看修改。`}),b.map((e,t)=>(0,K.jsxs)(`section`,{hidden:S&&e.kind===`equal`,"data-history-change":e.kind===`equal`?void 0:``,className:`history-hunk history-${e.kind}`,children:[e.kind===`equal`?null:(0,K.jsx)(`div`,{className:`history-hunk-label`,children:e.kind===`insert`?`+ 新增内容`:e.kind===`delete`?`− 删除内容`:`修改内容`}),e.before?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`div`,{className:`history-before`,children:[(0,K.jsx)(`div`,{className:`history-hunk-label`,children:`− 旧内容`}),R(e.before)]}),(0,K.jsxs)(`div`,{className:`history-after`,children:[(0,K.jsx)(`div`,{className:`history-hunk-label`,children:`+ 新内容`}),R(e.value)]})]}):R(e.value)]},t)),(0,K.jsx)(`p`,{className:`history-end`,children:`已到本次对比末尾。媒体资源未做历史归档,同一地址的文件可能已更新。`})]})]}),j?null:(0,K.jsxs)(`aside`,{className:`history-sidebar`,"aria-label":`历史时间线`,children:[(0,K.jsx)(`h2`,{children:`历史记录`}),L]}),j&&k?(0,K.jsx)(`div`,{ref:te,className:`history-sheet`,role:`dialog`,"aria-modal":`true`,"aria-label":`选择历史版本`,children:(0,K.jsx)(Pe,{snaps:[0,.85],snap:.85,onSnap:e=>{e===0&&A(!1)},onScrim:()=>A(!1),header:(0,K.jsxs)(`div`,{className:`history-sheet-head`,children:[(0,K.jsx)(`strong`,{children:`历史记录`}),(0,K.jsx)(`button`,{type:`button`,onClick:()=>A(!1),children:`关闭`})]}),children:L})}):null]})}function Vt({left:e,top:t,quote:n,initial:r,restored:a,leaving:o,onChange:s,onSubmit:c,onCancel:l,ref:u}){return(0,K.jsx)(`div`,{ref:u,...{0:{className:`x10l6tqk x1u8a7rm xj6ak53 xowlrko xllfotl xatqbsq x1u6ievf`},1:{className:`x10l6tqk x1u8a7rm xj6ak53 x1u6ievf xxp0q0x x12l1aco xn0cd8s x47corl`}}[!!o|0],style:{left:e,top:t},children:(0,K.jsxs)(de,{active:!0,children:[(0,K.jsxs)(`div`,{className:`x78zum5 x1pha0wt x167g77z xz9dl7a x1hr3lfm xqfszdh x1j6dyjg`,children:[(0,K.jsxs)(`span`,{className:`x98rzlu xeuugli xb3r6kr xuxw1ft xlyipyv xddlp02`,children:[`“`,n,`”`]}),a?(0,K.jsx)(`span`,{className:`x2lah0s x7zghnd`,children:`已恢复上次的草稿`}):null]}),(0,K.jsx)(i,{autoFocus:!0,initial:r,placeholder:`写下你的问题或意见…`,onChange:s,onSubmit:c,onCancel:l})]})})}function Ht({left:e,top:t,onComment:n,onCopy:r,ref:i}){return(0,K.jsxs)(`div`,{ref:i,className:`x10l6tqk x1u8a7rm x78zum5 x6s0dn4 x195vfkc xc9qbxq x9f619 x9ms5i6 xmkeg23 x1y0btm7 xgcsv5v x1q4ynmn x12ilycc x1d5q07e xi1bcxy x773k2o xa3vuyk`,style:{left:e,top:t},onMouseDown:e=>e.preventDefault(),children:[n?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(`button`,{type:`button`,onClick:n,className:`x78zum5 x6s0dn4 x17d4w8g x1fgtraw xt970qd x1awh872 xc342km xu4hgxq xjbqb8w xj0l527 x2230gt xo2rkog xqfszdh xfifm61 xk50ysn x1ypdohk x1de99jn xaatb59 x1y3gkto x1uczgqu x1fkwv27`,children:[(0,K.jsx)(Le,{size:14,className:`x2lah0s x17nrqe2`}),`评论`]}),(0,K.jsx)(`span`,{"aria-hidden":`true`,className:`x2lah0s x1i1rx1s xlup9mm xj3msbq xcn5yip`})]}):null,(0,K.jsx)(`button`,{type:`button`,onClick:r,className:`x78zum5 x6s0dn4 x17d4w8g x1fgtraw xt970qd x1awh872 xc342km xu4hgxq xjbqb8w xj0l527 x2230gt xqfszdh xfifm61 xk50ysn x1ypdohk x1de99jn xaatb59 x1y3gkto x1uczgqu x1fkwv27 x1bo0w0s`,children:`复制`})]})}var Ut=(e,t)=>`${e}\n${t}`;function Wt(){let e=new Map;return{save(t,n){n.trim()?e.set(t,n):e.delete(t)},take(t){return e.get(t)??``}}}function Gt(e){let t=(0,G.useMemo)(Wt,[]),[n,r]=(0,G.useState)(null),[i,a]=(0,G.useState)(!1),o=(0,G.useRef)(``),s=(0,G.useRef)(0),c=(0,G.useRef)(null),l=(0,G.useRef)(null);z(i?null:n?.target.range??null);let u=(0,G.useCallback)(n=>{window.clearTimeout(s.current);let i=t.take(Ut(n.blockId,n.quote));o.current=i,a(!1),r({target:n,initial:i}),window.getSelection()?.removeAllRanges(),e()},[t,e]),d=(0,G.useCallback)(e=>{n&&(t.save(Ut(n.target.blockId,n.target.quote),e?o.current:``),a(!0),s.current=window.setTimeout(()=>{r(null),a(!1)},120))},[n,t]);return(0,G.useEffect)(()=>{if(!n||i)return;let e=e=>{let t=e.target;c.current?.contains(t)||l.current?.contains(t)||d(!0)};return document.addEventListener(`pointerdown`,e,!0),()=>document.removeEventListener(`pointerdown`,e,!0)},[n,i,d]),(0,G.useEffect)(()=>()=>window.clearTimeout(s.current),[]),{draft:n,leaving:i,restored:!!n?.initial,open:u,close:d,onText:e=>{o.current=e},panelRef:c,toolbarRef:l}}function Kt(e){return{left:e.offsetLeft,right:Math.min(e.offsetLeft+e.offsetWidth,window.innerWidth-16)}}function qt({editor:e,threads:t,actions:n,agent:r,canComment:i,selection:a,clearSelection:o,onCreate:s,onMain:c,children:l}){let u=Gt(o),{draft:d}=u;return(0,K.jsx)(_e,{editor:e,threads:t,actions:n,agent:r,onMain:c,overlay:e=>(0,K.jsxs)(K.Fragment,{children:[a&&!d?(0,K.jsx)(Ht,{ref:u.toolbarRef,...le(a,Kt(e),128,36,8),onComment:i?()=>u.open(a):void 0,onCopy:()=>{navigator.clipboard?.writeText(a.quote),window.getSelection()?.removeAllRanges(),o()}}):null,d?(0,K.jsx)(Vt,{ref:u.panelRef,...ae(d.target,Kt(e),340,8),quote:d.target.quote,initial:d.initial,restored:u.restored,leaving:u.leaving,onChange:u.onText,onSubmit:e=>s(d.target,e).then(e=>(e&&u.close(!1),e)),onCancel:()=>u.close(!0)},`${d.target.blockId}:${d.target.quote}`):null]}),children:l})}function Jt({id:e,title:t,activity:n,agentSection:r,offline:i,openComments:a,cloud:s,compact:c=!1,onDone:l,agent:u=`Agent`,history:d}){let f=Be(n,u,r);return o(e,s?{...t?{title:t}:{},online:s.online,comments:a,activity:f,activityTone:n.kind===`stale`?`warning`:n.kind===`working`?`quiet`:`live`,retrying:i,reason:s.reason,history:d?.available,historyOpen:d?.open}:null)&&!c?null:(0,K.jsxs)(`header`,{...{0:{className:`x7wzq59 x13vifvy x1n327nk xdd8jsf x78zum5 x6s0dn4 x1v2ro7d x4l9tsp x1rozbrz xqfszdh`},1:{className:`x7wzq59 x13vifvy x1n327nk xdd8jsf x78zum5 x6s0dn4 x1rozbrz xqfszdh x1hr3lfm x883omv`}}[!!c|0],children:[c?null:(0,K.jsxs)(`span`,{className:`xddlp02 xfifm61 xuxw1ft`,children:[`document / `,(0,K.jsx)(`span`,{className:`xo2rkog x1s688f`,children:e})]}),f?(0,K.jsxs)(`span`,{...{0:{className:`x78zum5 x6s0dn4 x17d4w8g xj8oexa x1awh872 x1e6avla xlssvyo x19ay2w6 x1j6dyjg xuxw1ft xeuugli xb3r6kr xlyipyv`},2:{className:`x78zum5 x6s0dn4 x17d4w8g xj8oexa x1awh872 x1e6avla x1j6dyjg xuxw1ft xeuugli xb3r6kr xlyipyv xahzvm9 x1bo0w0s`},1:{className:`x78zum5 x6s0dn4 x17d4w8g xj8oexa x1awh872 x1e6avla x1j6dyjg xuxw1ft xeuugli xb3r6kr xlyipyv xqdcvd7 x7zghnd`},3:{className:`x78zum5 x6s0dn4 x17d4w8g xj8oexa x1awh872 x1e6avla x1j6dyjg xuxw1ft xeuugli xb3r6kr xlyipyv xqdcvd7 x7zghnd`}}[(n.kind===`working`)<<1|n.kind===`stale`],children:[n.kind===`stale`?null:(0,K.jsx)(`i`,{className:`x1v4s8kt xols6we x16rqkct xtwfq29`}),f]}):null,i?(0,K.jsx)(`span`,{className:`x78zum5 x6s0dn4 x17d4w8g xj8oexa x1awh872 x1e6avla x1j6dyjg xuxw1ft xeuugli xb3r6kr xlyipyv xqdcvd7 x7zghnd`,children:`未同步,正在重试`}):null,s?.reason&&!c?(0,K.jsx)(`span`,{className:`xb3r6kr xddlp02 xfifm61 xuxw1ft xlyipyv`,children:s.reason}):null,(0,K.jsx)(`span`,{className:`x98rzlu`}),s?(0,K.jsxs)(`span`,{className:`x78zum5 x6s0dn4 x17d4w8g x1bo0w0s xfifm61 xuxw1ft`,children:[(0,K.jsx)(`i`,{...{0:{className:`xci0xqf x1hagigm x16rqkct xxwmxtg`},1:{className:`xci0xqf x1hagigm x16rqkct xux1nz0`}}[!!s.online|0]}),s.online?`电脑在线`:`电脑离线`]}):null,c?null:(0,K.jsxs)(`button`,{type:`button`,onClick:d?.close,className:`doc-history-entry`,children:[`评论 `,a]}),d?(0,K.jsx)(`button`,{type:`button`,className:`doc-history-entry`,"aria-pressed":d.open,disabled:!d.available,title:d.available?void 0:`电脑离线,历史暂不可用`,onClick:d.toggle,children:`历史记录`}):null,l?(0,K.jsx)(`button`,{type:`button`,onClick:l,className:`x12ulsxz xaope02 xc342km x1kogg8i x19ckca5 xs0jrwl xqfszdh x4z9k3i x1s688f x1ypdohk`,children:`完成`}):s||c?null:(0,K.jsx)(De,{artifact:`document/${e}`})]})}function Yt(e,t,n){let[r,i]=t<=n?[t,n]:[n,t];return{blockIds:e.slice(r,i+1).flatMap(e=>e.id?[e.id]:[]).slice(0,Ae.blockIds),heading:e.slice(0,r+1).filter(e=>e.heading).pop()?.text??``}}var Xt=crypto.randomUUID(),Zt=300,Qt={quote:``,blockIds:[],heading:``};function $t(e){let t=window.getSelection(),n=e.getRootElement();if(!t||t.isCollapsed||!n?.contains(t.anchorNode)||!n.contains(t.focusNode))return Qt;let r=t.toString().trim().slice(0,Ae.quote);return r?e.read(()=>{let e=x().getChildren(),n=t=>{let n=t&&I(t)?.getTopLevelElement();return n?e.findIndex(e=>e.is(n)):-1},i=n(t.anchorNode),a=n(t.focusNode);if(i<0||a<0)return{...Qt,quote:r};let o=e.map(e=>({id:pe(e,V)||``,heading:e.getType()===`heading`,text:e.getTextContent().slice(0,Ae.heading)}));return{quote:r,...Yt(o,i,a)}}):Qt}function en(e,t,n,r){let i=(0,G.useRef)(Qt);(0,G.useEffect)(()=>{if(!e)return;let n=0,a=()=>{let n=$t(e);JSON.stringify(n)!==JSON.stringify(i.current)&&(i.current=n,r({type:`selection`,artifact:t,tab:Xt,human:!0,...n}))},o=()=>{clearTimeout(n),n=window.setTimeout(a,Zt)};return document.addEventListener(`selectionchange`,o),()=>{clearTimeout(n),document.removeEventListener(`selectionchange`,o)}},[e,t,r]),(0,G.useEffect)(()=>{n&&i.current.quote&&r({type:`selection`,artifact:t,tab:Xt,human:!1,...i.current})},[n,t,r])}var tn=[`pending`],nn=`x-ryugi-document-features`,rn=e=>{let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return btoa(t)};function an({id:e,channel:t,send:n}){let r=(t,n,r)=>fetch(`/api/document/${e}/${t}`,{method:`POST`,headers:{"Content-Type":r,[nn]:tn.join(`,`)},body:n});return{artifact:`document/${e}`,channel:t,send:n,async meta(){let t=await fetch(`/api/artifacts/document/${e}`,{cache:`no-store`});return t.ok?await t.json():null},async state(){let t=await fetch(`/api/document/${e}/state`,{cache:`no-store`}),n=await t.json();if(!t.ok||!n.snapshot)throw Error(n.error??`load failed (${t.status})`);return n},async update(e){let t=await r(`update`,e,`application/octet-stream`);if(!t.ok)throw Error(`update failed (${t.status})`)},async comment(e){let t=await r(`comments`,JSON.stringify(e),`application/json`);if(!t.ok)throw Error(`comment failed (${t.status})`);return(await t.json()).comments}}}function on(e){let t=N(),n=(e.connect??ke)({url:e.url,artifact:e.artifact,WebSocket:e.WebSocket,retryMs:e.retryMs,onPresence:e.onPresence,onEvent:e=>t.emit(e),onOnline:()=>t.emit({type:`open`})});return{artifact:e.artifact,channel:t,close:n.close,async meta(){let t=await n.request({op:`meta`});return/^https?:\/\//.test(t.contentBase??``)?t:{...t,contentBase:e.contentBase}},state:()=>n.request({op:`state`}),async update(e){await n.request({op:`update`,bytes:rn(e),features:tn})},async comment(e){return(await n.request({op:`comment`,comment:e})).comments},send(e){let{type:t}=e;t===`selection`?n.request({op:`selection`,selection:e}).catch(()=>{}):(t===`loaded`||t===`runtime-error`)&&n.request({op:`client`,message:e}).catch(()=>{})}}}function sn(e){let t=(0,G.useMemo)(N,[]),n=`document/${e}`,{live:r,send:i}=Oe(e=>{e.artifact===n&&t.emit(e)},()=>t.emit({type:`open`}));return{transport:(0,G.useMemo)(()=>an({id:e,channel:t,send:i}),[e,t,i]),live:r}}function cn(e,t){let[n,r]=(0,G.useState)(null),[i,a]=(0,G.useState)(null);return(0,G.useEffect)(()=>{let n=on({url:je(e),artifact:`document/${e}`,contentBase:t,onPresence:a,connect:t=>Ne({...t,cloudId:e,known:Te()})});return r(n),()=>{n.close(),r(null),a(null)}},[e,t]),{transport:n,presence:i}}var ln={count:0,firstKey:null},un=e=>e.read(()=>{let e=x().getChildren().filter(e=>e.getType()===`pending`).map(e=>e.getKey());return{count:e.length,firstKey:e[0]??null}});function dn(e){let[t,n]=(0,G.useState)(ln);return(0,G.useEffect)(()=>{if(!e){n(ln);return}let t=e=>n(t=>t.count===e.count&&t.firstKey===e.firstKey?t:e);return t(un(e.getEditorState())),e.registerUpdateListener(({editorState:e})=>t(un(e)))},[e]),t}function fn(e,t=15e3){let[n,r]=(0,G.useState)(()=>Date.now());return(0,G.useEffect)(()=>{if(!e)return;r(Date.now());let n=setInterval(()=>r(Date.now()),t);return()=>clearInterval(n)},[e,t]),n}function pn({left:e,top:t,placement:n,canComment:r,canEdit:i,onComment:a,onEdit:o}){let s=(0,G.useRef)(null),c=[r?{label:`评论`,Icon:Le,run:a,primary:!0}:null,i?{label:`改字`,Icon:me,run:o,primary:!1}:null].filter(e=>e!==null);return(0,G.useLayoutEffect)(()=>{u(s.current,[{opacity:0,transform:`scale(0.96)`},{opacity:1,transform:`none`}],{duration:160,easing:d})},[]),c.length===0?null:(0,K.jsxs)(`div`,{ref:s,"data-edit-menu":!0,"data-placement":n,...{0:{className:`x10l6tqk x1u8a7rm x78zum5 xdt5ytf x1cy8zhl`},1:{className:`x10l6tqk x1u8a7rm x78zum5 x1cy8zhl x3ieub6`}}[n===`above`|0],style:{left:e,top:t,transformOrigin:n===`above`?`22px 100%`:`22px 0`},onMouseDown:e=>e.preventDefault(),children:[(0,K.jsx)(`span`,{className:`xsmyaan x1kpxq89 xyqm7xq x1qp53xl x1cum3z5 xf6xdpg x1158fpu`}),(0,K.jsx)(`div`,{className:`x78zum5 xn3w4p2 xfn1xvj x4pepcl xf6xdpg x1dam6yx`,children:c.map(({label:e,Icon:t,run:n,primary:r})=>(0,K.jsxs)(`button`,{type:`button`,onClick:n,...{0:{className:`x78zum5 x6s0dn4 x17d4w8g xn3w4p2 xt970qd xaope02 xc342km x1q4ynmn xjbqb8w x116urgp xqirfc3 xqfszdh xif65rj x1ypdohk`},1:{className:`x78zum5 x6s0dn4 x17d4w8g xn3w4p2 xt970qd xaope02 xc342km x1q4ynmn xjbqb8w x116urgp xqfszdh xif65rj x1ypdohk xfungia x1s688f`}}[!!r|0],children:[(0,K.jsx)(t,{size:16,"aria-hidden":!0}),e]},e))})]})}var mn={state:{kmuXW:`x2lah0s`,kGuDYH:`xfifm61`,$$css:!0},waitingAgent:{kMwMTN:`x7zghnd`,$$css:!0},answered:{kMwMTN:`xh0clw4`,$$css:!0},resolved:{kMwMTN:`xddlp02`,$$css:!0}},hn=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});function gn({thread:e,agent:t=`Agent`,actions:n,active:a=!1,offline:o=!1}){let c=r(e),u=e.status===`resolved`,d=u?{label:`已解决`,tone:mn.resolved}:c===`agent`?{label:`等 ${t} 回复`,tone:mn.waitingAgent}:c===`human`?{label:`${t} 已回复`,tone:mn.answered}:null;return(0,K.jsxs)(`div`,{"data-thread":e.id,...{0:{className:`xxlmvz2 x178xt8z x13fuv20 xxu5053 xqfszdh xo2rkog`},1:{className:`xxlmvz2 x178xt8z x13fuv20 xxu5053 xqfszdh xo2rkog xggygye`}}[!!a|0],children:[(0,K.jsxs)(`div`,{className:`x78zum5 x1pha0wt x167g77z x1lqa7cf x1vo0akb x19ypqd9 x13ym6ox x4z9k3i`,children:[(0,K.jsx)(`span`,{className:`x98rzlu xeuugli xb3r6kr xuxw1ft xlyipyv x1bo0w0s`,children:e.anchor.quote||`整段`}),d?(0,K.jsx)(`span`,{...l(mn.state,d.tone),children:d.label}):null]}),u&&!a?null:e.messages.map(e=>{let{label:t,initial:n}=s(e);return(0,K.jsxs)(`div`,{className:`x14vqqas`,children:[(0,K.jsxs)(`div`,{className:`x78zum5 x6s0dn4 x167g77z x4z9k3i x1s688f`,children:[(0,K.jsx)(m,{human:e.author===`human`,initial:n,name:e.name,src:e.avatar}),t,(0,K.jsx)(`span`,{className:`xddlp02 xo1l8bm xfifm61`,children:hn(e.editedAt??e.at)})]}),(0,K.jsx)(`div`,{...{0:{className:`x1gslohp xxpkpgd x1jvydc1 x1dbl2gt x126k92a xj0a0fe`},1:{className:`x1gslohp xxpkpgd x1jvydc1 x1dbl2gt x126k92a xj0a0fe xc7n51q`}}[!!e.deleted|0],children:e.deleted?`已删除`:e.text})]},e.id)}),n?(0,K.jsxs)(`div`,{className:`x78zum5 x6s0dn4 xou54vl x1anpbxc xxpkpgd`,children:[u?null:(0,K.jsx)(`div`,{className:`x98rzlu xeuugli x1qyh8g1 xso031l x1q0q8m5 x1iz93xd`,children:(0,K.jsx)(i,{placeholder:`回复…`,onSubmit:t=>n.reply(e.id,t)})}),o?null:(0,K.jsx)(`button`,{type:`button`,onClick:()=>u?n.reopen(e.id):n.resolve(e.id),className:`x2lah0s x1gg8mnh xt970qd xdqyycr x1w5wx5t xc342km xjbqb8w x1bo0w0s xqfszdh x4z9k3i x1ypdohk`,children:u?`重新打开`:`解决`})]}):null]})}var _n=.5,vn=e=>e===78?_n:e;function yn({threads:e,agent:t=`Agent`,actions:n,offline:a,draft:o,onCreate:s,onCancelDraft:c,activeId:l,snap:f,onSnap:p}){let m=(0,G.useRef)(null),h=e.filter(e=>!e.messages.every(e=>e.deleted)),g=h.filter(e=>r(e)===`agent`).length,_=a?`电脑离线,暂时不能评论`:g>0?`${g} 条等 ${t} 回复`:null;return(0,G.useEffect)(()=>{let e=l?m.current?.querySelector(`[data-thread="${CSS.escape(l)}"]`):null,t=e?.closest(`[data-sheet-body]`);e&&t&&(t.scrollTo({top:t.scrollTop+e.getBoundingClientRect().top-t.getBoundingClientRect().top-8,behavior:`smooth`}),u(e,[{backgroundColor:`rgba(232, 194, 74, 0.24)`},{backgroundColor:`transparent`}],{duration:600,delay:250,easing:d}))},[l]),(0,K.jsx)(Pe,{snaps:[78,_n,1],snap:f,onSnap:p,onScrim:()=>p(_n),header:(0,K.jsxs)(`span`,{className:`x78zum5 x1pha0wt x17d4w8g xu0aao5 x17qtykl xwib8y2 xqfszdh x1jvydc1 x1s688f`,children:[`评论 `,h.length,_?(0,K.jsxs)(`span`,{className:`xddlp02 xfifm61 xo1l8bm`,children:[`· `,_]}):null]}),children:(0,K.jsxs)(`div`,{ref:m,className:`x17qtykl xwxc41k`,children:[o&&n?(0,K.jsxs)(`div`,{className:`x10dr8xq xqfszdh`,children:[(0,K.jsxs)(`div`,{className:`x78zum5 x1pha0wt x167g77z x4z9k3i`,children:[(0,K.jsx)(`span`,{className:`x98rzlu xeuugli x1lqa7cf x1vo0akb x19ypqd9 x13ym6ox xb3r6kr xuxw1ft xlyipyv x1bo0w0s`,children:o.quote}),(0,K.jsx)(`button`,{type:`button`,onClick:c,className:`x1717udv xc342km xjbqb8w xddlp02 x4z9k3i x1ypdohk`,children:`取消`})]}),(0,K.jsx)(`div`,{className:`x1xmf6yo x1qyh8g1 xso031l x1q0q8m5 x1iz93xd`,children:(0,K.jsx)(i,{autoFocus:!0,placeholder:`写给 agent 的评论…`,onSubmit:e=>s(o,e).then(e=>(e&&c(),e))})})]}):null,h.length===0&&!o?(0,K.jsx)(`div`,{className:`xr9q8rw xddlp02 xqfszdh x4z9k3i x2b8uid`,children:`还没有评论。选中文字就能评论。`}):null,h.map(e=>(0,K.jsx)(gn,{thread:e,agent:t,actions:n,active:e.id===l,offline:a},e.id))]})})}var bn=52;function xn({editor:e,threads:t,actions:n,agent:r,canComment:i,canEdit:a,offline:o,selection:s,clearSelection:c,onCreate:l,onEdit:u,onMain:d,children:f}){let[p,m]=(0,G.useState)(null),[h,g]=(0,G.useState)(null),[_,v]=(0,G.useState)(78),[y,b]=(0,G.useState)(null),x=ce(e,t,p);U(x,t,h),z(y?.range??null);let S=()=>{window.getSelection()?.removeAllRanges(),c()};return(0,K.jsxs)(`main`,{ref:e=>{m(e),d?.(e)},className:`x1n2onr6 x1cnzs8 x17qtykl x1ffnkcp`,children:[(0,K.jsx)(`article`,{onClick:e=>{let t=he(x,e.clientX,e.clientY);g(t),t&&v(vn)},children:f}),s&&!y?(0,K.jsx)(pn,{...ge(s,{left:8,right:(p?.clientWidth??0)-8},170,44,{top:p?.getBoundingClientRect().top??0,height:window.innerHeight,reserved:Ee(_,window.innerHeight-bn)}),canComment:i,canEdit:a,onComment:()=>{b(s),v(_n),S()},onEdit:()=>{u(s),c()}}):null,(0,K.jsx)(`div`,{className:`xixxii4 x1ozmhy9 xu96u03 x3m8u43 x1ey2m1c x1355qak x47corl`,children:(0,K.jsx)(yn,{threads:t,agent:r,actions:n,offline:o,draft:y,onCreate:l,onCancelDraft:()=>b(null),activeId:h,snap:_,onSnap:v})})]})}var Sn=200;function Cn(e,t){let[n,r]=(0,G.useState)(null);return(0,G.useEffect)(()=>{if(!e||!t)return;let n=0,i=()=>{let n=window.getSelection(),i=e.getRootElement();if(!n||n.isCollapsed||n.rangeCount===0||!i?.contains(n.anchorNode)){r(null);return}let a=n.toString().trim(),o=e.read(()=>{let e=n.anchorNode&&I(n.anchorNode)?.getTopLevelElement(),t=n.focusNode&&I(n.focusNode)?.getTopLevelElement();return!e||!t||!e.is(t)?null:pe(e,V)||null});if(!o||!a){r(null);return}let s=n.getRangeAt(0),c=[...s.getClientRects()],l=c[0]??s.getBoundingClientRect(),u=c.at(-1)??l,d=t.getBoundingClientRect();r({blockId:o,quote:a.slice(0,500),left:l.left-d.left,bottom:u.bottom-d.top,top:l.top-d.top,right:u.right-d.left,range:s.cloneRange()})},a=()=>{clearTimeout(n),n=window.setTimeout(i,Sn)};return document.addEventListener(`selectionchange`,a),()=>{clearTimeout(n),document.removeEventListener(`selectionchange`,a)}},[e,t]),[n,()=>r(null)]}var wn=[...b.filter(e=>!B.some(t=>t.getType()===(`getType`in e?e.getType():e.replace.getType()))),...B];function Tn(){let e=(0,G.useMemo)(()=>window.matchMedia(`(prefers-color-scheme: dark)`),[]),[t,n]=(0,G.useState)(e.matches);return(0,G.useEffect)(()=>{let t=()=>n(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[e]),t}function En(e){(0,G.useEffect)(()=>{if(!e)return;let t=document.createElement(`base`);return t.href=e,document.head.prepend(t),()=>t.remove()},[e])}function Dn({id:e}){let{transport:t,live:n}=sn(e);return(0,K.jsx)(On,{id:e,transport:t,live:n})}function On({id:e,transport:t,live:n,cloud:r}){let[i,a]=(0,G.useState)(null),[o,s]=(0,G.useState)(null),[l,u]=(0,G.useState)(p),[d,m]=(0,G.useState)(null),[h,g]=(0,G.useState)(!1),[_,v]=(0,G.useState)(void 0),[y,b]=(0,G.useState)(0),x=(0,G.useCallback)(e=>{e!==void 0&&b(e-Date.now())},[]),[S,C]=(0,G.useState)(null),[w,ee]=(0,G.useState)(!1),[T,E]=(0,G.useState)(!1),D=!r||r.online&&!w,O=T&&D;(0,G.useEffect)(()=>{D||E(!1)},[D]),(0,G.useEffect)(()=>{if(!r)return;let t=t=>{t.source===window.parent&&t.origin===location.origin&&t.data?.type===`ryugi:document-history`&&t.data.id===e&&(t.data.action===`close`?E(!1):t.data.action===`toggle`&&D&&E(e=>!e))};return window.addEventListener(`message`,t),()=>window.removeEventListener(`message`,t)},[e,r,D]);let[k,A]=(0,G.useState)(null),[te,j]=(0,G.useState)(null),M=Tn(),{artifact:N,channel:P}=t,F=!r||r.online,I=!r||r.canEdit,L=f(c),[R,ne]=(0,G.useState)(!1),re=L?R&&I:I,z=(0,G.useCallback)(async()=>{let e=await t.meta();e&&a(e)},[t]);(0,G.useEffect)(()=>{let e=!1;return(async()=>{try{await z();let n=await t.state();if(e)return;let r=new be;r.setRecordTimestamp(!0),r.setChangeMergeInterval(20),r.import(se(n.snapshot)),g(!!n.streaming),v(n.agentActiveAt),x(n.now),u(n.comments??p()),s(r)}catch(t){e||m(t.message)}})(),()=>{e=!0}},[t,z,x]),(0,G.useEffect)(()=>P.subscribe(e=>{e.type===`change`?z():e.type===`doc-status`?(g(e.streaming),v(e.agentActiveAt),x(e.now)):e.type===`doc-comments`&&u(e.comments)}),[P,z,x]),(0,G.useEffect)(()=>{k?.setEditable(re&&!O)},[k,re,O]),(0,G.useEffect)(()=>{I||ne(!1)},[I]);let ie=(0,G.useCallback)(e=>{g(!!e.streaming),v(e.agentActiveAt),x(e.now),e.comments&&u(e.comments)},[x]);En(i?.contentBase),en(k,N,n&&!O,t.send);let ae=(0,G.useMemo)(()=>({artifact:N,contentBase:i?.contentBase??``,channel:P,send:t.send}),[N,i?.contentBase,P,t]);(0,G.useEffect)(()=>{document.title=i?.title||e},[i?.title,e]),Fe(`document`);let B=dn(k),oe=fn(B.count>0&&!h),ce=Re({streaming:h,pending:B.count,agentActiveAt:_,now:oe+y}),V=i?.agent??`Agent`,le=(0,G.useMemo)(()=>({nextKey:B.firstKey,agent:V,activity:ce.kind}),[B.firstKey,V,ce.kind]),ue=l.threads.filter(e=>e.status===`open`).length,[de,H]=Cn(k,te),U=(0,G.useCallback)(async e=>{try{return u(await t.comment(e)),!0}catch{return!1}},[t]),pe=(0,G.useMemo)(()=>({reply:(e,t)=>U({op:`reply`,threadId:e,text:t}),edit:(e,t,n)=>void U({op:`edit`,threadId:e,messageId:t,text:n}),remove:(e,t)=>void U({op:`delete`,threadId:e,messageId:t}),resolve:e=>void U({op:`resolve`,threadId:e}),reopen:e=>void U({op:`reopen`,threadId:e})}),[U]),me=(0,G.useCallback)((e,t)=>U({op:`create`,blockId:e.blockId,quote:e.quote,text:t}),[U]),he=(0,G.useCallback)(e=>{if(!k)return;k.setEditable(!0),ne(!0),k.getRootElement()?.focus({preventScroll:!0});let t=window.getSelection();t?.removeAllRanges(),t?.addRange(e.range)},[k]);if(d)return(0,K.jsx)(`div`,{className:`x1o8uwn5 x2b8uid x1bo0w0s xqfszdh xif65rj`,children:d});if(!o)return(0,K.jsx)(`div`,{className:`x1o8uwn5 x2b8uid x1bo0w0s xqfszdh xif65rj`,children:`Loading…`});let W=(0,K.jsx)(Ce.Provider,{value:ae,children:(0,K.jsx)(fe.Provider,{value:le,children:(0,K.jsx)(ye,{transport:t,agent:i?.agent,doc:o,theme:M?`dark`:`light`,onAgentSection:C,onOffline:ee,onState:ie,onEditorReady:A})})});return(0,K.jsxs)(`div`,{className:`x1us19tq x1rozbrz xo2rkog`,className:`ryugi-doc ${{className:`x1us19tq x1rozbrz xo2rkog`}.className??``}`,children:[(0,K.jsx)(Jt,{id:e,title:i?.title||e,agent:i?.agent,activity:ce,agentSection:S,offline:w,openComments:ue,cloud:r,compact:L,onDone:L&&R?()=>ne(!1):void 0,history:{available:D,open:O,toggle:()=>E(e=>!e),close:()=>E(!1)}}),O?(0,K.jsx)(Bt,{doc:o,nodes:wn,streaming:h,theme:M?`dark`:`light`,title:i?.title||e,onClose:()=>E(!1)}):null,(0,K.jsx)(`div`,{hidden:O,children:L?(0,K.jsx)(xn,{editor:k,threads:l.threads,actions:pe,agent:i?.agent,canComment:F,canEdit:I,offline:!(!r||r.online),selection:R?null:de,clearSelection:H,onCreate:me,onEdit:he,onMain:j,children:W}):(0,K.jsx)(qt,{editor:k,threads:l.threads,actions:pe,agent:i?.agent,canComment:F,selection:de,clearSelection:H,onCreate:me,onMain:j,children:W})}),(0,K.jsx)(Me,{warnings:i?.warnings??[]})]})}export{On as DocumentView,Dn as default,cn as t};
@@ -0,0 +1 @@
1
+ .doc-history-entry{color:var(--lobe-color-text-secondary);font:12px var(--lobe-font-family);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 9px}.doc-history-entry[aria-pressed=true]{background:var(--lobe-color-fill-tertiary);color:var(--lobe-color-text)}.doc-history-entry:disabled{opacity:.5;cursor:default}.document-history{font:13px/1.6 var(--lobe-font-family);color:var(--lobe-color-text);grid-template-columns:minmax(0,700px) 320px;justify-content:center;gap:48px;padding:32px 24px 48px;display:grid}.document-history [hidden]{display:none!important}.document-history button{font:inherit;color:inherit;cursor:pointer}.document-history button:focus-visible,.doc-history-entry:focus-visible{outline:2px solid var(--lobe-color-info);outline-offset:3px}.document-history button:disabled{opacity:.4;cursor:default}.history-work{min-width:0}.history-toolbar{z-index:5;background:var(--lobe-color-bg-container);border-bottom:1px solid var(--lobe-color-border-secondary);padding:0 0 14px;position:sticky;top:52px}.history-toolbar-row{align-items:center;gap:10px;min-height:30px;font-size:11px;display:flex}.history-toolbar-row>strong{font-size:14px}.history-toolbar-row>button:not(.history-exit):not(.history-filter){border:1px solid var(--lobe-color-border-secondary);background:0 0;border-radius:5px;width:28px;height:28px}.history-tag{border:1px solid var(--lobe-color-border-secondary);color:var(--lobe-color-text-secondary);border-radius:4px;padding:1px 6px;font-size:10px}.history-exit{background:0 0;border:0;margin-left:auto;color:var(--lobe-color-info-text)!important;font-size:12px!important}.history-basis{color:var(--lobe-color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0 12px;font-size:12px;display:flex}.history-filter{border:1px solid var(--lobe-color-border-secondary);background:0 0;border-radius:5px;margin-left:auto;padding:4px 7px}.history-filter[aria-pressed=true]{background:var(--lobe-color-fill-tertiary)}.history-delete-label{color:var(--lobe-color-error-text)}.history-insert-label{color:var(--lobe-color-success-text)}.history-content{padding:28px 0}.history-content>h1{margin:0 0 28px;font-size:24px;font-weight:700;line-height:1.35}.history-hunk{min-width:0;margin-bottom:24px;scroll-margin-top:190px}.history-hunk:not(.history-equal){border-left:2px solid var(--lobe-color-border-secondary);padding-left:16px}.history-hunk-label{color:var(--lobe-color-text-tertiary);margin-bottom:8px;font-size:10px}.history-before,.history-after{background:var(--lobe-color-error-bg);border-radius:6px;margin-block:6px;padding:12px 14px}.history-hunk .rich-content,.history-hunk [class*=richContent]{max-width:100%;font-size:14px;line-height:1.75}.history-hunk pre{white-space:pre-wrap;overflow-wrap:anywhere}.history-hunk table,.history-hunk img{max-width:100%}.history-sidebar{scrollbar-width:thin;align-self:start;max-height:calc(100dvh - 108px);padding-bottom:16px;position:sticky;top:84px;overflow:auto}.history-sidebar h2{margin:0 0 8px;font-size:14px}.history-help{color:var(--lobe-color-text-tertiary);margin:0 0 22px;font-size:11px;line-height:1.7}.history-revision{border-radius:8px;margin-bottom:5px;padding-left:25px;position:relative}.history-revision:before{border:1px solid var(--lobe-color-text-tertiary);content:"";background:var(--lobe-color-bg-container);border-radius:50%;width:6px;height:6px;position:absolute;top:18px;left:12px}.history-revision:after{background:var(--lobe-color-border-secondary);content:"";width:1px;position:absolute;top:28px;bottom:-5px;left:15px}.history-revision.active{background:var(--lobe-color-fill-tertiary)}.history-revision.active:before{background:var(--lobe-color-text);border-color:var(--lobe-color-text)}.history-select{text-align:left;background:0 0;border:0;width:100%;padding:12px 12px 6px;display:block}.history-select>strong{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.history-select>.history-tag{margin-left:7px}.history-select>span:not(.history-tag),.history-select>small{margin-top:4px;display:block}.history-select>small{color:var(--lobe-color-text-tertiary);font-size:11px}.history-expand{background:0 0;border:0;margin:0 12px 8px;padding:0;color:var(--lobe-color-text-tertiary)!important;font-size:11px!important}.history-raw{padding:0 12px 10px}.history-raw button{text-align:left;background:0 0;border:0;border-radius:4px;width:100%;padding:7px 4px;font-size:11px;display:block}.history-raw button:hover{background:var(--lobe-color-fill-quaternary)}.history-raw code{overflow-wrap:anywhere;color:var(--lobe-color-text-tertiary);font-size:10px;display:block}.history-end{border-top:1px solid var(--lobe-color-border-secondary);color:var(--lobe-color-text-tertiary);margin-top:22px;padding-top:14px;font-size:11px;line-height:1.7}.history-more{border:1px solid var(--lobe-color-border-secondary);background:0 0;border-radius:6px;width:100%;margin-block:12px;padding:9px;font-size:12px;display:block}.history-update{background:var(--lobe-color-info-bg);color:var(--lobe-color-info-text);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:12px;display:flex}.history-update button{white-space:nowrap;background:0 0;border:0}.history-message{text-align:center;color:var(--lobe-color-text-secondary);padding:36px 12px;font-size:13px}.history-message>button{border:1px solid var(--lobe-color-border-secondary);background:0 0;border-radius:6px;margin:15px auto;padding:5px 12px;display:block}.history-sheet{z-index:30;position:fixed;inset:0}.history-sheet-head{justify-content:space-between;align-items:center;padding:8px 20px 16px;display:flex}.history-sheet-head button{background:0 0;border:0}.history-sheet .history-help,.history-sheet .history-end{margin-inline:20px}.history-sheet .history-revision{margin-inline:12px}.history-hunk .rich-content>:first-child{margin-top:0}.history-hunk .rich-content>:last-child{margin-bottom:0}.history-hunk .rich-content>.rich-heading-h1{font-size:24px;line-height:1.35}.history-hunk .rich-content>.rich-heading-h2{font-size:20px;line-height:1.4}.history-hunk .rich-content>.rich-heading-h3{font-size:17px;line-height:1.45}.history-before{background:color-mix(in srgb,var(--lobe-color-error-text) 8%,var(--lobe-color-bg-container))}.history-after{background:color-mix(in srgb,var(--lobe-color-success-text) 8%,var(--lobe-color-bg-container))}@media (width<=1100px){.document-history{grid-template-columns:minmax(0,700px);gap:0;padding:24px 20px}.history-toolbar-row{gap:7px}.history-content>h1{font-size:24px}}@media (width<=640px){.history-basis{gap:6px;font-size:11px}.history-hunk:not(.history-equal){padding-left:10px}.history-before,.history-after{padding:10px}.history-toolbar{top:52px}.history-toolbar-row{font-size:10px}.history-hunk table{font-size:12px}.history-hunk{overflow-x:auto}}
@@ -1 +1 @@
1
- import{n as e}from"./src-Caqqw6Gw.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./chunk-DU6HZSFF-CokhknAA.js";import"./dist-D_WrKoQ5.js";import{m as n,t as r}from"./mermaid-parser.core-DzU9TqUr.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-CzXvGBkp.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadAbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=t(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=t(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=t(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=t(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:t(t=>{o.clear(),e.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;e.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),e.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
1
+ import{n as e}from"./src-Caqqw6Gw.js";import{n as t}from"./chunk-Y2CYZVJY-DsF7k-Jl.js";import"./chunk-DU6HZSFF-CokhknAA.js";import"./dist-BA4-A1Cd.js";import{m as n,t as r}from"./mermaid-parser.core-DzU9TqUr.js";import{n as i,r as a,t as o}from"./chunk-SVP7TREG-CtvQoWMe.js";import{t as s}from"./chunk-JWPE2WC7-DVXcaiue.js";var c=n().RailroadAbnf.parser.LangiumParser,l=t(e=>{let t=e.alternatives.map(u);return t.length===1?t[0]:{type:`choice`,alternatives:t}},`transformAlternation`),u=t(e=>{let t=e.elements.map(f);return t.length===1?t[0]:{type:`sequence`,elements:t}},`transformConcatenation`),d=t(e=>{if(e.includes(`*`)){let[t,n]=e.split(`*`);return{min:t?parseInt(t,10):0,max:n?parseInt(n,10):1/0}}let t=parseInt(e,10);return{min:t,max:t}},`parseRepeat`),f=t(e=>{let t=p(e.primary);if(!e.repeat)return t;let{min:n,max:r}=d(e.repeat);return n===0&&r===1?{type:`optional`,element:t}:{type:`repetition`,element:t,min:n,max:r}},`transformElement`),p=t(e=>{switch(e.$type){case`AbnfStringLiteral`:return{type:`terminal`,value:e.value};case`AbnfNumVal`:return{type:`terminal`,value:e.value};case`AbnfRuleName`:return{type:`nonterminal`,name:e.name};case`AbnfGroup`:return l(e.element);case`AbnfOptionalGroup`:return{type:`optional`,element:l(e.element)};default:throw Error(`Unsupported ABNF primary node: ${e.$type}`)}},`transformPrimary`),m=t(e=>({name:e.name,definition:l(e.definition)}),`transformRule`),h=t(e=>{s(e,o),e.title&&o.setTitle(e.title),e.rules.map(e=>o.addRule(m(e)))},`populateDb`),g={parser:{parse:t(t=>{o.clear(),e.debug(`[ABNF Parser] Starting Langium parse`);let n=c.parse(t);if(n.lexerErrors.length>0||n.parserErrors.length>0)throw new r(n);let i=n.value;e.debug(`[ABNF Parser] Parsed rules:`,i.rules.length),h(i),e.debug(`[ABNF Parser] Parse complete`)},`parse`),parser:{yy:o}},db:o,renderer:a,styles:i};export{g as diagram};
@@ -1,4 +1,4 @@
1
- import"./prod-DLkZlcd2.js";var e={paste:`لصق`,pasteAsPlaintext:`اللصق كنص عادي`,pasteCharts:`لصق الرسوم البيانية`,selectAll:`تحديد الكل`,multiSelect:`إضافة عنصر للتحديد`,moveCanvas:`نقل لوح الرسم`,cut:`قص`,copy:`نسخ`,copyAsPng:`نسخ إلى الحافظة بصيغة PNG`,copyAsSvg:`نسخ إلى الحافظة بصيغة SVG`,copyText:`نسخ إلى الحافظة كنص`,copySource:``,convertToCode:``,bringForward:`جلب للأمام`,sendToBack:`أرسل للخلف`,bringToFront:`أحضر للأمام`,sendBackward:`أرسل للخلف`,delete:`حذف`,copyStyles:`نسخ الأنماط`,pasteStyles:`لصق الأنماط`,stroke:`الخط`,background:`الخلفية`,fill:`التعبئة`,strokeWidth:`سُمك الخط`,strokeStyle:`نمط الخط`,strokeStyle_solid:`متصل`,strokeStyle_dashed:`متقطع`,strokeStyle_dotted:`منقط`,sloppiness:`الإمالة`,opacity:`الشفافية`,textAlign:`محاذاة النص`,edges:`الحواف`,sharp:`حادة`,round:`دائرية`,arrowheads:`رؤوس الأسهم`,arrowhead_none:`لا شيء`,arrowhead_arrow:`سهم`,arrowhead_bar:`شريط`,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:`مثلث`,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,fontSize:`حجم الخط`,fontFamily:`نوع الخط`,addWatermark:`إضافة "مصنوعة بواسطة Excalidraw"`,handDrawn:`رسم باليد`,normal:`عادي`,code:`رمز`,small:`صغير`,medium:`متوسط`,large:`كبير`,veryLarge:`كبير جدا`,solid:`كامل`,hachure:`خطوط`,zigzag:`متعرج`,crossHatch:`خطوط متقطعة`,thin:`نحيف`,bold:`داكن`,left:`الـيسار`,center:`وسط`,right:`يمين`,extraBold:`عريض`,architect:`معماري`,artist:`رسام`,cartoonist:`كرتوني`,fileTitle:`إسم الملف`,colorPicker:`منتقي اللون`,canvasColors:`تستخدم على القماش`,canvasBackground:`خلفية اللوحة`,drawingCanvas:`لوحة الرسم`,layers:`الطبقات`,actions:`الإجراءات`,language:`اللغة`,liveCollaboration:`التعاون المباشر...`,duplicateSelection:`تكرار`,untitled:`غير معنون`,name:`الاسم`,yourName:`اسمك`,madeWithExcalidraw:`مصنوعة بواسطة Excalidraw`,group:`تحديد مجموعة`,ungroup:`إلغاء تحديد مجموعة`,collaborators:`المتعاونون`,showGrid:`إظهار الشبكة`,addToLibrary:`أضف إلى المكتبة`,removeFromLibrary:`حذف من المكتبة`,libraryLoadingMessage:`جارٍ تحميل المكتبة…`,libraries:`تصفح المكتبات`,loadingScene:`جاري تحميل المشهد…`,align:`محاذاة`,alignTop:`محاذاة إلى اﻷعلى`,alignBottom:`محاذاة إلى اﻷسفل`,alignLeft:`محاذاة إلى اليسار`,alignRight:`محاذاة إلى اليمين`,centerVertically:`توسيط عمودي`,centerHorizontally:`توسيط أفقي`,distributeHorizontally:`التوزيع الأفقي`,distributeVertically:`التوزيع عمودياً`,flipHorizontal:`قلب عامودي`,flipVertical:`قلب أفقي`,viewMode:`نمط العرض`,share:`مشاركة`,showStroke:`إظهار منتقي لون الخط`,showBackground:`إظهار منتقي لون الخلفية`,toggleTheme:`غير النمط`,personalLib:`المكتبة الشخصية`,excalidrawLib:`مكتبتنا`,decreaseFontSize:`تصغير حجم الخط`,increaseFontSize:`تكبير حجم الخط`,unbindText:`فك ربط النص`,bindText:`ربط النص بالحاوية`,createContainerFromText:`نص مغلف في حاوية`,link:{edit:`تعديل الرابط`,editEmbed:`تحرير الرابط وإدراجه`,create:`إنشاء رابط`,createEmbed:`إنشاء رابط و إدراجه`,label:`رابط`,labelEmbed:`رابط و إدراج`,empty:`لم يتم تعيين رابط`},lineEditor:{edit:`تحرير السطر`,exit:`الخروج من المُحرر`},elementLock:{lock:`قفل`,unlock:`فتح`,lockAll:`قفل الكل`,unlockAll:`فتح الكل`},statusPublished:`نُشر`,sidebarLock:`إبقاء الشريط الجانبي مفتوح`,selectAllElementsInFrame:`تحديد جميع العناصر في الإطار`,removeAllElementsFromFrame:`إزالة جميع العناصر من الإطار`,eyeDropper:`اختيار اللون من القماش`,textToDiagram:``,prompt:``},t={noItems:`لا توجد عناصر أضيفت بعد...`,hint_emptyLibrary:`حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.`,hint_emptyPrivateLibrary:`حدد عنصر على القماش لإضافته هنا.`},n={clearReset:`إعادة تعيين اللوحة`,exportJSON:`صدر الملف`,exportImage:`تصدير الصورة...`,export:`حفظ إلى...`,copyToClipboard:`نسخ إلى الحافظة`,save:`احفظ للملف الحالي`,saveAs:`حفظ كـ`,load:`فتح`,getShareableLink:`احصل على رابط المشاركة`,close:`غلق`,selectLanguage:`اختر اللغة`,scrollBackToContent:`الرجوع إلى المحتوى`,zoomIn:`تكبير`,zoomOut:`تصغير`,resetZoom:`إعادة تعيين الشاشة`,menu:`القائمة`,done:`تم`,edit:`تعديل`,undo:`تراجع`,redo:`إعادة تنفيذ`,resetLibrary:`إعادة ضبط المكتبة`,createNewRoom:`إنشاء غرفة جديدة`,fullScreen:`شاشة كاملة`,darkMode:`الوضع المظلم`,lightMode:`الوضع المضيء`,zenMode:`وضع التأمل`,objectsSnapMode:`التقط إلى العناصر`,exitZenMode:`إلغاء الوضع الليلى`,cancel:`إلغاء`,clear:`مسح`,remove:`إزالة`,embed:`تبديل الإدراج`,publishLibrary:`انشر`,submit:`أرسل`,confirm:`تأكيد`,embeddableInteractionButton:`اضغط للتفاعل`},r={clearReset:`هذا سيُزيل كامل اللوحة. هل أنت متأكد؟`,couldNotCreateShareableLink:`تعذر إنشاء رابطة المشاركة.`,couldNotCreateShareableLinkTooBig:`تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا`,couldNotLoadInvalidFile:`تعذر التحميل، الملف غير صالح`,importBackendFailed:`فشل الاستيراد من الخادوم.`,cannotExportEmptyCanvas:`لا يمكن تصدير لوحة فارغة.`,couldNotCopyToClipboard:`تعذر النسخ إلى الحافظة.`,decryptFailed:`تعذر فك تشفير البيانات.`,uploadedSecurly:`تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.`,loadSceneOverridePrompt:`تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟`,collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
1
+ import"./prod-CqlW_rj5.js";var e={paste:`لصق`,pasteAsPlaintext:`اللصق كنص عادي`,pasteCharts:`لصق الرسوم البيانية`,selectAll:`تحديد الكل`,multiSelect:`إضافة عنصر للتحديد`,moveCanvas:`نقل لوح الرسم`,cut:`قص`,copy:`نسخ`,copyAsPng:`نسخ إلى الحافظة بصيغة PNG`,copyAsSvg:`نسخ إلى الحافظة بصيغة SVG`,copyText:`نسخ إلى الحافظة كنص`,copySource:``,convertToCode:``,bringForward:`جلب للأمام`,sendToBack:`أرسل للخلف`,bringToFront:`أحضر للأمام`,sendBackward:`أرسل للخلف`,delete:`حذف`,copyStyles:`نسخ الأنماط`,pasteStyles:`لصق الأنماط`,stroke:`الخط`,background:`الخلفية`,fill:`التعبئة`,strokeWidth:`سُمك الخط`,strokeStyle:`نمط الخط`,strokeStyle_solid:`متصل`,strokeStyle_dashed:`متقطع`,strokeStyle_dotted:`منقط`,sloppiness:`الإمالة`,opacity:`الشفافية`,textAlign:`محاذاة النص`,edges:`الحواف`,sharp:`حادة`,round:`دائرية`,arrowheads:`رؤوس الأسهم`,arrowhead_none:`لا شيء`,arrowhead_arrow:`سهم`,arrowhead_bar:`شريط`,arrowhead_circle:``,arrowhead_circle_outline:``,arrowhead_triangle:`مثلث`,arrowhead_triangle_outline:``,arrowhead_diamond:``,arrowhead_diamond_outline:``,fontSize:`حجم الخط`,fontFamily:`نوع الخط`,addWatermark:`إضافة "مصنوعة بواسطة Excalidraw"`,handDrawn:`رسم باليد`,normal:`عادي`,code:`رمز`,small:`صغير`,medium:`متوسط`,large:`كبير`,veryLarge:`كبير جدا`,solid:`كامل`,hachure:`خطوط`,zigzag:`متعرج`,crossHatch:`خطوط متقطعة`,thin:`نحيف`,bold:`داكن`,left:`الـيسار`,center:`وسط`,right:`يمين`,extraBold:`عريض`,architect:`معماري`,artist:`رسام`,cartoonist:`كرتوني`,fileTitle:`إسم الملف`,colorPicker:`منتقي اللون`,canvasColors:`تستخدم على القماش`,canvasBackground:`خلفية اللوحة`,drawingCanvas:`لوحة الرسم`,layers:`الطبقات`,actions:`الإجراءات`,language:`اللغة`,liveCollaboration:`التعاون المباشر...`,duplicateSelection:`تكرار`,untitled:`غير معنون`,name:`الاسم`,yourName:`اسمك`,madeWithExcalidraw:`مصنوعة بواسطة Excalidraw`,group:`تحديد مجموعة`,ungroup:`إلغاء تحديد مجموعة`,collaborators:`المتعاونون`,showGrid:`إظهار الشبكة`,addToLibrary:`أضف إلى المكتبة`,removeFromLibrary:`حذف من المكتبة`,libraryLoadingMessage:`جارٍ تحميل المكتبة…`,libraries:`تصفح المكتبات`,loadingScene:`جاري تحميل المشهد…`,align:`محاذاة`,alignTop:`محاذاة إلى اﻷعلى`,alignBottom:`محاذاة إلى اﻷسفل`,alignLeft:`محاذاة إلى اليسار`,alignRight:`محاذاة إلى اليمين`,centerVertically:`توسيط عمودي`,centerHorizontally:`توسيط أفقي`,distributeHorizontally:`التوزيع الأفقي`,distributeVertically:`التوزيع عمودياً`,flipHorizontal:`قلب عامودي`,flipVertical:`قلب أفقي`,viewMode:`نمط العرض`,share:`مشاركة`,showStroke:`إظهار منتقي لون الخط`,showBackground:`إظهار منتقي لون الخلفية`,toggleTheme:`غير النمط`,personalLib:`المكتبة الشخصية`,excalidrawLib:`مكتبتنا`,decreaseFontSize:`تصغير حجم الخط`,increaseFontSize:`تكبير حجم الخط`,unbindText:`فك ربط النص`,bindText:`ربط النص بالحاوية`,createContainerFromText:`نص مغلف في حاوية`,link:{edit:`تعديل الرابط`,editEmbed:`تحرير الرابط وإدراجه`,create:`إنشاء رابط`,createEmbed:`إنشاء رابط و إدراجه`,label:`رابط`,labelEmbed:`رابط و إدراج`,empty:`لم يتم تعيين رابط`},lineEditor:{edit:`تحرير السطر`,exit:`الخروج من المُحرر`},elementLock:{lock:`قفل`,unlock:`فتح`,lockAll:`قفل الكل`,unlockAll:`فتح الكل`},statusPublished:`نُشر`,sidebarLock:`إبقاء الشريط الجانبي مفتوح`,selectAllElementsInFrame:`تحديد جميع العناصر في الإطار`,removeAllElementsFromFrame:`إزالة جميع العناصر من الإطار`,eyeDropper:`اختيار اللون من القماش`,textToDiagram:``,prompt:``},t={noItems:`لا توجد عناصر أضيفت بعد...`,hint_emptyLibrary:`حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.`,hint_emptyPrivateLibrary:`حدد عنصر على القماش لإضافته هنا.`},n={clearReset:`إعادة تعيين اللوحة`,exportJSON:`صدر الملف`,exportImage:`تصدير الصورة...`,export:`حفظ إلى...`,copyToClipboard:`نسخ إلى الحافظة`,save:`احفظ للملف الحالي`,saveAs:`حفظ كـ`,load:`فتح`,getShareableLink:`احصل على رابط المشاركة`,close:`غلق`,selectLanguage:`اختر اللغة`,scrollBackToContent:`الرجوع إلى المحتوى`,zoomIn:`تكبير`,zoomOut:`تصغير`,resetZoom:`إعادة تعيين الشاشة`,menu:`القائمة`,done:`تم`,edit:`تعديل`,undo:`تراجع`,redo:`إعادة تنفيذ`,resetLibrary:`إعادة ضبط المكتبة`,createNewRoom:`إنشاء غرفة جديدة`,fullScreen:`شاشة كاملة`,darkMode:`الوضع المظلم`,lightMode:`الوضع المضيء`,zenMode:`وضع التأمل`,objectsSnapMode:`التقط إلى العناصر`,exitZenMode:`إلغاء الوضع الليلى`,cancel:`إلغاء`,clear:`مسح`,remove:`إزالة`,embed:`تبديل الإدراج`,publishLibrary:`انشر`,submit:`أرسل`,confirm:`تأكيد`,embeddableInteractionButton:`اضغط للتفاعل`},r={clearReset:`هذا سيُزيل كامل اللوحة. هل أنت متأكد؟`,couldNotCreateShareableLink:`تعذر إنشاء رابطة المشاركة.`,couldNotCreateShareableLinkTooBig:`تعذر إنشاء رابط قابل للمشاركة: المشهد كبير جدًا`,couldNotLoadInvalidFile:`تعذر التحميل، الملف غير صالح`,importBackendFailed:`فشل الاستيراد من الخادوم.`,cannotExportEmptyCanvas:`لا يمكن تصدير لوحة فارغة.`,couldNotCopyToClipboard:`تعذر النسخ إلى الحافظة.`,decryptFailed:`تعذر فك تشفير البيانات.`,uploadedSecurly:`تم تأمين التحميل بتشفير النهاية إلى النهاية، مما يعني أن خادوم Excalidraw والأطراف الثالثة لا يمكنها قراءة المحتوى.`,loadSceneOverridePrompt:`تحميل الرسم الخارجي سيحل محل المحتوى الموجود لديك. هل ترغب في المتابعة؟`,collabStopOverridePrompt:`إيقاف الجلسة سيؤدي إلى الكتابة فوق رسومك السابقة المخزنة داخليا. هل أنت متأكد؟
2
2
 
3
3
  (إذا كنت ترغب في الاحتفاظ برسمك المخزن داخليا، ببساطة أغلق علامة تبويب المتصفح بدلاً من ذلك.)`,errorAddingToLibrary:`تعذر إضافة العنصر للمكتبة`,errorRemovingFromLibrary:`تعذر إزالة العنصر من المكتبة`,confirmAddLibrary:`هذا سيضيف {{numShapes}} شكل إلى مكتبتك. هل أنت متأكد؟`,imageDoesNotContainScene:`يبدو أن هذه الصورة لا تحتوي على أي بيانات مشهد. هل قمت بتمكين تضمين المشهد أثناء التصدير؟`,cannotRestoreFromImage:`تعذر استعادة المشهد من ملف الصورة`,invalidSceneUrl:`تعذر استيراد المشهد من عنوان URL المتوفر. إما أنها مشوهة، أو لا تحتوي على بيانات Excalidraw JSON صالحة.`,resetLibrary:`هذا سوف يمسح مكتبتك. هل أنت متأكد؟`,removeItemsFromsLibrary:`حذف {{count}} عنصر (عناصر) من المكتبة؟`,invalidEncryptionKey:`مفتاح التشفير يجب أن يكون من 22 حرفاً. التعاون المباشر معطل.`,collabOfflineWarning:`لا يوجد اتصال بالانترنت.
4
4
  لن يتم حفظ التغييرات التي قمت بها!`},i={unsupportedFileType:`نوع الملف غير مدعوم.`,imageInsertError:`تعذر إدراج الصورة. حاول مرة أخرى لاحقاً...`,fileTooBig:`الملف كبير جداً. الحد الأقصى المسموح به للحجم هو {{maxSize}}.`,svgImageInsertError:`تعذر إدراج صورة SVG. يبدو أن ترميز SVG غير صحيح.`,failedToFetchImage:``,invalidSVGString:`SVG غير صالح.`,cannotResolveCollabServer:`تعذر الاتصال بخادم التعاون. الرجاء إعادة تحميل الصفحة والمحاولة مرة أخرى.`,importLibraryError:`تعذر تحميل المكتبة`,collabSaveFailed:`تعذر الحفظ في قاعدة البيانات. إذا استمرت المشاكل، يفضل أن تحفظ ملفك محليا كي لا تفقد عملك.`,collabSaveFailed_sizeExceeded:`تعذر الحفظ في قاعدة البيانات، يبدو أن القماش كبير للغاية، يفضّل حفظ الملف محليا كي لا تفقد عملك.`,imageToolNotSupported:``,brave_measure_text_error:{line1:`يبدو أنك تستخدم متصفح Brave مع إعداد <bold>حظر صارم لتتبع البصمة</bold>.`,line2:`قد يؤدي هذا إلى كسر <bold>عناصر النص</bold> في الرسومات الخاصة بك.`,line3:`من المستحسن إلغاء تفعيل هذا الإعداد. يمكنك اتباع <link>هذه الخطوات</link> لفعل ذلك.`,line4:`إذا لم يصلح تعطيل هذا الإعداد طريقة عرض النصوص، الرجاء كتابة <issueLink>بلاغ</issueLink> على حسابنا في GitHub، أو راسلنا على <discordLink>Discord</discordLink>`},libraryElementTypeError:{embeddable:`لا يمكن إضافة العناصر القابلة للتضمين في المكتبة.`,iframe:``,image:`سوف يتم دعم إضافة صور إلى المكتبة قريباً!`},asyncPasteFailedOnRead:``,asyncPasteFailedOnParse:``,copyToSystemClipboardFailed:``},a={selection:`تحديد`,image:`إدراج صورة`,rectangle:`مستطيل`,diamond:`مضلع`,ellipse:`دائرة`,arrow:`سهم`,line:`خط`,freedraw:`رسم`,text:`نص`,library:`مكتبة`,lock:`الحفاظ على أداة التحديد نشطة بعد الرسم`,penMode:`وضع القلم - امنع اللمس`,link:`إضافة/تحديث الرابط للشكل المحدد`,eraser:`ممحاة`,frame:`أداة الإطار`,magicframe:``,embeddable:`تضمين ويب`,laser:`مؤشر ليزر`,hand:`يد (أداة الإزاحة)`,extraTools:`المزيد من أﻷدوات`,mermaidToExcalidraw:``,magicSettings:``},o={canvasActions:`إجراءات اللوحة`,selectedShapeActions:`إجراءات الشكل المحدد`,shapes:`الأشكال`},s={canvasPanning:`لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد`,linearElement:`انقر لبدء نقاط متعددة، اسحب لخط واحد`,freeDraw:`انقر واسحب، افرج عند الانتهاء`,text:`نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار`,embeddable:`اضغط مع السحب لإنشاء موقع ويب مضمّن`,text_selected:`انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص`,text_editing:`اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل`,linearElementMulti:`انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء`,lockAngle:`يمكنك تقييد الزاوية بالضغط على SHIFT`,resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،