@skylivellc/lienzo-editor 0.1.1 → 0.2.0

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,6 +1,6 @@
1
- import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, inject as l, isRef as u, mergeModels as d, mergeProps as f, nextTick as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, openBlock as _, provide as v, reactive as y, ref as b, renderList as x, renderSlot as S, resolveDynamicComponent as C, shallowRef as w, toDisplayString as T, toRaw as E, unref as D, useId as O, useModel as k, vModelDynamic as A, vModelText as j, vShow as ee, watch as M, watchEffect as te, withCtx as N, withDirectives as P, withModifiers as F } from "vue";
2
- import { CORE_ACTION_TYPES as ne, DocumentError as I, parseDocument as re, parseSiteSettings as ie, renderPage as L, trustedHtml as ae } from "@skylivellc/lienzo-core";
3
- import { AlignCenter as oe, AlignCenterHorizontal as se, AlignCenterVertical as ce, AlignEndHorizontal as le, AlignEndVertical as ue, AlignHorizontalDistributeCenter as de, AlignLeft as fe, AlignRight as pe, AlignStartHorizontal as me, AlignStartVertical as R, AlignVerticalDistributeCenter as he, ArrowDownToLine as ge, ArrowUpToLine as _e, ChevronDown as ve, ChevronUp as ye, CircleHelp as be, Copy as xe, Eye as Se, FoldHorizontal as Ce, FoldVertical as we, Frame as Te, History as Ee, Image as De, Layers as Oe, ListFilter as ke, Lock as Ae, LockOpen as je, Menu as Me, Minus as Ne, Monitor as Pe, MousePointerClick as Fe, PanelTop as Ie, PencilLine as Le, Pilcrow as Re, Plus as ze, Redo2 as Be, RotateCcw as Ve, RotateCw as He, Smartphone as Ue, Sparkles as We, Square as Ge, SquareCheck as Ke, TextCursorInput as qe, Trash2 as Je, Type as Ye, Undo2 as Xe, Upload as Ze, Video as Qe, X as $e } from "@lucide/vue";
1
+ import { Fragment as e, computed as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, defineComponent as c, inject as l, isRef as u, mergeModels as d, mergeProps as f, nextTick as p, normalizeStyle as m, onBeforeUnmount as h, onMounted as g, openBlock as _, provide as v, reactive as y, ref as b, renderList as x, renderSlot as S, resolveDynamicComponent as C, shallowRef as w, toDisplayString as T, toRaw as E, unref as D, useId as O, useModel as k, vModelDynamic as ee, vModelText as A, vShow as j, watch as M, watchEffect as te, withCtx as N, withDirectives as ne, withModifiers as P } from "vue";
2
+ import { CORE_ACTION_TYPES as re, DocumentError as F, parseDocument as ie, parseSiteSettings as ae, renderPage as oe, trustedHtml as I } from "@skylivellc/lienzo-core";
3
+ import { AlignCenter as se, AlignCenterHorizontal as L, AlignCenterVertical as ce, AlignEndHorizontal as le, AlignEndVertical as ue, AlignHorizontalDistributeCenter as de, AlignLeft as fe, AlignRight as pe, AlignStartHorizontal as me, AlignStartVertical as he, AlignVerticalDistributeCenter as ge, ArrowDownToLine as _e, ArrowUpToLine as ve, ChevronDown as ye, ChevronUp as be, CircleHelp as xe, Copy as Se, Eye as Ce, FoldHorizontal as we, FoldVertical as Te, Frame as Ee, History as De, Image as Oe, Layers as ke, ListFilter as Ae, Lock as je, LockOpen as Me, Menu as Ne, Minus as Pe, Monitor as R, MousePointerClick as Fe, PanelTop as Ie, PencilLine as Le, Pilcrow as Re, Plus as ze, Redo2 as Be, RotateCcw as Ve, RotateCw as He, Smartphone as Ue, Sparkles as We, Square as Ge, SquareCheck as Ke, TextCursorInput as qe, Trash2 as Je, Type as Ye, Undo2 as Xe, Upload as Ze, Video as Qe, X as $e } from "@lucide/vue";
4
4
  //#region src/model/document.ts
5
5
  var et = [
6
6
  "heading",
@@ -758,6 +758,92 @@ function Gt(e) {
758
758
  weight: 600,
759
759
  padding: 20
760
760
  }
761
+ },
762
+ {
763
+ name: "navbar.preset.pill",
764
+ props: {
765
+ brand: e("default.brand"),
766
+ layout: "split",
767
+ template: "pill",
768
+ links: [
769
+ t("default.link.features"),
770
+ t("default.link.about"),
771
+ t("default.link.contact")
772
+ ]
773
+ },
774
+ style: {
775
+ background: "surface",
776
+ color: "text",
777
+ font: "body",
778
+ size: 15,
779
+ weight: 600,
780
+ padding: 16
781
+ }
782
+ },
783
+ {
784
+ name: "navbar.preset.card",
785
+ props: {
786
+ brand: e("default.brand"),
787
+ layout: "split",
788
+ template: "card",
789
+ links: [
790
+ t("default.link.home"),
791
+ t("default.link.features"),
792
+ t("default.link.contact")
793
+ ]
794
+ },
795
+ style: {
796
+ background: "background",
797
+ color: "text",
798
+ font: "heading",
799
+ size: 16,
800
+ weight: 600,
801
+ padding: 18
802
+ }
803
+ },
804
+ {
805
+ name: "navbar.preset.underline",
806
+ props: {
807
+ brand: e("default.brand"),
808
+ layout: "split",
809
+ template: "underline",
810
+ links: [
811
+ t("default.link.home"),
812
+ t("default.link.features"),
813
+ t("default.link.about"),
814
+ t("default.link.contact")
815
+ ]
816
+ },
817
+ style: {
818
+ background: "background",
819
+ color: "text",
820
+ font: "body",
821
+ size: 16,
822
+ weight: 500,
823
+ padding: 20
824
+ }
825
+ },
826
+ {
827
+ name: "navbar.preset.divided",
828
+ props: {
829
+ brand: "",
830
+ layout: "center",
831
+ template: "divided",
832
+ links: [
833
+ t("default.link.home"),
834
+ t("default.link.features"),
835
+ t("default.link.about"),
836
+ t("default.link.contact")
837
+ ]
838
+ },
839
+ style: {
840
+ background: "surface",
841
+ color: "text",
842
+ font: "body",
843
+ size: 15,
844
+ weight: 500,
845
+ padding: 16
846
+ }
761
847
  }
762
848
  ];
763
849
  }
@@ -933,6 +1019,15 @@ var Zt = {
933
1019
  "type.select": "Dropdown",
934
1020
  "type.checkbox": "Checkbox",
935
1021
  "type.unknown": "Unavailable element",
1022
+ "menu.copy": "Copy",
1023
+ "menu.paste": "Paste",
1024
+ "menu.lock": "Lock",
1025
+ "menu.unlock": "Unlock",
1026
+ "zoom.label": "Zoom",
1027
+ "zoom.in": "Zoom in",
1028
+ "zoom.out": "Zoom out",
1029
+ "zoom.fit": "Fit to the window",
1030
+ "zoom.actual": "Actual size",
936
1031
  "canvas.title": "Page canvas",
937
1032
  "canvas.editingModal": "Editing the modal \"{title}\"",
938
1033
  "canvas.backToPage": "Back to the page",
@@ -965,6 +1060,7 @@ var Zt = {
965
1060
  "multi.group": "Group",
966
1061
  "multi.ungroup": "Ungroup",
967
1062
  "multi.lock": "Lock or unlock",
1063
+ "multi.menuHint": "Right-click the selection to group, lock, reorder, duplicate or delete it.",
968
1064
  "multi.hint": "Shift-click adds or removes elements from the selection. Grouped elements are selected together.",
969
1065
  "align.left": "Align left",
970
1066
  "align.hcenter": "Center horizontally",
@@ -1180,6 +1276,16 @@ var Zt = {
1180
1276
  "navbar.preset.split": "Brand and links",
1181
1277
  "navbar.preset.center": "Centered",
1182
1278
  "navbar.preset.dark": "Dark",
1279
+ "navbar.preset.pill": "Pill",
1280
+ "navbar.preset.card": "Card",
1281
+ "navbar.preset.underline": "Underline",
1282
+ "navbar.preset.divided": "Divided",
1283
+ "el.navbarTemplate": "Template",
1284
+ "el.navbarTemplate.plain": "Plain",
1285
+ "el.navbarTemplate.pill": "Pill",
1286
+ "el.navbarTemplate.card": "Card",
1287
+ "el.navbarTemplate.underline": "Underline",
1288
+ "el.navbarTemplate.divided": "Divided",
1183
1289
  "el.brand": "Brand",
1184
1290
  "el.brandPlaceholder": "Your brand name",
1185
1291
  "el.sticky": "Stick to the top on scroll",
@@ -1211,6 +1317,7 @@ var Zt = {
1211
1317
  "el.options": "Options",
1212
1318
  "el.optionsHint": "One option per line.",
1213
1319
  "el.placeholder": "Help text",
1320
+ "el.multiple": "Several answers",
1214
1321
  "el.required": "Required",
1215
1322
  "el.unknown": "This element comes from a plugin that is not installed. It is kept as it is and cannot be edited.",
1216
1323
  "style.fill": "Color and fill",
@@ -1290,6 +1397,8 @@ var Zt = {
1290
1397
  "position.mobile": "phone",
1291
1398
  "position.width": "W",
1292
1399
  "position.height": "H",
1400
+ "position.pinned": "Fixed while scrolling",
1401
+ "position.pinnedHint": "It stays in place on the screen while the page scrolls, like a floating button or a bar.",
1293
1402
  "position.own": "Own position on phones.",
1294
1403
  "position.inherit": "Use the desktop position again",
1295
1404
  "position.inherited": "Uses the desktop position. Moving it here gives it its own; while any element uses the desktop one, the section stacks on phones.",
@@ -1437,6 +1546,15 @@ var Zt = {
1437
1546
  "type.select": "Lista desplegable",
1438
1547
  "type.checkbox": "Casilla",
1439
1548
  "type.unknown": "Elemento no disponible",
1549
+ "menu.copy": "Copiar",
1550
+ "menu.paste": "Pegar",
1551
+ "menu.lock": "Bloquear",
1552
+ "menu.unlock": "Desbloquear",
1553
+ "zoom.label": "Zoom",
1554
+ "zoom.in": "Acercar",
1555
+ "zoom.out": "Alejar",
1556
+ "zoom.fit": "Ajustar a la ventana",
1557
+ "zoom.actual": "Tamaño real",
1440
1558
  "canvas.title": "Lienzo de la página",
1441
1559
  "canvas.editingModal": "Editando la ventana «{title}»",
1442
1560
  "canvas.backToPage": "Volver a la página",
@@ -1469,6 +1587,7 @@ var Zt = {
1469
1587
  "multi.group": "Agrupar",
1470
1588
  "multi.ungroup": "Desagrupar",
1471
1589
  "multi.lock": "Bloquear o desbloquear",
1590
+ "multi.menuHint": "Haz clic derecho en la selección para agrupar, bloquear, reordenar, duplicar o eliminar.",
1472
1591
  "multi.hint": "Mayús y clic agrega o quita elementos de la selección. Los agrupados se seleccionan juntos.",
1473
1592
  "align.left": "Alinear a la izquierda",
1474
1593
  "align.hcenter": "Centrar horizontalmente",
@@ -1684,6 +1803,16 @@ var Zt = {
1684
1803
  "navbar.preset.split": "Marca y enlaces",
1685
1804
  "navbar.preset.center": "Centrado",
1686
1805
  "navbar.preset.dark": "Oscuro",
1806
+ "navbar.preset.pill": "Pastilla",
1807
+ "navbar.preset.card": "Tarjeta",
1808
+ "navbar.preset.underline": "Subrayado",
1809
+ "navbar.preset.divided": "Dividido",
1810
+ "el.navbarTemplate": "Plantilla",
1811
+ "el.navbarTemplate.plain": "Simple",
1812
+ "el.navbarTemplate.pill": "Pastilla",
1813
+ "el.navbarTemplate.card": "Tarjeta",
1814
+ "el.navbarTemplate.underline": "Subrayado",
1815
+ "el.navbarTemplate.divided": "Dividido",
1687
1816
  "el.brand": "Marca",
1688
1817
  "el.brandPlaceholder": "Nombre de tu marca",
1689
1818
  "el.sticky": "Fijar arriba al bajar la página",
@@ -1715,6 +1844,7 @@ var Zt = {
1715
1844
  "el.options": "Opciones",
1716
1845
  "el.optionsHint": "Una opción por línea.",
1717
1846
  "el.placeholder": "Texto de ayuda",
1847
+ "el.multiple": "Varias respuestas",
1718
1848
  "el.required": "Obligatorio",
1719
1849
  "el.unknown": "Este elemento viene de un complemento que no está instalado. Se conserva tal cual y no se puede editar.",
1720
1850
  "style.fill": "Color y fondo",
@@ -1794,6 +1924,8 @@ var Zt = {
1794
1924
  "position.mobile": "celular",
1795
1925
  "position.width": "An",
1796
1926
  "position.height": "Al",
1927
+ "position.pinned": "Fijo al desplazar",
1928
+ "position.pinnedHint": "Se queda en su sitio en la pantalla mientras la página se desplaza, como un botón flotante o una barra.",
1797
1929
  "position.own": "Posición propia en celular.",
1798
1930
  "position.inherit": "Volver a heredar de escritorio",
1799
1931
  "position.inherited": "Hereda la posición de escritorio. Al moverlo aquí toma una propia; mientras alguno herede, la sección se apila en celular.",
@@ -2693,7 +2825,7 @@ function bn({ client: e, i18n: n }) {
2693
2825
  let r = n.t, i = y({
2694
2826
  load: { kind: "loading" },
2695
2827
  workspace: {
2696
- site: ie({ name: "Lienzo" }),
2828
+ site: ae({ name: "Lienzo" }),
2697
2829
  meta: {},
2698
2830
  publicUrl: null,
2699
2831
  pages: [],
@@ -2718,6 +2850,7 @@ function bn({ client: e, i18n: n }) {
2718
2850
  library: null,
2719
2851
  themeDraft: null,
2720
2852
  panels: {},
2853
+ zoom: null,
2721
2854
  renderIssues: [],
2722
2855
  publishing: !1,
2723
2856
  toasts: []
@@ -2749,12 +2882,12 @@ function bn({ client: e, i18n: n }) {
2749
2882
  ], () => c.changed(), { deep: !0 }), M(() => i.page?.title, D);
2750
2883
  let l = t(() => i.workspace.catalog), u = t((e) => {
2751
2884
  try {
2752
- return ie({
2885
+ return ae({
2753
2886
  ...i.workspace.site,
2754
2887
  theme: i.themeDraft ?? i.workspace.site.theme
2755
2888
  });
2756
2889
  } catch (t) {
2757
- if (t instanceof I && e) return e;
2890
+ if (t instanceof F && e) return e;
2758
2891
  throw t;
2759
2892
  }
2760
2893
  }), d = t(() => u.value.theme), f = t(() => {
@@ -2802,9 +2935,9 @@ function bn({ client: e, i18n: n }) {
2802
2935
  return;
2803
2936
  }
2804
2937
  try {
2805
- ie(t.value.site);
2938
+ ae(t.value.site);
2806
2939
  } catch (e) {
2807
- if (e instanceof I) {
2940
+ if (e instanceof F) {
2808
2941
  i.load = {
2809
2942
  kind: "failed",
2810
2943
  message: xn(e.issues[0])
@@ -2831,9 +2964,9 @@ function bn({ client: e, i18n: n }) {
2831
2964
  function E(e) {
2832
2965
  let t;
2833
2966
  try {
2834
- t = V(re(e.draft, l.value));
2967
+ t = V(ie(e.draft, l.value));
2835
2968
  } catch (e) {
2836
- if (e instanceof I) return i.load = {
2969
+ if (e instanceof F) return i.load = {
2837
2970
  kind: "failed",
2838
2971
  message: r("load.invalidDraft", { issue: xn(e.issues[0]) })
2839
2972
  }, !1;
@@ -2882,17 +3015,17 @@ function bn({ client: e, i18n: n }) {
2882
3015
  default: return "";
2883
3016
  }
2884
3017
  }
2885
- async function A() {
3018
+ async function ee() {
2886
3019
  i.page && (i.dialog = null, await T(i.page.id));
2887
3020
  }
2888
- function j() {
3021
+ function A() {
2889
3022
  a.push(JSON.stringify(i.draft)) && o.value++;
2890
3023
  }
2891
- function ee(e) {
2892
- e !== null && (i.draft = JSON.parse(e), o.value++, P());
3024
+ function j(e) {
3025
+ e !== null && (i.draft = JSON.parse(e), o.value++, ne());
2893
3026
  }
2894
3027
  let te = t(() => o.value >= 0 && a.canUndo), N = t(() => o.value >= 0 && a.canRedo);
2895
- function P() {
3028
+ function ne() {
2896
3029
  let e = i.selection;
2897
3030
  if (e.kind === "none") return;
2898
3031
  let t = z(i.draft, e.canvas);
@@ -2911,13 +3044,13 @@ function bn({ client: e, i18n: n }) {
2911
3044
  }
2912
3045
  i.view.kind === "modal" && !p.value && (i.view = { kind: "page" });
2913
3046
  }
2914
- function F(e) {
3047
+ function P(e) {
2915
3048
  i.selection = {
2916
3049
  kind: "canvas",
2917
3050
  canvas: e
2918
- }, ae(e);
3051
+ }, I(e);
2919
3052
  }
2920
- function ne(e, t, n = !1) {
3053
+ function re(e, t, n = !1) {
2921
3054
  let r = z(i.draft, e), a = r?.elements.find((e) => e.id === t);
2922
3055
  if (!r || !a) return;
2923
3056
  let o = a.group ? r.elements.filter((e) => e.group === a.group).map((e) => e.id) : [t], s = i.selection.kind === "elements" && i.selection.canvas === e ? i.selection.ids : [], c = n ? s.includes(t) ? s.filter((e) => !o.includes(e)) : [.../* @__PURE__ */ new Set([...s, ...o])] : o;
@@ -2929,16 +3062,16 @@ function bn({ client: e, i18n: n }) {
2929
3062
  canvas: e,
2930
3063
  ids: c,
2931
3064
  active: c.includes(t) ? t : c[0]
2932
- }, ae(e);
3065
+ }, I(e);
2933
3066
  }
2934
- function L() {
3067
+ function oe() {
2935
3068
  let e = i.selection;
2936
3069
  i.selection = e.kind === "elements" ? {
2937
3070
  kind: "canvas",
2938
3071
  canvas: e.canvas
2939
3072
  } : e;
2940
3073
  }
2941
- function ae(e) {
3074
+ function I(e) {
2942
3075
  let t = i.draft.sections, n = t.findIndex((t) => t.id === e), r = t[n]?.group?.id;
2943
3076
  if (n < 0 || !r) return;
2944
3077
  let a = n;
@@ -2948,7 +3081,7 @@ function bn({ client: e, i18n: n }) {
2948
3081
  [r]: n - a
2949
3082
  };
2950
3083
  }
2951
- function oe(e, t, n) {
3084
+ function se(e, t, n) {
2952
3085
  let a = t ? z(i.draft, t.canvas) : m.value;
2953
3086
  if (!a) return;
2954
3087
  let o = qt(e, t ? t.y : a.elements.length * 24 + 40, r);
@@ -2964,16 +3097,16 @@ function bn({ client: e, i18n: n }) {
2964
3097
  canvas: a.id,
2965
3098
  ids: [o.id],
2966
3099
  active: o.id
2967
- }, j();
3100
+ }, A();
2968
3101
  }
2969
- function se() {
3102
+ function L() {
2970
3103
  let e = i.selection;
2971
3104
  if (e.kind !== "elements") return;
2972
3105
  let t = z(i.draft, e.canvas);
2973
3106
  t && (t.elements = t.elements.filter((t) => !e.ids.includes(t.id) || t.locked === !0), i.selection = {
2974
3107
  kind: "canvas",
2975
3108
  canvas: t.id
2976
- }, j());
3109
+ }, A());
2977
3110
  }
2978
3111
  function ce() {
2979
3112
  let e = i.selection, t = e.kind === "elements" ? z(i.draft, e.canvas) : void 0;
@@ -2993,7 +3126,7 @@ function bn({ client: e, i18n: n }) {
2993
3126
  canvas: e.id,
2994
3127
  ids: a.map((e) => e.id),
2995
3128
  active: a[0].id
2996
- }, j();
3129
+ }, A();
2997
3130
  }
2998
3131
  function ue() {
2999
3132
  let e = h.value;
@@ -3014,31 +3147,51 @@ function bn({ client: e, i18n: n }) {
3014
3147
  e && t.length !== 0 && (le(e, t), b(r("toast.pasted")));
3015
3148
  }
3016
3149
  function fe(e) {
3017
- let t = g.value, n = m.value;
3018
- if (!t || !n) return;
3019
- let r = n.elements.filter((e) => e.id !== t.id).map((e) => e.z);
3020
- t.z = e === "front" ? Ct(r) : wt(r), j();
3150
+ let t = h.value, n = m.value;
3151
+ if (t.length === 0 || !n) return;
3152
+ let r = new Set(t.map((e) => e.id)), i = n.elements.filter((e) => !r.has(e.id)).map((e) => e.z), a = [...t].sort((e, t) => e.z - t.z);
3153
+ a.forEach((t, n) => {
3154
+ t.z = e === "front" ? Ct(i) + n : wt(i) - (a.length - 1 - n);
3155
+ }), A();
3021
3156
  }
3022
3157
  function pe(e) {
3023
3158
  let t = h.value, n = m.value;
3024
- t.length !== 0 && n && (t.length === 1 ? ot(t[0], i.device, bt(at(t[0], i.device), e, st(n, i.device))) : xt(t.map((e) => at(e, i.device)), e).forEach((e, n) => ot(t[n], i.device, e)), j());
3159
+ t.length !== 0 && n && (t.length === 1 ? ot(t[0], i.device, bt(at(t[0], i.device), e, st(n, i.device))) : xt(t.map((e) => at(e, i.device)), e).forEach((e, n) => ot(t[n], i.device, e)), A());
3025
3160
  }
3026
3161
  function me(e) {
3027
3162
  let t = h.value;
3028
- St(t.map((e) => at(e, i.device)), e).forEach((e, n) => ot(t[n], i.device, e)), j();
3029
- }
3030
- function R() {
3031
- let e = B("group");
3032
- h.value.forEach((t) => t.group = e), j();
3163
+ St(t.map((e) => at(e, i.device)), e).forEach((e, n) => ot(t[n], i.device, e)), A();
3033
3164
  }
3034
3165
  function he() {
3035
- h.value.forEach((e) => e.group = null), j();
3166
+ let e = h.value, t = g.value ?? e[0] ?? null;
3167
+ if (!t || e.length < 2) return t;
3168
+ let n = (n) => new Proxy(t[n], {
3169
+ set(t, r, i) {
3170
+ return e.forEach((e) => Reflect.set(e[n], r, i)), !0;
3171
+ },
3172
+ deleteProperty(t, r) {
3173
+ return e.forEach((e) => Reflect.deleteProperty(e[n], r)), !0;
3174
+ }
3175
+ }), r = n("style"), i = n("props");
3176
+ return new Proxy(t, {
3177
+ get: (e, t) => t === "style" ? r : t === "props" ? i : Reflect.get(e, t),
3178
+ set(t, n, r) {
3179
+ return e.forEach((e) => Reflect.set(e, n, r)), !0;
3180
+ }
3181
+ });
3036
3182
  }
3037
3183
  function ge() {
3184
+ let e = B("group");
3185
+ h.value.forEach((t) => t.group = e), A();
3186
+ }
3187
+ function _e() {
3188
+ h.value.forEach((e) => e.group = null), A();
3189
+ }
3190
+ function ve() {
3038
3191
  let e = h.value, t = e.some((e) => !e.locked);
3039
- e.forEach((e) => e.locked = t), j();
3192
+ e.forEach((e) => e.locked = t), A();
3040
3193
  }
3041
- function _e(e, t) {
3194
+ function ye(e, t) {
3042
3195
  let n = m.value;
3043
3196
  if (!n || i.device === "mobile" && ct(n)) return;
3044
3197
  let r = h.value.filter((e) => !e.locked);
@@ -3050,43 +3203,43 @@ function bn({ client: e, i18n: n }) {
3050
3203
  y: r.y + t
3051
3204
  }));
3052
3205
  }
3053
- r.length > 0 && j();
3206
+ r.length > 0 && A();
3054
3207
  }
3055
- function ve(e) {
3208
+ function be(e) {
3056
3209
  let t = m.value;
3057
3210
  for (let { id: n, box: r } of e) {
3058
3211
  let e = t?.elements.find((e) => e.id === n);
3059
3212
  e && ot(e, i.device, r);
3060
3213
  }
3061
- j();
3214
+ A();
3062
3215
  }
3063
- function ye(e = ut()) {
3216
+ function xe(e = ut()) {
3064
3217
  i.draft.sections.push(e), i.view = { kind: "page" }, i.selection = {
3065
3218
  kind: "canvas",
3066
3219
  canvas: e.id
3067
- }, j();
3220
+ }, A();
3068
3221
  }
3069
- function be(e) {
3222
+ function Se(e) {
3070
3223
  let t = pn(e);
3071
3224
  i.draft.sections = t, i.selection = {
3072
3225
  kind: "canvas",
3073
3226
  canvas: t[0].id
3074
- }, j();
3227
+ }, A();
3075
3228
  }
3076
- function xe(e) {
3229
+ function Ce(e) {
3077
3230
  i.draft.sections.length <= 1 || (i.draft.sections = i.draft.sections.filter((t) => t.id !== e), i.selection = {
3078
3231
  kind: "canvas",
3079
3232
  canvas: i.draft.sections[0].id
3080
- }, j());
3233
+ }, A());
3081
3234
  }
3082
- function Se(e, t) {
3235
+ function we(e, t) {
3083
3236
  let n = i.draft.sections, r = e + t, [a, o] = [n[e], n[r]];
3084
- a && o && (n.splice(e, 1, o), n.splice(r, 1, a), j());
3237
+ a && o && (n.splice(e, 1, o), n.splice(r, 1, a), A());
3085
3238
  }
3086
- function Ce(e, t) {
3239
+ function Te(e, t) {
3087
3240
  let n = i.draft.sections, r = n.indexOf(e);
3088
3241
  if (t === "alone") {
3089
- e.group = null, j();
3242
+ e.group = null, A();
3090
3243
  return;
3091
3244
  }
3092
3245
  let a = n[r - 1], o = a?.group?.id || B("group");
@@ -3104,23 +3257,23 @@ function bn({ client: e, i18n: n }) {
3104
3257
  id: o,
3105
3258
  type: t
3106
3259
  };
3107
- }), j();
3260
+ }), A();
3108
3261
  }
3109
- function we(e) {
3110
- e.height.desktop = Math.min(rt(e) ? 2e3 : 3e3, Tt(e.elements.map((e) => e.layout.desktop))), j();
3262
+ function Ee(e) {
3263
+ e.height.desktop = Math.min(rt(e) ? 2e3 : 3e3, Tt(e.elements.map((e) => e.layout.desktop))), A();
3111
3264
  }
3112
- function Te(e) {
3265
+ function De(e) {
3113
3266
  let t = rt(e) ? e.width : d.value.max_width, { boxes: n, height: i } = Et(e.elements.map((e) => ({
3114
3267
  desktop: e.layout.desktop,
3115
3268
  text: e.type === "text"
3116
3269
  })), t, 390);
3117
- e.elements.forEach((e, t) => e.layout.mobile = n[t] ?? null), e.height.mobile = Math.min(rt(e) ? 2400 : 4e3, i), j(), b(r("toast.mobileGenerated"));
3270
+ e.elements.forEach((e, t) => e.layout.mobile = n[t] ?? null), e.height.mobile = Math.min(rt(e) ? 2400 : 4e3, i), A(), b(r("toast.mobileGenerated"));
3118
3271
  }
3119
- function Ee() {
3272
+ function Oe() {
3120
3273
  let e = ft(r("modals.defaultTitle"));
3121
- i.draft.modals = [...i.draft.modals ?? [], e], j(), De(e.id);
3274
+ i.draft.modals = [...i.draft.modals ?? [], e], A(), ke(e.id);
3122
3275
  }
3123
- function De(e) {
3276
+ function ke(e) {
3124
3277
  i.view = e ? {
3125
3278
  kind: "modal",
3126
3279
  id: e
@@ -3132,14 +3285,14 @@ function bn({ client: e, i18n: n }) {
3132
3285
  canvas: i.draft.sections[0].id
3133
3286
  } : { kind: "none" };
3134
3287
  }
3135
- function Oe(e) {
3136
- i.draft.modals = (i.draft.modals ?? []).filter((t) => t.id !== e), i.view.kind === "modal" && i.view.id === e && De(null), j();
3288
+ function Ae(e) {
3289
+ i.draft.modals = (i.draft.modals ?? []).filter((t) => t.id !== e), i.view.kind === "modal" && i.view.id === e && ke(null), A();
3137
3290
  }
3138
- let ke = () => ee(a.undo()), Ae = () => ee(a.redo());
3139
- async function je() {
3291
+ let je = () => j(a.undo()), Me = () => j(a.redo());
3292
+ async function Ne() {
3140
3293
  await c.flush();
3141
3294
  }
3142
- async function Me() {
3295
+ async function Pe() {
3143
3296
  let t = i.page;
3144
3297
  if (t && !i.publishing) {
3145
3298
  i.publishing = !0;
@@ -3162,7 +3315,7 @@ function bn({ client: e, i18n: n }) {
3162
3315
  }
3163
3316
  }
3164
3317
  }
3165
- async function Ne(t) {
3318
+ async function R(t) {
3166
3319
  let n = i.page;
3167
3320
  if (!n) return;
3168
3321
  let a = await c.exclusive(async () => {
@@ -3172,9 +3325,9 @@ function bn({ client: e, i18n: n }) {
3172
3325
  });
3173
3326
  if (!r.ok) return S(r.failure);
3174
3327
  try {
3175
- i.draft = V(re(r.value.draft, l.value));
3328
+ i.draft = V(ie(r.value.draft, l.value));
3176
3329
  } catch (e) {
3177
- if (e instanceof I) return xn(e.issues[0]);
3330
+ if (e instanceof F) return xn(e.issues[0]);
3178
3331
  throw e;
3179
3332
  }
3180
3333
  return i.revision = r.value.revision, n.versions = r.value.versions, c.reset(), null;
@@ -3183,9 +3336,9 @@ function bn({ client: e, i18n: n }) {
3183
3336
  b(r("toast.failed", { message: a }), "error");
3184
3337
  return;
3185
3338
  }
3186
- j(), P(), i.dialog = null, b(r("versions.restored"));
3339
+ A(), ne(), i.dialog = null, b(r("versions.restored"));
3187
3340
  }
3188
- async function Pe(t, n) {
3341
+ async function Fe(t, n) {
3189
3342
  if (i.page && !await c.flush()) return [{
3190
3343
  path: "title",
3191
3344
  code: "type",
@@ -3206,7 +3359,7 @@ function bn({ client: e, i18n: n }) {
3206
3359
  message: S(a.failure)
3207
3360
  }];
3208
3361
  }
3209
- async function Fe(t) {
3362
+ async function Ie(t) {
3210
3363
  let n = i.page;
3211
3364
  if (!n) return [];
3212
3365
  let a = await c.exclusive(async () => {
@@ -3223,7 +3376,7 @@ function bn({ client: e, i18n: n }) {
3223
3376
  message: S(a.failure)
3224
3377
  }]);
3225
3378
  }
3226
- async function Ie() {
3379
+ async function Le() {
3227
3380
  let t = i.page;
3228
3381
  if (!t) return;
3229
3382
  let n = await c.exclusive(async () => {
@@ -3238,7 +3391,7 @@ function bn({ client: e, i18n: n }) {
3238
3391
  let a = i.workspace.pages[0];
3239
3392
  a ? await T(a.id) : i.load = { kind: "empty" };
3240
3393
  }
3241
- async function Le(t) {
3394
+ async function Re(t) {
3242
3395
  let n = await e("PUT /site", t);
3243
3396
  return n.ok ? (i.workspace = {
3244
3397
  ...n.value,
@@ -3249,25 +3402,25 @@ function bn({ client: e, i18n: n }) {
3249
3402
  message: S(n.failure)
3250
3403
  }];
3251
3404
  }
3252
- async function Re(t) {
3405
+ async function ze(t) {
3253
3406
  let n = new FormData();
3254
3407
  n.append("file", t);
3255
3408
  let a = await e("POST /assets", n);
3256
- return a.ok ? (i.workspace.assets = [a.value, ...i.workspace.assets], Be(), a.value) : (b(r("library.uploadFailed", { message: S(a.failure) }), "error"), null);
3409
+ return a.ok ? (i.workspace.assets = [a.value, ...i.workspace.assets], Ve(), a.value) : (b(r("library.uploadFailed", { message: S(a.failure) }), "error"), null);
3257
3410
  }
3258
- async function ze(t) {
3411
+ async function Be(t) {
3259
3412
  let n = await e("DELETE /assets/:id", { id: t.id });
3260
3413
  if (!n.ok) {
3261
3414
  b(r("library.deleteFailed", { message: S(n.failure) }), "error");
3262
3415
  return;
3263
3416
  }
3264
- i.workspace.assets = i.workspace.assets.filter((e) => e.id !== t.id), Be();
3417
+ i.workspace.assets = i.workspace.assets.filter((e) => e.id !== t.id), Ve();
3265
3418
  }
3266
- async function Be() {
3419
+ async function Ve() {
3267
3420
  let t = await e("GET /");
3268
3421
  t.ok && (i.workspace.quota = t.value.quota);
3269
3422
  }
3270
- function Ve(e) {
3423
+ function He(e) {
3271
3424
  return t({
3272
3425
  get: () => i.dialog === e,
3273
3426
  set: (t) => {
@@ -3275,7 +3428,7 @@ function bn({ client: e, i18n: n }) {
3275
3428
  }
3276
3429
  });
3277
3430
  }
3278
- function He(e = null) {
3431
+ function Ue(e = null) {
3279
3432
  i.library = { onPick: e };
3280
3433
  }
3281
3434
  return {
@@ -3302,47 +3455,48 @@ function bn({ client: e, i18n: n }) {
3302
3455
  dismiss: x,
3303
3456
  load: C,
3304
3457
  openPage: O,
3305
- reloadPage: A,
3306
- commit: j,
3307
- undo: ke,
3308
- redo: Ae,
3309
- select: ne,
3310
- selectCanvas: F,
3311
- clearSelection: L,
3312
- addElement: oe,
3313
- removeSelected: se,
3458
+ reloadPage: ee,
3459
+ commit: A,
3460
+ undo: je,
3461
+ redo: Me,
3462
+ select: re,
3463
+ selectCanvas: P,
3464
+ clearSelection: oe,
3465
+ addElement: se,
3466
+ removeSelected: L,
3314
3467
  duplicateSelected: ce,
3315
3468
  copySelected: ue,
3316
3469
  paste: de,
3317
3470
  layer: fe,
3318
3471
  align: pe,
3319
3472
  distributeSelected: me,
3320
- groupSelected: R,
3321
- ungroupSelected: he,
3322
- toggleLock: ge,
3323
- nudge: _e,
3324
- placeElements: ve,
3325
- addSection: ye,
3326
- applyPageTemplate: be,
3327
- removeSection: xe,
3328
- moveSection: Se,
3329
- setSectionGroup: Ce,
3330
- fitCanvas: we,
3331
- generateMobile: Te,
3332
- addModal: Ee,
3333
- openModal: De,
3334
- removeModal: Oe,
3335
- saveNow: je,
3336
- publish: Me,
3337
- restoreVersion: Ne,
3338
- createPage: Pe,
3339
- renamePage: Fe,
3340
- deletePage: Ie,
3341
- updateSite: Le,
3342
- uploadAsset: Re,
3343
- deleteAsset: ze,
3344
- openLibrary: He,
3345
- dialogModel: Ve,
3473
+ sharedTarget: he,
3474
+ groupSelected: ge,
3475
+ ungroupSelected: _e,
3476
+ toggleLock: ve,
3477
+ nudge: ye,
3478
+ placeElements: be,
3479
+ addSection: xe,
3480
+ applyPageTemplate: Se,
3481
+ removeSection: Ce,
3482
+ moveSection: we,
3483
+ setSectionGroup: Te,
3484
+ fitCanvas: Ee,
3485
+ generateMobile: De,
3486
+ addModal: Oe,
3487
+ openModal: ke,
3488
+ removeModal: Ae,
3489
+ saveNow: Ne,
3490
+ publish: Pe,
3491
+ restoreVersion: R,
3492
+ createPage: Fe,
3493
+ renamePage: Ie,
3494
+ deletePage: Le,
3495
+ updateSite: Re,
3496
+ uploadAsset: ze,
3497
+ deleteAsset: Be,
3498
+ openLibrary: Ue,
3499
+ dialogModel: He,
3346
3500
  dispose: () => c.dispose()
3347
3501
  };
3348
3502
  }
@@ -3352,12 +3506,12 @@ var xn = (e) => e ? `${e.path}: ${e.message}` : "", Sn = (e) => ({
3352
3506
  });
3353
3507
  function Cn(e, t) {
3354
3508
  try {
3355
- return re({ sections: [{
3509
+ return ie({ sections: [{
3356
3510
  ...ut(),
3357
3511
  elements: [e]
3358
3512
  }] }, t), !0;
3359
3513
  } catch (e) {
3360
- if (e instanceof I) return !1;
3514
+ if (e instanceof F) return !1;
3361
3515
  throw e;
3362
3516
  }
3363
3517
  }
@@ -3421,7 +3575,7 @@ function En(e, t) {
3421
3575
  }
3422
3576
  //#endregion
3423
3577
  //#region ../core/dist/lienzo.css?raw
3424
- var Dn = ".lz-page,.lz-page *{box-sizing:border-box}\nhtml:has(.lz-page){scroll-behavior:smooth}\n@media (prefers-reduced-motion:reduce){html:has(.lz-page){scroll-behavior:auto}}\n.lz-page{margin:0;container:lz/inline-size;background:var(--background);color:var(--text);font-family:var(--font-body)}\n.lz-notice{position:fixed;z-index:99;top:16px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--background);padding:12px 20px;border-radius:var(--radius);box-shadow:0 12px 32px rgba(15,23,42,.2)}\n.lz-section{position:relative;width:100%;scroll-margin-top:calc(var(--sticky,0) * 1px);background:var(--sbg,transparent)}\n.lz-section[data-fill=linear]{background:linear-gradient(calc(var(--sga,135) * 1deg),var(--sg1),var(--sg2))}\n.lz-section[data-fill=radial]{background:radial-gradient(circle at 50% 50%,var(--sg1),var(--sg2))}\n.lz-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n.lz-bg::before{content:'';position:absolute;inset:0;background:var(--background)}\n.lz-parallax{position:absolute;inset:0;clip-path:inset(0)}\n.lz-parallax>.lz-bg{position:fixed}\n.lz-overlay{position:absolute;inset:0;background:rgb(0 0 0 / calc(var(--ov) * 100%))}\n.lz-frame{position:relative;height:calc(var(--fh) * var(--u))}\n.lz-section>.lz-frame{margin:0 auto;max-width:var(--max-width);container-type:inline-size;--u:calc(min(100cqw,var(--ref) * 1px) / var(--ref))}\n.lz-el{position:absolute;margin:0;display:block;overflow-wrap:break-word;left:calc(var(--x) * 1%);top:calc(var(--y) * var(--u));width:calc(var(--w) * 1%);height:calc(var(--h) * var(--u));z-index:var(--z);--_border:calc(var(--bw) * var(--u)) solid var(--bc,var(--text));--_fill:color-mix(in srgb,var(--bg) calc(var(--ba,1) * 100%),transparent);--_rot:rotate(calc(var(--rot) * 1deg));--_blur:blur(calc(var(--blur) * var(--u)));--_p:calc(var(--p) * var(--u));color:var(--c);background:var(--_fill);-webkit-backdrop-filter:var(--_blur);backdrop-filter:var(--_blur);font-family:var(--font-body);font-size:calc(var(--fs) * var(--u));font-weight:var(--fw);line-height:var(--lh);border:var(--_border,0);border-radius:calc(var(--r) * var(--u));padding:var(--_p,0);opacity:var(--op);transform:var(--_rot,) var(--_flip,) var(--_anim,)}\n.lz-el[data-font=heading]{font-family:var(--font-heading)}\n.lz-el[data-align=left]{text-align:left}\n.lz-el[data-align=center]{text-align:center}\n.lz-el[data-align=right]{text-align:right}\n.lz-el[data-fill=linear]{background:linear-gradient(calc(var(--ga,135) * 1deg),color-mix(in srgb,var(--g1) calc(var(--ba,1) * 100%),transparent),color-mix(in srgb,var(--g2) calc(var(--ba,1) * 100%),transparent))}\n.lz-el[data-fill=radial]{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--g1) calc(var(--ba,1) * 100%),transparent),color-mix(in srgb,var(--g2) calc(var(--ba,1) * 100%),transparent))}\n.lz-el[data-shadow=sm]{box-shadow:0 1px 2px rgba(15,23,42,.08)}\n.lz-el[data-shadow=md]{box-shadow:0 8px 24px rgba(15,23,42,.12)}\n.lz-el[data-shadow=lg]{box-shadow:0 24px 48px rgba(15,23,42,.18)}\n.lz-el[data-shadow=custom]{box-shadow:calc(var(--shx,0) * var(--u)) calc(var(--shy,12) * var(--u)) calc(var(--shb,32) * var(--u)) calc(var(--shs,0) * var(--u)) color-mix(in srgb,var(--shc,var(--secondary)) calc(var(--sha,.2) * 100%),transparent)}\n.lz-el[data-clip]:not([data-overflow]),.lz-el[data-overflow=hidden]{overflow:hidden}\n.lz-el[data-overflow=scroll-x]{overflow-x:auto;overflow-y:hidden}\n.lz-el[data-overflow=scroll-y]{overflow-y:auto;overflow-x:hidden}\n.lz-el[data-flip-x],.lz-el[data-flip-y]{--_flip:scale(var(--_fx,1),var(--_fy,1))}\n.lz-el[data-flip-x]{--_fx:-1}\n.lz-el[data-flip-y]{--_fy:-1}\n@container lz not (max-width:640px){.lz-el[data-visible=mobile]{display:none}}\n.lz-accent{color:var(--ac)}\n@media (prefers-reduced-motion:no-preference){.lz-el[data-anim]{opacity:0;transition:opacity calc(var(--adur,.7) * 1s) ease calc(var(--ad,0) * 1s),transform calc(var(--adur,.7) * 1s) cubic-bezier(.22,.61,.36,1) calc(var(--ad,0) * 1s)}.lz-el[data-anim=up]{--_anim:translateY(28px)}.lz-el[data-anim=down]{--_anim:translateY(-28px)}.lz-el[data-anim=left]{--_anim:translateX(-32px)}.lz-el[data-anim=right]{--_anim:translateX(32px)}.lz-el[data-anim=zoom]{--_anim:scale(.94)}.lz-el[data-anim].is-in{opacity:var(--op,1);--_anim:initial}}\n@media (scripting:none){.lz-el[data-anim]{opacity:var(--op,1)!important;--_anim:initial!important}}\n.lz-el[data-hover]{transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease}\n@media (hover:hover){.lz-el[data-hover=lift]:hover{transform:var(--_rot,) var(--_flip,) translateY(calc(-6 * var(--u)));box-shadow:0 18px 40px rgba(15,23,42,.18)}.lz-el[data-hover=grow]:hover{transform:var(--_rot,) var(--_flip,) scale(1.04)}.lz-el[data-hover=fade]:hover{opacity:.82}}\nimg.lz-el{object-fit:cover}\nimg.lz-el[data-fit=contain]{object-fit:contain}\na.lz-el,button.lz-el{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}\nbutton.lz-el{cursor:pointer;padding:var(--_p,1px 6px)}\n.lz-divider{border:var(--_border,none);border-top:var(--_border,1px solid currentColor)}\n.lz-video iframe{width:100%;height:100%;border:0;border-radius:inherit}\n.lz-el[data-shape=ellipse]{border-radius:50%}\n.lz-el[data-shape=triangle]{clip-path:polygon(50% 0,100% 100%,0 100%)}\n.lz-el[data-shape=blob]{border-radius:42% 58% 63% 37% / 43% 38% 62% 57%}\n.lz-el[data-shape=arch]{border-radius:50% 50% 0 0 / 65% 65% 0 0}\n.lz-el[data-shape=diagonal]{clip-path:polygon(0 0,100% 0,100% 72%,0 100%)}\n.lz-el[data-shape=dots]{background-image:radial-gradient(currentColor calc(1.6 * var(--u)),transparent calc(1.7 * var(--u)));background-size:calc(16 * var(--u)) calc(16 * var(--u))}\n.lz-el[data-shape=grid]{background-image:linear-gradient(currentColor calc(1 * var(--u)),transparent calc(1 * var(--u))),linear-gradient(90deg,currentColor calc(1 * var(--u)),transparent calc(1 * var(--u)));background-size:calc(24 * var(--u)) calc(24 * var(--u))}\n.lz-icon{display:grid;place-items:center}\n.lz-icon svg{width:100%;height:100%}\n.lz-navbar{display:flex;align-items:center;gap:calc(24 * var(--u))}\n.lz-navbar[data-sticky]{position:fixed;left:50%;translate:-50% 0;width:min(100%,var(--max-width));top:0;transition:background .25s ease,box-shadow .25s ease,height .25s ease,backdrop-filter .25s ease}\n.lz-navbar[data-scrolled]{box-shadow:0 8px 24px rgba(15,23,42,.1)}\n.lz-navbar[data-scrolled][data-scroll]{box-shadow:0 10px 30px rgba(15,23,42,.12)}\n.lz-navbar[data-scrolled]:is([data-scroll=solid],[data-scroll=compact]){background:var(--bg,var(--background));-webkit-backdrop-filter:none;backdrop-filter:none}\n.lz-navbar[data-scrolled][data-scroll=compact]{height:calc(var(--h) * .78 * var(--u))}\n.lz-navbar-brand{font-family:var(--font-heading);font-weight:700;font-size:1.15em;white-space:nowrap}\n.lz-navbar-links{display:flex;align-items:center;gap:calc(22 * var(--u));margin-left:auto}\n.lz-navbar[data-layout=left] .lz-navbar-links,.lz-navbar[data-layout=center] .lz-navbar-links{margin-left:0}\n.lz-navbar[data-layout=center]{justify-content:center}\n.lz-navbar a{color:inherit;text-decoration:none;white-space:nowrap}\n.lz-navbar a:hover{opacity:.7}\n.lz-navbar-menu{display:none;position:relative;margin-left:auto}\n.lz-navbar-menu summary{list-style:none;cursor:pointer;font-size:1.5em;line-height:1}\n.lz-navbar-menu summary::-webkit-details-marker{display:none}\n.lz-navbar-drop{position:absolute;z-index:60;top:100%;right:0;display:grid;gap:12px;min-width:160px;margin-top:8px;padding:14px 16px;background:var(--surface);color:var(--text);border-radius:var(--radius);box-shadow:0 12px 32px rgba(15,23,42,.18)}\n.lz-field{display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:left}\n.lz-field>span{font-size:.78em;opacity:.75}\n.lz-field>span i{font-style:normal;color:#dc2626;margin-left:2px}\n.lz-field input,.lz-field select,.lz-field textarea{font:inherit;color:inherit;width:100%;flex:1;min-height:0;background:transparent;border:0;padding:0;outline:none;resize:none}\n.lz-field-check{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}\n.lz-field-check input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--primary)}\n.lz-field-error{position:absolute;top:100%;left:0;margin-top:2px;font-size:12px;font-style:normal;color:#dc2626}\n.lz-stack-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:24px 20px 0;background:var(--background)}\n.lz-stack-nav button{font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid color-mix(in srgb,var(--muted) 35%,transparent);border-radius:999px;background:transparent;color:var(--muted);transition:background .2s ease,color .2s ease}\n.lz-stack-nav button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--background)}\n.lz-stack-nav i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,currentColor 18%,transparent);font-size:.8em}\n.lz-stack-panel{display:none}\n.lz-stack-panel[data-on]{display:block}\n.lz-modal{border:none;border-radius:var(--radius);padding:0;max-width:calc(100% - 2rem);max-height:calc(100dvh - 3rem);color:var(--text);font-family:var(--font-body);overflow:auto;width:min(calc(var(--dw) * 1px),calc(100vw - 2rem));--u:calc(min(100vw - 2rem,var(--dw) * 1px) / var(--dw));background:var(--dbg,var(--background))}\n.lz-modal[data-size=full]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;--u:calc(min(100vw,var(--dw) * 1px) / var(--dw))}\n.lz-modal::backdrop{background:rgba(15,23,42,.5)}\n.lz-modal .lz-frame{overflow:hidden}\n.lz-modal-bar{display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u)) calc(8 * var(--u)) calc(18 * var(--u))}\n.lz-modal-title{margin:0;font-family:var(--font-heading);font-size:calc(20 * var(--u));font-weight:700}\n.lz-modal-close{margin-left:auto;width:calc(34 * var(--u));height:calc(34 * var(--u));display:grid;place-items:center;font:inherit;font-size:calc(20 * var(--u));line-height:1;color:var(--text);background:var(--surface);border:0;border-radius:999px;cursor:pointer}\n.lz-modal-close:hover{opacity:.8}\n.lz-placeholder{display:grid;place-items:center;padding:8px;border:1px dashed currentColor;font:12px/1.3 system-ui,sans-serif;opacity:.6}\n@container lz (max-width:640px){.lz-section>.lz-frame{--u:calc(min(100cqw,390px) / 390)}.lz-frame{height:calc(var(--fmh) * var(--u))}.lz-frame[data-stack]{height:auto;padding:32px 20px;display:flex;flex-direction:column;gap:20px}.lz-frame:not([data-stack]) .lz-el{position:absolute;left:calc(var(--mx) * 1%);top:calc(var(--my) * var(--u));width:calc(var(--mw) * 1%);height:calc(var(--mh) * var(--u))}.lz-frame[data-stack] .lz-el{position:static;width:auto;height:auto;order:var(--ord)}.lz-el[data-visible=desktop]{display:none}.lz-parallax>.lz-bg{position:absolute}.lz-navbar-links{display:none}.lz-navbar-menu{display:block}.lz-el{max-width:100%;min-width:0}img.lz-el{height:auto}.lz-icon{width:max-content}.lz-icon svg{width:calc(36 * var(--u));height:calc(36 * var(--u))}}\n", On = "\nhtml,body{margin:0}\nbody{overflow:hidden}\n.lz-el{cursor:default;user-select:none;-webkit-user-select:none}\n.lz-el[contenteditable]{cursor:text;user-select:text;-webkit-user-select:text;outline:none}\n.lz-el iframe,.lz-el input,.lz-el select,.lz-el textarea,.lz-el summary,.lz-el a,.lz-el button{pointer-events:none}\n.lz-navbar[data-sticky]{position:absolute;translate:none;left:calc(var(--x) * 1%);top:calc(var(--y) * var(--u));width:calc(var(--w) * 1%)}\n@container lz (max-width:640px){\n.lz-frame:not([data-stack]) .lz-navbar[data-sticky]{left:calc(var(--mx) * 1%);top:calc(var(--my) * var(--u));width:calc(var(--mw) * 1%)}\n.lz-frame[data-stack] .lz-navbar[data-sticky]{position:static;width:auto}\n}\n.lz-parallax>.lz-bg{position:absolute}\n.lz-stack-nav button{cursor:pointer}\nimg.lz-el[src=\"\"]::before,.lz-video:empty::before{position:absolute;inset:0;display:grid;place-items:center;padding:8px;text-align:center;border:1px dashed #94a3b8;border-radius:inherit;background:#f8fafc;color:#64748b;font:12px/1.3 system-ui,sans-serif}\nimg.lz-el[src=\"\"]::before{content:var(--lze-empty-image)}\n.lz-frame[data-stack] img.lz-el[src=\"\"]{position:relative;min-height:120px}\n.lz-video:empty::before{content:var(--lze-empty-video)}\n.lze-app-placeholder{display:grid;place-items:center;height:100%;padding:8px;text-align:center;border:1px dashed #94a3b8;border-radius:inherit;background:#f8fafc;color:#64748b;font:12px/1.3 system-ui,sans-serif}\n.lze-app-placeholder[data-status=loading]{animation:lze-pulse 1.2s ease-in-out infinite}\n@keyframes lze-pulse{50%{opacity:.55}}\nbody[data-lze-modal] .lz-section,body[data-lze-modal] .lz-stack,body[data-lze-modal] .lz-notice{display:none}\nbody[data-lze-modal] dialog.lz-modal[data-lze-open]{display:block;position:static;margin:16px auto;max-height:none;overflow:visible;box-shadow:0 12px 40px rgba(15,23,42,.18)}\nbody[data-lze-modal] dialog.lz-modal[data-lze-open][data-size=full]{margin:0}\n";
3578
+ var Dn = ".lz-page,.lz-page *{box-sizing:border-box}\nhtml:has(.lz-page){scroll-behavior:smooth}\n@media (prefers-reduced-motion:reduce){html:has(.lz-page){scroll-behavior:auto}}\n.lz-page{margin:0;container:lz/inline-size;background:var(--background);color:var(--text);font-family:var(--font-body)}\n.lz-notice{position:fixed;z-index:99;top:16px;left:50%;transform:translateX(-50%);background:var(--primary);color:var(--background);padding:12px 20px;border-radius:var(--radius);box-shadow:0 12px 32px rgba(15,23,42,.2)}\n.lz-section{position:relative;width:100%;scroll-margin-top:calc(var(--sticky,0) * 1px);background:var(--sbg,transparent)}\n.lz-section[data-fill=linear]{background:linear-gradient(calc(var(--sga,135) * 1deg),var(--sg1),var(--sg2))}\n.lz-section[data-fill=radial]{background:radial-gradient(circle at 50% 50%,var(--sg1),var(--sg2))}\n.lz-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}\n.lz-bg::before{content:'';position:absolute;inset:0;background:var(--background)}\n.lz-parallax{position:absolute;inset:0;clip-path:inset(0)}\n.lz-parallax>.lz-bg{position:fixed}\n.lz-overlay{position:absolute;inset:0;background:rgb(0 0 0 / calc(var(--ov) * 100%))}\n.lz-frame{position:relative;height:calc(var(--fh) * var(--u))}\n.lz-section>.lz-frame{margin:0 auto;max-width:var(--max-width);container-type:inline-size;--u:calc(min(100cqw,var(--ref) * 1px) / var(--ref))}\n.lz-el{position:absolute;margin:0;display:block;overflow-wrap:break-word;left:calc(var(--x) * 1%);top:calc(var(--y) * var(--u));width:calc(var(--w) * 1%);height:calc(var(--h) * var(--u));z-index:var(--z);--_border:calc(var(--bw) * var(--u)) solid var(--bc,var(--text));--_fill:color-mix(in srgb,var(--bg) calc(var(--ba,1) * 100%),transparent);--_rot:rotate(calc(var(--rot) * 1deg));--_blur:blur(calc(var(--blur) * var(--u)));--_p:calc(var(--p) * var(--u));color:var(--c);background:var(--_fill);-webkit-backdrop-filter:var(--_blur);backdrop-filter:var(--_blur);font-family:var(--font-body);font-size:calc(var(--fs) * var(--u));font-weight:var(--fw);line-height:var(--lh);border:var(--_border,0);border-radius:calc(var(--r) * var(--u));padding:var(--_p,0);opacity:var(--op);transform:var(--_rot,) var(--_flip,) var(--_anim,)}\n.lz-el[data-font=heading]{font-family:var(--font-heading)}\n.lz-el[data-align=left]{text-align:left}\n.lz-el[data-align=center]{text-align:center}\n.lz-el[data-align=right]{text-align:right}\n.lz-el[data-fill=linear]{background:linear-gradient(calc(var(--ga,135) * 1deg),color-mix(in srgb,var(--g1) calc(var(--ba,1) * 100%),transparent),color-mix(in srgb,var(--g2) calc(var(--ba,1) * 100%),transparent))}\n.lz-el[data-fill=radial]{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--g1) calc(var(--ba,1) * 100%),transparent),color-mix(in srgb,var(--g2) calc(var(--ba,1) * 100%),transparent))}\n.lz-el[data-shadow=sm]{box-shadow:0 1px 2px rgba(15,23,42,.08)}\n.lz-el[data-shadow=md]{box-shadow:0 8px 24px rgba(15,23,42,.12)}\n.lz-el[data-shadow=lg]{box-shadow:0 24px 48px rgba(15,23,42,.18)}\n.lz-el[data-shadow=custom]{box-shadow:calc(var(--shx,0) * var(--u)) calc(var(--shy,12) * var(--u)) calc(var(--shb,32) * var(--u)) calc(var(--shs,0) * var(--u)) color-mix(in srgb,var(--shc,var(--secondary)) calc(var(--sha,.2) * 100%),transparent)}\n.lz-el[data-clip]:not([data-overflow]),.lz-el[data-overflow=hidden]{overflow:hidden}\n.lz-el[data-pin]{position:fixed;z-index:calc(var(--z) + 500);left:calc(50% - var(--ref) * var(--u) / 2 + var(--x) * var(--ref) * var(--u) / 100);top:calc(var(--y) * var(--u));width:calc(var(--w) * var(--ref) * var(--u) / 100)}\n.lz-el[data-overflow=scroll-x]{overflow-x:auto;overflow-y:hidden}\n.lz-el[data-overflow=scroll-y]{overflow-y:auto;overflow-x:hidden}\n.lz-el[data-flip-x],.lz-el[data-flip-y]{--_flip:scale(var(--_fx,1),var(--_fy,1))}\n.lz-el[data-flip-x]{--_fx:-1}\n.lz-el[data-flip-y]{--_fy:-1}\n@container lz not (max-width:640px){.lz-el[data-visible=mobile]{display:none}}\n.lz-accent{color:var(--ac)}\n@media (prefers-reduced-motion:no-preference){.lz-el[data-anim]{opacity:0;transition:opacity calc(var(--adur,.7) * 1s) ease calc(var(--ad,0) * 1s),transform calc(var(--adur,.7) * 1s) cubic-bezier(.22,.61,.36,1) calc(var(--ad,0) * 1s)}.lz-el[data-anim=up]{--_anim:translateY(28px)}.lz-el[data-anim=down]{--_anim:translateY(-28px)}.lz-el[data-anim=left]{--_anim:translateX(-32px)}.lz-el[data-anim=right]{--_anim:translateX(32px)}.lz-el[data-anim=zoom]{--_anim:scale(.94)}.lz-el[data-anim].is-in{opacity:var(--op,1);--_anim:initial}}\n@media (scripting:none){.lz-el[data-anim]{opacity:var(--op,1)!important;--_anim:initial!important}}\n.lz-el[data-hover]{transition:transform .25s ease,box-shadow .25s ease,opacity .25s ease}\n@media (hover:hover){.lz-el[data-hover=lift]:hover{transform:var(--_rot,) var(--_flip,) translateY(calc(-6 * var(--u)));box-shadow:0 18px 40px rgba(15,23,42,.18)}.lz-el[data-hover=grow]:hover{transform:var(--_rot,) var(--_flip,) scale(1.04)}.lz-el[data-hover=fade]:hover{opacity:.82}}\nimg.lz-el{object-fit:cover}\nimg.lz-el[data-fit=contain]{object-fit:contain}\na.lz-el,button.lz-el{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}\nbutton.lz-el{cursor:pointer;padding:var(--_p,1px 6px)}\n.lz-divider{border:var(--_border,none);border-top:var(--_border,1px solid currentColor)}\n.lz-video iframe{width:100%;height:100%;border:0;border-radius:inherit}\n.lz-el[data-shape=ellipse]{border-radius:50%}\n.lz-el[data-shape=triangle]{clip-path:polygon(50% 0,100% 100%,0 100%)}\n.lz-el[data-shape=blob]{border-radius:42% 58% 63% 37% / 43% 38% 62% 57%}\n.lz-el[data-shape=arch]{border-radius:50% 50% 0 0 / 65% 65% 0 0}\n.lz-el[data-shape=diagonal]{clip-path:polygon(0 0,100% 0,100% 72%,0 100%)}\n.lz-el[data-shape=dots]{background-image:radial-gradient(currentColor calc(1.6 * var(--u)),transparent calc(1.7 * var(--u)));background-size:calc(16 * var(--u)) calc(16 * var(--u))}\n.lz-el[data-shape=grid]{background-image:linear-gradient(currentColor calc(1 * var(--u)),transparent calc(1 * var(--u))),linear-gradient(90deg,currentColor calc(1 * var(--u)),transparent calc(1 * var(--u)));background-size:calc(24 * var(--u)) calc(24 * var(--u))}\n.lz-icon{display:grid;place-items:center}\n.lz-icon svg{width:100%;height:100%}\n.lz-navbar{display:flex;align-items:center;gap:calc(24 * var(--u))}\n.lz-navbar[data-sticky]{position:fixed;left:50%;translate:-50% 0;width:min(100%,var(--max-width));top:0;transition:background .25s ease,box-shadow .25s ease,height .25s ease,backdrop-filter .25s ease}\n.lz-navbar[data-scrolled]{box-shadow:0 8px 24px rgba(15,23,42,.1)}\n.lz-navbar[data-scrolled][data-scroll]{box-shadow:0 10px 30px rgba(15,23,42,.12)}\n.lz-navbar[data-scrolled]:is([data-scroll=solid],[data-scroll=compact]){background:var(--bg,var(--background));-webkit-backdrop-filter:none;backdrop-filter:none}\n.lz-navbar[data-scrolled][data-scroll=compact]{height:calc(var(--h) * .78 * var(--u))}\n.lz-navbar-brand{font-family:var(--font-heading);font-weight:700;font-size:1.15em;white-space:nowrap}\n.lz-navbar[data-template=pill]{border-radius:999px;padding:0 calc(26 * var(--u));background:var(--bg,var(--surface))}\n.lz-navbar[data-template=card]{border-radius:calc(var(--r,14) * var(--u));padding:0 calc(22 * var(--u));background:var(--bg,var(--background));box-shadow:0 10px 30px rgba(15,23,42,.1)}\n.lz-navbar[data-template=underline]{border-bottom:calc(1 * var(--u)) solid color-mix(in srgb,currentColor 18%,transparent)}\n.lz-navbar[data-template=underline] a{padding-bottom:calc(4 * var(--u));border-bottom:calc(2 * var(--u)) solid transparent}\n.lz-navbar[data-template=underline] a:hover{opacity:1;border-bottom-color:currentColor}\n.lz-navbar[data-template=divided] .lz-navbar-links{gap:0}\n.lz-navbar[data-template=divided] .lz-navbar-links a{padding:0 calc(18 * var(--u));border-left:calc(1 * var(--u)) solid color-mix(in srgb,currentColor 20%,transparent)}\n.lz-navbar[data-template=divided] .lz-navbar-links a:first-child{border-left:0}\n.lz-navbar-links{display:flex;align-items:center;gap:calc(22 * var(--u));margin-left:auto}\n.lz-navbar[data-layout=left] .lz-navbar-links,.lz-navbar[data-layout=center] .lz-navbar-links{margin-left:0}\n.lz-navbar[data-layout=center]{justify-content:center}\n.lz-navbar a{color:inherit;text-decoration:none;white-space:nowrap}\n.lz-navbar a:hover{opacity:.7}\n.lz-navbar-menu{display:none;position:relative;margin-left:auto}\n.lz-navbar-menu summary{list-style:none;cursor:pointer;font-size:1.5em;line-height:1}\n.lz-navbar-menu summary::-webkit-details-marker{display:none}\n.lz-navbar-drop{position:absolute;z-index:60;top:100%;right:0;display:grid;gap:12px;min-width:160px;margin-top:8px;padding:14px 16px;background:var(--surface);color:var(--text);border-radius:var(--radius);box-shadow:0 12px 32px rgba(15,23,42,.18)}\n.lz-field{display:flex;flex-direction:column;gap:4px;justify-content:center;text-align:left}\n.lz-field>span{font-size:.78em;opacity:.75}\n.lz-field>span i{font-style:normal;color:#dc2626;margin-left:2px}\n.lz-field input,.lz-field select,.lz-field textarea{font:inherit;color:inherit;width:100%;flex:1;min-height:0;background:transparent;border:0;padding:0;outline:none;resize:none}\n.lz-choices-list{display:flex;flex-wrap:wrap;gap:10px 18px;overflow:auto}\n.lz-choices-list label{display:inline-flex;align-items:center;gap:8px;cursor:pointer}\n.lz-choices-list input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--primary)}\n.lz-field-check{flex-direction:row;justify-content:flex-start;align-items:center;gap:10px}\n.lz-field-check input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--primary)}\n.lz-field-error{position:absolute;top:100%;left:0;margin-top:2px;font-size:12px;font-style:normal;color:#dc2626}\n.lz-stack-nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;padding:24px 20px 0;background:var(--background)}\n.lz-stack-nav button{font:inherit;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border:1px solid color-mix(in srgb,var(--muted) 35%,transparent);border-radius:999px;background:transparent;color:var(--muted);transition:background .2s ease,color .2s ease}\n.lz-stack-nav button[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:var(--background)}\n.lz-stack-nav i{font-style:normal;display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:color-mix(in srgb,currentColor 18%,transparent);font-size:.8em}\n.lz-stack-panel{display:none}\n.lz-stack-panel[data-on]{display:block}\n.lz-modal{border:none;border-radius:var(--radius);padding:0;max-width:calc(100% - 2rem);max-height:calc(100dvh - 3rem);color:var(--text);font-family:var(--font-body);overflow:auto;width:min(calc(var(--dw) * 1px),calc(100vw - 2rem));--u:calc(min(100vw - 2rem,var(--dw) * 1px) / var(--dw));background:var(--dbg,var(--background))}\n.lz-modal[data-size=full]{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;--u:calc(min(100vw,var(--dw) * 1px) / var(--dw))}\n.lz-modal::backdrop{background:rgba(15,23,42,.5)}\n.lz-modal .lz-frame{overflow:hidden}\n.lz-modal-bar{display:flex;align-items:center;gap:calc(12 * var(--u));padding:calc(8 * var(--u)) calc(10 * var(--u)) calc(8 * var(--u)) calc(18 * var(--u))}\n.lz-modal-title{margin:0;font-family:var(--font-heading);font-size:calc(20 * var(--u));font-weight:700}\n.lz-modal-close{margin-left:auto;width:calc(34 * var(--u));height:calc(34 * var(--u));display:grid;place-items:center;font:inherit;font-size:calc(20 * var(--u));line-height:1;color:var(--text);background:var(--surface);border:0;border-radius:999px;cursor:pointer}\n.lz-modal-close:hover{opacity:.8}\n.lz-placeholder{display:grid;place-items:center;padding:8px;border:1px dashed currentColor;font:12px/1.3 system-ui,sans-serif;opacity:.6}\n@container lz (max-width:640px){.lz-section>.lz-frame{--u:calc(min(100cqw,390px) / 390)}.lz-frame{height:calc(var(--fmh) * var(--u))}.lz-frame[data-stack]{height:auto;padding:32px 20px;display:flex;flex-direction:column;gap:20px}.lz-frame:not([data-stack]) .lz-el{position:absolute;left:calc(var(--mx) * 1%);top:calc(var(--my) * var(--u));width:calc(var(--mw) * 1%);height:calc(var(--mh) * var(--u))}.lz-frame[data-stack] .lz-el{position:static;width:auto;height:auto;order:var(--ord)}.lz-el[data-visible=desktop]{display:none}.lz-parallax>.lz-bg{position:absolute}.lz-navbar-links{display:none}.lz-navbar-menu{display:block}.lz-el{max-width:100%;min-width:0}img.lz-el{height:auto}.lz-icon{width:max-content}.lz-icon svg{width:calc(36 * var(--u));height:calc(36 * var(--u))}}\n", On = "\nhtml,body{margin:0}\nbody{overflow:hidden}\n.lz-el{cursor:default;user-select:none;-webkit-user-select:none}\n.lz-el[contenteditable]{cursor:text;user-select:text;-webkit-user-select:text;outline:none}\n.lz-el iframe,.lz-el input,.lz-el select,.lz-el textarea,.lz-el summary,.lz-el a,.lz-el button{pointer-events:none}\n.lz-navbar[data-sticky]{position:absolute;translate:none;left:calc(var(--x) * 1%);top:calc(var(--y) * var(--u));width:calc(var(--w) * 1%)}\n@container lz (max-width:640px){\n.lz-frame:not([data-stack]) .lz-navbar[data-sticky]{left:calc(var(--mx) * 1%);top:calc(var(--my) * var(--u));width:calc(var(--mw) * 1%)}\n.lz-frame[data-stack] .lz-navbar[data-sticky]{position:static;width:auto}\n}\n.lz-parallax>.lz-bg{position:absolute}\n.lz-stack-nav button{cursor:pointer}\nimg.lz-el[src=\"\"]::before,.lz-video:empty::before{position:absolute;inset:0;display:grid;place-items:center;padding:8px;text-align:center;border:1px dashed #94a3b8;border-radius:inherit;background:#f8fafc;color:#64748b;font:12px/1.3 system-ui,sans-serif}\nimg.lz-el[src=\"\"]::before{content:var(--lze-empty-image)}\n.lz-frame[data-stack] img.lz-el[src=\"\"]{position:relative;min-height:120px}\n.lz-video:empty::before{content:var(--lze-empty-video)}\n.lze-app-placeholder{display:grid;place-items:center;height:100%;padding:8px;text-align:center;border:1px dashed #94a3b8;border-radius:inherit;background:#f8fafc;color:#64748b;font:12px/1.3 system-ui,sans-serif}\n.lze-app-placeholder[data-status=loading]{animation:lze-pulse 1.2s ease-in-out infinite}\n@keyframes lze-pulse{50%{opacity:.55}}\nbody[data-lze-modal] .lz-section,body[data-lze-modal] .lz-stack,body[data-lze-modal] .lz-notice{display:none}\nbody[data-lze-modal] dialog.lz-modal[data-lze-open]{display:block;position:static;margin:16px auto;max-height:none;overflow:visible;box-shadow:0 12px 40px rgba(15,23,42,.18)}\nbody[data-lze-modal] dialog.lz-modal[data-lze-open][data-size=full]{margin:0}\n";
3425
3579
  //#endregion
3426
3580
  //#region src/canvas/render.ts
3427
3581
  function kn(e) {
@@ -3441,9 +3595,9 @@ function kn(e) {
3441
3595
  async function An(e, t, n) {
3442
3596
  let r;
3443
3597
  try {
3444
- r = re(e, t.catalog);
3598
+ r = ie(e, t.catalog);
3445
3599
  } catch (e) {
3446
- if (e instanceof I) return {
3600
+ if (e instanceof F) return {
3447
3601
  ok: !1,
3448
3602
  issues: e.issues
3449
3603
  };
@@ -3451,7 +3605,7 @@ async function An(e, t, n) {
3451
3605
  }
3452
3606
  return {
3453
3607
  ok: !0,
3454
- page: await L({
3608
+ page: await oe({
3455
3609
  document: r,
3456
3610
  catalog: t.catalog,
3457
3611
  site: t.site,
@@ -3475,7 +3629,7 @@ async function An(e, t, n) {
3475
3629
  action: () => "#",
3476
3630
  appElement: (e) => {
3477
3631
  let n = t.preview(e);
3478
- return n.status === "ready" ? ae(n.html) : ae(`<div class="lze-app-placeholder" data-status="${n.status}">${Mn(n.status === "loading" ? t.labels.loading : t.labels.failed)}</div>`);
3632
+ return n.status === "ready" ? I(n.html) : I(`<div class="lze-app-placeholder" data-status="${n.status}">${Mn(n.status === "loading" ? t.labels.loading : t.labels.failed)}</div>`);
3479
3633
  },
3480
3634
  form: null
3481
3635
  }
@@ -3622,11 +3776,147 @@ function Nn(e) {
3622
3776
  contentHeight: () => n.documentElement.scrollHeight
3623
3777
  };
3624
3778
  }
3625
- var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], In = ["data-locked"], Ln = [
3779
+ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = { class: "lze-context-label" }, In = { class: "lze-context-row" }, Ln = [
3780
+ "title",
3781
+ "aria-label",
3782
+ "onClick"
3783
+ ], Rn = ["data-align"], zn = /* @__PURE__ */ c({
3784
+ __name: "ContextMenu",
3785
+ props: { at: {} },
3786
+ emits: ["close"],
3787
+ setup(n, { emit: s }) {
3788
+ let c = n, l = s, u = G(), d = u.t, f = b(), v = b({ ...c.at }), y = t(() => u.selectedElements.value), S = t(() => y.value.length > 1), C = t(() => y.value.some((e) => e.group)), w = t(() => y.value.some((e) => e.locked));
3789
+ function E(e) {
3790
+ e(), l("close");
3791
+ }
3792
+ async function O() {
3793
+ await p();
3794
+ let e = f.value?.getBoundingClientRect();
3795
+ e && (v.value = {
3796
+ x: Math.min(c.at.x, window.innerWidth - e.width - 8),
3797
+ y: Math.min(c.at.y, window.innerHeight - e.height - 8)
3798
+ });
3799
+ }
3800
+ M(() => c.at, O, { immediate: !0 });
3801
+ function k(e) {
3802
+ f.value?.contains(e.target) || l("close");
3803
+ }
3804
+ let ee = (e) => e.key === "Escape" && l("close");
3805
+ return g(() => {
3806
+ window.addEventListener("pointerdown", k, !0), window.addEventListener("keydown", ee), window.addEventListener("resize", () => l("close")), f.value?.focus();
3807
+ }), h(() => {
3808
+ window.removeEventListener("pointerdown", k, !0), window.removeEventListener("keydown", ee);
3809
+ }), (t, n) => (_(), i("div", {
3810
+ ref_key: "menu",
3811
+ ref: f,
3812
+ class: "lze-context",
3813
+ role: "menu",
3814
+ tabindex: "-1",
3815
+ style: m({
3816
+ left: `${v.value.x}px`,
3817
+ top: `${v.value.y}px`
3818
+ }),
3819
+ onContextmenu: n[14] ||= P(() => {}, ["prevent"])
3820
+ }, [y.value.length ? (_(), i(e, { key: 0 }, [
3821
+ a("button", {
3822
+ type: "button",
3823
+ role: "menuitem",
3824
+ onClick: n[0] ||= (e) => E(D(u).copySelected)
3825
+ }, [o(T(D(d)("menu.copy")), 1), n[15] ||= a("kbd", null, "⌘C", -1)]),
3826
+ a("button", {
3827
+ type: "button",
3828
+ role: "menuitem",
3829
+ onClick: n[1] ||= (e) => E(D(u).duplicateSelected)
3830
+ }, [o(T(D(d)("common.duplicate")), 1), n[16] ||= a("kbd", null, "⌘D", -1)]),
3831
+ a("button", {
3832
+ type: "button",
3833
+ role: "menuitem",
3834
+ onClick: n[2] ||= (e) => E(D(u).paste)
3835
+ }, [o(T(D(d)("menu.paste")), 1), n[17] ||= a("kbd", null, "⌘V", -1)]),
3836
+ n[21] ||= a("hr", null, null, -1),
3837
+ a("button", {
3838
+ type: "button",
3839
+ role: "menuitem",
3840
+ onClick: n[3] ||= (e) => E(() => D(u).layer("front"))
3841
+ }, T(D(d)("canvas.front")), 1),
3842
+ a("button", {
3843
+ type: "button",
3844
+ role: "menuitem",
3845
+ onClick: n[4] ||= (e) => E(() => D(u).layer("back"))
3846
+ }, T(D(d)("canvas.back")), 1),
3847
+ n[22] ||= a("hr", null, null, -1),
3848
+ S.value ? (_(), i("button", {
3849
+ key: 0,
3850
+ type: "button",
3851
+ role: "menuitem",
3852
+ onClick: n[5] ||= (e) => E(D(u).groupSelected)
3853
+ }, [o(T(D(d)("multi.group")), 1), n[18] ||= a("kbd", null, "⌘G", -1)])) : r("", !0),
3854
+ C.value ? (_(), i("button", {
3855
+ key: 1,
3856
+ type: "button",
3857
+ role: "menuitem",
3858
+ onClick: n[6] ||= (e) => E(D(u).ungroupSelected)
3859
+ }, T(D(d)("multi.ungroup")), 1)) : r("", !0),
3860
+ a("button", {
3861
+ type: "button",
3862
+ role: "menuitem",
3863
+ onClick: n[7] ||= (e) => E(D(u).toggleLock)
3864
+ }, T(w.value ? D(d)("menu.unlock") : D(d)("menu.lock")), 1),
3865
+ S.value ? (_(), i(e, { key: 2 }, [
3866
+ n[19] ||= a("hr", null, null, -1),
3867
+ a("p", Fn, T(D(d)("multi.align")), 1),
3868
+ a("div", In, [(_(!0), i(e, null, x(D(mt), (e) => (_(), i("button", {
3869
+ key: e,
3870
+ type: "button",
3871
+ role: "menuitem",
3872
+ title: D(d)(`align.${e}`),
3873
+ "aria-label": D(d)(`align.${e}`),
3874
+ onClick: (t) => E(() => D(u).align(e))
3875
+ }, [a("span", {
3876
+ class: "lze-context-align",
3877
+ "data-align": e,
3878
+ "aria-hidden": "true"
3879
+ }, null, 8, Rn)], 8, Ln))), 128))]),
3880
+ y.value.length > 2 ? (_(), i(e, { key: 0 }, [a("button", {
3881
+ type: "button",
3882
+ role: "menuitem",
3883
+ onClick: n[8] ||= (e) => E(() => D(u).distributeSelected("x"))
3884
+ }, T(D(d)("multi.distributeX")), 1), a("button", {
3885
+ type: "button",
3886
+ role: "menuitem",
3887
+ onClick: n[9] ||= (e) => E(() => D(u).distributeSelected("y"))
3888
+ }, T(D(d)("multi.distributeY")), 1)], 64)) : r("", !0)
3889
+ ], 64)) : r("", !0),
3890
+ n[23] ||= a("hr", null, null, -1),
3891
+ a("button", {
3892
+ type: "button",
3893
+ role: "menuitem",
3894
+ class: "lze-context-danger",
3895
+ onClick: n[10] ||= (e) => E(D(u).removeSelected)
3896
+ }, [o(T(D(d)("common.delete")), 1), n[20] ||= a("kbd", null, "⌫", -1)])
3897
+ ], 64)) : (_(), i(e, { key: 1 }, [
3898
+ a("button", {
3899
+ type: "button",
3900
+ role: "menuitem",
3901
+ onClick: n[11] ||= (e) => E(D(u).paste)
3902
+ }, [o(T(D(d)("menu.paste")), 1), n[24] ||= a("kbd", null, "⌘V", -1)]),
3903
+ a("button", {
3904
+ type: "button",
3905
+ role: "menuitem",
3906
+ onClick: n[12] ||= (e) => E(() => D(u).state.zoom = null)
3907
+ }, T(D(d)("zoom.fit")), 1),
3908
+ a("button", {
3909
+ type: "button",
3910
+ role: "menuitem",
3911
+ onClick: n[13] ||= (e) => E(() => D(u).state.zoom = 1)
3912
+ }, T(D(d)("zoom.actual")), 1)
3913
+ ], 64))], 36));
3914
+ }
3915
+ }), Bn = ["onClick"], Vn = ["data-locked"], Hn = [
3626
3916
  "data-handle",
3627
3917
  "aria-label",
3628
3918
  "onPointerdown"
3629
- ], Rn = ["title", "aria-label"], zn = ["title", "aria-label"], Bn = ["aria-label", "data-below"], Vn = ["title", "aria-label"], Hn = ["title", "aria-label"], Un = ["title", "aria-label"], Wn = ["title", "aria-label"], Gn = /* @__PURE__ */ c({
3919
+ ], Un = ["title", "aria-label"], Wn = ["title", "aria-label"], Gn = ["aria-label", "data-below"], Kn = ["title", "aria-label"], qn = ["title", "aria-label"], Jn = ["title", "aria-label"], Yn = ["title", "aria-label"], Xn = /* @__PURE__ */ c({
3630
3920
  __name: "Overlay",
3631
3921
  props: {
3632
3922
  layout: {},
@@ -3716,9 +4006,9 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3716
4006
  }, [a("span", null, T(D(f)("canvas.stacked")), 1), a("button", {
3717
4007
  type: "button",
3718
4008
  class: "lze-btn",
3719
- onPointerdown: c[0] ||= F(() => {}, ["stop"]),
4009
+ onPointerdown: c[0] ||= P(() => {}, ["stop"]),
3720
4010
  onClick: (t) => u("generateMobile", e.id)
3721
- }, T(D(f)("section.generateMobile")), 41, Fn)], 4))), 128)),
4011
+ }, T(D(f)("section.generateMobile")), 41, Bn)], 4))), 128)),
3722
4012
  o.guides && S.value ? (_(), i(e, { key: 2 }, [(_(!0), i(e, null, x(o.guides.lines.x, (e) => (_(), i("div", {
3723
4013
  key: `x${e}`,
3724
4014
  class: "lze-guide",
@@ -3746,12 +4036,12 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3746
4036
  ...E(e.rect),
3747
4037
  transform: e.rotate ? `rotate(${e.rotate}deg)` : void 0
3748
4038
  })
3749
- }, [e.element.locked ? (_(), n(D(Ae), {
4039
+ }, [e.element.locked ? (_(), n(D(je), {
3750
4040
  key: 0,
3751
4041
  class: "lze-lock",
3752
4042
  size: 12,
3753
4043
  "aria-hidden": "true"
3754
- })) : r("", !0)], 12, In))), 128)),
4044
+ })) : r("", !0)], 12, Vn))), 128)),
3755
4045
  g.value ? (_(), i("div", {
3756
4046
  key: 3,
3757
4047
  class: "lze-handles",
@@ -3767,26 +4057,26 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3767
4057
  "data-handle": e,
3768
4058
  "aria-label": D(f)("canvas.resize", { handle: e }),
3769
4059
  tabindex: "-1",
3770
- onPointerdown: F((t) => u("resize", t, e), ["stop", "prevent"])
3771
- }, null, 40, Ln))), 128)),
4060
+ onPointerdown: P((t) => u("resize", t, e), ["stop", "prevent"])
4061
+ }, null, 40, Hn))), 128)),
3772
4062
  g.value.element.type === "divider" ? r("", !0) : (_(), i("button", {
3773
4063
  key: 0,
3774
4064
  type: "button",
3775
4065
  class: "lze-radius",
3776
4066
  title: D(f)("canvas.radius", { n: g.value.element.style.radius ?? 0 }),
3777
4067
  "aria-label": D(f)("canvas.radius", { n: g.value.element.style.radius ?? 0 }),
3778
- onPointerdown: c[1] ||= F((e) => u("radius", e), ["stop", "prevent"])
3779
- }, null, 40, Rn)),
4068
+ onPointerdown: c[1] ||= P((e) => u("radius", e), ["stop", "prevent"])
4069
+ }, null, 40, Un)),
3780
4070
  a("button", {
3781
4071
  type: "button",
3782
4072
  class: "lze-rotate",
3783
4073
  title: D(f)("canvas.rotate", { n: g.value.element.style.rotate ?? 0 }),
3784
4074
  "aria-label": D(f)("canvas.rotate", { n: g.value.element.style.rotate ?? 0 }),
3785
- onPointerdown: c[2] ||= F((e) => u("rotate", e), ["stop", "prevent"])
4075
+ onPointerdown: c[2] ||= P((e) => u("rotate", e), ["stop", "prevent"])
3786
4076
  }, [s(D(He), {
3787
4077
  size: 13,
3788
4078
  "aria-hidden": "true"
3789
- })], 40, zn)
4079
+ })], 40, Wn)
3790
4080
  ], 4)) : r("", !0),
3791
4081
  v.value && o.live.size === 0 ? (_(), i("div", {
3792
4082
  key: 4,
@@ -3798,7 +4088,7 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3798
4088
  left: `${v.value.rect.x}px`,
3799
4089
  top: `${v.value.rect.y < 56 / o.scale ? v.value.rect.y + v.value.rect.h : v.value.rect.y}px`
3800
4090
  }),
3801
- onPointerdown: c[7] ||= F(() => {}, ["stop"])
4091
+ onPointerdown: c[7] ||= P(() => {}, ["stop"])
3802
4092
  }, [
3803
4093
  a("button", {
3804
4094
  type: "button",
@@ -3806,30 +4096,30 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3806
4096
  title: D(f)("common.duplicate"),
3807
4097
  "aria-label": D(f)("common.duplicate"),
3808
4098
  onClick: c[3] ||= (e) => D(d).duplicateSelected()
3809
- }, [s(D(xe), {
4099
+ }, [s(D(Se), {
3810
4100
  size: 16,
3811
4101
  "aria-hidden": "true"
3812
- })], 8, Vn),
4102
+ })], 8, Kn),
3813
4103
  a("button", {
3814
4104
  type: "button",
3815
4105
  class: "lze-icon-btn",
3816
4106
  title: D(f)("canvas.front"),
3817
4107
  "aria-label": D(f)("canvas.front"),
3818
4108
  onClick: c[4] ||= (e) => D(d).layer("front")
3819
- }, [s(D(_e), {
4109
+ }, [s(D(ve), {
3820
4110
  size: 16,
3821
4111
  "aria-hidden": "true"
3822
- })], 8, Hn),
4112
+ })], 8, qn),
3823
4113
  a("button", {
3824
4114
  type: "button",
3825
4115
  class: "lze-icon-btn",
3826
4116
  title: D(f)("canvas.back"),
3827
4117
  "aria-label": D(f)("canvas.back"),
3828
4118
  onClick: c[5] ||= (e) => D(d).layer("back")
3829
- }, [s(D(ge), {
4119
+ }, [s(D(_e), {
3830
4120
  size: 16,
3831
4121
  "aria-hidden": "true"
3832
- })], 8, Un),
4122
+ })], 8, Jn),
3833
4123
  c[8] ||= a("span", {
3834
4124
  class: "lze-divider",
3835
4125
  "aria-hidden": "true"
@@ -3844,88 +4134,159 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3844
4134
  }, [s(D(Je), {
3845
4135
  size: 16,
3846
4136
  "aria-hidden": "true"
3847
- })], 8, Wn)
3848
- ], 44, Bn)) : r("", !0)
4137
+ })], 8, Yn)
4138
+ ], 44, Gn)) : r("", !0)
3849
4139
  ], 4));
3850
4140
  }
3851
- }), Kn = {
4141
+ }), Zn = ["data-space"], Qn = {
3852
4142
  key: 0,
3853
4143
  class: "lze-render-issue",
3854
4144
  role: "alert"
3855
- }, qn = {
4145
+ }, $n = {
3856
4146
  key: 1,
3857
4147
  class: "lze-modal-banner"
3858
- }, Jn = ["data-device", "aria-label"], Yn = ["title"], Xn = {
4148
+ }, er = ["data-device", "aria-label"], tr = ["title"], nr = {
3859
4149
  key: 2,
3860
4150
  class: "lze-empty-hint"
3861
- }, Zn = {
4151
+ }, rr = {
3862
4152
  key: 3,
3863
4153
  class: "lze-hint-bubble",
3864
4154
  "aria-live": "polite"
3865
- }, Qn = /* @__PURE__ */ c({
4155
+ }, ir = ["aria-label"], ar = ["title", "aria-label"], or = ["title"], sr = ["title", "aria-label"], cr = ["title", "aria-label"], lr = .1, ur = 4, dr = /* @__PURE__ */ c({
3866
4156
  __name: "Canvas",
3867
- setup(e, { expose: n }) {
3868
- let o = G(), c = o.t, l = b(), u = b(), d = b(), f = b(0), v = b(320), y = w({
4157
+ setup(e, { expose: o }) {
4158
+ let c = G(), l = c.t, u = b(), d = b(), f = b(), v = b(), y = b(0), x = b(320), S = w({
3869
4159
  canvases: /* @__PURE__ */ new Map(),
3870
4160
  elements: /* @__PURE__ */ new Map()
3871
- }), x = b(null), S = w(null), C = w(/* @__PURE__ */ new Map()), O = w(null), k = b(null), A = null, j = t(() => H((f.value - 48) / o.frameWidth.value, .1, 1)), ee = t(() => new Set(o.state.device === "mobile" ? o.canvases.value.filter(ct).map((e) => e.id) : [])), te = t(() => o.canvases.value.every((e) => e.elements.length === 0)), N = 0, P = !1, ne = !1;
3872
- function I() {
3873
- N ||= requestAnimationFrame(() => {
3874
- N = 0, re();
4161
+ }), C = b(null), O = w(null), k = w(/* @__PURE__ */ new Map()), ee = w(null), A = b(null), j = null, te = t(() => H((y.value - 48) / c.frameWidth.value, lr, 1)), N = t(() => c.state.zoom ?? te.value), ne = t(() => Math.round(N.value * 100));
4162
+ async function re(e, t) {
4163
+ let n = u.value, r = d.value, i = H(e, lr, ur);
4164
+ if (!n || !r) {
4165
+ c.state.zoom = i;
4166
+ return;
4167
+ }
4168
+ let a = n.getBoundingClientRect(), o = t ?? {
4169
+ x: a.left + a.width / 2,
4170
+ y: a.top + a.height / 2
4171
+ }, s = r.getBoundingClientRect(), l = (o.x - s.left) / N.value, f = (o.y - s.top) / N.value;
4172
+ c.state.zoom = i, await p();
4173
+ let m = r.getBoundingClientRect();
4174
+ n.scrollLeft += m.left + l * i - o.x, n.scrollTop += m.top + f * i - o.y;
4175
+ }
4176
+ let F = (e, t) => re(N.value * e, t), ie = () => c.state.zoom = null;
4177
+ function ae(e) {
4178
+ (e.ctrlKey || e.metaKey) && (e.preventDefault(), F(Math.exp(-e.deltaY / 400), {
4179
+ x: e.clientX,
4180
+ y: e.clientY
4181
+ }));
4182
+ }
4183
+ function oe(e) {
4184
+ let t = v.value?.getBoundingClientRect();
4185
+ (e.ctrlKey || e.metaKey) && t && (e.preventDefault(), F(Math.exp(-e.deltaY / 400), {
4186
+ x: t.left + e.clientX * N.value,
4187
+ y: t.top + e.clientY * N.value
4188
+ }));
4189
+ }
4190
+ let I = b(!1), se = b(!1), L = null;
4191
+ function ce(e, t = 1) {
4192
+ let n = u.value;
4193
+ return !n || !I.value && e.button !== 1 ? !1 : (e.preventDefault(), L = {
4194
+ pointer: e.pointerId,
4195
+ x: e.clientX * t,
4196
+ y: e.clientY * t,
4197
+ left: n.scrollLeft,
4198
+ top: n.scrollTop,
4199
+ factor: t
4200
+ }, se.value = !0, e.currentTarget?.setPointerCapture?.(e.pointerId), !0);
4201
+ }
4202
+ function le(e) {
4203
+ let t = u.value;
4204
+ L && t && L.pointer === e.pointerId && (t.scrollLeft = L.left - (e.clientX * L.factor - L.x), t.scrollTop = L.top - (e.clientY * L.factor - L.y));
4205
+ }
4206
+ function ue(e) {
4207
+ L && L.pointer === e.pointerId && (L = null, se.value = !1);
4208
+ }
4209
+ function de(e) {
4210
+ if (e.code === "Space" && !I.value) {
4211
+ if (e.target?.closest("input, textarea, select, [contenteditable=\"true\"]")) return;
4212
+ I.value = !0, e.preventDefault();
4213
+ }
4214
+ }
4215
+ let fe = (e) => {
4216
+ e.code === "Space" && (I.value = !1);
4217
+ }, pe = () => {
4218
+ I.value = !1;
4219
+ };
4220
+ function me(e) {
4221
+ he(e) || de(e);
4222
+ }
4223
+ function he(e) {
4224
+ if (!e.ctrlKey && !e.metaKey) return !1;
4225
+ if (e.key === "+" || e.key === "=") F(1.25);
4226
+ else if (e.key === "-") F(.8);
4227
+ else if (e.key === "0") ie();
4228
+ else if (e.key === "1") re(1);
4229
+ else return !1;
4230
+ return e.preventDefault(), !0;
4231
+ }
4232
+ let ge = t(() => new Set(c.state.device === "mobile" ? c.canvases.value.filter(ct).map((e) => e.id) : [])), _e = t(() => c.canvases.value.every((e) => e.elements.length === 0)), ve = 0, ye = !1, be = !1;
4233
+ function xe() {
4234
+ ve ||= requestAnimationFrame(() => {
4235
+ ve = 0, Se();
3875
4236
  });
3876
4237
  }
3877
- async function re() {
3878
- if (!A || P || R || L) {
3879
- ne = !0;
4238
+ async function Se() {
4239
+ if (!j || ye || R || we) {
4240
+ be = !0;
3880
4241
  return;
3881
4242
  }
3882
- P = !0;
4243
+ ye = !0;
3883
4244
  try {
3884
- let e = E(o.state.draft), t = await An(e, kn(o), "edit");
4245
+ let e = E(c.state.draft), t = await An(e, kn(c), "edit");
3885
4246
  if (!t.ok) {
3886
- o.state.renderIssues = t.issues;
4247
+ c.state.renderIssues = t.issues;
3887
4248
  return;
3888
4249
  }
3889
- o.state.renderIssues = [], A.update(t.page.body, t.page.css, e, {
3890
- modal: o.state.view.kind === "modal" ? o.state.view.id : null,
3891
- panels: o.state.panels,
3892
- fontsHref: Vt([o.theme.value.heading_font, o.theme.value.body_font]),
3893
- emptyImage: c("canvas.emptyImage"),
3894
- emptyVideo: c("canvas.emptyVideo")
3895
- }), ie();
4250
+ c.state.renderIssues = [], j.update(t.page.body, t.page.css, e, {
4251
+ modal: c.state.view.kind === "modal" ? c.state.view.id : null,
4252
+ panels: c.state.panels,
4253
+ fontsHref: Vt([c.theme.value.heading_font, c.theme.value.body_font]),
4254
+ emptyImage: l("canvas.emptyImage"),
4255
+ emptyVideo: l("canvas.emptyVideo")
4256
+ }), Ce();
3896
4257
  } finally {
3897
- P = !1, ne && (ne = !1, I());
4258
+ ye = !1, be && (be = !1, xe());
3898
4259
  }
3899
4260
  }
3900
- function ie() {
3901
- A && (v.value = A.contentHeight(), y.value = A.measure(o.state.draft, o.state.device));
3902
- }
3903
- M(() => o.state.draft, I, { deep: !0 }), M([
3904
- o.site,
3905
- () => o.state.workspace.assets,
3906
- o.previews.version,
3907
- () => o.state.view,
3908
- () => o.state.panels
3909
- ], I), M([() => o.state.device, () => o.frameWidth.value], () => p(ie));
3910
- let L = null, ae = null;
3911
- function oe(e, t) {
4261
+ function Ce() {
4262
+ j && (x.value = j.contentHeight(), S.value = j.measure(c.state.draft, c.state.device));
4263
+ }
4264
+ M(() => c.state.draft, xe, { deep: !0 }), M([
4265
+ c.site,
4266
+ () => c.state.workspace.assets,
4267
+ c.previews.version,
4268
+ () => c.state.view,
4269
+ () => c.state.panels
4270
+ ], xe), M([() => c.state.device, () => c.frameWidth.value], () => p(Ce));
4271
+ let we = null, Te = null;
4272
+ function Ee(e, t) {
3912
4273
  e.setPointerCapture(t.pointerId);
3913
- let n = (e) => ce(e), r = () => le(), i = [
4274
+ let n = (e) => Oe(e), r = () => ke(), i = [
3914
4275
  "pointerup",
3915
4276
  "pointercancel",
3916
4277
  "lostpointercapture"
3917
4278
  ];
3918
- e.addEventListener("pointermove", n), i.forEach((t) => e.addEventListener(t, r)), ae = () => {
4279
+ e.addEventListener("pointermove", n), i.forEach((t) => e.addEventListener(t, r)), Te = () => {
3919
4280
  e.removeEventListener("pointermove", n), i.forEach((t) => e.removeEventListener(t, r));
3920
4281
  };
3921
4282
  }
3922
- function se(e, t, n, r) {
3923
- let i = o.state.selection;
3924
- if (i.kind !== "elements" || ee.value.has(i.canvas)) return;
3925
- let a = z(o.state.draft, i.canvas), s = y.value.canvases.get(i.canvas), c = o.state.device, l = o.activeElement.value;
3926
- if (!a || !s || !l || l.locked || o.kindOf(l).kind === "opaque") return;
3927
- let u = n ? [l] : o.selectedElements.value.filter((e) => !e.locked), d = new Set(u.map((e) => e.id));
3928
- L = {
4283
+ function De(e, t, n, r) {
4284
+ let i = c.state.selection;
4285
+ if (i.kind !== "elements" || ge.value.has(i.canvas)) return;
4286
+ let a = z(c.state.draft, i.canvas), o = S.value.canvases.get(i.canvas), s = c.state.device, l = c.activeElement.value;
4287
+ if (!a || !o || !l || l.locked || c.kindOf(l).kind === "opaque") return;
4288
+ let u = n ? [l] : c.selectedElements.value.filter((e) => !e.locked), d = new Set(u.map((e) => e.id));
4289
+ we = {
3929
4290
  kind: "box",
3930
4291
  handle: n,
3931
4292
  canvas: a.id,
@@ -3934,43 +4295,43 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3934
4295
  y: e.clientY
3935
4296
  },
3936
4297
  factor: r,
3937
- metrics: s,
3938
- anchors: _t(a.elements.filter((e) => !d.has(e.id)).map((e) => at(e, c)), s.frame.w, st(a, c)),
4298
+ metrics: o,
4299
+ anchors: _t(a.elements.filter((e) => !d.has(e.id)).map((e) => at(e, s)), o.frame.w, st(a, s)),
3939
4300
  target: {
3940
4301
  id: l.id,
3941
- start: { ...at(l, c) }
4302
+ start: { ...at(l, s) }
3942
4303
  },
3943
4304
  others: u.filter((e) => e.id !== l.id).map((e) => ({
3944
4305
  id: e.id,
3945
- start: { ...at(e, c) }
4306
+ start: { ...at(e, s) }
3946
4307
  })),
3947
4308
  boxes: /* @__PURE__ */ new Map()
3948
- }, oe(t, e);
4309
+ }, Ee(t, e);
3949
4310
  }
3950
- function ce(e) {
3951
- let t = L;
3952
- if (!t || !A) return;
4311
+ function Oe(e) {
4312
+ let t = we;
4313
+ if (!t || !j) return;
3953
4314
  if (t.kind === "rotate") {
3954
- let n = t.from + (de(t.center, e) - t.startAngle);
3955
- t.value = H(e.shiftKey ? Math.round(n / 15) * 15 : Math.round(n), -180, 180), A.previewVar(t.id, "--rot", t.value), O.value = {
4315
+ let n = t.from + (je(t.center, e) - t.startAngle);
4316
+ t.value = H(e.shiftKey ? Math.round(n / 15) * 15 : Math.round(n), -180, 180), j.previewVar(t.id, "--rot", t.value), ee.value = {
3956
4317
  id: t.id,
3957
4318
  value: t.value
3958
- }, k.value = `${t.value}°`;
4319
+ }, A.value = `${t.value}°`;
3959
4320
  return;
3960
4321
  }
3961
4322
  if (t.kind === "radius") {
3962
4323
  let n = (e.clientX - t.origin) * t.factor / t.unit;
3963
- t.value = Math.round(H(t.from + n, 0, 200)), A.previewVar(t.id, "--r", t.value), k.value = c("canvas.corners", { n: t.value });
4324
+ t.value = Math.round(H(t.from + n, 0, 200)), j.previewVar(t.id, "--r", t.value), A.value = l("canvas.corners", { n: t.value });
3964
4325
  return;
3965
4326
  }
3966
- let { metrics: n, handle: r, target: i } = t, a = (e.clientX - t.origin.x) * t.factor, s = (e.clientY - t.origin.y) * t.factor / n.unit, l = gt(i.start, {
4327
+ let { metrics: n, handle: r, target: i } = t, a = (e.clientX - t.origin.x) * t.factor, o = (e.clientY - t.origin.y) * t.factor / n.unit, s = gt(i.start, {
3967
4328
  x: a,
3968
- y: s
4329
+ y: o
3969
4330
  }, r, n.frame.w), u = {
3970
- x: 6 / j.value,
3971
- y: 6 / (j.value * n.unit)
3972
- }, d = yt(l, t.anchors, n.frame.w, u, r), f = o.state.device, p = /* @__PURE__ */ new Map(), m = (e, r) => {
3973
- t.boxes.set(e, r), A?.preview(e, f, r), p.set(e, {
4331
+ x: 6 / N.value,
4332
+ y: 6 / (N.value * n.unit)
4333
+ }, d = yt(s, t.anchors, n.frame.w, u, r), f = c.state.device, p = /* @__PURE__ */ new Map(), m = (e, r) => {
4334
+ t.boxes.set(e, r), j?.preview(e, f, r), p.set(e, {
3974
4335
  x: n.frame.x + r.x / 100 * n.frame.w,
3975
4336
  y: n.frame.y + r.y * n.unit,
3976
4337
  w: r.w / 100 * n.frame.w,
@@ -3983,195 +4344,220 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
3983
4344
  x: e.start.x + d.box.x - i.start.x,
3984
4345
  y: e.start.y + d.box.y - i.start.y
3985
4346
  }));
3986
- C.value = p, S.value = d.guides.x.length || d.guides.y.length ? {
4347
+ k.value = p, O.value = d.guides.x.length || d.guides.y.length ? {
3987
4348
  canvas: t.canvas,
3988
4349
  lines: d.guides
3989
- } : null, k.value = r ? `${Math.round(d.box.w * n.frame.w / 100)} × ${Math.round(d.box.h)} px` : `x ${d.box.x.toFixed(1)}% · y ${Math.round(d.box.y)} px`;
4350
+ } : null, A.value = r ? `${Math.round(d.box.w * n.frame.w / 100)} × ${Math.round(d.box.h)} px` : `x ${d.box.x.toFixed(1)}% · y ${Math.round(d.box.y)} px`;
3990
4351
  }
3991
- function le() {
3992
- let e = L;
3993
- if (L = null, ae?.(), ae = null, k.value = null, S.value = null, e?.kind === "box" && e.boxes.size > 0) o.placeElements([...e.boxes].map(([e, t]) => ({
4352
+ function ke() {
4353
+ let e = we;
4354
+ if (we = null, Te?.(), Te = null, A.value = null, O.value = null, e?.kind === "box" && e.boxes.size > 0) c.placeElements([...e.boxes].map(([e, t]) => ({
3994
4355
  id: e,
3995
4356
  box: t
3996
4357
  })));
3997
4358
  else if (e && e.kind !== "box" && e.value !== e.from) {
3998
- let t = ue(e.id);
3999
- t && (t.style[e.kind === "rotate" ? "rotate" : "radius"] = e.value, o.commit());
4359
+ let t = Ae(e.id);
4360
+ t && (t.style[e.kind === "rotate" ? "rotate" : "radius"] = e.value, c.commit());
4000
4361
  }
4001
- C.value = /* @__PURE__ */ new Map(), O.value = null, I();
4362
+ k.value = /* @__PURE__ */ new Map(), ee.value = null, xe();
4002
4363
  }
4003
- function ue(e) {
4004
- return o.selectedElements.value.find((t) => t.id === e);
4364
+ function Ae(e) {
4365
+ return c.selectedElements.value.find((t) => t.id === e);
4005
4366
  }
4006
- let de = (e, t) => Math.atan2(t.clientY - e.y, t.clientX - e.x) * 180 / Math.PI;
4007
- function fe(e, t) {
4008
- se(e, e.currentTarget, t, 1 / j.value);
4367
+ let je = (e, t) => Math.atan2(t.clientY - e.y, t.clientX - e.x) * 180 / Math.PI;
4368
+ function Me(e, t) {
4369
+ De(e, e.currentTarget, t, 1 / N.value);
4009
4370
  }
4010
- function pe(e) {
4011
- let t = o.activeElement.value, n = t ? y.value.elements.get(t.id) : void 0, r = u.value?.getBoundingClientRect();
4371
+ function Ne(e) {
4372
+ let t = c.activeElement.value, n = t ? S.value.elements.get(t.id) : void 0, r = f.value?.getBoundingClientRect();
4012
4373
  if (!t || !n || !r) return;
4013
4374
  let i = {
4014
- x: r.left + (n.x + n.w / 2) * j.value,
4015
- y: r.top + (n.y + n.h / 2) * j.value
4375
+ x: r.left + (n.x + n.w / 2) * N.value,
4376
+ y: r.top + (n.y + n.h / 2) * N.value
4016
4377
  }, a = t.style.rotate ?? 0;
4017
- L = {
4378
+ we = {
4018
4379
  kind: "rotate",
4019
4380
  id: t.id,
4020
4381
  center: i,
4021
- startAngle: de(i, e),
4382
+ startAngle: je(i, e),
4022
4383
  from: a,
4023
4384
  value: a
4024
- }, oe(e.currentTarget, e);
4385
+ }, Ee(e.currentTarget, e);
4025
4386
  }
4026
- function me(e) {
4027
- let t = o.activeElement.value, n = o.state.selection, r = n.kind === "elements" ? y.value.canvases.get(n.canvas) : void 0;
4387
+ function Pe(e) {
4388
+ let t = c.activeElement.value, n = c.state.selection, r = n.kind === "elements" ? S.value.canvases.get(n.canvas) : void 0;
4028
4389
  if (!t || !r) return;
4029
4390
  let i = t.style.radius ?? 0;
4030
- L = {
4391
+ we = {
4031
4392
  kind: "radius",
4032
4393
  id: t.id,
4033
4394
  origin: e.clientX,
4034
- factor: 1 / j.value,
4395
+ factor: 1 / N.value,
4035
4396
  unit: r.unit,
4036
4397
  from: i,
4037
4398
  value: i
4038
- }, oe(e.currentTarget, e);
4399
+ }, Ee(e.currentTarget, e);
4039
4400
  }
4040
4401
  let R = null;
4041
- function he(e) {
4042
- let t = e?.closest?.(".lz-stack-nav > button[data-go]"), n = t?.closest(".lz-stack"), r = Number(t?.getAttribute("data-go")), i = n ? o.state.draft.sections.find((e) => e.group?.id && `g-${K(e.group.id)}` === n.id) : void 0;
4043
- return !i?.group?.id || !Number.isInteger(r) ? !1 : (o.state.panels = {
4044
- ...o.state.panels,
4402
+ function Fe(e) {
4403
+ let t = e?.closest?.(".lz-stack-nav > button[data-go]"), n = t?.closest(".lz-stack"), r = Number(t?.getAttribute("data-go")), i = n ? c.state.draft.sections.find((e) => e.group?.id && `g-${K(e.group.id)}` === n.id) : void 0;
4404
+ return !i?.group?.id || !Number.isInteger(r) ? !1 : (c.state.panels = {
4405
+ ...c.state.panels,
4045
4406
  [i.group.id]: r
4046
4407
  }, !0);
4047
4408
  }
4048
- function ge(e) {
4049
- if (!A || e.button !== 0 || R && R.node.contains(e.target) || (ve(), he(e.target))) return;
4050
- let t = A.hit(e.target);
4409
+ function Ie(e) {
4410
+ if (ce(e, N.value) || !j || e.button !== 0 || R && R.node.contains(e.target) || (Re(), Fe(e.target))) return;
4411
+ let t = j.hit(e.target);
4051
4412
  if (!t) {
4052
- o.clearSelection();
4413
+ c.clearSelection();
4053
4414
  return;
4054
4415
  }
4055
4416
  if (t.element === null) {
4056
- o.selectCanvas(t.canvas);
4417
+ c.selectCanvas(t.canvas);
4057
4418
  return;
4058
4419
  }
4059
- e.preventDefault(), o.select(t.canvas, t.element, e.shiftKey);
4060
- let n = o.state.selection;
4061
- n.kind === "elements" && n.ids.includes(t.element) && !e.shiftKey && se(e, t.node, null, 1);
4420
+ e.preventDefault(), c.select(t.canvas, t.element, e.shiftKey);
4421
+ let n = c.state.selection;
4422
+ n.kind === "elements" && n.ids.includes(t.element) && !e.shiftKey && De(e, t.node, null, 1);
4062
4423
  }
4063
- function _e(e) {
4064
- let t = A?.hit(e.target), n = t?.element ? z(o.state.draft, t.canvas)?.elements.find((e) => e.id === t.element) : void 0, r = n ? o.kindOf(n) : null;
4065
- if (!t || !n || r?.kind !== "core" || !r.spec.inline || n.locked || o.state.previewing) return;
4424
+ function Le(e) {
4425
+ let t = j?.hit(e.target), n = t?.element ? z(c.state.draft, t.canvas)?.elements.find((e) => e.id === t.element) : void 0, r = n ? c.kindOf(n) : null;
4426
+ if (!t || !n || r?.kind !== "core" || !r.spec.inline || n.locked || c.state.previewing) return;
4066
4427
  let i = t.node;
4067
4428
  R = {
4068
4429
  node: i,
4069
4430
  canvas: t.canvas,
4070
4431
  id: n.id,
4071
4432
  prop: r.spec.inline
4072
- }, i.setAttribute("contenteditable", "plaintext-only"), i.focus(), i.ownerDocument.getSelection()?.selectAllChildren(i), i.addEventListener("blur", ve, { once: !0 });
4433
+ }, i.setAttribute("contenteditable", "plaintext-only"), i.focus(), i.ownerDocument.getSelection()?.selectAllChildren(i), i.addEventListener("blur", Re, { once: !0 });
4073
4434
  }
4074
- function ve() {
4435
+ function Re() {
4075
4436
  let e = R;
4076
4437
  if (!e) return;
4077
4438
  R = null;
4078
4439
  let t = e.node.innerText.trim();
4079
4440
  e.node.removeAttribute("contenteditable");
4080
- let n = z(o.state.draft, e.canvas)?.elements.find((t) => t.id === e.id);
4081
- n && (n.props[e.prop] = t, o.commit()), I();
4441
+ let n = z(c.state.draft, e.canvas)?.elements.find((t) => t.id === e.id);
4442
+ n && (n.props[e.prop] = t, c.commit()), xe();
4082
4443
  }
4083
- function ye(e) {
4444
+ function ze(e) {
4084
4445
  if (R) {
4085
4446
  (e.key === "Enter" && !e.shiftKey || e.key === "Escape") && (e.preventDefault(), R.node.blur());
4086
4447
  return;
4087
4448
  }
4088
- En(o, e);
4449
+ he(e) || En(c, e);
4450
+ }
4451
+ let Be = b(null);
4452
+ function Ve(e, t) {
4453
+ let n = t ? j?.hit(e.target) : null;
4454
+ if (t) {
4455
+ let e = c.state.selection.kind === "elements" ? c.state.selection.ids : [];
4456
+ n?.element && !e.includes(n.element) ? c.select(n.canvas, n.element, !1) : n && !n.element && c.selectCanvas(n.canvas);
4457
+ }
4458
+ e.preventDefault();
4459
+ let r = t ? v.value?.getBoundingClientRect() : null;
4460
+ Be.value = r ? {
4461
+ x: r.left + e.clientX * N.value,
4462
+ y: r.top + e.clientY * N.value
4463
+ } : {
4464
+ x: e.clientX,
4465
+ y: e.clientY
4466
+ };
4089
4467
  }
4090
- function be(e) {
4091
- let t = A?.hit(e.target);
4092
- x.value = t?.element ?? null;
4468
+ function He(e) {
4469
+ let t = j?.hit(e.target);
4470
+ C.value = t?.element ?? null;
4093
4471
  }
4094
- let xe = (e) => {
4472
+ let Ue = (e) => {
4095
4473
  R || e.preventDefault();
4096
4474
  };
4097
- function Se(e, t) {
4098
- let n = d.value?.getBoundingClientRect();
4099
- if (!A || !n || e < n.left || e > n.right || t < n.top || t > n.bottom) return null;
4100
- let r = (e - n.left) / j.value, i = (t - n.top) / j.value, a = A.hit(A.doc.elementFromPoint(r, i)), o = a ? y.value.canvases.get(a.canvas) : void 0;
4475
+ function We(e, t) {
4476
+ let n = v.value?.getBoundingClientRect();
4477
+ if (!j || !n || e < n.left || e > n.right || t < n.top || t > n.bottom) return null;
4478
+ let r = (e - n.left) / N.value, i = (t - n.top) / N.value, a = j.hit(j.doc.elementFromPoint(r, i)), o = a ? S.value.canvases.get(a.canvas) : void 0;
4101
4479
  return !a || !o ? null : {
4102
4480
  canvas: a.canvas,
4103
4481
  x: H((r - o.frame.x) / o.frame.w * 100, 0, 90),
4104
4482
  y: H((i - o.frame.y) / o.unit, 0, 3e3)
4105
4483
  };
4106
4484
  }
4107
- n({ dropPoint: Se });
4108
- let Ce = null, we = null;
4485
+ o({ dropPoint: We });
4486
+ let Ge = null, Ke = null;
4109
4487
  g(() => {
4110
- if (!d.value || !l.value) return;
4111
- A = Nn(d.value);
4112
- let e = A.doc;
4113
- e.addEventListener("pointerdown", ge), e.addEventListener("dblclick", _e), e.addEventListener("keydown", ye), e.addEventListener("pointerover", be), e.documentElement.addEventListener("pointerleave", () => x.value = null), e.addEventListener("click", xe, !0), e.addEventListener("submit", xe, !0);
4114
- let t = new ((e.defaultView?.ResizeObserver) ?? ResizeObserver)(() => ie());
4115
- t.observe(e.body), we = t, Ce = new ResizeObserver(([e]) => {
4116
- f.value = e?.contentRect.width ?? 0;
4117
- }), Ce.observe(l.value), I();
4488
+ if (!v.value || !u.value) return;
4489
+ j = Nn(v.value);
4490
+ let e = j.doc;
4491
+ e.addEventListener("pointerdown", Ie), e.addEventListener("dblclick", Le), e.addEventListener("keydown", ze), e.addEventListener("pointerover", He), e.addEventListener("contextmenu", (e) => Ve(e, !0)), e.addEventListener("wheel", oe, { passive: !1 }), e.addEventListener("pointermove", le), e.addEventListener("pointerup", ue), e.addEventListener("pointercancel", ue), e.documentElement.addEventListener("pointerleave", () => C.value = null), e.addEventListener("click", Ue, !0), e.addEventListener("submit", Ue, !0);
4492
+ let t = new ((e.defaultView?.ResizeObserver) ?? ResizeObserver)(() => Ce());
4493
+ t.observe(e.body), Ke = t, e.addEventListener("keyup", fe), Ge = new ResizeObserver(([e]) => {
4494
+ y.value = e?.contentRect.width ?? 0;
4495
+ }), Ge.observe(u.value), window.addEventListener("keydown", me), window.addEventListener("keyup", fe), window.addEventListener("blur", pe), xe();
4118
4496
  }), h(() => {
4119
- cancelAnimationFrame(N), Ce?.disconnect(), we?.disconnect(), ae?.();
4497
+ window.removeEventListener("keydown", me), window.removeEventListener("keyup", fe), window.removeEventListener("blur", pe), cancelAnimationFrame(ve), Ge?.disconnect(), Ke?.disconnect(), Te?.();
4120
4498
  });
4121
- function Te(e) {
4122
- let t = z(o.state.draft, e);
4123
- t && o.generateMobile(t);
4499
+ function qe(e) {
4500
+ let t = z(c.state.draft, e);
4501
+ t && c.generateMobile(t);
4124
4502
  }
4125
- let Ee = (e) => c(e === "desktop" ? "toolbar.desktop" : "toolbar.mobile");
4503
+ let Je = (e) => l(e === "desktop" ? "toolbar.desktop" : "toolbar.mobile");
4126
4504
  return (e, t) => (_(), i("div", {
4127
4505
  ref_key: "stage",
4128
- ref: l,
4506
+ ref: u,
4129
4507
  class: "lze-stage",
4130
- onPointerdown: t[1] ||= F((e) => D(o).clearSelection(), ["self"])
4508
+ "data-space": se.value ? "panning" : I.value ? "on" : void 0,
4509
+ onPointerdown: [t[6] ||= (e) => ce(e), t[7] ||= P((e) => D(c).clearSelection(), ["self"])],
4510
+ onPointermove: le,
4511
+ onPointerup: ue,
4512
+ onPointercancel: ue,
4513
+ onWheel: ae,
4514
+ onContextmenu: t[8] ||= (e) => Ve(e, !1)
4131
4515
  }, [
4132
- D(o).state.renderIssues.length ? (_(), i("p", Kn, T(D(c)("canvas.invalid", { issue: D(xn)(D(o).state.renderIssues[0]) })), 1)) : r("", !0),
4133
- D(o).activeModal.value ? (_(), i("div", qn, [a("span", null, T(D(c)("canvas.editingModal", { title: D(o).activeModal.value.title })), 1), a("button", {
4516
+ D(c).state.renderIssues.length ? (_(), i("p", Qn, T(D(l)("canvas.invalid", { issue: D(xn)(D(c).state.renderIssues[0]) })), 1)) : r("", !0),
4517
+ D(c).activeModal.value ? (_(), i("div", $n, [a("span", null, T(D(l)("canvas.editingModal", { title: D(c).activeModal.value.title })), 1), a("button", {
4134
4518
  type: "button",
4135
4519
  class: "lze-btn",
4136
- onClick: t[0] ||= (e) => D(o).openModal(null)
4137
- }, T(D(c)("canvas.backToPage")), 1)])) : r("", !0),
4520
+ onClick: t[0] ||= (e) => D(c).openModal(null)
4521
+ }, T(D(l)("canvas.backToPage")), 1)])) : r("", !0),
4138
4522
  a("div", {
4523
+ ref_key: "sheet",
4524
+ ref: d,
4139
4525
  class: "lze-sheet",
4140
- "data-device": D(o).state.device,
4141
- "aria-label": Ee(D(o).state.device),
4526
+ "data-device": D(c).state.device,
4527
+ "aria-label": Je(D(c).state.device),
4142
4528
  style: m({
4143
- width: `${D(o).frameWidth.value * j.value}px`,
4144
- height: `${v.value * j.value}px`
4529
+ width: `${D(c).frameWidth.value * N.value}px`,
4530
+ height: `${x.value * N.value}px`
4145
4531
  })
4146
4532
  }, [a("div", {
4147
4533
  ref_key: "scaler",
4148
- ref: u,
4534
+ ref: f,
4149
4535
  class: "lze-scaler",
4150
4536
  style: m({
4151
- width: `${D(o).frameWidth.value}px`,
4152
- transform: `scale(${j.value})`
4537
+ width: `${D(c).frameWidth.value}px`,
4538
+ transform: `scale(${N.value})`
4153
4539
  })
4154
4540
  }, [a("iframe", {
4155
4541
  ref_key: "iframe",
4156
- ref: d,
4542
+ ref: v,
4157
4543
  class: "lze-frame",
4158
- title: D(c)("canvas.title"),
4544
+ title: D(l)("canvas.title"),
4159
4545
  style: m({
4160
- width: `${D(o).frameWidth.value}px`,
4161
- height: `${v.value}px`
4546
+ width: `${D(c).frameWidth.value}px`,
4547
+ height: `${x.value}px`
4162
4548
  })
4163
- }, null, 12, Yn), s(Gn, {
4164
- layout: y.value,
4165
- scale: j.value,
4166
- hovered: x.value,
4167
- guides: S.value,
4168
- live: C.value,
4169
- rotation: O.value,
4170
- frozen: ee.value,
4171
- onResize: fe,
4172
- onRotate: pe,
4173
- onRadius: me,
4174
- onGenerateMobile: Te
4549
+ }, null, 12, tr), s(Xn, {
4550
+ layout: S.value,
4551
+ scale: N.value,
4552
+ hovered: C.value,
4553
+ guides: O.value,
4554
+ live: k.value,
4555
+ rotation: ee.value,
4556
+ frozen: ge.value,
4557
+ onResize: Me,
4558
+ onRotate: Ne,
4559
+ onRadius: Pe,
4560
+ onGenerateMobile: qe
4175
4561
  }, null, 8, [
4176
4562
  "layout",
4177
4563
  "scale",
@@ -4180,12 +4566,50 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
4180
4566
  "live",
4181
4567
  "rotation",
4182
4568
  "frozen"
4183
- ])], 4)], 12, Jn),
4184
- te.value ? (_(), i("p", Xn, T(D(o).activeModal.value ? D(c)("canvas.emptyModal") : D(c)("canvas.emptyPage")), 1)) : r("", !0),
4185
- k.value ? (_(), i("p", Zn, T(k.value), 1)) : r("", !0)
4186
- ], 544));
4187
- }
4188
- }), $n = ["title", "srcdoc"], er = /* @__PURE__ */ c({
4569
+ ])], 4)], 12, er),
4570
+ _e.value ? (_(), i("p", nr, T(D(c).activeModal.value ? D(l)("canvas.emptyModal") : D(l)("canvas.emptyPage")), 1)) : r("", !0),
4571
+ A.value ? (_(), i("p", rr, T(A.value), 1)) : r("", !0),
4572
+ Be.value ? (_(), n(zn, {
4573
+ key: 4,
4574
+ at: Be.value,
4575
+ onClose: t[1] ||= (e) => Be.value = null
4576
+ }, null, 8, ["at"])) : r("", !0),
4577
+ a("div", {
4578
+ class: "lze-zoom",
4579
+ role: "group",
4580
+ "aria-label": D(l)("zoom.label")
4581
+ }, [
4582
+ a("button", {
4583
+ type: "button",
4584
+ class: "lze-zoom-btn",
4585
+ title: D(l)("zoom.out"),
4586
+ "aria-label": D(l)("zoom.out"),
4587
+ onClick: t[2] ||= (e) => F(.8)
4588
+ }, "−", 8, ar),
4589
+ a("button", {
4590
+ type: "button",
4591
+ class: "lze-zoom-value",
4592
+ title: D(l)("zoom.fit"),
4593
+ onClick: t[3] ||= (e) => ie()
4594
+ }, T(ne.value) + "%", 9, or),
4595
+ a("button", {
4596
+ type: "button",
4597
+ class: "lze-zoom-btn",
4598
+ title: D(l)("zoom.in"),
4599
+ "aria-label": D(l)("zoom.in"),
4600
+ onClick: t[4] ||= (e) => F(1.25)
4601
+ }, "+", 8, sr),
4602
+ a("button", {
4603
+ type: "button",
4604
+ class: "lze-zoom-btn",
4605
+ title: D(l)("zoom.actual"),
4606
+ "aria-label": D(l)("zoom.actual"),
4607
+ onClick: t[5] ||= (e) => re(1)
4608
+ }, "1:1", 8, cr)
4609
+ ], 8, ir)
4610
+ ], 40, Zn));
4611
+ }
4612
+ }), fr = ["title", "srcdoc"], pr = /* @__PURE__ */ c({
4189
4613
  __name: "Preview",
4190
4614
  setup(e) {
4191
4615
  let t = G(), n = b(), r = w(""), o = b({
@@ -4227,21 +4651,21 @@ var Pn = (e) => e !== null && typeof e.nodeType == "number", Fn = ["onClick"], I
4227
4651
  height: `${(o.value.height - 48) / l()}px`,
4228
4652
  transform: `scale(${l()})`
4229
4653
  })
4230
- }, null, 12, $n)], 4)], 512));
4654
+ }, null, 12, fr)], 4)], 512));
4231
4655
  }
4232
4656
  });
4233
4657
  //#endregion
4234
4658
  //#region src/client.ts
4235
- function tr({ endpoint: e, headers: t = {}, fetch: n = globalThis.fetch.bind(globalThis) }) {
4659
+ function mr({ endpoint: e, headers: t = {}, fetch: n = globalThis.fetch.bind(globalThis) }) {
4236
4660
  let r = e.replace(/\/+$/, "");
4237
4661
  return async (e, ...i) => {
4238
- let [a = "GET", o = "/"] = e.split(" "), [s, c] = o.includes(":") ? [or(i[0]) ? i[0] : {}, i[1]] : [{}, i[0]], l = o.replace(/:([a-z]+)/g, (e, t) => encodeURIComponent(String(s[t] ?? ""))), u = typeof FormData < "u" && c instanceof FormData, d = a === "GET" && c && typeof c == "object" && !u ? rr(c) : "", f = {
4662
+ let [a = "GET", o = "/"] = e.split(" "), [s, c] = o.includes(":") ? [yr(i[0]) ? i[0] : {}, i[1]] : [{}, i[0]], l = o.replace(/:([a-z]+)/g, (e, t) => encodeURIComponent(String(s[t] ?? ""))), u = typeof FormData < "u" && c instanceof FormData, d = a === "GET" && c && typeof c == "object" && !u ? gr(c) : "", f = {
4239
4663
  method: a,
4240
4664
  credentials: "same-origin",
4241
4665
  headers: {
4242
4666
  Accept: "application/json",
4243
4667
  ...c !== void 0 && a !== "GET" && !u ? { "Content-Type": "application/json" } : {},
4244
- ...ir(),
4668
+ ..._r(),
4245
4669
  ...t
4246
4670
  },
4247
4671
  ...c !== void 0 && a !== "GET" ? { body: u ? c : JSON.stringify(c) } : {}
@@ -4260,35 +4684,35 @@ function tr({ endpoint: e, headers: t = {}, fetch: n = globalThis.fetch.bind(glo
4260
4684
  value: m
4261
4685
  } : {
4262
4686
  ok: !1,
4263
- failure: nr(p.status, m)
4687
+ failure: hr(p.status, m)
4264
4688
  };
4265
4689
  };
4266
4690
  }
4267
- function nr(e, t) {
4268
- let n = or(t) && typeof t.message == "string" ? t.message : `HTTP ${e}`;
4269
- return e === 409 && or(t) && typeof t.revision == "number" ? {
4691
+ function hr(e, t) {
4692
+ let n = yr(t) && typeof t.message == "string" ? t.message : `HTTP ${e}`;
4693
+ return e === 409 && yr(t) && typeof t.revision == "number" ? {
4270
4694
  kind: "conflict",
4271
4695
  message: n,
4272
4696
  revision: t.revision
4273
4697
  } : e === 422 ? {
4274
4698
  kind: "invalid",
4275
4699
  message: n,
4276
- issues: or(t) && Array.isArray(t.issues) ? t.issues.filter(ar) : []
4700
+ issues: yr(t) && Array.isArray(t.issues) ? t.issues.filter(vr) : []
4277
4701
  } : {
4278
4702
  kind: "http",
4279
4703
  status: e,
4280
4704
  message: n
4281
4705
  };
4282
4706
  }
4283
- function rr(e) {
4707
+ function gr(e) {
4284
4708
  let t = Object.entries(e).filter(([, e]) => e != null);
4285
4709
  return t.length === 0 ? "" : `?${new URLSearchParams(t.map(([e, t]) => [e, String(t)]))}`;
4286
4710
  }
4287
- function ir() {
4711
+ function _r() {
4288
4712
  let e = typeof document > "u" ? null : /(?:^|;\s*)XSRF-TOKEN=([^;]+)/.exec(document.cookie);
4289
4713
  return e?.[1] ? { "X-XSRF-TOKEN": decodeURIComponent(e[1]) } : {};
4290
4714
  }
4291
- var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "string" && typeof e.code == "string", or = (e) => typeof e == "object" && !!e && !Array.isArray(e), sr = [
4715
+ var vr = (e) => yr(e) && typeof e.path == "string" && typeof e.message == "string" && typeof e.code == "string", yr = (e) => typeof e == "object" && !!e && !Array.isArray(e), br = [
4292
4716
  "data-variant",
4293
4717
  "data-size",
4294
4718
  "disabled",
@@ -4312,12 +4736,12 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4312
4736
  "data-size": e.size,
4313
4737
  disabled: e.disabled,
4314
4738
  title: e.title
4315
- }, [S(t.$slots, "default")], 8, sr));
4739
+ }, [S(t.$slots, "default")], 8, br));
4316
4740
  }
4317
- }), cr = ["data-size", "aria-labelledby"], lr = { class: "lze-dialog-body" }, ur = { class: "lze-dialog-head" }, dr = ["id"], fr = {
4741
+ }), xr = ["data-size", "aria-labelledby"], Sr = { class: "lze-dialog-body" }, Cr = { class: "lze-dialog-head" }, wr = ["id"], Tr = {
4318
4742
  key: 0,
4319
4743
  class: "lze-hint"
4320
- }, pr = ["aria-label"], mr = /* @__PURE__ */ c({
4744
+ }, Er = ["aria-label"], Dr = /* @__PURE__ */ c({
4321
4745
  __name: "Dialog",
4322
4746
  props: /*@__PURE__*/ d({
4323
4747
  title: {},
@@ -4349,7 +4773,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4349
4773
  onClose: u[1] ||= (e) => t.value = !1,
4350
4774
  onPointerdown: d,
4351
4775
  onClick: f
4352
- }, [a("div", lr, [a("header", ur, [a("div", null, [a("h2", { id: D(o) }, T(e.title), 9, dr), e.description ? (_(), i("p", fr, T(e.description), 1)) : r("", !0)]), a("button", {
4776
+ }, [a("div", Sr, [a("header", Cr, [a("div", null, [a("h2", { id: D(o) }, T(e.title), 9, wr), e.description ? (_(), i("p", Tr, T(e.description), 1)) : r("", !0)]), a("button", {
4353
4777
  type: "button",
4354
4778
  class: "lze-icon-btn",
4355
4779
  "aria-label": D(c)("common.close"),
@@ -4357,19 +4781,19 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4357
4781
  }, [s(D($e), {
4358
4782
  size: 16,
4359
4783
  "aria-hidden": "true"
4360
- })], 8, pr)]), t.value ? S(l.$slots, "default", {}, void 0, void 0, 0) : r("", !0)])], 40, cr));
4784
+ })], 8, Er)]), t.value ? S(l.$slots, "default", {}, void 0, void 0, 0) : r("", !0)])], 40, xr));
4361
4785
  }
4362
- }), hr = { class: "lze-dialog-actions" }, gr = /* @__PURE__ */ c({
4786
+ }), Or = { class: "lze-dialog-actions" }, kr = /* @__PURE__ */ c({
4363
4787
  __name: "ConflictDialog",
4364
4788
  setup(e) {
4365
4789
  let t = G(), r = t.dialogModel("conflict");
4366
- return (e, i) => (_(), n(mr, {
4790
+ return (e, i) => (_(), n(Dr, {
4367
4791
  open: D(r),
4368
4792
  "onUpdate:open": i[2] ||= (e) => u(r) ? r.value = e : null,
4369
4793
  title: D(t).t("conflict.title"),
4370
4794
  description: D(t).t("conflict.body")
4371
4795
  }, {
4372
- default: N(() => [a("div", hr, [s(q, {
4796
+ default: N(() => [a("div", Or, [s(q, {
4373
4797
  variant: "primary",
4374
4798
  size: "md",
4375
4799
  onClick: i[0] ||= (e) => D(t).reloadPage()
@@ -4390,7 +4814,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4390
4814
  "description"
4391
4815
  ]));
4392
4816
  }
4393
- }), _r = [
4817
+ }), Ar = [
4394
4818
  "data-tone",
4395
4819
  "title",
4396
4820
  "aria-label",
@@ -4419,15 +4843,15 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4419
4843
  "aria-label": e.label,
4420
4844
  "aria-pressed": e.active,
4421
4845
  disabled: e.disabled
4422
- }, [S(t.$slots, "default")], 8, _r));
4846
+ }, [S(t.$slots, "default")], 8, Ar));
4423
4847
  }
4424
- }), vr = { class: "lze-asset-grid" }, yr = ["disabled"], br = { class: "lze-hint" }, xr = ["aria-label", "onClick"], Sr = ["src", "alt"], Cr = {
4848
+ }), jr = { class: "lze-asset-grid" }, Mr = ["disabled"], Nr = { class: "lze-hint" }, Pr = ["aria-label", "onClick"], Fr = ["src", "alt"], Ir = {
4425
4849
  key: 0,
4426
4850
  class: "lze-hint"
4427
- }, wr = {
4851
+ }, Lr = {
4428
4852
  key: 1,
4429
4853
  class: "lze-hint"
4430
- }, Tr = /* @__PURE__ */ c({
4854
+ }, Rr = /* @__PURE__ */ c({
4431
4855
  __name: "MediaLibrary",
4432
4856
  setup(o) {
4433
4857
  let c = G(), l = c.t, u = b(), d = b(!1), f = t({
@@ -4468,7 +4892,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4468
4892
  type: "image"
4469
4893
  }, void 0, e.ref), f.value = !1;
4470
4894
  }
4471
- return (t, o) => (_(), n(mr, {
4895
+ return (t, o) => (_(), n(Dr, {
4472
4896
  open: f.value,
4473
4897
  "onUpdate:open": o[1] ||= (e) => f.value = e,
4474
4898
  title: D(l)("library.title"),
@@ -4476,7 +4900,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4476
4900
  size: "lg"
4477
4901
  }, {
4478
4902
  default: N(() => [
4479
- a("div", vr, [
4903
+ a("div", jr, [
4480
4904
  a("button", {
4481
4905
  type: "button",
4482
4906
  class: "lze-upload-tile",
@@ -4488,8 +4912,8 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4488
4912
  "aria-hidden": "true"
4489
4913
  }),
4490
4914
  a("strong", null, T(d.value ? D(l)("library.uploading") : D(l)("library.upload")), 1),
4491
- a("span", br, T(D(l)("library.formats")), 1)
4492
- ], 8, yr),
4915
+ a("span", Nr, T(D(l)("library.formats")), 1)
4916
+ ], 8, Mr),
4493
4917
  a("input", {
4494
4918
  ref_key: "input",
4495
4919
  ref: u,
@@ -4512,7 +4936,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4512
4936
  src: e.thumb,
4513
4937
  alt: e.name,
4514
4938
  loading: "lazy"
4515
- }, null, 8, Sr), a("figcaption", null, T(e.name), 1)], 8, xr), s(J, {
4939
+ }, null, 8, Fr), a("figcaption", null, T(e.name), 1)], 8, Pr), s(J, {
4516
4940
  class: "lze-asset-delete",
4517
4941
  tone: "danger",
4518
4942
  label: D(l)("library.delete", { name: e.name }),
@@ -4525,8 +4949,8 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4525
4949
  _: 1
4526
4950
  }, 8, ["label", "onClick"])]))), 128))
4527
4951
  ]),
4528
- D(c).state.workspace.assets.length === 0 ? (_(), i("p", Cr, T(D(l)("media.empty")), 1)) : r("", !0),
4529
- h.value ? (_(), i("p", wr, T(h.value), 1)) : r("", !0)
4952
+ D(c).state.workspace.assets.length === 0 ? (_(), i("p", Ir, T(D(l)("media.empty")), 1)) : r("", !0),
4953
+ h.value ? (_(), i("p", Lr, T(h.value), 1)) : r("", !0)
4530
4954
  ]),
4531
4955
  _: 1
4532
4956
  }, 8, [
@@ -4535,14 +4959,14 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4535
4959
  "description"
4536
4960
  ]));
4537
4961
  }
4538
- }), Er = { class: "lze-field" }, Dr = ["for"], Or = {
4962
+ }), zr = { class: "lze-field" }, Br = ["for"], Vr = {
4539
4963
  key: 1,
4540
4964
  class: "lze-label"
4541
- }, kr = {
4965
+ }, Hr = {
4542
4966
  key: 2,
4543
4967
  class: "lze-error",
4544
4968
  role: "alert"
4545
- }, Ar = {
4969
+ }, Ur = {
4546
4970
  key: 3,
4547
4971
  class: "lze-hint"
4548
4972
  }, Y = /* @__PURE__ */ c({
@@ -4554,23 +4978,23 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4554
4978
  error: {}
4555
4979
  },
4556
4980
  setup(e) {
4557
- return (t, n) => (_(), i("div", Er, [
4981
+ return (t, n) => (_(), i("div", zr, [
4558
4982
  e.id ? (_(), i("label", {
4559
4983
  key: 0,
4560
4984
  class: "lze-label",
4561
4985
  for: e.id
4562
- }, [o(T(e.label), 1), S(t.$slots, "aside")], 8, Dr)) : (_(), i("span", Or, [o(T(e.label), 1), S(t.$slots, "aside")])),
4986
+ }, [o(T(e.label), 1), S(t.$slots, "aside")], 8, Br)) : (_(), i("span", Vr, [o(T(e.label), 1), S(t.$slots, "aside")])),
4563
4987
  S(t.$slots, "default"),
4564
- e.error ? (_(), i("p", kr, T(e.error), 1)) : e.hint ? (_(), i("p", Ar, T(e.hint), 1)) : r("", !0)
4988
+ e.error ? (_(), i("p", Hr, T(e.error), 1)) : e.hint ? (_(), i("p", Ur, T(e.hint), 1)) : r("", !0)
4565
4989
  ]));
4566
4990
  }
4567
- }), jr = [
4991
+ }), Wr = [
4568
4992
  "id",
4569
4993
  "rows",
4570
4994
  "maxlength",
4571
4995
  "placeholder",
4572
4996
  "aria-label"
4573
- ], Mr = [
4997
+ ], Gr = [
4574
4998
  "id",
4575
4999
  "type",
4576
5000
  "maxlength",
@@ -4592,7 +5016,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4592
5016
  emits: /*@__PURE__*/ d(["commit"], ["update:modelValue"]),
4593
5017
  setup(e, { emit: t }) {
4594
5018
  let n = k(e, "modelValue"), r = t;
4595
- return (t, a) => e.rows > 0 ? P((_(), i("textarea", {
5019
+ return (t, a) => e.rows > 0 ? ne((_(), i("textarea", {
4596
5020
  key: 0,
4597
5021
  id: e.id,
4598
5022
  "onUpdate:modelValue": a[0] ||= (e) => n.value = e,
@@ -4602,7 +5026,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4602
5026
  placeholder: e.placeholder,
4603
5027
  "aria-label": e.label,
4604
5028
  onChange: a[1] ||= (e) => r("commit")
4605
- }, null, 40, jr)), [[j, n.value]]) : P((_(), i("input", {
5029
+ }, null, 40, Wr)), [[A, n.value]]) : ne((_(), i("input", {
4606
5030
  key: 1,
4607
5031
  id: e.id,
4608
5032
  "onUpdate:modelValue": a[2] ||= (e) => n.value = e,
@@ -4612,9 +5036,9 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4612
5036
  placeholder: e.placeholder,
4613
5037
  "aria-label": e.label,
4614
5038
  onChange: a[3] ||= (e) => r("commit")
4615
- }, null, 40, Mr)), [[A, n.value]]);
5039
+ }, null, 40, Gr)), [[ee, n.value]]);
4616
5040
  }
4617
- }), Nr = { class: "lze-dialog-actions" }, Pr = /* @__PURE__ */ c({
5041
+ }), Kr = { class: "lze-dialog-actions" }, qr = /* @__PURE__ */ c({
4618
5042
  __name: "NewPageDialog",
4619
5043
  setup(r) {
4620
5044
  let c = G(), l = c.t, d = {
@@ -4641,7 +5065,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4641
5065
  async function v() {
4642
5066
  p.creating = !0, p.issues = await c.createPage(p.title.trim(), p.slug.trim()), p.creating = !1;
4643
5067
  }
4644
- return (t, r) => (_(), n(mr, {
5068
+ return (t, r) => (_(), n(Dr, {
4645
5069
  open: D(f),
4646
5070
  "onUpdate:open": r[3] ||= (e) => u(f) ? f.value = e : null,
4647
5071
  title: D(l)("newPage.title"),
@@ -4650,7 +5074,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4650
5074
  default: N(() => [a("form", {
4651
5075
  class: "lze-stack",
4652
5076
  novalidate: "",
4653
- onSubmit: F(v, ["prevent"])
5077
+ onSubmit: P(v, ["prevent"])
4654
5078
  }, [
4655
5079
  s(Y, {
4656
5080
  id: d.title,
@@ -4698,7 +5122,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4698
5122
  class: "lze-error",
4699
5123
  role: "alert"
4700
5124
  }, T(e.message), 1))), 128)),
4701
- a("div", Nr, [s(q, {
5125
+ a("div", Kr, [s(q, {
4702
5126
  variant: "primary",
4703
5127
  size: "md",
4704
5128
  type: "submit",
@@ -4721,7 +5145,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4721
5145
  "description"
4722
5146
  ]));
4723
5147
  }
4724
- }), Fr = ["aria-label"], Ir = { class: "lze-label" }, Lr = ["data-thumb"], Rr = ["src"], zr = { class: "lze-row" }, Br = /* @__PURE__ */ c({
5148
+ }), Jr = ["aria-label"], Yr = { class: "lze-label" }, Xr = ["data-thumb"], Zr = ["src"], Qr = { class: "lze-row" }, $r = /* @__PURE__ */ c({
4725
5149
  __name: "ImageField",
4726
5150
  props: /*@__PURE__*/ d({
4727
5151
  label: {},
@@ -4754,7 +5178,7 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4754
5178
  role: "group",
4755
5179
  "aria-label": u.label
4756
5180
  }, [
4757
- a("span", Ir, T(u.label), 1),
5181
+ a("span", Yr, T(u.label), 1),
4758
5182
  p.value ? (_(), i("div", {
4759
5183
  key: 0,
4760
5184
  class: "lze-image-preview",
@@ -4762,8 +5186,8 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4762
5186
  }, [a("img", {
4763
5187
  src: p.value,
4764
5188
  alt: ""
4765
- }, null, 8, Rr)], 8, Lr)) : r("", !0),
4766
- a("div", zr, [s(q, { onClick: h }, {
5189
+ }, null, 8, Zr)], 8, Xr)) : r("", !0),
5190
+ a("div", Qr, [s(q, { onClick: h }, {
4767
5191
  default: N(() => [o(T(e.choose ?? D(f).t("el.chooseFromLibrary")), 1)]),
4768
5192
  _: 1
4769
5193
  }), l.value ? (_(), n(q, {
@@ -4788,15 +5212,15 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4788
5212
  "placeholder",
4789
5213
  "label"
4790
5214
  ])) : r("", !0)
4791
- ], 8, Fr));
5215
+ ], 8, Jr));
4792
5216
  }
4793
- }), Vr = { class: "lze-number" }, Hr = { class: "lze-number-label" }, Ur = [
5217
+ }), ei = { class: "lze-number" }, ti = { class: "lze-number-label" }, ni = [
4794
5218
  "value",
4795
5219
  "min",
4796
5220
  "max",
4797
5221
  "step",
4798
5222
  "disabled"
4799
- ], Wr = {
5223
+ ], ri = {
4800
5224
  key: 0,
4801
5225
  class: "lze-number-suffix"
4802
5226
  }, Z = /* @__PURE__ */ c({
@@ -4819,8 +5243,8 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4819
5243
  let t = e.target.value, r = Number(t);
4820
5244
  t === "" ? n.value = void 0 : Number.isFinite(r) && (n.value = Math.min(o.max ?? Infinity, Math.max(o.min ?? -Infinity, r)));
4821
5245
  }
4822
- return (t, o) => (_(), i("label", Vr, [
4823
- a("span", Hr, T(e.label), 1),
5246
+ return (t, o) => (_(), i("label", ei, [
5247
+ a("span", ti, T(e.label), 1),
4824
5248
  a("input", {
4825
5249
  type: "number",
4826
5250
  value: n.value ?? "",
@@ -4830,15 +5254,15 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4830
5254
  disabled: e.disabled,
4831
5255
  onInput: c,
4832
5256
  onChange: o[0] ||= (e) => s("commit")
4833
- }, null, 40, Ur),
4834
- e.suffix ? (_(), i("span", Wr, T(e.suffix), 1)) : r("", !0)
5257
+ }, null, 40, ni),
5258
+ e.suffix ? (_(), i("span", ri, T(e.suffix), 1)) : r("", !0)
4835
5259
  ]));
4836
5260
  }
4837
- }), Gr = [
5261
+ }), ii = [
4838
5262
  "id",
4839
5263
  "data-compact",
4840
5264
  "aria-label"
4841
- ], Kr = ["selected"], qr = ["selected"], Q = /* @__PURE__ */ c({
5265
+ ], ai = ["selected"], oi = ["selected"], Q = /* @__PURE__ */ c({
4842
5266
  __name: "SelectInput",
4843
5267
  props: /*@__PURE__*/ d({
4844
5268
  options: {},
@@ -4868,12 +5292,12 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4868
5292
  value: "",
4869
5293
  disabled: "",
4870
5294
  selected: a.value === null || a.value === void 0 || a.value === ""
4871
- }, T(t.placeholder), 9, Kr)) : r("", !0), (_(!0), i(e, null, x(t.options, (e) => (_(), i("option", {
5295
+ }, T(t.placeholder), 9, ai)) : r("", !0), (_(!0), i(e, null, x(t.options, (e) => (_(), i("option", {
4872
5296
  key: e.value,
4873
5297
  selected: e.value === a.value
4874
- }, T(e.label), 9, qr))), 128))], 40, Gr));
5298
+ }, T(e.label), 9, oi))), 128))], 40, ii));
4875
5299
  }
4876
- }), Jr = { class: "lze-toggle" }, Yr = ["checked"], Xr = /* @__PURE__ */ c({
5300
+ }), si = { class: "lze-toggle" }, ci = ["checked"], li = /* @__PURE__ */ c({
4877
5301
  __name: "Toggle",
4878
5302
  props: /*@__PURE__*/ d({ label: {} }, {
4879
5303
  modelValue: {
@@ -4885,15 +5309,15 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4885
5309
  emits: /*@__PURE__*/ d(["commit"], ["update:modelValue"]),
4886
5310
  setup(e, { emit: t }) {
4887
5311
  let n = k(e, "modelValue"), r = t;
4888
- return (t, o) => (_(), i("label", Jr, [a("input", {
5312
+ return (t, o) => (_(), i("label", si, [a("input", {
4889
5313
  type: "checkbox",
4890
5314
  checked: n.value === !0,
4891
5315
  onChange: o[0] ||= (e) => {
4892
5316
  n.value = e.target.checked, r("commit");
4893
5317
  }
4894
- }, null, 40, Yr), a("span", null, T(e.label), 1)]));
5318
+ }, null, 40, ci), a("span", null, T(e.label), 1)]));
4895
5319
  }
4896
- }), Zr = {
5320
+ }), ui = {
4897
5321
  none: { kind: "none" },
4898
5322
  whatsapp: {
4899
5323
  kind: "text",
@@ -4919,16 +5343,16 @@ var ar = (e) => or(e) && typeof e.path == "string" && typeof e.message == "strin
4919
5343
  back: { kind: "none" },
4920
5344
  step_next: { kind: "none" },
4921
5345
  step_prev: { kind: "none" }
4922
- }, Qr = (e) => Object.hasOwn(Zr, e);
4923
- function $r(e) {
5346
+ }, di = (e) => Object.hasOwn(ui, e);
5347
+ function fi(e) {
4924
5348
  return !e || e.kind === "image" || e.default === void 0 ? "" : String(e.default);
4925
5349
  }
4926
5350
  //#endregion
4927
5351
  //#region src/panels/ActionPicker.vue?vue&type=script&setup=true&lang.ts
4928
- var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5352
+ var pi = { class: "lze-field" }, mi = ["id"], hi = ["value"], gi = {
4929
5353
  key: 4,
4930
5354
  class: "lze-hint"
4931
- }, ii = /* @__PURE__ */ c({
5355
+ }, _i = /* @__PURE__ */ c({
4932
5356
  __name: "ActionPicker",
4933
5357
  props: {
4934
5358
  modelValue: {},
@@ -4936,8 +5360,8 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
4936
5360
  },
4937
5361
  emits: ["update:modelValue", "commit"],
4938
5362
  setup(o, { emit: c }) {
4939
- let l = o, u = c, d = G(), f = d.t, p = O(), m = t(() => l.modelValue?.type || "none"), h = t(() => l.modelValue?.value ?? ""), g = t(() => d.catalog.value.actions.find((e) => e.type === m.value) ?? null), v = t(() => Qr(m.value) ? Zr[m.value] : null), y = t(() => {
4940
- let e = [...ne.map((e) => ({
5363
+ let l = o, u = c, d = G(), f = d.t, p = O(), m = t(() => l.modelValue?.type || "none"), h = t(() => l.modelValue?.value ?? ""), g = t(() => d.catalog.value.actions.find((e) => e.type === m.value) ?? null), v = t(() => di(m.value) ? ui[m.value] : null), y = t(() => {
5364
+ let e = [...re.map((e) => ({
4941
5365
  value: e,
4942
5366
  label: f(`action.${e}`)
4943
5367
  })), ...d.catalog.value.actions.map((e) => ({
@@ -4959,7 +5383,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
4959
5383
  let t = d.catalog.value.actions.find((t) => t.type === e);
4960
5384
  u("update:modelValue", {
4961
5385
  type: e,
4962
- value: t ? $r(t.value) : h.value
5386
+ value: t ? fi(t.value) : h.value
4963
5387
  }), u("commit");
4964
5388
  }
4965
5389
  function w(e) {
@@ -4972,7 +5396,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
4972
5396
  let e = g.value?.value;
4973
5397
  return e?.kind === "number" ? h.value === "" ? e.default : Number(h.value) : e?.kind === "toggle" ? h.value === "" ? e.default : h.value === "true" : h.value;
4974
5398
  });
4975
- return (t, c) => (_(), i("div", ei, [s(Q, {
5399
+ return (t, c) => (_(), i("div", pi, [s(Q, {
4976
5400
  "model-value": m.value,
4977
5401
  options: y.value,
4978
5402
  label: o.label,
@@ -5009,7 +5433,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5009
5433
  ]), a("datalist", { id: D(p) }, [(_(!0), i(e, null, x(D(d).state.draft.sections, (e) => (_(), i("option", {
5010
5434
  key: e.id,
5011
5435
  value: e.id
5012
- }, null, 8, ni))), 128))], 8, ti)], 64)) : v.value.kind === "modal" ? (_(), n(Q, {
5436
+ }, null, 8, hi))), 128))], 8, mi)], 64)) : v.value.kind === "modal" ? (_(), n(Q, {
5013
5437
  key: 2,
5014
5438
  "model-value": h.value,
5015
5439
  options: b.value,
@@ -5035,7 +5459,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5035
5459
  "options",
5036
5460
  "label",
5037
5461
  "placeholder"
5038
- ])) : v.value.kind === "submit" ? (_(), i("p", ri, T(D(f)("action.submitHint")), 1)) : r("", !0)], 64)) : g.value?.value ? (_(), n(ai, {
5462
+ ])) : v.value.kind === "submit" ? (_(), i("p", gi, T(D(f)("action.submitHint")), 1)) : r("", !0)], 64)) : g.value?.value ? (_(), n(yi, {
5039
5463
  key: 1,
5040
5464
  field: g.value.value,
5041
5465
  "model-value": E.value,
@@ -5043,7 +5467,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5043
5467
  onCommit: c[10] ||= (e) => u("commit")
5044
5468
  }, null, 8, ["field", "model-value"])) : r("", !0)]));
5045
5469
  }
5046
- }), ai = /* @__PURE__ */ c({
5470
+ }), vi = { class: "lze-choices" }, yi = /* @__PURE__ */ c({
5047
5471
  __name: "FieldControl",
5048
5472
  props: {
5049
5473
  field: {},
@@ -5051,13 +5475,14 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5051
5475
  String,
5052
5476
  Number,
5053
5477
  Boolean,
5478
+ Array,
5054
5479
  null
5055
5480
  ] }
5056
5481
  },
5057
5482
  emits: ["update:modelValue", "commit"],
5058
- setup(e, { emit: r }) {
5059
- let i = e, a = r, o = G(), c = O(), l = t(() => o.i18n.localized(i.field.label)), u = (e) => typeof e == "object" && !!e, d = t(() => {
5060
- let e = i.field, t = i.modelValue;
5483
+ setup(r, { emit: o }) {
5484
+ let c = r, l = o, u = G(), d = O(), f = t(() => u.i18n.localized(c.field.label)), p = (e) => typeof e == "object" && !!e, m = t(() => {
5485
+ let e = c.field, t = c.modelValue;
5061
5486
  switch (e.kind) {
5062
5487
  case "text": return {
5063
5488
  kind: "text",
@@ -5074,10 +5499,14 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5074
5499
  field: e,
5075
5500
  value: typeof t == "boolean" ? t : e.default
5076
5501
  };
5077
- case "choice": return {
5502
+ case "choice": return e.multiple === !0 ? {
5503
+ kind: "choices",
5504
+ field: e,
5505
+ value: (Array.isArray(t) ? t : Array.isArray(e.default) ? e.default : []).filter((t) => e.options.some((e) => e.value === t))
5506
+ } : {
5078
5507
  kind: "choice",
5079
5508
  field: e,
5080
- value: typeof t == "string" ? t : e.default
5509
+ value: typeof t == "string" ? t : typeof e.default == "string" ? e.default : ""
5081
5510
  };
5082
5511
  case "image": return {
5083
5512
  kind: "image",
@@ -5087,26 +5516,30 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5087
5516
  case "action": return {
5088
5517
  kind: "action",
5089
5518
  field: e,
5090
- value: u(t) ? t : null
5519
+ value: p(t) ? t : null
5091
5520
  };
5092
5521
  default: return e;
5093
5522
  }
5094
5523
  });
5095
- function f(e) {
5096
- e !== void 0 && a("update:modelValue", e);
5524
+ function h(e, t, n, r) {
5525
+ let i = r ? [...t, n] : t.filter((e) => e !== n);
5526
+ g(e.options.map((e) => e.value).filter((e) => i.includes(e)));
5097
5527
  }
5098
- return (e, t) => d.value.kind === "text" ? (_(), n(Y, {
5528
+ function g(e) {
5529
+ e !== void 0 && l("update:modelValue", e);
5530
+ }
5531
+ return (t, r) => m.value.kind === "text" ? (_(), n(Y, {
5099
5532
  key: 0,
5100
- id: D(c),
5101
- label: l.value
5533
+ id: D(d),
5534
+ label: f.value
5102
5535
  }, {
5103
5536
  default: N(() => [s(X, {
5104
- id: D(c),
5105
- "model-value": d.value.value,
5106
- maxlength: d.value.field.max,
5107
- rows: d.value.field.multiline ? 4 : 0,
5108
- "onUpdate:modelValue": t[0] ||= (e) => f(e ?? ""),
5109
- onCommit: t[1] ||= (e) => a("commit")
5537
+ id: D(d),
5538
+ "model-value": m.value.value,
5539
+ maxlength: m.value.field.max,
5540
+ rows: m.value.field.multiline ? 4 : 0,
5541
+ "onUpdate:modelValue": r[0] ||= (e) => g(e ?? ""),
5542
+ onCommit: r[1] ||= (e) => l("commit")
5110
5543
  }, null, 8, [
5111
5544
  "id",
5112
5545
  "model-value",
@@ -5114,86 +5547,102 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5114
5547
  "rows"
5115
5548
  ])]),
5116
5549
  _: 1
5117
- }, 8, ["id", "label"])) : d.value.kind === "number" ? (_(), n(Z, {
5550
+ }, 8, ["id", "label"])) : m.value.kind === "number" ? (_(), n(Z, {
5118
5551
  key: 1,
5119
- "model-value": d.value.value,
5120
- label: l.value,
5121
- min: d.value.field.min,
5122
- max: d.value.field.max,
5123
- step: d.value.field.step,
5124
- "onUpdate:modelValue": t[2] ||= (e) => f(e ?? void 0),
5125
- onCommit: t[3] ||= (e) => a("commit")
5552
+ "model-value": m.value.value,
5553
+ label: f.value,
5554
+ min: m.value.field.min,
5555
+ max: m.value.field.max,
5556
+ step: m.value.field.step,
5557
+ "onUpdate:modelValue": r[2] ||= (e) => g(e ?? void 0),
5558
+ onCommit: r[3] ||= (e) => l("commit")
5126
5559
  }, null, 8, [
5127
5560
  "model-value",
5128
5561
  "label",
5129
5562
  "min",
5130
5563
  "max",
5131
5564
  "step"
5132
- ])) : d.value.kind === "toggle" ? (_(), n(Xr, {
5565
+ ])) : m.value.kind === "toggle" ? (_(), n(li, {
5133
5566
  key: 2,
5134
- "model-value": d.value.value,
5135
- label: l.value,
5136
- "onUpdate:modelValue": t[4] ||= (e) => f(e === !0),
5137
- onCommit: t[5] ||= (e) => a("commit")
5138
- }, null, 8, ["model-value", "label"])) : d.value.kind === "choice" ? (_(), n(Y, {
5567
+ "model-value": m.value.value,
5568
+ label: f.value,
5569
+ "onUpdate:modelValue": r[4] ||= (e) => g(e === !0),
5570
+ onCommit: r[5] ||= (e) => l("commit")
5571
+ }, null, 8, ["model-value", "label"])) : m.value.kind === "choice" ? (_(), n(Y, {
5139
5572
  key: 3,
5140
- id: D(c),
5141
- label: l.value
5573
+ id: D(d),
5574
+ label: f.value
5142
5575
  }, {
5143
5576
  default: N(() => [s(Q, {
5144
- id: D(c),
5145
- "model-value": d.value.value,
5146
- options: d.value.field.options.map((e) => ({
5577
+ id: D(d),
5578
+ "model-value": m.value.value,
5579
+ options: m.value.field.options.map((e) => ({
5147
5580
  value: e.value,
5148
- label: D(o).i18n.localized(e.label)
5581
+ label: D(u).i18n.localized(e.label)
5149
5582
  })),
5150
- "onUpdate:modelValue": t[6] ||= (e) => f(e ?? void 0),
5151
- onCommit: t[7] ||= (e) => a("commit")
5583
+ "onUpdate:modelValue": r[6] ||= (e) => g(e ?? void 0),
5584
+ onCommit: r[7] ||= (e) => l("commit")
5152
5585
  }, null, 8, [
5153
5586
  "id",
5154
5587
  "model-value",
5155
5588
  "options"
5156
5589
  ])]),
5157
5590
  _: 1
5158
- }, 8, ["id", "label"])) : d.value.kind === "image" ? (_(), n(Br, {
5591
+ }, 8, ["id", "label"])) : m.value.kind === "choices" ? (_(), n(Y, {
5159
5592
  key: 4,
5160
- "model-value": d.value.value,
5161
- label: l.value,
5593
+ label: f.value
5594
+ }, {
5595
+ default: N(() => [a("div", vi, [(_(!0), i(e, null, x(m.value.field.options, (e) => (_(), n(li, {
5596
+ key: e.value,
5597
+ "model-value": m.value.value.includes(e.value),
5598
+ label: D(u).i18n.localized(e.label),
5599
+ "onUpdate:modelValue": (t) => h(m.value.field, m.value.value, e.value, t === !0),
5600
+ onCommit: r[8] ||= (e) => l("commit")
5601
+ }, null, 8, [
5602
+ "model-value",
5603
+ "label",
5604
+ "onUpdate:modelValue"
5605
+ ]))), 128))])]),
5606
+ _: 1
5607
+ }, 8, ["label"])) : m.value.kind === "image" ? (_(), n($r, {
5608
+ key: 5,
5609
+ "model-value": m.value.value,
5610
+ label: f.value,
5162
5611
  url: "",
5163
- "onUpdate:modelValue": t[8] ||= (e) => f(e ?? null),
5164
- onCommit: t[9] ||= (e) => a("commit")
5612
+ "onUpdate:modelValue": r[9] ||= (e) => g(e ?? null),
5613
+ onCommit: r[10] ||= (e) => l("commit")
5165
5614
  }, null, 8, ["model-value", "label"])) : (_(), n(Y, {
5166
- key: 5,
5167
- label: l.value
5615
+ key: 6,
5616
+ label: f.value
5168
5617
  }, {
5169
- default: N(() => [s(ii, {
5170
- "model-value": d.value.value,
5171
- label: l.value,
5172
- "onUpdate:modelValue": t[10] ||= (e) => f(e),
5173
- onCommit: t[11] ||= (e) => a("commit")
5618
+ default: N(() => [s(_i, {
5619
+ "model-value": m.value.value,
5620
+ label: f.value,
5621
+ "onUpdate:modelValue": r[11] ||= (e) => g(e),
5622
+ onCommit: r[12] ||= (e) => l("commit")
5174
5623
  }, null, 8, ["model-value", "label"])]),
5175
5624
  _: 1
5176
5625
  }, 8, ["label"]));
5177
5626
  }
5178
- }), oi = { class: "lze-grid-2" }, si = { class: "lze-field" }, ci = {
5627
+ }), bi = { class: "lze-grid-2" }, xi = { class: "lze-field" }, Si = {
5179
5628
  key: 0,
5180
5629
  class: "lze-error",
5181
5630
  role: "alert"
5182
- }, li = {
5631
+ }, Ci = {
5183
5632
  key: 1,
5184
5633
  class: "lze-hint"
5185
- }, ui = { class: "lze-field" }, di = {
5634
+ }, wi = { class: "lze-field" }, Ti = {
5186
5635
  key: 0,
5187
5636
  class: "lze-error",
5188
5637
  role: "alert"
5189
- }, fi = {
5638
+ }, Ei = {
5190
5639
  key: 0,
5191
5640
  class: "lze-stack lze-divided"
5192
- }, pi = { class: "lze-label" }, mi = {
5641
+ }, Di = { class: "lze-label" }, Oi = {
5193
5642
  key: 0,
5194
5643
  class: "lze-error",
5195
5644
  role: "alert"
5196
- }, hi = { class: "lze-dialog-actions" }, gi = /* @__PURE__ */ c({
5645
+ }, ki = { class: "lze-dialog-actions" }, Ai = /* @__PURE__ */ c({
5197
5646
  __name: "SiteDialog",
5198
5647
  setup(c) {
5199
5648
  let l = G(), d = l.t, f = {
@@ -5239,7 +5688,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5239
5688
  meta: h.meta
5240
5689
  }), h.saving = !1, h.issues.length === 0 && (p.value = !1, l.notify(d("site.saved")));
5241
5690
  }
5242
- return (t, c) => (_(), n(mr, {
5691
+ return (t, c) => (_(), n(Dr, {
5243
5692
  open: D(p),
5244
5693
  "onUpdate:open": c[6] ||= (e) => u(p) ? p.value = e : null,
5245
5694
  title: D(d)("site.title"),
@@ -5249,7 +5698,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5249
5698
  default: N(() => [a("form", {
5250
5699
  class: "lze-stack",
5251
5700
  novalidate: "",
5252
- onSubmit: F(E, ["prevent"])
5701
+ onSubmit: P(E, ["prevent"])
5253
5702
  }, [
5254
5703
  s(Y, {
5255
5704
  id: f.seoTitle,
@@ -5286,7 +5735,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5286
5735
  "label",
5287
5736
  "error"
5288
5737
  ]),
5289
- a("div", oi, [a("div", si, [s(Br, {
5738
+ a("div", bi, [a("div", xi, [s($r, {
5290
5739
  modelValue: h.ogImage,
5291
5740
  "onUpdate:modelValue": c[2] ||= (e) => h.ogImage = e,
5292
5741
  label: D(d)("site.shareImage"),
@@ -5295,7 +5744,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5295
5744
  "modelValue",
5296
5745
  "label",
5297
5746
  "choose"
5298
- ]), S("og_image") ? (_(), i("p", ci, T(S("og_image")), 1)) : (_(), i("p", li, T(D(d)("site.shareImageHint")), 1))]), a("div", ui, [s(Br, {
5747
+ ]), S("og_image") ? (_(), i("p", Si, T(S("og_image")), 1)) : (_(), i("p", Ci, T(D(d)("site.shareImageHint")), 1))]), a("div", wi, [s($r, {
5299
5748
  modelValue: h.favicon,
5300
5749
  "onUpdate:modelValue": c[3] ||= (e) => h.favicon = e,
5301
5750
  label: D(d)("site.favicon"),
@@ -5305,7 +5754,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5305
5754
  "modelValue",
5306
5755
  "label",
5307
5756
  "choose"
5308
- ]), S("favicon") ? (_(), i("p", di, T(S("favicon")), 1)) : r("", !0)])]),
5757
+ ]), S("favicon") ? (_(), i("p", Ti, T(S("favicon")), 1)) : r("", !0)])]),
5309
5758
  s(Y, {
5310
5759
  id: f.locale,
5311
5760
  label: D(d)("site.locale"),
@@ -5326,10 +5775,10 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5326
5775
  "hint",
5327
5776
  "error"
5328
5777
  ]),
5329
- g.value.length > 0 ? (_(), i("section", fi, [a("h3", pi, T(D(d)("site.details")), 1), (_(!0), i(e, null, x(g.value, (e) => (_(), i("div", {
5778
+ g.value.length > 0 ? (_(), i("section", Ei, [a("h3", Di, T(D(d)("site.details")), 1), (_(!0), i(e, null, x(g.value, (e) => (_(), i("div", {
5330
5779
  key: e.key,
5331
5780
  class: "lze-field"
5332
- }, [s(ai, {
5781
+ }, [s(yi, {
5333
5782
  field: e,
5334
5783
  "model-value": h.meta[e.key],
5335
5784
  "onUpdate:modelValue": (t) => w(e.key, t)
@@ -5337,13 +5786,13 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5337
5786
  "field",
5338
5787
  "model-value",
5339
5788
  "onUpdate:modelValue"
5340
- ]), S(`meta.${e.key}`) ? (_(), i("p", mi, T(S(`meta.${e.key}`)), 1)) : r("", !0)]))), 128))])) : r("", !0),
5789
+ ]), S(`meta.${e.key}`) ? (_(), i("p", Oi, T(S(`meta.${e.key}`)), 1)) : r("", !0)]))), 128))])) : r("", !0),
5341
5790
  (_(!0), i(e, null, x(C.value, (e) => (_(), i("p", {
5342
5791
  key: e.path + e.message,
5343
5792
  class: "lze-error",
5344
5793
  role: "alert"
5345
5794
  }, T(e.path ? `${e.path}: ` : "") + T(e.message), 1))), 128)),
5346
- a("div", hi, [s(q, {
5795
+ a("div", ki, [s(q, {
5347
5796
  variant: "primary",
5348
5797
  size: "md",
5349
5798
  type: "submit",
@@ -5366,16 +5815,16 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5366
5815
  "description"
5367
5816
  ]));
5368
5817
  }
5369
- }), _i = {
5818
+ }), ji = {
5370
5819
  key: 0,
5371
5820
  class: "lze-rows"
5372
- }, vi = { class: "lze-hint" }, yi = {
5821
+ }, Mi = { class: "lze-hint" }, Ni = {
5373
5822
  key: 1,
5374
5823
  class: "lze-hint"
5375
- }, bi = {
5824
+ }, Pi = {
5376
5825
  key: 2,
5377
5826
  class: "lze-dialog-actions"
5378
- }, xi = /* @__PURE__ */ c({
5827
+ }, Fi = /* @__PURE__ */ c({
5379
5828
  __name: "SubmissionsDialog",
5380
5829
  setup(c) {
5381
5830
  let l = G(), d = l.t, f = l.dialogModel("submissions"), p = b([]), m = b(null), h = b(!1), g = new Intl.DateTimeFormat(l.i18n.locale, {
@@ -5398,20 +5847,20 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5398
5847
  let t = e.props.label;
5399
5848
  return typeof t == "string" && t.trim() !== "" ? [[K(e.id), t.trim()]] : [];
5400
5849
  })));
5401
- return (t, c) => (_(), n(mr, {
5850
+ return (t, c) => (_(), n(Dr, {
5402
5851
  open: D(f),
5403
5852
  "onUpdate:open": c[1] ||= (e) => u(f) ? f.value = e : null,
5404
5853
  title: D(d)("submissions.title"),
5405
5854
  description: D(d)("submissions.description"),
5406
5855
  size: "lg"
5407
5856
  }, {
5408
- default: N(() => [p.value.length > 0 ? (_(), i("ul", _i, [(_(!0), i(e, null, x(p.value, (t) => (_(), i("li", {
5857
+ default: N(() => [p.value.length > 0 ? (_(), i("ul", ji, [(_(!0), i(e, null, x(p.value, (t) => (_(), i("li", {
5409
5858
  key: t.id,
5410
5859
  class: "lze-submission"
5411
- }, [a("p", vi, T(D(g).format(new Date(t.createdAt))) + " · " + T(D(d)("submissions.from", {
5860
+ }, [a("p", Mi, T(D(g).format(new Date(t.createdAt))) + " · " + T(D(d)("submissions.from", {
5412
5861
  page: t.page,
5413
5862
  source: t.source
5414
- })), 1), a("dl", null, [(_(!0), i(e, null, x(t.fields, (t, n) => (_(), i(e, { key: n }, [a("dt", null, T(y.value.get(String(n)) ?? n), 1), a("dd", null, T(typeof t == "boolean" ? D(d)(t ? "submissions.checked" : "submissions.unchecked") : t), 1)], 64))), 128))])]))), 128))])) : h.value ? r("", !0) : (_(), i("p", yi, T(D(d)("submissions.empty")), 1)), m.value ? (_(), i("div", bi, [s(q, {
5863
+ })), 1), a("dl", null, [(_(!0), i(e, null, x(t.fields, (t, n) => (_(), i(e, { key: n }, [a("dt", null, T(y.value.get(String(n)) ?? n), 1), a("dd", null, T(typeof t == "boolean" ? D(d)(t ? "submissions.checked" : "submissions.unchecked") : t), 1)], 64))), 128))])]))), 128))])) : h.value ? r("", !0) : (_(), i("p", Ni, T(D(d)("submissions.empty")), 1)), m.value ? (_(), i("div", Pi, [s(q, {
5415
5864
  disabled: h.value,
5416
5865
  onClick: c[0] ||= (e) => v(m.value)
5417
5866
  }, {
@@ -5425,7 +5874,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5425
5874
  "description"
5426
5875
  ]));
5427
5876
  }
5428
- }), Si = { class: "lze-range" }, Ci = { class: "lze-label" }, wi = { class: "lze-muted" }, Ti = [
5877
+ }), Ii = { class: "lze-range" }, Li = { class: "lze-label" }, Ri = { class: "lze-muted" }, zi = [
5429
5878
  "min",
5430
5879
  "max",
5431
5880
  "step",
@@ -5449,7 +5898,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5449
5898
  emits: /*@__PURE__*/ d(["commit"], ["update:modelValue"]),
5450
5899
  setup(e, { emit: t }) {
5451
5900
  let n = k(e, "modelValue"), r = t;
5452
- return (t, s) => (_(), i("label", Si, [a("span", Ci, [o(T(e.label) + " ", 1), a("span", wi, T(e.format(n.value ?? e.fallback)), 1)]), a("input", {
5901
+ return (t, s) => (_(), i("label", Ii, [a("span", Li, [o(T(e.label) + " ", 1), a("span", Ri, T(e.format(n.value ?? e.fallback)), 1)]), a("input", {
5453
5902
  type: "range",
5454
5903
  min: e.min,
5455
5904
  max: e.max,
@@ -5457,16 +5906,16 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5457
5906
  value: n.value ?? e.fallback,
5458
5907
  onInput: s[0] ||= (e) => n.value = Number(e.target.value),
5459
5908
  onChange: s[1] ||= (e) => r("commit")
5460
- }, null, 40, Ti)]));
5909
+ }, null, 40, zi)]));
5461
5910
  }
5462
- }), Ei = ["href"], Di = { class: "lze-field" }, Oi = { class: "lze-label" }, ki = { class: "lze-row" }, Ai = ["onClick"], ji = {
5911
+ }), Bi = ["href"], Vi = { class: "lze-field" }, Hi = { class: "lze-label" }, Ui = { class: "lze-row" }, Wi = ["onClick"], Gi = {
5463
5912
  class: "lze-row",
5464
5913
  "aria-hidden": "true"
5465
- }, Mi = { class: "lze-field" }, Ni = { class: "lze-heading" }, Pi = { class: "lze-label" }, Fi = { class: "lze-hint" }, Ii = { class: "lze-theme-colors" }, Li = ["onUpdate:modelValue", "aria-label"], Ri = [
5914
+ }, Ki = { class: "lze-field" }, qi = { class: "lze-heading" }, Ji = { class: "lze-label" }, Yi = { class: "lze-hint" }, Xi = { class: "lze-theme-colors" }, Zi = ["onUpdate:modelValue", "aria-label"], Qi = [
5466
5915
  "value",
5467
5916
  "aria-label",
5468
5917
  "onInput"
5469
- ], zi = { class: "lze-grid-2" }, Bi = { class: "lze-grid-2" }, Vi = ["aria-label"], Hi = { class: "lze-dialog-actions" }, Ui = /* @__PURE__ */ c({
5918
+ ], $i = { class: "lze-grid-2" }, ea = { class: "lze-grid-2" }, ta = ["aria-label"], na = { class: "lze-dialog-actions" }, ra = /* @__PURE__ */ c({
5470
5919
  __name: "ThemeDialog",
5471
5920
  setup(r) {
5472
5921
  let c = G(), l = c.t, d = {
@@ -5498,11 +5947,11 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5498
5947
  function k() {
5499
5948
  Bt(c.state.draft, S.value), c.commit();
5500
5949
  }
5501
- async function A() {
5950
+ async function ee() {
5502
5951
  v.value = !0, g.value = await c.updateSite({ theme: S.value }), v.value = !1, g.value.length === 0 && (p.value = !1, c.notify(l("theme.saved")));
5503
5952
  }
5504
- let ee = (e) => S.value[e];
5505
- return (t, r) => (_(), n(mr, {
5953
+ let j = (e) => S.value[e];
5954
+ return (t, r) => (_(), n(Dr, {
5506
5955
  open: D(p),
5507
5956
  "onUpdate:open": r[5] ||= (e) => u(p) ? p.value = e : null,
5508
5957
  title: D(l)("theme.title"),
@@ -5512,17 +5961,17 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5512
5961
  default: N(() => [a("link", {
5513
5962
  rel: "stylesheet",
5514
5963
  href: D(Vt)([S.value.heading_font, S.value.body_font])
5515
- }, null, 8, Ei), a("form", {
5964
+ }, null, 8, Bi), a("form", {
5516
5965
  class: "lze-stack",
5517
5966
  novalidate: "",
5518
- onSubmit: F(A, ["prevent"])
5967
+ onSubmit: P(ee, ["prevent"])
5519
5968
  }, [
5520
- a("section", Di, [a("h3", Oi, T(D(l)("theme.palettes")), 1), a("div", ki, [(_(!0), i(e, null, x(D(At), (t) => (_(), i("button", {
5969
+ a("section", Vi, [a("h3", Hi, T(D(l)("theme.palettes")), 1), a("div", Ui, [(_(!0), i(e, null, x(D(At), (t) => (_(), i("button", {
5521
5970
  key: t.name,
5522
5971
  type: "button",
5523
5972
  class: "lze-palette-choice",
5524
5973
  onClick: (e) => E(t.colors)
5525
- }, [a("span", ji, [(_(), i(e, null, x([
5974
+ }, [a("span", Gi, [(_(), i(e, null, x([
5526
5975
  "primary",
5527
5976
  "secondary",
5528
5977
  "surface"
@@ -5530,34 +5979,34 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5530
5979
  key: e,
5531
5980
  class: "lze-dot",
5532
5981
  style: m({ background: t.colors[e] })
5533
- }, null, 4)), 64))]), o(" " + T(D(l)(t.name)), 1)], 8, Ai))), 128))])]),
5534
- a("section", Mi, [
5535
- a("div", Ni, [a("h3", Pi, T(D(l)("theme.colors")), 1), s(q, { onClick: k }, {
5982
+ }, null, 4)), 64))]), o(" " + T(D(l)(t.name)), 1)], 8, Wi))), 128))])]),
5983
+ a("section", Ki, [
5984
+ a("div", qi, [a("h3", Ji, T(D(l)("theme.colors")), 1), s(q, { onClick: k }, {
5536
5985
  default: N(() => [o(T(D(l)("theme.link")), 1)]),
5537
5986
  _: 1
5538
5987
  })]),
5539
- a("p", Fi, T(D(l)("theme.linkHint")), 1),
5540
- a("div", Ii, [(_(!0), i(e, null, x(D(Dt), (e) => (_(), i("div", {
5988
+ a("p", Yi, T(D(l)("theme.linkHint")), 1),
5989
+ a("div", Xi, [(_(!0), i(e, null, x(D(Dt), (e) => (_(), i("div", {
5541
5990
  key: e,
5542
5991
  class: "lze-theme-color"
5543
5992
  }, [
5544
5993
  a("span", null, T(D(l)(`token.${e}`)), 1),
5545
- P(a("input", {
5994
+ ne(a("input", {
5546
5995
  "onUpdate:modelValue": (t) => h[e] = t,
5547
5996
  class: "lze-input lze-hex",
5548
5997
  maxlength: "7",
5549
5998
  spellcheck: "false",
5550
5999
  "aria-label": D(l)("theme.hex", { label: D(l)(`token.${e}`) })
5551
- }, null, 8, Li), [[j, h[e]]]),
6000
+ }, null, 8, Zi), [[A, h[e]]]),
5552
6001
  a("input", {
5553
6002
  type: "color",
5554
- value: ee(e),
6003
+ value: j(e),
5555
6004
  "aria-label": D(l)(`token.${e}`),
5556
6005
  onInput: (t) => h[e] = t.target.value
5557
- }, null, 40, Ri)
6006
+ }, null, 40, Qi)
5558
6007
  ]))), 128))])
5559
6008
  ]),
5560
- a("section", zi, [s(Y, {
6009
+ a("section", $i, [s(Y, {
5561
6010
  id: d.heading,
5562
6011
  label: D(l)("theme.headingFont")
5563
6012
  }, {
@@ -5588,7 +6037,7 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5588
6037
  ])]),
5589
6038
  _: 1
5590
6039
  }, 8, ["id", "label"])]),
5591
- a("section", Bi, [s($, {
6040
+ a("section", ea, [s($, {
5592
6041
  "model-value": h.radius,
5593
6042
  label: D(l)("theme.radius"),
5594
6043
  min: 0,
@@ -5642,13 +6091,13 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5642
6091
  fontFamily: `'${S.value.body_font}', sans-serif`
5643
6092
  })
5644
6093
  }, T(D(l)("theme.previewButton")), 5)
5645
- ], 12, Vi),
6094
+ ], 12, ta),
5646
6095
  (_(!0), i(e, null, x(g.value, (e) => (_(), i("p", {
5647
6096
  key: e.path + e.message,
5648
6097
  class: "lze-error",
5649
6098
  role: "alert"
5650
6099
  }, T(e.path ? `${e.path}: ` : "") + T(e.message), 1))), 128)),
5651
- a("div", Hi, [s(q, {
6100
+ a("div", na, [s(q, {
5652
6101
  variant: "primary",
5653
6102
  size: "md",
5654
6103
  type: "submit",
@@ -5671,36 +6120,36 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5671
6120
  "description"
5672
6121
  ]));
5673
6122
  }
5674
- }), Wi = {
6123
+ }), ia = {
5675
6124
  key: 0,
5676
6125
  class: "lze-rows"
5677
- }, Gi = {
6126
+ }, aa = {
5678
6127
  key: 0,
5679
6128
  class: "lze-hint"
5680
- }, Ki = {
6129
+ }, oa = {
5681
6130
  key: 1,
5682
6131
  class: "lze-hint"
5683
- }, qi = /* @__PURE__ */ c({
6132
+ }, sa = /* @__PURE__ */ c({
5684
6133
  __name: "VersionsDialog",
5685
6134
  setup(c) {
5686
6135
  let l = G(), d = l.t, f = l.dialogModel("versions"), p = t(() => l.state.page?.versions ?? []), m = new Intl.DateTimeFormat(l.i18n.locale, {
5687
6136
  dateStyle: "medium",
5688
6137
  timeStyle: "short"
5689
6138
  });
5690
- return (t, c) => (_(), n(mr, {
6139
+ return (t, c) => (_(), n(Dr, {
5691
6140
  open: D(f),
5692
6141
  "onUpdate:open": c[0] ||= (e) => u(f) ? f.value = e : null,
5693
6142
  title: D(d)("versions.title"),
5694
6143
  description: D(d)("versions.description"),
5695
6144
  size: "lg"
5696
6145
  }, {
5697
- default: N(() => [p.value.length > 0 ? (_(), i("ul", Wi, [(_(!0), i(e, null, x(p.value, (e) => (_(), i("li", {
6146
+ default: N(() => [p.value.length > 0 ? (_(), i("ul", ia, [(_(!0), i(e, null, x(p.value, (e) => (_(), i("li", {
5698
6147
  key: e.id,
5699
6148
  class: "lze-row-item"
5700
- }, [a("div", null, [a("p", null, T(D(m).format(new Date(e.createdAt))), 1), e.by ? (_(), i("p", Gi, T(D(d)("versions.by", { name: e.by })), 1)) : r("", !0)]), s(q, { onClick: (t) => D(l).restoreVersion(e.id) }, {
6149
+ }, [a("div", null, [a("p", null, T(D(m).format(new Date(e.createdAt))), 1), e.by ? (_(), i("p", aa, T(D(d)("versions.by", { name: e.by })), 1)) : r("", !0)]), s(q, { onClick: (t) => D(l).restoreVersion(e.id) }, {
5701
6150
  default: N(() => [o(T(D(d)("versions.restore")), 1)]),
5702
6151
  _: 1
5703
- }, 8, ["onClick"])]))), 128))])) : (_(), i("p", Ki, T(D(d)("versions.empty")), 1))]),
6152
+ }, 8, ["onClick"])]))), 128))])) : (_(), i("p", oa, T(D(d)("versions.empty")), 1))]),
5704
6153
  _: 1
5705
6154
  }, 8, [
5706
6155
  "open",
@@ -5708,21 +6157,21 @@ var ei = { class: "lze-field" }, ti = ["id"], ni = ["value"], ri = {
5708
6157
  "description"
5709
6158
  ]));
5710
6159
  }
5711
- }), Ji = /*#__PURE__*/ JSON.parse("{\"activity\":[[\"path\",{\"d\":\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\"}]],\"arrow-right\":[[\"path\",{\"d\":\"M5 12h14\"}],[\"path\",{\"d\":\"m12 5 7 7-7 7\"}]],\"arrow-up-right\":[[\"path\",{\"d\":\"M7 7h10v10\"}],[\"path\",{\"d\":\"M7 17 17 7\"}]],\"award\":[[\"path\",{\"d\":\"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"6\"}]],\"badge-check\":[[\"path\",{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}],[\"path\",{\"d\":\"m16 9-5.5 5.5L8 12\"}]],\"baby\":[[\"path\",{\"d\":\"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5\"}],[\"path\",{\"d\":\"M15 12h.01\"}],[\"path\",{\"d\":\"M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1\"}],[\"path\",{\"d\":\"M9 12h.01\"}]],\"banknote\":[[\"rect\",{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}],[\"path\",{\"d\":\"M6 12h.01M18 12h.01\"}]],\"bone\":[[\"path\",{\"d\":\"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z\"}]],\"brush\":[[\"path\",{\"d\":\"m11 10 3 3\"}],[\"path\",{\"d\":\"M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z\"}],[\"path\",{\"d\":\"M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031\"}]],\"bus\":[[\"path\",{\"d\":\"M8 6v6\"}],[\"path\",{\"d\":\"M15 6v6\"}],[\"path\",{\"d\":\"M2 12h19.6\"}],[\"path\",{\"d\":\"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3\"}],[\"circle\",{\"cx\":\"7\",\"cy\":\"18\",\"r\":\"2\"}],[\"path\",{\"d\":\"M9 18h5\"}],[\"circle\",{\"cx\":\"16\",\"cy\":\"18\",\"r\":\"2\"}]],\"calendar\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}]],\"calendar-check\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}],[\"path\",{\"d\":\"m9 15 2 2 4-4\"}]],\"calendar-days\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}],[\"path\",{\"d\":\"M8 13h.01\"}],[\"path\",{\"d\":\"M12 13h.01\"}],[\"path\",{\"d\":\"M16 13h.01\"}],[\"path\",{\"d\":\"M8 17h.01\"}],[\"path\",{\"d\":\"M12 17h.01\"}],[\"path\",{\"d\":\"M16 17h.01\"}]],\"camera\":[[\"path\",{\"d\":\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"3\"}]],\"car\":[[\"path\",{\"d\":\"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2\"}],[\"circle\",{\"cx\":\"7\",\"cy\":\"17\",\"r\":\"2\"}],[\"path\",{\"d\":\"M9 17h6\"}],[\"circle\",{\"cx\":\"17\",\"cy\":\"17\",\"r\":\"2\"}]],\"check\":[[\"path\",{\"d\":\"M20 6 9 17l-5-5\"}]],\"chevron-right\":[[\"path\",{\"d\":\"m9 18 6-6-6-6\"}]],\"circle-check\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"m16 9-5.5 5.5L8 12\"}]],\"clipboard-list\":[[\"rect\",{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}],[\"path\",{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}],[\"path\",{\"d\":\"M12 11h4\"}],[\"path\",{\"d\":\"M12 16h4\"}],[\"path\",{\"d\":\"M8 11h.01\"}],[\"path\",{\"d\":\"M8 16h.01\"}]],\"clock\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"M12 6v6l4 2\"}]],\"coffee\":[[\"path\",{\"d\":\"M10 2v2\"}],[\"path\",{\"d\":\"M14 2v2\"}],[\"path\",{\"d\":\"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1\"}],[\"path\",{\"d\":\"M6 2v2\"}]],\"credit-card\":[[\"rect\",{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"5\",\"rx\":\"2\"}],[\"line\",{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"10\",\"y2\":\"10\"}],[\"path\",{\"d\":\"M6 14h2\"}]],\"droplet\":[[\"path\",{\"d\":\"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z\"}]],\"file-text\":[[\"path\",{\"d\":\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"}],[\"path\",{\"d\":\"M14 2v5a1 1 0 0 0 1 1h5\"}],[\"path\",{\"d\":\"M10 9H8\"}],[\"path\",{\"d\":\"M16 13H8\"}],[\"path\",{\"d\":\"M16 17H8\"}]],\"gift\":[[\"path\",{\"d\":\"M12 7v14\"}],[\"path\",{\"d\":\"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8\"}],[\"path\",{\"d\":\"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5\"}],[\"rect\",{\"x\":\"3\",\"y\":\"7\",\"width\":\"18\",\"height\":\"4\",\"rx\":\"1\"}]],\"globe\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"}],[\"path\",{\"d\":\"M2 12h20\"}]],\"hand-heart\":[[\"path\",{\"d\":\"M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16\"}],[\"path\",{\"d\":\"m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95\"}],[\"path\",{\"d\":\"m2 15 6 6\"}],[\"path\",{\"d\":\"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91\"}]],\"heart\":[[\"path\",{\"d\":\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\"}]],\"heart-pulse\":[[\"path\",{\"d\":\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\"}],[\"path\",{\"d\":\"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27\"}]],\"house\":[[\"path\",{\"d\":\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"}],[\"path\",{\"d\":\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}]],\"image\":[[\"rect\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}],[\"circle\",{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}],[\"path\",{\"d\":\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}]],\"leaf\":[[\"path\",{\"d\":\"M11 20a10 10 0 0010-10 25.9 25.9 0 00-1.04-7.281 1 1 0 00-1.755-.325C15.833 5.5 13 5.5 9.8 6.1A7 7 0 0011 20\"}],[\"path\",{\"d\":\"M2 21a5 5 0 012.911-4.544C7.613 15.212 8.351 15.24 11 13\"}]],\"lightbulb\":[[\"path\",{\"d\":\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\"}],[\"path\",{\"d\":\"M9 18h6\"}],[\"path\",{\"d\":\"M10 22h4\"}]],\"mail\":[[\"path\",{\"d\":\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"}],[\"rect\",{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\"}]],\"map-pin\":[[\"path\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}]],\"message-circle\":[[\"path\",{\"d\":\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\"}]],\"microscope\":[[\"path\",{\"d\":\"M6 18h8\"}],[\"path\",{\"d\":\"M3 22h18\"}],[\"path\",{\"d\":\"M14 22a7 7 0 1 0 0-14h-1\"}],[\"path\",{\"d\":\"M9 14h2\"}],[\"path\",{\"d\":\"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z\"}],[\"path\",{\"d\":\"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3\"}]],\"moon\":[[\"path\",{\"d\":\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"}]],\"percent\":[[\"line\",{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"5\",\"y2\":\"19\"}],[\"circle\",{\"cx\":\"6.5\",\"cy\":\"6.5\",\"r\":\"2.5\"}],[\"circle\",{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}]],\"phone\":[[\"path\",{\"d\":\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\"}]],\"pill\":[[\"path\",{\"d\":\"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z\"}],[\"path\",{\"d\":\"m8.5 8.5 7 7\"}]],\"play\":[[\"path\",{\"d\":\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\"}]],\"quote\":[[\"path\",{\"d\":\"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\"}],[\"path\",{\"d\":\"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\"}]],\"scissors\":[[\"circle\",{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}],[\"path\",{\"d\":\"M8.12 8.12 12 12\"}],[\"path\",{\"d\":\"M20 4 8.12 15.88\"}],[\"circle\",{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}],[\"path\",{\"d\":\"M14.8 14.8 20 20\"}]],\"send\":[[\"path\",{\"d\":\"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\"}],[\"path\",{\"d\":\"m21.854 2.147-10.94 10.939\"}]],\"share-2\":[[\"circle\",{\"cx\":\"18\",\"cy\":\"5\",\"r\":\"3\"}],[\"circle\",{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"3\"}],[\"circle\",{\"cx\":\"18\",\"cy\":\"19\",\"r\":\"3\"}],[\"line\",{\"x1\":\"8.59\",\"x2\":\"15.42\",\"y1\":\"13.51\",\"y2\":\"17.49\"}],[\"line\",{\"x1\":\"15.41\",\"x2\":\"8.59\",\"y1\":\"6.51\",\"y2\":\"10.49\"}]],\"shield-check\":[[\"path\",{\"d\":\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"}],[\"path\",{\"d\":\"m9 12 2 2 4-4\"}]],\"sparkles\":[[\"path\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"path\",{\"d\":\"M20 2v4\"}],[\"path\",{\"d\":\"M22 4h-4\"}],[\"circle\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}]],\"star\":[[\"path\",{\"d\":\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"}]],\"stethoscope\":[[\"path\",{\"d\":\"M11 2v2\"}],[\"path\",{\"d\":\"M5 2v2\"}],[\"path\",{\"d\":\"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\"}],[\"path\",{\"d\":\"M8 15a6 6 0 0 0 12 0v-3\"}],[\"circle\",{\"cx\":\"20\",\"cy\":\"10\",\"r\":\"2\"}]],\"sun\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}],[\"path\",{\"d\":\"M12 2v2\"}],[\"path\",{\"d\":\"M12 20v2\"}],[\"path\",{\"d\":\"m4.93 4.93 1.41 1.41\"}],[\"path\",{\"d\":\"m17.66 17.66 1.41 1.41\"}],[\"path\",{\"d\":\"M2 12h2\"}],[\"path\",{\"d\":\"M20 12h2\"}],[\"path\",{\"d\":\"m6.34 17.66-1.41 1.41\"}],[\"path\",{\"d\":\"m19.07 4.93-1.41 1.41\"}]],\"syringe\":[[\"path\",{\"d\":\"m18 2 4 4\"}],[\"path\",{\"d\":\"m17 7 3-3\"}],[\"path\",{\"d\":\"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5\"}],[\"path\",{\"d\":\"m9 11 4 4\"}],[\"path\",{\"d\":\"m5 19-3 3\"}],[\"path\",{\"d\":\"m14 4 6 6\"}]],\"thumbs-up\":[[\"path\",{\"d\":\"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\"}],[\"path\",{\"d\":\"M7 10v12\"}]],\"timer\":[[\"line\",{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"2\"}],[\"line\",{\"x1\":\"12\",\"x2\":\"15\",\"y1\":\"14\",\"y2\":\"11\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"8\"}]],\"user\":[[\"path\",{\"d\":\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"7\",\"r\":\"4\"}]],\"users\":[[\"path\",{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}],[\"path\",{\"d\":\"M16 3.128a4 4 0 0 1 0 7.744\"}],[\"path\",{\"d\":\"M22 21v-2a4 4 0 0 0-3-3.87\"}],[\"circle\",{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}]],\"video\":[[\"path\",{\"d\":\"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\"}],[\"rect\",{\"x\":\"2\",\"y\":\"6\",\"width\":\"14\",\"height\":\"12\",\"rx\":\"2\"}]],\"wallet\":[[\"path\",{\"d\":\"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1\"}],[\"path\",{\"d\":\"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4\"}]],\"wifi\":[[\"path\",{\"d\":\"M12 20h.01\"}],[\"path\",{\"d\":\"M2 8.82a15 15 0 0 1 20 0\"}],[\"path\",{\"d\":\"M5 12.859a10 10 0 0 1 14 0\"}],[\"path\",{\"d\":\"M8.5 16.429a5 5 0 0 1 7 0\"}]],\"at-sign\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}],[\"path\",{\"d\":\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\"}]]}"), Yi = /* @__PURE__ */ new Set([
6160
+ }), ca = /*#__PURE__*/ JSON.parse("{\"activity\":[[\"path\",{\"d\":\"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2\"}]],\"arrow-right\":[[\"path\",{\"d\":\"M5 12h14\"}],[\"path\",{\"d\":\"m12 5 7 7-7 7\"}]],\"arrow-up-right\":[[\"path\",{\"d\":\"M7 7h10v10\"}],[\"path\",{\"d\":\"M7 17 17 7\"}]],\"award\":[[\"path\",{\"d\":\"m15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"8\",\"r\":\"6\"}]],\"badge-check\":[[\"path\",{\"d\":\"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z\"}],[\"path\",{\"d\":\"m16 9-5.5 5.5L8 12\"}]],\"baby\":[[\"path\",{\"d\":\"M10 16c.5.3 1.2.5 2 .5s1.5-.2 2-.5\"}],[\"path\",{\"d\":\"M15 12h.01\"}],[\"path\",{\"d\":\"M19.38 6.813A9 9 0 0 1 20.8 10.2a2 2 0 0 1 0 3.6 9 9 0 0 1-17.6 0 2 2 0 0 1 0-3.6A9 9 0 0 1 12 3c2 0 3.5 1.1 3.5 2.5s-.9 2.5-2 2.5c-.8 0-1.5-.4-1.5-1\"}],[\"path\",{\"d\":\"M9 12h.01\"}]],\"banknote\":[[\"rect\",{\"width\":\"20\",\"height\":\"12\",\"x\":\"2\",\"y\":\"6\",\"rx\":\"2\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"2\"}],[\"path\",{\"d\":\"M6 12h.01M18 12h.01\"}]],\"bone\":[[\"path\",{\"d\":\"M17 10c.7-.7 1.69 0 2.5 0a2.5 2.5 0 1 0 0-5 .5.5 0 0 1-.5-.5 2.5 2.5 0 1 0-5 0c0 .81.7 1.8 0 2.5l-7 7c-.7.7-1.69 0-2.5 0a2.5 2.5 0 0 0 0 5c.28 0 .5.22.5.5a2.5 2.5 0 1 0 5 0c0-.81-.7-1.8 0-2.5Z\"}]],\"brush\":[[\"path\",{\"d\":\"m11 10 3 3\"}],[\"path\",{\"d\":\"M6.5 21A3.5 3.5 0 1 0 3 17.5a2.62 2.62 0 0 1-.708 1.792A1 1 0 0 0 3 21z\"}],[\"path\",{\"d\":\"M9.969 17.031 21.378 5.624a1 1 0 0 0-3.002-3.002L6.967 14.031\"}]],\"bus\":[[\"path\",{\"d\":\"M8 6v6\"}],[\"path\",{\"d\":\"M15 6v6\"}],[\"path\",{\"d\":\"M2 12h19.6\"}],[\"path\",{\"d\":\"M18 18h3s.5-1.7.8-2.8c.1-.4.2-.8.2-1.2 0-.4-.1-.8-.2-1.2l-1.4-5C20.1 6.8 19.1 6 18 6H4a2 2 0 0 0-2 2v10h3\"}],[\"circle\",{\"cx\":\"7\",\"cy\":\"18\",\"r\":\"2\"}],[\"path\",{\"d\":\"M9 18h5\"}],[\"circle\",{\"cx\":\"16\",\"cy\":\"18\",\"r\":\"2\"}]],\"calendar\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}]],\"calendar-check\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}],[\"path\",{\"d\":\"m9 15 2 2 4-4\"}]],\"calendar-days\":[[\"path\",{\"d\":\"M8 2v3\"}],[\"path\",{\"d\":\"M16 2v3\"}],[\"rect\",{\"x\":\"3\",\"y\":\"3\",\"width\":\"18\",\"height\":\"18\",\"rx\":\"2\"}],[\"path\",{\"d\":\"M3 9h18\"}],[\"path\",{\"d\":\"M8 13h.01\"}],[\"path\",{\"d\":\"M12 13h.01\"}],[\"path\",{\"d\":\"M16 13h.01\"}],[\"path\",{\"d\":\"M8 17h.01\"}],[\"path\",{\"d\":\"M12 17h.01\"}],[\"path\",{\"d\":\"M16 17h.01\"}]],\"camera\":[[\"path\",{\"d\":\"M13.997 4a2 2 0 0 1 1.76 1.05l.486.9A2 2 0 0 0 18.003 7H20a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V9a2 2 0 0 1 2-2h1.997a2 2 0 0 0 1.759-1.048l.489-.904A2 2 0 0 1 10.004 4z\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"13\",\"r\":\"3\"}]],\"car\":[[\"path\",{\"d\":\"M19 17h2c.6 0 1-.4 1-1v-3c0-.9-.7-1.7-1.5-1.9C18.7 10.6 16 10 16 10s-1.3-1.4-2.2-2.3c-.5-.4-1.1-.7-1.8-.7H5c-.6 0-1.1.4-1.4.9l-1.4 2.9A3.7 3.7 0 0 0 2 12v4c0 .6.4 1 1 1h2\"}],[\"circle\",{\"cx\":\"7\",\"cy\":\"17\",\"r\":\"2\"}],[\"path\",{\"d\":\"M9 17h6\"}],[\"circle\",{\"cx\":\"17\",\"cy\":\"17\",\"r\":\"2\"}]],\"check\":[[\"path\",{\"d\":\"M20 6 9 17l-5-5\"}]],\"chevron-right\":[[\"path\",{\"d\":\"m9 18 6-6-6-6\"}]],\"circle-check\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"m16 9-5.5 5.5L8 12\"}]],\"clipboard-list\":[[\"rect\",{\"width\":\"8\",\"height\":\"4\",\"x\":\"8\",\"y\":\"2\",\"rx\":\"1\",\"ry\":\"1\"}],[\"path\",{\"d\":\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\"}],[\"path\",{\"d\":\"M12 11h4\"}],[\"path\",{\"d\":\"M12 16h4\"}],[\"path\",{\"d\":\"M8 11h.01\"}],[\"path\",{\"d\":\"M8 16h.01\"}]],\"clock\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"M12 6v6l4 2\"}]],\"coffee\":[[\"path\",{\"d\":\"M10 2v2\"}],[\"path\",{\"d\":\"M14 2v2\"}],[\"path\",{\"d\":\"M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1\"}],[\"path\",{\"d\":\"M6 2v2\"}]],\"credit-card\":[[\"rect\",{\"width\":\"20\",\"height\":\"14\",\"x\":\"2\",\"y\":\"5\",\"rx\":\"2\"}],[\"line\",{\"x1\":\"2\",\"x2\":\"22\",\"y1\":\"10\",\"y2\":\"10\"}],[\"path\",{\"d\":\"M6 14h2\"}]],\"droplet\":[[\"path\",{\"d\":\"M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z\"}]],\"file-text\":[[\"path\",{\"d\":\"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z\"}],[\"path\",{\"d\":\"M14 2v5a1 1 0 0 0 1 1h5\"}],[\"path\",{\"d\":\"M10 9H8\"}],[\"path\",{\"d\":\"M16 13H8\"}],[\"path\",{\"d\":\"M16 17H8\"}]],\"gift\":[[\"path\",{\"d\":\"M12 7v14\"}],[\"path\",{\"d\":\"M20 11v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8\"}],[\"path\",{\"d\":\"M7.5 7a1 1 0 0 1 0-5A4.8 8 0 0 1 12 7a4.8 8 0 0 1 4.5-5 1 1 0 0 1 0 5\"}],[\"rect\",{\"x\":\"3\",\"y\":\"7\",\"width\":\"18\",\"height\":\"4\",\"rx\":\"1\"}]],\"globe\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"path\",{\"d\":\"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20\"}],[\"path\",{\"d\":\"M2 12h20\"}]],\"hand-heart\":[[\"path\",{\"d\":\"M11 14h2a2 2 0 0 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 16\"}],[\"path\",{\"d\":\"m14.45 13.39 5.05-4.694C20.196 8 21 6.85 21 5.75a2.75 2.75 0 0 0-4.797-1.837.276.276 0 0 1-.406 0A2.75 2.75 0 0 0 11 5.75c0 1.2.802 2.248 1.5 2.946L16 11.95\"}],[\"path\",{\"d\":\"m2 15 6 6\"}],[\"path\",{\"d\":\"m7 20 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a1 1 0 0 0-2.75-2.91\"}]],\"heart\":[[\"path\",{\"d\":\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\"}]],\"heart-pulse\":[[\"path\",{\"d\":\"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5\"}],[\"path\",{\"d\":\"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27\"}]],\"house\":[[\"path\",{\"d\":\"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8\"}],[\"path\",{\"d\":\"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}]],\"image\":[[\"rect\",{\"width\":\"18\",\"height\":\"18\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\",\"ry\":\"2\"}],[\"circle\",{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}],[\"path\",{\"d\":\"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}]],\"leaf\":[[\"path\",{\"d\":\"M11 20a10 10 0 0010-10 25.9 25.9 0 00-1.04-7.281 1 1 0 00-1.755-.325C15.833 5.5 13 5.5 9.8 6.1A7 7 0 0011 20\"}],[\"path\",{\"d\":\"M2 21a5 5 0 012.911-4.544C7.613 15.212 8.351 15.24 11 13\"}]],\"lightbulb\":[[\"path\",{\"d\":\"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5\"}],[\"path\",{\"d\":\"M9 18h6\"}],[\"path\",{\"d\":\"M10 22h4\"}]],\"mail\":[[\"path\",{\"d\":\"m22 7-8.991 5.727a2 2 0 0 1-2.009 0L2 7\"}],[\"rect\",{\"x\":\"2\",\"y\":\"4\",\"width\":\"20\",\"height\":\"16\",\"rx\":\"2\"}]],\"map-pin\":[[\"path\",{\"d\":\"M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"10\",\"r\":\"3\"}]],\"message-circle\":[[\"path\",{\"d\":\"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719\"}]],\"microscope\":[[\"path\",{\"d\":\"M6 18h8\"}],[\"path\",{\"d\":\"M3 22h18\"}],[\"path\",{\"d\":\"M14 22a7 7 0 1 0 0-14h-1\"}],[\"path\",{\"d\":\"M9 14h2\"}],[\"path\",{\"d\":\"M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z\"}],[\"path\",{\"d\":\"M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3\"}]],\"moon\":[[\"path\",{\"d\":\"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401\"}]],\"percent\":[[\"line\",{\"x1\":\"19\",\"x2\":\"5\",\"y1\":\"5\",\"y2\":\"19\"}],[\"circle\",{\"cx\":\"6.5\",\"cy\":\"6.5\",\"r\":\"2.5\"}],[\"circle\",{\"cx\":\"17.5\",\"cy\":\"17.5\",\"r\":\"2.5\"}]],\"phone\":[[\"path\",{\"d\":\"M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384\"}]],\"pill\":[[\"path\",{\"d\":\"m10.5 20.5 10-10a4.95 4.95 0 1 0-7-7l-10 10a4.95 4.95 0 1 0 7 7Z\"}],[\"path\",{\"d\":\"m8.5 8.5 7 7\"}]],\"play\":[[\"path\",{\"d\":\"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z\"}]],\"quote\":[[\"path\",{\"d\":\"M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\"}],[\"path\",{\"d\":\"M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z\"}]],\"scissors\":[[\"circle\",{\"cx\":\"6\",\"cy\":\"6\",\"r\":\"3\"}],[\"path\",{\"d\":\"M8.12 8.12 12 12\"}],[\"path\",{\"d\":\"M20 4 8.12 15.88\"}],[\"circle\",{\"cx\":\"6\",\"cy\":\"18\",\"r\":\"3\"}],[\"path\",{\"d\":\"M14.8 14.8 20 20\"}]],\"send\":[[\"path\",{\"d\":\"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z\"}],[\"path\",{\"d\":\"m21.854 2.147-10.94 10.939\"}]],\"share-2\":[[\"circle\",{\"cx\":\"18\",\"cy\":\"5\",\"r\":\"3\"}],[\"circle\",{\"cx\":\"6\",\"cy\":\"12\",\"r\":\"3\"}],[\"circle\",{\"cx\":\"18\",\"cy\":\"19\",\"r\":\"3\"}],[\"line\",{\"x1\":\"8.59\",\"x2\":\"15.42\",\"y1\":\"13.51\",\"y2\":\"17.49\"}],[\"line\",{\"x1\":\"15.41\",\"x2\":\"8.59\",\"y1\":\"6.51\",\"y2\":\"10.49\"}]],\"shield-check\":[[\"path\",{\"d\":\"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\"}],[\"path\",{\"d\":\"m9 12 2 2 4-4\"}]],\"sparkles\":[[\"path\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"path\",{\"d\":\"M20 2v4\"}],[\"path\",{\"d\":\"M22 4h-4\"}],[\"circle\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}]],\"star\":[[\"path\",{\"d\":\"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z\"}]],\"stethoscope\":[[\"path\",{\"d\":\"M11 2v2\"}],[\"path\",{\"d\":\"M5 2v2\"}],[\"path\",{\"d\":\"M5 3H4a2 2 0 0 0-2 2v4a6 6 0 0 0 12 0V5a2 2 0 0 0-2-2h-1\"}],[\"path\",{\"d\":\"M8 15a6 6 0 0 0 12 0v-3\"}],[\"circle\",{\"cx\":\"20\",\"cy\":\"10\",\"r\":\"2\"}]],\"sun\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}],[\"path\",{\"d\":\"M12 2v2\"}],[\"path\",{\"d\":\"M12 20v2\"}],[\"path\",{\"d\":\"m4.93 4.93 1.41 1.41\"}],[\"path\",{\"d\":\"m17.66 17.66 1.41 1.41\"}],[\"path\",{\"d\":\"M2 12h2\"}],[\"path\",{\"d\":\"M20 12h2\"}],[\"path\",{\"d\":\"m6.34 17.66-1.41 1.41\"}],[\"path\",{\"d\":\"m19.07 4.93-1.41 1.41\"}]],\"syringe\":[[\"path\",{\"d\":\"m18 2 4 4\"}],[\"path\",{\"d\":\"m17 7 3-3\"}],[\"path\",{\"d\":\"M19 9 8.7 19.3c-1 1-2.5 1-3.4 0l-.6-.6c-1-1-1-2.5 0-3.4L15 5\"}],[\"path\",{\"d\":\"m9 11 4 4\"}],[\"path\",{\"d\":\"m5 19-3 3\"}],[\"path\",{\"d\":\"m14 4 6 6\"}]],\"thumbs-up\":[[\"path\",{\"d\":\"M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z\"}],[\"path\",{\"d\":\"M7 10v12\"}]],\"timer\":[[\"line\",{\"x1\":\"10\",\"x2\":\"14\",\"y1\":\"2\",\"y2\":\"2\"}],[\"line\",{\"x1\":\"12\",\"x2\":\"15\",\"y1\":\"14\",\"y2\":\"11\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"14\",\"r\":\"8\"}]],\"user\":[[\"path\",{\"d\":\"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2\"}],[\"circle\",{\"cx\":\"12\",\"cy\":\"7\",\"r\":\"4\"}]],\"users\":[[\"path\",{\"d\":\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"}],[\"path\",{\"d\":\"M16 3.128a4 4 0 0 1 0 7.744\"}],[\"path\",{\"d\":\"M22 21v-2a4 4 0 0 0-3-3.87\"}],[\"circle\",{\"cx\":\"9\",\"cy\":\"7\",\"r\":\"4\"}]],\"video\":[[\"path\",{\"d\":\"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5\"}],[\"rect\",{\"x\":\"2\",\"y\":\"6\",\"width\":\"14\",\"height\":\"12\",\"rx\":\"2\"}]],\"wallet\":[[\"path\",{\"d\":\"M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1\"}],[\"path\",{\"d\":\"M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4\"}]],\"wifi\":[[\"path\",{\"d\":\"M12 20h.01\"}],[\"path\",{\"d\":\"M2 8.82a15 15 0 0 1 20 0\"}],[\"path\",{\"d\":\"M5 12.859a10 10 0 0 1 14 0\"}],[\"path\",{\"d\":\"M8.5 16.429a5 5 0 0 1 7 0\"}]],\"at-sign\":[[\"circle\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"4\"}],[\"path\",{\"d\":\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-4 8\"}]]}"), la = /* @__PURE__ */ new Set([
5712
6161
  "path",
5713
6162
  "circle",
5714
6163
  "rect",
5715
6164
  "line"
5716
- ]), Xi = (e) => Array.isArray(e) && e.length === 2 && typeof e[0] == "string" && Yi.has(e[0]) && typeof e[1] == "object" && e[1] !== null && Object.values(e[1]).every((e) => typeof e == "string");
5717
- function Zi(e) {
6165
+ ]), ua = (e) => Array.isArray(e) && e.length === 2 && typeof e[0] == "string" && la.has(e[0]) && typeof e[1] == "object" && e[1] !== null && Object.values(e[1]).every((e) => typeof e == "string");
6166
+ function da(e) {
5718
6167
  let t = typeof e == "object" && e ? Object.entries(e) : [];
5719
- return new Map(t.flatMap(([e, t]) => Array.isArray(t) && t.every(Xi) ? [[e, t]] : []));
6168
+ return new Map(t.flatMap(([e, t]) => Array.isArray(t) && t.every(ua) ? [[e, t]] : []));
5720
6169
  }
5721
- var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6170
+ var fa = da(ca), pa = [...fa.keys()], ma = [
5722
6171
  "width",
5723
6172
  "height",
5724
6173
  "stroke-width"
5725
- ], ta = /* @__PURE__ */ c({
6174
+ ], ha = /* @__PURE__ */ c({
5726
6175
  __name: "CatalogIcon",
5727
6176
  props: {
5728
6177
  name: {},
@@ -5730,7 +6179,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5730
6179
  stroke: { default: 2 }
5731
6180
  },
5732
6181
  setup(r) {
5733
- let a = r, o = t(() => Qi.get(a.name) ?? []);
6182
+ let a = r, o = t(() => fa.get(a.name) ?? []);
5734
6183
  return (t, a) => (_(), i("svg", {
5735
6184
  width: r.size,
5736
6185
  height: r.size,
@@ -5741,23 +6190,23 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5741
6190
  "stroke-linecap": "round",
5742
6191
  "stroke-linejoin": "round",
5743
6192
  "aria-hidden": "true"
5744
- }, [(_(!0), i(e, null, x(o.value, (e, t) => (_(), n(C(e[0]), f({ key: t }, { ref_for: !0 }, e[1]), null, 16))), 128))], 8, ea));
6193
+ }, [(_(!0), i(e, null, x(o.value, (e, t) => (_(), n(C(e[0]), f({ key: t }, { ref_for: !0 }, e[1]), null, 16))), 128))], 8, ma));
5745
6194
  }
5746
- }), na = {
6195
+ }), ga = {
5747
6196
  heading: Ye,
5748
6197
  text: fe,
5749
- image: De,
6198
+ image: Oe,
5750
6199
  button: Fe,
5751
- divider: Ne,
6200
+ divider: Pe,
5752
6201
  video: Qe,
5753
6202
  shape: Ge,
5754
6203
  icon: We,
5755
- navbar: Me,
6204
+ navbar: Ne,
5756
6205
  input: qe,
5757
6206
  textarea: Re,
5758
- select: ke,
6207
+ select: Ae,
5759
6208
  checkbox: Ke
5760
- }, ra = /* @__PURE__ */ c({
6209
+ }, _a = /* @__PURE__ */ c({
5761
6210
  __name: "ElementIcon",
5762
6211
  props: {
5763
6212
  element: {},
@@ -5765,81 +6214,81 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5765
6214
  },
5766
6215
  setup(e) {
5767
6216
  let r = e, i = G(), a = t(() => i.kindOf(r.element));
5768
- return (t, r) => a.value.kind === "core" ? (_(), n(C(D(na)[a.value.element.type]), {
6217
+ return (t, r) => a.value.kind === "core" ? (_(), n(C(D(ga)[a.value.element.type]), {
5769
6218
  key: 0,
5770
6219
  size: e.size,
5771
6220
  "aria-hidden": "true"
5772
- }, null, 8, ["size"])) : a.value.kind === "app" ? (_(), n(ta, {
6221
+ }, null, 8, ["size"])) : a.value.kind === "app" ? (_(), n(ha, {
5773
6222
  key: 1,
5774
6223
  name: a.value.spec.icon,
5775
6224
  size: e.size
5776
- }, null, 8, ["name", "size"])) : (_(), n(D(be), {
6225
+ }, null, 8, ["name", "size"])) : (_(), n(D(xe), {
5777
6226
  key: 2,
5778
6227
  size: e.size,
5779
6228
  "aria-hidden": "true"
5780
6229
  }, null, 8, ["size"]));
5781
6230
  }
5782
- }), ia = { class: "lze-sidebar lze-left" }, aa = {
6231
+ }), va = { class: "lze-sidebar lze-left" }, ya = {
5783
6232
  class: "lze-tabs",
5784
6233
  role: "tablist"
5785
- }, oa = ["aria-selected", "onClick"], sa = {
6234
+ }, ba = ["aria-selected", "onClick"], xa = {
5786
6235
  key: 0,
5787
6236
  class: "lze-scroll lze-stack",
5788
6237
  role: "tabpanel"
5789
- }, ca = { class: "lze-palette" }, la = [
6238
+ }, Sa = { class: "lze-palette" }, Ca = [
5790
6239
  "title",
5791
6240
  "onPointerdown",
5792
6241
  "onClick"
5793
- ], ua = { class: "lze-group-title" }, da = { class: "lze-palette" }, fa = [
6242
+ ], wa = { class: "lze-group-title" }, Ta = { class: "lze-palette" }, Ea = [
5794
6243
  "title",
5795
6244
  "onPointerdown",
5796
6245
  "onClick"
5797
- ], pa = { class: "lze-hint" }, ma = { class: "lze-group-title" }, ha = { class: "lze-list" }, ga = ["onClick"], _a = { class: "lze-group-title" }, va = { class: "lze-palette" }, ya = [
6246
+ ], Da = { class: "lze-hint" }, Oa = { class: "lze-group-title" }, ka = { class: "lze-list" }, Aa = ["onClick"], ja = { class: "lze-group-title" }, Ma = { class: "lze-palette" }, Na = [
5798
6247
  "title",
5799
6248
  "onPointerdown",
5800
6249
  "onClick"
5801
- ], ba = { class: "lze-hint" }, xa = {
6250
+ ], Pa = { class: "lze-hint" }, Fa = {
5802
6251
  key: 1,
5803
6252
  class: "lze-scroll",
5804
6253
  role: "tabpanel"
5805
- }, Sa = { class: "lze-heading lze-pad" }, Ca = { class: "lze-muted" }, wa = ["data-selected"], Ta = ["aria-label", "onClick"], Ea = ["onClick"], Da = { class: "lze-muted" }, Oa = {
6254
+ }, Ia = { class: "lze-heading lze-pad" }, La = { class: "lze-muted" }, Ra = ["data-selected"], za = ["aria-label", "onClick"], Ba = ["onClick"], Va = { class: "lze-muted" }, Ha = {
5806
6255
  key: 0,
5807
6256
  class: "lze-layer-actions"
5808
- }, ka = [
6257
+ }, Ua = [
5809
6258
  "aria-label",
5810
6259
  "disabled",
5811
6260
  "onClick"
5812
- ], Aa = [
6261
+ ], Wa = [
5813
6262
  "aria-label",
5814
6263
  "disabled",
5815
6264
  "onClick"
5816
- ], ja = { class: "lze-layer-children" }, Ma = ["data-selected"], Na = ["onClick"], Pa = [
6265
+ ], Ga = { class: "lze-layer-children" }, Ka = ["data-selected"], qa = ["onClick"], Ja = [
5817
6266
  "data-locked",
5818
6267
  "title",
5819
6268
  "aria-label",
5820
6269
  "onClick"
5821
- ], Fa = {
6270
+ ], Ya = {
5822
6271
  key: 0,
5823
6272
  class: "lze-hint lze-pad"
5824
- }, Ia = {
6273
+ }, Xa = {
5825
6274
  key: 2,
5826
6275
  class: "lze-scroll",
5827
6276
  role: "tabpanel"
5828
- }, La = { class: "lze-heading lze-pad" }, Ra = { class: "lze-hint" }, za = { class: "lze-stack lze-pad" }, Ba = ["data-active"], Va = { class: "lze-row" }, Ha = ["onUpdate:modelValue", "aria-label"], Ua = ["aria-label", "onClick"], Wa = { class: "lze-heading" }, Ga = { class: "lze-muted" }, Ka = ["onClick"], qa = {
6277
+ }, Za = { class: "lze-heading lze-pad" }, Qa = { class: "lze-hint" }, $a = { class: "lze-stack lze-pad" }, eo = ["data-active"], to = { class: "lze-row" }, no = ["onUpdate:modelValue", "aria-label"], ro = ["aria-label", "onClick"], io = { class: "lze-heading" }, ao = { class: "lze-muted" }, oo = ["onClick"], so = {
5829
6278
  key: 0,
5830
6279
  class: "lze-hint"
5831
- }, Ja = {
6280
+ }, co = {
5832
6281
  key: 3,
5833
6282
  class: "lze-scroll",
5834
6283
  role: "tabpanel"
5835
- }, Ya = { class: "lze-heading lze-pad" }, Xa = { class: "lze-hint" }, Za = { class: "lze-media-grid lze-pad" }, Qa = [
6284
+ }, lo = { class: "lze-heading lze-pad" }, uo = { class: "lze-hint" }, fo = { class: "lze-media-grid lze-pad" }, po = [
5836
6285
  "title",
5837
6286
  "onPointerdown",
5838
6287
  "onClick"
5839
- ], $a = ["src", "alt"], eo = {
6288
+ ], mo = ["src", "alt"], ho = {
5840
6289
  key: 0,
5841
6290
  class: "lze-hint"
5842
- }, to = /* @__PURE__ */ c({
6291
+ }, go = /* @__PURE__ */ c({
5843
6292
  __name: "LeftSidebar",
5844
6293
  props: { dropPoint: { type: Function } },
5845
6294
  setup(c) {
@@ -5852,7 +6301,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5852
6301
  {
5853
6302
  key: "layers",
5854
6303
  label: "tabs.layers",
5855
- icon: Oe
6304
+ icon: ke
5856
6305
  },
5857
6306
  {
5858
6307
  key: "modals",
@@ -5862,7 +6311,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5862
6311
  {
5863
6312
  key: "media",
5864
6313
  label: "tabs.media",
5865
- icon: De
6314
+ icon: Oe
5866
6315
  }
5867
6316
  ], h = et.filter((e) => Wt[e].group === "content"), g = et.filter((e) => Wt[e].group === "form"), v = b(null);
5868
6317
  function y(e, t, n, r) {
@@ -5897,7 +6346,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5897
6346
  e.detail === 0 && u.addElement(t, void 0, n);
5898
6347
  }
5899
6348
  let O = (e) => d(Wt[e].label), k = b([]);
5900
- function A(e) {
6349
+ function ee(e) {
5901
6350
  k.value = k.value.includes(e) ? k.value.filter((t) => t !== e) : [...k.value, e];
5902
6351
  }
5903
6352
  let M = t(() => u.state.selection.kind === "elements" ? u.state.selection.ids : []), te = (e) => u.state.selection.kind === "canvas" && u.state.selection.canvas === e;
@@ -5905,12 +6354,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5905
6354
  let t = u.kindOf(e);
5906
6355
  return Yt(e, t.kind === "core" ? d(t.spec.label) : t.kind === "app" ? u.i18n.localized(t.spec.label) : d("type.unknown"));
5907
6356
  }
5908
- function F(e) {
6357
+ function P(e) {
5909
6358
  e.locked = !e.locked, u.commit();
5910
6359
  }
5911
- let ne = t(() => u.state.draft.modals ?? []);
5912
- return (t, c) => (_(), i("aside", ia, [
5913
- a("div", aa, [(_(), i(e, null, x(p, (e) => a("button", {
6360
+ let re = t(() => u.state.draft.modals ?? []);
6361
+ return (t, c) => (_(), i("aside", va, [
6362
+ a("div", ya, [(_(), i(e, null, x(p, (e) => a("button", {
5914
6363
  key: e.key,
5915
6364
  type: "button",
5916
6365
  role: "tab",
@@ -5919,9 +6368,9 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5919
6368
  }, [(_(), n(C(e.icon), {
5920
6369
  size: 16,
5921
6370
  "aria-hidden": "true"
5922
- })), o(T(D(d)(e.label)), 1)], 8, oa)), 64))]),
5923
- f.value === "elements" ? (_(), i("div", sa, [
5924
- a("div", ca, [(_(!0), i(e, null, x(D(h), (e) => (_(), i("button", {
6371
+ })), o(T(D(d)(e.label)), 1)], 8, ba)), 64))]),
6372
+ f.value === "elements" ? (_(), i("div", xa, [
6373
+ a("div", Sa, [(_(!0), i(e, null, x(D(h), (e) => (_(), i("button", {
5925
6374
  key: e,
5926
6375
  type: "button",
5927
6376
  class: "lze-palette-item",
@@ -5937,13 +6386,13 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5937
6386
  onPointermove: S,
5938
6387
  onPointerup: w,
5939
6388
  onPointercancel: c[0] ||= (e) => v.value = null
5940
- }, [(_(), n(C(D(na)[e]), {
6389
+ }, [(_(), n(C(D(ga)[e]), {
5941
6390
  size: 16,
5942
6391
  "aria-hidden": "true"
5943
- })), o(T(O(e)), 1)], 40, la))), 128))]),
6392
+ })), o(T(O(e)), 1)], 40, Ca))), 128))]),
5944
6393
  D(u).catalog.value.elements.length ? (_(), i(e, { key: 0 }, [
5945
- a("p", ua, T(D(d)("elements.app")), 1),
5946
- a("div", da, [(_(!0), i(e, null, x(D(u).catalog.value.elements, (e) => (_(), i("button", {
6394
+ a("p", wa, T(D(d)("elements.app")), 1),
6395
+ a("div", Ta, [(_(!0), i(e, null, x(D(u).catalog.value.elements, (e) => (_(), i("button", {
5947
6396
  key: e.type,
5948
6397
  type: "button",
5949
6398
  class: "lze-palette-item",
@@ -5959,21 +6408,21 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5959
6408
  onPointermove: S,
5960
6409
  onPointerup: w,
5961
6410
  onPointercancel: c[1] ||= (e) => v.value = null
5962
- }, [s(ta, {
6411
+ }, [s(ha, {
5963
6412
  name: e.icon,
5964
6413
  size: 16
5965
- }, null, 8, ["name"]), o(T(D(u).i18n.localized(e.label)), 1)], 40, fa))), 128))]),
5966
- a("p", pa, T(D(d)("elements.appHint")), 1)
6414
+ }, null, 8, ["name"]), o(T(D(u).i18n.localized(e.label)), 1)], 40, Ea))), 128))]),
6415
+ a("p", Da, T(D(d)("elements.appHint")), 1)
5967
6416
  ], 64)) : r("", !0),
5968
- a("p", ma, T(D(d)("elements.sections")), 1),
5969
- a("div", ha, [(_(!0), i(e, null, x(D(ln), (e) => (_(), i("button", {
6417
+ a("p", Oa, T(D(d)("elements.sections")), 1),
6418
+ a("div", ka, [(_(!0), i(e, null, x(D(ln), (e) => (_(), i("button", {
5970
6419
  key: e.key,
5971
6420
  type: "button",
5972
6421
  class: "lze-list-item",
5973
6422
  onClick: (t) => D(u).addSection(D(fn)(e.key))
5974
- }, T(D(d)(e.name)), 9, ga))), 128))]),
5975
- a("p", _a, T(D(d)("elements.form")), 1),
5976
- a("div", va, [(_(!0), i(e, null, x(D(g), (e) => (_(), i("button", {
6423
+ }, T(D(d)(e.name)), 9, Aa))), 128))]),
6424
+ a("p", ja, T(D(d)("elements.form")), 1),
6425
+ a("div", Ma, [(_(!0), i(e, null, x(D(g), (e) => (_(), i("button", {
5977
6426
  key: e,
5978
6427
  type: "button",
5979
6428
  class: "lze-palette-item",
@@ -5989,12 +6438,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
5989
6438
  onPointermove: S,
5990
6439
  onPointerup: w,
5991
6440
  onPointercancel: c[2] ||= (e) => v.value = null
5992
- }, [(_(), n(C(D(na)[e]), {
6441
+ }, [(_(), n(C(D(ga)[e]), {
5993
6442
  size: 16,
5994
6443
  "aria-hidden": "true"
5995
- })), o(T(O(e)), 1)], 40, ya))), 128))]),
5996
- a("p", ba, T(D(d)("elements.formHint")), 1)
5997
- ])) : f.value === "layers" ? (_(), i("div", xa, [a("div", Sa, [a("span", Ca, T(D(u).activeModal.value ? D(d)("layers.modal", { title: D(u).activeModal.value.title }) : D(d)("layers.count", { n: D(u).state.draft.sections.length })), 1), D(u).activeModal.value ? r("", !0) : (_(), i("button", {
6444
+ })), o(T(O(e)), 1)], 40, Na))), 128))]),
6445
+ a("p", Pa, T(D(d)("elements.formHint")), 1)
6446
+ ])) : f.value === "layers" ? (_(), i("div", Fa, [a("div", Ia, [a("span", La, T(D(u).activeModal.value ? D(d)("layers.modal", { title: D(u).activeModal.value.title }) : D(d)("layers.count", { n: D(u).state.draft.sections.length })), 1), D(u).activeModal.value ? r("", !0) : (_(), i("button", {
5998
6447
  key: 0,
5999
6448
  type: "button",
6000
6449
  class: "lze-btn",
@@ -6014,44 +6463,44 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6014
6463
  type: "button",
6015
6464
  class: "lze-icon-btn",
6016
6465
  "aria-label": k.value.includes(t.id) ? D(d)("layers.expand") : D(d)("layers.collapse"),
6017
- onClick: (e) => A(t.id)
6018
- }, [s(D(ve), {
6466
+ onClick: (e) => ee(t.id)
6467
+ }, [s(D(ye), {
6019
6468
  size: 14,
6020
6469
  style: m({ transform: k.value.includes(t.id) ? "rotate(-90deg)" : void 0 }),
6021
6470
  "aria-hidden": "true"
6022
- }, null, 8, ["style"])], 8, Ta),
6471
+ }, null, 8, ["style"])], 8, za),
6023
6472
  a("button", {
6024
6473
  type: "button",
6025
6474
  class: "lze-layer-name",
6026
6475
  onClick: (e) => D(u).selectCanvas(t.id)
6027
6476
  }, [
6028
- s(D(Te), {
6477
+ s(D(Ee), {
6029
6478
  size: 14,
6030
6479
  "aria-hidden": "true"
6031
6480
  }),
6032
6481
  a("span", null, T(D(rt)(t) ? t.title : D(d)("layers.section", { n: o + 1 })), 1),
6033
- a("span", Da, T(t.elements.length), 1)
6034
- ], 8, Ea),
6035
- D(rt)(t) ? r("", !0) : (_(), i("span", Oa, [a("button", {
6482
+ a("span", Va, T(t.elements.length), 1)
6483
+ ], 8, Ba),
6484
+ D(rt)(t) ? r("", !0) : (_(), i("span", Ha, [a("button", {
6036
6485
  type: "button",
6037
6486
  class: "lze-icon-btn",
6038
6487
  "aria-label": D(d)("layers.up"),
6039
6488
  disabled: o === 0,
6040
6489
  onClick: (e) => D(u).moveSection(o, -1)
6041
- }, [s(D(ye), {
6490
+ }, [s(D(be), {
6042
6491
  size: 14,
6043
6492
  "aria-hidden": "true"
6044
- })], 8, ka), a("button", {
6493
+ })], 8, Ua), a("button", {
6045
6494
  type: "button",
6046
6495
  class: "lze-icon-btn",
6047
6496
  "aria-label": D(d)("layers.down"),
6048
6497
  disabled: o === D(u).canvases.value.length - 1,
6049
6498
  onClick: (e) => D(u).moveSection(o, 1)
6050
- }, [s(D(ve), {
6499
+ }, [s(D(ye), {
6051
6500
  size: 14,
6052
6501
  "aria-hidden": "true"
6053
- })], 8, Aa)]))
6054
- ], 8, wa), P(a("div", ja, [(_(!0), i(e, null, x(t.elements, (e) => (_(), i("div", {
6502
+ })], 8, Wa)]))
6503
+ ], 8, Ra), ne(a("div", Ga, [(_(!0), i(e, null, x(t.elements, (e) => (_(), i("div", {
6055
6504
  key: e.id,
6056
6505
  class: "lze-layer-row",
6057
6506
  "data-selected": M.value.includes(e.id)
@@ -6059,22 +6508,22 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6059
6508
  type: "button",
6060
6509
  class: "lze-layer-name",
6061
6510
  onClick: (n) => D(u).select(t.id, e.id, n.shiftKey)
6062
- }, [s(ra, { element: e }, null, 8, ["element"]), a("span", null, T(N(e)), 1)], 8, Na), a("button", {
6511
+ }, [s(_a, { element: e }, null, 8, ["element"]), a("span", null, T(N(e)), 1)], 8, qa), a("button", {
6063
6512
  type: "button",
6064
6513
  class: "lze-icon-btn lze-lock-toggle",
6065
6514
  "data-locked": e.locked === !0,
6066
6515
  title: e.locked ? D(d)("layers.unlock") : D(d)("layers.lock"),
6067
6516
  "aria-label": e.locked ? D(d)("layers.unlock") : D(d)("layers.lock"),
6068
- onClick: (t) => F(e)
6069
- }, [e.locked ? (_(), n(D(Ae), {
6517
+ onClick: (t) => P(e)
6518
+ }, [e.locked ? (_(), n(D(je), {
6070
6519
  key: 0,
6071
6520
  size: 12,
6072
6521
  "aria-hidden": "true"
6073
- })) : (_(), n(D(je), {
6522
+ })) : (_(), n(D(Me), {
6074
6523
  key: 1,
6075
6524
  size: 12,
6076
6525
  "aria-hidden": "true"
6077
- }))], 8, Pa)], 8, Ma))), 128)), t.elements.length === 0 ? (_(), i("p", Fa, T(D(d)("layers.empty")), 1)) : r("", !0)], 512), [[ee, !k.value.includes(t.id)]])]))), 128))])) : f.value === "modals" ? (_(), i("div", Ia, [a("div", La, [a("span", Ra, T(D(d)("modals.hint")), 1), a("button", {
6526
+ }))], 8, Ja)], 8, Ka))), 128)), t.elements.length === 0 ? (_(), i("p", Ya, T(D(d)("layers.empty")), 1)) : r("", !0)], 512), [[j, !k.value.includes(t.id)]])]))), 128))])) : f.value === "modals" ? (_(), i("div", Xa, [a("div", Za, [a("span", Qa, T(D(d)("modals.hint")), 1), a("button", {
6078
6527
  type: "button",
6079
6528
  class: "lze-btn",
6080
6529
  "data-variant": "ghost",
@@ -6082,17 +6531,17 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6082
6531
  }, [s(D(ze), {
6083
6532
  size: 14,
6084
6533
  "aria-hidden": "true"
6085
- }), o(T(D(d)("common.new")), 1)])]), a("div", za, [(_(!0), i(e, null, x(ne.value, (e) => (_(), i("div", {
6534
+ }), o(T(D(d)("common.new")), 1)])]), a("div", $a, [(_(!0), i(e, null, x(re.value, (e) => (_(), i("div", {
6086
6535
  key: e.id,
6087
6536
  class: "lze-card",
6088
6537
  "data-active": D(u).state.view.kind === "modal" && D(u).state.view.id === e.id
6089
- }, [a("div", Va, [P(a("input", {
6538
+ }, [a("div", to, [ne(a("input", {
6090
6539
  "onUpdate:modelValue": (t) => e.title = t,
6091
6540
  class: "lze-input",
6092
6541
  maxlength: "120",
6093
6542
  "aria-label": D(d)("modals.titleLabel"),
6094
6543
  onChange: c[5] ||= (e) => D(u).commit()
6095
- }, null, 40, Ha), [[j, e.title]]), a("button", {
6544
+ }, null, 40, no), [[A, e.title]]), a("button", {
6096
6545
  type: "button",
6097
6546
  class: "lze-icon-btn",
6098
6547
  "data-tone": "danger",
@@ -6101,11 +6550,11 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6101
6550
  }, [s(D(Je), {
6102
6551
  size: 14,
6103
6552
  "aria-hidden": "true"
6104
- })], 8, Ua)]), a("div", Wa, [a("span", Ga, T(D(d)("modals.elements", { n: e.elements.length })), 1), a("button", {
6553
+ })], 8, ro)]), a("div", io, [a("span", ao, T(D(d)("modals.elements", { n: e.elements.length })), 1), a("button", {
6105
6554
  type: "button",
6106
6555
  class: "lze-btn",
6107
6556
  onClick: (t) => D(u).openModal(D(u).state.view.kind === "modal" && D(u).state.view.id === e.id ? null : e.id)
6108
- }, T(D(u).state.view.kind === "modal" && D(u).state.view.id === e.id ? D(d)("common.close") : D(d)("modals.edit")), 9, Ka)])], 8, Ba))), 128)), ne.value.length === 0 ? (_(), i("p", qa, T(D(d)("modals.empty")), 1)) : r("", !0)])])) : (_(), i("div", Ja, [a("div", Ya, [a("span", Xa, T(D(d)("media.hint")), 1), a("button", {
6557
+ }, T(D(u).state.view.kind === "modal" && D(u).state.view.id === e.id ? D(d)("common.close") : D(d)("modals.edit")), 9, oo)])], 8, eo))), 128)), re.value.length === 0 ? (_(), i("p", so, T(D(d)("modals.empty")), 1)) : r("", !0)])])) : (_(), i("div", co, [a("div", lo, [a("span", uo, T(D(d)("media.hint")), 1), a("button", {
6109
6558
  type: "button",
6110
6559
  class: "lze-btn",
6111
6560
  "data-variant": "ghost",
@@ -6113,7 +6562,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6113
6562
  }, [s(D(ze), {
6114
6563
  size: 14,
6115
6564
  "aria-hidden": "true"
6116
- }), o(T(D(d)("media.upload")), 1)])]), a("div", Za, [(_(!0), i(e, null, x(D(u).state.workspace.assets, (e) => (_(), i("button", {
6565
+ }), o(T(D(d)("media.upload")), 1)])]), a("div", fo, [(_(!0), i(e, null, x(D(u).state.workspace.assets, (e) => (_(), i("button", {
6117
6566
  key: e.id,
6118
6567
  type: "button",
6119
6568
  class: "lze-media-item",
@@ -6134,7 +6583,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6134
6583
  alt: e.name,
6135
6584
  loading: "lazy",
6136
6585
  draggable: "false"
6137
- }, null, 8, $a)], 40, Qa))), 128)), D(u).state.workspace.assets.length === 0 ? (_(), i("p", eo, T(D(d)("media.empty")), 1)) : r("", !0)])])),
6586
+ }, null, 8, mo)], 40, po))), 128)), D(u).state.workspace.assets.length === 0 ? (_(), i("p", ho, T(D(d)("media.empty")), 1)) : r("", !0)])])),
6138
6587
  v.value?.moved ? (_(), i("p", {
6139
6588
  key: 4,
6140
6589
  class: "lze-drag-ghost",
@@ -6145,7 +6594,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6145
6594
  }, T(v.value.label), 5)) : r("", !0)
6146
6595
  ]));
6147
6596
  }
6148
- }), no = /* @__PURE__ */ c({
6597
+ }), _o = /* @__PURE__ */ c({
6149
6598
  __name: "AppContent",
6150
6599
  props: {
6151
6600
  element: {},
@@ -6159,7 +6608,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6159
6608
  [e]: t
6160
6609
  };
6161
6610
  }
6162
- return (r, s) => (_(!0), i(e, null, x(t.spec.fields, (e) => (_(), n(ai, {
6611
+ return (r, s) => (_(!0), i(e, null, x(t.spec.fields, (e) => (_(), n(yi, {
6163
6612
  key: e.key,
6164
6613
  field: e,
6165
6614
  "model-value": t.element.props[e.key],
@@ -6171,7 +6620,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6171
6620
  "onUpdate:modelValue"
6172
6621
  ]))), 128));
6173
6622
  }
6174
- }), ro = /* @__PURE__ */ c({
6623
+ }), vo = /* @__PURE__ */ c({
6175
6624
  __name: "ButtonContent",
6176
6625
  props: { element: {} },
6177
6626
  setup(t) {
@@ -6189,7 +6638,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6189
6638
  }, null, 8, ["id", "modelValue"])]),
6190
6639
  _: 1
6191
6640
  }, 8, ["id", "label"]), s(Y, { label: D(r)("el.action") }, {
6192
- default: N(() => [s(ii, {
6641
+ default: N(() => [s(_i, {
6193
6642
  modelValue: t.element.props.action,
6194
6643
  "onUpdate:modelValue": c[2] ||= (e) => t.element.props.action = e,
6195
6644
  label: D(r)("el.action"),
@@ -6198,7 +6647,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6198
6647
  _: 1
6199
6648
  }, 8, ["label"])], 64));
6200
6649
  }
6201
- }), io = 30, ao = /* @__PURE__ */ c({
6650
+ }), yo = 30, bo = /* @__PURE__ */ c({
6202
6651
  __name: "FormFieldContent",
6203
6652
  props: { element: {} },
6204
6653
  setup(t) {
@@ -6218,7 +6667,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6218
6667
  label: c(`el.inputType.${e}`)
6219
6668
  })), d = b((a.element.props.options ?? []).join("\n"));
6220
6669
  function f(e) {
6221
- d.value = e ?? "", a.element.props.options = d.value.split("\n").map((e) => e.trim()).filter(Boolean).slice(0, io);
6670
+ d.value = e ?? "", a.element.props.options = d.value.split("\n").map((e) => e.trim()).filter(Boolean).slice(0, yo);
6222
6671
  }
6223
6672
  return (a, p) => (_(), i(e, null, [
6224
6673
  s(Y, {
@@ -6271,43 +6720,50 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6271
6720
  "label",
6272
6721
  "hint"
6273
6722
  ])) : r("", !0),
6274
- t.element.type === "checkbox" ? r("", !0) : (_(), n(Y, {
6723
+ t.element.type === "select" ? (_(), n(li, {
6275
6724
  key: 2,
6725
+ modelValue: t.element.props.multiple,
6726
+ "onUpdate:modelValue": p[5] ||= (e) => t.element.props.multiple = e,
6727
+ label: D(c)("el.multiple"),
6728
+ onCommit: p[6] ||= (e) => D(o).commit()
6729
+ }, null, 8, ["modelValue", "label"])) : r("", !0),
6730
+ t.element.type !== "checkbox" && !(t.element.type === "select" && t.element.props.multiple) ? (_(), n(Y, {
6731
+ key: 3,
6276
6732
  id: l.placeholder,
6277
6733
  label: D(c)("el.placeholder")
6278
6734
  }, {
6279
6735
  default: N(() => [s(X, {
6280
6736
  id: l.placeholder,
6281
6737
  modelValue: t.element.props.placeholder,
6282
- "onUpdate:modelValue": p[5] ||= (e) => t.element.props.placeholder = e,
6738
+ "onUpdate:modelValue": p[7] ||= (e) => t.element.props.placeholder = e,
6283
6739
  maxlength: 120,
6284
- onCommit: p[6] ||= (e) => D(o).commit()
6740
+ onCommit: p[8] ||= (e) => D(o).commit()
6285
6741
  }, null, 8, ["id", "modelValue"])]),
6286
6742
  _: 1
6287
- }, 8, ["id", "label"])),
6288
- s(Xr, {
6743
+ }, 8, ["id", "label"])) : r("", !0),
6744
+ s(li, {
6289
6745
  modelValue: t.element.props.required,
6290
- "onUpdate:modelValue": p[7] ||= (e) => t.element.props.required = e,
6746
+ "onUpdate:modelValue": p[9] ||= (e) => t.element.props.required = e,
6291
6747
  label: D(c)("el.required"),
6292
- onCommit: p[8] ||= (e) => D(o).commit()
6748
+ onCommit: p[10] ||= (e) => D(o).commit()
6293
6749
  }, null, 8, ["modelValue", "label"])
6294
6750
  ], 64));
6295
6751
  }
6296
- }), oo = ["aria-label"], so = [
6752
+ }), xo = ["aria-label"], So = [
6297
6753
  "title",
6298
6754
  "aria-label",
6299
6755
  "aria-pressed",
6300
6756
  "onClick"
6301
- ], co = {
6757
+ ], Co = {
6302
6758
  key: 0,
6303
6759
  class: "lze-hint"
6304
- }, lo = /* @__PURE__ */ c({
6760
+ }, wo = /* @__PURE__ */ c({
6305
6761
  __name: "IconContent",
6306
6762
  props: { element: {} },
6307
6763
  setup(n) {
6308
6764
  let o = n, c = G(), l = c.t, u = O(), d = b(""), f = t(() => {
6309
6765
  let e = d.value.trim().toLowerCase();
6310
- return e ? $i.filter((t) => t.includes(e)) : $i;
6766
+ return e ? pa.filter((t) => t.includes(e)) : pa;
6311
6767
  });
6312
6768
  function p(e) {
6313
6769
  o.element.props.icon = e, c.commit();
@@ -6338,10 +6794,10 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6338
6794
  "aria-label": e,
6339
6795
  "aria-pressed": n.element.props.icon === e,
6340
6796
  onClick: (t) => p(e)
6341
- }, [s(ta, {
6797
+ }, [s(ha, {
6342
6798
  name: e,
6343
6799
  size: 20
6344
- }, null, 8, ["name"])], 8, so))), 128)), f.value.length === 0 ? (_(), i("p", co, T(D(l)("el.noResults")), 1)) : r("", !0)], 8, oo)]),
6800
+ }, null, 8, ["name"])], 8, So))), 128)), f.value.length === 0 ? (_(), i("p", Co, T(D(l)("el.noResults")), 1)) : r("", !0)], 8, xo)]),
6345
6801
  _: 1
6346
6802
  }, 8, ["id", "label"]), s($, {
6347
6803
  modelValue: n.element.props.stroke,
@@ -6354,7 +6810,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6354
6810
  onCommit: o[2] ||= (e) => D(c).commit()
6355
6811
  }, null, 8, ["modelValue", "label"])], 64));
6356
6812
  }
6357
- }), uo = [
6813
+ }), To = [
6358
6814
  "rectangle",
6359
6815
  "ellipse",
6360
6816
  "triangle",
@@ -6363,10 +6819,10 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6363
6819
  "diagonal",
6364
6820
  "dots",
6365
6821
  "grid"
6366
- ], fo = (e) => uo.map((t) => ({
6822
+ ], Eo = (e) => To.map((t) => ({
6367
6823
  value: t,
6368
6824
  label: e(`shape.${t}`)
6369
- })), po = /* @__PURE__ */ c({
6825
+ })), Do = /* @__PURE__ */ c({
6370
6826
  __name: "ImageContent",
6371
6827
  props: { element: {} },
6372
6828
  setup(t) {
@@ -6379,7 +6835,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6379
6835
  label: r(`el.fit.${e}`)
6380
6836
  }));
6381
6837
  return (c, l) => (_(), i(e, null, [
6382
- s(Br, {
6838
+ s($r, {
6383
6839
  modelValue: t.element.props.src,
6384
6840
  "onUpdate:modelValue": l[0] ||= (e) => t.element.props.src = e,
6385
6841
  label: D(r)("el.image"),
@@ -6429,7 +6885,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6429
6885
  id: a.crop,
6430
6886
  modelValue: t.element.props.shape,
6431
6887
  "onUpdate:modelValue": l[6] ||= (e) => t.element.props.shape = e,
6432
- options: D(fo)(D(r)),
6888
+ options: D(Eo)(D(r)),
6433
6889
  onCommit: l[7] ||= (e) => D(n).commit()
6434
6890
  }, null, 8, [
6435
6891
  "id",
@@ -6440,17 +6896,18 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6440
6896
  }, 8, ["id", "label"])
6441
6897
  ], 64));
6442
6898
  }
6443
- }), mo = { class: "lze-field" }, ho = { class: "lze-label" }, go = { class: "lze-row" }, _o = {
6899
+ }), Oo = { class: "lze-field" }, ko = { class: "lze-label" }, Ao = { class: "lze-row" }, jo = {
6444
6900
  key: 1,
6445
6901
  class: "lze-hint"
6446
- }, vo = { class: "lze-field" }, yo = { class: "lze-heading" }, bo = { class: "lze-label" }, xo = { class: "lze-row lze-nowrap" }, So = { class: "lze-hint" }, Co = 8, wo = /* @__PURE__ */ c({
6902
+ }, Mo = { class: "lze-field" }, No = { class: "lze-heading" }, Po = { class: "lze-label" }, Fo = { class: "lze-row lze-nowrap" }, Io = { class: "lze-hint" }, Lo = 8, Ro = /* @__PURE__ */ c({
6447
6903
  __name: "NavbarContent",
6448
6904
  props: { element: {} },
6449
6905
  setup(r) {
6450
6906
  let c = r, l = G(), u = l.t, d = {
6451
6907
  brand: O(),
6452
6908
  scroll: O(),
6453
- layout: O()
6909
+ layout: O(),
6910
+ template: O()
6454
6911
  }, f = Gt(u), p = [
6455
6912
  "same",
6456
6913
  "shadow",
@@ -6460,14 +6917,23 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6460
6917
  value: e,
6461
6918
  label: u(`el.scroll.${e}`)
6462
6919
  })), m = [
6920
+ "plain",
6921
+ "pill",
6922
+ "card",
6923
+ "underline",
6924
+ "divided"
6925
+ ].map((e) => ({
6926
+ value: e,
6927
+ label: u(`el.navbarTemplate.${e}`)
6928
+ })), h = [
6463
6929
  "split",
6464
6930
  "left",
6465
6931
  "center"
6466
6932
  ].map((e) => ({
6467
6933
  value: e,
6468
6934
  label: u(`el.layout.${e}`)
6469
- })), h = t(() => c.element.props.links ?? []);
6470
- function g(e) {
6935
+ })), g = t(() => c.element.props.links ?? []);
6936
+ function v(e) {
6471
6937
  c.element.props = {
6472
6938
  ...c.element.props,
6473
6939
  ...V(e.props)
@@ -6476,8 +6942,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6476
6942
  ...V(e.style)
6477
6943
  }, l.commit();
6478
6944
  }
6479
- function v() {
6480
- c.element.props.links = [...h.value, {
6945
+ function y() {
6946
+ c.element.props.links = [...g.value, {
6481
6947
  label: u("default.link"),
6482
6948
  action: {
6483
6949
  type: "anchor",
@@ -6485,13 +6951,13 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6485
6951
  }
6486
6952
  }], l.commit();
6487
6953
  }
6488
- function y(e) {
6489
- c.element.props.links = h.value.filter((t, n) => n !== e), l.commit();
6954
+ function b(e) {
6955
+ c.element.props.links = g.value.filter((t, n) => n !== e), l.commit();
6490
6956
  }
6491
6957
  return (t, c) => (_(), i(e, null, [
6492
- a("div", mo, [a("span", ho, T(D(u)("el.presets")), 1), a("div", go, [(_(!0), i(e, null, x(D(f), (e) => (_(), n(q, {
6958
+ a("div", Oo, [a("span", ko, T(D(u)("el.presets")), 1), a("div", Ao, [(_(!0), i(e, null, x(D(f), (e) => (_(), n(q, {
6493
6959
  key: e.name,
6494
- onClick: (t) => g(e)
6960
+ onClick: (t) => v(e)
6495
6961
  }, {
6496
6962
  default: N(() => [o(T(D(u)(e.name)), 1)]),
6497
6963
  _: 2
@@ -6514,7 +6980,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6514
6980
  ])]),
6515
6981
  _: 1
6516
6982
  }, 8, ["id", "label"]),
6517
- s(Xr, {
6983
+ s(li, {
6518
6984
  modelValue: r.element.props.sticky,
6519
6985
  "onUpdate:modelValue": c[2] ||= (e) => r.element.props.sticky = e,
6520
6986
  label: D(u)("el.sticky"),
@@ -6537,7 +7003,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6537
7003
  "options"
6538
7004
  ])]),
6539
7005
  _: 1
6540
- }, 8, ["id", "label"])) : (_(), i("p", _o, T(D(u)("el.notSticky")), 1)),
7006
+ }, 8, ["id", "label"])) : (_(), i("p", jo, T(D(u)("el.notSticky")), 1)),
6541
7007
  s(Y, {
6542
7008
  id: d.layout,
6543
7009
  label: D(u)("el.layout")
@@ -6545,7 +7011,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6545
7011
  default: N(() => [s(Q, {
6546
7012
  id: d.layout,
6547
7013
  "model-value": r.element.props.layout ?? "split",
6548
- options: D(m),
7014
+ options: D(h),
6549
7015
  "onUpdate:modelValue": c[6] ||= (e) => r.element.props.layout = e,
6550
7016
  onCommit: c[7] ||= (e) => D(l).commit()
6551
7017
  }, null, 8, [
@@ -6555,52 +7021,69 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6555
7021
  ])]),
6556
7022
  _: 1
6557
7023
  }, 8, ["id", "label"]),
6558
- a("div", vo, [
6559
- a("div", yo, [a("span", bo, T(D(u)("el.links")), 1), s(q, {
6560
- disabled: h.value.length >= Co,
6561
- onClick: v
7024
+ s(Y, {
7025
+ id: d.template,
7026
+ label: D(u)("el.navbarTemplate")
7027
+ }, {
7028
+ default: N(() => [s(Q, {
7029
+ id: d.template,
7030
+ "model-value": r.element.props.template ?? "plain",
7031
+ options: D(m),
7032
+ "onUpdate:modelValue": c[8] ||= (e) => r.element.props.template = e,
7033
+ onCommit: c[9] ||= (e) => D(l).commit()
7034
+ }, null, 8, [
7035
+ "id",
7036
+ "model-value",
7037
+ "options"
7038
+ ])]),
7039
+ _: 1
7040
+ }, 8, ["id", "label"]),
7041
+ a("div", Mo, [
7042
+ a("div", No, [a("span", Po, T(D(u)("el.links")), 1), s(q, {
7043
+ disabled: g.value.length >= Lo,
7044
+ onClick: y
6562
7045
  }, {
6563
7046
  default: N(() => [o(T(D(u)("common.add")), 1)]),
6564
7047
  _: 1
6565
7048
  }, 8, ["disabled"])]),
6566
- (_(!0), i(e, null, x(h.value, (e, t) => (_(), i("fieldset", {
7049
+ (_(!0), i(e, null, x(g.value, (e, t) => (_(), i("fieldset", {
6567
7050
  key: t,
6568
7051
  class: "lze-link-card"
6569
7052
  }, [
6570
7053
  a("legend", null, T(D(u)("el.linkN", { n: t + 1 })), 1),
6571
- a("div", xo, [s(X, {
7054
+ a("div", Fo, [s(X, {
6572
7055
  modelValue: e.label,
6573
7056
  "onUpdate:modelValue": (t) => e.label = t,
6574
7057
  maxlength: 40,
6575
7058
  label: D(u)("el.linkLabel"),
6576
- onCommit: c[8] ||= (e) => D(l).commit()
7059
+ onCommit: c[10] ||= (e) => D(l).commit()
6577
7060
  }, null, 8, [
6578
7061
  "modelValue",
6579
7062
  "onUpdate:modelValue",
6580
7063
  "label"
6581
7064
  ]), s(q, {
6582
7065
  variant: "danger",
6583
- onClick: (e) => y(t)
7066
+ onClick: (e) => b(t)
6584
7067
  }, {
6585
7068
  default: N(() => [o(T(D(u)("el.removeLink")), 1)]),
6586
7069
  _: 1
6587
7070
  }, 8, ["onClick"])]),
6588
- s(ii, {
7071
+ s(_i, {
6589
7072
  modelValue: e.action,
6590
7073
  "onUpdate:modelValue": (t) => e.action = t,
6591
7074
  label: D(u)("el.action"),
6592
- onCommit: c[9] ||= (e) => D(l).commit()
7075
+ onCommit: c[11] ||= (e) => D(l).commit()
6593
7076
  }, null, 8, [
6594
7077
  "modelValue",
6595
7078
  "onUpdate:modelValue",
6596
7079
  "label"
6597
7080
  ])
6598
7081
  ]))), 128)),
6599
- a("p", So, T(D(u)("el.linksHint")), 1)
7082
+ a("p", Io, T(D(u)("el.linksHint")), 1)
6600
7083
  ])
6601
7084
  ], 64));
6602
7085
  }
6603
- }), To = /* @__PURE__ */ c({
7086
+ }), zo = /* @__PURE__ */ c({
6604
7087
  __name: "ShapeContent",
6605
7088
  props: { element: {} },
6606
7089
  setup(t) {
@@ -6613,7 +7096,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6613
7096
  id: D(a),
6614
7097
  modelValue: t.element.props.shape,
6615
7098
  "onUpdate:modelValue": c[0] ||= (e) => t.element.props.shape = e,
6616
- options: D(fo)(D(r)),
7099
+ options: D(Eo)(D(r)),
6617
7100
  onCommit: c[1] ||= (e) => D(n).commit()
6618
7101
  }, null, 8, [
6619
7102
  "id",
@@ -6637,12 +7120,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6637
7120
  "format"
6638
7121
  ])], 64));
6639
7122
  }
6640
- }), Eo = { class: "lze-field" }, Do = { class: "lze-label" }, Oo = ["aria-label"], ko = [
7123
+ }), Bo = { class: "lze-field" }, Vo = { class: "lze-label" }, Ho = ["aria-label"], Uo = [
6641
7124
  "title",
6642
7125
  "aria-label",
6643
7126
  "aria-pressed",
6644
7127
  "onClick"
6645
- ], Ao = ["data-active", "title"], jo = ["value", "aria-label"], Mo = /* @__PURE__ */ c({
7128
+ ], Wo = ["data-active", "title"], Go = ["value", "aria-label"], Ko = /* @__PURE__ */ c({
6646
7129
  __name: "ColorPicker",
6647
7130
  props: /*@__PURE__*/ d({ label: {} }, {
6648
7131
  modelValue: { required: !0 },
@@ -6654,7 +7137,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6654
7137
  function d(e) {
6655
7138
  s.value = e, c("commit");
6656
7139
  }
6657
- return (t, r) => (_(), i("div", Eo, [a("span", Do, T(n.label), 1), a("div", {
7140
+ return (t, r) => (_(), i("div", Bo, [a("span", Vo, T(n.label), 1), a("div", {
6658
7141
  class: "lze-swatches",
6659
7142
  role: "group",
6660
7143
  "aria-label": n.label
@@ -6667,7 +7150,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6667
7150
  "aria-label": D(l).t(`token.${e}`),
6668
7151
  "aria-pressed": s.value === e,
6669
7152
  onClick: (t) => d(e)
6670
- }, null, 12, ko))), 128)), a("label", {
7153
+ }, null, 12, Uo))), 128)), a("label", {
6671
7154
  class: "lze-swatch-custom",
6672
7155
  "data-active": !!s.value && !D(kt)(s.value),
6673
7156
  title: D(l).t("color.custom")
@@ -6677,9 +7160,9 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6677
7160
  "aria-label": D(l).t("color.customLabel", { label: n.label }),
6678
7161
  onInput: r[0] ||= (e) => s.value = e.target.value,
6679
7162
  onChange: r[1] ||= (e) => c("commit")
6680
- }, null, 40, jo), o(" " + T(D(l).t("color.custom")), 1)], 8, Ao)], 8, Oo)]));
7163
+ }, null, 40, Go), o(" " + T(D(l).t("color.custom")), 1)], 8, Wo)], 8, Ho)]));
6681
7164
  }
6682
- }), No = /* @__PURE__ */ c({
7165
+ }), qo = /* @__PURE__ */ c({
6683
7166
  __name: "TextContent",
6684
7167
  props: { element: {} },
6685
7168
  setup(t) {
@@ -6729,7 +7212,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6729
7212
  ])]),
6730
7213
  _: 1
6731
7214
  }, 8, ["id", "label"]),
6732
- t.element.props.accent ? (_(), n(Mo, {
7215
+ t.element.props.accent ? (_(), n(Ko, {
6733
7216
  key: 0,
6734
7217
  modelValue: t.element.style.accent_color,
6735
7218
  "onUpdate:modelValue": d[4] ||= (e) => t.element.style.accent_color = e,
@@ -6756,7 +7239,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6756
7239
  }, 8, ["id", "label"])) : r("", !0)
6757
7240
  ], 64));
6758
7241
  }
6759
- }), Po = /* @__PURE__ */ c({
7242
+ }), Jo = /* @__PURE__ */ c({
6760
7243
  __name: "VideoContent",
6761
7244
  props: { element: {} },
6762
7245
  setup(e) {
@@ -6786,7 +7269,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6786
7269
  "hint"
6787
7270
  ]));
6788
7271
  }
6789
- }), Fo = ["open"], Io = { class: "lze-panel-body" }, Lo = /* @__PURE__ */ c({
7272
+ }), Yo = ["open"], Xo = { class: "lze-panel-body" }, Zo = /* @__PURE__ */ c({
6790
7273
  __name: "PanelSection",
6791
7274
  props: {
6792
7275
  title: {},
@@ -6799,16 +7282,16 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6799
7282
  return (t, n) => (_(), i("details", {
6800
7283
  class: "lze-panel-section",
6801
7284
  open: e.open
6802
- }, [a("summary", null, [o(T(e.title), 1), s(D(ve), {
7285
+ }, [a("summary", null, [o(T(e.title), 1), s(D(ye), {
6803
7286
  size: 14,
6804
7287
  "aria-hidden": "true"
6805
- })]), a("div", Io, [S(t.$slots, "default")])], 8, Fo));
7288
+ })]), a("div", Xo, [S(t.$slots, "default")])], 8, Yo));
6806
7289
  }
6807
- }), Ro = { class: "lze-stack" }, zo = ["aria-label"], Bo = [
7290
+ }), Qo = { class: "lze-stack" }, $o = ["aria-label"], es = [
6808
7291
  "title",
6809
7292
  "aria-label",
6810
7293
  "onClick"
6811
- ], Vo = { class: "lze-grid-2" }, Ho = /* @__PURE__ */ c({
7294
+ ], ts = { class: "lze-grid-2" }, ns = /* @__PURE__ */ c({
6812
7295
  __name: "GradientEditor",
6813
7296
  props: {
6814
7297
  modelValue: { required: !0 },
@@ -6834,7 +7317,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6834
7317
  function y(e) {
6835
7318
  l.value = { ...e }, u("commit");
6836
7319
  }
6837
- return (t, o) => (_(), i("div", Ro, [
7320
+ return (t, o) => (_(), i("div", Qo, [
6838
7321
  a("div", {
6839
7322
  class: "lze-gradient-presets",
6840
7323
  role: "group",
@@ -6847,20 +7330,20 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6847
7330
  title: D(f)(e.name),
6848
7331
  "aria-label": D(f)(e.name),
6849
7332
  onClick: (t) => y(e.gradient)
6850
- }, null, 12, Bo))), 128))], 8, zo),
6851
- s(Mo, {
7333
+ }, null, 12, es))), 128))], 8, $o),
7334
+ s(Ko, {
6852
7335
  "model-value": g.value.from,
6853
7336
  label: D(f)("gradient.from"),
6854
7337
  "onUpdate:modelValue": o[0] ||= (e) => v("from", e),
6855
7338
  onCommit: o[1] ||= (e) => u("commit")
6856
7339
  }, null, 8, ["model-value", "label"]),
6857
- s(Mo, {
7340
+ s(Ko, {
6858
7341
  "model-value": g.value.to,
6859
7342
  label: D(f)("gradient.to"),
6860
7343
  "onUpdate:modelValue": o[2] ||= (e) => v("to", e),
6861
7344
  onCommit: o[3] ||= (e) => u("commit")
6862
7345
  }, null, 8, ["model-value", "label"]),
6863
- a("div", Vo, [s(Y, {
7346
+ a("div", ts, [s(Y, {
6864
7347
  id: D(p),
6865
7348
  label: D(f)("gradient.shape")
6866
7349
  }, {
@@ -6900,10 +7383,10 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6900
7383
  ])) : r("", !0)])
6901
7384
  ]));
6902
7385
  }
6903
- }), Uo = { class: "lze-heading" }, Wo = { class: "lze-label" }, Go = { class: "lze-grid-2" }, Ko = {
7386
+ }), rs = { class: "lze-heading" }, is = { class: "lze-label" }, as = { class: "lze-grid-2" }, os = {
6904
7387
  key: 2,
6905
7388
  class: "lze-hint"
6906
- }, qo = /* @__PURE__ */ c({
7389
+ }, ss = /* @__PURE__ */ c({
6907
7390
  __name: "FillStyle",
6908
7391
  props: { element: {} },
6909
7392
  setup(e) {
@@ -6917,15 +7400,15 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6917
7400
  angle: 135
6918
7401
  } : null, c.commit();
6919
7402
  }
6920
- return (t, o) => (_(), n(Lo, { title: D(l)("style.fill") }, {
7403
+ return (t, o) => (_(), n(Zo, { title: D(l)("style.fill") }, {
6921
7404
  default: N(() => [
6922
- s(Mo, {
7405
+ s(Ko, {
6923
7406
  modelValue: e.element.style.color,
6924
7407
  "onUpdate:modelValue": o[0] ||= (t) => e.element.style.color = t,
6925
7408
  label: D(l)("style.color"),
6926
7409
  onCommit: o[1] ||= (e) => D(c).commit()
6927
7410
  }, null, 8, ["modelValue", "label"]),
6928
- a("div", Uo, [a("span", Wo, T(D(l)("style.background")), 1), s(Q, {
7411
+ a("div", rs, [a("span", is, T(D(l)("style.background")), 1), s(Q, {
6929
7412
  "model-value": d.value,
6930
7413
  compact: "",
6931
7414
  label: D(l)("style.backgroundType"),
@@ -6942,19 +7425,19 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6942
7425
  "label",
6943
7426
  "options"
6944
7427
  ])]),
6945
- d.value === "color" ? (_(), n(Mo, {
7428
+ d.value === "color" ? (_(), n(Ko, {
6946
7429
  key: 0,
6947
7430
  modelValue: e.element.style.background,
6948
7431
  "onUpdate:modelValue": o[2] ||= (t) => e.element.style.background = t,
6949
7432
  label: D(l)("style.backgroundColor"),
6950
7433
  onCommit: o[3] ||= (e) => D(c).commit()
6951
- }, null, 8, ["modelValue", "label"])) : (_(), n(Ho, {
7434
+ }, null, 8, ["modelValue", "label"])) : (_(), n(ns, {
6952
7435
  key: 1,
6953
7436
  modelValue: e.element.style.gradient,
6954
7437
  "onUpdate:modelValue": o[4] ||= (t) => e.element.style.gradient = t,
6955
7438
  onCommit: o[5] ||= (e) => D(c).commit()
6956
7439
  }, null, 8, ["modelValue"])),
6957
- a("div", Go, [s($, {
7440
+ a("div", as, [s($, {
6958
7441
  modelValue: e.element.style.background_opacity,
6959
7442
  "onUpdate:modelValue": o[6] ||= (t) => e.element.style.background_opacity = t,
6960
7443
  label: D(l)("style.transparency"),
@@ -6977,12 +7460,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
6977
7460
  "label",
6978
7461
  "format"
6979
7462
  ])]),
6980
- e.element.style.blur ? (_(), i("p", Ko, T(D(l)("style.glassHint")), 1)) : r("", !0)
7463
+ e.element.style.blur ? (_(), i("p", os, T(D(l)("style.glassHint")), 1)) : r("", !0)
6981
7464
  ]),
6982
7465
  _: 1
6983
7466
  }, 8, ["title"]));
6984
7467
  }
6985
- }), Jo = { class: "lze-grid-2" }, Yo = { class: "lze-grid-2" }, Xo = /* @__PURE__ */ c({
7468
+ }), cs = { class: "lze-grid-2" }, ls = { class: "lze-grid-2" }, us = /* @__PURE__ */ c({
6986
7469
  __name: "FrameStyle",
6987
7470
  props: { element: {} },
6988
7471
  setup(o) {
@@ -7012,9 +7495,9 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7012
7495
  [e]: t
7013
7496
  };
7014
7497
  }
7015
- return (t, c) => (_(), i(e, null, [s(Lo, { title: D(u)("style.frame") }, {
7498
+ return (t, c) => (_(), i(e, null, [s(Zo, { title: D(u)("style.frame") }, {
7016
7499
  default: N(() => [
7017
- a("div", Jo, [
7500
+ a("div", cs, [
7018
7501
  s(Z, {
7019
7502
  modelValue: o.element.style.radius,
7020
7503
  "onUpdate:modelValue": c[0] ||= (e) => o.element.style.radius = e,
@@ -7051,7 +7534,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7051
7534
  onCommit: c[7] ||= (e) => D(l).commit()
7052
7535
  }, null, 8, ["model-value", "label"])
7053
7536
  ]),
7054
- o.element.style.border_width ? (_(), n(Mo, {
7537
+ o.element.style.border_width ? (_(), n(Ko, {
7055
7538
  key: 0,
7056
7539
  modelValue: o.element.style.border_color,
7057
7540
  "onUpdate:modelValue": c[8] ||= (e) => o.element.style.border_color = e,
@@ -7077,12 +7560,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7077
7560
  }, 8, ["id", "label"])
7078
7561
  ]),
7079
7562
  _: 1
7080
- }, 8, ["title"]), o.element.style.shadow === "custom" ? (_(), n(Lo, {
7563
+ }, 8, ["title"]), o.element.style.shadow === "custom" ? (_(), n(Zo, {
7081
7564
  key: 0,
7082
7565
  title: D(u)("style.customShadow")
7083
7566
  }, {
7084
7567
  default: N(() => [
7085
- a("div", Yo, [
7568
+ a("div", ls, [
7086
7569
  s(Z, {
7087
7570
  "model-value": m.value.x,
7088
7571
  label: D(u)("position.x"),
@@ -7120,7 +7603,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7120
7603
  onCommit: c[19] ||= (e) => D(l).commit()
7121
7604
  }, null, 8, ["model-value", "label"])
7122
7605
  ]),
7123
- s(Mo, {
7606
+ s(Ko, {
7124
7607
  "model-value": m.value.color,
7125
7608
  label: D(u)("style.shadowColor"),
7126
7609
  "onUpdate:modelValue": c[20] ||= (e) => h("color", e),
@@ -7144,10 +7627,10 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7144
7627
  _: 1
7145
7628
  }, 8, ["title"])) : r("", !0)], 64));
7146
7629
  }
7147
- }), Zo = {
7630
+ }), ds = {
7148
7631
  key: 0,
7149
7632
  class: "lze-grid-2"
7150
- }, Qo = { class: "lze-hint" }, $o = /* @__PURE__ */ c({
7633
+ }, fs = { class: "lze-hint" }, ps = /* @__PURE__ */ c({
7151
7634
  __name: "MotionStyle",
7152
7635
  props: { element: {} },
7153
7636
  setup(e) {
@@ -7187,7 +7670,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7187
7670
  [e]: t
7188
7671
  };
7189
7672
  }
7190
- return (t, o) => (_(), n(Lo, {
7673
+ return (t, o) => (_(), n(Zo, {
7191
7674
  title: D(l)("style.motion"),
7192
7675
  open: !1
7193
7676
  }, {
@@ -7209,7 +7692,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7209
7692
  ])]),
7210
7693
  _: 1
7211
7694
  }, 8, ["id", "label"]),
7212
- h.value.type === "none" ? r("", !0) : (_(), i("div", Zo, [s($, {
7695
+ h.value.type === "none" ? r("", !0) : (_(), i("div", ds, [s($, {
7213
7696
  "model-value": h.value.delay,
7214
7697
  label: D(l)("style.delay"),
7215
7698
  min: 0,
@@ -7246,20 +7729,20 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7246
7729
  ])]),
7247
7730
  _: 1
7248
7731
  }, 8, ["id", "label"]),
7249
- a("p", Qo, T(D(l)("style.motionHint")), 1)
7732
+ a("p", fs, T(D(l)("style.motionHint")), 1)
7250
7733
  ]),
7251
7734
  _: 1
7252
7735
  }, 8, ["title"]));
7253
7736
  }
7254
- }), es = ["aria-label"], ts = /* @__PURE__ */ c({
7737
+ }), ms = ["aria-label"], hs = /* @__PURE__ */ c({
7255
7738
  __name: "AlignButtons",
7256
7739
  setup(t) {
7257
7740
  let r = G(), a = {
7258
- left: R,
7741
+ left: he,
7259
7742
  hcenter: ce,
7260
7743
  right: ue,
7261
7744
  top: me,
7262
- vmiddle: se,
7745
+ vmiddle: L,
7263
7746
  bottom: le
7264
7747
  };
7265
7748
  return (t, o) => (_(), i("div", {
@@ -7276,12 +7759,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7276
7759
  "aria-hidden": "true"
7277
7760
  }))]),
7278
7761
  _: 2
7279
- }, 1032, ["label", "onClick"]))), 128))], 8, es));
7762
+ }, 1032, ["label", "onClick"]))), 128))], 8, ms));
7280
7763
  }
7281
- }), ns = { class: "lze-grid-2" }, rs = {
7764
+ }), gs = { class: "lze-grid-2" }, _s = { class: "lze-hint" }, vs = {
7282
7765
  key: 0,
7283
7766
  class: "lze-hint"
7284
- }, is = /* @__PURE__ */ c({
7767
+ }, ys = /* @__PURE__ */ c({
7285
7768
  __name: "PositionSection",
7286
7769
  props: { element: {} },
7287
7770
  setup(c) {
@@ -7295,13 +7778,13 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7295
7778
  function h() {
7296
7779
  l.element.layout.mobile = null, u.commit();
7297
7780
  }
7298
- return (t, l) => (_(), n(Lo, {
7781
+ return (t, l) => (_(), n(Zo, {
7299
7782
  title: D(d)("position.title", { device: D(d)(f.value === "desktop" ? "position.desktop" : "position.mobile") }),
7300
7783
  open: !1
7301
7784
  }, {
7302
7785
  default: N(() => [
7303
- s(ts),
7304
- a("div", ns, [
7786
+ s(hs),
7787
+ a("div", gs, [
7305
7788
  s(Z, {
7306
7789
  "model-value": p.value.x,
7307
7790
  label: D(d)("position.x"),
@@ -7331,7 +7814,14 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7331
7814
  onCommit: l[7] ||= (e) => D(u).commit()
7332
7815
  }, null, 8, ["model-value", "label"])
7333
7816
  ]),
7334
- f.value === "mobile" ? (_(), i("p", rs, [c.element.layout.mobile ? (_(), i(e, { key: 0 }, [o(T(D(d)("position.own")) + " ", 1), a("button", {
7817
+ s(li, {
7818
+ modelValue: c.element.style.pinned,
7819
+ "onUpdate:modelValue": l[8] ||= (e) => c.element.style.pinned = e,
7820
+ label: D(d)("position.pinned"),
7821
+ onCommit: l[9] ||= (e) => D(u).commit()
7822
+ }, null, 8, ["modelValue", "label"]),
7823
+ a("p", _s, T(D(d)("position.pinnedHint")), 1),
7824
+ f.value === "mobile" ? (_(), i("p", vs, [c.element.layout.mobile ? (_(), i(e, { key: 0 }, [o(T(D(d)("position.own")) + " ", 1), a("button", {
7335
7825
  type: "button",
7336
7826
  class: "lze-link",
7337
7827
  onClick: h
@@ -7340,7 +7830,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7340
7830
  _: 1
7341
7831
  }, 8, ["title"]));
7342
7832
  }
7343
- }), as = ["aria-label"], os = ["aria-pressed", "onClick"], ss = { class: "lze-grid-2" }, cs = { class: "lze-row" }, ls = ["aria-label"], us = /* @__PURE__ */ c({
7833
+ }), bs = ["aria-label"], xs = ["aria-pressed", "onClick"], Ss = { class: "lze-grid-2" }, Cs = { class: "lze-row" }, ws = ["aria-label"], Ts = /* @__PURE__ */ c({
7344
7834
  __name: "TextStyle",
7345
7835
  props: { element: {} },
7346
7836
  setup(t) {
@@ -7359,7 +7849,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7359
7849
  {
7360
7850
  value: "center",
7361
7851
  label: "style.align.center",
7362
- icon: oe
7852
+ icon: se
7363
7853
  },
7364
7854
  {
7365
7855
  value: "right",
@@ -7380,7 +7870,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7380
7870
  function f(e, t) {
7381
7871
  r.element.style[e] = t, o.commit();
7382
7872
  }
7383
- return (r, p) => (_(), n(Lo, { title: D(c)("style.text") }, {
7873
+ return (r, p) => (_(), n(Zo, { title: D(c)("style.text") }, {
7384
7874
  default: N(() => [
7385
7875
  a("div", {
7386
7876
  class: "lze-tabs-inline",
@@ -7391,8 +7881,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7391
7881
  type: "button",
7392
7882
  "aria-pressed": (t.element.style.font ?? "body") === e.value,
7393
7883
  onClick: (t) => f("font", e.value)
7394
- }, T(D(c)(e.label)), 9, os)), 64))], 8, as),
7395
- a("div", ss, [s(Z, {
7884
+ }, T(D(c)(e.label)), 9, xs)), 64))], 8, bs),
7885
+ a("div", Ss, [s(Z, {
7396
7886
  modelValue: t.element.style.size,
7397
7887
  "onUpdate:modelValue": p[0] ||= (e) => t.element.style.size = e,
7398
7888
  label: D(c)("style.size"),
@@ -7413,7 +7903,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7413
7903
  "label",
7414
7904
  "placeholder"
7415
7905
  ])]),
7416
- a("div", cs, [a("div", {
7906
+ a("div", Cs, [a("div", {
7417
7907
  class: "lze-row",
7418
7908
  role: "group",
7419
7909
  "aria-label": D(c)("style.align")
@@ -7432,7 +7922,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7432
7922
  "label",
7433
7923
  "active",
7434
7924
  "onClick"
7435
- ])), 64))], 8, ls), s(Z, {
7925
+ ])), 64))], 8, ws), s(Z, {
7436
7926
  modelValue: t.element.style.line_height,
7437
7927
  "onUpdate:modelValue": p[4] ||= (e) => t.element.style.line_height = e,
7438
7928
  class: "lze-grow",
@@ -7446,7 +7936,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7446
7936
  _: 1
7447
7937
  }, 8, ["title"]));
7448
7938
  }
7449
- }), ds = { class: "lze-row" }, fs = { class: "lze-grid-2" }, ps = { class: "lze-hint" }, ms = /* @__PURE__ */ c({
7939
+ }), Es = { class: "lze-row" }, Ds = { class: "lze-grid-2" }, Os = { class: "lze-hint" }, ks = /* @__PURE__ */ c({
7450
7940
  __name: "TransformStyle",
7451
7941
  props: { element: {} },
7452
7942
  setup(e) {
@@ -7472,12 +7962,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7472
7962
  function u(e, n) {
7473
7963
  t.element.style[e] = n, r.commit();
7474
7964
  }
7475
- return (t, d) => (_(), n(Lo, {
7965
+ return (t, d) => (_(), n(Zo, {
7476
7966
  title: D(i)("style.transform"),
7477
7967
  open: !1
7478
7968
  }, {
7479
7969
  default: N(() => [
7480
- a("div", ds, [
7970
+ a("div", Es, [
7481
7971
  s(Z, {
7482
7972
  modelValue: e.element.style.rotate,
7483
7973
  "onUpdate:modelValue": d[0] ||= (t) => e.element.style.rotate = t,
@@ -7503,7 +7993,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7503
7993
  active: e.element.style.flip_x === !0,
7504
7994
  onClick: d[3] ||= (t) => u("flip_x", !e.element.style.flip_x)
7505
7995
  }, {
7506
- default: N(() => [s(D(Ce), {
7996
+ default: N(() => [s(D(we), {
7507
7997
  size: 16,
7508
7998
  "aria-hidden": "true"
7509
7999
  })]),
@@ -7514,14 +8004,14 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7514
8004
  active: e.element.style.flip_y === !0,
7515
8005
  onClick: d[4] ||= (t) => u("flip_y", !e.element.style.flip_y)
7516
8006
  }, {
7517
- default: N(() => [s(D(we), {
8007
+ default: N(() => [s(D(Te), {
7518
8008
  size: 16,
7519
8009
  "aria-hidden": "true"
7520
8010
  })]),
7521
8011
  _: 1
7522
8012
  }, 8, ["label", "active"])
7523
8013
  ]),
7524
- a("div", fs, [s(Y, {
8014
+ a("div", Ds, [s(Y, {
7525
8015
  id: o.overflow,
7526
8016
  label: D(i)("style.overflow")
7527
8017
  }, {
@@ -7554,38 +8044,38 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7554
8044
  ])]),
7555
8045
  _: 1
7556
8046
  }, 8, ["id", "label"])]),
7557
- a("p", ps, T(D(i)("style.transformHint")), 1)
8047
+ a("p", Os, T(D(i)("style.transformHint")), 1)
7558
8048
  ]),
7559
8049
  _: 1
7560
8050
  }, 8, ["title"]));
7561
8051
  }
7562
- }), hs = { class: "lze-stack" }, gs = { class: "lze-heading" }, _s = { class: "lze-panel-title" }, vs = { class: "lze-row lze-nowrap" }, ys = {
8052
+ }), As = { class: "lze-stack" }, js = { class: "lze-heading" }, Ms = { class: "lze-panel-title" }, Ns = { class: "lze-row lze-nowrap" }, Ps = {
7563
8053
  key: 0,
7564
8054
  class: "lze-hint"
7565
- }, bs = /* @__PURE__ */ c({
8055
+ }, Fs = /* @__PURE__ */ c({
7566
8056
  __name: "ElementPanel",
7567
8057
  props: { element: {} },
7568
8058
  setup(c) {
7569
8059
  let l = c, u = G(), d = u.t, f = {
7570
- heading: No,
7571
- text: No,
7572
- image: po,
7573
- button: ro,
8060
+ heading: qo,
8061
+ text: qo,
8062
+ image: Do,
8063
+ button: vo,
7574
8064
  divider: null,
7575
- video: Po,
7576
- shape: To,
7577
- icon: lo,
7578
- navbar: wo,
7579
- input: ao,
7580
- textarea: ao,
7581
- select: ao,
7582
- checkbox: ao
8065
+ video: Jo,
8066
+ shape: zo,
8067
+ icon: wo,
8068
+ navbar: Ro,
8069
+ input: bo,
8070
+ textarea: bo,
8071
+ select: bo,
8072
+ checkbox: bo
7583
8073
  }, p = {
7584
- fill: qo,
7585
- text: us,
7586
- border: Xo,
7587
- effects: ms,
7588
- motion: $o
8074
+ fill: ss,
8075
+ text: Ts,
8076
+ border: us,
8077
+ effects: ks,
8078
+ motion: ps
7589
8079
  }, m = t(() => u.kindOf(l.element)), h = t(() => {
7590
8080
  let e = m.value;
7591
8081
  return e.kind === "core" ? d(e.spec.label) : e.kind === "app" ? u.i18n.localized(e.spec.label) : d("type.unknown");
@@ -7596,7 +8086,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7596
8086
  panel: p[e]
7597
8087
  }));
7598
8088
  });
7599
- return (t, l) => (_(), i("div", hs, [a("div", gs, [a("h2", _s, T(h.value), 1), a("div", vs, [m.value.kind === "opaque" ? r("", !0) : (_(), n(q, {
8089
+ return (t, l) => (_(), i("div", As, [a("div", js, [a("h2", Ms, T(h.value), 1), a("div", Ns, [m.value.kind === "opaque" ? r("", !0) : (_(), n(q, {
7600
8090
  key: 0,
7601
8091
  onClick: l[0] ||= (e) => D(u).duplicateSelected()
7602
8092
  }, {
@@ -7608,11 +8098,11 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7608
8098
  }, {
7609
8099
  default: N(() => [o(T(D(d)("common.delete")), 1)]),
7610
8100
  _: 1
7611
- })])]), m.value.kind === "opaque" ? (_(), i("p", ys, T(D(d)("el.unknown")), 1)) : (_(), i(e, { key: 1 }, [
8101
+ })])]), m.value.kind === "opaque" ? (_(), i("p", Ps, T(D(d)("el.unknown")), 1)) : (_(), i(e, { key: 1 }, [
7612
8102
  m.value.kind === "core" && f[m.value.element.type] ? (_(), n(C(f[m.value.element.type]), {
7613
8103
  key: 0,
7614
8104
  element: m.value.element
7615
- }, null, 8, ["element"])) : m.value.kind === "app" ? (_(), n(no, {
8105
+ }, null, 8, ["element"])) : m.value.kind === "app" ? (_(), n(_o, {
7616
8106
  key: 1,
7617
8107
  element: m.value.element,
7618
8108
  spec: m.value.spec
@@ -7621,13 +8111,13 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7621
8111
  key: e.group,
7622
8112
  element: c.element
7623
8113
  }, null, 8, ["element"]))), 128)),
7624
- s(is, { element: c.element }, null, 8, ["element"])
8114
+ s(ys, { element: c.element }, null, 8, ["element"])
7625
8115
  ], 64))]));
7626
8116
  }
7627
- }), xs = { class: "lze-stack" }, Ss = { class: "lze-panel-title" }, Cs = { class: "lze-hint" }, ws = { class: "lze-field" }, Ts = { class: "lze-label" }, Es = ["aria-label"], Ds = { class: "lze-field" }, Os = {
8117
+ }), Is = { class: "lze-stack" }, Ls = { class: "lze-panel-title" }, Rs = { class: "lze-hint" }, zs = { class: "lze-field" }, Bs = { class: "lze-label" }, Vs = ["aria-label"], Hs = { class: "lze-field" }, Us = {
7628
8118
  key: 0,
7629
8119
  class: "lze-hint"
7630
- }, ks = { class: "lze-field" }, As = /* @__PURE__ */ c({
8120
+ }, Ws = { class: "lze-field" }, Gs = /* @__PURE__ */ c({
7631
8121
  __name: "ModalPanel",
7632
8122
  props: { modal: {} },
7633
8123
  setup(t) {
@@ -7638,8 +8128,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7638
8128
  function p(e) {
7639
8129
  typeof e == "number" && (c.modal.width = e, c.modal.size = "custom");
7640
8130
  }
7641
- return (c, m) => (_(), i("div", xs, [
7642
- a("h2", Ss, T(D(u)("modal.heading")), 1),
8131
+ return (c, m) => (_(), i("div", Is, [
8132
+ a("h2", Ls, T(D(u)("modal.heading")), 1),
7643
8133
  s(Y, {
7644
8134
  id: D(d),
7645
8135
  label: D(u)("modal.title")
@@ -7652,17 +8142,17 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7652
8142
  maxlength: 120,
7653
8143
  onCommit: m[1] ||= (e) => D(l).commit()
7654
8144
  }, null, 8, ["id", "modelValue"]),
7655
- s(Xr, {
8145
+ s(li, {
7656
8146
  modelValue: t.modal.show_title,
7657
8147
  "onUpdate:modelValue": m[2] ||= (e) => t.modal.show_title = e,
7658
8148
  label: D(u)("modal.showTitle"),
7659
8149
  onCommit: m[3] ||= (e) => D(l).commit()
7660
8150
  }, null, 8, ["modelValue", "label"]),
7661
- a("p", Cs, T(D(u)("modal.showTitleHint")), 1)
8151
+ a("p", Rs, T(D(u)("modal.showTitleHint")), 1)
7662
8152
  ]),
7663
8153
  _: 1
7664
8154
  }, 8, ["id", "label"]),
7665
- a("div", ws, [a("span", Ts, T(D(u)("modal.size")), 1), a("div", {
8155
+ a("div", zs, [a("span", Bs, T(D(u)("modal.size")), 1), a("div", {
7666
8156
  class: "lze-row",
7667
8157
  role: "group",
7668
8158
  "aria-label": D(u)("modal.size")
@@ -7678,8 +8168,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7678
8168
  "variant",
7679
8169
  "aria-pressed",
7680
8170
  "onClick"
7681
- ]))), 128))], 8, Es)]),
7682
- a("div", Ds, [s(Z, {
8171
+ ]))), 128))], 8, Vs)]),
8172
+ a("div", Hs, [s(Z, {
7683
8173
  "model-value": t.modal.width,
7684
8174
  label: D(u)("modal.width"),
7685
8175
  min: 280,
@@ -7692,12 +8182,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7692
8182
  "model-value",
7693
8183
  "label",
7694
8184
  "disabled"
7695
- ]), t.modal.size === "full" ? (_(), i("p", Os, T(D(u)("modal.fullHint")), 1)) : r("", !0)]),
8185
+ ]), t.modal.size === "full" ? (_(), i("p", Us, T(D(u)("modal.fullHint")), 1)) : r("", !0)]),
7696
8186
  s(q, { onClick: m[5] ||= (e) => D(l).fitCanvas(t.modal) }, {
7697
8187
  default: N(() => [o(T(D(u)("section.fitHeight")), 1)]),
7698
8188
  _: 1
7699
8189
  }),
7700
- a("div", ks, [s(Z, {
8190
+ a("div", Ws, [s(Z, {
7701
8191
  "model-value": t.modal.height.desktop,
7702
8192
  label: D(u)("section.heightDesktop"),
7703
8193
  min: 80,
@@ -7712,7 +8202,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7712
8202
  "onUpdate:modelValue": m[8] ||= (e) => t.modal.height.mobile = e ?? t.modal.height.mobile,
7713
8203
  onCommit: m[9] ||= (e) => D(l).commit()
7714
8204
  }, null, 8, ["model-value", "label"])]),
7715
- s(Mo, {
8205
+ s(Ko, {
7716
8206
  modelValue: t.modal.background.color,
7717
8207
  "onUpdate:modelValue": m[10] ||= (e) => t.modal.background.color = e,
7718
8208
  label: D(u)("modal.background"),
@@ -7724,19 +8214,34 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7724
8214
  })
7725
8215
  ]));
7726
8216
  }
7727
- }), js = { class: "lze-stack" }, Ms = { class: "lze-panel-title" }, Ns = { class: "lze-field" }, Ps = { class: "lze-label" }, Fs = { class: "lze-field" }, Is = { class: "lze-label" }, Ls = { class: "lze-row" }, Rs = { class: "lze-hint" }, zs = { class: "lze-row" }, Bs = { class: "lze-hint" }, Vs = /* @__PURE__ */ c({
8217
+ }), Ks = { class: "lze-stack" }, qs = { class: "lze-panel-title" }, Js = { class: "lze-field" }, Ys = { class: "lze-label" }, Xs = { class: "lze-field" }, Zs = { class: "lze-label" }, Qs = { class: "lze-row" }, $s = { class: "lze-hint" }, ec = { class: "lze-hint" }, tc = { class: "lze-hint" }, nc = /* @__PURE__ */ c({
7728
8218
  __name: "MultiPanel",
7729
- setup(e) {
7730
- let n = G(), r = n.t, c = t(() => n.selectedElements.value.length);
7731
- return (e, t) => (_(), i("div", js, [
7732
- a("h2", Ms, T(D(r)("multi.count", { n: c.value })), 1),
7733
- a("div", Ns, [a("span", Ps, T(D(r)("multi.align")), 1), s(ts)]),
7734
- a("div", Fs, [
7735
- a("span", Is, T(D(r)("multi.distribute")), 1),
7736
- a("div", Ls, [s(J, {
7737
- label: D(r)("multi.distributeX"),
7738
- disabled: c.value < 3,
7739
- onClick: t[0] ||= (e) => D(n).distributeSelected("x")
8219
+ setup(o) {
8220
+ let c = G(), l = c.t, u = t(() => c.selectedElements.value.length), d = {
8221
+ fill: ss,
8222
+ text: Ts,
8223
+ border: us,
8224
+ effects: ks,
8225
+ motion: ps
8226
+ }, f = t(() => {
8227
+ let e = c.selectedElements.value.map((e) => {
8228
+ let t = c.kindOf(e);
8229
+ return t.kind === "opaque" ? [] : t.spec.styles;
8230
+ });
8231
+ return Object.keys(d).filter((t) => e.length > 0 && e.every((e) => e.includes(t))).map((e) => ({
8232
+ group: e,
8233
+ panel: d[e]
8234
+ }));
8235
+ }), p = t(() => c.sharedTarget());
8236
+ return (t, o) => (_(), i("div", Ks, [
8237
+ a("h2", qs, T(D(l)("multi.count", { n: u.value })), 1),
8238
+ a("div", Js, [a("span", Ys, T(D(l)("multi.align")), 1), s(hs)]),
8239
+ a("div", Xs, [
8240
+ a("span", Zs, T(D(l)("multi.distribute")), 1),
8241
+ a("div", Qs, [s(J, {
8242
+ label: D(l)("multi.distributeX"),
8243
+ disabled: u.value < 3,
8244
+ onClick: o[0] ||= (e) => D(c).distributeSelected("x")
7740
8245
  }, {
7741
8246
  default: N(() => [s(D(de), {
7742
8247
  size: 16,
@@ -7744,47 +8249,27 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7744
8249
  })]),
7745
8250
  _: 1
7746
8251
  }, 8, ["label", "disabled"]), s(J, {
7747
- label: D(r)("multi.distributeY"),
7748
- disabled: c.value < 3,
7749
- onClick: t[1] ||= (e) => D(n).distributeSelected("y")
8252
+ label: D(l)("multi.distributeY"),
8253
+ disabled: u.value < 3,
8254
+ onClick: o[1] ||= (e) => D(c).distributeSelected("y")
7750
8255
  }, {
7751
- default: N(() => [s(D(he), {
8256
+ default: N(() => [s(D(ge), {
7752
8257
  size: 16,
7753
8258
  "aria-hidden": "true"
7754
8259
  })]),
7755
8260
  _: 1
7756
8261
  }, 8, ["label", "disabled"])]),
7757
- a("p", Rs, T(D(r)("multi.distributeHint")), 1)
8262
+ a("p", $s, T(D(l)("multi.distributeHint")), 1)
7758
8263
  ]),
7759
- a("div", zs, [
7760
- s(q, { onClick: t[2] ||= (e) => D(n).groupSelected() }, {
7761
- default: N(() => [o(T(D(r)("multi.group")), 1)]),
7762
- _: 1
7763
- }),
7764
- s(q, { onClick: t[3] ||= (e) => D(n).ungroupSelected() }, {
7765
- default: N(() => [o(T(D(r)("multi.ungroup")), 1)]),
7766
- _: 1
7767
- }),
7768
- s(q, { onClick: t[4] ||= (e) => D(n).toggleLock() }, {
7769
- default: N(() => [o(T(D(r)("multi.lock")), 1)]),
7770
- _: 1
7771
- }),
7772
- s(q, { onClick: t[5] ||= (e) => D(n).duplicateSelected() }, {
7773
- default: N(() => [o(T(D(r)("common.duplicate")), 1)]),
7774
- _: 1
7775
- }),
7776
- s(q, {
7777
- variant: "danger",
7778
- onClick: t[6] ||= (e) => D(n).removeSelected()
7779
- }, {
7780
- default: N(() => [o(T(D(r)("common.delete")), 1)]),
7781
- _: 1
7782
- })
7783
- ]),
7784
- a("p", Bs, T(D(r)("multi.hint")), 1)
8264
+ p.value ? (_(!0), i(e, { key: 0 }, x(f.value, (e) => (_(), n(C(e.panel), {
8265
+ key: e.group,
8266
+ element: p.value
8267
+ }, null, 8, ["element"]))), 128)) : r("", !0),
8268
+ a("p", ec, T(D(l)("multi.menuHint")), 1),
8269
+ a("p", tc, T(D(l)("multi.hint")), 1)
7785
8270
  ]));
7786
8271
  }
7787
- }), Hs = { class: "lze-stack" }, Us = { class: "lze-heading" }, Ws = { class: "lze-panel-title" }, Gs = { class: "lze-row" }, Ks = { class: "lze-field" }, qs = /* @__PURE__ */ c({
8272
+ }), rc = { class: "lze-stack" }, ic = { class: "lze-heading" }, ac = { class: "lze-panel-title" }, oc = { class: "lze-row" }, sc = { class: "lze-field" }, cc = /* @__PURE__ */ c({
7788
8273
  __name: "SectionPanel",
7789
8274
  props: { section: {} },
7790
8275
  setup(t) {
@@ -7831,8 +8316,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7831
8316
  function y(e) {
7832
8317
  c.section.background.image = e ?? null, c.section.background.type = e ? "image" : "color";
7833
8318
  }
7834
- return (c, b) => (_(), i("div", Hs, [
7835
- a("div", Us, [a("h2", Ws, T(D(u)("section.heading")), 1), D(l).state.draft.sections.length > 1 ? (_(), n(J, {
8319
+ return (c, b) => (_(), i("div", rc, [
8320
+ a("div", ic, [a("h2", ac, T(D(u)("section.heading")), 1), D(l).state.draft.sections.length > 1 ? (_(), n(J, {
7836
8321
  key: 0,
7837
8322
  label: D(u)("section.delete"),
7838
8323
  tone: "danger",
@@ -7893,14 +8378,14 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7893
8378
  "hint",
7894
8379
  "error"
7895
8380
  ]),
7896
- a("div", Gs, [s(q, { onClick: b[5] ||= (e) => D(l).fitCanvas(t.section) }, {
8381
+ a("div", oc, [s(q, { onClick: b[5] ||= (e) => D(l).fitCanvas(t.section) }, {
7897
8382
  default: N(() => [o(T(D(u)("section.fitHeight")), 1)]),
7898
8383
  _: 1
7899
8384
  }), s(q, { onClick: b[6] ||= (e) => D(l).generateMobile(t.section) }, {
7900
8385
  default: N(() => [o(T(D(u)("section.generateMobile")), 1)]),
7901
8386
  _: 1
7902
8387
  })]),
7903
- a("div", Ks, [s(Z, {
8388
+ a("div", sc, [s(Z, {
7904
8389
  "model-value": t.section.height.desktop,
7905
8390
  label: D(u)("section.heightDesktop"),
7906
8391
  min: 80,
@@ -7931,19 +8416,19 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7931
8416
  ])]),
7932
8417
  _: 1
7933
8418
  }, 8, ["id", "label"]),
7934
- t.section.background.type === "color" ? (_(), n(Mo, {
8419
+ t.section.background.type === "color" ? (_(), n(Ko, {
7935
8420
  key: 0,
7936
8421
  modelValue: t.section.background.color,
7937
8422
  "onUpdate:modelValue": b[11] ||= (e) => t.section.background.color = e,
7938
8423
  label: D(u)("section.color"),
7939
8424
  onCommit: b[12] ||= (e) => D(l).commit()
7940
- }, null, 8, ["modelValue", "label"])) : t.section.background.type === "gradient" ? (_(), n(Ho, {
8425
+ }, null, 8, ["modelValue", "label"])) : t.section.background.type === "gradient" ? (_(), n(ns, {
7941
8426
  key: 1,
7942
8427
  modelValue: t.section.background.gradient,
7943
8428
  "onUpdate:modelValue": b[13] ||= (e) => t.section.background.gradient = e,
7944
8429
  onCommit: b[14] ||= (e) => D(l).commit()
7945
8430
  }, null, 8, ["modelValue"])) : (_(), i(e, { key: 2 }, [
7946
- s(Br, {
8431
+ s($r, {
7947
8432
  "model-value": t.section.background.image,
7948
8433
  label: D(u)("section.image"),
7949
8434
  choose: D(u)("section.chooseImage"),
@@ -7954,7 +8439,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7954
8439
  "label",
7955
8440
  "choose"
7956
8441
  ]),
7957
- s(Xr, {
8442
+ s(li, {
7958
8443
  modelValue: t.section.background.parallax,
7959
8444
  "onUpdate:modelValue": b[16] ||= (e) => t.section.background.parallax = e,
7960
8445
  label: D(u)("section.parallax"),
@@ -7977,10 +8462,10 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
7977
8462
  ], 64))
7978
8463
  ]));
7979
8464
  }
7980
- }), Js = {
8465
+ }), lc = {
7981
8466
  key: 4,
7982
8467
  class: "lze-hint"
7983
- }, Ys = /* @__PURE__ */ c({
8468
+ }, uc = /* @__PURE__ */ c({
7984
8469
  __name: "DesignPanel",
7985
8470
  setup(e) {
7986
8471
  let r = G(), a = t(() => {
@@ -8001,24 +8486,24 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8001
8486
  section: t
8002
8487
  } : { kind: "none" };
8003
8488
  });
8004
- return (e, t) => a.value.kind === "multi" ? (_(), n(Vs, { key: 0 })) : a.value.kind === "element" ? (_(), n(bs, {
8489
+ return (e, t) => a.value.kind === "multi" ? (_(), n(nc, { key: 0 })) : a.value.kind === "element" ? (_(), n(Fs, {
8005
8490
  key: a.value.element.id,
8006
8491
  element: a.value.element
8007
- }, null, 8, ["element"])) : a.value.kind === "modal" ? (_(), n(As, {
8492
+ }, null, 8, ["element"])) : a.value.kind === "modal" ? (_(), n(Gs, {
8008
8493
  key: a.value.modal.id,
8009
8494
  modal: a.value.modal
8010
- }, null, 8, ["modal"])) : a.value.kind === "section" ? (_(), n(qs, {
8495
+ }, null, 8, ["modal"])) : a.value.kind === "section" ? (_(), n(cc, {
8011
8496
  key: a.value.section.id,
8012
8497
  section: a.value.section
8013
- }, null, 8, ["section"])) : (_(), i("p", Js, T(D(r).t("panel.nothing")), 1));
8498
+ }, null, 8, ["section"])) : (_(), i("p", lc, T(D(r).t("panel.nothing")), 1));
8014
8499
  }
8015
- }), Xs = {
8500
+ }), dc = {
8016
8501
  key: 0,
8017
8502
  class: "lze-stack"
8018
- }, Zs = { class: "lze-slug-static" }, Qs = { class: "lze-slug" }, $s = { class: "lze-row" }, ec = {
8503
+ }, fc = { class: "lze-slug-static" }, pc = { class: "lze-slug" }, mc = { class: "lze-row" }, hc = {
8019
8504
  key: 2,
8020
8505
  class: "lze-field lze-divided"
8021
- }, tc = { class: "lze-label" }, nc = ["onClick"], rc = { class: "lze-hint" }, ic = { class: "lze-field lze-divided" }, ac = { class: "lze-label" }, oc = { class: "lze-shortcuts lze-hint" }, sc = /* @__PURE__ */ c({
8506
+ }, gc = { class: "lze-label" }, _c = ["onClick"], vc = { class: "lze-hint" }, yc = { class: "lze-field lze-divided" }, bc = { class: "lze-label" }, xc = { class: "lze-shortcuts lze-hint" }, Sc = /* @__PURE__ */ c({
8022
8507
  __name: "PagePanel",
8023
8508
  setup(c) {
8024
8509
  let l = G(), u = l.t, d = {
@@ -8037,7 +8522,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8037
8522
  function y() {
8038
8523
  f.value && window.confirm(u("page.deleteConfirm", { title: f.value.title })) && l.deletePage();
8039
8524
  }
8040
- return (t, c) => f.value ? (_(), i("div", Xs, [
8525
+ return (t, c) => f.value ? (_(), i("div", dc, [
8041
8526
  s(Y, {
8042
8527
  id: d.title,
8043
8528
  label: D(u)("page.title")
@@ -8055,7 +8540,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8055
8540
  label: D(u)("page.address"),
8056
8541
  hint: D(u)("page.homeHint")
8057
8542
  }, {
8058
- default: N(() => [a("p", Zs, [c[4] ||= a("span", {
8543
+ default: N(() => [a("p", fc, [c[4] ||= a("span", {
8059
8544
  class: "lze-slug-root",
8060
8545
  "aria-hidden": "true"
8061
8546
  }, "/", -1), o(T(D(u)("page.home")), 1)])]),
@@ -8065,7 +8550,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8065
8550
  label: D(u)("page.address"),
8066
8551
  error: m.value.map((e) => e.message).join(" ") || null
8067
8552
  }, {
8068
- default: N(() => [a("div", Qs, [c[5] ||= a("span", { "aria-hidden": "true" }, "/", -1), s(X, {
8553
+ default: N(() => [a("div", pc, [c[5] ||= a("span", { "aria-hidden": "true" }, "/", -1), s(X, {
8069
8554
  id: d.slug,
8070
8555
  modelValue: p.value,
8071
8556
  "onUpdate:modelValue": c[1] ||= (e) => p.value = e,
@@ -8081,7 +8566,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8081
8566
  "id",
8082
8567
  "label",
8083
8568
  "error"
8084
- ]), a("div", $s, [s(q, {
8569
+ ]), a("div", mc, [s(q, {
8085
8570
  disabled: h.value || p.value.trim() === f.value.slug,
8086
8571
  onClick: v
8087
8572
  }, {
@@ -8094,12 +8579,12 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8094
8579
  default: N(() => [o(T(D(u)("page.delete")), 1)]),
8095
8580
  _: 1
8096
8581
  })])], 64)),
8097
- g.value ? (_(), i("div", ec, [a("span", tc, T(D(u)("page.templates")), 1), (_(!0), i(e, null, x(D(dn), (e) => (_(), i("button", {
8582
+ g.value ? (_(), i("div", hc, [a("span", gc, T(D(u)("page.templates")), 1), (_(!0), i(e, null, x(D(dn), (e) => (_(), i("button", {
8098
8583
  key: e.key,
8099
8584
  type: "button",
8100
8585
  class: "lze-choice",
8101
8586
  onClick: (t) => D(l).applyPageTemplate(e.key)
8102
- }, [a("strong", null, T(D(u)(e.name)), 1), a("span", rc, T(D(u)(e.note)), 1)], 8, nc))), 128))])) : r("", !0),
8587
+ }, [a("strong", null, T(D(u)(e.name)), 1), a("span", vc, T(D(u)(e.note)), 1)], 8, _c))), 128))])) : r("", !0),
8103
8588
  s(Y, {
8104
8589
  id: d.seoTitle,
8105
8590
  label: D(u)("page.seoTitle"),
@@ -8130,7 +8615,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8130
8615
  }, null, 8, ["id", "modelValue"])]),
8131
8616
  _: 1
8132
8617
  }, 8, ["id", "label"]),
8133
- a("div", ic, [a("span", ac, T(D(u)("page.shortcuts")), 1), a("ul", oc, [
8618
+ a("div", yc, [a("span", bc, T(D(u)("page.shortcuts")), 1), a("ul", xc, [
8134
8619
  a("li", null, T(D(u)("page.shortcutUndo")), 1),
8135
8620
  a("li", null, T(D(u)("page.shortcutSave")), 1),
8136
8621
  a("li", null, T(D(u)("page.shortcutCopy")), 1),
@@ -8138,42 +8623,42 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8138
8623
  ])])
8139
8624
  ])) : r("", !0);
8140
8625
  }
8141
- }), cc = { class: "lze-sidebar lze-right" }, lc = {
8626
+ }), Cc = { class: "lze-sidebar lze-right" }, wc = {
8142
8627
  class: "lze-tabs",
8143
8628
  role: "tablist"
8144
- }, uc = ["aria-selected"], dc = ["aria-selected"], fc = {
8629
+ }, Tc = ["aria-selected"], Ec = ["aria-selected"], Dc = {
8145
8630
  class: "lze-scroll lze-pad",
8146
8631
  role: "tabpanel"
8147
- }, pc = /* @__PURE__ */ c({
8632
+ }, Oc = /* @__PURE__ */ c({
8148
8633
  __name: "RightPanel",
8149
8634
  setup(e) {
8150
8635
  let t = G(), r = b("design");
8151
- return (e, o) => (_(), i("aside", cc, [a("div", lc, [a("button", {
8636
+ return (e, o) => (_(), i("aside", Cc, [a("div", wc, [a("button", {
8152
8637
  type: "button",
8153
8638
  role: "tab",
8154
8639
  "aria-selected": r.value === "design",
8155
8640
  onClick: o[0] ||= (e) => r.value = "design"
8156
- }, T(D(t).t("panel.design")), 9, uc), a("button", {
8641
+ }, T(D(t).t("panel.design")), 9, Tc), a("button", {
8157
8642
  type: "button",
8158
8643
  role: "tab",
8159
8644
  "aria-selected": r.value === "page",
8160
8645
  onClick: o[1] ||= (e) => r.value = "page"
8161
- }, T(D(t).t("panel.page")), 9, dc)]), a("div", fc, [r.value === "design" ? (_(), n(Ys, { key: 0 })) : (_(), n(sc, { key: 1 }))])]));
8646
+ }, T(D(t).t("panel.page")), 9, Ec)]), a("div", Dc, [r.value === "design" ? (_(), n(uc, { key: 0 })) : (_(), n(Sc, { key: 1 }))])]));
8162
8647
  }
8163
- }), mc = { class: "lze-toolbar" }, hc = { class: "lze-toolbar-group" }, gc = { class: "lze-site-name" }, _c = ["aria-label", "value"], vc = ["value"], yc = ["data-published"], bc = ["data-tone"], xc = { class: "lze-toolbar-group" }, Sc = ["aria-label"], Cc = [
8648
+ }), kc = { class: "lze-toolbar" }, Ac = { class: "lze-toolbar-group" }, jc = { class: "lze-site-name" }, Mc = ["aria-label", "value"], Nc = ["value"], Pc = ["data-published"], Fc = ["data-tone"], Ic = { class: "lze-toolbar-group" }, Lc = ["aria-label"], Rc = [
8164
8649
  "title",
8165
8650
  "aria-label",
8166
8651
  "aria-pressed",
8167
8652
  "onClick"
8168
- ], wc = [
8653
+ ], zc = [
8169
8654
  "title",
8170
8655
  "aria-label",
8171
8656
  "disabled"
8172
- ], Tc = [
8657
+ ], Bc = [
8173
8658
  "title",
8174
8659
  "aria-label",
8175
8660
  "disabled"
8176
- ], Ec = ["href"], Dc = /* @__PURE__ */ c({
8661
+ ], Vc = ["href"], Hc = /* @__PURE__ */ c({
8177
8662
  __name: "Toolbar",
8178
8663
  setup(c) {
8179
8664
  let l = G(), u = l.t, d = t(() => l.state.page), f = new Intl.DateTimeFormat(l.i18n.locale, {
@@ -8226,8 +8711,8 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8226
8711
  let t = e.target;
8227
8712
  await l.openPage(Number(t.value)), t.value = String(l.state.page?.id ?? "");
8228
8713
  }
8229
- return (t, c) => (_(), i("header", mc, [a("div", hc, [
8230
- a("strong", gc, T(D(l).state.workspace.site.name), 1),
8714
+ return (t, c) => (_(), i("header", kc, [a("div", Ac, [
8715
+ a("strong", jc, T(D(l).state.workspace.site.name), 1),
8231
8716
  d.value ? (_(), i("select", {
8232
8717
  key: 0,
8233
8718
  class: "lze-select lze-page-select",
@@ -8237,7 +8722,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8237
8722
  }, [(_(!0), i(e, null, x(D(l).state.workspace.pages, (e) => (_(), i("option", {
8238
8723
  key: e.id,
8239
8724
  value: e.id
8240
- }, T(e.title) + T(e.slug ? ` /${e.slug}` : ""), 9, vc))), 128))], 40, _c)) : r("", !0),
8725
+ }, T(e.title) + T(e.slug ? ` /${e.slug}` : ""), 9, Nc))), 128))], 40, Mc)) : r("", !0),
8241
8726
  s(q, {
8242
8727
  variant: "ghost",
8243
8728
  title: D(u)("toolbar.newPageHint"),
@@ -8253,13 +8738,13 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8253
8738
  key: 1,
8254
8739
  class: "lze-badge-status",
8255
8740
  "data-published": d.value.publishedAt !== null
8256
- }, T(d.value.publishedAt ? D(u)("status.published") : D(u)("status.unpublished")), 9, yc)) : r("", !0),
8741
+ }, T(d.value.publishedAt ? D(u)("status.published") : D(u)("status.unpublished")), 9, Pc)) : r("", !0),
8257
8742
  a("span", {
8258
8743
  class: "lze-save-status",
8259
8744
  "data-tone": p.value.tone,
8260
8745
  "data-testid": "save-status",
8261
8746
  "aria-live": "polite"
8262
- }, T(p.value.text), 9, bc),
8747
+ }, T(p.value.text), 9, Fc),
8263
8748
  p.value.retry ? (_(), n(q, {
8264
8749
  key: 2,
8265
8750
  variant: "ghost",
@@ -8276,7 +8761,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8276
8761
  default: N(() => [o(T(D(u)("conflict.reload")), 1)]),
8277
8762
  _: 1
8278
8763
  })) : r("", !0)
8279
- ]), a("div", xc, [
8764
+ ]), a("div", Ic, [
8280
8765
  a("div", {
8281
8766
  class: "lze-segmented",
8282
8767
  role: "group",
@@ -8288,7 +8773,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8288
8773
  "aria-label": e === "desktop" ? D(u)("toolbar.desktop") : D(u)("toolbar.mobile"),
8289
8774
  "aria-pressed": D(l).state.device === e,
8290
8775
  onClick: (t) => D(l).state.device = e
8291
- }, [e === "desktop" ? (_(), n(D(Pe), {
8776
+ }, [e === "desktop" ? (_(), n(D(R), {
8292
8777
  key: 0,
8293
8778
  size: 16,
8294
8779
  "aria-hidden": "true"
@@ -8296,7 +8781,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8296
8781
  key: 1,
8297
8782
  size: 16,
8298
8783
  "aria-hidden": "true"
8299
- }))], 8, Cc)), 64))], 8, Sc),
8784
+ }))], 8, Rc)), 64))], 8, Lc),
8300
8785
  a("button", {
8301
8786
  type: "button",
8302
8787
  class: "lze-icon-btn",
@@ -8307,7 +8792,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8307
8792
  }, [s(D(Xe), {
8308
8793
  size: 16,
8309
8794
  "aria-hidden": "true"
8310
- })], 8, wc),
8795
+ })], 8, zc),
8311
8796
  a("button", {
8312
8797
  type: "button",
8313
8798
  class: "lze-icon-btn",
@@ -8318,7 +8803,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8318
8803
  }, [s(D(Be), {
8319
8804
  size: 16,
8320
8805
  "aria-hidden": "true"
8321
- })], 8, Tc),
8806
+ })], 8, Bc),
8322
8807
  s(q, {
8323
8808
  variant: "ghost",
8324
8809
  title: D(l).state.previewing ? D(u)("toolbar.editHint") : D(u)("toolbar.previewHint"),
@@ -8328,7 +8813,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8328
8813
  key: 0,
8329
8814
  size: 16,
8330
8815
  "aria-hidden": "true"
8331
- })) : (_(), n(D(Se), {
8816
+ })) : (_(), n(D(Ce), {
8332
8817
  key: 1,
8333
8818
  size: 16,
8334
8819
  "aria-hidden": "true"
@@ -8341,7 +8826,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8341
8826
  title: D(u)("toolbar.versionsHint"),
8342
8827
  onClick: c[6] ||= (e) => D(l).state.dialog = "versions"
8343
8828
  }, {
8344
- default: N(() => [s(D(Ee), {
8829
+ default: N(() => [s(D(De), {
8345
8830
  size: 16,
8346
8831
  "aria-hidden": "true"
8347
8832
  }), o(T(D(u)("toolbar.versions")), 1)]),
@@ -8376,7 +8861,7 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8376
8861
  href: m.value,
8377
8862
  target: "_blank",
8378
8863
  rel: "noopener noreferrer"
8379
- }, T(D(u)("toolbar.viewSite")), 9, Ec)) : r("", !0),
8864
+ }, T(D(u)("toolbar.viewSite")), 9, Vc)) : r("", !0),
8380
8865
  s(q, {
8381
8866
  variant: "primary",
8382
8867
  disabled: D(l).state.publishing || !d.value,
@@ -8387,25 +8872,25 @@ var Qi = Zi(Ji), $i = [...Qi.keys()], ea = [
8387
8872
  }, 8, ["disabled"])
8388
8873
  ])]));
8389
8874
  }
8390
- }), Oc = [
8875
+ }), Uc = [
8391
8876
  ".lze-root{--lze-bg:#f3f4f6;--lze-panel:#fff;--lze-fg:#0f172a;--lze-muted:#64748b;--lze-border:#e2e8f0;--lze-hover:#f1f5f9;--lze-active:#e8eefc;--lze-accent:#2563eb;--lze-accent-fg:#fff;--lze-danger:#dc2626;--lze-success:#15803d;--lze-warning:#b45309;--lze-radius:8px;--lze-font:ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", sans-serif;--lze-select:#2563eb;--lze-guide:#ec4899;all:initial;box-sizing:border-box;background:var(--lze-bg);height:100%;min-height:480px;color:var(--lze-fg);font:13px/1.45 var(--lze-font);-webkit-font-smoothing:antialiased;grid-template-rows:auto minmax(0,1fr);display:grid}.lze-root :where(:not(svg,svg *)){all:revert;box-sizing:border-box}.lze-root :where(){box-sizing:border-box}.lze-root :where(h1,h2,h3,p,figure){margin:0}.lze-root :where(button,input,select,textarea){font:inherit;color:inherit}.lze-root :focus-visible{outline:2px solid var(--lze-accent);outline-offset:1px}.lze-muted,.lze-hint{color:var(--lze-muted)}.lze-hint{font-size:12px}.lze-error{color:var(--lze-danger);font-size:12px}.lze-btn{border-radius:var(--lze-radius);border:1px solid var(--lze-border);background:var(--lze-panel);height:32px;color:var(--lze-fg);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:500;text-decoration:none;display:inline-flex}.lze-btn[data-size=md]{height:36px;padding:0 14px}.lze-btn:hover:not(:disabled){background:var(--lze-hover)}.lze-btn:disabled{opacity:.5;cursor:default}.lze-btn[data-variant=primary]{background:var(--lze-accent);border-color:var(--lze-accent);color:var(--lze-accent-fg)}.lze-btn[data-variant=primary]:hover:not(:disabled){background:color-mix(in srgb, var(--lze-accent) 88%, black)}.lze-btn[data-variant=ghost]{background:0 0;border-color:#0000}.lze-btn[data-variant=danger]{color:var(--lze-danger)}.lze-icon-btn{border-radius:var(--lze-radius);width:32px;height:32px;color:var(--lze-muted);cursor:pointer;background:0 0;border:1px solid #0000;flex:none;place-items:center;padding:0;display:inline-grid}.lze-icon-btn:hover:not(:disabled){background:var(--lze-hover);color:var(--lze-fg)}.lze-icon-btn[aria-pressed=true]{border-color:var(--lze-fg);background:var(--lze-active);color:var(--lze-fg)}.lze-icon-btn[data-tone=danger]{color:var(--lze-danger)}.lze-icon-btn:disabled{opacity:.4;cursor:default}.lze-field{gap:6px;display:grid}.lze-label{color:var(--lze-fg);font-size:12px;font-weight:600}.lze-input,.lze-select{border:1px solid var(--lze-border);background:var(--lze-panel);width:100%;min-height:32px;color:var(--lze-fg);border-radius:6px;padding:6px 8px}.lze-input:focus,.lze-select:focus{border-color:var(--lze-accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--lze-accent) 20%, transparent);outline:none}textarea.lze-input{resize:vertical;line-height:1.4}.lze-select[data-compact=true]{width:auto;min-height:26px;padding:2px 6px;font-size:12px}.lze-number{border:1px solid var(--lze-border);background:var(--lze-panel);border-radius:6px;align-items:center;gap:6px;height:32px;padding:0 8px;display:flex}.lze-number:focus-within{border-color:var(--lze-accent)}.lze-number input{text-align:right;background:0 0;border:0;outline:none;width:100%;min-width:0}.lze-number-label,.lze-number-suffix{color:var(--lze-muted);flex:none;font-size:11px}.lze-toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.lze-toggle input{width:16px;height:16px;accent-color:var(--lze-fg);margin:0}.lze-range{gap:4px;display:grid}.lze-range input{width:100%;accent-color:var(--lze-fg)}.lze-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lze-swatch{cursor:pointer;border:1px solid #0f172a1f;border-radius:999px;width:26px;height:26px;padding:0}.lze-swatch[aria-pressed=true]{outline:2px solid var(--lze-fg);outline-offset:2px}.lze-swatch-custom{border:1px solid var(--lze-border);color:var(--lze-muted);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px 2px 3px;font-size:12px;display:inline-flex}.lze-swatch-custom[data-active=true]{outline:2px solid var(--lze-fg);outline-offset:2px}.lze-swatch-custom input{cursor:pointer;background:0 0;border:0;border-radius:999px;width:20px;height:20px;padding:0}.lze-panel-section{border-top:1px solid var(--lze-border);padding-top:4px}.lze-panel-section>summary{color:var(--lze-muted);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 0;font-size:12px;font-weight:600;list-style:none;display:flex}.lze-panel-section>summary::-webkit-details-marker{display:none}.lze-panel-section>summary:hover{color:var(--lze-fg)}.lze-panel-section[open]>summary svg{transform:rotate(180deg)}.lze-panel-body{gap:10px;padding:2px 0 12px;display:grid}.lze-dialog{border:1px solid var(--lze-border);background:var(--lze-panel);width:min(520px,100vw - 32px);max-height:calc(100dvh - 48px);color:var(--lze-fg);font:13px/1.45 var(--lze-font);border-radius:12px;padding:0;box-shadow:0 24px 64px #0f172a3d}.lze-dialog[data-size=lg]{width:min(720px,100vw - 32px)}.lze-dialog[data-size=xl]{width:min(880px,100vw - 32px)}.lze-dialog::backdrop{background:#0f172a73}.lze-dialog-body{gap:16px;padding:20px;display:grid}.lze-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lze-dialog-head h2{font-size:16px;font-weight:650}.lze-dialog-actions{flex-wrap:wrap;gap:8px;display:flex}.lze-toasts{z-index:2147483000;gap:8px;max-width:min(420px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.lze-toast{background:var(--lze-fg);color:var(--lze-panel);border-radius:10px;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:flex;box-shadow:0 12px 32px #0f172a3d}.lze-toast[data-tone=error]{background:var(--lze-danger)}.lze-toast span{flex:1}.lze-toast .lze-icon-btn{color:inherit;width:26px;height:26px}.lze-toast .lze-icon-btn:hover{color:inherit;background:#ffffff26}.lze-grid-2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.lze-grid-4{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.lze-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lze-stack{gap:12px;display:grid}.lze-heading{justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:650;display:flex}.lze-link{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}",
8392
8877
  ".lze-center{text-align:center;color:var(--lze-muted);grid-row:1/-1;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.lze-toolbar{border-bottom:1px solid var(--lze-border);background:var(--lze-panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.lze-toolbar-group{flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.lze-site-name{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:14px;overflow:hidden}.lze-page-select{width:auto;max-width:220px}.lze-badge-status{color:var(--lze-warning);background:#fef3c7;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.lze-badge-status[data-published=true]{color:var(--lze-success);background:#dcfce7}.lze-save-status{color:var(--lze-muted);max-width:360px;font-size:12px}.lze-save-status[data-tone=warning]{color:var(--lze-warning)}.lze-save-status[data-tone=danger]{color:var(--lze-danger)}.lze-segmented{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-bg);padding:2px;display:inline-flex}.lze-segmented button{width:32px;height:26px;color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.lze-segmented button[aria-pressed=true]{background:var(--lze-panel);color:var(--lze-fg);box-shadow:0 1px 2px #0f172a14}.lze-body{grid-template-columns:272px minmax(0,1fr) 312px;min-height:0;display:grid}.lze-main{min-width:0;min-height:0;display:grid;position:relative}.lze-sidebar{background:var(--lze-panel);flex-direction:column;min-height:0;display:flex}.lze-left{border-right:1px solid var(--lze-border)}.lze-right{border-left:1px solid var(--lze-border)}.lze-scroll{flex:1;min-height:0;overflow-y:auto}.lze-pad{padding:12px}.lze-left>.lze-scroll.lze-stack{align-content:start;padding:12px}.lze-tabs{border-bottom:1px solid var(--lze-border);gap:4px;padding:8px;display:flex}.lze-tabs button{color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 4px;font-size:11px;font-weight:600;display:flex}.lze-right .lze-tabs button{flex-direction:row;justify-content:center;font-size:13px}.lze-tabs button:hover{color:var(--lze-fg)}.lze-tabs button[aria-selected=true]{background:var(--lze-hover);color:var(--lze-fg)}.lze-group-title{color:var(--lze-muted);margin-top:4px;font-size:12px;font-weight:600}.lze-palette{grid-template-columns:1fr 1fr;gap:6px;display:grid}.lze-palette-item{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);min-width:0;color:var(--lze-muted);text-align:left;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;display:flex}.lze-palette-item:hover{border-color:var(--lze-fg);color:var(--lze-fg);background:var(--lze-hover)}.lze-palette-item svg{flex:none}.lze-list{gap:6px;display:grid}.lze-list-item{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);color:var(--lze-muted);text-align:left;cursor:pointer;padding:8px 10px;font-size:12px;font-weight:500}.lze-list-item:hover{border-color:var(--lze-fg);color:var(--lze-fg)}.lze-drag-ghost{z-index:2147483000;pointer-events:none;border:1px solid var(--lze-fg);border-radius:var(--lze-radius);background:var(--lze-panel);padding:6px 10px;font-size:12px;font-weight:600;position:fixed;box-shadow:0 8px 24px #0f172a2e}.lze-layer-group{padding:0 8px 2px}.lze-layer-row{color:var(--lze-muted);border-radius:6px;align-items:center;gap:2px;display:flex}.lze-layer-row:hover{background:var(--lze-hover)}.lze-layer-row[data-selected=true]{background:var(--lze-active);color:var(--lze-fg)}.lze-layer-row .lze-icon-btn{width:24px;height:24px}.lze-layer-name{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:6px 4px;display:flex}.lze-layer-name span:first-of-type{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lze-layer-actions{opacity:0;display:flex}.lze-layer-row:hover .lze-layer-actions,.lze-layer-row:focus-within .lze-layer-actions{opacity:1}.lze-layer-children{border-left:1px solid var(--lze-border);margin-left:16px;padding-left:4px}.lze-lock-toggle{opacity:0}.lze-lock-toggle[data-locked=true],.lze-layer-row:hover .lze-lock-toggle,.lze-lock-toggle:focus-visible{opacity:1}.lze-card{border:1px solid var(--lze-border);border-radius:var(--lze-radius);gap:8px;padding:8px;display:grid}.lze-card[data-active=true]{border-color:var(--lze-fg);background:var(--lze-hover)}.lze-media-grid{grid-template-columns:1fr 1fr;align-content:start;gap:8px;display:grid}.lze-media-item{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-bg);cursor:grab;touch-action:none;height:80px;padding:0;overflow:hidden}.lze-media-item:hover{border-color:var(--lze-fg)}.lze-media-item img{object-fit:contain;width:100%;height:100%}@media (width<=1100px){.lze-body{grid-template-columns:232px minmax(0,1fr) 280px}}",
8393
- ".lze-stage{padding:24px;position:relative;overflow:auto}.lze-sheet{background:var(--lze-panel);border-radius:10px;margin:0 auto;position:relative;box-shadow:0 1px 3px #0f172a14,0 12px 40px #0f172a14}.lze-sheet[data-device=mobile]{border-radius:18px}.lze-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.lze-frame{background:0 0;border:0;display:block}.lze-preview .lze-sheet{overflow:hidden}.lze-preview .lze-frame{transform-origin:0 0}.lze-empty-hint{text-align:center;max-width:520px;color:var(--lze-muted);margin:16px auto 0}.lze-hint-bubble{z-index:2147483000;background:var(--lze-fg);color:var(--lze-panel);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.lze-render-issue,.lze-modal-banner{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);justify-content:space-between;align-items:center;gap:8px;max-width:900px;margin:0 auto 12px;padding:8px 12px;display:flex}.lze-render-issue{border-color:var(--lze-danger);color:var(--lze-danger)}.lze-modal-banner{border-color:var(--lze-fg);font-weight:600}.lze-overlay{pointer-events:none;--line:calc(1px * var(--inv));position:absolute;inset:0}.lze-overlay>*{position:absolute}.lze-canvas-outline{outline:calc(2px * var(--inv)) solid var(--lze-select);outline-offset:calc(-2px * var(--inv));box-shadow:inset 0 0 0 calc(4px * var(--inv)) #ffffffb3}.lze-hover{outline:var(--line) solid var(--lze-select)}.lze-selection{outline:calc(2px * var(--inv)) solid var(--lze-select);outline-offset:var(--line);box-shadow:0 0 0 calc(4px * var(--inv)) #ffffffb3}.lze-selection[data-locked=true]{outline-style:dashed}.lze-lock{top:calc(-18px * var(--inv));width:calc(12px * var(--inv));height:calc(12px * var(--inv));color:var(--lze-select);position:absolute;right:0}.lze-handles{pointer-events:none}.lze-handle,.lze-radius,.lze-rotate{pointer-events:auto;touch-action:none;padding:0;position:absolute}.lze-handle{width:calc(11px * var(--inv));height:calc(11px * var(--inv));margin:calc(-5.5px * var(--inv));border:var(--line) solid #fff;background:var(--lze-select);border-radius:999px}.lze-handle[data-handle^=n]{top:0}.lze-handle[data-handle^=s]{top:100%}.lze-handle[data-handle=e],.lze-handle[data-handle=w]{top:50%}.lze-handle[data-handle$=w]{left:0}.lze-handle[data-handle$=e]{left:100%}.lze-handle[data-handle=n],.lze-handle[data-handle=s]{left:50%}.lze-handle[data-handle=nw],.lze-handle[data-handle=se]{cursor:nwse-resize}.lze-handle[data-handle=ne],.lze-handle[data-handle=sw]{cursor:nesw-resize}.lze-handle[data-handle=n],.lze-handle[data-handle=s]{cursor:ns-resize}.lze-handle[data-handle=e],.lze-handle[data-handle=w]{cursor:ew-resize}.lze-radius{top:calc(10px * var(--inv));left:calc(10px * var(--inv));width:calc(14px * var(--inv));height:calc(14px * var(--inv));border:calc(2px * var(--inv)) solid var(--lze-select);cursor:ew-resize;background:#fff;border-radius:999px}.lze-rotate{top:calc(100% + 10px * var(--inv));left:calc(100% + 10px * var(--inv));width:calc(24px * var(--inv));height:calc(24px * var(--inv));border:var(--line) solid var(--lze-select);color:var(--lze-select);cursor:grab;background:#fff;border-radius:999px;place-items:center;display:grid}.lze-rotate svg{width:calc(13px * var(--inv));height:calc(13px * var(--inv))}.lze-guide{background:var(--lze-guide)}.lze-guide[data-axis=x]{width:var(--line)}.lze-guide[data-axis=y]{height:var(--line)}.lze-badge{transform:translateY(-100%) scale(var(--inv));transform-origin:0 100%;background:var(--lze-select);color:#fff;white-space:nowrap;border-radius:4px;margin-top:-4px;padding:2px 6px;font-size:11px;font-weight:600}.lze-stacked{pointer-events:auto;transform:scale(var(--inv));transform-origin:0 0;border-bottom:1px solid var(--lze-border);max-width:none;color:var(--lze-fg);background:#fffffff2;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex;width:auto!important}.lze-element-bar{pointer-events:auto;transform-origin:0 0;transform:scale(var(--inv)) translateY(calc(-100% - 10px));border:1px solid var(--lze-border);background:var(--lze-panel);border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex;box-shadow:0 8px 24px #0f172a24}.lze-element-bar[data-below=true]{transform:scale(var(--inv)) translateY(14px)}.lze-divider{background:var(--lze-border);width:1px;height:20px;margin:0 2px}",
8394
- ".lze-panel-title{font-size:13px;font-weight:650}.lze-grow{flex:1;min-width:0}.lze-nowrap{flex-wrap:nowrap}.lze-divided{border-top:1px solid var(--lze-border);padding-top:12px}.lze-image-preview{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-bg);overflow:hidden}.lze-image-preview img{object-fit:contain;width:100%;height:96px;display:block}.lze-image-preview[data-thumb=icon]{width:fit-content;padding:6px}.lze-image-preview[data-thumb=icon] img{width:40px;height:40px}.lze-tabs-inline{border-radius:var(--lze-radius);background:var(--lze-bg);gap:4px;padding:3px;display:flex}.lze-tabs-inline button{color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:5px 8px;font-size:12px;font-weight:500}.lze-tabs-inline button:hover{color:var(--lze-fg)}.lze-tabs-inline button[aria-pressed=true]{background:var(--lze-panel);color:var(--lze-fg);box-shadow:0 1px 2px #0f172a14}.lze-gradient-presets{flex-wrap:wrap;gap:6px;display:flex}.lze-gradient-preset{cursor:pointer;border:1px solid #0f172a1f;border-radius:6px;width:48px;height:28px;padding:0}.lze-gradient-preset:hover{outline:2px solid var(--lze-fg);outline-offset:1px}.lze-link-card{border:1px solid var(--lze-border);border-radius:var(--lze-radius);gap:8px;margin:0;padding:8px;display:grid}.lze-link-card legend{color:var(--lze-muted);padding:0 4px;font-size:11px}.lze-icon-grid{border:1px solid var(--lze-border);border-radius:var(--lze-radius);grid-template-columns:repeat(6,1fr);gap:4px;max-height:192px;padding:6px;display:grid;overflow-y:auto}.lze-icon-grid .lze-hint{text-align:center;grid-column:1/-1;padding:8px 0}.lze-icon-choice{aspect-ratio:1;color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.lze-icon-choice:hover{background:var(--lze-hover);color:var(--lze-fg)}.lze-icon-choice[aria-pressed=true]{background:var(--lze-active);color:var(--lze-fg)}.lze-slug{color:var(--lze-muted);align-items:center;gap:6px;font-family:ui-monospace,monospace;display:flex}.lze-slug-static{border:1px solid var(--lze-border);color:var(--lze-muted);border-radius:6px;gap:6px;padding:6px 8px;display:flex}.lze-slug-root{font-family:ui-monospace,monospace}.lze-choice{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);color:inherit;text-align:left;cursor:pointer;gap:2px;padding:8px 10px;display:grid}.lze-choice:hover{border-color:var(--lze-fg);background:var(--lze-hover)}.lze-shortcuts{gap:4px;margin:0;padding-left:16px;display:grid}.lze-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lze-row-item{border:1px solid var(--lze-border);border-radius:var(--lze-radius);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.lze-palette-choice{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);color:inherit;cursor:pointer;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.lze-palette-choice:hover{border-color:var(--lze-fg);background:var(--lze-hover)}.lze-palette-choice .lze-row{gap:3px}.lze-dot{border:1px solid #0f172a1f;border-radius:999px;width:14px;height:14px}.lze-theme-colors{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.lze-theme-color{border:1px solid var(--lze-border);border-radius:var(--lze-radius);align-items:center;gap:8px;padding:6px 10px;display:flex}.lze-theme-color span{flex:1}.lze-theme-color .lze-hex{width:84px;min-height:28px;padding:3px 6px;font-family:ui-monospace,monospace;font-size:12px}.lze-theme-color input[type=color]{border:1px solid var(--lze-border);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;padding:0}.lze-theme-preview{border:1px solid var(--lze-border);gap:10px;padding:20px;display:grid}.lze-theme-preview-heading{font-size:24px;font-weight:700;line-height:1.2}.lze-theme-preview-button{width:fit-content;padding:8px 16px;font-weight:600}.lze-file-input{display:none}.lze-asset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.lze-upload-tile{border:2px dashed var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);height:128px;color:var(--lze-muted);text-align:center;cursor:pointer;align-content:center;place-items:center;gap:4px;padding:8px;display:grid}.lze-upload-tile:hover:not(:disabled){border-color:var(--lze-fg);color:var(--lze-fg)}.lze-upload-tile:disabled{cursor:progress}.lze-asset{border:1px solid var(--lze-border);border-radius:var(--lze-radius);height:128px;margin:0;position:relative;overflow:hidden}.lze-asset:hover{border-color:var(--lze-fg)}.lze-asset-use{background:var(--lze-bg);width:100%;height:100%;color:inherit;cursor:pointer;border:0;flex-direction:column;padding:0;display:flex}.lze-asset-use img{object-fit:contain;flex:1;width:100%;min-height:0}.lze-asset-use figcaption{background:var(--lze-panel);color:var(--lze-muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:4px 8px;font-size:11px;overflow:hidden}.lze-asset .lze-asset-delete{opacity:0;background:#ffffffeb;width:28px;height:28px;position:absolute;top:6px;right:6px}.lze-asset:hover .lze-asset-delete,.lze-asset .lze-asset-delete:focus-visible{opacity:1}.lze-submission{border-bottom:1px solid var(--lze-border);gap:6px;padding:10px 0;display:grid}.lze-submission dl{grid-template-columns:minmax(96px,max-content) 1fr;gap:4px 12px;margin:0;display:grid}.lze-submission dt{color:var(--lze-muted)}.lze-submission dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}"
8395
- ].join("\n"), kc = /* @__PURE__ */ new WeakMap();
8396
- function Ac(e) {
8878
+ ".lze-stage{overscroll-behavior:contain;padding:24px;position:relative;overflow:auto}.lze-stage[data-space],.lze-stage[data-space] *{cursor:grab!important}.lze-stage[data-space=panning],.lze-stage[data-space=panning] *{cursor:grabbing!important}.lze-context{z-index:2147483100;border:1px solid var(--lze-border);background:var(--lze-panel);border-radius:10px;min-width:208px;padding:6px;font-size:13px;position:fixed;box-shadow:0 12px 32px #0f172a2e}.lze-context:focus{outline:none}.lze-context>button{width:100%;color:var(--lze-fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:7px 10px;display:flex}.lze-context>button:hover,.lze-context>button:focus-visible{background:var(--lze-hover)}.lze-context .lze-context-danger{color:var(--lze-danger)}.lze-context kbd{color:var(--lze-muted);font:inherit;font-size:11px}.lze-context hr{border:0;border-top:1px solid var(--lze-border);margin:5px 6px}.lze-context-label{color:var(--lze-muted);margin:6px 10px 2px;font-size:11px}.lze-context-row{gap:2px;padding:0 6px 4px;display:flex}.lze-context-row button{width:32px;height:28px;color:var(--lze-fg);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:grid}.lze-context-row button:hover{background:var(--lze-hover)}.lze-context-align{width:16px;height:16px;display:block;position:relative}.lze-context-align:before{content:\"\";background:var(--lze-fg);position:absolute}.lze-context-align:after{content:\"\";background:var(--lze-muted);border-radius:1px;position:absolute}.lze-context-align[data-align=left]:before{width:1.5px;top:0;bottom:0;left:0}.lze-context-align[data-align=left]:after{width:11px;height:8px;top:4px;left:3px}.lze-context-align[data-align=hcenter]:before{width:1.5px;top:0;bottom:0;left:7.25px}.lze-context-align[data-align=hcenter]:after{width:11px;height:8px;top:4px;left:2.5px}.lze-context-align[data-align=right]:before{width:1.5px;top:0;bottom:0;right:0}.lze-context-align[data-align=right]:after{width:11px;height:8px;top:4px;right:3px}.lze-context-align[data-align=top]:before{height:1.5px;top:0;left:0;right:0}.lze-context-align[data-align=top]:after{width:8px;height:11px;top:3px;left:4px}.lze-context-align[data-align=vmiddle]:before{height:1.5px;top:7.25px;left:0;right:0}.lze-context-align[data-align=vmiddle]:after{width:8px;height:11px;top:2.5px;left:4px}.lze-context-align[data-align=bottom]:before{height:1.5px;bottom:0;left:0;right:0}.lze-context-align[data-align=bottom]:after{width:8px;height:11px;bottom:3px;left:4px}.lze-zoom{z-index:25;float:right;border:1px solid var(--lze-border);background:var(--lze-panel);border-radius:999px;align-items:center;gap:2px;margin-top:12px;padding:4px;display:inline-flex;position:sticky;bottom:0;box-shadow:0 6px 18px #0f172a1f}.lze-zoom button{color:var(--lze-fg);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px}.lze-zoom-btn{width:28px;height:28px;font-size:15px;line-height:1}.lze-zoom-value{font-variant-numeric:tabular-nums;min-width:54px;height:28px;font-size:12px;font-weight:600}.lze-zoom button:hover{background:var(--lze-hover)}.lze-sheet{background:var(--lze-panel);border-radius:10px;margin:0 auto;position:relative;box-shadow:0 1px 3px #0f172a14,0 12px 40px #0f172a14}.lze-sheet[data-device=mobile]{border-radius:18px}.lze-scaler{transform-origin:0 0;position:absolute;top:0;left:0}.lze-frame{background:0 0;border:0;display:block}.lze-preview .lze-sheet{overflow:hidden}.lze-preview .lze-frame{transform-origin:0 0}.lze-empty-hint{text-align:center;max-width:520px;color:var(--lze-muted);margin:16px auto 0}.lze-hint-bubble{z-index:2147483000;background:var(--lze-fg);color:var(--lze-panel);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.lze-render-issue,.lze-modal-banner{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);justify-content:space-between;align-items:center;gap:8px;max-width:900px;margin:0 auto 12px;padding:8px 12px;display:flex}.lze-render-issue{border-color:var(--lze-danger);color:var(--lze-danger)}.lze-modal-banner{border-color:var(--lze-fg);font-weight:600}.lze-overlay{pointer-events:none;--line:calc(1px * var(--inv));position:absolute;inset:0}.lze-overlay>*{position:absolute}.lze-canvas-outline{outline:calc(2px * var(--inv)) solid var(--lze-select);outline-offset:calc(-2px * var(--inv));box-shadow:inset 0 0 0 calc(4px * var(--inv)) #ffffffb3}.lze-hover{outline:var(--line) solid var(--lze-select)}.lze-selection{outline:calc(2px * var(--inv)) solid var(--lze-select);outline-offset:var(--line);box-shadow:0 0 0 calc(4px * var(--inv)) #ffffffb3}.lze-selection[data-locked=true]{outline-style:dashed}.lze-lock{top:calc(-18px * var(--inv));width:calc(12px * var(--inv));height:calc(12px * var(--inv));color:var(--lze-select);position:absolute;right:0}.lze-handles{pointer-events:none}.lze-handle,.lze-radius,.lze-rotate{pointer-events:auto;touch-action:none;padding:0;position:absolute}.lze-handle{width:calc(11px * var(--inv));height:calc(11px * var(--inv));margin:calc(-5.5px * var(--inv));border:var(--line) solid #fff;background:var(--lze-select);border-radius:999px}.lze-handle[data-handle^=n]{top:0}.lze-handle[data-handle^=s]{top:100%}.lze-handle[data-handle=e],.lze-handle[data-handle=w]{top:50%}.lze-handle[data-handle$=w]{left:0}.lze-handle[data-handle$=e]{left:100%}.lze-handle[data-handle=n],.lze-handle[data-handle=s]{left:50%}.lze-handle[data-handle=nw],.lze-handle[data-handle=se]{cursor:nwse-resize}.lze-handle[data-handle=ne],.lze-handle[data-handle=sw]{cursor:nesw-resize}.lze-handle[data-handle=n],.lze-handle[data-handle=s]{cursor:ns-resize}.lze-handle[data-handle=e],.lze-handle[data-handle=w]{cursor:ew-resize}.lze-radius{top:calc(10px * var(--inv));left:calc(10px * var(--inv));width:calc(14px * var(--inv));height:calc(14px * var(--inv));border:calc(2px * var(--inv)) solid var(--lze-select);cursor:ew-resize;background:#fff;border-radius:999px}.lze-rotate{top:calc(100% + 10px * var(--inv));left:calc(100% + 10px * var(--inv));width:calc(24px * var(--inv));height:calc(24px * var(--inv));border:var(--line) solid var(--lze-select);color:var(--lze-select);cursor:grab;background:#fff;border-radius:999px;place-items:center;display:grid}.lze-rotate svg{width:calc(13px * var(--inv));height:calc(13px * var(--inv))}.lze-guide{background:var(--lze-guide)}.lze-guide[data-axis=x]{width:var(--line)}.lze-guide[data-axis=y]{height:var(--line)}.lze-badge{transform:translateY(-100%) scale(var(--inv));transform-origin:0 100%;background:var(--lze-select);color:#fff;white-space:nowrap;border-radius:4px;margin-top:-4px;padding:2px 6px;font-size:11px;font-weight:600}.lze-stacked{pointer-events:auto;transform:scale(var(--inv));transform-origin:0 0;border-bottom:1px solid var(--lze-border);max-width:none;color:var(--lze-fg);background:#fffffff2;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex;width:auto!important}.lze-element-bar{pointer-events:auto;transform-origin:0 0;transform:scale(var(--inv)) translateY(calc(-100% - 10px));border:1px solid var(--lze-border);background:var(--lze-panel);border-radius:10px;align-items:center;gap:2px;padding:3px;display:flex;box-shadow:0 8px 24px #0f172a24}.lze-element-bar[data-below=true]{transform:scale(var(--inv)) translateY(14px)}.lze-divider{background:var(--lze-border);width:1px;height:20px;margin:0 2px}",
8879
+ ".lze-panel-title{font-size:13px;font-weight:650}.lze-grow{flex:1;min-width:0}.lze-nowrap{flex-wrap:nowrap}.lze-divided{border-top:1px solid var(--lze-border);padding-top:12px}.lze-image-preview{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-bg);overflow:hidden}.lze-image-preview img{object-fit:contain;width:100%;height:96px;display:block}.lze-image-preview[data-thumb=icon]{width:fit-content;padding:6px}.lze-image-preview[data-thumb=icon] img{width:40px;height:40px}.lze-tabs-inline{border-radius:var(--lze-radius);background:var(--lze-bg);gap:4px;padding:3px;display:flex}.lze-tabs-inline button{color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:5px 8px;font-size:12px;font-weight:500}.lze-tabs-inline button:hover{color:var(--lze-fg)}.lze-tabs-inline button[aria-pressed=true]{background:var(--lze-panel);color:var(--lze-fg);box-shadow:0 1px 2px #0f172a14}.lze-gradient-presets{flex-wrap:wrap;gap:6px;display:flex}.lze-gradient-preset{cursor:pointer;border:1px solid #0f172a1f;border-radius:6px;width:48px;height:28px;padding:0}.lze-gradient-preset:hover{outline:2px solid var(--lze-fg);outline-offset:1px}.lze-link-card{border:1px solid var(--lze-border);border-radius:var(--lze-radius);gap:8px;margin:0;padding:8px;display:grid}.lze-link-card legend{color:var(--lze-muted);padding:0 4px;font-size:11px}.lze-icon-grid{border:1px solid var(--lze-border);border-radius:var(--lze-radius);grid-template-columns:repeat(6,1fr);gap:4px;max-height:192px;padding:6px;display:grid;overflow-y:auto}.lze-icon-grid .lze-hint{text-align:center;grid-column:1/-1;padding:8px 0}.lze-icon-choice{aspect-ratio:1;color:var(--lze-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.lze-icon-choice:hover{background:var(--lze-hover);color:var(--lze-fg)}.lze-icon-choice[aria-pressed=true]{background:var(--lze-active);color:var(--lze-fg)}.lze-slug{color:var(--lze-muted);align-items:center;gap:6px;font-family:ui-monospace,monospace;display:flex}.lze-slug-static{border:1px solid var(--lze-border);color:var(--lze-muted);border-radius:6px;gap:6px;padding:6px 8px;display:flex}.lze-slug-root{font-family:ui-monospace,monospace}.lze-choice{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);color:inherit;text-align:left;cursor:pointer;gap:2px;padding:8px 10px;display:grid}.lze-choice:hover{border-color:var(--lze-fg);background:var(--lze-hover)}.lze-shortcuts{gap:4px;margin:0;padding-left:16px;display:grid}.lze-rows{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lze-row-item{border:1px solid var(--lze-border);border-radius:var(--lze-radius);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.lze-palette-choice{border:1px solid var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);color:inherit;cursor:pointer;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.lze-palette-choice:hover{border-color:var(--lze-fg);background:var(--lze-hover)}.lze-palette-choice .lze-row{gap:3px}.lze-dot{border:1px solid #0f172a1f;border-radius:999px;width:14px;height:14px}.lze-theme-colors{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;display:grid}.lze-theme-color{border:1px solid var(--lze-border);border-radius:var(--lze-radius);align-items:center;gap:8px;padding:6px 10px;display:flex}.lze-theme-color span{flex:1}.lze-theme-color .lze-hex{width:84px;min-height:28px;padding:3px 6px;font-family:ui-monospace,monospace;font-size:12px}.lze-theme-color input[type=color]{border:1px solid var(--lze-border);cursor:pointer;background:0 0;border-radius:6px;width:32px;height:32px;padding:0}.lze-theme-preview{border:1px solid var(--lze-border);gap:10px;padding:20px;display:grid}.lze-theme-preview-heading{font-size:24px;font-weight:700;line-height:1.2}.lze-theme-preview-button{width:fit-content;padding:8px 16px;font-weight:600}.lze-file-input{display:none}.lze-asset-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.lze-upload-tile{border:2px dashed var(--lze-border);border-radius:var(--lze-radius);background:var(--lze-panel);height:128px;color:var(--lze-muted);text-align:center;cursor:pointer;align-content:center;place-items:center;gap:4px;padding:8px;display:grid}.lze-upload-tile:hover:not(:disabled){border-color:var(--lze-fg);color:var(--lze-fg)}.lze-upload-tile:disabled{cursor:progress}.lze-asset{border:1px solid var(--lze-border);border-radius:var(--lze-radius);height:128px;margin:0;position:relative;overflow:hidden}.lze-asset:hover{border-color:var(--lze-fg)}.lze-asset-use{background:var(--lze-bg);width:100%;height:100%;color:inherit;cursor:pointer;border:0;flex-direction:column;padding:0;display:flex}.lze-asset-use img{object-fit:contain;flex:1;width:100%;min-height:0}.lze-asset-use figcaption{background:var(--lze-panel);color:var(--lze-muted);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:4px 8px;font-size:11px;overflow:hidden}.lze-asset .lze-asset-delete{opacity:0;background:#ffffffeb;width:28px;height:28px;position:absolute;top:6px;right:6px}.lze-asset:hover .lze-asset-delete,.lze-asset .lze-asset-delete:focus-visible{opacity:1}.lze-submission{border-bottom:1px solid var(--lze-border);gap:6px;padding:10px 0;display:grid}.lze-submission dl{grid-template-columns:minmax(96px,max-content) 1fr;gap:4px 12px;margin:0;display:grid}.lze-submission dt{color:var(--lze-muted)}.lze-submission dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.lze-choices{gap:6px;display:grid}"
8880
+ ].join("\n"), Wc = /* @__PURE__ */ new WeakMap();
8881
+ function Gc(e) {
8397
8882
  let t = e.getRootNode();
8398
- if (!(t instanceof Document || t instanceof ShadowRoot) || kc.has(t)) return;
8883
+ if (!(t instanceof Document || t instanceof ShadowRoot) || Wc.has(t)) return;
8399
8884
  let n = new CSSStyleSheet();
8400
- n.replaceSync(Oc), kc.set(t, n), t.adoptedStyleSheets = [...t.adoptedStyleSheets, n];
8885
+ n.replaceSync(Uc), Wc.set(t, n), t.adoptedStyleSheets = [...t.adoptedStyleSheets, n];
8401
8886
  }
8402
8887
  //#endregion
8403
8888
  //#region src/ui/Toasts.vue?vue&type=script&setup=true&lang.ts
8404
- var jc = { class: "lze-toasts" }, Mc = ["data-tone", "role"], Nc = ["aria-label", "onClick"], Pc = /* @__PURE__ */ c({
8889
+ var Kc = { class: "lze-toasts" }, qc = ["data-tone", "role"], Jc = ["aria-label", "onClick"], Yc = /* @__PURE__ */ c({
8405
8890
  __name: "Toasts",
8406
8891
  setup(t) {
8407
8892
  let n = G();
8408
- return (t, r) => (_(), i("div", jc, [(_(!0), i(e, null, x(D(n).state.toasts, (e) => (_(), i("div", {
8893
+ return (t, r) => (_(), i("div", Kc, [(_(!0), i(e, null, x(D(n).state.toasts, (e) => (_(), i("div", {
8409
8894
  key: e.id,
8410
8895
  class: "lze-toast",
8411
8896
  "data-tone": e.tone,
@@ -8418,19 +8903,19 @@ var jc = { class: "lze-toasts" }, Mc = ["data-tone", "role"], Nc = ["aria-label"
8418
8903
  }, [s(D($e), {
8419
8904
  size: 14,
8420
8905
  "aria-hidden": "true"
8421
- })], 8, Nc)], 8, Mc))), 128))]));
8906
+ })], 8, Jc)], 8, qc))), 128))]));
8422
8907
  }
8423
- }), Fc = ["lang"], Ic = {
8908
+ }), Xc = ["lang"], Zc = {
8424
8909
  key: 0,
8425
8910
  class: "lze-center"
8426
- }, Lc = {
8911
+ }, Qc = {
8427
8912
  key: 1,
8428
8913
  class: "lze-center",
8429
8914
  role: "alert"
8430
- }, Rc = {
8915
+ }, $c = {
8431
8916
  key: 2,
8432
8917
  class: "lze-center"
8433
- }, zc = { class: "lze-body" }, Bc = { class: "lze-main" }, Vc = /* @__PURE__ */ c({
8918
+ }, el = { class: "lze-body" }, tl = { class: "lze-main" }, nl = /* @__PURE__ */ c({
8434
8919
  __name: "LienzoEditor",
8435
8920
  props: {
8436
8921
  endpoint: {},
@@ -8441,7 +8926,7 @@ var jc = { class: "lze-toasts" }, Mc = ["data-tone", "role"], Nc = ["aria-label"
8441
8926
  },
8442
8927
  setup(t) {
8443
8928
  let r = t, c = en(r.locale ?? "en", r.messages), l = bn({
8444
- client: tr({
8929
+ client: mr({
8445
8930
  endpoint: r.endpoint,
8446
8931
  headers: r.headers,
8447
8932
  fetch: r.fetch
@@ -8459,7 +8944,7 @@ var jc = { class: "lze-toasts" }, Mc = ["data-tone", "role"], Nc = ["aria-label"
8459
8944
  let e = l.theme.value;
8460
8945
  l.state.load.kind === "ready" && typeof document < "u" && (m ??= document.head.appendChild(Object.assign(document.createElement("link"), { rel: "stylesheet" })), m.href = Vt([e.heading_font, e.body_font]));
8461
8946
  }), g(() => {
8462
- u.value && Ac(u.value), window.addEventListener("keydown", p), l.load();
8947
+ u.value && Gc(u.value), window.addEventListener("keydown", p), l.load();
8463
8948
  }), h(() => {
8464
8949
  window.removeEventListener("keydown", p), m?.remove(), l.dispose();
8465
8950
  }), (t, r) => (_(), i("div", {
@@ -8468,36 +8953,36 @@ var jc = { class: "lze-toasts" }, Mc = ["data-tone", "role"], Nc = ["aria-label"
8468
8953
  class: "lze-root",
8469
8954
  lang: D(c).locale
8470
8955
  }, [
8471
- D(l).state.load.kind === "loading" ? (_(), i("div", Ic, T(D(l).t("load.loading")), 1)) : D(l).state.load.kind === "failed" ? (_(), i("div", Lc, [a("p", null, T(D(l).t("load.failed", { message: D(l).state.load.message })), 1), s(q, { onClick: r[0] ||= (e) => D(l).load() }, {
8956
+ D(l).state.load.kind === "loading" ? (_(), i("div", Zc, T(D(l).t("load.loading")), 1)) : D(l).state.load.kind === "failed" ? (_(), i("div", Qc, [a("p", null, T(D(l).t("load.failed", { message: D(l).state.load.message })), 1), s(q, { onClick: r[0] ||= (e) => D(l).load() }, {
8472
8957
  default: N(() => [o(T(D(l).t("load.retry")), 1)]),
8473
8958
  _: 1
8474
- })])) : D(l).state.load.kind === "empty" ? (_(), i("div", Rc, [s(q, {
8959
+ })])) : D(l).state.load.kind === "empty" ? (_(), i("div", $c, [s(q, {
8475
8960
  variant: "primary",
8476
8961
  onClick: r[1] ||= (e) => D(l).state.dialog = "newPage"
8477
8962
  }, {
8478
8963
  default: N(() => [o(T(D(l).t("newPage.title")), 1)]),
8479
8964
  _: 1
8480
- })])) : (_(), i(e, { key: 3 }, [s(Dc), a("div", zc, [
8481
- s(to, { "drop-point": f }),
8482
- a("main", Bc, [D(l).state.previewing ? (_(), n(er, { key: 0 })) : (_(), n(Qn, {
8965
+ })])) : (_(), i(e, { key: 3 }, [s(Hc), a("div", el, [
8966
+ s(go, { "drop-point": f }),
8967
+ a("main", tl, [D(l).state.previewing ? (_(), n(pr, { key: 0 })) : (_(), n(dr, {
8483
8968
  key: 1,
8484
8969
  ref_key: "canvas",
8485
8970
  ref: d
8486
8971
  }, null, 512))]),
8487
- s(pc)
8972
+ s(Oc)
8488
8973
  ])], 64)),
8489
- s(Pr),
8490
- s(qi),
8491
- s(Ui),
8492
- s(gi),
8493
- s(xi),
8494
- s(gr),
8495
- s(Tr),
8496
- s(Pc)
8497
- ], 8, Fc));
8974
+ s(qr),
8975
+ s(sa),
8976
+ s(ra),
8977
+ s(Ai),
8978
+ s(Fi),
8979
+ s(kr),
8980
+ s(Rr),
8981
+ s(Yc)
8982
+ ], 8, Xc));
8498
8983
  }
8499
8984
  });
8500
8985
  //#endregion
8501
- export { Qt as n, Zt as r, Vc as t };
8986
+ export { Qt as n, Zt as r, nl as t };
8502
8987
 
8503
- //# sourceMappingURL=LienzoEditor-CQyoS5M0.js.map
8988
+ //# sourceMappingURL=LienzoEditor-tPV_sD5K.js.map