webim-adapter 2.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -265,30 +265,30 @@ function P(e) {
265
265
  R !== void 0 && U.push(`blur(${M(R)})`), z !== void 0 && U.push(`grayscale(${z}%)`), B !== void 0 && U.push(`brightness(${B}%)`), V !== void 0 && U.push(`contrast(${V}%)`), H !== void 0 && U.push(`saturate(${H}%)`), U.length && (t.filter = U.join(" "));
266
266
  let ee = F(L);
267
267
  ee.length && (t.backdropFilter = ee.join(" "), t.WebkitBackdropFilter = t.backdropFilter);
268
- let { textStrokeWidth: te, textStrokeColor: ne } = t;
269
- delete t.textStrokeWidth, delete t.textStrokeColor, (te !== void 0 || ne !== void 0) && (t.WebkitTextStroke = `${M(te ?? 1)} ${ne || "currentColor"}`);
270
- let { clipText: re } = t;
271
- delete t.clipText, re && (t.WebkitBackgroundClip = "text", t.backgroundClip = "text", t.WebkitTextFillColor = "transparent");
272
- let { transitions: ie, transitionDuration: W, transitionEasing: ae, transitionProperty: oe } = t, se = (e) => typeof e == "number" || !Number.isNaN(Number(e)) ? `${Number(e)}ms` : e;
268
+ let { textStrokeWidth: W, textStrokeColor: te } = t;
269
+ delete t.textStrokeWidth, delete t.textStrokeColor, (W !== void 0 || te !== void 0) && (t.WebkitTextStroke = `${M(W ?? 1)} ${te || "currentColor"}`);
270
+ let { clipText: ne } = t;
271
+ delete t.clipText, ne && (t.WebkitBackgroundClip = "text", t.backgroundClip = "text", t.WebkitTextFillColor = "transparent");
272
+ let { transitions: re, transitionDuration: G, transitionEasing: ie, transitionProperty: ae } = t, oe = (e) => typeof e == "number" || !Number.isNaN(Number(e)) ? `${Number(e)}ms` : e;
273
273
  delete t.transitions, delete t.transitionDuration, delete t.transitionEasing, delete t.transitionProperty;
274
- let ce = (Array.isArray(ie) ? ie : []).filter((e) => e && e.on !== !1).map((e) => `${e.property || "all"} ${se(e.duration ?? 200)} ${e.easing || "ease"}`);
275
- if (W !== void 0 && ce.push(`${oe || "all"} ${se(W)} ${ae || "ease"}`), ce.length && (t.transition = ce.join(", ")), t.textDecoration !== void 0 && (t.textDecorationLine = t.textDecoration, delete t.textDecoration), t.backgroundImage && !String(t.backgroundImage).includes("(") && (t.backgroundImage = `url("${t.backgroundImage}")`), n) {
274
+ let se = (Array.isArray(re) ? re : []).filter((e) => e && e.on !== !1).map((e) => `${e.property || "all"} ${oe(e.duration ?? 200)} ${e.easing || "ease"}`);
275
+ if (G !== void 0 && se.push(`${ae || "all"} ${oe(G)} ${ie || "ease"}`), se.length && (t.transition = se.join(", ")), t.textDecoration !== void 0 && (t.textDecorationLine = t.textDecoration, delete t.textDecoration), t.backgroundImage && !String(t.backgroundImage).includes("(") && (t.backgroundImage = `url("${t.backgroundImage}")`), n) {
276
276
  let e = `${i || "rgba(0,0,0,0.5)"}, ${a || "transparent"}`, o = n === "radial" ? `radial-gradient(circle, ${e})` : `linear-gradient(${r ?? 180}deg, ${e})`;
277
277
  t.backgroundImage = t.backgroundImage ? `${o}, ${t.backgroundImage}` : o;
278
278
  }
279
279
  delete t.backgroundVideo;
280
- let { overlayColor: G, overlayOpacity: le } = t;
281
- if (delete t.overlayColor, delete t.overlayOpacity, G) {
282
- let e = `color-mix(in srgb, ${G} ${le ?? 50}%, transparent)`, n = `linear-gradient(${e}, ${e})`;
280
+ let { overlayColor: K, overlayOpacity: ce } = t;
281
+ if (delete t.overlayColor, delete t.overlayOpacity, K) {
282
+ let e = `color-mix(in srgb, ${K} ${ce ?? 50}%, transparent)`, n = `linear-gradient(${e}, ${e})`;
283
283
  t.backgroundImage = t.backgroundImage ? `${n}, ${t.backgroundImage}` : n;
284
284
  }
285
285
  t.backgroundImage && (t.backgroundSize ??= "cover", t.backgroundPosition ??= "center", t.backgroundRepeat ??= "no-repeat");
286
- let { backgroundLayers: K } = t;
286
+ let { backgroundLayers: q } = t;
287
287
  delete t.backgroundLayers;
288
- let q = (Array.isArray(K) ? K : []).filter((e) => e && e.on !== !1);
289
- if (q.length) {
288
+ let J = (Array.isArray(q) ? q : []).filter((e) => e && e.on !== !1);
289
+ if (J.length) {
290
290
  let e = [], n = [], r = [], i = [], a = [];
291
- for (let t of q) if (t.kind === "linear") e.push(`linear-gradient(${t.angle ?? 180}deg, ${t.from || "rgba(0,0,0,0.5)"}, ${t.to || "transparent"})`), n.push("auto"), r.push("0% 0%"), i.push("repeat"), a.push("scroll");
291
+ for (let t of J) if (t.kind === "linear") e.push(`linear-gradient(${t.angle ?? 180}deg, ${t.from || "rgba(0,0,0,0.5)"}, ${t.to || "transparent"})`), n.push("auto"), r.push("0% 0%"), i.push("repeat"), a.push("scroll");
292
292
  else if (t.kind === "radial") e.push(`radial-gradient(circle, ${t.from || "rgba(0,0,0,0.5)"}, ${t.to || "transparent"})`), n.push("auto"), r.push("0% 0%"), i.push("repeat"), a.push("scroll");
293
293
  else {
294
294
  if (!t.src) continue;
@@ -366,7 +366,7 @@ function ee(e, t) {
366
366
  }
367
367
  e.__webimEvents = n;
368
368
  }
369
- function te(e, t, n = []) {
369
+ function W(e, t, n = []) {
370
370
  t.htmlId ? e.id = t.htmlId : e.removeAttribute("id");
371
371
  let r = R(t.classNames), i = R(e.getAttribute("data-wb-class"));
372
372
  for (let t of i) r.includes(t) || e.classList.remove(t);
@@ -380,15 +380,15 @@ function te(e, t, n = []) {
380
380
  }
381
381
  return a;
382
382
  }
383
- var ne = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`);
384
- function re(e, t, n, r = !1) {
385
- let i = Object.entries(P(t)).map(([e, t]) => `${ne(e)}: ${t} !important;`).join(" ");
383
+ var te = (e) => e.replace(/[A-Z]/g, (e) => `-${e.toLowerCase()}`);
384
+ function ne(e, t, n, r = !1) {
385
+ let i = Object.entries(P(t)).map(([e, t]) => `${te(e)}: ${t} !important;`).join(" ");
386
386
  return i ? `[data-wb="${e}"]${r ? "" : n} { ${i} }` : "";
387
387
  }
388
- function ie(e, t, n) {
389
- return Object.entries(F).map(([r, i]) => re(e, t?.[r], i, n === r)).filter(Boolean).join("\n");
388
+ function re(e, t, n) {
389
+ return Object.entries(F).map(([r, i]) => ne(e, t?.[r], i, n === r)).filter(Boolean).join("\n");
390
390
  }
391
- var W = [
391
+ var G = [
392
392
  {
393
393
  key: "tablet",
394
394
  max: 991
@@ -401,17 +401,17 @@ var W = [
401
401
  key: "mobile",
402
402
  max: 478
403
403
  }
404
- ], ae = (e) => Object.entries(P(e)).map(([e, t]) => `${ne(e)}: ${t} !important;`).join(" ");
405
- function oe(e, t) {
406
- return W.map(({ key: n, max: r }) => {
407
- let i = t?.[n] ? ae(t[n]) : "";
404
+ ], ie = (e) => Object.entries(P(e)).map(([e, t]) => `${te(e)}: ${t} !important;`).join(" ");
405
+ function ae(e, t) {
406
+ return G.map(({ key: n, max: r }) => {
407
+ let i = t?.[n] ? ie(t[n]) : "";
408
408
  return i ? `@media (max-width: ${r}px) { [data-wb="${e}"] { ${i} } }` : "";
409
409
  }).filter(Boolean).join("\n");
410
410
  }
411
- function se(e, t) {
411
+ function oe(e, t) {
412
412
  let n = [], r = (e) => {
413
413
  for (let [t, r] of Object.entries(e || {})) {
414
- let e = oe(t, r.props);
414
+ let e = ae(t, r.props);
415
415
  e && n.push(e);
416
416
  }
417
417
  };
@@ -419,10 +419,10 @@ function se(e, t) {
419
419
  for (let e of Object.values(t || {})) r(e.template?.nodes);
420
420
  return n.join("\n");
421
421
  }
422
- function ce(e, t) {
422
+ function se(e, t) {
423
423
  let n = [], r = (e) => {
424
424
  for (let [t, r] of Object.entries(e || {})) {
425
- let e = ie(t, r.props);
425
+ let e = re(t, r.props);
426
426
  e && n.push(e);
427
427
  }
428
428
  };
@@ -430,15 +430,15 @@ function ce(e, t) {
430
430
  for (let e of Object.values(t || {})) r(e.template?.nodes);
431
431
  return n.join("\n");
432
432
  }
433
- var G = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif", le = {
434
- fontFamily: G,
433
+ var K = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif", ce = {
434
+ fontFamily: K,
435
435
  fontStyle: "normal",
436
436
  fontWeight: 400,
437
437
  letterSpacing: "normal",
438
438
  textTransform: "none",
439
439
  lineHeight: 1.4,
440
440
  textShadow: "none"
441
- }, K = {
441
+ }, q = {
442
442
  light: {
443
443
  background: "#f2f2f2",
444
444
  surface: "#f2f2f2",
@@ -479,32 +479,32 @@ var G = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Ari
479
479
  contrastText: "#052e2b"
480
480
  }
481
481
  }
482
- }, q = {
482
+ }, J = {
483
483
  h1: 40,
484
484
  h2: 32,
485
485
  h3: 26,
486
486
  h4: 22,
487
487
  h5: 19,
488
488
  h6: 16
489
- }, ue = {
489
+ }, le = {
490
490
  font: "system",
491
491
  headingFont: "inherit",
492
- headings: q,
492
+ headings: J,
493
493
  bodySize: 16,
494
- light: K.light,
495
- dark: K.dark
496
- }, de = {
494
+ light: q.light,
495
+ dark: q.dark
496
+ }, ue = {
497
497
  system: {
498
498
  label: "System",
499
- value: G
499
+ value: K
500
500
  },
501
501
  inter: {
502
502
  label: "Inter",
503
- value: `"Inter", ${G}`
503
+ value: `"Inter", ${K}`
504
504
  },
505
505
  outfit: {
506
506
  label: "Outfit",
507
- value: `"Outfit", ${G}`
507
+ value: `"Outfit", ${K}`
508
508
  },
509
509
  serif: {
510
510
  label: "Serif",
@@ -514,7 +514,7 @@ var G = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Ari
514
514
  label: "Mono",
515
515
  value: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"
516
516
  }
517
- }, fe = (e, t) => de[e]?.value ?? k(e) ?? (typeof e == "string" && e.trim() ? `"${e.trim()}", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif` : t), J = (e, ...t) => {
517
+ }, de = (e, t) => ue[e]?.value ?? k(e) ?? (typeof e == "string" && e.trim() ? `"${e.trim()}", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif` : t), fe = (e, ...t) => {
518
518
  let n = Object.assign({}, e, ...t);
519
519
  return n.primary = {
520
520
  ...e.primary,
@@ -533,22 +533,22 @@ var G = "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Ari
533
533
  function pe(e) {
534
534
  let { light: t, dark: n, font: r, headingFont: i, headings: a, bodySize: o, ...s } = e ?? {};
535
535
  return {
536
- font: r ?? ue.font,
537
- headingFont: i ?? ue.headingFont,
536
+ font: r ?? le.font,
537
+ headingFont: i ?? le.headingFont,
538
538
  headings: {
539
- ...q,
539
+ ...J,
540
540
  ...a ?? {}
541
541
  },
542
542
  bodySize: o ?? 16,
543
- light: J(K.light, s, t),
544
- dark: J(K.dark, n)
543
+ light: fe(q.light, s, t),
544
+ dark: fe(q.dark, n)
545
545
  };
546
546
  }
547
547
  function me(e) {
548
548
  return {
549
549
  "--page-bg": e.background,
550
550
  "--page-surface": e.surface ?? e.background,
551
- "--page-border": e.border ?? K.light.border,
551
+ "--page-border": e.border ?? q.light.border,
552
552
  "--page-text": e.text,
553
553
  "--page-accent": e.accent,
554
554
  "--page-accent-text": e.accentText,
@@ -567,8 +567,8 @@ function he(e) {
567
567
  return {
568
568
  backgroundColor: "var(--page-bg)",
569
569
  color: "var(--page-text)",
570
- fontFamily: fe(t.font, G),
571
- "--page-heading-font": t.headingFont === "inherit" ? "inherit" : fe(t.headingFont, "inherit"),
570
+ fontFamily: de(t.font, K),
571
+ "--page-heading-font": t.headingFont === "inherit" ? "inherit" : de(t.headingFont, "inherit"),
572
572
  ..._e(t.headings),
573
573
  "--page-body-size": ge(t.bodySize, 16)
574
574
  };
@@ -578,9 +578,9 @@ function ge(e, t) {
578
578
  }
579
579
  function _e(e) {
580
580
  let t = {};
581
- for (let n of Object.keys(q)) {
582
- let r = e?.[n] ?? q[n];
583
- t[`--page-${n}`] = ge(r, q[n]);
581
+ for (let n of Object.keys(J)) {
582
+ let r = e?.[n] ?? J[n];
583
+ t[`--page-${n}`] = ge(r, J[n]);
584
584
  }
585
585
  return t;
586
586
  }
@@ -650,7 +650,7 @@ var Oe = {
650
650
  fontWeight: 700,
651
651
  lineHeight: 1.2,
652
652
  fontFamily: "var(--page-heading-font, inherit)"
653
- }, ke = q, Ae = (e) => `var(--page-${e}, ${q[e] ?? q.h2}px)`, je = {
653
+ }, ke = J, Ae = (e) => `var(--page-${e}, ${J[e] ?? J.h2}px)`, je = {
654
654
  margin: 0,
655
655
  fontSize: "var(--page-body-size, 16px)"
656
656
  }, Me = {
@@ -745,7 +745,7 @@ function Be({ text: e, parts: t, tag: n = "h2", style: r, linked: i, nodeRef: a
745
745
  });
746
746
  }
747
747
  var Ve = {
748
- fontFamily: de.mono.value,
748
+ fontFamily: ue.mono.value,
749
749
  background: "rgba(148, 163, 184, 0.18)",
750
750
  padding: "1px 5px",
751
751
  borderRadius: 4,
@@ -1319,6 +1319,7 @@ function gt({ count: e, renderSlide: t, autoplay: n = !0, interval: r = 5, heigh
1319
1319
  position: "relative",
1320
1320
  overflow: "hidden",
1321
1321
  width: "100%",
1322
+ height: i,
1322
1323
  touchAction: "pan-y",
1323
1324
  userSelect: _ ? "none" : void 0,
1324
1325
  cursor: _ ? "grabbing" : void 0,
@@ -1327,7 +1328,7 @@ function gt({ count: e, renderSlide: t, autoplay: n = !0, interval: r = 5, heigh
1327
1328
  children: [/* @__PURE__ */ d("div", {
1328
1329
  style: {
1329
1330
  display: "flex",
1330
- height: i,
1331
+ height: "100%",
1331
1332
  transform: `translateX(calc(${-y * 100}% + ${_?.dx ?? 0}px))`,
1332
1333
  transition: _ ? "none" : "transform 450ms ease"
1333
1334
  },
@@ -4387,36 +4388,36 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4387
4388
  };
4388
4389
  return document.addEventListener("mousedown", e, !0), () => document.removeEventListener("mousedown", e, !0);
4389
4390
  }, [N, L]);
4390
- let { tenant: H, apiUrl: U } = i(Y), ee = i(xe), te = ee?.[h], ne = C ? Se(ee) : 1, [re, ie] = l(null);
4391
+ let { tenant: H, apiUrl: U } = i(Y), ee = i(xe), W = ee?.[h], te = C ? Se(ee) : 1, [ne, re] = l(null);
4391
4392
  if (a(() => {
4392
- if (!h || te) return;
4393
- let e = !0, t = Math.max(1, Number(g) || 10), n = C && !h.startsWith("api:") ? `?offset=${(ne - 1) * t}&limit=${t}` : "", r = h.startsWith("api:") ? `${U}/data/${encodeURIComponent(h.slice(4))}` : `${U}/dynamic/${encodeURIComponent(h)}${n}`;
4393
+ if (!h || W) return;
4394
+ let e = !0, t = Math.max(1, Number(g) || 10), n = C && !h.startsWith("api:") ? `?offset=${(te - 1) * t}&limit=${t}` : "", r = h.startsWith("api:") ? `${U}/data/${encodeURIComponent(h.slice(4))}` : `${U}/dynamic/${encodeURIComponent(h)}${n}`;
4394
4395
  return fetch(r, { headers: H ? { "x-tenant": H } : {} }).then((e) => e.json()).then((t) => {
4395
4396
  let n = Array.isArray(t?.payload) ? t.payload : Array.isArray(t?.payload?.data) ? t.payload.data : [];
4396
- return e && ie(n);
4397
- }).catch(() => e && ie([])), () => {
4397
+ return e && re(n);
4398
+ }).catch(() => e && re([])), () => {
4398
4399
  e = !1;
4399
4400
  };
4400
4401
  }, [
4401
4402
  h,
4402
4403
  H,
4403
4404
  U,
4404
- te,
4405
+ W,
4405
4406
  C,
4406
- ne,
4407
+ te,
4407
4408
  g
4408
4409
  ]), !e.length) return null;
4409
- let W = Math.max(1, Number(g) || 10), ae = h ? C ? te || h.startsWith("api:") ? (te ?? re ?? []).slice((ne - 1) * W, ne * W) : (re ?? []).slice(0, W) : (te ?? re ?? []).slice(0, W) : null, oe = ae ? ae.map((t) => e.map((e) => Ee(we(t?.data, e.field)))) : t, se = !!h && !(h && !te && re === null) && oe.length === 0, ce = b ? {
4410
+ let G = Math.max(1, Number(g) || 10), ie = h ? C ? W || h.startsWith("api:") ? (W ?? ne ?? []).slice((te - 1) * G, te * G) : (ne ?? []).slice(0, G) : (W ?? ne ?? []).slice(0, G) : null, ae = ie ? ie.map((t) => e.map((e) => Ee(we(t?.data, e.field)))) : t, oe = !!h && !(h && !W && ne === null) && ae.length === 0, se = b ? {
4410
4411
  y: 6,
4411
4412
  x: 10
4412
4413
  } : {
4413
4414
  y: 10,
4414
4415
  x: 14
4415
- }, G = `${Number.isFinite(Number(S)) && S !== "" ? Number(S) : ce.y}px ${Number.isFinite(Number(x)) && x !== "" ? Number(x) : ce.x}px`, le = `1px solid ${typeof k == "string" && k ? k : "rgba(148, 163, 184, 0.35)"}`, K = y ? { border: le } : { borderBottom: le }, q = Array.isArray(n) && n.length === e.length && n.every((e) => Number.isFinite(e) && e > 0), ue = [
4416
+ }, K = `${Number.isFinite(Number(S)) && S !== "" ? Number(S) : se.y}px ${Number.isFinite(Number(x)) && x !== "" ? Number(x) : se.x}px`, ce = `1px solid ${typeof k == "string" && k ? k : "rgba(148, 163, 184, 0.35)"}`, q = y ? { border: ce } : { borderBottom: ce }, J = Array.isArray(n) && n.length === e.length && n.every((e) => Number.isFinite(e) && e > 0), le = [
4416
4417
  "left",
4417
4418
  "center",
4418
4419
  "right"
4419
- ], de = (t) => ue.includes(e[t]?.align) ? e[t].align : "", fe = (e) => de(e) || (ue.includes(O) ? O : "left"), J = Number.isFinite(Number(A)) && Number(A) > 0 ? Number(A) : 0, pe = P(j), me = !J && pe && pe.maxHeight !== void 0 ? pe.maxHeight : 0, he = J || me, ge = me ? {
4420
+ ], ue = (t) => le.includes(e[t]?.align) ? e[t].align : "", de = (e) => ue(e) || (le.includes(O) ? O : "left"), fe = Number.isFinite(Number(A)) && Number(A) > 0 ? Number(A) : 0, pe = P(j), me = !fe && pe && pe.maxHeight !== void 0 ? pe.maxHeight : 0, he = fe || me, ge = me ? {
4420
4421
  ...pe,
4421
4422
  maxHeight: void 0
4422
4423
  } : pe, _e = !!N && N.rows !== !1, ve = (t) => (r) => {
@@ -4424,7 +4425,7 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4424
4425
  r.preventDefault(), r.stopPropagation();
4425
4426
  let i = F.current, a = i ? i.clientWidth : 0;
4426
4427
  if (!a) return;
4427
- let o = q ? [...n] : e.map(() => 100 / e.length), s = r.clientX, c = o[t] + o[t + 1], l = (e) => {
4428
+ let o = J ? [...n] : e.map(() => 100 / e.length), s = r.clientX, c = o[t] + o[t + 1], l = (e) => {
4428
4429
  let n = (e.clientX - s) / a * 100, r = Math.min(c - 5, Math.max(5, o[t] + n)), i = [...o];
4429
4430
  i[t] = Math.round(r * 10) / 10, i[t + 1] = Math.round((c - r) * 10) / 10, N.resize(i);
4430
4431
  }, u = () => {
@@ -4432,7 +4433,7 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4432
4433
  };
4433
4434
  window.addEventListener("pointermove", l), window.addEventListener("pointerup", u);
4434
4435
  }, ye = /* @__PURE__ */ new Set();
4435
- p && oe.forEach((t, n) => e.forEach((e, t) => {
4436
+ p && ae.forEach((t, n) => e.forEach((e, t) => {
4436
4437
  let i = p[Bn(r[n], o[t])];
4437
4438
  if (!i) return;
4438
4439
  let a = Math.max(1, Number(i.c) || 1), s = Math.max(1, Number(i.r) || 1);
@@ -4456,7 +4457,7 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4456
4457
  },
4457
4458
  onClick: n,
4458
4459
  children: e
4459
- }, t), Z = L && L.r < oe.length && L.c < e.length ? L : null, Q = (e, t) => N?.labels?.[e] ?? t, Ce = Z ? p?.[Bn(r[Z.r], o[Z.c])] : null, Te = Math.max(1, Number(Ce?.c) || 1), De = Math.max(1, Number(Ce?.r) || 1);
4460
+ }, t), Z = L && L.r < ae.length && L.c < e.length ? L : null, Q = (e, t) => N?.labels?.[e] ?? t, Ce = Z ? p?.[Bn(r[Z.r], o[Z.c])] : null, Te = Math.max(1, Number(Ce?.c) || 1), De = Math.max(1, Number(Ce?.r) || 1);
4460
4461
  return /* @__PURE__ */ f("div", {
4461
4462
  ref: (e) => {
4462
4463
  I.current = e, typeof M == "function" && M(e);
@@ -4483,8 +4484,8 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4483
4484
  X("+↑", Q("rowAbove", "Insert row above"), () => N.addRow(Z.r - 1)),
4484
4485
  X("+↓", Q("rowBelow", "Insert row below"), () => N.addRow(Z.r)),
4485
4486
  X("↑", Q("rowUp", "Move row up"), () => N.moveRow(Z.r, -1), Z.r === 0),
4486
- X("↓", Q("rowDown", "Move row down"), () => N.moveRow(Z.r, 1), Z.r >= oe.length - 1),
4487
- X("✕ row", Q("rowDelete", "Delete row"), () => N.dropRow(Z.r), oe.length <= 1),
4487
+ X("↓", Q("rowDown", "Move row down"), () => N.moveRow(Z.r, 1), Z.r >= ae.length - 1),
4488
+ X("✕ row", Q("rowDelete", "Delete row"), () => N.dropRow(Z.r), ae.length <= 1),
4488
4489
  /* @__PURE__ */ d("span", { className: "wb-tedit-sep" }),
4489
4490
  X("+←", Q("colLeft", "Insert column left"), () => N.addColumn(Z.c - 1)),
4490
4491
  X("+→", Q("colRight", "Insert column right"), () => N.addColumn(Z.c)),
@@ -4493,7 +4494,7 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4493
4494
  X("✕ col", Q("colDelete", "Delete column"), () => N.dropColumn(Z.c), e.length <= 1),
4494
4495
  /* @__PURE__ */ d("span", { className: "wb-tedit-sep" }),
4495
4496
  X("↔", Q("mergeRight", "Merge with the cell on the right"), () => N.merge(Z.r, Z.c, "right"), Z.c + Te >= e.length),
4496
- X("↕", Q("mergeDown", "Merge with the cell below"), () => N.merge(Z.r, Z.c, "down"), Z.r + De >= oe.length),
4497
+ X("↕", Q("mergeDown", "Merge with the cell below"), () => N.merge(Z.r, Z.c, "down"), Z.r + De >= ae.length),
4497
4498
  X("⤫", Q("split", "Split this cell"), () => N.split(Z.r, Z.c), Te === 1 && De === 1)
4498
4499
  ]
4499
4500
  }),
@@ -4513,17 +4514,17 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4513
4514
  borderCollapse: T && _ !== !1 ? "separate" : "collapse",
4514
4515
  borderSpacing: 0,
4515
4516
  fontSize: 14,
4516
- ...q ? { tableLayout: "fixed" } : null,
4517
- ...y ? { border: le } : {}
4517
+ ...J ? { tableLayout: "fixed" } : null,
4518
+ ...y ? { border: ce } : {}
4518
4519
  },
4519
4520
  children: [
4520
- q && /* @__PURE__ */ d("colgroup", { children: n.map((e, t) => /* @__PURE__ */ d("col", { style: { width: `${e}%` } }, t)) }),
4521
+ J && /* @__PURE__ */ d("colgroup", { children: n.map((e, t) => /* @__PURE__ */ d("col", { style: { width: `${e}%` } }, t)) }),
4521
4522
  _ === !1 ? null : /* @__PURE__ */ d("thead", { children: /* @__PURE__ */ d("tr", { children: e.map((t, n) => /* @__PURE__ */ d("th", {
4522
4523
  className: N ? "wb-tedit-head" : void 0,
4523
4524
  style: {
4524
- textAlign: fe(n),
4525
+ textAlign: de(n),
4525
4526
  fontWeight: 600,
4526
- padding: G,
4527
+ padding: K,
4527
4528
  ...typeof D == "string" && D ? { color: D } : null,
4528
4529
  background: typeof E == "string" && E ? E : T ? "var(--page-surface, #f2f2f2)" : "rgba(148, 163, 184, 0.12)",
4529
4530
  ...T ? {
@@ -4531,7 +4532,7 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4531
4532
  top: 0,
4532
4533
  zIndex: 2
4533
4534
  } : N ? { position: "relative" } : null,
4534
- ...K
4535
+ ...q
4535
4536
  },
4536
4537
  children: N ? /* @__PURE__ */ f(u, { children: [/* @__PURE__ */ d(Ln, {
4537
4538
  value: t.label ?? t,
@@ -4544,16 +4545,16 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4544
4545
  onPointerDown: ve(n)
4545
4546
  })] }) : t.label ?? t
4546
4547
  }, n)) }) }),
4547
- /* @__PURE__ */ f("tbody", { children: [se && /* @__PURE__ */ d("tr", { children: /* @__PURE__ */ d("td", {
4548
+ /* @__PURE__ */ f("tbody", { children: [oe && /* @__PURE__ */ d("tr", { children: /* @__PURE__ */ d("td", {
4548
4549
  colSpan: e.length,
4549
4550
  style: {
4550
- padding: G,
4551
+ padding: K,
4551
4552
  textAlign: "center",
4552
4553
  opacity: .6,
4553
- ...K
4554
+ ...q
4554
4555
  },
4555
4556
  children: w || "No data yet"
4556
- }) }), oe.map((t, n) => /* @__PURE__ */ d("tr", {
4557
+ }) }), ae.map((t, n) => /* @__PURE__ */ d("tr", {
4557
4558
  className: N ? "wb-tedit-row" : void 0,
4558
4559
  style: {
4559
4560
  ...v && n % 2 == 1 ? { background: "rgba(148, 163, 184, 0.07)" } : null,
@@ -4569,10 +4570,10 @@ function Hn({ columns: e = [], rows: t = [], widths: n = [], rowKeys: r = [], co
4569
4570
  colSpan: l > 1 ? l : void 0,
4570
4571
  rowSpan: u > 1 ? u : void 0,
4571
4572
  style: {
4572
- padding: G,
4573
- ...de(i) ? { textAlign: de(i) } : null,
4573
+ padding: K,
4574
+ ...ue(i) ? { textAlign: ue(i) } : null,
4574
4575
  ...N ? { position: "relative" } : null,
4575
- ...K
4576
+ ...q
4576
4577
  },
4577
4578
  children: [s ?? Vn(t?.[i]), N && _e && /* @__PURE__ */ d("span", {
4578
4579
  className: "wb-tedit-rowgrip",
@@ -4735,7 +4736,7 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4735
4736
  year: n.getFullYear(),
4736
4737
  month: n.getMonth()
4737
4738
  };
4738
- }), te = (e, t) => /* @__PURE__ */ d("button", {
4739
+ }), W = (e, t) => /* @__PURE__ */ d("button", {
4739
4740
  type: "button",
4740
4741
  "aria-label": e,
4741
4742
  onClick: () => ee(t),
@@ -4750,7 +4751,7 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4750
4751
  padding: "4px 8px"
4751
4752
  },
4752
4753
  children: t < 0 ? "‹" : "›"
4753
- }), ne = /* @__PURE__ */ f("div", {
4754
+ }), te = /* @__PURE__ */ f("div", {
4754
4755
  style: {
4755
4756
  display: "flex",
4756
4757
  alignItems: "center",
@@ -4767,8 +4768,8 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4767
4768
  },
4768
4769
  children: U
4769
4770
  }),
4770
- te("Previous month", -1),
4771
- te("Next month", 1)
4771
+ W("Previous month", -1),
4772
+ W("Next month", 1)
4772
4773
  ]
4773
4774
  });
4774
4775
  if (p === "list") {
@@ -4784,7 +4785,7 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4784
4785
  width: "100%",
4785
4786
  ...P(S)
4786
4787
  },
4787
- children: [ne, e.length ? /* @__PURE__ */ d("div", {
4788
+ children: [te, e.length ? /* @__PURE__ */ d("div", {
4788
4789
  style: {
4789
4790
  display: "flex",
4790
4791
  flexDirection: "column",
@@ -4820,10 +4821,10 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4820
4821
  })]
4821
4822
  });
4822
4823
  }
4823
- let re = new Date(j.year, j.month, 1), ie = y === "sunday" ? 0 : 1, W = (re.getDay() - ie + 7) % 7, ae = new Date(j.year, j.month + 1, 0).getDate(), oe = Math.ceil((W + ae) / 7), se = Wn(/* @__PURE__ */ new Date()), ce = new Intl.DateTimeFormat(V, { weekday: "short" }), G = [];
4824
- for (let e = 0; e < oe * 7; e += 1) {
4825
- let t = e - W + 1, n = t >= 1 && t <= ae, r = Wn(new Date(j.year, j.month, t)), i = n ? B.get(r) ?? [] : [], a = i.slice(0, Math.max(1, b)), o = n && r === se;
4826
- G.push(/* @__PURE__ */ f("div", {
4824
+ let ne = new Date(j.year, j.month, 1), re = y === "sunday" ? 0 : 1, G = (ne.getDay() - re + 7) % 7, ie = new Date(j.year, j.month + 1, 0).getDate(), ae = Math.ceil((G + ie) / 7), oe = Wn(/* @__PURE__ */ new Date()), se = new Intl.DateTimeFormat(V, { weekday: "short" }), K = [];
4825
+ for (let e = 0; e < ae * 7; e += 1) {
4826
+ let t = e - G + 1, n = t >= 1 && t <= ie, r = Wn(new Date(j.year, j.month, t)), i = n ? B.get(r) ?? [] : [], a = i.slice(0, Math.max(1, b)), o = n && r === oe;
4827
+ K.push(/* @__PURE__ */ f("div", {
4827
4828
  style: {
4828
4829
  minHeight: N.cell,
4829
4830
  borderTop: `1px solid ${I}`,
@@ -4866,7 +4867,7 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4866
4867
  ...P(S)
4867
4868
  },
4868
4869
  children: [
4869
- ne,
4870
+ te,
4870
4871
  /* @__PURE__ */ f("div", {
4871
4872
  style: {
4872
4873
  display: "grid",
@@ -4880,8 +4881,8 @@ function Xn({ events: e = [], source: t = "", titleField: n = "", startField: r
4880
4881
  textAlign: "center",
4881
4882
  padding: `0 0 ${N.pad}px`
4882
4883
  },
4883
- children: ce.format(new Date(2024, 0, 7 + ie + t))
4884
- }, `head-${t}`)), G]
4884
+ children: se.format(new Date(2024, 0, 7 + re + t))
4885
+ }, `head-${t}`)), K]
4885
4886
  }),
4886
4887
  /* @__PURE__ */ d("div", { style: { borderTop: `1px solid ${I}` } })
4887
4888
  ]
@@ -4904,7 +4905,7 @@ function Qn(e, t = {}) {
4904
4905
  }).filter((e) => e.src);
4905
4906
  }
4906
4907
  function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r = "", hrefField: o = "", variant: s = "step", size: p = "medium", perView: m = 5, gap: h = 48, hold: g = 3, slideMs: _ = 500, direction: v = "left", arrows: y = "show", pauseOnHover: b = !0, grayscale: x = !0, newTab: S = !0, emptyText: C = "", style: w, nodeRef: T, inert: E }) {
4907
- let { tenant: D, apiUrl: O } = i(Y), k = i(xe)?.[t], [A, j] = l(null), M = c(null), N = c(null), [F, I] = l(0), [L, R] = l(0), [z, B] = l(0), [V, H] = l(!0), [U, ee] = l(!1), [te, ne] = l(!1);
4908
+ let { tenant: D, apiUrl: O } = i(Y), k = i(xe)?.[t], [A, j] = l(null), M = c(null), N = c(null), [F, I] = l(0), [L, R] = l(0), [z, B] = l(0), [V, H] = l(!0), [U, ee] = l(!1), [W, te] = l(!1);
4908
4909
  a(() => {
4909
4910
  if (!t || k) return;
4910
4911
  let e = !0;
@@ -4921,7 +4922,7 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4921
4922
  k
4922
4923
  ]), a(() => {
4923
4924
  if (typeof window > "u" || !window.matchMedia) return;
4924
- let e = window.matchMedia("(prefers-reduced-motion: reduce)"), t = () => ne(e.matches);
4925
+ let e = window.matchMedia("(prefers-reduced-motion: reduce)"), t = () => te(e.matches);
4925
4926
  return t(), e.addEventListener?.("change", t), () => e.removeEventListener?.("change", t);
4926
4927
  }, []), a(() => {
4927
4928
  let e = N.current;
@@ -4934,7 +4935,7 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4934
4935
  let e = M.current;
4935
4936
  if (!e) return;
4936
4937
  let t = !0, n = () => {
4937
- let n = [...e.querySelectorAll("img")].filter((e) => e.complete && e.naturalHeight).map((e) => e.naturalWidth / e.naturalHeight * W);
4938
+ let n = [...e.querySelectorAll("img")].filter((e) => e.complete && e.naturalHeight).map((e) => e.naturalWidth / e.naturalHeight * G);
4938
4939
  t && n.length && R(Math.ceil(Math.max(...n)));
4939
4940
  };
4940
4941
  n();
@@ -4943,12 +4944,12 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4943
4944
  t = !1, r.forEach((e) => e.removeEventListener("load", n));
4944
4945
  };
4945
4946
  });
4946
- let re = Array.isArray(e) ? e.filter((e) => e && typeof e == "object" && e.src) : [], ie = t ? Qn(k ?? A ?? [], {
4947
+ let ne = Array.isArray(e) ? e.filter((e) => e && typeof e == "object" && e.src) : [], re = t ? Qn(k ?? A ?? [], {
4947
4948
  imageField: n,
4948
4949
  nameField: r,
4949
4950
  hrefField: o
4950
- }) : re, W = Zn[p] ?? Zn.medium, ae = Number.isFinite(Number(h)) ? Math.max(0, Number(h)) : 48, oe = s === "marquee" ? "step" : s, se = Math.min(3e4, Math.max(300, (Number(g) || 3) * 1e3)), ce = Math.min(3e3, Math.max(100, Number(_) || 500)), G = Math.min(12, Math.max(1, Math.round(Number(m) || 5))), K = (L || W * 3) + ae, q = F ? Math.max(1, Math.floor(F / K)) : G, ue = Math.min(G, q), de = F ? Math.min(K, F / ue) : K;
4951
- if (!ie.length) return /* @__PURE__ */ d("div", {
4951
+ }) : ne, G = Zn[p] ?? Zn.medium, ie = Number.isFinite(Number(h)) ? Math.max(0, Number(h)) : 48, ae = s === "marquee" ? "step" : s, oe = Math.min(3e4, Math.max(300, (Number(g) || 3) * 1e3)), se = Math.min(3e3, Math.max(100, Number(_) || 500)), K = Math.min(12, Math.max(1, Math.round(Number(m) || 5))), q = (L || G * 3) + ie, J = F ? Math.max(1, Math.floor(F / q)) : K, le = Math.min(K, J), ue = F ? Math.min(q, F / le) : q;
4952
+ if (!re.length) return /* @__PURE__ */ d("div", {
4952
4953
  ref: T,
4953
4954
  style: {
4954
4955
  width: "100%",
@@ -4960,7 +4961,7 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4960
4961
  alignItems: "center",
4961
4962
  justifyContent: "center",
4962
4963
  flexWrap: "wrap",
4963
- gap: ae
4964
+ gap: ie
4964
4965
  },
4965
4966
  children: [
4966
4967
  0,
@@ -4970,16 +4971,16 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4970
4971
  4
4971
4972
  ].map((e) => /* @__PURE__ */ d("div", {
4972
4973
  style: {
4973
- height: W,
4974
- width: W * 3,
4974
+ height: G,
4975
+ width: G * 3,
4975
4976
  border: "1px dashed var(--page-border, rgba(148, 163, 184, 0.5))",
4976
4977
  borderRadius: 6,
4977
4978
  display: "flex",
4978
4979
  alignItems: "center",
4979
4980
  justifyContent: "center",
4980
- fontSize: Math.max(10, Math.round(W / 4)),
4981
+ fontSize: Math.max(10, Math.round(G / 4)),
4981
4982
  opacity: .45,
4982
- ...le
4983
+ ...ce
4983
4984
  },
4984
4985
  children: "LOGO"
4985
4986
  }, e))
@@ -4993,21 +4994,21 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
4993
4994
  children: C
4994
4995
  }) : null
4995
4996
  });
4996
- let fe = ie.length, J = oe === "step" && fe > ue, pe = oe === "slider", me = J && !E && !U && !te, he = v === "right", ge = he ? fe : 0, _e = J ? [...ie, ...ie] : ie, ve = J ? z * de : 0, ye = (e, t, n) => {
4997
+ let de = re.length, fe = ae === "step" && de > le, pe = ae === "slider", me = fe && !E && !U && !W, he = v === "right", ge = he ? de : 0, _e = fe ? [...re, ...re] : re, ve = fe ? z * ue : 0, ye = (e, t, n) => {
4997
4998
  let r = /* @__PURE__ */ d("img", {
4998
4999
  src: e.src,
4999
5000
  alt: e.alt ?? "",
5000
5001
  style: {
5001
- height: W,
5002
+ height: G,
5002
5003
  width: "auto",
5003
5004
  maxWidth: "100%",
5004
5005
  objectFit: "contain",
5005
5006
  display: "block"
5006
5007
  }
5007
- }), i = J ? {
5008
- width: de,
5008
+ }), i = fe ? {
5009
+ width: ue,
5009
5010
  flex: "0 0 auto",
5010
- padding: `0 ${ae / 2}px`,
5011
+ padding: `0 ${ie / 2}px`,
5011
5012
  justifyContent: "center"
5012
5013
  } : {};
5013
5014
  return e.href && !E ? /* @__PURE__ */ d("a", {
@@ -5036,22 +5037,22 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
5036
5037
  style: {
5037
5038
  display: "flex",
5038
5039
  alignItems: "center",
5039
- ...J ? {
5040
- width: _e.length * de,
5040
+ ...fe ? {
5041
+ width: _e.length * ue,
5041
5042
  transform: `translateX(-${ve}px)`,
5042
- transition: V ? `transform ${ce}ms ease` : "none"
5043
+ transition: V ? `transform ${se}ms ease` : "none"
5043
5044
  } : pe ? {
5044
- gap: ae,
5045
+ gap: ie,
5045
5046
  overflowX: "auto",
5046
5047
  scrollBehavior: "smooth",
5047
5048
  scrollSnapType: "x proximity"
5048
5049
  } : {
5049
- gap: ae,
5050
+ gap: ie,
5050
5051
  flexWrap: "wrap",
5051
5052
  justifyContent: "center"
5052
5053
  }
5053
5054
  },
5054
- children: _e.map((e, t) => ye(e, t, J && t >= fe))
5055
+ children: _e.map((e, t) => ye(e, t, fe && t >= de))
5055
5056
  }), Se = (e) => {
5056
5057
  if (pe) {
5057
5058
  let t = M.current;
@@ -5062,15 +5063,15 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
5062
5063
  return;
5063
5064
  }
5064
5065
  let t = z + e;
5065
- if (t >= 0 && t <= fe) {
5066
+ if (t >= 0 && t <= de) {
5066
5067
  H(!0), B(t);
5067
5068
  return;
5068
5069
  }
5069
- let n = t < 0 ? fe : 0;
5070
+ let n = t < 0 ? de : 0;
5070
5071
  H(!1), B(n), requestAnimationFrame(() => requestAnimationFrame(() => {
5071
5072
  H(!0), B(n + e);
5072
5073
  }));
5073
- }, X = y === !1 || y === "off" ? "off" : y === "hover" ? "hover" : "show", Z = X !== "off" && (pe ? F > 0 : J), Q = (e) => /* @__PURE__ */ d("button", {
5074
+ }, X = y === !1 || y === "off" ? "off" : y === "hover" ? "hover" : "show", Z = X !== "off" && (pe ? F > 0 : fe), Q = (e) => /* @__PURE__ */ d("button", {
5074
5075
  type: "button",
5075
5076
  "aria-label": e < 0 ? "Previous logos" : "Next logos",
5076
5077
  onClick: () => Se(e),
@@ -5112,10 +5113,10 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
5112
5113
  border: 1px solid var(--page-border, rgba(148, 163, 184, 0.5));
5113
5114
  }
5114
5115
  ` }),
5115
- J ? /* @__PURE__ */ f("div", {
5116
+ fe ? /* @__PURE__ */ f("div", {
5116
5117
  style: {
5117
5118
  position: "relative",
5118
- width: ue * de,
5119
+ width: le * ue,
5119
5120
  maxWidth: "100%",
5120
5121
  margin: "0 auto"
5121
5122
  },
@@ -5134,11 +5135,11 @@ function $n({ logos: e = [], source: t = "", imageField: n = "", nameField: r =
5134
5135
  ] }),
5135
5136
  /* @__PURE__ */ d(er, {
5136
5137
  running: me,
5137
- every: se + ce,
5138
- slide: ce,
5138
+ every: oe + se,
5139
+ slide: se,
5139
5140
  step: he ? -1 : 1,
5140
5141
  index: z,
5141
- total: fe,
5142
+ total: de,
5142
5143
  home: ge,
5143
5144
  setIndex: B,
5144
5145
  setAnimate: H
@@ -6277,7 +6278,7 @@ var Fr = [
6277
6278
  new Set(Fr.filter((e) => e.ssr === "shell").flatMap((e) => e.keys));
6278
6279
  //#endregion
6279
6280
  //#region ../ui/src/components/builder/three/runtime.js
6280
- var Lr = "0.185.1", Rr = "4.3.1", zr = "https://cdn.jsdelivr.net/npm", Br = `${zr}/three@${Lr}/build/three.module.js`, Vr = `${zr}/@google/model-viewer@${Rr}/dist/model-viewer.min.js`, Hr = (e) => import(
6281
+ var Lr = "0.185.1", Rr = "4.2.0", zr = "https://cdn.jsdelivr.net/npm", Br = `${zr}/three@${Lr}/+esm`, Vr = `${zr}/@google/model-viewer@${Rr}/dist/model-viewer.min.js`, Hr = (e) => import(
6281
6282
  /* @vite-ignore */
6282
6283
  /* webpackIgnore: true */
6283
6284
  e
@@ -6290,12 +6291,12 @@ function Wr(e) {
6290
6291
  });
6291
6292
  return Ur.set(e, t), t;
6292
6293
  }
6293
- var Gr = () => Wr(Br);
6294
- function Kr() {
6294
+ var Gr = () => Wr(Br), Kr = (e) => Wr(`${zr}/three@${Lr}/examples/jsm/${e}/+esm`);
6295
+ function qr() {
6295
6296
  return typeof window < "u" && window.customElements?.get("model-viewer") ? Promise.resolve(null) : Wr(Vr);
6296
6297
  }
6297
- var qr = () => typeof window < "u" && !!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches, Jr = (e = 2) => Math.min(typeof window > "u" ? 1 : window.devicePixelRatio || 1, e);
6298
- function Yr(e, t) {
6298
+ var Jr = () => typeof window < "u" && !!window.matchMedia?.("(prefers-reduced-motion: reduce)").matches, Yr = (e = 2) => Math.min(typeof window > "u" ? 1 : window.devicePixelRatio || 1, e);
6299
+ function Xr(e, t) {
6299
6300
  let n = 0, r = 0, i = 0, a = !0, o = (e) => {
6300
6301
  n = requestAnimationFrame(o), i ||= e;
6301
6302
  let a = r ? (e - r) / 1e3 : 0;
@@ -6314,7 +6315,7 @@ function Yr(e, t) {
6314
6315
  s(), l?.disconnect(), document.removeEventListener("visibilitychange", c);
6315
6316
  };
6316
6317
  }
6317
- function Xr(e, t, n = {}) {
6318
+ function Zr(e, t, n = {}) {
6318
6319
  let r = {
6319
6320
  radius: n.distance ?? 4,
6320
6321
  polar: n.polar ?? Math.PI / 2.4,
@@ -6363,13 +6364,13 @@ function Xr(e, t, n = {}) {
6363
6364
  }
6364
6365
  //#endregion
6365
6366
  //#region ../ui/src/components/builder/three/views.jsx
6366
- var Zr = (e, t) => Number.isFinite(Number(e)) && Number(e) > 0 ? Number(e) : t, Qr = (e, t) => (Number.isFinite(Number(e)) ? Number(e) : t) / 100, $r = (e) => (Number.isFinite(Number(e)) ? Number(e) : 0) * Math.PI / 180;
6367
- function ei({ label: e, note: t, height: n, nodeRef: r, style: i }) {
6367
+ var Qr = (e, t) => Number.isFinite(Number(e)) && Number(e) > 0 ? Number(e) : t, $r = (e, t) => (Number.isFinite(Number(e)) ? Number(e) : t) / 100, ei = (e) => (Number.isFinite(Number(e)) ? Number(e) : 0) * Math.PI / 180, ti = (e) => typeof e == "string" && !!e.trim();
6368
+ function ni({ label: e, note: t, height: n, nodeRef: r, style: i }) {
6368
6369
  return /* @__PURE__ */ f("div", {
6369
6370
  ref: r,
6370
6371
  style: {
6371
6372
  ...P(i),
6372
- minHeight: Zr(n, 320),
6373
+ minHeight: Qr(n, 320),
6373
6374
  display: "flex",
6374
6375
  flexDirection: "column",
6375
6376
  alignItems: "center",
@@ -6378,7 +6379,7 @@ function ei({ label: e, note: t, height: n, nodeRef: r, style: i }) {
6378
6379
  border: "1px dashed rgba(148,163,184,.55)",
6379
6380
  borderRadius: 10,
6380
6381
  background: "rgba(148,163,184,.08)",
6381
- ...le,
6382
+ ...ce,
6382
6383
  color: "rgba(100,116,139,.95)",
6383
6384
  fontSize: 13,
6384
6385
  textAlign: "center",
@@ -6397,25 +6398,24 @@ function ei({ label: e, note: t, height: n, nodeRef: r, style: i }) {
6397
6398
  }) : null]
6398
6399
  });
6399
6400
  }
6400
- function ti({ src: e, poster: t, alt: n, height: r, bg: i, autoRotate: o, rotateDelay: s, cameraControls: c, ar: u, exposure: f, shadow: p, fieldOfView: m, environment: h, style: g, nodeRef: _, inert: v }) {
6401
+ function ri({ src: e, poster: t, alt: n, height: r, bg: i, autoRotate: o, rotateDelay: s, cameraControls: c, ar: u, exposure: f, shadow: p, fieldOfView: m, environment: h, style: g, nodeRef: _, inert: v }) {
6401
6402
  let [y, b] = l(typeof window < "u" && !!window.customElements?.get("model-viewer")), [x, S] = l(!1);
6402
6403
  a(() => {
6403
6404
  if (y || !e) return;
6404
6405
  let t = !0;
6405
- return Kr().then(() => t && b(!0), () => t && S(!0)), () => {
6406
+ return qr().then(() => t && b(!0), () => t && S(!0)), () => {
6406
6407
  t = !1;
6407
6408
  };
6408
6409
  }, [y, e]);
6409
6410
  let C = {
6410
- ...P(g),
6411
6411
  display: "block",
6412
6412
  width: "100%",
6413
- minHeight: Zr(r, 360),
6414
- height: Zr(r, 360),
6413
+ minHeight: Qr(r, 360),
6414
+ height: Qr(r, 360),
6415
6415
  backgroundColor: i || "transparent",
6416
- borderRadius: P(g).borderRadius ?? void 0
6416
+ ...P(g)
6417
6417
  };
6418
- if (!e) return v ? /* @__PURE__ */ d(ei, {
6418
+ if (!e) return v ? /* @__PURE__ */ d(ni, {
6419
6419
  nodeRef: _,
6420
6420
  style: g,
6421
6421
  height: r,
@@ -6450,13 +6450,13 @@ function ti({ src: e, poster: t, alt: n, height: r, bg: i, autoRotate: o, rotate
6450
6450
  poster: t || void 0,
6451
6451
  style: C,
6452
6452
  "camera-controls": w(!v && c !== !1),
6453
- "auto-rotate": w(T && !qr()),
6454
- "auto-rotate-delay": T ? String(Zr(s, 0)) : void 0,
6453
+ "auto-rotate": w(T && !Jr()),
6454
+ "auto-rotate-delay": T ? String(Qr(s, 0)) : void 0,
6455
6455
  "rotation-per-second": "18deg",
6456
6456
  ar: w(!v && u === !0),
6457
6457
  "ar-modes": "webxr scene-viewer quick-look",
6458
- "shadow-intensity": String(Qr(p, 100)),
6459
- exposure: String(Qr(f, 100)),
6458
+ "shadow-intensity": String($r(p, 100)),
6459
+ exposure: String($r(f, 100)),
6460
6460
  "field-of-view": m ? `${Number(m)}deg` : void 0,
6461
6461
  "environment-image": h && h !== "neutral" ? h : "neutral",
6462
6462
  "interaction-prompt": v ? "none" : void 0,
@@ -6474,7 +6474,7 @@ function ti({ src: e, poster: t, alt: n, height: r, bg: i, autoRotate: o, rotate
6474
6474
  }) : null
6475
6475
  });
6476
6476
  }
6477
- var ni = ["attribute vec2 p;", "void main() { gl_Position = vec4(p, 0.0, 1.0); }"].join("\n"), ri = [
6477
+ var ii = ["attribute vec2 p;", "void main() { gl_Position = vec4(p, 0.0, 1.0); }"].join("\n"), ai = [
6478
6478
  "precision highp float;",
6479
6479
  "uniform vec2 u_res;",
6480
6480
  "uniform float u_time;",
@@ -6497,7 +6497,7 @@ var ni = ["attribute vec2 p;", "void main() { gl_Position = vec4(p, 0.0, 1.0); }
6497
6497
  " return v;",
6498
6498
  "}",
6499
6499
  ""
6500
- ].join("\n"), ii = {
6500
+ ].join("\n"), oi = {
6501
6501
  gradient: [
6502
6502
  "void main(){",
6503
6503
  " vec2 uv = gl_FragCoord.xy / u_res;",
@@ -6549,7 +6549,7 @@ var ni = ["attribute vec2 p;", "void main() { gl_Position = vec4(p, 0.0, 1.0); }
6549
6549
  "}"
6550
6550
  ].join("\n")
6551
6551
  };
6552
- function ai(e, t) {
6552
+ function si(e, t) {
6553
6553
  let n = /^#?([0-9a-f]{6})$/i.exec(String(e ?? "").trim());
6554
6554
  if (!n) return t;
6555
6555
  let r = parseInt(n[1], 16);
@@ -6559,7 +6559,7 @@ function ai(e, t) {
6559
6559
  (r & 255) / 255
6560
6560
  ];
6561
6561
  }
6562
- function oi(e, t, n) {
6562
+ function ci(e, t, n) {
6563
6563
  let r = e.createShader(t);
6564
6564
  if (e.shaderSource(r, n), e.compileShader(r), !e.getShaderParameter(r, e.COMPILE_STATUS)) {
6565
6565
  let t = e.getShaderInfoLog(r);
@@ -6567,27 +6567,32 @@ function oi(e, t, n) {
6567
6567
  }
6568
6568
  return r;
6569
6569
  }
6570
- function si({ preset: e, code: t, colorA: n, colorB: r, colorC: i, speed: o, scale: s, height: u, interactive: p, style: m, nodeRef: h, inert: g }) {
6571
- let _ = c(null), v = c(null), [y, b] = l(""), x = typeof t == "string" && t.trim() ? t : ii[e] ?? ii.gradient, S = String(n ?? ""), C = String(r ?? ""), w = String(i ?? ""), T = Qr(o, 100), E = Math.max(.05, Qr(s, 100));
6570
+ function li({ preset: e, code: t, colorA: n, colorB: r, colorC: i, speed: o, scale: s, height: u, interactive: p, style: m, nodeRef: h, inert: g }) {
6571
+ let _ = c(null), v = c(null), y = c(null), [b, x] = l("");
6572
+ a(() => () => {
6573
+ let e = y.current;
6574
+ y.current = null, e?.getExtension("WEBGL_lose_context")?.loseContext();
6575
+ }, []);
6576
+ let S = typeof t == "string" && t.trim() ? t : oi[e] ?? oi.gradient, C = String(n ?? ""), w = String(r ?? ""), T = String(i ?? ""), E = $r(o, 100), D = Math.max(.05, $r(s, 100));
6572
6577
  return a(() => {
6573
6578
  let e = _.current, t = v.current;
6574
6579
  if (!e || !t) return;
6575
- let n = e.getContext("webgl", {
6580
+ let n = y.current ??= e.getContext("webgl", {
6576
6581
  antialias: !0,
6577
6582
  alpha: !0,
6578
6583
  premultipliedAlpha: !1
6579
6584
  });
6580
6585
  if (!n) {
6581
- b("WebGL is not available in this browser");
6586
+ x("WebGL is not available in this browser");
6582
6587
  return;
6583
6588
  }
6584
6589
  let r = null;
6585
6590
  try {
6586
- let e = oi(n, n.VERTEX_SHADER, ni), t = oi(n, n.FRAGMENT_SHADER, ri + x);
6591
+ let e = ci(n, n.VERTEX_SHADER, ii), t = ci(n, n.FRAGMENT_SHADER, ai + S);
6587
6592
  if (r = n.createProgram(), n.attachShader(r, e), n.attachShader(r, t), n.linkProgram(r), !n.getProgramParameter(r, n.LINK_STATUS)) throw Error(n.getProgramInfoLog(r) || "Link failed");
6588
- b("");
6593
+ x("");
6589
6594
  } catch (e) {
6590
- b(e?.message || "Shader failed to compile");
6595
+ x(e?.message || "Shader failed to compile");
6591
6596
  return;
6592
6597
  }
6593
6598
  n.useProgram(r);
@@ -6619,49 +6624,49 @@ function si({ preset: e, code: t, colorA: n, colorB: r, colorC: i, speed: o, sca
6619
6624
  };
6620
6625
  p !== !1 && t.addEventListener("pointermove", l);
6621
6626
  let u = () => {
6622
- let r = Jr(), i = Math.max(1, Math.round(t.clientWidth * r)), a = Math.max(1, Math.round(t.clientHeight * r));
6627
+ let r = Yr(), i = Math.max(1, Math.round(t.clientWidth * r)), a = Math.max(1, Math.round(t.clientHeight * r));
6623
6628
  (e.width !== i || e.height !== a) && (e.width = i, e.height = a, n.viewport(0, 0, i, a));
6624
6629
  }, d = typeof ResizeObserver > "u" ? null : new ResizeObserver(u);
6625
6630
  d?.observe(t), u();
6626
- let f = qr(), m = {
6627
- a: ai(S, [
6631
+ let f = Jr(), m = {
6632
+ a: si(C, [
6628
6633
  .35,
6629
6634
  .4,
6630
6635
  .95
6631
6636
  ]),
6632
- b: ai(C, [
6637
+ b: si(w, [
6633
6638
  .05,
6634
6639
  .06,
6635
6640
  .16
6636
6641
  ]),
6637
- c: ai(w, [
6642
+ c: si(T, [
6638
6643
  .95,
6639
6644
  .35,
6640
6645
  .6
6641
6646
  ])
6642
6647
  }, h = {};
6643
- return h.stop = Yr(t, (t, r) => {
6644
- u(), n.uniform2f(s.res, e.width, e.height), n.uniform1f(s.time, (f ? 0 : r) * T), n.uniform2f(s.mouse, c.x, c.y), n.uniform3fv(s.a, m.a), n.uniform3fv(s.b, m.b), n.uniform3fv(s.c, m.c), n.uniform1f(s.scale, E), n.drawArrays(n.TRIANGLES, 0, 3), f && h.stop?.();
6648
+ return h.stop = Xr(t, (t, r) => {
6649
+ u(), n.uniform2f(s.res, e.width, e.height), n.uniform1f(s.time, (f ? 0 : r) * E), n.uniform2f(s.mouse, c.x, c.y), n.uniform3fv(s.a, m.a), n.uniform3fv(s.b, m.b), n.uniform3fv(s.c, m.c), n.uniform1f(s.scale, D), n.drawArrays(n.TRIANGLES, 0, 3), f && h.stop?.();
6645
6650
  }), () => {
6646
- h.stop?.(), d?.disconnect(), t.removeEventListener("pointermove", l), n.deleteProgram(r), n.deleteBuffer(i), n.getExtension("WEBGL_lose_context")?.loseContext();
6651
+ h.stop?.(), d?.disconnect(), t.removeEventListener("pointermove", l), n.deleteProgram(r), n.deleteBuffer(i);
6647
6652
  };
6648
6653
  }, [
6649
- x,
6650
6654
  S,
6651
6655
  C,
6652
6656
  w,
6653
6657
  T,
6654
6658
  E,
6659
+ D,
6655
6660
  p
6656
6661
  ]), /* @__PURE__ */ f("div", {
6657
6662
  ref: (e) => {
6658
6663
  v.current = e, typeof h == "function" && h(e);
6659
6664
  },
6660
6665
  style: {
6661
- ...P(m),
6662
- position: P(m).position ?? "relative",
6663
- minHeight: Zr(u, 320),
6664
- overflow: "hidden"
6666
+ position: "relative",
6667
+ minHeight: Qr(u, 320),
6668
+ overflow: "hidden",
6669
+ ...P(m)
6665
6670
  },
6666
6671
  children: [/* @__PURE__ */ d("canvas", {
6667
6672
  ref: _,
@@ -6672,7 +6677,7 @@ function si({ preset: e, code: t, colorA: n, colorB: r, colorC: i, speed: o, sca
6672
6677
  position: "absolute",
6673
6678
  inset: 0
6674
6679
  }
6675
- }), y && g ? /* @__PURE__ */ d("div", {
6680
+ }), b && g ? /* @__PURE__ */ d("div", {
6676
6681
  style: {
6677
6682
  position: "absolute",
6678
6683
  inset: 0,
@@ -6681,17 +6686,17 @@ function si({ preset: e, code: t, colorA: n, colorB: r, colorC: i, speed: o, sca
6681
6686
  justifyContent: "center",
6682
6687
  padding: 12,
6683
6688
  background: "rgba(15,23,42,.75)",
6684
- ...le,
6689
+ ...ce,
6685
6690
  color: "#fecaca",
6686
6691
  fontSize: 11,
6687
6692
  whiteSpace: "pre-wrap",
6688
6693
  overflow: "auto"
6689
6694
  },
6690
- children: y
6695
+ children: b
6691
6696
  }) : null]
6692
6697
  });
6693
6698
  }
6694
- function ci(e, t) {
6699
+ function ui(e, t) {
6695
6700
  let n = new e.Scene(), r = new e.BoxGeometry();
6696
6701
  r.deleteAttribute("uv");
6697
6702
  let i = new e.Mesh(r, new e.MeshBasicMaterial({
@@ -6707,7 +6712,23 @@ function ci(e, t) {
6707
6712
  let o = new e.PMREMGenerator(t), s = o.fromScene(n, .04);
6708
6713
  return o.dispose(), r.dispose(), n.traverse((e) => e.material?.dispose?.()), s.texture;
6709
6714
  }
6710
- var li = {
6715
+ var di = /* @__PURE__ */ new Map();
6716
+ function fi(e) {
6717
+ if (di.has(e)) return di.get(e);
6718
+ let t = Kr("loaders/GLTFLoader.js").then((t) => new Promise((n, r) => {
6719
+ new t.GLTFLoader().load(e, (e) => n(e.scene), void 0, r);
6720
+ })).catch((t) => {
6721
+ throw di.delete(e), t;
6722
+ });
6723
+ return di.set(e, t), t;
6724
+ }
6725
+ function pi(e, t) {
6726
+ let n = new e.Box3().setFromObject(t);
6727
+ if (n.isEmpty()) return t;
6728
+ let r = n.getSize(new e.Vector3()), i = n.getCenter(new e.Vector3()), a = Math.max(r.x, r.y, r.z) || 1, o = new e.Group();
6729
+ return t.position.sub(i), t.scale.multiplyScalar(1 / a), t.position.multiplyScalar(1 / a), o.add(t), o;
6730
+ }
6731
+ var mi = {
6711
6732
  box: (e) => new e.BoxGeometry(1, 1, 1, 1, 1, 1),
6712
6733
  sphere: (e) => new e.SphereGeometry(.62, 48, 32),
6713
6734
  torus: (e) => new e.TorusGeometry(.5, .2, 24, 64),
@@ -6716,9 +6737,9 @@ var li = {
6716
6737
  cylinder: (e) => new e.CylinderGeometry(.45, .45, 1.1, 48),
6717
6738
  plane: (e) => new e.PlaneGeometry(1.4, 1.4),
6718
6739
  capsule: (e) => new e.CapsuleGeometry(.35, .6, 8, 32)
6719
- }, ui = (e, t) => Number.isFinite(Number(e)) ? Number(e) : t;
6720
- function di({ objects: e, background: t, cameraDistance: n, fov: r, autoRotate: i, spinSpeed: o, controls: s, ground: u, height: f, style: p, nodeRef: m, inert: h }) {
6721
- let g = c(null), [_, v] = l(!1), y = Array.isArray(e) ? e.filter((e) => e && typeof e == "object") : [], b = JSON.stringify(y), x = i !== !1 && !qr(), S = s !== !1 && !h;
6740
+ }, hi = (e, t) => Number.isFinite(Number(e)) ? Number(e) : t;
6741
+ function gi({ objects: e, background: t, cameraDistance: n, fov: r, autoRotate: i, spinSpeed: o, controls: s, ground: u, height: f, style: p, nodeRef: m, inert: h }) {
6742
+ let g = c(null), [_, v] = l(!1), y = Array.isArray(e) ? e.filter((e) => e && typeof e == "object") : [], b = JSON.stringify(y), x = i !== !1 && !Jr(), S = s !== !1 && !h;
6722
6743
  return a(() => {
6723
6744
  let e = g.current;
6724
6745
  if (!e) return;
@@ -6729,46 +6750,61 @@ function di({ objects: e, background: t, cameraDistance: n, fov: r, autoRotate:
6729
6750
  antialias: !0,
6730
6751
  alpha: !t
6731
6752
  });
6732
- c.setPixelRatio(Jr()), c.shadowMap.enabled = u !== !1, c.shadowMap.type = s.PCFSoftShadowMap, c.outputColorSpace = s.SRGBColorSpace, c.toneMapping = s.ACESFilmicToneMapping, c.domElement.style.display = "block", c.domElement.style.width = "100%", c.domElement.style.height = "100%", e.appendChild(c.domElement);
6753
+ c.setPixelRatio(Yr()), c.shadowMap.enabled = u !== !1, c.shadowMap.type = s.PCFSoftShadowMap, c.outputColorSpace = s.SRGBColorSpace, c.toneMapping = s.ACESFilmicToneMapping, c.domElement.style.display = "block", c.domElement.style.width = "100%", c.domElement.style.height = "100%", e.appendChild(c.domElement);
6733
6754
  let l = new s.Scene();
6734
- t && (l.background = new s.Color(t)), l.environment = ci(s, c);
6735
- let d = new s.PerspectiveCamera(ui(r, 45), 1, .1, 400), f = Xr(d, c.domElement, {
6736
- distance: ui(n, 5),
6755
+ t && (l.background = new s.Color(t)), l.environment = ui(s, c);
6756
+ let d = new s.PerspectiveCamera(hi(r, 45), 1, .1, 400), f = Zr(d, c.domElement, {
6757
+ distance: hi(n, 5),
6737
6758
  enableZoom: S
6738
6759
  }), p = new s.DirectionalLight(16777215, 2.2);
6739
6760
  p.position.set(4, 7, 5), p.castShadow = u !== !1, p.shadow.mapSize.set(1024, 1024), p.shadow.camera.near = .5, p.shadow.camera.far = 30, l.add(p, new s.AmbientLight(16777215, .35));
6740
- let m = [], h = new s.Group();
6761
+ let m = [], h = new s.Group(), g = (e, t) => {
6762
+ let n = hi(t.scale, 1);
6763
+ e.position.set(hi(t.x, 0), hi(t.y, 0), hi(t.z, 0)), e.rotation.set(ei(t.rx), ei(t.ry), ei(t.rz)), e.scale.setScalar(n > 0 ? n : 1), e.userData.spin = ei(t.spin);
6764
+ };
6741
6765
  for (let e of y) {
6742
- let t = (li[e.shape] ?? li.box)(s), n = new s.MeshStandardMaterial({
6766
+ if (e.shape === "model") {
6767
+ if (!ti(e.src)) continue;
6768
+ let t = new s.Group();
6769
+ g(t, e), h.add(t), fi(e.src).then((e) => {
6770
+ if (!i) return;
6771
+ let n = pi(s, e.clone(!0));
6772
+ n.traverse((e) => {
6773
+ e.isMesh && (e.castShadow = !0, e.receiveShadow = !0);
6774
+ }), t.add(n);
6775
+ }, () => {});
6776
+ continue;
6777
+ }
6778
+ let t = (mi[e.shape] ?? mi.box)(s), n = new s.MeshStandardMaterial({
6743
6779
  color: /^#?[0-9a-f]{6}$/i.test(String(e.color ?? "")) ? e.color : "#6366f1",
6744
- metalness: Math.min(1, Math.max(0, Qr(e.metalness, 10))),
6745
- roughness: Math.min(1, Math.max(0, Qr(e.roughness, 35))),
6746
- transparent: Qr(e.opacity, 100) < 1,
6747
- opacity: Math.min(1, Math.max(0, Qr(e.opacity, 100))),
6780
+ metalness: Math.min(1, Math.max(0, $r(e.metalness, 10))),
6781
+ roughness: Math.min(1, Math.max(0, $r(e.roughness, 35))),
6782
+ transparent: $r(e.opacity, 100) < 1,
6783
+ opacity: Math.min(1, Math.max(0, $r(e.opacity, 100))),
6748
6784
  flatShading: e.flat === !0,
6749
6785
  wireframe: e.wireframe === !0,
6750
6786
  side: e.shape === "plane" ? s.DoubleSide : s.FrontSide
6751
- }), r = new s.Mesh(t, n), i = ui(e.scale, 1);
6752
- r.position.set(ui(e.x, 0), ui(e.y, 0), ui(e.z, 0)), r.rotation.set(ui(e.rx, 0) * Math.PI / 180, ui(e.ry, 0) * Math.PI / 180, ui(e.rz, 0) * Math.PI / 180), r.scale.setScalar(i > 0 ? i : 1), r.castShadow = !0, r.receiveShadow = !0, r.userData.spin = $r(e.spin), h.add(r), m.push(t, n);
6787
+ }), r = new s.Mesh(t, n);
6788
+ g(r, e), r.castShadow = !0, r.receiveShadow = !0, h.add(r), m.push(t, n);
6753
6789
  }
6754
6790
  l.add(h);
6755
- let g = null;
6791
+ let _ = null;
6756
6792
  if (u !== !1) {
6757
6793
  let e = new s.ShadowMaterial({ opacity: .22 }), t = new s.PlaneGeometry(60, 60);
6758
- g = new s.Mesh(t, e), g.rotation.x = -Math.PI / 2, g.position.y = ui(u === !0 ? 0 : u, -.85), g.receiveShadow = !0, l.add(g), m.push(t, e);
6794
+ _ = new s.Mesh(t, e), _.rotation.x = -Math.PI / 2, _.position.y = hi(u === !0 ? 0 : u, -.85), _.receiveShadow = !0, l.add(_), m.push(t, e);
6759
6795
  }
6760
- let _ = () => {
6796
+ let v = () => {
6761
6797
  let t = Math.max(1, e.clientWidth), n = Math.max(1, e.clientHeight);
6762
6798
  c.setSize(t, n, !1), d.aspect = t / n, d.updateProjectionMatrix();
6763
- }, v = typeof ResizeObserver > "u" ? null : new ResizeObserver(_);
6764
- v?.observe(e), _();
6765
- let b = $r(Number.isFinite(Number(o)) ? o : 20), C = Yr(e, (e) => {
6766
- f.autoSpin(x ? b : 0, e), f.update();
6799
+ }, b = typeof ResizeObserver > "u" ? null : new ResizeObserver(v);
6800
+ b?.observe(e), v();
6801
+ let C = ei(Number.isFinite(Number(o)) ? o : 20), w = Xr(e, (e) => {
6802
+ f.autoSpin(x ? C : 0, e), f.update();
6767
6803
  for (let t of h.children) t.userData.spin && (t.rotation.y += t.userData.spin * e);
6768
6804
  c.render(l, d);
6769
6805
  });
6770
6806
  a = () => {
6771
- C(), v?.disconnect(), f.dispose();
6807
+ w(), b?.disconnect(), f.dispose();
6772
6808
  for (let e of m) e.dispose?.();
6773
6809
  l.environment?.dispose?.(), c.dispose(), c.domElement.remove();
6774
6810
  };
@@ -6786,7 +6822,7 @@ function di({ objects: e, background: t, cameraDistance: n, fov: r, autoRotate:
6786
6822
  o,
6787
6823
  S,
6788
6824
  u
6789
- ]), _ && h ? /* @__PURE__ */ d(ei, {
6825
+ ]), _ && h ? /* @__PURE__ */ d(ni, {
6790
6826
  nodeRef: m,
6791
6827
  style: p,
6792
6828
  height: f,
@@ -6797,15 +6833,15 @@ function di({ objects: e, background: t, cameraDistance: n, fov: r, autoRotate:
6797
6833
  g.current = e, typeof m == "function" && m(e);
6798
6834
  },
6799
6835
  style: {
6800
- ...P(p),
6801
- minHeight: Zr(f, 380),
6802
- height: Zr(f, 380),
6836
+ minHeight: Qr(f, 380),
6837
+ height: Qr(f, 380),
6803
6838
  overflow: "hidden",
6804
- touchAction: S ? "pan-y" : void 0
6839
+ touchAction: S ? "pan-y" : void 0,
6840
+ ...P(p)
6805
6841
  }
6806
6842
  });
6807
6843
  }
6808
- function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o }) {
6844
+ function _i({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o }) {
6809
6845
  let s = c(null), [u, f] = l("");
6810
6846
  return a(() => {
6811
6847
  let t = s.current;
@@ -6817,7 +6853,7 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6817
6853
  antialias: !0,
6818
6854
  alpha: !n
6819
6855
  });
6820
- o.setPixelRatio(Jr()), o.outputColorSpace = a.SRGBColorSpace, o.domElement.style.display = "block", o.domElement.style.width = "100%", o.domElement.style.height = "100%", t.appendChild(o.domElement);
6856
+ o.setPixelRatio(Yr()), o.outputColorSpace = a.SRGBColorSpace, o.domElement.style.display = "block", o.domElement.style.width = "100%", o.domElement.style.height = "100%", t.appendChild(o.domElement);
6821
6857
  let s = new a.Scene();
6822
6858
  n && (s.background = new a.Color(n));
6823
6859
  let c = new a.PerspectiveCamera(45, 1, .1, 1e3);
@@ -6840,7 +6876,7 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6840
6876
  o.setSize(e, n, !1), c.aspect = e / n, c.updateProjectionMatrix();
6841
6877
  }, d = typeof ResizeObserver > "u" ? null : new ResizeObserver(u);
6842
6878
  d?.observe(t), u();
6843
- let p = !1, m = Yr(t, (e, t) => {
6879
+ let p = !1, m = Xr(t, (e, t) => {
6844
6880
  if (!p && typeof l?.frame == "function") try {
6845
6881
  l.frame(e, t);
6846
6882
  } catch (e) {
@@ -6862,7 +6898,7 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6862
6898
  e,
6863
6899
  o,
6864
6900
  n
6865
- ]), o ? /* @__PURE__ */ d(ei, {
6901
+ ]), o ? /* @__PURE__ */ d(ni, {
6866
6902
  nodeRef: i,
6867
6903
  style: r,
6868
6904
  height: t,
@@ -6873,12 +6909,12 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6873
6909
  s.current = e, typeof i == "function" && i(e);
6874
6910
  },
6875
6911
  style: {
6876
- ...P(r),
6877
- minHeight: Zr(t, 380),
6878
- height: Zr(t, 380),
6912
+ minHeight: Qr(t, 380),
6913
+ height: Qr(t, 380),
6879
6914
  overflow: "hidden",
6880
6915
  position: "relative",
6881
- touchAction: "pan-y"
6916
+ touchAction: "pan-y",
6917
+ ...P(r)
6882
6918
  },
6883
6919
  children: u ? /* @__PURE__ */ d("div", {
6884
6920
  style: {
@@ -6889,7 +6925,7 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6889
6925
  padding: "6px 8px",
6890
6926
  borderRadius: 6,
6891
6927
  background: "rgba(127,29,29,.85)",
6892
- ...le,
6928
+ ...ce,
6893
6929
  color: "#fee2e2",
6894
6930
  fontSize: 11
6895
6931
  },
@@ -6897,40 +6933,40 @@ function fi({ code: e, height: t, background: n, style: r, nodeRef: i, inert: o
6897
6933
  }) : null
6898
6934
  });
6899
6935
  }
6900
- var pi = {
6901
- ModelViewerBlock: ti,
6902
- ShaderBlock: si,
6903
- SceneBlock: di,
6904
- ThreeCanvasBlock: fi
6905
- }, mi = /* @__PURE__ */ new Map();
6906
- function hi(e) {
6907
- if (mi.has(e)) return mi.get(e);
6936
+ var vi = {
6937
+ ModelViewerBlock: ri,
6938
+ ShaderBlock: li,
6939
+ SceneBlock: gi,
6940
+ ThreeCanvasBlock: _i
6941
+ }, yi = /* @__PURE__ */ new Map();
6942
+ function bi(e) {
6943
+ if (yi.has(e)) return yi.get(e);
6908
6944
  let t = URL.createObjectURL(new Blob([e], { type: "text/javascript" })), n = import(
6909
6945
  /* @vite-ignore */
6910
6946
  /* webpackIgnore: true */
6911
6947
  t
6912
6948
  ).finally(() => URL.revokeObjectURL(t));
6913
- return mi.set(e, n), n;
6949
+ return yi.set(e, n), n;
6914
6950
  }
6915
- function gi(e) {
6951
+ function xi(e) {
6916
6952
  let t = e && typeof e == "object" ? e.builder_plugins : null, n = t && typeof t == "object" ? t.plugins : null;
6917
6953
  return n && typeof n == "object" ? n : {};
6918
6954
  }
6919
6955
  //#endregion
6920
6956
  //#region ../ui/src/components/builder/plugins/view.jsx
6921
- async function _i(e, t) {
6922
- let n = await hi(e);
6957
+ async function Si(e, t) {
6958
+ let n = await bi(e);
6923
6959
  return (Array.isArray(n?.default?.blocks) ? n.default.blocks : []).find((e) => e?.id === t && typeof e.mount == "function") ?? null;
6924
6960
  }
6925
- var vi = {
6961
+ var Ci = {
6926
6962
  padding: "10px 12px",
6927
6963
  border: "1px dashed rgba(148, 163, 184, 0.5)",
6928
6964
  borderRadius: 8,
6929
6965
  fontSize: 12,
6930
6966
  opacity: .6
6931
6967
  };
6932
- function yi({ pluginId: e, blockId: t, props: n, style: r, nodeRef: o }) {
6933
- let s = i(Y), l = gi(s?.settings)[e], u = c(null), p = c(null), m = {
6968
+ function wi({ pluginId: e, blockId: t, props: n, style: r, nodeRef: o }) {
6969
+ let s = i(Y), l = xi(s?.settings)[e], u = c(null), p = c(null), m = {
6934
6970
  tenant: s?.tenant ?? "",
6935
6971
  apiUrl: s?.apiUrl ?? "/api",
6936
6972
  locale: s?.locale ?? "",
@@ -6942,7 +6978,7 @@ function yi({ pluginId: e, blockId: t, props: n, style: r, nodeRef: o }) {
6942
6978
  let e = u.current;
6943
6979
  if (!l?.code || !e) return;
6944
6980
  let n = !0;
6945
- return _i(l.code, t).then((e) => {
6981
+ return Si(l.code, t).then((e) => {
6946
6982
  if (!(!n || !e || !u.current)) {
6947
6983
  p.current = e;
6948
6984
  try {
@@ -6972,7 +7008,7 @@ function yi({ pluginId: e, blockId: t, props: n, style: r, nodeRef: o }) {
6972
7008
  }) : /* @__PURE__ */ f("div", {
6973
7009
  ref: o,
6974
7010
  style: {
6975
- ...vi,
7011
+ ...Ci,
6976
7012
  ...P(r)
6977
7013
  },
6978
7014
  children: [
@@ -6984,13 +7020,13 @@ function yi({ pluginId: e, blockId: t, props: n, style: r, nodeRef: o }) {
6984
7020
  }
6985
7021
  //#endregion
6986
7022
  //#region ../ui/src/components/builder/render.jsx
6987
- var bi = {
7023
+ var Ti = {
6988
7024
  ...rr,
6989
7025
  ...Ir,
6990
- ...pi,
6991
- PluginBlock: yi
7026
+ ...vi,
7027
+ PluginBlock: wi
6992
7028
  };
6993
- function xi(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
7029
+ function Ei(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
6994
7030
  let o = n[e];
6995
7031
  if (!o || o.hidden) return null;
6996
7032
  let s = o.type?.resolvedName, c = a?.mapProps ? a.mapProps(o.props ?? {}, s) : o.props ?? {};
@@ -6998,16 +7034,16 @@ function xi(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
6998
7034
  let n = o.props?.componentId, s = r?.[n];
6999
7035
  if (!s?.template || i.has(n)) return null;
7000
7036
  let c = new Set(i).add(n);
7001
- return /* @__PURE__ */ d(t, { children: xi(s.template.rootId, s.template.nodes, r, c, a) }, e);
7037
+ return /* @__PURE__ */ d(t, { children: Ei(s.template.rootId, s.template.nodes, r, c, a) }, e);
7002
7038
  }
7003
- let l = bi[s];
7039
+ let l = Ti[s];
7004
7040
  if (!l) return null;
7005
- let u = (o.nodes ?? []).map((e) => xi(e, n, r, i, a)).filter(Boolean), f = Object.entries(o.linkedNodes ?? {}), p = f.length ? Object.fromEntries(f.map(([e, t]) => [e, xi(t, n, r, i, a)])) : void 0, m = /* @__PURE__ */ d(l, {
7041
+ let u = (o.nodes ?? []).map((e) => Ei(e, n, r, i, a)).filter(Boolean), f = Object.entries(o.linkedNodes ?? {}), p = f.length ? Object.fromEntries(f.map(([e, t]) => [e, Ei(t, n, r, i, a)])) : void 0, m = /* @__PURE__ */ d(l, {
7006
7042
  ...c,
7007
7043
  ...s === "CollectionList" ? { templateId: o.linkedNodes?.card } : null,
7008
7044
  linked: p,
7009
7045
  nodeRef: (t) => {
7010
- t && (t.setAttribute("data-wb", e), te(t, c), ee(t, a?.events === !1 ? [] : c.events));
7046
+ t && (t.setAttribute("data-wb", e), W(t, c), ee(t, a?.events === !1 ? [] : c.events));
7011
7047
  },
7012
7048
  children: u.length ? u : void 0
7013
7049
  }, e);
@@ -7018,9 +7054,9 @@ function xi(e, n, r, i = /* @__PURE__ */ new Set(), a = void 0) {
7018
7054
  }
7019
7055
  //#endregion
7020
7056
  //#region ../ui/src/components/builder/PageRenderer.jsx
7021
- var Si = (e) => Object.entries(e).map(([e, t]) => `${e}: ${t};`).join(" "), Ci = (e) => `.webim-page[data-webim-mode="light"] { ${Object.entries(me(e.light)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }
7057
+ var Di = (e) => Object.entries(e).map(([e, t]) => `${e}: ${t};`).join(" "), Oi = (e) => `.webim-page[data-webim-mode="light"] { ${Object.entries(me(e.light)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }
7022
7058
  .webim-page[data-webim-mode="dark"] { ${Object.entries(me(e.dark)).map(([e, t]) => `${e}: ${t} !important;`).join(" ")} }`;
7023
- function wi({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, custom: o, animations: c, tenant: l, apiUrl: u, datasets: p, locale: m, direction: g, settings: _, siteUser: v }) {
7059
+ function ki({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, custom: o, animations: c, tenant: l, apiUrl: u, datasets: p, locale: m, direction: g, settings: _, siteUser: v }) {
7024
7060
  let y = o?.js?.trim();
7025
7061
  if (a(() => {
7026
7062
  if (!y) return;
@@ -7034,11 +7070,11 @@ function wi({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
7034
7070
  minHeight: "100%",
7035
7071
  display: "flex",
7036
7072
  flexDirection: "column"
7037
- }, w = xi("ROOT", e, n), T = s(() => ({ render: (t, r) => xi(t, e, n, void 0, { mapProps: r }) }), [e, n]), E = ce(e, n), O = se(e, n), k = o?.css?.trim(), j = S(c), M = pe(t), N = [M.font, M.headingFont].filter((e) => typeof e == "string" && e.trim() && e !== "inherit" && !de[e]), P = [.../* @__PURE__ */ new Set([...A(e, n), ...N])].map((e) => /* @__PURE__ */ d("link", {
7073
+ }, w = Ei("ROOT", e, n), T = s(() => ({ render: (t, r) => Ei(t, e, n, void 0, { mapProps: r }) }), [e, n]), E = se(e, n), O = oe(e, n), k = o?.css?.trim(), j = S(c), M = pe(t), N = [M.font, M.headingFont].filter((e) => typeof e == "string" && e.trim() && e !== "inherit" && !ue[e]), P = [.../* @__PURE__ */ new Set([...A(e, n), ...N])].map((e) => /* @__PURE__ */ d("link", {
7038
7074
  rel: "stylesheet",
7039
7075
  precedence: "default",
7040
7076
  href: D(e)
7041
- }, e)), F = Ci(M);
7077
+ }, e)), F = Oi(M);
7042
7078
  return r === "auto" ? /* @__PURE__ */ d(Y.Provider, {
7043
7079
  value: {
7044
7080
  tenant: l || "",
@@ -7061,8 +7097,8 @@ function wi({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
7061
7097
  ...i
7062
7098
  },
7063
7099
  children: [
7064
- /* @__PURE__ */ d("style", { children: `.webim-page { ${Si(me(M.light))} }
7065
- @media (prefers-color-scheme: dark) { .webim-page { ${Si(me(M.dark))} } }` }),
7100
+ /* @__PURE__ */ d("style", { children: `.webim-page { ${Di(me(M.light))} }
7101
+ @media (prefers-color-scheme: dark) { .webim-page { ${Di(me(M.dark))} } }` }),
7066
7102
  /* @__PURE__ */ d("style", { children: F }),
7067
7103
  P,
7068
7104
  /* @__PURE__ */ d("style", { children: x }),
@@ -7115,8 +7151,8 @@ function wi({ blocks: e, theme: t, components: n, mode: r = "auto", style: i, cu
7115
7151
  }
7116
7152
  //#endregion
7117
7153
  //#region src/WebimContent.jsx
7118
- function Ti({ bundle: e, mode: t = "auto", style: n }) {
7119
- return e?.blocks?.ROOT ? /* @__PURE__ */ d(wi, {
7154
+ function Ai({ bundle: e, mode: t = "auto", style: n }) {
7155
+ return e?.blocks?.ROOT ? /* @__PURE__ */ d(ki, {
7120
7156
  blocks: e.blocks,
7121
7157
  theme: e.theme,
7122
7158
  components: e.components,
@@ -7134,7 +7170,7 @@ function Ti({ bundle: e, mode: t = "auto", style: n }) {
7134
7170
  }
7135
7171
  //#endregion
7136
7172
  //#region src/bundle.js
7137
- function Ei({ page: e, settings: t, tenant: n, apiUrl: r, locale: i }) {
7173
+ function ji({ page: e, settings: t, tenant: n, apiUrl: r, locale: i }) {
7138
7174
  let a = {
7139
7175
  ...t?.global ?? {},
7140
7176
  ...t?.tenant ?? {}
@@ -7160,18 +7196,18 @@ function Ei({ page: e, settings: t, tenant: n, apiUrl: r, locale: i }) {
7160
7196
  }
7161
7197
  //#endregion
7162
7198
  //#region src/fetchPage.js
7163
- var Di = async (e) => {
7199
+ var Mi = async (e) => {
7164
7200
  let t = await e.json().catch(() => null);
7165
7201
  if (!e.ok || t?.success === !1) throw Error(t?.error?.message || `Request failed (${e.status})`);
7166
7202
  return t?.payload ?? t;
7167
7203
  };
7168
- async function Oi({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token: a, page: o, fetch: s }) {
7204
+ async function Ni({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token: a, page: o, fetch: s }) {
7169
7205
  if (!e) throw Error("fetchPage: apiUrl is required");
7170
7206
  if (!n) throw Error("fetchPage: slug is required");
7171
7207
  let c = s ?? fetch, l = e.replace(/\/$/, ""), u = {
7172
7208
  ...t ? { "x-tenant": t } : {},
7173
7209
  ...a ? { authorization: `Bearer ${a}` } : {}
7174
- }, [d, f] = await Promise.all([c(`${l}/render/${encodeURIComponent(n)}${i ? `?preview=${encodeURIComponent(i)}` : ""}`, { headers: u }).then(Di), c(`${l}/settings/public`, { headers: u }).then(Di)]), p = Ei({
7210
+ }, [d, f] = await Promise.all([c(`${l}/render/${encodeURIComponent(n)}${i ? `?preview=${encodeURIComponent(i)}` : ""}`, { headers: u }).then(Mi), c(`${l}/settings/public`, { headers: u }).then(Mi)]), p = ji({
7175
7211
  page: d,
7176
7212
  settings: f,
7177
7213
  tenant: t,
@@ -7186,7 +7222,7 @@ async function Oi({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token:
7186
7222
  "LogoCarousel"
7187
7223
  ].includes(e?.type?.resolvedName) ? e.props?.source : null).filter(Boolean))];
7188
7224
  if (m.length) {
7189
- let e = (e) => e.startsWith("api:") ? `${l}/data/${encodeURIComponent(e.slice(4))}` : `${l}/dynamic/${encodeURIComponent(e)}?all=1${r ? `&locale=${encodeURIComponent(r)}` : ""}`, t = await Promise.all(m.map((t) => c(e(t), { headers: u }).then(Di).then((e) => {
7225
+ let e = (e) => e.startsWith("api:") ? `${l}/data/${encodeURIComponent(e.slice(4))}` : `${l}/dynamic/${encodeURIComponent(e)}?all=1${r ? `&locale=${encodeURIComponent(r)}` : ""}`, t = await Promise.all(m.map((t) => c(e(t), { headers: u }).then(Mi).then((e) => {
7190
7226
  let n = Array.isArray(e) ? e : Array.isArray(e?.data) ? e.data : [], r = Number(e?.total?.filtered ?? e?.total?.all ?? n.length);
7191
7227
  return [[t, n], [`${t}:total`, Number.isFinite(r) ? r : n.length]];
7192
7228
  }).catch(() => [[t, []]])));
@@ -7200,40 +7236,40 @@ async function Oi({ apiUrl: e, tenant: t, slug: n, locale: r, preview: i, token:
7200
7236
  }
7201
7237
  //#endregion
7202
7238
  //#region src/ssr.jsx
7203
- var ki = (e) => String(e ?? "").replace(/[&<>"]/g, (e) => ({
7239
+ var Pi = (e) => String(e ?? "").replace(/[&<>"]/g, (e) => ({
7204
7240
  "&": "&amp;",
7205
7241
  "<": "&lt;",
7206
7242
  ">": "&gt;",
7207
7243
  "\"": "&quot;"
7208
7244
  })[e]);
7209
- function Ai(t, { mode: n = "auto", style: r } = {}) {
7210
- return e(/* @__PURE__ */ d(Ti, {
7245
+ function Fi(t, { mode: n = "auto", style: r } = {}) {
7246
+ return e(/* @__PURE__ */ d(Ai, {
7211
7247
  bundle: t,
7212
7248
  mode: n,
7213
7249
  style: r
7214
7250
  }));
7215
7251
  }
7216
- function ji(e, { mode: t = "auto", lang: n } = {}) {
7252
+ function Ii(e, { mode: t = "auto", lang: n } = {}) {
7217
7253
  let r = e.seo ?? {}, i = n || e.locale || "en", a = h(e.direction, i), o = r.title || e.title || e.slug || "Page", s = e.custom?.js?.trim(), c = [
7218
7254
  "<meta charset=\"utf-8\"/>",
7219
7255
  "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/>",
7220
- `<title>${ki(o)}</title>`,
7221
- r.description && `<meta name="description" content="${ki(r.description)}"/>`,
7222
- `<meta property="og:title" content="${ki(o)}"/>`,
7223
- r.image && `<meta property="og:image" content="${ki(r.image)}"/>`,
7256
+ `<title>${Pi(o)}</title>`,
7257
+ r.description && `<meta name="description" content="${Pi(r.description)}"/>`,
7258
+ `<meta property="og:title" content="${Pi(o)}"/>`,
7259
+ r.image && `<meta property="og:image" content="${Pi(r.image)}"/>`,
7224
7260
  r.noindex && "<meta name=\"robots\" content=\"noindex\"/>",
7225
7261
  "<style>html,body{margin:0;height:100%}</style>"
7226
7262
  ].filter(Boolean).join("\n");
7227
7263
  return `<!doctype html>
7228
- <html lang="${ki(i)}"${a ? ` dir="${a}"` : ""}>
7264
+ <html lang="${Pi(i)}"${a ? ` dir="${a}"` : ""}>
7229
7265
  <head>
7230
7266
  ${c}
7231
7267
  </head>
7232
7268
  <body>
7233
- ${Ai(e, { mode: t })}
7269
+ ${Fi(e, { mode: t })}
7234
7270
  ${s ? `<script>${s.replaceAll("<\/script", "<\\/script")}<\/script>` : ""}
7235
7271
  </body>
7236
7272
  </html>`;
7237
7273
  }
7238
7274
  //#endregion
7239
- export { Ei as assembleBundle, Oi as fetchPage, Ai as renderBundleHtml, ji as renderPageDocument };
7275
+ export { ji as assembleBundle, Ni as fetchPage, Fi as renderBundleHtml, Ii as renderPageDocument };