@layers-app/editor 0.3.9 → 0.3.11

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 (242) hide show
  1. package/dist/index.cjs +2 -2
  2. package/dist/index.js +6 -6
  3. package/dist/{layers.DpMusnc-.js → layers.BnjxHNDK.js} +85 -85
  4. package/dist/{layers.C_aDCBse.js → layers.C125HTat.js} +1 -1
  5. package/dist/layers.Cjs5EBWM.js +343 -0
  6. package/dist/{layers.CHJ9kj3C.js → layers.DPccTctI.js} +17 -17
  7. package/dist/layers.DZ8DrrVn.js +53491 -0
  8. package/dist/layers.QVaGPbs3.js +161 -0
  9. package/dist/{layers.BEj7sKWc.js → layers.VK3NB7Nd.js} +1 -1
  10. package/dist/{layers.PPrkNOse.js → layers.YZkXZvVS.js} +10897 -11432
  11. package/package.json +1 -1
  12. package/dist/layers.2pwazLiD.js +0 -10
  13. package/dist/layers.3_duBFNY.js +0 -41
  14. package/dist/layers.4EE77hnh.js +0 -41
  15. package/dist/layers.50VZw918.js +0 -10
  16. package/dist/layers.52famHy6.js +0 -1
  17. package/dist/layers.7Cqsx4dM.js +0 -21763
  18. package/dist/layers.7HIXFhH7.js +0 -9
  19. package/dist/layers.7JqFgE4-.js +0 -15
  20. package/dist/layers.9QK1wiQj.js +0 -1
  21. package/dist/layers.9pNaFvaX.js +0 -1
  22. package/dist/layers.A3UMUy-C.js +0 -160
  23. package/dist/layers.B-MoBXti.js +0 -1
  24. package/dist/layers.B19hGmey.js +0 -1
  25. package/dist/layers.B2AGu32C.js +0 -11692
  26. package/dist/layers.B2DjlqoS.js +0 -5
  27. package/dist/layers.B3D4g2HH.js +0 -1
  28. package/dist/layers.B3_r6MnD.js +0 -8
  29. package/dist/layers.B4JSGsP8.js +0 -4
  30. package/dist/layers.B6GOD5O9.js +0 -11
  31. package/dist/layers.B6xqUX0Z.js +0 -186
  32. package/dist/layers.B7wDsrev.js +0 -59
  33. package/dist/layers.B9bZ7xxB.js +0 -37
  34. package/dist/layers.BAtnJTRO.js +0 -38
  35. package/dist/layers.BAtv1CM7.js +0 -1
  36. package/dist/layers.BB89QNde.js +0 -9
  37. package/dist/layers.BBDzYHzs.js +0 -35
  38. package/dist/layers.BFN6iqPW.js +0 -220
  39. package/dist/layers.BFdnmL9j.js +0 -32
  40. package/dist/layers.BHRG8cgg.js +0 -41
  41. package/dist/layers.BIeVwYKL.js +0 -1
  42. package/dist/layers.BJCtg5t2.js +0 -1265
  43. package/dist/layers.BKDzXrBJ.js +0 -207
  44. package/dist/layers.BLE-Z0hw.js +0 -6
  45. package/dist/layers.BNHjxqHa.js +0 -10
  46. package/dist/layers.BNQMLH9P.js +0 -14
  47. package/dist/layers.BNagMM2_.js +0 -33
  48. package/dist/layers.BNs7WOSP.js +0 -1
  49. package/dist/layers.BOKpc6Go.js +0 -268
  50. package/dist/layers.BPFFCpz0.js +0 -48146
  51. package/dist/layers.BPReDXtI.js +0 -51
  52. package/dist/layers.BSTBZrFn.js +0 -1
  53. package/dist/layers.BSooh7SG.js +0 -122
  54. package/dist/layers.BTClVSR-.js +0 -7
  55. package/dist/layers.BTx-0WfS.js +0 -6
  56. package/dist/layers.BUOxzaGg.js +0 -32
  57. package/dist/layers.BV5PdVW_.js +0 -38
  58. package/dist/layers.BVjOsOBd.js +0 -65
  59. package/dist/layers.BVjk3UPb.js +0 -802
  60. package/dist/layers.BYX7EHyR.js +0 -40
  61. package/dist/layers.BbCfEXyj.js +0 -55
  62. package/dist/layers.Bbo5Ued4.js +0 -2
  63. package/dist/layers.BcEgPFGo.js +0 -39
  64. package/dist/layers.Bdnn3ApG.js +0 -11
  65. package/dist/layers.BgOa2ZQq.js +0 -7
  66. package/dist/layers.BiJ8hfRt.js +0 -1510
  67. package/dist/layers.Bitvgs2v.js +0 -1580
  68. package/dist/layers.BjBqNnSR.js +0 -7
  69. package/dist/layers.BluftYoh.js +0 -116
  70. package/dist/layers.BnFA5GI9.js +0 -32
  71. package/dist/layers.BpilXLfW.js +0 -6
  72. package/dist/layers.Bq0u3-cn.js +0 -1
  73. package/dist/layers.Bqdf2tOk.js +0 -6
  74. package/dist/layers.BrR4dkgE.js +0 -4
  75. package/dist/layers.BtzvHqPq.js +0 -84
  76. package/dist/layers.Bu84bUAz.js +0 -1
  77. package/dist/layers.Bw7fZxrj.js +0 -35
  78. package/dist/layers.BxdqDX0z.js +0 -39
  79. package/dist/layers.Bzj-huCH.js +0 -1034
  80. package/dist/layers.Bzx5kGeY.js +0 -1
  81. package/dist/layers.C-FeEcbK.js +0 -5
  82. package/dist/layers.C-YmDral.js +0 -769
  83. package/dist/layers.C-nfXv5Y.js +0 -139
  84. package/dist/layers.C012LPJk.js +0 -9
  85. package/dist/layers.C1QeeKYQ.js +0 -8
  86. package/dist/layers.C1hinyi8.js +0 -1
  87. package/dist/layers.C2Ga_veZ.js +0 -1
  88. package/dist/layers.C6nMluy9.js +0 -6
  89. package/dist/layers.C7lIplJU.js +0 -247
  90. package/dist/layers.C8_lu5UH.js +0 -23
  91. package/dist/layers.C903XHZj.js +0 -42
  92. package/dist/layers.CAbY0Z0W.js +0 -5
  93. package/dist/layers.CDKiwJ5V.js +0 -36
  94. package/dist/layers.CFtn4aDH.js +0 -931
  95. package/dist/layers.CHDEPeuV.js +0 -40
  96. package/dist/layers.CHZsXQcr.js +0 -1
  97. package/dist/layers.CJt6EmtG.js +0 -1
  98. package/dist/layers.CKuWwVbT.js +0 -1
  99. package/dist/layers.CKwW84-p.js +0 -7
  100. package/dist/layers.CLKVNOE5.js +0 -70
  101. package/dist/layers.CMFerHrk.js +0 -1
  102. package/dist/layers.CMrm2fvC.js +0 -8
  103. package/dist/layers.COAF7f8g.js +0 -1
  104. package/dist/layers.COC8Hhwb.js +0 -8
  105. package/dist/layers.COMlvtE6.js +0 -33
  106. package/dist/layers.CQF50dIG.js +0 -21938
  107. package/dist/layers.CQvMzyRV.js +0 -5
  108. package/dist/layers.CS-3abPh.js +0 -32
  109. package/dist/layers.CS4fFOND.js +0 -2966
  110. package/dist/layers.CV-Ugwil.js +0 -1
  111. package/dist/layers.CV2Pr_bx.js +0 -9
  112. package/dist/layers.CWr5AaTW.js +0 -161
  113. package/dist/layers.CX5vnLyO.js +0 -904
  114. package/dist/layers.CXX-Zlqc.js +0 -52
  115. package/dist/layers.CYMj5cxo.js +0 -1
  116. package/dist/layers.C_klnnTN.js +0 -36
  117. package/dist/layers.Cb0f_ofY.js +0 -960
  118. package/dist/layers.CdUmoX_w.js +0 -37
  119. package/dist/layers.CdUstUJt.js +0 -9
  120. package/dist/layers.CdV5d7cT.js +0 -3
  121. package/dist/layers.CdkvSNMo.js +0 -9
  122. package/dist/layers.Cg78mRPT.js +0 -39
  123. package/dist/layers.CgEo9pTd.js +0 -1088
  124. package/dist/layers.CgufvdgM.js +0 -9148
  125. package/dist/layers.Ch82OAh5.js +0 -42
  126. package/dist/layers.CiApCO0J.js +0 -35
  127. package/dist/layers.CiaGJ3Wu.js +0 -8
  128. package/dist/layers.Cice9C8Y.js +0 -84
  129. package/dist/layers.CjGxQACT.js +0 -2
  130. package/dist/layers.Cje-y7jj.js +0 -8
  131. package/dist/layers.Clj-_btL.js +0 -320
  132. package/dist/layers.Cm4glz9b.js +0 -37
  133. package/dist/layers.CmReJdKF.js +0 -11
  134. package/dist/layers.CqVTtuYm.js +0 -6
  135. package/dist/layers.CqZEhviM.js +0 -9
  136. package/dist/layers.CrRQhvnO.js +0 -4
  137. package/dist/layers.Cs24L6er.js +0 -261
  138. package/dist/layers.CsI7Wt8b.js +0 -41
  139. package/dist/layers.CtcNDgTN.js +0 -10
  140. package/dist/layers.Cu1paYna.js +0 -39
  141. package/dist/layers.CxMZiBgT.js +0 -803
  142. package/dist/layers.CxiCiGXA.js +0 -40
  143. package/dist/layers.CyHiMueL.js +0 -7
  144. package/dist/layers.CzCAWR0l.js +0 -1
  145. package/dist/layers.CzC_pyyW.js +0 -10
  146. package/dist/layers.CzV_1UL_.js +0 -1619
  147. package/dist/layers.Czk1cKTF.js +0 -1
  148. package/dist/layers.D0zn4_Mx.js +0 -1
  149. package/dist/layers.D1ycXzRM.js +0 -2479
  150. package/dist/layers.D2EZtKHz.js +0 -41
  151. package/dist/layers.D4fGb2cV.js +0 -1272
  152. package/dist/layers.D5Xt0t4W.js +0 -2235
  153. package/dist/layers.D7jGxypv.js +0 -8
  154. package/dist/layers.D9MDpCEC.js +0 -36
  155. package/dist/layers.DCa5Enwc.js +0 -40
  156. package/dist/layers.DDHzJ5KT.js +0 -7
  157. package/dist/layers.DDMY-zVs.js +0 -34
  158. package/dist/layers.DDtwo7ex.js +0 -42
  159. package/dist/layers.DF8PgzUa.js +0 -8
  160. package/dist/layers.DFjAFJZN.js +0 -10
  161. package/dist/layers.DHuFdwdD.js +0 -7
  162. package/dist/layers.DJ71wA6r.js +0 -10
  163. package/dist/layers.DLwuMfdd.js +0 -84
  164. package/dist/layers.DMZJjW2k.js +0 -11
  165. package/dist/layers.DMkBISW1.js +0 -1
  166. package/dist/layers.DN9HoVxI.js +0 -18
  167. package/dist/layers.DNnlMnt0.js +0 -10
  168. package/dist/layers.DOdDGwjn.js +0 -40
  169. package/dist/layers.DOrgOHBr.js +0 -1
  170. package/dist/layers.DRMk0_Ko.js +0 -40
  171. package/dist/layers.DT0gZHRG.js +0 -1283
  172. package/dist/layers.DTIRBS4R.js +0 -1089
  173. package/dist/layers.DUr_gout.js +0 -36
  174. package/dist/layers.DWYst7AM.js +0 -1
  175. package/dist/layers.DXJ6SyKX.js +0 -37
  176. package/dist/layers.DYWzEwnA.js +0 -41
  177. package/dist/layers.DZ2Y5yM3.js +0 -790
  178. package/dist/layers.D_528YsB.js +0 -11
  179. package/dist/layers.D_8-qPfS.js +0 -8
  180. package/dist/layers.D_NEIb0E.js +0 -793
  181. package/dist/layers.DbQq_3wV.js +0 -202
  182. package/dist/layers.DbaKVP5e.js +0 -1
  183. package/dist/layers.Dcslw5mL.js +0 -9
  184. package/dist/layers.DdOfuw7s.js +0 -1
  185. package/dist/layers.DevvENjH.js +0 -7
  186. package/dist/layers.DfBCf4Cy.js +0 -32
  187. package/dist/layers.DfWClI42.js +0 -4
  188. package/dist/layers.DfXTDLUu.js +0 -19
  189. package/dist/layers.Dh4BqPzi.js +0 -42
  190. package/dist/layers.DivbmF4h.js +0 -38
  191. package/dist/layers.DjFE_EXX.js +0 -257
  192. package/dist/layers.DjUOC4st.js +0 -16
  193. package/dist/layers.DjyRAO3A.js +0 -39
  194. package/dist/layers.DlGJEWUb.js +0 -40
  195. package/dist/layers.DqqR4FPi.js +0 -9
  196. package/dist/layers.DsOWguT-.js +0 -1
  197. package/dist/layers.DtU-dV6b.js +0 -1
  198. package/dist/layers.DtdyDH_U.js +0 -10
  199. package/dist/layers.Duv6VII0.js +0 -41
  200. package/dist/layers.DxA6ocdw.js +0 -70
  201. package/dist/layers.DxheAO-c.js +0 -10
  202. package/dist/layers.Dy1naDTQ.js +0 -14
  203. package/dist/layers.DyXFdCZf.js +0 -41
  204. package/dist/layers.FMCvRQA3.js +0 -282
  205. package/dist/layers.HRzDLZL1.js +0 -373
  206. package/dist/layers.I92bItP5.js +0 -39
  207. package/dist/layers.IDciITFX.js +0 -437
  208. package/dist/layers.JWCLFILJ.js +0 -1
  209. package/dist/layers.Lkoj83Z-.js +0 -39
  210. package/dist/layers.NEi6iXKQ.js +0 -1
  211. package/dist/layers.NmaRMuYe.js +0 -1
  212. package/dist/layers.O1UHn2Zz.js +0 -501
  213. package/dist/layers.OS3UEJH1.js +0 -425
  214. package/dist/layers.PZbBPA5B.js +0 -40
  215. package/dist/layers.RlGEToq_.js +0 -1359
  216. package/dist/layers.S-iMR8k5.js +0 -230
  217. package/dist/layers.SJNQFHPp.js +0 -39
  218. package/dist/layers.UG0F5jtr.js +0 -8
  219. package/dist/layers.VQrV0wNx.js +0 -13
  220. package/dist/layers.XakyTAgS.js +0 -32
  221. package/dist/layers.XzBvGbw_.js +0 -6
  222. package/dist/layers.Y1f4hRfb.js +0 -8
  223. package/dist/layers.YPZ_ciiz.js +0 -7
  224. package/dist/layers.Z-CI8xnv.js +0 -139
  225. package/dist/layers.Z4YPCWnm.js +0 -1
  226. package/dist/layers.ZBDOAob3.js +0 -40
  227. package/dist/layers.b0h5ZBmD.js +0 -61
  228. package/dist/layers.bgPRlCYU.js +0 -423
  229. package/dist/layers.co3HQme0.js +0 -96
  230. package/dist/layers.fxcPlOK6.js +0 -61
  231. package/dist/layers.iepMhwCe.js +0 -5
  232. package/dist/layers.lCpg7dOn.js +0 -21
  233. package/dist/layers.m5iZ6J8U.js +0 -40
  234. package/dist/layers.ns7Alyw7.js +0 -2
  235. package/dist/layers.owbNCQPv.js +0 -1
  236. package/dist/layers.q9aKgCsJ.js +0 -118
  237. package/dist/layers.qA7Pc39P.js +0 -42
  238. package/dist/layers.rb6orXdw.js +0 -9
  239. package/dist/layers.u02wBqge.js +0 -6
  240. package/dist/layers.xQI8zh5d.js +0 -1126
  241. package/dist/layers.zPHZkgly.js +0 -39
  242. package/dist/layers.zXrSeSNk.js +0 -44
@@ -1,373 +0,0 @@
1
- import * as v from "lodash-es";
2
- import { l as M } from "./layers.D4fGb2cV.js";
3
- import { G as U } from "./layers.C7lIplJU.js";
4
- import { i as A, u as H, s as V, a as _, b as W, g as D, p as O, c as q, d as z, e as p, f as $, h as K, j as Q } from "./layers.CgEo9pTd.js";
5
- import { l as s, g as T, t as S, d as J } from "./layers.CgufvdgM.js";
6
- import { c as Y } from "./layers.CS4fFOND.js";
7
- function m(e) {
8
- var t = {
9
- options: {
10
- directed: e.isDirected(),
11
- multigraph: e.isMultigraph(),
12
- compound: e.isCompound()
13
- },
14
- nodes: Z(e),
15
- edges: I(e)
16
- };
17
- return v.isUndefined(e.graph()) || (t.value = v.clone(e.graph())), t;
18
- }
19
- function Z(e) {
20
- return v.map(e.nodes(), function(t) {
21
- var n = e.node(t), r = e.parent(t), i = { v: t };
22
- return v.isUndefined(n) || (i.value = n), v.isUndefined(r) || (i.parent = r), i;
23
- });
24
- }
25
- function I(e) {
26
- return v.map(e.edges(), function(t) {
27
- var n = e.edge(t), r = { v: t.v, w: t.w };
28
- return v.isUndefined(t.name) || (r.name = t.name), v.isUndefined(n) || (r.value = n), r;
29
- });
30
- }
31
- let l = {}, g = {}, L = {};
32
- const tt = () => {
33
- g = {}, L = {}, l = {};
34
- }, B = (e, t) => (s.trace("In isDescendant", t, " ", e, " = ", g[t].includes(e)), !!g[t].includes(e)), et = (e, t) => (s.info("Descendants of ", t, " is ", g[t]), s.info("Edge is ", e), e.v === t || e.w === t ? !1 : g[t] ? g[t].includes(e.v) || B(e.v, t) || B(e.w, t) || g[t].includes(e.w) : (s.debug("Tilt, ", t, ",not in descendants"), !1)), R = (e, t, n, r) => {
35
- s.warn(
36
- "Copying children of ",
37
- e,
38
- "root",
39
- r,
40
- "data",
41
- t.node(e),
42
- r
43
- );
44
- const i = t.children(e) || [];
45
- e !== r && i.push(e), s.warn("Copying (nodes) clusterId", e, "nodes", i), i.forEach((a) => {
46
- if (t.children(a).length > 0)
47
- R(a, t, n, r);
48
- else {
49
- const d = t.node(a);
50
- s.info("cp ", a, " to ", r, " with parent ", e), n.setNode(a, d), r !== t.parent(a) && (s.warn("Setting parent", a, t.parent(a)), n.setParent(a, t.parent(a))), e !== r && a !== e ? (s.debug("Setting parent", a, e), n.setParent(a, e)) : (s.info("In copy ", e, "root", r, "data", t.node(e), r), s.debug(
51
- "Not Setting parent for node=",
52
- a,
53
- "cluster!==rootId",
54
- e !== r,
55
- "node!==clusterId",
56
- a !== e
57
- ));
58
- const u = t.edges(a);
59
- s.debug("Copying Edges", u), u.forEach((f) => {
60
- s.info("Edge", f);
61
- const h = t.edge(f.v, f.w, f.name);
62
- s.info("Edge data", h, r);
63
- try {
64
- et(f, r) ? (s.info("Copying as ", f.v, f.w, h, f.name), n.setEdge(f.v, f.w, h, f.name), s.info("newGraph edges ", n.edges(), n.edge(n.edges()[0]))) : s.info(
65
- "Skipping copy of edge ",
66
- f.v,
67
- "-->",
68
- f.w,
69
- " rootId: ",
70
- r,
71
- " clusterId:",
72
- e
73
- );
74
- } catch (w) {
75
- s.error(w);
76
- }
77
- });
78
- }
79
- s.debug("Removing node", a), t.removeNode(a);
80
- });
81
- }, P = (e, t) => {
82
- const n = t.children(e);
83
- let r = [...n];
84
- for (const i of n)
85
- L[i] = e, r = [...r, ...P(i, t)];
86
- return r;
87
- }, C = (e, t) => {
88
- s.trace("Searching", e);
89
- const n = t.children(e);
90
- if (s.trace("Searching children of id ", e, n), n.length < 1)
91
- return s.trace("This is a valid node", e), e;
92
- for (const r of n) {
93
- const i = C(r, t);
94
- if (i)
95
- return s.trace("Found replacement for", e, " => ", i), i;
96
- }
97
- }, X = (e) => !l[e] || !l[e].externalConnections ? e : l[e] ? l[e].id : e, nt = (e, t) => {
98
- if (!e || t > 10) {
99
- s.debug("Opting out, no graph ");
100
- return;
101
- } else
102
- s.debug("Opting in, graph ");
103
- e.nodes().forEach(function(n) {
104
- e.children(n).length > 0 && (s.warn(
105
- "Cluster identified",
106
- n,
107
- " Replacement id in edges: ",
108
- C(n, e)
109
- ), g[n] = P(n, e), l[n] = { id: C(n, e), clusterData: e.node(n) });
110
- }), e.nodes().forEach(function(n) {
111
- const r = e.children(n), i = e.edges();
112
- r.length > 0 ? (s.debug("Cluster identified", n, g), i.forEach((a) => {
113
- if (a.v !== n && a.w !== n) {
114
- const d = B(a.v, n), u = B(a.w, n);
115
- d ^ u && (s.warn("Edge: ", a, " leaves cluster ", n), s.warn("Descendants of XXX ", n, ": ", g[n]), l[n].externalConnections = !0);
116
- }
117
- })) : s.debug("Not a cluster ", n, g);
118
- });
119
- for (let n of Object.keys(l)) {
120
- const r = l[n].id, i = e.parent(r);
121
- i !== n && l[i] && !l[i].externalConnections && (l[n].id = i);
122
- }
123
- e.edges().forEach(function(n) {
124
- const r = e.edge(n);
125
- s.warn("Edge " + n.v + " -> " + n.w + ": " + JSON.stringify(n)), s.warn("Edge " + n.v + " -> " + n.w + ": " + JSON.stringify(e.edge(n)));
126
- let i = n.v, a = n.w;
127
- if (s.warn(
128
- "Fix XXX",
129
- l,
130
- "ids:",
131
- n.v,
132
- n.w,
133
- "Translating: ",
134
- l[n.v],
135
- " --- ",
136
- l[n.w]
137
- ), l[n.v] && l[n.w] && l[n.v] === l[n.w]) {
138
- s.warn("Fixing and trixing link to self - removing XXX", n.v, n.w, n.name), s.warn("Fixing and trixing - removing XXX", n.v, n.w, n.name), i = X(n.v), a = X(n.w), e.removeEdge(n.v, n.w, n.name);
139
- const d = n.w + "---" + n.v;
140
- e.setNode(d, {
141
- domId: d,
142
- id: d,
143
- labelStyle: "",
144
- labelText: r.label,
145
- padding: 0,
146
- shape: "labelRect",
147
- style: ""
148
- });
149
- const u = structuredClone(r), f = structuredClone(r);
150
- u.label = "", u.arrowTypeEnd = "none", f.label = "", u.fromCluster = n.v, f.toCluster = n.v, e.setEdge(i, d, u, n.name + "-cyclic-special"), e.setEdge(d, a, f, n.name + "-cyclic-special");
151
- } else if (l[n.v] || l[n.w]) {
152
- if (s.warn("Fixing and trixing - removing XXX", n.v, n.w, n.name), i = X(n.v), a = X(n.w), e.removeEdge(n.v, n.w, n.name), i !== n.v) {
153
- const d = e.parent(i);
154
- l[d].externalConnections = !0, r.fromCluster = n.v;
155
- }
156
- if (a !== n.w) {
157
- const d = e.parent(a);
158
- l[d].externalConnections = !0, r.toCluster = n.w;
159
- }
160
- s.warn("Fix Replacing with XXX", i, a, n.name), e.setEdge(i, a, r, n.name);
161
- }
162
- }), s.warn("Adjusted Graph", m(e)), k(e, 0), s.trace(l);
163
- }, k = (e, t) => {
164
- if (s.warn("extractor - ", t, m(e), e.children("D")), t > 10) {
165
- s.error("Bailing out");
166
- return;
167
- }
168
- let n = e.nodes(), r = !1;
169
- for (const i of n) {
170
- const a = e.children(i);
171
- r = r || a.length > 0;
172
- }
173
- if (!r) {
174
- s.debug("Done, no node has children", e.nodes());
175
- return;
176
- }
177
- s.debug("Nodes = ", n, t);
178
- for (const i of n)
179
- if (s.debug(
180
- "Extracting node",
181
- i,
182
- l,
183
- l[i] && !l[i].externalConnections,
184
- !e.parent(i),
185
- e.node(i),
186
- e.children("D"),
187
- " Depth ",
188
- t
189
- ), !l[i])
190
- s.debug("Not a cluster", i, t);
191
- else if (!l[i].externalConnections && // !graph.parent(node) &&
192
- e.children(i) && e.children(i).length > 0) {
193
- s.warn(
194
- "Cluster without external connections, without a parent and with children",
195
- i,
196
- t
197
- );
198
- let d = e.graph().rankdir === "TB" ? "LR" : "TB";
199
- l[i] && l[i].clusterData && l[i].clusterData.dir && (d = l[i].clusterData.dir, s.warn("Fixing dir", l[i].clusterData.dir, d));
200
- const u = new U({
201
- multigraph: !0,
202
- compound: !0
203
- }).setGraph({
204
- rankdir: d,
205
- // Todo: set proper spacing
206
- nodesep: 50,
207
- ranksep: 50,
208
- marginx: 8,
209
- marginy: 8
210
- }).setDefaultEdgeLabel(function() {
211
- return {};
212
- });
213
- s.warn("Old graph before copy", m(e)), R(i, e, u, i), e.setNode(i, {
214
- clusterNode: !0,
215
- id: i,
216
- clusterData: l[i].clusterData,
217
- labelText: l[i].labelText,
218
- graph: u
219
- }), s.warn("New graph after copy node: (", i, ")", m(u)), s.debug("Old graph after copy", m(e));
220
- } else
221
- s.warn(
222
- "Cluster ** ",
223
- i,
224
- " **not meeting the criteria !externalConnections:",
225
- !l[i].externalConnections,
226
- " no parent: ",
227
- !e.parent(i),
228
- " children ",
229
- e.children(i) && e.children(i).length > 0,
230
- e.children("D"),
231
- t
232
- ), s.debug(l);
233
- n = e.nodes(), s.warn("New list of nodes", n);
234
- for (const i of n) {
235
- const a = e.node(i);
236
- s.warn(" Now next level", i, a), a.clusterNode && k(a.graph, t + 1);
237
- }
238
- }, F = (e, t) => {
239
- if (t.length === 0)
240
- return [];
241
- let n = Object.assign(t);
242
- return t.forEach((r) => {
243
- const i = e.children(r), a = F(e, i);
244
- n = [...n, ...a];
245
- }), n;
246
- }, it = (e) => F(e, e.children()), st = (e, t) => {
247
- s.info("Creating subgraph rect for ", t.id, t);
248
- const n = T(), r = e.insert("g").attr("class", "cluster" + (t.class ? " " + t.class : "")).attr("id", t.id), i = r.insert("rect", ":first-child"), a = S(n.flowchart.htmlLabels), d = r.insert("g").attr("class", "cluster-label"), u = t.labelType === "markdown" ? Y(d, t.labelText, { style: t.labelStyle, useHtmlLabels: a }) : d.node().appendChild($(t.labelText, t.labelStyle, void 0, !0));
249
- let f = u.getBBox();
250
- if (S(n.flowchart.htmlLabels)) {
251
- const c = u.children[0], o = J(u);
252
- f = c.getBoundingClientRect(), o.attr("width", f.width), o.attr("height", f.height);
253
- }
254
- const h = 0 * t.padding, w = h / 2, x = t.width <= f.width + h ? f.width + h : t.width;
255
- t.width <= f.width + h ? t.diff = (f.width - t.width) / 2 - t.padding / 2 : t.diff = -t.padding / 2, s.trace("Data ", t, JSON.stringify(t)), i.attr("style", t.style).attr("rx", t.rx).attr("ry", t.ry).attr("x", t.x - x / 2).attr("y", t.y - t.height / 2 - w).attr("width", x).attr("height", t.height + h);
256
- const { subGraphTitleTopMargin: E } = D(n);
257
- a ? d.attr(
258
- "transform",
259
- // This puts the label on top of the box instead of inside it
260
- `translate(${t.x - f.width / 2}, ${t.y - t.height / 2 + E})`
261
- ) : d.attr(
262
- "transform",
263
- // This puts the label on top of the box instead of inside it
264
- `translate(${t.x}, ${t.y - t.height / 2 + E})`
265
- );
266
- const y = i.node().getBBox();
267
- return t.width = y.width, t.height = y.height, t.intersect = function(c) {
268
- return p(t, c);
269
- }, r;
270
- }, rt = (e, t) => {
271
- const n = e.insert("g").attr("class", "note-cluster").attr("id", t.id), r = n.insert("rect", ":first-child"), i = 0 * t.padding, a = i / 2;
272
- r.attr("rx", t.rx).attr("ry", t.ry).attr("x", t.x - t.width / 2 - a).attr("y", t.y - t.height / 2 - a).attr("width", t.width + i).attr("height", t.height + i).attr("fill", "none");
273
- const d = r.node().getBBox();
274
- return t.width = d.width, t.height = d.height, t.intersect = function(u) {
275
- return p(t, u);
276
- }, n;
277
- }, at = (e, t) => {
278
- const n = T(), r = e.insert("g").attr("class", t.classes).attr("id", t.id), i = r.insert("rect", ":first-child"), a = r.insert("g").attr("class", "cluster-label"), d = r.append("rect"), u = a.node().appendChild($(t.labelText, t.labelStyle, void 0, !0));
279
- let f = u.getBBox();
280
- if (S(n.flowchart.htmlLabels)) {
281
- const c = u.children[0], o = J(u);
282
- f = c.getBoundingClientRect(), o.attr("width", f.width), o.attr("height", f.height);
283
- }
284
- f = u.getBBox();
285
- const h = 0 * t.padding, w = h / 2, x = t.width <= f.width + t.padding ? f.width + t.padding : t.width;
286
- t.width <= f.width + t.padding ? t.diff = (f.width + t.padding * 0 - t.width) / 2 : t.diff = -t.padding / 2, i.attr("class", "outer").attr("x", t.x - x / 2 - w).attr("y", t.y - t.height / 2 - w).attr("width", x + h).attr("height", t.height + h), d.attr("class", "inner").attr("x", t.x - x / 2 - w).attr("y", t.y - t.height / 2 - w + f.height - 1).attr("width", x + h).attr("height", t.height + h - f.height - 3);
287
- const { subGraphTitleTopMargin: E } = D(n);
288
- a.attr(
289
- "transform",
290
- `translate(${t.x - f.width / 2}, ${t.y - t.height / 2 - t.padding / 3 + (S(n.flowchart.htmlLabels) ? 5 : 3) + E})`
291
- );
292
- const y = i.node().getBBox();
293
- return t.height = y.height, t.intersect = function(c) {
294
- return p(t, c);
295
- }, r;
296
- }, ct = (e, t) => {
297
- const n = e.insert("g").attr("class", t.classes).attr("id", t.id), r = n.insert("rect", ":first-child"), i = 0 * t.padding, a = i / 2;
298
- r.attr("class", "divider").attr("x", t.x - t.width / 2 - a).attr("y", t.y - t.height / 2).attr("width", t.width + i).attr("height", t.height + i);
299
- const d = r.node().getBBox();
300
- return t.width = d.width, t.height = d.height, t.diff = -t.padding / 2, t.intersect = function(u) {
301
- return p(t, u);
302
- }, n;
303
- }, ot = { rect: st, roundedWithTitle: at, noteGroup: rt, divider: ct };
304
- let G = {};
305
- const lt = (e, t) => {
306
- s.trace("Inserting cluster");
307
- const n = t.shape || "rect";
308
- G[t.id] = ot[n](e, t);
309
- }, ft = () => {
310
- G = {};
311
- }, j = async (e, t, n, r, i, a) => {
312
- s.info("Graph in recursive render: XXX", m(t), i);
313
- const d = t.graph().rankdir;
314
- s.trace("Dir in recursive render - dir:", d);
315
- const u = e.insert("g").attr("class", "root");
316
- t.nodes() ? s.info("Recursive render XXX", t.nodes()) : s.info("No nodes found for", t), t.edges().length > 0 && s.trace("Recursive edges", t.edge(t.edges()[0]));
317
- const f = u.insert("g").attr("class", "clusters"), h = u.insert("g").attr("class", "edgePaths"), w = u.insert("g").attr("class", "edgeLabels"), x = u.insert("g").attr("class", "nodes");
318
- await Promise.all(
319
- t.nodes().map(async function(c) {
320
- const o = t.node(c);
321
- if (i !== void 0) {
322
- const b = JSON.parse(JSON.stringify(i.clusterData));
323
- s.info("Setting data for cluster XXX (", c, ") ", b, i), t.setNode(i.id, b), t.parent(c) || (s.trace("Setting parent", c, i.id), t.setParent(c, i.id, b));
324
- }
325
- if (s.info("(Insert) Node XXX" + c + ": " + JSON.stringify(t.node(c))), o && o.clusterNode) {
326
- s.info("Cluster identified", c, o.width, t.node(c));
327
- const b = await j(
328
- x,
329
- o.graph,
330
- n,
331
- r,
332
- t.node(c),
333
- a
334
- ), N = b.elem;
335
- H(o, N), o.diff = b.diff || 0, s.info("Node bounds (abc123)", c, o, o.width, o.x, o.y), V(N, o), s.warn("Recursive render complete ", N, o);
336
- } else
337
- t.children(c).length > 0 ? (s.info("Cluster - the non recursive path XXX", c, o.id, o, t), s.info(C(o.id, t)), l[o.id] = { id: C(o.id, t), node: o }) : (s.info("Node - the non recursive path", c, o.id, o), await _(x, t.node(c), d));
338
- })
339
- ), t.edges().forEach(function(c) {
340
- const o = t.edge(c.v, c.w, c.name);
341
- s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(c)), s.info("Edge " + c.v + " -> " + c.w + ": ", c, " ", JSON.stringify(t.edge(c))), s.info("Fix", l, "ids:", c.v, c.w, "Translating: ", l[c.v], l[c.w]), W(w, o);
342
- }), t.edges().forEach(function(c) {
343
- s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(c));
344
- }), s.info("#############################################"), s.info("### Layout ###"), s.info("#############################################"), s.info(t), M(t), s.info("Graph after layout:", m(t));
345
- let E = 0;
346
- const { subGraphTitleTotalMargin: y } = D(a);
347
- return it(t).forEach(function(c) {
348
- const o = t.node(c);
349
- s.info("Position " + c + ": " + JSON.stringify(t.node(c))), s.info(
350
- "Position " + c + ": (" + o.x,
351
- "," + o.y,
352
- ") width: ",
353
- o.width,
354
- " height: ",
355
- o.height
356
- ), o && o.clusterNode ? (o.y += y, O(o)) : t.children(c).length > 0 ? (o.height += y, lt(f, o), l[o.id].node = o) : (o.y += y / 2, O(o));
357
- }), t.edges().forEach(function(c) {
358
- const o = t.edge(c);
359
- s.info("Edge " + c.v + " -> " + c.w + ": " + JSON.stringify(o), o), o.points.forEach((N) => N.y += y / 2);
360
- const b = q(h, c, o, l, n, t, r);
361
- z(o, b);
362
- }), t.nodes().forEach(function(c) {
363
- const o = t.node(c);
364
- s.info(c, o.type, o.diff), o.type === "group" && (E = o.diff);
365
- }), { elem: u, diff: E };
366
- }, xt = async (e, t, n, r, i) => {
367
- A(e, n, r, i), K(), Q(), ft(), tt(), s.warn("Graph at first:", JSON.stringify(m(t))), nt(t), s.warn("Graph after:", JSON.stringify(m(t)));
368
- const a = T();
369
- await j(e, t, r, i, void 0, a);
370
- };
371
- export {
372
- xt as r
373
- };
@@ -1,39 +0,0 @@
1
- import "./layers.7Cqsx4dM.js";
2
- var e = { paste: "Lim inn", pasteAsPlaintext: "", pasteCharts: "Lim inn diagram", selectAll: "Vel alt", multiSelect: "Legg til element i utval", moveCanvas: "Flytt lerretet", cut: "Klipp ut", copy: "Kopier", copyAsPng: "Kopier til utklippstavla som PNG", copyAsSvg: "Kopier til utklippstavla som SVG", copyText: "", copySource: "", convertToCode: "", bringForward: "Flytt framover", sendToBack: "Send heilt bak", bringToFront: "Flytt heilt fram", sendBackward: "Send bakover", delete: "Slett", copyStyles: "Kopier stilar", pasteStyles: "Lim inn stilar", stroke: "Strek", background: "Bakgrunn", fill: "Fyll", strokeWidth: "Strekbreidd", strokeStyle: "Strekstil", strokeStyle_solid: "Solid", strokeStyle_dashed: "Stipla", strokeStyle_dotted: "Prikka", sloppiness: "Ujamnheit", opacity: "Synlegheit", textAlign: "Tekstjustering", edges: "Kanter", sharp: "Skarp", round: "Rund", arrowheads: "Pilhovud", arrowhead_none: "Ingen", arrowhead_arrow: "Pil", arrowhead_bar: "Stolpe", arrowhead_circle: "", arrowhead_circle_outline: "", arrowhead_triangle: "Trekant", arrowhead_triangle_outline: "", arrowhead_diamond: "", arrowhead_diamond_outline: "", fontSize: "Skriftstorleik", fontFamily: "Skrifttype", addWatermark: "Legg til «Laga med Excalidraw»", handDrawn: "Handteikna", normal: "Normal", code: "Kode", small: "Liten", medium: "Medium", large: "Stor", veryLarge: "Svært stor", solid: "Solid", hachure: "Skravert", zigzag: "", crossHatch: "Krysskravert", thin: "Tynn", bold: "Tjukk", left: "Venstre", center: "Midstill", right: "Høgre", extraBold: "Ekstra tjukk", architect: "Arkitekt", artist: "Kunstnar", cartoonist: "Teiknar", fileTitle: "Filnamn", colorPicker: "Fargeveljar", canvasColors: "Brukt på lerretet", canvasBackground: "Lerretsbakgrunn", drawingCanvas: "Lerret", layers: "Lag", actions: "Handlingar", language: "Språk", liveCollaboration: "", duplicateSelection: "Dupliser", untitled: "Utan namn", name: "Namn", yourName: "Namnet ditt", madeWithExcalidraw: "Laga med Excalidraw", group: "Grupper utval", ungroup: "Avgrupper utval", collaborators: "Samarbeidarar", showGrid: "Vis rutenett", addToLibrary: "Legg til i bibliotek", removeFromLibrary: "Fjern frå bibliotek", libraryLoadingMessage: "Laster bibliotek…", libraries: "Blad gjennom bibliotek", loadingScene: "Laster scene…", align: "Juster", alignTop: "Juster til topp", alignBottom: "Juster til botn", alignLeft: "Juster til venstre", alignRight: "Juster til høgre", centerVertically: "Midtstill vertikalt", centerHorizontally: "Midtstill horisontalt", distributeHorizontally: "Sprei horisontalt", distributeVertically: "Sprei vertikalt", flipHorizontal: "Vipp vassrett", flipVertical: "Vipp loddrett", viewMode: "Visningsmodus", share: "Del", showStroke: "Vis fargeveljar for linjer", showBackground: "Vis fargeveljar for bakgrunn", toggleTheme: "Veksle tema", personalLib: "Personleg bibliotek", excalidrawLib: "Excalidraw-bibliotek", decreaseFontSize: "Gjer skriftstorleik mindre", increaseFontSize: "Gjer skriftstorleik større", unbindText: "Avbind tekst", bindText: "", createContainerFromText: "", link: { edit: "Rediger lenke", editEmbed: "", create: "Lag lenke", createEmbed: "", label: "Lenke", labelEmbed: "", empty: "" }, lineEditor: { edit: "", exit: "" }, elementLock: { lock: "", unlock: "", lockAll: "", unlockAll: "" }, statusPublished: "", sidebarLock: "", selectAllElementsInFrame: "", removeAllElementsFromFrame: "", eyeDropper: "", textToDiagram: "", prompt: "" }, t = { noItems: "", hint_emptyLibrary: "", hint_emptyPrivateLibrary: "" }, r = { clearReset: "Tilbakestill lerretet", exportJSON: "Eksporter til fil", exportImage: "", export: "", copyToClipboard: "Kopier til utklippstavla", save: "Lagre til noverande fil", saveAs: "Lagre som", load: "", getShareableLink: "Hent delingslenke", close: "Lukk", selectLanguage: "Vel språk", scrollBackToContent: "Skroll tilbake til innhald", zoomIn: "Zoom inn", zoomOut: "Zoom ut", resetZoom: "Nullstill zoom", menu: "Meny", done: "Ferdig", edit: "Rediger", undo: "Angre", redo: "Gjer om", resetLibrary: "Nullstill bibliotek", createNewRoom: "Lag 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: "", publishLibrary: "Publiser", submit: "Send inn", confirm: "Stadfest", embeddableInteractionButton: "" }, i = { clearReset: "Dette vil tømme lerretet. Er du sikker?", couldNotCreateShareableLink: "Kunne ikkje lage delingslenke.", couldNotCreateShareableLinkTooBig: "Kunne ikkje opprette deleleg lenke: scena er for stor", couldNotLoadInvalidFile: "Kunne ikkje laste inn ugyldig fil", importBackendFailed: "Importering av backend feila.", cannotExportEmptyCanvas: "Kan ikkje eksportere eit tomt lerret.", couldNotCopyToClipboard: "", decryptFailed: "Kunne ikkje dekryptere data.", uploadedSecurly: "Opplastinga er kryptert og er ikkje mogleg å lese av Excalidraw-serveren eller tredjepartar.", loadSceneOverridePrompt: "Innlasting av ekstern teikning erstattar ditt eksisterande innhald. Ynskjer du å fortsette?", collabStopOverridePrompt: `Viss du avsluttar økta overskriv du den førre, lokalt lagra teikninga di. Er du sikker?
3
-
4
- (Ønsker du å halde fram med denne? Då er det berre å lukke denne fana.)`, errorAddingToLibrary: "Kunne ikkje legge elementet i biblioteket", errorRemovingFromLibrary: "Kunne ikkje fjerne elementet frå biblioteket", confirmAddLibrary: "Dette vil legge til {{numShapes}} form(er) i biblioteket ditt. Er du sikker?", imageDoesNotContainScene: "Dette biletet ser ikkje ut til å ha noko scenedata. Har du skrutt på innbygging av scene medan eksporteringa heldt på?", cannotRestoreFromImage: "Scena kunne ikkje gjenopprettast frå denne biletfila", invalidSceneUrl: "Kunne ikkje hente noko scene frå den URL-en. Ho er anten øydelagd eller inneheld ikkje gyldig Excalidraw JSON-data.", resetLibrary: "Dette vil fjerne alt innhald frå biblioteket. Er du sikker?", removeItemsFromsLibrary: "Slette {{count}} element frå biblioteket?", invalidEncryptionKey: "Krypteringsnøkkelen må ha 22 teikn. Sanntidssamarbeid er deaktivert.", collabOfflineWarning: "" }, a = { unsupportedFileType: "Filtypen er ikkje støtta.", imageInsertError: "Kunne ikkje sette inn biletet. Prøv igjen seinare...", fileTooBig: "Fila er for stor. Maksimal tillate storleik er {{maxSize}}.", svgImageInsertError: "Kunne ikkje sette inn SVG-biletet. SVG-koden ser ugyldig ut.", failedToFetchImage: "", invalidSVGString: "Ugyldig SVG.", cannotResolveCollabServer: "Kunne ikkje kople til samarbeidsserveren. Ver vennleg å oppdatere inn sida og prøv på nytt.", importLibraryError: "", collabSaveFailed: "", collabSaveFailed_sizeExceeded: "", imageToolNotSupported: "", brave_measure_text_error: { line1: "", line2: "", line3: "", line4: "" }, libraryElementTypeError: { embeddable: "", iframe: "", image: "" }, asyncPasteFailedOnRead: "", asyncPasteFailedOnParse: "", copyToSystemClipboardFailed: "" }, l = { selection: "Vel", image: "Sett in bilete", rectangle: "Rektangel", diamond: "Diamant", ellipse: "Ellipse", arrow: "Pil", line: "Linje", freedraw: "Teikn", text: "Tekst", library: "Bibliotek", lock: "Hald fram med valt verktøy", penMode: "", link: "Legg til/ oppdater lenke til valt figur", eraser: "Viskelêr", frame: "", magicframe: "", embeddable: "", laser: "", hand: "", extraTools: "", mermaidToExcalidraw: "", magicSettings: "" }, n = { canvasActions: "Handlingar: lerret", selectedShapeActions: "Handlingar: valt objekt", shapes: "Formar" }, o = { canvasPanning: "", linearElement: "Klikk for å starte linje med fleire punkt, eller drag for ei enkel linje", freeDraw: "Klikk og drag, slepp når du er ferdig", text: "Tips: du kan òg leggje til tekst ved å dobbeltklikke kor som helst med utvalgsverktyet", embeddable: "", text_selected: "Dobbelklikk eller trykk ENTER for å redigere teksta", text_editing: "Trykk Escape eller CtrlOrCmd+ENTER for å fullføre redigeringa", linearElementMulti: "Klikk på siste punkt eller trykk Escape eller Enter for å fullføre", lockAngle: "Du kan begrense vinkelen ved å holde nede SKIFT", resize: `Du kan halde fram med forholdet ved å trykke SHIFT medan du endrar storleik,
5
- trykk ALT for å endre storleiken frå midten`, resizeImage: `Du kan endre storleiken fritt ved å halde inne SHIFT,
6
- hald ALT for å endre storleik frå sentrum`, rotate: "Du kan låse vinklane ved å halde SHIFT medan du roterer", lineEditor_info: "", lineEditor_pointSelected: `Trykk på Slett for å fjerne punkt(a),
7
- Ctrl / Cmd+D for å duplisere, eller drag for å flytte`, lineEditor_nothingSelected: `Vel eit punkt å redigere (hald inne SHIFT for å velje fleire),
8
- eller hald inne Alt og klikk for å legge til nye punkt`, placeImage: "Klikk for å plassere biletet, eller klikk og drag for å velje storleik manuelt", publishLibrary: "Publiser ditt eige bibliotek", bindTextToElement: "Trykk på enter for å legge til tekst", deepBoxSelect: "Hald inne Ctrl / Cmd for å velje djupt, og forhindre flytting", eraserRevert: "Hald inne Alt for å reversere markering av element for sletting", firefox_clipboard_write: "", disableSnapping: "" }, s = { cannotShowPreview: "Kan ikkje vise førehandsvising", canvasTooBig: "Lerretet er mogleg for stort.", canvasTooBigTip: "Tips: prøv å flytte elementa som er lengst frå kvarandre, litt nærare kvarandre." }, d = { headingMain: "Ein feil oppstod. Prøv <button>å laste sida på nytt.</button>", clearCanvasMessage: "Om ny sidelasting ikkje fungerer, prøv <button>å tømme lerretet.</button>", clearCanvasCaveat: " Dette vil føre til tap av arbeid ", trackedToSentry: "Feilen med identifikator {{eventId}} vart logga i systemet vårt.", openIssueMessage: "Vi er veldig nøye med å ikkje inkludere scene-opplysingane dine i feilmeldinga. Viss scena di ikkje er privat kan du vurdere å følge opp i <button>feilrapporteringssystemet vårt.</button> Ta med opplysingane nedanfor ved å kopiere og lime inn i GitHub-saka.", sceneContent: "Scene-innhald:" }, k = { desc_intro: "Du kan invitere personar til scena di for å samarbeide med deg.", desc_privacy: "Ta det med ro; økta brukar ende-til-ende-kryptering, så alt du teiknar held fram med å vere privat. Ikkje ein gong serveren vår kan sjå kva du lagar.", button_startSession: "Start økt", button_stopSession: "Stopp økt", desc_inProgressIntro: "Sanntids-samarbeidsøkt er no i gang.", desc_shareLink: "Del denne lenka med dei du vil samarbeide med:", desc_exitSession: "Dersom du avsluttar økta blir du kopla frå rommet, men du kan halde fram med å arbeide med scena lokalt. Ver merksam på at dette ikkje vil påverke andre personar, og desse vil framleis ha moglegheit til å samarbeide på deira eigen versjon.", shareTitle: "Bli med på eit sanntidssamarbeid på Excalidraw" }, g = { title: "Feil" }, m = { disk_title: "Lagre til disk", disk_details: "Eksporter scenedataa til ei fil du kan importere seinare.", disk_button: "Lagre til fil", link_title: "Deleleg lenke", link_details: "Eksporter som skrivebeskytta lenke.", link_button: "Eksporter til lenke", excalidrawplus_description: "Lagre scena til Excalidraw+-arbeidsområdet ditt.", excalidrawplus_button: "Eksporter", excalidrawplus_exportError: "Kunne ikkje eksportere til Excalidraw+ akkurat no..." }, p = { blog: "Les bloggen vår", click: "klikk", deepSelect: "Marker djupt", deepBoxSelect: "Marker djupt inni boksen og forhindr flytting", curvedArrow: "Boga pil", curvedLine: "Boga linje", documentation: "Dokumentasjon", doubleClick: "dobbelklikk", drag: "drag", editor: "Redigering", editLineArrowPoints: "", editText: "", github: "Funne eit problem? Send inn", howto: "Følg vegleiinga vår", or: "eller", preventBinding: "Hindre pilkopling", tools: "", shortcuts: "Tastatursnarvegar", textFinish: "Fullfør redigering (teksthandsamar)", textNewLine: "Legg til ny linje (teksthandsamar)", title: "Hjelp", view: "Vising", zoomToFit: "Zoom for å sjå alle elementa", zoomToSelection: "Zoom til utval", toggleElementLock: "", movePageUpDown: "", movePageLeftRight: "" }, b = { title: "Tøm lerretet" }, u = { title: "Publiser bibliotek", itemName: "Elementnamn", authorName: "Eigaren sitt namn", githubUsername: "GitHub-brukarnamn", twitterUsername: "Twitter-brukarnamn", libraryName: "Biblioteknamn", libraryDesc: "Bibliotekskildring", website: "Nettstad", placeholder: { authorName: "Namnet eller brukarnamnet ditt", libraryName: "Namnet på biblioteket ditt", libraryDesc: "Skildring av biblioteket ditt sånn at andre forstår bruken av det", githubHandle: "GitHub-brukarnamn (valfritt), slik at du kan redigere bibiloteket når det er sendt inn til vurdering", twitterHandle: "Twitter-brukarnamn (valfritt), så vi veit kven vi skal kreditere på Twitter", website: "Lenke til den personlege nettstaden din eller ein anna stad (valfritt)" }, errors: { required: "Kravt", website: "Fyll inn ein gyldig URL" }, noteDescription: "Send inn biblioteket ditt til inkludering i <link>den offentlege bibliotek-kjeldekoda</link>slik at andre kan bruke det i teikningane deira.", noteGuidelines: "Biblioteket må godkjennast manuelt fyrst. Ver vennleg å lese <link>retningslinjene</link> før du sender inn. Du kjem til å trenge ein GitHub-konto for å kommunisere og gjere endringar dersom kravt, men det er ikkje strengt naudsynt.", noteLicense: "Ved å sende inn godkjenner du at biblioteket vert publisert under <link>MIT-lisensen, </link>som kort sagt betyr at kven som helst kan bruke det utan avgrensingar.", noteItems: "Kvart bibliotekselement må ha eit eige namn, slik at det er mogleg å filtrere. Dei følgande bibliotekselementa blir inkludert:", atleastOneLibItem: "Ver vennleg å markere minst eitt bibliotekselement for å starte", republishWarning: "" }, c = { title: "Bibliotek innsendt", content: "Tusen takk {{authorName}}! Biblioteket ditt har blitt sendt inn til gjennomgang. Du kan halde styr på status<link>her</link>" }, x = { resetLibrary: "Tilbakestill bibliotek", removeItemsFromLib: "Fjern valde element frå biblioteket" }, v = { header: "", label: { withBackground: "", onlySelected: "", darkMode: "", embedScene: "", scale: "", padding: "" }, tooltip: { embedScene: "" }, title: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" }, button: { exportToPng: "", exportToSvg: "", copyPngToClipboard: "" } }, E = { tooltip: "Teikningane dine er ende-til-ende-krypterte slik at Excalidraw sine serverar aldri får sjå dei.", link: "Blogginnlegg om ende-til-ende-kryptering i Excalidraw" }, f = { angle: "Vinkel", element: "Element", elements: "Element", height: "Høgde", scene: "Scene", selected: "Valde", storage: "Lagring", title: "Statistikk for nerdar", total: "Totalt", version: "Versjon", versionCopy: "Klikk for å kopiere", versionNotAvailable: "Versjonen er ikkje tilgjengeleg", width: "Breidde" }, y = { addedToLibrary: "Lagt til i bibliotek", copyStyles: "Kopierte stilane.", copyToClipboard: "Kopiert til utklippstavla.", copyToClipboardAsPng: `Kopierte {{exportSelection}} til utklippstavla som PNG
9
- ({{exportColorScheme}})`, fileSaved: "Fila er lagra.", fileSavedToFilename: "Lagra som {filename}", canvas: "lerret", selection: "val", pasteAsSingleElement: "", unableToEmbed: "", unrecognizedLinkFormat: "" }, h = { transparent: "Gjennomsiktig", black: "", white: "", red: "", pink: "", grape: "", violet: "", gray: "", blue: "", cyan: "", teal: "", green: "", yellow: "", orange: "", bronze: "" }, S = { app: { center_heading: "", center_heading_plus: "", menuHint: "" }, defaults: { menuHint: "", center_heading: "", toolbarHint: "", helpHint: "" } }, F = { mostUsedCustomColors: "", colors: "", shades: "", hexCode: "", noShades: "" }, T = { action: { exportToImage: { title: "", button: "", description: "" }, saveToDisk: { title: "", button: "", description: "" }, excalidrawPlus: { title: "", button: "", description: "" } }, modal: { loadFromFile: { title: "", button: "", description: "" }, shareableLink: { title: "", button: "", description: "" } } }, j = { title: "", button: "", description: "", syntax: "", preview: "" }, w = { labels: e, library: t, buttons: r, alerts: i, errors: a, toolBar: l, headings: n, hints: o, canvasError: s, errorSplash: d, roomDialog: k, errorDialog: g, exportDialog: m, helpDialog: p, clearCanvasDialog: b, publishDialog: u, publishSuccessDialog: c, confirmDialog: x, imageExportDialog: v, encrypted: E, stats: f, toast: y, colors: h, welcomeScreen: S, colorPicker: F, overwriteConfirm: T, mermaid: j };
10
- export {
11
- i as alerts,
12
- r as buttons,
13
- s as canvasError,
14
- b as clearCanvasDialog,
15
- F as colorPicker,
16
- h as colors,
17
- x as confirmDialog,
18
- w as default,
19
- E as encrypted,
20
- g as errorDialog,
21
- d as errorSplash,
22
- a as errors,
23
- m as exportDialog,
24
- n as headings,
25
- p as helpDialog,
26
- o as hints,
27
- v as imageExportDialog,
28
- e as labels,
29
- t as library,
30
- j as mermaid,
31
- T as overwriteConfirm,
32
- u as publishDialog,
33
- c as publishSuccessDialog,
34
- k as roomDialog,
35
- f as stats,
36
- y as toast,
37
- l as toolBar,
38
- S as welcomeScreen
39
- };