@olonjs/core 1.1.6 → 1.1.8

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.
@@ -1,4 +1,4 @@
1
- import Tt, { useContext as Te, createContext as Re, Component as rt, useMemo as ze, useState as ot, useEffect as oe, forwardRef as nt, createElement as Ne, useRef as Be, useLayoutEffect as Rt } from "react";
1
+ import Tt, { useContext as Re, createContext as Ae, Component as rt, useMemo as ze, useState as ot, useEffect as oe, forwardRef as nt, createElement as Ne, useRef as Be, useLayoutEffect as Rt } from "react";
2
2
  import { Link as At, createRoutesFromElements as _t, createBrowserRouter as Ot, RouterProvider as Pt, ScrollRestoration as zt, Outlet as Nt, useLocation as It, Route as ye } from "react-router-dom";
3
3
  import { z as I } from "zod";
4
4
  var xe = { exports: {} }, le = {};
@@ -44,7 +44,7 @@ var ce = {};
44
44
  * LICENSE file in the root directory of this source tree.
45
45
  */
46
46
  var Ge;
47
- function Mt() {
47
+ function Lt() {
48
48
  return Ge || (Ge = 1, process.env.NODE_ENV !== "production" && (function() {
49
49
  function e(i) {
50
50
  if (i == null) return null;
@@ -60,7 +60,7 @@ function Mt() {
60
60
  return "StrictMode";
61
61
  case T:
62
62
  return "Suspense";
63
- case L:
63
+ case M:
64
64
  return "SuspenseList";
65
65
  case J:
66
66
  return "Activity";
@@ -239,7 +239,7 @@ React keys must be passed directly to JSX without using spread:
239
239
  function y(i) {
240
240
  return typeof i == "object" && i !== null && i.$$typeof === A;
241
241
  }
242
- var w = Tt, A = Symbol.for("react.transitional.element"), j = Symbol.for("react.portal"), C = Symbol.for("react.fragment"), F = Symbol.for("react.strict_mode"), W = Symbol.for("react.profiler"), E = Symbol.for("react.consumer"), O = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), T = Symbol.for("react.suspense"), L = Symbol.for("react.suspense_list"), d = Symbol.for("react.memo"), S = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), Y = Symbol.for("react.client.reference"), V = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, X = Object.prototype.hasOwnProperty, Z = Array.isArray, D = console.createTask ? console.createTask : function() {
242
+ var w = Tt, A = Symbol.for("react.transitional.element"), j = Symbol.for("react.portal"), C = Symbol.for("react.fragment"), F = Symbol.for("react.strict_mode"), W = Symbol.for("react.profiler"), E = Symbol.for("react.consumer"), O = Symbol.for("react.context"), k = Symbol.for("react.forward_ref"), T = Symbol.for("react.suspense"), M = Symbol.for("react.suspense_list"), d = Symbol.for("react.memo"), S = Symbol.for("react.lazy"), J = Symbol.for("react.activity"), Y = Symbol.for("react.client.reference"), V = w.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, X = Object.prototype.hasOwnProperty, Z = Array.isArray, D = console.createTask ? console.createTask : function() {
243
243
  return null;
244
244
  };
245
245
  w = {
@@ -275,14 +275,14 @@ React keys must be passed directly to JSX without using spread:
275
275
  })()), ce;
276
276
  }
277
277
  var Ve;
278
- function Lt() {
279
- return Ve || (Ve = 1, process.env.NODE_ENV === "production" ? xe.exports = $t() : xe.exports = Mt()), xe.exports;
278
+ function Mt() {
279
+ return Ve || (Ve = 1, process.env.NODE_ENV === "production" ? xe.exports = $t() : xe.exports = Lt()), xe.exports;
280
280
  }
281
- var u = Lt();
281
+ var u = Mt();
282
282
  function fe(e) {
283
283
  return typeof e == "object" && e !== null;
284
284
  }
285
- function Se(e) {
285
+ function Ce(e) {
286
286
  if (!fe(e)) return !1;
287
287
  const t = Object.getPrototypeOf(e);
288
288
  return t === Object.prototype || t === null;
@@ -334,7 +334,7 @@ function Bt(e, t) {
334
334
  return s && r.add(s), Array.from(r);
335
335
  }
336
336
  function me(e) {
337
- return Array.isArray(e) ? e.map((t) => me(t)) : Se(e) ? Object.fromEntries(
337
+ return Array.isArray(e) ? e.map((t) => me(t)) : Ce(e) ? Object.fromEntries(
338
338
  Object.entries(e).map(([t, r]) => [t, me(r)])
339
339
  ) : e;
340
340
  }
@@ -381,7 +381,7 @@ function Gt(e, t, r) {
381
381
  function re(e, t, r) {
382
382
  if (Array.isArray(e))
383
383
  return e.map((o) => re(o, t, r));
384
- if (!Se(e))
384
+ if (!Ce(e))
385
385
  return e;
386
386
  if (Dt(e)) {
387
387
  const o = `${ie(t)}::${e.$ref}`;
@@ -393,7 +393,7 @@ function re(e, t, r) {
393
393
  const b = Object.fromEntries(
394
394
  m.map(([h, y]) => [h, re(y, t, r)])
395
395
  );
396
- return Se(l) ? { ...l, ...b } : l;
396
+ return Ce(l) ? { ...l, ...b } : l;
397
397
  }
398
398
  const n = Gt(e.$ref, t, r);
399
399
  if (!n)
@@ -408,7 +408,7 @@ function re(e, t, r) {
408
408
  const c = Object.fromEntries(
409
409
  a.map(([l, m]) => [l, re(m, t, r)])
410
410
  );
411
- return Se(s) ? { ...s, ...c } : s;
411
+ return Ce(s) ? { ...s, ...c } : s;
412
412
  }
413
413
  return Object.fromEntries(
414
414
  Object.entries(e).map(([o, n]) => [o, re(n, t, r)])
@@ -429,12 +429,10 @@ function Jt(e) {
429
429
  const t = e.menu;
430
430
  return Array.isArray(t) && t.every(Vt) ? t : null;
431
431
  }
432
- function Yt(e, t) {
433
- return Jt(e) ?? (Array.isArray(t) ? t : []);
434
- }
435
- function _e(e, t) {
436
- if (e.type === "header")
437
- return Yt(e.data, t);
432
+ function we(e, t) {
433
+ const r = Jt(e.data);
434
+ if (r) return r;
435
+ if (e.type === "header") return Array.isArray(t) ? t : [];
438
436
  }
439
437
  function st(e) {
440
438
  const t = Ut(e);
@@ -450,7 +448,7 @@ function st(e) {
450
448
  menuConfig: ve(e.menuConfig, "config/menu.json", t)
451
449
  };
452
450
  }
453
- function Ht() {
451
+ function Yt() {
454
452
  if (typeof window > "u") return null;
455
453
  const e = window;
456
454
  return e.__olonWebMcpTools__ || (e.__olonWebMcpTools__ = /* @__PURE__ */ new Map()), e.__olonWebMcpTools__;
@@ -480,34 +478,38 @@ async function Ye(e) {
480
478
  }
481
479
  throw new Error(`Unsupported URI scheme: ${e}`);
482
480
  }
483
- function qt() {
481
+ function Ht() {
482
+ var r;
484
483
  if (typeof window > "u" || typeof navigator > "u") return;
485
- const e = Ht();
486
- if (!e) return;
487
- const t = navigator;
488
- t.modelContext || (t.modelContext = {}), t.modelContext.registerTool = (r) => {
489
- e.set(r.name, r);
490
- }, t.modelContext.unregisterTool = (r) => {
491
- e.delete(r);
492
- }, t.modelContext.readResource = async (r) => Ye(r), t.modelContextProtocol = {
493
- listTools: () => Array.from(e.values()).map(({ execute: r, ...o }) => o),
494
- executeTool: async (r, o) => {
495
- const n = e.get(r);
496
- if (!n)
497
- throw new Error(`WebMCP tool "${r}" is not registered.`);
498
- const s = o ? JSON.parse(o) : {}, a = await n.execute(s);
499
- return JSON.stringify(a);
484
+ const e = navigator;
485
+ if (typeof ((r = e.modelContext) == null ? void 0 : r.registerTool) == "function") return;
486
+ const t = Yt();
487
+ t && (e.modelContext || (e.modelContext = {}), e.modelContext.registerTool = (o, n) => {
488
+ var s;
489
+ t.set(o.name, o), (s = n == null ? void 0 : n.signal) == null || s.addEventListener("abort", () => {
490
+ t.get(o.name) === o && t.delete(o.name);
491
+ });
492
+ }, e.modelContext.unregisterTool = (o) => {
493
+ t.delete(o);
494
+ }, e.modelContext.readResource = async (o) => Ye(o), e.modelContextProtocol = {
495
+ listTools: () => Array.from(t.values()).map(({ execute: o, ...n }) => n),
496
+ executeTool: async (o, n) => {
497
+ const s = t.get(o);
498
+ if (!s)
499
+ throw new Error(`WebMCP tool "${o}" is not registered.`);
500
+ const a = n ? JSON.parse(n) : {}, c = await s.execute(a);
501
+ return JSON.stringify(c);
500
502
  },
501
- readResource: async (r) => JSON.stringify(await Ye(r))
502
- };
503
+ readResource: async (o) => JSON.stringify(await Ye(o))
504
+ });
503
505
  }
504
- function Xt(e) {
506
+ function qt(e) {
505
507
  return `/schemas/${e}.schema.json`;
506
508
  }
507
- function Zt(e) {
509
+ function Xt(e) {
508
510
  return `/mcp-manifests/${e}.json`;
509
511
  }
510
- const Kt = () => /* @__PURE__ */ u.jsxs(
512
+ const Zt = () => /* @__PURE__ */ u.jsxs(
511
513
  "div",
512
514
  {
513
515
  style: {
@@ -531,7 +533,7 @@ const Kt = () => /* @__PURE__ */ u.jsxs(
531
533
  )
532
534
  ]
533
535
  }
534
- ), at = Re(void 0), Qt = ({ config: e, children: t }) => /* @__PURE__ */ u.jsx(
536
+ ), at = Ae(void 0), Kt = ({ config: e, children: t }) => /* @__PURE__ */ u.jsx(
535
537
  at.Provider,
536
538
  {
537
539
  value: {
@@ -545,19 +547,19 @@ const Kt = () => /* @__PURE__ */ u.jsxs(
545
547
  children: t
546
548
  }
547
549
  );
548
- function er() {
549
- const e = Te(at);
550
+ function Qt() {
551
+ const e = Re(at);
550
552
  if (e === void 0)
551
553
  throw new Error("useConfig must be used within ConfigProvider");
552
554
  return e;
553
555
  }
554
556
  const Oe = /* @__PURE__ */ new Set();
555
- function tr(e) {
557
+ function er(e) {
556
558
  return e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/[_\s]+/g, "-").toLowerCase();
557
559
  }
558
560
  function it(e, t = [], r = {}) {
559
561
  return Object.entries(e).forEach(([o, n]) => {
560
- const s = [...t, tr(o)];
562
+ const s = [...t, er(o)];
561
563
  if (typeof n == "string" || typeof n == "number") {
562
564
  r[`--theme-${s.join("-")}`] = String(n);
563
565
  return;
@@ -568,7 +570,7 @@ function it(e, t = [], r = {}) {
568
570
  function U(e, t, r, o) {
569
571
  o && (e[t] = `var(${r})`);
570
572
  }
571
- function rr(e) {
573
+ function tr(e) {
572
574
  const t = it(e.tokens), r = { ...t };
573
575
  return U(r, "--theme-primary", "--theme-colors-primary", t["--theme-colors-primary"]), U(r, "--theme-secondary", "--theme-colors-secondary", t["--theme-colors-secondary"]), U(r, "--theme-accent", "--theme-colors-accent", t["--theme-colors-accent"]), U(r, "--theme-background", "--theme-colors-background", t["--theme-colors-background"]), U(r, "--theme-surface", "--theme-colors-surface", t["--theme-colors-surface"]), U(r, "--theme-surface-alt", "--theme-colors-surface-alt", t["--theme-colors-surface-alt"]), U(r, "--theme-text", "--theme-colors-text", t["--theme-colors-text"]), U(r, "--theme-text-muted", "--theme-colors-text-muted", t["--theme-colors-text-muted"]), U(r, "--theme-border", "--theme-colors-border", t["--theme-colors-border"]), U(
574
576
  r,
@@ -589,31 +591,31 @@ function rr(e) {
589
591
  }
590
592
  const lt = {
591
593
  setTheme: (e) => {
592
- const t = document.documentElement, r = rr(e);
594
+ const t = document.documentElement, r = tr(e);
593
595
  Oe.forEach((o) => {
594
596
  t.style.removeProperty(o);
595
597
  }), Oe.clear(), Object.entries(r).forEach(([o, n]) => {
596
598
  t.style.setProperty(o, n), Oe.add(o);
597
599
  });
598
600
  }
599
- }, or = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
601
+ }, rr = /^[a-zA-Z][a-zA-Z\d+\-.]*:/;
600
602
  function Ie(e) {
601
603
  const t = typeof e == "string" ? e.trim() : "";
602
604
  if (!t || t === "/") return "/";
603
605
  const o = (t.startsWith("/") ? t : `/${t}`).replace(/\/+$/, "");
604
606
  return o.length > 0 ? `${o}/` : "/";
605
607
  }
606
- function we(e, t) {
608
+ function ke(e, t) {
607
609
  const r = e.trim();
608
610
  if (!r) return Ie(t);
609
- if (or.test(r) || r.startsWith("#")) return r;
611
+ if (rr.test(r) || r.startsWith("#")) return r;
610
612
  const o = Ie(t), n = r.startsWith("/") ? r : `/${r}`;
611
613
  if (o === "/") return n;
612
614
  const s = n.replace(/^\/+/, "");
613
615
  return `${o}${s}`;
614
616
  }
615
- const ct = Re({}), Ao = () => Te(ct);
616
- class nr extends rt {
617
+ const ct = Ae({}), Ro = () => Re(ct);
618
+ class or extends rt {
617
619
  constructor(t) {
618
620
  super(t), this.state = { hasError: !1, error: null };
619
621
  }
@@ -660,13 +662,13 @@ class nr extends rt {
660
662
  ) : this.props.children;
661
663
  }
662
664
  }
663
- function sr() {
665
+ function nr() {
664
666
  return /* @__PURE__ */ u.jsxs(u.Fragment, { children: [
665
667
  /* @__PURE__ */ u.jsx(zt, {}),
666
668
  /* @__PURE__ */ u.jsx(Nt, {})
667
669
  ] });
668
670
  }
669
- function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
671
+ function sr({ config: e, routesBuilder: t, adminCss: r = "" }) {
670
672
  var d, S, J, Y, V, X, Z;
671
673
  const {
672
674
  registry: o = {},
@@ -679,7 +681,7 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
679
681
  refDocuments: b,
680
682
  themeCss: h,
681
683
  addSection: y,
682
- NotFoundComponent: w = Kt
684
+ NotFoundComponent: w = Zt
683
685
  } = e, A = (y == null ? void 0 : y.addableSectionTypes) ?? Object.keys(n).filter((D) => D !== "header" && D !== "footer"), j = {
684
686
  saveToFile: (d = e.persistence) == null ? void 0 : d.saveToFile,
685
687
  hotSave: (S = e.persistence) == null ? void 0 : S.hotSave,
@@ -704,7 +706,7 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
704
706
  } catch (G) {
705
707
  console.warn("[JsonPages] setTheme failed", G);
706
708
  }
707
- (B = e.webmcp) != null && B.enabled && qt(), O(!0);
709
+ (B = e.webmcp) != null && B.enabled && Ht(), O(!0);
708
710
  }, [W.themeConfig, (Z = e.webmcp) == null ? void 0 : Z.enabled]);
709
711
  const T = {
710
712
  registry: o,
@@ -722,7 +724,7 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
722
724
  tenantCss: C,
723
725
  adminCss: F,
724
726
  NotFoundComponent: w
725
- }, L = ze(() => {
727
+ }, M = ze(() => {
726
728
  const D = _t(t(T));
727
729
  return Ot(D, { basename: k });
728
730
  }, [
@@ -747,8 +749,8 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
747
749
  e.webmcp,
748
750
  t
749
751
  ]);
750
- return E ? /* @__PURE__ */ u.jsx(nr, { children: /* @__PURE__ */ u.jsx(ct.Provider, { value: e.iconRegistry ?? {}, children: /* @__PURE__ */ u.jsx(
751
- Qt,
752
+ return E ? /* @__PURE__ */ u.jsx(or, { children: /* @__PURE__ */ u.jsx(ct.Provider, { value: e.iconRegistry ?? {}, children: /* @__PURE__ */ u.jsx(
753
+ Kt,
752
754
  {
753
755
  config: {
754
756
  registry: o,
@@ -758,7 +760,7 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
758
760
  assets: e.assets,
759
761
  overlayDisabledSectionTypes: e.overlayDisabledSectionTypes
760
762
  },
761
- children: /* @__PURE__ */ u.jsx(Pt, { router: L })
763
+ children: /* @__PURE__ */ u.jsx(Pt, { router: M })
762
764
  }
763
765
  ) }) }) : /* @__PURE__ */ u.jsx(
764
766
  "div",
@@ -777,7 +779,7 @@ function ar({ config: e, routesBuilder: t, adminCss: r = "" }) {
777
779
  }
778
780
  );
779
781
  }
780
- const dt = Re(void 0), ir = ({ mode: e, children: t }) => (oe(() => {
782
+ const dt = Ae(void 0), ar = ({ mode: e, children: t }) => (oe(() => {
781
783
  if (e !== "studio") return;
782
784
  const r = new MutationObserver((o) => {
783
785
  o.forEach((n) => {
@@ -787,13 +789,13 @@ const dt = Re(void 0), ir = ({ mode: e, children: t }) => (oe(() => {
787
789
  });
788
790
  });
789
791
  return r.observe(document.body, { childList: !0 }), () => r.disconnect();
790
- }, [e]), /* @__PURE__ */ u.jsx(dt.Provider, { value: { mode: e }, children: t })), lr = () => {
791
- const e = Te(dt);
792
+ }, [e]), /* @__PURE__ */ u.jsx(dt.Provider, { value: { mode: e }, children: t })), ir = () => {
793
+ const e = Re(dt);
792
794
  if (e === void 0)
793
795
  throw new Error("useStudio must be used within a StudioProvider");
794
796
  return e;
795
797
  };
796
- function cr(e, t) {
798
+ function lr(e, t) {
797
799
  return t.header != null && e["global-header"] !== !1;
798
800
  }
799
801
  /**
@@ -802,14 +804,14 @@ function cr(e, t) {
802
804
  * This source code is licensed under the ISC license.
803
805
  * See the LICENSE file in the root directory of this source tree.
804
806
  */
805
- const dr = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ut = (...e) => e.filter((t, r, o) => !!t && t.trim() !== "" && o.indexOf(t) === r).join(" ").trim();
807
+ const cr = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), ut = (...e) => e.filter((t, r, o) => !!t && t.trim() !== "" && o.indexOf(t) === r).join(" ").trim();
806
808
  /**
807
809
  * @license lucide-react v0.474.0 - ISC
808
810
  *
809
811
  * This source code is licensed under the ISC license.
810
812
  * See the LICENSE file in the root directory of this source tree.
811
813
  */
812
- var ur = {
814
+ var dr = {
813
815
  xmlns: "http://www.w3.org/2000/svg",
814
816
  width: 24,
815
817
  height: 24,
@@ -826,7 +828,7 @@ var ur = {
826
828
  * This source code is licensed under the ISC license.
827
829
  * See the LICENSE file in the root directory of this source tree.
828
830
  */
829
- const mr = nt(
831
+ const ur = nt(
830
832
  ({
831
833
  color: e = "currentColor",
832
834
  size: t = 24,
@@ -840,7 +842,7 @@ const mr = nt(
840
842
  "svg",
841
843
  {
842
844
  ref: l,
843
- ...ur,
845
+ ...dr,
844
846
  width: t,
845
847
  height: t,
846
848
  stroke: e,
@@ -862,10 +864,10 @@ const mr = nt(
862
864
  */
863
865
  const De = (e, t) => {
864
866
  const r = nt(
865
- ({ className: o, ...n }, s) => Ne(mr, {
867
+ ({ className: o, ...n }, s) => Ne(ur, {
866
868
  ref: s,
867
869
  iconNode: t,
868
- className: ut(`lucide-${dr(e)}`, o),
870
+ className: ut(`lucide-${cr(e)}`, o),
869
871
  ...n
870
872
  })
871
873
  );
@@ -877,21 +879,21 @@ const De = (e, t) => {
877
879
  * This source code is licensed under the ISC license.
878
880
  * See the LICENSE file in the root directory of this source tree.
879
881
  */
880
- const fr = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], pr = De("ChevronDown", fr);
882
+ const mr = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]], fr = De("ChevronDown", mr);
881
883
  /**
882
884
  * @license lucide-react v0.474.0 - ISC
883
885
  *
884
886
  * This source code is licensed under the ISC license.
885
887
  * See the LICENSE file in the root directory of this source tree.
886
888
  */
887
- const br = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], hr = De("ChevronUp", br);
889
+ const pr = [["path", { d: "m18 15-6-6-6 6", key: "153udz" }]], br = De("ChevronUp", pr);
888
890
  /**
889
891
  * @license lucide-react v0.474.0 - ISC
890
892
  *
891
893
  * This source code is licensed under the ISC license.
892
894
  * See the LICENSE file in the root directory of this source tree.
893
895
  */
894
- const gr = [
896
+ const hr = [
895
897
  [
896
898
  "path",
897
899
  {
@@ -901,7 +903,7 @@ const gr = [
901
903
  ],
902
904
  ["path", { d: "M12 9v4", key: "juzpu7" }],
903
905
  ["path", { d: "M12 17h.01", key: "p32p05" }]
904
- ], yr = De("TriangleAlert", gr);
906
+ ], gr = De("TriangleAlert", hr);
905
907
  function mt(e) {
906
908
  var t, r, o = "";
907
909
  if (typeof e == "string" || typeof e == "number") o += e;
@@ -911,40 +913,40 @@ function mt(e) {
911
913
  } else for (r in e) e[r] && (o && (o += " "), o += r);
912
914
  return o;
913
915
  }
914
- function xr() {
916
+ function yr() {
915
917
  for (var e, t, r = 0, o = "", n = arguments.length; r < n; r++) (e = arguments[r]) && (t = mt(e)) && (o && (o += " "), o += t);
916
918
  return o;
917
919
  }
918
- const vr = (e, t) => {
920
+ const xr = (e, t) => {
919
921
  const r = new Array(e.length + t.length);
920
922
  for (let o = 0; o < e.length; o++)
921
923
  r[o] = e[o];
922
924
  for (let o = 0; o < t.length; o++)
923
925
  r[e.length + o] = t[o];
924
926
  return r;
925
- }, wr = (e, t) => ({
927
+ }, vr = (e, t) => ({
926
928
  classGroupId: e,
927
929
  validator: t
928
930
  }), ft = (e = /* @__PURE__ */ new Map(), t = null, r) => ({
929
931
  nextPart: e,
930
932
  validators: t,
931
933
  classGroupId: r
932
- }), Ce = "-", He = [], kr = "arbitrary..", jr = (e) => {
933
- const t = Sr(e), {
934
+ }), Te = "-", He = [], wr = "arbitrary..", kr = (e) => {
935
+ const t = Er(e), {
934
936
  conflictingClassGroups: r,
935
937
  conflictingClassGroupModifiers: o
936
938
  } = e;
937
939
  return {
938
940
  getClassGroupId: (a) => {
939
941
  if (a.startsWith("[") && a.endsWith("]"))
940
- return Er(a);
941
- const c = a.split(Ce), l = c[0] === "" && c.length > 1 ? 1 : 0;
942
+ return jr(a);
943
+ const c = a.split(Te), l = c[0] === "" && c.length > 1 ? 1 : 0;
942
944
  return pt(c, l, t);
943
945
  },
944
946
  getConflictingClassGroupIds: (a, c) => {
945
947
  if (c) {
946
948
  const l = o[a], m = r[a];
947
- return l ? m ? vr(m, l) : l : m || He;
949
+ return l ? m ? xr(m, l) : l : m || He;
948
950
  }
949
951
  return r[a] || He;
950
952
  }
@@ -960,22 +962,22 @@ const vr = (e, t) => {
960
962
  const a = r.validators;
961
963
  if (a === null)
962
964
  return;
963
- const c = t === 0 ? e.join(Ce) : e.slice(t).join(Ce), l = a.length;
965
+ const c = t === 0 ? e.join(Te) : e.slice(t).join(Te), l = a.length;
964
966
  for (let m = 0; m < l; m++) {
965
967
  const b = a[m];
966
968
  if (b.validator(c))
967
969
  return b.classGroupId;
968
970
  }
969
- }, Er = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
971
+ }, jr = (e) => e.slice(1, -1).indexOf(":") === -1 ? void 0 : (() => {
970
972
  const t = e.slice(1, -1), r = t.indexOf(":"), o = t.slice(0, r);
971
- return o ? kr + o : void 0;
972
- })(), Sr = (e) => {
973
+ return o ? wr + o : void 0;
974
+ })(), Er = (e) => {
973
975
  const {
974
976
  theme: t,
975
977
  classGroups: r
976
978
  } = e;
977
- return Cr(r, t);
978
- }, Cr = (e, t) => {
979
+ return Sr(r, t);
980
+ }, Sr = (e, t) => {
979
981
  const r = ft();
980
982
  for (const o in e) {
981
983
  const n = e[o];
@@ -986,28 +988,28 @@ const vr = (e, t) => {
986
988
  const n = e.length;
987
989
  for (let s = 0; s < n; s++) {
988
990
  const a = e[s];
989
- Tr(a, t, r, o);
991
+ Cr(a, t, r, o);
990
992
  }
991
- }, Tr = (e, t, r, o) => {
993
+ }, Cr = (e, t, r, o) => {
992
994
  if (typeof e == "string") {
993
- Rr(e, t, r);
995
+ Tr(e, t, r);
994
996
  return;
995
997
  }
996
998
  if (typeof e == "function") {
997
- Ar(e, t, r, o);
999
+ Rr(e, t, r, o);
998
1000
  return;
999
1001
  }
1000
- _r(e, t, r, o);
1001
- }, Rr = (e, t, r) => {
1002
+ Ar(e, t, r, o);
1003
+ }, Tr = (e, t, r) => {
1002
1004
  const o = e === "" ? t : bt(t, e);
1003
1005
  o.classGroupId = r;
1004
- }, Ar = (e, t, r, o) => {
1005
- if (Or(e)) {
1006
+ }, Rr = (e, t, r, o) => {
1007
+ if (_r(e)) {
1006
1008
  Fe(e(o), t, r, o);
1007
1009
  return;
1008
1010
  }
1009
- t.validators === null && (t.validators = []), t.validators.push(wr(r, e));
1010
- }, _r = (e, t, r, o) => {
1011
+ t.validators === null && (t.validators = []), t.validators.push(vr(r, e));
1012
+ }, Ar = (e, t, r, o) => {
1011
1013
  const n = Object.entries(e), s = n.length;
1012
1014
  for (let a = 0; a < s; a++) {
1013
1015
  const [c, l] = n[a];
@@ -1015,14 +1017,14 @@ const vr = (e, t) => {
1015
1017
  }
1016
1018
  }, bt = (e, t) => {
1017
1019
  let r = e;
1018
- const o = t.split(Ce), n = o.length;
1020
+ const o = t.split(Te), n = o.length;
1019
1021
  for (let s = 0; s < n; s++) {
1020
1022
  const a = o[s];
1021
1023
  let c = r.nextPart.get(a);
1022
1024
  c || (c = ft(), r.nextPart.set(a, c)), r = c;
1023
1025
  }
1024
1026
  return r;
1025
- }, Or = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, Pr = (e) => {
1027
+ }, _r = (e) => "isThemeGetter" in e && e.isThemeGetter === !0, Or = (e) => {
1026
1028
  if (e < 1)
1027
1029
  return {
1028
1030
  get: () => {
@@ -1046,13 +1048,13 @@ const vr = (e, t) => {
1046
1048
  s in r ? r[s] = a : n(s, a);
1047
1049
  }
1048
1050
  };
1049
- }, $e = "!", qe = ":", zr = [], Xe = (e, t, r, o, n) => ({
1051
+ }, $e = "!", qe = ":", Pr = [], Xe = (e, t, r, o, n) => ({
1050
1052
  modifiers: e,
1051
1053
  hasImportantModifier: t,
1052
1054
  baseClassName: r,
1053
1055
  maybePostfixModifierPosition: o,
1054
1056
  isExternal: n
1055
- }), Nr = (e) => {
1057
+ }), zr = (e) => {
1056
1058
  const {
1057
1059
  prefix: t,
1058
1060
  experimentalParseClassName: r
@@ -1089,7 +1091,7 @@ const vr = (e, t) => {
1089
1091
  };
1090
1092
  if (t) {
1091
1093
  const n = t + qe, s = o;
1092
- o = (a) => a.startsWith(n) ? s(a.slice(n.length)) : Xe(zr, !1, a, void 0, !0);
1094
+ o = (a) => a.startsWith(n) ? s(a.slice(n.length)) : Xe(Pr, !1, a, void 0, !0);
1093
1095
  }
1094
1096
  if (r) {
1095
1097
  const n = o;
@@ -1099,7 +1101,7 @@ const vr = (e, t) => {
1099
1101
  });
1100
1102
  }
1101
1103
  return o;
1102
- }, Ir = (e) => {
1104
+ }, Nr = (e) => {
1103
1105
  const t = /* @__PURE__ */ new Map();
1104
1106
  return e.orderSensitiveModifiers.forEach((r, o) => {
1105
1107
  t.set(r, 1e6 + o);
@@ -1112,18 +1114,18 @@ const vr = (e, t) => {
1112
1114
  }
1113
1115
  return n.length > 0 && (n.sort(), o.push(...n)), o;
1114
1116
  };
1115
- }, $r = (e) => ({
1116
- cache: Pr(e.cacheSize),
1117
- parseClassName: Nr(e),
1118
- sortModifiers: Ir(e),
1119
- ...jr(e)
1120
- }), Mr = /\s+/, Lr = (e, t) => {
1117
+ }, Ir = (e) => ({
1118
+ cache: Or(e.cacheSize),
1119
+ parseClassName: zr(e),
1120
+ sortModifiers: Nr(e),
1121
+ ...kr(e)
1122
+ }), $r = /\s+/, Lr = (e, t) => {
1121
1123
  const {
1122
1124
  parseClassName: r,
1123
1125
  getClassGroupId: o,
1124
1126
  getConflictingClassGroupIds: n,
1125
1127
  sortModifiers: s
1126
- } = t, a = [], c = e.trim().split(Mr);
1128
+ } = t, a = [], c = e.trim().split($r);
1127
1129
  let l = "";
1128
1130
  for (let m = c.length - 1; m >= 0; m -= 1) {
1129
1131
  const b = c[m], {
@@ -1155,13 +1157,13 @@ const vr = (e, t) => {
1155
1157
  a.push(O);
1156
1158
  const k = n(F, C);
1157
1159
  for (let T = 0; T < k.length; ++T) {
1158
- const L = k[T];
1159
- a.push(E + L);
1160
+ const M = k[T];
1161
+ a.push(E + M);
1160
1162
  }
1161
1163
  l = b + (l.length > 0 ? " " + l : l);
1162
1164
  }
1163
1165
  return l;
1164
- }, Dr = (...e) => {
1166
+ }, Mr = (...e) => {
1165
1167
  let t = 0, r, o, n = "";
1166
1168
  for (; t < e.length; )
1167
1169
  (r = e[t++]) && (o = ht(r)) && (n && (n += " "), n += o);
@@ -1173,11 +1175,11 @@ const vr = (e, t) => {
1173
1175
  for (let o = 0; o < e.length; o++)
1174
1176
  e[o] && (t = ht(e[o])) && (r && (r += " "), r += t);
1175
1177
  return r;
1176
- }, Fr = (e, ...t) => {
1178
+ }, Dr = (e, ...t) => {
1177
1179
  let r, o, n, s;
1178
1180
  const a = (l) => {
1179
1181
  const m = t.reduce((b, h) => h(b), e());
1180
- return r = $r(m), o = r.cache.get, n = r.cache.set, s = c, c(l);
1182
+ return r = Ir(m), o = r.cache.get, n = r.cache.set, s = c, c(l);
1181
1183
  }, c = (l) => {
1182
1184
  const m = o(l);
1183
1185
  if (m)
@@ -1185,23 +1187,23 @@ const vr = (e, t) => {
1185
1187
  const b = Lr(l, r);
1186
1188
  return n(l, b), b;
1187
1189
  };
1188
- return s = a, (...l) => s(Dr(...l));
1189
- }, Wr = [], M = (e) => {
1190
- const t = (r) => r[e] || Wr;
1190
+ return s = a, (...l) => s(Mr(...l));
1191
+ }, Fr = [], L = (e) => {
1192
+ const t = (r) => r[e] || Fr;
1191
1193
  return t.isThemeGetter = !0, t;
1192
- }, gt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, yt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Br = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, Ur = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Gr = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Vr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Jr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Yr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, K = (e) => Br.test(e), v = (e) => !!e && !Number.isNaN(Number(e)), Q = (e) => !!e && Number.isInteger(Number(e)), Pe = (e) => e.endsWith("%") && v(e.slice(0, -1)), q = (e) => Ur.test(e), xt = () => !0, Hr = (e) => (
1194
+ }, gt = /^\[(?:(\w[\w-]*):)?(.+)\]$/i, yt = /^\((?:(\w[\w-]*):)?(.+)\)$/i, Wr = /^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/, Br = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Ur = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Gr = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/, Vr = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Jr = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, K = (e) => Wr.test(e), v = (e) => !!e && !Number.isNaN(Number(e)), Q = (e) => !!e && Number.isInteger(Number(e)), Pe = (e) => e.endsWith("%") && v(e.slice(0, -1)), q = (e) => Br.test(e), xt = () => !0, Yr = (e) => (
1193
1195
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
1194
1196
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
1195
1197
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
1196
- Gr.test(e) && !Vr.test(e)
1197
- ), We = () => !1, qr = (e) => Jr.test(e), Xr = (e) => Yr.test(e), Zr = (e) => !f(e) && !p(e), Kr = (e) => ee(e, kt, We), f = (e) => gt.test(e), te = (e) => ee(e, jt, Hr), Ze = (e) => ee(e, ao, v), Qr = (e) => ee(e, St, xt), eo = (e) => ee(e, Et, We), Ke = (e) => ee(e, vt, We), to = (e) => ee(e, wt, Xr), ke = (e) => ee(e, Ct, qr), p = (e) => yt.test(e), ue = (e) => ne(e, jt), ro = (e) => ne(e, Et), Qe = (e) => ne(e, vt), oo = (e) => ne(e, kt), no = (e) => ne(e, wt), je = (e) => ne(e, Ct, !0), so = (e) => ne(e, St, !0), ee = (e, t, r) => {
1198
+ Ur.test(e) && !Gr.test(e)
1199
+ ), We = () => !1, Hr = (e) => Vr.test(e), qr = (e) => Jr.test(e), Xr = (e) => !f(e) && !p(e), Zr = (e) => ee(e, kt, We), f = (e) => gt.test(e), te = (e) => ee(e, jt, Yr), Ze = (e) => ee(e, so, v), Kr = (e) => ee(e, St, xt), Qr = (e) => ee(e, Et, We), Ke = (e) => ee(e, vt, We), eo = (e) => ee(e, wt, qr), je = (e) => ee(e, Ct, Hr), p = (e) => yt.test(e), ue = (e) => ne(e, jt), to = (e) => ne(e, Et), Qe = (e) => ne(e, vt), ro = (e) => ne(e, kt), oo = (e) => ne(e, wt), Ee = (e) => ne(e, Ct, !0), no = (e) => ne(e, St, !0), ee = (e, t, r) => {
1198
1200
  const o = gt.exec(e);
1199
1201
  return o ? o[1] ? t(o[1]) : r(o[2]) : !1;
1200
1202
  }, ne = (e, t, r = !1) => {
1201
1203
  const o = yt.exec(e);
1202
1204
  return o ? o[1] ? t(o[1]) : r : !1;
1203
- }, vt = (e) => e === "position" || e === "percentage", wt = (e) => e === "image" || e === "url", kt = (e) => e === "length" || e === "size" || e === "bg-size", jt = (e) => e === "length", ao = (e) => e === "number", Et = (e) => e === "family-name", St = (e) => e === "number" || e === "weight", Ct = (e) => e === "shadow", io = () => {
1204
- const e = M("color"), t = M("font"), r = M("text"), o = M("font-weight"), n = M("tracking"), s = M("leading"), a = M("breakpoint"), c = M("container"), l = M("spacing"), m = M("radius"), b = M("shadow"), h = M("inset-shadow"), y = M("text-shadow"), w = M("drop-shadow"), A = M("blur"), j = M("perspective"), C = M("aspect"), F = M("ease"), W = M("animate"), E = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], O = () => [
1205
+ }, vt = (e) => e === "position" || e === "percentage", wt = (e) => e === "image" || e === "url", kt = (e) => e === "length" || e === "size" || e === "bg-size", jt = (e) => e === "length", so = (e) => e === "number", Et = (e) => e === "family-name", St = (e) => e === "number" || e === "weight", Ct = (e) => e === "shadow", ao = () => {
1206
+ const e = L("color"), t = L("font"), r = L("text"), o = L("font-weight"), n = L("tracking"), s = L("leading"), a = L("breakpoint"), c = L("container"), l = L("spacing"), m = L("radius"), b = L("shadow"), h = L("inset-shadow"), y = L("text-shadow"), w = L("drop-shadow"), A = L("blur"), j = L("perspective"), C = L("aspect"), F = L("ease"), W = L("animate"), E = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], O = () => [
1205
1207
  "center",
1206
1208
  "top",
1207
1209
  "bottom",
@@ -1219,13 +1221,13 @@ const vr = (e, t) => {
1219
1221
  "bottom-left",
1220
1222
  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378
1221
1223
  "left-bottom"
1222
- ], k = () => [...O(), p, f], T = () => ["auto", "hidden", "clip", "visible", "scroll"], L = () => ["auto", "contain", "none"], d = () => [p, f, l], S = () => [K, "full", "auto", ...d()], J = () => [Q, "none", "subgrid", p, f], Y = () => ["auto", {
1224
+ ], k = () => [...O(), p, f], T = () => ["auto", "hidden", "clip", "visible", "scroll"], M = () => ["auto", "contain", "none"], d = () => [p, f, l], S = () => [K, "full", "auto", ...d()], J = () => [Q, "none", "subgrid", p, f], Y = () => ["auto", {
1223
1225
  span: ["full", Q, p, f]
1224
1226
  }, Q, p, f], V = () => [Q, "auto", p, f], X = () => ["auto", "min", "max", "fr", p, f], Z = () => ["start", "end", "center", "between", "around", "evenly", "stretch", "baseline", "center-safe", "end-safe"], D = () => ["start", "end", "center", "stretch", "center-safe", "end-safe"], B = () => ["auto", ...d()], G = () => [K, "auto", "full", "dvw", "dvh", "lvw", "lvh", "svw", "svh", "min", "max", "fit", ...d()], se = () => [K, "screen", "full", "dvw", "lvw", "svw", "min", "max", "fit", ...d()], ae = () => [K, "screen", "full", "lh", "dvh", "lvh", "svh", "min", "max", "fit", ...d()], g = () => [e, p, f], i = () => [...O(), Qe, Ke, {
1225
1227
  position: [p, f]
1226
1228
  }], x = () => ["no-repeat", {
1227
1229
  repeat: ["", "x", "y", "space", "round"]
1228
- }], R = () => ["auto", "cover", "contain", oo, Kr, {
1230
+ }], R = () => ["auto", "cover", "contain", ro, Zr, {
1229
1231
  size: [p, f]
1230
1232
  }], P = () => [Pe, ue, te], N = () => [
1231
1233
  // Deprecated since Tailwind CSS v4.0.0
@@ -1242,7 +1244,7 @@ const vr = (e, t) => {
1242
1244
  A,
1243
1245
  p,
1244
1246
  f
1245
- ], be = () => ["none", v, p, f], he = () => ["none", v, p, f], Ae = () => [v, p, f], ge = () => [K, "full", ...d()];
1247
+ ], be = () => ["none", v, p, f], he = () => ["none", v, p, f], _e = () => [v, p, f], ge = () => [K, "full", ...d()];
1246
1248
  return {
1247
1249
  cacheSize: 500,
1248
1250
  theme: {
@@ -1254,7 +1256,7 @@ const vr = (e, t) => {
1254
1256
  container: [q],
1255
1257
  "drop-shadow": [q],
1256
1258
  ease: ["in", "out", "in-out"],
1257
- font: [Zr],
1259
+ font: [Xr],
1258
1260
  "font-weight": ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black"],
1259
1261
  "inset-shadow": [q],
1260
1262
  leading: ["none", "tight", "snug", "normal", "relaxed", "loose"],
@@ -1394,21 +1396,21 @@ const vr = (e, t) => {
1394
1396
  * @see https://tailwindcss.com/docs/overscroll-behavior
1395
1397
  */
1396
1398
  overscroll: [{
1397
- overscroll: L()
1399
+ overscroll: M()
1398
1400
  }],
1399
1401
  /**
1400
1402
  * Overscroll Behavior X
1401
1403
  * @see https://tailwindcss.com/docs/overscroll-behavior
1402
1404
  */
1403
1405
  "overscroll-x": [{
1404
- "overscroll-x": L()
1406
+ "overscroll-x": M()
1405
1407
  }],
1406
1408
  /**
1407
1409
  * Overscroll Behavior Y
1408
1410
  * @see https://tailwindcss.com/docs/overscroll-behavior
1409
1411
  */
1410
1412
  "overscroll-y": [{
1411
- "overscroll-y": L()
1413
+ "overscroll-y": M()
1412
1414
  }],
1413
1415
  /**
1414
1416
  * Position
@@ -2048,7 +2050,7 @@ const vr = (e, t) => {
2048
2050
  * @see https://tailwindcss.com/docs/font-weight
2049
2051
  */
2050
2052
  "font-weight": [{
2051
- font: [o, so, Qr]
2053
+ font: [o, no, Kr]
2052
2054
  }],
2053
2055
  /**
2054
2056
  * Font Stretch
@@ -2062,7 +2064,7 @@ const vr = (e, t) => {
2062
2064
  * @see https://tailwindcss.com/docs/font-family
2063
2065
  */
2064
2066
  "font-family": [{
2065
- font: [ro, eo, t]
2067
+ font: [to, Qr, t]
2066
2068
  }],
2067
2069
  /**
2068
2070
  * Font Feature Settings
@@ -2324,7 +2326,7 @@ const vr = (e, t) => {
2324
2326
  }, Q, p, f],
2325
2327
  radial: ["", p, f],
2326
2328
  conic: [Q, p, f]
2327
- }, no, to]
2329
+ }, oo, eo]
2328
2330
  }],
2329
2331
  /**
2330
2332
  * Background Color
@@ -2723,8 +2725,8 @@ const vr = (e, t) => {
2723
2725
  "",
2724
2726
  "none",
2725
2727
  b,
2726
- je,
2727
- ke
2728
+ Ee,
2729
+ je
2728
2730
  ]
2729
2731
  }],
2730
2732
  /**
@@ -2739,7 +2741,7 @@ const vr = (e, t) => {
2739
2741
  * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow
2740
2742
  */
2741
2743
  "inset-shadow": [{
2742
- "inset-shadow": ["none", h, je, ke]
2744
+ "inset-shadow": ["none", h, Ee, je]
2743
2745
  }],
2744
2746
  /**
2745
2747
  * Inset Box Shadow Color
@@ -2806,7 +2808,7 @@ const vr = (e, t) => {
2806
2808
  * @see https://tailwindcss.com/docs/text-shadow
2807
2809
  */
2808
2810
  "text-shadow": [{
2809
- "text-shadow": ["none", y, je, ke]
2811
+ "text-shadow": ["none", y, Ee, je]
2810
2812
  }],
2811
2813
  /**
2812
2814
  * Text Shadow Color
@@ -3079,8 +3081,8 @@ const vr = (e, t) => {
3079
3081
  "",
3080
3082
  "none",
3081
3083
  w,
3082
- je,
3083
- ke
3084
+ Ee,
3085
+ je
3084
3086
  ]
3085
3087
  }],
3086
3088
  /**
@@ -3381,21 +3383,21 @@ const vr = (e, t) => {
3381
3383
  * @see https://tailwindcss.com/docs/skew
3382
3384
  */
3383
3385
  skew: [{
3384
- skew: Ae()
3386
+ skew: _e()
3385
3387
  }],
3386
3388
  /**
3387
3389
  * Skew X
3388
3390
  * @see https://tailwindcss.com/docs/skew
3389
3391
  */
3390
3392
  "skew-x": [{
3391
- "skew-x": Ae()
3393
+ "skew-x": _e()
3392
3394
  }],
3393
3395
  /**
3394
3396
  * Skew Y
3395
3397
  * @see https://tailwindcss.com/docs/skew
3396
3398
  */
3397
3399
  "skew-y": [{
3398
- "skew-y": Ae()
3400
+ "skew-y": _e()
3399
3401
  }],
3400
3402
  /**
3401
3403
  * Transform
@@ -3829,11 +3831,11 @@ const vr = (e, t) => {
3829
3831
  },
3830
3832
  orderSensitiveModifiers: ["*", "**", "after", "backdrop", "before", "details-content", "file", "first-letter", "first-line", "marker", "placeholder", "selection"]
3831
3833
  };
3832
- }, lo = /* @__PURE__ */ Fr(io);
3833
- function Me(...e) {
3834
- return lo(xr(e));
3834
+ }, io = /* @__PURE__ */ Dr(ao);
3835
+ function Le(...e) {
3836
+ return io(yr(e));
3835
3837
  }
3836
- class co extends rt {
3838
+ class lo extends rt {
3837
3839
  constructor(t) {
3838
3840
  super(t), this.state = { hasError: !1 };
3839
3841
  }
@@ -3845,7 +3847,7 @@ class co extends rt {
3845
3847
  }
3846
3848
  render() {
3847
3849
  return this.state.hasError ? /* @__PURE__ */ u.jsxs("div", { className: "p-8 m-4 bg-amber-500/5 border-2 border-dashed border-amber-500/20 rounded-xl flex flex-col items-center text-center gap-3", children: [
3848
- /* @__PURE__ */ u.jsx(yr, { className: "text-amber-500", size: 32 }),
3850
+ /* @__PURE__ */ u.jsx(gr, { className: "text-amber-500", size: 32 }),
3849
3851
  /* @__PURE__ */ u.jsxs("div", { className: "space-y-1", children: [
3850
3852
  /* @__PURE__ */ u.jsx("h4", { className: "text-sm font-bold text-amber-200 uppercase tracking-tight", children: "Component Error" }),
3851
3853
  /* @__PURE__ */ u.jsxs("p", { className: "text-xs text-amber-500/70 font-mono", children: [
@@ -3857,14 +3859,14 @@ class co extends rt {
3857
3859
  ] }) : this.props.children;
3858
3860
  }
3859
3861
  }
3860
- const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n = 0, totalSections: s = 0, onReorder: a }) => {
3862
+ const co = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n = 0, totalSections: s = 0, onReorder: a }) => {
3861
3863
  const c = typeof n == "number" && n > 0 && a, l = typeof n == "number" && n < s - 1 && a;
3862
3864
  return /* @__PURE__ */ u.jsx(
3863
3865
  "div",
3864
3866
  {
3865
3867
  "data-jp-section-overlay": !0,
3866
3868
  "aria-hidden": !0,
3867
- className: Me(
3869
+ className: Le(
3868
3870
  "absolute inset-0 pointer-events-none transition-all duration-200 z-[50]",
3869
3871
  "border-2 border-transparent group-hover:border-blue-400/50 group-hover:border-dashed",
3870
3872
  r && "border-2 border-blue-600 border-solid bg-blue-500/5"
@@ -3872,7 +3874,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3872
3874
  children: /* @__PURE__ */ u.jsxs(
3873
3875
  "div",
3874
3876
  {
3875
- className: Me(
3877
+ className: Le(
3876
3878
  "absolute top-0 right-0 flex flex-nowrap items-center gap-1 pl-1 pr-2 py-1 text-[9px] font-black uppercase tracking-widest transition-opacity pointer-events-auto",
3877
3879
  "bg-blue-600 text-white",
3878
3880
  r || "group-hover:opacity-100 opacity-0"
@@ -3890,7 +3892,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3890
3892
  className: "inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",
3891
3893
  title: "Move section up",
3892
3894
  "aria-label": "Move section up",
3893
- children: /* @__PURE__ */ u.jsx(hr, { size: 12, strokeWidth: 2.5 })
3895
+ children: /* @__PURE__ */ u.jsx(br, { size: 12, strokeWidth: 2.5 })
3894
3896
  }
3895
3897
  ),
3896
3898
  /* @__PURE__ */ u.jsx(
@@ -3904,7 +3906,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3904
3906
  className: "inline-flex items-center justify-center min-w-[18px] min-h-[18px] rounded bg-white/20 hover:bg-white/30 disabled:opacity-30 disabled:pointer-events-none",
3905
3907
  title: "Move section down",
3906
3908
  "aria-label": "Move section down",
3907
- children: /* @__PURE__ */ u.jsx(pr, { size: 12, strokeWidth: 2.5 })
3909
+ children: /* @__PURE__ */ u.jsx(fr, { size: 12, strokeWidth: 2.5 })
3908
3910
  }
3909
3911
  )
3910
3912
  ] }),
@@ -3916,7 +3918,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3916
3918
  )
3917
3919
  }
3918
3920
  );
3919
- }, Ee = ({
3921
+ }, Se = ({
3920
3922
  section: e,
3921
3923
  menu: t,
3922
3924
  selectedId: r,
@@ -3925,7 +3927,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3925
3927
  totalSections: s,
3926
3928
  onReorder: a
3927
3929
  }) => {
3928
- const { mode: c } = lr(), { registry: l, overlayDisabledSectionTypes: m } = er(), b = c === "studio", h = b && r === e.id, y = l[e.type], w = e.type === "header" || e.type === "footer" ? "global" : "local", A = Array.isArray(m) ? m.includes(e.type) : !1, j = e.type === "header" && typeof e.settings == "object" && e.settings !== null && "sticky" in e.settings && !!e.settings.sticky;
3930
+ const { mode: c } = ir(), { registry: l, overlayDisabledSectionTypes: m } = Qt(), b = c === "studio", h = b && r === e.id, y = l[e.type], w = e.type === "header" || e.type === "footer" ? "global" : "local", A = Array.isArray(m) ? m.includes(e.type) : !1, j = e.type === "header" && typeof e.settings == "object" && e.settings !== null && "sticky" in e.settings && !!e.settings.sticky;
3929
3931
  if (!y)
3930
3932
  return /* @__PURE__ */ u.jsxs("div", { className: "p-6 m-4 bg-red-500/10 text-red-400 border border-red-500/20 rounded-lg text-sm font-mono", children: [
3931
3933
  /* @__PURE__ */ u.jsx("strong", { children: "Missing Component:" }),
@@ -3934,7 +3936,7 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3934
3936
  ] });
3935
3937
  const C = () => {
3936
3938
  const W = y;
3937
- return e.type === "header" && t ? /* @__PURE__ */ u.jsx(W, { data: e.data, settings: e.settings, menu: t }) : /* @__PURE__ */ u.jsx(W, { data: e.data, settings: e.settings });
3939
+ return t ? /* @__PURE__ */ u.jsx(W, { data: e.data, settings: e.settings, menu: t }) : /* @__PURE__ */ u.jsx(W, { data: e.data, settings: e.settings });
3938
3940
  }, F = typeof e.data == "object" && e.data !== null && "anchorId" in e.data ? String(e.data.anchorId ?? "") : void 0;
3939
3941
  return /* @__PURE__ */ u.jsxs(
3940
3942
  "div",
@@ -3944,16 +3946,16 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3944
3946
  "data-section-type": b ? e.type : void 0,
3945
3947
  "data-section-scope": b ? w : void 0,
3946
3948
  ...b && h ? { "data-jp-selected": !0 } : {},
3947
- className: Me(
3949
+ className: Le(
3948
3950
  "relative w-full",
3949
3951
  b && !A && "group cursor-pointer",
3950
3952
  b && j ? "sticky top-0 z-[60]" : e.type === "header" ? "relative" : "relative z-0",
3951
3953
  h && "z-[70]"
3952
3954
  ),
3953
3955
  children: [
3954
- /* @__PURE__ */ u.jsx("div", { className: e.type === "header" ? "relative" : "relative z-0", children: /* @__PURE__ */ u.jsx(co, { type: e.type, children: C() }) }),
3956
+ /* @__PURE__ */ u.jsx("div", { className: e.type === "header" ? "relative" : "relative z-0", children: /* @__PURE__ */ u.jsx(lo, { type: e.type, children: C() }) }),
3955
3957
  b && !A && /* @__PURE__ */ u.jsx(
3956
- uo,
3958
+ co,
3957
3959
  {
3958
3960
  type: e.type,
3959
3961
  scope: w,
@@ -3967,13 +3969,13 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3967
3969
  ]
3968
3970
  }
3969
3971
  );
3970
- }, mo = (e) => {
3972
+ }, uo = (e) => {
3971
3973
  oe(() => {
3972
3974
  document.title = e.title;
3973
3975
  let t = document.querySelector('meta[name="description"]');
3974
3976
  t || (t = document.createElement("meta"), t.setAttribute("name", "description"), document.head.appendChild(t)), t.setAttribute("content", e.description);
3975
3977
  }, [e.title, e.description]);
3976
- }, fo = "application/json", po = ({
3978
+ }, mo = "application/json", fo = ({
3977
3979
  pageConfig: e,
3978
3980
  siteConfig: t,
3979
3981
  menuConfig: r,
@@ -3982,10 +3984,10 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
3982
3984
  scrollToSectionId: s,
3983
3985
  onActiveSectionChange: a
3984
3986
  }) => {
3985
- mo(e.meta);
3987
+ uo(e.meta);
3986
3988
  const [c, l] = ot(null), m = Be({}), b = Be(a);
3987
3989
  b.current = a;
3988
- const h = cr(e, t), y = h ? t.header ?? null : null, w = t.footer ?? null, A = (E) => {
3990
+ const h = lr(e, t), y = h ? t.header ?? null : null, w = t.footer ?? null, A = (E) => {
3989
3991
  var O;
3990
3992
  (O = b.current) == null || O.call(b, E);
3991
3993
  };
@@ -4012,14 +4014,14 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4012
4014
  { threshold: [0, 0.5, 1], rootMargin: "-20% 0px -20% 0px" }
4013
4015
  );
4014
4016
  let T = !1;
4015
- const L = requestAnimationFrame(() => {
4017
+ const M = requestAnimationFrame(() => {
4016
4018
  T || O.forEach((d) => {
4017
4019
  const S = m.current[d];
4018
4020
  S && k.observe(S);
4019
4021
  });
4020
4022
  });
4021
4023
  return () => {
4022
- T = !0, cancelAnimationFrame(L), k.disconnect();
4024
+ T = !0, cancelAnimationFrame(M), k.disconnect();
4023
4025
  };
4024
4026
  }, [w, y, e.sections, e["global-header"], h]);
4025
4027
  const j = (E, O) => {
@@ -4029,13 +4031,13 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4029
4031
  }, F = (E, O) => {
4030
4032
  if (E.preventDefault(), l(null), !!n)
4031
4033
  try {
4032
- const k = E.dataTransfer.getData(fo), { sectionId: T } = JSON.parse(k);
4034
+ const k = E.dataTransfer.getData(mo), { sectionId: T } = JSON.parse(k);
4033
4035
  typeof T == "string" && n(T, O);
4034
4036
  } catch {
4035
4037
  }
4036
4038
  }, W = () => {
4037
4039
  const E = typeof n == "function", O = e.sections.map((k, T) => {
4038
- const L = c === T;
4040
+ const M = c === T;
4039
4041
  return E ? /* @__PURE__ */ u.jsxs(
4040
4042
  "div",
4041
4043
  {
@@ -4058,8 +4060,8 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4058
4060
  height: 12,
4059
4061
  zIndex: 55,
4060
4062
  pointerEvents: "auto",
4061
- backgroundColor: L ? "rgba(59, 130, 246, 0.4)" : "transparent",
4062
- borderTop: L ? "2px solid rgb(96, 165, 250)" : "2px solid transparent"
4063
+ backgroundColor: M ? "rgba(59, 130, 246, 0.4)" : "transparent",
4064
+ borderTop: M ? "2px solid rgb(96, 165, 250)" : "2px solid transparent"
4063
4065
  },
4064
4066
  onDragOver: (d) => j(d, T),
4065
4067
  onDragLeave: C,
@@ -4067,10 +4069,10 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4067
4069
  }
4068
4070
  ),
4069
4071
  /* @__PURE__ */ u.jsx(
4070
- Ee,
4072
+ Se,
4071
4073
  {
4072
4074
  section: k,
4073
- menu: _e(k, r.main ?? []),
4075
+ menu: we(k, r.main ?? []),
4074
4076
  selectedId: o,
4075
4077
  reorderable: !0,
4076
4078
  sectionIndex: T,
@@ -4090,10 +4092,10 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4090
4092
  "data-section-id": k.id,
4091
4093
  onMouseEnter: () => A(k.id),
4092
4094
  children: /* @__PURE__ */ u.jsx(
4093
- Ee,
4095
+ Se,
4094
4096
  {
4095
4097
  section: k,
4096
- menu: _e(k, r.main ?? []),
4098
+ menu: we(k, r.main ?? []),
4097
4099
  selectedId: o
4098
4100
  }
4099
4101
  )
@@ -4119,9 +4121,9 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4119
4121
  backgroundColor: T ? "rgba(59, 130, 246, 0.4)" : "transparent",
4120
4122
  borderTop: T ? "2px solid rgb(96, 165, 250)" : "2px solid transparent"
4121
4123
  },
4122
- onDragOver: (L) => j(L, k),
4124
+ onDragOver: (M) => j(M, k),
4123
4125
  onDragLeave: C,
4124
- onDrop: (L) => F(L, k)
4126
+ onDrop: (M) => F(M, k)
4125
4127
  },
4126
4128
  "jp-drop-after-last"
4127
4129
  )
@@ -4139,10 +4141,10 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4139
4141
  "data-section-id": y.id,
4140
4142
  onMouseEnter: () => A(y.id),
4141
4143
  children: /* @__PURE__ */ u.jsx(
4142
- Ee,
4144
+ Se,
4143
4145
  {
4144
4146
  section: y,
4145
- menu: _e(y, r.main ?? []),
4147
+ menu: we(y, r.main ?? []),
4146
4148
  selectedId: o
4147
4149
  }
4148
4150
  )
@@ -4157,11 +4159,18 @@ const uo = ({ type: e, scope: t, isSelected: r, sectionId: o, sectionIndex: n =
4157
4159
  },
4158
4160
  "data-section-id": w.id,
4159
4161
  onMouseEnter: () => A(w.id),
4160
- children: /* @__PURE__ */ u.jsx(Ee, { section: w, selectedId: o })
4162
+ children: /* @__PURE__ */ u.jsx(
4163
+ Se,
4164
+ {
4165
+ section: w,
4166
+ menu: we(w, r.main ?? []),
4167
+ selectedId: o
4168
+ }
4169
+ )
4161
4170
  }
4162
4171
  )
4163
4172
  ] });
4164
- }, bo = ({ mode: e, tenantCss: t, adminCss: r, children: o }) => (Rt(() => {
4173
+ }, po = ({ mode: e, tenantCss: t, adminCss: r, children: o }) => (Rt(() => {
4165
4174
  const n = `jp-theme-${e}`, s = e === "tenant" ? t : r;
4166
4175
  if (!document.getElementById(n) && s) {
4167
4176
  const a = document.createElement("style");
@@ -4178,7 +4187,7 @@ function et(e, t) {
4178
4187
  let o = document.head.querySelector(r);
4179
4188
  o || (o = document.createElement("link"), o.rel = e, document.head.appendChild(o)), o.href = t;
4180
4189
  }
4181
- function ho(e, t, r) {
4190
+ function bo(e, t, r) {
4182
4191
  if (typeof document > "u") return;
4183
4192
  const o = "olonjs-webmcp-jsonld";
4184
4193
  let n = document.getElementById(o);
@@ -4195,20 +4204,20 @@ function ho(e, t, r) {
4195
4204
  }
4196
4205
  });
4197
4206
  }
4198
- function Le(e) {
4207
+ function Me(e) {
4199
4208
  return e.split("/").map((t) => t.trim()).filter(Boolean).join("/");
4200
4209
  }
4201
- function go(e, t = "") {
4202
- const r = Le(t);
4210
+ function ho(e, t = "") {
4211
+ const r = Me(t);
4203
4212
  let n = e.replace(/\/+/g, "/");
4204
4213
  if (r) {
4205
4214
  const a = `/${r}`;
4206
4215
  n === a ? n = "/" : n.startsWith(`${a}/`) && (n = n.slice(a.length));
4207
4216
  }
4208
- return Le(n) || "home";
4217
+ return Me(n) || "home";
4209
4218
  }
4210
- function yo(e, t) {
4211
- const r = Le(t) || "home";
4219
+ function go(e, t) {
4220
+ const r = Me(t) || "home";
4212
4221
  return e[r];
4213
4222
  }
4214
4223
  const tt = ({
@@ -4221,7 +4230,7 @@ const tt = ({
4221
4230
  adminCss: a,
4222
4231
  NotFoundComponent: c
4223
4232
  }) => {
4224
- const l = It(), m = go(l.pathname), b = ze(
4233
+ const l = It(), m = ho(l.pathname), b = ze(
4225
4234
  () => st({
4226
4235
  pages: e,
4227
4236
  siteConfig: t,
@@ -4230,7 +4239,7 @@ const tt = ({
4230
4239
  refDocuments: n
4231
4240
  }),
4232
4241
  [e, t, o, r, n]
4233
- ), h = yo(b.pages, m);
4242
+ ), h = go(b.pages, m);
4234
4243
  return oe(() => {
4235
4244
  var y;
4236
4245
  try {
@@ -4242,9 +4251,9 @@ const tt = ({
4242
4251
  var A, j;
4243
4252
  if (!h) return;
4244
4253
  const y = typeof ((A = h.meta) == null ? void 0 : A.title) == "string" ? h.meta.title : m, w = typeof ((j = h.meta) == null ? void 0 : j.description) == "string" ? h.meta.description : "";
4245
- et("mcp-manifest", Zt(m)), et("olon-contract", Xt(m)), ho(y, w, m === "home" ? "/" : `/${m}`);
4246
- }, [h, m]), h ? /* @__PURE__ */ u.jsx(bo, { mode: "tenant", tenantCss: s, adminCss: a, children: /* @__PURE__ */ u.jsx(ir, { mode: "visitor", children: /* @__PURE__ */ u.jsx(
4247
- po,
4254
+ et("mcp-manifest", Xt(m)), et("olon-contract", qt(m)), bo(y, w, m === "home" ? "/" : `/${m}`);
4255
+ }, [h, m]), h ? /* @__PURE__ */ u.jsx(po, { mode: "tenant", tenantCss: s, adminCss: a, children: /* @__PURE__ */ u.jsx(ar, { mode: "visitor", children: /* @__PURE__ */ u.jsx(
4256
+ fo,
4248
4257
  {
4249
4258
  pageConfig: h,
4250
4259
  siteConfig: b.siteConfig,
@@ -4252,7 +4261,7 @@ const tt = ({
4252
4261
  }
4253
4262
  ) }) }) : /* @__PURE__ */ u.jsx(c, {});
4254
4263
  };
4255
- function xo(e) {
4264
+ function yo(e) {
4256
4265
  const t = {
4257
4266
  pageRegistry: e.pageRegistry,
4258
4267
  siteConfig: e.siteConfig,
@@ -4264,26 +4273,26 @@ function xo(e) {
4264
4273
  // empty string at the Core level for runtime; ignored by ThemeLoader in tenant mode
4265
4274
  NotFoundComponent: e.NotFoundComponent
4266
4275
  };
4267
- return /* @__PURE__ */ u.jsxs(ye, { element: /* @__PURE__ */ u.jsx(sr, {}), children: [
4276
+ return /* @__PURE__ */ u.jsxs(ye, { element: /* @__PURE__ */ u.jsx(nr, {}), children: [
4268
4277
  /* @__PURE__ */ u.jsx(ye, { path: "/", element: /* @__PURE__ */ u.jsx(tt, { ...t }) }),
4269
4278
  /* @__PURE__ */ u.jsx(ye, { path: "/*", element: /* @__PURE__ */ u.jsx(tt, { ...t }) }),
4270
4279
  /* @__PURE__ */ u.jsx(ye, { path: "*", element: /* @__PURE__ */ u.jsx(e.NotFoundComponent, {}) })
4271
4280
  ] });
4272
4281
  }
4273
- function _o({ config: e }) {
4274
- return /* @__PURE__ */ u.jsx(ar, { config: e, routesBuilder: xo });
4282
+ function Ao({ config: e }) {
4283
+ return /* @__PURE__ */ u.jsx(sr, { config: e, routesBuilder: yo });
4275
4284
  }
4276
- const vo = /\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i, wo = /^[a-zA-Z][a-zA-Z\d+\-.]*:/, ko = (e) => wo.test(e), Oo = (e, t = "default", r = "/") => {
4285
+ const xo = /\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i, vo = /^[a-zA-Z][a-zA-Z\d+\-.]*:/, wo = (e) => vo.test(e), _o = (e, t = "default", r = "/") => {
4277
4286
  const o = e.trim();
4278
- if (!o || ko(o) || o.startsWith("#"))
4287
+ if (!o || wo(o) || o.startsWith("#"))
4279
4288
  return o;
4280
- if (o.startsWith("/assets/") || o.startsWith("/uploaded-assets/")) return we(o, r);
4281
- if (o.startsWith("assets/")) return we(`/${o}`, r);
4282
- if (!vo.test(o))
4283
- return we(o.startsWith("/") ? o : `/${o}`, r);
4289
+ if (o.startsWith("/assets/") || o.startsWith("/uploaded-assets/")) return ke(o, r);
4290
+ if (o.startsWith("assets/")) return ke(`/${o}`, r);
4291
+ if (!xo.test(o))
4292
+ return ke(o.startsWith("/") ? o : `/${o}`, r);
4284
4293
  const s = o.replace(/^\//, "");
4285
- return we(`/assets/${t}/${s}`, r);
4286
- }, Po = {
4294
+ return ke(`/assets/${t}/${s}`, r);
4295
+ }, Oo = {
4287
4296
  UPDATE_DRAFTS: "jsonpages:update-drafts",
4288
4297
  SYNC_SELECTION: "jsonpages:sync-selection",
4289
4298
  SECTION_SELECT: "jsonpages:section-select",
@@ -4295,20 +4304,20 @@ const vo = /\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i, wo = /^[a-zA-Z][a
4295
4304
  STAGE_READY: "jsonpages:stage-ready",
4296
4305
  WEBMCP_TOOL_CALL: "olonjs:webmcp:tool-call",
4297
4306
  WEBMCP_TOOL_RESULT: "olonjs:webmcp:tool-result"
4298
- }, zo = I.object({
4307
+ }, Po = I.object({
4299
4308
  url: I.string(),
4300
4309
  alt: I.string().optional()
4301
- }).describe("ui:image-picker"), No = I.object({
4310
+ }).describe("ui:image-picker"), zo = I.object({
4302
4311
  id: I.string().optional(),
4303
4312
  anchorId: I.string().optional().describe("ui:text")
4304
- }), Io = I.object({
4313
+ }), No = I.object({
4305
4314
  id: I.string().optional()
4306
- }), $o = I.object({
4315
+ }), Io = I.object({
4307
4316
  paddingTop: I.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("md").describe("ui:select"),
4308
4317
  paddingBottom: I.enum(["none", "sm", "md", "lg", "xl", "2xl"]).default("md").describe("ui:select"),
4309
4318
  theme: I.enum(["dark", "light", "accent"]).default("dark").describe("ui:select"),
4310
4319
  container: I.enum(["boxed", "fluid"]).default("boxed").describe("ui:select")
4311
- }), Mo = I.object({
4320
+ }), $o = I.object({
4312
4321
  id: I.string().optional(),
4313
4322
  label: I.string().describe("ui:text"),
4314
4323
  href: I.string().describe("ui:text"),
@@ -4316,7 +4325,7 @@ const vo = /\.(jpg|jpeg|png|gif|svg|pdf|webp|mp4|webm|ogg)$/i, wo = /^[a-zA-Z][a
4316
4325
  }), Lo = I.object({
4317
4326
  recipientEmail: I.string().optional().describe("ui:text")
4318
4327
  });
4319
- function jo(e) {
4328
+ function ko(e) {
4320
4329
  const t = e.split(`
4321
4330
  `).map((n) => n.trimEnd()).filter((n) => n.length > 0);
4322
4331
  if (t.length === 0) return null;
@@ -4332,7 +4341,7 @@ function jo(e) {
4332
4341
  return { event: r, data: o.join(`
4333
4342
  `) };
4334
4343
  }
4335
- async function Do(e) {
4344
+ async function Mo(e) {
4336
4345
  var a;
4337
4346
  const t = await fetch(`${e.apiBaseUrl}/save-stream`, {
4338
4347
  method: "POST",
@@ -4361,7 +4370,7 @@ async function Do(e) {
4361
4370
  `);
4362
4371
  n = l ? "" : m.pop() ?? "";
4363
4372
  for (const b of m) {
4364
- const h = jo(b);
4373
+ const h = ko(b);
4365
4374
  if (h && h.data) {
4366
4375
  if (h.event === "step") {
4367
4376
  const y = JSON.parse(h.data);
@@ -4383,7 +4392,7 @@ async function Do(e) {
4383
4392
  if (!s)
4384
4393
  throw new Error("Cloud save stream ended before completion.");
4385
4394
  }
4386
- const Fo = [
4395
+ const Do = [
4387
4396
  {
4388
4397
  id: "commit",
4389
4398
  label: "Commit",
@@ -4420,38 +4429,38 @@ const Fo = [
4420
4429
  glyph: "✦",
4421
4430
  duration: 1600
4422
4431
  }
4423
- ], Eo = { status: "idle", message: "" }, So = Re({});
4424
- function Wo(e) {
4425
- return Te(So)[e] ?? Eo;
4432
+ ], jo = { status: "idle", message: "" }, Eo = Ae({});
4433
+ function Fo(e) {
4434
+ return Re(Eo)[e] ?? jo;
4426
4435
  }
4427
4436
  export {
4428
- Io as BaseArrayItem,
4429
- No as BaseSectionData,
4430
- $o as BaseSectionSettingsSchema,
4431
- Qt as ConfigProvider,
4432
- Mo as CtaSchema,
4433
- Fo as DEPLOY_STEPS,
4434
- Kt as DefaultNotFound,
4437
+ No as BaseArrayItem,
4438
+ zo as BaseSectionData,
4439
+ Io as BaseSectionSettingsSchema,
4440
+ Kt as ConfigProvider,
4441
+ $o as CtaSchema,
4442
+ Do as DEPLOY_STEPS,
4443
+ Zt as DefaultNotFound,
4435
4444
  ct as IconRegistryContext,
4436
- zo as ImageSelectionSchema,
4437
- So as OlonFormsContext,
4438
- _o as OlonJSEngine,
4439
- po as PageRenderer,
4440
- Po as STUDIO_EVENTS,
4441
- Ee as SectionRenderer,
4442
- ir as StudioProvider,
4443
- bo as ThemeLoader,
4445
+ Po as ImageSelectionSchema,
4446
+ Eo as OlonFormsContext,
4447
+ Ao as OlonJSEngine,
4448
+ fo as PageRenderer,
4449
+ Oo as STUDIO_EVENTS,
4450
+ Se as SectionRenderer,
4451
+ ar as StudioProvider,
4452
+ po as ThemeLoader,
4444
4453
  Lo as WithFormRecipient,
4445
- rr as buildThemeVariableMap,
4446
- Me as cn,
4454
+ tr as buildThemeVariableMap,
4455
+ Le as cn,
4447
4456
  Ie as normalizeBasePath,
4448
- Oo as resolveAssetUrl,
4457
+ _o as resolveAssetUrl,
4449
4458
  st as resolveRuntimeConfig,
4450
- Do as startCloudSaveStream,
4459
+ Mo as startCloudSaveStream,
4451
4460
  lt as themeManager,
4452
- er as useConfig,
4453
- Wo as useFormState,
4454
- Ao as useIconRegistry,
4455
- lr as useStudio,
4456
- we as withBasePath
4461
+ Qt as useConfig,
4462
+ Fo as useFormState,
4463
+ Ro as useIconRegistry,
4464
+ ir as useStudio,
4465
+ ke as withBasePath
4457
4466
  };