geonodes-web-render 0.3.23 → 0.3.25

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.
package/dist/embed.js CHANGED
@@ -202,108 +202,108 @@ function R(e) {
202
202
  }
203
203
  //#endregion
204
204
  //#region node_modules/d3-selection/src/selector.js
205
- function ee() {}
206
- function z(e) {
207
- return e == null ? ee : function() {
205
+ function z() {}
206
+ function B(e) {
207
+ return e == null ? z : function() {
208
208
  return this.querySelector(e);
209
209
  };
210
210
  }
211
211
  //#endregion
212
212
  //#region node_modules/d3-selection/src/selection/select.js
213
- function B(e) {
214
- typeof e != "function" && (e = z(e));
213
+ function V(e) {
214
+ typeof e != "function" && (e = B(e));
215
215
  for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = Array(o), c, l, u = 0; u < o; ++u) (c = a[u]) && (l = e.call(c, c.__data__, u, a)) && ("__data__" in c && (l.__data__ = c.__data__), s[u] = l);
216
- return new K(r, this._parents);
216
+ return new It(r, this._parents);
217
217
  }
218
218
  //#endregion
219
219
  //#region node_modules/d3-selection/src/array.js
220
- function V(e) {
220
+ function H(e) {
221
221
  return e == null ? [] : Array.isArray(e) ? e : Array.from(e);
222
222
  }
223
223
  //#endregion
224
224
  //#region node_modules/d3-selection/src/selectorAll.js
225
- function H() {
225
+ function U() {
226
226
  return [];
227
227
  }
228
- function U(e) {
229
- return e == null ? H : function() {
228
+ function W(e) {
229
+ return e == null ? U : function() {
230
230
  return this.querySelectorAll(e);
231
231
  };
232
232
  }
233
233
  //#endregion
234
234
  //#region node_modules/d3-selection/src/selection/selectAll.js
235
- function W(e) {
235
+ function G(e) {
236
236
  return function() {
237
- return V(e.apply(this, arguments));
237
+ return H(e.apply(this, arguments));
238
238
  };
239
239
  }
240
- function te(e) {
241
- e = typeof e == "function" ? W(e) : U(e);
240
+ function ee(e) {
241
+ e = typeof e == "function" ? G(e) : W(e);
242
242
  for (var t = this._groups, n = t.length, r = [], i = [], a = 0; a < n; ++a) for (var o = t[a], s = o.length, c, l = 0; l < s; ++l) (c = o[l]) && (r.push(e.call(c, c.__data__, l, o)), i.push(c));
243
- return new K(r, i);
243
+ return new It(r, i);
244
244
  }
245
245
  //#endregion
246
246
  //#region node_modules/d3-selection/src/matcher.js
247
- function ne(e) {
247
+ function te(e) {
248
248
  return function() {
249
249
  return this.matches(e);
250
250
  };
251
251
  }
252
- function re(e) {
252
+ function ne(e) {
253
253
  return function(t) {
254
254
  return t.matches(e);
255
255
  };
256
256
  }
257
257
  //#endregion
258
258
  //#region node_modules/d3-selection/src/selection/selectChild.js
259
- var ie = Array.prototype.find;
260
- function ae(e) {
259
+ var re = Array.prototype.find;
260
+ function ie(e) {
261
261
  return function() {
262
- return ie.call(this.children, e);
262
+ return re.call(this.children, e);
263
263
  };
264
264
  }
265
- function G() {
265
+ function ae() {
266
266
  return this.firstElementChild;
267
267
  }
268
268
  function oe(e) {
269
- return this.select(e == null ? G : ae(typeof e == "function" ? e : re(e)));
269
+ return this.select(e == null ? ae : ie(typeof e == "function" ? e : ne(e)));
270
270
  }
271
271
  //#endregion
272
272
  //#region node_modules/d3-selection/src/selection/selectChildren.js
273
- var se = Array.prototype.filter;
274
- function ce() {
273
+ var K = Array.prototype.filter;
274
+ function se() {
275
275
  return Array.from(this.children);
276
276
  }
277
- function le(e) {
277
+ function ce(e) {
278
278
  return function() {
279
- return se.call(this.children, e);
279
+ return K.call(this.children, e);
280
280
  };
281
281
  }
282
- function ue(e) {
283
- return this.selectAll(e == null ? ce : le(typeof e == "function" ? e : re(e)));
282
+ function le(e) {
283
+ return this.selectAll(e == null ? se : ce(typeof e == "function" ? e : ne(e)));
284
284
  }
285
285
  //#endregion
286
286
  //#region node_modules/d3-selection/src/selection/filter.js
287
- function de(e) {
288
- typeof e != "function" && (e = ne(e));
287
+ function ue(e) {
288
+ typeof e != "function" && (e = te(e));
289
289
  for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = [], c, l = 0; l < o; ++l) (c = a[l]) && e.call(c, c.__data__, l, a) && s.push(c);
290
- return new K(r, this._parents);
290
+ return new It(r, this._parents);
291
291
  }
292
292
  //#endregion
293
293
  //#region node_modules/d3-selection/src/selection/sparse.js
294
- function fe(e) {
294
+ function de(e) {
295
295
  return Array(e.length);
296
296
  }
297
297
  //#endregion
298
298
  //#region node_modules/d3-selection/src/selection/enter.js
299
- function pe() {
300
- return new K(this._enter || this._groups.map(fe), this._parents);
299
+ function fe() {
300
+ return new It(this._enter || this._groups.map(de), this._parents);
301
301
  }
302
- function me(e, t) {
302
+ function pe(e, t) {
303
303
  this.ownerDocument = e.ownerDocument, this.namespaceURI = e.namespaceURI, this._next = null, this._parent = e, this.__data__ = t;
304
304
  }
305
- me.prototype = {
306
- constructor: me,
305
+ pe.prototype = {
306
+ constructor: pe,
307
307
  appendChild: function(e) {
308
308
  return this._parent.insertBefore(e, this._next);
309
309
  },
@@ -319,71 +319,71 @@ me.prototype = {
319
319
  };
320
320
  //#endregion
321
321
  //#region node_modules/d3-selection/src/constant.js
322
- function he(e) {
322
+ function me(e) {
323
323
  return function() {
324
324
  return e;
325
325
  };
326
326
  }
327
327
  //#endregion
328
328
  //#region node_modules/d3-selection/src/selection/data.js
329
- function ge(e, t, n, r, i, a) {
330
- for (var o = 0, s, c = t.length, l = a.length; o < l; ++o) (s = t[o]) ? (s.__data__ = a[o], r[o] = s) : n[o] = new me(e, a[o]);
329
+ function he(e, t, n, r, i, a) {
330
+ for (var o = 0, s, c = t.length, l = a.length; o < l; ++o) (s = t[o]) ? (s.__data__ = a[o], r[o] = s) : n[o] = new pe(e, a[o]);
331
331
  for (; o < c; ++o) (s = t[o]) && (i[o] = s);
332
332
  }
333
- function _e(e, t, n, r, i, a, o) {
333
+ function ge(e, t, n, r, i, a, o) {
334
334
  var s, c, l = /* @__PURE__ */ new Map(), u = t.length, d = a.length, f = Array(u), p;
335
335
  for (s = 0; s < u; ++s) (c = t[s]) && (f[s] = p = o.call(c, c.__data__, s, t) + "", l.has(p) ? i[s] = c : l.set(p, c));
336
- for (s = 0; s < d; ++s) p = o.call(e, a[s], s, a) + "", (c = l.get(p)) ? (r[s] = c, c.__data__ = a[s], l.delete(p)) : n[s] = new me(e, a[s]);
336
+ for (s = 0; s < d; ++s) p = o.call(e, a[s], s, a) + "", (c = l.get(p)) ? (r[s] = c, c.__data__ = a[s], l.delete(p)) : n[s] = new pe(e, a[s]);
337
337
  for (s = 0; s < u; ++s) (c = t[s]) && l.get(f[s]) === c && (i[s] = c);
338
338
  }
339
- function ve(e) {
339
+ function _e(e) {
340
340
  return e.__data__;
341
341
  }
342
- function ye(e, t) {
343
- if (!arguments.length) return Array.from(this, ve);
344
- var n = t ? _e : ge, r = this._parents, i = this._groups;
345
- typeof e != "function" && (e = he(e));
342
+ function ve(e, t) {
343
+ if (!arguments.length) return Array.from(this, _e);
344
+ var n = t ? ge : he, r = this._parents, i = this._groups;
345
+ typeof e != "function" && (e = me(e));
346
346
  for (var a = i.length, o = Array(a), s = Array(a), c = Array(a), l = 0; l < a; ++l) {
347
- var u = r[l], d = i[l], f = d.length, p = be(e.call(u, u && u.__data__, l, r)), m = p.length, h = s[l] = Array(m), g = o[l] = Array(m);
347
+ var u = r[l], d = i[l], f = d.length, p = ye(e.call(u, u && u.__data__, l, r)), m = p.length, h = s[l] = Array(m), g = o[l] = Array(m);
348
348
  n(u, d, h, g, c[l] = Array(f), p, t);
349
349
  for (var _ = 0, v = 0, y, b; _ < m; ++_) if (y = h[_]) {
350
350
  for (_ >= v && (v = _ + 1); !(b = g[v]) && ++v < m;);
351
351
  y._next = b || null;
352
352
  }
353
353
  }
354
- return o = new K(o, r), o._enter = s, o._exit = c, o;
354
+ return o = new It(o, r), o._enter = s, o._exit = c, o;
355
355
  }
356
- function be(e) {
356
+ function ye(e) {
357
357
  return typeof e == "object" && "length" in e ? e : Array.from(e);
358
358
  }
359
359
  //#endregion
360
360
  //#region node_modules/d3-selection/src/selection/exit.js
361
- function xe() {
362
- return new K(this._exit || this._groups.map(fe), this._parents);
361
+ function be() {
362
+ return new It(this._exit || this._groups.map(de), this._parents);
363
363
  }
364
364
  //#endregion
365
365
  //#region node_modules/d3-selection/src/selection/join.js
366
- function Se(e, t, n) {
366
+ function xe(e, t, n) {
367
367
  var r = this.enter(), i = this, a = this.exit();
368
368
  return typeof e == "function" ? (r = e(r), r &&= r.selection()) : r = r.append(e + ""), t != null && (i = t(i), i &&= i.selection()), n == null ? a.remove() : n(a), r && i ? r.merge(i).order() : i;
369
369
  }
370
370
  //#endregion
371
371
  //#region node_modules/d3-selection/src/selection/merge.js
372
- function Ce(e) {
372
+ function Se(e) {
373
373
  for (var t = e.selection ? e.selection() : e, n = this._groups, r = t._groups, i = n.length, a = r.length, o = Math.min(i, a), s = Array(i), c = 0; c < o; ++c) for (var l = n[c], u = r[c], d = l.length, f = s[c] = Array(d), p, m = 0; m < d; ++m) (p = l[m] || u[m]) && (f[m] = p);
374
374
  for (; c < i; ++c) s[c] = n[c];
375
- return new K(s, this._parents);
375
+ return new It(s, this._parents);
376
376
  }
377
377
  //#endregion
378
378
  //#region node_modules/d3-selection/src/selection/order.js
379
- function we() {
379
+ function Ce() {
380
380
  for (var e = this._groups, t = -1, n = e.length; ++t < n;) for (var r = e[t], i = r.length - 1, a = r[i], o; --i >= 0;) (o = r[i]) && (a && o.compareDocumentPosition(a) ^ 4 && a.parentNode.insertBefore(o, a), a = o);
381
381
  return this;
382
382
  }
383
383
  //#endregion
384
384
  //#region node_modules/d3-selection/src/selection/sort.js
385
- function Te(e) {
386
- e ||= Ee;
385
+ function we(e) {
386
+ e ||= Te;
387
387
  function t(t, n) {
388
388
  return t && n ? e(t.__data__, n.__data__) : !t - !n;
389
389
  }
@@ -391,25 +391,25 @@ function Te(e) {
391
391
  for (var o = n[a], s = o.length, c = i[a] = Array(s), l, u = 0; u < s; ++u) (l = o[u]) && (c[u] = l);
392
392
  c.sort(t);
393
393
  }
394
- return new K(i, this._parents).order();
394
+ return new It(i, this._parents).order();
395
395
  }
396
- function Ee(e, t) {
396
+ function Te(e, t) {
397
397
  return e < t ? -1 : e > t ? 1 : e >= t ? 0 : NaN;
398
398
  }
399
399
  //#endregion
400
400
  //#region node_modules/d3-selection/src/selection/call.js
401
- function De() {
401
+ function Ee() {
402
402
  var e = arguments[0];
403
403
  return arguments[0] = this, e.apply(null, arguments), this;
404
404
  }
405
405
  //#endregion
406
406
  //#region node_modules/d3-selection/src/selection/nodes.js
407
- function Oe() {
407
+ function De() {
408
408
  return Array.from(this);
409
409
  }
410
410
  //#endregion
411
411
  //#region node_modules/d3-selection/src/selection/node.js
412
- function ke() {
412
+ function Oe() {
413
413
  for (var e = this._groups, t = 0, n = e.length; t < n; ++t) for (var r = e[t], i = 0, a = r.length; i < a; ++i) {
414
414
  var o = r[i];
415
415
  if (o) return o;
@@ -418,126 +418,126 @@ function ke() {
418
418
  }
419
419
  //#endregion
420
420
  //#region node_modules/d3-selection/src/selection/size.js
421
- function Ae() {
421
+ function ke() {
422
422
  let e = 0;
423
423
  for (let t of this) ++e;
424
424
  return e;
425
425
  }
426
426
  //#endregion
427
427
  //#region node_modules/d3-selection/src/selection/empty.js
428
- function je() {
428
+ function Ae() {
429
429
  return !this.node();
430
430
  }
431
431
  //#endregion
432
432
  //#region node_modules/d3-selection/src/selection/each.js
433
- function Me(e) {
433
+ function je(e) {
434
434
  for (var t = this._groups, n = 0, r = t.length; n < r; ++n) for (var i = t[n], a = 0, o = i.length, s; a < o; ++a) (s = i[a]) && e.call(s, s.__data__, a, i);
435
435
  return this;
436
436
  }
437
437
  //#endregion
438
438
  //#region node_modules/d3-selection/src/selection/attr.js
439
- function Ne(e) {
439
+ function Me(e) {
440
440
  return function() {
441
441
  this.removeAttribute(e);
442
442
  };
443
443
  }
444
- function Pe(e) {
444
+ function Ne(e) {
445
445
  return function() {
446
446
  this.removeAttributeNS(e.space, e.local);
447
447
  };
448
448
  }
449
- function Fe(e, t) {
449
+ function Pe(e, t) {
450
450
  return function() {
451
451
  this.setAttribute(e, t);
452
452
  };
453
453
  }
454
- function Ie(e, t) {
454
+ function Fe(e, t) {
455
455
  return function() {
456
456
  this.setAttributeNS(e.space, e.local, t);
457
457
  };
458
458
  }
459
- function Le(e, t) {
459
+ function Ie(e, t) {
460
460
  return function() {
461
461
  var n = t.apply(this, arguments);
462
462
  n == null ? this.removeAttribute(e) : this.setAttribute(e, n);
463
463
  };
464
464
  }
465
- function Re(e, t) {
465
+ function Le(e, t) {
466
466
  return function() {
467
467
  var n = t.apply(this, arguments);
468
468
  n == null ? this.removeAttributeNS(e.space, e.local) : this.setAttributeNS(e.space, e.local, n);
469
469
  };
470
470
  }
471
- function ze(e, t) {
471
+ function Re(e, t) {
472
472
  var n = F(e);
473
473
  if (arguments.length < 2) {
474
474
  var r = this.node();
475
475
  return n.local ? r.getAttributeNS(n.space, n.local) : r.getAttribute(n);
476
476
  }
477
- return this.each((t == null ? n.local ? Pe : Ne : typeof t == "function" ? n.local ? Re : Le : n.local ? Ie : Fe)(n, t));
477
+ return this.each((t == null ? n.local ? Ne : Me : typeof t == "function" ? n.local ? Le : Ie : n.local ? Fe : Pe)(n, t));
478
478
  }
479
479
  //#endregion
480
480
  //#region node_modules/d3-selection/src/window.js
481
- function Be(e) {
481
+ function ze(e) {
482
482
  return e.ownerDocument && e.ownerDocument.defaultView || e.document && e || e.defaultView;
483
483
  }
484
484
  //#endregion
485
485
  //#region node_modules/d3-selection/src/selection/style.js
486
- function Ve(e) {
486
+ function Be(e) {
487
487
  return function() {
488
488
  this.style.removeProperty(e);
489
489
  };
490
490
  }
491
- function He(e, t, n) {
491
+ function Ve(e, t, n) {
492
492
  return function() {
493
493
  this.style.setProperty(e, t, n);
494
494
  };
495
495
  }
496
- function Ue(e, t, n) {
496
+ function He(e, t, n) {
497
497
  return function() {
498
498
  var r = t.apply(this, arguments);
499
499
  r == null ? this.style.removeProperty(e) : this.style.setProperty(e, r, n);
500
500
  };
501
501
  }
502
- function We(e, t, n) {
503
- return arguments.length > 1 ? this.each((t == null ? Ve : typeof t == "function" ? Ue : He)(e, t, n ?? "")) : Ge(this.node(), e);
502
+ function Ue(e, t, n) {
503
+ return arguments.length > 1 ? this.each((t == null ? Be : typeof t == "function" ? He : Ve)(e, t, n ?? "")) : We(this.node(), e);
504
504
  }
505
- function Ge(e, t) {
506
- return e.style.getPropertyValue(t) || Be(e).getComputedStyle(e, null).getPropertyValue(t);
505
+ function We(e, t) {
506
+ return e.style.getPropertyValue(t) || ze(e).getComputedStyle(e, null).getPropertyValue(t);
507
507
  }
508
508
  //#endregion
509
509
  //#region node_modules/d3-selection/src/selection/property.js
510
- function Ke(e) {
510
+ function Ge(e) {
511
511
  return function() {
512
512
  delete this[e];
513
513
  };
514
514
  }
515
- function qe(e, t) {
515
+ function Ke(e, t) {
516
516
  return function() {
517
517
  this[e] = t;
518
518
  };
519
519
  }
520
- function Je(e, t) {
520
+ function qe(e, t) {
521
521
  return function() {
522
522
  var n = t.apply(this, arguments);
523
523
  n == null ? delete this[e] : this[e] = n;
524
524
  };
525
525
  }
526
- function Ye(e, t) {
527
- return arguments.length > 1 ? this.each((t == null ? Ke : typeof t == "function" ? Je : qe)(e, t)) : this.node()[e];
526
+ function Je(e, t) {
527
+ return arguments.length > 1 ? this.each((t == null ? Ge : typeof t == "function" ? qe : Ke)(e, t)) : this.node()[e];
528
528
  }
529
529
  //#endregion
530
530
  //#region node_modules/d3-selection/src/selection/classed.js
531
- function Xe(e) {
531
+ function Ye(e) {
532
532
  return e.trim().split(/^|\s+/);
533
533
  }
534
- function Ze(e) {
535
- return e.classList || new Qe(e);
534
+ function Xe(e) {
535
+ return e.classList || new Ze(e);
536
536
  }
537
- function Qe(e) {
538
- this._node = e, this._names = Xe(e.getAttribute("class") || "");
537
+ function Ze(e) {
538
+ this._node = e, this._names = Ye(e.getAttribute("class") || "");
539
539
  }
540
- Qe.prototype = {
540
+ Ze.prototype = {
541
541
  add: function(e) {
542
542
  this._names.indexOf(e) < 0 && (this._names.push(e), this._node.setAttribute("class", this._names.join(" ")));
543
543
  },
@@ -549,92 +549,92 @@ Qe.prototype = {
549
549
  return this._names.indexOf(e) >= 0;
550
550
  }
551
551
  };
552
+ function Qe(e, t) {
553
+ for (var n = Xe(e), r = -1, i = t.length; ++r < i;) n.add(t[r]);
554
+ }
552
555
  function $e(e, t) {
553
- for (var n = Ze(e), r = -1, i = t.length; ++r < i;) n.add(t[r]);
556
+ for (var n = Xe(e), r = -1, i = t.length; ++r < i;) n.remove(t[r]);
554
557
  }
555
- function et(e, t) {
556
- for (var n = Ze(e), r = -1, i = t.length; ++r < i;) n.remove(t[r]);
558
+ function et(e) {
559
+ return function() {
560
+ Qe(this, e);
561
+ };
557
562
  }
558
563
  function tt(e) {
559
564
  return function() {
560
565
  $e(this, e);
561
566
  };
562
567
  }
563
- function nt(e) {
568
+ function nt(e, t) {
564
569
  return function() {
565
- et(this, e);
570
+ (t.apply(this, arguments) ? Qe : $e)(this, e);
566
571
  };
567
572
  }
568
573
  function rt(e, t) {
569
- return function() {
570
- (t.apply(this, arguments) ? $e : et)(this, e);
571
- };
572
- }
573
- function it(e, t) {
574
- var n = Xe(e + "");
574
+ var n = Ye(e + "");
575
575
  if (arguments.length < 2) {
576
- for (var r = Ze(this.node()), i = -1, a = n.length; ++i < a;) if (!r.contains(n[i])) return !1;
576
+ for (var r = Xe(this.node()), i = -1, a = n.length; ++i < a;) if (!r.contains(n[i])) return !1;
577
577
  return !0;
578
578
  }
579
- return this.each((typeof t == "function" ? rt : t ? tt : nt)(n, t));
579
+ return this.each((typeof t == "function" ? nt : t ? et : tt)(n, t));
580
580
  }
581
581
  //#endregion
582
582
  //#region node_modules/d3-selection/src/selection/text.js
583
- function at() {
583
+ function it() {
584
584
  this.textContent = "";
585
585
  }
586
- function ot(e) {
586
+ function at(e) {
587
587
  return function() {
588
588
  this.textContent = e;
589
589
  };
590
590
  }
591
- function st(e) {
591
+ function ot(e) {
592
592
  return function() {
593
593
  var t = e.apply(this, arguments);
594
594
  this.textContent = t ?? "";
595
595
  };
596
596
  }
597
- function ct(e) {
598
- return arguments.length ? this.each(e == null ? at : (typeof e == "function" ? st : ot)(e)) : this.node().textContent;
597
+ function st(e) {
598
+ return arguments.length ? this.each(e == null ? it : (typeof e == "function" ? ot : at)(e)) : this.node().textContent;
599
599
  }
600
600
  //#endregion
601
601
  //#region node_modules/d3-selection/src/selection/html.js
602
- function lt() {
602
+ function ct() {
603
603
  this.innerHTML = "";
604
604
  }
605
- function ut(e) {
605
+ function lt(e) {
606
606
  return function() {
607
607
  this.innerHTML = e;
608
608
  };
609
609
  }
610
- function dt(e) {
610
+ function ut(e) {
611
611
  return function() {
612
612
  var t = e.apply(this, arguments);
613
613
  this.innerHTML = t ?? "";
614
614
  };
615
615
  }
616
- function ft(e) {
617
- return arguments.length ? this.each(e == null ? lt : (typeof e == "function" ? dt : ut)(e)) : this.node().innerHTML;
616
+ function dt(e) {
617
+ return arguments.length ? this.each(e == null ? ct : (typeof e == "function" ? ut : lt)(e)) : this.node().innerHTML;
618
618
  }
619
619
  //#endregion
620
620
  //#region node_modules/d3-selection/src/selection/raise.js
621
- function pt() {
621
+ function ft() {
622
622
  this.nextSibling && this.parentNode.appendChild(this);
623
623
  }
624
- function mt() {
625
- return this.each(pt);
624
+ function pt() {
625
+ return this.each(ft);
626
626
  }
627
627
  //#endregion
628
628
  //#region node_modules/d3-selection/src/selection/lower.js
629
- function ht() {
629
+ function mt() {
630
630
  this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild);
631
631
  }
632
- function gt() {
633
- return this.each(ht);
632
+ function ht() {
633
+ return this.each(mt);
634
634
  }
635
635
  //#endregion
636
636
  //#region node_modules/d3-selection/src/selection/append.js
637
- function _t(e) {
637
+ function gt(e) {
638
638
  var t = typeof e == "function" ? e : R(e);
639
639
  return this.select(function() {
640
640
  return this.appendChild(t.apply(this, arguments));
@@ -642,50 +642,50 @@ function _t(e) {
642
642
  }
643
643
  //#endregion
644
644
  //#region node_modules/d3-selection/src/selection/insert.js
645
- function vt() {
645
+ function _t() {
646
646
  return null;
647
647
  }
648
- function yt(e, t) {
649
- var n = typeof e == "function" ? e : R(e), r = t == null ? vt : typeof t == "function" ? t : z(t);
648
+ function vt(e, t) {
649
+ var n = typeof e == "function" ? e : R(e), r = t == null ? _t : typeof t == "function" ? t : B(t);
650
650
  return this.select(function() {
651
651
  return this.insertBefore(n.apply(this, arguments), r.apply(this, arguments) || null);
652
652
  });
653
653
  }
654
654
  //#endregion
655
655
  //#region node_modules/d3-selection/src/selection/remove.js
656
- function bt() {
656
+ function yt() {
657
657
  var e = this.parentNode;
658
658
  e && e.removeChild(this);
659
659
  }
660
- function xt() {
661
- return this.each(bt);
660
+ function bt() {
661
+ return this.each(yt);
662
662
  }
663
663
  //#endregion
664
664
  //#region node_modules/d3-selection/src/selection/clone.js
665
- function St() {
665
+ function xt() {
666
666
  var e = this.cloneNode(!1), t = this.parentNode;
667
667
  return t ? t.insertBefore(e, this.nextSibling) : e;
668
668
  }
669
- function Ct() {
669
+ function St() {
670
670
  var e = this.cloneNode(!0), t = this.parentNode;
671
671
  return t ? t.insertBefore(e, this.nextSibling) : e;
672
672
  }
673
- function wt(e) {
674
- return this.select(e ? Ct : St);
673
+ function Ct(e) {
674
+ return this.select(e ? St : xt);
675
675
  }
676
676
  //#endregion
677
677
  //#region node_modules/d3-selection/src/selection/datum.js
678
- function Tt(e) {
678
+ function wt(e) {
679
679
  return arguments.length ? this.property("__data__", e) : this.node().__data__;
680
680
  }
681
681
  //#endregion
682
682
  //#region node_modules/d3-selection/src/selection/on.js
683
- function Et(e) {
683
+ function Tt(e) {
684
684
  return function(t) {
685
685
  e.call(this, t, this.__data__);
686
686
  };
687
687
  }
688
- function Dt(e) {
688
+ function Et(e) {
689
689
  return e.trim().split(/^|\s+/).map(function(e) {
690
690
  var t = "", n = e.indexOf(".");
691
691
  return n >= 0 && (t = e.slice(n + 1), e = e.slice(0, n)), {
@@ -694,7 +694,7 @@ function Dt(e) {
694
694
  };
695
695
  });
696
696
  }
697
- function Ot(e) {
697
+ function Dt(e) {
698
698
  return function() {
699
699
  var t = this.__on;
700
700
  if (t) {
@@ -703,9 +703,9 @@ function Ot(e) {
703
703
  }
704
704
  };
705
705
  }
706
- function kt(e, t, n) {
706
+ function Ot(e, t, n) {
707
707
  return function() {
708
- var r = this.__on, i, a = Et(t);
708
+ var r = this.__on, i, a = Tt(t);
709
709
  if (r) {
710
710
  for (var o = 0, s = r.length; o < s; ++o) if ((i = r[o]).type === e.type && i.name === e.name) {
711
711
  this.removeEventListener(i.type, i.listener, i.options), this.addEventListener(i.type, i.listener = a, i.options = n), i.value = t;
@@ -721,8 +721,8 @@ function kt(e, t, n) {
721
721
  }, r ? r.push(i) : this.__on = [i];
722
722
  };
723
723
  }
724
- function At(e, t, n) {
725
- var r = Dt(e + ""), i, a = r.length, o;
724
+ function kt(e, t, n) {
725
+ var r = Et(e + ""), i, a = r.length, o;
726
726
  if (arguments.length < 2) {
727
727
  var s = this.node().__on;
728
728
  if (s) {
@@ -730,87 +730,87 @@ function At(e, t, n) {
730
730
  }
731
731
  return;
732
732
  }
733
- for (s = t ? kt : Ot, i = 0; i < a; ++i) this.each(s(r[i], t, n));
733
+ for (s = t ? Ot : Dt, i = 0; i < a; ++i) this.each(s(r[i], t, n));
734
734
  return this;
735
735
  }
736
736
  //#endregion
737
737
  //#region node_modules/d3-selection/src/selection/dispatch.js
738
- function jt(e, t, n) {
739
- var r = Be(e), i = r.CustomEvent;
738
+ function At(e, t, n) {
739
+ var r = ze(e), i = r.CustomEvent;
740
740
  typeof i == "function" ? i = new i(t, n) : (i = r.document.createEvent("Event"), n ? (i.initEvent(t, n.bubbles, n.cancelable), i.detail = n.detail) : i.initEvent(t, !1, !1)), e.dispatchEvent(i);
741
741
  }
742
- function Mt(e, t) {
742
+ function jt(e, t) {
743
743
  return function() {
744
- return jt(this, e, t);
744
+ return At(this, e, t);
745
745
  };
746
746
  }
747
- function Nt(e, t) {
747
+ function Mt(e, t) {
748
748
  return function() {
749
- return jt(this, e, t.apply(this, arguments));
749
+ return At(this, e, t.apply(this, arguments));
750
750
  };
751
751
  }
752
- function Pt(e, t) {
753
- return this.each((typeof t == "function" ? Nt : Mt)(e, t));
752
+ function Nt(e, t) {
753
+ return this.each((typeof t == "function" ? Mt : jt)(e, t));
754
754
  }
755
755
  //#endregion
756
756
  //#region node_modules/d3-selection/src/selection/iterator.js
757
- function* Ft() {
757
+ function* Pt() {
758
758
  for (var e = this._groups, t = 0, n = e.length; t < n; ++t) for (var r = e[t], i = 0, a = r.length, o; i < a; ++i) (o = r[i]) && (yield o);
759
759
  }
760
760
  //#endregion
761
761
  //#region node_modules/d3-selection/src/selection/index.js
762
- var It = [null];
763
- function K(e, t) {
762
+ var Ft = [null];
763
+ function It(e, t) {
764
764
  this._groups = e, this._parents = t;
765
765
  }
766
766
  function Lt() {
767
- return new K([[document.documentElement]], It);
767
+ return new It([[document.documentElement]], Ft);
768
768
  }
769
769
  function Rt() {
770
770
  return this;
771
771
  }
772
- K.prototype = Lt.prototype = {
773
- constructor: K,
774
- select: B,
775
- selectAll: te,
772
+ It.prototype = Lt.prototype = {
773
+ constructor: It,
774
+ select: V,
775
+ selectAll: ee,
776
776
  selectChild: oe,
777
- selectChildren: ue,
778
- filter: de,
779
- data: ye,
780
- enter: pe,
781
- exit: xe,
782
- join: Se,
783
- merge: Ce,
777
+ selectChildren: le,
778
+ filter: ue,
779
+ data: ve,
780
+ enter: fe,
781
+ exit: be,
782
+ join: xe,
783
+ merge: Se,
784
784
  selection: Rt,
785
- order: we,
786
- sort: Te,
787
- call: De,
788
- nodes: Oe,
789
- node: ke,
790
- size: Ae,
791
- empty: je,
792
- each: Me,
793
- attr: ze,
794
- style: We,
795
- property: Ye,
796
- classed: it,
797
- text: ct,
798
- html: ft,
799
- raise: mt,
800
- lower: gt,
801
- append: _t,
802
- insert: yt,
803
- remove: xt,
804
- clone: wt,
805
- datum: Tt,
806
- on: At,
807
- dispatch: Pt,
808
- [Symbol.iterator]: Ft
785
+ order: Ce,
786
+ sort: we,
787
+ call: Ee,
788
+ nodes: De,
789
+ node: Oe,
790
+ size: ke,
791
+ empty: Ae,
792
+ each: je,
793
+ attr: Re,
794
+ style: Ue,
795
+ property: Je,
796
+ classed: rt,
797
+ text: st,
798
+ html: dt,
799
+ raise: pt,
800
+ lower: ht,
801
+ append: gt,
802
+ insert: vt,
803
+ remove: bt,
804
+ clone: Ct,
805
+ datum: wt,
806
+ on: kt,
807
+ dispatch: Nt,
808
+ [Symbol.iterator]: Pt
809
809
  };
810
810
  //#endregion
811
811
  //#region node_modules/d3-selection/src/select.js
812
812
  function zt(e) {
813
- return typeof e == "string" ? new K([[document.querySelector(e)]], [document.documentElement]) : new K([[e]], It);
813
+ return typeof e == "string" ? new It([[document.querySelector(e)]], [document.documentElement]) : new It([[e]], Ft);
814
814
  }
815
815
  //#endregion
816
816
  //#region node_modules/d3-selection/src/sourceEvent.js
@@ -1902,7 +1902,7 @@ function bi(e) {
1902
1902
  //#endregion
1903
1903
  //#region node_modules/d3-transition/src/transition/filter.js
1904
1904
  function xi(e) {
1905
- typeof e != "function" && (e = ne(e));
1905
+ typeof e != "function" && (e = te(e));
1906
1906
  for (var t = this._groups, n = t.length, r = Array(n), i = 0; i < n; ++i) for (var a = t[i], o = a.length, s = r[i] = [], c, l = 0; l < o; ++l) (c = a[l]) && e.call(c, c.__data__, l, a) && s.push(c);
1907
1907
  return new Xi(r, this._parents, this._name, this._id);
1908
1908
  }
@@ -1949,7 +1949,7 @@ function Di() {
1949
1949
  //#region node_modules/d3-transition/src/transition/select.js
1950
1950
  function Oi(e) {
1951
1951
  var t = this._name, n = this._id;
1952
- typeof e != "function" && (e = z(e));
1952
+ typeof e != "function" && (e = B(e));
1953
1953
  for (var r = this._groups, i = r.length, a = Array(i), o = 0; o < i; ++o) for (var s = r[o], c = s.length, l = a[o] = Array(c), u, d, f = 0; f < c; ++f) (u = s[f]) && (d = e.call(u, u.__data__, f, s)) && ("__data__" in u && (d.__data__ = u.__data__), l[f] = d, Vr(l[f], t, n, f, l, Wr(u, n)));
1954
1954
  return new Xi(a, this._parents, t, n);
1955
1955
  }
@@ -1957,7 +1957,7 @@ function Oi(e) {
1957
1957
  //#region node_modules/d3-transition/src/transition/selectAll.js
1958
1958
  function ki(e) {
1959
1959
  var t = this._name, n = this._id;
1960
- typeof e != "function" && (e = U(e));
1960
+ typeof e != "function" && (e = W(e));
1961
1961
  for (var r = this._groups, i = r.length, a = [], o = [], s = 0; s < i; ++s) for (var c = r[s], l = c.length, u, d = 0; d < l; ++d) if (u = c[d]) {
1962
1962
  for (var f = e.call(u, u.__data__, d, c), p, m = Wr(u, n), h = 0, g = f.length; h < g; ++h) (p = f[h]) && Vr(p, t, n, h, f, m);
1963
1963
  a.push(f), o.push(u);
@@ -1975,7 +1975,7 @@ function ji() {
1975
1975
  function Mi(e, t) {
1976
1976
  var n, r, i;
1977
1977
  return function() {
1978
- var a = Ge(this, e), o = (this.style.removeProperty(e), Ge(this, e));
1978
+ var a = We(this, e), o = (this.style.removeProperty(e), We(this, e));
1979
1979
  return a === o ? null : a === n && o === r ? i : i = t(n = a, r = o);
1980
1980
  };
1981
1981
  }
@@ -1987,15 +1987,15 @@ function Ni(e) {
1987
1987
  function Pi(e, t, n) {
1988
1988
  var r, i = n + "", a;
1989
1989
  return function() {
1990
- var o = Ge(this, e);
1990
+ var o = We(this, e);
1991
1991
  return o === i ? null : o === r ? a : a = t(r = o, n);
1992
1992
  };
1993
1993
  }
1994
1994
  function Fi(e, t, n) {
1995
1995
  var r, i, a;
1996
1996
  return function() {
1997
- var o = Ge(this, e), s = n(this), c = s + "";
1998
- return s ?? (c = s = (this.style.removeProperty(e), Ge(this, e))), o === c ? null : o === r && c === i ? a : (i = c, a = t(r = o, s));
1997
+ var o = We(this, e), s = n(this), c = s + "";
1998
+ return s ?? (c = s = (this.style.removeProperty(e), We(this, e))), o === c ? null : o === r && c === i ? a : (i = c, a = t(r = o, s));
1999
1999
  };
2000
2000
  }
2001
2001
  function Ii(e, t) {
@@ -3738,52 +3738,52 @@ function Ds(e, { connectionMode: t, connectionRadius: n, handleId: r, nodeId: i,
3738
3738
  let N = Cs(i, A, r, c, t);
3739
3739
  if (!N) return;
3740
3740
  let P = wo(e, j), F = !1, I = null, L = !1, R = null;
3741
- function ee() {
3741
+ function z() {
3742
3742
  if (!u || !j) return;
3743
3743
  let [e, t] = Ga(P, j, S);
3744
3744
  f({
3745
3745
  x: e,
3746
3746
  y: t
3747
- }), E = requestAnimationFrame(ee);
3747
+ }), E = requestAnimationFrame(z);
3748
3748
  }
3749
- let z = {
3749
+ let B = {
3750
3750
  ...N,
3751
3751
  nodeId: i,
3752
3752
  type: A,
3753
3753
  position: N.position
3754
- }, B = c.get(i), V = {
3754
+ }, V = c.get(i), H = {
3755
3755
  inProgress: !0,
3756
3756
  isValid: null,
3757
- from: Ko(B, z, Y.Left, !0),
3758
- fromHandle: z,
3759
- fromPosition: z.position,
3760
- fromNode: B,
3757
+ from: Ko(V, B, Y.Left, !0),
3758
+ fromHandle: B,
3759
+ fromPosition: B.position,
3760
+ fromNode: V,
3761
3761
  to: P,
3762
3762
  toHandle: null,
3763
- toPosition: Da[z.position],
3763
+ toPosition: Da[B.position],
3764
3764
  toNode: null,
3765
3765
  pointer: P
3766
3766
  };
3767
- function H() {
3768
- M = !0, y(V), m?.(e, {
3767
+ function U() {
3768
+ M = !0, y(H), m?.(e, {
3769
3769
  nodeId: i,
3770
3770
  handleId: r,
3771
3771
  handleType: A
3772
3772
  });
3773
3773
  }
3774
- C === 0 && H();
3775
- function U(e) {
3774
+ C === 0 && U();
3775
+ function W(e) {
3776
3776
  if (!M) {
3777
3777
  let { x: t, y: n } = wo(e), r = t - O, i = n - k;
3778
3778
  if (!(r * r + i * i > C * C)) return;
3779
- H();
3779
+ U();
3780
3780
  }
3781
- if (!x() || !z) {
3782
- W(e);
3781
+ if (!x() || !B) {
3782
+ G(e);
3783
3783
  return;
3784
3784
  }
3785
3785
  let a = b();
3786
- P = wo(e, j), D = Ss(ro(P, a, !1, [1, 1]), n, c, z), F ||= (ee(), !0);
3786
+ P = wo(e, j), D = Ss(ro(P, a, !1, [1, 1]), n, c, B), F ||= (z(), !0);
3787
3787
  let s = Os(e, {
3788
3788
  handle: D,
3789
3789
  connectionMode: t,
@@ -3797,8 +3797,8 @@ function Ds(e, { connectionMode: t, connectionRadius: n, handleId: r, nodeId: i,
3797
3797
  nodeLookup: c
3798
3798
  });
3799
3799
  R = s.handleDomNode, I = s.connection, L = Ts(!!D, s.isValid);
3800
- let u = c.get(i), f = u ? Ko(u, z, Y.Left, !0) : V.from, p = {
3801
- ...V,
3800
+ let u = c.get(i), f = u ? Ko(u, B, Y.Left, !0) : H.from, p = {
3801
+ ...H,
3802
3802
  from: f,
3803
3803
  isValid: L,
3804
3804
  to: s.toHandle && L ? io({
@@ -3806,26 +3806,26 @@ function Ds(e, { connectionMode: t, connectionRadius: n, handleId: r, nodeId: i,
3806
3806
  y: s.toHandle.y
3807
3807
  }, a) : P,
3808
3808
  toHandle: s.toHandle,
3809
- toPosition: L && s.toHandle ? s.toHandle.position : Da[z.position],
3809
+ toPosition: L && s.toHandle ? s.toHandle.position : Da[B.position],
3810
3810
  toNode: s.toHandle ? c.get(s.toHandle.nodeId) : null,
3811
3811
  pointer: P
3812
3812
  };
3813
- y(p), V = p;
3813
+ y(p), H = p;
3814
3814
  }
3815
- function W(e) {
3815
+ function G(e) {
3816
3816
  if (!("touches" in e && e.touches.length > 0)) {
3817
3817
  if (M) {
3818
3818
  (D || R) && I && L && h?.(I);
3819
- let { inProgress: t, ...n } = V, r = {
3819
+ let { inProgress: t, ...n } = H, r = {
3820
3820
  ...n,
3821
- toPosition: V.toHandle ? V.toPosition : null
3821
+ toPosition: H.toHandle ? H.toPosition : null
3822
3822
  };
3823
3823
  g?.(e, r), a && v?.(e, r);
3824
3824
  }
3825
- p(), cancelAnimationFrame(E), F = !1, L = !1, I = null, R = null, T.removeEventListener("mousemove", U), T.removeEventListener("mouseup", W), T.removeEventListener("touchmove", U), T.removeEventListener("touchend", W);
3825
+ p(), cancelAnimationFrame(E), F = !1, L = !1, I = null, R = null, T.removeEventListener("mousemove", W), T.removeEventListener("mouseup", G), T.removeEventListener("touchmove", W), T.removeEventListener("touchend", G);
3826
3826
  }
3827
3827
  }
3828
- T.addEventListener("mousemove", U), T.addEventListener("mouseup", W), T.addEventListener("touchmove", U), T.addEventListener("touchend", W);
3828
+ T.addEventListener("mousemove", W), T.addEventListener("mouseup", G), T.addEventListener("touchmove", W), T.addEventListener("touchend", G);
3829
3829
  }
3830
3830
  function Os(e, { handle: t, connectionMode: n, fromNodeId: r, fromHandleId: i, fromType: a, doc: o, lib: s, flowId: c, isValidConnection: l = Es, nodeLookup: u }) {
3831
3831
  let d = a === "target", f = t ? o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`) : null, { x: p, y: m } = wo(e), h = o.elementFromPoint(p, m), g = h?.classList.contains(`${s}-flow__handle`) ? h : f, _ = {
@@ -5135,9 +5135,9 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5135
5135
  return;
5136
5136
  }
5137
5137
  f?.(e);
5138
- }, ee = p ? (e) => p(e) : void 0, z = (e) => {
5138
+ }, z = p ? (e) => p(e) : void 0, B = (e) => {
5139
5139
  P.current &&= (e.stopPropagation(), !1);
5140
- }, B = (n) => {
5140
+ }, V = (n) => {
5141
5141
  let { domNode: r, transform: i } = x.getState();
5142
5142
  if (j.current = r?.getBoundingClientRect(), !j.current) return;
5143
5143
  let a = n.target === A.current;
@@ -5156,7 +5156,7 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5156
5156
  y: c
5157
5157
  } }), a || (n.stopPropagation(), n.preventDefault());
5158
5158
  };
5159
- function V(e, t) {
5159
+ function H(e, t) {
5160
5160
  let { userSelectionRect: r } = x.getState();
5161
5161
  if (!r) return;
5162
5162
  let { transform: i, nodeLookup: a, edgeLookup: o, connectionLookup: s, triggerNodeChanges: c, triggerEdgeChanges: l, defaultEdgeOptions: u } = x.getState(), d = {
@@ -5185,7 +5185,7 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5185
5185
  nodesSelectionActive: !1
5186
5186
  });
5187
5187
  }
5188
- function H() {
5188
+ function U() {
5189
5189
  if (!i || !j.current) return;
5190
5190
  let [e, t] = Ga(F.current, j.current, O);
5191
5191
  E({
@@ -5193,17 +5193,17 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5193
5193
  y: t
5194
5194
  }).then((e) => {
5195
5195
  if (!P.current || !e) {
5196
- b.current = requestAnimationFrame(H);
5196
+ b.current = requestAnimationFrame(U);
5197
5197
  return;
5198
5198
  }
5199
5199
  let { x: t, y: n } = F.current;
5200
- V(t, n), b.current = requestAnimationFrame(H);
5200
+ H(t, n), b.current = requestAnimationFrame(U);
5201
5201
  });
5202
5202
  }
5203
- let U = () => {
5203
+ let W = () => {
5204
5204
  cancelAnimationFrame(b.current), b.current = 0, I.current = !1;
5205
5205
  };
5206
- return c(() => () => U(), []), _("div", {
5206
+ return c(() => () => W(), []), _("div", {
5207
5207
  className: D(["react-flow__pane", {
5208
5208
  draggable: r === !0 || Array.isArray(r) && r.includes(0),
5209
5209
  dragging: w,
@@ -5211,7 +5211,7 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5211
5211
  }]),
5212
5212
  onClick: k ? void 0 : wl(L, A),
5213
5213
  onContextMenu: wl(R, A),
5214
- onWheel: wl(ee, A),
5214
+ onWheel: wl(z, A),
5215
5215
  onPointerEnter: k ? void 0 : m,
5216
5216
  onPointerMove: k ? (e) => {
5217
5217
  let { userSelectionRect: n, transform: r, resetSelectedElements: i } = x.getState();
@@ -5230,19 +5230,19 @@ function El({ isSelecting: e, selectionKeyPressed: t, selectionMode: n = Ca.Full
5230
5230
  if (Math.hypot(o - l.x, c - l.y) <= n) return;
5231
5231
  i(), s?.(e);
5232
5232
  }
5233
- P.current = !0, I.current ||= (H(), !0), V(o, c);
5233
+ P.current = !0, I.current ||= (U(), !0), H(o, c);
5234
5234
  } : h,
5235
5235
  onPointerUp: k ? (e) => {
5236
5236
  e.button === 0 && (e.target?.releasePointerCapture?.(e.pointerId), !S && e.target === A.current && x.getState().userSelectionRect && L?.(e), x.setState({
5237
5237
  userSelectionActive: !1,
5238
5238
  userSelectionRect: null
5239
- }), P.current && (l?.(e), x.setState({ nodesSelectionActive: M.current.size > 0 })), U());
5239
+ }), P.current && (l?.(e), x.setState({ nodesSelectionActive: M.current.size > 0 })), W());
5240
5240
  } : void 0,
5241
5241
  onPointerCancel: k ? (e) => {
5242
- e.target?.releasePointerCapture?.(e.pointerId), U();
5242
+ e.target?.releasePointerCapture?.(e.pointerId), W();
5243
5243
  } : void 0,
5244
- onPointerDownCapture: k ? B : void 0,
5245
- onClickCapture: k ? z : void 0,
5244
+ onPointerDownCapture: k ? V : void 0,
5245
+ onClickCapture: k ? B : void 0,
5246
5246
  onPointerLeave: v,
5247
5247
  ref: A,
5248
5248
  style: yl,
@@ -5571,7 +5571,7 @@ var ql = typeof window < "u" ? window : void 0, Jl = (e) => ({
5571
5571
  userSelectionActive: e.userSelectionActive
5572
5572
  });
5573
5573
  function Yl({ children: e, onPaneClick: t, onPaneMouseEnter: n, onPaneMouseMove: r, onPaneMouseLeave: i, onPaneContextMenu: a, onPaneScroll: o, paneClickDistance: s, deleteKeyCode: c, selectionKeyCode: l, selectionOnDrag: u, selectionMode: d, onSelectionStart: f, onSelectionEnd: p, multiSelectionKeyCode: m, panActivationKeyCode: h, zoomActivationKeyCode: v, elementsSelectable: y, zoomOnScroll: b, zoomOnPinch: x, panOnScroll: S, panOnScrollSpeed: C, panOnScrollMode: w, zoomOnDoubleClick: T, panOnDrag: E, autoPanOnSelection: D, defaultViewport: O, translateExtent: k, minZoom: A, maxZoom: j, preventScrolling: M, onSelectionContextMenu: N, noWheelClassName: P, noPanClassName: F, disableKeyboardA11y: I, onViewportChange: L, isControlledViewport: R }) {
5574
- let { nodesSelectionActive: ee, userSelectionActive: z } = Z(Jl, X), B = Wc(l, { target: ql }), V = Wc(h, { target: ql }), H = V || E, U = V || S, W = u && H !== !0, te = B || z || W;
5574
+ let { nodesSelectionActive: z, userSelectionActive: B } = Z(Jl, X), V = Wc(l, { target: ql }), H = Wc(h, { target: ql }), U = H || E, W = H || S, G = u && U !== !0, ee = V || B || G;
5575
5575
  return _l({
5576
5576
  deleteKeyCode: c,
5577
5577
  multiSelectionKeyCode: m
@@ -5580,11 +5580,11 @@ function Yl({ children: e, onPaneClick: t, onPaneMouseEnter: n, onPaneMouseMove:
5580
5580
  elementsSelectable: y,
5581
5581
  zoomOnScroll: b,
5582
5582
  zoomOnPinch: x,
5583
- panOnScroll: U,
5583
+ panOnScroll: W,
5584
5584
  panOnScrollSpeed: C,
5585
5585
  panOnScrollMode: w,
5586
5586
  zoomOnDoubleClick: T,
5587
- panOnDrag: !B && H,
5587
+ panOnDrag: !V && U,
5588
5588
  defaultViewport: O,
5589
5589
  translateExtent: k,
5590
5590
  minZoom: A,
@@ -5596,7 +5596,7 @@ function Yl({ children: e, onPaneClick: t, onPaneMouseEnter: n, onPaneMouseMove:
5596
5596
  onViewportChange: L,
5597
5597
  isControlledViewport: R,
5598
5598
  paneClickDistance: s,
5599
- selectionOnDrag: W,
5599
+ selectionOnDrag: G,
5600
5600
  children: _(El, {
5601
5601
  onSelectionStart: f,
5602
5602
  onSelectionEnd: p,
@@ -5606,14 +5606,14 @@ function Yl({ children: e, onPaneClick: t, onPaneMouseEnter: n, onPaneMouseMove:
5606
5606
  onPaneMouseLeave: i,
5607
5607
  onPaneContextMenu: a,
5608
5608
  onPaneScroll: o,
5609
- panOnDrag: H,
5609
+ panOnDrag: U,
5610
5610
  autoPanOnSelection: D,
5611
- isSelecting: !!te,
5611
+ isSelecting: !!ee,
5612
5612
  selectionMode: d,
5613
- selectionKeyPressed: B,
5613
+ selectionKeyPressed: V,
5614
5614
  paneClickDistance: s,
5615
- selectionOnDrag: W,
5616
- children: [e, ee && g(Kl, {
5615
+ selectionOnDrag: G,
5616
+ children: [e, z && g(Kl, {
5617
5617
  onSelectionContextMenu: N,
5618
5618
  noPanClassName: F,
5619
5619
  disableKeyboardA11y: I
@@ -5695,14 +5695,14 @@ function nu({ id: e, onClick: t, onMouseEnter: n, onMouseMove: r, onMouseLeave:
5695
5695
  nodeClickDistance: v
5696
5696
  }), P = Al();
5697
5697
  if (b.hidden) return null;
5698
- let F = fo(b), I = Wl(b), L = E || T || t || n || r || i, R = n ? (e) => n(e, { ...x.userNode }) : void 0, ee = r ? (e) => r(e, { ...x.userNode }) : void 0, z = i ? (e) => i(e, { ...x.userNode }) : void 0, B = a ? (e) => a(e, { ...x.userNode }) : void 0, V = o ? (e) => o(e, { ...x.userNode }) : void 0, H = (n) => {
5698
+ let F = fo(b), I = Wl(b), L = E || T || t || n || r || i, R = n ? (e) => n(e, { ...x.userNode }) : void 0, z = r ? (e) => r(e, { ...x.userNode }) : void 0, B = i ? (e) => i(e, { ...x.userNode }) : void 0, V = a ? (e) => a(e, { ...x.userNode }) : void 0, H = o ? (e) => o(e, { ...x.userNode }) : void 0, U = (n) => {
5699
5699
  let { selectNodesOnDrag: r, nodeDragThreshold: i } = A.getState();
5700
5700
  E && (!r || !T || i > 0) && Dl({
5701
5701
  id: e,
5702
5702
  store: A,
5703
5703
  nodeRef: M
5704
5704
  }), t && t(n, { ...x.userNode });
5705
- }, U = (t) => {
5705
+ }, W = (t) => {
5706
5706
  if (!(So(t.nativeEvent) || m)) {
5707
5707
  if (ya.includes(t.key) && E) Dl({
5708
5708
  id: e,
@@ -5723,7 +5723,7 @@ function nu({ id: e, onClick: t, onMouseEnter: n, onMouseMove: r, onMouseLeave:
5723
5723
  });
5724
5724
  }
5725
5725
  }
5726
- }, W = () => {
5726
+ }, G = () => {
5727
5727
  if (m || !M.current?.matches(":focus-visible")) return;
5728
5728
  let { transform: t, width: n, height: r, autoPanOnNodeFocus: i, setCenter: a } = A.getState();
5729
5729
  i && (Fa(new Map([[e, b]]), {
@@ -5759,14 +5759,14 @@ function nu({ id: e, onClick: t, onMouseEnter: n, onMouseMove: r, onMouseLeave:
5759
5759
  "data-id": e,
5760
5760
  "data-testid": `rf__node-${e}`,
5761
5761
  onMouseEnter: R,
5762
- onMouseMove: ee,
5763
- onMouseLeave: z,
5764
- onContextMenu: B,
5765
- onClick: H,
5766
- onDoubleClick: V,
5767
- onKeyDown: k ? U : void 0,
5762
+ onMouseMove: z,
5763
+ onMouseLeave: B,
5764
+ onContextMenu: V,
5765
+ onClick: U,
5766
+ onDoubleClick: H,
5767
+ onKeyDown: k ? W : void 0,
5768
5768
  tabIndex: k ? 0 : void 0,
5769
- onFocus: k ? W : void 0,
5769
+ onFocus: k ? G : void 0,
5770
5770
  role: b.ariaRole ?? (k ? "group" : void 0),
5771
5771
  "aria-roledescription": "node",
5772
5772
  "aria-describedby": m ? void 0 : `${bc}-${h}`,
@@ -6269,7 +6269,7 @@ function Hu({ id: e, edgesFocusable: t, edgesReconnectable: n, elementsSelectabl
6269
6269
  } : T;
6270
6270
  let O = T.type || "default", k = x?.[O] || Fu[O];
6271
6271
  k === void 0 && (C?.("011", J.error011(O)), O = "default", k = x?.default || Fu.default);
6272
- let A = !!(T.focusable || t && T.focusable === void 0), j = h !== void 0 && (T.reconnectable || n && T.reconnectable === void 0), M = !!(T.selectable || r && T.selectable === void 0), N = d(null), [P, F] = f(!1), [I, L] = f(!1), R = Q(), { zIndex: ee, sourceX: z, sourceY: B, targetX: V, targetY: H, sourcePosition: U, targetPosition: W } = Z(a((t) => {
6272
+ let A = !!(T.focusable || t && T.focusable === void 0), j = h !== void 0 && (T.reconnectable || n && T.reconnectable === void 0), M = !!(T.selectable || r && T.selectable === void 0), N = d(null), [P, F] = f(!1), [I, L] = f(!1), R = Q(), { zIndex: z, sourceX: B, sourceY: V, targetX: H, targetY: U, sourcePosition: W, targetPosition: G } = Z(a((t) => {
6273
6273
  let n = t.nodeLookup.get(T.source), r = t.nodeLookup.get(T.target);
6274
6274
  if (!n || !r) return {
6275
6275
  zIndex: T.zIndex,
@@ -6302,27 +6302,27 @@ function Hu({ id: e, edgesFocusable: t, edgesReconnectable: n, elementsSelectabl
6302
6302
  T.targetHandle,
6303
6303
  T.selected,
6304
6304
  T.zIndex
6305
- ]), X), te = u(() => T.markerStart ? `url('#${Jo(T.markerStart, b)}')` : void 0, [T.markerStart, b]), ne = u(() => T.markerEnd ? `url('#${Jo(T.markerEnd, b)}')` : void 0, [T.markerEnd, b]);
6306
- if (T.hidden || z === null || B === null || V === null || H === null) return null;
6307
- let re = (t) => {
6305
+ ]), X), ee = u(() => T.markerStart ? `url('#${Jo(T.markerStart, b)}')` : void 0, [T.markerStart, b]), te = u(() => T.markerEnd ? `url('#${Jo(T.markerEnd, b)}')` : void 0, [T.markerEnd, b]);
6306
+ if (T.hidden || B === null || V === null || H === null || U === null) return null;
6307
+ let ne = (t) => {
6308
6308
  let { addSelectedEdges: n, unselectNodesAndEdges: r, multiSelectionActive: a } = R.getState();
6309
6309
  M && (R.setState({ nodesSelectionActive: !1 }), T.selected && a ? (r({
6310
6310
  nodes: [],
6311
6311
  edges: [T]
6312
6312
  }), N.current?.blur()) : n([e])), i && i(t, T);
6313
- }, ie = o ? (e) => {
6313
+ }, re = o ? (e) => {
6314
6314
  o(e, { ...T });
6315
- } : void 0, ae = s ? (e) => {
6315
+ } : void 0, ie = s ? (e) => {
6316
6316
  s(e, { ...T });
6317
- } : void 0, G = c ? (e) => {
6317
+ } : void 0, ae = c ? (e) => {
6318
6318
  c(e, { ...T });
6319
6319
  } : void 0, oe = l ? (e) => {
6320
6320
  l(e, { ...T });
6321
- } : void 0, se = p ? (e) => {
6321
+ } : void 0, K = p ? (e) => {
6322
6322
  p(e, { ...T });
6323
6323
  } : void 0;
6324
6324
  return g("svg", {
6325
- style: { zIndex: ee },
6325
+ style: { zIndex: z },
6326
6326
  children: _("g", {
6327
6327
  className: D([
6328
6328
  "react-flow__edge",
@@ -6337,12 +6337,12 @@ function Hu({ id: e, edgesFocusable: t, edgesReconnectable: n, elementsSelectabl
6337
6337
  selectable: M
6338
6338
  }
6339
6339
  ]),
6340
- onClick: re,
6341
- onDoubleClick: ie,
6342
- onContextMenu: ae,
6343
- onMouseEnter: G,
6340
+ onClick: ne,
6341
+ onDoubleClick: re,
6342
+ onContextMenu: ie,
6343
+ onMouseEnter: ae,
6344
6344
  onMouseMove: oe,
6345
- onMouseLeave: se,
6345
+ onMouseLeave: K,
6346
6346
  onKeyDown: A ? (t) => {
6347
6347
  if (!w && ya.includes(t.key) && M) {
6348
6348
  let { unselectNodesAndEdges: n, addSelectedEdges: r } = R.getState();
@@ -6373,18 +6373,18 @@ function Hu({ id: e, edgesFocusable: t, edgesReconnectable: n, elementsSelectabl
6373
6373
  labelBgStyle: T.labelBgStyle,
6374
6374
  labelBgPadding: T.labelBgPadding,
6375
6375
  labelBgBorderRadius: T.labelBgBorderRadius,
6376
- sourceX: z,
6377
- sourceY: B,
6378
- targetX: V,
6379
- targetY: H,
6380
- sourcePosition: U,
6381
- targetPosition: W,
6376
+ sourceX: B,
6377
+ sourceY: V,
6378
+ targetX: H,
6379
+ targetY: U,
6380
+ sourcePosition: W,
6381
+ targetPosition: G,
6382
6382
  data: T.data,
6383
6383
  style: T.style,
6384
6384
  sourceHandleId: T.sourceHandle,
6385
6385
  targetHandleId: T.targetHandle,
6386
- markerStart: te,
6387
- markerEnd: ne,
6386
+ markerStart: ee,
6387
+ markerEnd: te,
6388
6388
  pathOptions: "pathOptions" in T ? T.pathOptions : void 0,
6389
6389
  interactionWidth: T.interactionWidth
6390
6390
  }), j && g(Vu, {
@@ -6394,12 +6394,12 @@ function Hu({ id: e, edgesFocusable: t, edgesReconnectable: n, elementsSelectabl
6394
6394
  onReconnect: h,
6395
6395
  onReconnectStart: v,
6396
6396
  onReconnectEnd: y,
6397
- sourceX: z,
6398
- sourceY: B,
6399
- targetX: V,
6400
- targetY: H,
6401
- sourcePosition: U,
6402
- targetPosition: W,
6397
+ sourceX: B,
6398
+ sourceY: V,
6399
+ targetX: H,
6400
+ targetY: U,
6401
+ sourcePosition: W,
6402
+ targetPosition: G,
6403
6403
  setUpdateHover: F,
6404
6404
  setReconnecting: L
6405
6405
  })]
@@ -6582,15 +6582,15 @@ function od() {
6582
6582
  }
6583
6583
  }, []);
6584
6584
  }
6585
- function sd({ nodeTypes: e, edgeTypes: t, onInit: n, onNodeClick: r, onEdgeClick: i, onNodeDoubleClick: a, onEdgeDoubleClick: o, onNodeMouseEnter: s, onNodeMouseMove: c, onNodeMouseLeave: l, onNodeContextMenu: u, onSelectionContextMenu: d, onSelectionStart: f, onSelectionEnd: p, connectionLineType: m, connectionLineStyle: h, connectionLineComponent: v, connectionLineContainerStyle: y, selectionKeyCode: b, selectionOnDrag: x, selectionMode: S, multiSelectionKeyCode: C, panActivationKeyCode: w, zoomActivationKeyCode: T, deleteKeyCode: E, onlyRenderVisibleElements: D, elementsSelectable: O, defaultViewport: k, translateExtent: A, minZoom: j, maxZoom: M, preventScrolling: N, defaultMarkerColor: P, zoomOnScroll: F, zoomOnPinch: I, panOnScroll: L, panOnScrollSpeed: R, panOnScrollMode: ee, zoomOnDoubleClick: z, panOnDrag: B, autoPanOnSelection: V, onPaneClick: H, onPaneMouseEnter: U, onPaneMouseMove: W, onPaneMouseLeave: te, onPaneScroll: ne, onPaneContextMenu: re, paneClickDistance: ie, nodeClickDistance: ae, onEdgeContextMenu: G, onEdgeMouseEnter: oe, onEdgeMouseMove: se, onEdgeMouseLeave: ce, reconnectRadius: le, onReconnect: ue, onReconnectStart: de, onReconnectEnd: fe, noDragClassName: pe, noWheelClassName: me, noPanClassName: he, disableKeyboardA11y: ge, nodeExtent: _e, rfId: ve, viewport: ye, onViewportChange: be }) {
6586
- return ad(e), ad(t), od(), Yu(n), Zu(ye), g(Xl, {
6587
- onPaneClick: H,
6588
- onPaneMouseEnter: U,
6589
- onPaneMouseMove: W,
6590
- onPaneMouseLeave: te,
6591
- onPaneContextMenu: re,
6592
- onPaneScroll: ne,
6593
- paneClickDistance: ie,
6585
+ function sd({ nodeTypes: e, edgeTypes: t, onInit: n, onNodeClick: r, onEdgeClick: i, onNodeDoubleClick: a, onEdgeDoubleClick: o, onNodeMouseEnter: s, onNodeMouseMove: c, onNodeMouseLeave: l, onNodeContextMenu: u, onSelectionContextMenu: d, onSelectionStart: f, onSelectionEnd: p, connectionLineType: m, connectionLineStyle: h, connectionLineComponent: v, connectionLineContainerStyle: y, selectionKeyCode: b, selectionOnDrag: x, selectionMode: S, multiSelectionKeyCode: C, panActivationKeyCode: w, zoomActivationKeyCode: T, deleteKeyCode: E, onlyRenderVisibleElements: D, elementsSelectable: O, defaultViewport: k, translateExtent: A, minZoom: j, maxZoom: M, preventScrolling: N, defaultMarkerColor: P, zoomOnScroll: F, zoomOnPinch: I, panOnScroll: L, panOnScrollSpeed: R, panOnScrollMode: z, zoomOnDoubleClick: B, panOnDrag: V, autoPanOnSelection: H, onPaneClick: U, onPaneMouseEnter: W, onPaneMouseMove: G, onPaneMouseLeave: ee, onPaneScroll: te, onPaneContextMenu: ne, paneClickDistance: re, nodeClickDistance: ie, onEdgeContextMenu: ae, onEdgeMouseEnter: oe, onEdgeMouseMove: K, onEdgeMouseLeave: se, reconnectRadius: ce, onReconnect: le, onReconnectStart: ue, onReconnectEnd: de, noDragClassName: fe, noWheelClassName: pe, noPanClassName: me, disableKeyboardA11y: he, nodeExtent: ge, rfId: _e, viewport: ve, onViewportChange: ye }) {
6586
+ return ad(e), ad(t), od(), Yu(n), Zu(ve), g(Xl, {
6587
+ onPaneClick: U,
6588
+ onPaneMouseEnter: W,
6589
+ onPaneMouseMove: G,
6590
+ onPaneMouseLeave: ee,
6591
+ onPaneContextMenu: ne,
6592
+ onPaneScroll: te,
6593
+ paneClickDistance: re,
6594
6594
  deleteKeyCode: E,
6595
6595
  selectionKeyCode: b,
6596
6596
  selectionOnDrag: x,
@@ -6603,42 +6603,42 @@ function sd({ nodeTypes: e, edgeTypes: t, onInit: n, onNodeClick: r, onEdgeClick
6603
6603
  elementsSelectable: O,
6604
6604
  zoomOnScroll: F,
6605
6605
  zoomOnPinch: I,
6606
- zoomOnDoubleClick: z,
6606
+ zoomOnDoubleClick: B,
6607
6607
  panOnScroll: L,
6608
6608
  panOnScrollSpeed: R,
6609
- panOnScrollMode: ee,
6610
- panOnDrag: B,
6611
- autoPanOnSelection: V,
6609
+ panOnScrollMode: z,
6610
+ panOnDrag: V,
6611
+ autoPanOnSelection: H,
6612
6612
  defaultViewport: k,
6613
6613
  translateExtent: A,
6614
6614
  minZoom: j,
6615
6615
  maxZoom: M,
6616
6616
  onSelectionContextMenu: d,
6617
6617
  preventScrolling: N,
6618
- noDragClassName: pe,
6619
- noWheelClassName: me,
6620
- noPanClassName: he,
6621
- disableKeyboardA11y: ge,
6622
- onViewportChange: be,
6623
- isControlledViewport: !!ye,
6618
+ noDragClassName: fe,
6619
+ noWheelClassName: pe,
6620
+ noPanClassName: me,
6621
+ disableKeyboardA11y: he,
6622
+ onViewportChange: ye,
6623
+ isControlledViewport: !!ve,
6624
6624
  children: _(Ju, { children: [
6625
6625
  g(Ku, {
6626
6626
  edgeTypes: t,
6627
6627
  onEdgeClick: i,
6628
6628
  onEdgeDoubleClick: o,
6629
- onReconnect: ue,
6630
- onReconnectStart: de,
6631
- onReconnectEnd: fe,
6629
+ onReconnect: le,
6630
+ onReconnectStart: ue,
6631
+ onReconnectEnd: de,
6632
6632
  onlyRenderVisibleElements: D,
6633
- onEdgeContextMenu: G,
6633
+ onEdgeContextMenu: ae,
6634
6634
  onEdgeMouseEnter: oe,
6635
- onEdgeMouseMove: se,
6636
- onEdgeMouseLeave: ce,
6637
- reconnectRadius: le,
6635
+ onEdgeMouseMove: K,
6636
+ onEdgeMouseLeave: se,
6637
+ reconnectRadius: ce,
6638
6638
  defaultMarkerColor: P,
6639
- noPanClassName: he,
6640
- disableKeyboardA11y: ge,
6641
- rfId: ve
6639
+ noPanClassName: me,
6640
+ disableKeyboardA11y: he,
6641
+ rfId: _e
6642
6642
  }),
6643
6643
  g(nd, {
6644
6644
  style: h,
@@ -6655,13 +6655,13 @@ function sd({ nodeTypes: e, edgeTypes: t, onInit: n, onNodeClick: r, onEdgeClick
6655
6655
  onNodeMouseMove: c,
6656
6656
  onNodeMouseLeave: l,
6657
6657
  onNodeContextMenu: u,
6658
- nodeClickDistance: ae,
6658
+ nodeClickDistance: ie,
6659
6659
  onlyRenderVisibleElements: D,
6660
- noPanClassName: he,
6661
- noDragClassName: pe,
6662
- disableKeyboardA11y: ge,
6663
- nodeExtent: _e,
6664
- rfId: ve
6660
+ noPanClassName: me,
6661
+ noDragClassName: fe,
6662
+ disableKeyboardA11y: he,
6663
+ nodeExtent: ge,
6664
+ rfId: _e
6665
6665
  }),
6666
6666
  g("div", { className: "react-flow__viewport-portal" })
6667
6667
  ] })
@@ -7004,42 +7004,42 @@ var md = {
7004
7004
  position: "relative",
7005
7005
  zIndex: 0
7006
7006
  };
7007
- function hd({ nodes: e, edges: t, defaultNodes: n, defaultEdges: r, className: i, nodeTypes: o, edgeTypes: s, onNodeClick: c, onEdgeClick: l, onInit: u, onMove: d, onMoveStart: f, onMoveEnd: p, onConnect: m, onConnectStart: h, onConnectEnd: v, onClickConnectStart: y, onClickConnectEnd: b, onNodeMouseEnter: x, onNodeMouseMove: S, onNodeMouseLeave: C, onNodeContextMenu: w, onNodeDoubleClick: T, onNodeDragStart: E, onNodeDrag: O, onNodeDragStop: k, onNodesDelete: A, onEdgesDelete: j, onDelete: M, onSelectionChange: N, onSelectionDragStart: P, onSelectionDrag: F, onSelectionDragStop: I, onSelectionContextMenu: L, onSelectionStart: R, onSelectionEnd: ee, onBeforeDelete: z, connectionMode: B, connectionLineType: V = Ta.Bezier, connectionLineStyle: H, connectionLineComponent: U, connectionLineContainerStyle: W, deleteKeyCode: te = "Backspace", selectionKeyCode: ne = "Shift", selectionOnDrag: re = !1, selectionMode: ie = Ca.Full, panActivationKeyCode: ae = "Space", multiSelectionKeyCode: G = lo() ? "Meta" : "Control", zoomActivationKeyCode: oe = lo() ? "Meta" : "Control", snapToGrid: se, snapGrid: ce, onlyRenderVisibleElements: le = !1, selectNodesOnDrag: ue, nodesDraggable: de, autoPanOnNodeFocus: fe, nodesConnectable: pe, nodesFocusable: me, nodeOrigin: he = Fc, edgesFocusable: ge, edgesReconnectable: _e, elementsSelectable: ve = !0, defaultViewport: ye = Ic, minZoom: be = .5, maxZoom: xe = 2, translateExtent: Se = va, preventScrolling: Ce = !0, nodeExtent: we, defaultMarkerColor: Te = "#b1b1b7", zoomOnScroll: Ee = !0, zoomOnPinch: De = !0, panOnScroll: Oe = !1, panOnScrollSpeed: ke = .5, panOnScrollMode: Ae = Sa.Free, zoomOnDoubleClick: je = !0, panOnDrag: Me = !0, onPaneClick: Ne, onPaneMouseEnter: Pe, onPaneMouseMove: Fe, onPaneMouseLeave: Ie, onPaneScroll: Le, onPaneContextMenu: Re, paneClickDistance: ze = 1, nodeClickDistance: Be = 0, children: Ve, onReconnect: He, onReconnectStart: Ue, onReconnectEnd: We, onEdgeContextMenu: Ge, onEdgeDoubleClick: Ke, onEdgeMouseEnter: qe, onEdgeMouseMove: Je, onEdgeMouseLeave: Ye, reconnectRadius: Xe = 10, onNodesChange: Ze, onEdgesChange: Qe, noDragClassName: $e = "nodrag", noWheelClassName: et = "nowheel", noPanClassName: tt = "nopan", fitView: nt, fitViewOptions: rt, connectOnClick: it, attributionPosition: at, proOptions: ot, defaultEdgeOptions: st, elevateNodesOnSelect: ct = !0, elevateEdgesOnSelect: lt = !1, disableKeyboardA11y: ut = !1, autoPanOnConnect: dt, autoPanOnNodeDrag: ft, autoPanOnSelection: pt = !0, autoPanSpeed: mt, connectionRadius: ht, isValidConnection: gt, onError: _t, style: vt, id: yt, nodeDragThreshold: bt, connectionDragThreshold: xt, viewport: St, onViewportChange: Ct, width: wt, height: Tt, colorMode: Et = "light", debug: Dt, onScroll: Ot, ariaLabelConfig: kt, zIndexMode: At = "basic", ...jt }, Mt) {
7008
- let Nt = yt || "1", Pt = Hc(Et), Ft = a((e) => {
7007
+ function hd({ nodes: e, edges: t, defaultNodes: n, defaultEdges: r, className: i, nodeTypes: o, edgeTypes: s, onNodeClick: c, onEdgeClick: l, onInit: u, onMove: d, onMoveStart: f, onMoveEnd: p, onConnect: m, onConnectStart: h, onConnectEnd: v, onClickConnectStart: y, onClickConnectEnd: b, onNodeMouseEnter: x, onNodeMouseMove: S, onNodeMouseLeave: C, onNodeContextMenu: w, onNodeDoubleClick: T, onNodeDragStart: E, onNodeDrag: O, onNodeDragStop: k, onNodesDelete: A, onEdgesDelete: j, onDelete: M, onSelectionChange: N, onSelectionDragStart: P, onSelectionDrag: F, onSelectionDragStop: I, onSelectionContextMenu: L, onSelectionStart: R, onSelectionEnd: z, onBeforeDelete: B, connectionMode: V, connectionLineType: H = Ta.Bezier, connectionLineStyle: U, connectionLineComponent: W, connectionLineContainerStyle: G, deleteKeyCode: ee = "Backspace", selectionKeyCode: te = "Shift", selectionOnDrag: ne = !1, selectionMode: re = Ca.Full, panActivationKeyCode: ie = "Space", multiSelectionKeyCode: ae = lo() ? "Meta" : "Control", zoomActivationKeyCode: oe = lo() ? "Meta" : "Control", snapToGrid: K, snapGrid: se, onlyRenderVisibleElements: ce = !1, selectNodesOnDrag: le, nodesDraggable: ue, autoPanOnNodeFocus: de, nodesConnectable: fe, nodesFocusable: pe, nodeOrigin: me = Fc, edgesFocusable: he, edgesReconnectable: ge, elementsSelectable: _e = !0, defaultViewport: ve = Ic, minZoom: ye = .5, maxZoom: be = 2, translateExtent: xe = va, preventScrolling: Se = !0, nodeExtent: Ce, defaultMarkerColor: we = "#b1b1b7", zoomOnScroll: Te = !0, zoomOnPinch: Ee = !0, panOnScroll: De = !1, panOnScrollSpeed: Oe = .5, panOnScrollMode: ke = Sa.Free, zoomOnDoubleClick: Ae = !0, panOnDrag: je = !0, onPaneClick: Me, onPaneMouseEnter: Ne, onPaneMouseMove: Pe, onPaneMouseLeave: Fe, onPaneScroll: Ie, onPaneContextMenu: Le, paneClickDistance: Re = 1, nodeClickDistance: ze = 0, children: Be, onReconnect: Ve, onReconnectStart: He, onReconnectEnd: Ue, onEdgeContextMenu: We, onEdgeDoubleClick: Ge, onEdgeMouseEnter: Ke, onEdgeMouseMove: qe, onEdgeMouseLeave: Je, reconnectRadius: Ye = 10, onNodesChange: Xe, onEdgesChange: Ze, noDragClassName: Qe = "nodrag", noWheelClassName: $e = "nowheel", noPanClassName: et = "nopan", fitView: tt, fitViewOptions: nt, connectOnClick: rt, attributionPosition: it, proOptions: at, defaultEdgeOptions: ot, elevateNodesOnSelect: st = !0, elevateEdgesOnSelect: ct = !1, disableKeyboardA11y: lt = !1, autoPanOnConnect: ut, autoPanOnNodeDrag: dt, autoPanOnSelection: ft = !0, autoPanSpeed: pt, connectionRadius: mt, isValidConnection: ht, onError: gt, style: _t, id: vt, nodeDragThreshold: yt, connectionDragThreshold: bt, viewport: xt, onViewportChange: St, width: Ct, height: wt, colorMode: Tt = "light", debug: Et, onScroll: Dt, ariaLabelConfig: Ot, zIndexMode: kt = "basic", ...At }, jt) {
7008
+ let Mt = vt || "1", Nt = Hc(Tt), Pt = a((e) => {
7009
7009
  e.currentTarget.scrollTo({
7010
7010
  top: 0,
7011
7011
  left: 0,
7012
7012
  behavior: "instant"
7013
- }), Ot?.(e);
7014
- }, [Ot]);
7013
+ }), Dt?.(e);
7014
+ }, [Dt]);
7015
7015
  return g("div", {
7016
7016
  "data-testid": "rf__wrapper",
7017
- ...jt,
7018
- onScroll: Ft,
7017
+ ...At,
7018
+ onScroll: Pt,
7019
7019
  style: {
7020
- ...vt,
7020
+ ..._t,
7021
7021
  ...md
7022
7022
  },
7023
- ref: Mt,
7023
+ ref: jt,
7024
7024
  className: D([
7025
7025
  "react-flow",
7026
7026
  i,
7027
- Pt
7027
+ Nt
7028
7028
  ]),
7029
- id: yt,
7029
+ id: vt,
7030
7030
  role: "application",
7031
7031
  children: _(pd, {
7032
7032
  nodes: e,
7033
7033
  edges: t,
7034
- width: wt,
7035
- height: Tt,
7036
- fitView: nt,
7037
- fitViewOptions: rt,
7038
- minZoom: be,
7039
- maxZoom: xe,
7040
- nodeOrigin: he,
7041
- nodeExtent: we,
7042
- zIndexMode: At,
7034
+ width: Ct,
7035
+ height: wt,
7036
+ fitView: tt,
7037
+ fitViewOptions: nt,
7038
+ minZoom: ye,
7039
+ maxZoom: be,
7040
+ nodeOrigin: me,
7041
+ nodeExtent: Ce,
7042
+ zIndexMode: kt,
7043
7043
  children: [
7044
7044
  g(Bc, {
7045
7045
  nodes: e,
@@ -7051,28 +7051,28 @@ function hd({ nodes: e, edges: t, defaultNodes: n, defaultEdges: r, className: i
7051
7051
  onConnectEnd: v,
7052
7052
  onClickConnectStart: y,
7053
7053
  onClickConnectEnd: b,
7054
- nodesDraggable: de,
7055
- autoPanOnNodeFocus: fe,
7056
- nodesConnectable: pe,
7057
- nodesFocusable: me,
7058
- edgesFocusable: ge,
7059
- edgesReconnectable: _e,
7060
- elementsSelectable: ve,
7061
- elevateNodesOnSelect: ct,
7062
- elevateEdgesOnSelect: lt,
7063
- minZoom: be,
7064
- maxZoom: xe,
7065
- nodeExtent: we,
7066
- onNodesChange: Ze,
7067
- onEdgesChange: Qe,
7068
- snapToGrid: se,
7069
- snapGrid: ce,
7070
- connectionMode: B,
7071
- translateExtent: Se,
7072
- connectOnClick: it,
7073
- defaultEdgeOptions: st,
7074
- fitView: nt,
7075
- fitViewOptions: rt,
7054
+ nodesDraggable: ue,
7055
+ autoPanOnNodeFocus: de,
7056
+ nodesConnectable: fe,
7057
+ nodesFocusable: pe,
7058
+ edgesFocusable: he,
7059
+ edgesReconnectable: ge,
7060
+ elementsSelectable: _e,
7061
+ elevateNodesOnSelect: st,
7062
+ elevateEdgesOnSelect: ct,
7063
+ minZoom: ye,
7064
+ maxZoom: be,
7065
+ nodeExtent: Ce,
7066
+ onNodesChange: Xe,
7067
+ onEdgesChange: Ze,
7068
+ snapToGrid: K,
7069
+ snapGrid: se,
7070
+ connectionMode: V,
7071
+ translateExtent: xe,
7072
+ connectOnClick: rt,
7073
+ defaultEdgeOptions: ot,
7074
+ fitView: tt,
7075
+ fitViewOptions: nt,
7076
7076
  onNodesDelete: A,
7077
7077
  onEdgesDelete: j,
7078
7078
  onDelete: M,
@@ -7085,22 +7085,22 @@ function hd({ nodes: e, edges: t, defaultNodes: n, defaultEdges: r, className: i
7085
7085
  onMove: d,
7086
7086
  onMoveStart: f,
7087
7087
  onMoveEnd: p,
7088
- noPanClassName: tt,
7089
- nodeOrigin: he,
7090
- rfId: Nt,
7091
- autoPanOnConnect: dt,
7092
- autoPanOnNodeDrag: ft,
7093
- autoPanSpeed: mt,
7094
- onError: _t,
7095
- connectionRadius: ht,
7096
- isValidConnection: gt,
7097
- selectNodesOnDrag: ue,
7098
- nodeDragThreshold: bt,
7099
- connectionDragThreshold: xt,
7100
- onBeforeDelete: z,
7101
- debug: Dt,
7102
- ariaLabelConfig: kt,
7103
- zIndexMode: At
7088
+ noPanClassName: et,
7089
+ nodeOrigin: me,
7090
+ rfId: Mt,
7091
+ autoPanOnConnect: ut,
7092
+ autoPanOnNodeDrag: dt,
7093
+ autoPanSpeed: pt,
7094
+ onError: gt,
7095
+ connectionRadius: mt,
7096
+ isValidConnection: ht,
7097
+ selectNodesOnDrag: le,
7098
+ nodeDragThreshold: yt,
7099
+ connectionDragThreshold: bt,
7100
+ onBeforeDelete: B,
7101
+ debug: Et,
7102
+ ariaLabelConfig: Ot,
7103
+ zIndexMode: kt
7104
7104
  }),
7105
7105
  g(cd, {
7106
7106
  onInit: u,
@@ -7113,70 +7113,70 @@ function hd({ nodes: e, edges: t, defaultNodes: n, defaultEdges: r, className: i
7113
7113
  onNodeDoubleClick: T,
7114
7114
  nodeTypes: o,
7115
7115
  edgeTypes: s,
7116
- connectionLineType: V,
7117
- connectionLineStyle: H,
7118
- connectionLineComponent: U,
7119
- connectionLineContainerStyle: W,
7120
- selectionKeyCode: ne,
7121
- selectionOnDrag: re,
7122
- selectionMode: ie,
7123
- deleteKeyCode: te,
7124
- multiSelectionKeyCode: G,
7125
- panActivationKeyCode: ae,
7116
+ connectionLineType: H,
7117
+ connectionLineStyle: U,
7118
+ connectionLineComponent: W,
7119
+ connectionLineContainerStyle: G,
7120
+ selectionKeyCode: te,
7121
+ selectionOnDrag: ne,
7122
+ selectionMode: re,
7123
+ deleteKeyCode: ee,
7124
+ multiSelectionKeyCode: ae,
7125
+ panActivationKeyCode: ie,
7126
7126
  zoomActivationKeyCode: oe,
7127
- onlyRenderVisibleElements: le,
7128
- defaultViewport: ye,
7129
- translateExtent: Se,
7130
- minZoom: be,
7131
- maxZoom: xe,
7132
- preventScrolling: Ce,
7133
- zoomOnScroll: Ee,
7134
- zoomOnPinch: De,
7135
- zoomOnDoubleClick: je,
7136
- panOnScroll: Oe,
7137
- panOnScrollSpeed: ke,
7138
- panOnScrollMode: Ae,
7139
- panOnDrag: Me,
7140
- autoPanOnSelection: pt,
7141
- onPaneClick: Ne,
7142
- onPaneMouseEnter: Pe,
7143
- onPaneMouseMove: Fe,
7144
- onPaneMouseLeave: Ie,
7145
- onPaneScroll: Le,
7146
- onPaneContextMenu: Re,
7147
- paneClickDistance: ze,
7148
- nodeClickDistance: Be,
7127
+ onlyRenderVisibleElements: ce,
7128
+ defaultViewport: ve,
7129
+ translateExtent: xe,
7130
+ minZoom: ye,
7131
+ maxZoom: be,
7132
+ preventScrolling: Se,
7133
+ zoomOnScroll: Te,
7134
+ zoomOnPinch: Ee,
7135
+ zoomOnDoubleClick: Ae,
7136
+ panOnScroll: De,
7137
+ panOnScrollSpeed: Oe,
7138
+ panOnScrollMode: ke,
7139
+ panOnDrag: je,
7140
+ autoPanOnSelection: ft,
7141
+ onPaneClick: Me,
7142
+ onPaneMouseEnter: Ne,
7143
+ onPaneMouseMove: Pe,
7144
+ onPaneMouseLeave: Fe,
7145
+ onPaneScroll: Ie,
7146
+ onPaneContextMenu: Le,
7147
+ paneClickDistance: Re,
7148
+ nodeClickDistance: ze,
7149
7149
  onSelectionContextMenu: L,
7150
7150
  onSelectionStart: R,
7151
- onSelectionEnd: ee,
7152
- onReconnect: He,
7153
- onReconnectStart: Ue,
7154
- onReconnectEnd: We,
7155
- onEdgeContextMenu: Ge,
7156
- onEdgeDoubleClick: Ke,
7157
- onEdgeMouseEnter: qe,
7158
- onEdgeMouseMove: Je,
7159
- onEdgeMouseLeave: Ye,
7160
- reconnectRadius: Xe,
7161
- defaultMarkerColor: Te,
7162
- noDragClassName: $e,
7163
- noWheelClassName: et,
7164
- noPanClassName: tt,
7165
- rfId: Nt,
7166
- disableKeyboardA11y: ut,
7167
- nodeExtent: we,
7168
- viewport: St,
7169
- onViewportChange: Ct
7151
+ onSelectionEnd: z,
7152
+ onReconnect: Ve,
7153
+ onReconnectStart: He,
7154
+ onReconnectEnd: Ue,
7155
+ onEdgeContextMenu: We,
7156
+ onEdgeDoubleClick: Ge,
7157
+ onEdgeMouseEnter: Ke,
7158
+ onEdgeMouseMove: qe,
7159
+ onEdgeMouseLeave: Je,
7160
+ reconnectRadius: Ye,
7161
+ defaultMarkerColor: we,
7162
+ noDragClassName: Qe,
7163
+ noWheelClassName: $e,
7164
+ noPanClassName: et,
7165
+ rfId: Mt,
7166
+ disableKeyboardA11y: lt,
7167
+ nodeExtent: Ce,
7168
+ viewport: xt,
7169
+ onViewportChange: St
7170
7170
  }),
7171
7171
  g(Pc, { onSelectionChange: N }),
7172
- Ve,
7172
+ Be,
7173
7173
  g(Oc, {
7174
- proOptions: ot,
7175
- position: at
7174
+ proOptions: at,
7175
+ position: it
7176
7176
  }),
7177
7177
  g(Ec, {
7178
- rfId: Nt,
7179
- disableKeyboardA11y: ut
7178
+ rfId: Mt,
7179
+ disableKeyboardA11y: lt
7180
7180
  })
7181
7181
  ]
7182
7182
  })
@@ -7486,18 +7486,18 @@ var Ud = i(Hd), Wd = i(Vd), Gd = 200, Kd = 150, qd = (e) => !e.hidden, Jd = (e)
7486
7486
  };
7487
7487
  }, Yd = "react-flow__minimap-desc";
7488
7488
  function Xd({ style: e, className: t, nodeStrokeColor: n, nodeColor: r, nodeClassName: i = "", nodeBorderRadius: o = 5, nodeStrokeWidth: s, nodeComponent: l, bgColor: u, maskColor: f, maskStrokeColor: p, maskStrokeWidth: m, position: h = "bottom-right", onClick: v, onNodeClick: y, pannable: b = !1, zoomable: x = !1, ariaLabel: S, inversePan: C, zoomStep: w = 1, offsetScale: T = 5 }) {
7489
- let E = Q(), O = d(null), { boundingRect: k, viewBB: A, rfId: j, panZoom: M, translateExtent: N, flowWidth: P, flowHeight: F, ariaLabelConfig: I } = Z(Jd, X), L = e?.width ?? Gd, R = e?.height ?? Kd, ee = k.width / L, z = k.height / R, B = Math.max(ee, z), V = B * L, H = B * R, U = T * B, W = k.x - (V - k.width) / 2 - U, te = k.y - (H - k.height) / 2 - U, ne = V + U * 2, re = H + U * 2, ie = `${Yd}-${j}`, ae = d(0), G = d();
7490
- ae.current = B, c(() => {
7491
- if (O.current && M) return G.current = As({
7489
+ let E = Q(), O = d(null), { boundingRect: k, viewBB: A, rfId: j, panZoom: M, translateExtent: N, flowWidth: P, flowHeight: F, ariaLabelConfig: I } = Z(Jd, X), L = e?.width ?? Gd, R = e?.height ?? Kd, z = k.width / L, B = k.height / R, V = Math.max(z, B), H = V * L, U = V * R, W = T * V, G = k.x - (H - k.width) / 2 - W, ee = k.y - (U - k.height) / 2 - W, te = H + W * 2, ne = U + W * 2, re = `${Yd}-${j}`, ie = d(0), ae = d();
7490
+ ie.current = V, c(() => {
7491
+ if (O.current && M) return ae.current = As({
7492
7492
  domNode: O.current,
7493
7493
  panZoom: M,
7494
7494
  getTransform: () => E.getState().transform,
7495
- getViewScale: () => ae.current
7495
+ getViewScale: () => ie.current
7496
7496
  }), () => {
7497
- G.current?.destroy();
7497
+ ae.current?.destroy();
7498
7498
  };
7499
7499
  }, [M]), c(() => {
7500
- G.current?.update({
7500
+ ae.current?.update({
7501
7501
  translateExtent: N,
7502
7502
  width: P,
7503
7503
  height: F,
@@ -7516,15 +7516,15 @@ function Xd({ style: e, className: t, nodeStrokeColor: n, nodeColor: r, nodeClas
7516
7516
  F
7517
7517
  ]);
7518
7518
  let oe = v ? (e) => {
7519
- let [t, n] = G.current?.pointer(e) || [0, 0];
7519
+ let [t, n] = ae.current?.pointer(e) || [0, 0];
7520
7520
  v(e, {
7521
7521
  x: t,
7522
7522
  y: n
7523
7523
  });
7524
- } : void 0, se = y ? a((e, t) => {
7524
+ } : void 0, K = y ? a((e, t) => {
7525
7525
  let n = E.getState().nodeLookup.get(t).internals.userNode;
7526
7526
  y(e, n);
7527
- }, []) : void 0, ce = S ?? I["minimap.ariaLabel"];
7527
+ }, []) : void 0, se = S ?? I["minimap.ariaLabel"];
7528
7528
  return g(Dc, {
7529
7529
  position: h,
7530
7530
  style: {
@@ -7532,7 +7532,7 @@ function Xd({ style: e, className: t, nodeStrokeColor: n, nodeColor: r, nodeClas
7532
7532
  "--xy-minimap-background-color-props": typeof u == "string" ? u : void 0,
7533
7533
  "--xy-minimap-mask-background-color-props": typeof f == "string" ? f : void 0,
7534
7534
  "--xy-minimap-mask-stroke-color-props": typeof p == "string" ? p : void 0,
7535
- "--xy-minimap-mask-stroke-width-props": typeof m == "number" ? m * B : void 0,
7535
+ "--xy-minimap-mask-stroke-width-props": typeof m == "number" ? m * V : void 0,
7536
7536
  "--xy-minimap-node-background-color-props": typeof r == "string" ? r : void 0,
7537
7537
  "--xy-minimap-node-stroke-color-props": typeof n == "string" ? n : void 0,
7538
7538
  "--xy-minimap-node-stroke-width-props": typeof s == "number" ? s : void 0
@@ -7542,19 +7542,19 @@ function Xd({ style: e, className: t, nodeStrokeColor: n, nodeColor: r, nodeClas
7542
7542
  children: _("svg", {
7543
7543
  width: L,
7544
7544
  height: R,
7545
- viewBox: `${W} ${te} ${ne} ${re}`,
7545
+ viewBox: `${G} ${ee} ${te} ${ne}`,
7546
7546
  className: "react-flow__minimap-svg",
7547
7547
  role: "img",
7548
- "aria-labelledby": ie,
7548
+ "aria-labelledby": re,
7549
7549
  ref: O,
7550
7550
  onClick: oe,
7551
7551
  children: [
7552
- ce && g("title", {
7553
- id: ie,
7554
- children: ce
7552
+ se && g("title", {
7553
+ id: re,
7554
+ children: se
7555
7555
  }),
7556
7556
  g(Wd, {
7557
- onClick: se,
7557
+ onClick: K,
7558
7558
  nodeColor: r,
7559
7559
  nodeStrokeColor: n,
7560
7560
  nodeBorderRadius: o,
@@ -7564,7 +7564,7 @@ function Xd({ style: e, className: t, nodeStrokeColor: n, nodeColor: r, nodeClas
7564
7564
  }),
7565
7565
  g("path", {
7566
7566
  className: "react-flow__minimap-mask",
7567
- d: `M${W - U},${te - U}h${ne + U * 2}v${re + U * 2}h${-ne - U * 2}z
7567
+ d: `M${G - W},${ee - W}h${te + W * 2}v${ne + W * 2}h${-te - W * 2}z
7568
7568
  M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,
7569
7569
  fillRule: "evenodd",
7570
7570
  pointerEvents: "none"
@@ -8899,128 +8899,129 @@ var gp = {
8899
8899
  nodeFrame: hp
8900
8900
  }, _p = { padding: .08 };
8901
8901
  function vp(e) {
8902
- let { nodes: t, edges: n, jsonText: r, breadcrumbs: i, onNavigate: o, onSelectionIds: s, onCopiedMagicString: l, interaction: u = "always" } = e, { fitView: p, getNodes: m, getNodesBounds: h } = ml(), v = bd(), y = d(null), b = d(!1), x = d([]), [S, C] = f(null), [w, D] = f(!1), [O, k] = f(!1), A = d(null), [j, M] = f("mouse"), N = d(-Infinity), [P, F] = f(!1), [I, L] = f(!1), R = d([]), [ee, z, B] = _d(t), [V, H, U] = vd(n), [W, te] = f(void 0);
8902
+ let { nodes: t, edges: n, jsonText: r, breadcrumbs: i, onNavigate: o, onSelectionIds: s, onCopiedMagicString: l, interaction: u = "always", allowCopy: p = !0, allowSelection: m = !0 } = e, { fitView: h, getNodes: v, getNodesBounds: y } = ml(), b = bd(), x = d(null), S = d(!1), C = d([]), [w, D] = f(null), [O, k] = f(!1), [A, j] = f(!1), M = d(null), [N, P] = f("mouse"), F = d(-Infinity), [I, L] = f(!1), [R, z] = f(!1), B = d([]), [V, H, U] = _d(t), [W, G, ee] = vd(n), [te, ne] = f(void 0);
8903
8903
  c(() => {
8904
- if (!v) return;
8905
- let e = h(m());
8906
- te([[e.x, e.y], [e.x + e.width, e.y + e.height]]);
8904
+ if (!b) return;
8905
+ let e = y(v());
8906
+ ne([[e.x, e.y], [e.x + e.width, e.y + e.height]]);
8907
8907
  }, [
8908
- v,
8908
+ b,
8909
8909
  t,
8910
- m,
8911
- h
8910
+ v,
8911
+ y
8912
8912
  ]), c(() => {
8913
- z(t), s?.([]), b.current = !1, p(_p);
8913
+ H(t), s?.([]), S.current = !1, h(_p);
8914
8914
  }, [
8915
8915
  t,
8916
- z,
8916
+ H,
8917
8917
  s,
8918
- p
8918
+ h
8919
8919
  ]), c(() => {
8920
- H(n);
8921
- }, [n, H]), c(() => {
8922
- let e = y.current;
8920
+ G(n);
8921
+ }, [n, G]), c(() => {
8922
+ let e = x.current;
8923
8923
  if (!e) return;
8924
8924
  let t = new ResizeObserver(() => {
8925
- b.current || p(_p);
8925
+ S.current || h(_p);
8926
8926
  });
8927
8927
  return t.observe(e), () => t.disconnect();
8928
- }, [p]);
8929
- let ne = a((e) => {
8930
- e && (b.current = !0);
8931
- }, []), re = a(({ nodes: e }) => {
8928
+ }, [h]);
8929
+ let re = a((e) => {
8930
+ e && (S.current = !0);
8931
+ }, []), ie = a(({ nodes: e }) => {
8932
8932
  let t = e.map((e) => e.id);
8933
- x.current = t, s?.(t);
8934
- }, [s]), ie = a((e) => {
8933
+ C.current = t, s?.(t);
8934
+ }, [s]), ae = a((e) => {
8935
+ if (!p) return;
8935
8936
  e.preventDefault();
8936
- let t = y.current?.getBoundingClientRect();
8937
- C({
8937
+ let t = x.current?.getBoundingClientRect();
8938
+ D({
8938
8939
  x: e.clientX - (t?.left ?? 0),
8939
8940
  y: e.clientY - (t?.top ?? 0)
8940
8941
  });
8941
- }, []), ae = a(async () => {
8942
- C(null);
8942
+ }, [p]), oe = a(async () => {
8943
+ D(null);
8943
8944
  try {
8944
- let e = JSON.parse(r), t = new Set(x.current.map(Number).filter(Number.isFinite)), n = t.size > 0 ? E(e, t) : e, i = await T(JSON.stringify(n));
8945
+ let e = JSON.parse(r), t = new Set(C.current.map(Number).filter(Number.isFinite)), n = t.size > 0 ? E(e, t) : e, i = await T(JSON.stringify(n));
8945
8946
  if (await navigator.clipboard.writeText(i), l) {
8946
8947
  l();
8947
8948
  return;
8948
8949
  }
8949
- R.current.forEach(clearTimeout), L(!1), F(!0), R.current = [setTimeout(() => L(!0), 2500), setTimeout(() => {
8950
- F(!1), L(!1);
8950
+ B.current.forEach(clearTimeout), z(!1), L(!0), B.current = [setTimeout(() => z(!0), 2500), setTimeout(() => {
8951
+ L(!1), z(!1);
8951
8952
  }, 3e3)];
8952
8953
  } catch {}
8953
8954
  }, [r, l]);
8954
- c(() => () => R.current.forEach(clearTimeout), []), c(() => () => {
8955
- A.current && clearTimeout(A.current);
8955
+ c(() => () => B.current.forEach(clearTimeout), []), c(() => () => {
8956
+ M.current && clearTimeout(M.current);
8956
8957
  }, []);
8957
- let G = u === "hybrid", oe = u === "always" || G && w, se = oe && j === "mouse", ce = oe && j === "trackpad", le = [1];
8958
+ let K = u === "hybrid", se = u === "always" || K && O, ce = se && N === "mouse", le = se && N === "trackpad", ue = m ? [1] : [0, 1], de = m;
8958
8959
  c(() => {
8959
- let e = y.current;
8960
+ let e = x.current;
8960
8961
  if (!e) return;
8961
8962
  let t = (e) => {
8962
8963
  if (!e.ctrlKey) {
8963
- e.deltaX !== 0 && (N.current = e.timeStamp);
8964
- let t = e.timeStamp - N.current < 400 ? "trackpad" : "mouse";
8965
- M((e) => e === t ? e : t);
8964
+ e.deltaX !== 0 && (F.current = e.timeStamp);
8965
+ let t = e.timeStamp - F.current < 400 ? "trackpad" : "mouse";
8966
+ P((e) => e === t ? e : t);
8966
8967
  }
8967
- G && !w && !e.ctrlKey && (k(!0), A.current && clearTimeout(A.current), A.current = setTimeout(() => k(!1), 1600));
8968
+ K && !O && !e.ctrlKey && (j(!0), M.current && clearTimeout(M.current), M.current = setTimeout(() => j(!1), 1600));
8968
8969
  };
8969
8970
  return e.addEventListener("wheel", t, {
8970
8971
  capture: !0,
8971
8972
  passive: !0
8972
8973
  }), () => e.removeEventListener("wheel", t, { capture: !0 });
8973
- }, [G, w]);
8974
- let ue = a((e) => {
8975
- G && e.button === 0 && (D(!0), k(!1));
8976
- }, [G]), de = a(() => {
8977
- G && D(!1);
8978
- }, [G]);
8974
+ }, [K, O]);
8975
+ let fe = a((e) => {
8976
+ K && e.button === 0 && (k(!0), j(!1));
8977
+ }, [K]), pe = a(() => {
8978
+ K && k(!1);
8979
+ }, [K]);
8979
8980
  return c(() => {
8980
- if (!S) return;
8981
- let e = () => C(null), t = (e) => {
8982
- e.key === "Escape" && C(null);
8981
+ if (!w) return;
8982
+ let e = () => D(null), t = (e) => {
8983
+ e.key === "Escape" && D(null);
8983
8984
  };
8984
8985
  return window.addEventListener("click", e), window.addEventListener("scroll", e, !0), window.addEventListener("keydown", t), () => {
8985
8986
  window.removeEventListener("click", e), window.removeEventListener("scroll", e, !0), window.removeEventListener("keydown", t);
8986
8987
  };
8987
- }, [S]), /* @__PURE__ */ _("div", {
8988
- ref: y,
8989
- className: `gn-canvas-wrapper${G && w ? " gn-canvas-wrapper--engaged" : ""}`,
8988
+ }, [w]), /* @__PURE__ */ _("div", {
8989
+ ref: x,
8990
+ className: `gn-canvas-wrapper${K && O ? " gn-canvas-wrapper--engaged" : ""}`,
8990
8991
  style: {
8991
8992
  width: "100%",
8992
8993
  height: "100%",
8993
8994
  position: "relative"
8994
8995
  },
8995
- onContextMenu: ie,
8996
- onPointerDown: ue,
8997
- onPointerLeave: de,
8996
+ onContextMenu: ae,
8997
+ onPointerDown: fe,
8998
+ onPointerLeave: pe,
8998
8999
  children: [
8999
9000
  /* @__PURE__ */ _(gd, {
9000
- nodes: ee,
9001
- edges: V,
9002
- onNodesChange: B,
9003
- onEdgesChange: U,
9004
- onSelectionChange: re,
9005
- onMoveStart: ne,
9001
+ nodes: V,
9002
+ edges: W,
9003
+ onNodesChange: U,
9004
+ onEdgesChange: ee,
9005
+ onSelectionChange: ie,
9006
+ onMoveStart: re,
9006
9007
  nodeTypes: gp,
9007
9008
  fitView: !0,
9008
9009
  fitViewOptions: _p,
9009
9010
  minZoom: .2,
9010
- translateExtent: W,
9011
+ translateExtent: te,
9011
9012
  nodesDraggable: !1,
9012
9013
  nodesConnectable: !1,
9013
- elementsSelectable: !0,
9014
+ elementsSelectable: m,
9014
9015
  nodesFocusable: !1,
9015
9016
  edgesFocusable: !1,
9016
9017
  selectNodesOnDrag: !1,
9017
- selectionOnDrag: !0,
9018
+ selectionOnDrag: de,
9018
9019
  selectionMode: Ca.Partial,
9019
9020
  connectOnClick: !1,
9020
- panOnDrag: le,
9021
- zoomOnScroll: se,
9022
- panOnScroll: ce,
9023
- preventScrolling: oe,
9021
+ panOnDrag: ue,
9022
+ zoomOnScroll: ce,
9023
+ panOnScroll: le,
9024
+ preventScrolling: se,
9024
9025
  zoomOnDoubleClick: !1,
9025
9026
  children: [
9026
9027
  /* @__PURE__ */ g(Dd, {
@@ -9029,7 +9030,7 @@ function vp(e) {
9029
9030
  color: "var(--grid-dot, #3a3a3a)"
9030
9031
  }),
9031
9032
  /* @__PURE__ */ g(Id, { showInteractive: !1 }),
9032
- G && O ? /* @__PURE__ */ g(Dc, {
9033
+ K && A ? /* @__PURE__ */ g(Dc, {
9033
9034
  position: "bottom-center",
9034
9035
  children: /* @__PURE__ */ g("div", {
9035
9036
  className: "gn-zoom-hint",
@@ -9043,7 +9044,7 @@ function vp(e) {
9043
9044
  className: "gn-top-left",
9044
9045
  children: [/* @__PURE__ */ _("span", {
9045
9046
  className: "gn-version-badge",
9046
- children: ["node-web-render v", "0.3.23"]
9047
+ children: ["node-web-render v", "0.3.25"]
9047
9048
  }), i.length > 1 ? /* @__PURE__ */ g("nav", {
9048
9049
  className: "gn-breadcrumbs",
9049
9050
  "aria-label": "Node group path",
@@ -9072,11 +9073,11 @@ function vp(e) {
9072
9073
  })
9073
9074
  ]
9074
9075
  }),
9075
- S ? /* @__PURE__ */ g("div", {
9076
+ w ? /* @__PURE__ */ g("div", {
9076
9077
  className: "gn-context-menu",
9077
9078
  style: {
9078
- left: S.x,
9079
- top: S.y
9079
+ left: w.x,
9080
+ top: w.y
9080
9081
  },
9081
9082
  onClick: (e) => e.stopPropagation(),
9082
9083
  role: "menu",
@@ -9084,12 +9085,12 @@ function vp(e) {
9084
9085
  type: "button",
9085
9086
  className: "gn-context-menu__item",
9086
9087
  role: "menuitem",
9087
- onClick: ae,
9088
+ onClick: oe,
9088
9089
  children: "Copy selected nodes to Tree Clipper magic string"
9089
9090
  })
9090
9091
  }) : null,
9091
- P || I ? /* @__PURE__ */ g("div", {
9092
- className: `gn-context-toast${I ? " gnwr-leaving" : ""}`,
9092
+ I || R ? /* @__PURE__ */ g("div", {
9093
+ className: `gn-context-toast${R ? " gnwr-leaving" : ""}`,
9093
9094
  role: "status",
9094
9095
  children: "Copied Tree Clipper magic string"
9095
9096
  }) : null
@@ -9097,10 +9098,10 @@ function vp(e) {
9097
9098
  });
9098
9099
  }
9099
9100
  function yp(e) {
9100
- let { jsonText: t, showHeader: n = !0, onSelectionChange: r, onCopiedMagicString: i, interaction: o = "always" } = e, [s, l] = f({
9101
+ let { jsonText: t, showHeader: n = !0, onSelectionChange: r, onCopiedMagicString: i, interaction: o = "always", allowCopy: s = !0, allowSelection: l = !0 } = e, [d, p] = f({
9101
9102
  json: t,
9102
9103
  ids: []
9103
- }), d = u(() => {
9104
+ }), m = u(() => {
9104
9105
  if (!t.trim()) return null;
9105
9106
  try {
9106
9107
  let { rootId: e, trees: n } = xf(JSON.parse(t)), r = {};
@@ -9123,36 +9124,36 @@ function yp(e) {
9123
9124
  error: e instanceof Error ? e.message : String(e)
9124
9125
  };
9125
9126
  }
9126
- }, [t]), p = u(() => {
9127
- if (!d?.views) return [];
9128
- let e = s.json === t ? s.ids : [], n = [d.rootId];
9129
- for (let t of e) d.views[t] && n.push(t);
9127
+ }, [t]), h = u(() => {
9128
+ if (!m?.views) return [];
9129
+ let e = d.json === t ? d.ids : [], n = [m.rootId];
9130
+ for (let t of e) m.views[t] && n.push(t);
9130
9131
  return n;
9131
9132
  }, [
9133
+ m,
9132
9134
  d,
9133
- s,
9134
9135
  t
9135
- ]), m = d?.views ? d.views[p[p.length - 1]] : null, h = a((e) => {
9136
- l((n) => ({
9136
+ ]), v = m?.views ? m.views[h[h.length - 1]] : null, y = a((e) => {
9137
+ p((n) => ({
9137
9138
  json: t,
9138
9139
  ids: n.json === t ? [...n.ids, e] : [e]
9139
9140
  }));
9140
- }, [t]), v = u(() => ({ openGroup: h }), [h]);
9141
+ }, [t]), b = u(() => ({ openGroup: y }), [y]);
9141
9142
  c(() => {
9142
- if (p.length <= 1) return;
9143
+ if (h.length <= 1) return;
9143
9144
  function e(e) {
9144
9145
  if (e.key !== "Tab" && e.key !== "Escape" || e.ctrlKey || e.metaKey || e.altKey) return;
9145
9146
  let n = e.target;
9146
- n && (n.isContentEditable || n.tagName === "INPUT" || n.tagName === "TEXTAREA" || n.closest(".cm-editor")) || (e.preventDefault(), l({
9147
+ n && (n.isContentEditable || n.tagName === "INPUT" || n.tagName === "TEXTAREA" || n.closest(".cm-editor")) || (e.preventDefault(), p({
9147
9148
  json: t,
9148
- ids: p.slice(1, -1)
9149
+ ids: h.slice(1, -1)
9149
9150
  }));
9150
9151
  }
9151
9152
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
9152
- }, [p, t]);
9153
- let y = d?.views ? p.map((e) => ({
9153
+ }, [h, t]);
9154
+ let x = m?.views ? h.map((e) => ({
9154
9155
  id: e,
9155
- label: d.views[e].graph.label
9156
+ label: m.views[e].graph.label
9156
9157
  })) : [];
9157
9158
  return /* @__PURE__ */ _("div", {
9158
9159
  className: "panel flow-panel",
@@ -9164,28 +9165,30 @@ function yp(e) {
9164
9165
  }), /* @__PURE__ */ g("div", {
9165
9166
  className: "panel-status",
9166
9167
  "aria-live": "polite",
9167
- children: m ? `${m.graph.nodes.length} nodes, ${m.graph.edges.length} links` : null
9168
+ children: v ? `${v.graph.nodes.length} nodes, ${v.graph.edges.length} links` : null
9168
9169
  })]
9169
9170
  }) : null, /* @__PURE__ */ g("div", {
9170
9171
  className: "panel-body flow-panel__body",
9171
- children: d?.error ? /* @__PURE__ */ _("div", {
9172
+ children: m?.error ? /* @__PURE__ */ _("div", {
9172
9173
  className: "flow-error",
9173
9174
  role: "alert",
9174
- children: [/* @__PURE__ */ g("strong", { children: "Parse error" }), /* @__PURE__ */ g("span", { children: d.error })]
9175
- }) : m ? /* @__PURE__ */ g(Kf.Provider, {
9176
- value: v,
9175
+ children: [/* @__PURE__ */ g("strong", { children: "Parse error" }), /* @__PURE__ */ g("span", { children: m.error })]
9176
+ }) : v ? /* @__PURE__ */ g(Kf.Provider, {
9177
+ value: b,
9177
9178
  children: /* @__PURE__ */ g(fd, { children: /* @__PURE__ */ g(vp, {
9178
- nodes: m.flow.nodes,
9179
- edges: m.flow.edges,
9179
+ nodes: v.flow.nodes,
9180
+ edges: v.flow.edges,
9180
9181
  jsonText: t,
9181
- breadcrumbs: y,
9182
- onNavigate: (e) => l({
9182
+ breadcrumbs: x,
9183
+ onNavigate: (e) => p({
9183
9184
  json: t,
9184
- ids: p.slice(1, e + 1)
9185
+ ids: h.slice(1, e + 1)
9185
9186
  }),
9186
9187
  onSelectionIds: r,
9187
9188
  onCopiedMagicString: i,
9188
- interaction: o
9189
+ interaction: o,
9190
+ allowCopy: s,
9191
+ allowSelection: l
9189
9192
  }) })
9190
9193
  }) : /* @__PURE__ */ g("div", {
9191
9194
  className: "flow-empty",
@@ -9258,38 +9261,38 @@ function bp({ className: e }) {
9258
9261
  //#endregion
9259
9262
  //#region src/embed.tsx
9260
9263
  function xp(e) {
9261
- let { payload: t } = e, [n, r] = f(""), [i, a] = f(null), [o, s] = f(!0), [l, u] = f([]), [p, m] = f(!1), [v, y] = f(!1), b = d(!1), S = d(!1), C = d(null), w = d(null), D = d(null), O = () => {
9262
- !S.current || b.current || (y(!0), D.current && clearTimeout(D.current), D.current = setTimeout(() => {
9263
- m(!1), y(!1);
9264
+ let { payload: t, showCopyButton: n = !0, allowSelection: r = !0 } = e, [i, a] = f(""), [o, s] = f(null), [l, u] = f(!0), [p, m] = f([]), [v, y] = f(!1), [b, S] = f(!1), C = d(!1), w = d(!1), D = d(null), O = d(null), k = d(null), A = () => {
9265
+ !w.current || C.current || (S(!0), k.current && clearTimeout(k.current), k.current = setTimeout(() => {
9266
+ y(!1), S(!1);
9264
9267
  }, 500));
9265
- }, k = () => {
9266
- D.current && clearTimeout(D.current), y(!1), m(!0), S.current = !1, C.current && clearTimeout(C.current), C.current = setTimeout(() => {
9267
- S.current = !0, O();
9268
+ }, j = () => {
9269
+ k.current && clearTimeout(k.current), S(!1), y(!0), w.current = !1, D.current && clearTimeout(D.current), D.current = setTimeout(() => {
9270
+ w.current = !0, A();
9268
9271
  }, 3e3);
9269
- }, A = async () => {
9272
+ }, M = async () => {
9270
9273
  try {
9271
- let e = t, r = new Set(l.map(Number).filter(Number.isFinite));
9272
- if (r.size > 0) {
9273
- let t = E(JSON.parse(n), r);
9274
+ let e = t, n = new Set(p.map(Number).filter(Number.isFinite));
9275
+ if (n.size > 0) {
9276
+ let t = E(JSON.parse(i), n);
9274
9277
  e = await T(JSON.stringify(t));
9275
9278
  }
9276
- await navigator.clipboard.writeText(e), k();
9279
+ await navigator.clipboard.writeText(e), j();
9277
9280
  } catch {}
9278
- }, j = () => {
9279
- b.current = !0, w.current && clearTimeout(w.current), v && (D.current && clearTimeout(D.current), y(!1));
9280
- }, M = () => {
9281
- w.current && clearTimeout(w.current), w.current = setTimeout(() => {
9282
- b.current = !1, O();
9281
+ }, N = () => {
9282
+ C.current = !0, O.current && clearTimeout(O.current), b && (k.current && clearTimeout(k.current), S(!1));
9283
+ }, P = () => {
9284
+ O.current && clearTimeout(O.current), O.current = setTimeout(() => {
9285
+ C.current = !1, A();
9283
9286
  }, 150);
9284
9287
  };
9285
9288
  return c(() => () => {
9286
- C.current && clearTimeout(C.current), w.current && clearTimeout(w.current), D.current && clearTimeout(D.current);
9289
+ D.current && clearTimeout(D.current), O.current && clearTimeout(O.current), k.current && clearTimeout(k.current);
9287
9290
  }, []), c(() => {
9288
9291
  let e = !1;
9289
- return s(!0), a(null), x(t).then((t) => {
9290
- e || (r(t), s(!1));
9292
+ return u(!0), s(null), x(t).then((t) => {
9293
+ e || (a(t), u(!1));
9291
9294
  }).catch((t) => {
9292
- e || (a(t instanceof Error ? t.message : String(t)), s(!1));
9295
+ e || (s(t instanceof Error ? t.message : String(t)), u(!1));
9293
9296
  }), () => {
9294
9297
  e = !0;
9295
9298
  };
@@ -9297,7 +9300,7 @@ function xp(e) {
9297
9300
  className: "geonodes-embed geonodes-embed--dark",
9298
9301
  children: /* @__PURE__ */ g("div", {
9299
9302
  className: "geonodes-embed__body",
9300
- children: o ? /* @__PURE__ */ _("div", {
9303
+ children: l ? /* @__PURE__ */ _("div", {
9301
9304
  className: "gnwr-loading",
9302
9305
  role: "status",
9303
9306
  "aria-live": "polite",
@@ -9305,59 +9308,57 @@ function xp(e) {
9305
9308
  className: "gnwr-loading__label",
9306
9309
  children: "Loading graph…"
9307
9310
  })]
9308
- }) : i ? /* @__PURE__ */ _("div", {
9311
+ }) : o ? /* @__PURE__ */ _("div", {
9309
9312
  className: "flow-error",
9310
9313
  role: "alert",
9311
- children: [/* @__PURE__ */ g("strong", { children: "Decode error" }), /* @__PURE__ */ g("span", { children: i })]
9312
- }) : /* @__PURE__ */ _(h, { children: [
9313
- /* @__PURE__ */ g(yp, {
9314
- jsonText: n,
9315
- showHeader: !1,
9316
- interaction: "hybrid",
9317
- onSelectionChange: u,
9318
- onCopiedMagicString: k
9319
- }),
9320
- /* @__PURE__ */ g("button", {
9321
- type: "button",
9322
- className: `gnwr-copy-button${p || v ? " gnwr-copy-button--copied" : ""}`,
9323
- onClick: A,
9324
- onMouseEnter: j,
9325
- onMouseLeave: M,
9326
- title: "Copy the Tree Clipper magic string — paste into Blender with the Tree Clipper add-on",
9327
- children: p || v ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("svg", {
9328
- className: "gnwr-copy-button__check",
9329
- viewBox: "0 0 24 24",
9330
- "aria-hidden": "true",
9331
- children: /* @__PURE__ */ g("path", {
9332
- d: "M20 6L9 17l-5-5",
9333
- fill: "none",
9334
- stroke: "currentColor",
9335
- strokeWidth: "2.5",
9336
- strokeLinecap: "round",
9337
- strokeLinejoin: "round"
9338
- })
9339
- }), /* @__PURE__ */ g("span", { children: "Copied!" })] }) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(bp, { className: "gnwr-copy-button__logo" }), /* @__PURE__ */ g("span", { children: l.length > 0 ? `Copy Magic String of ${l.length} selected node${l.length === 1 ? "" : "s"}` : "Copy TreeClipper Magic String" })] })
9340
- }),
9341
- (p || v) && /* @__PURE__ */ _("div", {
9342
- className: `gnwr-copy-toast${v ? " gnwr-leaving" : ""}`,
9343
- role: "status",
9344
- onMouseEnter: j,
9345
- onMouseLeave: M,
9346
- children: [
9347
- "Now, you can use this magic string in Blender with the",
9348
- " ",
9349
- /* @__PURE__ */ g("a", {
9350
- href: "https://extensions.blender.org/add-ons/tree-clipper/",
9351
- target: "_blank",
9352
- rel: "noopener noreferrer",
9353
- className: "gnwr-copy-toast__link",
9354
- children: "Tree Clipper Extension"
9355
- }),
9356
- " ",
9357
- "installed."
9358
- ]
9359
- })
9360
- ] })
9314
+ children: [/* @__PURE__ */ g("strong", { children: "Decode error" }), /* @__PURE__ */ g("span", { children: o })]
9315
+ }) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(yp, {
9316
+ jsonText: i,
9317
+ showHeader: !1,
9318
+ interaction: "hybrid",
9319
+ onSelectionChange: m,
9320
+ onCopiedMagicString: j,
9321
+ allowCopy: n,
9322
+ allowSelection: r
9323
+ }), n && /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("button", {
9324
+ type: "button",
9325
+ className: `gnwr-copy-button${v || b ? " gnwr-copy-button--copied" : ""}`,
9326
+ onClick: M,
9327
+ onMouseEnter: N,
9328
+ onMouseLeave: P,
9329
+ title: "Copy the Tree Clipper magic string — paste into Blender with the Tree Clipper add-on",
9330
+ children: v || b ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g("svg", {
9331
+ className: "gnwr-copy-button__check",
9332
+ viewBox: "0 0 24 24",
9333
+ "aria-hidden": "true",
9334
+ children: /* @__PURE__ */ g("path", {
9335
+ d: "M20 6L9 17l-5-5",
9336
+ fill: "none",
9337
+ stroke: "currentColor",
9338
+ strokeWidth: "2.5",
9339
+ strokeLinecap: "round",
9340
+ strokeLinejoin: "round"
9341
+ })
9342
+ }), /* @__PURE__ */ g("span", { children: "Copied!" })] }) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(bp, { className: "gnwr-copy-button__logo" }), /* @__PURE__ */ g("span", { children: p.length > 0 ? `Copy Magic String of ${p.length} selected node${p.length === 1 ? "" : "s"}` : "Copy TreeClipper Magic String" })] })
9343
+ }), (v || b) && /* @__PURE__ */ _("div", {
9344
+ className: `gnwr-copy-toast${b ? " gnwr-leaving" : ""}`,
9345
+ role: "status",
9346
+ onMouseEnter: N,
9347
+ onMouseLeave: P,
9348
+ children: [
9349
+ "Now, you can use this magic string in Blender with the",
9350
+ " ",
9351
+ /* @__PURE__ */ g("a", {
9352
+ href: "https://extensions.blender.org/add-ons/tree-clipper/",
9353
+ target: "_blank",
9354
+ rel: "noopener noreferrer",
9355
+ className: "gnwr-copy-toast__link",
9356
+ children: "Tree Clipper Extension"
9357
+ }),
9358
+ " ",
9359
+ "installed."
9360
+ ]
9361
+ })] })] })
9361
9362
  })
9362
9363
  });
9363
9364
  }