upfynai-code 2.2.0 → 2.4.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 (151) hide show
  1. package/client/dist/assets/AppContent-DTZ2FbvM.js +513 -0
  2. package/client/dist/assets/CanvasPanel-DlTW6Jh6.js +6 -0
  3. package/client/dist/assets/LoginModal-CWoFm0au.js +19 -0
  4. package/client/dist/assets/MarkdownPreview-CYdvwJaV.js +1 -0
  5. package/client/dist/assets/{Onboarding-Coxo6mFA.js → Onboarding-CtIoXiTp.js} +1 -1
  6. package/client/dist/assets/{SetupForm-BzYOsbji.js → SetupForm-B4p8im5O.js} +1 -1
  7. package/client/dist/assets/{ar-SA-G6X2FPQ2-Bmw2-hDt.js → ar-SA-G6X2FPQ2-2gfmdvHk.js} +1 -1
  8. package/client/dist/assets/{arc-BMqY7_Ci.js → arc-DCZSHhoJ.js} +1 -1
  9. package/client/dist/assets/{az-AZ-76LH7QW2-Dh1le_qs.js → az-AZ-76LH7QW2-CDdeucRZ.js} +1 -1
  10. package/client/dist/assets/{bg-BG-XCXSNQG7-Cbav8Z9z.js → bg-BG-XCXSNQG7-D6__XtOK.js} +1 -1
  11. package/client/dist/assets/{blockDiagram-38ab4fdb-ChHJxsXw.js → blockDiagram-38ab4fdb-Cfbaeyp6.js} +3 -3
  12. package/client/dist/assets/{bn-BD-2XOGV67Q-DCNjOaWz.js → bn-BD-2XOGV67Q-DHNJw3OG.js} +1 -1
  13. package/client/dist/assets/{c4Diagram-3d4e48cf-b8Xue4Z6.js → c4Diagram-3d4e48cf-BBCnjOTy.js} +1 -1
  14. package/client/dist/assets/{ca-ES-6MX7JW3Y-Dl_vM7NS.js → ca-ES-6MX7JW3Y-r5g4o3zQ.js} +1 -1
  15. package/client/dist/assets/channel-O3ovC0x9.js +1 -0
  16. package/client/dist/assets/{classDiagram-70f12bd4-BheP7Ggo.js → classDiagram-70f12bd4-D0lhAcxU.js} +1 -1
  17. package/client/dist/assets/classDiagram-v2-f2320105-BuwUsF3F.js +2 -0
  18. package/client/dist/assets/clone-BG9u7vLi.js +1 -0
  19. package/client/dist/assets/{createText-2e5e7dd3-_n4jI_fO.js → createText-2e5e7dd3-B8jCDmF_.js} +1 -1
  20. package/client/dist/assets/{cs-CZ-2BRQDIVT-ftsKDdz4.js → cs-CZ-2BRQDIVT-p08jRLRC.js} +1 -1
  21. package/client/dist/assets/{da-DK-5WZEPLOC-DAjdwGRO.js → da-DK-5WZEPLOC-CnhOImFf.js} +1 -1
  22. package/client/dist/assets/{de-DE-XR44H4JA-BJXczHGT.js → de-DE-XR44H4JA-BunSXZ-Y.js} +1 -1
  23. package/client/dist/assets/{edges-e0da2a9e-CfPZr4YM.js → edges-e0da2a9e-CGBBhG8k.js} +2 -2
  24. package/client/dist/assets/{el-GR-BZB4AONW-DW2p_uy7.js → el-GR-BZB4AONW-D4wv1oIz.js} +1 -1
  25. package/client/dist/assets/{erDiagram-9861fffd-CF33V-Of.js → erDiagram-9861fffd-CYaF3q1I.js} +1 -1
  26. package/client/dist/assets/{es-ES-U4NZUMDT-DLOIGnrl.js → es-ES-U4NZUMDT-CGeTKXgd.js} +1 -1
  27. package/client/dist/assets/{eu-ES-A7QVB2H4-LJXbf89m.js → eu-ES-A7QVB2H4-Cayx1TxR.js} +1 -1
  28. package/client/dist/assets/{fa-IR-HGAKTJCU-Dvx65fgW.js → fa-IR-HGAKTJCU-CmUg8pmw.js} +1 -1
  29. package/client/dist/assets/{fi-FI-Z5N7JZ37-EoL65BQh.js → fi-FI-Z5N7JZ37-xvHcPhsU.js} +1 -1
  30. package/client/dist/assets/{flowDb-956e92f1-HgoXVy2H.js → flowDb-956e92f1-C-_LFz70.js} +3 -3
  31. package/client/dist/assets/flowDiagram-66a62f08-C1sHdSjn.js +4 -0
  32. package/client/dist/assets/flowDiagram-v2-96b9c2cf-Cd0Iascd.js +1 -0
  33. package/client/dist/assets/{flowchart-elk-definition-4a651766-DJbI2dpv.js → flowchart-elk-definition-4a651766-CNGfpudb.js} +7 -7
  34. package/client/dist/assets/{fr-FR-RHASNOE6-DNk_jdDs.js → fr-FR-RHASNOE6-DBoHEcNj.js} +1 -1
  35. package/client/dist/assets/{ganttDiagram-c361ad54-2XX670FU.js → ganttDiagram-c361ad54-B8HJQqjt.js} +1 -1
  36. package/client/dist/assets/{gitGraphDiagram-72cf32ee-CcUfruAo.js → gitGraphDiagram-72cf32ee-DojCDvlS.js} +1 -1
  37. package/client/dist/assets/{gl-ES-HMX3MZ6V-dxzFjZlG.js → gl-ES-HMX3MZ6V-p6hrn2cN.js} +1 -1
  38. package/client/dist/assets/{graph-BSbiMSBC.js → graph-DXM7lcy1.js} +1 -1
  39. package/client/dist/assets/{he-IL-6SHJWFNN-Cogsfdt1.js → he-IL-6SHJWFNN-y2jEX6-0.js} +1 -1
  40. package/client/dist/assets/{hi-IN-IWLTKZ5I-L6wbgi4F.js → hi-IN-IWLTKZ5I-99pNfyWr.js} +1 -1
  41. package/client/dist/assets/{hu-HU-A5ZG7DT2-DSA6ZDsH.js → hu-HU-A5ZG7DT2-hygceGMS.js} +1 -1
  42. package/client/dist/assets/{id-ID-SAP4L64H-BK_vGGS6.js → id-ID-SAP4L64H-CyIqi1hv.js} +1 -1
  43. package/client/dist/assets/{image-blob-reduce.esm-BLtmMM_J.js → image-blob-reduce.esm-D6s-rqMO.js} +6 -1
  44. package/client/dist/assets/{index-3862675e-Bv32HUgT.js → index-3862675e-4idOQN2N.js} +1 -1
  45. package/client/dist/assets/{index-BPwf8Fw3.js → index-BGmwbRlb.js} +6 -6
  46. package/client/dist/assets/index-BHZfFT_V.js +97 -0
  47. package/client/dist/assets/{infoDiagram-f8f76790-w4mR4pxn.js → infoDiagram-f8f76790-CFLrHqtc.js} +1 -1
  48. package/client/dist/assets/{it-IT-JPQ66NNP-BLdHYMhn.js → it-IT-JPQ66NNP-DzVvVdQI.js} +1 -1
  49. package/client/dist/assets/{ja-JP-DBVTYXUO-B_vmexl_.js → ja-JP-DBVTYXUO-BI4fPexV.js} +1 -1
  50. package/client/dist/assets/{journeyDiagram-49397b02-D9nmO17e.js → journeyDiagram-49397b02-C3CFDo8z.js} +1 -1
  51. package/client/dist/assets/{kaa-6HZHGXH3-5s-3jl6F.js → kaa-6HZHGXH3-fwOleoQB.js} +1 -1
  52. package/client/dist/assets/{kab-KAB-ZGHBKWFO-2QaVDuSf.js → kab-KAB-ZGHBKWFO-DBI_ri48.js} +1 -1
  53. package/client/dist/assets/{kk-KZ-P5N5QNE5-CTC52Vbi.js → kk-KZ-P5N5QNE5-zpl7uvyF.js} +1 -1
  54. package/client/dist/assets/{km-KH-HSX4SM5Z-DxawH8UZ.js → km-KH-HSX4SM5Z-DOMFSres.js} +1 -1
  55. package/client/dist/assets/{ko-KR-MTYHY66A-CmosEM8_.js → ko-KR-MTYHY66A-tb08hXzd.js} +1 -1
  56. package/client/dist/assets/{ku-TR-6OUDTVRD-DbiLen4y.js → ku-TR-6OUDTVRD-DlIQCCY4.js} +1 -1
  57. package/client/dist/assets/{layout-jmt3H9tA.js → layout-B_11mCXA.js} +1 -1
  58. package/client/dist/assets/{line-JTlRayUJ.js → line-B-qmK_vI.js} +1 -1
  59. package/client/dist/assets/{linear-DJeB5p7x.js → linear-Ph6uuYcX.js} +1 -1
  60. package/client/dist/assets/{lt-LT-XHIRWOB4-CH15wrjA.js → lt-LT-XHIRWOB4--qWy24_Z.js} +1 -1
  61. package/client/dist/assets/{lv-LV-5QDEKY6T-dhgfPuCQ.js → lv-LV-5QDEKY6T-Bnd_1GDb.js} +1 -1
  62. package/client/dist/assets/mindmap-definition-fc14e90a-Do79tIc0.js +425 -0
  63. package/client/dist/assets/{mr-IN-CRQNXWMA-3Gi6iq7A.js → mr-IN-CRQNXWMA-BsV6HaD9.js} +1 -1
  64. package/client/dist/assets/{my-MM-5M5IBNSE-CpH4rdJj.js → my-MM-5M5IBNSE-kZQURVIi.js} +1 -1
  65. package/client/dist/assets/{nb-NO-T6EIAALU-Du6iiGql.js → nb-NO-T6EIAALU-Cvf9FdSF.js} +1 -1
  66. package/client/dist/assets/{nl-NL-IS3SIHDZ-BGvsd1MT.js → nl-NL-IS3SIHDZ-DA1yqpXw.js} +1 -1
  67. package/client/dist/assets/{nn-NO-6E72VCQL-B-odvJZW.js → nn-NO-6E72VCQL-89lm3vku.js} +1 -1
  68. package/client/dist/assets/{oc-FR-POXYY2M6-COC8xNjo.js → oc-FR-POXYY2M6-BsrjTJQh.js} +1 -1
  69. package/client/dist/assets/{pa-IN-N4M65BXN-CE21PUQH.js → pa-IN-N4M65BXN-CczefYaj.js} +1 -1
  70. package/client/dist/assets/pdf-CE_K4jFx.js +12 -0
  71. package/client/dist/assets/percentages-BXMCSKIN-Be6p9phi.js +207 -0
  72. package/client/dist/assets/pica-CQIY57Tf.js +7 -0
  73. package/client/dist/assets/{pieDiagram-8a3498a8-Cvfh7Qr5.js → pieDiagram-8a3498a8-CfblQHdm.js} +2 -2
  74. package/client/dist/assets/{pl-PL-T2D74RX3-D4xFVSoT.js → pl-PL-T2D74RX3-DdhH-zcK.js} +1 -1
  75. package/client/dist/assets/{pt-BR-5N22H2LF-CCq257gA.js → pt-BR-5N22H2LF-gpwlheL6.js} +1 -1
  76. package/client/dist/assets/{pt-PT-UZXXM6DQ-1l8gt5vA.js → pt-PT-UZXXM6DQ-Cs87vICi.js} +1 -1
  77. package/client/dist/assets/{quadrantDiagram-120e2f19-BA0js1aD.js → quadrantDiagram-120e2f19-CRMSamSP.js} +1 -1
  78. package/client/dist/assets/{requirementDiagram-deff3bca-B0QNFfIn.js → requirementDiagram-deff3bca-D3LBN016.js} +1 -1
  79. package/client/dist/assets/{ro-RO-JPDTUUEW-yosBW01E.js → ro-RO-JPDTUUEW-CWTSJ1Dt.js} +1 -1
  80. package/client/dist/assets/roundRect-0PYZxl1G.js +1 -0
  81. package/client/dist/assets/{ru-RU-B4JR7IUQ-8LkEJUix.js → ru-RU-B4JR7IUQ-Bq7aN2ep.js} +1 -1
  82. package/client/dist/assets/{sankeyDiagram-04a897e0-D4T9eCXn.js → sankeyDiagram-04a897e0-CsFqOQZN.js} +3 -3
  83. package/client/dist/assets/{sequenceDiagram-704730f1-CfBUTCrO.js → sequenceDiagram-704730f1-BRYXVDGX.js} +1 -1
  84. package/client/dist/assets/{si-LK-N5RQ5JYF-D8rjbqtd.js → si-LK-N5RQ5JYF-BBjcNYQh.js} +1 -1
  85. package/client/dist/assets/{sk-SK-C5VTKIMK-Bg14sAzN.js → sk-SK-C5VTKIMK-ByjKQzUb.js} +1 -1
  86. package/client/dist/assets/{sl-SI-NN7IZMDC-CMTib6Zs.js → sl-SI-NN7IZMDC-B8WCyMBU.js} +1 -1
  87. package/client/dist/assets/{stateDiagram-587899a1-BGgvmVSZ.js → stateDiagram-587899a1-BHoy9LtD.js} +1 -1
  88. package/client/dist/assets/{stateDiagram-v2-d93cdb3a-Qn3DpYuO.js → stateDiagram-v2-d93cdb3a-BvMUA6bS.js} +1 -1
  89. package/client/dist/assets/{styles-6aaf32cf-IdVZLPrD.js → styles-6aaf32cf-Dr-lfIOW.js} +2 -2
  90. package/client/dist/assets/{styles-9a916d00-BAC3L45X.js → styles-9a916d00-DS4wRpL7.js} +1 -1
  91. package/client/dist/assets/{styles-c10674c1-COhXxX8c.js → styles-c10674c1-nKRF6NrH.js} +1 -1
  92. package/client/dist/assets/{subset-shared.chunk-BWHnFai4.js → subset-shared.chunk-KT79s7KG.js} +64 -2
  93. package/client/dist/assets/subset-worker.chunk-BMx1eyv3.js +1 -0
  94. package/client/dist/assets/{sv-SE-XGPEYMSR-C1425rOF.js → sv-SE-XGPEYMSR-BiIPUVbv.js} +1 -1
  95. package/client/dist/assets/{svgDrawCommon-08f97a94-Cfk-fgnN.js → svgDrawCommon-08f97a94-C3uP9PYr.js} +1 -1
  96. package/client/dist/assets/{ta-IN-2NMHFXQM-BHHo1zpF.js → ta-IN-2NMHFXQM-Cidadso2.js} +1 -1
  97. package/client/dist/assets/{th-TH-HPSO5L25-CZVzm_WT.js → th-TH-HPSO5L25-CFNnJwSv.js} +1 -1
  98. package/client/dist/assets/{timeline-definition-85554ec2-VAvuJith.js → timeline-definition-85554ec2-BSsLsIgF.js} +1 -1
  99. package/client/dist/assets/{tr-TR-DEFEU3FU-DE1lclCq.js → tr-TR-DEFEU3FU-DaFcI-KL.js} +1 -1
  100. package/client/dist/assets/{uk-UA-QMV73CPH-D4lJZ85O.js → uk-UA-QMV73CPH-DkBW36St.js} +1 -1
  101. package/client/dist/assets/vendor-codemirror-langs-BH1ZcKHY.js +20 -0
  102. package/client/dist/assets/vendor-codemirror-rix45NST.js +16 -0
  103. package/client/dist/assets/vendor-i18n-DCFGyhQR.js +1 -0
  104. package/client/dist/assets/vendor-icons-Dh9m_Ydt.js +596 -0
  105. package/client/dist/assets/{vendor-markdown-CIVH08vJ.js → vendor-markdown-BXEi_H3G.js} +3 -3
  106. package/client/dist/assets/vendor-react-9mUTKBHH.js +67 -0
  107. package/client/dist/assets/{vendor-syntax-Djb62v3a.js → vendor-syntax-DnmwQQJF.js} +14 -7
  108. package/client/dist/assets/vendor-xterm-CZq1hqo1.js +66 -0
  109. package/client/dist/assets/vendor-xterm-qxJ8_QYu.css +32 -0
  110. package/client/dist/assets/{vi-VN-M7AON7JQ-Dgc_SShk.js → vi-VN-M7AON7JQ-KrtfxOzl.js} +1 -1
  111. package/client/dist/assets/{xychartDiagram-e933f94c-BeyVBJhb.js → xychartDiagram-e933f94c-CgNgZ4pp.js} +1 -1
  112. package/client/dist/assets/{zh-CN-LNUGB5OW-MH4Yh8in.js → zh-CN-LNUGB5OW-BQu12RoD.js} +1 -1
  113. package/client/dist/assets/{zh-HK-E62DVLB3-D4XHehjx.js → zh-HK-E62DVLB3-zx9CvERq.js} +1 -1
  114. package/client/dist/assets/{zh-TW-RAJ6MFWO--efj3evj.js → zh-TW-RAJ6MFWO-ffJWgVxn.js} +1 -1
  115. package/client/dist/index.html +6 -6
  116. package/commands/upfynai-connect.md +31 -18
  117. package/commands/upfynai.md +45 -26
  118. package/package.json +1 -1
  119. package/server/cli-ui.js +785 -0
  120. package/server/cli.js +235 -161
  121. package/server/index.js +159 -107
  122. package/server/middleware/auth.js +9 -5
  123. package/server/openrouter.js +137 -0
  124. package/server/relay-client.js +158 -47
  125. package/server/routes/agent.js +54 -19
  126. package/server/routes/auth.js +59 -22
  127. package/server/routes/settings.js +91 -0
  128. package/shared/modelConstants.js +29 -0
  129. package/client/dist/assets/AppContent-CTSHQdyq.js +0 -513
  130. package/client/dist/assets/CanvasPanel-Cig0Mo9s.js +0 -6
  131. package/client/dist/assets/LoginModal-silya-zP.js +0 -11
  132. package/client/dist/assets/MarkdownPreview-B3c7OEj6.js +0 -1
  133. package/client/dist/assets/channel-CSnvHe_M.js +0 -1
  134. package/client/dist/assets/classDiagram-v2-f2320105-xtym7GEZ.js +0 -2
  135. package/client/dist/assets/clone-B75abXxS.js +0 -1
  136. package/client/dist/assets/flowDiagram-66a62f08-tffoET0H.js +0 -4
  137. package/client/dist/assets/flowDiagram-v2-96b9c2cf-Byc3JCHh.js +0 -1
  138. package/client/dist/assets/index-D1urGMYu.js +0 -95
  139. package/client/dist/assets/mindmap-definition-fc14e90a-BOOrexmz.js +0 -415
  140. package/client/dist/assets/pdf-TYrZqVzP.js +0 -12
  141. package/client/dist/assets/percentages-BXMCSKIN-C9GT0OD3.js +0 -199
  142. package/client/dist/assets/pica-VkdyTzi8.js +0 -2
  143. package/client/dist/assets/roundRect-mAH3dD0p.js +0 -1
  144. package/client/dist/assets/subset-worker.chunk-C8QUSruZ.js +0 -1
  145. package/client/dist/assets/vendor-codemirror-BARtJV1V.js +0 -16
  146. package/client/dist/assets/vendor-codemirror-langs-52_y1wip.js +0 -20
  147. package/client/dist/assets/vendor-i18n-ByAl-gdx.js +0 -1
  148. package/client/dist/assets/vendor-icons-D33IkSIf.js +0 -1
  149. package/client/dist/assets/vendor-react-CHoMc7ka.js +0 -8
  150. package/client/dist/assets/vendor-xterm-DBb3RXlu.js +0 -66
  151. package/client/dist/assets/vendor-xterm-DrlLKa8f.css +0 -1
@@ -0,0 +1,6 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/percentages-BXMCSKIN-Be6p9phi.js","assets/vendor-syntax-DnmwQQJF.js","assets/vendor-react-9mUTKBHH.js","assets/vendor-markdown-BXEi_H3G.js","assets/AppContent-DTZ2FbvM.js","assets/index-BGmwbRlb.js","assets/vendor-icons-Dh9m_Ydt.js","assets/vendor-i18n-DCFGyhQR.js","assets/index-B8wwD_Xo.css","assets/LoginModal-CWoFm0au.js","assets/vendor-xterm-CZq1hqo1.js","assets/vendor-xterm-qxJ8_QYu.css","assets/vendor-codemirror-rix45NST.js","assets/vendor-codemirror-langs-BH1ZcKHY.js"])))=>i.map(i=>d[i]);
2
+ import{b as O}from"./vendor-syntax-DnmwQQJF.js";import{r as m,j as i,v as W}from"./vendor-react-9mUTKBHH.js";import{S as $,F,d as G,A as V}from"./vendor-icons-Dh9m_Ydt.js";import"./vendor-markdown-BXEi_H3G.js";const _=240,j=120,D=32,K=12,p={note:{bg:"#1e293b",border:"#3b82f6",text:"#e2e8f0",accent:"#60a5fa"},pdf:{bg:"#1e1b2e",border:"#ef4444",text:"#e2e8f0",accent:"#f87171"},summary:{bg:"#1a2e1a",border:"#22c55e",text:"#e2e8f0",accent:"#4ade80"}};function g(){return crypto.randomUUID()}function M(n,e,t,s,o){return{id:o.id,type:"rectangle",x:n,y:e,width:t,height:s,angle:0,strokeColor:o.border,backgroundColor:o.bg,fillStyle:"solid",strokeWidth:2,roughness:0,opacity:100,groupIds:o.groupIds,roundness:{type:3,value:K},isDeleted:!1,boundElements:null,locked:!1,customData:o.customData,version:1,versionNonce:Math.floor(Math.random()*1e9),seed:Math.floor(Math.random()*1e9)}}function w(n,e,t,s){const o=s.fontSize??14;return{id:s.id,type:"text",x:n,y:e,width:s.width??_-24,height:s.height??o+6,angle:0,strokeColor:s.color,backgroundColor:"transparent",fillStyle:"solid",strokeWidth:1,roughness:0,opacity:100,groupIds:s.groupIds,roundness:null,isDeleted:!1,boundElements:null,locked:!1,text:t,fontSize:o,fontFamily:1,textAlign:"left",verticalAlign:"top",containerId:null,originalText:t,autoResize:!1,lineHeight:1.25,customData:s.customData,version:1,versionNonce:Math.floor(Math.random()*1e9),seed:Math.floor(Math.random()*1e9)}}function R(n,e,t="New note..."){const s=g(),o=g(),c=t.split(`
3
+ `),a=Math.max(j-D,c.length*20+16),r=D+a,l=M(n,e,_,r,{id:o,groupIds:[s],bg:p.note.bg,border:p.note.border,customData:{blockType:"note",blockId:o,content:t}}),d=w(n+12,e+8,"📝 Note",{id:g(),groupIds:[s],color:p.note.accent,fontSize:13}),f=w(n+12,e+D+4,t,{id:g(),groupIds:[s],color:p.note.text,fontSize:13,height:a-12});return{elements:[l,d,f],blockId:o,groupId:s}}function z(n,e,t,s,o,c){const a=g(),r=g(),l=t.length>28?t.slice(0,25)+"...":t,d=M(n,e,_,j,{id:r,groupIds:[a],bg:p.pdf.bg,border:p.pdf.border,customData:{blockType:"pdf",blockId:r,fileName:t,pageCount:s,extractedText:o,thumbnail:c??null}}),f=w(n+12,e+8,`📄 ${l}`,{id:g(),groupIds:[a],color:p.pdf.accent,fontSize:13}),h=w(n+12,e+32,`${s} page${s!==1?"s":""}`,{id:g(),groupIds:[a],color:p.pdf.text,fontSize:12}),u=w(n+12,e+56,o.slice(0,80)+(o.length>80?"...":""),{id:g(),groupIds:[a],color:"#94a3b8",fontSize:11,height:48});return{elements:[d,f,h,u],blockId:r,groupId:a}}function H(n,e,t,s="Generating summary..."){const o=g(),c=g(),a=s.split(`
4
+ `),r=Math.max(j-D,a.length*20+16),l=D+r,d=M(n,e,_,l,{id:c,groupIds:[o],bg:p.summary.bg,border:p.summary.border,customData:{blockType:"summary",blockId:c,sourceIds:t,generatedContent:s}}),f=w(n+12,e+8,"✨ Summary",{id:g(),groupIds:[o],color:p.summary.accent,fontSize:13}),h=w(n+12,e+D+4,s,{id:g(),groupIds:[o],color:p.summary.text,fontSize:13,height:r-12});return{elements:[d,f,h],blockId:c,groupId:o}}function U(n,e){const t=g();return{element:{id:t,type:"arrow",x:0,y:0,width:100,height:0,angle:0,strokeColor:"#6366f1",backgroundColor:"transparent",fillStyle:"solid",strokeWidth:2,roughness:0,opacity:80,groupIds:[],roundness:{type:2},isDeleted:!1,boundElements:null,locked:!1,points:[[0,0],[100,0]],startBinding:{elementId:n,focus:0,gap:4},endBinding:{elementId:e,focus:0,gap:4},startArrowhead:null,endArrowhead:"arrow",customData:{blockType:"context-link",sourceId:n,targetId:e},version:1,versionNonce:Math.floor(Math.random()*1e9),seed:Math.floor(Math.random()*1e9)},linkId:t}}async function J(n){try{const e=await O(()=>import("./pdf-CE_K4jFx.js"),[]);e.GlobalWorkerOptions.workerSrc=new URL("/assets/pdf.worker-BA9kU3Pw.mjs",import.meta.url).toString();const t=await n.arrayBuffer(),s=await e.getDocument({data:t}).promise,o=s.numPages,c=[],a=Math.min(o,10);for(let l=1;l<=a;l++){const h=(await(await s.getPage(l)).getTextContent()).items.map(u=>u.str).join(" ");c.push(h)}let r=null;try{const l=await s.getPage(1),d=l.getViewport({scale:.5}),f=document.createElement("canvas");f.width=d.width,f.height=d.height;const h=f.getContext("2d");h&&(await l.render({canvasContext:h,viewport:d}).promise,r=f.toDataURL("image/png",.6))}catch{}return{text:c.join(`
5
+
6
+ `),pageCount:o,thumbnail:r}}catch(e){return console.error("PDF extraction failed:",e),{text:"",pageCount:0,thumbnail:null}}}function P(n){const e=n.getAppState(),t=(-e.scrollX+e.width/2)/e.zoom.value,s=(-e.scrollY+e.height/2)/e.zoom.value;return{x:Math.round(t-120),y:Math.round(s-60)}}function A(n,e){const t=n.getSceneElements();n.updateScene({elements:[...t,...e]})}function Y({api:n}){const e=m.useRef(null),[t,s]=m.useState(!1),[o,c]=m.useState(!1),a=m.useCallback(()=>{if(!n)return;const{x:u,y:k}=P(n),I=R(u,k);A(n,I.elements)},[n]),r=m.useCallback(()=>{var u;(u=e.current)==null||u.click()},[]),l=m.useCallback(async u=>{var I;const k=(I=u.target.files)==null?void 0:I[0];if(!(!k||!n)){u.target.value="",c(!0);try{const{text:x,pageCount:y,thumbnail:S}=await J(k),{x:N,y:C}=P(n),E=z(N,C,k.name,y,x,S);A(n,E.elements)}finally{c(!1)}}},[n]),d=m.useCallback(()=>{if(!n)return;const u=n.getAppState(),k=Object.keys(u.selectedElementIds||{}),x=n.getSceneElements().filter(C=>{var E;return k.includes(C.id)&&((E=C.customData)==null?void 0:E.blockId)}).map(C=>C.customData.blockId),{x:y,y:S}=P(n),N=H(y+280,S,x,x.length?"Summary of selected blocks":"Select blocks to summarize");A(n,N.elements)},[n]),f=m.useCallback(()=>{if(!n)return;const u=n.getAppState(),k=Object.keys(u.selectedElementIds||{}),x=n.getSceneElements().filter(y=>{var S;return k.includes(y.id)&&((S=y.customData)==null?void 0:S.blockId)});if(x.length===2){const y=U(x[0].id,x[1].id);A(n,[y.element]),s(!1)}else s(!t)},[n,t]),h="flex items-center justify-center w-9 h-9 rounded-lg transition-colors text-muted-foreground hover:text-foreground hover:bg-white/10";return i.jsxs("div",{className:"canvas-block-toolbar",children:[i.jsx("button",{onClick:a,className:h,title:"Add Note",children:i.jsx($,{className:"w-4 h-4"})}),i.jsx("button",{onClick:r,className:h,title:"Add PDF",disabled:o,children:i.jsx(F,{className:`w-4 h-4 ${o?"animate-pulse":""}`})}),i.jsx("button",{onClick:d,className:h,title:"Add Summary",children:i.jsx(G,{className:"w-4 h-4"})}),i.jsx("div",{className:"w-5 border-t border-white/10 mx-auto"}),i.jsx("button",{onClick:f,className:`${h} ${t?"bg-indigo-500/20 text-indigo-400":""}`,title:"Connect Blocks (select 2)",children:i.jsx(V,{className:"w-4 h-4"})}),i.jsx("input",{ref:e,type:"file",accept:".pdf",onChange:l,className:"hidden"}),t&&i.jsx("div",{className:"absolute left-12 top-1/2 -translate-y-1/2 bg-background/90 border border-border rounded-md px-2 py-1 text-xs text-muted-foreground whitespace-nowrap",children:"Select 2 blocks, then click Connect"})]})}function v(){return window.__excalidrawAPI??null}function B(n){const e=v();if(!e)return;const t=e.getSceneElements();e.updateScene({elements:[...t,...n]})}function T(){const n=v();if(!n)return{x:100,y:100};const e=n.getAppState(),t=(-e.scrollX+e.width/2)/e.zoom.value,s=(-e.scrollY+e.height/2)/e.zoom.value;return{x:Math.round(t-120),y:Math.round(s-60)}}const b={addNote(n,e,t){const s=n!=null&&e!=null?{x:n,y:e}:T(),o=R(s.x,s.y,t);return B(o.elements),{blockId:o.blockId}},addPdf(n,e,t,s,o=0,c){const a=z(n,e,t,o,s,c);return B(a.elements),{blockId:a.blockId}},addSummary(n,e,t,s){const o=t!=null&&s!=null?{x:t,y:s}:T(),c=H(o.x,o.y,n,e);return B(c.elements),{blockId:c.blockId}},connectBlocks(n,e){const t=U(n,e);return B([t.element]),{linkId:t.linkId}},getBlocks(){const n=v();return n?n.getSceneElements().filter(e=>{var t;return((t=e.customData)==null?void 0:t.blockType)&&e.customData.blockType!=="context-link"}).map(e=>({id:e.id,x:e.x,y:e.y,width:e.width,height:e.height,...e.customData})):[]},getConnections(){const n=v();return n?n.getSceneElements().filter(e=>{var t;return((t=e.customData)==null?void 0:t.blockType)==="context-link"}).map(e=>({id:e.id,sourceId:e.customData.sourceId,targetId:e.customData.targetId})):[]},updateBlockContent(n,e){const t=v();if(!t)return;const s=t.getSceneElements().map(o=>{var c;if(o.id===n&&o.customData)return{...o,customData:{...o.customData,content:e,generatedContent:e}};if(o.type==="text"&&((c=o.groupIds)!=null&&c.length)){const a=t.getSceneElements().find(r=>{var l;return r.id===n&&((l=r.groupIds)==null?void 0:l.some(d=>o.groupIds.includes(d)))});if(a&&o.y>a.y+28)return{...o,text:e,originalText:e}}return o});t.updateScene({elements:s})},removeBlock(n){const e=v();if(!e)return;const t=e.getSceneElements().find(c=>c.id===n);if(!t)return;const s=t.groupIds??[],o=e.getSceneElements().map(c=>{var a,r;return c.id===n||s.length&&((a=c.groupIds)!=null&&a.some(l=>s.includes(l)))?{...c,isDeleted:!0}:((r=c.customData)==null?void 0:r.blockType)==="context-link"&&(c.customData.sourceId===n||c.customData.targetId===n)?{...c,isDeleted:!0}:c});e.updateScene({elements:o})}};function X(){window.__canvasBlockAPI=b}function q(){delete window.__canvasBlockAPI}function Q(n){const{action:e,params:t}=n;switch(e){case"addNote":return b.addNote(t.x,t.y,t.content);case"addPdf":return b.addPdf(t.x,t.y,t.fileName,t.text,t.pageCount,t.thumbnail);case"addSummary":return b.addSummary(t.sourceIds,t.content,t.x,t.y);case"connectBlocks":return b.connectBlocks(t.sourceId,t.targetId);case"updateBlockContent":return b.updateBlockContent(t.blockId,t.content);case"removeBlock":return b.removeBlock(t.blockId);case"getBlocks":return b.getBlocks();case"getConnections":return b.getConnections();default:console.warn("Unknown canvas block command:",e)}}const L="upfynai-excalidraw-scene";function Z(){const[n,e]=m.useState(null),[t,s]=m.useState(null);m.useEffect(()=>{O(()=>import("./percentages-BXMCSKIN-Be6p9phi.js").then(a=>a.i),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(a=>{e(()=>a.Excalidraw)})},[]);const o=m.useCallback(()=>{try{const a=localStorage.getItem(L);if(a)return{elements:JSON.parse(a).elements||[],appState:{theme:"dark"}}}catch{}return{elements:[],appState:{theme:"dark"}}},[]),c=m.useCallback(a=>{try{localStorage.setItem(L,JSON.stringify({elements:a}))}catch{}},[]);return m.useEffect(()=>{if(!t)return;window.__excalidrawAPI=t,X();const a=l=>{try{const d=JSON.parse(l.data);d.type==="canvas-update"&&d.elements&&t&&t.updateScene({elements:d.elements}),d.type==="canvas-block-command"&&d.action&&Q(d)}catch{}},r=window.__upfynWs;return r&&r.addEventListener("message",a),()=>{delete window.__excalidrawAPI,q(),r&&r.removeEventListener("message",a)}},[t]),n?i.jsxs("div",{className:"excalidraw-wrapper h-full w-full relative",children:[t&&i.jsx(Y,{api:t}),i.jsx(n,{excalidrawAPI:a=>s(a),initialData:o(),onChange:c,theme:"dark",UIOptions:{welcomeScreen:!1}})]}):i.jsx("div",{className:"flex items-center justify-center h-full text-muted-foreground text-sm",children:"Loading whiteboard..."})}const se=W.memo(Z);export{se as default};
@@ -0,0 +1,19 @@
1
+ import{a as xe,r as a,j as e}from"./vendor-react-9mUTKBHH.js";import{I as he,R as me,g as pe,b as ge,c as oe}from"./index-BGmwbRlb.js";import{x as ye,a as be,b as we,c as Ne}from"./vendor-xterm-CZq1hqo1.js";import{X as je}from"./vendor-icons-Dh9m_Ydt.js";const ve=(t,r,o,h)=>{var s,y,i,p;const m=[o,{code:r,...h||{}}];if((y=(s=t==null?void 0:t.services)==null?void 0:s.logger)!=null&&y.forward)return t.services.logger.forward(m,"warn","react-i18next::",!0);W(m[0])&&(m[0]=`react-i18next:: ${m[0]}`),(p=(i=t==null?void 0:t.services)==null?void 0:i.logger)!=null&&p.warn?t.services.logger.warn(...m):console!=null&&console.warn&&console.warn(...m)},ee={},le=(t,r,o,h)=>{W(o)&&ee[o]||(W(o)&&(ee[o]=new Date),ve(t,r,o,h))},ce=(t,r)=>()=>{if(t.isInitialized)r();else{const o=()=>{setTimeout(()=>{t.off("initialized",o)},0),r()};t.on("initialized",o)}},Y=(t,r,o)=>{t.loadNamespaces(r,ce(t,o))},te=(t,r,o,h)=>{if(W(o)&&(o=[o]),t.options.preload&&t.options.preload.indexOf(r)>-1)return Y(t,o,h);o.forEach(m=>{t.options.ns.indexOf(m)<0&&t.options.ns.push(m)}),t.loadLanguages(r,ce(t,h))},ke=(t,r,o={})=>!r.languages||!r.languages.length?(le(r,"NO_LANGUAGES","i18n.languages were undefined or empty",{languages:r.languages}),!0):r.hasLoadedNamespace(t,{lng:o.lng,precheck:(h,m)=>{if(o.bindI18n&&o.bindI18n.indexOf("languageChanging")>-1&&h.services.backendConnector.backend&&h.isLanguageChangingTo&&!m(h.isLanguageChangingTo,t))return!1}}),W=t=>typeof t=="string",Ce=t=>typeof t=="object"&&t!==null;var V={exports:{}},X={};/**
2
+ * @license React
3
+ * use-sync-external-store-shim.production.js
4
+ *
5
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
6
+ *
7
+ * This source code is licensed under the MIT license found in the
8
+ * LICENSE file in the root directory of this source tree.
9
+ */var re;function Se(){if(re)return X;re=1;var t=xe();function r(n,u){return n===u&&(n!==0||1/n===1/u)||n!==n&&u!==u}var o=typeof Object.is=="function"?Object.is:r,h=t.useState,m=t.useEffect,s=t.useLayoutEffect,y=t.useDebugValue;function i(n,u){var w=u(),N=h({inst:{value:w,getSnapshot:u}}),v=N[0].inst,L=N[1];return s(function(){v.value=w,v.getSnapshot=u,p(v)&&L({inst:v})},[n,w,u]),m(function(){return p(v)&&L({inst:v}),n(function(){p(v)&&L({inst:v})})},[n]),y(w),w}function p(n){var u=n.getSnapshot;n=n.value;try{var w=u();return!o(n,w)}catch{return!0}}function l(n,u){return u()}var j=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?l:i;return X.useSyncExternalStore=t.useSyncExternalStore!==void 0?t.useSyncExternalStore:j,X}var ne;function Le(){return ne||(ne=1,V.exports=Se()),V.exports}var Ee=Le();const Re=(t,r)=>W(r)?r:Ce(r)&&W(r.defaultValue)?r.defaultValue:Array.isArray(t)?t[t.length-1]:t,Oe={t:Re,ready:!1},Ie=()=>()=>{},Te=(t,r={})=>{var I,U,R;const{i18n:o}=r,{i18n:h,defaultNS:m}=a.useContext(he)||{},s=o||h||ge();s&&!s.reportNamespaces&&(s.reportNamespaces=new me),s||le(s,"NO_I18NEXT_INSTANCE","useTranslation: You will need to pass in an i18next instance by using initReactI18next");const y=a.useMemo(()=>{var d;return{...pe(),...(d=s==null?void 0:s.options)==null?void 0:d.react,...r}},[s,r]),{useSuspense:i,keyPrefix:p}=y,l=t||m||((I=s==null?void 0:s.options)==null?void 0:I.defaultNS),j=W(l)?[l]:l||["translation"],n=a.useMemo(()=>j,j);(R=(U=s==null?void 0:s.reportNamespaces)==null?void 0:U.addUsedNamespaces)==null||R.call(U,n);const u=a.useRef(0),w=a.useCallback(d=>{if(!s)return Ie;const{bindI18n:f,bindI18nStore:g}=y,x=()=>{u.current+=1,d()};return f&&s.on(f,x),g&&s.store.on(g,x),()=>{f&&f.split(" ").forEach(T=>s.off(T,x)),g&&g.split(" ").forEach(T=>s.store.off(T,x))}},[s,y]),N=a.useRef(),v=a.useCallback(()=>{if(!s)return Oe;const d=!!(s.isInitialized||s.initializedStoreOnce)&&n.every(J=>ke(J,s,y)),f=r.lng||s.language,g=u.current,x=N.current;if(x&&x.ready===d&&x.lng===f&&x.keyPrefix===p&&x.revision===g)return x;const O={t:s.getFixedT(f,y.nsMode==="fallback"?n:n[0],p),ready:d,lng:f,keyPrefix:p,revision:g};return N.current=O,O},[s,n,p,y,r.lng]),[L,F]=a.useState(0),{t:z,ready:_}=Ee.useSyncExternalStore(w,v,v);a.useEffect(()=>{if(s&&!_&&!i){const d=()=>F(f=>f+1);r.lng?te(s,r.lng,n,d):Y(s,n,d)}},[s,r.lng,n,_,i,L]);const C=s||{},E=a.useRef(null),D=a.useRef(),M=d=>{const f=Object.getOwnPropertyDescriptors(d);f.__original&&delete f.__original;const g=Object.create(Object.getPrototypeOf(d),f);if(!Object.prototype.hasOwnProperty.call(g,"__original"))try{Object.defineProperty(g,"__original",{value:d,writable:!1,enumerable:!1,configurable:!1})}catch{}return g},K=a.useMemo(()=>{const d=C,f=d==null?void 0:d.language;let g=d;d&&(E.current&&E.current.__original===d?D.current!==f?(g=M(d),E.current=g,D.current=f):g=E.current:(g=M(d),E.current=g,D.current=f));const x=[z,g,_];return x.t=z,x.i18n=g,x.ready=_,x},[z,C,_,C.resolvedLanguage,C.language,C.languages]);if(s&&i&&!_)throw new Promise(d=>{const f=()=>d();r.lng?te(s,r.lng,n,f):Y(s,n,f)});return K},De=({className:t="w-5 h-5"})=>e.jsx("img",{src:"/icons/claude-ai-icon.svg",alt:"Claude",className:t}),He=({className:t="w-5 h-5"})=>{const{isDarkMode:r}=oe();return e.jsx("img",{src:r?"/icons/cursor-white.svg":"/icons/cursor.svg",alt:"Cursor",className:t})},Fe=({className:t="w-5 h-5"})=>{const{isDarkMode:r}=oe();return e.jsx("img",{src:r?"/icons/codex-white.svg":"/icons/codex.svg",alt:"Codex",className:t})},Ae=`
10
+ .xterm .xterm-screen {
11
+ outline: none !important;
12
+ }
13
+ .xterm:focus .xterm-screen {
14
+ outline: none !important;
15
+ }
16
+ .xterm-screen:focus {
17
+ outline: none !important;
18
+ }
19
+ `;if(typeof document<"u"){const t=document.createElement("style");t.type="text/css",t.innerText=Ae,document.head.appendChild(t)}function _e(t){if(!t||typeof document>"u")return!1;const r=document.createElement("textarea");r.value=t,r.setAttribute("readonly",""),r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",document.body.appendChild(r),r.focus(),r.select();let o=!1;try{o=document.execCommand("copy")}catch{o=!1}finally{document.body.removeChild(r)}return o}const se="https://auth.openai.com/codex/device";function ae(t){return typeof t=="string"&&/\bcodex\s+login\b/i.test(t)}function Me({selectedProject:t,selectedSession:r,initialCommand:o,isPlainShell:h=!1,onProcessComplete:m,minimal:s=!1,autoConnect:y=!1}){const{t:i}=Te("chat"),p=a.useRef(null),l=a.useRef(null),j=a.useRef(null),n=a.useRef(null),[u,w]=a.useState(!1),[N,v]=a.useState(!1),[L,F]=a.useState(!1),[z,_]=a.useState(null),[C,E]=a.useState(!1),[D,M]=a.useState(""),[K,I]=a.useState("idle"),[U,R]=a.useState(!1),d=a.useRef(t),f=a.useRef(r),g=a.useRef(o),x=a.useRef(h),T=a.useRef(m),O=a.useRef("");a.useEffect(()=>{d.current=t,f.current=r,g.current=o,x.current=h,T.current=m});const J=a.useCallback((b=O.current)=>{if(!b)return!1;const S=window.open(b,"_blank","noopener,noreferrer");if(S){try{S.opener=null}catch{}return!0}return!1},[]),$=a.useCallback(async(b=O.current)=>{var k;if(!b)return!1;let S=!1;try{typeof navigator<"u"&&((k=navigator.clipboard)!=null&&k.writeText)&&(await navigator.clipboard.writeText(b),S=!0)}catch{S=!1}return S||(S=_e(b)),S},[]),Q=a.useCallback(async()=>{if(!(C||u))try{let b;b=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/shell`,n.current=new WebSocket(b),n.current.onopen=()=>{w(!0),E(!1),O.current="",M(""),I("idle"),R(!1),setTimeout(()=>{var k,c;j.current&&l.current&&(j.current.fit(),n.current.send(JSON.stringify({type:"init",projectPath:d.current.fullPath||d.current.path,sessionId:x.current?null:(k=f.current)==null?void 0:k.id,hasSession:x.current?!1:!!f.current,provider:x.current?"plain-shell":((c=f.current)==null?void 0:c.__provider)||"claude",cols:l.current.cols,rows:l.current.rows,initialCommand:g.current,isPlainShell:x.current})))},100)},n.current.onmessage=k=>{try{const c=JSON.parse(k.data);if(c.type==="output"){let A=c.data;if(x.current&&T.current){const B=A.replace(/\x1b\[[0-9;]*m/g,"");if(B.includes("Process exited with code 0"))T.current(0);else if(B.match(/Process exited with code (\d+)/)){const H=parseInt(B.match(/Process exited with code (\d+)/)[1]);H!==0&&T.current(H)}}l.current&&l.current.write(A)}else(c.type==="auth_url"&&c.url||c.type==="url_open"&&c.url)&&(O.current=c.url,M(c.url),I("idle"),R(!1))}catch(c){console.error("[Shell] Error handling WebSocket message:",c,k.data)}},n.current.onclose=k=>{w(!1),E(!1),I("idle"),R(!1),l.current&&(l.current.clear(),l.current.write("\x1B[2J\x1B[H"))},n.current.onerror=k=>{w(!1),E(!1)}}catch{w(!1),E(!1)}},[C,u,J]),q=a.useCallback(()=>{!N||u||C||(E(!0),Q())},[N,u,C,Q]),G=a.useCallback(()=>{n.current&&(n.current.close(),n.current=null),l.current&&(l.current.clear(),l.current.write("\x1B[2J\x1B[H")),w(!1),E(!1),O.current="",M(""),I("idle"),R(!1)},[]),P=a.useMemo(()=>r?r.__provider==="cursor"?r.name||"Untitled Session":r.summary||"New Session":null,[r]),ie=a.useMemo(()=>P?P.slice(0,30):null,[P]),ue=a.useMemo(()=>P?P.slice(0,50):null,[P]),de=()=>{F(!0),n.current&&(n.current.close(),n.current=null),l.current&&(l.current.dispose(),l.current=null,j.current=null),w(!1),v(!1),O.current="",M(""),I("idle"),R(!1),setTimeout(()=>{F(!1)},200)};if(a.useEffect(()=>{const b=(r==null?void 0:r.id)||null;z!==null&&z!==b&&N&&G(),_(b)},[r==null?void 0:r.id,N,G]),a.useEffect(()=>{if(!p.current||!t||L||l.current)return;l.current=new ye.Terminal({cursorBlink:!0,fontSize:14,fontFamily:'Menlo, Monaco, "Courier New", monospace',allowProposedApi:!0,allowTransparency:!1,convertEol:!0,scrollback:1e4,tabStopWidth:4,windowsMode:!1,macOptionIsMeta:!0,macOptionClickForcesSelection:!0,theme:{background:"#1e1e1e",foreground:"#d4d4d4",cursor:"#ffffff",cursorAccent:"#1e1e1e",selection:"#264f78",selectionForeground:"#ffffff",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#ffffff",extendedAnsi:["#000000","#800000","#008000","#808000","#000080","#800080","#008080","#c0c0c0","#808080","#ff0000","#00ff00","#ffff00","#0000ff","#ff00ff","#00ffff","#ffffff"]}}),j.current=new be.FitAddon;const b=new we.WebglAddon,S=new Ne.WebLinksAddon;l.current.loadAddon(j.current),s||l.current.loadAddon(S);try{l.current.loadAddon(b)}catch{console.warn("[Shell] WebGL renderer unavailable, using Canvas fallback")}l.current.open(p.current),l.current.attachCustomKeyEventHandler(c=>{var B,H,Z;const A=ae(g.current)?se:O.current;return c.type==="keydown"&&s&&x.current&&A&&!c.ctrlKey&&!c.metaKey&&!c.altKey&&((B=c.key)==null?void 0:B.toLowerCase())==="c"&&$(A).catch(()=>{}),c.type==="keydown"&&(c.ctrlKey||c.metaKey)&&((H=c.key)==null?void 0:H.toLowerCase())==="c"&&l.current.hasSelection()?(c.preventDefault(),c.stopPropagation(),document.execCommand("copy"),!1):c.type==="keydown"&&(c.ctrlKey||c.metaKey)&&((Z=c.key)==null?void 0:Z.toLowerCase())==="v"?(c.preventDefault(),c.stopPropagation(),navigator.clipboard.readText().then(fe=>{n.current&&n.current.readyState===WebSocket.OPEN&&n.current.send(JSON.stringify({type:"input",data:fe}))}).catch(()=>{}),!1):!0}),setTimeout(()=>{j.current&&(j.current.fit(),l.current&&n.current&&n.current.readyState===WebSocket.OPEN&&n.current.send(JSON.stringify({type:"resize",cols:l.current.cols,rows:l.current.rows})))},100),v(!0),l.current.onData(c=>{n.current&&n.current.readyState===WebSocket.OPEN&&n.current.send(JSON.stringify({type:"input",data:c}))});const k=new ResizeObserver(()=>{j.current&&l.current&&setTimeout(()=>{j.current.fit(),n.current&&n.current.readyState===WebSocket.OPEN&&n.current.send(JSON.stringify({type:"resize",cols:l.current.cols,rows:l.current.rows}))},50)});return p.current&&k.observe(p.current),()=>{k.disconnect(),n.current&&(n.current.readyState===WebSocket.OPEN||n.current.readyState===WebSocket.CONNECTING)&&n.current.close(),n.current=null,l.current&&(l.current.dispose(),l.current=null)}},[(t==null?void 0:t.path)||(t==null?void 0:t.fullPath),L,s,$]),a.useEffect(()=>{!y||!N||C||u||q()},[y,N,C,u,q]),!t)return e.jsx("div",{className:"h-full flex items-center justify-center",children:e.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[e.jsx("div",{className:"w-16 h-16 mx-auto mb-4 bg-gray-100 dark:bg-gray-800 rounded-full flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2z"})})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:i("shell.selectProject.title")}),e.jsx("p",{children:i("shell.selectProject.description")})]})});if(s){const b=ae(o)?se:D,S=!!b,k=S&&!U,c=S&&U;return e.jsxs("div",{className:"h-full w-full bg-gray-900 relative",children:[e.jsx("div",{ref:p,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),k&&e.jsx("div",{className:"absolute inset-x-0 bottom-14 z-20 border-t border-gray-700/80 bg-gray-900/95 p-3 backdrop-blur-sm md:hidden",children:e.jsxs("div",{className:"flex flex-col gap-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"text-xs text-gray-300",children:"Open or copy the login URL:"}),e.jsx("button",{type:"button",onClick:()=>R(!0),className:"rounded bg-gray-700 px-2 py-1 text-[10px] font-medium uppercase tracking-wide text-gray-100 hover:bg-gray-600",children:"Hide"})]}),e.jsx("input",{type:"text",value:b,readOnly:!0,onClick:A=>A.currentTarget.select(),className:"w-full rounded border border-gray-600 bg-gray-800 px-2 py-1 text-xs text-gray-100 focus:outline-none focus:ring-1 focus:ring-blue-500","aria-label":"Authentication URL"}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>{J(b)},className:"flex-1 rounded bg-blue-600 px-3 py-2 text-xs font-medium text-white hover:bg-blue-700",children:"Open URL"}),e.jsx("button",{type:"button",onClick:async()=>{const A=await $(b);I(A?"copied":"failed")},className:"flex-1 rounded bg-gray-700 px-3 py-2 text-xs font-medium text-white hover:bg-gray-600",children:K==="copied"?"Copied":"Copy URL"})]})]})}),c&&e.jsx("div",{className:"absolute bottom-14 right-3 z-20 md:hidden",children:e.jsx("button",{type:"button",onClick:()=>R(!1),className:"rounded bg-gray-800/95 px-3 py-2 text-xs font-medium text-gray-100 shadow-lg backdrop-blur-sm hover:bg-gray-700",children:"Show login URL"})})]})}return e.jsxs("div",{className:"h-full flex flex-col bg-gray-900 w-full",children:[e.jsx("div",{className:"flex-shrink-0 bg-gray-800 border-b border-gray-700 px-4 py-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("div",{className:`w-2 h-2 rounded-full ${u?"bg-green-500":"bg-red-500"}`}),r&&e.jsxs("span",{className:"text-xs text-blue-300",children:["(",ie,"...)"]}),!r&&e.jsx("span",{className:"text-xs text-gray-400",children:i("shell.status.newSession")}),!N&&e.jsx("span",{className:"text-xs text-yellow-400",children:i("shell.status.initializing")}),L&&e.jsx("span",{className:"text-xs text-blue-400",children:i("shell.status.restarting")})]}),e.jsxs("div",{className:"flex items-center space-x-3",children:[u&&e.jsxs("button",{onClick:G,className:"px-3 py-1 text-xs bg-red-600 text-white rounded hover:bg-red-700 flex items-center space-x-1",title:i("shell.actions.disconnectTitle"),children:[e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})}),e.jsx("span",{children:i("shell.actions.disconnect")})]}),e.jsxs("button",{onClick:de,disabled:L||u,className:"text-xs text-gray-400 hover:text-white disabled:opacity-50 disabled:cursor-not-allowed flex items-center space-x-1",title:i("shell.actions.restartTitle"),children:[e.jsx("svg",{className:"w-3 h-3",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})}),e.jsx("span",{children:i("shell.actions.restart")})]})]})]})}),e.jsxs("div",{className:"flex-1 p-2 overflow-hidden relative",children:[e.jsx("div",{ref:p,className:"h-full w-full focus:outline-none",style:{outline:"none"}}),!N&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-900 bg-opacity-90",children:e.jsx("div",{className:"text-white",children:i("shell.loading")})}),N&&!u&&!C&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-900 bg-opacity-90 p-4",children:e.jsxs("div",{className:"text-center max-w-sm w-full",children:[e.jsxs("button",{onClick:q,className:"px-6 py-3 bg-green-600 text-white rounded-lg hover:bg-green-700 transition-colors flex items-center justify-center space-x-2 text-base font-medium w-full sm:w-auto",title:i("shell.actions.connectTitle"),children:[e.jsx("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})}),e.jsx("span",{children:i("shell.actions.connect")})]}),e.jsx("p",{className:"text-gray-400 text-sm mt-3 px-2",children:h?i("shell.runCommand",{command:o||i("shell.defaultCommand"),projectName:t.displayName}):r?i("shell.resumeSession",{displayName:ue}):i("shell.startSession")})]})}),C&&e.jsx("div",{className:"absolute inset-0 flex items-center justify-center bg-gray-900 bg-opacity-90 p-4",children:e.jsxs("div",{className:"text-center max-w-sm w-full",children:[e.jsxs("div",{className:"flex items-center justify-center space-x-3 text-yellow-400",children:[e.jsx("div",{className:"w-6 h-6 animate-spin rounded-full border-2 border-yellow-400 border-t-transparent"}),e.jsx("span",{className:"text-base font-medium",children:i("shell.connecting")})]}),e.jsx("p",{className:"text-gray-400 text-sm mt-3 px-2",children:h?i("shell.runCommand",{command:o||i("shell.defaultCommand"),projectName:t.displayName}):i("shell.startCli",{projectName:t.displayName})})]})})]})]})}function Ue({project:t,session:r=null,command:o=null,isPlainShell:h=null,autoConnect:m=!0,onComplete:s=null,onClose:y=null,title:i=null,className:p="",showHeader:l=!0,compact:j=!1,minimal:n=!1}){const[u,w]=a.useState(!1),N=h!==null?h:o!==null,v=a.useCallback(L=>{w(!0),s&&s(L)},[s]);return t?e.jsxs("div",{className:`h-full w-full flex flex-col ${p}`,children:[!n&&l&&i&&e.jsx("div",{className:"flex-shrink-0 bg-gray-800 border-b border-gray-700 px-4 py-2",children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center space-x-2",children:[e.jsx("h3",{className:"text-sm font-medium text-gray-200",children:i}),u&&e.jsx("span",{className:"text-xs text-green-400",children:"(Completed)"})]}),y&&e.jsx("button",{onClick:y,className:"text-gray-400 hover:text-white",title:"Close",children:e.jsx("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})})})]})}),e.jsx("div",{className:"flex-1 w-full min-h-0",children:e.jsx(Me,{selectedProject:t,selectedSession:r,initialCommand:o,isPlainShell:N,onProcessComplete:v,minimal:n,autoConnect:n?!0:m})})]}):e.jsx("div",{className:`h-full flex items-center justify-center ${p}`,children:e.jsxs("div",{className:"text-center text-gray-500 dark:text-gray-400",children:[e.jsx("div",{className:"w-16 h-16 mx-auto mb-4 bg-gray-100 dark:bg-gray-800 rounded-full flex items-center justify-center",children:e.jsx("svg",{className:"w-8 h-8 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:e.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 002 2z"})})}),e.jsx("h3",{className:"text-lg font-semibold mb-2",children:"No Project Selected"}),e.jsx("p",{children:"A project is required to open a shell"})]})})}function Je({isOpen:t,onClose:r,provider:o="claude",project:h,onComplete:m,customCommand:s,isAuthenticated:y=!1,isOnboarding:i=!1}){if(!t)return null;const p=()=>{if(s)return s;switch(o){case"claude":return y?"claude setup-token --dangerously-skip-permissions":i?"claude /exit --dangerously-skip-permissions":"claude /login --dangerously-skip-permissions";case"cursor":return"cursor-agent login";case"codex":return"codex login";default:return y?"claude setup-token --dangerously-skip-permissions":i?"claude /exit --dangerously-skip-permissions":"claude /login --dangerously-skip-permissions"}},l=()=>{switch(o){case"claude":return"Claude CLI Login";case"cursor":return"Cursor CLI Login";case"codex":return"Codex CLI Login";default:return"CLI Login"}},j=n=>{m&&m(n)};return e.jsx("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-[9999] max-md:items-stretch max-md:justify-stretch",children:e.jsxs("div",{className:"bg-white dark:bg-gray-800 rounded-lg shadow-xl w-full max-w-4xl h-3/4 flex flex-col md:max-w-4xl md:h-3/4 md:rounded-lg md:m-4 max-md:max-w-none max-md:h-full max-md:rounded-none max-md:m-0",children:[e.jsxs("div",{className:"flex items-center justify-between p-4 border-b border-gray-200 dark:border-gray-700",children:[e.jsx("h3",{className:"text-lg font-semibold text-gray-900 dark:text-white",children:l()}),e.jsx("button",{onClick:r,className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors","aria-label":"Close login modal",children:e.jsx(je,{className:"w-6 h-6"})})]}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(Ue,{project:h,command:p(),onComplete:j,minimal:!0})})]})})}export{De as C,Je as L,Me as S,He as a,Fe as b,Ue as c,Le as r,Te as u};
@@ -0,0 +1 @@
1
+ import{r as d,j as r}from"./vendor-react-9mUTKBHH.js";import{a as p,b as x,c as y,d as b,M as u}from"./vendor-markdown-BXEi_H3G.js";import{h,p as k}from"./vendor-syntax-DnmwQQJF.js";function f({inline:e,className:t,children:a,...m}){const[c,n]=d.useState(!1),s=Array.isArray(a)?a.join(""):String(a??""),g=/[\r\n]/.test(s);if(e||!g)return r.jsx("code",{className:`font-mono text-[0.9em] px-1.5 py-0.5 rounded-md bg-gray-100 text-gray-900 border border-gray-200 dark:bg-gray-800/60 dark:text-gray-100 dark:border-gray-700 whitespace-pre-wrap break-words ${t||""}`,...m,children:a});const l=/language-(\w+)/.exec(t||""),o=l?l[1]:"text";return r.jsxs("div",{className:"relative group my-2",children:[o&&o!=="text"&&r.jsx("div",{className:"absolute top-2 left-3 z-10 text-xs text-gray-400 font-medium uppercase",children:o}),r.jsx("button",{type:"button",onClick:()=>{var i;(i=navigator.clipboard)==null||i.writeText(s).then(()=>{n(!0),setTimeout(()=>n(!1),1500)})},className:"absolute top-2 right-2 z-10 opacity-0 group-hover:opacity-100 transition-opacity text-xs px-2 py-1 rounded-md bg-gray-700/80 hover:bg-gray-700 text-white border border-gray-600",children:c?"Copied!":"Copy"}),r.jsx(h,{language:o,style:k,customStyle:{margin:0,borderRadius:"0.5rem",fontSize:"0.875rem",padding:o&&o!=="text"?"2rem 1rem 1rem 1rem":"1rem"},children:s})]})}const j={code:f,blockquote:({children:e})=>r.jsx("blockquote",{className:"border-l-4 border-gray-300 dark:border-gray-600 pl-4 italic text-gray-600 dark:text-gray-400 my-2",children:e}),a:({href:e,children:t})=>r.jsx("a",{href:e,className:"text-blue-600 dark:text-blue-400 hover:underline",target:"_blank",rel:"noopener noreferrer",children:t}),table:({children:e})=>r.jsx("div",{className:"overflow-x-auto my-2",children:r.jsx("table",{className:"min-w-full border-collapse border border-gray-200 dark:border-gray-700",children:e})}),thead:({children:e})=>r.jsx("thead",{className:"bg-gray-50 dark:bg-gray-800",children:e}),th:({children:e})=>r.jsx("th",{className:"px-3 py-2 text-left text-sm font-semibold border border-gray-200 dark:border-gray-700",children:e}),td:({children:e})=>r.jsx("td",{className:"px-3 py-2 align-top text-sm border border-gray-200 dark:border-gray-700",children:e})};function C({content:e}){const t=d.useMemo(()=>[p,x],[]),a=d.useMemo(()=>[y,b],[]);return r.jsx(u,{remarkPlugins:t,rehypePlugins:a,components:j,children:e})}export{C as default};
@@ -1 +1 @@
1
- import{r as a,j as e,v as Y}from"./vendor-react-CHoMc7ka.js";import{L as D,C as V,a as H,b as K}from"./LoginModal-silya-zP.js";import{u as Q,a as m}from"./index-BPwf8Fw3.js";import{G as P,L as W,C as g,a as X,b as G,c as Z,U as _,M as ee}from"./vendor-icons-D33IkSIf.js";import"./vendor-xterm-DBb3RXlu.js";import"./vendor-syntax-Djb62v3a.js";import"./vendor-markdown-CIVH08vJ.js";import"./vendor-i18n-ByAl-gdx.js";const ce=({onComplete:y})=>{const[r,b]=a.useState(0),[x,w]=a.useState(""),[u,C]=a.useState(""),[i,h]=a.useState(!1),[k,o]=a.useState(""),[n,f]=a.useState(null),[I]=a.useState({name:"default",fullPath:""}),[l,p]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),[d,j]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),[c,N]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),{user:te}=Q(),S=a.useRef(void 0);a.useEffect(()=>{M()},[]);const M=async()=>{try{const t=await m("/api/user/git-config");if(t.ok){const s=await t.json();s.gitName&&w(s.gitName),s.gitEmail&&C(s.gitEmail)}}catch(t){console.error("Error loading git config:",t)}};a.useEffect(()=>{const t=S.current;S.current=n,(t===void 0||t!==null&&n===null)&&(L(),A(),E())},[n]);const L=async()=>{try{const t=await m("/api/cli/claude/status");if(t.ok){const s=await t.json();p({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else p({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Claude auth status:",t),p({authenticated:!1,email:null,loading:!1,error:t.message})}},A=async()=>{try{const t=await m("/api/cli/cursor/status");if(t.ok){const s=await t.json();j({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else j({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Cursor auth status:",t),j({authenticated:!1,email:null,loading:!1,error:t.message})}},E=async()=>{try{const t=await m("/api/cli/codex/status");if(t.ok){const s=await t.json();N({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else N({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Codex auth status:",t),N({authenticated:!1,email:null,loading:!1,error:t.message})}},$=()=>f("claude"),q=()=>f("cursor"),O=()=>f("codex"),R=t=>{t===0&&(n==="claude"?L():n==="cursor"?A():n==="codex"&&E())},T=async()=>{if(o(""),r===0){if(!x.trim()||!u.trim()){o("Both git name and email are required");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u)){o("Please enter a valid email address");return}h(!0);try{const s=await m("/api/user/git-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gitName:x,gitEmail:u})});if(!s.ok){const F=await s.json();throw new Error(F.error||"Failed to save git configuration")}b(r+1)}catch(s){o(s.message)}finally{h(!1)}return}b(r+1)},z=()=>{o(""),b(r-1)},B=async()=>{h(!0),o("");try{const t=await m("/api/user/complete-onboarding",{method:"POST"});if(!t.ok){const s=await t.json();throw new Error(s.error||"Failed to complete onboarding")}y&&y()}catch(t){o(t.message)}finally{h(!1)}},v=[{title:"Git Configuration",description:"Set up your git identity for commits",icon:P,required:!0},{title:"Connect Agents",description:"Connect your AI coding assistants",icon:W,required:!1}],J=()=>{switch(r){case 0:return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"w-16 h-16 bg-blue-100 dark:bg-blue-900/30 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(P,{className:"w-8 h-8 text-blue-600 dark:text-blue-400"})}),e.jsx("h2",{className:"text-2xl font-bold text-foreground mb-2",children:"Git Configuration"}),e.jsx("p",{className:"text-muted-foreground",children:"Configure your git identity to ensure proper attribution for your commits"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"gitName",className:"flex items-center gap-2 text-sm font-medium text-foreground mb-2",children:[e.jsx(_,{className:"w-4 h-4"}),"Git Name ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"text",id:"gitName",value:x,onChange:t=>w(t.target.value),className:"w-full px-4 py-3 border border-border rounded-lg bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"John Doe",required:!0,disabled:i}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"This will be used as: git config --global user.name"})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"gitEmail",className:"flex items-center gap-2 text-sm font-medium text-foreground mb-2",children:[e.jsx(ee,{className:"w-4 h-4"}),"Git Email ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"email",id:"gitEmail",value:u,onChange:t=>C(t.target.value),className:"w-full px-4 py-3 border border-border rounded-lg bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"john@example.com",required:!0,disabled:i}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"This will be used as: git config --global user.email"})]})]})]});case 1:return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground mb-2",children:"Connect Your AI Agents"}),e.jsx("p",{className:"text-muted-foreground",children:"Login to one or more AI coding assistants. All are optional."})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${l.authenticated?"bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-blue-100 dark:bg-blue-900/30 rounded-full flex items-center justify-center",children:e.jsx(V,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["Claude Code",l.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:l.loading?"Checking...":l.authenticated?l.email||"Connected":"Not connected"})]})]}),!l.authenticated&&!l.loading&&e.jsx("button",{onClick:$,className:"bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})}),e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${d.authenticated?"bg-purple-50 dark:bg-purple-900/20 border-purple-200 dark:border-purple-800":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center",children:e.jsx(H,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["Cursor",d.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:d.loading?"Checking...":d.authenticated?d.email||"Connected":"Not connected"})]})]}),!d.authenticated&&!d.loading&&e.jsx("button",{onClick:q,className:"bg-purple-600 hover:bg-purple-700 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})}),e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${c.authenticated?"bg-gray-100 dark:bg-gray-800/50 border-gray-300 dark:border-gray-600":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-gray-100 dark:bg-gray-800 rounded-full flex items-center justify-center",children:e.jsx(K,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["OpenAI Codex",c.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:c.loading?"Checking...":c.authenticated?c.email||"Connected":"Not connected"})]})]}),!c.authenticated&&!c.loading&&e.jsx("button",{onClick:O,className:"bg-gray-800 hover:bg-gray-900 dark:bg-gray-700 dark:hover:bg-gray-600 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})})]}),e.jsx("div",{className:"text-center text-sm text-muted-foreground pt-2",children:e.jsx("p",{children:"You can configure these later in Settings."})})]});default:return null}},U=()=>{switch(r){case 0:return x.trim()&&u.trim()&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u);case 1:return!0;default:return!1}};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-2xl",children:[e.jsx("div",{className:"mb-8",children:e.jsx("div",{className:"flex items-center justify-between",children:v.map((t,s)=>e.jsxs(Y.Fragment,{children:[e.jsxs("div",{className:"flex flex-col items-center flex-1",children:[e.jsx("div",{className:`w-12 h-12 rounded-full flex items-center justify-center border-2 transition-colors duration-200 ${s<r?"bg-green-500 border-green-500 text-white":s===r?"bg-blue-600 border-blue-600 text-white":"bg-background border-border text-muted-foreground"}`,children:s<r?e.jsx(g,{className:"w-6 h-6"}):typeof t.icon=="function"?e.jsx(t.icon,{}):e.jsx(t.icon,{className:"w-6 h-6"})}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("p",{className:`text-sm font-medium ${s===r?"text-foreground":"text-muted-foreground"}`,children:t.title}),t.required&&e.jsx("span",{className:"text-xs text-red-500",children:"Required"})]})]}),s<v.length-1&&e.jsx("div",{className:`flex-1 h-0.5 mx-2 transition-colors duration-200 ${s<r?"bg-green-500":"bg-border"}`})]},s))})}),e.jsxs("div",{className:"bg-card rounded-lg shadow-lg border border-border p-8",children:[J(),k&&e.jsx("div",{className:"mt-6 p-4 bg-red-100 dark:bg-red-900/20 border border-red-300 dark:border-red-800 rounded-lg",children:e.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:k})}),e.jsxs("div",{className:"flex items-center justify-between mt-8 pt-6 border-t border-border",children:[e.jsxs("button",{onClick:z,disabled:r===0||i,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-200",children:[e.jsx(X,{className:"w-4 h-4"}),"Previous"]}),e.jsx("div",{className:"flex items-center gap-3",children:r<v.length-1?e.jsx("button",{onClick:T,disabled:!U()||i,className:"flex items-center gap-2 px-6 py-3 bg-blue-600 hover:bg-blue-700 disabled:bg-blue-400 disabled:cursor-not-allowed text-white font-medium rounded-lg transition-colors duration-200",children:i?e.jsxs(e.Fragment,{children:[e.jsx(G,{className:"w-4 h-4 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:["Next",e.jsx(Z,{className:"w-4 h-4"})]})}):e.jsx("button",{onClick:B,disabled:i,className:"flex items-center gap-2 px-6 py-3 bg-green-600 hover:bg-green-700 disabled:bg-green-400 disabled:cursor-not-allowed text-white font-medium rounded-lg transition-colors duration-200",children:i?e.jsxs(e.Fragment,{children:[e.jsx(G,{className:"w-4 h-4 animate-spin"}),"Completing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(g,{className:"w-4 h-4"}),"Complete Setup"]})})})]})]})]})}),n&&e.jsx(D,{isOpen:!!n,onClose:()=>f(null),provider:n,project:I,onComplete:R,isOnboarding:!0})]})};export{ce as default};
1
+ import{r as a,j as e,v as Y}from"./vendor-react-9mUTKBHH.js";import{L as D,C as V,a as H,b as K}from"./LoginModal-CWoFm0au.js";import{u as Q,a as m}from"./index-BGmwbRlb.js";import{G as P,L as W,C as g,a as X,b as G,c as Z,U as _,M as ee}from"./vendor-icons-Dh9m_Ydt.js";import"./vendor-xterm-CZq1hqo1.js";import"./vendor-syntax-DnmwQQJF.js";import"./vendor-markdown-BXEi_H3G.js";import"./vendor-i18n-DCFGyhQR.js";const ce=({onComplete:y})=>{const[r,b]=a.useState(0),[x,w]=a.useState(""),[u,C]=a.useState(""),[i,h]=a.useState(!1),[k,o]=a.useState(""),[n,f]=a.useState(null),[I]=a.useState({name:"default",fullPath:""}),[l,p]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),[d,j]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),[c,N]=a.useState({authenticated:!1,email:null,loading:!0,error:null}),{user:te}=Q(),S=a.useRef(void 0);a.useEffect(()=>{M()},[]);const M=async()=>{try{const t=await m("/api/user/git-config");if(t.ok){const s=await t.json();s.gitName&&w(s.gitName),s.gitEmail&&C(s.gitEmail)}}catch(t){console.error("Error loading git config:",t)}};a.useEffect(()=>{const t=S.current;S.current=n,(t===void 0||t!==null&&n===null)&&(L(),A(),E())},[n]);const L=async()=>{try{const t=await m("/api/cli/claude/status");if(t.ok){const s=await t.json();p({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else p({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Claude auth status:",t),p({authenticated:!1,email:null,loading:!1,error:t.message})}},A=async()=>{try{const t=await m("/api/cli/cursor/status");if(t.ok){const s=await t.json();j({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else j({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Cursor auth status:",t),j({authenticated:!1,email:null,loading:!1,error:t.message})}},E=async()=>{try{const t=await m("/api/cli/codex/status");if(t.ok){const s=await t.json();N({authenticated:s.authenticated,email:s.email,loading:!1,error:s.error||null})}else N({authenticated:!1,email:null,loading:!1,error:"Failed to check authentication status"})}catch(t){console.error("Error checking Codex auth status:",t),N({authenticated:!1,email:null,loading:!1,error:t.message})}},$=()=>f("claude"),q=()=>f("cursor"),O=()=>f("codex"),R=t=>{t===0&&(n==="claude"?L():n==="cursor"?A():n==="codex"&&E())},T=async()=>{if(o(""),r===0){if(!x.trim()||!u.trim()){o("Both git name and email are required");return}if(!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u)){o("Please enter a valid email address");return}h(!0);try{const s=await m("/api/user/git-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({gitName:x,gitEmail:u})});if(!s.ok){const F=await s.json();throw new Error(F.error||"Failed to save git configuration")}b(r+1)}catch(s){o(s.message)}finally{h(!1)}return}b(r+1)},z=()=>{o(""),b(r-1)},B=async()=>{h(!0),o("");try{const t=await m("/api/user/complete-onboarding",{method:"POST"});if(!t.ok){const s=await t.json();throw new Error(s.error||"Failed to complete onboarding")}y&&y()}catch(t){o(t.message)}finally{h(!1)}},v=[{title:"Git Configuration",description:"Set up your git identity for commits",icon:P,required:!0},{title:"Connect Agents",description:"Connect your AI coding assistants",icon:W,required:!1}],J=()=>{switch(r){case 0:return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-center mb-8",children:[e.jsx("div",{className:"w-16 h-16 bg-blue-100 dark:bg-blue-900/30 rounded-full flex items-center justify-center mx-auto mb-4",children:e.jsx(P,{className:"w-8 h-8 text-blue-600 dark:text-blue-400"})}),e.jsx("h2",{className:"text-2xl font-bold text-foreground mb-2",children:"Git Configuration"}),e.jsx("p",{className:"text-muted-foreground",children:"Configure your git identity to ensure proper attribution for your commits"})]}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"gitName",className:"flex items-center gap-2 text-sm font-medium text-foreground mb-2",children:[e.jsx(_,{className:"w-4 h-4"}),"Git Name ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"text",id:"gitName",value:x,onChange:t=>w(t.target.value),className:"w-full px-4 py-3 border border-border rounded-lg bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"John Doe",required:!0,disabled:i}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"This will be used as: git config --global user.name"})]}),e.jsxs("div",{children:[e.jsxs("label",{htmlFor:"gitEmail",className:"flex items-center gap-2 text-sm font-medium text-foreground mb-2",children:[e.jsx(ee,{className:"w-4 h-4"}),"Git Email ",e.jsx("span",{className:"text-red-500",children:"*"})]}),e.jsx("input",{type:"email",id:"gitEmail",value:u,onChange:t=>C(t.target.value),className:"w-full px-4 py-3 border border-border rounded-lg bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"john@example.com",required:!0,disabled:i}),e.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"This will be used as: git config --global user.email"})]})]})]});case 1:return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"text-center mb-6",children:[e.jsx("h2",{className:"text-2xl font-bold text-foreground mb-2",children:"Connect Your AI Agents"}),e.jsx("p",{className:"text-muted-foreground",children:"Login to one or more AI coding assistants. All are optional."})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${l.authenticated?"bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-blue-100 dark:bg-blue-900/30 rounded-full flex items-center justify-center",children:e.jsx(V,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["Claude Code",l.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:l.loading?"Checking...":l.authenticated?l.email||"Connected":"Not connected"})]})]}),!l.authenticated&&!l.loading&&e.jsx("button",{onClick:$,className:"bg-blue-600 hover:bg-blue-700 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})}),e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${d.authenticated?"bg-purple-50 dark:bg-purple-900/20 border-purple-200 dark:border-purple-800":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-purple-100 dark:bg-purple-900/30 rounded-full flex items-center justify-center",children:e.jsx(H,{size:20})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["Cursor",d.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:d.loading?"Checking...":d.authenticated?d.email||"Connected":"Not connected"})]})]}),!d.authenticated&&!d.loading&&e.jsx("button",{onClick:q,className:"bg-purple-600 hover:bg-purple-700 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})}),e.jsx("div",{className:`border rounded-lg p-4 transition-colors ${c.authenticated?"bg-gray-100 dark:bg-gray-800/50 border-gray-300 dark:border-gray-600":"border-border bg-card"}`,children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("div",{className:"w-10 h-10 bg-gray-100 dark:bg-gray-800 rounded-full flex items-center justify-center",children:e.jsx(K,{className:"w-5 h-5"})}),e.jsxs("div",{children:[e.jsxs("div",{className:"font-medium text-foreground flex items-center gap-2",children:["OpenAI Codex",c.authenticated&&e.jsx(g,{className:"w-4 h-4 text-green-500"})]}),e.jsx("div",{className:"text-xs text-muted-foreground",children:c.loading?"Checking...":c.authenticated?c.email||"Connected":"Not connected"})]})]}),!c.authenticated&&!c.loading&&e.jsx("button",{onClick:O,className:"bg-gray-800 hover:bg-gray-900 dark:bg-gray-700 dark:hover:bg-gray-600 text-white text-sm font-medium py-2 px-4 rounded-lg transition-colors",children:"Login"})]})})]}),e.jsx("div",{className:"text-center text-sm text-muted-foreground pt-2",children:e.jsx("p",{children:"You can configure these later in Settings."})})]});default:return null}},U=()=>{switch(r){case 0:return x.trim()&&u.trim()&&/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(u);case 1:return!0;default:return!1}};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsxs("div",{className:"w-full max-w-2xl",children:[e.jsx("div",{className:"mb-8",children:e.jsx("div",{className:"flex items-center justify-between",children:v.map((t,s)=>e.jsxs(Y.Fragment,{children:[e.jsxs("div",{className:"flex flex-col items-center flex-1",children:[e.jsx("div",{className:`w-12 h-12 rounded-full flex items-center justify-center border-2 transition-colors duration-200 ${s<r?"bg-green-500 border-green-500 text-white":s===r?"bg-blue-600 border-blue-600 text-white":"bg-background border-border text-muted-foreground"}`,children:s<r?e.jsx(g,{className:"w-6 h-6"}):typeof t.icon=="function"?e.jsx(t.icon,{}):e.jsx(t.icon,{className:"w-6 h-6"})}),e.jsxs("div",{className:"mt-2 text-center",children:[e.jsx("p",{className:`text-sm font-medium ${s===r?"text-foreground":"text-muted-foreground"}`,children:t.title}),t.required&&e.jsx("span",{className:"text-xs text-red-500",children:"Required"})]})]}),s<v.length-1&&e.jsx("div",{className:`flex-1 h-0.5 mx-2 transition-colors duration-200 ${s<r?"bg-green-500":"bg-border"}`})]},s))})}),e.jsxs("div",{className:"bg-card rounded-lg shadow-lg border border-border p-8",children:[J(),k&&e.jsx("div",{className:"mt-6 p-4 bg-red-100 dark:bg-red-900/20 border border-red-300 dark:border-red-800 rounded-lg",children:e.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:k})}),e.jsxs("div",{className:"flex items-center justify-between mt-8 pt-6 border-t border-border",children:[e.jsxs("button",{onClick:z,disabled:r===0||i,className:"flex items-center gap-2 px-4 py-2 text-sm font-medium text-muted-foreground hover:text-foreground disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-200",children:[e.jsx(X,{className:"w-4 h-4"}),"Previous"]}),e.jsx("div",{className:"flex items-center gap-3",children:r<v.length-1?e.jsx("button",{onClick:T,disabled:!U()||i,className:"flex items-center gap-2 px-6 py-3 bg-blue-600 hover:bg-blue-700 disabled:bg-blue-400 disabled:cursor-not-allowed text-white font-medium rounded-lg transition-colors duration-200",children:i?e.jsxs(e.Fragment,{children:[e.jsx(G,{className:"w-4 h-4 animate-spin"}),"Saving..."]}):e.jsxs(e.Fragment,{children:["Next",e.jsx(Z,{className:"w-4 h-4"})]})}):e.jsx("button",{onClick:B,disabled:i,className:"flex items-center gap-2 px-6 py-3 bg-green-600 hover:bg-green-700 disabled:bg-green-400 disabled:cursor-not-allowed text-white font-medium rounded-lg transition-colors duration-200",children:i?e.jsxs(e.Fragment,{children:[e.jsx(G,{className:"w-4 h-4 animate-spin"}),"Completing..."]}):e.jsxs(e.Fragment,{children:[e.jsx(g,{className:"w-4 h-4"}),"Complete Setup"]})})})]})]})]})}),n&&e.jsx(D,{isOpen:!!n,onClose:()=>f(null),provider:n,project:I,onComplete:R,isOnboarding:!0})]})};export{ce as default};
@@ -1 +1 @@
1
- import{r as t,j as e}from"./vendor-react-CHoMc7ka.js";import{u as y}from"./index-BPwf8Fw3.js";import"./vendor-syntax-Djb62v3a.js";import"./vendor-markdown-CIVH08vJ.js";import"./vendor-icons-D33IkSIf.js";import"./vendor-i18n-ByAl-gdx.js";const q=()=>{const[a,f]=t.useState(""),[d,p]=t.useState(""),[l,x]=t.useState(""),[n,g]=t.useState(""),[u,h]=t.useState(""),[s,i]=t.useState(!1),[c,o]=t.useState(""),{register:j}=y(),N=async r=>{if(r.preventDefault(),o(""),n!==u){o("Passwords do not match");return}if(!a.trim()||a.trim().length<2){o("Name must be at least 2 characters");return}if(!d.trim()||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)){o("Please enter a valid email address");return}if(n.length<6){o("Password must be at least 6 characters");return}i(!0);const m=a.trim().split(" "),w=m[0]||a.trim(),v=m.slice(1).join(" ")||"",b=await j(w,v,n,d.trim(),l.trim()||null);b.success||o(b.error),i(!1)};return e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsx("div",{className:"w-full max-w-md",children:e.jsxs("div",{className:"bg-card rounded-lg shadow-lg border border-border p-8 space-y-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("img",{src:"/logo.svg",alt:"Upfyn-Code",className:"w-16 h-16",onError:r=>{r.target.style.display="none"}})}),e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Create Your Account"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"Sign up to start using Upfyn-Code"})]}),e.jsxs("form",{onSubmit:N,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"name",className:"block text-sm font-medium text-foreground mb-1",children:"Full Name"}),e.jsx("input",{type:"text",id:"name",value:a,onChange:r=>f(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"Your full name",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"email",className:"block text-sm font-medium text-foreground mb-1",children:"Email"}),e.jsx("input",{type:"email",id:"email",value:d,onChange:r=>p(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"you@example.com",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"phone",className:"block text-sm font-medium text-foreground mb-1",children:"Mobile Number"}),e.jsx("input",{type:"tel",id:"phone",value:l,onChange:r=>x(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"+91 9876543210",disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password",className:"block text-sm font-medium text-foreground mb-1",children:"Password"}),e.jsx("input",{type:"password",id:"password",value:n,onChange:r=>g(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"At least 6 characters",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"confirmPassword",className:"block text-sm font-medium text-foreground mb-1",children:"Confirm Password"}),e.jsx("input",{type:"password",id:"confirmPassword",value:u,onChange:r=>h(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"Confirm your password",required:!0,disabled:s})]}),c&&e.jsx("div",{className:"p-3 bg-red-100 dark:bg-red-900/20 border border-red-300 dark:border-red-800 rounded-md",children:e.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:c})}),e.jsx("button",{type:"submit",disabled:s,className:"w-full bg-blue-600 hover:bg-blue-700 disabled:bg-blue-400 text-white font-medium py-2 px-4 rounded-md transition-colors duration-200",children:s?"Creating account...":"Create Account"})]})]})})})};export{q as default};
1
+ import{r as t,j as e}from"./vendor-react-9mUTKBHH.js";import{u as y}from"./index-BGmwbRlb.js";import"./vendor-syntax-DnmwQQJF.js";import"./vendor-markdown-BXEi_H3G.js";import"./vendor-icons-Dh9m_Ydt.js";import"./vendor-i18n-DCFGyhQR.js";const q=()=>{const[a,f]=t.useState(""),[d,p]=t.useState(""),[l,x]=t.useState(""),[n,g]=t.useState(""),[u,h]=t.useState(""),[s,i]=t.useState(!1),[c,o]=t.useState(""),{register:j}=y(),N=async r=>{if(r.preventDefault(),o(""),n!==u){o("Passwords do not match");return}if(!a.trim()||a.trim().length<2){o("Name must be at least 2 characters");return}if(!d.trim()||!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(d)){o("Please enter a valid email address");return}if(n.length<6){o("Password must be at least 6 characters");return}i(!0);const m=a.trim().split(" "),w=m[0]||a.trim(),v=m.slice(1).join(" ")||"",b=await j(w,v,n,d.trim(),l.trim()||null);b.success||o(b.error),i(!1)};return e.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center p-4",children:e.jsx("div",{className:"w-full max-w-md",children:e.jsxs("div",{className:"bg-card rounded-lg shadow-lg border border-border p-8 space-y-6",children:[e.jsxs("div",{className:"text-center",children:[e.jsx("div",{className:"flex justify-center mb-4",children:e.jsx("img",{src:"/logo.svg",alt:"Upfyn-Code",className:"w-16 h-16",onError:r=>{r.target.style.display="none"}})}),e.jsx("h1",{className:"text-2xl font-bold text-foreground",children:"Create Your Account"}),e.jsx("p",{className:"text-muted-foreground mt-2",children:"Sign up to start using Upfyn-Code"})]}),e.jsxs("form",{onSubmit:N,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"name",className:"block text-sm font-medium text-foreground mb-1",children:"Full Name"}),e.jsx("input",{type:"text",id:"name",value:a,onChange:r=>f(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"Your full name",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"email",className:"block text-sm font-medium text-foreground mb-1",children:"Email"}),e.jsx("input",{type:"email",id:"email",value:d,onChange:r=>p(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"you@example.com",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"phone",className:"block text-sm font-medium text-foreground mb-1",children:"Mobile Number"}),e.jsx("input",{type:"tel",id:"phone",value:l,onChange:r=>x(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"+91 9876543210",disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"password",className:"block text-sm font-medium text-foreground mb-1",children:"Password"}),e.jsx("input",{type:"password",id:"password",value:n,onChange:r=>g(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"At least 6 characters",required:!0,disabled:s})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"confirmPassword",className:"block text-sm font-medium text-foreground mb-1",children:"Confirm Password"}),e.jsx("input",{type:"password",id:"confirmPassword",value:u,onChange:r=>h(r.target.value),className:"w-full px-3 py-2 border border-border rounded-md bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent",placeholder:"Confirm your password",required:!0,disabled:s})]}),c&&e.jsx("div",{className:"p-3 bg-red-100 dark:bg-red-900/20 border border-red-300 dark:border-red-800 rounded-md",children:e.jsx("p",{className:"text-sm text-red-700 dark:text-red-400",children:c})}),e.jsx("button",{type:"submit",disabled:s,className:"w-full bg-blue-600 hover:bg-blue-700 disabled:bg-blue-400 text-white font-medium py-2 px-4 rounded-md transition-colors duration-200",children:s?"Creating account...":"Create Account"})]})]})})})};export{q as default};
@@ -1,4 +1,4 @@
1
- import"./percentages-BXMCSKIN-C9GT0OD3.js";import"./vendor-syntax-Djb62v3a.js";import"./vendor-react-CHoMc7ka.js";import"./vendor-markdown-CIVH08vJ.js";import"./AppContent-CTSHQdyq.js";import"./index-BPwf8Fw3.js";import"./vendor-icons-D33IkSIf.js";import"./vendor-i18n-ByAl-gdx.js";import"./LoginModal-silya-zP.js";import"./vendor-xterm-DBb3RXlu.js";import"./vendor-codemirror-BARtJV1V.js";import"./vendor-codemirror-langs-52_y1wip.js";var u={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:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={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"./percentages-BXMCSKIN-Be6p9phi.js";import"./vendor-syntax-DnmwQQJF.js";import"./vendor-react-9mUTKBHH.js";import"./vendor-markdown-BXEi_H3G.js";import"./AppContent-DTZ2FbvM.js";import"./index-BGmwbRlb.js";import"./vendor-icons-Dh9m_Ydt.js";import"./vendor-i18n-DCFGyhQR.js";import"./LoginModal-CWoFm0au.js";import"./vendor-xterm-CZq1hqo1.js";import"./vendor-codemirror-rix45NST.js";import"./vendor-codemirror-langs-BH1ZcKHY.js";var u={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:""},A={noItems:"لا توجد عناصر أضيفت بعد...",hint_emptyLibrary:"حدد عنصر على القماش لإضافته هنا، أو تثبيت مكتبة من المستودع العام أدناه.",hint_emptyPrivateLibrary:"حدد عنصر على القماش لإضافته هنا."},e={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
  لن يتم حفظ التغييرات التي قمت بها!`},a={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:""},o={selection:"تحديد",image:"إدراج صورة",rectangle:"مستطيل",diamond:"مضلع",ellipse:"دائرة",arrow:"سهم",line:"خط",freedraw:"رسم",text:"نص",library:"مكتبة",lock:"الحفاظ على أداة التحديد نشطة بعد الرسم",penMode:"وضع القلم - امنع اللمس",link:"إضافة/تحديث الرابط للشكل المحدد",eraser:"ممحاة",frame:"أداة الإطار",magicframe:"",embeddable:"تضمين ويب",laser:"مؤشر ليزر",hand:"يد (أداة الإزاحة)",extraTools:"المزيد من أﻷدوات",mermaidToExcalidraw:"",magicSettings:""},t={canvasActions:"إجراءات اللوحة",selectedShapeActions:"إجراءات الشكل المحدد",shapes:"الأشكال"},i={canvasPanning:"لتحريك القماش، اضغط على عجلة الفأرة أو مفتاح المسافة أثناء السحب، أو استخدم أداة اليد",linearElement:"انقر لبدء نقاط متعددة، اسحب لخط واحد",freeDraw:"انقر واسحب، افرج عند الانتهاء",text:"نصيحة: يمكنك أيضًا إضافة نص بالنقر المزدوج في أي مكان بأداة الاختيار",embeddable:"اضغط مع السحب لإنشاء موقع ويب مضمّن",text_selected:"انقر نقراً مزدوجاً أو اضغط ادخال لتعديل النص",text_editing:"اضغط على Esc أو (Ctrl أو Cmd) + Enter لإنهاء التعديل",linearElementMulti:"انقر فوق النقطة الأخيرة أو اضغط على Esc أو Enter للإنهاء",lockAngle:"يمكنك تقييد الزاوية بالضغط على SHIFT",resize:`يمكنك تقييد النسب بالضغط على SHIFT أثناء تغيير الحجم،
@@ -1 +1 @@
1
- import{w as ln,c as J}from"./path-CbwjOpE9.js";import{D as rn,E as N,F as D,G as an,H as y,I as on,J as z,K as _,L as un,M as t,N as tn,O as sn,P as fn}from"./index-D1urGMYu.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,O,E,v,A,K,r){var q=O-l,i=E-h,n=K-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,K){var r=l-O,q=h-E,i=(K?A:-A)/z(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*z(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,O=J(0),E=null,v=gn,A=mn,K=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(E?+E.apply(this,arguments):z(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*D(G)),B=sn(H/s*D(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(F=0,p=g=(f+c)/2)}var S=s*N(p),j=s*D(p),C=a*N(T),Q=a*D(T);if(w>y){var U=s*N(g),V=s*D(g),X=a*N(R),Y=a*D(R),I;if(L<rn)if(I=dn(S,j,X,Y,U,V,C,Q)){var Z=S-I[0],$=j-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(z(Z*Z+$*$)*z(k*k+b*b)))/2),en=z(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,S,j,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(S,j),r.arc(0,0,s,p,g,!o)):r.moveTo(S,j),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(S,j,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:J(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:J(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
1
+ import{w as ln,c as J}from"./path-CbwjOpE9.js";import{D as rn,E as N,F as D,G as an,H as y,I as on,J as z,K as _,L as un,M as t,N as tn,O as sn,P as fn}from"./index-BHZfFT_V.js";function cn(l){return l.innerRadius}function yn(l){return l.outerRadius}function gn(l){return l.startAngle}function mn(l){return l.endAngle}function pn(l){return l&&l.padAngle}function dn(l,h,O,E,v,A,K,r){var q=O-l,i=E-h,n=K-v,m=r-A,a=m*q-n*i;if(!(a*a<y))return a=(n*(h-A)-m*(l-v))/a,[l+a*q,h+a*i]}function W(l,h,O,E,v,A,K){var r=l-O,q=h-E,i=(K?A:-A)/z(r*r+q*q),n=i*q,m=-i*r,a=l+n,s=h+m,f=O+n,c=E+m,L=(a+f)/2,o=(s+c)/2,p=f-a,g=c-s,R=p*p+g*g,T=v-A,P=a*c-f*s,F=(g<0?-1:1)*z(tn(0,T*T*R-P*P)),G=(P*g-p*F)/R,H=(-P*p-g*F)/R,w=(P*g+p*F)/R,d=(-P*p+g*F)/R,x=G-L,e=H-o,u=w-L,M=d-o;return x*x+e*e>u*u+M*M&&(G=w,H=d),{cx:G,cy:H,x01:-n,y01:-m,x11:G*(v/T-1),y11:H*(v/T-1)}}function vn(){var l=cn,h=yn,O=J(0),E=null,v=gn,A=mn,K=pn,r=null,q=ln(i);function i(){var n,m,a=+l.apply(this,arguments),s=+h.apply(this,arguments),f=v.apply(this,arguments)-an,c=A.apply(this,arguments)-an,L=un(c-f),o=c>f;if(r||(r=n=q()),s<a&&(m=s,s=a,a=m),!(s>y))r.moveTo(0,0);else if(L>on-y)r.moveTo(s*N(f),s*D(f)),r.arc(0,0,s,f,c,!o),a>y&&(r.moveTo(a*N(c),a*D(c)),r.arc(0,0,a,c,f,o));else{var p=f,g=c,R=f,T=c,P=L,F=L,G=K.apply(this,arguments)/2,H=G>y&&(E?+E.apply(this,arguments):z(a*a+s*s)),w=_(un(s-a)/2,+O.apply(this,arguments)),d=w,x=w,e,u;if(H>y){var M=sn(H/a*D(G)),B=sn(H/s*D(G));(P-=M*2)>y?(M*=o?1:-1,R+=M,T-=M):(P=0,R=T=(f+c)/2),(F-=B*2)>y?(B*=o?1:-1,p+=B,g-=B):(F=0,p=g=(f+c)/2)}var S=s*N(p),j=s*D(p),C=a*N(T),Q=a*D(T);if(w>y){var U=s*N(g),V=s*D(g),X=a*N(R),Y=a*D(R),I;if(L<rn)if(I=dn(S,j,X,Y,U,V,C,Q)){var Z=S-I[0],$=j-I[1],k=U-I[0],b=V-I[1],nn=1/D(fn((Z*k+$*b)/(z(Z*Z+$*$)*z(k*k+b*b)))/2),en=z(I[0]*I[0]+I[1]*I[1]);d=_(w,(a-en)/(nn-1)),x=_(w,(s-en)/(nn+1))}else d=x=0}F>y?x>y?(e=W(X,Y,S,j,s,x,o),u=W(U,V,C,Q,s,x,o),r.moveTo(e.cx+e.x01,e.cy+e.y01),x<w?r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,x,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,s,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),!o),r.arc(u.cx,u.cy,x,t(u.y11,u.x11),t(u.y01,u.x01),!o))):(r.moveTo(S,j),r.arc(0,0,s,p,g,!o)):r.moveTo(S,j),!(a>y)||!(P>y)?r.lineTo(C,Q):d>y?(e=W(C,Q,U,V,a,-d,o),u=W(S,j,X,Y,a,-d,o),r.lineTo(e.cx+e.x01,e.cy+e.y01),d<w?r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(u.y01,u.x01),!o):(r.arc(e.cx,e.cy,d,t(e.y01,e.x01),t(e.y11,e.x11),!o),r.arc(0,0,a,t(e.cy+e.y11,e.cx+e.x11),t(u.cy+u.y11,u.cx+u.x11),o),r.arc(u.cx,u.cy,d,t(u.y11,u.x11),t(u.y01,u.x01),!o))):r.arc(0,0,a,T,R,o)}if(r.closePath(),n)return r=null,n+""||null}return i.centroid=function(){var n=(+l.apply(this,arguments)+ +h.apply(this,arguments))/2,m=(+v.apply(this,arguments)+ +A.apply(this,arguments))/2-rn/2;return[N(m)*n,D(m)*n]},i.innerRadius=function(n){return arguments.length?(l=typeof n=="function"?n:J(+n),i):l},i.outerRadius=function(n){return arguments.length?(h=typeof n=="function"?n:J(+n),i):h},i.cornerRadius=function(n){return arguments.length?(O=typeof n=="function"?n:J(+n),i):O},i.padRadius=function(n){return arguments.length?(E=n==null?null:typeof n=="function"?n:J(+n),i):E},i.startAngle=function(n){return arguments.length?(v=typeof n=="function"?n:J(+n),i):v},i.endAngle=function(n){return arguments.length?(A=typeof n=="function"?n:J(+n),i):A},i.padAngle=function(n){return arguments.length?(K=typeof n=="function"?n:J(+n),i):K},i.context=function(n){return arguments.length?(r=n??null,i):r},i}export{vn as a};
@@ -1 +1 @@
1
- import"./percentages-BXMCSKIN-C9GT0OD3.js";import"./vendor-syntax-Djb62v3a.js";import"./vendor-react-CHoMc7ka.js";import"./vendor-markdown-CIVH08vJ.js";import"./AppContent-CTSHQdyq.js";import"./index-BPwf8Fw3.js";import"./vendor-icons-D33IkSIf.js";import"./vendor-i18n-ByAl-gdx.js";import"./LoginModal-silya-zP.js";import"./vendor-xterm-DBb3RXlu.js";import"./vendor-codemirror-BARtJV1V.js";import"./vendor-codemirror-langs-52_y1wip.js";var e={paste:"Yapışdır",pasteAsPlaintext:"Düz mətn kimi yapışdırın",pasteCharts:"Diaqramları yapışdırın",selectAll:"Hamısını seç",multiSelect:"Seçimə element əlavə edin",moveCanvas:"Kanvası köçürün",cut:"Kəs",copy:"Kopyala",copyAsPng:"PNG olaraq panoya kopyala",copyAsSvg:"SVG olaraq panoya kopyala",copyText:"Mətn olaraq panoya kopyala",copySource:"",convertToCode:"",bringForward:"Önə daşı",sendToBack:"Geriyə göndərin",bringToFront:"Önə gətirin",sendBackward:"Geriyə göndərin",delete:"Sil",copyStyles:"Stilləri kopyalayın",pasteStyles:"Stilləri yapışdırın",stroke:"Strok rəngi",background:"Arxa fon",fill:"Doldur",strokeWidth:"Strok eni",strokeStyle:"Strok stili",strokeStyle_solid:"Solid",strokeStyle_dashed:"Kəsik",strokeStyle_dotted:"Nöqtəli",sloppiness:"Səliqəsizlik",opacity:"Şəffaflıq",textAlign:"Mətni uyğunlaşdır",edges:"Kənarlar",sharp:"Kəskin",round:"Dəyirmi",arrowheads:"Ox ucları",arrowhead_none:"Heç biri",arrowhead_arrow:"Ox",arrowhead_bar:"Çubuq",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Üçbucaq",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Şrift ölçüsü",fontFamily:"Şrift qrupu",addWatermark:'"Made with Excalidraw" əlavə et',handDrawn:"Əllə çəkilmiş",normal:"Normal",code:"Kod",small:"Kiçik",medium:"Orta",large:"Böyük",veryLarge:"Çox böyük",solid:"Solid",hachure:"Ştrix",zigzag:"Ziqzaq",crossHatch:"Çarpaz dəlik",thin:"İncə",bold:"Qalın",left:"Sol",center:"Mərkəz",right:"Sağ",extraBold:"Ekstra qalın",architect:"Memar",artist:"Rəssam",cartoonist:"Karikaturaçı",fileTitle:"Fayl adı",colorPicker:"Rəng seçən",canvasColors:"Kanvas üzərində istifadə olunur",canvasBackground:"Kanvas arxa fonu",drawingCanvas:"Kanvas çəkmək",layers:"Qatlar",actions:"Hərəkətlər",language:"Dil",liveCollaboration:"Canlı əməkdaşlıq...",duplicateSelection:"Dublikat",untitled:"Başlıqsız",name:"Ad",yourName:"Adınız",madeWithExcalidraw:"Excalidraw ilə hazırlanmışdır",group:"Qrup şəklində seçim",ungroup:"Qrupsuz seçim",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:""},a={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},r={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:""},o={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},t={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},i={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},l={canvasActions:"",selectedShapeActions:"",shapes:""},n={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},s={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},d={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},u={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},c={title:""},m={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},p={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},g={title:""},b={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},y={title:"",content:""},x={resetLibrary:"",removeItemsFromLib:""},h={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},k={tooltip:"",link:""},S={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},v={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},F={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},w={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},E={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},T={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},_={title:"",button:"",description:"",syntax:"",preview:""},H={labels:e,library:a,buttons:r,alerts:o,errors:t,toolBar:i,headings:l,hints:n,canvasError:s,errorSplash:d,roomDialog:u,errorDialog:c,exportDialog:m,helpDialog:p,clearCanvasDialog:g,publishDialog:b,publishSuccessDialog:y,confirmDialog:x,imageExportDialog:h,encrypted:k,stats:S,toast:v,colors:F,welcomeScreen:w,colorPicker:E,overwriteConfirm:T,mermaid:_};export{o as alerts,r as buttons,s as canvasError,g as clearCanvasDialog,E as colorPicker,F as colors,x as confirmDialog,H as default,k as encrypted,c as errorDialog,d as errorSplash,t as errors,m as exportDialog,l as headings,p as helpDialog,n as hints,h as imageExportDialog,e as labels,a as library,_ as mermaid,T as overwriteConfirm,b as publishDialog,y as publishSuccessDialog,u as roomDialog,S as stats,v as toast,i as toolBar,w as welcomeScreen};
1
+ import"./percentages-BXMCSKIN-Be6p9phi.js";import"./vendor-syntax-DnmwQQJF.js";import"./vendor-react-9mUTKBHH.js";import"./vendor-markdown-BXEi_H3G.js";import"./AppContent-DTZ2FbvM.js";import"./index-BGmwbRlb.js";import"./vendor-icons-Dh9m_Ydt.js";import"./vendor-i18n-DCFGyhQR.js";import"./LoginModal-CWoFm0au.js";import"./vendor-xterm-CZq1hqo1.js";import"./vendor-codemirror-rix45NST.js";import"./vendor-codemirror-langs-BH1ZcKHY.js";var e={paste:"Yapışdır",pasteAsPlaintext:"Düz mətn kimi yapışdırın",pasteCharts:"Diaqramları yapışdırın",selectAll:"Hamısını seç",multiSelect:"Seçimə element əlavə edin",moveCanvas:"Kanvası köçürün",cut:"Kəs",copy:"Kopyala",copyAsPng:"PNG olaraq panoya kopyala",copyAsSvg:"SVG olaraq panoya kopyala",copyText:"Mətn olaraq panoya kopyala",copySource:"",convertToCode:"",bringForward:"Önə daşı",sendToBack:"Geriyə göndərin",bringToFront:"Önə gətirin",sendBackward:"Geriyə göndərin",delete:"Sil",copyStyles:"Stilləri kopyalayın",pasteStyles:"Stilləri yapışdırın",stroke:"Strok rəngi",background:"Arxa fon",fill:"Doldur",strokeWidth:"Strok eni",strokeStyle:"Strok stili",strokeStyle_solid:"Solid",strokeStyle_dashed:"Kəsik",strokeStyle_dotted:"Nöqtəli",sloppiness:"Səliqəsizlik",opacity:"Şəffaflıq",textAlign:"Mətni uyğunlaşdır",edges:"Kənarlar",sharp:"Kəskin",round:"Dəyirmi",arrowheads:"Ox ucları",arrowhead_none:"Heç biri",arrowhead_arrow:"Ox",arrowhead_bar:"Çubuq",arrowhead_circle:"",arrowhead_circle_outline:"",arrowhead_triangle:"Üçbucaq",arrowhead_triangle_outline:"",arrowhead_diamond:"",arrowhead_diamond_outline:"",fontSize:"Şrift ölçüsü",fontFamily:"Şrift qrupu",addWatermark:'"Made with Excalidraw" əlavə et',handDrawn:"Əllə çəkilmiş",normal:"Normal",code:"Kod",small:"Kiçik",medium:"Orta",large:"Böyük",veryLarge:"Çox böyük",solid:"Solid",hachure:"Ştrix",zigzag:"Ziqzaq",crossHatch:"Çarpaz dəlik",thin:"İncə",bold:"Qalın",left:"Sol",center:"Mərkəz",right:"Sağ",extraBold:"Ekstra qalın",architect:"Memar",artist:"Rəssam",cartoonist:"Karikaturaçı",fileTitle:"Fayl adı",colorPicker:"Rəng seçən",canvasColors:"Kanvas üzərində istifadə olunur",canvasBackground:"Kanvas arxa fonu",drawingCanvas:"Kanvas çəkmək",layers:"Qatlar",actions:"Hərəkətlər",language:"Dil",liveCollaboration:"Canlı əməkdaşlıq...",duplicateSelection:"Dublikat",untitled:"Başlıqsız",name:"Ad",yourName:"Adınız",madeWithExcalidraw:"Excalidraw ilə hazırlanmışdır",group:"Qrup şəklində seçim",ungroup:"Qrupsuz seçim",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:""},a={noItems:"",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},r={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:""},o={clearReset:"",couldNotCreateShareableLink:"",couldNotCreateShareableLinkTooBig:"",couldNotLoadInvalidFile:"",importBackendFailed:"",cannotExportEmptyCanvas:"",couldNotCopyToClipboard:"",decryptFailed:"",uploadedSecurly:"",loadSceneOverridePrompt:"",collabStopOverridePrompt:"",errorAddingToLibrary:"",errorRemovingFromLibrary:"",confirmAddLibrary:"",imageDoesNotContainScene:"",cannotRestoreFromImage:"",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"",invalidEncryptionKey:"",collabOfflineWarning:""},t={unsupportedFileType:"",imageInsertError:"",fileTooBig:"",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"",cannotResolveCollabServer:"",importLibraryError:"",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},i={selection:"",image:"",rectangle:"",diamond:"",ellipse:"",arrow:"",line:"",freedraw:"",text:"",library:"",lock:"",penMode:"",link:"",eraser:"",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"",mermaidToExcalidraw:"",magicSettings:""},l={canvasActions:"",selectedShapeActions:"",shapes:""},n={canvasPanning:"",linearElement:"",freeDraw:"",text:"",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"",lockAngle:"",resize:"",resizeImage:"",rotate:"",lineEditor_info:"",lineEditor_pointSelected:"",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},s={cannotShowPreview:"",canvasTooBig:"",canvasTooBigTip:""},d={headingMain:"",clearCanvasMessage:"",clearCanvasCaveat:"",trackedToSentry:"",openIssueMessage:"",sceneContent:""},u={desc_intro:"",desc_privacy:"",button_startSession:"",button_stopSession:"",desc_inProgressIntro:"",desc_shareLink:"",desc_exitSession:"",shareTitle:""},c={title:""},m={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"",excalidrawplus_exportError:""},p={blog:"",click:"",deepSelect:"",deepBoxSelect:"",curvedArrow:"",curvedLine:"",documentation:"",doubleClick:"",drag:"",editor:"",editLineArrowPoints:"",editText:"",github:"",howto:"",or:"",preventBinding:"",tools:"",shortcuts:"",textFinish:"",textNewLine:"",title:"",view:"",zoomToFit:"",zoomToSelection:"",toggleElementLock:"",movePageUpDown:"",movePageLeftRight:""},g={title:""},b={title:"",itemName:"",authorName:"",githubUsername:"",twitterUsername:"",libraryName:"",libraryDesc:"",website:"",placeholder:{authorName:"",libraryName:"",libraryDesc:"",githubHandle:"",twitterHandle:"",website:""},errors:{required:"",website:""},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},y={title:"",content:""},x={resetLibrary:"",removeItemsFromLib:""},h={header:"",label:{withBackground:"",onlySelected:"",darkMode:"",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""},button:{exportToPng:"",exportToSvg:"",copyPngToClipboard:""}},k={tooltip:"",link:""},S={angle:"",element:"",elements:"",height:"",scene:"",selected:"",storage:"",title:"",total:"",version:"",versionCopy:"",versionNotAvailable:"",width:""},v={addedToLibrary:"",copyStyles:"",copyToClipboard:"",copyToClipboardAsPng:"",fileSaved:"",fileSavedToFilename:"",canvas:"",selection:"",pasteAsSingleElement:"",unableToEmbed:"",unrecognizedLinkFormat:""},F={transparent:"",black:"",white:"",red:"",pink:"",grape:"",violet:"",gray:"",blue:"",cyan:"",teal:"",green:"",yellow:"",orange:"",bronze:""},w={app:{center_heading:"",center_heading_plus:"",menuHint:""},defaults:{menuHint:"",center_heading:"",toolbarHint:"",helpHint:""}},E={mostUsedCustomColors:"",colors:"",shades:"",hexCode:"",noShades:""},T={action:{exportToImage:{title:"",button:"",description:""},saveToDisk:{title:"",button:"",description:""},excalidrawPlus:{title:"",button:"",description:""}},modal:{loadFromFile:{title:"",button:"",description:""},shareableLink:{title:"",button:"",description:""}}},_={title:"",button:"",description:"",syntax:"",preview:""},H={labels:e,library:a,buttons:r,alerts:o,errors:t,toolBar:i,headings:l,hints:n,canvasError:s,errorSplash:d,roomDialog:u,errorDialog:c,exportDialog:m,helpDialog:p,clearCanvasDialog:g,publishDialog:b,publishSuccessDialog:y,confirmDialog:x,imageExportDialog:h,encrypted:k,stats:S,toast:v,colors:F,welcomeScreen:w,colorPicker:E,overwriteConfirm:T,mermaid:_};export{o as alerts,r as buttons,s as canvasError,g as clearCanvasDialog,E as colorPicker,F as colors,x as confirmDialog,H as default,k as encrypted,c as errorDialog,d as errorSplash,t as errors,m as exportDialog,l as headings,p as helpDialog,n as hints,h as imageExportDialog,e as labels,a as library,_ as mermaid,T as overwriteConfirm,b as publishDialog,y as publishSuccessDialog,u as roomDialog,S as stats,v as toast,i as toolBar,w as welcomeScreen};
@@ -1,4 +1,4 @@
1
- import"./percentages-BXMCSKIN-C9GT0OD3.js";import"./vendor-syntax-Djb62v3a.js";import"./vendor-react-CHoMc7ka.js";import"./vendor-markdown-CIVH08vJ.js";import"./AppContent-CTSHQdyq.js";import"./index-BPwf8Fw3.js";import"./vendor-icons-D33IkSIf.js";import"./vendor-i18n-ByAl-gdx.js";import"./LoginModal-silya-zP.js";import"./vendor-xterm-DBb3RXlu.js";import"./vendor-codemirror-BARtJV1V.js";import"./vendor-codemirror-langs-52_y1wip.js";var u={paste:"Постави",pasteAsPlaintext:"Постави като обикновен текст",pasteCharts:"Постави графики",selectAll:"Маркирай всичко",multiSelect:"Добави елемент към селекция",moveCanvas:"Премести платно",cut:"Изрежи",copy:"Копирай",copyAsPng:"Копиране в клипборда",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:"Excalidraw Библиотека",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:""},e={noItems:"Няма добавени неща все още...",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},E={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:"Режим Zen",objectsSnapMode:"",exitZenMode:"Спиране на Zen режим",cancel:"Отмени",clear:"Изчисти",remove:"Премахване",embed:"",publishLibrary:"Публикувай",submit:"Изпрати",confirm:"Потвърждаване",embeddableInteractionButton:""},D={clearReset:"Това ще изчисти цялото платно. Сигурни ли сте?",couldNotCreateShareableLink:"Връзката не може да бъде създадена.",couldNotCreateShareableLinkTooBig:"Не може да се създаде връзка за споделяне: сцената е твърде голяма",couldNotLoadInvalidFile:"Невалиден файл не може да се зареди",importBackendFailed:"Импортирането от бекенд не беше успешно.",cannotExportEmptyCanvas:"Не може да се експортира празно платно.",couldNotCopyToClipboard:"Не можем да копираме в клипбоарда.",decryptFailed:"Данните не можаха да се дешифрират.",uploadedSecurly:"Качването е защитено с криптиране от край до край, което означава, че сървърът Excalidraw и трети страни не могат да четат съдържанието.",loadSceneOverridePrompt:"Зареждането на външна рисунка ще презапише настоящото ви съдържание. Желаете ли да продължите?",collabStopOverridePrompt:`Прекратяването на сесията ще презапише предишната, локално запазена, рисунка. Сигурни ли сте?
1
+ import"./percentages-BXMCSKIN-Be6p9phi.js";import"./vendor-syntax-DnmwQQJF.js";import"./vendor-react-9mUTKBHH.js";import"./vendor-markdown-BXEi_H3G.js";import"./AppContent-DTZ2FbvM.js";import"./index-BGmwbRlb.js";import"./vendor-icons-Dh9m_Ydt.js";import"./vendor-i18n-DCFGyhQR.js";import"./LoginModal-CWoFm0au.js";import"./vendor-xterm-CZq1hqo1.js";import"./vendor-codemirror-rix45NST.js";import"./vendor-codemirror-langs-BH1ZcKHY.js";var u={paste:"Постави",pasteAsPlaintext:"Постави като обикновен текст",pasteCharts:"Постави графики",selectAll:"Маркирай всичко",multiSelect:"Добави елемент към селекция",moveCanvas:"Премести платно",cut:"Изрежи",copy:"Копирай",copyAsPng:"Копиране в клипборда",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:"Excalidraw Библиотека",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:""},e={noItems:"Няма добавени неща все още...",hint_emptyLibrary:"",hint_emptyPrivateLibrary:""},E={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:"Режим Zen",objectsSnapMode:"",exitZenMode:"Спиране на Zen режим",cancel:"Отмени",clear:"Изчисти",remove:"Премахване",embed:"",publishLibrary:"Публикувай",submit:"Изпрати",confirm:"Потвърждаване",embeddableInteractionButton:""},D={clearReset:"Това ще изчисти цялото платно. Сигурни ли сте?",couldNotCreateShareableLink:"Връзката не може да бъде създадена.",couldNotCreateShareableLinkTooBig:"Не може да се създаде връзка за споделяне: сцената е твърде голяма",couldNotLoadInvalidFile:"Невалиден файл не може да се зареди",importBackendFailed:"Импортирането от бекенд не беше успешно.",cannotExportEmptyCanvas:"Не може да се експортира празно платно.",couldNotCopyToClipboard:"Не можем да копираме в клипбоарда.",decryptFailed:"Данните не можаха да се дешифрират.",uploadedSecurly:"Качването е защитено с криптиране от край до край, което означава, че сървърът Excalidraw и трети страни не могат да четат съдържанието.",loadSceneOverridePrompt:"Зареждането на външна рисунка ще презапише настоящото ви съдържание. Желаете ли да продължите?",collabStopOverridePrompt:`Прекратяването на сесията ще презапише предишната, локално запазена, рисунка. Сигурни ли сте?
2
2
 
3
3
  (Ако искате да продължите с локалната рисунка, просто затворете таба на браузъра.)`,errorAddingToLibrary:"Не можем да заредим от библиотеката",errorRemovingFromLibrary:"Не можем да премахнем елемент от библиотеката",confirmAddLibrary:"Ще се добавят {{numShapes}} фигура(и) във вашата библиотека. Сигурни ли сте?",imageDoesNotContainScene:"",cannotRestoreFromImage:"Не може да бъде възстановена сцена от този файл",invalidSceneUrl:"",resetLibrary:"",removeItemsFromsLibrary:"Изтрий {{count}} елемент(а) от библиотеката?",invalidEncryptionKey:"",collabOfflineWarning:""},a={unsupportedFileType:"Този файлов формат не се поддържа.",imageInsertError:"",fileTooBig:"Файлът е твърде голям. Максималния допустим размер е {{maxSize}}.",svgImageInsertError:"",failedToFetchImage:"",invalidSVGString:"Невалиден SVG.",cannotResolveCollabServer:"",importLibraryError:"Не можем да заредим библиотеката",collabSaveFailed:"",collabSaveFailed_sizeExceeded:"",imageToolNotSupported:"",brave_measure_text_error:{line1:"",line2:"",line3:"Силно препоръчваме да изключите тази настройка. Можете да следвате <link>тези стъпки</link> за това как да го направите.",line4:""},libraryElementTypeError:{embeddable:"",iframe:"",image:""},asyncPasteFailedOnRead:"",asyncPasteFailedOnParse:"",copyToSystemClipboardFailed:""},o={selection:"Селекция",image:"Вмъкване на изображение",rectangle:"Правоъгълник",diamond:"Диамант",ellipse:"Елипс",arrow:"Стрелка",line:"Линия",freedraw:"Рисуване",text:"Текст",library:"Библиотека",lock:"Поддържайте избрания инструмент активен след рисуване",penMode:"",link:"",eraser:"Гума",frame:"",magicframe:"",embeddable:"",laser:"",hand:"",extraTools:"Още инструменти",mermaidToExcalidraw:"",magicSettings:""},r={canvasActions:"Действия по платното",selectedShapeActions:"Избрани действия",shapes:"Фигури"},t={canvasPanning:"",linearElement:"Кликнете, за да стартирате няколко точки, плъзнете за една линия",freeDraw:"Натиснете и влачете, пуснете като сте готови",text:"Подсказка: Можете също да добавите текст като натиснете някъде два път с инструмента за селекция",embeddable:"",text_selected:"",text_editing:"",linearElementMulti:"Кликнете върху последната точка или натиснете Escape или Enter, за да завършите",lockAngle:"Можете да ограничите ъгъла, като задържите SHIFT",resize:`Може да ограничите при преоразмеряване като задържите SHIFT,
4
4
  задръжте ALT за преоразмерите през центъра`,resizeImage:"",rotate:"Можете да ограничите ъглите, като държите SHIFT, докато се въртите",lineEditor_info:"",lineEditor_pointSelected:"Натиснете Delete за да изтриете точка(и), CtrlOrCmd+D за дуплициране, или извлачете за да преместите",lineEditor_nothingSelected:"",placeImage:"",publishLibrary:"",bindTextToElement:"Натиснете Enter, за да добавите",deepBoxSelect:"",eraserRevert:"",firefox_clipboard_write:"",disableSnapping:""},i={cannotShowPreview:"Невъзможност за показване на preview",canvasTooBig:"Платното е твърде голямо.",canvasTooBigTip:"Подсказка: пробвайте да приближите далечните елементи по-близко."},A={headingMain:"Среща грешка. Опитайте <button>презареждане на страницата.</button>",clearCanvasMessage:"Ако презареждането не работи, опитайте <button>изчистване на платното.</button>",clearCanvasCaveat:" Това ще доведе до загуба на работа ",trackedToSentry:"Грешката с идентификатор {{eventId}} беше проследен в нашата система.",openIssueMessage:"Бяхме много предпазливи да не включите информацията за вашата сцена при грешката. Ако сцената ви не е частна, моля, помислете за последващи действия на нашата <button>тракер за грешки.</button> Моля, включете информация по-долу, като я копирате и добавите в GitHub.",sceneContent:"Съдържание на сцената:"},l={desc_intro:"Можете да поканите хора на текущата си сцена да си сътрудничат с вас.",desc_privacy:"Не се притеснявайте, сесията използва криптиране от край до край, така че каквото нарисувате ще остане частно. Дори нашият сървър няма да може да види какво предлагате.",button_startSession:"Стартирайте сесията",button_stopSession:"Стоп на сесията",desc_inProgressIntro:"Сесията за сътрудничество на живо е в ход.",desc_shareLink:"Споделете тази връзка с всеки, с когото искате да си сътрудничите:",desc_exitSession:"Спирането на сесията ще ви изключи от стаята, но ще можете да продължите да работите със сцената, локално. Имайте предвид, че това няма да засегне други хора и те все още ще могат да си сътрудничат с тяхната версия.",shareTitle:""},n={title:"Грешка"},F={disk_title:"",disk_details:"",disk_button:"",link_title:"",link_details:"",link_button:"",excalidrawplus_description:"",excalidrawplus_button:"Експорт",excalidrawplus_exportError:""},s={blog:"Прочетете нашия блог",click:"клик",deepSelect:"",deepBoxSelect:"",curvedArrow:"Извита стрелка",curvedLine:"Извита линия",documentation:"Документация",doubleClick:"двойно-щракване",drag:"плъзнете",editor:"Редактор",editLineArrowPoints:"",editText:"",github:"Намерихте проблем? Изпратете",howto:"Следвайте нашите ръководства",or:"или",preventBinding:"Спри прилепяне на стрелките",tools:"Инструменти",shortcuts:"Клавиши за бърз достъп",textFinish:"Завърши редактиране (текстов редактор)",textNewLine:"Добави нова линия (текстов редактор)",title:"Помощ",view:"Преглед",zoomToFit:"Приближи докато се виждат всички елементи",zoomToSelection:"Приближи селекцията",toggleElementLock:"Заключи/Отключи селекция",movePageUpDown:"Премести страница нагоре/надолу",movePageLeftRight:"Премести страница наляво/надясно"},B={title:"Изчисти платното"},d={title:"Публикувай библиотека",itemName:"Име",authorName:"Авторско име",githubUsername:"GitHub потребителско име",twitterUsername:"Twitter потребителско име",libraryName:"Име на библиотеката",libraryDesc:"Описание на библиотеката",website:"Уебсайт",placeholder:{authorName:"Името или потребителското Ви име",libraryName:"Име на библиотеката Ви",libraryDesc:"Описание на библиотеката ви, за да помогнете на хората да разберат приложенията ѝ",githubHandle:"",twitterHandle:"",website:""},errors:{required:"Задължително",website:"Въведете валиден URL адрес"},noteDescription:"",noteGuidelines:"",noteLicense:"",noteItems:"",atleastOneLibItem:"",republishWarning:""},c={title:"",content:""},C={resetLibrary:"Нулирай библиотека",removeItemsFromLib:""},m={header:"",label:{withBackground:"Фон",onlySelected:"Само избраното",darkMode:"Тъмен режим",embedScene:"",scale:"",padding:""},tooltip:{embedScene:""},title:{exportToPng:"Изнасяне в PNG",exportToSvg:"Изнасяне в SVG",copyPngToClipboard:"Копирай PNG в клипборда"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Копиране в клипборда"}},p={tooltip:"Вашите рисунки са криптирани от край до край, така че сървърите на Excalidraw няма да могат да ги виждат.",link:""},b={angle:"Ъгъл",element:"Елемент",elements:"Елементи",height:"Височина",scene:"Сцена",selected:"Селектирано",storage:"Съхранение на данни",title:"Статистика за хакери",total:"Общо",version:"Версия",versionCopy:"Настисни за да копираш",versionNotAvailable:"Версията не е налична",width:"Широчина"},g={addedToLibrary:"Добавена към библиотеката",copyStyles:"Копирани стилове.",copyToClipboard:"Копирано в клипборда.",copyToClipboardAsPng:`Копира {{exportSelection}} в клипборда като PNG