@layers-app/editor 0.3.11 → 0.4.1-progress.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 (246) hide show
  1. package/README.md +215 -1
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.d.ts +3 -2
  4. package/dist/index.js +6 -6
  5. package/dist/layers.0EGX3HEy.js +1 -0
  6. package/dist/layers.1RmgGsLp.js +1 -0
  7. package/dist/layers.1df9kFxm.js +40 -0
  8. package/dist/layers.2aPuvps8.js +2235 -0
  9. package/dist/layers.3YvcJPBv.js +7 -0
  10. package/dist/layers.52famHy6.js +1 -0
  11. package/dist/layers.5l4Zrk2L.js +1 -0
  12. package/dist/layers.6hpmGhQ7.js +10 -0
  13. package/dist/layers.7JqFgE4-.js +15 -0
  14. package/dist/layers.7RKu5qAq.js +37 -0
  15. package/dist/layers.9QK1wiQj.js +1 -0
  16. package/dist/layers.9pNaFvaX.js +1 -0
  17. package/dist/layers.AmKAZWLq.js +11 -0
  18. package/dist/layers.B0J4f_xf.js +5 -0
  19. package/dist/layers.B19hGmey.js +1 -0
  20. package/dist/layers.B1O1xaS8.js +33 -0
  21. package/dist/layers.B2AGu32C.js +11692 -0
  22. package/dist/layers.B31bUvoU.js +37 -0
  23. package/dist/layers.B3BB_VRY.js +802 -0
  24. package/dist/layers.B3D4g2HH.js +1 -0
  25. package/dist/layers.B3jz2GM9.js +2479 -0
  26. package/dist/layers.B7pMHVvI.js +230 -0
  27. package/dist/layers.B8vyhX3w.js +40 -0
  28. package/dist/{layers.BnjxHNDK.js → layers.B93hVIUg.js} +84 -84
  29. package/dist/layers.B97E5Ket.js +41 -0
  30. package/dist/layers.B9oGbUwj.js +65 -0
  31. package/dist/layers.B9x4sQmU.js +9 -0
  32. package/dist/layers.B9yJUkZR.js +39 -0
  33. package/dist/layers.BArswBu6.js +1 -0
  34. package/dist/layers.BAtv1CM7.js +1 -0
  35. package/dist/layers.BCCZdUAo.js +6 -0
  36. package/dist/layers.BCpU6Rx2.js +207 -0
  37. package/dist/layers.BEWGfzM9.js +790 -0
  38. package/dist/layers.BFGghBqX.js +84 -0
  39. package/dist/layers.BGSQMYfb.js +3 -0
  40. package/dist/layers.BIOgNBCU.js +118 -0
  41. package/dist/layers.BIeVwYKL.js +1 -0
  42. package/dist/layers.BK7LrtsI.js +8 -0
  43. package/dist/layers.BKEU6fbU.js +268 -0
  44. package/dist/layers.BM5aqSQa.js +904 -0
  45. package/dist/layers.BMWTYLoS.js +1580 -0
  46. package/dist/layers.BNiUL2Vg.js +1283 -0
  47. package/dist/layers.BRbDF_Rn.js +40 -0
  48. package/dist/layers.BSJVn_-a.js +4 -0
  49. package/dist/{layers.C125HTat.js → layers.BSQmbaLA.js} +1 -1
  50. package/dist/layers.BSTBZrFn.js +1 -0
  51. package/dist/layers.BSZN_1IW.js +1 -0
  52. package/dist/layers.BU089OsF.js +160 -0
  53. package/dist/layers.BV_nreRT.js +5 -0
  54. package/dist/layers.BVzXy_Es.js +282 -0
  55. package/dist/layers.BX_VhzvH.js +4 -0
  56. package/dist/layers.BXlqVxG4.js +10 -0
  57. package/dist/layers.BY4eBmlK.js +37 -0
  58. package/dist/layers.BbCfEXyj.js +55 -0
  59. package/dist/layers.BcAvrhb2.js +11 -0
  60. package/dist/layers.Be4S2sq-.js +11 -0
  61. package/dist/layers.BejsVBlP.js +8 -0
  62. package/dist/layers.BfFWkiCr.js +8 -0
  63. package/dist/layers.BgOa2ZQq.js +7 -0
  64. package/dist/layers.BiJ8hfRt.js +1510 -0
  65. package/dist/layers.Bm9A8t2O.js +41 -0
  66. package/dist/layers.BmKPR1Q_.js +803 -0
  67. package/dist/layers.BpLN4VBV.js +35 -0
  68. package/dist/layers.Bp_LzOtD.js +6 -0
  69. package/dist/layers.BpilXLfW.js +6 -0
  70. package/dist/layers.BrlarkcH.js +1 -0
  71. package/dist/layers.BrwdJtoi.js +2966 -0
  72. package/dist/layers.BtWb_X9E.js +1088 -0
  73. package/dist/layers.BuQv8-pQ.js +10 -0
  74. package/dist/layers.BvcJQqPP.js +36 -0
  75. package/dist/layers.BwReZ0XC.js +8 -0
  76. package/dist/layers.C0uya3UC.js +257 -0
  77. package/dist/layers.C3Efr78e.js +1 -0
  78. package/dist/layers.C3kfFCwy.js +37 -0
  79. package/dist/layers.C4DnE7f4.js +9 -0
  80. package/dist/layers.C6dIKT7t.js +32 -0
  81. package/dist/layers.C6rE9oi4.js +5 -0
  82. package/dist/layers.C7lIplJU.js +247 -0
  83. package/dist/layers.C8_lu5UH.js +23 -0
  84. package/dist/layers.C9s4Ga9-.js +139 -0
  85. package/dist/layers.CA3xAcdD.js +84 -0
  86. package/dist/layers.CAt0Toqo.js +39 -0
  87. package/dist/layers.CBmWR4JD.js +41 -0
  88. package/dist/layers.CEnd1x3K.js +7 -0
  89. package/dist/layers.CEpgYsO5.js +10 -0
  90. package/dist/layers.CF3SIE-y.js +9 -0
  91. package/dist/layers.CFMVSllB.js +34 -0
  92. package/dist/layers.CGWEiDtE.js +501 -0
  93. package/dist/layers.CHV4TIWj.js +769 -0
  94. package/dist/layers.CHZsXQcr.js +1 -0
  95. package/dist/layers.CHe9Q8ia.js +9 -0
  96. package/dist/layers.CLX5RFJB.js +39 -0
  97. package/dist/layers.CLz5oPPj.js +1 -0
  98. package/dist/layers.CMV5IiUc.js +5 -0
  99. package/dist/layers.CN0RXanE.js +2 -0
  100. package/dist/layers.CNcbY4HA.js +6 -0
  101. package/dist/layers.COAF7f8g.js +1 -0
  102. package/dist/layers.COPB0bHF.js +2 -0
  103. package/dist/layers.CPGH36Hx.js +38 -0
  104. package/dist/layers.CQ_Gb_tr.js +40 -0
  105. package/dist/layers.CRIXCu9y.js +36 -0
  106. package/dist/layers.CRbZFXp0.js +10 -0
  107. package/dist/layers.CTHKUBrY.js +1 -0
  108. package/dist/layers.CTinG4fA.js +1 -0
  109. package/dist/layers.CUBdNh1l.js +139 -0
  110. package/dist/layers.CUKl38op.js +373 -0
  111. package/dist/layers.CUM6WWJc.js +10 -0
  112. package/dist/layers.CVO2cgHn.js +7 -0
  113. package/dist/layers.CVg-xbVM.js +9148 -0
  114. package/dist/layers.CWQb-v3n.js +59 -0
  115. package/dist/layers.CX7R1NFA.js +42 -0
  116. package/dist/layers.CY2dfUZP.js +220 -0
  117. package/dist/layers.C_YVSLx2.js +19 -0
  118. package/dist/layers.C_kJ5c3l.js +1089 -0
  119. package/dist/layers.CaXcZpWP.js +8 -0
  120. package/dist/layers.CacJtvRK.js +42 -0
  121. package/dist/layers.Cb-u0SLP.js +931 -0
  122. package/dist/layers.Cbk6-WFM.js +1 -0
  123. package/dist/layers.CcEJHfTE.js +6 -0
  124. package/dist/layers.CdKuzWdD.js +1 -0
  125. package/dist/layers.CeljVLEY.js +7 -0
  126. package/dist/layers.CjFEU6yv.js +36 -0
  127. package/dist/layers.CltyxC3q.js +39 -0
  128. package/dist/layers.CnZQE2Pi.js +5 -0
  129. package/dist/layers.Cpp1ZEuF.js +9 -0
  130. package/dist/layers.CpvexSFh.js +202 -0
  131. package/dist/layers.CqVTtuYm.js +6 -0
  132. package/dist/layers.Cs24L6er.js +261 -0
  133. package/dist/layers.CsUFpQDp.js +40 -0
  134. package/dist/layers.CutHJDp4.js +7 -0
  135. package/dist/layers.CvCD8PmL.js +39 -0
  136. package/dist/layers.CwE7GdQT.js +8 -0
  137. package/dist/layers.CwL5PiXG.js +8 -0
  138. package/dist/layers.CyPA2u9-.js +8 -0
  139. package/dist/layers.CzRgGVNU.js +41 -0
  140. package/dist/layers.D0zn4_Mx.js +1 -0
  141. package/dist/layers.D2KUO0dY.js +42 -0
  142. package/dist/layers.D2SIBPjl.js +41 -0
  143. package/dist/layers.D2Tzu1xx.js +116 -0
  144. package/dist/layers.D3rmRYuA.js +10 -0
  145. package/dist/layers.D4fGb2cV.js +1272 -0
  146. package/dist/layers.D56h41PX.js +1 -0
  147. package/dist/layers.D5Wk7Brs.js +10 -0
  148. package/dist/layers.D7jGxypv.js +8 -0
  149. package/dist/layers.D8g04PjT.js +9 -0
  150. package/dist/layers.D97nDwEx.js +9 -0
  151. package/dist/layers.D9Df9NSm.js +14 -0
  152. package/dist/layers.DBFfWJxR.js +51 -0
  153. package/dist/layers.DChAJIDE.js +40 -0
  154. package/dist/layers.DGjpnqy8.js +295 -0
  155. package/dist/layers.DKvSkiyS.js +52 -0
  156. package/dist/layers.DL83jGn_.js +61 -0
  157. package/dist/layers.DLwuMfdd.js +84 -0
  158. package/dist/layers.DMkBISW1.js +1 -0
  159. package/dist/layers.DMyyjog4.js +32 -0
  160. package/dist/layers.DN9HoVxI.js +18 -0
  161. package/dist/layers.DO-43L6O.js +423 -0
  162. package/dist/layers.DOrgOHBr.js +1 -0
  163. package/dist/layers.DPRdtwVX.js +10 -0
  164. package/dist/layers.DPkkvYnI.js +96 -0
  165. package/dist/layers.DRLM7uPa.js +1 -0
  166. package/dist/layers.DRk9pZsP.js +1 -0
  167. package/dist/layers.DRrRO-pI.js +39 -0
  168. package/dist/layers.DS6sUpQY.js +70 -0
  169. package/dist/layers.DSNZlSxG.js +40 -0
  170. package/dist/layers.DT14b_tp.js +122 -0
  171. package/dist/layers.DU9bT12-.js +11 -0
  172. package/dist/layers.DVysgz_L.js +9 -0
  173. package/dist/layers.DWyWcSYq.js +425 -0
  174. package/dist/layers.DYgifwCe.js +1265 -0
  175. package/dist/layers.DYrmRjRC.js +1034 -0
  176. package/dist/layers.DZVdzwBS.js +1 -0
  177. package/dist/layers.DbaKVP5e.js +1 -0
  178. package/dist/layers.Dd8k3mGW.js +32 -0
  179. package/dist/layers.Dera5nI8.js +8 -0
  180. package/dist/layers.DfHyYQto.js +1 -0
  181. package/dist/layers.Dg-bFIGZ.js +6 -0
  182. package/dist/layers.Dj2x2a5K.js +7 -0
  183. package/dist/layers.DjRYd6_J.js +6 -0
  184. package/dist/layers.DjUOC4st.js +16 -0
  185. package/dist/layers.Dlx-9qlV.js +4 -0
  186. package/dist/layers.DmXbI_X6.js +32 -0
  187. package/dist/layers.Dn51Gu3w.js +42 -0
  188. package/dist/layers.DnGlTnoF.js +8 -0
  189. package/dist/layers.DnXE-nI2.js +32 -0
  190. package/dist/layers.DneGJ5YW.js +36 -0
  191. package/dist/layers.DnyqZntR.js +1 -0
  192. package/dist/layers.DvXH8BN-.js +4 -0
  193. package/dist/layers.DvbNClAr.js +11 -0
  194. package/dist/layers.DwlMkCL5.js +1 -0
  195. package/dist/layers.DxA6ocdw.js +70 -0
  196. package/dist/layers.Dy1naDTQ.js +14 -0
  197. package/dist/layers.Fwx6Z-E0.js +7 -0
  198. package/dist/layers.GqCRYDXG.js +1619 -0
  199. package/dist/layers.Iok4Hx4P.js +1 -0
  200. package/dist/layers.JWCLFILJ.js +1 -0
  201. package/dist/layers.JWXTGwdn.js +39 -0
  202. package/dist/layers.Lv1hsK8F.js +42 -0
  203. package/dist/layers.MRw7LhZs.js +185 -0
  204. package/dist/layers.MZxHWl05.js +437 -0
  205. package/dist/layers.MfF8Mar4.js +40 -0
  206. package/dist/layers.NZaKqPGi.js +320 -0
  207. package/dist/layers.O16Qu9DR.js +38 -0
  208. package/dist/layers.OJEt97_Q.js +1 -0
  209. package/dist/layers.OkAEP5sK.js +41 -0
  210. package/dist/layers.QKd6brRD.js +1 -0
  211. package/dist/layers.QgpZpst1.js +1 -0
  212. package/dist/layers.RkLEX3Zh.js +7 -0
  213. package/dist/layers.RskRv7xC.js +33 -0
  214. package/dist/layers.Ru0qupSB.js +32 -0
  215. package/dist/layers.W2ukY1Da.js +960 -0
  216. package/dist/layers.XHdBpBIc.js +38 -0
  217. package/dist/layers.Y42vCoBD.js +40 -0
  218. package/dist/layers.ZQ_-z-aL.js +10 -0
  219. package/dist/layers.b0h5ZBmD.js +61 -0
  220. package/dist/layers.b6DSxQLV.js +186 -0
  221. package/dist/layers.erJbqYPP.js +9 -0
  222. package/dist/layers.gBi0hIYC.js +13 -0
  223. package/dist/layers.lCpg7dOn.js +21 -0
  224. package/dist/layers.ms8NfStk.js +41 -0
  225. package/dist/layers.mwnm89da.js +21763 -0
  226. package/dist/layers.nHHM2gEW.js +39 -0
  227. package/dist/layers.nbOz9XY9.js +44 -0
  228. package/dist/layers.p871JVGx.js +1359 -0
  229. package/dist/layers.pmoMn3BH.js +793 -0
  230. package/dist/layers.pw41pFms.js +35 -0
  231. package/dist/layers.rNpo9CKl.js +1126 -0
  232. package/dist/layers.uf8nbAjB.js +39 -0
  233. package/dist/layers.vXYsjfZS.js +9 -0
  234. package/dist/layers.vggOk4T3.js +48146 -0
  235. package/dist/layers.vmEHkEhU.js +21938 -0
  236. package/dist/{layers.YZkXZvVS.js → layers.vrcLKgWz.js} +14947 -13808
  237. package/dist/layers.vsJbLxBG.js +2 -0
  238. package/dist/layers.wmlkGZ6N.js +41 -0
  239. package/dist/layers.xJXWA8H6.js +35 -0
  240. package/dist/layers.zPlc1039.js +40 -0
  241. package/package.json +32 -16
  242. package/dist/layers.Cjs5EBWM.js +0 -343
  243. package/dist/layers.DPccTctI.js +0 -285
  244. package/dist/layers.DZ8DrrVn.js +0 -53491
  245. package/dist/layers.QVaGPbs3.js +0 -161
  246. package/dist/layers.VK3NB7Nd.js +0 -1
@@ -0,0 +1,59 @@
1
+ import { jsx as f } from "react/jsx-runtime";
2
+ import { useState as r, useRef as u, useEffect as E } from "react";
3
+ import { o as m, a as p, E as w, g as C, L as N, $ as x } from "./layers.vrcLKgWz.js";
4
+ import { H as g } from "./layers.mwnm89da.js";
5
+ const S = m(
6
+ "INSERT_EXCALIDRAW_COMMAND"
7
+ );
8
+ function _() {
9
+ const [t] = p(), [i, a] = r(!1), [e, l] = r(
10
+ null
11
+ ), s = u(null);
12
+ return E(() => {
13
+ if (!t.hasNodes([w]))
14
+ throw new Error(
15
+ "ExcalidrawPlugin: ExcalidrawNode not registered on editor"
16
+ );
17
+ return t.registerCommand(
18
+ S,
19
+ () => {
20
+ a(!0);
21
+ const o = C();
22
+ return l(o), !0;
23
+ },
24
+ N
25
+ );
26
+ }, [t]), /* @__PURE__ */ f(
27
+ g,
28
+ {
29
+ initialElements: [],
30
+ initialAppState: {},
31
+ initialFiles: {},
32
+ isShown: i,
33
+ onDelete: () => {
34
+ a(!1);
35
+ },
36
+ onClose: () => {
37
+ a(!1), s.current = !1;
38
+ },
39
+ onSave: (o, d, c) => {
40
+ t.update(() => {
41
+ const n = x();
42
+ n.setData(
43
+ JSON.stringify({
44
+ appState: d,
45
+ elements: o,
46
+ files: c
47
+ })
48
+ ), e && e.getParent() && (e == null || e.replace(n));
49
+ }), a(!1);
50
+ },
51
+ closeOnClickOutside: !1,
52
+ isEdited: s
53
+ }
54
+ );
55
+ }
56
+ export {
57
+ S as INSERT_EXCALIDRAW_COMMAND,
58
+ _ as default
59
+ };
@@ -0,0 +1,42 @@
1
+ import "./layers.mwnm89da.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: "Hachure", zigzag: "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: "" }, B = { noItems: "មិនទាន់មានធាតុបន្ថែមទេ...", hint_emptyLibrary: "ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ ឬដំឡើងបណ្ណាល័យពីឃ្លាំងសាធារណៈខាងក្រោម។", hint_emptyPrivateLibrary: "ជ្រើសរើសធាតុនៅលើបាវដើម្បីបន្ថែមវានៅទីនេះ" }, C = { clearReset: "កំណត់បាវឡើងវិញ", exportJSON: "នាំចេញជាឯកសារ", exportImage: "នាំរូបភាពចេញ", export: "រក្សាទុក​នៅ...", copyToClipboard: "ចម្លងទៅក្តារតម្បៀតខ្ទាស់", save: "រក្សាទុកទៅឯកសារបច្ចុប្បន្ន", saveAs: "រក្សាទុក​ជា", load: "បើក", getShareableLink: "យកតំណដែលអាចចែករំលែកបាន", close: "បិទ", selectLanguage: "រើសភាសា", scrollBackToContent: "រំកិលត្រឡប់ទៅមាតិកាវិញ", zoomIn: "ពង្រីក", zoomOut: "បង្រួម", resetZoom: "កំណត់ការពង្រីកឡើងវិញ", menu: "ម៉ឺនុយ", done: "រួចរាល់", edit: "កែ", undo: "ត្រឡប់វិញ", redo: "ធ្វើ​វិញ", resetLibrary: "កំណត់បណ្ណាល័យឡើងវិញ", createNewRoom: "បង្កើតបន្ទប់ថ្មី", fullScreen: "ពេញ​អេក្រង់", darkMode: "ម៉ូដងងឹត", lightMode: "ម៉ូដភ្លឺ", zenMode: "ម៉ូត Zen", objectsSnapMode: "", exitZenMode: "ចេញពី zen​ ម៉ូត", cancel: "បោះបង់", clear: "សម្អាត", remove: "ដកចេញ", embed: "", publishLibrary: "បោះពុម្ពផ្សាយ", submit: "ដាក់​ស្នើ", confirm: "បញ្ជាក់", embeddableInteractionButton: "" }, D = { clearReset: "វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?", couldNotCreateShareableLink: "មិនអាចបង្កើតតំណដែលអាចចែករំលែកបានទេ។", couldNotCreateShareableLinkTooBig: "មិន​អាច​បង្កើត​តំណ​ដែល​អាច​ចែក​រំលែក​បាន៖ ស៊ីន​ធំ​ពេក", couldNotLoadInvalidFile: "មិនអាចផ្ទុកឯកសារមិនត្រឹមត្រូវបានទេ។", importBackendFailed: "ការនាំចូលពីម៉ាស៊ីនមេបានបរាជ័យ។", cannotExportEmptyCanvas: "មិនអាចនាំចេញបាវទទេបានទេ។", couldNotCopyToClipboard: "មិនអាចចម្លងទៅក្ដារតម្បៀតខ្ទាស់បានទេ។", decryptFailed: "មិនអាចឌិគ្រីបទិន្នន័យបានទេ។", uploadedSecurly: "ការបង្ហោះត្រូវបានការពារដោយការអ៊ិនគ្រីបពីចុងដល់ចប់ មានន័យថា ទាំងម៉ាស៊ីនមេរបស់ Excalidraw ឬភាគីទីបីមិនអាចអានខ្លឹមសារបានទេ។", loadSceneOverridePrompt: "ការផ្ទុកគំនូរខាងក្រៅនឹងជំនួសមាតិកាដែលមានស្រាប់របស់អ្នក។ តើអ្នកចង់បន្តទេ?", collabStopOverridePrompt: `ការបញ្ឈប់សម័យនឹងសរសេរជាន់លើគំនូរដែលបានរក្សាទុកនៅលើកុំព្យូទ័ររបស់អ្នកពីមុន។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?
3
+
4
+ (ប្រសិនបើអ្នកចង់រក្សាគំនូរដែលនៅលើកុំព្យូទ័ររបស់អ្នក គ្រាន់តែបិទផ្ទាំងកម្មវិធីរុករក។)`, errorAddingToLibrary: "មិនអាចបន្ថែមធាតុទៅបណ្ណាល័យបានទេ", errorRemovingFromLibrary: "មិនអាចលុបធាតុចេញពីបណ្ណាល័យបានទេ", confirmAddLibrary: "វានឹងបន្ថែមរូបរាង {{numShapes}} ទៅបណ្ណាល័យរបស់អ្នក។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?", imageDoesNotContainScene: "រូបភាពនេះហាក់ដូចជាមិនមានទិន្នន័យស៊ីនណាមួយទេ។ តើអ្នកបានបើកការបង្កប់ស៊ីននៅពេលនាំចេញទេ?", cannotRestoreFromImage: "មិនអាចស្ដារស៊ីនពីឯកសាររូបភាពនេះបានទេ", invalidSceneUrl: "មិន​អាច​នាំចូល​ស៊ីន​ពី URL ដែល​បាន​ផ្តល់​ឱ្យ​ទេ។ វាមានទម្រង់ខុស ឬមិនមានទិន្នន័យ Excalidraw JSON ដែលត្រឹមត្រូវ។", resetLibrary: "វានឹងសម្អាតបាវទាំងមូល។ តើ​អ្នក​ប្រាកដ​ឬ​អត់?", removeItemsFromsLibrary: "តើអ្នកប្រាកដថាចង់លុប {{count}} ធាតុចេញពីបណ្ណាល័យទេ?", invalidEncryptionKey: "សោអ៊ីនគ្រីបត្រូវតែមាន 22 តួអក្សរ។ ការសហការផ្ទាល់ត្រូវបានបិទ។", collabOfflineWarning: `គ្មានការតភ្ជាប់អ៊ីនធឺណិត។
5
+ ការផ្លាស់ប្តូររបស់អ្នកនឹងមិនត្រូវបានរក្សាទុកទេ!` }, A = { unsupportedFileType: "ប្រភេទឯកសារមិនត្រូវបានគាំទ្រទេ។", imageInsertError: "មិនអាចបញ្ចូលរូបភាពបានទេ។ សូម​ព្យាយាម​ម្តង​ទៀត​នៅ​ពេល​ក្រោយ……", fileTooBig: "ឯកសារធំពេក។ ទំហំអតិបរមាដែលអនុញ្ញាតគឺ {{maxSize}}។", svgImageInsertError: "មិនអាចបញ្ចូលរូបភាព SVG បានទេ។ ស្លាក SVG ហាក់ដូចជាមិនត្រឹមត្រូវ។", failedToFetchImage: "", invalidSVGString: "SVG មិន​ត្រឹមត្រូវ។", cannotResolveCollabServer: "មិនអាចភ្ជាប់ទៅម៉ាស៊ីនមេសហការផ្ទាល់បានទេ។ សូមផ្ទុកទំព័រឡើងវិញ ហើយព្យាយាមម្តងទៀត។", importLibraryError: "មិនអាចផ្ទុកបណ្ណាល័យបានទេ។", collabSaveFailed: "មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ។ ប្រសិនបើបញ្ហានៅតែបន្តកើតមាន​ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។", collabSaveFailed_sizeExceeded: "មិនអាចរក្សាទុកទៅម៉ាស៊ីនមេបានទេ, ផ្ទាំងបាវហាក់ដូចជាធំពេក។ អ្នកគួរតែរក្សាទុកឯកសាររបស់អ្នកនៅលើកុំព្យូទ័ររបស់អ្នកសិន ដើម្បីធានាថាការងាររបស់អ្នកមិនបាត់បង់។", imageToolNotSupported: "", brave_measure_text_error: { line1: "អ្នកហាក់ដូចជាកំពុងប្រើប្រាស់កម្មវិធីរុករកតាមអ៊ីនធឺណិត Brave ជាមួយនឹងការកំណត់ <bold>ការពារស្នាមម្រាមដៃយ៉ាងធ្ងន់ធ្ងរ</bold> ត្រូវបានបើក។", line2: "វាអាចបណ្តាលឱ្យមានការបំបែក <bold>ធាតុអត្ថបទ</bold> នៅក្នុងគំនូររបស់អ្នក។", line3: "យើងណែនាំយ៉ាងមុតមាំឱ្យបិទការកំណត់នេះ។ អ្នកអាចអនុវត្តតាម <link>ជំហានទាំងនេះ</link> ដើម្បីបិទការកំណត់នេះ។", line4: "ប្រសិនបើការបិទការកំណត់នេះមិនបានជួសជុលការបង្ហាញធាតុអត្ថបទទេ សូមដាក់ <issueLink>issue</issueLink> នៅលើ GitHub ឬរាយការណ៍នៅលើ <discordLink>Discord</discordLink> របស់យើង" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, e = { selection: "ការជ្រើសរើស", image: "បញ្ចូលរូបភាព", rectangle: "ចតុ​កោណ​កែង​", diamond: "ពេជ្រ", ellipse: "ពងក្រពើ", arrow: "ព្រួញ", line: "បន្ទាត់", freedraw: "គូរ", text: "អត្ថបទ", library: "បណ្ណាល័យ", lock: "រក្សារឧបករណ៍ដែលបានជ្រើសរើសបន្ទាប់ពីគូររួច", penMode: "របៀបប៊ិច - ជៀសវាងការប៉ះ", link: "បន្ថែម/ធ្វើបច្ចុប្បន្នភាពតំណភ្ជាប់សម្រាប់រូបរាងដែលបានជ្រើសរើស", eraser: "ជ័រលុប", frame: "", magicframe: "", embeddable: "", laser: "", hand: "ដៃ (panning tool)", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, F = { canvasActions: "សកម្មភាពបាវ", selectedShapeActions: "សកម្មភាពរបស់រាងដែលបានជ្រើសរើស", shapes: "រាង" }, a = { canvasPanning: "ដើម្បីផ្លាស់ទីបាវ សូមសង្កត់កង់កណ្ដុរឬគ្រាប់ចុចspacebarខណៈពេលកំពុងអូស ឬប្រើឧបករណ៍ដៃ។", linearElement: "ចុចដើម្បីបង្កើតចំណុចច្រើន អូសដើម្បីបង្កើតបន្ទាត់មួយ", freeDraw: "ចុច​ហើយ​អូស លែង​ពេល​រួចរាល់", text: "គន្លឹះ៖ អ្នកក៏អាចបន្ថែមអត្ថបទដោយចុចពីរដងនៅកន្លែងណាមួយដោយប្រើឧបករណ៍ជ្រើសរើស", embeddable: "", text_selected: "ចុចពីរដង ឬចុច ENTER ដើម្បីកែសម្រួលអត្ថបទ", text_editing: "ចុច Escape ឬ CtrlOrCmd +ENTER ដើម្បីបញ្ចប់ការកែសម្រួល", linearElementMulti: "ចុចលើចំណុចចុងក្រោយ ឬចុច Esc/Enter ដើម្បីបញ្ចប់", lockAngle: "អ្នកអាចសង្កត់ Shift ដើម្បីកំណត់មុំ", resize: `អ្នកអាចសង្កត់ SHIFT ដើម្បីបងំ្ខឲមានសមាមាត្រ ខណៈពេលដែលប្តូរទំហំ
6
+ សង្កត់ ALT ដើម្បីប្តូរទំហំពីកណ្តាល`, resizeImage: `អ្នកអាចប្តូរទំហំរូបភាពដោយសេរីដោយសង្កត់ SHIFT,
7
+ សង្កត់ ALT ដើម្បីប្តូរទំហំពីកណ្តាល`, rotate: "អ្នកអាចសង្កត់ Shift ខណៈពេលកំពុងបង្វិល ដើម្បីកម្រិតមុំ", lineEditor_info: "សង្កត់ CtrlOrCmd ហើយចុចពីរដង ឬចុច CtrlOrCmd + Enter ដើម្បីកែសម្រួលចំណុច", lineEditor_pointSelected: `ចុច Delete ដើម្បីលុបចំណុច(ច្រើន)
8
+ CtrlOrCmd+D ដើម្បីចម្លង, ឬអូសដើម្បីផ្លាស់ទី`, lineEditor_nothingSelected: `ជ្រើសរើសចំណុចដែលត្រូវកែសម្រួល (សង្កត់ SHIFT ដើម្បីជ្រើសរើសច្រើនចំណុច)
9
+ ឬ សង្កត់ Alt ហើយចុចដើម្បីបន្ថែមចំណុចថ្មី។`, placeImage: "ចុចដើម្បីដាក់រូបភាព ឬចុចហើយអូសដើម្បីកំណត់ទំហំរបស់រូបភាពដោយដៃ", publishLibrary: "បោះពុម្ពផ្សាយបណ្ណាល័យផ្ទាល់ខ្លួនរបស់អ្នក", bindTextToElement: "ចុច Enter ដើម្បីបន្ថែមអត្ថបទ", deepBoxSelect: "សង្កត់ CtrlOrCmd ដើម្បីជ្រើសរើសយ៉ាងជ្រៅ និងជៀសវាងការអូស", eraserRevert: "សង្កត់ Alt ដើម្បីដកការជ្រើសរើសធាតុដែលត្រូវបានសម្គាល់សម្រាប់ការលុប", firefox_clipboard_write: `បើកមុខងារនេះដោយកំណត់ទង់ "dom.events.asyncClipboard.clipboardItem" ទៅ "true"
10
+ ដើម្បីផ្លាស់ប្តូរទង់កម្មវិធីរុករកនៅក្នុង Firefox សូមចូលទៅកាន់ទំព័រ "about:config"។`, disableSnapping: "" }, r = { cannotShowPreview: "មិនអាចបង្ហាញការមើលជាមុនបាន", canvasTooBig: "បាវអាចមានទំហំធំពេក។", canvasTooBigTip: "គន្លឹះ៖ ព្យាយាមផ្លាស់ទីធាតុដែលឆ្ងាយបំផុតឱ្យទៅជិតគ្នាបន្តិច។" }, t = { headingMain: "បានជួបប្រទះកំហុសមួយ។ សូមព្យាយាម <button>ផ្ទុកទំព័រឡើងវិញ</button>។", clearCanvasMessage: "ប្រសិនបើការផ្ទុកឡើងវិញមិនអាចដោះស្រាយកំហុសបានទេ សូមសាកល្បង <button>សម្អាតបាវ។</button>", clearCanvasCaveat: " នេះនឹងបណ្តាលឱ្យបាត់បង់ការងារ ", trackedToSentry: "កំហុសជាមួយលេខសម្គាល់ {{eventId}} ត្រូវបានតាមដាននៅលើប្រព័ន្ធរបស់យើង។", openIssueMessage: "យើងមានការប្រុងប្រយ័ត្នខ្លាំងណាស់ក្នុងការមិនបញ្ចូលព័ត៌មានរបស់ស៊ីនរបស់អ្នកទៅលើកំហុស។ ប្រសិនបើស៊ីនរបស់អ្នកមិនមានលក្ខណៈឯកជនទេ សូមពិចារណាបន្តទៅកាន់ <button>កម្មវិធីតាមដានកំហុសរបស់យើង។</button> សូមបញ្ចូលព័ត៌មានខាងក្រោមដោយចម្លង និងបិទភ្ជាប់វាទៅក្នុងបញ្ហារបស់ GitHub។", sceneContent: "មាតិកាបាវ៖" }, o = { desc_intro: "អ្នកអាចអញ្ជើញអ្នកដទៃឱ្យសហការជាមួយអ្នកនៅលើស៊ីនបច្ចុប្បន្ន។", desc_privacy: "កុំបារម្ភ វគ្គប្រើការអ៊ិនគ្រីបពីចុងដល់ចប់ ដូច្នេះអ្វីដែលអ្នកគូរនឹងនៅតែជាឯកជន។ សូម្បីតែម៉ាស៊ីនមេរបស់យើងក៏នឹងមិនអាចមើលឃើញអ្វីដែលអ្នកកំពុងធ្វើដែរ។", button_startSession: "ចាប់ផ្តើមវគ្គ", button_stopSession: "បញ្ឈប់វគ្គ", desc_inProgressIntro: "វគ្គសហការផ្ទាល់ឥឡូវនេះកំពុងដំណើរការ។", desc_shareLink: "ចែករំលែកតំណនេះជាមួយអ្នកដែលអ្នកចង់សហការជាមួយ៖", desc_exitSession: "ការបញ្ឈប់វគ្គនេះនឹងផ្តាច់អ្នកចេញពីបន្ទប់ ប៉ុន្តែអ្នកនឹងនៅតែអាចបន្តប្រើបាវនៅលើកុំព្យូទ័ររបស់អ្នក។ សូមចំណាំថាវានឹងមិនប៉ះពាល់ដល់អ្នកប្រើប្រាស់ផ្សេងទៀតទេ​ ហើយពួកគេនឹងនៅតែអាចបន្តសហការលើកំណែរបស់ពួកគេ។", shareTitle: "ចូលរួមវគ្គសហការផ្ទាល់នៅលើ Excalidraw" }, E = { 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 (ជាជម្រើស) ដូច្នេះអ្នកអាចកែសម្រួលបណ្ណាល័យបាននៅពេលដាក់ស្នើសម្រាប់ការពិនិត្យ", twitterHandle: "ឈ្មោះអ្នកប្រើប្រាស់ Twitter (ជាជម្រើស) ដូច្នេះយើងដឹងថាអ្នកណាដែលត្រូវផ្តល់ក្រេឌីតនៅពេលផ្សព្វផ្សាយតាម Twitter", website: "ភ្ជាប់ទៅគេហទំព័រផ្ទាល់ខ្លួនរបស់អ្នក ឬគេហទំព័រផ្សេងទៀត (ជាជម្រើស)" }, errors: { required: "ត្រូវបានទាមទារ", website: "សូមវាយបញ្ចូល URL ​ដែលត្រឹមត្រូវ" }, noteDescription: "ដាក់ស្នើបណ្ណាល័យរបស់អ្នកដើម្បីដាក់បញ្ចូលក្នុង <link>ឃ្លាំងបណ្ណាល័យសាធារណៈ</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: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, b = { tooltip: "គំនូររបស់អ្នកត្រូវបានអ៊ិនគ្រីបពីចុងដល់ចប់ ដូច្នេះម៉ាស៊ីនមេរបស់ Excalidraw នឹងមិនឃើញពួកវាទេ។", link: "ប្លក់ផុសលើការអ៊ិនគ្រីបពីចុងដល់ចុងក្នុង Excalidraw" }, p = { angle: "មុំ", element: "ធាតុ", elements: "ធាតុច្រើន", height: "កម្ពស់", scene: "ស៊ីន", selected: "បានជ្រើសរើស", storage: "ការផ្ទុក", title: "ស្ថិតិសម្រាប់ nerds", total: "សរុប", version: "ជំនាន់:", versionCopy: "ចុចដើម្បីចម្លង", versionNotAvailable: "កំណែមិនអាចប្រើបាន", width: "ទទឹង​" }, g = { addedToLibrary: "បានបន្ថែមទៅបណ្ណាល័យ", copyStyles: "រចនាប័ទ្មត្រូវបានចម្លង។", copyToClipboard: "បានចម្លងទៅក្ដារតម្បៀតខ្ទាស់។", copyToClipboardAsPng: `បានចម្លង {{exportSelection}} ទៅក្ដារតម្បៀតខ្ទាស់ជា PNG
11
+ ({{exportColorScheme}})`, fileSaved: "ឯកសារត្រូវបានរក្សាទុក។", fileSavedToFilename: "បានរក្សាទុកនៅក្នុង {filename}", canvas: "តំបន់គំនូរ", selection: "ការជ្រើសរើស", pasteAsSingleElement: `ប្រើ {{shortcut}} ដើម្បីបិទភ្ជាប់ជាធាតុតែមួយ,
12
+ ឬបិទភ្ជាប់ទៅក្នុងកម្មវិធីនិពន្ធអត្ថបទដែលមានស្រាប់`, unableToEmbed: "", unrecognizedLinkFormat: "" }, h = { transparent: "ថ្លាមើលធ្លុះ", black: "ពណ៍ខ្មៅ", white: "ពណ៌ស", red: "ពណ៌ក្រហម", pink: "ពណ៌ផ្កាឈូក", grape: "ពណ៌ទំពាំងបាយជូរ", violet: "ពណ៌ស្វាយ", gray: "ពណ៌ប្រផេះ", blue: "ពណ៌ខៀវ", cyan: "ពណ៌ផ្ទៃមេឃ", teal: "ពណ៌​ខៀវបៃតង", green: "ពណ៌បៃតង", yellow: "ពណ៌លឿង", orange: "ពណ៌ទឹកក្រូច", bronze: "ពណ៌សំរិទ្ធ" }, y = { app: { center_heading: "ទិន្នន័យទាំងអស់របស់អ្នក ត្រូវបានរក្សាទុកនៅក្នុង browser របស់អ្នក ។", 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: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, w = { title: "", button: "", description: "", syntax: "", preview: "" }, x = { labels: u, library: B, buttons: C, alerts: D, errors: A, toolBar: e, headings: F, hints: a, canvasError: r, errorSplash: t, roomDialog: o, errorDialog: E, 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 };
13
+ export {
14
+ D as alerts,
15
+ C as buttons,
16
+ r as canvasError,
17
+ n as clearCanvasDialog,
18
+ S as colorPicker,
19
+ h as colors,
20
+ c as confirmDialog,
21
+ x as default,
22
+ b as encrypted,
23
+ E as errorDialog,
24
+ t as errorSplash,
25
+ A as errors,
26
+ i as exportDialog,
27
+ F as headings,
28
+ l as helpDialog,
29
+ a as hints,
30
+ m as imageExportDialog,
31
+ u as labels,
32
+ B as library,
33
+ w as mermaid,
34
+ v as overwriteConfirm,
35
+ s as publishDialog,
36
+ d as publishSuccessDialog,
37
+ o as roomDialog,
38
+ p as stats,
39
+ g as toast,
40
+ e as toolBar,
41
+ y as welcomeScreen
42
+ };
@@ -0,0 +1,220 @@
1
+ import { s as A, d as S, p as G } from "./layers.C_kJ5c3l.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.CVg-xbVM.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.mwnm89da.js";
7
+ import { l as P } from "./layers.RskRv7xC.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,19 @@
1
+ import { f as o, p as a } from "./layers.rNpo9CKl.js";
2
+ import { f as t, a as e } from "./layers.MZxHWl05.js";
3
+ import { x as s } from "./layers.CVg-xbVM.js";
4
+ import "lodash-es";
5
+ import "./layers.C7lIplJU.js";
6
+ import "./layers.D4fGb2cV.js";
7
+ import "./layers.mwnm89da.js";
8
+ const h = {
9
+ parser: a,
10
+ db: o,
11
+ renderer: e,
12
+ styles: t,
13
+ init: (r) => {
14
+ r.flowchart || (r.flowchart = {}), r.flowchart.arrowMarkerAbsolute = r.arrowMarkerAbsolute, s({ flowchart: { arrowMarkerAbsolute: r.arrowMarkerAbsolute } }), e.setConf(r.flowchart), o.clear(), o.setGen("gen-2");
15
+ }
16
+ };
17
+ export {
18
+ h as diagram
19
+ };