saterys 0.2.7__py3-none-any.whl

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.
saterys/nodes/PCA.py ADDED
@@ -0,0 +1,370 @@
1
+ # nodes/pca.py
2
+ """
3
+ PCA node (per-pixel projection across bands).
4
+
5
+ - Inputs:
6
+ * EITHER one multiband raster (bands = variables),
7
+ * OR a stack of single-band rasters (same grid), treated as variables.
8
+
9
+ - Output:
10
+ * Multi-band GeoTIFF with the first k principal components (PC1..PCk), each
11
+ band a component score image.
12
+ * Plots saved to disk:
13
+ - Scree plot (explained variance ratio)
14
+ - Loadings heatmap (components x variables)
15
+ Paths to these PNGs are returned in payload["artifacts"].
16
+
17
+ No scikit-learn dependency; PCA via NumPy SVD.
18
+
19
+ Requirements: rasterio, numpy, matplotlib (for plots; optional—plots skipped if missing)
20
+ """
21
+
22
+ from __future__ import annotations
23
+ import os, hashlib, math
24
+ from typing import Any, Dict, List, Tuple, Optional
25
+
26
+ NAME = "raster.pca"
27
+ DEFAULT_ARGS = {
28
+ # Number of components. If 0 or None, choose smallest k reaching >= variance_threshold.
29
+ "n_components": 0,
30
+ "variance_threshold": 0.99, # only used if n_components in (0,None)
31
+ "standardize": True, # center & scale by std; if False: center only
32
+ "sample_fraction": 0.1, # 0< f <=1 for computing PCA basis (for speed)
33
+ "random_seed": 42,
34
+
35
+ # Optional variable (band) names to label loadings
36
+ "var_names": [], # if empty, auto "B1","B2",...
37
+
38
+ # Output
39
+ "output_path": "", # if empty: ./data/cache/pca-<hash>.tif
40
+ "dtype": "float32",
41
+ "nodata": -9999.0,
42
+
43
+ # Plots
44
+ "make_plots": True,
45
+ "plots_dir": "./data/plots", # directory to save PNGs
46
+ "plot_prefix": "pca", # filename prefix
47
+ }
48
+
49
+ # ---------------------------------------------------------------------------
50
+
51
+ def _cache_dir() -> str:
52
+ return os.path.abspath(os.getenv("RASTER_CACHE", "./data/cache"))
53
+
54
+ def _ensure_dir(p: str):
55
+ os.makedirs(p, exist_ok=True)
56
+
57
+ def _first_nonstr_none(x, default):
58
+ return x if x is not None else default
59
+
60
+ def _collect_upstream_rasters(inputs: Dict[str, Any]) -> List[Dict[str, Any]]:
61
+ out: List[Dict[str, Any]] = []
62
+ for v in inputs.values():
63
+ if isinstance(v, dict) and v.get("type") == "raster" and v.get("path"):
64
+ out.append(v)
65
+ return out
66
+
67
+ def _assert_same_grid(rasters: List[Dict[str, Any]]):
68
+ if not rasters: return
69
+ r0 = rasters[0]
70
+ for r in rasters[1:]:
71
+ if r.get("crs") != r0.get("crs"): raise ValueError("PCA: CRS mismatch among inputs")
72
+ if r.get("transform") != r0.get("transform"): raise ValueError("PCA: transform mismatch among inputs")
73
+ if r.get("width") != r0.get("width") or r.get("height") != r0.get("height"):
74
+ raise ValueError("PCA: dimension mismatch among inputs")
75
+
76
+ def _auto_name(paths: Tuple[str, ...], nvar: int) -> str:
77
+ h = hashlib.sha1(("|".join(paths) + f"|{nvar}").encode("utf-8")).hexdigest()[:16]
78
+ return f"pca-{h}.tif"
79
+
80
+ # ---------------------------------------------------------------------------
81
+
82
+ def run(args: Dict[str, Any], inputs: Dict[str, Any], context: Dict[str, Any]):
83
+ import numpy as np
84
+ import rasterio
85
+
86
+ rasters = _collect_upstream_rasters(inputs)
87
+ if not rasters:
88
+ raise ValueError("PCA: no upstream raster(s) found")
89
+
90
+ # --- Determine variables & read handles ---
91
+ # Case A: one multiband raster
92
+ # Case B: stack of single-band rasters (treated as variables)
93
+ single_multiband = False
94
+ if len(rasters) == 1:
95
+ single_multiband = True
96
+
97
+ _assert_same_grid(rasters)
98
+
99
+ # Open datasets
100
+ dsets = [rasterio.open(r["path"]) for r in rasters]
101
+ try:
102
+ height = dsets[0].height
103
+ width = dsets[0].width
104
+ crs = dsets[0].crs
105
+ transform = dsets[0].transform
106
+
107
+ if single_multiband:
108
+ nvar = dsets[0].count
109
+ var_paths = (rasters[0]["path"],)
110
+ # Read masks: valid where all bands are valid
111
+ # We'll build accessors to read band i (1-based)
112
+ def read_var(i):
113
+ return dsets[0].read(i, masked=True).astype("float32")
114
+ var_names = args.get("var_names") or [f"B{i}" for i in range(1, nvar+1)]
115
+ else:
116
+ # stack of single-band rasters as variables
117
+ for ds in dsets:
118
+ if ds.count != 1:
119
+ raise ValueError("PCA: stack mode expects single-band rasters as variables")
120
+ nvar = len(dsets)
121
+ var_paths = tuple(r["path"] for r in rasters)
122
+ def read_var(i):
123
+ return dsets[i-1].read(1, masked=True).astype("float32")
124
+ var_names = args.get("var_names") or [f"V{i}" for i in range(1, nvar+1)]
125
+
126
+ # --- Compute valid mask: where all variables finite ---
127
+ vars_data = [read_var(i) for i in range(1, nvar+1)]
128
+ # Combine mask; np.ma has mask True where invalid
129
+ mask_any = None
130
+ for arr in vars_data:
131
+ mask_any = arr.mask if mask_any is None else (mask_any | arr.mask)
132
+ valid_mask = ~mask_any # True where valid
133
+
134
+ # --- Compute valid mask: valid where ALL variables are finite AND unmasked ---
135
+ vars_data = [read_var(i) for i in range(1, nvar+1)]
136
+ import numpy as np
137
+
138
+ valid_mask = np.ones((height, width), dtype=bool)
139
+ for A in vars_data:
140
+ # treat both mask and non-finite values as invalid
141
+ finiteA = np.isfinite(A.filled(np.nan))
142
+ valid_mask &= (~A.mask) & finiteA
143
+ mA = np.ma.getmaskarray(A) # always (H, W)
144
+ valid_mask &= (~mA) & finiteA
145
+
146
+ valid_idx = np.flatnonzero(valid_mask.ravel())
147
+ if valid_idx.size == 0:
148
+ raise ValueError("PCA: no valid pixels after masking non-finite values")
149
+
150
+ # sampling
151
+ rng = np.random.RandomState(int(args.get("random_seed", 42)))
152
+ frac = float(args.get("sample_fraction", 0.1))
153
+ frac = 1.0 if not (0.0 < frac <= 1.0) else frac
154
+ ns = max(1, int(valid_idx.size * frac))
155
+ sample_idx = rng.choice(valid_idx, size=ns, replace=False)
156
+
157
+ # Build sample matrix and sanitize
158
+ Xs = np.empty((sample_idx.size, nvar), dtype="float32")
159
+ for j, A in enumerate(vars_data):
160
+ v = A.filled(np.nan).ravel()[sample_idx]
161
+ Xs[:, j] = v
162
+
163
+ # Drop any rows with NaN/Inf (paranoid)
164
+ finite_rows = np.all(np.isfinite(Xs), axis=1)
165
+ Xs = Xs[finite_rows, :]
166
+ if Xs.shape[0] == 0:
167
+ # fallback: resample all valid pixels
168
+ sample_idx = valid_idx
169
+ Xs = np.empty((sample_idx.size, nvar), dtype="float32")
170
+ for j, A in enumerate(vars_data):
171
+ v = A.filled(np.nan).ravel()[sample_idx]
172
+ Xs[:, j] = v
173
+ finite_rows = np.all(np.isfinite(Xs), axis=1)
174
+ Xs = Xs[finite_rows, :]
175
+ if Xs.shape[0] == 0:
176
+ raise ValueError("PCA: all valid locations contain non-finite values across variables")
177
+
178
+
179
+ # Center/standardize
180
+ standardize = bool(args.get("standardize", True))
181
+ mean_ = np.nanmean(Xs, axis=0).astype("float32")
182
+ std_ = np.nanstd (Xs, axis=0).astype("float32")
183
+ std_[std_ == 0] = 1.0
184
+
185
+ Xs0 = Xs - mean_[None, :]
186
+ if standardize:
187
+ Xs0 = Xs0 / std_[None, :]
188
+
189
+ # PCA via SVD on sample
190
+ # Xs0 = U S Vt ; columns of V (rows of Vt) are PCs (loadings)
191
+ U, S, Vt = np.linalg.svd(Xs0, full_matrices=False)
192
+ # explained variance
193
+ n_samples = Xs0.shape[0]
194
+ ev = (S ** 2) / max(1, (n_samples - 1))
195
+ evr = ev / np.sum(ev)
196
+
197
+ # decide number of components
198
+ n_components = int(args.get("n_components") or 0)
199
+ if n_components <= 0:
200
+ thresh = float(args.get("variance_threshold", 0.99))
201
+ cumulative = np.cumsum(evr)
202
+ n_components = int(np.searchsorted(cumulative, thresh) + 1)
203
+ n_components = max(1, min(n_components, nvar))
204
+
205
+ # PCs to keep
206
+ Vt_k = Vt[:n_components, :] # (k, nvar)
207
+ loadings = Vt_k.astype("float32") # rows are components
208
+
209
+ # --- Project FULL image into k components (chunked to save RAM) ---
210
+ # For each variable, build centered/scaled array
211
+ # We'll compute scores = (X - mean)/std @ V (vars x comps), respecting mask
212
+ out_dtype = str(args.get("dtype", "float32")).lower()
213
+ if out_dtype not in ("float32", "float64"):
214
+ out_dtype = "float32"
215
+ nodata_val = float(args.get("nodata", -9999.0))
216
+
217
+ # Prepare output path
218
+ out_path = (args.get("output_path") or "").strip()
219
+ if not out_path:
220
+ cache_root = _cache_dir()
221
+ _ensure_dir(cache_root)
222
+ out_path = os.path.join(cache_root, _auto_name(var_paths, nvar))
223
+ else:
224
+ _ensure_dir(os.path.dirname(os.path.abspath(out_path)))
225
+ out_path = os.path.abspath(out_path)
226
+
227
+ # Create output dataset
228
+ profile = dsets[0].profile
229
+ profile.update(
230
+ driver="GTiff",
231
+ height=height,
232
+ width=width,
233
+ count=n_components,
234
+ dtype=out_dtype,
235
+ crs=crs,
236
+ transform=transform,
237
+ nodata=nodata_val,
238
+ compress="deflate",
239
+ tiled=True,
240
+ blockxsize=min(512, width),
241
+ blockysize=min(512, height),
242
+ )
243
+
244
+ with rasterio.open(out_path, "w", **profile) as dst:
245
+ # Process by windows/blocks
246
+ # We'll iterate in chunks of rows to keep memory in check
247
+ rows_per_chunk = max(64, min(height, 512))
248
+ for row0 in range(0, height, rows_per_chunk):
249
+ row1 = min(height, row0 + rows_per_chunk)
250
+ h = row1 - row0
251
+ # read window for all variables
252
+ Xwin = np.empty((h * width, nvar), dtype="float32")
253
+ valid_win = None
254
+ for j, A in enumerate(vars_data):
255
+ win = np.ma.array(A[row0:row1, :], copy=False)
256
+ m = np.ma.getmaskarray(win) # shape (h, width)
257
+
258
+ if valid_win is None:
259
+ valid_win = ~m # shape (h, width)
260
+ else:
261
+ valid_win &= ~m
262
+
263
+ Xwin[:, j] = win.filled(np.nan).reshape(-1)
264
+
265
+ # standardize window
266
+ Xwin -= mean_[None, :]
267
+ if standardize:
268
+ Xwin /= std_[None, :]
269
+
270
+ # compute scores only where valid across all variables
271
+ vflat = valid_win.reshape(-1)
272
+ scores = np.full((h * width, n_components), np.nan, dtype="float32")
273
+ if np.any(vflat):
274
+ Xv = Xwin[vflat, :] # (nv, nvar)
275
+ Sv = np.dot(Xv, loadings.T) # (nv, k)
276
+ scores[vflat, :] = Sv.astype("float32")
277
+
278
+ # write each component band, filling nodata where NaN
279
+ for k in range(n_components):
280
+ band = scores[:, k].reshape(h, width)
281
+ band = np.where(np.isfinite(band), band, nodata_val).astype(out_dtype)
282
+ dst.write(band, k + 1)
283
+ if row0 == 0:
284
+ dst.set_band_description(k + 1, f"PC{k+1}")
285
+
286
+ # --- Save plots to disk (optional) ---
287
+ artifacts: List[str] = []
288
+ make_plots = bool(args.get("make_plots", True))
289
+ if make_plots:
290
+ try:
291
+ import matplotlib
292
+ matplotlib.use("Agg")
293
+ import matplotlib.pyplot as plt # type: ignore
294
+
295
+ plots_dir = os.path.abspath(args.get("plots_dir") or "./data/plots")
296
+ _ensure_dir(plots_dir)
297
+ prefix = str(args.get("plot_prefix") or "pca")
298
+
299
+ # Scree plot
300
+ scree_path = os.path.join(plots_dir, f"{prefix}-scree.png")
301
+ fig, ax = plt.subplots(figsize=(5.2, 3.2), dpi=120)
302
+ ax.plot(range(1, len(evr) + 1), evr, marker="o")
303
+ ax.set_title("PCA Scree (explained variance ratio)")
304
+ ax.set_xlabel("Component")
305
+ ax.set_ylabel("Explained variance ratio")
306
+ ax.grid(True, alpha=0.3)
307
+ fig.tight_layout()
308
+ fig.savefig(scree_path)
309
+ plt.close(fig)
310
+ artifacts.append(scree_path)
311
+
312
+ # Loadings heatmap (k x nvar)
313
+ load_path = os.path.join(plots_dir, f"{prefix}-loadings.png")
314
+ fig, ax = plt.subplots(figsize=(max(4.0, 0.5 * nvar), max(3.0, 0.5 * n_components)), dpi=120)
315
+ im = ax.imshow(loadings, aspect="auto", cmap="coolwarm", vmin=-1, vmax=1)
316
+ ax.set_title("PCA Loadings")
317
+ ax.set_xlabel("Variables")
318
+ ax.set_ylabel("Components")
319
+ ax.set_xticks(range(nvar))
320
+ ax.set_xticklabels(var_names, rotation=45, ha="right", fontsize=8)
321
+ ax.set_yticks(range(n_components))
322
+ ax.set_yticklabels([f"PC{i+1}" for i in range(n_components)])
323
+ fig.colorbar(im, ax=ax, orientation="vertical", label="loading")
324
+ fig.tight_layout()
325
+ fig.savefig(load_path)
326
+ plt.close(fig)
327
+ artifacts.append(load_path)
328
+ except Exception:
329
+ # If matplotlib is missing or fails, skip plots silently
330
+ pass
331
+
332
+ # --- Return payload ---
333
+ payload: Dict[str, Any] = {
334
+ "type": "raster",
335
+ "driver": "GTiff",
336
+ "path": out_path,
337
+ "width": int(width),
338
+ "height": int(height),
339
+ "count": int(n_components),
340
+ "dtype": str(profile["dtype"]),
341
+ "crs": str(crs) if crs else None,
342
+ "transform": [transform.a, transform.b, transform.c,
343
+ transform.d, transform.e, transform.f],
344
+ "bounds": [float(dsets[0].bounds.left), float(dsets[0].bounds.bottom),
345
+ float(dsets[0].bounds.right), float(dsets[0].bounds.top)],
346
+ "nodata": float(profile.get("nodata")) if profile.get("nodata") is not None else None,
347
+ "band_names": [f"PC{i+1}" for i in range(n_components)],
348
+ "meta": {
349
+ "source": "pca",
350
+ "mode": "multiband" if single_multiband else "stack",
351
+ "inputs": [os.path.abspath(p) for p in var_paths] if isinstance(var_paths, tuple) else [os.path.abspath(p) for p in var_paths],
352
+ "n_variables": int(nvar),
353
+ "n_components": int(n_components),
354
+ "standardize": bool(args.get("standardize", True)),
355
+ "explained_variance": [float(x) for x in ev[:n_components].tolist()],
356
+ "explained_variance_ratio": [float(x) for x in evr[:n_components].tolist()],
357
+ "var_names": [str(v) for v in var_names],
358
+ },
359
+ }
360
+ if make_plots and 'artifacts' not in payload:
361
+ payload["artifacts"] = artifacts # list of PNG paths (if created)
362
+
363
+ return payload
364
+
365
+ finally:
366
+ for ds in dsets:
367
+ try:
368
+ ds.close()
369
+ except Exception:
370
+ pass
saterys/nodes/hello.py ADDED
@@ -0,0 +1,6 @@
1
+ NAME = "hello"
2
+ DEFAULT_ARGS = {"name": "world"}
3
+
4
+ def run(args, inputs, context):
5
+ name = str(args.get("name", "world"))
6
+ return {"text": f"hello {name}"}
saterys/nodes/input.py ADDED
@@ -0,0 +1,39 @@
1
+ # nodes/raster_input.py
2
+ """
3
+ Exposes a local GeoTIFF (or any raster readable by rasterio) as a pipeline input.
4
+ """
5
+
6
+ NAME = "raster.input"
7
+ DEFAULT_ARGS = {
8
+ "path": "/absolute/path/to/file.tif" # user sets this in the UI
9
+ }
10
+
11
+ def run(args, inputs, context):
12
+ import os
13
+ import rasterio
14
+ from rasterio.coords import BoundingBox
15
+
16
+ path = str(args.get("path", "")).strip()
17
+ if not path:
18
+ raise ValueError("raster.input: 'path' is required")
19
+ if not os.path.exists(path):
20
+ raise FileNotFoundError(f"Raster file not found: {path}")
21
+
22
+ with rasterio.open(path) as ds:
23
+ bb: BoundingBox = ds.bounds
24
+ return {
25
+ "type": "raster",
26
+ "driver": ds.driver,
27
+ "path": os.path.abspath(path),
28
+ "width": ds.width,
29
+ "height": ds.height,
30
+ "count": ds.count,
31
+ "dtype": ds.dtypes[0] if ds.count else None,
32
+ "crs": str(ds.crs) if ds.crs else None,
33
+ "transform": [ds.transform.a, ds.transform.b, ds.transform.c,
34
+ ds.transform.d, ds.transform.e, ds.transform.f],
35
+ "bounds": [bb.left, bb.bottom, bb.right, bb.top],
36
+ "nodata": ds.nodata,
37
+ "band_names": ds.descriptions if ds.descriptions else None,
38
+ "meta": {"source": "local"},
39
+ }
@@ -0,0 +1,13 @@
1
+ NAME = "script"
2
+ DEFAULT_ARGS = {"code": "print('hello from script')"}
3
+
4
+ def run(args, inputs, context):
5
+ code = args.get("code", "")
6
+ import io, contextlib
7
+ buf = io.StringIO()
8
+ ns = {"inputs": inputs, "context": context} # tiny “globals”
9
+ with contextlib.redirect_stdout(buf):
10
+ exec(code, ns, ns)
11
+ out = buf.getvalue()
12
+ # if user put a value into ns["result"], return it too
13
+ return {"text": out.strip(), "result": ns.get("result")}
saterys/nodes/sum.py ADDED
@@ -0,0 +1,7 @@
1
+ NAME = "sum"
2
+ DEFAULT_ARGS = {"nums": [1, 2, 3]}
3
+
4
+ def run(args, inputs, context):
5
+ nums = args.get("nums", [])
6
+ total = sum(float(x) for x in nums)
7
+ return {"text": str(total), "value": total}
@@ -0,0 +1 @@
1
+ import{S as j,i as D,s as F,h as x,n as A,d as k,G as W,u as K,a3 as L,t as I,b as T,r as C,l as N,e as h,v as E,c as l,H as O,T as z,J as Q}from"./index-CwCTxci7.js";function H(u,t,e){const d=u.slice();return d[15]=t[e],d}function J(u,t){let e,d=t[15]+"",s,o,r;return{key:u,first:null,c(){e=h("option"),s=Q(d),e.__value=o=t[15],z(e,e.__value),l(e,"aria-selected",r=t[6]===t[15]),this.first=e},m(a,m){T(a,e,m),C(e,s)},p(a,m){t=a,m&16&&d!==(d=t[15]+"")&&O(s,d),m&16&&o!==(o=t[15])&&(e.__value=o,z(e,e.__value)),m&80&&r!==(r=t[6]===t[15])&&l(e,"aria-selected",r)},d(a){a&&k(e)}}}function M(u){let t,e,d,s,o,r,a,m,_,q,g,i,n,c,y,B,S,f,p,P,w,G,Y;return{c(){t=h("div"),e=h("label"),e.textContent="BackGround",d=E(),s=h("input"),o=E(),r=h("div"),a=h("label"),a.textContent="Text",m=E(),_=h("input"),q=E(),g=h("div"),i=h("label"),i.textContent="Node",n=E(),c=h("input"),y=E(),B=h("div"),S=h("label"),S.textContent="Edge",f=E(),p=h("input"),P=E(),w=h("button"),w.textContent="Close",l(e,"for","customBgColor"),l(e,"class","svelte-qqxyez"),l(s,"type","color"),l(s,"id","customBgColor"),l(s,"class","svelte-qqxyez"),l(a,"for","customTextColor"),l(a,"class","svelte-qqxyez"),l(_,"type","color"),l(_,"id","customTextColor"),l(_,"class","svelte-qqxyez"),l(i,"for","customNodeColor"),l(i,"class","svelte-qqxyez"),l(c,"type","color"),l(c,"id","customNodeColor"),l(c,"class","svelte-qqxyez"),l(S,"for","customEdgeColor"),l(S,"class","svelte-qqxyez"),l(p,"type","color"),l(p,"id","customEdgeColor"),l(p,"class","svelte-qqxyez"),l(w,"class","svelte-qqxyez")},m(v,b){T(v,t,b),C(t,e),C(t,d),C(t,s),z(s,u[0]),T(v,o,b),T(v,r,b),C(r,a),C(r,m),C(r,_),z(_,u[1]),T(v,q,b),T(v,g,b),C(g,i),C(g,n),C(g,c),z(c,u[2]),T(v,y,b),T(v,B,b),C(B,S),C(B,f),C(B,p),z(p,u[3]),T(v,P,b),T(v,w,b),G||(Y=[N(s,"input",u[10]),N(_,"input",u[11]),N(c,"input",u[12]),N(p,"input",u[13]),N(w,"click",u[14])],G=!0)},p(v,b){b&1&&z(s,v[0]),b&2&&z(_,v[1]),b&4&&z(c,v[2]),b&8&&z(p,v[3])},d(v){v&&(k(t),k(o),k(r),k(q),k(g),k(y),k(B),k(P),k(w)),G=!1,W(Y)}}}function R(u){let t,e,d,s,o=[],r=new Map,a,m,_,q=x(u[4]);const g=n=>n[15];for(let n=0;n<q.length;n+=1){let c=H(u,q,n),y=g(c);r.set(y,o[n]=J(y,c))}let i=u[7]&&M(u);return{c(){t=h("div"),e=h("label"),e.textContent="Select Theme:",d=E(),s=h("select");for(let n=0;n<o.length;n+=1)o[n].c();a=E(),i&&i.c(),l(e,"for","themeSelector"),l(e,"class","visually-hidden svelte-qqxyez"),l(e,"aria-hidden","true"),l(s,"id","themeSelector"),l(s,"aria-live","polite"),l(s,"aria-label","Select Theme"),l(s,"class","svelte-qqxyez"),l(t,"class","contrast-wrapper svelte-qqxyez"),I(t,"NE",u[5]==="NE")},m(n,c){T(n,t,c),C(t,e),C(t,d),C(t,s);for(let y=0;y<o.length;y+=1)o[y]&&o[y].m(s,null);C(t,a),i&&i.m(t,null),m||(_=[N(s,"change",u[8]),N(t,"input",u[9])],m=!0)},p(n,[c]){c&80&&(q=x(n[4]),o=K(o,c,g,1,n,q,r,s,L,J,null,H)),n[7]?i?i.p(n,c):(i=M(n),i.c(),i.m(t,null)):i&&(i.d(1),i=null),c&32&&I(t,"NE",n[5]==="NE")},i:A,o:A,d(n){n&&k(t);for(let c=0;c<o.length;c+=1)o[c].d();i&&i.d(),m=!1,W(_)}}}function U(u,t,e){let{contrastThemes:d=["Change Theme","Black/White","Yellow/Black","Black/Yellow","Black/Green","Blue/Yellow","Yellow/Blue","Grayscale","Black/Pink","Custom"]}=t,{corner:s="NE"}=t,{bgColor:o=null}=t,{textColor:r=null}=t,{nodeColor:a=null}=t,{edgeColor:m=null}=t,_=d[0],q=!1;function g(f){const p=f.target.value;p==="Custom"?e(7,q=!0):(e(7,q=!1),e(0,o=null),e(1,r=null),e(2,a=null),e(3,m=null),e(6,_=p),document.documentElement.setAttribute("svelvet-theme",p),i()),localStorage.setItem("currentTheme",_)}function i(){document.documentElement.style.setProperty("--default-background-color",o),document.documentElement.style.setProperty("--default-text-color",r),document.documentElement.style.setProperty("--default-node-color",a),document.documentElement.style.setProperty("--default-edge-color",m)}function n(){o=this.value,e(0,o)}function c(){r=this.value,e(1,r)}function y(){a=this.value,e(2,a)}function B(){m=this.value,e(3,m)}const S=()=>{e(7,q=!1),e(6,_=d[0]),document.documentElement.setAttribute("svelvet-theme",_);let f=document.getElementById("themeSelector");f&&(f.value=_)};return u.$$set=f=>{"contrastThemes"in f&&e(4,d=f.contrastThemes),"corner"in f&&e(5,s=f.corner),"bgColor"in f&&e(0,o=f.bgColor),"textColor"in f&&e(1,r=f.textColor),"nodeColor"in f&&e(2,a=f.nodeColor),"edgeColor"in f&&e(3,m=f.edgeColor)},[o,r,a,m,d,s,_,q,g,i,n,c,y,B,S]}class X extends j{constructor(t){super(),D(this,t,U,R,F,{contrastThemes:4,corner:5,bgColor:0,textColor:1,nodeColor:2,edgeColor:3})}}export{X as default};
@@ -0,0 +1 @@
1
+ import{S as Z,i as y,s as $,L as x,d as N,j as v,k as C,M as ee,N as oe,O as te,c as b,b as P,e as I,w as O,f as Q,F as M,A as V,G as ne,t as R,a as G,r as k,D as B,l as w,I as F,v as L,E as j,P as T,Q as W,R as se,n as le}from"./index-CwCTxci7.js";import{I as q}from"./Icon-BZoXfbBu.js";const re=o=>({}),H=o=>({zoomIn:o[9],zoomOut:o[10],fitView:o[11],lock:o[12],unhideAll:o[8]});function ae(o){let e,s,l,c,u;return s=new q({props:{icon:"visibility_off"}}),{c(){e=I("button"),j(s.$$.fragment),b(e,"class","unhide svelte-10dric6")},m(n,t){P(n,e,t),B(s,e,null),l=!0,c||(u=w(e,"mousedown",F(o[8])),c=!0)},p:le,i(n){l||(C(s.$$.fragment,n),l=!0)},o(n){v(s.$$.fragment,n),l=!1},d(n){n&&N(e),V(s),c=!1,u()}}}function ie(o){let e,s=M(o[7]).size>0,l,c,u,n,t,i,A,d,g,z,_,m,h,S,D,f=s&&ae(o);return u=new q({props:{icon:"zoom_in"}}),i=new q({props:{icon:"zoom_out"}}),g=new q({props:{icon:"filter_center_focus"}}),m=new q({props:{icon:o[4]?"lock":"lock_open"}}),{c(){e=I("div"),f&&f.c(),l=L(),c=I("button"),j(u.$$.fragment),n=L(),t=I("button"),j(i.$$.fragment),A=L(),d=I("button"),j(g.$$.fragment),z=L(),_=I("button"),j(m.$$.fragment),b(c,"class","zoom-in svelte-10dric6"),b(t,"class","zoom-out svelte-10dric6"),b(d,"class","reset svelte-10dric6"),b(_,"class","lock svelte-10dric6"),b(e,"class","controls-wrapper svelte-10dric6"),R(e,"horizontal",o[0]),G(e,"--prop-controls-background-color",o[1]),G(e,"--prop-controls-text-color",o[2])},m(r,p){P(r,e,p),f&&f.m(e,null),k(e,l),k(e,c),B(u,c,null),k(e,n),k(e,t),B(i,t,null),k(e,A),k(e,d),B(g,d,null),k(e,z),k(e,_),B(m,_,null),h=!0,S||(D=[w(c,"pointerdown",F(o[9])),w(t,"mousedown",F(o[10])),w(t,"touchstart",o[10],{passive:!0}),w(d,"mousedown",F(o[11])),w(d,"touchstart",o[11],{passive:!0}),w(_,"mousedown",F(o[12])),w(_,"touchstart",o[12],{passive:!0})],S=!0)},p(r,p){s&&f.p(r,p);const E={};p&16&&(E.icon=r[4]?"lock":"lock_open"),m.$set(E),(!h||p&1)&&R(e,"horizontal",r[0]),p&2&&G(e,"--prop-controls-background-color",r[1]),p&4&&G(e,"--prop-controls-text-color",r[2])},i(r){h||(C(f),C(u.$$.fragment,r),C(i.$$.fragment,r),C(g.$$.fragment,r),C(m.$$.fragment,r),h=!0)},o(r){v(f),v(u.$$.fragment,r),v(i.$$.fragment,r),v(g.$$.fragment,r),v(m.$$.fragment,r),h=!1},d(r){r&&N(e),f&&f.d(),V(u),V(i),V(g),V(m),S=!1,ne(D)}}}function ce(o){let e,s,l;const c=o[15].default,u=x(c,o,o[14],H),n=u||ie(o);return{c(){e=I("nav"),n&&n.c(),b(e,"class",s="graph-controls "+o[3]+" svelte-10dric6"),b(e,"aria-label","navigation")},m(t,i){P(t,e,i),n&&n.m(e,null),l=!0},p(t,[i]){u?u.p&&(!l||i&16384)&&ee(u,c,t,t[14],l?te(c,t[14],i,re):oe(t[14]),H):n&&n.p&&(!l||i&23)&&n.p(t,l?i:-1),(!l||i&8&&s!==(s="graph-controls "+t[3]+" svelte-10dric6"))&&b(e,"class",s)},i(t){l||(C(n,t),l=!0)},o(t){v(n,t),l=!1},d(t){t&&N(e),n&&n.d(t)}}}function ue(o,e,s){let l,c,{$$slots:u={},$$scope:n}=e,{increment:t=.1}=e,{horizontal:i=!1}=e,{bgColor:A=null}=e,{iconColor:d=null}=e,{corner:g="SW"}=e;const z=O("transforms"),_=O("dimensions"),m=O("locked");Q(o,m,a=>s(4,l=a));const h=O("groups");Q(o,h,a=>s(16,c=a));const S=O("bounds"),{translation:D}=z,f=c.hidden.nodes,r=S.nodeBounds;function p(){f.set(new Set)}function E(){T(-1,_,z,t)}function J(){T(1,_,z,t)}function K(){W.set(!0);const{x:a,y:X,scale:Y}=se(M(_),M(r));D.set({x:a||0,y:X||0}),z.scale.set(Y||1),W.set(!1)}function U(){m.set(!l)}return o.$$set=a=>{"increment"in a&&s(13,t=a.increment),"horizontal"in a&&s(0,i=a.horizontal),"bgColor"in a&&s(1,A=a.bgColor),"iconColor"in a&&s(2,d=a.iconColor),"corner"in a&&s(3,g=a.corner),"$$scope"in a&&s(14,n=a.$$scope)},[i,A,d,g,l,m,h,f,p,E,J,K,U,t,n,u]}class _e extends Z{constructor(e){super(),y(this,e,ue,ce,$,{increment:13,horizontal:0,bgColor:1,iconColor:2,corner:3})}}export{_e as default};
@@ -0,0 +1 @@
1
+ import{S as Pe,i as He,s as Fe,n as Te,d as Ht,G as Xe,T as u,U as bt,V as Ee,b as Ft,r as e,l as c,W as Je,e as l,v as a,c as t,a as cl,X as fl,Y as hl,A as ut,j as ot,k as st,D as ct,I as pl,E as pt,f as ue,Z as Ae,_ as Bt,L as gl,M as vl,N as ml,O as _l,o as ql,$ as Cl,a0 as dl}from"./index-CwCTxci7.js";import{I as qt}from"./Icon-BZoXfbBu.js";function kl(n,i,s){for(let o=0;o<n.length;o++)i[o]!==void 0&&(s[n[o]]=i[o])}function wl(n){let i,s,o,d,f,b,p,S,h,A,k,g,x,w,q,C,v,m,y,X,Y,z,L,W,T,O,D,j,H,_,K,E,nt,J,G,dt,B,r,N,M,U,P,Z,Ct,V,it,kt,R,se,gt,Tt,ft,at,ie,F,Et,zt,wt,tt,ae,vt,It,yt,Q,Lt,mt,Dt,et,ht,At,re;return{c(){i=l("div"),s=l("form"),o=l("ul"),d=l("li"),f=l("label"),f.textContent="Background:",b=a(),p=l("input"),S=a(),h=l("li"),A=l("label"),A.textContent="Border:",k=a(),g=l("input"),x=a(),w=l("li"),w.innerHTML='<label for="dimensions" class="svelte-1q80enq">Dimensions:</label>',q=a(),C=l("li"),v=l("label"),v.textContent="Width:",m=a(),y=l("input"),X=a(),Y=l("label"),Y.textContent="Height:",z=a(),L=l("input"),W=a(),T=l("li"),O=l("label"),O.textContent="Locked:",D=a(),j=l("input"),H=a(),_=l("li"),K=l("label"),K.textContent="Centered:",E=a(),nt=l("input"),J=a(),G=l("li"),dt=l("label"),dt.textContent="Rotation:",B=a(),r=l("input"),N=a(),M=l("li"),U=l("label"),U.textContent="zIndex:",P=a(),Z=l("input"),Ct=a(),V=l("li"),it=l("label"),it.textContent="Label :",kt=a(),R=l("input"),se=a(),gt=l("li"),gt.innerHTML='<label for="defaultAnchors" class="svelte-1q80enq">Default Anchors:</label>',Tt=a(),ft=l("li"),at=l("label"),at.textContent="Input:",ie=a(),F=l("input"),Et=a(),zt=l("label"),zt.textContent="Output:",wt=a(),tt=l("input"),ae=a(),vt=l("li"),It=l("label"),It.textContent="Anchor Position:",yt=a(),Q=l("select"),Lt=l("option"),Lt.textContent="-",mt=l("option"),mt.textContent="LR",Dt=l("option"),Dt.textContent="TD",et=a(),ht=l("li"),ht.innerHTML='<button class="nodeResetBtn btn svelte-1q80enq" aria-label="Reset">Reset</button>',t(f,"for","bgColor"),t(f,"class","svelte-1q80enq"),t(p,"id","bgColor"),t(p,"class","colorWheel svelte-1q80enq"),t(p,"type","color"),t(d,"class","list-item svelte-1q80enq"),t(A,"for","borderColor"),t(A,"class","svelte-1q80enq"),t(g,"id","borderColor"),t(g,"class","colorWheel svelte-1q80enq"),t(g,"type","color"),t(h,"class","list-item svelte-1q80enq"),t(w,"class","list-item svelte-1q80enq"),t(v,"for","width"),t(v,"class","svelte-1q80enq"),t(y,"id","width"),t(y,"class","inputField svelte-1q80enq"),t(y,"type","input"),t(Y,"for","height"),cl(Y,"margin-left","6px"),t(Y,"class","svelte-1q80enq"),t(L,"id","height"),t(L,"class","inputField svelte-1q80enq"),t(L,"type","input"),t(C,"class","list-item svelte-1q80enq"),t(O,"for","locked"),t(O,"class","svelte-1q80enq"),t(j,"id","label"),t(j,"type","checkbox"),t(T,"class","list-item svelte-1q80enq"),t(K,"for","centered"),t(K,"class","svelte-1q80enq"),t(nt,"id","centered"),t(nt,"type","checkbox"),t(_,"class","list-item svelte-1q80enq"),t(dt,"for","rotation"),t(dt,"class","svelte-1q80enq"),t(r,"id","rotation"),t(r,"class","inputField svelte-1q80enq"),t(r,"type","number"),t(G,"class","list-item svelte-1q80enq"),t(U,"for","zIndex"),t(U,"class","svelte-1q80enq"),t(Z,"id","zIndex"),t(Z,"class","inputField svelte-1q80enq"),t(Z,"type","number"),t(M,"class","list-item svelte-1q80enq"),t(it,"for","label"),t(it,"class","svelte-1q80enq"),t(R,"id","label"),t(R,"type","text"),t(V,"class","list-item svelte-1q80enq"),t(gt,"class","list-item svelte-1q80enq"),t(at,"for","inputAnchor"),t(at,"class","svelte-1q80enq"),t(F,"id","inputAnchor"),t(F,"class","inputField svelte-1q80enq"),t(F,"type","number"),t(F,"min","0"),t(zt,"for","outputAnchor"),cl(zt,"margin-left","6px"),t(zt,"class","svelte-1q80enq"),t(tt,"id","outputAnchor"),t(tt,"class","inputField svelte-1q80enq"),t(tt,"type","number"),t(tt,"min","0"),t(ft,"class","list-item svelte-1q80enq"),t(It,"for","anchorPositon"),t(It,"class","svelte-1q80enq"),Lt.__value="",u(Lt,Lt.__value),mt.__value="LR",u(mt,mt.__value),Dt.__value="TD",u(Dt,Dt.__value),t(Q,"id","anchorPosition"),Jt===void 0&&fl(()=>n[11].call(Q)),t(vt,"class","list-item svelte-1q80enq"),t(ht,"class","list-item svelte-1q80enq"),t(o,"aria-labelledby","select_props"),t(o,"class","svelte-1q80enq"),t(i,"id","nodeContainer"),t(i,"class","svelte-1q80enq")},m(Rt,lt){Ft(Rt,i,lt),e(i,s),e(s,o),e(o,d),e(d,f),e(d,b),e(d,p),u(p,Ie),e(o,S),e(o,h),e(h,A),e(h,k),e(h,g),u(g,Ne),e(o,x),e(o,w),e(o,q),e(o,C),e(C,v),e(C,m),e(C,y),u(y,$e),e(C,X),e(C,Y),e(C,z),e(C,L),u(L,Me),e(o,W),e(o,T),e(T,O),e(T,D),e(T,j),u(j,qe),e(o,H),e(o,_),e(_,K),e(_,E),e(_,nt),u(nt,Ce),e(o,J),e(o,G),e(G,dt),e(G,B),e(G,r),u(r,be),e(o,N),e(o,M),e(M,U),e(M,P),e(M,Z),u(Z,ge),e(o,Ct),e(o,V),e(V,it),e(V,kt),e(V,R),u(R,de),e(o,se),e(o,gt),e(o,Tt),e(o,ft),e(ft,at),e(ft,ie),e(ft,F),u(F,fe),e(ft,Et),e(ft,zt),e(ft,wt),e(ft,tt),u(tt,he),e(o,ae),e(o,vt),e(vt,It),e(vt,yt),e(vt,Q),e(Q,Lt),e(Q,mt),e(Q,Dt),Ee(Q,Jt,!0),e(o,et),e(o,ht),At||(re=[c(p,"input",n[0]),c(g,"input",n[1]),c(y,"input",n[2]),c(L,"input",n[3]),c(j,"change",n[4]),c(j,"change",Al),c(nt,"change",n[5]),c(nt,"change",Bl),c(r,"input",n[6]),c(Z,"input",n[7]),c(R,"input",n[8]),c(F,"input",n[9]),c(tt,"input",n[10]),c(Q,"change",n[11]),c(Q,"change",xl),c(s,"submit",Je(yl))],At=!0)},p(Rt,[lt]){lt&0&&u(p,Ie),lt&0&&u(g,Ne),lt&0&&u(y,$e),lt&0&&u(L,Me),lt&0&&u(j,qe),lt&0&&u(nt,Ce),lt&0&&bt(r.value)!==be&&u(r,be),lt&0&&bt(Z.value)!==ge&&u(Z,ge),lt&0&&R.value!==de&&u(R,de),lt&0&&bt(F.value)!==fe&&u(F,fe),lt&0&&bt(tt.value)!==he&&u(tt,he),lt&0&&Ee(Q,Jt)},i:Te,o:Te,d(Rt){Rt&&Ht(i),At=!1,Xe(re)}}}let Ie,Ne,de,$e=200,Me=100,qe,Ce,fe,he,be,ge,Jt;const yl=n=>{Ie=void 0,Ne=void 0,de=void 0,$e=200,Me=100,fe=void 0,he=void 0,qe=void 0,Ce=void 0,be=void 0,ge=void 0,n.currentTarget.reset()},Al=n=>{qe=n.target.checked},Bl=n=>{Ce=n.target.checked},xl=n=>{const i=n.target;i.value==""?Jt=void 0:Jt=i.value};function zl(n,i,s){function o(){Ie=this.value}function d(){Ne=this.value}function f(){$e=this.value}function b(){Me=this.value}function p(){qe=this.value}function S(){Ce=this.value}function h(){be=bt(this.value)}function A(){ge=bt(this.value)}function k(){de=this.value}function g(){fe=bt(this.value)}function x(){he=bt(this.value)}function w(){Jt=hl(this)}return[o,d,f,b,p,S,h,A,k,g,x,w]}class Ll extends Pe{constructor(i){super(),He(this,i,zl,wl,Fe,{})}}function Dl(n){let i,s,o,d,f,b,p,S,h,A,k,g,x,w,q,C,v,m,y,X,Y,z,L,W,T,O,D,j,H,_,K,E,nt,J,G,dt,B,r,N,M,U,P,Z,Ct,V,it,kt,R,se,gt,Tt,ft,at,ie,F,Et,zt,wt,tt,ae,vt,It,yt,Q,Lt,mt,Dt,et,ht,At,re,Rt,lt,Nt,Xt,Qe,$t,Yt,Ve,Be,tl,Mt,jt,el,xe,ll,rt,St,Gt,nl,ze,ol,Wt,Kt,sl,Ot,Ut,il,Le,al,Pt,Zt,rl,De,Re,Ze,ul;return tt=new qt({props:{icon:"arrow_left"}}),Q=new qt({props:{icon:"arrow_right"}}),At=new qt({props:{icon:"arrow_left"}}),Xt=new qt({props:{icon:"arrow_right"}}),Yt=new qt({props:{icon:"arrow_left"}}),jt=new qt({props:{icon:"arrow_right"}}),Gt=new qt({props:{icon:"arrow_left"}}),Kt=new qt({props:{icon:"arrow_right"}}),Ut=new qt({props:{icon:"arrow_left"}}),Zt=new qt({props:{icon:"arrow_right"}}),{c(){i=l("div"),s=l("form"),o=l("ul"),d=l("li"),f=l("label"),f.textContent="Background:",b=a(),p=l("input"),S=a(),h=l("li"),A=l("label"),A.textContent="Invisible:",k=a(),g=l("input"),x=a(),w=l("li"),q=l("label"),q.textContent="Node Connect:",C=a(),v=l("input"),m=a(),y=l("li"),X=l("label"),X.textContent="Input:",Y=a(),z=l("input"),L=a(),W=l("li"),T=l("label"),T.textContent="Output:",O=a(),D=l("input"),j=a(),H=l("li"),_=l("label"),_.textContent="Multiple:",K=a(),E=l("input"),nt=a(),J=l("li"),G=l("label"),G.textContent="Direction:",dt=a(),B=l("select"),r=l("option"),r.textContent="-",N=l("option"),N.textContent="North",M=l("option"),M.textContent="South",U=l("option"),U.textContent="East",P=l("option"),P.textContent="West",Z=l("option"),Z.textContent="Self",Ct=a(),V=l("li"),it=l("label"),it.textContent="Dynamic:",kt=a(),R=l("input"),se=a(),gt=l("li"),Tt=l("label"),Tt.textContent="Locked:",ft=a(),at=l("input"),ie=a(),F=l("li"),Et=l("label"),Et.textContent="Add Anchors:",zt=a(),wt=l("button"),pt(tt.$$.fragment),ae=a(),vt=l("span"),vt.textContent=`${n[0]}`,It=a(),yt=l("button"),pt(Q.$$.fragment),Lt=a(),mt=l("li"),mt.innerHTML="<p>Left</p> <p>Right</p>",Dt=a(),et=l("li"),ht=l("button"),pt(At.$$.fragment),re=a(),Rt=l("span"),Rt.textContent=`${n[1]}`,lt=a(),Nt=l("button"),pt(Xt.$$.fragment),Qe=a(),$t=l("button"),pt(Yt.$$.fragment),Ve=a(),Be=l("span"),Be.textContent=`${n[2]}`,tl=a(),Mt=l("button"),pt(jt.$$.fragment),el=a(),xe=l("li"),xe.innerHTML="<p>Top</p> <p>Bottom</p>",ll=a(),rt=l("li"),St=l("button"),pt(Gt.$$.fragment),nl=a(),ze=l("span"),ze.textContent=`${n[3]}`,ol=a(),Wt=l("button"),pt(Kt.$$.fragment),sl=a(),Ot=l("button"),pt(Ut.$$.fragment),il=a(),Le=l("span"),Le.textContent=`${n[4]}`,al=a(),Pt=l("button"),pt(Zt.$$.fragment),rl=a(),De=l("li"),De.innerHTML='<button class="anchorResetBtn btn svelte-1qkq4bu" type="submit" aria-label="Reset">Reset</button>',t(f,"for","anchorBgColor"),t(f,"class","svelte-1qkq4bu"),t(p,"id","anchorBgColor"),t(p,"class","colorWheel svelte-1qkq4bu"),t(p,"type","color"),t(d,"class","list-item svelte-1qkq4bu"),t(A,"for","invisible"),t(A,"class","svelte-1qkq4bu"),t(g,"id","invisible"),t(g,"type","checkbox"),t(h,"class","list-item svelte-1qkq4bu"),t(q,"for","nodeConnect"),t(q,"class","svelte-1qkq4bu"),t(v,"id","nodeConnect"),t(v,"type","checkbox"),t(w,"class","list-item svelte-1qkq4bu"),t(X,"for","input"),t(X,"class","svelte-1qkq4bu"),t(z,"id","input"),t(z,"type","checkbox"),t(y,"class","list-item svelte-1qkq4bu"),t(T,"for","output"),t(T,"class","svelte-1qkq4bu"),t(D,"id","output"),t(D,"type","checkbox"),t(W,"class","list-item svelte-1qkq4bu"),t(_,"for","multiple"),t(_,"class","svelte-1qkq4bu"),t(E,"id","multiple"),t(E,"type","checkbox"),t(H,"class","list-item svelte-1qkq4bu"),t(G,"for","direction"),t(G,"class","svelte-1qkq4bu"),r.__value="",u(r,r.__value),N.__value="north",u(N,N.__value),M.__value="south",u(M,M.__value),U.__value="east",u(U,U.__value),P.__value="west",u(P,P.__value),Z.__value="self",u(Z,Z.__value),t(B,"id","direction"),xt===void 0&&fl(()=>n[12].call(B)),t(J,"class","list-item svelte-1qkq4bu"),t(it,"for","dynamic"),t(it,"class","svelte-1qkq4bu"),t(R,"id","dynamic"),t(R,"type","checkbox"),t(V,"class","list-item svelte-1qkq4bu"),t(Tt,"for","anchorLocked"),t(Tt,"class","svelte-1qkq4bu"),t(at,"id","anchorLocked"),t(at,"type","checkbox"),t(gt,"class","list-item svelte-1qkq4bu"),t(Et,"for","addAnchors"),t(Et,"class","svelte-1qkq4bu"),t(wt,"id","deleteSelfAnchor"),t(wt,"class","deleteAnchor svelte-1qkq4bu"),t(wt,"type","button"),t(vt,"class","list-item counter svelte-1qkq4bu"),t(yt,"id","addSelfAnchor"),t(yt,"class","addAnchor svelte-1qkq4bu"),t(yt,"type","button"),t(F,"class","list-item svelte-1qkq4bu"),t(mt,"class","list-item anchor-directions svelte-1qkq4bu"),t(ht,"id","deleteLeftAnchor"),t(ht,"class","deleteAnchor svelte-1qkq4bu"),t(ht,"type","button"),t(Rt,"class","list-item couter svelte-1qkq4bu"),t(Nt,"id","addLeftAnchor"),t(Nt,"class","addAnchor svelte-1qkq4bu"),t(Nt,"type","button"),t($t,"id","deleteRightAnchor"),t($t,"class","deleteAnchor svelte-1qkq4bu"),t($t,"type","button"),t(Be,"class","list-item couter svelte-1qkq4bu"),t(Mt,"id","addRightAnchor"),t(Mt,"class","addAnchor svelte-1qkq4bu"),t(Mt,"type","button"),t(et,"class","list-item anchor-directions svelte-1qkq4bu"),t(xe,"class","list-item anchor-directions svelte-1qkq4bu"),t(St,"id","deleteTopAnchor"),t(St,"class","deleteAnchor svelte-1qkq4bu"),t(St,"type","button"),t(ze,"class","list-item couter svelte-1qkq4bu"),t(Wt,"id","addTopAnchor"),t(Wt,"class","addAnchor svelte-1qkq4bu"),t(Wt,"type","button"),t(Ot,"id","deleteBottomAnchor"),t(Ot,"class","deleteAnchor svelte-1qkq4bu"),t(Ot,"type","button"),t(Le,"class","list-item couter svelte-1qkq4bu"),t(Pt,"id","addBottomAnchor"),t(Pt,"class","addAnchor svelte-1qkq4bu"),t(Pt,"type","button"),t(rt,"class","list-item anchor-directions svelte-1qkq4bu"),t(De,"class","list-item svelte-1qkq4bu"),t(o,"aria-labelledby","select_props"),t(o,"class","svelte-1qkq4bu"),t(i,"id","anchorContainer"),t(i,"class","svelte-1qkq4bu")},m(I,_t){Ft(I,i,_t),e(i,s),e(s,o),e(o,d),e(d,f),e(d,b),e(d,p),u(p,ke),e(o,S),e(o,h),e(h,A),e(h,k),e(h,g),u(g,Qt),e(o,x),e(o,w),e(w,q),e(w,C),e(w,v),u(v,Vt),e(o,m),e(o,y),e(y,X),e(y,Y),e(y,z),u(z,te),e(o,L),e(o,W),e(W,T),e(W,O),e(W,D),u(D,ee),e(o,j),e(o,H),e(H,_),e(H,K),e(H,E),u(E,le),e(o,nt),e(o,J),e(J,G),e(J,dt),e(J,B),e(B,r),e(B,N),e(B,M),e(B,U),e(B,P),e(B,Z),n[11](B),Ee(B,xt,!0),e(o,Ct),e(o,V),e(V,it),e(V,kt),e(V,R),u(R,ne),e(o,se),e(o,gt),e(gt,Tt),e(gt,ft),e(gt,at),u(at,oe),e(o,ie),e(o,F),e(F,Et),e(F,zt),e(F,wt),ct(tt,wt,null),e(F,ae),e(F,vt),e(F,It),e(F,yt),ct(Q,yt,null),e(o,Lt),e(o,mt),e(o,Dt),e(o,et),e(et,ht),ct(At,ht,null),e(et,re),e(et,Rt),e(et,lt),e(et,Nt),ct(Xt,Nt,null),e(et,Qe),e(et,$t),ct(Yt,$t,null),e(et,Ve),e(et,Be),e(et,tl),e(et,Mt),ct(jt,Mt,null),e(o,el),e(o,xe),e(o,ll),e(o,rt),e(rt,St),ct(Gt,St,null),e(rt,nl),e(rt,ze),e(rt,ol),e(rt,Wt),ct(Kt,Wt,null),e(rt,sl),e(rt,Ot),ct(Ut,Ot,null),e(rt,il),e(rt,Le),e(rt,al),e(rt,Pt),ct(Zt,Pt,null),e(o,rl),e(o,De),Re=!0,Ze||(ul=[c(p,"input",n[5]),c(g,"change",n[6]),c(g,"change",Il),c(v,"change",n[7]),c(v,"change",Nl),c(z,"change",n[8]),c(z,"change",$l),c(D,"change",n[9]),c(D,"change",Ml),c(E,"change",n[10]),c(E,"change",Sl),c(B,"change",n[12]),c(B,"change",Ol),c(R,"change",n[13]),c(R,"change",Wl),c(at,"change",n[14]),c(at,"change",El),c(wt,"click",pl(pe)),c(yt,"click",pl(ce)),c(ht,"click",pe),c(Nt,"click",ce),c($t,"click",pe),c(Mt,"click",ce),c(St,"click",pe),c(Wt,"click",ce),c(Ot,"click",pe),c(Pt,"click",ce),c(s,"submit",Je(Pl))],Ze=!0)},p(I,[_t]){_t&0&&u(p,ke),_t&0&&u(g,Qt),_t&0&&u(v,Vt),_t&0&&u(z,te),_t&0&&u(D,ee),_t&0&&u(E,le),_t&0&&Ee(B,xt),_t&0&&u(R,ne),_t&0&&u(at,oe)},i(I){Re||(st(tt.$$.fragment,I),st(Q.$$.fragment,I),st(At.$$.fragment,I),st(Xt.$$.fragment,I),st(Yt.$$.fragment,I),st(jt.$$.fragment,I),st(Gt.$$.fragment,I),st(Kt.$$.fragment,I),st(Ut.$$.fragment,I),st(Zt.$$.fragment,I),Re=!0)},o(I){ot(tt.$$.fragment,I),ot(Q.$$.fragment,I),ot(At.$$.fragment,I),ot(Xt.$$.fragment,I),ot(Yt.$$.fragment,I),ot(jt.$$.fragment,I),ot(Gt.$$.fragment,I),ot(Kt.$$.fragment,I),ot(Ut.$$.fragment,I),ot(Zt.$$.fragment,I),Re=!1},d(I){I&&Ht(i),n[11](null),ut(tt),ut(Q),ut(At),ut(Xt),ut(Yt),ut(jt),ut(Gt),ut(Kt),ut(Ut),ut(Zt),Ze=!1,Xe(ul)}}}const Ye=Ae(0),je=Ae(0),Ge=Ae(0),Ke=Ae(0),Ue=Ae(0);let Qt,Vt,te,ee,le,xt,ne,bl,oe,ke,Rl,$={self:[],left:[],right:[],top:[],bottom:[]};const Tl=(n,i)=>{xt==""&&(xt=void 0);const s={};kl(["invisible","nodeConnect","input","output","multiple","direction","dynamic","edgeLabel","locked","bgColor","edge"],[Qt,Vt,te,ee,le,xt,ne,bl,oe,ke,Rl],s),Object.keys(s).length&&(i==="addLeftAnchor"?$.left.push(s):i==="addRightAnchor"?$.right.push(s):i==="addTopAnchor"?$.top.push(s):i==="addBottomAnchor"?$.bottom.push(s):i==="addSelfAnchor"&&$.self.push(s))},El=n=>{oe=n.target.checked},Il=n=>{Qt=n.target.checked},Nl=n=>{Vt=n.target.checked},$l=n=>{te=n.target.checked},Ml=n=>{ee=n.target.checked},Sl=n=>{le=n.target.checked},Wl=n=>{ne=n.target.checked},Ol=n=>{const i=n.target;i.value==""?xt=void 0:xt=i.value},Pl=n=>{Qt=void 0,Vt=void 0,te=void 0,ee=void 0,le=void 0,xt=void 0,ne=void 0,bl=void 0,oe=void 0,ke=void 0,$.left=[],$.right=[],$.top=[],$.bottom=[],$.self=[],Ue.set(0),Ye.set(0),je.set(0),Ge.set(0),Ke.set(0);const i=n.target;n&&i.reset()},ce=n=>{var o;const i=n.target,s=((o=i==null?void 0:i.parentElement)==null?void 0:o.id)||(i==null?void 0:i.id);Tl(!1,s),s==="addLeftAnchor"?Ye.set($.left.length):s==="addRightAnchor"?je.set($.right.length):s==="addTopAnchor"?Ge.set($.top.length):s==="addBottomAnchor"?Ke.set($.bottom.length):s==="addSelfAnchor"&&Ue.set($.self.length)},pe=n=>{var o;const i=n.target,s=((o=i==null?void 0:i.parentElement)==null?void 0:o.id)||(i==null?void 0:i.id);s==="deleteLeftAnchor"?($.left.pop(),Ye.set($.left.length)):s==="deleteRightAnchor"?($.right.pop(),je.set($.right.length)):s==="deleteTopAnchor"?($.top.pop(),Ge.set($.top.length)):s==="deleteBottomAnchor"?($.bottom.pop(),Ke.set($.bottom.length)):s==="deleteSelfAnchor"&&($.self.pop(),Ue.set($.self.length))};function Hl(n,i,s){let o,d,f,b,p;ue(n,Ue,m=>s(0,o=m)),ue(n,Ye,m=>s(1,d=m)),ue(n,je,m=>s(2,f=m)),ue(n,Ge,m=>s(3,b=m)),ue(n,Ke,m=>s(4,p=m));function S(){ke=this.value}function h(){Qt=this.value}function A(){Vt=this.value}function k(){te=this.value}function g(){ee=this.value}function x(){le=this.value}function w(m){Bt[m?"unshift":"push"](()=>{})}function q(){xt=hl(this)}function C(){ne=this.value}function v(){oe=this.value}return[o,d,f,b,p,S,h,A,k,g,x,w,q,C,v]}class Fl extends Pe{constructor(i){super(),He(this,i,Hl,Dl,Fe,{})}}function Xl(n){let i,s,o,d,f,b,p,S,h,A,k,g,x,w,q,C,v,m,y,X,Y,z,L,W,T,O,D,j,H,_,K,E,nt,J,G,dt,B,r,N,M,U,P,Z,Ct,V,it;return{c(){i=l("div"),s=l("form"),o=l("ul"),d=l("li"),f=l("label"),f.textContent="Background:",b=a(),p=l("input"),S=a(),h=l("li"),A=l("label"),A.textContent="Label:",k=a(),g=l("input"),x=a(),w=l("li"),q=l("label"),q.textContent="Text:",C=a(),v=l("input"),m=a(),y=l("li"),X=l("label"),X.textContent="Animate :",Y=a(),z=l("input"),L=a(),W=l("li"),T=l("label"),T.textContent="Step:",O=a(),D=l("input"),j=a(),H=l("li"),_=l("label"),_.textContent="Corner Radius:",K=a(),E=l("input"),nt=a(),J=l("li"),G=l("label"),G.textContent="Width:",dt=a(),B=l("input"),r=a(),N=l("li"),M=l("label"),M.textContent="Edge Label:",U=a(),P=l("input"),Z=a(),Ct=l("li"),Ct.innerHTML='<button class="edgeResetBtn btn svelte-1l9z4rf" aria-label="Reset">Reset</button>',t(f,"for","color"),t(f,"class","svelte-1l9z4rf"),t(p,"id","color"),t(p,"class","colorWheel svelte-1l9z4rf"),t(p,"type","color"),t(d,"class","list-item svelte-1l9z4rf"),t(A,"for","labelColor"),t(A,"class","svelte-1l9z4rf"),t(g,"id","labelColor"),t(g,"class","colorWheel svelte-1l9z4rf"),t(g,"type","color"),t(h,"class","list-item svelte-1l9z4rf"),t(q,"for","textColor"),t(q,"class","svelte-1l9z4rf"),t(v,"id","textColor"),t(v,"class","colorWheel svelte-1l9z4rf"),t(v,"type","color"),t(w,"class","list-item svelte-1l9z4rf"),t(X,"for","animate"),t(X,"class","svelte-1l9z4rf"),t(z,"id","animate"),t(z,"type","checkbox"),t(y,"class","list-item svelte-1l9z4rf"),t(T,"for","step"),t(T,"class","svelte-1l9z4rf"),t(D,"id","step"),t(D,"type","checkbox"),t(W,"class","list-item svelte-1l9z4rf"),t(_,"for","cornerRadius"),t(_,"class","svelte-1l9z4rf"),t(E,"id","cornerRadius"),t(E,"class","inputField svelte-1l9z4rf"),t(E,"type","number"),t(H,"class","list-item svelte-1l9z4rf"),t(G,"for","width"),t(G,"class","svelte-1l9z4rf"),t(B,"id","width"),t(B,"class","inputField svelte-1l9z4rf"),t(B,"type","number"),t(J,"class","list-item svelte-1l9z4rf"),t(M,"for","edgeLabel"),t(M,"class","svelte-1l9z4rf"),t(P,"id","edgeLabel"),t(P,"type","text"),t(N,"class","list-item svelte-1l9z4rf"),t(Ct,"class","list-item svelte-1l9z4rf"),t(o,"aria-labelledby","select_props"),t(o,"class","svelte-1l9z4rf"),t(i,"id","edgeContainer"),t(i,"class","svelte-1l9z4rf")},m(kt,R){Ft(kt,i,R),e(i,s),e(s,o),e(o,d),e(d,f),e(d,b),e(d,p),u(p,Se),e(o,S),e(o,h),e(h,A),e(h,k),e(h,g),u(g,We),e(o,x),e(o,w),e(w,q),e(w,C),e(w,v),u(v,Oe),e(o,m),e(o,y),e(y,X),e(y,Y),e(y,z),u(z,ye),e(o,L),e(o,W),e(W,T),e(W,O),e(W,D),u(D,we),e(o,j),e(o,H),e(H,_),e(H,K),e(H,E),u(E,me),e(o,nt),e(o,J),e(J,G),e(J,dt),e(J,B),u(B,ve),e(o,r),e(o,N),e(N,M),e(N,U),e(N,P),u(P,_e),e(o,Z),e(o,Ct),V||(it=[c(p,"input",n[0]),c(g,"input",n[1]),c(v,"input",n[2]),c(z,"change",n[3]),c(z,"change",jl),c(D,"change",n[4]),c(D,"change",Yl),c(E,"input",n[5]),c(B,"input",n[6]),c(P,"input",n[7]),c(s,"submit",Je(Gl))],V=!0)},p(kt,[R]){R&0&&u(p,Se),R&0&&u(g,We),R&0&&u(v,Oe),R&0&&u(z,ye),R&0&&u(D,we),R&0&&bt(E.value)!==me&&u(E,me),R&0&&bt(B.value)!==ve&&u(B,ve),R&0&&P.value!==_e&&u(P,_e)},i:Te,o:Te,d(kt){kt&&Ht(i),V=!1,Xe(it)}}}let ve,Se,we,me,ye,_e,We,Oe;const Yl=n=>{we=n.target.checked},jl=n=>{ye=n.target.checked},Gl=n=>{ve=void 0,Se=void 0,we=void 0,me=void 0,ye=void 0,_e=void 0,We=void 0,Oe=void 0,n.target.reset()};function Kl(n,i,s){function o(){Se=this.value}function d(){We=this.value}function f(){Oe=this.value}function b(){ye=this.value}function p(){we=this.value}function S(){me=bt(this.value)}function h(){ve=bt(this.value)}function A(){_e=this.value}return[o,d,f,b,p,S,h,A]}class Ul extends Pe{constructor(i){super(),He(this,i,Kl,Xl,Fe,{})}}function Zl(n){let i,s,o,d,f,b,p,S,h,A,k,g,x,w,q,C,v,m,y,X,Y,z,L,W,T,O,D,j,H;return s=new qt({props:{icon:n[0]?"south_east":"north_west"}}),q=new Ll({}),y=new Fl({}),L=new Ul({}),{c(){i=l("button"),pt(s.$$.fragment),o=a(),d=l("ul"),f=l("li"),b=l("div"),p=l("button"),p.textContent="Node",S=a(),h=l("button"),h.textContent="Anchor",A=a(),k=l("button"),k.textContent="Edge",g=a(),x=l("li"),w=l("div"),pt(q.$$.fragment),C=a(),v=l("li"),m=l("div"),pt(y.$$.fragment),X=a(),Y=l("li"),z=l("div"),pt(L.$$.fragment),W=a(),T=l("li"),O=l("div"),O.textContent="Node",t(i,"class","drawerBtn svelte-zlwv6l"),t(i,"aria-label","Open/Close Drawer"),t(p,"class","dropdown svelte-zlwv6l"),t(p,"aria-label","Component"),t(h,"class","dropdown svelte-zlwv6l"),t(h,"aria-label","Component"),t(k,"class","dropdown svelte-zlwv6l"),t(k,"aria-label","Component"),t(b,"class","menu svelte-zlwv6l"),t(f,"class","list-item"),t(w,"class","propsContainer nodeContainer svelte-zlwv6l"),t(x,"class","list-item"),t(m,"class","propsContainer anchorContainer svelte-zlwv6l"),t(v,"class","list-item"),t(z,"class","propsContainer edgeContainer svelte-zlwv6l"),t(Y,"class","list-item"),t(O,"role","presentation"),t(O,"class","defaultNodes svelte-zlwv6l"),t(O,"draggable","true"),t(T,"class","list-item"),t(d,"class","drawerContents svelte-zlwv6l")},m(_,K){Ft(_,i,K),ct(s,i,null),n[17](i),Ft(_,o,K),Ft(_,d,K),e(d,f),e(f,b),e(b,p),n[18](p),e(b,S),e(b,h),n[19](h),e(b,A),e(b,k),n[20](k),e(d,g),e(d,x),e(x,w),ct(q,w,null),n[21](w),e(d,C),e(d,v),e(v,m),ct(y,m,null),n[22](m),e(d,X),e(d,Y),e(Y,z),ct(L,z,null),n[23](z),e(d,W),e(d,T),e(T,O),n[25](d),D=!0,j||(H=[c(i,"click",n[10]),c(p,"click",n[11]),c(h,"click",n[12]),c(k,"click",n[13]),c(O,"dragstart",n[24])],j=!0)},p(_,K){const E={};K[0]&1&&(E.icon=_[0]?"south_east":"north_west"),s.$set(E)},i(_){D||(st(s.$$.fragment,_),st(q.$$.fragment,_),st(y.$$.fragment,_),st(L.$$.fragment,_),D=!0)},o(_){ot(s.$$.fragment,_),ot(q.$$.fragment,_),ot(y.$$.fragment,_),ot(L.$$.fragment,_),D=!1},d(_){_&&(Ht(i),Ht(o),Ht(d)),ut(s),n[17](null),n[18](null),n[19](null),n[20](null),ut(q),n[21](null),ut(y),n[22](null),ut(L),n[23](null),n[25](null),j=!1,Xe(H)}}}function Jl(n){let i,s;const o=n[16].default,d=gl(o,n,n[15],null),f=d||Zl(n);return{c(){i=l("nav"),f&&f.c(),t(i,"id","drawerWrapper"),t(i,"class","svelte-zlwv6l")},m(b,p){Ft(b,i,p),f&&f.m(i,null),n[26](i),s=!0},p(b,p){d?d.p&&(!s||p[0]&32768)&&vl(d,o,b,b[15],s?_l(o,b[15],p,null):ml(b[15]),null):f&&f.p&&(!s||p[0]&1021)&&f.p(b,s?p:[-1,-1])},i(b){s||(st(f,b),s=!0)},o(b){ot(f,b),s=!1},d(b){b&&Ht(i),f&&f.d(b),n[26](null)}}}let Ql=0,Vl=0;function tn(n,i,s){let{$$slots:o={},$$scope:d}=i,f=!1,b=!1,p=!1,S=!1,h,A,k,g,x,w,q,C,v,m=null;const y=()=>{f?(s(0,f=!1),s(1,h.style.height="35px",h),s(1,h.style.width="35px",h),S=!1,p=!1,b=!1,s(7,q.style.display="block",q),s(9,v.style.display="none",v),s(8,C.style.display="none",C),s(3,k.style.borderBottom="3px solid var(--prop-drawer-button-text-color,var(--drawer-button-text-color, var(--default-drawer-button-text-color)))",k),s(4,g.style.borderBottom="none",g),s(5,x.style.borderBottom="none",x)):(s(0,f=!0),s(1,h.style.height="fit-content",h),s(1,h.style.width="300px",h))},X=()=>{b||(b=!0,S=!1,p=!1,s(7,q.style.display="block",q),s(9,v.style.display="none",v),s(8,C.style.display="none",C),s(3,k.style.borderBottom="3px solid var(--prop-drawer-button-text-color,var(--drawer-button-text-color, var(--default-drawer-button-text-color)))",k),s(4,g.style.borderBottom="none",g),s(5,x.style.borderBottom="none",x))},Y=()=>{S||(S=!0,p=!1,b=!1,s(8,C.style.display="block",C),s(9,v.style.display="none",v),s(7,q.style.display="none",q),s(3,k.style.borderBottom="none",k),s(4,g.style.borderBottom="none",g),s(5,x.style.borderBottom="3px solid var(--prop-drawer-button-text-color,var(--drawer-button-text-color, var(--default-drawer-button-text-color)))",x))},z=()=>{p||(p=!0,b=!1,S=!1,s(9,v.style.display="block",v),s(8,C.style.display="none",C),s(7,q.style.display="none",q),s(3,k.style.borderBottom="none",k),s(4,g.style.borderBottom="3px solid var(--prop-drawer-button-text-color,var(--drawer-button-text-color, var(--default-drawer-button-text-color)))",g),s(5,x.style.borderBottom="none",x))};let L="Node";const W=r=>{r.key==="D"?y():r.key==="T"&&f&&(L==="Node"?(Y(),L="Anchor"):L==="Anchor"?(z(),L="Edge"):L==="Edge"&&(X(),L="Node"))},T=(r,N,M)=>{r.dataTransfer&&(console.log("Dragging Node:",M),r.dataTransfer.dropEffect="move",r.dataTransfer.setData("text/plain",M),m=N)},O=r=>{if(!m)return;console.log("handleDragMove function called!"),console.log("Dragging...",r.clientX,r.clientY);const N=r.clientX-Ql,M=r.clientY-Vl,{x:U,y:P}=dl(N,M);console.log("Snapped to:",U,P),(parseInt(m.style.left,10)!==U||parseInt(m.style.top,10)!==P)&&(m.style.left=`${U}px`,m.style.top=`${P}px`)},D=()=>{if(!m)return;const{x:r,y:N}=dl(parseInt(m.style.left,10),parseInt(m.style.top,10));m.style.left=`${r}px`,m.style.top=`${N}px`,m=null};ql(()=>{window.addEventListener("keydown",W),window.addEventListener("mousemove",O),window.addEventListener("mouseup",D)}),Cl(()=>{window.removeEventListener("keydown",W),window.removeEventListener("mousemove",O),window.removeEventListener("mouseup",D)});function j(r){Bt[r?"unshift":"push"](()=>{A=r,s(2,A)})}function H(r){Bt[r?"unshift":"push"](()=>{k=r,s(3,k)})}function _(r){Bt[r?"unshift":"push"](()=>{x=r,s(5,x)})}function K(r){Bt[r?"unshift":"push"](()=>{g=r,s(4,g)})}function E(r){Bt[r?"unshift":"push"](()=>{q=r,s(7,q)})}function nt(r){Bt[r?"unshift":"push"](()=>{C=r,s(8,C)})}function J(r){Bt[r?"unshift":"push"](()=>{v=r,s(9,v)})}const G=r=>{const N=r.target;N instanceof HTMLElement&&T(r,N,"defaultNode")};function dt(r){Bt[r?"unshift":"push"](()=>{w=r,s(6,w)})}function B(r){Bt[r?"unshift":"push"](()=>{h=r,s(1,h)})}return n.$$set=r=>{"$$scope"in r&&s(15,d=r.$$scope)},[f,h,A,k,g,x,w,q,C,v,y,X,Y,z,T,d,o,j,H,_,K,E,nt,J,G,dt,B]}class nn extends Pe{constructor(i){super(),He(this,i,tn,Jl,Fe,{},null,[-1,-1])}}export{nn as default};
@@ -0,0 +1 @@
1
+ #anchorContainer.svelte-1qkq4bu.svelte-1qkq4bu{width:100%;font-size:15px}#anchorContainer.svelte-1qkq4bu ul.svelte-1qkq4bu{margin:0;padding:0}label.svelte-1qkq4bu.svelte-1qkq4bu{margin-right:10px}.list-item.svelte-1qkq4bu.svelte-1qkq4bu{display:flex;flex-direction:row;align-items:center;list-style:none;margin-bottom:10px;margin-right:3px}.colorWheel.svelte-1qkq4bu.svelte-1qkq4bu{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;width:35px;height:35px;cursor:pointer;border-radius:50%}.colorWheel.svelte-1qkq4bu.svelte-1qkq4bu::-webkit-color-swatch{border-radius:40%}.colorWheel.svelte-1qkq4bu.svelte-1qkq4bu::-moz-color-swatch{border-radius:40%}.btn.svelte-1qkq4bu.svelte-1qkq4bu{width:120px;padding:8px 20px;border:none;border-radius:5px;cursor:pointer;font-size:15px;margin:10px auto auto 70px}.addAnchor.svelte-1qkq4bu.svelte-1qkq4bu,.deleteAnchor.svelte-1qkq4bu.svelte-1qkq4bu{border:none;cursor:pointer;border-radius:8px;padding:5px;color:var( --prop-drawer-reset-button-text-color, var(--drawer-reset-button-text-color, var(--default-reset-drawer-button-text-color)) );background-color:var( --prop-drawer-reset-button-color, var(--drawer-reset-button-color, var(--default-drawer-reset-button-color)) );box-shadow:0 0 0 var(--final-border-width) var(--final-border-color),var(--default-node-shadow)}.addAnchor.svelte-1qkq4bu.svelte-1qkq4bu:hover,.deleteAnchor.svelte-1qkq4bu.svelte-1qkq4bu:hover{color:var( --prop-drawer-reset-button-hover-text-color, var( --drawer-reset-button-hover-text-color, var(--default-drawer-reset-button-hover-text-color) ) );background-color:var( --prop-drawer-reset-button-hover-color, var(--drawer-reset-button-hover-color, var(--default-drawer-reset-button-hover-color)) )}.counter.svelte-1qkq4bu.svelte-1qkq4bu{display:inline-block;width:15px;margin:0 10px;font-size:18px}.anchorResetBtn.svelte-1qkq4bu.svelte-1qkq4bu{color:var( --prop-drawer-reset-button-text-color, var(--drawer-reset-button-text-color, var(--default-reset-drawer-button-text-color)) );background-color:var( --prop-drawer-reset-button-color, var(--drawer-reset-button-color, var(--default-drawer-reset-button-color)) );box-shadow:0 0 0 var(--final-border-width) var(--final-border-color),var(--default-node-shadow)}.anchorResetBtn.svelte-1qkq4bu.svelte-1qkq4bu:hover{color:var( --prop-drawer-reset-button-hover-text-color, var( --drawer-reset-button-hover-text-color, var(--default-drawer-reset-button-hover-text-color) ) );background-color:var( --prop-drawer-reset-button-hover-color, var(--drawer-reset-button-hover-color, var(--default-drawer-reset-button-hover-color)) )}.anchor-directions.svelte-1qkq4bu.svelte-1qkq4bu{display:flex;justify-content:space-around;margin:0}#edgeContainer.svelte-1l9z4rf.svelte-1l9z4rf{width:100%;font-size:15px}#edgeContainer.svelte-1l9z4rf ul.svelte-1l9z4rf{margin:0;padding:0}label.svelte-1l9z4rf.svelte-1l9z4rf{margin-right:10px}.list-item.svelte-1l9z4rf.svelte-1l9z4rf{display:flex;flex-direction:row;align-items:center;list-style:none;margin-bottom:10px;margin-right:3px}.colorWheel.svelte-1l9z4rf.svelte-1l9z4rf{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;width:35px;height:35px;cursor:pointer;border-radius:50%}.colorWheel.svelte-1l9z4rf.svelte-1l9z4rf::-webkit-color-swatch{border-radius:40%}.colorWheel.svelte-1l9z4rf.svelte-1l9z4rf::-moz-color-swatch{border-radius:40%}.inputField.svelte-1l9z4rf.svelte-1l9z4rf{width:50px}.btn.svelte-1l9z4rf.svelte-1l9z4rf{width:120px;padding:8px 20px;border:none;border-radius:5px;cursor:pointer;font-size:15px;margin:10px auto auto 70px}.edgeResetBtn.svelte-1l9z4rf.svelte-1l9z4rf{color:var( --prop-drawer-reset-button-text-color, var(--drawer-reset-button-text-color, var(--default-reset-drawer-button-text-color)) );background-color:var( --prop-drawer-reset-button-color, var(--drawer-reset-button-color, var(--default-drawer-reset-button-color)) );box-shadow:0 0 0 var(--final-border-width) var(--final-border-color),var(--default-node-shadow)}.edgeResetBtn.svelte-1l9z4rf.svelte-1l9z4rf:hover{color:var( --prop-drawer-reset-button-hover-text-color, var( --drawer-reset-button-hover-text-color, var(--default-drawer-reset-button-hover-text-color) ) );background-color:var( --prop-drawer-reset-button-hover-color, var(--drawer-reset-button-hover-color, var(--default-drawer-reset-button-hover-color)) )}#drawerWrapper.svelte-zlwv6l.svelte-zlwv6l{position:absolute;width:35px;height:30px;border-radius:6px;left:10px;top:10px;border:solid 1px;z-index:10;display:flex;flex-direction:column;align-items:center;transition:1s;padding-top:10px;cursor:auto;color:var( --prop-controls-text-color, var(--controls-text-color, var(--default-controls-text-color)) );background-color:var( --prop-controls-background-color, var(--controls-background-color, var(--default-controls-background-color)) )}#drawerWrapper.svelte-zlwv6l ul.svelte-zlwv6l{display:flex;flex-direction:column;list-style:none;width:100%;text-decoration:none;font-size:20px;overflow:hidden;transition:.3s;padding:0;margin-top:45px}.drawerBtn.svelte-zlwv6l.svelte-zlwv6l{position:fixed;display:flex;align-items:center;justify-content:center;top:20px;left:20px;font-size:20px;cursor:pointer;padding:.2rem 0;border:none;background:none;color:inherit}.menu.svelte-zlwv6l.svelte-zlwv6l{display:flex;justify-content:space-between}.menu.svelte-zlwv6l .dropdown.svelte-zlwv6l{padding:10px;font-size:1rem;flex-grow:1;cursor:pointer;border:none;margin:0;color:var( --prop-drawer-button-text-color, var(--drawer-button-text-color, var(--default-drawer-button-text-color)) );background-color:var( --prop-drawer-button-color, var(--drawer-button-color, var(--default-drawer-button-color)) )}.menu.svelte-zlwv6l .dropdown.svelte-zlwv6l:first-child{border-bottom:3px solid var( --prop-drawer-button-text-color, var(--drawer-button-text-color, var(--default-drawer-button-text-color)) )}.defaultNodes.svelte-zlwv6l.svelte-zlwv6l{margin:15px auto auto;display:flex;align-items:center;justify-content:center;height:60px;width:120px;cursor:grab;border-radius:8px;background-color:var(--prop-background-color, var(--node-color, var(--default-node-color)));color:var(--prop-text-color, var(--text-color, var(--default-text-color)));box-shadow:0 0 0 var(--final-border-width) var(--final-border-color),var(--default-node-shadow)}button.svelte-zlwv6l.svelte-zlwv6l:hover{cursor:pointer}.propsContainer.svelte-zlwv6l.svelte-zlwv6l{height:fit-content;width:fit-content;overflow:hidden;padding:0 18px;margin-top:20px}.nodeContainer.svelte-zlwv6l.svelte-zlwv6l{display:block}.edgeContainer.svelte-zlwv6l.svelte-zlwv6l,.anchorContainer.svelte-zlwv6l.svelte-zlwv6l{display:none}
@@ -0,0 +1 @@
1
+ import{S as i,i as a,s as q,n,d as l,b as h,a1 as u,c,a2 as _,A as d,j as T,k as Z,m as M,q as x,E as Q,D as g}from"./index-CwCTxci7.js";function w(s){let t;return{c(){t=u("path"),c(t,"d","m629-419-44-44q26-71-27-118t-115-24l-44-44q17-11 38-16t43-5q71 0 120.5 49.5T650-500q0 22-5.5 43.5T629-419Zm129 129-40-40q49-36 85.5-80.5T857-500q-50-111-150-175.5T490-740q-42 0-86 8t-69 19l-46-47q35-16 89.5-28T485-800q143 0 261.5 81.5T920-500q-26 64-67 117t-95 93Zm58 226L648-229q-35 14-79 21.5t-89 7.5q-146 0-265-81.5T40-500q20-52 55.5-101.5T182-696L56-822l42-43 757 757-39 44ZM223-654q-37 27-71.5 71T102-500q51 111 153.5 175.5T488-260q33 0 65-4t48-12l-64-64q-11 5-27 7.5t-30 2.5q-70 0-120-49t-50-121q0-15 2.5-30t7.5-27l-97-97Zm305 142Zm-116 58Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class $ extends i{constructor(t){super(),a(this,t,null,w,q,{})}}function H(s){let t;return{c(){t=u("path"),c(t,"d","M796-121 533-384q-30 26-69.959 40.5T378-329q-108.162 0-183.081-75Q120-479 120-585t75-181q75-75 181.5-75t181 75Q632-691 632-584.85 632-542 618-502q-14 40-42 75l264 262-44 44ZM377-389q81.25 0 138.125-57.5T572-585q0-81-56.875-138.5T377-781q-82.083 0-139.542 57.5Q180-666 180-585t57.458 138.5Q294.917-389 377-389ZM275-556v-60h201v60H275Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class k extends i{constructor(t){super(),a(this,t,null,H,q,{})}}function L(s){let t;return{c(){t=u("path"),c(t,"d","M796-121 533-384q-30 26-69.959 40.5T378-329q-108.162 0-183.081-75Q120-479 120-585t75-181q75-75 181.5-75t181 75Q632-691 632-584.85 632-542 618-502q-14 40-42 75l264 262-44 44ZM377-389q81.25 0 138.125-57.5T572-585q0-81-56.875-138.5T377-781q-82.083 0-139.542 57.5Q180-666 180-585t57.458 138.5Q294.917-389 377-389Zm-31-85v-82h-82v-60h82v-81h60v81h81v60h-81v82h-60Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class b extends i{constructor(t){super(),a(this,t,null,L,q,{})}}function A(s){let t;return{c(){t=u("path"),c(t,"d","M364-200v-60h294L160-758l42-42 498 498v-294h60v396H364Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class S extends i{constructor(t){super(),a(this,t,null,A,q,{})}}function y(s){let t;return{c(){t=u("path"),c(t,"d","M758-160 260-658v294h-60v-396h396v60H302l498 498-42 42Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class z extends i{constructor(t){super(),a(this,t,null,y,q,{})}}function D(s){let t;return{c(){t=u("path"),c(t,"d","M220-634h390v-96q0-54.167-37.882-92.083-37.883-37.917-92-37.917Q426-860 388-822.083 350-784.167 350-730h-60q0-79 55.606-134.5t134.5-55.5Q559-920 614.5-864.425T670-730v96h70q24.75 0 42.375 17.625T800-574v434q0 24.75-17.625 42.375T740-80H220q-24.75 0-42.375-17.625T160-140v-434q0-24.75 17.625-42.375T220-634Zm0 494h520v-434H220v434Zm260.168-140Q512-280 534.5-302.031T557-355q0-30-22.668-54.5t-54.5-24.5Q448-434 425.5-409.5t-22.5 55q0 30.5 22.668 52.5t54.5 22ZM220-140v-434 434Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class I extends i{constructor(t){super(),a(this,t,null,D,q,{})}}function j(s){let t;return{c(){t=u("path"),c(t,"d","M220-80q-24.75 0-42.375-17.625T160-140v-434q0-24.75 17.625-42.375T220-634h70v-96q0-78.85 55.606-134.425Q401.212-920 480.106-920T614.5-864.425Q670-808.85 670-730v96h70q24.75 0 42.375 17.625T800-574v434q0 24.75-17.625 42.375T740-80H220Zm0-60h520v-434H220v434Zm260.168-140Q512-280 534.5-302.031T557-355q0-30-22.668-54.5t-54.5-24.5Q448-434 425.5-409.5t-22.5 55q0 30.5 22.668 52.5t54.5 22ZM350-634h260v-96q0-54.167-37.882-92.083-37.883-37.917-92-37.917Q426-860 388-822.083 350-784.167 350-730v96ZM220-140v-434 434Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class B extends i{constructor(t){super(),a(this,t,null,j,q,{})}}function C(s){let t;return{c(){t=u("path"),c(t,"d","M480-376q-45 0-74.5-29.5T376-480q0-45 29.5-74.5T480-584q45 0 74.5 29.5T584-480q0 45-29.5 74.5T480-376Zm0-60q18 0 31-13t13-31q0-18-13-31t-31-13q-18 0-31 13t-13 31q0 18 13 31t31 13ZM180-120q-24 0-42-18t-18-42v-172h60v172h172v60H180Zm428 0v-60h172v-172h60v172q0 24-18 42t-42 18H608ZM120-608v-172q0-24 18-42t42-18h172v60H180v172h-60Zm660 0v-172H608v-60h172q24 0 42 18t18 42v172h-60Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class E extends i{constructor(t){super(),a(this,t,null,C,q,{})}}function F(s){let t;return{c(){t=u("path"),c(t,"d","M479.765-340Q538-340 579-380.765q41-40.764 41-99Q620-538 579.235-579q-40.764-41-99-41Q422-620 381-579.235q-41 40.764-41 99Q340-422 380.765-381q40.764 41 99 41Zm.235 60q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM70-450q-12.75 0-21.375-8.675Q40-467.351 40-480.175 40-493 48.625-501.5T70-510h100q12.75 0 21.375 8.675 8.625 8.676 8.625 21.5 0 12.825-8.625 21.325T170-450H70Zm720 0q-12.75 0-21.375-8.675-8.625-8.676-8.625-21.5 0-12.825 8.625-21.325T790-510h100q12.75 0 21.375 8.675 8.625 8.676 8.625 21.5 0 12.825-8.625 21.325T890-450H790ZM479.825-760Q467-760 458.5-768.625T450-790v-100q0-12.75 8.675-21.375 8.676-8.625 21.5-8.625 12.825 0 21.325 8.625T510-890v100q0 12.75-8.675 21.375-8.676 8.625-21.5 8.625Zm0 720Q467-40 458.5-48.625T450-70v-100q0-12.75 8.675-21.375 8.676-8.625 21.5-8.625 12.825 0 21.325 8.625T510-170v100q0 12.75-8.675 21.375Q492.649-40 479.825-40ZM240-678l-57-56q-9-9-8.629-21.603.37-12.604 8.526-21.5 8.896-8.897 21.5-8.897Q217-786 226-777l56 57q8 9 8 21t-8 20.5q-8 8.5-20.5 8.5t-21.5-8Zm494 495-56-57q-8-9-8-21.375T678.5-282q8.5-9 20.5-9t21 9l57 56q9 9 8.629 21.603-.37 12.604-8.526 21.5-8.896 8.897-21.5 8.897Q743-174 734-183Zm-56-495q-9-9-9-21t9-21l56-57q9-9 21.603-8.629 12.604.37 21.5 8.526 8.897 8.896 8.897 21.5Q786-743 777-734l-57 56q-8 8-20.364 8-12.363 0-21.636-8ZM182.897-182.897q-8.897-8.896-8.897-21.5Q174-217 183-226l57-56q8.8-9 20.9-9 12.1 0 20.709 9Q291-273 291-261t-9 21l-56 57q-9 9-21.603 8.629-12.604-.37-21.5-8.526ZM480-480Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class N extends i{constructor(t){super(),a(this,t,null,F,q,{})}}function V(s){let t;return{c(){t=u("path"),c(t,"d","M480-120q-150 0-255-105T120-480q0-150 105-255t255-105q8 0 17 .5t23 1.5q-36 32-56 79t-20 99q0 90 63 153t153 63q52 0 99-18.5t79-51.5q1 12 1.5 19.5t.5 14.5q0 150-105 255T480-120Zm0-60q109 0 190-67.5T771-406q-25 11-53.667 16.5Q688.667-384 660-384q-114.689 0-195.345-80.655Q384-545.311 384-660q0-24 5-51.5t18-62.5q-98 27-162.5 109.5T180-480q0 125 87.5 212.5T480-180Zm-4-297Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class G extends i{constructor(t){super(),a(this,t,null,V,q,{})}}function J(s){let t;return{c(){t=u("path"),c(t,"d","M400-280v-400l200 200-200 200Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class K extends i{constructor(t){super(),a(this,t,null,J,q,{})}}function O(s){let t;return{c(){t=u("path"),c(t,"d","M560-280 360-480l200-200v400Z")},m(e,r){h(e,t,r)},p:n,i:n,o:n,d(e){e&&l(t)}}}class P extends i{constructor(t){super(),a(this,t,null,O,q,{})}}function R(s){let t,e,r;var f=s[2][s[1]];function v(o,m){return{}}return f&&(e=_(f,v())),{c(){t=u("svg"),e&&Q(e.$$.fragment),c(t,"xmlns","http://www.w3.org/2000/svg"),c(t,"height",s[0]),c(t,"viewBox","0 -960 960 960"),c(t,"width",s[0]),c(t,"class","svelte-1kvv4m1")},m(o,m){h(o,t,m),e&&g(e,t,null),r=!0},p(o,[m]){if(m&2&&f!==(f=o[2][o[1]])){if(e){M();const p=e;T(p.$$.fragment,1,0,()=>{d(p,1)}),x()}f?(e=_(f,v()),Q(e.$$.fragment),Z(e.$$.fragment,1),g(e,t,null)):e=null}(!r||m&1)&&c(t,"height",o[0]),(!r||m&1)&&c(t,"width",o[0])},i(o){r||(e&&Z(e.$$.fragment,o),r=!0)},o(o){e&&T(e.$$.fragment,o),r=!1},d(o){o&&l(t),e&&d(e)}}}function U(s,t,e){let{width:r=16}=t,{icon:f}=t;const v={arrow_left:P,arrow_right:K,dark_mode:G,light_mode:N,filter_center_focus:E,lock:B,lock_open:I,north_west:z,south_east:S,zoom_in:b,zoom_out:k,visibility_off:$};return s.$$set=o=>{"width"in o&&e(0,r=o.width),"icon"in o&&e(1,f=o.icon)},[r,f,v]}class X extends i{constructor(t){super(),a(this,t,U,R,q,{width:0,icon:1})}}export{X as I};
@@ -0,0 +1,5 @@
1
+ import{S as oe,i as te,s as ne,n as T,d as X,t as B,a as h,b as Y,l as Re,e as Q,c as z,f as S,o as Ae,g as x,h as U,j as F,k as P,m as v,u as ce,p as pe,q as $,r as V,v as we,w as Pe,x as Te,y as ee,z as je,A as He,B as De,C as Le,D as Be,E as Ee}from"./index-CwCTxci7.js";function Ge(o){let e,t=`${o[13]}px`,n=`${o[15]}px`,s=`${o[16]}px`,i=`rotate(${o[10]}deg)`,d=`${o[11].y-o[3]}px`,u=`${o[11].x-o[4]}px`,_,p;return{c(){e=Q("button"),z(e,"class","minimap-node svelte-1hs9omb"),B(e,"hidden",o[1]),B(e,"hideable",o[6]),h(e,"z-index",o[12]),h(e,"border-radius",t),h(e,"--prop-background-color",o[5]||o[14]||!o[8]&&o[7]||null),h(e,"width",n),h(e,"height",s),h(e,"transform",i),h(e,"top",d),h(e,"left",u)},m(f,b){Y(f,e,b),_||(p=Re(e,"click",o[25]),_=!0)},p(f,[b]){b&2&&B(e,"hidden",f[1]),b&64&&B(e,"hideable",f[6]),b&4096&&h(e,"z-index",f[12]),b&8192&&t!==(t=`${f[13]}px`)&&h(e,"border-radius",t),b&16800&&h(e,"--prop-background-color",f[5]||f[14]||!f[8]&&f[7]||null),b&32768&&n!==(n=`${f[15]}px`)&&h(e,"width",n),b&65536&&s!==(s=`${f[16]}px`)&&h(e,"height",s),b&1024&&i!==(i=`rotate(${f[10]}deg)`)&&h(e,"transform",i),b&2056&&d!==(d=`${f[11].y-f[3]}px`)&&h(e,"top",d),b&2064&&u!==(u=`${f[11].x-f[4]}px`)&&h(e,"left",u)},i:T,o:T,d(f){f&&X(e),_=!1,p()}}}function Oe(o,e,t){let n,s,i,d,u,_,p,f=T,b=()=>(f(),f=x(i,g=>t(12,p=g)),i),k,C,W,w;o.$$.on_destroy.push(()=>f());let{node:y}=e,{hidden:H=!1}=e,{toggleHidden:N}=e,{top:a}=e,{left:l}=e,{nodeColor:r=null}=e,{hideable:c}=e;const{position:j,dimensions:I,bgColor:q,borderRadius:E,rotation:M}=y;S(o,j,g=>t(24,_=g)),S(o,q,g=>t(14,C=g)),S(o,E,g=>t(13,k=g)),S(o,M,g=>t(23,u=g));const{width:D,height:R}=I;S(o,D,g=>t(15,W=g)),S(o,R,g=>t(16,w=g));let L=null;Ae(()=>{var g;try{const A=(g=document.querySelector(`#${y.id}`))==null?void 0:g.firstChild;A&&t(7,L=window.getComputedStyle(A).backgroundColor)}catch(A){console.error(A)}});const J=()=>{c&&N(y)};return o.$$set=g=>{"node"in g&&t(0,y=g.node),"hidden"in g&&t(1,H=g.hidden),"toggleHidden"in g&&t(2,N=g.toggleHidden),"top"in g&&t(3,a=g.top),"left"in g&&t(4,l=g.left),"nodeColor"in g&&t(5,r=g.nodeColor),"hideable"in g&&t(6,c=g.hideable)},o.$$.update=()=>{o.$$.dirty&16777216&&t(11,n=_),o.$$.dirty&8388608&&t(10,s=u),o.$$.dirty&1&&b(t(9,i=y.zIndex)),o.$$.dirty&128&&t(8,d=L==="rgba(0, 0, 0, 0)")},[y,H,N,a,l,r,c,L,d,i,s,n,p,k,C,W,w,j,q,E,M,D,R,u,_,J]}class Xe extends oe{constructor(e){super(),te(this,e,Oe,Ge,ne,{node:0,hidden:1,toggleHidden:2,top:3,left:4,nodeColor:5,hideable:6})}}function Ye(o){let e,t;return{c(){e=Q("div"),z(e,"class","mini-bounding-box svelte-aoq4g"),z(e,"id",t=`mini-${o[2]}-bounding-box`),h(e,"border","solid 4px "+o[8]),h(e,"top",`${o[5].y-o[3]}px`),h(e,"left",`${o[5].x-o[4]}px`),h(e,"width",`${o[6]}px`),h(e,"height",`${o[7]}px`),h(e,"background-color",o[8])},m(n,s){Y(n,e,s)},p(n,[s]){s&4&&t!==(t=`mini-${n[2]}-bounding-box`)&&z(e,"id",t),s&256&&h(e,"border","solid 4px "+n[8]);const i=s&256;(s&296||i)&&h(e,"top",`${n[5].y-n[3]}px`),(s&304||i)&&h(e,"left",`${n[5].x-n[4]}px`),(s&320||i)&&h(e,"width",`${n[6]}px`),(s&384||i)&&h(e,"height",`${n[7]}px`),(s&256||i)&&h(e,"background-color",n[8])},i:T,o:T,d(n){n&&X(e)}}}function Fe(o,e,t){let n,s=T,i=()=>(s(),s=x(k,a=>t(5,n=a)),k),d,u,_,p=T,f=()=>(p(),p=x(C,a=>t(8,_=a)),C);o.$$.on_destroy.push(()=>s()),o.$$.on_destroy.push(()=>p());let{dimensions:b}=e,{position:k}=e;i();let{color:C}=e;f();let{groupName:W}=e,{top:w}=e,{left:y}=e;const{width:H,height:N}=b;return S(o,H,a=>t(6,d=a)),S(o,N,a=>t(7,u=a)),o.$$set=a=>{"dimensions"in a&&t(11,b=a.dimensions),"position"in a&&i(t(0,k=a.position)),"color"in a&&f(t(1,C=a.color)),"groupName"in a&&t(2,W=a.groupName),"top"in a&&t(3,w=a.top),"left"in a&&t(4,y=a.left)},[k,C,W,w,y,n,d,u,_,H,N,b]}class Je extends oe{constructor(e){super(),te(this,e,Fe,Ye,ne,{dimensions:11,position:0,color:1,groupName:2,top:3,left:4})}}function ye(o,e,t){const n=o.slice();return n[52]=e[t][0],n[53]=e[t][1],n}function ke(o,e,t){const n=o.slice();return n[52]=e[t][0],n[56]=e[t][1],n}function Ce(o){let e,t;return e=new Xe({props:{node:o[56],top:o[11],left:o[10],nodeColor:o[3],hidden:o[13].has(o[56]),toggleHidden:o[24],hideable:o[6]}}),{c(){Ee(e.$$.fragment)},m(n,s){Be(e,n,s),t=!0},p(n,s){const i={};s[0]&16384&&(i.node=n[56]),s[0]&2048&&(i.top=n[11]),s[0]&1024&&(i.left=n[10]),s[0]&8&&(i.nodeColor=n[3]),s[0]&24576&&(i.hidden=n[13].has(n[56])),s[0]&64&&(i.hideable=n[6]),e.$set(i)},i(n){t||(P(e.$$.fragment,n),t=!0)},o(n){F(e.$$.fragment,n),t=!1},d(n){He(e,n)}}}function Ne(o,e){let t,n,s,i=e[56].id!=="N-editor"&&Ce(e);return{key:o,first:null,c(){t=ee(),i&&i.c(),n=ee(),this.first=t},m(d,u){Y(d,t,u),i&&i.m(d,u),Y(d,n,u),s=!0},p(d,u){e=d,e[56].id!=="N-editor"?i?(i.p(e,u),u[0]&16384&&P(i,1)):(i=Ce(e),i.c(),P(i,1),i.m(n.parentNode,n)):i&&(v(),F(i,1,1,()=>{i=null}),$())},i(d){s||(P(i),s=!0)},o(d){F(i),s=!1},d(d){d&&(X(t),X(n)),i&&i.d(d)}}}function Se(o,e){let t,n,s;const i=[e[53],{top:e[11]},{left:e[10]},{groupName:e[52]}];let d={};for(let u=0;u<i.length;u+=1)d=je(d,i[u]);return n=new Je({props:d}),{key:o,first:null,c(){t=ee(),Ee(n.$$.fragment),this.first=t},m(u,_){Y(u,t,_),Be(n,u,_),s=!0},p(u,_){e=u;const p=_[0]&35840?De(i,[_[0]&32768&&Le(e[53]),_[0]&2048&&{top:e[11]},_[0]&1024&&{left:e[10]},_[0]&32768&&{groupName:e[52]}]):{};n.$set(p)},i(u){s||(P(n.$$.fragment,u),s=!0)},o(u){F(n.$$.fragment,u),s=!1},d(u){u&&X(t),He(n,u)}}}function Ke(o){let e,t,n=[],s=new Map,i,d=[],u=new Map,_=`${o[9]}px`,p=`${o[8]}px`,f=`scale(${o[7]})`,b,k,C=`${o[0]}px`,W=`${o[1]?o[1]:o[0]}px`,w,y=U(Array.from(o[14].entries()));const H=l=>l[52];for(let l=0;l<y.length;l+=1){let r=ke(o,y,l),c=H(r);s.set(c,n[l]=Ne(c,r))}let N=U(Array.from(o[15].entries()));const a=l=>l[52];for(let l=0;l<N.length;l+=1){let r=ye(o,N,l),c=a(r);u.set(c,d[l]=Se(c,r))}return{c(){e=Q("div"),t=Q("div");for(let l=0;l<n.length;l+=1)n[l].c();i=we();for(let l=0;l<d.length;l+=1)d[l].c();b=we(),k=Q("div"),z(t,"class","node-wrapper svelte-1qxvbux"),h(t,"width",_),h(t,"height",p),h(t,"transform",f),z(k,"class","overlay svelte-1qxvbux"),z(k,"style",o[12]),z(e,"class","minimap-wrapper svelte-1qxvbux"),B(e,"SW",o[5]==="SW"),B(e,"NE",o[5]==="NE"),B(e,"SE",o[5]==="SE"),B(e,"NW",o[5]==="NW"),h(e,"width",C),h(e,"height",W),h(e,"--prop-minimap-border-color",o[4]),h(e,"--prop-minimap-background-color",o[2])},m(l,r){Y(l,e,r),V(e,t);for(let c=0;c<n.length;c+=1)n[c]&&n[c].m(t,null);V(t,i);for(let c=0;c<d.length;c+=1)d[c]&&d[c].m(t,null);V(e,b),V(e,k),w=!0},p(l,r){r[0]&16804936&&(y=U(Array.from(l[14].entries())),v(),n=ce(n,r,H,1,l,y,s,t,pe,Ne,i,ke),$()),r[0]&35840&&(N=U(Array.from(l[15].entries())),v(),d=ce(d,r,a,1,l,N,u,t,pe,Se,null,ye),$()),r[0]&512&&_!==(_=`${l[9]}px`)&&h(t,"width",_),r[0]&256&&p!==(p=`${l[8]}px`)&&h(t,"height",p),r[0]&128&&f!==(f=`scale(${l[7]})`)&&h(t,"transform",f),(!w||r[0]&4096)&&z(k,"style",l[12]),(!w||r[0]&32)&&B(e,"SW",l[5]==="SW"),(!w||r[0]&32)&&B(e,"NE",l[5]==="NE"),(!w||r[0]&32)&&B(e,"SE",l[5]==="SE"),(!w||r[0]&32)&&B(e,"NW",l[5]==="NW"),r[0]&1&&C!==(C=`${l[0]}px`)&&h(e,"width",C),r[0]&3&&W!==(W=`${l[1]?l[1]:l[0]}px`)&&h(e,"height",W),r[0]&16&&h(e,"--prop-minimap-border-color",l[4]),r[0]&4&&h(e,"--prop-minimap-background-color",l[2])},i(l){if(!w){for(let r=0;r<y.length;r+=1)P(n[r]);for(let r=0;r<N.length;r+=1)P(d[r]);w=!0}},o(l){for(let r=0;r<n.length;r+=1)F(n[r]);for(let r=0;r<d.length;r+=1)F(d[r]);w=!1},d(l){l&&X(e);for(let r=0;r<n.length;r+=1)n[r].d();for(let r=0;r<d.length;r+=1)d[r].d()}}}const We=.9;function Qe(o,e,t){let n,s,i,d,u,_,p,f,b,k,C,W,w,y,H,N,a,l,r,c,j,I,q,E,M,D,R,L,J,g,A,G=Pe("graph"),{width:O=100}=e,{height:K=O}=e,{mapColor:ie=null}=e,{nodeColor:re=null}=e,{borderColor:le=null}=e,{corner:se="SE"}=e,{hideable:de=!1}=e;const ze=O*We,qe=K*We,he=G.bounds.graphBounds;S(o,he,m=>t(45,J=m));const ue=G.nodes;S(o,ue,m=>t(14,g=m));const fe=G.groups;S(o,fe,m=>t(46,L=m));const ge=G.transforms,me=G.dimensions;S(o,me,m=>t(44,R=m));const Z=L.hidden.nodes;S(o,Z,m=>t(13,E=m));const _e=ge.scale;S(o,_e,m=>t(42,M=m));const be=ge.translation;S(o,be,m=>t(43,D=m));const ae=G.groupBoxes;S(o,ae,m=>t(15,A=m));const Me={clientX:0,clientY:0};function Ie(m){E.has(m)?E.delete(m):E.add(m),Z.set(E)}return o.$$set=m=>{"width"in m&&t(0,O=m.width),"height"in m&&t(1,K=m.height),"mapColor"in m&&t(2,ie=m.mapColor),"nodeColor"in m&&t(3,re=m.nodeColor),"borderColor"in m&&t(4,le=m.borderColor),"corner"in m&&t(5,se=m.corner),"hideable"in m&&t(6,de=m.hideable)},o.$$.update=()=>{o.$$.dirty[1]&16384&&t(41,n=J),o.$$.dirty[1]&1024&&t(11,s=n.top),o.$$.dirty[1]&1024&&t(10,i=n.left),o.$$.dirty[1]&1024&&t(40,d=n.right),o.$$.dirty[1]&1024&&t(39,u=n.bottom),o.$$.dirty[1]&8192&&t(38,_=R.width),o.$$.dirty[1]&8192&&t(37,p=R.height),o.$$.dirty[0]&1024|o.$$.dirty[1]&512&&t(9,f=d-i),o.$$.dirty[0]&2048|o.$$.dirty[1]&256&&t(8,b=u-s),o.$$.dirty[0]&768&&t(31,k=f/b),o.$$.dirty[0]&3&&t(30,C=O/K),o.$$.dirty[1]&6336&&t(36,W=Te(Me,0,0,_,p,M,D)),o.$$.dirty[0]&512|o.$$.dirty[1]&2176&&t(33,w=_/f/M),o.$$.dirty[0]&256|o.$$.dirty[1]&2112&&t(32,y=p/b/M),o.$$.dirty[0]&2304|o.$$.dirty[1]&32&&t(35,H=(W.y-s)/b),o.$$.dirty[0]&1536|o.$$.dirty[1]&32&&t(34,N=(W.x-i)/f),o.$$.dirty[0]&1073741824|o.$$.dirty[1]&1&&t(29,l=k>=C),o.$$.dirty[0]&536871680&&t(7,r=l?ze/f:qe/b),o.$$.dirty[0]&384&&t(25,q=b*r),o.$$.dirty[0]&33554434&&t(27,j=(K-q)/2),o.$$.dirty[0]&640&&t(26,I=f*r),o.$$.dirty[0]&67108865&&t(28,c=(O-I)/2),o.$$.dirty[0]&503316480|o.$$.dirty[1]&30&&t(12,a=`
2
+ top: ${j+H*q}px;
3
+ left: ${c+N*I}px;
4
+ width: ${w*I}px;
5
+ height: ${y*q}px;`)},[O,K,ie,re,le,se,de,r,b,f,i,s,a,E,g,A,he,ue,fe,me,Z,_e,be,ae,Ie,q,I,j,c,l,C,k,y,w,N,H,W,p,_,u,d,n,M,D,R,J]}class Ve extends oe{constructor(e){super(),te(this,e,Qe,Ke,ne,{width:0,height:1,mapColor:2,nodeColor:3,borderColor:4,corner:5,hideable:6},null,[-1,-1])}}export{Ve as default};
@@ -0,0 +1 @@
1
+ import{F as W,S as A,i as k,s as w,n as p,d as G,G as z,H as O,t as u,a as v,b as R,r as d,l as N,I as y,e as _,J,v as K,c as E,o as M,K as T}from"./index-CwCTxci7.js";function q(o){return o&&typeof o.subscribe=="function"}function I(o){const e={};for(const t in o){const l=o[t];if(t==="nodes"&&typeof l=="object"&&typeof l.getAll=="function"){const a=l.getAll();e[t]=a.map(i=>I(i))}else if(q(l)){const a=W(l);e[t]=typeof a=="object"&&a!==null?I(a):a}else typeof l=="object"&&l!==null?e[t]=I(l):e[t]=l}return e}function D(o,e){return e instanceof DOMRectReadOnly?{x:e.x,y:e.y,width:e.width,height:e.height}:e}function F(o){console.log("graph state object:",o);const e=I(o),t=JSON.stringify(e,D);return localStorage.setItem("state",t),t}function H(o){let e,t,l,a=(o[6]===o[0]?o[2]:o[1])+"",i,f,m,g,h;return{c(){e=_("div"),t=_("button"),l=_("span"),i=J(a),f=K(),m=_("button"),m.textContent="Save",E(l,"class","material-symbols-outlined svelte-izjv92"),E(t,"class","svelte-izjv92"),E(m,"class","save-button NW svelte-izjv92"),E(e,"class","controls-wrapper svelte-izjv92"),u(e,"SW",o[3]==="SW"),u(e,"NE",o[3]==="NE"),u(e,"SE",o[3]==="SE"),u(e,"NW",o[3]==="NW"),v(e,"--prop-theme-toggle-color",o[4]),v(e,"--prop-theme-toggle-text-color",o[5])},m(s,r){R(s,e,r),d(e,t),d(t,l),d(l,i),d(e,f),d(e,m),g||(h=[N(t,"mousedown",y(o[8])),N(t,"touchstart",y(o[8]),{passive:!0}),N(m,"click",o[10])],g=!0)},p(s,[r]){r&71&&a!==(a=(s[6]===s[0]?s[2]:s[1])+"")&&O(i,a),r&8&&u(e,"SW",s[3]==="SW"),r&8&&u(e,"NE",s[3]==="NE"),r&8&&u(e,"SE",s[3]==="SE"),r&8&&u(e,"NW",s[3]==="NW"),r&16&&v(e,"--prop-theme-toggle-color",s[4]),r&32&&v(e,"--prop-theme-toggle-text-color",s[5])},i:p,o:p,d(s){s&&G(e),g=!1,z(h)}}}function V(o,e,t){console.log("Componente ThemeToggle.svelte");let{main:l="light"}=e,{alt:a="dark"}=e,{mainIcon:i="light_mode"}=e,{altIcon:f="dark_mode"}=e,{corner:m="NE"}=e,{bgColor:g=null}=e,{iconColor:h=null}=e,s=l;function r(){const n=document.documentElement.getAttribute("svelvet-theme");let c;!n||n===l?c=a:c=l,t(6,s=c),document.documentElement.setAttribute("svelvet-theme",c),localStorage.setItem("currentTheme",c)}M(()=>{const n=localStorage.getItem("currentTheme");n?(document.documentElement.setAttribute("svelvet-theme",n),t(6,s=n)):(document.documentElement.setAttribute("svelvet-theme",l),t(6,s=l));const c=localStorage.getItem("state");if(c){console.log("Al renderizar la aplicacion este componente se ejecuta en este orden");const b=JSON.parse(c);if(b&&b.nodes){const C=W(T);console.log(C),C.set("G-1",b),console.log("Restaurando nodos:",b.nodes)}}});let S;T.subscribe(n=>{t(7,S=n.get("G-1")),console.log("Graph from store:",S)});const j=()=>{F(S)};return o.$$set=n=>{"main"in n&&t(0,l=n.main),"alt"in n&&t(9,a=n.alt),"mainIcon"in n&&t(1,i=n.mainIcon),"altIcon"in n&&t(2,f=n.altIcon),"corner"in n&&t(3,m=n.corner),"bgColor"in n&&t(4,g=n.bgColor),"iconColor"in n&&t(5,h=n.iconColor)},[l,i,f,m,g,h,s,S,r,a,j]}class L extends A{constructor(e){super(),k(this,e,V,H,w,{main:0,alt:9,mainIcon:1,altIcon:2,corner:3,bgColor:4,iconColor:5})}}export{L as default};