@layers-app/editor 0.5.5-optimization → 0.5.6-comment.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 (256) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.d.ts +38 -157
  3. package/dist/index.js +10 -12
  4. package/dist/layers.0K7nH1On.js +904 -0
  5. package/dist/layers.1gm16E7h.js +37 -0
  6. package/dist/layers.1hvUGbY-.js +1283 -0
  7. package/dist/layers.4IbajZJw.js +8 -0
  8. package/dist/layers.52famHy6.js +1 -0
  9. package/dist/layers.55ZV6uDK.js +9 -0
  10. package/dist/layers.5tOkPx7s.js +36 -0
  11. package/dist/layers.7JqFgE4-.js +15 -0
  12. package/dist/layers.82WQNqep.js +10 -0
  13. package/dist/layers.8bT9YhoW.js +40 -0
  14. package/dist/layers.9pNaFvaX.js +1 -0
  15. package/dist/layers.A9tLMZ8-.js +40 -0
  16. package/dist/layers.B0ZshcMy.js +1 -0
  17. package/dist/layers.B0nQD_wz.js +7 -0
  18. package/dist/layers.B19hGmey.js +1 -0
  19. package/dist/layers.B1FmrtMP.js +39 -0
  20. package/dist/layers.B1HzFISh.js +1088 -0
  21. package/dist/layers.B1PoF4L1.js +70 -0
  22. package/dist/layers.B3D4g2HH.js +1 -0
  23. package/dist/layers.B5liBCLx.js +39 -0
  24. package/dist/layers.B6IBrXtu.js +5 -0
  25. package/dist/layers.B7K7JjK6.js +1510 -0
  26. package/dist/layers.B7Yn0OVk.js +96 -0
  27. package/dist/layers.B7lNLCab.js +39 -0
  28. package/dist/layers.B8PRHxCR.js +320 -0
  29. package/dist/layers.B91u9JPQ.js +40 -0
  30. package/dist/layers.BABSzoq-.js +42 -0
  31. package/dist/layers.BAo6PQrP.js +1 -0
  32. package/dist/layers.BAtv1CM7.js +1 -0
  33. package/dist/layers.BBD_K_ab.js +1 -0
  34. package/dist/layers.BC2IC9re.js +14 -0
  35. package/dist/layers.BChuXthZ.js +39 -0
  36. package/dist/layers.BG3lYrA2.js +803 -0
  37. package/dist/layers.BGu96O_x.js +116 -0
  38. package/dist/layers.BHqeqsf3.js +1265 -0
  39. package/dist/layers.BIeVwYKL.js +1 -0
  40. package/dist/layers.BJDrjORS.js +244 -0
  41. package/dist/layers.BL4sjw8S.js +38 -0
  42. package/dist/layers.BLEaVcCS.js +9 -0
  43. package/dist/layers.BLICHEgt.js +38 -0
  44. package/dist/layers.BLd2spTm.js +1 -0
  45. package/dist/layers.BLz21b5-.js +10 -0
  46. package/dist/layers.BODsfVZd.js +11 -0
  47. package/dist/layers.BPSqP4Y-.js +791 -0
  48. package/dist/layers.BSFjYVJ-.js +425 -0
  49. package/dist/layers.BSTBZrFn.js +1 -0
  50. package/dist/layers.BUwedZAG.js +40 -0
  51. package/dist/layers.BWxww11_.js +11 -0
  52. package/dist/layers.BXbWKt4k.js +6 -0
  53. package/dist/layers.BYx79WgM.js +7 -0
  54. package/dist/layers.BYxiLVKM.js +8 -0
  55. package/dist/layers.BaFLCLv5.js +1126 -0
  56. package/dist/layers.BbCfEXyj.js +55 -0
  57. package/dist/layers.BckXM8uh.js +41 -0
  58. package/dist/layers.Bdk5wm_r.js +5 -0
  59. package/dist/layers.Bf-y1I96.js +41 -0
  60. package/dist/layers.BhPd38Q_.js +7 -0
  61. package/dist/layers.Bihyr17C.js +769 -0
  62. package/dist/layers.Bj2_tuLO.js +65 -0
  63. package/dist/layers.BjgjTO8U.js +257 -0
  64. package/dist/layers.Bl7UAGKH.js +196 -0
  65. package/dist/layers.BlRrLmIh.js +1 -0
  66. package/dist/layers.BlmZbkh-.js +11 -0
  67. package/dist/layers.BpilXLfW.js +6 -0
  68. package/dist/layers.Bs1T_aIc.js +1 -0
  69. package/dist/layers.BsG1LFwT.js +40 -0
  70. package/dist/layers.Bv3xQjwp.js +84 -0
  71. package/dist/layers.Bvv7vdux.js +9 -0
  72. package/dist/layers.BzYjlGyp.js +8 -0
  73. package/dist/layers.C01ZNdhS.js +41 -0
  74. package/dist/layers.C0Lgw_Sx.js +11688 -0
  75. package/dist/layers.C3CZhlGl.js +8 -0
  76. package/dist/layers.C3tRluQ4.js +5 -0
  77. package/dist/layers.C4n5AHBC.js +11 -0
  78. package/dist/layers.C6I-Rtda.js +1580 -0
  79. package/dist/layers.C7hR0KBX.js +39 -0
  80. package/dist/layers.C8TCYhyA.js +6 -0
  81. package/dist/layers.C8_lu5UH.js +23 -0
  82. package/dist/layers.CANR02Nl.js +160 -0
  83. package/dist/layers.CApJqtTy.js +6 -0
  84. package/dist/layers.CDo0xU9O.js +2235 -0
  85. package/dist/layers.CE5aKrYe.js +40 -0
  86. package/dist/layers.CEbqhrCP.js +32 -0
  87. package/dist/layers.CGyLNMmf.js +39 -0
  88. package/dist/layers.CHZsXQcr.js +1 -0
  89. package/dist/layers.CHpeyQBr.js +7 -0
  90. package/dist/layers.CJp4lFvS.js +1 -0
  91. package/dist/layers.CKbii_Fm.js +52 -0
  92. package/dist/layers.CL2c0de9.js +4 -0
  93. package/dist/layers.CMumGCgO.js +1089 -0
  94. package/dist/layers.CQBi5l87.js +2 -0
  95. package/dist/layers.CRwctr1A.js +39 -0
  96. package/dist/layers.CSsKJLBG.js +9 -0
  97. package/dist/layers.CTBkLJZK.js +44 -0
  98. package/dist/layers.CVZE9_ua.js +41 -0
  99. package/dist/layers.CZ4DsPko.js +2 -0
  100. package/dist/layers.CZL9fnL3.js +2 -0
  101. package/dist/layers.C_Hdlxhz.js +423 -0
  102. package/dist/layers.C_IvrzZ3.js +7 -0
  103. package/dist/layers.C_TXB-Fm.js +6 -0
  104. package/dist/layers.C_n5zuE8.js +19 -0
  105. package/dist/layers.C_yEZmO3.js +1 -0
  106. package/dist/layers.Ca26eURR.js +8 -0
  107. package/dist/layers.CaBWPEUi.js +8 -0
  108. package/dist/layers.Cbip3kA9.js +61 -0
  109. package/dist/layers.CeUJQ0zl.js +6 -0
  110. package/dist/layers.CedEPfAP.js +1 -0
  111. package/dist/layers.CfLOzJzF.js +42 -0
  112. package/dist/layers.ChhuzqF0.js +230 -0
  113. package/dist/layers.CiXhWjbj.js +7 -0
  114. package/dist/layers.Cin_kImi.js +10 -0
  115. package/dist/layers.ClntPIOA.js +1 -0
  116. package/dist/layers.CmsJlpTQ.js +32 -0
  117. package/dist/layers.CnE-E-JL.js +1 -0
  118. package/dist/layers.CovEFG6q.js +7 -0
  119. package/dist/layers.CpP3DoN0.js +1359 -0
  120. package/dist/layers.Cq-aeNdr.js +268 -0
  121. package/dist/layers.CqVTtuYm.js +6 -0
  122. package/dist/layers.Ctfcx5MV.js +9 -0
  123. package/dist/layers.Cvu1R8i3.js +7 -0
  124. package/dist/layers.CvzgfrSj.js +1 -0
  125. package/dist/layers.Cy1JjAkL.js +10 -0
  126. package/dist/layers.Cym0ST1w.js +40 -0
  127. package/dist/layers.Cyzu9PKQ.js +1 -0
  128. package/dist/layers.CzFNEdQU.js +40 -0
  129. package/dist/layers.D05Sekr8.js +202 -0
  130. package/dist/layers.D0zn4_Mx.js +1 -0
  131. package/dist/layers.D13onkyK.js +1 -0
  132. package/dist/layers.D1NayJCn.js +931 -0
  133. package/dist/layers.D3DljblW.js +10 -0
  134. package/dist/layers.D4T8fTcj.js +1223 -0
  135. package/dist/layers.D6B4leTb.js +39 -0
  136. package/dist/layers.D6c0MkVX.js +35 -0
  137. package/dist/layers.D7jGxypv.js +8 -0
  138. package/dist/layers.D7vdNfrC.js +13 -0
  139. package/dist/layers.D8vmJCHk.js +11 -0
  140. package/dist/layers.DBXEiJMV.js +118 -0
  141. package/dist/layers.DCQPx7AD.js +42 -0
  142. package/dist/layers.DCdKAtNZ.js +40 -0
  143. package/dist/layers.DCsYvkeP.js +1 -0
  144. package/dist/layers.DE_Isi6B.js +8 -0
  145. package/dist/layers.DEcb22xR.js +304 -0
  146. package/dist/layers.DEjUqhpX.js +295 -0
  147. package/dist/layers.DFzPxfun.js +2966 -0
  148. package/dist/layers.DG2P8Gj3.js +10 -0
  149. package/dist/layers.DGYwM8PH.js +960 -0
  150. package/dist/layers.DGhfVanc.js +5 -0
  151. package/dist/layers.DHOiG985.js +42 -0
  152. package/dist/layers.DIlegck4.js +42 -0
  153. package/dist/layers.DIszQQxV.js +35 -0
  154. package/dist/layers.DKWQfzy-.js +8 -0
  155. package/dist/layers.DKZfnO7U.js +40 -0
  156. package/dist/layers.DL4oFlMV.js +802 -0
  157. package/dist/layers.DLWsJzru.js +84 -0
  158. package/dist/layers.DLs01ULg.js +39 -0
  159. package/dist/layers.DLwuMfdd.js +84 -0
  160. package/dist/layers.DMkBISW1.js +1 -0
  161. package/dist/layers.DN9HoVxI.js +18 -0
  162. package/dist/layers.DOrgOHBr.js +1 -0
  163. package/dist/layers.DU65xSYF.js +1619 -0
  164. package/dist/layers.DWnxgRuk.js +36 -0
  165. package/dist/layers.DXgo1Drt.js +35 -0
  166. package/dist/layers.DY1I07VU.js +4 -0
  167. package/dist/layers.DZHl6axY.js +10 -0
  168. package/dist/layers.Da-ciHQm.js +793 -0
  169. package/dist/layers.DbaKVP5e.js +1 -0
  170. package/dist/layers.DcTMCznr.js +10 -0
  171. package/dist/layers.De1n0W8r.js +1034 -0
  172. package/dist/layers.DgMWKPPz.js +33 -0
  173. package/dist/layers.DhAFGerI.js +6 -0
  174. package/dist/layers.Dj7Sb4gM.js +33 -0
  175. package/dist/layers.DjTeOgMd.js +207 -0
  176. package/dist/layers.DjUOC4st.js +16 -0
  177. package/dist/layers.DmkPWSQY.js +1 -0
  178. package/dist/layers.Dt8URlt7.js +46051 -0
  179. package/dist/layers.DthXXXVJ.js +7 -0
  180. package/dist/layers.DuM1ysX6.js +36 -0
  181. package/dist/layers.DwG2v97l.js +139 -0
  182. package/dist/layers.Dwk2gG9L.js +9166 -0
  183. package/dist/layers.DxA6ocdw.js +70 -0
  184. package/dist/layers.Dxon_SpH.js +437 -0
  185. package/dist/layers.Dxv8e90o.js +34 -0
  186. package/dist/layers.Dy1naDTQ.js +14 -0
  187. package/dist/layers.Dy9Ae6ye.js +32 -0
  188. package/dist/layers.DyBo3wCO.js +9 -0
  189. package/dist/layers.Er0Yxkpp.js +10 -0
  190. package/dist/layers.Fv-Yf9nu.js +139 -0
  191. package/dist/layers.H8_UdVel.js +186 -0
  192. package/dist/layers.IeyYHv3-.js +1 -0
  193. package/dist/layers.JWCLFILJ.js +1 -0
  194. package/dist/layers.Kk33fmYB.js +1 -0
  195. package/dist/layers.NMvDHXOi.js +3 -0
  196. package/dist/layers.NisZX3oz.js +9 -0
  197. package/dist/layers.OJRwPbTb.js +51 -0
  198. package/dist/layers.PxLIa0D9.js +9 -0
  199. package/dist/layers.SDGJaT4i.js +8 -0
  200. package/dist/layers.TB0kcmT1.js +9 -0
  201. package/dist/layers.TRk5qM88.js +4 -0
  202. package/dist/layers.VHr4X3Bl.js +36 -0
  203. package/dist/layers.W2b5CJ53.js +41 -0
  204. package/dist/layers.YmJMGuL6.js +501 -0
  205. package/dist/layers.YuQYdfgw.js +1 -0
  206. package/dist/layers._aTgLW5P.js +1 -0
  207. package/dist/layers._w72bWjP.js +1 -0
  208. package/dist/layers._z96be1r.js +373 -0
  209. package/dist/layers.aNq3Aoz_.js +1 -0
  210. package/dist/layers.b0h5ZBmD.js +61 -0
  211. package/dist/layers.bxln61RT.js +1 -0
  212. package/dist/layers.cFjqiC8n.js +4 -0
  213. package/dist/layers.cfvpgx5k.js +220 -0
  214. package/dist/layers.csejPfBA.js +1 -0
  215. package/dist/layers.dQr3-Z-a.js +32 -0
  216. package/dist/layers.fCvSPAGO.js +282 -0
  217. package/dist/layers.fresRNdv.js +37 -0
  218. package/dist/layers.hweLqW3I.js +261 -0
  219. package/dist/layers.il5QgiwT.js +41 -0
  220. package/dist/layers.jAiLqRNH.js +38 -0
  221. package/dist/layers.jOg9HQjO.js +32 -0
  222. package/dist/layers.kldsO2Gk.js +41 -0
  223. package/dist/layers.lCpg7dOn.js +21 -0
  224. package/dist/layers.ng4ZQgam.js +10 -0
  225. package/dist/layers.oUgqEjka.js +21938 -0
  226. package/dist/layers.od048jSt.js +21763 -0
  227. package/dist/layers.qfBgI37V.js +48146 -0
  228. package/dist/layers.qpJTJjGB.js +5 -0
  229. package/dist/layers.r5_AAPug.js +1 -0
  230. package/dist/layers.rbM030Pg.js +37 -0
  231. package/dist/layers.rqs7i__i.js +59 -0
  232. package/dist/layers.sVUulQAX.js +41 -0
  233. package/dist/layers.tvXlPGuZ.js +32 -0
  234. package/dist/layers.ujoBmjI9.js +9 -0
  235. package/dist/layers.vNkQnMGw.js +1 -0
  236. package/dist/layers.vai0zC-y.js +2479 -0
  237. package/dist/layers.xAfqQ9El.js +122 -0
  238. package/dist/layers.xpxtBlob.js +37 -0
  239. package/dist/layers.zWXxVCvZ.js +8 -0
  240. package/package.json +18 -76
  241. package/dist/layers.B10sB-Vy.js +0 -1
  242. package/dist/layers.BDsvvINb.js +0 -6774
  243. package/dist/layers.BFJ7oQiY.js +0 -7723
  244. package/dist/layers.BwyONivc.js +0 -864
  245. package/dist/layers.C2lacXcg.js +0 -2511
  246. package/dist/layers.C69TrYD7.js +0 -7
  247. package/dist/layers.CEMW9z_P.js +0 -4
  248. package/dist/layers.Cwao1pOZ.js +0 -6
  249. package/dist/layers.CzNz0Zya.js +0 -1
  250. package/dist/layers.D0Z-zLAV.js +0 -530
  251. package/dist/layers.DNCgFYS7.js +0 -27
  252. package/dist/layers.EKDSoJm1.js +0 -2227
  253. package/dist/layers.QjAkD17S.js +0 -3677
  254. package/dist/layers.ahDFHQXD.js +0 -341
  255. package/dist/layers.eLiGm-eZ.js +0 -3
  256. package/dist/layers.hgliNTDV.js +0 -2
@@ -0,0 +1,41 @@
1
+ import "./layers.od048jSt.js";
2
+ var e = { paste: "Lim inn", pasteAsPlaintext: "Lim inn som klartekst", pasteCharts: "Lim inn diagrammer", selectAll: "Velg alt", multiSelect: "Legg til element i utvalg", moveCanvas: "Flytt lerretet", cut: "Klipp ut", copy: "Kopier", copyAsPng: "Kopier til PNG", copyAsSvg: "Kopier til utklippstavlen som SVG", copyText: "Kopier til utklippstavlen som tekst", copySource: "", convertToCode: "", bringForward: "Flytt framover", sendToBack: "Send bakerst", bringToFront: "Flytt forrest", sendBackward: "Send bakover", delete: "Slett", copyStyles: "Kopier stiler", pasteStyles: "Lim inn stiler", stroke: "Strek", background: "Bakgrunn", fill: "Fyll", strokeWidth: "Strektykkelse", strokeStyle: "Strekstil", strokeStyle_solid: "Heltrukket", strokeStyle_dashed: "Stiplet", strokeStyle_dotted: "Prikket", sloppiness: "Ujevnhet", opacity: "Synlighet", textAlign: "Tekstjustering", edges: "Kanter", sharp: "Skarp", round: "Rund", arrowheads: "Pilspisser", arrowhead_none: "Ingen", arrowhead_arrow: "Pil", arrowhead_bar: "Søyle", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Trekant", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Skriftstørrelse", fontFamily: "Fontfamilie", addWatermark: 'Legg til "Laget med Excalidraw"', handDrawn: "Håndtegnet", normal: "Normal", code: "Kode", small: "Liten", medium: "Medium", large: "Stor", veryLarge: "Svært stor", solid: "Helfarge", hachure: "Skravert", zigzag: "Sikk-sakk", crossHatch: "Krysskravert", thin: "Tynn", bold: "Tykk", left: "Venstre", center: "Midtstill", right: "Høyre", extraBold: "Ekstra tykk", architect: "Arkitekt", artist: "Kunstner", cartoonist: "Tegner", fileTitle: "Filnavn", colorPicker: "Fargevelger", canvasColors: "Brukes på lerretet", canvasBackground: "Lerretsbakgrunn", drawingCanvas: "Lerret", layers: "Lag", actions: "Handlinger", language: "Språk", liveCollaboration: "Sanntids-samarbeid...", duplicateSelection: "Dupliser", untitled: "Uten navn", name: "Navn", yourName: "Ditt navn", madeWithExcalidraw: "Laget med Excalidraw", group: "Gruppér utvalg", ungroup: "Avgruppér utvalg", collaborators: "Samarbeidspartnere", showGrid: "Vis rutenett", addToLibrary: "Legg til i bibliotek", removeFromLibrary: "Fjern fra bibliotek", libraryLoadingMessage: "Laster bibliotek…", libraries: "Bla gjennom biblioteker", loadingScene: "Laster inn scene…", align: "Juster", alignTop: "Juster øverst", alignBottom: "Juster nederst", alignLeft: "Juster venstre", alignRight: "Juster høyre", centerVertically: "Midtstill vertikalt", centerHorizontally: "Midtstill horisontalt", distributeHorizontally: "Distribuer horisontalt", distributeVertically: "Distribuer vertikalt", flipHorizontal: "Snu horisontalt", flipVertical: "Snu vertikalt", viewMode: "Visningsmodus", share: "Del", showStroke: "Vis fargevelger for kantfarge", showBackground: "Vis fargevelger for bakgrunnsfarge", toggleTheme: "Veksle tema", personalLib: "Personlig bibliotek", excalidrawLib: "Excalidraw-bibliotek", decreaseFontSize: "Reduser skriftstørrelse", increaseFontSize: "Øk skriftstørrelse", unbindText: "Avbind tekst", bindText: "Bind tekst til beholderen", createContainerFromText: "La tekst flyte i en beholder", link: { edit: "Rediger lenke", editEmbed: "Rediger lenke og bygg inn", create: "Opprett lenke", createEmbed: "Opprett lenke og bygg inn", label: "Lenke", labelEmbed: "Lenk & bygg inn", empty: "Ingen lenke er valgt" }, lineEditor: { edit: "Rediger linje", exit: "Avslutt linjeredigering" }, elementLock: { lock: "Lås", unlock: "Lås opp", lockAll: "Lås alle", unlockAll: "Lås opp alle" }, statusPublished: "Publisert", sidebarLock: "Holde sidemenyen åpen", selectAllElementsInFrame: "Velg alle elementene i rammen", removeAllElementsFromFrame: "Fjern alle elementer fra rammen", eyeDropper: "Velg farge fra lerretet", textToDiagram: "", prompt: "" }, t = { noItems: "Ingen elementer lagt til ennå...", hint_emptyLibrary: "Velg et objekt på lerretet for å legge det til her, eller installer et bibliotek fra den offentlige samlingen under.", hint_emptyPrivateLibrary: "Velg et objekt på lerretet for å legge det til her." }, r = { clearReset: "Tøm lerretet og tilbakestill bakgrunnsfargen", exportJSON: "Eksporter til fil", exportImage: "Eksporter bilde...", export: "Lagre som...", copyToClipboard: "Kopier til utklippstavle", save: "Lagre til aktiv fil", saveAs: "Lagre som", load: "Åpne", getShareableLink: "Få delingslenke", close: "Lukk", selectLanguage: "Velg språk", scrollBackToContent: "Skroll tilbake til innhold", zoomIn: "Zoom inn", zoomOut: "Zoom ut", resetZoom: "Nullstill zoom", menu: "Meny", done: "Ferdig", edit: "Rediger", undo: "Angre", redo: "Gjør om", resetLibrary: "Nullstill bibliotek", createNewRoom: "Opprett et nytt rom", fullScreen: "Fullskjerm", darkMode: "Mørk modus", lightMode: "Lys modus", zenMode: "Zen-modus", objectsSnapMode: "", exitZenMode: "Avslutt zen-modus", cancel: "Avbryt", clear: "Tøm", remove: "Fjern", embed: "Slå av/på innebygging", publishLibrary: "Publiser", submit: "Send inn", confirm: "Bekreft", embeddableInteractionButton: "Klikk for å samhandle" }, i = { clearReset: "Dette vil tømme lerretet. Er du sikker?", couldNotCreateShareableLink: "Kunne ikke lage delbar lenke.", couldNotCreateShareableLinkTooBig: "Kunne ikke opprette lenke til deling: scenen er for stor", couldNotLoadInvalidFile: "Kunne ikke laste inn ugyldig fil", importBackendFailed: "Importering av backend feilet.", cannotExportEmptyCanvas: "Kan ikke eksportere et tomt lerret.", couldNotCopyToClipboard: "Kunne ikke kopiere til utklippstavlen.", decryptFailed: "Kunne ikke dekryptere data.", uploadedSecurly: "Opplastingen er kryptert og kan ikke leses av Excalidraw-serveren eller tredjeparter.", loadSceneOverridePrompt: "Å laste inn ekstern tegning vil erstatte det eksisterende innholdet. Ønsker du å fortsette?", collabStopOverridePrompt: `Hvis du slutter økten, overskrives din forrige, lokalt lagrede tegning. Er du sikker?
3
+
4
+ (Hvis du ønsker å beholde din lokale tegning, bare lukk nettleserfanen i stedet.)`, errorAddingToLibrary: "Kunne ikke legge element i biblioteket", errorRemovingFromLibrary: "Kunne ikke fjerne element fra biblioteket", confirmAddLibrary: "Dette vil legge til {{numShapes}} figur(er) i biblioteket ditt. Er du sikker?", imageDoesNotContainScene: "Det ser ikke ut til at dette bildet inneholder noen scenedata. Har du aktivert innebygging av scene under eksporten?", cannotRestoreFromImage: "Scenen kunne ikke gjenopprettes fra denne bildefilen", invalidSceneUrl: "Kunne ikke importere scene fra den oppgitte URL-en. Den er enten ødelagt, eller inneholder ikke gyldig Excalidraw JSON-data.", resetLibrary: "Dette vil tømme biblioteket ditt. Er du sikker?", removeItemsFromsLibrary: "Slett {{count}} element(er) fra biblioteket?", invalidEncryptionKey: "Krypteringsnøkkel må ha 22 tegn. Live-samarbeid er deaktivert.", collabOfflineWarning: `Ingen Internett-tilkobling tilgjengelig.
5
+ Endringer dine vil ikke bli lagret!` }, n = { unsupportedFileType: "Filtypen støttes ikke.", imageInsertError: "Kunne ikke sette inn bildet. Prøv igjen senere...", fileTooBig: "Filen er for stor. Maksimal tillatt størrelse er {{maxSize}}.", svgImageInsertError: "Kunne ikke sette inn SVG-bilde. SVG-koden ser ugyldig ut.", failedToFetchImage: "", invalidSVGString: "Ugyldig SVG.", cannotResolveCollabServer: "Kunne ikke koble til samarbeidsserveren. Vennligst oppdater siden og prøv på nytt.", importLibraryError: "Kunne ikke laste bibliotek", collabSaveFailed: "Kan ikke lagre i backend-databasen. Hvis problemer vedvarer, bør du lagre filen lokalt for å sikre at du ikke mister arbeidet.", collabSaveFailed_sizeExceeded: "Kunne ikke lagre til backend-databasen, lerretet ser ut til å være for stort. Du bør lagre filen lokalt for å sikre at du ikke mister arbeidet ditt.", imageToolNotSupported: "", brave_measure_text_error: { line1: "Ser ut som om du bruker Brave nettleser med <bold>Aggressivt Block Finger</bold> -innstillingen aktivert.", line2: "Dette kan resultere i å bryte <bold>tekst-elementene</bold> i tegningene.", line3: "Vi anbefaler på det sterkeste å deaktivere denne innstillingen. Du kan følge <link>disse trinnene</link> om hvordan du gjør det.", line4: "Hvis deaktivering av denne innstillingen ikke fikser visningen av tekstelementer, vennligst åpne en <issueLink>sak</issueLink> på vår GitHub, eller skriv oss på <discordLink>Discord</discordLink>" }, libraryElementTypeError: { embeddable: "Innebygde elementer kan ikke legges til i biblioteket.", iframe: "", image: "Støtte for å legge til bilder i biblioteket kommer snart!" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, l = { selection: "Velg", image: "Sett inn bilde", rectangle: "Rektangel", diamond: "Diamant", ellipse: "Ellipse", arrow: "Pil", line: "Linje", freedraw: "Tegn", text: "Tekst", library: "Bibliotek", lock: "Behold merket verktøy som aktivt", penMode: "Pennemodus - forhindre berøring", link: "Legg til / oppdater link for en valgt figur", eraser: "Viskelær", frame: "Rammeverktøy", magicframe: "", embeddable: "Nettinnbygging", laser: "", hand: "Hånd (panoreringsverktøy)", extraTools: "Flere verktøy", mermaidToExcalidraw: "", magicSettings: "" }, a = { canvasActions: "Handlinger: lerret", selectedShapeActions: "Handlinger: valgt objekt", shapes: "Former" }, o = { canvasPanning: "For å flytte lerretet, hold musehjulet eller mellomromstasten mens du drar, eller bruk hånd-verktøyet", linearElement: "Klikk for å starte linje med flere punkter, eller dra for en enkel linje", freeDraw: "Klikk og dra, slipp når du er ferdig", text: "Tips: du kan også legge til tekst ved å dobbeltklikke hvor som helst med utvalgsverktøyet", embeddable: "Klikk og dra for å opprette en nettside innebygd", text_selected: "Dobbeltklikk eller trykk ENTER for å redigere tekst", text_editing: "Trykk Escape eller Ctrl/Cmd+Enter for å fullføre redigering", linearElementMulti: "Klikk på siste punkt eller trykk Escape eller Enter for å fullføre", lockAngle: "Du kan låse vinkelen ved å holde nede SHIFT", resize: `Du kan beholde forholdet ved å trykke SHIFT mens du endrer størrelse,
6
+ trykk ALT for å endre størrelsen fra midten`, resizeImage: `Du kan endre størrelse fritt ved å holde SHIFT,
7
+ hold ALT for å endre størrelse fra midten`, rotate: "Du kan låse vinklene ved å holde SHIFT mens du roterer", lineEditor_info: "Hold Ctrl/Cmd og dobbelklikk eller trykk Ctrl/Cmd + Enter for å endre punkter", lineEditor_pointSelected: "Trykk på Slett for å fjerne punktet, Ctrl / Cmd+D for å duplisere, eller dra for å flytte", lineEditor_nothingSelected: `Velg et punkt å redigere (hold SHIFT for å velge flere),
8
+ eller hold Alt og klikk for å legge til nye punkter`, placeImage: "Klikk for å plassere bildet, eller klikk og dra for å angi størrelsen manuelt", publishLibrary: "Publiser ditt eget bibliotek", bindTextToElement: "Trykk Enter for å legge til tekst", deepBoxSelect: "Hold CTRL/CMD for å markere dypt og forhindre flytting", eraserRevert: "Hold Alt for å reversere elementene merket for sletting", firefox_clipboard_write: 'Denne funksjonen kan sannsynligvis aktiveres ved å sette "dom.events.asyncClipboard.clipboardItem" flagget til "true". For å endre nettleserens flagg i Firefox, besøk "about:config"-siden.', disableSnapping: "" }, s = { cannotShowPreview: "Kan ikke vise forhåndsvisning", canvasTooBig: "Lerretet kan være for stort.", canvasTooBigTip: "Tips: Prøv å flytte de ytterste elementene litt tettere sammen." }, d = { headingMain: "En feil oppsto. Prøv <button>å laste siden på nytt.</button>", clearCanvasMessage: "Om ny sidelasting ikke fungerer, prøv <button>å tømme lerretet.</button>", clearCanvasCaveat: " Dette vil føre til tap av arbeid ", trackedToSentry: "Feilen med identifikator {{eventId}} ble logget i vårt system.", openIssueMessage: "Vi er veldig nøye med å ikke inkludere dine scene-opplysninger i feilen. Hvis din scene ikke er privat, vurder å følge opp i vårt <button>feilrapporteringssystem.</button> Ta med opplysningene nedenfor ved å kopiere og lime inn i GitHub-saken.", sceneContent: "Scene-innhold:" }, k = { desc_intro: "Du kan invitere personer til scenen din for å samarbeide med deg.", desc_privacy: "Ta det med ro, sesjonen bruker ende-til-ende-kryptering, så alt du tegner forblir privat. Ikke en gang serveren vår kan se hva du lager.", button_startSession: "Start økt", button_stopSession: "Stopp sesjon", desc_inProgressIntro: "Sanntids-samarbeidsøkt er nå i gang.", desc_shareLink: "Del denne linken med de du vil samarbeide med:", desc_exitSession: "Dersom du avslutter sesjonen blir du frakoblet rommet, men du kan fortsette å arbeide med scenen lokalt. Vær oppmerksom på at dette ikke vil påvirke andre personer, og de vil fortsatt ha mulighet til å samarbeide på deres versjon.", shareTitle: "Bli med i en live samarbeidsøkt på Excalidraw" }, g = { title: "Feil" }, b = { disk_title: "Lagre til disk", disk_details: "Eksporter scene-dataene til en fil som du kan importere fra senere.", disk_button: "Lagre til fil", link_title: "Delbar lenke", link_details: "Eksporter som en skrivebeskyttet lenke.", link_button: "Eksporter til lenke", excalidrawplus_description: "Lagre scenen til ditt Excalidraw+ arbeidsområde.", excalidrawplus_button: "Eksporter", excalidrawplus_exportError: "Kunne ikke eksportere til Excalidraw+ for øyeblikket..." }, m = { blog: "Les bloggen vår", click: "klikk", deepSelect: "Marker dypt", deepBoxSelect: "Marker dypt innad i boks og forhindre flytting", curvedArrow: "Buet pil", curvedLine: "Buet linje", documentation: "Dokumentasjon", doubleClick: "dobbeltklikk", drag: "dra", editor: "Redigeringsvisning", editLineArrowPoints: "Rediger linje/pilpunkter", editText: "Rediger tekst / legg til etikett", github: "Funnet et problem? Send inn", howto: "Følg våre veiledninger", or: "eller", preventBinding: "Forhindre pilbinding", tools: "Verktøy", shortcuts: "Tastatursnarveier", textFinish: "Fullfør redigering (teksteditor)", textNewLine: "Legg til ny linje (teksteditor)", title: "Hjelp", view: "Vis", zoomToFit: "Zoom for å se alle elementer", zoomToSelection: "Zoom til utvalg", toggleElementLock: "Lås/lås opp utvalg", movePageUpDown: "Flytt side opp/ned", movePageLeftRight: "Flytt siden til venstre/høyre" }, p = { title: "Tøm lerret" }, u = { title: "Publiser bibliotek", itemName: "Elementnavn", authorName: "Forfatterens navn", githubUsername: "GitHub-brukernavnet", twitterUsername: "Twitter-brukernavn", libraryName: "Biblioteknavn", libraryDesc: "Beskrivelse av bibliotek", website: "Nettsted", placeholder: { authorName: "Ditt navn eller brukernavn", libraryName: "Navnet på biblioteket ditt", libraryDesc: "Beskrivelse av biblioteket ditt for å hjelpe folk med å forstå bruken", githubHandle: "Github-brukernavn (valgfritt), slik at du kan redigere biblioteket når du har sendt inn for gjennomgang", twitterHandle: "Twitter-brukernavn (valgfritt), slik at vi vet hvem vi skal kreditere når promotert på Twitter", website: "Lenke til din personlige nettside eller et annet sted (valgfritt)" }, errors: { required: "Påkrevd", website: "Angi en gyldig nettadresse" }, noteDescription: "Send inn biblioteket ditt som skal inkluderes i <link>kildekode for offentlig bibliotek</link>for andre å bruke dem i tegninger.", noteGuidelines: "Biblioteket må godkjennes manuelt først. Les <link>retningslinjene</link> før innsending. Du vil trenge en GitHub-konto for å kommunisere og gjøre endringer hvis ønsket, men det er ikke påkrevd.", noteLicense: "Ved å sende inn godtar du at biblioteket blir publisert under <link>MIT-lisens, </link>som kortfattet betyr at andre kan bruke dem uten begrensninger.", noteItems: "Hvert bibliotek må ha sitt eget navn, så det er filtrerbart. Følgende bibliotekselementer vil bli inkludert:", atleastOneLibItem: "Vennligst velg minst ett bibliotek for å komme i gang", republishWarning: "Merk: noen av de valgte elementene er merket som allerede publisert/sendt. Du bør kun sende inn elementer på nytt når du oppdaterer et eksisterende bibliotek eller innlevering." }, x = { title: "Bibliotek innsendt", content: "Takk {{authorName}}. Ditt bibliotek har blitt sendt inn for gjennomgang. Du kan spore statusen<link>her</link>" }, v = { resetLibrary: "Nullstill bibliotek", removeItemsFromLib: "Fjern valgte elementer fra bibliotek" }, c = { header: "Eksporter bilde", label: { withBackground: "Bakgrunn", onlySelected: "Kun valgte", darkMode: "Mørk modus", embedScene: "Bygg inn scene", scale: "Skalering", padding: "Avstand" }, tooltip: { embedScene: `Scenedata vil bli lagret i den eksporterte PNG/SVG-filen, slik at scenen kan gjenopprettes fra den.
9
+ Det vil øke den eksporterte filstørrelsen.` }, title: { exportToPng: "Eksporter til PNG", exportToSvg: "Eksporter til SVG", copyPngToClipboard: "Kopier PNG til utklippstavlen" }, button: { exportToPng: "PNG", exportToSvg: "SVG", copyPngToClipboard: "Kopier til utklippstavle" } }, E = { tooltip: "Dine tegninger er ende-til-ende-krypterte slik at Excalidraw sine servere aldri vil se dem.", link: "Blogginnlegg om ende-til-ende-kryptering i Excalidraw" }, f = { angle: "Vinkel", element: "Element", elements: "Elementer", height: "Høyde", scene: "Scene", selected: "Valgt", storage: "Lagring", title: "Statistikk for nerder", total: "Totalt", version: "Versjon", versionCopy: "Klikk for å kopiere", versionNotAvailable: "Versjon ikke tilgjengelig", width: "Bredde" }, y = { addedToLibrary: "Lagt til i biblioteket", copyStyles: "Kopierte stiler.", copyToClipboard: "Kopiert til utklippstavlen.", copyToClipboardAsPng: `Kopierte {{exportSelection}} til utklippstavlen som PNG
10
+ ({{exportColorScheme}})`, fileSaved: "Fil lagret.", fileSavedToFilename: "Lagret til {filename}", canvas: "lerret", selection: "utvalg", pasteAsSingleElement: `Bruk {{shortcut}} for å lime inn som ett enkelt element,
11
+ eller lim inn i en eksisterende tekstbehandler`, unableToEmbed: "Innbygging av denne nettadressen er ikke tillatt. Oppret en sak på GitHub for å be om url-hvitelisting", unrecognizedLinkFormat: 'Linken du bygget inn samsvarer ikke med det forventede formatet. Prøv å lime inn "bygg inn"-strengen fra kildesiden' }, h = { transparent: "Gjennomsiktig", black: "Svart", white: "Hvit", red: "Rød", pink: "Rosa", grape: "Drue", violet: "Fiolett", gray: "Grå", blue: "Blå", cyan: "Turkis", teal: "Blågrønn", green: "Grønn", yellow: "Gul", orange: "Oransje", bronze: "Bronse" }, F = { app: { center_heading: "Alle dine data lagres lokalt i din nettleser.", center_heading_plus: "Ønsker du å gå til Excalidraw+ i stedet?", menuHint: "Eksporter, innstillinger, språk, ..." }, defaults: { menuHint: "Eksporter, innstillinger og mer...", center_heading: "Diagrammer. Gjort. Enkelt.", toolbarHint: "Velg et verktøy og start å tegne!", helpHint: "Snarveier & hjelp" } }, S = { mostUsedCustomColors: "Mest brukte egendefinerte farger", colors: "Farger", shades: "Toner", hexCode: "Heksadesimal kode", noShades: "Ingen toner tilgjengelig for denne fargen" }, L = { action: { exportToImage: { title: "Eksporter som bilde", button: "Eksporter som bilde", description: "Eksporter scene-dataene til en fil som du kan importere fra senere." }, saveToDisk: { title: "Lagre til disk", button: "Lagre til disk", description: "Eksporter scene-dataene til en fil som du kan importere fra senere." }, excalidrawPlus: { title: "Excalidraw+", button: "Eksporter til Excalidraw+", description: "Lagre scenen til ditt Excalidraw+-arbeidsområde." } }, modal: { loadFromFile: { title: "Last inn fra fil", button: "Last inn fra fil", description: "Å laste fra en fil vil <bold>erstatte ditt eksisterende innhold</bold>.<br></br>Du kan sikkerhetskopiere tegningen din først ved å bruke en av valgene under." }, shareableLink: { title: "Last inn fra lenke", button: "Erstatt innholdet mitt", description: "Lasting av ekstern tegning vil <bold>erstatte ditt eksisterende innhold</bold>.<br></br>Du kan sikkerhetskopiere tegningen din først ved å bruke en av valgene nedenfor." } } }, T = { title: "", button: "", description: "", syntax: "", preview: "" }, w = { labels: e, library: t, buttons: r, alerts: i, errors: n, toolBar: l, headings: a, hints: o, canvasError: s, errorSplash: d, roomDialog: k, errorDialog: g, exportDialog: b, helpDialog: m, clearCanvasDialog: p, publishDialog: u, publishSuccessDialog: x, confirmDialog: v, imageExportDialog: c, encrypted: E, stats: f, toast: y, colors: h, welcomeScreen: F, colorPicker: S, overwriteConfirm: L, mermaid: T };
12
+ export {
13
+ i as alerts,
14
+ r as buttons,
15
+ s as canvasError,
16
+ p as clearCanvasDialog,
17
+ S as colorPicker,
18
+ h as colors,
19
+ v as confirmDialog,
20
+ w as default,
21
+ E as encrypted,
22
+ g as errorDialog,
23
+ d as errorSplash,
24
+ n as errors,
25
+ b as exportDialog,
26
+ a as headings,
27
+ m as helpDialog,
28
+ o as hints,
29
+ c as imageExportDialog,
30
+ e as labels,
31
+ t as library,
32
+ T as mermaid,
33
+ L as overwriteConfirm,
34
+ u as publishDialog,
35
+ x as publishSuccessDialog,
36
+ k as roomDialog,
37
+ f as stats,
38
+ y as toast,
39
+ l as toolBar,
40
+ F as welcomeScreen
41
+ };
@@ -0,0 +1,501 @@
1
+ import { H as J, a as rt, s as at, b as lt, c as ot, n as ct, o as ht, l as et, g as it, a6 as ut, A as yt, T as ft, e as pt, i as gt, q as dt, P as mt } from "./layers.Dwk2gG9L.js";
2
+ import "./layers.od048jSt.js";
3
+ import { a as tt } from "./layers.Bv3xQjwp.js";
4
+ import { o as _t } from "./layers.b0h5ZBmD.js";
5
+ import { a as xt } from "./layers.CqVTtuYm.js";
6
+ import { c as F } from "./layers.DLwuMfdd.js";
7
+ function kt(e, u) {
8
+ return u < e ? -1 : u > e ? 1 : u >= e ? 0 : NaN;
9
+ }
10
+ function vt(e) {
11
+ return e;
12
+ }
13
+ function bt() {
14
+ var e = vt, u = kt, $ = null, p = F(0), g = F(J), A = F(0);
15
+ function y(a) {
16
+ var l, d = (a = xt(a)).length, k, I, T = 0, m = new Array(d), v = new Array(d), c = +p.apply(this, arguments), E = Math.min(J, Math.max(-J, g.apply(this, arguments) - c)), O, w = Math.min(Math.abs(E) / d, A.apply(this, arguments)), b = w * (E < 0 ? -1 : 1), t;
17
+ for (l = 0; l < d; ++l)
18
+ (t = v[m[l] = l] = +e(a[l], l, a)) > 0 && (T += t);
19
+ for (u != null ? m.sort(function(i, n) {
20
+ return u(v[i], v[n]);
21
+ }) : $ != null && m.sort(function(i, n) {
22
+ return $(a[i], a[n]);
23
+ }), l = 0, I = T ? (E - d * b) / T : 0; l < d; ++l, c = O)
24
+ k = m[l], t = v[k], O = c + (t > 0 ? t * I : 0) + b, v[k] = {
25
+ data: a[k],
26
+ index: l,
27
+ value: t,
28
+ startAngle: c,
29
+ endAngle: O,
30
+ padAngle: w
31
+ };
32
+ return v;
33
+ }
34
+ return y.value = function(a) {
35
+ return arguments.length ? (e = typeof a == "function" ? a : F(+a), y) : e;
36
+ }, y.sortValues = function(a) {
37
+ return arguments.length ? (u = a, $ = null, y) : u;
38
+ }, y.sort = function(a) {
39
+ return arguments.length ? ($ = a, u = null, y) : $;
40
+ }, y.startAngle = function(a) {
41
+ return arguments.length ? (p = typeof a == "function" ? a : F(+a), y) : p;
42
+ }, y.endAngle = function(a) {
43
+ return arguments.length ? (g = typeof a == "function" ? a : F(+a), y) : g;
44
+ }, y.padAngle = function(a) {
45
+ return arguments.length ? (A = typeof a == "function" ? a : F(+a), y) : A;
46
+ }, y;
47
+ }
48
+ var K = (function() {
49
+ var e = function(b, t, i, n) {
50
+ for (i = i || {}, n = b.length; n--; i[b[n]] = t)
51
+ ;
52
+ return i;
53
+ }, u = [1, 3], $ = [1, 4], p = [1, 5], g = [1, 6], A = [1, 10, 12, 14, 16, 18, 19, 20, 21, 22], y = [2, 4], a = [1, 5, 10, 12, 14, 16, 18, 19, 20, 21, 22], l = [20, 21, 22], d = [2, 7], k = [1, 12], I = [1, 13], T = [1, 14], m = [1, 15], v = [1, 16], c = [1, 17], E = {
54
+ trace: function() {
55
+ },
56
+ yy: {},
57
+ symbols_: { error: 2, start: 3, eol: 4, PIE: 5, document: 6, showData: 7, line: 8, statement: 9, txt: 10, value: 11, title: 12, title_value: 13, acc_title: 14, acc_title_value: 15, acc_descr: 16, acc_descr_value: 17, acc_descr_multiline_value: 18, section: 19, NEWLINE: 20, ";": 21, EOF: 22, $accept: 0, $end: 1 },
58
+ terminals_: { 2: "error", 5: "PIE", 7: "showData", 10: "txt", 11: "value", 12: "title", 13: "title_value", 14: "acc_title", 15: "acc_title_value", 16: "acc_descr", 17: "acc_descr_value", 18: "acc_descr_multiline_value", 19: "section", 20: "NEWLINE", 21: ";", 22: "EOF" },
59
+ productions_: [0, [3, 2], [3, 2], [3, 3], [6, 0], [6, 2], [8, 2], [9, 0], [9, 2], [9, 2], [9, 2], [9, 2], [9, 1], [9, 1], [4, 1], [4, 1], [4, 1]],
60
+ performAction: function(t, i, n, r, o, s, P) {
61
+ var _ = s.length - 1;
62
+ switch (o) {
63
+ case 3:
64
+ r.setShowData(!0);
65
+ break;
66
+ case 6:
67
+ this.$ = s[_ - 1];
68
+ break;
69
+ case 8:
70
+ r.addSection(s[_ - 1], r.cleanupValue(s[_]));
71
+ break;
72
+ case 9:
73
+ this.$ = s[_].trim(), r.setDiagramTitle(this.$);
74
+ break;
75
+ case 10:
76
+ this.$ = s[_].trim(), r.setAccTitle(this.$);
77
+ break;
78
+ case 11:
79
+ case 12:
80
+ this.$ = s[_].trim(), r.setAccDescription(this.$);
81
+ break;
82
+ case 13:
83
+ r.addSection(s[_].substr(8)), this.$ = s[_].substr(8);
84
+ break;
85
+ }
86
+ },
87
+ table: [{ 3: 1, 4: 2, 5: u, 20: $, 21: p, 22: g }, { 1: [3] }, { 3: 7, 4: 2, 5: u, 20: $, 21: p, 22: g }, e(A, y, { 6: 8, 7: [1, 9] }), e(a, [2, 14]), e(a, [2, 15]), e(a, [2, 16]), { 1: [2, 1] }, e(l, d, { 8: 10, 9: 11, 1: [2, 2], 10: k, 12: I, 14: T, 16: m, 18: v, 19: c }), e(A, y, { 6: 18 }), e(A, [2, 5]), { 4: 19, 20: $, 21: p, 22: g }, { 11: [1, 20] }, { 13: [1, 21] }, { 15: [1, 22] }, { 17: [1, 23] }, e(l, [2, 12]), e(l, [2, 13]), e(l, d, { 8: 10, 9: 11, 1: [2, 3], 10: k, 12: I, 14: T, 16: m, 18: v, 19: c }), e(A, [2, 6]), e(l, [2, 8]), e(l, [2, 9]), e(l, [2, 10]), e(l, [2, 11])],
88
+ defaultActions: { 7: [2, 1] },
89
+ parseError: function(t, i) {
90
+ if (i.recoverable)
91
+ this.trace(t);
92
+ else {
93
+ var n = new Error(t);
94
+ throw n.hash = i, n;
95
+ }
96
+ },
97
+ parse: function(t) {
98
+ var i = this, n = [0], r = [], o = [null], s = [], P = this.table, _ = "", f = 0, V = 0, R = 2, M = 1, B = s.slice.call(arguments, 1), h = Object.create(this.lexer), N = { yy: {} };
99
+ for (var Y in this.yy)
100
+ Object.prototype.hasOwnProperty.call(this.yy, Y) && (N.yy[Y] = this.yy[Y]);
101
+ h.setInput(t, N.yy), N.yy.lexer = h, N.yy.parser = this, typeof h.yylloc > "u" && (h.yylloc = {});
102
+ var q = h.yylloc;
103
+ s.push(q);
104
+ var nt = h.options && h.options.ranges;
105
+ typeof N.yy.parseError == "function" ? this.parseError = N.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
106
+ function st() {
107
+ var C;
108
+ return C = r.pop() || h.lex() || M, typeof C != "number" && (C instanceof Array && (r = C, C = r.pop()), C = i.symbols_[C] || C), C;
109
+ }
110
+ for (var x, L, S, H, z = {}, j, D, X, W; ; ) {
111
+ if (L = n[n.length - 1], this.defaultActions[L] ? S = this.defaultActions[L] : ((x === null || typeof x > "u") && (x = st()), S = P[L] && P[L][x]), typeof S > "u" || !S.length || !S[0]) {
112
+ var Z = "";
113
+ W = [];
114
+ for (j in P[L])
115
+ this.terminals_[j] && j > R && W.push("'" + this.terminals_[j] + "'");
116
+ h.showPosition ? Z = "Parse error on line " + (f + 1) + `:
117
+ ` + h.showPosition() + `
118
+ Expecting ` + W.join(", ") + ", got '" + (this.terminals_[x] || x) + "'" : Z = "Parse error on line " + (f + 1) + ": Unexpected " + (x == M ? "end of input" : "'" + (this.terminals_[x] || x) + "'"), this.parseError(Z, {
119
+ text: h.match,
120
+ token: this.terminals_[x] || x,
121
+ line: h.yylineno,
122
+ loc: q,
123
+ expected: W
124
+ });
125
+ }
126
+ if (S[0] instanceof Array && S.length > 1)
127
+ throw new Error("Parse Error: multiple actions possible at state: " + L + ", token: " + x);
128
+ switch (S[0]) {
129
+ case 1:
130
+ n.push(x), o.push(h.yytext), s.push(h.yylloc), n.push(S[1]), x = null, V = h.yyleng, _ = h.yytext, f = h.yylineno, q = h.yylloc;
131
+ break;
132
+ case 2:
133
+ if (D = this.productions_[S[1]][1], z.$ = o[o.length - D], z._$ = {
134
+ first_line: s[s.length - (D || 1)].first_line,
135
+ last_line: s[s.length - 1].last_line,
136
+ first_column: s[s.length - (D || 1)].first_column,
137
+ last_column: s[s.length - 1].last_column
138
+ }, nt && (z._$.range = [
139
+ s[s.length - (D || 1)].range[0],
140
+ s[s.length - 1].range[1]
141
+ ]), H = this.performAction.apply(z, [
142
+ _,
143
+ V,
144
+ f,
145
+ N.yy,
146
+ S[1],
147
+ o,
148
+ s
149
+ ].concat(B)), typeof H < "u")
150
+ return H;
151
+ D && (n = n.slice(0, -1 * D * 2), o = o.slice(0, -1 * D), s = s.slice(0, -1 * D)), n.push(this.productions_[S[1]][0]), o.push(z.$), s.push(z._$), X = P[n[n.length - 2]][n[n.length - 1]], n.push(X);
152
+ break;
153
+ case 3:
154
+ return !0;
155
+ }
156
+ }
157
+ return !0;
158
+ }
159
+ }, O = /* @__PURE__ */ (function() {
160
+ var b = {
161
+ EOF: 1,
162
+ parseError: function(i, n) {
163
+ if (this.yy.parser)
164
+ this.yy.parser.parseError(i, n);
165
+ else
166
+ throw new Error(i);
167
+ },
168
+ // resets the lexer, sets new input
169
+ setInput: function(t, i) {
170
+ return this.yy = i || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
171
+ first_line: 1,
172
+ first_column: 0,
173
+ last_line: 1,
174
+ last_column: 0
175
+ }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this;
176
+ },
177
+ // consumes and returns one char from the input
178
+ input: function() {
179
+ var t = this._input[0];
180
+ this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t;
181
+ var i = t.match(/(?:\r\n?|\n).*/g);
182
+ return i ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t;
183
+ },
184
+ // unshifts one char (or a string) into the input
185
+ unput: function(t) {
186
+ var i = t.length, n = t.split(/(?:\r\n?|\n)/g);
187
+ this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - i), this.offset -= i;
188
+ var r = this.match.split(/(?:\r\n?|\n)/g);
189
+ this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), n.length - 1 && (this.yylineno -= n.length - 1);
190
+ var o = this.yylloc.range;
191
+ return this.yylloc = {
192
+ first_line: this.yylloc.first_line,
193
+ last_line: this.yylineno + 1,
194
+ first_column: this.yylloc.first_column,
195
+ last_column: n ? (n.length === r.length ? this.yylloc.first_column : 0) + r[r.length - n.length].length - n[0].length : this.yylloc.first_column - i
196
+ }, this.options.ranges && (this.yylloc.range = [o[0], o[0] + this.yyleng - i]), this.yyleng = this.yytext.length, this;
197
+ },
198
+ // When called from action, caches matched text and appends it on next action
199
+ more: function() {
200
+ return this._more = !0, this;
201
+ },
202
+ // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.
203
+ reject: function() {
204
+ if (this.options.backtrack_lexer)
205
+ this._backtrack = !0;
206
+ else
207
+ return this.parseError("Lexical error on line " + (this.yylineno + 1) + `. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
208
+ ` + this.showPosition(), {
209
+ text: "",
210
+ token: null,
211
+ line: this.yylineno
212
+ });
213
+ return this;
214
+ },
215
+ // retain first n characters of the match
216
+ less: function(t) {
217
+ this.unput(this.match.slice(t));
218
+ },
219
+ // displays already matched input, i.e. for error messages
220
+ pastInput: function() {
221
+ var t = this.matched.substr(0, this.matched.length - this.match.length);
222
+ return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "");
223
+ },
224
+ // displays upcoming input, i.e. for error messages
225
+ upcomingInput: function() {
226
+ var t = this.match;
227
+ return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "");
228
+ },
229
+ // displays the character position where the lexing error occurred, i.e. for error messages
230
+ showPosition: function() {
231
+ var t = this.pastInput(), i = new Array(t.length + 1).join("-");
232
+ return t + this.upcomingInput() + `
233
+ ` + i + "^";
234
+ },
235
+ // test the lexed token: return FALSE when not a match, otherwise return token
236
+ test_match: function(t, i) {
237
+ var n, r, o;
238
+ if (this.options.backtrack_lexer && (o = {
239
+ yylineno: this.yylineno,
240
+ yylloc: {
241
+ first_line: this.yylloc.first_line,
242
+ last_line: this.last_line,
243
+ first_column: this.yylloc.first_column,
244
+ last_column: this.yylloc.last_column
245
+ },
246
+ yytext: this.yytext,
247
+ match: this.match,
248
+ matches: this.matches,
249
+ matched: this.matched,
250
+ yyleng: this.yyleng,
251
+ offset: this.offset,
252
+ _more: this._more,
253
+ _input: this._input,
254
+ yy: this.yy,
255
+ conditionStack: this.conditionStack.slice(0),
256
+ done: this.done
257
+ }, this.options.ranges && (o.yylloc.range = this.yylloc.range.slice(0))), r = t[0].match(/(?:\r\n?|\n).*/g), r && (this.yylineno += r.length), this.yylloc = {
258
+ first_line: this.yylloc.last_line,
259
+ last_line: this.yylineno + 1,
260
+ first_column: this.yylloc.last_column,
261
+ last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length
262
+ }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], n = this.performAction.call(this, this.yy, this, i, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), n)
263
+ return n;
264
+ if (this._backtrack) {
265
+ for (var s in o)
266
+ this[s] = o[s];
267
+ return !1;
268
+ }
269
+ return !1;
270
+ },
271
+ // return next match in input
272
+ next: function() {
273
+ if (this.done)
274
+ return this.EOF;
275
+ this._input || (this.done = !0);
276
+ var t, i, n, r;
277
+ this._more || (this.yytext = "", this.match = "");
278
+ for (var o = this._currentRules(), s = 0; s < o.length; s++)
279
+ if (n = this._input.match(this.rules[o[s]]), n && (!i || n[0].length > i[0].length)) {
280
+ if (i = n, r = s, this.options.backtrack_lexer) {
281
+ if (t = this.test_match(n, o[s]), t !== !1)
282
+ return t;
283
+ if (this._backtrack) {
284
+ i = !1;
285
+ continue;
286
+ } else
287
+ return !1;
288
+ } else if (!this.options.flex)
289
+ break;
290
+ }
291
+ return i ? (t = this.test_match(i, o[r]), t !== !1 ? t : !1) : this._input === "" ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + `. Unrecognized text.
292
+ ` + this.showPosition(), {
293
+ text: "",
294
+ token: null,
295
+ line: this.yylineno
296
+ });
297
+ },
298
+ // return next match that has a token
299
+ lex: function() {
300
+ var i = this.next();
301
+ return i || this.lex();
302
+ },
303
+ // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)
304
+ begin: function(i) {
305
+ this.conditionStack.push(i);
306
+ },
307
+ // pop the previously active lexer condition state off the condition stack
308
+ popState: function() {
309
+ var i = this.conditionStack.length - 1;
310
+ return i > 0 ? this.conditionStack.pop() : this.conditionStack[0];
311
+ },
312
+ // produce the lexer rule set which is active for the currently active lexer condition state
313
+ _currentRules: function() {
314
+ return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules;
315
+ },
316
+ // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available
317
+ topState: function(i) {
318
+ return i = this.conditionStack.length - 1 - Math.abs(i || 0), i >= 0 ? this.conditionStack[i] : "INITIAL";
319
+ },
320
+ // alias for begin(condition)
321
+ pushState: function(i) {
322
+ this.begin(i);
323
+ },
324
+ // return the number of states currently on the stack
325
+ stateStackSize: function() {
326
+ return this.conditionStack.length;
327
+ },
328
+ options: { "case-insensitive": !0 },
329
+ performAction: function(i, n, r, o) {
330
+ switch (r) {
331
+ case 0:
332
+ break;
333
+ case 1:
334
+ break;
335
+ case 2:
336
+ return 20;
337
+ case 3:
338
+ break;
339
+ case 4:
340
+ break;
341
+ case 5:
342
+ return this.begin("title"), 12;
343
+ case 6:
344
+ return this.popState(), "title_value";
345
+ case 7:
346
+ return this.begin("acc_title"), 14;
347
+ case 8:
348
+ return this.popState(), "acc_title_value";
349
+ case 9:
350
+ return this.begin("acc_descr"), 16;
351
+ case 10:
352
+ return this.popState(), "acc_descr_value";
353
+ case 11:
354
+ this.begin("acc_descr_multiline");
355
+ break;
356
+ case 12:
357
+ this.popState();
358
+ break;
359
+ case 13:
360
+ return "acc_descr_multiline_value";
361
+ case 14:
362
+ this.begin("string");
363
+ break;
364
+ case 15:
365
+ this.popState();
366
+ break;
367
+ case 16:
368
+ return "txt";
369
+ case 17:
370
+ return 5;
371
+ case 18:
372
+ return 7;
373
+ case 19:
374
+ return "value";
375
+ case 20:
376
+ return 22;
377
+ }
378
+ },
379
+ rules: [/^(?:%%(?!\{)[^\n]*)/i, /^(?:[^\}]%%[^\n]*)/i, /^(?:[\n\r]+)/i, /^(?:%%[^\n]*)/i, /^(?:[\s]+)/i, /^(?:title\b)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accTitle\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*:\s*)/i, /^(?:(?!\n||)*[^\n]*)/i, /^(?:accDescr\s*\{\s*)/i, /^(?:[\}])/i, /^(?:[^\}]*)/i, /^(?:["])/i, /^(?:["])/i, /^(?:[^"]*)/i, /^(?:pie\b)/i, /^(?:showData\b)/i, /^(?::[\s]*[\d]+(?:\.[\d]+)?)/i, /^(?:$)/i],
380
+ conditions: { acc_descr_multiline: { rules: [12, 13], inclusive: !1 }, acc_descr: { rules: [10], inclusive: !1 }, acc_title: { rules: [8], inclusive: !1 }, title: { rules: [6], inclusive: !1 }, string: { rules: [15, 16], inclusive: !1 }, INITIAL: { rules: [0, 1, 2, 3, 4, 5, 7, 9, 11, 14, 17, 18, 19, 20], inclusive: !0 } }
381
+ };
382
+ return b;
383
+ })();
384
+ E.lexer = O;
385
+ function w() {
386
+ this.yy = {};
387
+ }
388
+ return w.prototype = E, E.Parser = w, new w();
389
+ })();
390
+ K.parser = K;
391
+ const St = K, $t = mt.pie, G = {
392
+ sections: {},
393
+ showData: !1
394
+ };
395
+ let U = G.sections, Q = G.showData;
396
+ const At = structuredClone($t), Et = () => structuredClone(At), wt = () => {
397
+ U = structuredClone(G.sections), Q = G.showData, dt();
398
+ }, Tt = (e, u) => {
399
+ e = gt(e, it()), U[e] === void 0 && (U[e] = u, et.debug(`added new section: ${e}, with value: ${u}`));
400
+ }, It = () => U, Dt = (e) => (e.substring(0, 1) === ":" && (e = e.substring(1).trim()), Number(e.trim())), Ct = (e) => {
401
+ Q = e;
402
+ }, Ot = () => Q, Pt = {
403
+ getConfig: Et,
404
+ clear: wt,
405
+ setDiagramTitle: ht,
406
+ getDiagramTitle: ct,
407
+ setAccTitle: ot,
408
+ getAccTitle: lt,
409
+ setAccDescription: at,
410
+ getAccDescription: rt,
411
+ addSection: Tt,
412
+ getSections: It,
413
+ cleanupValue: Dt,
414
+ setShowData: Ct,
415
+ getShowData: Ot
416
+ }, Vt = (e) => `
417
+ .pieCircle{
418
+ stroke: ${e.pieStrokeColor};
419
+ stroke-width : ${e.pieStrokeWidth};
420
+ opacity : ${e.pieOpacity};
421
+ }
422
+ .pieOuterCircle{
423
+ stroke: ${e.pieOuterStrokeColor};
424
+ stroke-width: ${e.pieOuterStrokeWidth};
425
+ fill: none;
426
+ }
427
+ .pieTitleText {
428
+ text-anchor: middle;
429
+ font-size: ${e.pieTitleTextSize};
430
+ fill: ${e.pieTitleTextColor};
431
+ font-family: ${e.fontFamily};
432
+ }
433
+ .slice {
434
+ font-family: ${e.fontFamily};
435
+ fill: ${e.pieSectionTextColor};
436
+ font-size:${e.pieSectionTextSize};
437
+ // fill: white;
438
+ }
439
+ .legend text {
440
+ fill: ${e.pieLegendTextColor};
441
+ font-family: ${e.fontFamily};
442
+ font-size: ${e.pieLegendTextSize};
443
+ }
444
+ `, Nt = Vt, Lt = (e) => {
445
+ const u = Object.entries(e).map((p) => ({
446
+ label: p[0],
447
+ value: p[1]
448
+ })).sort((p, g) => g.value - p.value);
449
+ return bt().value(
450
+ (p) => p.value
451
+ )(u);
452
+ }, Ft = (e, u, $, p) => {
453
+ et.debug(`rendering pie chart
454
+ ` + e);
455
+ const g = p.db, A = it(), y = ut(g.getConfig(), A.pie), a = 40, l = 18, d = 4, k = 450, I = k, T = yt(u), m = T.append("g"), v = g.getSections();
456
+ m.attr("transform", "translate(" + I / 2 + "," + k / 2 + ")");
457
+ const { themeVariables: c } = A;
458
+ let [E] = ft(c.pieOuterStrokeWidth);
459
+ E ?? (E = 2);
460
+ const O = y.textPosition, w = Math.min(I, k) / 2 - a, b = tt().innerRadius(0).outerRadius(w), t = tt().innerRadius(w * O).outerRadius(w * O);
461
+ m.append("circle").attr("cx", 0).attr("cy", 0).attr("r", w + E / 2).attr("class", "pieOuterCircle");
462
+ const i = Lt(v), n = [
463
+ c.pie1,
464
+ c.pie2,
465
+ c.pie3,
466
+ c.pie4,
467
+ c.pie5,
468
+ c.pie6,
469
+ c.pie7,
470
+ c.pie8,
471
+ c.pie9,
472
+ c.pie10,
473
+ c.pie11,
474
+ c.pie12
475
+ ], r = _t(n);
476
+ m.selectAll("mySlices").data(i).enter().append("path").attr("d", b).attr("fill", (f) => r(f.data.label)).attr("class", "pieCircle");
477
+ let o = 0;
478
+ Object.keys(v).forEach((f) => {
479
+ o += v[f];
480
+ }), m.selectAll("mySlices").data(i).enter().append("text").text((f) => (f.data.value / o * 100).toFixed(0) + "%").attr("transform", (f) => "translate(" + t.centroid(f) + ")").style("text-anchor", "middle").attr("class", "slice"), m.append("text").text(g.getDiagramTitle()).attr("x", 0).attr("y", -400 / 2).attr("class", "pieTitleText");
481
+ const s = m.selectAll(".legend").data(r.domain()).enter().append("g").attr("class", "legend").attr("transform", (f, V) => {
482
+ const R = l + d, M = R * r.domain().length / 2, B = 12 * l, h = V * R - M;
483
+ return "translate(" + B + "," + h + ")";
484
+ });
485
+ s.append("rect").attr("width", l).attr("height", l).style("fill", r).style("stroke", r), s.data(i).append("text").attr("x", l + d).attr("y", l - d).text((f) => {
486
+ const { label: V, value: R } = f.data;
487
+ return g.getShowData() ? `${V} [${R}]` : V;
488
+ });
489
+ const P = Math.max(
490
+ ...s.selectAll("text").nodes().map((f) => (f == null ? void 0 : f.getBoundingClientRect().width) ?? 0)
491
+ ), _ = I + a + l + d + P;
492
+ T.attr("viewBox", `0 0 ${_} ${k}`), pt(T, k, _, y.useMaxWidth);
493
+ }, Rt = { draw: Ft }, Bt = {
494
+ parser: St,
495
+ db: Pt,
496
+ renderer: Rt,
497
+ styles: Nt
498
+ };
499
+ export {
500
+ Bt as diagram
501
+ };
@@ -0,0 +1 @@
1
+ "use strict";const d=require("./layers.9pNaFvaX.js"),f=require("./layers.DOrgOHBr.js"),m=require("./layers.B7Yn0OVk.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";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./layers.82WQNqep.js"),o=require("./layers.BGu96O_x.js"),t=require("./layers.B7Yn0OVk.js");require("lodash-es");require("./layers.BLd2spTm.js");require("./layers.Cyzu9PKQ.js");require("./layers.ChhuzqF0.js");const a={parser:e.parser$1,db:e.flowDb,renderer:o.flowRendererV2,styles:o.flowStyles,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,t.setConfig({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),o.flowRendererV2.setConf(r.flowchart),e.flowDb.clear(),e.flowDb.setGen("gen-2")}};exports.diagram=a;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),a=require("react"),e=require("./layers.Bl7UAGKH.js"),y=require("@mantine/core");function D({initialEditor:t,children:u,initialNodes:r,initialTheme:b,skipCollabChecks:d,skipEditableListener:f}){const l=a.useRef(!1),v=a.useContext(e.r);v==null&&(function(s,...S){const j=new URL("https://lexical.dev/docs/error"),x=new URLSearchParams;x.append("code",s);for(const o of S)x.append("v",o);throw j.search=x.toString(),Error(`Minified Lexical error #${s}; visit ${j.toString()} for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`)})(9);const[g,{getTheme:w}]=v,I=a.useMemo(()=>{const s=b||w()||void 0,S=e.t(v,s);s!==void 0&&(t._config.theme=s),t._parentEditor=t._parentEditor||g;const j=t._createEditorArgs,x=j&&j.namespace;if(r){x||(t._config.namespace=g._config.namespace);for(let o of r){let _=null,m=null;if(typeof o!="function"){const i=o;o=i.replace,_=i.with,m=i.withKlass||null}const N=e.Xi(t,o.getType());t._nodes.set(o.getType(),{exportDOM:N?N.exportDOM:void 0,klass:o,replace:_,replaceWithKlass:m,sharedNodeState:e.at(o),transforms:e.ji(o)})}}else if(j&&j.nodes)x||(t._config.namespace=g._config.namespace);else{const o=t._nodes=new Map(g._nodes);x||(t._config.namespace=g._config.namespace);for(const[_,m]of o)t._nodes.set(_,{exportDOM:m.exportDOM,klass:m.klass,replace:m.replace,replaceWithKlass:m.replaceWithKlass,sharedNodeState:e.at(m.klass),transforms:e.ji(m.klass)})}return[t,S]},[]),E=a.useContext(e.l),{isCollabActive:h,yjsDocMap:p}=E??{},k=d||l.current||p&&p.has(t.getKey());return a.useEffect(()=>{k&&(l.current=!0)},[k]),a.useEffect(()=>{if(!f){const s=S=>t.setEditable(S);return s(g.isEditable()),g.registerEditableListener(s)}},[t,g,f]),n.jsx(e.r.Provider,{value:I,children:!h||k?u:null})}function T({children:t,className:u}){return n.jsx("div",{className:u||"Placeholder__root",children:t})}function P({label:t,value:u,onChange:r,placeholder:b="","data-test-id":d,type:f="text"}){return n.jsx(y.TextInput,{type:f,placeholder:b,value:u,onChange:l=>{r(l.target.value)},label:t,"data-test-id":d,mb:10})}const M=new Set;function z(t){if(!M.has(t))throw new Promise(u=>{const r=new Image;r.src=t,r.onload=()=>{M.add(t),u(null)}})}function O({altText:t,className:u,imageRef:r,src:b,width:d,height:f,position:l}){return z(b),n.jsx("img",{className:u||void 0,src:b,alt:t,ref:r,"data-position":l,style:{display:"block",height:f,width:d},draggable:"false"})}function R({activeEditor:t,nodeKey:u,onClose:r}){const d=t.getEditorState().read(()=>e.xo(u)),[f,l]=a.useState(d.getAltText()),[v,g]=a.useState(d.getShowCaption()),[w,I]=a.useState(d.getPosition()),E=p=>{g(p.target.checked)},h=()=>{const p={altText:f,position:w,showCaption:v};d&&t.update(()=>{d.update(p)}),r()};return n.jsxs(n.Fragment,{children:[n.jsx("div",{style:{marginBottom:"1em"},children:n.jsx(P,{label:"Alt-текст",placeholder:"Альтернативный текст",onChange:l,value:f,"data-test-id":"image-modal-alt-text-input"})}),n.jsxs("div",{className:"Input__wrapper",children:[n.jsx("input",{id:"caption",type:"checkbox",checked:v,onChange:E}),n.jsx("label",{htmlFor:"caption",children:"Show Caption"})]}),n.jsx(e.Button,{"data-test-id":"image-modal-file-upload-btn",onClick:()=>h(),children:"Применить"})]})}function U({src:t,altText:u,nodeKey:r,width:b,height:d,showCaption:f,caption:l,position:v}){const[g,w]=e.useModal(),I=a.useRef(null),E=a.useRef(null),[h,p,k]=e.u(r),[s]=e.o(),[S,j]=a.useState(null),x=a.useRef(null),o=a.useCallback(i=>{if(h&&e.xr(e.Lr())){i.preventDefault();const c=e.xo(r);e.$isInlineImageNode(c)&&c.remove()}return!1},[h,r]),_=a.useCallback(i=>{const C=e.Lr(),c=E.current;if(h&&e.xr(C)&&C.getNodes().length===1){if(f)return e.wo(null),i.preventDefault(),l.focus(),!0;if(c!==null&&c!==document.activeElement)return i.preventDefault(),c.focus(),!0}return!1},[l,h,f]),m=a.useCallback(i=>x.current===l||E.current===i.target?(e.wo(null),s.update(()=>{p(!0);const C=s.getRootElement();C!==null&&C.focus()}),!0):!1,[l,s,p]);a.useEffect(()=>{let i=!0;const C=e.U(s.registerUpdateListener(({editorState:c})=>{i&&j(c.read(()=>e.Lr()))}),s.registerCommand(e.ie,(c,L)=>(x.current=L,!1),e.zi),s.registerCommand(e.se,c=>{const L=c;return L.target===I.current?(L.shiftKey?p(!h):(k(),p(!0)),!0):!1},e.zi),s.registerCommand(e.Ie,c=>c.target===I.current?(c.preventDefault(),!0):!1,e.zi),s.registerCommand(e.Oe,o,e.zi),s.registerCommand(e.we,o,e.zi),s.registerCommand(e.Ne,_,e.zi),s.registerCommand(e.Ee,m,e.zi));return()=>{i=!1,C()}},[k,s,h,r,o,_,m,p]);const N=h;return n.jsxs(a.Suspense,{fallback:null,children:[n.jsxs(n.Fragment,{children:[n.jsxs("div",{draggable:!1,children:[n.jsx("button",{className:"image-edit-button",ref:E,onClick:()=>{w("Update Inline Image",i=>n.jsx(R,{activeEditor:s,nodeKey:r,onClose:i}))},children:"Edit"}),n.jsx(O,{className:N?`focused ${e.xr(S)?"draggable":""}`:null,src:t,altText:u,imageRef:I,width:b,height:d,position:v})]}),f&&n.jsx("div",{className:"image-caption-container",children:n.jsxs(D,{initialEditor:l,children:[n.jsx(e.LinkPlugin,{}),n.jsx(e.FloatingTextFormatToolbarPlugin,{}),n.jsx(e.L,{contentEditable:n.jsx(e.LexicalContentEditable,{className:"InlineImageNode__contentEditable"}),placeholder:n.jsx(T,{className:"InlineImageNode__placeholder",children:"Enter a caption..."}),ErrorBoundary:e.n})]})})]}),g]})}exports.UpdateInlineImageDialog=R;exports.default=U;