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/app.py +225 -0
- saterys/cli.py +26 -0
- saterys/nodes/NDVI.py +201 -0
- saterys/nodes/NDWI.py +195 -0
- saterys/nodes/PCA.py +370 -0
- saterys/nodes/hello.py +6 -0
- saterys/nodes/input.py +39 -0
- saterys/nodes/script.py +13 -0
- saterys/nodes/sum.py +7 -0
- saterys/static/assets/ContrastTheme-8vl10reL.js +1 -0
- saterys/static/assets/Controls-BuZt2rJO.js +1 -0
- saterys/static/assets/DrawerController-CunOJ5Gd.js +1 -0
- saterys/static/assets/DrawerController-ZXfKNTdC.css +1 -0
- saterys/static/assets/Icon-BZoXfbBu.js +1 -0
- saterys/static/assets/Minimap-6vF3teR8.js +5 -0
- saterys/static/assets/ThemeToggle-CmShuKPJ.js +1 -0
- saterys/static/assets/index-CjC_xNd3.css +1 -0
- saterys/static/assets/index-CwCTxci7.js +13 -0
- saterys/static/assets/vite-C4kziZTZ.svg +12 -0
- saterys/static/index.html +14 -0
- saterys-0.2.7.dist-info/LICENSE +21 -0
- saterys-0.2.7.dist-info/METADATA +56 -0
- saterys-0.2.7.dist-info/RECORD +26 -0
- saterys-0.2.7.dist-info/WHEEL +5 -0
- saterys-0.2.7.dist-info/entry_points.txt +2 -0
- saterys-0.2.7.dist-info/top_level.txt +1 -0
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
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
|
+
}
|
saterys/nodes/script.py
ADDED
@@ -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 @@
|
|
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};
|