@layers-app/editor 0.3.11 → 0.4.1

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 (244) hide show
  1. package/README.md +215 -1
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +2 -1
  4. package/dist/index.js +6 -6
  5. package/dist/layers.-23sKdPr.js +10 -0
  6. package/dist/layers.2Zh_Eqge.js +118 -0
  7. package/dist/layers.52famHy6.js +1 -0
  8. package/dist/layers.6xiY7Dmk.js +10 -0
  9. package/dist/layers.7JqFgE4-.js +15 -0
  10. package/dist/layers.7aWFCBDk.js +36 -0
  11. package/dist/layers.9--aZzKT.js +41 -0
  12. package/dist/layers.99J97lec.js +40 -0
  13. package/dist/layers.9QK1wiQj.js +1 -0
  14. package/dist/layers.9pNaFvaX.js +1 -0
  15. package/dist/layers.B16HCOzz.js +11 -0
  16. package/dist/layers.B19hGmey.js +1 -0
  17. package/dist/layers.B1GsQlw2.js +202 -0
  18. package/dist/layers.B1VWPJr7.js +61 -0
  19. package/dist/layers.B2AGu32C.js +11692 -0
  20. package/dist/layers.B3D4g2HH.js +1 -0
  21. package/dist/layers.B4Jcovwh.js +160 -0
  22. package/dist/layers.B4o4Yght.js +39 -0
  23. package/dist/layers.B51TBzz6.js +1 -0
  24. package/dist/layers.B5HV5CkN.js +6 -0
  25. package/dist/layers.B5VQ5ysd.js +230 -0
  26. package/dist/layers.B7uv8aVq.js +39 -0
  27. package/dist/layers.B9ypkXfB.js +1 -0
  28. package/dist/layers.BATSJhNp.js +10 -0
  29. package/dist/layers.BAe6u370.js +793 -0
  30. package/dist/layers.BAtv1CM7.js +1 -0
  31. package/dist/layers.BCMyc6dl.js +1 -0
  32. package/dist/layers.BChBzZgi.js +139 -0
  33. package/dist/layers.BCtnSgBi.js +139 -0
  34. package/dist/layers.BGXN8iGN.js +36 -0
  35. package/dist/layers.BH9NvW2c.js +1 -0
  36. package/dist/layers.BHEN4Zl8.js +9 -0
  37. package/dist/layers.BI-S-U1z.js +34 -0
  38. package/dist/layers.BIATzXuT.js +5 -0
  39. package/dist/layers.BId9R-tt.js +9 -0
  40. package/dist/layers.BIeVwYKL.js +1 -0
  41. package/dist/layers.BIj1zRV6.js +8 -0
  42. package/dist/layers.BK7Umu5k.js +40 -0
  43. package/dist/layers.BL7PsAnh.js +40 -0
  44. package/dist/layers.BLha5Ags.js +1 -0
  45. package/dist/layers.BNcxqXDY.js +2 -0
  46. package/dist/layers.BOY6DvLj.js +41 -0
  47. package/dist/layers.BQ5pHr1t.js +9 -0
  48. package/dist/layers.BR9erYvc.js +425 -0
  49. package/dist/layers.BSTBZrFn.js +1 -0
  50. package/dist/layers.BTjqsj2D.js +32 -0
  51. package/dist/layers.BU0ouPbJ.js +40 -0
  52. package/dist/layers.BVLHr0fv.js +21938 -0
  53. package/dist/layers.BVhV_yLo.js +59 -0
  54. package/dist/layers.BWppdp8z.js +37 -0
  55. package/dist/layers.BXGZ-IPG.js +37 -0
  56. package/dist/layers.BXIQjroR.js +8 -0
  57. package/dist/layers.BXe2f2v0.js +10 -0
  58. package/dist/layers.BaREUEpY.js +1 -0
  59. package/dist/layers.BbCfEXyj.js +55 -0
  60. package/dist/layers.BdxgA5Mh.js +40 -0
  61. package/dist/layers.BeXV53PI.js +38 -0
  62. package/dist/layers.Bf4maS9l.js +41 -0
  63. package/dist/layers.BgOa2ZQq.js +7 -0
  64. package/dist/layers.BgXRgBMD.js +9 -0
  65. package/dist/layers.Bgx4q6Yl.js +1 -0
  66. package/dist/layers.BiJ8hfRt.js +1510 -0
  67. package/dist/layers.BiK_NhRx.js +13 -0
  68. package/dist/layers.BjIrZvhA.js +41 -0
  69. package/dist/layers.BkDwnhF3.js +39 -0
  70. package/dist/layers.BkZl0e9Y.js +10 -0
  71. package/dist/layers.BkkBEMI4.js +122 -0
  72. package/dist/layers.Bl2uWPK5.js +35 -0
  73. package/dist/layers.BldgpPoA.js +21763 -0
  74. package/dist/layers.BmdNYA8O.js +39 -0
  75. package/dist/layers.BoUDsd20.js +84 -0
  76. package/dist/layers.BpilXLfW.js +6 -0
  77. package/dist/layers.Bqy_BDRk.js +960 -0
  78. package/dist/layers.BvQfT02S.js +9 -0
  79. package/dist/layers.BxCLnc_z.js +52 -0
  80. package/dist/layers.Bxuc5Ku1.js +6 -0
  81. package/dist/layers.Bxx3QiqH.js +5 -0
  82. package/dist/layers.BzufRV9o.js +4 -0
  83. package/dist/layers.C-S1uftF.js +1 -0
  84. package/dist/layers.C00McVdb.js +116 -0
  85. package/dist/layers.C3-Awt80.js +186 -0
  86. package/dist/layers.C46xOyCn.js +1 -0
  87. package/dist/layers.C4Z2eV4H.js +437 -0
  88. package/dist/layers.C5fqgGR6.js +33 -0
  89. package/dist/layers.C5pjkDUm.js +8 -0
  90. package/dist/layers.C5th-3Bk.js +4 -0
  91. package/dist/layers.C5vdiuk-.js +1 -0
  92. package/dist/layers.C6FZDcP0.js +5 -0
  93. package/dist/layers.C6ueRaWn.js +1 -0
  94. package/dist/layers.C6vMG-T6.js +39 -0
  95. package/dist/layers.C7lIplJU.js +247 -0
  96. package/dist/layers.C7md-mpb.js +373 -0
  97. package/dist/layers.C8Lyyff8.js +39 -0
  98. package/dist/layers.C8WU47YC.js +7 -0
  99. package/dist/layers.C8_lu5UH.js +23 -0
  100. package/dist/layers.CAZF51iw.js +769 -0
  101. package/dist/layers.CDmsB9ui.js +9 -0
  102. package/dist/layers.CENOzW4d.js +32 -0
  103. package/dist/layers.CESONz7C.js +35 -0
  104. package/dist/layers.CEW7Z5oj.js +40 -0
  105. package/dist/layers.CHE9Vv0w.js +2966 -0
  106. package/dist/layers.CHMDrzTP.js +1 -0
  107. package/dist/layers.CHZsXQcr.js +1 -0
  108. package/dist/layers.CIkcRflS.js +32 -0
  109. package/dist/layers.CJdGap0M.js +40 -0
  110. package/dist/layers.CJgtfrlM.js +9 -0
  111. package/dist/layers.CK15u90j.js +32 -0
  112. package/dist/layers.CKyZ6fil.js +220 -0
  113. package/dist/layers.COAF7f8g.js +1 -0
  114. package/dist/layers.CP7ZgLdQ.js +802 -0
  115. package/dist/layers.CQ_KfkMs.js +1 -0
  116. package/dist/layers.CSKgny-q.js +1359 -0
  117. package/dist/layers.CX4-2iW9.js +8 -0
  118. package/dist/layers.CX4mdDUE.js +40 -0
  119. package/dist/layers.CXFcyuib.js +51 -0
  120. package/dist/layers.CXnC6LGK.js +1 -0
  121. package/dist/layers.CXoz8wje.js +11 -0
  122. package/dist/layers.CZianMah.js +33 -0
  123. package/dist/layers.CbrkK8Nl.js +6 -0
  124. package/dist/layers.CdPjGs2x.js +32 -0
  125. package/dist/layers.CdZEenM8.js +8 -0
  126. package/dist/layers.CeESKes4.js +37 -0
  127. package/dist/layers.CebNnxUV.js +185 -0
  128. package/dist/layers.Cg0Puk92.js +40 -0
  129. package/dist/layers.ChG4YWfr.js +1034 -0
  130. package/dist/layers.ChLLCYeV.js +7 -0
  131. package/dist/layers.Cj5o49qm.js +7 -0
  132. package/dist/layers.Ck_m9yBu.js +41 -0
  133. package/dist/layers.Cl9YbTGP.js +1 -0
  134. package/dist/layers.Clo5oIEO.js +70 -0
  135. package/dist/layers.Cmeg2JEe.js +10 -0
  136. package/dist/layers.CqVTtuYm.js +6 -0
  137. package/dist/layers.Cs24L6er.js +261 -0
  138. package/dist/layers.Ctcl9I58.js +10 -0
  139. package/dist/layers.Cuf8LL65.js +4 -0
  140. package/dist/layers.CusXQPSP.js +41 -0
  141. package/dist/layers.CyaiBxcg.js +1 -0
  142. package/dist/layers.D-4MyOv6.js +1126 -0
  143. package/dist/layers.D0fuzbA_.js +1580 -0
  144. package/dist/layers.D0t24lyP.js +1619 -0
  145. package/dist/layers.D0zn4_Mx.js +1 -0
  146. package/dist/layers.D37kPodI.js +7 -0
  147. package/dist/layers.D3PBqBbY.js +4 -0
  148. package/dist/layers.D3eSioXs.js +1 -0
  149. package/dist/layers.D4fGb2cV.js +1272 -0
  150. package/dist/layers.D56jgM5P.js +803 -0
  151. package/dist/layers.D7jGxypv.js +8 -0
  152. package/dist/layers.DBgQS_TD.js +39 -0
  153. package/dist/layers.DE8kdoob.js +8 -0
  154. package/dist/layers.DEMbeDH5.js +96 -0
  155. package/dist/layers.DGfERl47.js +39 -0
  156. package/dist/layers.DGhEo4ps.js +6 -0
  157. package/dist/layers.DHbgl38J.js +1 -0
  158. package/dist/layers.DIW19mY0.js +2235 -0
  159. package/dist/layers.DIsd_eLu.js +931 -0
  160. package/dist/layers.DKhnUElF.js +3 -0
  161. package/dist/layers.DLwuMfdd.js +84 -0
  162. package/dist/layers.DMXwnUhk.js +10 -0
  163. package/dist/layers.DMkBISW1.js +1 -0
  164. package/dist/layers.DN9HoVxI.js +18 -0
  165. package/dist/layers.DOjcR2u6.js +44 -0
  166. package/dist/layers.DOrgOHBr.js +1 -0
  167. package/dist/layers.DRd1i4Pe.js +2 -0
  168. package/dist/layers.DSiVxrm-.js +9 -0
  169. package/dist/layers.DV0u_-wO.js +1 -0
  170. package/dist/layers.DYJhYqR2.js +1089 -0
  171. package/dist/layers.DYR-z4Xd.js +65 -0
  172. package/dist/layers.D_KjhW7m.js +9 -0
  173. package/dist/layers.DaA4pT9g.js +42 -0
  174. package/dist/layers.DbaKVP5e.js +1 -0
  175. package/dist/{layers.C125HTat.js → layers.DcGuLvyP.js} +1 -1
  176. package/dist/layers.DczwzPio.js +1 -0
  177. package/dist/layers.DdULzc5-.js +42 -0
  178. package/dist/layers.De4i5Pzr.js +423 -0
  179. package/dist/layers.Dg_ubB5o.js +38 -0
  180. package/dist/layers.DhtUpSvn.js +7 -0
  181. package/dist/layers.DiAtOpGJ.js +38 -0
  182. package/dist/layers.DjUOC4st.js +16 -0
  183. package/dist/layers.DlH0lUyY.js +7 -0
  184. package/dist/layers.Dms1jgA7.js +7 -0
  185. package/dist/layers.DnvdN9TC.js +9 -0
  186. package/dist/layers.Doo3HAhr.js +42 -0
  187. package/dist/layers.Dpl-_pRd.js +282 -0
  188. package/dist/layers.Dq7WsWG1.js +8 -0
  189. package/dist/layers.Dr-_us97.js +5 -0
  190. package/dist/layers.Dr9AgtBT.js +1265 -0
  191. package/dist/layers.DsIrXvQc.js +36 -0
  192. package/dist/layers.DuC5Q-Uc.js +1 -0
  193. package/dist/layers.Dwrpihyi.js +9148 -0
  194. package/dist/layers.Dx7QSKbZ.js +257 -0
  195. package/dist/layers.DxA6ocdw.js +70 -0
  196. package/dist/layers.Dy1naDTQ.js +14 -0
  197. package/dist/layers.DyIa2FAJ.js +501 -0
  198. package/dist/layers.DyrpParn.js +42 -0
  199. package/dist/layers.G0qyEFRn.js +7 -0
  200. package/dist/layers.HnnZ9X3g.js +41 -0
  201. package/dist/layers.Ih_DycCa.js +904 -0
  202. package/dist/layers.JWCLFILJ.js +1 -0
  203. package/dist/{layers.YZkXZvVS.js → layers.MXTL7J0X.js} +15133 -14009
  204. package/dist/layers.N0KTyT8H.js +10 -0
  205. package/dist/layers.NLvydYLt.js +19 -0
  206. package/dist/layers.NQOujqxE.js +207 -0
  207. package/dist/layers.O7rgjuxq.js +35 -0
  208. package/dist/layers.OF4XgnEn.js +320 -0
  209. package/dist/layers.OqM7Ogm0.js +6 -0
  210. package/dist/layers.P0RFt4vw.js +10 -0
  211. package/dist/layers.PWkD3FXd.js +32 -0
  212. package/dist/layers.Q933nYVT.js +14 -0
  213. package/dist/layers.ShoHTpWp.js +11 -0
  214. package/dist/layers.TP-LPR2e.js +1283 -0
  215. package/dist/layers.U8d2vvil.js +11 -0
  216. package/dist/layers.UHdtuNW7.js +6 -0
  217. package/dist/layers.UPBrkQqm.js +1088 -0
  218. package/dist/{layers.VK3NB7Nd.js → layers.Y1n_hIuc.js} +1 -1
  219. package/dist/layers._uHasBFO.js +40 -0
  220. package/dist/layers._uJVChzG.js +48146 -0
  221. package/dist/layers.b0h5ZBmD.js +61 -0
  222. package/dist/{layers.BnjxHNDK.js → layers.b_l02tem.js} +85 -85
  223. package/dist/layers.d0donhTp.js +36 -0
  224. package/dist/layers.fjvgvmUK.js +37 -0
  225. package/dist/layers.gSOgK4cv.js +41 -0
  226. package/dist/layers.h2SsCt7w.js +8 -0
  227. package/dist/layers.hzJoyUwS.js +268 -0
  228. package/dist/layers.j4D7aRnj.js +42 -0
  229. package/dist/layers.l7Uj4NoM.js +8 -0
  230. package/dist/layers.lCpg7dOn.js +21 -0
  231. package/dist/layers.mS0YwpDF.js +2479 -0
  232. package/dist/layers.oLym9I6R.js +8 -0
  233. package/dist/{layers.DPccTctI.js → layers.pGJnLNqj.js} +17 -17
  234. package/dist/layers.pRFngToG.js +1 -0
  235. package/dist/layers.rK-vslvx.js +2 -0
  236. package/dist/layers.rSvdeOjc.js +84 -0
  237. package/dist/layers.rwvkqrdF.js +11 -0
  238. package/dist/layers.wRnSjyfZ.js +5 -0
  239. package/dist/layers.xbymChc4.js +790 -0
  240. package/dist/layers.xlbtHZsv.js +39 -0
  241. package/package.json +34 -17
  242. package/dist/layers.Cjs5EBWM.js +0 -343
  243. package/dist/layers.DZ8DrrVn.js +0 -53491
  244. package/dist/layers.QVaGPbs3.js +0 -161
@@ -0,0 +1 @@
1
+ "use strict";const d=require("./layers.9pNaFvaX.js"),f=require("./layers.DOrgOHBr.js"),m=require("./layers.DEMbeDH5.js");function v(t){return t[0]}function q(t){return t[1]}function y(t,u){var s=f.constant(!0),o=null,c=m.curveLinear,r=null,p=f.withPath(e);t=typeof t=="function"?t:t===void 0?v:f.constant(t),u=typeof u=="function"?u:u===void 0?q:f.constant(u);function e(n){var i,h=(n=d.array(n)).length,a,l=!1,g;for(o==null&&(r=c(g=p())),i=0;i<=h;++i)!(i<h&&s(a=n[i],i,n))===l&&((l=!l)?r.lineStart():r.lineEnd()),l&&r.point(+t(a,i,n),+u(a,i,n));if(g)return r=null,g+""||null}return e.x=function(n){return arguments.length?(t=typeof n=="function"?n:f.constant(+n),e):t},e.y=function(n){return arguments.length?(u=typeof n=="function"?n:f.constant(+n),e):u},e.defined=function(n){return arguments.length?(s=typeof n=="function"?n:f.constant(!!n),e):s},e.curve=function(n){return arguments.length?(c=n,o!=null&&(r=c(o)),e):c},e.context=function(n){return arguments.length?(n==null?o=r=null:r=c(o=n),e):o},e}exports.line=y;
@@ -0,0 +1 @@
1
+ "use strict";function a(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}exports.initRange=a;
@@ -0,0 +1,32 @@
1
+ import "./layers.BldgpPoA.js";
2
+ var e = { paste: "අලවන්න", pasteAsPlaintext: "", pasteCharts: "ප්‍රස්ථාරය", selectAll: "සියල්ලම", multiSelect: "තෝරා ගැනීමට අංගය එකතු කරන්න", moveCanvas: "කැන්වසය චලනය කරන්න", cut: "කපන්න", copy: "පිටපත් කරන්න", copyAsPng: "PNG ලෙස පිටපත් කරන්න", copyAsSvg: "SVG ලෙස පිටපත් කරන්න", copyText: "", copySource: "", convertToCode: "", bringForward: "ඉදිරියට ගෙන්න", sendToBack: "පසුපසටම ගෙනියන්න", bringToFront: "ඉදිරියටම ගෙන්න", sendBackward: "පසුපසට ගෙනියන්න", delete: "මකන්න", copyStyles: "", pasteStyles: "", stroke: "", background: "", fill: "", strokeWidth: "", strokeStyle: "", strokeStyle_solid: "", strokeStyle_dashed: "", strokeStyle_dotted: "", sloppiness: "", opacity: "", textAlign: "", edges: "", sharp: "", round: "", arrowheads: "", arrowhead_none: "", arrowhead_arrow: "", arrowhead_bar: "", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "", fontFamily: "", addWatermark: "", 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: "", 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: "" }, o = { 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: "", 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: "" }, D = { selection: "", image: "", rectangle: "", diamond: "", ellipse: "", arrow: "", line: "", freedraw: "", text: "", library: "", lock: "", penMode: "", link: "", eraser: "", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, u = { canvasActions: "", selectedShapeActions: "", shapes: "" }, i = { 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: "" }, l = { cannotShowPreview: "", canvasTooBig: "", canvasTooBigTip: "" }, n = { headingMain: "", clearCanvasMessage: "", clearCanvasCaveat: "", trackedToSentry: "", openIssueMessage: "", sceneContent: "" }, s = { desc_intro: "", desc_privacy: "", button_startSession: "", button_stopSession: "", desc_inProgressIntro: "", desc_shareLink: "", desc_exitSession: "", shareTitle: "" }, d = { title: "" }, c = { disk_title: "", disk_details: "", disk_button: "", link_title: "", link_details: "", link_button: "", excalidrawplus_description: "", excalidrawplus_button: "", excalidrawplus_exportError: "" }, B = { 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: "" }, m = { title: "" }, p = { title: "", itemName: "", authorName: "", githubUsername: "", twitterUsername: "", libraryName: "", libraryDesc: "", website: "", placeholder: { authorName: "", libraryName: "", libraryDesc: "", githubHandle: "", twitterHandle: "", website: "" }, errors: { required: "", website: "" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "", atleastOneLibItem: "", republishWarning: "" }, g = { title: "", content: "" }, b = { resetLibrary: "", removeItemsFromLib: "" }, A = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, C = { tooltip: "", link: "" }, h = { angle: "", element: "", elements: "", height: "", scene: "", selected: "", storage: "", title: "", total: "", version: "", versionCopy: "", versionNotAvailable: "", width: "" }, y = { addedToLibrary: "", copyStyles: "", copyToClipboard: "", copyToClipboardAsPng: "", fileSaved: "", fileSavedToFilename: "", canvas: "", selection: "", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, v = { transparent: "", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "", green: "", yellow: "", orange: "", bronze: "" }, S = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, w = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, F = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, k = { title: "", button: "", description: "", syntax: "", preview: "" }, T = { labels: e, library: a, buttons: o, alerts: r, errors: t, toolBar: D, headings: u, hints: i, canvasError: l, errorSplash: n, roomDialog: s, errorDialog: d, exportDialog: c, helpDialog: B, clearCanvasDialog: m, publishDialog: p, publishSuccessDialog: g, confirmDialog: b, imageExportDialog: A, encrypted: C, stats: h, toast: y, colors: v, welcomeScreen: S, colorPicker: w, overwriteConfirm: F, mermaid: k };
3
+ export {
4
+ r as alerts,
5
+ o as buttons,
6
+ l as canvasError,
7
+ m as clearCanvasDialog,
8
+ w as colorPicker,
9
+ v as colors,
10
+ b as confirmDialog,
11
+ T as default,
12
+ C as encrypted,
13
+ d as errorDialog,
14
+ n as errorSplash,
15
+ t as errors,
16
+ c as exportDialog,
17
+ u as headings,
18
+ B as helpDialog,
19
+ i as hints,
20
+ A as imageExportDialog,
21
+ e as labels,
22
+ a as library,
23
+ k as mermaid,
24
+ F as overwriteConfirm,
25
+ p as publishDialog,
26
+ g as publishSuccessDialog,
27
+ s as roomDialog,
28
+ h as stats,
29
+ y as toast,
30
+ D as toolBar,
31
+ S as welcomeScreen
32
+ };
@@ -0,0 +1,40 @@
1
+ import "./layers.BldgpPoA.js";
2
+ 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: '加上 "Made with Excalidraw" 浮水印', handDrawn: "手寫", normal: "一般", code: "代碼", small: "小", medium: "中", large: "大", veryLarge: "特大", solid: "實心", hachure: "斜線筆觸", zigzag: "Z字形", crossHatch: "交叉筆觸", thin: "細", bold: "粗", left: "左側", center: "置中", right: "右側", extraBold: "極粗", architect: "精確", artist: "藝術", cartoonist: "卡通", fileTitle: "檔案名稱", colorPicker: "色彩選擇工具", canvasColors: "使用於畫布", canvasBackground: "Canvas 背景", drawingCanvas: "繪圖 canvas", 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: "提示詞" }, F = { noItems: "尚未加入任何物件...", hint_emptyLibrary: "選取畫布上的物件以加入,或從下方的公開 repository 中安裝資料庫", hint_emptyPrivateLibrary: "選擇畫布上的物件以在此加入" }, e = { clearReset: "重置 canvas", 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: "點擊以互動" }, E = { clearReset: "這將會清除整個 canvas。你確定嗎?", couldNotCreateShareableLink: "無法建立共享連結。", couldNotCreateShareableLinkTooBig: "無法建立共享連結:場景太大", couldNotLoadInvalidFile: "無法讀取失效的檔案。", importBackendFailed: "後端讀取失敗。", cannotExportEmptyCanvas: "無法輸出空白的 canvas。", couldNotCopyToClipboard: "無法複製到剪貼簿", decryptFailed: "無法解密資料。", uploadedSecurly: "上傳已通過 end-to-end 加密,Excalidraw 伺服器和第三方無法皆讀取其內容。", loadSceneOverridePrompt: "讀取外部圖樣將取代目前的內容。是否要繼續?", collabStopOverridePrompt: `停止連線將覆蓋您先前於本機儲存的繪圖進度,是否確認?
3
+
4
+ (如要保留原有的本機繪圖進度,直接關閉瀏覽器分頁即可。)`, errorAddingToLibrary: "無法於此資料庫加入項目", errorRemovingFromLibrary: "無法由此資料庫移除項目", confirmAddLibrary: "這將會將 {{numShapes}} 個圖形加入你的資料庫,你確定嗎?", imageDoesNotContainScene: "此圖檔中未包含場景資料。輸出檔案時是否有包含場景資料?", cannotRestoreFromImage: "無法由此檔案回復場景。", invalidSceneUrl: "無法由提供的 URL 匯入場景。可能是發生異常,或未包含有效的 Excalidraw JSON 資料。", resetLibrary: "這會清除您的資料庫,是否確定?", removeItemsFromsLibrary: "從資料庫刪除 {{count}} 項?", invalidEncryptionKey: "加密鍵必須為22字元。即時協作已停用。", collabOfflineWarning: `沒有可用的網路連線。
5
+ 變更無法儲存!` }, C = { unsupportedFileType: "不支援的檔案類型。", imageInsertError: "無法插入圖片。請稍後再試…", fileTooBig: "檔案過大。可接受的最大尺寸為 {{maxSize}} 。", svgImageInsertError: "無法插入 SVG 圖片。此 SVG 檔案有問題。", failedToFetchImage: "無法獲取圖片。", invalidSVGString: "無效的 SVG。", cannotResolveCollabServer: "無法連結至 collab 伺服器。請重新整理後再試一次。", importLibraryError: "無法載入資料庫", collabSaveFailed: "無法儲存至後端資料庫。若此問題持續發生,請將檔案儲存於本機以確保資料不會遺失。", collabSaveFailed_sizeExceeded: "無法儲存至後端資料庫,可能的原因為畫布尺寸過大。請將檔案儲存於本機以確保資料不會遺失。", imageToolNotSupported: "圖片已停用", brave_measure_text_error: { line1: "看起來您開啟了 Brave 瀏覽器的 <bold>Aggressively Block Fingerprinting</bold> 設定。", line2: "這可能造成您畫布中 <bold>文字元素</bold> 的異常。", line3: "我們強烈建議您關閉此設定。您可以依照 <link>這些步驟</link> 來進行。", line4: "若關閉此設定並未修復文字元素的顯示問題,請回報於我們 GitHub 上的 <issueLink>issue</issueLink>,或在 <discordLink>Discord</discordLink> 上告訴我們。" }, libraryElementTypeError: { embeddable: "可嵌入元素無法加入資料庫", iframe: "IFrame 元素無法加入資料庫", image: "即將支援加入圖片至資料庫!" }, asyncPasteFailedOnRead: "無法貼上(無法由系統剪貼簿讀入)", asyncPasteFailedOnParse: "無法貼上", copyToSystemClipboardFailed: "無法複製至剪貼簿" }, A = { selection: "選取", image: "插入圖片", rectangle: "長方形", diamond: "菱形", ellipse: "橢圓", arrow: "箭頭", line: "線條", freedraw: "繪圖", text: "文字", library: "資料庫", lock: "可連續使用選取的工具", penMode: "筆模式 - 避免觸摸", link: "為所選的形狀增加\b/更新連結", eraser: "橡皮擦", frame: "框架工具", magicframe: "線框稿轉為程式碼", embeddable: "嵌入網站", laser: "雷射筆", hand: "手形(平移工具)", extraTools: "更多工具", mermaidToExcalidraw: "Mermaid 至 Excalidraw", magicSettings: "AI 設定" }, D = { canvasActions: "canvas 動作", selectedShapeActions: "選取圖形動作", shapes: "形狀" }, B = { canvasPanning: "若要移動畫布,請在拖曳時按住滑鼠滾輪或空白鍵,或使用手形工具", linearElement: "點擊以繪製多點曲線;或拖曳以繪製直線", freeDraw: "點擊並拖曳來繪圖,放開即結束", text: "提示:亦可使用選取工具在任何地方雙擊來加入文字", embeddable: "點擊並拖移以建立嵌入網站", text_selected: "雙擊滑鼠或按 Enter 以編輯文字", text_editing: "按跳脫鍵或 Ctrl 或 Cmd + Enter 以結束編輯", linearElementMulti: "按下 Escape 或 Enter 以結束繪製", lockAngle: "按住 SHIFT 可限制旋轉角度", resize: "縮放時按住 Shift 可保持原比例縮放;\\n按住 Alt 可由中心點進行縮放", resizeImage: "按住 SHIFT 可任意縮放,按住 ALT 可由中央縮放。", rotate: "旋轉時按住 Shift 可限制旋轉角度", lineEditor_info: "按住 Ctrl 或 Cmd 並雙擊或按住 Ctrl 或 Cmd + Enter 來編輯控制點", lineEditor_pointSelected: "按下 Delete 可移除錨點;Ctrl 或 Cmd + D 可複製;或可拖曳來移動", lineEditor_nothingSelected: `選擇要編輯的錨點(按住 SHIFT 可多選),
6
+ 或按住 Alt 並點擊以增加新錨點。`, placeImage: "點擊以放置圖片,或點擊並拖曳以手動調整其尺寸。", publishLibrary: "發布個人資料庫", bindTextToElement: "按下 Enter 以加入文字。", deepBoxSelect: "按住 Ctrl 或 Cmd 以深度選取並避免拖曳", eraserRevert: "按住 Alt 以反選取已標記待刪除的元素", firefox_clipboard_write: `此功能有機會透過將 "dom.events.asyncClipboard.clipboardItem" 設定為 "true" 來開啟。
7
+ 若要變更 Firefox 瀏覽器的此設定值,請至 "about:config" 頁面。`, disableSnapping: "按住 Ctrl 或 Cmd 以禁用吸附" }, a = { cannotShowPreview: "無法顯示預覽", canvasTooBig: "畫布可能過大", canvasTooBigTip: "提示:可嘗試將最遠的元素移動至較集中的位置" }, r = { headingMain: "發生錯誤,嘗試<button>重新載入頁面。</button>", clearCanvasMessage: "若重新載入仍無法解決問題,嘗試<button>清除 canvas。</button>", clearCanvasCaveat: "此動作將造成目前的作品被移除。", trackedToSentry: "此錯誤與其識別碼{{eventId}}將由系統記錄。", openIssueMessage: "我們將謹慎處理,你的作品內容不會被包含在錯誤報告中。若你的作品不需保持私密,請考慮使用我們的<button>bug tracker。</button>請將下列資訊複製貼上至 GitHub issue 中。", sceneContent: "作品內容:" }, t = { desc_intro: "你可以邀請其他人一起協作目前的作品。", desc_privacy: "連線使用 end-to-end 加密故無須擔心作品的安全性。即使是我們的伺服器也無法取得其內容。", button_startSession: "開始連線", button_stopSession: "停止連線", desc_inProgressIntro: "即時協作連線正在進行中。", desc_shareLink: "將此連結分享給欲協作的對象:", desc_exitSession: "停止連線將中斷你與協作會議室的連結,但你仍可於本機編輯此作品。意指停止連線後你的編輯不會被先前共同協作的人看見,且他們可繼續共同協作另一個版本。", shareTitle: "加入 Excalidraw 上的即時協作會議室" }, o = { title: "錯誤" }, i = { disk_title: "儲存至硬碟", disk_details: "將場景匯出為可供匯入之檔案", disk_button: "儲存至檔案", link_title: "可共享連結", link_details: "匯出為唯讀連結", link_button: "匯出為連結", excalidrawplus_description: "將此場景儲存至你的 Excalidraw+ 工作區", excalidrawplus_button: "輸出", excalidrawplus_exportError: "目前無法輸出至 Excalidraw+" }, l = { 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: "向左/右移動頁面" }, n = { title: "清除畫布" }, s = { title: "發布資料庫", itemName: "項目名稱", authorName: "作者名稱", githubUsername: "GitHub 帳號", twitterUsername: "Twitter 帳號", libraryName: "資料庫名稱", libraryDesc: "資料庫說明", website: "網站", placeholder: { authorName: "您的名稱或帳號", libraryName: "您的資料庫名稱", libraryDesc: "提供您的資料庫說明以利他人理解其用途", githubHandle: "Github handle(選填),填寫後您可編輯已送出待審查的資料庫", twitterHandle: "Twitter 帳號(選填),填寫後若我們在 Twitter 推廣時可提及您", website: "您個人網站或其他網站的連結(選填)" }, errors: { required: "必填", website: "請輸入有效的 URL" }, noteDescription: "送出您的資料庫後將被包含於<link>公開資料庫 repository</link>以利他人在其繪圖中使用。", noteGuidelines: "資料庫需先經人工審查。請閱讀<link>說明文件</link>再送出。若需溝通與修改時要透過 GitHub 帳號來進行,但並非強制需求。", noteLicense: "送出即代表您同意此資料庫將發布時使用 <link>MIT 授權,</link>簡單來說是指任何人都能不受限制的使用。", noteItems: "每個資料庫項目都有獨立的名稱故可篩選。會包含下列資料庫項目:", atleastOneLibItem: "請選擇至少一項資料庫項目", republishWarning: "注意:部分選取中的物件先前已發布/送出過。建議僅在要更新現存資料庫或已送出的物件時才重新送出這些物件。" }, d = { title: "資料庫已送出", content: "感謝 {{authorName}} 。您的資料庫已送出待審查。您可查看目前狀態<link>在此</link>" }, c = { resetLibrary: "重設資料庫", removeItemsFromLib: "從資料庫移除所選的項目" }, m = { header: "匯出圖片", label: { withBackground: "背景", onlySelected: "僅選取物件", darkMode: "深色模式", embedScene: "嵌入場景", scale: "縮放比例", padding: "內間距" }, tooltip: { embedScene: `用於回復場景的場景資料會被包含在輸出的 PNG/SVG 檔案中。
8
+ 會增加輸出的檔案大小。` }, title: { exportToPng: "輸出成 PNG", exportToSvg: "輸出成 SVG", copyPngToClipboard: "複製 PNG 至剪貼簿" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "複製至剪貼簿" } }, b = { tooltip: "你的作品已使用 end-to-end 方式加密,Excalidraw 的伺服器也無法取得其內容。", link: "Excalidraw 端到端加密的相關部落格文章" }, p = { angle: "角度", element: "元素", elements: "元素", height: "高度", scene: "場景", selected: "已選", storage: "儲存", title: "詳細統計", total: "合計", version: "版本", versionCopy: "點擊複製", versionNotAvailable: "無法取得版本", width: "寬度" }, g = { addedToLibrary: "加入資料庫", copyStyles: "已複製樣式", copyToClipboard: "複製至剪貼簿。", copyToClipboardAsPng: `以 PNG 格式將 {{exportSelection}} 複製至剪貼簿
9
+ ({{exportColorScheme}})`, fileSaved: "已儲存檔案。", fileSavedToFilename: "儲存為 {filename}", canvas: "畫布", selection: "已選項目", pasteAsSingleElement: `使用 {{shortcut}} 以做為單一物件貼上,
10
+ 或貼上至現有的文字編輯器`, unableToEmbed: "目前不允許嵌入此網址。您可至 GitHub 提出 issue 以要求將此網址加入合格名單。", unrecognizedLinkFormat: "您嵌入的連結格式不符。請嘗試貼入原網站所提供的「嵌入」字串。" }, h = { transparent: "透明", black: "黑", white: "白", red: "紅", pink: "粉紅", grape: "深紫", violet: "藍紫", gray: "灰", blue: "藍", cyan: "青", teal: "藍綠", green: "綠", yellow: "黃", orange: "橘", bronze: "銅" }, y = { app: { center_heading: "所有資料皆已在瀏覽器中儲存於本機", center_heading_plus: "您是否是要前往 Excalidraw+ ?", menuHint: "輸出、偏好設定、語言..." }, defaults: { menuHint: "輸出、偏好設定及其他...", center_heading: "圖表。製作。超簡單。", toolbarHint: "選個工具開始畫圖吧!", helpHint: "快速鍵與說明" } }, S = { mostUsedCustomColors: "最常使用的自訂顏色", colors: "顏色", shades: "漸變色", hexCode: "Hex 碼", noShades: "沒有此顏色的漸變色" }, v = { action: { exportToImage: { title: "匯出為圖片", button: "匯出為圖片", description: "將場景匯出為可供匯入的圖片檔案" }, saveToDisk: { title: "儲存至硬碟", button: "儲存至硬碟", description: "將場景匯出為可供匯入的檔案" }, excalidrawPlus: { title: "Excalidraw+", button: "匯出至 Excalidraw+", description: "將此場景儲存至您的 Excalidraw+ 工作區" } }, modal: { loadFromFile: { title: "從檔案載入", button: "從檔案載入", description: "從檔案載入將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。" }, shareableLink: { title: "從連結載入", button: "取代我的內容", description: "載入外部繪圖將<bold>取代您目前的內容</bold>。<br></br>可先使用下方的選項備份您的繪圖。" } } }, w = { title: "Mermaid 至 Excalidraw", button: "插入", description: "目前僅支援 <flowchartLink>Flowchart</flowchartLink> 、 <sequenceLink>Sequence</sequenceLink> 及 <classLink>Class </classLink> 圖表。其餘檔案類型在 Excalidraw 將會以圖像呈現。", syntax: "Mermaid 語法", preview: "預覽" }, x = { labels: u, library: F, buttons: e, alerts: E, errors: C, toolBar: A, headings: D, hints: B, canvasError: a, errorSplash: r, roomDialog: t, errorDialog: o, exportDialog: i, helpDialog: l, clearCanvasDialog: n, publishDialog: s, publishSuccessDialog: d, confirmDialog: c, imageExportDialog: m, encrypted: b, stats: p, toast: g, colors: h, welcomeScreen: y, colorPicker: S, overwriteConfirm: v, mermaid: w };
11
+ export {
12
+ E as alerts,
13
+ e as buttons,
14
+ a as canvasError,
15
+ n as clearCanvasDialog,
16
+ S as colorPicker,
17
+ h as colors,
18
+ c as confirmDialog,
19
+ x as default,
20
+ b as encrypted,
21
+ o as errorDialog,
22
+ r as errorSplash,
23
+ C as errors,
24
+ i as exportDialog,
25
+ D as headings,
26
+ l as helpDialog,
27
+ B as hints,
28
+ m as imageExportDialog,
29
+ u as labels,
30
+ F as library,
31
+ w as mermaid,
32
+ v as overwriteConfirm,
33
+ s as publishDialog,
34
+ d as publishSuccessDialog,
35
+ t as roomDialog,
36
+ p as stats,
37
+ g as toast,
38
+ A as toolBar,
39
+ y as welcomeScreen
40
+ };
@@ -0,0 +1,9 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./layers.B5VQ5ysd.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:"Cтрелка",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:"Режим Дзен",objectsSnapMode:"Привязка к объектам",exitZenMode:"Выключить режим концентрации внимания",cancel:"Отменить",clear:"Очистить",remove:"Удалить",embed:"",publishLibrary:"Опубликовать",submit:"Отправить",confirm:"Подтвердить",embeddableInteractionButton:""},D={clearReset:"Это очистит весь холст. Вы уверены?",couldNotCreateShareableLink:"Не удалось создать общедоступную ссылку.",couldNotCreateShareableLinkTooBig:"Нельзя создать ссылку, чтобы поделиться. Сцена слишком большая",couldNotLoadInvalidFile:"Не удалось загрузить недопустимый файл",importBackendFailed:"Не удалось импортировать из бэкэнда.",cannotExportEmptyCanvas:"Не может экспортировать пустой холст.",couldNotCopyToClipboard:"Не удалось скопировать в буфер обмена.",decryptFailed:"Не удалось расшифровать данные.",uploadedSecurly:"Загружаемые данные защищена сквозным шифрованием, что означает, что сервер Excalidraw и третьи стороны не могут прочитать содержимое.",loadSceneOverridePrompt:"Загрузка рисунка приведёт к замене имеющегося содержимого. Вы хотите продолжить?",collabStopOverridePrompt:`Остановка сессии перезапишет ваш предыдущий, локально сохранённый рисунок. Вы уверены?
2
+
3
+ (Если вы хотите оставить ваш локальный рисунок, просто закройте вкладку браузера)`,errorAddingToLibrary:"Не удалось добавить объект в библиотеку",errorRemovingFromLibrary:"Не удалось удалить объект из библиотеки",confirmAddLibrary:"Будет добавлено {{numShapes}} фигур в вашу библиотеку. Продолжить?",imageDoesNotContainScene:"Это изображение не содержит данных сцены. Вы включили встраивание сцены во время экспорта?",cannotRestoreFromImage:"Сцена не может быть восстановлена из этого изображения",invalidSceneUrl:"Невозможно импортировать сцену с предоставленного URL. Неверный формат, или не содержит верных Excalidraw JSON данных.",resetLibrary:"Это очистит вашу библиотеку. Вы уверены?",removeItemsFromsLibrary:"Удалить {{count}} объект(ов) из библиотеки?",invalidEncryptionKey:"Ключ шифрования должен состоять из 22 символов. Одновременное редактирование отключено.",collabOfflineWarning:`Отсутствует интернет-соединение.
4
+ Ваши изменения не будут сохранены!`},B={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>issue</issueLink> на нашем GitHub или напишите нам в <discordLink>Discord</discordLink>"},libraryElementTypeError:{embeddable:"",iframe:"Элементы IFrame не могут быть добавлены в библиотеку.",image:""},asyncPasteFailedOnRead:"Не удалось вставить (невозможно прочитать из системного буфера обмена).",asyncPasteFailedOnParse:"Не удалось вставить.",copyToSystemClipboardFailed:"Не удалось скопировать в буфер обмена."},C={selection:"Выделение области",image:"Вставить изображение",rectangle:"Прямоугольник",diamond:"Ромб",ellipse:"Эллипс",arrow:"Cтрелка",line:"Линия",freedraw:"Чертить",text:"Текст",library:"Библиотека",lock:"Сохранять выбранный инструмент активным после рисования",penMode:"Режим пера - предотвращение касания",link:"Добавить/обновить ссылку для выбранной фигуры",eraser:"Ластик",frame:"",magicframe:"",embeddable:"",laser:"Лазерная указка",hand:"Рука (перемещение холста)",extraTools:"",mermaidToExcalidraw:"Из Mermaid в Excalidraw",magicSettings:"Параметры AI"},r={canvasActions:"Операции холста",selectedShapeActions:"Операции выбранной фигуры",shapes:"Фигуры"},t={canvasPanning:'Чтобы двигать холст, удерживайте колесо мыши или пробел во время перетаскивания, или используйте инструмент "Рука"',linearElement:"Нажмите, чтобы начать несколько точек, перетащите для одной линии",freeDraw:"Нажмите и перетаскивайте, отпустите по завершении",text:"Совет: при выбранном инструменте выделения дважды щёлкните в любом месте, чтобы добавить текст",embeddable:"",text_selected:"Дважды щелкните мышью или нажмите ENTER, чтобы редактировать текст",text_editing:"Нажмите Escape либо Ctrl или Cmd + ENTER для завершения редактирования",linearElementMulti:"Кликните на последней точке или нажмите Escape или Enter чтобы закончить",lockAngle:"Вы можете ограничить угол удерживая SHIFT",resize:`Вы можете ограничить пропорции, удерживая SHIFT во время изменения размеров,
5
+ удерживайте ALT чтобы изменить размер из центра`,resizeImage:`Вы можете свободно изменять размеры, удерживая кнопку SHIFT,
6
+ удерживайте кнопку ALT, чтобы изменять размер относительно центра`,rotate:"Вы можете ограничить углы, удерживая SHIFT во время вращения",lineEditor_info:"Удерживайте CtrlOrCmd и дважды кликните или нажмите CtrlOrCmd + Enter для редактирования точек",lineEditor_pointSelected:`Нажмите Delete для удаления точки (точек),
7
+ Ctrl+D или Cmd+D для дублирования, перетащите для перемещения`,lineEditor_nothingSelected:`Выберите точку для редактирования (удерживайте SHIFT выбора нескольких точек),
8
+ или удерживайте Alt и кликните для добавления новых точек`,placeImage:"Щелкните, чтобы разместить изображение, или нажмите и перетащите, чтобы установить его размер вручную",publishLibrary:"Опубликовать свою собственную библиотеку",bindTextToElement:"Нажмите Enter для добавления текста",deepBoxSelect:"Удерживайте Ctrl или Cmd для глубокого выделения, чтобы предотвратить перетаскивание",eraserRevert:"Удерживайте Alt, чтобы вернуть элементы, отмеченные для удаления",firefox_clipboard_write:'Эта функция может быть включена при изменении значения флага "dom.events.asyncClipboard.clipboardItem" на "true". Чтобы изменить флаги браузера в Firefox, посетите страницу "about:config".',disableSnapping:""},F={cannotShowPreview:"Не удается отобразить предпросмотр",canvasTooBig:"Сцена слишком большая.",canvasTooBigTip:"Совет: попробуйте сблизить элементы рисунка."},o={headingMain:"Возникла ошибка. Попробуйте <button>перезагрузить страницу.</button>",clearCanvasMessage:"Если перезагрузка страницы не помогла, попробуйте <button>очистить холст.</button>",clearCanvasCaveat:" Текущая работа будет утеряна ",trackedToSentry:"Ошибка с идентификатором {{eventId}} отслеживается в нашей системе.",openIssueMessage:"Для безопасности информация о вашей сцене не включена в ошибку. Если в сцене нет ничего конфиденциального, пожалуйста следуйте нашим <button>баг трекере.</button> Пожалуйста, приложите информацию ниже, скопировав и вставив её, в issue GitHub.",sceneContent:"Содержание сцены:"},a={desc_intro:"Вы можете пригласить людей в текущую сцену для совместной работы.",desc_privacy:"Не беспокойтесь — во время сеанса используется сквозное шифрование. Всё, что вы нарисуете, останется конфиденциальным и не будет доступно даже нашему серверу.",button_startSession:"Начать сеанс",button_stopSession:"Завершить сеанс",desc_inProgressIntro:"Сеанс совместной работы запущен.",desc_shareLink:"Поделитесь этой ссылкой со всеми участниками:",desc_exitSession:"Завершив сеанс, вы выйдете из комнаты, но сможете продолжить работать с документом локально. Это не повлияет на работу других пользователей — они смогут продолжить совместную работу с их версией документа.",shareTitle:"Присоединиться к активной совместной сессии на Excalidraw"},i={title:"Ошибка"},A={disk_title:"Сохранить на диск",disk_details:"Экспортировать данные сцены в файл, из которого можно импортировать позже.",disk_button:"Сохранить в файл",link_title:"Поделитесь ссылкой",link_details:"Экспорт ссылки только для чтения.",link_button:"Экспорт в ссылку",excalidrawplus_description:"Сохраните сцену в ваше рабочее пространство Excalidraw+.",excalidrawplus_button:"Экспорт",excalidrawplus_exportError:"Не удалось экспортировать в Excalidraw+ на данный момент..."},l={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:"Сдвинуть страницу вправо/влево"},n={title:"Очистить холст"},d={title:"Опубликовать библиотеку",itemName:"Название объекта",authorName:"Имя автора",githubUsername:"Имя пользователя GitHub",twitterUsername:"Имя пользователя в Twitter",libraryName:"Название библиотеки",libraryDesc:"Описание библиотеки",website:"Веб-сайт",placeholder:{authorName:"Ваше имя или имя пользователя",libraryName:"Название вашей библиотеки",libraryDesc:"Описание вашей библиотеки, которое поможет людям понять её назначение",githubHandle:"Имя пользователя GitHub (необязательно), чтобы вы смогли редактировать библиотеку после её отправки на проверку",twitterHandle:"Имя пользователя в Twitter (необязательно), чтобы мы знали, кого упомянуть при продвижении в Twitter",website:"Ссылка на ваш личный или какой-то другой сайт (необязательно)"},errors:{required:"Обязательно",website:"Введите допустимый URL-адрес"},noteDescription:"Отправить вашу библиотеку для включения в <link>хранилище публичных библиотек</link>, чтобы другие люди могли использовать объекты из вашей библиотеки в своих рисунках.",noteGuidelines:"Библиотека должна быть подтверждена вручную. Пожалуйста, прочтите <link>рекомендации</link> перед отправкой. Вам понадобится учетная запись GitHub, чтобы общаться и вносить изменения при необходимости, но это не обязательно.",noteLicense:"Выполняя отправку, вы соглашаетесь с тем, что библиотека будет опубликована под <link>лицензией MIT, </link>, что, вкратце, означает, что каждый может использовать её без ограничений.",noteItems:"Каждый объект в библиотеке должен иметь свое собственное имя, чтобы по нему можно было фильтровать. Следующие объекты библиотеки будут включены:",atleastOneLibItem:"Пожалуйста, выберите хотя бы один объект в библиотеке, чтобы начать",republishWarning:"Примечание: некоторые из выбранных элементов помечены как уже опубликованные/отправленные. Вы должны повторно отправить элементы только при обновлении существующей библиотеки или сдаче работы."},s={title:"Библиотека отправлена",content:"Благодарим вас, {{authorName}}. Ваша библиотека была отправлена на проверку. Вы можете отслеживать статус<link>здесь</link>"},c={resetLibrary:"Сброс библиотеки",removeItemsFromLib:"Удалить выбранные объекты из библиотеки"},m={header:"Экспортировать изображение",label:{withBackground:"Фон",onlySelected:"Только выделенное",darkMode:"Темная тема",embedScene:"Встроить сцену",scale:"Масштаб",padding:"Отступ"},tooltip:{embedScene:"Сцена будет сохранена в PNG/SVG файл так, чтобы всю сцену можно будет восстановить из этого файла. Это увеличит размер файла."},title:{exportToPng:"Экспорт в PNG",exportToSvg:"Экспорт в SVG",copyPngToClipboard:"Скопировать PNG в буфер обмена"},button:{exportToPng:"PNG",exportToSvg:"SVG",copyPngToClipboard:"Скопировать в буфер обмена"}},b={tooltip:"Ваши данные защищены сквозным (End-to-end) шифрованием. Серверы Excalidraw никогда не получат доступ к ним.",link:"Запись блога о сквозном шифровании в Excalidraw"},p={angle:"Угол",element:"Элемент",elements:"Элементы",height:"Высота",scene:"Сцены",selected:"Выбран",storage:"Хранилище",title:"Статистика для ботаников",total:"Всего",version:"Версия",versionCopy:"Копировать",versionNotAvailable:"Версия не доступна",width:"Ширина"},g={addedToLibrary:"Добавлено в библиотеку",copyStyles:"Скопированы стили.",copyToClipboard:"Скопировано в буфер обмена.",copyToClipboardAsPng:"{{exportSelection}} скопировано как PNG ({{exportColorScheme}})",fileSaved:"Файл сохранён.",fileSavedToFilename:"Сохранено в {filename}",canvas:"холст",selection:"выделение",pasteAsSingleElement:`Используйте {{shortcut}}, чтобы вставить один объект,
9
+ или вставьте в существующий текстовый редактор`,unableToEmbed:"",unrecognizedLinkFormat:""},h={transparent:"Прозрачный",black:"Чёрный",white:"Белый",red:"Красный",pink:"Розовый",grape:"Виноградный",violet:"Фиолетовый",gray:"Серый",blue:"Синий",cyan:"Голубой",teal:"Бирюзовый",green:"Зелёный",yellow:"Жёлтый",orange:"Оранжевый",bronze:"Бронзовый"},S={app:{center_heading:"Все ваши данные сохраняются локально в вашем браузере.",center_heading_plus:"Хотите перейти на Excalidraw+?",menuHint:"Экспорт, настройки, языки, ..."},defaults:{menuHint:"Экспорт, настройки и другое...",center_heading:"Диаграммы. Просто.",toolbarHint:"Выберите инструмент и начните рисовать!",helpHint:"Сочетания клавиш и помощь"}},y={mostUsedCustomColors:"Часто используемые пользовательские цвета",colors:"Цвета",shades:"Оттенки",hexCode:"Шестнадцатеричный код",noShades:"Нет доступных оттенков для этого цвета"},v={action:{exportToImage:{title:"Экспортировать как изображение",button:"Экспортировать как изображение",description:""},saveToDisk:{title:"Сохранить на диск",button:"Сохранить на диск",description:""},excalidrawPlus:{title:"Excalidraw+",button:"Экспорт в Excalidraw+",description:""}},modal:{loadFromFile:{title:"Загрузить из файла",button:"Загрузить из файла",description:""},shareableLink:{title:"Загрузить по ссылке",button:"",description:""}}},w={title:"Из Mermaid в Excalidraw",button:"Вставить",description:"",syntax:"Синтаксис Mermaid",preview:"Предпросмотр"},x={labels:u,library:E,buttons:e,alerts:D,errors:B,toolBar:C,headings:r,hints:t,canvasError:F,errorSplash:o,roomDialog:a,errorDialog:i,exportDialog:A,helpDialog:l,clearCanvasDialog:n,publishDialog:d,publishSuccessDialog:s,confirmDialog:c,imageExportDialog:m,encrypted:b,stats:p,toast:g,colors:h,welcomeScreen:S,colorPicker:y,overwriteConfirm:v,mermaid:w};exports.alerts=D;exports.buttons=e;exports.canvasError=F;exports.clearCanvasDialog=n;exports.colorPicker=y;exports.colors=h;exports.confirmDialog=c;exports.default=x;exports.encrypted=b;exports.errorDialog=i;exports.errorSplash=o;exports.errors=B;exports.exportDialog=A;exports.headings=r;exports.helpDialog=l;exports.hints=t;exports.imageExportDialog=m;exports.labels=u;exports.library=E;exports.mermaid=w;exports.overwriteConfirm=v;exports.publishDialog=d;exports.publishSuccessDialog=s;exports.roomDialog=a;exports.stats=p;exports.toast=g;exports.toolBar=C;exports.welcomeScreen=S;
@@ -0,0 +1,32 @@
1
+ import "./layers.BldgpPoA.js";
2
+ var e = { paste: "貼上", pasteAsPlaintext: "", pasteCharts: "貼上圖表", selectAll: "全選", multiSelect: "多重選取", moveCanvas: "移動畫布", cut: "剪下", copy: "複製", copyAsPng: "以 PNG 格式複製", copyAsSvg: "以 SVG 格式複製", copyText: "", copySource: "", convertToCode: "", bringForward: "往上一層移動", sendToBack: "移到最底層", bringToFront: "移到最上層", sendBackward: "往下一層移動", delete: "刪除", copyStyles: "複製樣式", pasteStyles: "套用樣式", stroke: "筆跡顏色", background: "填充顏色", fill: "背景樣式", strokeWidth: "筆跡寬度", strokeStyle: "筆跡線條", strokeStyle_solid: "實線", strokeStyle_dashed: "虛線(較密)", strokeStyle_dotted: "虛線(較疏)", sloppiness: "筆跡風格", opacity: "透明度", textAlign: "文字對齊", edges: "邊角樣式", sharp: "銳角", round: "圓角", arrowheads: "箭嘴", arrowhead_none: "無箭嘴", arrowhead_arrow: "普通箭嘴", arrowhead_bar: "平頭條狀", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "三角箭嘴", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "字型大小", fontFamily: "字體", addWatermark: "加入「使用 Excalidraw 製圖」水印", handDrawn: "手繪體", normal: "電腦字體", code: "等寬體", small: "細", medium: "中", large: "大", veryLarge: "勁大", solid: "實心", hachure: "斜線", zigzag: "", crossHatch: "交叉格仔", thin: "幼", bold: "粗", left: "靠左對齊", center: "置中對齊", right: "靠右對齊", extraBold: "勁粗", architect: "手繪風格", artist: "藝術家風格", cartoonist: "卡通風格", fileTitle: "檔案名稱", colorPicker: "", canvasColors: "", canvasBackground: "畫布背景顏色", drawingCanvas: "畫布", layers: "圖層", actions: "動作", language: "🌏 語言", liveCollaboration: "", duplicateSelection: "製作副本", untitled: "未命名的作品", name: "", yourName: "你的名稱", madeWithExcalidraw: "使用 Excalidraw 製圖", group: "建立物件群組", ungroup: "取消物件群組", collaborators: "已連線的協作者", showGrid: "顯示網格", addToLibrary: "加入作品庫", removeFromLibrary: "從作品庫中移除", libraryLoadingMessage: "正在載入作品庫…", libraries: "瀏覽作品庫", loadingScene: "載入畫布中…", align: "物件對齊", alignTop: "水平置頂", alignBottom: "水平置底", alignLeft: "垂直靠左對齊", alignRight: "垂直靠右對齊", centerVertically: "垂直置中", centerHorizontally: "水平置中", distributeHorizontally: "左右等距", distributeVertically: "上下等距", flipHorizontal: "左右反轉", flipVertical: "上下反轉", viewMode: "唯讀模式", share: "", showStroke: "", showBackground: "", toggleTheme: "", personalLib: "", excalidrawLib: "", decreaseFontSize: "", increaseFontSize: "", unbindText: "", bindText: "", createContainerFromText: "", link: { edit: "", editEmbed: "", create: "", createEmbed: "", label: "", labelEmbed: "", empty: "" }, lineEditor: { edit: "", exit: "" }, elementLock: { lock: "", unlock: "", lockAll: "", unlockAll: "" }, statusPublished: "", sidebarLock: "", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, u = { noItems: "", hint_emptyLibrary: "", hint_emptyPrivateLibrary: "" }, a = { 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: "" }, r = { 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: "" }, t = { selection: "", image: "", rectangle: "", diamond: "", ellipse: "", arrow: "", line: "", freedraw: "", text: "", library: "", lock: "", penMode: "", link: "", eraser: "", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, i = { canvasActions: "畫布動作", selectedShapeActions: "", shapes: "" }, l = { 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: "" }, n = { cannotShowPreview: "無法顯示預覽", canvasTooBig: "塊畫布太大啦,縮細啲先啦?", canvasTooBigTip: "" }, s = { headingMain: "", clearCanvasMessage: "如果重新整理頁面都係睇唔到,你可以<button>清空畫布</button>", clearCanvasCaveat: "(注意:呢個動作會直接丟棄你嘅作品,並且無法復原)", trackedToSentry: "", openIssueMessage: "", sceneContent: "" }, d = { desc_intro: "", desc_privacy: "", button_startSession: "", button_stopSession: "", desc_inProgressIntro: "", desc_shareLink: "", desc_exitSession: "", shareTitle: "" }, c = { title: "" }, F = { disk_title: "", disk_details: "", disk_button: "", link_title: "", link_details: "", link_button: "", excalidrawplus_description: "", excalidrawplus_button: "", excalidrawplus_exportError: "" }, m = { 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: "" }, p = { title: "" }, E = { title: "", itemName: "", authorName: "", githubUsername: "", twitterUsername: "", libraryName: "", libraryDesc: "", website: "", placeholder: { authorName: "", libraryName: "", libraryDesc: "", githubHandle: "", twitterHandle: "", website: "" }, errors: { required: "", website: "" }, noteDescription: "", noteGuidelines: "", noteLicense: "", noteItems: "", atleastOneLibItem: "", republishWarning: "" }, g = { title: "", content: "" }, D = { resetLibrary: "", removeItemsFromLib: "" }, b = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, C = { tooltip: "", link: "" }, A = { angle: "", element: "", elements: "", height: "", scene: "", selected: "", storage: "", title: "", total: "", version: "", versionCopy: "", versionNotAvailable: "", width: "" }, B = { addedToLibrary: "", copyStyles: "", copyToClipboard: "", copyToClipboardAsPng: "", fileSaved: "", fileSavedToFilename: "", canvas: "畫布", selection: "", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, h = { transparent: "", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "", green: "", yellow: "", orange: "", bronze: "" }, y = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, v = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, S = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, w = { title: "", button: "", description: "", syntax: "", preview: "" }, x = { labels: e, library: u, buttons: a, alerts: o, errors: r, toolBar: t, headings: i, hints: l, canvasError: n, errorSplash: s, roomDialog: d, errorDialog: c, exportDialog: F, helpDialog: m, clearCanvasDialog: p, publishDialog: E, publishSuccessDialog: g, confirmDialog: D, imageExportDialog: b, encrypted: C, stats: A, toast: B, colors: h, welcomeScreen: y, colorPicker: v, overwriteConfirm: S, mermaid: w };
3
+ export {
4
+ o as alerts,
5
+ a as buttons,
6
+ n as canvasError,
7
+ p as clearCanvasDialog,
8
+ v as colorPicker,
9
+ h as colors,
10
+ D as confirmDialog,
11
+ x as default,
12
+ C as encrypted,
13
+ c as errorDialog,
14
+ s as errorSplash,
15
+ r as errors,
16
+ F as exportDialog,
17
+ i as headings,
18
+ m as helpDialog,
19
+ l as hints,
20
+ b as imageExportDialog,
21
+ e as labels,
22
+ u as library,
23
+ w as mermaid,
24
+ S as overwriteConfirm,
25
+ E as publishDialog,
26
+ g as publishSuccessDialog,
27
+ d as roomDialog,
28
+ A as stats,
29
+ B as toast,
30
+ t as toolBar,
31
+ y as welcomeScreen
32
+ };
@@ -0,0 +1,220 @@
1
+ import { s as A, d as S, p as G } from "./layers.DYJhYqR2.js";
2
+ import { g as v, l as y, d as B, e as W, r as $, u as M, X as I } from "./layers.Dwrpihyi.js";
3
+ import "lodash-es";
4
+ import { l as X } from "./layers.D4fGb2cV.js";
5
+ import { G as O } from "./layers.C7lIplJU.js";
6
+ import "./layers.BldgpPoA.js";
7
+ import { l as P } from "./layers.CZianMah.js";
8
+ let H = 0;
9
+ const Y = function(i, a, t, o, p) {
10
+ const g = function(e) {
11
+ switch (e) {
12
+ case p.db.relationType.AGGREGATION:
13
+ return "aggregation";
14
+ case p.db.relationType.EXTENSION:
15
+ return "extension";
16
+ case p.db.relationType.COMPOSITION:
17
+ return "composition";
18
+ case p.db.relationType.DEPENDENCY:
19
+ return "dependency";
20
+ case p.db.relationType.LOLLIPOP:
21
+ return "lollipop";
22
+ }
23
+ };
24
+ a.points = a.points.filter((e) => !Number.isNaN(e.y));
25
+ const s = a.points, c = P().x(function(e) {
26
+ return e.x;
27
+ }).y(function(e) {
28
+ return e.y;
29
+ }).curve($), n = i.append("path").attr("d", c(s)).attr("id", "edge" + H).attr("class", "relation");
30
+ let r = "";
31
+ o.arrowMarkerAbsolute && (r = window.location.protocol + "//" + window.location.host + window.location.pathname + window.location.search, r = r.replace(/\(/g, "\\("), r = r.replace(/\)/g, "\\)")), t.relation.lineType == 1 && n.attr("class", "relation dashed-line"), t.relation.lineType == 10 && n.attr("class", "relation dotted-line"), t.relation.type1 !== "none" && n.attr(
32
+ "marker-start",
33
+ "url(" + r + "#" + g(t.relation.type1) + "Start)"
34
+ ), t.relation.type2 !== "none" && n.attr(
35
+ "marker-end",
36
+ "url(" + r + "#" + g(t.relation.type2) + "End)"
37
+ );
38
+ let f, h;
39
+ const x = a.points.length;
40
+ let b = M.calcLabelPosition(a.points);
41
+ f = b.x, h = b.y;
42
+ let u, m, w, k;
43
+ if (x % 2 !== 0 && x > 1) {
44
+ let e = M.calcCardinalityPosition(
45
+ t.relation.type1 !== "none",
46
+ a.points,
47
+ a.points[0]
48
+ ), d = M.calcCardinalityPosition(
49
+ t.relation.type2 !== "none",
50
+ a.points,
51
+ a.points[x - 1]
52
+ );
53
+ y.debug("cardinality_1_point " + JSON.stringify(e)), y.debug("cardinality_2_point " + JSON.stringify(d)), u = e.x, m = e.y, w = d.x, k = d.y;
54
+ }
55
+ if (t.title !== void 0) {
56
+ const e = i.append("g").attr("class", "classLabel"), d = e.append("text").attr("class", "label").attr("x", f).attr("y", h).attr("fill", "red").attr("text-anchor", "middle").text(t.title);
57
+ window.label = d;
58
+ const l = d.node().getBBox();
59
+ e.insert("rect", ":first-child").attr("class", "box").attr("x", l.x - o.padding / 2).attr("y", l.y - o.padding / 2).attr("width", l.width + o.padding).attr("height", l.height + o.padding);
60
+ }
61
+ y.info("Rendering relation " + JSON.stringify(t)), t.relationTitle1 !== void 0 && t.relationTitle1 !== "none" && i.append("g").attr("class", "cardinality").append("text").attr("class", "type1").attr("x", u).attr("y", m).attr("fill", "black").attr("font-size", "6").text(t.relationTitle1), t.relationTitle2 !== void 0 && t.relationTitle2 !== "none" && i.append("g").attr("class", "cardinality").append("text").attr("class", "type2").attr("x", w).attr("y", k).attr("fill", "black").attr("font-size", "6").text(t.relationTitle2), H++;
62
+ }, J = function(i, a, t, o) {
63
+ y.debug("Rendering class ", a, t);
64
+ const p = a.id, g = {
65
+ id: p,
66
+ label: a.id,
67
+ width: 0,
68
+ height: 0
69
+ }, s = i.append("g").attr("id", o.db.lookUpDomId(p)).attr("class", "classGroup");
70
+ let c;
71
+ a.link ? c = s.append("svg:a").attr("xlink:href", a.link).attr("target", a.linkTarget).append("text").attr("y", t.textHeight + t.padding).attr("x", 0) : c = s.append("text").attr("y", t.textHeight + t.padding).attr("x", 0);
72
+ let n = !0;
73
+ a.annotations.forEach(function(d) {
74
+ const l = c.append("tspan").text("«" + d + "»");
75
+ n || l.attr("dy", t.textHeight), n = !1;
76
+ });
77
+ let r = C(a);
78
+ const f = c.append("tspan").text(r).attr("class", "title");
79
+ n || f.attr("dy", t.textHeight);
80
+ const h = c.node().getBBox().height;
81
+ let x, b, u;
82
+ if (a.members.length > 0) {
83
+ x = s.append("line").attr("x1", 0).attr("y1", t.padding + h + t.dividerMargin / 2).attr("y2", t.padding + h + t.dividerMargin / 2);
84
+ const d = s.append("text").attr("x", t.padding).attr("y", h + t.dividerMargin + t.textHeight).attr("fill", "white").attr("class", "classText");
85
+ n = !0, a.members.forEach(function(l) {
86
+ _(d, l, n, t), n = !1;
87
+ }), b = d.node().getBBox();
88
+ }
89
+ if (a.methods.length > 0) {
90
+ u = s.append("line").attr("x1", 0).attr("y1", t.padding + h + t.dividerMargin + b.height).attr("y2", t.padding + h + t.dividerMargin + b.height);
91
+ const d = s.append("text").attr("x", t.padding).attr("y", h + 2 * t.dividerMargin + b.height + t.textHeight).attr("fill", "white").attr("class", "classText");
92
+ n = !0, a.methods.forEach(function(l) {
93
+ _(d, l, n, t), n = !1;
94
+ });
95
+ }
96
+ const m = s.node().getBBox();
97
+ var w = " ";
98
+ a.cssClasses.length > 0 && (w = w + a.cssClasses.join(" "));
99
+ const e = s.insert("rect", ":first-child").attr("x", 0).attr("y", 0).attr("width", m.width + 2 * t.padding).attr("height", m.height + t.padding + 0.5 * t.dividerMargin).attr("class", w).node().getBBox().width;
100
+ return c.node().childNodes.forEach(function(d) {
101
+ d.setAttribute("x", (e - d.getBBox().width) / 2);
102
+ }), a.tooltip && c.insert("title").text(a.tooltip), x && x.attr("x2", e), u && u.attr("x2", e), g.width = e, g.height = m.height + t.padding + 0.5 * t.dividerMargin, g;
103
+ }, C = function(i) {
104
+ let a = i.id;
105
+ return i.type && (a += "<" + I(i.type) + ">"), a;
106
+ }, Z = function(i, a, t, o) {
107
+ y.debug("Rendering note ", a, t);
108
+ const p = a.id, g = {
109
+ id: p,
110
+ text: a.text,
111
+ width: 0,
112
+ height: 0
113
+ }, s = i.append("g").attr("id", p).attr("class", "classGroup");
114
+ let c = s.append("text").attr("y", t.textHeight + t.padding).attr("x", 0);
115
+ const n = JSON.parse(`"${a.text}"`).split(`
116
+ `);
117
+ n.forEach(function(x) {
118
+ y.debug(`Adding line: ${x}`), c.append("tspan").text(x).attr("class", "title").attr("dy", t.textHeight);
119
+ });
120
+ const r = s.node().getBBox(), h = s.insert("rect", ":first-child").attr("x", 0).attr("y", 0).attr("width", r.width + 2 * t.padding).attr(
121
+ "height",
122
+ r.height + n.length * t.textHeight + t.padding + 0.5 * t.dividerMargin
123
+ ).node().getBBox().width;
124
+ return c.node().childNodes.forEach(function(x) {
125
+ x.setAttribute("x", (h - x.getBBox().width) / 2);
126
+ }), g.width = h, g.height = r.height + n.length * t.textHeight + t.padding + 0.5 * t.dividerMargin, g;
127
+ }, _ = function(i, a, t, o) {
128
+ const { displayText: p, cssStyle: g } = a.getDisplayDetails(), s = i.append("tspan").attr("x", o.padding).text(p);
129
+ g !== "" && s.attr("style", a.cssStyle), t || s.attr("dy", o.textHeight);
130
+ }, N = {
131
+ getClassTitleString: C,
132
+ drawClass: J,
133
+ drawEdge: Y,
134
+ drawNote: Z
135
+ };
136
+ let T = {};
137
+ const E = 20, L = function(i) {
138
+ const a = Object.entries(T).find((t) => t[1].label === i);
139
+ if (a)
140
+ return a[0];
141
+ }, R = function(i) {
142
+ i.append("defs").append("marker").attr("id", "extensionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 1,7 L18,13 V 1 Z"), i.append("defs").append("marker").attr("id", "extensionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 1,1 V 13 L18,7 Z"), i.append("defs").append("marker").attr("id", "compositionStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "compositionEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "aggregationStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "aggregationEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "dependencyStart").attr("class", "extension").attr("refX", 0).attr("refY", 7).attr("markerWidth", 190).attr("markerHeight", 240).attr("orient", "auto").append("path").attr("d", "M 5,7 L9,13 L1,7 L9,1 Z"), i.append("defs").append("marker").attr("id", "dependencyEnd").attr("refX", 19).attr("refY", 7).attr("markerWidth", 20).attr("markerHeight", 28).attr("orient", "auto").append("path").attr("d", "M 18,7 L9,13 L14,7 L9,1 Z");
143
+ }, F = function(i, a, t, o) {
144
+ const p = v().class;
145
+ T = {}, y.info("Rendering diagram " + i);
146
+ const g = v().securityLevel;
147
+ let s;
148
+ g === "sandbox" && (s = B("#i" + a));
149
+ const c = g === "sandbox" ? B(s.nodes()[0].contentDocument.body) : B("body"), n = c.select(`[id='${a}']`);
150
+ R(n);
151
+ const r = new O({
152
+ multigraph: !0
153
+ });
154
+ r.setGraph({
155
+ isMultiGraph: !0
156
+ }), r.setDefaultEdgeLabel(function() {
157
+ return {};
158
+ });
159
+ const f = o.db.getClasses(), h = Object.keys(f);
160
+ for (const e of h) {
161
+ const d = f[e], l = N.drawClass(n, d, p, o);
162
+ T[l.id] = l, r.setNode(l.id, l), y.info("Org height: " + l.height);
163
+ }
164
+ o.db.getRelations().forEach(function(e) {
165
+ y.info(
166
+ // cspell:ignore tjoho
167
+ "tjoho" + L(e.id1) + L(e.id2) + JSON.stringify(e)
168
+ ), r.setEdge(
169
+ L(e.id1),
170
+ L(e.id2),
171
+ {
172
+ relation: e
173
+ },
174
+ e.title || "DEFAULT"
175
+ );
176
+ }), o.db.getNotes().forEach(function(e) {
177
+ y.debug(`Adding note: ${JSON.stringify(e)}`);
178
+ const d = N.drawNote(n, e, p, o);
179
+ T[d.id] = d, r.setNode(d.id, d), e.class && e.class in f && r.setEdge(
180
+ e.id,
181
+ L(e.class),
182
+ {
183
+ relation: {
184
+ id1: e.id,
185
+ id2: e.class,
186
+ relation: {
187
+ type1: "none",
188
+ type2: "none",
189
+ lineType: 10
190
+ }
191
+ }
192
+ },
193
+ "DEFAULT"
194
+ );
195
+ }), X(r), r.nodes().forEach(function(e) {
196
+ e !== void 0 && r.node(e) !== void 0 && (y.debug("Node " + e + ": " + JSON.stringify(r.node(e))), c.select("#" + (o.db.lookUpDomId(e) || e)).attr(
197
+ "transform",
198
+ "translate(" + (r.node(e).x - r.node(e).width / 2) + "," + (r.node(e).y - r.node(e).height / 2) + " )"
199
+ ));
200
+ }), r.edges().forEach(function(e) {
201
+ e !== void 0 && r.edge(e) !== void 0 && (y.debug("Edge " + e.v + " -> " + e.w + ": " + JSON.stringify(r.edge(e))), N.drawEdge(n, r.edge(e), r.edge(e).relation, p, o));
202
+ });
203
+ const u = n.node().getBBox(), m = u.width + E * 2, w = u.height + E * 2;
204
+ W(n, w, m, p.useMaxWidth);
205
+ const k = `${u.x - E} ${u.y - E} ${m} ${w}`;
206
+ y.debug(`viewBox ${k}`), n.attr("viewBox", k);
207
+ }, U = {
208
+ draw: F
209
+ }, tt = {
210
+ parser: G,
211
+ db: S,
212
+ renderer: U,
213
+ styles: A,
214
+ init: (i) => {
215
+ i.class || (i.class = {}), i.class.arrowMarkerAbsolute = i.arrowMarkerAbsolute, S.clear();
216
+ }
217
+ };
218
+ export {
219
+ tt as diagram
220
+ };
@@ -0,0 +1 @@
1
+ "use strict";const ae=require("lodash-es"),w=require("./layers.9QK1wiQj.js");function te(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const o=te(ae);class oe{constructor(){var n={};n._next=n._prev=n,this._sentinel=n}dequeue(){var n=this._sentinel,r=n._prev;if(r!==n)return P(r),r}enqueue(n){var r=this._sentinel;n._prev&&n._next&&P(n),n._next=r._next,r._next._prev=n,r._next=n,n._prev=r}toString(){for(var n=[],r=this._sentinel,a=r._prev;a!==r;)n.push(JSON.stringify(a,ie)),a=a._prev;return"["+n.join(", ")+"]"}}function P(e){e._prev._next=e._next,e._next._prev=e._prev,delete e._next,delete e._prev}function ie(e,n){if(e!=="_next"&&e!=="_prev")return n}var fe=o.constant(1);function ue(e,n){if(e.nodeCount()<=1)return[];var r=ce(e,n||fe),a=de(r.graph,r.buckets,r.zeroIdx);return o.flatten(o.map(a,function(t){return e.outEdges(t.v,t.w)}))}function de(e,n,r){for(var a=[],t=n[n.length-1],f=n[0],i;e.nodeCount();){for(;i=f.dequeue();)y(e,n,r,i);for(;i=t.dequeue();)y(e,n,r,i);if(e.nodeCount()){for(var u=n.length-2;u>0;--u)if(i=n[u].dequeue(),i){a=a.concat(y(e,n,r,i,!0));break}}}return a}function y(e,n,r,a,t){var f=t?[]:void 0;return o.forEach(e.inEdges(a.v),function(i){var u=e.edge(i),d=e.node(i.v);t&&f.push({v:i.v,w:i.w}),d.out-=u,R(n,r,d)}),o.forEach(e.outEdges(a.v),function(i){var u=e.edge(i),d=i.w,c=e.node(d);c.in-=u,R(n,r,c)}),e.removeNode(a.v),f}function ce(e,n){var r=new w.Graph,a=0,t=0;o.forEach(e.nodes(),function(u){r.setNode(u,{v:u,in:0,out:0})}),o.forEach(e.edges(),function(u){var d=r.edge(u.v,u.w)||0,c=n(u),s=d+c;r.setEdge(u.v,u.w,s),t=Math.max(t,r.node(u.v).out+=c),a=Math.max(a,r.node(u.w).in+=c)});var f=o.range(t+a+3).map(function(){return new oe}),i=a+1;return o.forEach(r.nodes(),function(u){R(f,i,r.node(u))}),{graph:r,buckets:f,zeroIdx:i}}function R(e,n,r){r.out?r.in?e[r.out-r.in+n].enqueue(r):e[e.length-1].enqueue(r):e[0].enqueue(r)}function se(e){var n=e.graph().acyclicer==="greedy"?ue(e,r(e)):he(e);o.forEach(n,function(a){var t=e.edge(a);e.removeEdge(a),t.forwardName=a.name,t.reversed=!0,e.setEdge(a.w,a.v,t,o.uniqueId("rev"))});function r(a){return function(t){return a.edge(t).weight}}}function he(e){var n=[],r={},a={};function t(f){o.has(a,f)||(a[f]=!0,r[f]=!0,o.forEach(e.outEdges(f),function(i){o.has(r,i.w)?n.push(i):t(i.w)}),delete r[f])}return o.forEach(e.nodes(),t),n}function le(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(r.reversed){e.removeEdge(n);var a=r.forwardName;delete r.reversed,delete r.forwardName,e.setEdge(n.w,n.v,r,a)}})}function b(e,n,r,a){var t;do t=o.uniqueId(a);while(e.hasNode(t));return r.dummy=n,e.setNode(t,r),t}function ve(e){var n=new w.Graph().setGraph(e.graph());return o.forEach(e.nodes(),function(r){n.setNode(r,e.node(r))}),o.forEach(e.edges(),function(r){var a=n.edge(r.v,r.w)||{weight:0,minlen:1},t=e.edge(r);n.setEdge(r.v,r.w,{weight:a.weight+t.weight,minlen:Math.max(a.minlen,t.minlen)})}),n}function q(e){var n=new w.Graph({multigraph:e.isMultigraph()}).setGraph(e.graph());return o.forEach(e.nodes(),function(r){e.children(r).length||n.setNode(r,e.node(r))}),o.forEach(e.edges(),function(r){n.setEdge(r,e.edge(r))}),n}function O(e,n){var r=e.x,a=e.y,t=n.x-r,f=n.y-a,i=e.width/2,u=e.height/2;if(!t&&!f)throw new Error("Not possible to find intersection inside of the rectangle");var d,c;return Math.abs(f)*i>Math.abs(t)*u?(f<0&&(u=-u),d=u*t/f,c=u):(t<0&&(i=-i),d=i,c=i*f/t),{x:r+d,y:a+c}}function x(e){var n=o.map(o.range(U(e)+1),function(){return[]});return o.forEach(e.nodes(),function(r){var a=e.node(r),t=a.rank;o.isUndefined(t)||(n[t][a.order]=r)}),n}function pe(e){var n=o.min(o.map(e.nodes(),function(r){return e.node(r).rank}));o.forEach(e.nodes(),function(r){var a=e.node(r);o.has(a,"rank")&&(a.rank-=n)})}function me(e){var n=o.min(o.map(e.nodes(),function(f){return e.node(f).rank})),r=[];o.forEach(e.nodes(),function(f){var i=e.node(f).rank-n;r[i]||(r[i]=[]),r[i].push(f)});var a=0,t=e.graph().nodeRankFactor;o.forEach(r,function(f,i){o.isUndefined(f)&&i%t!==0?--a:a&&o.forEach(f,function(u){e.node(u).rank+=a})})}function V(e,n,r,a){var t={width:0,height:0};return arguments.length>=4&&(t.rank=r,t.order=a),b(e,"border",t,n)}function U(e){return o.max(o.map(e.nodes(),function(n){var r=e.node(n).rank;if(!o.isUndefined(r))return r}))}function we(e,n){var r={lhs:[],rhs:[]};return o.forEach(e,function(a){n(a)?r.lhs.push(a):r.rhs.push(a)}),r}function Ee(e,n){return n()}function be(e){function n(r){var a=e.children(r),t=e.node(r);if(a.length&&o.forEach(a,n),o.has(t,"minRank")){t.borderLeft=[],t.borderRight=[];for(var f=t.minRank,i=t.maxRank+1;f<i;++f)B(e,"borderLeft","_bl",r,t,f),B(e,"borderRight","_br",r,t,f)}}o.forEach(e.children(),n)}function B(e,n,r,a,t,f){var i={width:0,height:0,rank:f,borderType:n},u=t[n][f-1],d=b(e,"border",i,r);t[n][f]=d,e.setParent(d,a),u&&e.setEdge(u,d,{weight:1})}function ge(e){var n=e.graph().rankdir.toLowerCase();(n==="lr"||n==="rl")&&W(e)}function ke(e){var n=e.graph().rankdir.toLowerCase();(n==="bt"||n==="rl")&&xe(e),(n==="lr"||n==="rl")&&(ye(e),W(e))}function W(e){o.forEach(e.nodes(),function(n){F(e.node(n))}),o.forEach(e.edges(),function(n){F(e.edge(n))})}function F(e){var n=e.width;e.width=e.height,e.height=n}function xe(e){o.forEach(e.nodes(),function(n){N(e.node(n))}),o.forEach(e.edges(),function(n){var r=e.edge(n);o.forEach(r.points,N),o.has(r,"y")&&N(r)})}function N(e){e.y=-e.y}function ye(e){o.forEach(e.nodes(),function(n){L(e.node(n))}),o.forEach(e.edges(),function(n){var r=e.edge(n);o.forEach(r.points,L),o.has(r,"x")&&L(r)})}function L(e){var n=e.x;e.x=e.y,e.y=n}function Ne(e){e.graph().dummyChains=[],o.forEach(e.edges(),function(n){Le(e,n)})}function Le(e,n){var r=n.v,a=e.node(r).rank,t=n.w,f=e.node(t).rank,i=n.name,u=e.edge(n),d=u.labelRank;if(f!==a+1){e.removeEdge(n);var c,s,h;for(h=0,++a;a<f;++h,++a)u.points=[],s={width:0,height:0,edgeLabel:u,edgeObj:n,rank:a},c=b(e,"edge",s,"_d"),a===d&&(s.width=u.width,s.height=u.height,s.dummy="edge-label",s.labelpos=u.labelpos),e.setEdge(r,c,{weight:u.weight},i),h===0&&e.graph().dummyChains.push(c),r=c;e.setEdge(r,t,{weight:u.weight},i)}}function Ie(e){o.forEach(e.graph().dummyChains,function(n){var r=e.node(n),a=r.edgeLabel,t;for(e.setEdge(r.edgeObj,a);r.dummy;)t=e.successors(n)[0],e.removeNode(n),a.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(a.x=r.x,a.y=r.y,a.width=r.width,a.height=r.height),n=t,r=e.node(n)})}function C(e){var n={};function r(a){var t=e.node(a);if(o.has(n,a))return t.rank;n[a]=!0;var f=o.min(o.map(e.outEdges(a),function(i){return r(i.w)-e.edge(i).minlen}));return(f===Number.POSITIVE_INFINITY||f===void 0||f===null)&&(f=0),t.rank=f}o.forEach(e.sources(),r)}function k(e,n){return e.node(n.w).rank-e.node(n.v).rank-e.edge(n).minlen}function $(e){var n=new w.Graph({directed:!1}),r=e.nodes()[0],a=e.nodeCount();n.setNode(r,{});for(var t,f;_e(n,e)<a;)t=Re(n,e),f=n.hasNode(t.v)?k(e,t):-k(e,t),Ce(n,e,f);return n}function _e(e,n){function r(a){o.forEach(n.nodeEdges(a),function(t){var f=t.v,i=a===f?t.w:f;!e.hasNode(i)&&!k(n,t)&&(e.setNode(i,{}),e.setEdge(a,i,{}),r(i))})}return o.forEach(e.nodes(),r),e.nodeCount()}function Re(e,n){return o.minBy(n.edges(),function(r){if(e.hasNode(r.v)!==e.hasNode(r.w))return k(n,r)})}function Ce(e,n,r){o.forEach(e.nodes(),function(a){n.node(a).rank+=r})}o.constant(1);o.constant(1);function Te(){}Te.prototype=new Error;function z(e,n,r){o.isArray(n)||(n=[n]);var a=(e.isDirected()?e.successors:e.neighbors).bind(e),t=[],f={};return o.each(n,function(i){if(!e.hasNode(i))throw new Error("Graph does not have node: "+i);X(e,i,r==="post",f,a,t)}),t}function X(e,n,r,a,t,f){o.has(a,n)||(a[n]=!0,r||f.push(n),o.each(t(n),function(i){X(e,i,r,a,t,f)}),r&&f.push(n))}function Se(e,n){return z(e,n,"post")}function Me(e,n){return z(e,n,"pre")}E.initLowLimValues=S;E.initCutValues=T;E.calcCutValue=H;E.leaveEdge=K;E.enterEdge=Q;E.exchangeEdges=Z;function E(e){e=ve(e),C(e);var n=$(e);S(n),T(n,e);for(var r,a;r=K(n);)a=Q(n,e,r),Z(n,e,r,a)}function T(e,n){var r=Se(e,e.nodes());r=r.slice(0,r.length-1),o.forEach(r,function(a){Pe(e,n,a)})}function Pe(e,n,r){var a=e.node(r),t=a.parent;e.edge(r,t).cutvalue=H(e,n,r)}function H(e,n,r){var a=e.node(r),t=a.parent,f=!0,i=n.edge(r,t),u=0;return i||(f=!1,i=n.edge(t,r)),u=i.weight,o.forEach(n.nodeEdges(r),function(d){var c=d.v===r,s=c?d.w:d.v;if(s!==t){var h=c===f,l=n.edge(d).weight;if(u+=h?l:-l,Ve(e,r,s)){var v=e.edge(r,s).cutvalue;u+=h?-v:v}}}),u}function S(e,n){arguments.length<2&&(n=e.nodes()[0]),J(e,{},1,n)}function J(e,n,r,a,t){var f=r,i=e.node(a);return n[a]=!0,o.forEach(e.neighbors(a),function(u){o.has(n,u)||(r=J(e,n,r,u,a))}),i.low=f,i.lim=r++,t?i.parent=t:delete i.parent,r}function K(e){return o.find(e.edges(),function(n){return e.edge(n).cutvalue<0})}function Q(e,n,r){var a=r.v,t=r.w;n.hasEdge(a,t)||(a=r.w,t=r.v);var f=e.node(a),i=e.node(t),u=f,d=!1;f.lim>i.lim&&(u=i,d=!0);var c=o.filter(n.edges(),function(s){return d===G(e,e.node(s.v),u)&&d!==G(e,e.node(s.w),u)});return o.minBy(c,function(s){return k(n,s)})}function Z(e,n,r,a){var t=r.v,f=r.w;e.removeEdge(t,f),e.setEdge(a.v,a.w,{}),S(e),T(e,n),Oe(e,n)}function Oe(e,n){var r=o.find(e.nodes(),function(t){return!n.node(t).parent}),a=Me(e,r);a=a.slice(1),o.forEach(a,function(t){var f=e.node(t).parent,i=n.edge(t,f),u=!1;i||(i=n.edge(f,t),u=!0),n.node(t).rank=n.node(f).rank+(u?i.minlen:-i.minlen)})}function Ve(e,n,r){return e.hasEdge(n,r)}function G(e,n,r){return r.low<=n.lim&&n.lim<=r.lim}function Be(e){switch(e.graph().ranker){case"network-simplex":D(e);break;case"tight-tree":Ge(e);break;case"longest-path":Fe(e);break;default:D(e)}}var Fe=C;function Ge(e){C(e),$(e)}function D(e){E(e)}function De(e){var n=b(e,"root",{},"_root"),r=Ae(e),a=o.max(o.values(r))-1,t=2*a+1;e.graph().nestingRoot=n,o.forEach(e.edges(),function(i){e.edge(i).minlen*=t});var f=Ye(e)+1;o.forEach(e.children(),function(i){ee(e,n,t,f,a,r,i)}),e.graph().nodeRankFactor=t}function ee(e,n,r,a,t,f,i){var u=e.children(i);if(!u.length){i!==n&&e.setEdge(n,i,{weight:0,minlen:r});return}var d=V(e,"_bt"),c=V(e,"_bb"),s=e.node(i);e.setParent(d,i),s.borderTop=d,e.setParent(c,i),s.borderBottom=c,o.forEach(u,function(h){ee(e,n,r,a,t,f,h);var l=e.node(h),v=l.borderTop?l.borderTop:h,p=l.borderBottom?l.borderBottom:h,m=l.borderTop?a:2*a,g=v!==p?1:t-f[i]+1;e.setEdge(d,v,{weight:m,minlen:g,nestingEdge:!0}),e.setEdge(p,c,{weight:m,minlen:g,nestingEdge:!0})}),e.parent(i)||e.setEdge(n,d,{weight:0,minlen:t+f[i]})}function Ae(e){var n={};function r(a,t){var f=e.children(a);f&&f.length&&o.forEach(f,function(i){r(i,t+1)}),n[a]=t}return o.forEach(e.children(),function(a){r(a,1)}),n}function Ye(e){return o.reduce(e.edges(),function(n,r){return n+e.edge(r).weight},0)}function je(e){var n=e.graph();e.removeNode(n.nestingRoot),delete n.nestingRoot,o.forEach(e.edges(),function(r){var a=e.edge(r);a.nestingEdge&&e.removeEdge(r)})}function qe(e,n,r){var a={},t;o.forEach(r,function(f){for(var i=e.parent(f),u,d;i;){if(u=e.parent(i),u?(d=a[u],a[u]=i):(d=t,t=i),d&&d!==i){n.setEdge(d,i);return}i=u}})}function Ue(e,n,r){var a=We(e),t=new w.Graph({compound:!0}).setGraph({root:a}).setDefaultNodeLabel(function(f){return e.node(f)});return o.forEach(e.nodes(),function(f){var i=e.node(f),u=e.parent(f);(i.rank===n||i.minRank<=n&&n<=i.maxRank)&&(t.setNode(f),t.setParent(f,u||a),o.forEach(e[r](f),function(d){var c=d.v===f?d.w:d.v,s=t.edge(c,f),h=o.isUndefined(s)?0:s.weight;t.setEdge(c,f,{weight:e.edge(d).weight+h})}),o.has(i,"minRank")&&t.setNode(f,{borderLeft:i.borderLeft[n],borderRight:i.borderRight[n]}))}),t}function We(e){for(var n;e.hasNode(n=o.uniqueId("_root")););return n}function $e(e,n){for(var r=0,a=1;a<n.length;++a)r+=ze(e,n[a-1],n[a]);return r}function ze(e,n,r){for(var a=o.zipObject(r,o.map(r,function(c,s){return s})),t=o.flatten(o.map(n,function(c){return o.sortBy(o.map(e.outEdges(c),function(s){return{pos:a[s.w],weight:e.edge(s).weight}}),"pos")})),f=1;f<r.length;)f<<=1;var i=2*f-1;f-=1;var u=o.map(new Array(i),function(){return 0}),d=0;return o.forEach(t.forEach(function(c){var s=c.pos+f;u[s]+=c.weight;for(var h=0;s>0;)s%2&&(h+=u[s+1]),s=s-1>>1,u[s]+=c.weight;d+=c.weight*h})),d}function Xe(e){var n={},r=o.filter(e.nodes(),function(u){return!e.children(u).length}),a=o.max(o.map(r,function(u){return e.node(u).rank})),t=o.map(o.range(a+1),function(){return[]});function f(u){if(!o.has(n,u)){n[u]=!0;var d=e.node(u);t[d.rank].push(u),o.forEach(e.successors(u),f)}}var i=o.sortBy(r,function(u){return e.node(u).rank});return o.forEach(i,f),t}function He(e,n){return o.map(n,function(r){var a=e.inEdges(r);if(a.length){var t=o.reduce(a,function(f,i){var u=e.edge(i),d=e.node(i.v);return{sum:f.sum+u.weight*d.order,weight:f.weight+u.weight}},{sum:0,weight:0});return{v:r,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:r}})}function Je(e,n){var r={};o.forEach(e,function(t,f){var i=r[t.v]={indegree:0,in:[],out:[],vs:[t.v],i:f};o.isUndefined(t.barycenter)||(i.barycenter=t.barycenter,i.weight=t.weight)}),o.forEach(n.edges(),function(t){var f=r[t.v],i=r[t.w];!o.isUndefined(f)&&!o.isUndefined(i)&&(i.indegree++,f.out.push(r[t.w]))});var a=o.filter(r,function(t){return!t.indegree});return Ke(a)}function Ke(e){var n=[];function r(f){return function(i){i.merged||(o.isUndefined(i.barycenter)||o.isUndefined(f.barycenter)||i.barycenter>=f.barycenter)&&Qe(f,i)}}function a(f){return function(i){i.in.push(f),--i.indegree===0&&e.push(i)}}for(;e.length;){var t=e.pop();n.push(t),o.forEach(t.in.reverse(),r(t)),o.forEach(t.out,a(t))}return o.map(o.filter(n,function(f){return!f.merged}),function(f){return o.pick(f,["vs","i","barycenter","weight"])})}function Qe(e,n){var r=0,a=0;e.weight&&(r+=e.barycenter*e.weight,a+=e.weight),n.weight&&(r+=n.barycenter*n.weight,a+=n.weight),e.vs=n.vs.concat(e.vs),e.barycenter=r/a,e.weight=a,e.i=Math.min(n.i,e.i),n.merged=!0}function Ze(e,n){var r=we(e,function(s){return o.has(s,"barycenter")}),a=r.lhs,t=o.sortBy(r.rhs,function(s){return-s.i}),f=[],i=0,u=0,d=0;a.sort(en(!!n)),d=A(f,t,d),o.forEach(a,function(s){d+=s.vs.length,f.push(s.vs),i+=s.barycenter*s.weight,u+=s.weight,d=A(f,t,d)});var c={vs:o.flatten(f)};return u&&(c.barycenter=i/u,c.weight=u),c}function A(e,n,r){for(var a;n.length&&(a=o.last(n)).i<=r;)n.pop(),e.push(a.vs),r++;return r}function en(e){return function(n,r){return n.barycenter<r.barycenter?-1:n.barycenter>r.barycenter?1:e?r.i-n.i:n.i-r.i}}function ne(e,n,r,a){var t=e.children(n),f=e.node(n),i=f?f.borderLeft:void 0,u=f?f.borderRight:void 0,d={};i&&(t=o.filter(t,function(p){return p!==i&&p!==u}));var c=He(e,t);o.forEach(c,function(p){if(e.children(p.v).length){var m=ne(e,p.v,r,a);d[p.v]=m,o.has(m,"barycenter")&&rn(p,m)}});var s=Je(c,r);nn(s,d);var h=Ze(s,a);if(i&&(h.vs=o.flatten([i,h.vs,u]),e.predecessors(i).length)){var l=e.node(e.predecessors(i)[0]),v=e.node(e.predecessors(u)[0]);o.has(h,"barycenter")||(h.barycenter=0,h.weight=0),h.barycenter=(h.barycenter*h.weight+l.order+v.order)/(h.weight+2),h.weight+=2}return h}function nn(e,n){o.forEach(e,function(r){r.vs=o.flatten(r.vs.map(function(a){return n[a]?n[a].vs:a}))})}function rn(e,n){o.isUndefined(e.barycenter)?(e.barycenter=n.barycenter,e.weight=n.weight):(e.barycenter=(e.barycenter*e.weight+n.barycenter*n.weight)/(e.weight+n.weight),e.weight+=n.weight)}function an(e){var n=U(e),r=Y(e,o.range(1,n+1),"inEdges"),a=Y(e,o.range(n-1,-1,-1),"outEdges"),t=Xe(e);j(e,t);for(var f=Number.POSITIVE_INFINITY,i,u=0,d=0;d<4;++u,++d){tn(u%2?r:a,u%4>=2),t=x(e);var c=$e(e,t);c<f&&(d=0,i=o.cloneDeep(t),f=c)}j(e,i)}function Y(e,n,r){return o.map(n,function(a){return Ue(e,a,r)})}function tn(e,n){var r=new w.Graph;o.forEach(e,function(a){var t=a.graph().root,f=ne(a,t,r,n);o.forEach(f.vs,function(i,u){a.node(i).order=u}),qe(a,r,f.vs)})}function j(e,n){o.forEach(n,function(r){o.forEach(r,function(a,t){e.node(a).order=t})})}function on(e){var n=un(e);o.forEach(e.graph().dummyChains,function(r){for(var a=e.node(r),t=a.edgeObj,f=fn(e,n,t.v,t.w),i=f.path,u=f.lca,d=0,c=i[d],s=!0;r!==t.w;){if(a=e.node(r),s){for(;(c=i[d])!==u&&e.node(c).maxRank<a.rank;)d++;c===u&&(s=!1)}if(!s){for(;d<i.length-1&&e.node(c=i[d+1]).minRank<=a.rank;)d++;c=i[d]}e.setParent(r,c),r=e.successors(r)[0]}})}function fn(e,n,r,a){var t=[],f=[],i=Math.min(n[r].low,n[a].low),u=Math.max(n[r].lim,n[a].lim),d,c;d=r;do d=e.parent(d),t.push(d);while(d&&(n[d].low>i||u>n[d].lim));for(c=d,d=a;(d=e.parent(d))!==c;)f.push(d);return{path:t.concat(f.reverse()),lca:c}}function un(e){var n={},r=0;function a(t){var f=r;o.forEach(e.children(t),a),n[t]={low:f,lim:r++}}return o.forEach(e.children(),a),n}function dn(e,n){var r={};function a(t,f){var i=0,u=0,d=t.length,c=o.last(f);return o.forEach(f,function(s,h){var l=sn(e,s),v=l?e.node(l).order:d;(l||s===c)&&(o.forEach(f.slice(u,h+1),function(p){o.forEach(e.predecessors(p),function(m){var g=e.node(m),M=g.order;(M<i||v<M)&&!(g.dummy&&e.node(p).dummy)&&re(r,m,p)})}),u=h+1,i=v)}),f}return o.reduce(n,a),r}function cn(e,n){var r={};function a(f,i,u,d,c){var s;o.forEach(o.range(i,u),function(h){s=f[h],e.node(s).dummy&&o.forEach(e.predecessors(s),function(l){var v=e.node(l);v.dummy&&(v.order<d||v.order>c)&&re(r,l,s)})})}function t(f,i){var u=-1,d,c=0;return o.forEach(i,function(s,h){if(e.node(s).dummy==="border"){var l=e.predecessors(s);l.length&&(d=e.node(l[0]).order,a(i,c,h,u,d),c=h,u=d)}a(i,c,i.length,d,f.length)}),i}return o.reduce(n,t),r}function sn(e,n){if(e.node(n).dummy)return o.find(e.predecessors(n),function(r){return e.node(r).dummy})}function re(e,n,r){if(n>r){var a=n;n=r,r=a}var t=e[n];t||(e[n]=t={}),t[r]=!0}function hn(e,n,r){if(n>r){var a=n;n=r,r=a}return o.has(e[n],r)}function ln(e,n,r,a){var t={},f={},i={};return o.forEach(n,function(u){o.forEach(u,function(d,c){t[d]=d,f[d]=d,i[d]=c})}),o.forEach(n,function(u){var d=-1;o.forEach(u,function(c){var s=a(c);if(s.length){s=o.sortBy(s,function(m){return i[m]});for(var h=(s.length-1)/2,l=Math.floor(h),v=Math.ceil(h);l<=v;++l){var p=s[l];f[c]===c&&d<i[p]&&!hn(r,c,p)&&(f[p]=c,f[c]=t[c]=t[p],d=i[p])}}})}),{root:t,align:f}}function vn(e,n,r,a,t){var f={},i=pn(e,n,r,t),u=t?"borderLeft":"borderRight";function d(h,l){for(var v=i.nodes(),p=v.pop(),m={};p;)m[p]?h(p):(m[p]=!0,v.push(p),v=v.concat(l(p))),p=v.pop()}function c(h){f[h]=i.inEdges(h).reduce(function(l,v){return Math.max(l,f[v.v]+i.edge(v))},0)}function s(h){var l=i.outEdges(h).reduce(function(p,m){return Math.min(p,f[m.w]-i.edge(m))},Number.POSITIVE_INFINITY),v=e.node(h);l!==Number.POSITIVE_INFINITY&&v.borderType!==u&&(f[h]=Math.max(f[h],l))}return d(c,i.predecessors.bind(i)),d(s,i.successors.bind(i)),o.forEach(a,function(h){f[h]=f[r[h]]}),f}function pn(e,n,r,a){var t=new w.Graph,f=e.graph(),i=gn(f.nodesep,f.edgesep,a);return o.forEach(n,function(u){var d;o.forEach(u,function(c){var s=r[c];if(t.setNode(s),d){var h=r[d],l=t.edge(h,s);t.setEdge(h,s,Math.max(i(e,c,d),l||0))}d=c})}),t}function mn(e,n){return o.minBy(o.values(n),function(r){var a=Number.NEGATIVE_INFINITY,t=Number.POSITIVE_INFINITY;return o.forIn(r,function(f,i){var u=kn(e,i)/2;a=Math.max(f+u,a),t=Math.min(f-u,t)}),a-t})}function wn(e,n){var r=o.values(n),a=o.min(r),t=o.max(r);o.forEach(["u","d"],function(f){o.forEach(["l","r"],function(i){var u=f+i,d=e[u],c;if(d!==n){var s=o.values(d);c=i==="l"?a-o.min(s):t-o.max(s),c&&(e[u]=o.mapValues(d,function(h){return h+c}))}})})}function En(e,n){return o.mapValues(e.ul,function(r,a){if(n)return e[n.toLowerCase()][a];var t=o.sortBy(o.map(e,a));return(t[1]+t[2])/2})}function bn(e){var n=x(e),r=o.merge(dn(e,n),cn(e,n)),a={},t;o.forEach(["u","d"],function(i){t=i==="u"?n:o.values(n).reverse(),o.forEach(["l","r"],function(u){u==="r"&&(t=o.map(t,function(h){return o.values(h).reverse()}));var d=(i==="u"?e.predecessors:e.successors).bind(e),c=ln(e,t,r,d),s=vn(e,t,c.root,c.align,u==="r");u==="r"&&(s=o.mapValues(s,function(h){return-h})),a[i+u]=s})});var f=mn(e,a);return wn(a,f),En(a,e.graph().align)}function gn(e,n,r){return function(a,t,f){var i=a.node(t),u=a.node(f),d=0,c;if(d+=i.width/2,o.has(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":c=-i.width/2;break;case"r":c=i.width/2;break}if(c&&(d+=r?c:-c),c=0,d+=(i.dummy?n:e)/2,d+=(u.dummy?n:e)/2,d+=u.width/2,o.has(u,"labelpos"))switch(u.labelpos.toLowerCase()){case"l":c=u.width/2;break;case"r":c=-u.width/2;break}return c&&(d+=r?c:-c),c=0,d}}function kn(e,n){return e.node(n).width}function xn(e){e=q(e),yn(e),o.forOwn(bn(e),function(n,r){e.node(r).x=n})}function yn(e){var n=x(e),r=e.graph().ranksep,a=0;o.forEach(n,function(t){var f=o.max(o.map(t,function(i){return e.node(i).height}));o.forEach(t,function(i){e.node(i).y=a+f/2}),a+=f+r})}function Nn(e,n){var r=Ee;r("layout",function(){var a=r(" buildLayoutGraph",function(){return Vn(e)});r(" runLayout",function(){Ln(a,r)}),r(" updateInputGraph",function(){In(e,a)})})}function Ln(e,n){n(" makeSpaceForEdgeLabels",function(){Bn(e)}),n(" removeSelfEdges",function(){Wn(e)}),n(" acyclic",function(){se(e)}),n(" nestingGraph.run",function(){De(e)}),n(" rank",function(){Be(q(e))}),n(" injectEdgeLabelProxies",function(){Fn(e)}),n(" removeEmptyRanks",function(){me(e)}),n(" nestingGraph.cleanup",function(){je(e)}),n(" normalizeRanks",function(){pe(e)}),n(" assignRankMinMax",function(){Gn(e)}),n(" removeEdgeLabelProxies",function(){Dn(e)}),n(" normalize.run",function(){Ne(e)}),n(" parentDummyChains",function(){on(e)}),n(" addBorderSegments",function(){be(e)}),n(" order",function(){an(e)}),n(" insertSelfEdges",function(){$n(e)}),n(" adjustCoordinateSystem",function(){ge(e)}),n(" position",function(){xn(e)}),n(" positionSelfEdges",function(){zn(e)}),n(" removeBorderNodes",function(){Un(e)}),n(" normalize.undo",function(){Ie(e)}),n(" fixupEdgeLabelCoords",function(){jn(e)}),n(" undoCoordinateSystem",function(){ke(e)}),n(" translateGraph",function(){An(e)}),n(" assignNodeIntersects",function(){Yn(e)}),n(" reversePoints",function(){qn(e)}),n(" acyclic.undo",function(){le(e)})}function In(e,n){o.forEach(e.nodes(),function(r){var a=e.node(r),t=n.node(r);a&&(a.x=t.x,a.y=t.y,n.children(r).length&&(a.width=t.width,a.height=t.height))}),o.forEach(e.edges(),function(r){var a=e.edge(r),t=n.edge(r);a.points=t.points,o.has(t,"x")&&(a.x=t.x,a.y=t.y)}),e.graph().width=n.graph().width,e.graph().height=n.graph().height}var _n=["nodesep","edgesep","ranksep","marginx","marginy"],Rn={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},Cn=["acyclicer","ranker","rankdir","align"],Tn=["width","height"],Sn={width:0,height:0},Mn=["minlen","weight","width","height","labeloffset"],Pn={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},On=["labelpos"];function Vn(e){var n=new w.Graph({multigraph:!0,compound:!0}),r=_(e.graph());return n.setGraph(o.merge({},Rn,I(r,_n),o.pick(r,Cn))),o.forEach(e.nodes(),function(a){var t=_(e.node(a));n.setNode(a,o.defaults(I(t,Tn),Sn)),n.setParent(a,e.parent(a))}),o.forEach(e.edges(),function(a){var t=_(e.edge(a));n.setEdge(a,o.merge({},Pn,I(t,Mn),o.pick(t,On)))}),n}function Bn(e){var n=e.graph();n.ranksep/=2,o.forEach(e.edges(),function(r){var a=e.edge(r);a.minlen*=2,a.labelpos.toLowerCase()!=="c"&&(n.rankdir==="TB"||n.rankdir==="BT"?a.width+=a.labeloffset:a.height+=a.labeloffset)})}function Fn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(r.width&&r.height){var a=e.node(n.v),t=e.node(n.w),f={rank:(t.rank-a.rank)/2+a.rank,e:n};b(e,"edge-proxy",f,"_ep")}})}function Gn(e){var n=0;o.forEach(e.nodes(),function(r){var a=e.node(r);a.borderTop&&(a.minRank=e.node(a.borderTop).rank,a.maxRank=e.node(a.borderBottom).rank,n=o.max(n,a.maxRank))}),e.graph().maxRank=n}function Dn(e){o.forEach(e.nodes(),function(n){var r=e.node(n);r.dummy==="edge-proxy"&&(e.edge(r.e).labelRank=r.rank,e.removeNode(n))})}function An(e){var n=Number.POSITIVE_INFINITY,r=0,a=Number.POSITIVE_INFINITY,t=0,f=e.graph(),i=f.marginx||0,u=f.marginy||0;function d(c){var s=c.x,h=c.y,l=c.width,v=c.height;n=Math.min(n,s-l/2),r=Math.max(r,s+l/2),a=Math.min(a,h-v/2),t=Math.max(t,h+v/2)}o.forEach(e.nodes(),function(c){d(e.node(c))}),o.forEach(e.edges(),function(c){var s=e.edge(c);o.has(s,"x")&&d(s)}),n-=i,a-=u,o.forEach(e.nodes(),function(c){var s=e.node(c);s.x-=n,s.y-=a}),o.forEach(e.edges(),function(c){var s=e.edge(c);o.forEach(s.points,function(h){h.x-=n,h.y-=a}),o.has(s,"x")&&(s.x-=n),o.has(s,"y")&&(s.y-=a)}),f.width=r-n+i,f.height=t-a+u}function Yn(e){o.forEach(e.edges(),function(n){var r=e.edge(n),a=e.node(n.v),t=e.node(n.w),f,i;r.points?(f=r.points[0],i=r.points[r.points.length-1]):(r.points=[],f=t,i=a),r.points.unshift(O(a,f)),r.points.push(O(t,i))})}function jn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);if(o.has(r,"x"))switch((r.labelpos==="l"||r.labelpos==="r")&&(r.width-=r.labeloffset),r.labelpos){case"l":r.x-=r.width/2+r.labeloffset;break;case"r":r.x+=r.width/2+r.labeloffset;break}})}function qn(e){o.forEach(e.edges(),function(n){var r=e.edge(n);r.reversed&&r.points.reverse()})}function Un(e){o.forEach(e.nodes(),function(n){if(e.children(n).length){var r=e.node(n),a=e.node(r.borderTop),t=e.node(r.borderBottom),f=e.node(o.last(r.borderLeft)),i=e.node(o.last(r.borderRight));r.width=Math.abs(i.x-f.x),r.height=Math.abs(t.y-a.y),r.x=f.x+r.width/2,r.y=a.y+r.height/2}}),o.forEach(e.nodes(),function(n){e.node(n).dummy==="border"&&e.removeNode(n)})}function Wn(e){o.forEach(e.edges(),function(n){if(n.v===n.w){var r=e.node(n.v);r.selfEdges||(r.selfEdges=[]),r.selfEdges.push({e:n,label:e.edge(n)}),e.removeEdge(n)}})}function $n(e){var n=x(e);o.forEach(n,function(r){var a=0;o.forEach(r,function(t,f){var i=e.node(t);i.order=f+a,o.forEach(i.selfEdges,function(u){b(e,"selfedge",{width:u.label.width,height:u.label.height,rank:i.rank,order:f+ ++a,e:u.e,label:u.label},"_se")}),delete i.selfEdges})})}function zn(e){o.forEach(e.nodes(),function(n){var r=e.node(n);if(r.dummy==="selfedge"){var a=e.node(r.e.v),t=a.x+a.width/2,f=a.y,i=r.x-t,u=a.height/2;e.setEdge(r.e,r.label),e.removeNode(n),r.label.points=[{x:t+2*i/3,y:f-u},{x:t+5*i/6,y:f-u},{x:t+i,y:f},{x:t+5*i/6,y:f+u},{x:t+2*i/3,y:f+u}],r.label.x=r.x,r.label.y=r.y}})}function I(e,n){return o.mapValues(o.pick(e,n),Number)}function _(e){var n={};return o.forEach(e,function(r,a){n[a.toLowerCase()]=r}),n}exports.layout=Nn;