@webx-ui/module-blocks 0.8.5 → 0.8.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +585 -574
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { defineComponent as ae, computed as
|
|
1
|
+
import { defineComponent as ae, computed as L, openBlock as c, createElementBlock as C, createVNode as m, unref as n, createElementVNode as A, createTextVNode as M, toDisplayString as S, Fragment as F, createCommentVNode as D, renderList as le, ref as I, onMounted as Re, watch as te, createBlock as z, withCtx as b, onBeforeUnmount as Xe, normalizeStyle as xe, reactive as st, normalizeClass as $e, withDirectives as al, vShow as il, inject as De, watchEffect as rl, resolveComponent as At, isRef as Vt, nextTick as ul, withKeys as ht, withModifiers as bt, provide as Bt, useModel as cl, getCurrentInstance as dl, resolveDynamicComponent as pl, mergeProps as fl, mergeModels as ml } from "vue";
|
|
2
2
|
import { useRoute as vl, useRouter as Wt } from "vue-router";
|
|
3
3
|
import { useTranslate as de, useAdmin as je, useErrorText as Fe, WxDate as hl, WxScreenHead as bl, WxRenameButton as gl, WxHelpButton as yl, adminKey as Mt, WxRowMenu as kl, WxListScreen as wl } from "@webx-ui/module-admin";
|
|
4
|
-
import { WxIcon as he, WxSkeleton as Be, WxText as
|
|
4
|
+
import { WxIcon as he, WxSkeleton as Be, WxText as K, WxBadge as ue, WxButton as ce, confirm as Qe, toast as Z, useElementWidth as et, WxSegmented as Nt, WxCard as Ae, WxPopover as _l, WxAlert as zt, WxTabs as xl, WxTab as Ve, WxCodeEditor as Ye, WxFormItem as oe, WxInput as Ue, WxSelect as Dt, WxTextarea as $l, WxIconPicker as Sl, WxInputNumber as gt, WxTagsInput as yt, WxSwitch as El, WxActionBar as Tl, useModal as It, WxDialog as Ot, WxEmpty as Pt, WxAction as Ie, WxSortableList as Cl, createModal as Ut, WxDrawer as Ll, WxSpace as Al, WxSkeletonItem as qe } from "@webx-ui/core";
|
|
5
5
|
import { WxScreenRenderer as Rt, coreTypes as Je } from "@webx-ui/schema";
|
|
6
|
-
import { autocompletion as
|
|
6
|
+
import { autocompletion as Vl, snippetCompletion as ve, pickedCompletion as dt, startCompletion as Bl } from "@codemirror/autocomplete";
|
|
7
7
|
import { EditorState as Wl } from "@codemirror/state";
|
|
8
8
|
function Me(e) {
|
|
9
9
|
const l = `${e.apiPath}/blocks`, t = (s) => s.data;
|
|
@@ -22,10 +22,10 @@ function Me(e) {
|
|
|
22
22
|
restore: (s, a) => e.http.post(`${l}/${s}/versions/${a}/restore`, {}).then(t)
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
|
-
const Ml = { class: "wx-block-checks" },
|
|
25
|
+
const Ml = { class: "wx-block-checks" }, Nl = {
|
|
26
26
|
key: 0,
|
|
27
27
|
class: "wx-block-checks__line is-error"
|
|
28
|
-
},
|
|
28
|
+
}, zl = /* @__PURE__ */ ae({
|
|
29
29
|
__name: "BlockChecks",
|
|
30
30
|
props: {
|
|
31
31
|
file: {},
|
|
@@ -34,12 +34,12 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
34
34
|
error: {}
|
|
35
35
|
},
|
|
36
36
|
setup(e) {
|
|
37
|
-
const l = e, t = de("webx-blocks"), s =
|
|
37
|
+
const l = e, t = de("webx-blocks"), s = L(() => l.lints.filter((i) => i.file === l.file)), a = L(() => {
|
|
38
38
|
const i = new Set(s.value.map((r) => r.code)), o = [];
|
|
39
39
|
return l.file === "template" && (i.has("no-marker") || o.push(t("checks.ok-marker")), i.has("variables-missing") || o.push(t("checks.ok-variables"))), l.file === "styles" && (i.has("stray-selectors") || o.push(t("checks.ok-prefix", { slug: l.slug })), i.has("bare-selectors") || o.push(t("checks.ok-bare")), i.has("media-query") || o.push(t("checks.ok-container"))), o;
|
|
40
40
|
});
|
|
41
41
|
return (i, o) => (c(), C("div", Ml, [
|
|
42
|
-
e.error ? (c(), C("div",
|
|
42
|
+
e.error ? (c(), C("div", Nl, [
|
|
43
43
|
m(n(he), { name: "close-circle" }),
|
|
44
44
|
A("span", null, [
|
|
45
45
|
M(S(e.error.message) + " ", 1),
|
|
@@ -77,7 +77,7 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
77
77
|
for (const [s, a] of l)
|
|
78
78
|
t[s] = a;
|
|
79
79
|
return t;
|
|
80
|
-
}, kt = /* @__PURE__ */ ie(
|
|
80
|
+
}, kt = /* @__PURE__ */ ie(zl, [["__scopeId", "data-v-e56947a8"]]), Dl = { class: "wx-block-history" }, Il = { class: "wx-block-history__number" }, Ol = { class: "wx-block-history__who" }, Pl = /* @__PURE__ */ ae({
|
|
81
81
|
__name: "BlockHistory",
|
|
82
82
|
props: {
|
|
83
83
|
block: {},
|
|
@@ -85,14 +85,14 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
85
85
|
},
|
|
86
86
|
emits: ["restored"],
|
|
87
87
|
setup(e, { emit: l }) {
|
|
88
|
-
const t = e, s = l, a = je(), i = Me(a), o = de("webx-blocks"), r = Fe(),
|
|
88
|
+
const t = e, s = l, a = je(), i = Me(a), o = de("webx-blocks"), r = Fe(), d = I(null);
|
|
89
89
|
async function u() {
|
|
90
|
-
|
|
90
|
+
d.value = await i.versions(t.block.id);
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function p(v) {
|
|
93
93
|
return t.block.draft?.number === v.number ? "draft" : t.block.published?.number === v.number ? "live" : "replaced";
|
|
94
94
|
}
|
|
95
|
-
async function
|
|
95
|
+
async function f(v) {
|
|
96
96
|
if (await Qe({
|
|
97
97
|
title: o("page.restore-title", { number: v.number }),
|
|
98
98
|
message: o("page.restore-text"),
|
|
@@ -112,28 +112,28 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
112
112
|
u();
|
|
113
113
|
}
|
|
114
114
|
), (v, g) => (c(), C("div", Dl, [
|
|
115
|
-
|
|
115
|
+
d.value === null ? (c(), z(n(Be), {
|
|
116
116
|
key: 0,
|
|
117
117
|
class: "wx-block-history__ghost",
|
|
118
118
|
rows: 3
|
|
119
|
-
})) : (c(!0), C(F, { key: 1 }, le(
|
|
119
|
+
})) : (c(!0), C(F, { key: 1 }, le(d.value, (x) => (c(), C("div", {
|
|
120
120
|
key: x.number,
|
|
121
121
|
class: "wx-block-history__row"
|
|
122
122
|
}, [
|
|
123
123
|
A("code", Il, S(n(o)("page.version", { number: x.number })), 1),
|
|
124
|
-
A("div",
|
|
125
|
-
m(n(
|
|
124
|
+
A("div", Ol, [
|
|
125
|
+
m(n(K), null, {
|
|
126
126
|
default: b(() => [
|
|
127
|
-
M(S(n(o)(`page.version-${
|
|
127
|
+
M(S(n(o)(`page.version-${p(x)}`)), 1)
|
|
128
128
|
]),
|
|
129
129
|
_: 2
|
|
130
130
|
}, 1024),
|
|
131
|
-
m(n(
|
|
131
|
+
m(n(K), {
|
|
132
132
|
size: "sm",
|
|
133
133
|
tone: "muted"
|
|
134
134
|
}, {
|
|
135
135
|
default: b(() => [
|
|
136
|
-
x.created_at ? (c(),
|
|
136
|
+
x.created_at ? (c(), z(n(hl), {
|
|
137
137
|
key: 0,
|
|
138
138
|
value: x.created_at
|
|
139
139
|
}, null, 8, ["value"])) : D("", !0),
|
|
@@ -145,7 +145,7 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
145
145
|
_: 2
|
|
146
146
|
}, 1024)
|
|
147
147
|
]),
|
|
148
|
-
|
|
148
|
+
p(x) === "draft" ? (c(), z(n(ue), {
|
|
149
149
|
key: 0,
|
|
150
150
|
type: "warning",
|
|
151
151
|
dot: ""
|
|
@@ -154,7 +154,7 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
154
154
|
M(S(n(o)("page.version-draft")), 1)
|
|
155
155
|
]),
|
|
156
156
|
_: 1
|
|
157
|
-
})) :
|
|
157
|
+
})) : p(x) === "live" ? (c(), z(n(ue), {
|
|
158
158
|
key: 1,
|
|
159
159
|
type: "success",
|
|
160
160
|
dot: ""
|
|
@@ -164,11 +164,11 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
164
164
|
]),
|
|
165
165
|
_: 1
|
|
166
166
|
})) : D("", !0),
|
|
167
|
-
e.canManage &&
|
|
167
|
+
e.canManage && p(x) === "replaced" ? (c(), z(n(ce), {
|
|
168
168
|
key: 2,
|
|
169
169
|
size: "sm",
|
|
170
170
|
variant: "outline",
|
|
171
|
-
onClick: (T) =>
|
|
171
|
+
onClick: (T) => f(x)
|
|
172
172
|
}, {
|
|
173
173
|
default: b(() => [
|
|
174
174
|
M(S(n(o)("page.restore")), 1)
|
|
@@ -178,7 +178,7 @@ const Ml = { class: "wx-block-checks" }, zl = {
|
|
|
178
178
|
]))), 128))
|
|
179
179
|
]));
|
|
180
180
|
}
|
|
181
|
-
}), Ul = /* @__PURE__ */ ie(
|
|
181
|
+
}), Ul = /* @__PURE__ */ ie(Pl, [["__scopeId", "data-v-42c6b7ad"]]), Oe = "wx-preview-selected", Ge = "wx-preview-hover", wt = "wx-preview-style";
|
|
182
182
|
function jt(e, l) {
|
|
183
183
|
const s = (e.ownerDocument ?? e).createTreeWalker(
|
|
184
184
|
e,
|
|
@@ -205,16 +205,16 @@ function Ft(e, l, t) {
|
|
|
205
205
|
const o = s.end.nextSibling;
|
|
206
206
|
let r = s.start;
|
|
207
207
|
for (; r; ) {
|
|
208
|
-
const
|
|
208
|
+
const f = r.nextSibling, v = r === s.end;
|
|
209
209
|
if (a.removeChild(r), v) break;
|
|
210
|
-
r =
|
|
210
|
+
r = f;
|
|
211
211
|
}
|
|
212
|
-
const
|
|
213
|
-
a.insertBefore(
|
|
214
|
-
const
|
|
215
|
-
if (
|
|
216
|
-
for (const
|
|
217
|
-
|
|
212
|
+
const d = i.content, u = Array.from(d.childNodes);
|
|
213
|
+
a.insertBefore(d, o);
|
|
214
|
+
const p = e.defaultView?.webx;
|
|
215
|
+
if (p?.mount)
|
|
216
|
+
for (const f of u)
|
|
217
|
+
f.nodeType === 1 && p.mount(f);
|
|
218
218
|
return !0;
|
|
219
219
|
}
|
|
220
220
|
function pt(e, l) {
|
|
@@ -226,11 +226,11 @@ function pt(e, l) {
|
|
|
226
226
|
}
|
|
227
227
|
function ot(e, l) {
|
|
228
228
|
ft(e);
|
|
229
|
-
for (const s of Array.from(e.querySelectorAll(`.${
|
|
230
|
-
s.classList.remove(
|
|
229
|
+
for (const s of Array.from(e.querySelectorAll(`.${Oe}`)))
|
|
230
|
+
s.classList.remove(Oe);
|
|
231
231
|
if (l === null) return null;
|
|
232
232
|
const t = pt(e, l);
|
|
233
|
-
return t?.classList.add(
|
|
233
|
+
return t?.classList.add(Oe), t;
|
|
234
234
|
}
|
|
235
235
|
function _t(e, l) {
|
|
236
236
|
ft(e);
|
|
@@ -261,7 +261,7 @@ function Rl(e, l) {
|
|
|
261
261
|
let t = null;
|
|
262
262
|
function s(o) {
|
|
263
263
|
const r = xt(o.target);
|
|
264
|
-
r === null ?
|
|
264
|
+
r === null ? Pe(o) : _e(o), l.select(r);
|
|
265
265
|
}
|
|
266
266
|
function a(o) {
|
|
267
267
|
const r = xt(o.target);
|
|
@@ -270,23 +270,23 @@ function Rl(e, l) {
|
|
|
270
270
|
function i() {
|
|
271
271
|
t = null, _t(e, null);
|
|
272
272
|
}
|
|
273
|
-
return e.addEventListener("click", s, !0), e.addEventListener("auxclick",
|
|
273
|
+
return e.addEventListener("click", s, !0), e.addEventListener("auxclick", Pe, !0), e.addEventListener("submit", _e, !0), e.addEventListener("dragstart", _e, !0), e.addEventListener("mousemove", a, !0), e.addEventListener("mouseleave", i), {
|
|
274
274
|
release() {
|
|
275
|
-
e.removeEventListener("click", s, !0), e.removeEventListener("auxclick",
|
|
275
|
+
e.removeEventListener("click", s, !0), e.removeEventListener("auxclick", Pe, !0), e.removeEventListener("submit", _e, !0), e.removeEventListener("dragstart", _e, !0), e.removeEventListener("mousemove", a, !0), e.removeEventListener("mouseleave", i);
|
|
276
276
|
}
|
|
277
277
|
};
|
|
278
278
|
}
|
|
279
279
|
function _e(e) {
|
|
280
280
|
e.preventDefault(), e.stopPropagation();
|
|
281
281
|
}
|
|
282
|
-
function
|
|
282
|
+
function Pe(e) {
|
|
283
283
|
const l = e.target;
|
|
284
284
|
(l?.nodeType === Node.ELEMENT_NODE ? l : l?.parentElement ?? null)?.closest("a[href], area[href]") && e.preventDefault();
|
|
285
285
|
}
|
|
286
286
|
function jl(e) {
|
|
287
287
|
const l = [
|
|
288
|
-
["click",
|
|
289
|
-
["auxclick",
|
|
288
|
+
["click", Pe],
|
|
289
|
+
["auxclick", Pe],
|
|
290
290
|
["submit", _e],
|
|
291
291
|
["dragstart", _e]
|
|
292
292
|
];
|
|
@@ -311,38 +311,38 @@ function Hl(e, l) {
|
|
|
311
311
|
function ft(e) {
|
|
312
312
|
if (e.getElementById(wt)) return;
|
|
313
313
|
const l = e.createElement("style");
|
|
314
|
-
l.id = wt, l.textContent = `.${
|
|
314
|
+
l.id = wt, l.textContent = `.${Oe}{outline:2px solid #427edd;outline-offset:-2px;}.${Ge}:not(.${Oe}){outline:1px solid #427edd;outline-offset:-1px;cursor:pointer;}`, (e.head ?? e.documentElement).appendChild(l);
|
|
315
315
|
}
|
|
316
316
|
function Ht(e) {
|
|
317
317
|
const l = e.base ? `<base href="${rt(e.base)}">` : "", t = e.frame ? `<style>${e.frame}</style>` : "", s = e.script && e.runtime ? `<script src="${rt(e.runtime)}"><\/script><script>${e.script}<\/script>` : "";
|
|
318
318
|
return `<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">${l}<style>html,body{margin:0}body{container-type:inline-size}</style>${t}<style>${e.styles}</style></head><body>${e.html}${s}</body></html>`;
|
|
319
319
|
}
|
|
320
|
-
const
|
|
321
|
-
function
|
|
322
|
-
const t = new DOMParser().parseFromString(e, "text/html"), s =
|
|
320
|
+
const Kt = "<!--wx-thumb-->";
|
|
321
|
+
function Kl(e, l) {
|
|
322
|
+
const t = new DOMParser().parseFromString(e, "text/html"), s = ql(t, `wx:${Ze}`);
|
|
323
323
|
if (s === null) return null;
|
|
324
324
|
const a = (u) => u === null ? null : new URL(u, new URL(l, location.href)).href, i = [];
|
|
325
325
|
for (const u of Array.from(t.head.children)) {
|
|
326
|
-
const
|
|
327
|
-
if (
|
|
326
|
+
const p = u.tagName.toLowerCase(), f = (u.getAttribute("rel") ?? "").toLowerCase().split(/\s+/);
|
|
327
|
+
if (p === "style" && u.id !== it)
|
|
328
328
|
i.push(u.outerHTML);
|
|
329
|
-
else if (
|
|
329
|
+
else if (p === "link" && (f.includes("stylesheet") || f.includes("preload") && u.getAttribute("as") === "font")) {
|
|
330
330
|
const v = u.cloneNode(!1);
|
|
331
331
|
v.setAttribute("href", a(u.getAttribute("href")) ?? ""), i.push(v.outerHTML);
|
|
332
332
|
}
|
|
333
333
|
}
|
|
334
|
-
let o =
|
|
334
|
+
let o = Kt, r = s.parentElement;
|
|
335
335
|
for (; r !== null && r !== t.body && r !== t.documentElement; ) {
|
|
336
336
|
const u = r.cloneNode(!1);
|
|
337
337
|
u.innerHTML = o, o = u.outerHTML, r = r.parentElement;
|
|
338
338
|
}
|
|
339
|
-
const
|
|
340
|
-
return `<!doctype html><html${
|
|
341
|
-
}
|
|
342
|
-
function Kl(e, l) {
|
|
343
|
-
return e.replace("</head>", () => `<style>${l.styles}</style></head>`).replace(qt, () => l.html);
|
|
339
|
+
const d = (u) => Array.from(u.attributes).map((p) => ` ${p.name}="${rt(p.value)}"`).join("");
|
|
340
|
+
return `<!doctype html><html${d(t.documentElement)}><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1">${i.join("")}</head><body${d(t.body)}>${o}</body></html>`;
|
|
344
341
|
}
|
|
345
342
|
function Yl(e, l) {
|
|
343
|
+
return e.replace("</head>", () => `<style>${l.styles}</style></head>`).replace(Kt, () => l.html);
|
|
344
|
+
}
|
|
345
|
+
function ql(e, l) {
|
|
346
346
|
const t = e.createTreeWalker(e.body ?? e.documentElement, NodeFilter.SHOW_COMMENT);
|
|
347
347
|
for (let s = t.nextNode(); s !== null; s = t.nextNode())
|
|
348
348
|
if (s.data.trim() === l) return s;
|
|
@@ -362,20 +362,20 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
362
362
|
loading: { type: Boolean, default: !1 }
|
|
363
363
|
},
|
|
364
364
|
setup(e) {
|
|
365
|
-
const l = e, t = de("webx-blocks"), s =
|
|
365
|
+
const l = e, t = de("webx-blocks"), s = L(() => [
|
|
366
366
|
{ value: 1280, icon: "monitor", ariaLabel: t("page.width-desktop") },
|
|
367
367
|
{ value: 834, icon: "tablet", ariaLabel: t("page.width-tablet") },
|
|
368
368
|
{ value: 390, icon: "smartphone", ariaLabel: t("page.width-phone") }
|
|
369
|
-
]), a = I(1280), i = I(null), o = I(null), r = et(i),
|
|
369
|
+
]), a = I(1280), i = I(null), o = I(null), r = et(i), d = I(360), u = I(!1);
|
|
370
370
|
te([r, s], () => {
|
|
371
371
|
if (u.value || r.value === 0) return;
|
|
372
|
-
const h = s.value.find((
|
|
372
|
+
const h = s.value.find((V) => r.value / V.value >= 0.45);
|
|
373
373
|
a.value = (h ?? s.value[s.value.length - 1]).value;
|
|
374
374
|
});
|
|
375
|
-
function
|
|
375
|
+
function p(h) {
|
|
376
376
|
u.value = !0, a.value = h;
|
|
377
377
|
}
|
|
378
|
-
const
|
|
378
|
+
const f = L(() => r.value === 0 ? 1 : Math.min(1, r.value / a.value)), v = L(
|
|
379
379
|
() => l.stage ? void 0 : Ht({
|
|
380
380
|
html: l.html,
|
|
381
381
|
styles: l.styles,
|
|
@@ -394,8 +394,8 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
394
394
|
function T() {
|
|
395
395
|
const h = o.value?.contentDocument?.body;
|
|
396
396
|
if (!h) return;
|
|
397
|
-
const
|
|
398
|
-
|
|
397
|
+
const V = h.ownerDocument.defaultView, O = V && parseFloat(V.getComputedStyle(h).marginBottom) || 0, J = h.getBoundingClientRect().bottom + O + (V?.scrollY ?? 0);
|
|
398
|
+
d.value = Math.max(120, Math.ceil(Math.max(h.scrollHeight, J)));
|
|
399
399
|
}
|
|
400
400
|
let w = null, y = null;
|
|
401
401
|
function _() {
|
|
@@ -404,13 +404,13 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
404
404
|
function R(h) {
|
|
405
405
|
l.stage && (l.script && x !== l.script && (x = l.script, Hl(h, l.script)), Fl(h, { html: l.html, styles: l.styles }));
|
|
406
406
|
}
|
|
407
|
-
function
|
|
407
|
+
function Y() {
|
|
408
408
|
_();
|
|
409
409
|
const h = o.value?.contentDocument;
|
|
410
410
|
if (!h?.body) return;
|
|
411
411
|
l.stage && (x = null, w = jl(h), R(h)), T();
|
|
412
|
-
const
|
|
413
|
-
|
|
412
|
+
const V = h.defaultView?.ResizeObserver;
|
|
413
|
+
V && (y = new V(() => T()), y.observe(h.body));
|
|
414
414
|
}
|
|
415
415
|
te(
|
|
416
416
|
() => [l.html, l.styles],
|
|
@@ -418,25 +418,25 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
418
418
|
const h = o.value?.contentDocument;
|
|
419
419
|
l.stage && h?.body && w !== null && R(h);
|
|
420
420
|
}
|
|
421
|
-
), te(r, (h,
|
|
422
|
-
h > 0 &&
|
|
421
|
+
), te(r, (h, V) => {
|
|
422
|
+
h > 0 && V === 0 && setTimeout(T, 50);
|
|
423
423
|
}), te(a, () => setTimeout(T, 50)), Xe(_);
|
|
424
|
-
const
|
|
424
|
+
const q = L(() => ({
|
|
425
425
|
width: `${a.value}px`,
|
|
426
|
-
height: `${
|
|
427
|
-
transform: `scale(${
|
|
428
|
-
})), X =
|
|
429
|
-
width: `${Math.round(a.value *
|
|
430
|
-
height: `${Math.round(
|
|
426
|
+
height: `${d.value}px`,
|
|
427
|
+
transform: `scale(${f.value})`
|
|
428
|
+
})), X = L(() => ({
|
|
429
|
+
width: `${Math.round(a.value * f.value)}px`,
|
|
430
|
+
height: `${Math.round(d.value * f.value)}px`
|
|
431
431
|
}));
|
|
432
|
-
return (h,
|
|
432
|
+
return (h, V) => (c(), C("div", Jl, [
|
|
433
433
|
A("div", Gl, [
|
|
434
|
-
m(n(
|
|
434
|
+
m(n(Nt), {
|
|
435
435
|
"model-value": a.value,
|
|
436
436
|
options: s.value,
|
|
437
437
|
size: "sm",
|
|
438
438
|
"aria-label": n(t)("page.width"),
|
|
439
|
-
"onUpdate:modelValue":
|
|
439
|
+
"onUpdate:modelValue": V[0] || (V[0] = (O) => p(Number(O)))
|
|
440
440
|
}, null, 8, ["model-value", "options", "aria-label"])
|
|
441
441
|
]),
|
|
442
442
|
A("div", {
|
|
@@ -444,7 +444,7 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
444
444
|
ref: i,
|
|
445
445
|
class: "wx-block-stage__ground"
|
|
446
446
|
}, [
|
|
447
|
-
e.loading && !e.html ? (c(),
|
|
447
|
+
e.loading && !e.html ? (c(), z(n(Be), {
|
|
448
448
|
key: 0,
|
|
449
449
|
rows: 3
|
|
450
450
|
})) : (c(), C("div", {
|
|
@@ -459,21 +459,21 @@ const Jl = { class: "wx-block-stage" }, Gl = { class: "wx-block-stage__bar" }, Z
|
|
|
459
459
|
class: "wx-block-stage__frame",
|
|
460
460
|
src: e.stage ?? void 0,
|
|
461
461
|
srcdoc: v.value,
|
|
462
|
-
style: xe(
|
|
462
|
+
style: xe(q.value),
|
|
463
463
|
sandbox: "allow-same-origin allow-scripts",
|
|
464
464
|
title: n(t)("page.preview"),
|
|
465
|
-
onLoad:
|
|
465
|
+
onLoad: Y
|
|
466
466
|
}, null, 44, Zl))
|
|
467
467
|
], 4))
|
|
468
468
|
], 512)
|
|
469
469
|
]));
|
|
470
470
|
}
|
|
471
471
|
}), Xl = /* @__PURE__ */ ie(Ql, [["__scopeId", "data-v-3185ee45"]]);
|
|
472
|
-
function
|
|
472
|
+
function Yt(e) {
|
|
473
473
|
return typeof e == "object" && e !== null && typeof e.type == "string" && e.type !== "";
|
|
474
474
|
}
|
|
475
475
|
function tt(e) {
|
|
476
|
-
return Array.isArray(e) && e.length > 0 && e.every(
|
|
476
|
+
return Array.isArray(e) && e.length > 0 && e.every(Yt);
|
|
477
477
|
}
|
|
478
478
|
function ut() {
|
|
479
479
|
return (typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID().replace(/-/g, "") : Math.random().toString(36).slice(2) + Math.random().toString(36).slice(2)).slice(0, 12);
|
|
@@ -482,23 +482,23 @@ function en(e, l = {}) {
|
|
|
482
482
|
return { key: ut(), type: e, values: l };
|
|
483
483
|
}
|
|
484
484
|
function re(e, l) {
|
|
485
|
-
return
|
|
485
|
+
return qt(e, l, null, null);
|
|
486
486
|
}
|
|
487
|
-
function
|
|
487
|
+
function qt(e, l, t, s) {
|
|
488
488
|
for (let a = 0; a < e.length; a++) {
|
|
489
489
|
const i = e[a];
|
|
490
490
|
if (i.key === l) return { node: i, parent: t, field: s, list: e, index: a };
|
|
491
491
|
for (const [o, r] of Object.entries(i.values ?? {}))
|
|
492
492
|
if (tt(r)) {
|
|
493
|
-
const
|
|
494
|
-
if (
|
|
493
|
+
const d = qt(r, l, i, o);
|
|
494
|
+
if (d) return d;
|
|
495
495
|
}
|
|
496
496
|
}
|
|
497
497
|
return null;
|
|
498
498
|
}
|
|
499
499
|
function He(e, l, t = 0, s = null) {
|
|
500
500
|
for (const a of e)
|
|
501
|
-
if (
|
|
501
|
+
if (Yt(a)) {
|
|
502
502
|
l(a, t, s);
|
|
503
503
|
for (const i of Object.values(a.values ?? {}))
|
|
504
504
|
tt(i) && He(i, l, t + 1, a);
|
|
@@ -516,7 +516,7 @@ function ln(e) {
|
|
|
516
516
|
tt(t) && He(t, () => l++);
|
|
517
517
|
return l;
|
|
518
518
|
}
|
|
519
|
-
function
|
|
519
|
+
function fo(e) {
|
|
520
520
|
const l = [];
|
|
521
521
|
return He(e, (t) => {
|
|
522
522
|
l.includes(t.type) || l.push(t.type);
|
|
@@ -722,7 +722,7 @@ const un = {
|
|
|
722
722
|
"ok-variables": "Every variable of the template is a field of the schema."
|
|
723
723
|
}
|
|
724
724
|
}, St = /* @__PURE__ */ new WeakSet();
|
|
725
|
-
function
|
|
725
|
+
function Ke() {
|
|
726
726
|
try {
|
|
727
727
|
const { i18n: e } = je();
|
|
728
728
|
St.has(e) || (e.defaults("webx-blocks", un), St.add(e));
|
|
@@ -731,40 +731,43 @@ function qe() {
|
|
|
731
731
|
}
|
|
732
732
|
function at(e) {
|
|
733
733
|
return [
|
|
734
|
-
|
|
734
|
+
Vl({ icons: !1 }),
|
|
735
735
|
Wl.languageData.of(() => [{ autocomplete: e }])
|
|
736
736
|
];
|
|
737
737
|
}
|
|
738
738
|
const cn = [
|
|
739
739
|
["block", "key, type, version, depth, value()"],
|
|
740
740
|
["entity", "the page or article the block stands on"]
|
|
741
|
-
], dn = ["key", "type", "version", "depth"], Zt = ["url", "alt", "title", "path"], pn = [...Zt, "thumb", "name", "extension", "mime", "size", "width", "height"], fn = ["wx-media"], mn = ["wx-gallery", "wx-files"]
|
|
742
|
-
|
|
741
|
+
], dn = ["key", "type", "version", "depth"], Zt = ["url", "alt", "title", "path"], pn = [...Zt, "thumb", "name", "extension", "mime", "size", "width", "height"], fn = ["wx-media"], mn = ["wx-gallery", "wx-files"], vn = ["items", "groups", "filter"], hn = {
|
|
742
|
+
items: ["id", "anchor", "categories"],
|
|
743
|
+
groups: ["id", "title", "items"]
|
|
744
|
+
};
|
|
745
|
+
function bn({ schema: e, styles: l }) {
|
|
743
746
|
return (t) => {
|
|
744
747
|
const s = t.state.sliceDoc(Math.max(0, t.pos - 200), t.pos), a = /\$block->(\w*)$/.exec(s);
|
|
745
|
-
if (a) return
|
|
748
|
+
if (a) return kn(t, a[1]);
|
|
746
749
|
const i = /\$(\w+)\[\s*(['"]?)(\w*)$/.exec(s);
|
|
747
|
-
if (i) return
|
|
750
|
+
if (i) return wn(t, i[1], i[2], i[3], e());
|
|
748
751
|
const o = /\$(\w*)$/.exec(s);
|
|
749
752
|
if (o)
|
|
750
753
|
return {
|
|
751
754
|
from: t.pos - o[0].length,
|
|
752
|
-
options:
|
|
755
|
+
options: gn(e(), t.state.doc.toString()),
|
|
753
756
|
validFor: /^\$\w*$/
|
|
754
757
|
};
|
|
755
758
|
const r = /(\{\{|\{!!)(\s*)(\w*)$/.exec(s);
|
|
756
|
-
if (r) return
|
|
757
|
-
const
|
|
758
|
-
if (
|
|
759
|
+
if (r) return yn(t, r[1], r[2], r[3], e());
|
|
760
|
+
const d = /\bclass\s*=\s*"([^"]*)$/.exec(s);
|
|
761
|
+
if (d) return xn(t, d[1], l());
|
|
759
762
|
const u = /(?:^|[\s>(])@(\w*)$/.exec(s);
|
|
760
763
|
return u ? {
|
|
761
764
|
from: t.pos - u[1].length - 1,
|
|
762
|
-
options:
|
|
765
|
+
options: $n(e()),
|
|
763
766
|
validFor: /^@\w*$/
|
|
764
767
|
} : null;
|
|
765
768
|
};
|
|
766
769
|
}
|
|
767
|
-
function
|
|
770
|
+
function gn(e, l) {
|
|
768
771
|
const t = el(e).map((s, a) => ({
|
|
769
772
|
label: `$${s.id}`,
|
|
770
773
|
detail: s.type,
|
|
@@ -778,26 +781,26 @@ function hn(e, l) {
|
|
|
778
781
|
t.push({ label: `$${s}`, detail: "given", info: a, type: "variable", boost: -10 });
|
|
779
782
|
return t.push({ label: "$loop", detail: "given", info: "inside @foreach", boost: -20 }), t;
|
|
780
783
|
}
|
|
781
|
-
function
|
|
784
|
+
function yn(e, l, t, s, a) {
|
|
782
785
|
const i = el(a);
|
|
783
786
|
if (i.length === 0) return null;
|
|
784
787
|
const o = l === "{{" ? "}}" : "!!}";
|
|
785
788
|
return {
|
|
786
789
|
from: e.pos - s.length,
|
|
787
|
-
options: i.map((r,
|
|
790
|
+
options: i.map((r, d) => ({
|
|
788
791
|
label: r.id,
|
|
789
792
|
displayLabel: `$${r.id}`,
|
|
790
793
|
detail: r.type,
|
|
791
794
|
info: r.label,
|
|
792
795
|
type: "variable",
|
|
793
|
-
boost: 50 -
|
|
794
|
-
apply: (u,
|
|
796
|
+
boost: 50 - d,
|
|
797
|
+
apply: (u, p, f, v) => {
|
|
795
798
|
const g = u.state.sliceDoc(v, v + 8), x = new RegExp(`^\\s*${Vn(o)}`).exec(g), T = x ? /^\s/.test(g) ? "" : " " : ` ${o}`, w = `${t === "" ? " " : ""}$${r.id}${T}`;
|
|
796
799
|
u.dispatch({
|
|
797
|
-
changes: { from:
|
|
800
|
+
changes: { from: f, to: v, insert: w },
|
|
798
801
|
// Past the closing braces: the echo is finished, the next thing is the markup.
|
|
799
|
-
selection: { anchor:
|
|
800
|
-
annotations: dt.of(
|
|
802
|
+
selection: { anchor: f + w.length + (x ? x[0].length : 0) },
|
|
803
|
+
annotations: dt.of(p),
|
|
801
804
|
userEvent: "input.complete"
|
|
802
805
|
});
|
|
803
806
|
}
|
|
@@ -805,7 +808,7 @@ function bn(e, l, t, s, a) {
|
|
|
805
808
|
validFor: /^\w*$/
|
|
806
809
|
};
|
|
807
810
|
}
|
|
808
|
-
function
|
|
811
|
+
function kn(e, l) {
|
|
809
812
|
return {
|
|
810
813
|
from: e.pos - l.length,
|
|
811
814
|
options: [
|
|
@@ -819,17 +822,17 @@ function gn(e, l) {
|
|
|
819
822
|
validFor: /^\w*$/
|
|
820
823
|
};
|
|
821
824
|
}
|
|
822
|
-
function
|
|
823
|
-
const i =
|
|
825
|
+
function wn(e, l, t, s, a) {
|
|
826
|
+
const i = _n(l, a, e.state.doc.toString());
|
|
824
827
|
return i.length === 0 ? null : {
|
|
825
828
|
from: e.pos - s.length,
|
|
826
829
|
options: i.map(([o, r]) => ({
|
|
827
830
|
label: o,
|
|
828
831
|
detail: r,
|
|
829
832
|
type: "property",
|
|
830
|
-
apply: (
|
|
831
|
-
const v = t ?
|
|
832
|
-
|
|
833
|
+
apply: (d, u, p, f) => {
|
|
834
|
+
const v = t ? p - 1 : p, g = d.state.sliceDoc(f, f + 2), x = t || "'", T = f + (g.startsWith(x) ? 1 : 0), w = d.state.sliceDoc(T, T + 1) === "]", y = `${x}${o}${x}${w ? "" : "]"}`;
|
|
835
|
+
d.dispatch({
|
|
833
836
|
changes: { from: v, to: T, insert: y },
|
|
834
837
|
selection: { anchor: v + y.length + (w ? 1 : 0) },
|
|
835
838
|
annotations: dt.of(u),
|
|
@@ -840,19 +843,27 @@ function yn(e, l, t, s, a) {
|
|
|
840
843
|
validFor: /^\w*$/
|
|
841
844
|
};
|
|
842
845
|
}
|
|
843
|
-
function
|
|
844
|
-
const s = We(l).find((
|
|
845
|
-
if (s && fn.includes(s.type)) return Zt.map((
|
|
846
|
-
|
|
847
|
-
|
|
846
|
+
function _n(e, l, t) {
|
|
847
|
+
const s = We(l).find((d) => d.id === e);
|
|
848
|
+
if (s && fn.includes(s.type)) return Zt.map((d) => [d, s.type]);
|
|
849
|
+
if (s?.type === "wx-collection") return vn.map((d) => [d, s.type]);
|
|
850
|
+
const a = Qt(t).get(e), [i, o] = a?.split(".") ?? [], r = i ? We(l).find((d) => d.id === i) : void 0;
|
|
851
|
+
if (!r) return [];
|
|
852
|
+
if (r.type === "wx-collection") {
|
|
853
|
+
const d = typeof r.props?.source == "string" ? r.props.source : r.type;
|
|
854
|
+
return (hn[o ?? ""] ?? []).map((u) => [u, d]);
|
|
855
|
+
}
|
|
856
|
+
return mn.includes(r.type) ? pn.map((d) => [d, r.type]) : r.type === "wx-repeater" ? We(r.children ?? []).map((d) => [d.id, d.type]) : [];
|
|
848
857
|
}
|
|
849
858
|
function Qt(e) {
|
|
850
859
|
const l = /* @__PURE__ */ new Map();
|
|
851
|
-
for (const t of e.matchAll(
|
|
852
|
-
|
|
860
|
+
for (const t of e.matchAll(
|
|
861
|
+
/\$(\w+)(?:\[\s*['"](\w+)['"]\s*\])?\s+as\s+\$(\w+)(?:\s*=>\s*\$(\w+))?/g
|
|
862
|
+
))
|
|
863
|
+
l.set(t[4] ?? t[3], t[2] ? `${t[1]}.${t[2]}` : t[1]);
|
|
853
864
|
return l;
|
|
854
865
|
}
|
|
855
|
-
function
|
|
866
|
+
function xn(e, l, t) {
|
|
856
867
|
const s = /[\w-]*$/.exec(l)[0], a = new Set(l.split(/\s+/));
|
|
857
868
|
return {
|
|
858
869
|
from: e.pos - s.length,
|
|
@@ -860,7 +871,7 @@ function wn(e, l, t) {
|
|
|
860
871
|
validFor: /^[\w-]*$/
|
|
861
872
|
};
|
|
862
873
|
}
|
|
863
|
-
function
|
|
874
|
+
function $n(e) {
|
|
864
875
|
const l = We(e).filter((t) => t.type === "wx-blocks");
|
|
865
876
|
return [
|
|
866
877
|
ve("@if (${condition})\n ${}\n@endif", { label: "@if", type: "keyword" }),
|
|
@@ -892,22 +903,22 @@ function _n(e) {
|
|
|
892
903
|
)
|
|
893
904
|
];
|
|
894
905
|
}
|
|
895
|
-
function
|
|
906
|
+
function Sn({ slug: e, template: l }) {
|
|
896
907
|
return (t) => {
|
|
897
908
|
const s = t.state.sliceDoc(Math.max(0, t.pos - 200), t.pos), a = /(?:^|[\s,>+~(}{])\.([\w-]*)$/.exec(s);
|
|
898
909
|
if (!a) return null;
|
|
899
910
|
const i = /[^{};]*$/.exec(s)[0];
|
|
900
911
|
if (/^\s*[\w-]+\s*:\s/.test(i)) return null;
|
|
901
|
-
const o = `b-${e()}`, r = new Set(Xt(t.state.doc.toString())),
|
|
902
|
-
label: `.${
|
|
912
|
+
const o = `b-${e()}`, r = new Set(Xt(t.state.doc.toString())), d = En(l()), u = [o, ...d.filter((f) => f !== o)], p = u.map((f, v) => ({
|
|
913
|
+
label: `.${f}`,
|
|
903
914
|
// A class the template uses and nothing styles yet is the likeliest thing to write.
|
|
904
|
-
detail: r.has(
|
|
915
|
+
detail: r.has(f) ? "template" : "template · no rule yet",
|
|
905
916
|
type: "class",
|
|
906
|
-
boost: (r.has(
|
|
917
|
+
boost: (r.has(f) ? 0 : 20) + (f === o ? 30 : 0) - v / 100
|
|
907
918
|
}));
|
|
908
|
-
for (const
|
|
909
|
-
u.includes(
|
|
910
|
-
return { from: t.pos - a[1].length - 1, options:
|
|
919
|
+
for (const f of r)
|
|
920
|
+
u.includes(f) || p.push({ label: `.${f}`, detail: "styles", type: "class" });
|
|
921
|
+
return { from: t.pos - a[1].length - 1, options: p, validFor: /^\.[\w-]*$/ };
|
|
911
922
|
};
|
|
912
923
|
}
|
|
913
924
|
function Xt(e) {
|
|
@@ -915,16 +926,16 @@ function Xt(e) {
|
|
|
915
926
|
let a = "";
|
|
916
927
|
for (const i of l)
|
|
917
928
|
if (i === "{") {
|
|
918
|
-
const o = s.at(-1) ?? [""], r = a.split(",").map((
|
|
919
|
-
(
|
|
929
|
+
const o = s.at(-1) ?? [""], r = a.split(",").map((d) => d.trim()).filter((d) => d !== "" && !d.startsWith("@")).flatMap(
|
|
930
|
+
(d) => d.includes("&") ? o.map((u) => d.replaceAll("&", u)) : o.map((u) => u ? `${u} ${d}` : d)
|
|
920
931
|
);
|
|
921
|
-
for (const
|
|
922
|
-
for (const u of
|
|
932
|
+
for (const d of r)
|
|
933
|
+
for (const u of d.matchAll(/\.(-?[a-zA-Z_][\w-]*)/g)) t.add(u[1]);
|
|
923
934
|
s.push(a.trim().startsWith("@") ? o : r.length ? r : o), a = "";
|
|
924
935
|
} else i === "}" ? (s.pop(), a = "") : i === ";" ? a = "" : a += i;
|
|
925
936
|
return [...t];
|
|
926
937
|
}
|
|
927
|
-
function
|
|
938
|
+
function En(e) {
|
|
928
939
|
const l = /* @__PURE__ */ new Set();
|
|
929
940
|
for (const t of e.matchAll(/\bclass\s*=\s*"([^"]*)"/g)) {
|
|
930
941
|
const s = t[1].replace(/\{\{[\s\S]*?\}\}|\{!![\s\S]*?!!\}|@\w+(\([^)]*\))?/g, " ");
|
|
@@ -933,7 +944,7 @@ function $n(e) {
|
|
|
933
944
|
}
|
|
934
945
|
return [...l];
|
|
935
946
|
}
|
|
936
|
-
const
|
|
947
|
+
const Tn = [
|
|
937
948
|
{ key: "id", value: '""', info: "The variable the template gets, in snake_case." },
|
|
938
949
|
{ key: "type", value: '""', info: "A type from the registry." },
|
|
939
950
|
{ key: "label", value: '""', info: "What the editor sees above the field." },
|
|
@@ -945,33 +956,33 @@ const Sn = [
|
|
|
945
956
|
{ key: "slot", value: '""', info: "The parent's named slot to land in." },
|
|
946
957
|
{ key: "can", value: '""', info: "The permission the node needs." }
|
|
947
958
|
];
|
|
948
|
-
function
|
|
959
|
+
function Cn({ types: e }) {
|
|
949
960
|
return (l) => {
|
|
950
|
-
const t =
|
|
961
|
+
const t = Ln(l.state.doc.toString(), l.pos);
|
|
951
962
|
if (!t || !t.node) return null;
|
|
952
963
|
const s = t.string ? l.state.sliceDoc(t.string, l.pos) : /[\w-]*$/.exec(l.state.sliceDoc(Math.max(0, l.pos - 60), l.pos))[0];
|
|
953
964
|
if (!t.string && s === "" && !l.explicit) return null;
|
|
954
965
|
const a = l.pos - s.length, i = t.string !== null;
|
|
955
966
|
if (t.phase === "key") {
|
|
956
|
-
const o =
|
|
957
|
-
({ key: r, value:
|
|
967
|
+
const o = Tn.filter(({ key: r }) => !t.keys.has(r) || r === s).map(
|
|
968
|
+
({ key: r, value: d, info: u }, p) => ({
|
|
958
969
|
label: r,
|
|
959
970
|
info: u,
|
|
960
971
|
type: "property",
|
|
961
|
-
boost: -
|
|
962
|
-
apply: (
|
|
972
|
+
boost: -p,
|
|
973
|
+
apply: (f, v, g, x) => Et(f, v, g, x, i, `"${r}": ${d}`, d)
|
|
963
974
|
})
|
|
964
975
|
);
|
|
965
976
|
return { from: a, options: o, validFor: /^[\w-]*$/ };
|
|
966
977
|
}
|
|
967
978
|
if (t.phase === "value" && t.key === "type") {
|
|
968
|
-
const o = Object.entries(e()).map(([r,
|
|
979
|
+
const o = Object.entries(e()).map(([r, d]) => ({
|
|
969
980
|
label: r,
|
|
970
|
-
detail:
|
|
981
|
+
detail: d.kind,
|
|
971
982
|
type: "type",
|
|
972
983
|
// Fields first: a block's schema is mostly fields, the layout only groups them.
|
|
973
|
-
boost:
|
|
974
|
-
apply: (u,
|
|
984
|
+
boost: d.kind === "field" ? 1 : 0,
|
|
985
|
+
apply: (u, p, f, v) => Et(u, p, f, v, i, `"${r}"`, "")
|
|
975
986
|
}));
|
|
976
987
|
return { from: a, options: o, validFor: /^[\w-]*$/ };
|
|
977
988
|
}
|
|
@@ -979,15 +990,15 @@ function En({ types: e }) {
|
|
|
979
990
|
};
|
|
980
991
|
}
|
|
981
992
|
function Et(e, l, t, s, a, i, o) {
|
|
982
|
-
const r = a ? t - 1 : t,
|
|
993
|
+
const r = a ? t - 1 : t, d = /^[\w-]*"?/.exec(e.state.sliceDoc(s, s + 60))[0], u = s + (a ? d.length : /^[\w-]*/.exec(d)[0].length), p = o === '""' || o === "{}" || o === "[]" ? 1 : 0;
|
|
983
994
|
e.dispatch({
|
|
984
995
|
changes: { from: r, to: u, insert: i },
|
|
985
|
-
selection: { anchor: r + i.length -
|
|
996
|
+
selection: { anchor: r + i.length - p },
|
|
986
997
|
annotations: dt.of(l),
|
|
987
998
|
userEvent: "input.complete"
|
|
988
999
|
}), i.startsWith('"type"') && Bl(e);
|
|
989
1000
|
}
|
|
990
|
-
function
|
|
1001
|
+
function Ln(e, l) {
|
|
991
1002
|
let t = null, s = null, a = null, i = !1;
|
|
992
1003
|
const o = (r) => r?.kind === "object" && r.parent?.kind === "array" && (r.parent.parent === null || r.parent.under === "children");
|
|
993
1004
|
for (let r = 0; r <= e.length && (r === l && (s = t?.kind === "object" ? {
|
|
@@ -997,23 +1008,23 @@ function Tn(e, l) {
|
|
|
997
1008
|
keys: t.keys,
|
|
998
1009
|
string: a ? a.start + 1 : null
|
|
999
1010
|
} : null), r !== e.length); r++) {
|
|
1000
|
-
const
|
|
1011
|
+
const d = e[r];
|
|
1001
1012
|
if (a) {
|
|
1002
1013
|
if (i) i = !1;
|
|
1003
|
-
else if (
|
|
1004
|
-
else if (
|
|
1014
|
+
else if (d === "\\") i = !0;
|
|
1015
|
+
else if (d === '"' || d === `
|
|
1005
1016
|
`) {
|
|
1006
1017
|
const u = e.slice(a.start + 1, r);
|
|
1007
1018
|
t?.kind === "object" && (a.key ? (t.keys.add(u), t.key = u, t.phase = "colon") : t.phase === "value" && (t.phase = "after")), a = null;
|
|
1008
1019
|
}
|
|
1009
1020
|
continue;
|
|
1010
1021
|
}
|
|
1011
|
-
if (!/\s/.test(
|
|
1012
|
-
if (
|
|
1022
|
+
if (!/\s/.test(d))
|
|
1023
|
+
if (d === '"')
|
|
1013
1024
|
a = { start: r, key: t?.kind === "object" && t.phase === "key" };
|
|
1014
|
-
else if (
|
|
1025
|
+
else if (d === "{" || d === "[") {
|
|
1015
1026
|
const u = {
|
|
1016
|
-
kind:
|
|
1027
|
+
kind: d === "{" ? "object" : "array",
|
|
1017
1028
|
parent: t,
|
|
1018
1029
|
under: t?.kind === "object" ? t.key : null,
|
|
1019
1030
|
keys: /* @__PURE__ */ new Set(),
|
|
@@ -1021,39 +1032,39 @@ function Tn(e, l) {
|
|
|
1021
1032
|
key: null
|
|
1022
1033
|
};
|
|
1023
1034
|
t?.kind === "object" && (t.phase = "after"), t = u;
|
|
1024
|
-
} else
|
|
1035
|
+
} else d === "}" || d === "]" ? t = t?.parent ?? null : d === ":" ? t?.kind === "object" && (t.phase = "value") : d === "," && t?.kind === "object" && (t.phase = "key", t.key = null);
|
|
1025
1036
|
}
|
|
1026
1037
|
return s;
|
|
1027
1038
|
}
|
|
1028
1039
|
function We(e) {
|
|
1029
1040
|
const l = [];
|
|
1030
1041
|
for (const t of e)
|
|
1031
|
-
!t || typeof t != "object" || (
|
|
1042
|
+
!t || typeof t != "object" || (An.has(t.type) ? l.push(...We(t.children ?? [])) : typeof t.id == "string" && t.id !== "" && l.push(t));
|
|
1032
1043
|
return l;
|
|
1033
1044
|
}
|
|
1034
1045
|
function el(e) {
|
|
1035
1046
|
return We(e).filter((l) => l.type !== "wx-blocks");
|
|
1036
1047
|
}
|
|
1037
|
-
const
|
|
1048
|
+
const An = /* @__PURE__ */ new Set(["wx-card", "wx-tabs", "wx-tab", "wx-row", "wx-col", "wx-divider"]);
|
|
1038
1049
|
function Vn(e) {
|
|
1039
1050
|
return e.replace(/[.*+?^${}()|[\]\\!]/g, "\\$&");
|
|
1040
1051
|
}
|
|
1041
|
-
const
|
|
1042
|
-
function
|
|
1052
|
+
const Bn = ["block", "entity", "loop", "__env", "errors", "app"];
|
|
1053
|
+
function Wn(e, l, t) {
|
|
1043
1054
|
const s = [];
|
|
1044
1055
|
/data-wx-block\s*=/.test(l.template) || s.push({ file: "template", code: "no-marker", line: null, message: t("checks.no-marker") });
|
|
1045
|
-
const a =
|
|
1056
|
+
const a = Mn(l.template, l.schema);
|
|
1046
1057
|
a.length > 0 && s.push({
|
|
1047
1058
|
file: "template",
|
|
1048
1059
|
code: "variables-missing",
|
|
1049
1060
|
line: null,
|
|
1050
1061
|
message: t("checks.variables-missing", {
|
|
1051
|
-
variables: a.map((
|
|
1062
|
+
variables: a.map((p) => `$${p}`).join(", ")
|
|
1052
1063
|
})
|
|
1053
1064
|
});
|
|
1054
1065
|
const i = [], o = [], r = `.b-${e}`;
|
|
1055
|
-
for (const [
|
|
1056
|
-
|
|
1066
|
+
for (const [p, f] of Nn(l.styles))
|
|
1067
|
+
p.startsWith(r) || p.startsWith("&") || (/^[a-z][a-z0-9-]*/i.test(p) ? o.push([p, f]) : i.push([p, f]));
|
|
1057
1068
|
i.length > 0 && s.push({
|
|
1058
1069
|
file: "styles",
|
|
1059
1070
|
code: "stray-selectors",
|
|
@@ -1065,11 +1076,11 @@ function Ln(e, l, t) {
|
|
|
1065
1076
|
line: o[0][1],
|
|
1066
1077
|
message: t("checks.bare-selectors", { selectors: Tt(o) })
|
|
1067
1078
|
});
|
|
1068
|
-
const
|
|
1079
|
+
const d = ll(l.styles), u = /@media\b/.exec(d);
|
|
1069
1080
|
return u && s.push({
|
|
1070
1081
|
file: "styles",
|
|
1071
1082
|
code: "media-query",
|
|
1072
|
-
line: nl(
|
|
1083
|
+
line: nl(d, u.index),
|
|
1073
1084
|
message: t("checks.media-query")
|
|
1074
1085
|
}), s;
|
|
1075
1086
|
}
|
|
@@ -1079,8 +1090,8 @@ function tl(e) {
|
|
|
1079
1090
|
t.id && l.push(t.id), t.children && l.push(...tl(t.children));
|
|
1080
1091
|
return l;
|
|
1081
1092
|
}
|
|
1082
|
-
function
|
|
1083
|
-
const t = /* @__PURE__ */ new Set([...tl(l), ...
|
|
1093
|
+
function Mn(e, l) {
|
|
1094
|
+
const t = /* @__PURE__ */ new Set([...tl(l), ...Bn]);
|
|
1084
1095
|
for (const a of e.matchAll(/\bas\s+\$([a-zA-Z_]\w*)(?:\s*=>\s*\$([a-zA-Z_]\w*))?/g))
|
|
1085
1096
|
t.add(a[1]), a[2] && t.add(a[2]);
|
|
1086
1097
|
for (const a of e.matchAll(/\$([a-zA-Z_]\w*)\s*(?:=[^=]|\+\+|--|\.=|\+=|-=)/g))
|
|
@@ -1092,7 +1103,7 @@ function Bn(e, l) {
|
|
|
1092
1103
|
}
|
|
1093
1104
|
return s;
|
|
1094
1105
|
}
|
|
1095
|
-
function
|
|
1106
|
+
function Nn(e) {
|
|
1096
1107
|
const l = ll(e), t = [];
|
|
1097
1108
|
for (const s of l.matchAll(/([^{};]+)\{/g)) {
|
|
1098
1109
|
const a = s[1], i = a.trim();
|
|
@@ -1125,35 +1136,35 @@ function mt(e) {
|
|
|
1125
1136
|
function ct(e, l) {
|
|
1126
1137
|
return e === 0 ? l("page.not-used") : e === 1 ? l("page.on-page") : l("page.on-pages", { count: e });
|
|
1127
1138
|
}
|
|
1128
|
-
function
|
|
1139
|
+
function Ne(e, l) {
|
|
1129
1140
|
const t = `groups.${e}`, s = l(t);
|
|
1130
1141
|
return s === t || s === `webx-blocks::${t}` ? e.charAt(0).toUpperCase() + e.slice(1) : s;
|
|
1131
1142
|
}
|
|
1132
|
-
const
|
|
1143
|
+
const zn = { class: "wx-block-editor" }, Dn = { class: "wx-block-editor__split" }, In = {
|
|
1133
1144
|
type: "button",
|
|
1134
1145
|
class: "wx-block-editor__uses"
|
|
1135
|
-
},
|
|
1146
|
+
}, On = { class: "wx-block-editor__usage" }, Pn = { class: "wx-block-editor__pane" }, Un = {
|
|
1136
1147
|
key: 0,
|
|
1137
1148
|
class: "wx-block-editor__pills"
|
|
1138
|
-
},
|
|
1149
|
+
}, Rn = ["disabled", "onClick", "textContent"], jn = { class: "wx-block-editor__pane" }, Fn = { class: "wx-block-editor__pane" }, Hn = { class: "wx-block-editor__note" }, Kn = { class: "wx-block-editor__split" }, Yn = { class: "wx-block-editor__pane" }, qn = { class: "wx-block-editor__note" }, Jn = { class: "wx-block-editor__settings" }, Gn = {
|
|
1139
1150
|
key: 0,
|
|
1140
1151
|
class: "is-wide wx-block-editor__danger"
|
|
1141
|
-
},
|
|
1152
|
+
}, Zn = /* @__PURE__ */ ae({
|
|
1142
1153
|
__name: "BlockEditorPage",
|
|
1143
1154
|
props: {
|
|
1144
1155
|
base: { default: "/blocks" }
|
|
1145
1156
|
},
|
|
1146
1157
|
setup(e) {
|
|
1147
1158
|
const l = e, t = je(), s = Me(t), a = vl(), i = Wt();
|
|
1148
|
-
|
|
1149
|
-
const o = de("webx-blocks"), r = Fe(),
|
|
1159
|
+
Ke();
|
|
1160
|
+
const o = de("webx-blocks"), r = Fe(), d = L(() => Number(a.params.id)), u = I(null), p = I([]), f = I(!0), v = I(!1), g = I(!1), x = I("template"), T = L(() => {
|
|
1150
1161
|
const B = t.state.manifest?.modules.find((k) => k.id === "blocks")?.meta;
|
|
1151
1162
|
return {
|
|
1152
1163
|
groups: B?.groups ?? [],
|
|
1153
1164
|
editing: B?.editing ?? !0,
|
|
1154
1165
|
provides: B?.provides ?? []
|
|
1155
1166
|
};
|
|
1156
|
-
}), w =
|
|
1167
|
+
}), w = L(() => t.can("blocks.manage") && T.value.editing), y = st({
|
|
1157
1168
|
slug: "",
|
|
1158
1169
|
title: "",
|
|
1159
1170
|
description: "",
|
|
@@ -1170,33 +1181,33 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1170
1181
|
styles: "",
|
|
1171
1182
|
script: null,
|
|
1172
1183
|
sample: {}
|
|
1173
|
-
}), R = I("[]"),
|
|
1184
|
+
}), R = I("[]"), Y = I(null), q = I(""), X = I({}), h = I(null), V = st({
|
|
1174
1185
|
html: "",
|
|
1175
1186
|
styles: "",
|
|
1176
1187
|
script: null,
|
|
1177
1188
|
runtime: null,
|
|
1178
1189
|
stage: null,
|
|
1179
1190
|
loading: !1
|
|
1180
|
-
}),
|
|
1191
|
+
}), O = L(() => JSON.stringify({ settings: y, content: _ })), J = L(() => q.value !== "" && O.value !== q.value), Se = L(() => Wn(y.slug, _, o)), ne = {
|
|
1181
1192
|
template: [
|
|
1182
1193
|
at(
|
|
1183
|
-
|
|
1194
|
+
bn({ schema: () => _.schema, styles: () => _.styles })
|
|
1184
1195
|
)
|
|
1185
1196
|
],
|
|
1186
1197
|
styles: [
|
|
1187
|
-
at(
|
|
1198
|
+
at(Sn({ slug: () => y.slug, template: () => _.template }))
|
|
1188
1199
|
],
|
|
1189
1200
|
// The renderer's own types under the panel's, the same merge the sample form is drawn with.
|
|
1190
|
-
schema: [at(
|
|
1191
|
-
}, pe =
|
|
1201
|
+
schema: [at(Cn({ types: () => ({ ...Je, ...t.types }) }))]
|
|
1202
|
+
}, pe = L(() => {
|
|
1192
1203
|
const B = [...T.value.groups];
|
|
1193
|
-
return B.includes(y.group) || B.push(y.group), B.map((k) => ({ value: k, label:
|
|
1194
|
-
}), ye =
|
|
1204
|
+
return B.includes(y.group) || B.push(y.group), B.map((k) => ({ value: k, label: Ne(k, o) }));
|
|
1205
|
+
}), ye = L({
|
|
1195
1206
|
get: () => _.sample,
|
|
1196
1207
|
set: (B) => {
|
|
1197
1208
|
_.sample = B;
|
|
1198
1209
|
}
|
|
1199
|
-
}), Ee =
|
|
1210
|
+
}), Ee = L(() => Te(_.schema));
|
|
1200
1211
|
function Te(B) {
|
|
1201
1212
|
const k = [];
|
|
1202
1213
|
for (const E of B)
|
|
@@ -1223,16 +1234,16 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1223
1234
|
script: null,
|
|
1224
1235
|
sample: {}
|
|
1225
1236
|
};
|
|
1226
|
-
Object.assign(_, be(k)), R.value = JSON.stringify(k.schema, null, 2),
|
|
1237
|
+
Object.assign(_, be(k)), R.value = JSON.stringify(k.schema, null, 2), Y.value = null, q.value = O.value;
|
|
1227
1238
|
}
|
|
1228
1239
|
async function ke() {
|
|
1229
|
-
|
|
1240
|
+
f.value = !0;
|
|
1230
1241
|
try {
|
|
1231
|
-
Q(await s.get(
|
|
1242
|
+
Q(await s.get(d.value)), p.value = await s.usage(d.value);
|
|
1232
1243
|
} catch (B) {
|
|
1233
1244
|
Z.danger(r(B));
|
|
1234
1245
|
} finally {
|
|
1235
|
-
|
|
1246
|
+
f.value = !1;
|
|
1236
1247
|
}
|
|
1237
1248
|
}
|
|
1238
1249
|
function Ce(B) {
|
|
@@ -1240,13 +1251,13 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1240
1251
|
try {
|
|
1241
1252
|
const k = JSON.parse(B);
|
|
1242
1253
|
if (!Array.isArray(k)) throw new Error("not a list");
|
|
1243
|
-
_.schema = k,
|
|
1254
|
+
_.schema = k, Y.value = null;
|
|
1244
1255
|
} catch (k) {
|
|
1245
|
-
|
|
1256
|
+
Y.value = o("page.schema-invalid", { error: k.message });
|
|
1246
1257
|
}
|
|
1247
1258
|
}
|
|
1248
1259
|
let ge, W = 0;
|
|
1249
|
-
function
|
|
1260
|
+
function P() {
|
|
1250
1261
|
clearTimeout(ge), ge = setTimeout(() => {
|
|
1251
1262
|
j();
|
|
1252
1263
|
}, 250);
|
|
@@ -1254,7 +1265,7 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1254
1265
|
async function j() {
|
|
1255
1266
|
if (!u.value) return;
|
|
1256
1267
|
const B = ++W;
|
|
1257
|
-
|
|
1268
|
+
V.loading = !0;
|
|
1258
1269
|
try {
|
|
1259
1270
|
const k = await s.render(u.value.id, {
|
|
1260
1271
|
values: _.sample,
|
|
@@ -1266,16 +1277,16 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1266
1277
|
} : void 0
|
|
1267
1278
|
});
|
|
1268
1279
|
if (B !== W) return;
|
|
1269
|
-
|
|
1280
|
+
V.html = k.html, V.styles = k.styles, V.script = k.script, V.runtime = k.runtime, V.stage = k.stage ?? null;
|
|
1270
1281
|
} catch (k) {
|
|
1271
1282
|
B === W && Z.danger(r(k));
|
|
1272
1283
|
} finally {
|
|
1273
|
-
B === W && (
|
|
1284
|
+
B === W && (V.loading = !1);
|
|
1274
1285
|
}
|
|
1275
1286
|
}
|
|
1276
1287
|
te(
|
|
1277
1288
|
() => [_.template, _.styles, _.script, _.schema, _.sample],
|
|
1278
|
-
|
|
1289
|
+
P,
|
|
1279
1290
|
{ deep: !0 }
|
|
1280
1291
|
);
|
|
1281
1292
|
const G = I(null);
|
|
@@ -1301,7 +1312,7 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1301
1312
|
allowed_in: y.allowed_in.length ? y.allowed_in : null,
|
|
1302
1313
|
description: y.description || null,
|
|
1303
1314
|
icon: y.icon || null,
|
|
1304
|
-
content:
|
|
1315
|
+
content: Y.value ? { ..._, schema: void 0 } : _
|
|
1305
1316
|
});
|
|
1306
1317
|
Q(k), Z.success(
|
|
1307
1318
|
k.draft && k.draft.number !== B ? o("page.saved", { number: k.draft.number }) : o("page.unchanged")
|
|
@@ -1331,7 +1342,7 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1331
1342
|
}
|
|
1332
1343
|
}
|
|
1333
1344
|
}
|
|
1334
|
-
async function
|
|
1345
|
+
async function Le() {
|
|
1335
1346
|
if (!(!u.value || !await Qe({
|
|
1336
1347
|
title: o("page.delete-title", { title: u.value.title }),
|
|
1337
1348
|
message: o("page.delete-text"),
|
|
@@ -1345,7 +1356,7 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1345
1356
|
Z.danger(r(k));
|
|
1346
1357
|
}
|
|
1347
1358
|
}
|
|
1348
|
-
const
|
|
1359
|
+
const ze = L(
|
|
1349
1360
|
() => h.value ? {
|
|
1350
1361
|
message: h.value.errors.template?.[0] ?? h.value.message,
|
|
1351
1362
|
line: h.value.line,
|
|
@@ -1353,7 +1364,7 @@ const Mn = { class: "wx-block-editor" }, zn = { class: "wx-block-editor__split"
|
|
|
1353
1364
|
title: h.value.entity.title ?? `#${h.value.entity.id}`
|
|
1354
1365
|
}) : null
|
|
1355
1366
|
} : null
|
|
1356
|
-
), $ =
|
|
1367
|
+
), $ = L(() => x.value === "template" || x.value === "styles"), N = L(() => [
|
|
1357
1368
|
{
|
|
1358
1369
|
title: o("page.example-handler"),
|
|
1359
1370
|
code: `el.querySelector('.b-hero__button')?.addEventListener('click', (event) => {
|
|
@@ -1376,7 +1387,7 @@ setInterval(() => el.classList.toggle('is-second'), seconds * 1000)`
|
|
|
1376
1387
|
|
|
1377
1388
|
new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
1378
1389
|
}
|
|
1379
|
-
]), U =
|
|
1390
|
+
]), U = L(() => p.value.slice(0, 5));
|
|
1380
1391
|
function H(B) {
|
|
1381
1392
|
return X.value[B]?.[0];
|
|
1382
1393
|
}
|
|
@@ -1387,10 +1398,10 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1387
1398
|
ke(), window.addEventListener("beforeunload", ee);
|
|
1388
1399
|
}), Xe(() => {
|
|
1389
1400
|
clearTimeout(ge), window.removeEventListener("beforeunload", ee);
|
|
1390
|
-
}), te(
|
|
1401
|
+
}), te(d, () => {
|
|
1391
1402
|
ke();
|
|
1392
1403
|
});
|
|
1393
|
-
const lt =
|
|
1404
|
+
const lt = L(
|
|
1394
1405
|
() => w.value ? [
|
|
1395
1406
|
{ key: "save", label: o("page.save"), loading: v.value, run: () => {
|
|
1396
1407
|
se();
|
|
@@ -1407,14 +1418,14 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1407
1418
|
}
|
|
1408
1419
|
] : []
|
|
1409
1420
|
);
|
|
1410
|
-
return (B, k) => (c(), C("div",
|
|
1411
|
-
|
|
1421
|
+
return (B, k) => (c(), C("div", zn, [
|
|
1422
|
+
f.value || !u.value ? (c(), C(F, { key: 0 }, [
|
|
1412
1423
|
m(n(Be), {
|
|
1413
1424
|
class: "wx-block-editor__ghost-head",
|
|
1414
1425
|
title: "",
|
|
1415
1426
|
rows: 1
|
|
1416
1427
|
}),
|
|
1417
|
-
A("div",
|
|
1428
|
+
A("div", Dn, [
|
|
1418
1429
|
m(n(Ae), null, {
|
|
1419
1430
|
default: b(() => [
|
|
1420
1431
|
m(n(Be), { rows: 8 })
|
|
@@ -1436,13 +1447,13 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1436
1447
|
actions: lt.value
|
|
1437
1448
|
}, {
|
|
1438
1449
|
"title-after": b(() => [
|
|
1439
|
-
w.value ? (c(),
|
|
1450
|
+
w.value ? (c(), z(n(gl), {
|
|
1440
1451
|
key: 0,
|
|
1441
1452
|
name: y.title,
|
|
1442
1453
|
placeholder: n(o)("page.title"),
|
|
1443
1454
|
onRename: k[0] || (k[0] = (E) => y.title = E)
|
|
1444
1455
|
}, null, 8, ["name", "placeholder"])) : D("", !0),
|
|
1445
|
-
J.value ? (c(),
|
|
1456
|
+
J.value ? (c(), z(n(ue), {
|
|
1446
1457
|
key: 1,
|
|
1447
1458
|
type: "primary",
|
|
1448
1459
|
dot: ""
|
|
@@ -1452,7 +1463,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1452
1463
|
]),
|
|
1453
1464
|
_: 1
|
|
1454
1465
|
})) : D("", !0),
|
|
1455
|
-
u.value.draft ? (c(),
|
|
1466
|
+
u.value.draft ? (c(), z(n(ue), {
|
|
1456
1467
|
key: 2,
|
|
1457
1468
|
type: "warning",
|
|
1458
1469
|
dot: ""
|
|
@@ -1462,7 +1473,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1462
1473
|
]),
|
|
1463
1474
|
_: 1
|
|
1464
1475
|
})) : D("", !0),
|
|
1465
|
-
u.value.published ? (c(),
|
|
1476
|
+
u.value.published ? (c(), z(n(ue), {
|
|
1466
1477
|
key: 3,
|
|
1467
1478
|
type: "success",
|
|
1468
1479
|
dot: ""
|
|
@@ -1471,7 +1482,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1471
1482
|
M(S(n(o)("page.live", { number: u.value.published.number })), 1)
|
|
1472
1483
|
]),
|
|
1473
1484
|
_: 1
|
|
1474
|
-
})) : (c(),
|
|
1485
|
+
})) : (c(), z(n(ue), {
|
|
1475
1486
|
key: 4,
|
|
1476
1487
|
type: "default"
|
|
1477
1488
|
}, {
|
|
@@ -1483,24 +1494,24 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1483
1494
|
]),
|
|
1484
1495
|
subtitle: b(() => [
|
|
1485
1496
|
A("code", null, S(y.slug), 1),
|
|
1486
|
-
M(" · " + S(n(
|
|
1487
|
-
u.value.usage_count > 0 ? (c(),
|
|
1497
|
+
M(" · " + S(n(Ne)(y.group, n(o))) + " · ", 1),
|
|
1498
|
+
u.value.usage_count > 0 ? (c(), z(n(_l), {
|
|
1488
1499
|
key: 0,
|
|
1489
1500
|
title: n(o)("page.usage"),
|
|
1490
1501
|
width: 260,
|
|
1491
1502
|
align: "start"
|
|
1492
1503
|
}, {
|
|
1493
1504
|
trigger: b(() => [
|
|
1494
|
-
A("button",
|
|
1505
|
+
A("button", In, S(n(ct)(u.value.usage_count, n(o))), 1)
|
|
1495
1506
|
]),
|
|
1496
1507
|
default: b(() => [
|
|
1497
|
-
A("div",
|
|
1508
|
+
A("div", On, [
|
|
1498
1509
|
(c(!0), C(F, null, le(U.value, (E) => (c(), C("div", {
|
|
1499
1510
|
key: `${E.model}:${E.id}`,
|
|
1500
1511
|
class: "wx-block-editor__use"
|
|
1501
1512
|
}, [
|
|
1502
1513
|
A("span", null, S(E.title ?? `#${E.id}`), 1),
|
|
1503
|
-
E.published ? D("", !0) : (c(),
|
|
1514
|
+
E.published ? D("", !0) : (c(), z(n(ue), {
|
|
1504
1515
|
key: 0,
|
|
1505
1516
|
type: "warning",
|
|
1506
1517
|
size: "sm"
|
|
@@ -1511,13 +1522,13 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1511
1522
|
_: 1
|
|
1512
1523
|
}))
|
|
1513
1524
|
]))), 128)),
|
|
1514
|
-
|
|
1525
|
+
p.value.length > U.value.length ? (c(), z(n(K), {
|
|
1515
1526
|
key: 0,
|
|
1516
1527
|
size: "sm",
|
|
1517
1528
|
tone: "muted"
|
|
1518
1529
|
}, {
|
|
1519
1530
|
default: b(() => [
|
|
1520
|
-
M(S(n(o)("page.usage-more", { count:
|
|
1531
|
+
M(S(n(o)("page.usage-more", { count: p.value.length - U.value.length })), 1)
|
|
1521
1532
|
]),
|
|
1522
1533
|
_: 1
|
|
1523
1534
|
})) : D("", !0)
|
|
@@ -1530,7 +1541,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1530
1541
|
]),
|
|
1531
1542
|
_: 1
|
|
1532
1543
|
}, 8, ["title", "back", "back-label", "actions"]),
|
|
1533
|
-
T.value.editing ? D("", !0) : (c(),
|
|
1544
|
+
T.value.editing ? D("", !0) : (c(), z(n(zt), {
|
|
1534
1545
|
key: 0,
|
|
1535
1546
|
type: "info",
|
|
1536
1547
|
variant: "soft",
|
|
@@ -1545,13 +1556,13 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1545
1556
|
"keep-alive": ""
|
|
1546
1557
|
}, {
|
|
1547
1558
|
default: b(() => [
|
|
1548
|
-
m(n(
|
|
1559
|
+
m(n(Ve), {
|
|
1549
1560
|
value: "template",
|
|
1550
1561
|
label: n(o)("page.tab-template")
|
|
1551
1562
|
}, {
|
|
1552
1563
|
default: b(() => [
|
|
1553
|
-
A("div",
|
|
1554
|
-
m(n(
|
|
1564
|
+
A("div", Pn, [
|
|
1565
|
+
m(n(Ye), {
|
|
1555
1566
|
ref_key: "templateEditor",
|
|
1556
1567
|
ref: G,
|
|
1557
1568
|
modelValue: _.template,
|
|
@@ -1563,8 +1574,8 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1563
1574
|
"max-height": "70vh",
|
|
1564
1575
|
"line-wrapping": ""
|
|
1565
1576
|
}, null, 8, ["modelValue", "extensions", "readonly"]),
|
|
1566
|
-
Ee.value.length ? (c(), C("div",
|
|
1567
|
-
m(n(
|
|
1577
|
+
Ee.value.length ? (c(), C("div", Un, [
|
|
1578
|
+
m(n(K), {
|
|
1568
1579
|
size: "sm",
|
|
1569
1580
|
tone: "muted"
|
|
1570
1581
|
}, {
|
|
@@ -1580,25 +1591,25 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1580
1591
|
disabled: !w.value,
|
|
1581
1592
|
onClick: (nt) => we(E),
|
|
1582
1593
|
textContent: S(fe(E))
|
|
1583
|
-
}, null, 8,
|
|
1594
|
+
}, null, 8, Rn))), 128))
|
|
1584
1595
|
])) : D("", !0),
|
|
1585
1596
|
m(kt, {
|
|
1586
1597
|
file: "template",
|
|
1587
1598
|
lints: Se.value,
|
|
1588
1599
|
slug: y.slug,
|
|
1589
|
-
error:
|
|
1600
|
+
error: ze.value
|
|
1590
1601
|
}, null, 8, ["lints", "slug", "error"])
|
|
1591
1602
|
])
|
|
1592
1603
|
]),
|
|
1593
1604
|
_: 1
|
|
1594
1605
|
}, 8, ["label"]),
|
|
1595
|
-
m(n(
|
|
1606
|
+
m(n(Ve), {
|
|
1596
1607
|
value: "styles",
|
|
1597
1608
|
label: n(o)("page.tab-styles")
|
|
1598
1609
|
}, {
|
|
1599
1610
|
default: b(() => [
|
|
1600
|
-
A("div",
|
|
1601
|
-
m(n(
|
|
1611
|
+
A("div", jn, [
|
|
1612
|
+
m(n(Ye), {
|
|
1602
1613
|
modelValue: _.styles,
|
|
1603
1614
|
"onUpdate:modelValue": k[2] || (k[2] = (E) => _.styles = E),
|
|
1604
1615
|
language: "css",
|
|
@@ -1616,13 +1627,13 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1616
1627
|
]),
|
|
1617
1628
|
_: 1
|
|
1618
1629
|
}, 8, ["label"]),
|
|
1619
|
-
m(n(
|
|
1630
|
+
m(n(Ve), {
|
|
1620
1631
|
value: "script",
|
|
1621
1632
|
label: n(o)("page.tab-script")
|
|
1622
1633
|
}, {
|
|
1623
1634
|
default: b(() => [
|
|
1624
|
-
A("div",
|
|
1625
|
-
m(n(
|
|
1635
|
+
A("div", Fn, [
|
|
1636
|
+
m(n(Ye), {
|
|
1626
1637
|
"model-value": _.script ?? "",
|
|
1627
1638
|
language: "javascript",
|
|
1628
1639
|
readonly: !w.value,
|
|
@@ -1630,8 +1641,8 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1630
1641
|
"max-height": "70vh",
|
|
1631
1642
|
"onUpdate:modelValue": k[3] || (k[3] = (E) => _.script = E || null)
|
|
1632
1643
|
}, null, 8, ["model-value", "readonly"]),
|
|
1633
|
-
A("div",
|
|
1634
|
-
m(n(
|
|
1644
|
+
A("div", Hn, [
|
|
1645
|
+
m(n(K), {
|
|
1635
1646
|
size: "sm",
|
|
1636
1647
|
tone: "muted"
|
|
1637
1648
|
}, {
|
|
@@ -1640,7 +1651,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1640
1651
|
]),
|
|
1641
1652
|
_: 1
|
|
1642
1653
|
}),
|
|
1643
|
-
m(n(
|
|
1654
|
+
m(n(K), {
|
|
1644
1655
|
size: "sm",
|
|
1645
1656
|
tone: "muted"
|
|
1646
1657
|
}, {
|
|
@@ -1656,11 +1667,11 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1656
1667
|
title: n(o)("page.examples")
|
|
1657
1668
|
}, {
|
|
1658
1669
|
default: b(() => [
|
|
1659
|
-
(c(!0), C(F, null, le(
|
|
1670
|
+
(c(!0), C(F, null, le(N.value, (E) => (c(), C("div", {
|
|
1660
1671
|
key: E.title,
|
|
1661
1672
|
class: "wx-block-editor__example"
|
|
1662
1673
|
}, [
|
|
1663
|
-
m(n(
|
|
1674
|
+
m(n(K), {
|
|
1664
1675
|
size: "sm",
|
|
1665
1676
|
tone: "muted"
|
|
1666
1677
|
}, {
|
|
@@ -1679,14 +1690,14 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1679
1690
|
]),
|
|
1680
1691
|
_: 1
|
|
1681
1692
|
}, 8, ["label"]),
|
|
1682
|
-
m(n(
|
|
1693
|
+
m(n(Ve), {
|
|
1683
1694
|
value: "fields",
|
|
1684
1695
|
label: n(o)("page.tab-fields")
|
|
1685
1696
|
}, {
|
|
1686
1697
|
default: b(() => [
|
|
1687
|
-
A("div",
|
|
1688
|
-
A("div",
|
|
1689
|
-
m(n(
|
|
1698
|
+
A("div", Kn, [
|
|
1699
|
+
A("div", Yn, [
|
|
1700
|
+
m(n(Ye), {
|
|
1690
1701
|
"model-value": R.value,
|
|
1691
1702
|
language: "json",
|
|
1692
1703
|
extensions: ne.schema,
|
|
@@ -1697,16 +1708,16 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1697
1708
|
"onUpdate:modelValue": Ce
|
|
1698
1709
|
}, null, 8, ["model-value", "extensions", "readonly"]),
|
|
1699
1710
|
A("div", qn, [
|
|
1700
|
-
|
|
1711
|
+
Y.value ? (c(), z(n(K), {
|
|
1701
1712
|
key: 0,
|
|
1702
1713
|
size: "sm",
|
|
1703
1714
|
tone: "danger"
|
|
1704
1715
|
}, {
|
|
1705
1716
|
default: b(() => [
|
|
1706
|
-
M(S(
|
|
1717
|
+
M(S(Y.value), 1)
|
|
1707
1718
|
]),
|
|
1708
1719
|
_: 1
|
|
1709
|
-
})) : H("content.schema") ? (c(),
|
|
1720
|
+
})) : H("content.schema") ? (c(), z(n(K), {
|
|
1710
1721
|
key: 1,
|
|
1711
1722
|
size: "sm",
|
|
1712
1723
|
tone: "danger"
|
|
@@ -1715,7 +1726,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1715
1726
|
M(S(H("content.schema")), 1)
|
|
1716
1727
|
]),
|
|
1717
1728
|
_: 1
|
|
1718
|
-
})) : (c(),
|
|
1729
|
+
})) : (c(), z(n(K), {
|
|
1719
1730
|
key: 2,
|
|
1720
1731
|
size: "sm",
|
|
1721
1732
|
tone: "muted"
|
|
@@ -1736,7 +1747,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1736
1747
|
title: n(o)("page.sample")
|
|
1737
1748
|
}, {
|
|
1738
1749
|
default: b(() => [
|
|
1739
|
-
_.schema.length ? (c(),
|
|
1750
|
+
_.schema.length ? (c(), z(n(Rt), {
|
|
1740
1751
|
key: 0,
|
|
1741
1752
|
modelValue: ye.value,
|
|
1742
1753
|
"onUpdate:modelValue": k[4] || (k[4] = (E) => ye.value = E),
|
|
@@ -1754,14 +1765,14 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1754
1765
|
]),
|
|
1755
1766
|
_: 1
|
|
1756
1767
|
}, 8, ["label"]),
|
|
1757
|
-
m(n(
|
|
1768
|
+
m(n(Ve), {
|
|
1758
1769
|
value: "settings",
|
|
1759
1770
|
label: n(o)("page.tab-settings")
|
|
1760
1771
|
}, {
|
|
1761
1772
|
default: b(() => [
|
|
1762
1773
|
m(n(Ae), { class: "wx-block-editor__sheet" }, {
|
|
1763
1774
|
default: b(() => [
|
|
1764
|
-
A("div",
|
|
1775
|
+
A("div", Jn, [
|
|
1765
1776
|
m(n(oe), {
|
|
1766
1777
|
label: n(o)("page.identifier"),
|
|
1767
1778
|
help: n(o)("page.identifier-help"),
|
|
@@ -1898,19 +1909,19 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1898
1909
|
]),
|
|
1899
1910
|
_: 1
|
|
1900
1911
|
}, 8, ["label", "help", "disabled"]),
|
|
1901
|
-
w.value ? (c(), C("div",
|
|
1912
|
+
w.value ? (c(), C("div", Gn, [
|
|
1902
1913
|
m(n(ce), {
|
|
1903
1914
|
type: "danger",
|
|
1904
1915
|
variant: "outline",
|
|
1905
1916
|
disabled: u.value.usage_count > 0,
|
|
1906
|
-
onClick:
|
|
1917
|
+
onClick: Le
|
|
1907
1918
|
}, {
|
|
1908
1919
|
default: b(() => [
|
|
1909
1920
|
M(S(n(o)("page.delete")), 1)
|
|
1910
1921
|
]),
|
|
1911
1922
|
_: 1
|
|
1912
1923
|
}, 8, ["disabled"]),
|
|
1913
|
-
u.value.usage_count > 0 ? (c(),
|
|
1924
|
+
u.value.usage_count > 0 ? (c(), z(n(K), {
|
|
1914
1925
|
key: 0,
|
|
1915
1926
|
size: "sm",
|
|
1916
1927
|
tone: "muted"
|
|
@@ -1928,7 +1939,7 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1928
1939
|
]),
|
|
1929
1940
|
_: 1
|
|
1930
1941
|
}, 8, ["label"]),
|
|
1931
|
-
m(n(
|
|
1942
|
+
m(n(Ve), {
|
|
1932
1943
|
value: "history",
|
|
1933
1944
|
label: n(o)("page.tab-history")
|
|
1934
1945
|
}, {
|
|
@@ -1954,17 +1965,17 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1954
1965
|
}, 8, ["modelValue"]),
|
|
1955
1966
|
al(m(Xl, {
|
|
1956
1967
|
class: "wx-block-editor__stage",
|
|
1957
|
-
html:
|
|
1958
|
-
styles:
|
|
1959
|
-
script:
|
|
1960
|
-
runtime:
|
|
1961
|
-
stage:
|
|
1962
|
-
loading:
|
|
1968
|
+
html: V.html,
|
|
1969
|
+
styles: V.styles,
|
|
1970
|
+
script: V.script,
|
|
1971
|
+
runtime: V.runtime,
|
|
1972
|
+
stage: V.stage,
|
|
1973
|
+
loading: V.loading
|
|
1963
1974
|
}, null, 8, ["html", "styles", "script", "runtime", "stage", "loading"]), [
|
|
1964
1975
|
[il, $.value]
|
|
1965
1976
|
])
|
|
1966
1977
|
], 2),
|
|
1967
|
-
w.value ? (c(),
|
|
1978
|
+
w.value ? (c(), z(n(Tl), { key: 1 }, {
|
|
1968
1979
|
default: b(() => [
|
|
1969
1980
|
m(n(ce), {
|
|
1970
1981
|
variant: "outline",
|
|
@@ -1993,27 +2004,27 @@ new Swiper(el.querySelector('.b-slider__viewport'), { loop: true })`
|
|
|
1993
2004
|
], 64))
|
|
1994
2005
|
]));
|
|
1995
2006
|
}
|
|
1996
|
-
}),
|
|
1997
|
-
function
|
|
2007
|
+
}), Qn = /* @__PURE__ */ ie(Zn, [["__scopeId", "data-v-22e5f784"]]), Ct = /* @__PURE__ */ new Map();
|
|
2008
|
+
function Xn(e) {
|
|
1998
2009
|
let l = Ct.get(e);
|
|
1999
|
-
return l === void 0 && (l = fetch(e, { credentials: "same-origin", headers: { Accept: "text/html" } }).then((t) => t.ok ? t.text() : null).then((t) => t === null ? null :
|
|
2010
|
+
return l === void 0 && (l = fetch(e, { credentials: "same-origin", headers: { Accept: "text/html" } }).then((t) => t.ok ? t.text() : null).then((t) => t === null ? null : Kl(t, e)).catch(() => null), Ct.set(e, l)), l;
|
|
2000
2011
|
}
|
|
2001
|
-
function
|
|
2002
|
-
const e = De(Mt, null), l = I(null), t =
|
|
2012
|
+
function es() {
|
|
2013
|
+
const e = De(Mt, null), l = I(null), t = L(() => {
|
|
2003
2014
|
const a = e?.state.manifest?.modules.find((i) => i.id === "blocks")?.meta?.stage;
|
|
2004
2015
|
return typeof a == "string" && a !== "" ? a : null;
|
|
2005
2016
|
});
|
|
2006
2017
|
return rl(() => {
|
|
2007
2018
|
const s = t.value;
|
|
2008
|
-
s !== null &&
|
|
2019
|
+
s !== null && Xn(s).then((a) => {
|
|
2009
2020
|
t.value === s && (l.value = a);
|
|
2010
2021
|
});
|
|
2011
2022
|
}), l;
|
|
2012
2023
|
}
|
|
2013
|
-
const
|
|
2024
|
+
const ts = ["srcdoc"], ls = {
|
|
2014
2025
|
key: 1,
|
|
2015
2026
|
class: "wx-block-thumb__empty"
|
|
2016
|
-
},
|
|
2027
|
+
}, ns = /* @__PURE__ */ ae({
|
|
2017
2028
|
__name: "BlockThumb",
|
|
2018
2029
|
props: {
|
|
2019
2030
|
thumbnail: {},
|
|
@@ -2021,16 +2032,16 @@ const Xn = ["srcdoc"], es = {
|
|
|
2021
2032
|
height: { default: 120 }
|
|
2022
2033
|
},
|
|
2023
2034
|
setup(e) {
|
|
2024
|
-
const l = e, t = I(null), s = et(t), a =
|
|
2035
|
+
const l = e, t = I(null), s = et(t), a = L(() => s.value > 0 ? s.value / l.width : 0.2), i = es(), o = L(() => {
|
|
2025
2036
|
if (!l.thumbnail) return "";
|
|
2026
|
-
const
|
|
2027
|
-
return i.value ?
|
|
2028
|
-
}), r =
|
|
2037
|
+
const d = { html: l.thumbnail.html, styles: l.thumbnail.styles };
|
|
2038
|
+
return i.value ? Yl(i.value, d) : Ht(d);
|
|
2039
|
+
}), r = L(() => ({
|
|
2029
2040
|
width: `${l.width}px`,
|
|
2030
2041
|
height: `${Math.round(l.height / a.value)}px`,
|
|
2031
2042
|
transform: `scale(${a.value})`
|
|
2032
2043
|
}));
|
|
2033
|
-
return (
|
|
2044
|
+
return (d, u) => (c(), C("div", {
|
|
2034
2045
|
ref_key: "box",
|
|
2035
2046
|
ref: t,
|
|
2036
2047
|
class: "wx-block-thumb",
|
|
@@ -2044,15 +2055,15 @@ const Xn = ["srcdoc"], es = {
|
|
|
2044
2055
|
sandbox: "allow-same-origin",
|
|
2045
2056
|
tabindex: "-1",
|
|
2046
2057
|
"aria-hidden": "true"
|
|
2047
|
-
}, null, 12,
|
|
2058
|
+
}, null, 12, ts)) : (c(), C("div", ls, [
|
|
2048
2059
|
m(n(he), { name: "grid" })
|
|
2049
2060
|
]))
|
|
2050
2061
|
], 4));
|
|
2051
2062
|
}
|
|
2052
|
-
}), sl = /* @__PURE__ */ ie(
|
|
2063
|
+
}), sl = /* @__PURE__ */ ie(ns, [["__scopeId", "data-v-5ca74656"]]), ss = { class: "wx-block-picker" }, os = {
|
|
2053
2064
|
key: 0,
|
|
2054
2065
|
class: "wx-block-picker__group-title"
|
|
2055
|
-
},
|
|
2066
|
+
}, as = { class: "wx-block-picker__cards" }, is = ["disabled", "title", "onClick"], rs = { class: "wx-block-picker__body" }, us = { class: "wx-block-picker__title" }, cs = /* @__PURE__ */ ae({
|
|
2056
2067
|
__name: "BlockPicker",
|
|
2057
2068
|
props: {
|
|
2058
2069
|
catalog: {},
|
|
@@ -2064,7 +2075,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2064
2075
|
},
|
|
2065
2076
|
setup(e) {
|
|
2066
2077
|
const l = e, { resolve: t, dismiss: s, open: a } = It();
|
|
2067
|
-
|
|
2078
|
+
Ke();
|
|
2068
2079
|
const i = de("webx-blocks"), o = I("");
|
|
2069
2080
|
function r(v) {
|
|
2070
2081
|
if (l.parent === null)
|
|
@@ -2072,29 +2083,29 @@ const Xn = ["srcdoc"], es = {
|
|
|
2072
2083
|
const g = l.allow ? l.allow.includes(v.slug) : l.parent.allow?.includes(v.slug) === !0, x = v.allowed_in === null || v.allowed_in.includes(l.parent.slug);
|
|
2073
2084
|
return g && x;
|
|
2074
2085
|
}
|
|
2075
|
-
const
|
|
2086
|
+
const d = L(
|
|
2076
2087
|
() => l.catalog.filter((v) => v.is_enabled && v.published !== null && r(v)).map((v) => {
|
|
2077
2088
|
const g = tn(l.tree, v.slug), x = v.max_per_entity !== null && g >= v.max_per_entity;
|
|
2078
2089
|
return { type: v, reason: x ? i("field.limit-reached", { count: g }) : null };
|
|
2079
2090
|
})
|
|
2080
|
-
), u =
|
|
2091
|
+
), u = L(() => {
|
|
2081
2092
|
const v = o.value.trim().toLowerCase();
|
|
2082
|
-
return v === "" ?
|
|
2093
|
+
return v === "" ? d.value : d.value.filter(
|
|
2083
2094
|
({ type: g }) => g.title.toLowerCase().includes(v) || g.slug.includes(v) || (g.description ?? "").toLowerCase().includes(v)
|
|
2084
2095
|
);
|
|
2085
|
-
}),
|
|
2096
|
+
}), p = L(() => {
|
|
2086
2097
|
const v = [...l.groups];
|
|
2087
2098
|
for (const { type: T } of u.value)
|
|
2088
2099
|
v.includes(T.group) || v.push(T.group);
|
|
2089
2100
|
const g = v.map((T) => ({
|
|
2090
2101
|
id: T,
|
|
2091
|
-
label:
|
|
2102
|
+
label: Ne(T, i),
|
|
2092
2103
|
options: u.value.filter((w) => w.type.group === T)
|
|
2093
2104
|
})).filter((T) => T.options.length > 0);
|
|
2094
2105
|
return u.value.length <= 5 || o.value.trim() !== "" || g.length < 2 ? [{ id: "", label: "", options: u.value }] : g;
|
|
2095
|
-
}),
|
|
2106
|
+
}), f = L(() => {
|
|
2096
2107
|
if (l.catalog.length === 0) return i("field.pick-none");
|
|
2097
|
-
if (
|
|
2108
|
+
if (d.value.length === 0 && l.parent) {
|
|
2098
2109
|
const v = (l.allow ?? l.parent.allow ?? []).filter(
|
|
2099
2110
|
(g) => l.catalog.some((x) => x.slug === g)
|
|
2100
2111
|
);
|
|
@@ -2104,9 +2115,9 @@ const Xn = ["srcdoc"], es = {
|
|
|
2104
2115
|
});
|
|
2105
2116
|
return (v, g) => {
|
|
2106
2117
|
const x = At("router-link");
|
|
2107
|
-
return c(),
|
|
2118
|
+
return c(), z(n(Ot), {
|
|
2108
2119
|
open: n(a),
|
|
2109
|
-
"onUpdate:open": g[2] || (g[2] = (T) =>
|
|
2120
|
+
"onUpdate:open": g[2] || (g[2] = (T) => Vt(a) ? a.value = T : null),
|
|
2110
2121
|
title: n(i)("field.pick"),
|
|
2111
2122
|
width: 860
|
|
2112
2123
|
}, {
|
|
@@ -2122,8 +2133,8 @@ const Xn = ["srcdoc"], es = {
|
|
|
2122
2133
|
})
|
|
2123
2134
|
]),
|
|
2124
2135
|
default: b(() => [
|
|
2125
|
-
A("div",
|
|
2126
|
-
|
|
2136
|
+
A("div", ss, [
|
|
2137
|
+
d.value.length > 0 ? (c(), z(n(Ue), {
|
|
2127
2138
|
key: 0,
|
|
2128
2139
|
modelValue: o.value,
|
|
2129
2140
|
"onUpdate:modelValue": g[0] || (g[0] = (T) => o.value = T),
|
|
@@ -2131,14 +2142,14 @@ const Xn = ["srcdoc"], es = {
|
|
|
2131
2142
|
clearable: "",
|
|
2132
2143
|
autofocus: ""
|
|
2133
2144
|
}, null, 8, ["modelValue", "placeholder"])) : D("", !0),
|
|
2134
|
-
u.value.length === 0 ? (c(),
|
|
2145
|
+
u.value.length === 0 ? (c(), z(n(Pt), {
|
|
2135
2146
|
key: 1,
|
|
2136
2147
|
icon: "grid",
|
|
2137
|
-
title:
|
|
2148
|
+
title: f.value,
|
|
2138
2149
|
size: "sm"
|
|
2139
2150
|
}, {
|
|
2140
2151
|
default: b(() => [
|
|
2141
|
-
e.catalog.length === 0 && e.blocksPath ? (c(),
|
|
2152
|
+
e.catalog.length === 0 && e.blocksPath ? (c(), z(x, {
|
|
2142
2153
|
key: 0,
|
|
2143
2154
|
to: e.blocksPath
|
|
2144
2155
|
}, {
|
|
@@ -2150,12 +2161,12 @@ const Xn = ["srcdoc"], es = {
|
|
|
2150
2161
|
]),
|
|
2151
2162
|
_: 1
|
|
2152
2163
|
}, 8, ["title"])) : D("", !0),
|
|
2153
|
-
(c(!0), C(F, null, le(
|
|
2164
|
+
(c(!0), C(F, null, le(p.value, (T) => (c(), C("section", {
|
|
2154
2165
|
key: T.id,
|
|
2155
2166
|
class: "wx-block-picker__group"
|
|
2156
2167
|
}, [
|
|
2157
|
-
T.label ? (c(), C("div",
|
|
2158
|
-
A("div",
|
|
2168
|
+
T.label ? (c(), C("div", os, S(T.label), 1)) : D("", !0),
|
|
2169
|
+
A("div", as, [
|
|
2159
2170
|
(c(!0), C(F, null, le(T.options, (w) => (c(), C("button", {
|
|
2160
2171
|
key: w.type.id,
|
|
2161
2172
|
type: "button",
|
|
@@ -2168,9 +2179,9 @@ const Xn = ["srcdoc"], es = {
|
|
|
2168
2179
|
thumbnail: w.type.thumbnail,
|
|
2169
2180
|
height: 96
|
|
2170
2181
|
}, null, 8, ["thumbnail"]),
|
|
2171
|
-
A("div",
|
|
2172
|
-
A("div",
|
|
2173
|
-
w.reason ? (c(),
|
|
2182
|
+
A("div", rs, [
|
|
2183
|
+
A("div", us, S(w.type.title), 1),
|
|
2184
|
+
w.reason ? (c(), z(n(K), {
|
|
2174
2185
|
key: 0,
|
|
2175
2186
|
size: "sm",
|
|
2176
2187
|
tone: "warning"
|
|
@@ -2179,7 +2190,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2179
2190
|
M(S(w.reason), 1)
|
|
2180
2191
|
]),
|
|
2181
2192
|
_: 2
|
|
2182
|
-
}, 1024)) : w.type.description ? (c(),
|
|
2193
|
+
}, 1024)) : w.type.description ? (c(), z(n(K), {
|
|
2183
2194
|
key: 1,
|
|
2184
2195
|
size: "sm",
|
|
2185
2196
|
tone: "muted"
|
|
@@ -2190,7 +2201,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2190
2201
|
_: 2
|
|
2191
2202
|
}, 1024)) : D("", !0)
|
|
2192
2203
|
])
|
|
2193
|
-
], 10,
|
|
2204
|
+
], 10, is))), 128))
|
|
2194
2205
|
])
|
|
2195
2206
|
]))), 128))
|
|
2196
2207
|
])
|
|
@@ -2199,7 +2210,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2199
2210
|
}, 8, ["open", "title"]);
|
|
2200
2211
|
};
|
|
2201
2212
|
}
|
|
2202
|
-
}),
|
|
2213
|
+
}), ds = /* @__PURE__ */ ie(cs, [["__scopeId", "data-v-99f4090e"]]), ps = { class: "wx-blocks-preview__tools" }, fs = ["src", "title"], ms = /* @__PURE__ */ ae({
|
|
2203
2214
|
__name: "BlocksPreview",
|
|
2204
2215
|
props: {
|
|
2205
2216
|
url: {},
|
|
@@ -2209,18 +2220,18 @@ const Xn = ["srcdoc"], es = {
|
|
|
2209
2220
|
},
|
|
2210
2221
|
emits: ["select", "edit"],
|
|
2211
2222
|
setup(e, { expose: l, emit: t }) {
|
|
2212
|
-
const s = e, a = t, i = de("webx-blocks"), o = I(null), r = I(null),
|
|
2223
|
+
const s = e, a = t, i = de("webx-blocks"), o = I(null), r = I(null), d = I(null), u = et(d), p = I(!1), f = I(!1), v = I(null), g = I(0), x = L(() => g.value > 0), T = L(() => [
|
|
2213
2224
|
{ value: 1280, icon: "monitor", ariaLabel: i("field.width-desktop") },
|
|
2214
2225
|
{ value: 834, icon: "tablet", ariaLabel: i("field.width-tablet") },
|
|
2215
2226
|
{ value: 390, icon: "smartphone", ariaLabel: i("field.width-phone") }
|
|
2216
|
-
]), w =
|
|
2227
|
+
]), w = L(() => v.value !== null ? v.value : s.compact ? u.value > 0 && u.value < 560 ? 390 : 834 : 1280), y = L(() => u.value === 0 ? 1 : Math.min(1, u.value / w.value)), _ = L(() => ({
|
|
2217
2228
|
width: `${w.value}px`,
|
|
2218
2229
|
transform: `scale(${y.value})`,
|
|
2219
2230
|
...x.value ? { height: `${g.value}px` } : {}
|
|
2220
|
-
})), R =
|
|
2231
|
+
})), R = L(() => ({
|
|
2221
2232
|
width: `${Math.round(w.value * y.value)}px`,
|
|
2222
2233
|
...x.value ? { height: `${Math.round(g.value * y.value)}px` } : {}
|
|
2223
|
-
})),
|
|
2234
|
+
})), Y = L(() => {
|
|
2224
2235
|
if (!s.url) return "";
|
|
2225
2236
|
try {
|
|
2226
2237
|
return `${new URL(s.url, location.origin).pathname} · ${w.value} px`;
|
|
@@ -2228,7 +2239,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2228
2239
|
return s.url;
|
|
2229
2240
|
}
|
|
2230
2241
|
});
|
|
2231
|
-
function
|
|
2242
|
+
function q() {
|
|
2232
2243
|
try {
|
|
2233
2244
|
return o.value?.contentDocument ?? null;
|
|
2234
2245
|
} catch {
|
|
@@ -2236,29 +2247,29 @@ const Xn = ["srcdoc"], es = {
|
|
|
2236
2247
|
}
|
|
2237
2248
|
}
|
|
2238
2249
|
let X = null, h = null;
|
|
2239
|
-
function
|
|
2250
|
+
function V(W) {
|
|
2240
2251
|
W.documentElement.scrollTop !== 0 && (W.documentElement.scrollTop = 0);
|
|
2241
2252
|
}
|
|
2242
|
-
function
|
|
2243
|
-
const W =
|
|
2244
|
-
if (!
|
|
2245
|
-
|
|
2246
|
-
const j = W.defaultView.getComputedStyle(
|
|
2253
|
+
function O() {
|
|
2254
|
+
const W = q(), P = W?.body;
|
|
2255
|
+
if (!P || !W?.defaultView) return;
|
|
2256
|
+
V(W);
|
|
2257
|
+
const j = W.defaultView.getComputedStyle(P), G = (parseFloat(j.marginTop) || 0) + (parseFloat(j.marginBottom) || 0), fe = Math.ceil(P.scrollHeight + G);
|
|
2247
2258
|
fe !== g.value && (g.value = fe, ne !== null && ul(() => requestAnimationFrame(Q)));
|
|
2248
2259
|
}
|
|
2249
2260
|
function J(W) {
|
|
2250
2261
|
h?.disconnect();
|
|
2251
|
-
const
|
|
2252
|
-
!
|
|
2262
|
+
const P = W.defaultView;
|
|
2263
|
+
!P || !W.body || (h = new P.ResizeObserver(O), h.observe(W.body), O());
|
|
2253
2264
|
}
|
|
2254
2265
|
function Se() {
|
|
2255
|
-
|
|
2256
|
-
const W =
|
|
2266
|
+
f.value = !0;
|
|
2267
|
+
const W = q();
|
|
2257
2268
|
W && (J(W), X?.release(), X = Rl(W, {
|
|
2258
2269
|
/* No guard against answering a click with a scroll: `bring` moves nothing that is already
|
|
2259
2270
|
readable, and a block clicked at the very bottom of the window, half under the action
|
|
2260
2271
|
bar, is exactly the one worth moving. */
|
|
2261
|
-
select: (
|
|
2272
|
+
select: (P) => a("select", P)
|
|
2262
2273
|
}), ot(W, s.selected ?? null), ye(s.selected ?? null));
|
|
2263
2274
|
}
|
|
2264
2275
|
let ne = null, pe = null;
|
|
@@ -2268,58 +2279,58 @@ const Xn = ["srcdoc"], es = {
|
|
|
2268
2279
|
}, 400), Q());
|
|
2269
2280
|
}
|
|
2270
2281
|
function Ee(W) {
|
|
2271
|
-
const
|
|
2272
|
-
if (!
|
|
2282
|
+
const P = o.value?.getBoundingClientRect();
|
|
2283
|
+
if (!P) return null;
|
|
2273
2284
|
const j = W.getBoundingClientRect();
|
|
2274
|
-
return { top:
|
|
2285
|
+
return { top: P.top + j.top * y.value, height: j.height * y.value };
|
|
2275
2286
|
}
|
|
2276
2287
|
function Te() {
|
|
2277
2288
|
let W = o.value?.parentElement ?? null;
|
|
2278
2289
|
for (; W; ) {
|
|
2279
|
-
const
|
|
2280
|
-
if ((
|
|
2290
|
+
const P = getComputedStyle(W).overflowY;
|
|
2291
|
+
if ((P === "auto" || P === "scroll") && W.scrollHeight > W.clientHeight)
|
|
2281
2292
|
return W;
|
|
2282
2293
|
W = W.parentElement;
|
|
2283
2294
|
}
|
|
2284
2295
|
return null;
|
|
2285
2296
|
}
|
|
2286
2297
|
function Q() {
|
|
2287
|
-
const W =
|
|
2298
|
+
const W = q();
|
|
2288
2299
|
if (ne === null || !W) return;
|
|
2289
|
-
|
|
2290
|
-
const
|
|
2300
|
+
V(W);
|
|
2301
|
+
const P = pt(W, ne), j = P ? Ee(P) : null;
|
|
2291
2302
|
if (!j) return;
|
|
2292
2303
|
const G = Te(), fe = G?.getBoundingClientRect(), we = r.value?.getBoundingClientRect().height ?? 0, se = {
|
|
2293
2304
|
top: (fe?.top ?? 0) + we,
|
|
2294
2305
|
bottom: (fe ? fe.bottom : window.innerHeight) - we
|
|
2295
|
-
}, me = j.top + j.height,
|
|
2306
|
+
}, me = j.top + j.height, Le = j.top < se.top, ze = j.height > se.bottom - se.top, $ = Le || ze ? j.top - se.top : me > se.bottom ? me - se.bottom : 0;
|
|
2296
2307
|
$ !== 0 && (G ?? window).scrollBy({ top: $, behavior: "smooth" });
|
|
2297
2308
|
}
|
|
2298
|
-
function ke(W,
|
|
2299
|
-
const j =
|
|
2300
|
-
if (!j || !
|
|
2301
|
-
const G = Ft(j, W,
|
|
2309
|
+
function ke(W, P) {
|
|
2310
|
+
const j = q();
|
|
2311
|
+
if (!j || !f.value) return !1;
|
|
2312
|
+
const G = Ft(j, W, P);
|
|
2302
2313
|
return G && ot(j, s.selected ?? null), G;
|
|
2303
2314
|
}
|
|
2304
2315
|
function Ce() {
|
|
2305
|
-
|
|
2316
|
+
f.value = !1, h?.disconnect(), h = null, o.value && s.url && (o.value.src = s.url);
|
|
2306
2317
|
}
|
|
2307
2318
|
function ge(W) {
|
|
2308
|
-
W.key === "Escape" &&
|
|
2319
|
+
W.key === "Escape" && p.value && (p.value = !1, W.stopPropagation());
|
|
2309
2320
|
}
|
|
2310
2321
|
return te(
|
|
2311
2322
|
() => s.selected,
|
|
2312
2323
|
(W) => {
|
|
2313
|
-
const
|
|
2314
|
-
!
|
|
2324
|
+
const P = q();
|
|
2325
|
+
!P || !f.value || (ot(P, W ?? null), ye(W ?? null));
|
|
2315
2326
|
}
|
|
2316
2327
|
), te(() => s.reload, Ce), te(
|
|
2317
2328
|
() => s.url,
|
|
2318
|
-
() =>
|
|
2329
|
+
() => f.value = !1
|
|
2319
2330
|
), Re(() => window.addEventListener("keydown", ge)), Xe(() => {
|
|
2320
2331
|
window.removeEventListener("keydown", ge), pe !== null && clearTimeout(pe), h?.disconnect(), X?.release();
|
|
2321
|
-
}), l({ replace: ke, refresh: Ce, open: () =>
|
|
2322
|
-
class: $e(["wx-blocks-preview", { "is-fullscreen":
|
|
2332
|
+
}), l({ replace: ke, refresh: Ce, open: () => p.value = !0 }), (W, P) => (c(), C("div", {
|
|
2333
|
+
class: $e(["wx-blocks-preview", { "is-fullscreen": p.value, "is-grown": x.value, "is-compact": e.compact }]),
|
|
2323
2334
|
style: xe({ "--wx-preview-scale": y.value })
|
|
2324
2335
|
}, [
|
|
2325
2336
|
A("div", {
|
|
@@ -2327,35 +2338,35 @@ const Xn = ["srcdoc"], es = {
|
|
|
2327
2338
|
ref: r,
|
|
2328
2339
|
class: "wx-blocks-preview__bar"
|
|
2329
2340
|
}, [
|
|
2330
|
-
m(n(
|
|
2341
|
+
m(n(K), {
|
|
2331
2342
|
size: "xs",
|
|
2332
2343
|
tone: "muted",
|
|
2333
2344
|
class: "wx-blocks-preview__label",
|
|
2334
2345
|
truncate: ""
|
|
2335
2346
|
}, {
|
|
2336
2347
|
default: b(() => [
|
|
2337
|
-
M(S(
|
|
2348
|
+
M(S(Y.value), 1)
|
|
2338
2349
|
]),
|
|
2339
2350
|
_: 1
|
|
2340
2351
|
}),
|
|
2341
|
-
m(n(
|
|
2352
|
+
m(n(Nt), {
|
|
2342
2353
|
class: "wx-blocks-preview__widths",
|
|
2343
2354
|
"model-value": w.value,
|
|
2344
2355
|
options: T.value,
|
|
2345
2356
|
size: "sm",
|
|
2346
2357
|
"aria-label": n(i)("field.width"),
|
|
2347
|
-
"onUpdate:modelValue":
|
|
2358
|
+
"onUpdate:modelValue": P[0] || (P[0] = (j) => v.value = Number(j))
|
|
2348
2359
|
}, null, 8, ["model-value", "options", "aria-label"]),
|
|
2349
|
-
A("div",
|
|
2350
|
-
e.compact ? (c(),
|
|
2360
|
+
A("div", ps, [
|
|
2361
|
+
e.compact ? (c(), z(n(Ie), {
|
|
2351
2362
|
key: 0,
|
|
2352
2363
|
size: "sm",
|
|
2353
2364
|
tone: "primary",
|
|
2354
2365
|
icon: "edit",
|
|
2355
2366
|
title: n(i)("field.blocks"),
|
|
2356
|
-
onClick:
|
|
2367
|
+
onClick: P[1] || (P[1] = (j) => a("edit"))
|
|
2357
2368
|
}, null, 8, ["title"])) : D("", !0),
|
|
2358
|
-
e.url ? (c(),
|
|
2369
|
+
e.url ? (c(), z(n(Ie), {
|
|
2359
2370
|
key: 1,
|
|
2360
2371
|
size: "sm",
|
|
2361
2372
|
icon: "external-link",
|
|
@@ -2367,16 +2378,16 @@ const Xn = ["srcdoc"], es = {
|
|
|
2367
2378
|
}, null, 8, ["title", "href"])) : D("", !0),
|
|
2368
2379
|
m(n(Ie), {
|
|
2369
2380
|
size: "sm",
|
|
2370
|
-
icon:
|
|
2381
|
+
icon: p.value ? "minimize" : "maximize",
|
|
2371
2382
|
tone: "neutral",
|
|
2372
|
-
title:
|
|
2373
|
-
onClick:
|
|
2383
|
+
title: p.value ? n(i)("field.close") : n(i)("field.fullscreen"),
|
|
2384
|
+
onClick: P[2] || (P[2] = (j) => p.value = !p.value)
|
|
2374
2385
|
}, null, 8, ["icon", "title"])
|
|
2375
2386
|
])
|
|
2376
2387
|
], 512),
|
|
2377
2388
|
A("div", {
|
|
2378
2389
|
ref_key: "box",
|
|
2379
|
-
ref:
|
|
2390
|
+
ref: d,
|
|
2380
2391
|
class: "wx-blocks-preview__ground"
|
|
2381
2392
|
}, [
|
|
2382
2393
|
A("div", {
|
|
@@ -2392,15 +2403,15 @@ const Xn = ["srcdoc"], es = {
|
|
|
2392
2403
|
style: xe(_.value),
|
|
2393
2404
|
title: n(i)("field.preview"),
|
|
2394
2405
|
onLoad: Se
|
|
2395
|
-
}, null, 44,
|
|
2406
|
+
}, null, 44, fs)) : D("", !0)
|
|
2396
2407
|
], 4)
|
|
2397
2408
|
], 512)
|
|
2398
2409
|
], 6));
|
|
2399
2410
|
}
|
|
2400
|
-
}),
|
|
2411
|
+
}), vs = /* @__PURE__ */ ie(ms, [["__scopeId", "data-v-398e4cef"]]), hs = { class: "wx-blocks-tree__node" }, bs = ["onClick", "onKeydown"], gs = { class: "wx-blocks-tree__name" }, ys = ["title"], ks = ["title"], ws = ["title"], _s = ["title"], xs = {
|
|
2401
2412
|
key: 4,
|
|
2402
2413
|
class: "wx-blocks-tree__actions"
|
|
2403
|
-
},
|
|
2414
|
+
}, $s = ["onClick"], Ss = /* @__PURE__ */ ae({
|
|
2404
2415
|
__name: "BlocksTree",
|
|
2405
2416
|
props: {
|
|
2406
2417
|
nodes: {},
|
|
@@ -2414,46 +2425,46 @@ const Xn = ["srcdoc"], es = {
|
|
|
2414
2425
|
emits: ["select", "add", "remove", "duplicate", "visibility", "reorder"],
|
|
2415
2426
|
setup(e, { emit: l }) {
|
|
2416
2427
|
const t = e, s = l, a = de("webx-blocks");
|
|
2417
|
-
function i(
|
|
2418
|
-
return t.catalog.find((
|
|
2428
|
+
function i(p) {
|
|
2429
|
+
return t.catalog.find((f) => f.slug === p.type) ?? null;
|
|
2419
2430
|
}
|
|
2420
|
-
function o(
|
|
2421
|
-
return i(
|
|
2431
|
+
function o(p) {
|
|
2432
|
+
return i(p)?.title ?? p.type;
|
|
2422
2433
|
}
|
|
2423
|
-
function r(
|
|
2424
|
-
const
|
|
2425
|
-
return
|
|
2434
|
+
function r(p) {
|
|
2435
|
+
const f = i(p);
|
|
2436
|
+
return f?.content ? Jt(f.content.schema) : [];
|
|
2426
2437
|
}
|
|
2427
|
-
function
|
|
2428
|
-
const v =
|
|
2438
|
+
function d(p, f) {
|
|
2439
|
+
const v = p.values[f.id];
|
|
2429
2440
|
return Array.isArray(v) ? v : [];
|
|
2430
2441
|
}
|
|
2431
|
-
function u(
|
|
2442
|
+
function u(p) {
|
|
2432
2443
|
return [
|
|
2433
2444
|
{
|
|
2434
2445
|
key: "visibility",
|
|
2435
|
-
icon:
|
|
2436
|
-
label:
|
|
2437
|
-
run: () => s("visibility",
|
|
2446
|
+
icon: p.hidden === !0 ? "eye" : "eye-off",
|
|
2447
|
+
label: p.hidden === !0 ? a("field.show") : a("field.hide"),
|
|
2448
|
+
run: () => s("visibility", p.key, p.hidden !== !0)
|
|
2438
2449
|
},
|
|
2439
2450
|
{
|
|
2440
2451
|
key: "duplicate",
|
|
2441
2452
|
icon: "copy",
|
|
2442
2453
|
label: a("field.duplicate"),
|
|
2443
|
-
run: () => s("duplicate",
|
|
2454
|
+
run: () => s("duplicate", p.key)
|
|
2444
2455
|
},
|
|
2445
2456
|
{
|
|
2446
2457
|
key: "remove",
|
|
2447
2458
|
icon: "trash",
|
|
2448
2459
|
label: a("field.remove"),
|
|
2449
2460
|
danger: !0,
|
|
2450
|
-
run: () => s("remove",
|
|
2461
|
+
run: () => s("remove", p.key)
|
|
2451
2462
|
}
|
|
2452
2463
|
];
|
|
2453
2464
|
}
|
|
2454
|
-
return (
|
|
2465
|
+
return (p, f) => {
|
|
2455
2466
|
const v = At("blocks-tree", !0);
|
|
2456
|
-
return c(),
|
|
2467
|
+
return c(), z(n(Cl), {
|
|
2457
2468
|
"model-value": e.nodes,
|
|
2458
2469
|
"item-key": "key",
|
|
2459
2470
|
"item-label": (g) => o(g),
|
|
@@ -2462,10 +2473,10 @@ const Xn = ["srcdoc"], es = {
|
|
|
2462
2473
|
size: "sm",
|
|
2463
2474
|
"empty-text": e.depth === 0 ? n(a)("field.empty") : "",
|
|
2464
2475
|
class: $e(["wx-blocks-tree", { "is-nested": e.depth > 0 }]),
|
|
2465
|
-
"onUpdate:modelValue":
|
|
2476
|
+
"onUpdate:modelValue": f[6] || (f[6] = (g) => s("reorder", e.parentKey, e.field, g))
|
|
2466
2477
|
}, {
|
|
2467
2478
|
default: b(({ item: g }) => [
|
|
2468
|
-
A("div",
|
|
2479
|
+
A("div", hs, [
|
|
2469
2480
|
A("div", {
|
|
2470
2481
|
class: $e(["wx-blocks-tree__row", { "is-selected": e.selected === g.key, "is-hidden": g.hidden === !0 }]),
|
|
2471
2482
|
role: "button",
|
|
@@ -2476,58 +2487,58 @@ const Xn = ["srcdoc"], es = {
|
|
|
2476
2487
|
ht(bt((x) => s("select", g.key), ["prevent"]), ["space"])
|
|
2477
2488
|
]
|
|
2478
2489
|
}, [
|
|
2479
|
-
A("span",
|
|
2490
|
+
A("span", gs, S(o(g)), 1),
|
|
2480
2491
|
i(g) ? i(g)?.draft ? (c(), C("span", {
|
|
2481
2492
|
key: 1,
|
|
2482
2493
|
class: "wx-blocks-tree__flag is-warning",
|
|
2483
2494
|
title: n(a)("field.draft-type")
|
|
2484
2495
|
}, [
|
|
2485
2496
|
m(n(he), { name: "warning" })
|
|
2486
|
-
], 8,
|
|
2497
|
+
], 8, ks)) : i(g)?.is_enabled === !1 ? (c(), C("span", {
|
|
2487
2498
|
key: 2,
|
|
2488
2499
|
class: "wx-blocks-tree__flag",
|
|
2489
2500
|
title: n(a)("field.disabled-type")
|
|
2490
2501
|
}, [
|
|
2491
2502
|
m(n(he), { name: "lock" })
|
|
2492
|
-
], 8,
|
|
2503
|
+
], 8, ws)) : D("", !0) : (c(), C("span", {
|
|
2493
2504
|
key: 0,
|
|
2494
2505
|
class: "wx-blocks-tree__flag is-danger",
|
|
2495
2506
|
title: n(a)("field.unknown-type", { type: g.type })
|
|
2496
2507
|
}, [
|
|
2497
2508
|
m(n(he), { name: "close-circle" })
|
|
2498
|
-
], 8,
|
|
2509
|
+
], 8, ys)),
|
|
2499
2510
|
g.hidden === !0 ? (c(), C("span", {
|
|
2500
2511
|
key: 3,
|
|
2501
2512
|
class: "wx-blocks-tree__flag",
|
|
2502
2513
|
title: n(a)("field.hidden-note")
|
|
2503
2514
|
}, [
|
|
2504
2515
|
m(n(he), { name: "eye-off" })
|
|
2505
|
-
], 8,
|
|
2506
|
-
e.disabled ? D("", !0) : (c(), C("span",
|
|
2516
|
+
], 8, _s)) : D("", !0),
|
|
2517
|
+
e.disabled ? D("", !0) : (c(), C("span", xs, [
|
|
2507
2518
|
m(n(kl), {
|
|
2508
2519
|
actions: u(g),
|
|
2509
2520
|
label: o(g)
|
|
2510
2521
|
}, null, 8, ["actions", "label"])
|
|
2511
2522
|
]))
|
|
2512
|
-
], 42,
|
|
2523
|
+
], 42, bs),
|
|
2513
2524
|
(c(!0), C(F, null, le(r(g), (x) => (c(), C("div", {
|
|
2514
2525
|
key: x.id,
|
|
2515
2526
|
class: "wx-blocks-tree__kids"
|
|
2516
2527
|
}, [
|
|
2517
2528
|
m(v, {
|
|
2518
|
-
nodes:
|
|
2529
|
+
nodes: d(g, x),
|
|
2519
2530
|
catalog: e.catalog,
|
|
2520
2531
|
"parent-key": g.key,
|
|
2521
2532
|
field: x.id,
|
|
2522
2533
|
selected: e.selected,
|
|
2523
2534
|
disabled: e.disabled,
|
|
2524
2535
|
depth: e.depth + 1,
|
|
2525
|
-
onSelect:
|
|
2526
|
-
onAdd:
|
|
2527
|
-
onRemove:
|
|
2528
|
-
onDuplicate:
|
|
2529
|
-
onVisibility:
|
|
2530
|
-
onReorder:
|
|
2536
|
+
onSelect: f[0] || (f[0] = (T) => s("select", T)),
|
|
2537
|
+
onAdd: f[1] || (f[1] = (T, w, y) => s("add", T, w, y)),
|
|
2538
|
+
onRemove: f[2] || (f[2] = (T) => s("remove", T)),
|
|
2539
|
+
onDuplicate: f[3] || (f[3] = (T) => s("duplicate", T)),
|
|
2540
|
+
onVisibility: f[4] || (f[4] = (T, w) => s("visibility", T, w)),
|
|
2541
|
+
onReorder: f[5] || (f[5] = (T, w, y) => s("reorder", T, w, y))
|
|
2531
2542
|
}, null, 8, ["nodes", "catalog", "parent-key", "field", "selected", "disabled", "depth"]),
|
|
2532
2543
|
e.disabled ? D("", !0) : (c(), C("button", {
|
|
2533
2544
|
key: 0,
|
|
@@ -2539,7 +2550,7 @@ const Xn = ["srcdoc"], es = {
|
|
|
2539
2550
|
r(g).length > 1 ? (c(), C(F, { key: 0 }, [
|
|
2540
2551
|
M(" · " + S(x.label ?? x.id), 1)
|
|
2541
2552
|
], 64)) : D("", !0)
|
|
2542
|
-
], 8,
|
|
2553
|
+
], 8, $s))
|
|
2543
2554
|
]))), 128))
|
|
2544
2555
|
])
|
|
2545
2556
|
]),
|
|
@@ -2547,29 +2558,29 @@ const Xn = ["srcdoc"], es = {
|
|
|
2547
2558
|
}, 8, ["model-value", "item-label", "disabled", "empty-text", "class"]);
|
|
2548
2559
|
};
|
|
2549
2560
|
}
|
|
2550
|
-
}),
|
|
2551
|
-
function
|
|
2561
|
+
}), Es = /* @__PURE__ */ ie(Ss, [["__scopeId", "data-v-590fa1d6"]]), vt = /* @__PURE__ */ Symbol("wx-blocks-preview");
|
|
2562
|
+
function mo(e) {
|
|
2552
2563
|
Bt(vt, e);
|
|
2553
2564
|
}
|
|
2554
|
-
function
|
|
2565
|
+
function vo() {
|
|
2555
2566
|
return De(vt, null);
|
|
2556
2567
|
}
|
|
2557
|
-
const
|
|
2568
|
+
const Lt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ts = {
|
|
2558
2569
|
key: 0,
|
|
2559
2570
|
class: "wx-blocks-nested"
|
|
2560
|
-
},
|
|
2571
|
+
}, Cs = {
|
|
2561
2572
|
key: 0,
|
|
2562
2573
|
class: "wx-blocks__tree"
|
|
2563
|
-
},
|
|
2574
|
+
}, Ls = { class: "wx-blocks__panel-head" }, As = { class: "wx-blocks__panel-title" }, Vs = { class: "wx-blocks__tools" }, Bs = {
|
|
2564
2575
|
key: 1,
|
|
2565
2576
|
class: "wx-blocks__fields"
|
|
2566
|
-
},
|
|
2577
|
+
}, Ws = { class: "wx-blocks__panel-head" }, Ms = { class: "wx-blocks__panel-title" }, Ns = {
|
|
2567
2578
|
key: 0,
|
|
2568
2579
|
class: "wx-blocks__trail"
|
|
2569
|
-
},
|
|
2580
|
+
}, zs = ["onClick"], Ds = { class: "wx-blocks__panel-name" }, Is = { class: "wx-blocks__panel-extra" }, Os = { key: 0 }, Ps = { class: "wx-blocks__form" }, Us = {
|
|
2570
2581
|
key: 0,
|
|
2571
2582
|
class: "wx-blocks__preview"
|
|
2572
|
-
},
|
|
2583
|
+
}, Rs = /* @__PURE__ */ ae({
|
|
2573
2584
|
name: "WxBlocks",
|
|
2574
2585
|
inheritAttrs: !1,
|
|
2575
2586
|
__name: "BlocksField",
|
|
@@ -2589,36 +2600,36 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2589
2600
|
}),
|
|
2590
2601
|
emits: ["update:modelValue"],
|
|
2591
2602
|
setup(e) {
|
|
2592
|
-
const l = e, t = cl(e, "modelValue"), s = De(
|
|
2593
|
-
Bt(
|
|
2603
|
+
const l = e, t = cl(e, "modelValue"), s = De(Lt, !1);
|
|
2604
|
+
Bt(Lt, !0), Ke();
|
|
2594
2605
|
const a = de("webx-blocks"), i = Fe(), o = De(Mt, null);
|
|
2595
2606
|
let r = null;
|
|
2596
|
-
const
|
|
2607
|
+
const d = I([]), u = L(() => l.catalog ?? d.value), p = L(() => Array.isArray(t.value) ? t.value : []), f = I(null), v = L(() => f.value ? re(p.value, f.value) : null), g = L(
|
|
2597
2608
|
() => v.value ? u.value.find(($) => $.slug === v.value?.node.type) ?? null : null
|
|
2598
2609
|
);
|
|
2599
2610
|
function x($) {
|
|
2600
|
-
return u.value.find((
|
|
2611
|
+
return u.value.find((N) => N.slug === $.type)?.title ?? $.type;
|
|
2601
2612
|
}
|
|
2602
|
-
const T =
|
|
2613
|
+
const T = L(() => {
|
|
2603
2614
|
const $ = [];
|
|
2604
|
-
return He(
|
|
2605
|
-
}), w =
|
|
2606
|
-
const $ =
|
|
2615
|
+
return He(p.value, (N) => $.push(N.key)), $;
|
|
2616
|
+
}), w = L(() => {
|
|
2617
|
+
const $ = f.value ? T.value.indexOf(f.value) : -1;
|
|
2607
2618
|
return {
|
|
2608
2619
|
previous: $ > 0 ? T.value[$ - 1] : null,
|
|
2609
2620
|
next: $ >= 0 && $ < T.value.length - 1 ? T.value[$ + 1] : null
|
|
2610
2621
|
};
|
|
2611
|
-
}), y =
|
|
2622
|
+
}), y = L(() => {
|
|
2612
2623
|
const $ = [];
|
|
2613
|
-
let
|
|
2614
|
-
for (;
|
|
2615
|
-
$.unshift({ key:
|
|
2624
|
+
let N = v.value?.parent ?? null;
|
|
2625
|
+
for (; N; )
|
|
2626
|
+
$.unshift({ key: N.key, title: x(N) }), N = re(p.value, N.key)?.parent ?? null;
|
|
2616
2627
|
return $;
|
|
2617
|
-
}), _ = De(vt, null), R = I(null),
|
|
2628
|
+
}), _ = De(vt, null), R = I(null), Y = I(null), q = et(Y), X = L(() => _ !== null && _.url.value !== null), h = L(() => X.value && q.value > 0 && q.value <= 900), V = I(!1), O = L(() => {
|
|
2618
2629
|
if (!v.value) return;
|
|
2619
2630
|
const $ = g.value?.title ?? v.value.node.type;
|
|
2620
|
-
return [...y.value.map((
|
|
2621
|
-
}), J =
|
|
2631
|
+
return [...y.value.map((N) => N.title), $].join(" / ");
|
|
2632
|
+
}), J = L(
|
|
2622
2633
|
() => h.value ? {
|
|
2623
2634
|
/* Up from the bottom, and not all the way: the strip of page left above it is what
|
|
2624
2635
|
says the sheet is over the page rather than instead of it. No heading of its own —
|
|
@@ -2636,83 +2647,83 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2636
2647
|
the blocks it is inside spelled out in front of it, because the trail that says so
|
|
2637
2648
|
in the column is part of the heading this replaces. The tree keeps its own heading,
|
|
2638
2649
|
which already says what it is and how many. */
|
|
2639
|
-
title:
|
|
2640
|
-
open:
|
|
2641
|
-
"onUpdate:open": ($) =>
|
|
2650
|
+
title: O.value,
|
|
2651
|
+
open: V.value,
|
|
2652
|
+
"onUpdate:open": ($) => V.value = $
|
|
2642
2653
|
} : {}
|
|
2643
|
-
), Se =
|
|
2654
|
+
), Se = L(
|
|
2644
2655
|
() => o?.state.manifest?.modules.find(($) => $.id === "blocks")?.meta?.groups ?? []
|
|
2645
|
-
), ne = dl()?.type, pe =
|
|
2656
|
+
), ne = dl()?.type, pe = L(() => l.context?.types ? l.context.types : o?.types ? { ...Je, ...o.types } : ne ? { ...Je, "wx-blocks": { component: ne, kind: "field", nested: !0 } } : Je), ye = L(
|
|
2646
2657
|
() => l.context?.translate ?? o?.i18n.t ?? (($) => $)
|
|
2647
|
-
), Ee =
|
|
2658
|
+
), Ee = L(() => l.context?.can ?? o?.can ?? (() => !0)), Te = Ut(ds);
|
|
2648
2659
|
function Q($) {
|
|
2649
2660
|
t.value = $;
|
|
2650
2661
|
}
|
|
2651
|
-
async function ke($,
|
|
2652
|
-
const H = $ ? re(
|
|
2662
|
+
async function ke($, N, U) {
|
|
2663
|
+
const H = $ ? re(p.value, $) : null, ee = H ? u.value.find((ol) => ol.slug === H.node.type) ?? null : null, lt = $ === null ? l.allow : U?.props?.allow ?? null, B = $ === null ? l.max : U?.props?.max ?? null, k = $ === null ? p.value : H && N ? H.node.values[N] ?? [] : [];
|
|
2653
2664
|
if (B != null && k.length >= B) return;
|
|
2654
2665
|
const E = await Te({
|
|
2655
2666
|
catalog: u.value,
|
|
2656
2667
|
parent: ee,
|
|
2657
2668
|
allow: lt,
|
|
2658
|
-
tree:
|
|
2669
|
+
tree: p.value,
|
|
2659
2670
|
groups: Se.value,
|
|
2660
2671
|
blocksPath: l.blocksPath
|
|
2661
2672
|
});
|
|
2662
2673
|
if (!E) return;
|
|
2663
2674
|
const nt = en(E.slug, Ce(E));
|
|
2664
|
-
Q($t(
|
|
2675
|
+
Q($t(p.value, $, N, k.length, nt)), f.value = nt.key;
|
|
2665
2676
|
}
|
|
2666
2677
|
function Ce($) {
|
|
2667
|
-
const
|
|
2668
|
-
for (const [H, ee] of Object.entries(
|
|
2678
|
+
const N = $.content?.sample ?? {}, U = {};
|
|
2679
|
+
for (const [H, ee] of Object.entries(N))
|
|
2669
2680
|
(!Array.isArray(ee) || ee.length === 0 || typeof ee[0] != "object") && (U[H] = ee);
|
|
2670
2681
|
return U;
|
|
2671
2682
|
}
|
|
2672
2683
|
async function ge($) {
|
|
2673
|
-
const
|
|
2674
|
-
if (!
|
|
2675
|
-
const U = ln(
|
|
2684
|
+
const N = re(p.value, $);
|
|
2685
|
+
if (!N) return;
|
|
2686
|
+
const U = ln(N.node);
|
|
2676
2687
|
await Qe({
|
|
2677
2688
|
title: a("field.remove-title", {
|
|
2678
|
-
title: u.value.find((ee) => ee.slug ===
|
|
2689
|
+
title: u.value.find((ee) => ee.slug === N.node.type)?.title ?? N.node.type
|
|
2679
2690
|
}),
|
|
2680
2691
|
message: U > 0 ? a("field.remove-text", { count: U }) : a("field.remove-alone"),
|
|
2681
2692
|
confirmText: a("field.remove"),
|
|
2682
2693
|
cancelText: a("page.cancel"),
|
|
2683
2694
|
tone: "danger"
|
|
2684
|
-
}) && (
|
|
2695
|
+
}) && (f.value === $ && (f.value = null), Q(on(p.value, $)));
|
|
2685
2696
|
}
|
|
2686
2697
|
function W($) {
|
|
2687
|
-
const
|
|
2688
|
-
if (!
|
|
2689
|
-
const U = Gt(
|
|
2690
|
-
Q($t(
|
|
2698
|
+
const N = re(p.value, $);
|
|
2699
|
+
if (!N) return;
|
|
2700
|
+
const U = Gt(N.node);
|
|
2701
|
+
Q($t(p.value, N.parent?.key ?? null, N.field, N.index + 1, U)), f.value = U.key;
|
|
2691
2702
|
}
|
|
2692
|
-
function
|
|
2693
|
-
Q(nn(
|
|
2703
|
+
function P($, N) {
|
|
2704
|
+
Q(nn(p.value, $, N));
|
|
2694
2705
|
}
|
|
2695
|
-
function j($,
|
|
2696
|
-
Q(rn(
|
|
2706
|
+
function j($, N, U) {
|
|
2707
|
+
Q(rn(p.value, $, N, U));
|
|
2697
2708
|
}
|
|
2698
2709
|
function G($) {
|
|
2699
|
-
|
|
2710
|
+
f.value = f.value === $ ? null : $;
|
|
2700
2711
|
}
|
|
2701
2712
|
function fe($) {
|
|
2702
|
-
$ === null || !re(
|
|
2713
|
+
$ === null || !re(p.value, $) || (f.value = $, h.value && (V.value = !0));
|
|
2703
2714
|
}
|
|
2704
2715
|
function we() {
|
|
2705
|
-
|
|
2716
|
+
f.value = null;
|
|
2706
2717
|
}
|
|
2707
2718
|
function se($) {
|
|
2708
|
-
|
|
2719
|
+
f.value && Q(an(p.value, f.value, $));
|
|
2709
2720
|
}
|
|
2710
2721
|
let me;
|
|
2711
2722
|
te(
|
|
2712
2723
|
() => v.value?.node.values,
|
|
2713
|
-
($,
|
|
2714
|
-
if (!$ || !
|
|
2715
|
-
const U =
|
|
2724
|
+
($, N) => {
|
|
2725
|
+
if (!$ || !N || !g.value || !r || !_) return;
|
|
2726
|
+
const U = f.value, H = g.value.id;
|
|
2716
2727
|
clearTimeout(me), me = setTimeout(() => {
|
|
2717
2728
|
!U || !r || r.render(H, { values: $, key: U }).then((ee) => {
|
|
2718
2729
|
R.value?.replace(U, ee.html) || R.value?.refresh();
|
|
@@ -2722,26 +2733,26 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2722
2733
|
},
|
|
2723
2734
|
{ deep: !0 }
|
|
2724
2735
|
);
|
|
2725
|
-
function
|
|
2726
|
-
$.key === "Escape" &&
|
|
2736
|
+
function Le($) {
|
|
2737
|
+
$.key === "Escape" && f.value && we();
|
|
2727
2738
|
}
|
|
2728
2739
|
Re(async () => {
|
|
2729
|
-
if (window.addEventListener("keydown",
|
|
2740
|
+
if (window.addEventListener("keydown", Le), l.catalog === null && o) {
|
|
2730
2741
|
r = Me(o);
|
|
2731
2742
|
try {
|
|
2732
|
-
|
|
2743
|
+
d.value = await r.catalog();
|
|
2733
2744
|
} catch ($) {
|
|
2734
2745
|
Z.danger(i($));
|
|
2735
2746
|
}
|
|
2736
2747
|
} else o && (r = Me(o));
|
|
2737
2748
|
}), Xe(() => {
|
|
2738
|
-
clearTimeout(me), window.removeEventListener("keydown",
|
|
2749
|
+
clearTimeout(me), window.removeEventListener("keydown", Le);
|
|
2739
2750
|
});
|
|
2740
|
-
const
|
|
2751
|
+
const ze = L(
|
|
2741
2752
|
() => g.value?.content ? mt(g.value.content.schema) : []
|
|
2742
2753
|
);
|
|
2743
|
-
return ($,
|
|
2744
|
-
m(n(
|
|
2754
|
+
return ($, N) => n(s) ? (c(), C("div", Ts, [
|
|
2755
|
+
m(n(K), {
|
|
2745
2756
|
size: "sm",
|
|
2746
2757
|
tone: "muted"
|
|
2747
2758
|
}, {
|
|
@@ -2753,7 +2764,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2753
2764
|
])) : (c(), C("div", {
|
|
2754
2765
|
key: 1,
|
|
2755
2766
|
ref_key: "host",
|
|
2756
|
-
ref:
|
|
2767
|
+
ref: Y,
|
|
2757
2768
|
class: $e(["wx-blocks-host", { "is-compact": h.value }])
|
|
2758
2769
|
}, [
|
|
2759
2770
|
A("div", {
|
|
@@ -2762,52 +2773,52 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2762
2773
|
"has-preview": n(_) !== null && n(_).url.value !== null
|
|
2763
2774
|
}])
|
|
2764
2775
|
}, [
|
|
2765
|
-
(c(),
|
|
2776
|
+
(c(), z(pl(h.value ? n(Ll) : "div"), fl(J.value, { class: "wx-blocks__side" }), {
|
|
2766
2777
|
default: b(() => [
|
|
2767
|
-
v.value ? D("", !0) : (c(), C("div",
|
|
2768
|
-
A("div",
|
|
2769
|
-
A("span",
|
|
2770
|
-
m(n(
|
|
2778
|
+
v.value ? D("", !0) : (c(), C("div", Cs, [
|
|
2779
|
+
A("div", Ls, [
|
|
2780
|
+
A("span", As, S(n(a)("field.blocks")), 1),
|
|
2781
|
+
m(n(K), {
|
|
2771
2782
|
size: "sm",
|
|
2772
2783
|
tone: "muted"
|
|
2773
2784
|
}, {
|
|
2774
2785
|
default: b(() => [
|
|
2775
|
-
M(S(
|
|
2786
|
+
M(S(p.value.length), 1)
|
|
2776
2787
|
]),
|
|
2777
2788
|
_: 1
|
|
2778
2789
|
})
|
|
2779
2790
|
]),
|
|
2780
|
-
m(
|
|
2781
|
-
nodes:
|
|
2791
|
+
m(Es, {
|
|
2792
|
+
nodes: p.value,
|
|
2782
2793
|
catalog: u.value,
|
|
2783
|
-
selected:
|
|
2794
|
+
selected: f.value,
|
|
2784
2795
|
disabled: e.disabled,
|
|
2785
2796
|
onSelect: G,
|
|
2786
2797
|
onAdd: ke,
|
|
2787
2798
|
onRemove: ge,
|
|
2788
2799
|
onDuplicate: W,
|
|
2789
|
-
onVisibility:
|
|
2800
|
+
onVisibility: P,
|
|
2790
2801
|
onReorder: j
|
|
2791
2802
|
}, null, 8, ["nodes", "catalog", "selected", "disabled"]),
|
|
2792
2803
|
A("div", Vs, [
|
|
2793
|
-
!e.disabled && (e.max === null ||
|
|
2804
|
+
!e.disabled && (e.max === null || p.value.length < e.max) ? (c(), z(n(ce), {
|
|
2794
2805
|
key: 0,
|
|
2795
2806
|
variant: "outline",
|
|
2796
2807
|
icon: "plus",
|
|
2797
2808
|
class: "wx-blocks__add",
|
|
2798
|
-
onClick:
|
|
2809
|
+
onClick: N[0] || (N[0] = (U) => ke(null, null, null))
|
|
2799
2810
|
}, {
|
|
2800
2811
|
default: b(() => [
|
|
2801
2812
|
M(S(n(a)("field.add")), 1)
|
|
2802
2813
|
]),
|
|
2803
2814
|
_: 1
|
|
2804
2815
|
})) : D("", !0),
|
|
2805
|
-
!h.value && n(_) && n(_).url.value ? (c(),
|
|
2816
|
+
!h.value && n(_) && n(_).url.value ? (c(), z(n(ce), {
|
|
2806
2817
|
key: 1,
|
|
2807
2818
|
variant: "outline",
|
|
2808
2819
|
icon: "eye",
|
|
2809
2820
|
class: "wx-blocks__preview-button",
|
|
2810
|
-
onClick:
|
|
2821
|
+
onClick: N[1] || (N[1] = (U) => R.value?.open())
|
|
2811
2822
|
}, {
|
|
2812
2823
|
default: b(() => [
|
|
2813
2824
|
M(S(n(a)("field.preview")), 1)
|
|
@@ -2816,10 +2827,10 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2816
2827
|
})) : D("", !0)
|
|
2817
2828
|
])
|
|
2818
2829
|
])),
|
|
2819
|
-
v.value ? (c(), C("div",
|
|
2820
|
-
A("div",
|
|
2821
|
-
A("span",
|
|
2822
|
-
y.value.length ? (c(), C("span",
|
|
2830
|
+
v.value ? (c(), C("div", Bs, [
|
|
2831
|
+
A("div", Ws, [
|
|
2832
|
+
A("span", Ms, [
|
|
2833
|
+
y.value.length ? (c(), C("span", Ns, [
|
|
2823
2834
|
(c(!0), C(F, null, le(y.value, (U) => (c(), C(F, {
|
|
2824
2835
|
key: U.key
|
|
2825
2836
|
}, [
|
|
@@ -2827,21 +2838,21 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2827
2838
|
type: "button",
|
|
2828
2839
|
class: "wx-blocks__trail-step",
|
|
2829
2840
|
onClick: (H) => G(U.key)
|
|
2830
|
-
}, S(U.title), 9,
|
|
2841
|
+
}, S(U.title), 9, zs),
|
|
2831
2842
|
m(n(he), { name: "chevron-right" })
|
|
2832
2843
|
], 64))), 128))
|
|
2833
2844
|
])) : D("", !0),
|
|
2834
|
-
A("span",
|
|
2845
|
+
A("span", Ds, S(g.value?.title ?? v.value.node.type), 1)
|
|
2835
2846
|
]),
|
|
2836
|
-
A("span",
|
|
2837
|
-
h.value ? D("", !0) : (c(), C("code",
|
|
2847
|
+
A("span", Is, [
|
|
2848
|
+
h.value ? D("", !0) : (c(), C("code", Os, S(v.value.node.type), 1)),
|
|
2838
2849
|
m(n(Ie), {
|
|
2839
2850
|
size: "sm",
|
|
2840
2851
|
tone: "neutral",
|
|
2841
2852
|
icon: "chevron-up",
|
|
2842
2853
|
title: n(a)("field.previous"),
|
|
2843
2854
|
disabled: w.value.previous === null,
|
|
2844
|
-
onClick:
|
|
2855
|
+
onClick: N[2] || (N[2] = (U) => w.value.previous && G(w.value.previous))
|
|
2845
2856
|
}, null, 8, ["title", "disabled"]),
|
|
2846
2857
|
m(n(Ie), {
|
|
2847
2858
|
size: "sm",
|
|
@@ -2849,16 +2860,16 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2849
2860
|
icon: "chevron-down",
|
|
2850
2861
|
title: n(a)("field.next"),
|
|
2851
2862
|
disabled: w.value.next === null,
|
|
2852
|
-
onClick:
|
|
2863
|
+
onClick: N[3] || (N[3] = (U) => w.value.next && G(w.value.next))
|
|
2853
2864
|
}, null, 8, ["title", "disabled"]),
|
|
2854
|
-
!h.value && n(_) && n(_).url.value ? (c(),
|
|
2865
|
+
!h.value && n(_) && n(_).url.value ? (c(), z(n(ce), {
|
|
2855
2866
|
key: 1,
|
|
2856
2867
|
size: "sm",
|
|
2857
2868
|
variant: "outline",
|
|
2858
2869
|
icon: "eye",
|
|
2859
2870
|
class: "wx-blocks__preview-button",
|
|
2860
2871
|
"aria-label": n(a)("field.preview"),
|
|
2861
|
-
onClick:
|
|
2872
|
+
onClick: N[4] || (N[4] = (U) => R.value?.open())
|
|
2862
2873
|
}, null, 8, ["aria-label"])) : D("", !0),
|
|
2863
2874
|
m(n(ce), {
|
|
2864
2875
|
size: "sm",
|
|
@@ -2872,17 +2883,17 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2872
2883
|
})
|
|
2873
2884
|
])
|
|
2874
2885
|
]),
|
|
2875
|
-
A("div",
|
|
2876
|
-
g.value?.content ? (c(),
|
|
2886
|
+
A("div", Ps, [
|
|
2887
|
+
g.value?.content ? (c(), z(n(Rt), {
|
|
2877
2888
|
key: v.value.node.key,
|
|
2878
2889
|
"model-value": v.value.node.values,
|
|
2879
|
-
root:
|
|
2890
|
+
root: ze.value,
|
|
2880
2891
|
types: pe.value,
|
|
2881
2892
|
translate: ye.value,
|
|
2882
2893
|
can: Ee.value,
|
|
2883
2894
|
disabled: e.disabled,
|
|
2884
2895
|
"onUpdate:modelValue": se
|
|
2885
|
-
}, null, 8, ["model-value", "root", "types", "translate", "can", "disabled"])) : (c(),
|
|
2896
|
+
}, null, 8, ["model-value", "root", "types", "translate", "can", "disabled"])) : (c(), z(n(K), {
|
|
2886
2897
|
key: 1,
|
|
2887
2898
|
size: "sm",
|
|
2888
2899
|
tone: "danger"
|
|
@@ -2897,22 +2908,22 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2897
2908
|
]),
|
|
2898
2909
|
_: 1
|
|
2899
2910
|
}, 16)),
|
|
2900
|
-
n(_) && n(_).url.value ? (c(), C("div",
|
|
2901
|
-
m(
|
|
2911
|
+
n(_) && n(_).url.value ? (c(), C("div", Us, [
|
|
2912
|
+
m(vs, {
|
|
2902
2913
|
ref_key: "previewEl",
|
|
2903
2914
|
ref: R,
|
|
2904
2915
|
url: n(_).url.value,
|
|
2905
|
-
selected:
|
|
2916
|
+
selected: f.value,
|
|
2906
2917
|
reload: n(_).reload?.value ?? 0,
|
|
2907
2918
|
compact: h.value,
|
|
2908
2919
|
onSelect: fe,
|
|
2909
|
-
onEdit:
|
|
2920
|
+
onEdit: N[5] || (N[5] = (U) => V.value = !0)
|
|
2910
2921
|
}, null, 8, ["url", "selected", "reload", "compact"])
|
|
2911
2922
|
])) : D("", !0)
|
|
2912
2923
|
], 2)
|
|
2913
2924
|
], 2));
|
|
2914
2925
|
}
|
|
2915
|
-
}),
|
|
2926
|
+
}), js = /* @__PURE__ */ ie(Rs, [["__scopeId", "data-v-1c5bc971"]]), Fs = { class: "wx-block-card__body" }, Hs = { class: "wx-block-card__title" }, Ks = { class: "wx-block-card__chips" }, Ys = /* @__PURE__ */ ae({
|
|
2916
2927
|
__name: "BlockCard",
|
|
2917
2928
|
props: {
|
|
2918
2929
|
block: {}
|
|
@@ -2929,9 +2940,9 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2929
2940
|
thumbnail: e.block.thumbnail,
|
|
2930
2941
|
height: 120
|
|
2931
2942
|
}, null, 8, ["thumbnail"]),
|
|
2932
|
-
A("div",
|
|
2933
|
-
A("div",
|
|
2934
|
-
m(n(
|
|
2943
|
+
A("div", Fs, [
|
|
2944
|
+
A("div", Hs, S(e.block.title), 1),
|
|
2945
|
+
m(n(K), {
|
|
2935
2946
|
size: "sm",
|
|
2936
2947
|
tone: "muted"
|
|
2937
2948
|
}, {
|
|
@@ -2941,8 +2952,8 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2941
2952
|
]),
|
|
2942
2953
|
_: 1
|
|
2943
2954
|
}),
|
|
2944
|
-
A("div",
|
|
2945
|
-
e.block.draft ? (c(),
|
|
2955
|
+
A("div", Ks, [
|
|
2956
|
+
e.block.draft ? (c(), z(n(ue), {
|
|
2946
2957
|
key: 0,
|
|
2947
2958
|
type: "warning",
|
|
2948
2959
|
dot: ""
|
|
@@ -2952,7 +2963,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2952
2963
|
]),
|
|
2953
2964
|
_: 1
|
|
2954
2965
|
})) : D("", !0),
|
|
2955
|
-
e.block.published ? (c(),
|
|
2966
|
+
e.block.published ? (c(), z(n(ue), {
|
|
2956
2967
|
key: 1,
|
|
2957
2968
|
type: "success",
|
|
2958
2969
|
dot: ""
|
|
@@ -2961,7 +2972,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2961
2972
|
M(S(n(s)("page.live", { number: e.block.published.number })), 1)
|
|
2962
2973
|
]),
|
|
2963
2974
|
_: 1
|
|
2964
|
-
})) : (c(),
|
|
2975
|
+
})) : (c(), z(n(ue), {
|
|
2965
2976
|
key: 2,
|
|
2966
2977
|
type: "default"
|
|
2967
2978
|
}, {
|
|
@@ -2970,7 +2981,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2970
2981
|
]),
|
|
2971
2982
|
_: 1
|
|
2972
2983
|
})),
|
|
2973
|
-
e.block.is_enabled ? D("", !0) : (c(),
|
|
2984
|
+
e.block.is_enabled ? D("", !0) : (c(), z(n(ue), {
|
|
2974
2985
|
key: 3,
|
|
2975
2986
|
type: "default",
|
|
2976
2987
|
variant: "outline"
|
|
@@ -2984,13 +2995,13 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
2984
2995
|
])
|
|
2985
2996
|
]));
|
|
2986
2997
|
}
|
|
2987
|
-
}), qs = /* @__PURE__ */ ie(
|
|
2998
|
+
}), qs = /* @__PURE__ */ ie(Ys, [["__scopeId", "data-v-3d94f339"]]), Js = { class: "wx-block-create" }, Gs = /* @__PURE__ */ ae({
|
|
2988
2999
|
__name: "BlockCreateDialog",
|
|
2989
3000
|
setup(e) {
|
|
2990
3001
|
const { resolve: l, dismiss: t, open: s } = It(), a = je(), i = Me(a);
|
|
2991
|
-
|
|
2992
|
-
const o = de("webx-blocks"), r = Fe(),
|
|
2993
|
-
() =>
|
|
3002
|
+
Ke();
|
|
3003
|
+
const o = de("webx-blocks"), r = Fe(), d = L(() => a.state.manifest?.modules.find((_) => _.id === "blocks")?.meta?.groups ?? ["content"]), u = I({ title: "", slug: "", group: d.value[0] ?? "content" }), p = I({}), f = I(!1), v = I(!1), g = L(
|
|
3004
|
+
() => d.value.map((y) => ({ value: y, label: Ne(y, o) }))
|
|
2994
3005
|
);
|
|
2995
3006
|
function x(y) {
|
|
2996
3007
|
return y.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").replace(/^[^a-z]+/, "").slice(0, 64);
|
|
@@ -3002,22 +3013,22 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3002
3013
|
}
|
|
3003
3014
|
);
|
|
3004
3015
|
function T(y) {
|
|
3005
|
-
return
|
|
3016
|
+
return p.value[y]?.[0];
|
|
3006
3017
|
}
|
|
3007
3018
|
async function w() {
|
|
3008
|
-
|
|
3019
|
+
f.value = !0, p.value = {};
|
|
3009
3020
|
try {
|
|
3010
3021
|
l(await i.create(u.value));
|
|
3011
3022
|
} catch (y) {
|
|
3012
3023
|
const _ = y.body;
|
|
3013
|
-
_?.errors ?
|
|
3024
|
+
_?.errors ? p.value = _.errors : Z.danger(r(y, o("page.failed")));
|
|
3014
3025
|
} finally {
|
|
3015
|
-
|
|
3026
|
+
f.value = !1;
|
|
3016
3027
|
}
|
|
3017
3028
|
}
|
|
3018
|
-
return (y, _) => (c(),
|
|
3029
|
+
return (y, _) => (c(), z(n(Ot), {
|
|
3019
3030
|
open: n(s),
|
|
3020
|
-
"onUpdate:open": _[5] || (_[5] = (R) =>
|
|
3031
|
+
"onUpdate:open": _[5] || (_[5] = (R) => Vt(s) ? s.value = R : null),
|
|
3021
3032
|
title: n(o)("page.new"),
|
|
3022
3033
|
width: 520
|
|
3023
3034
|
}, {
|
|
@@ -3035,7 +3046,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3035
3046
|
}),
|
|
3036
3047
|
m(n(ce), {
|
|
3037
3048
|
type: "primary",
|
|
3038
|
-
loading:
|
|
3049
|
+
loading: f.value,
|
|
3039
3050
|
onClick: w
|
|
3040
3051
|
}, {
|
|
3041
3052
|
default: b(() => [
|
|
@@ -3048,7 +3059,7 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3048
3059
|
})
|
|
3049
3060
|
]),
|
|
3050
3061
|
default: b(() => [
|
|
3051
|
-
A("div",
|
|
3062
|
+
A("div", Js, [
|
|
3052
3063
|
m(n(oe), {
|
|
3053
3064
|
label: n(o)("page.title"),
|
|
3054
3065
|
error: T("title")
|
|
@@ -3096,121 +3107,121 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3096
3107
|
_: 1
|
|
3097
3108
|
}, 8, ["open", "title"]));
|
|
3098
3109
|
}
|
|
3099
|
-
}),
|
|
3110
|
+
}), Zs = /* @__PURE__ */ ie(Gs, [["__scopeId", "data-v-a4c0d44c"]]), Qs = {
|
|
3100
3111
|
key: 1,
|
|
3101
3112
|
class: "wx-blocks-page__toolbar"
|
|
3102
|
-
},
|
|
3113
|
+
}, Xs = { class: "wx-blocks-page__cards" }, eo = { class: "wx-blocks-page__ghost-body" }, to = {
|
|
3103
3114
|
key: 0,
|
|
3104
3115
|
class: "wx-blocks-page__group-title"
|
|
3105
|
-
},
|
|
3116
|
+
}, lo = { class: "wx-blocks-page__cards" }, no = /* @__PURE__ */ ae({
|
|
3106
3117
|
__name: "BlocksPage",
|
|
3107
3118
|
props: {
|
|
3108
3119
|
base: { default: "/blocks" }
|
|
3109
3120
|
},
|
|
3110
3121
|
setup(e) {
|
|
3111
3122
|
const l = e, t = je(), s = Me(t), a = Wt();
|
|
3112
|
-
|
|
3113
|
-
const i = de("webx-blocks"), o = Fe(), r = I([]),
|
|
3114
|
-
const h = t.state.manifest?.modules.find((
|
|
3123
|
+
Ke();
|
|
3124
|
+
const i = de("webx-blocks"), o = Fe(), r = I([]), d = I(!0), u = I(""), p = I(""), f = Ut(Zs), v = L(() => {
|
|
3125
|
+
const h = t.state.manifest?.modules.find((V) => V.id === "blocks")?.meta;
|
|
3115
3126
|
return {
|
|
3116
3127
|
groups: h?.groups ?? [],
|
|
3117
3128
|
editing: h?.editing ?? !0,
|
|
3118
3129
|
provides: h?.provides ?? []
|
|
3119
3130
|
};
|
|
3120
|
-
}), g =
|
|
3131
|
+
}), g = L(() => t.can("blocks.manage") && v.value.editing), x = L(
|
|
3121
3132
|
() => t.state.manifest?.modules.find((h) => h.id === "blocks")?.title ?? i("module.title")
|
|
3122
|
-
), T =
|
|
3123
|
-
const h = u.value.trim().toLowerCase(),
|
|
3124
|
-
return h === "" ?
|
|
3125
|
-
(
|
|
3133
|
+
), T = L(() => {
|
|
3134
|
+
const h = u.value.trim().toLowerCase(), V = p.value === "" ? r.value : r.value.filter((O) => O.group === p.value);
|
|
3135
|
+
return h === "" ? V : V.filter(
|
|
3136
|
+
(O) => O.title.toLowerCase().includes(h) || O.slug.includes(h) || (O.description ?? "").toLowerCase().includes(h)
|
|
3126
3137
|
);
|
|
3127
|
-
}), w =
|
|
3138
|
+
}), w = L(() => {
|
|
3128
3139
|
const h = [...v.value.groups];
|
|
3129
|
-
for (const
|
|
3130
|
-
h.includes(
|
|
3131
|
-
return h.filter((
|
|
3132
|
-
}), y =
|
|
3140
|
+
for (const V of r.value)
|
|
3141
|
+
h.includes(V.group) || h.push(V.group);
|
|
3142
|
+
return h.filter((V) => r.value.some((O) => O.group === V));
|
|
3143
|
+
}), y = L(
|
|
3133
3144
|
() => w.value.length < 2 ? [] : [
|
|
3134
3145
|
{ value: "", label: i("page.all-groups") },
|
|
3135
|
-
...w.value.map((h) => ({ value: h, label:
|
|
3146
|
+
...w.value.map((h) => ({ value: h, label: Ne(h, i) }))
|
|
3136
3147
|
]
|
|
3137
|
-
), _ =
|
|
3138
|
-
const h = w.value.map((
|
|
3139
|
-
id:
|
|
3140
|
-
label:
|
|
3141
|
-
blocks: T.value.filter((J) => J.group ===
|
|
3142
|
-
})).filter((
|
|
3143
|
-
return
|
|
3148
|
+
), _ = L(() => {
|
|
3149
|
+
const h = w.value.map((O) => ({
|
|
3150
|
+
id: O,
|
|
3151
|
+
label: Ne(O, i),
|
|
3152
|
+
blocks: T.value.filter((J) => J.group === O)
|
|
3153
|
+
})).filter((O) => O.blocks.length > 0);
|
|
3154
|
+
return p.value !== "" || T.value.length <= 5 || u.value.trim() !== "" || h.length < 2 ? [{ id: "", label: "", blocks: T.value }] : h;
|
|
3144
3155
|
});
|
|
3145
3156
|
async function R() {
|
|
3146
|
-
|
|
3157
|
+
d.value = !0;
|
|
3147
3158
|
try {
|
|
3148
3159
|
r.value = await s.list();
|
|
3149
3160
|
} catch (h) {
|
|
3150
3161
|
Z.danger(o(h));
|
|
3151
3162
|
} finally {
|
|
3152
|
-
|
|
3163
|
+
d.value = !1;
|
|
3153
3164
|
}
|
|
3154
3165
|
}
|
|
3155
|
-
function
|
|
3166
|
+
function Y(h) {
|
|
3156
3167
|
a.push(`${l.base}/${h.id}`);
|
|
3157
3168
|
}
|
|
3158
|
-
async function
|
|
3159
|
-
const h = await
|
|
3160
|
-
h &&
|
|
3169
|
+
async function q() {
|
|
3170
|
+
const h = await f({});
|
|
3171
|
+
h && Y(h);
|
|
3161
3172
|
}
|
|
3162
3173
|
Re(R);
|
|
3163
|
-
const X =
|
|
3174
|
+
const X = L(
|
|
3164
3175
|
() => g.value ? [{ key: "new", label: i("page.new"), icon: "plus", primary: !0, run: () => {
|
|
3165
|
-
|
|
3176
|
+
q();
|
|
3166
3177
|
} }] : []
|
|
3167
3178
|
);
|
|
3168
|
-
return (h,
|
|
3169
|
-
view:
|
|
3170
|
-
"onUpdate:view":
|
|
3179
|
+
return (h, V) => (c(), z(n(wl), {
|
|
3180
|
+
view: p.value,
|
|
3181
|
+
"onUpdate:view": V[1] || (V[1] = (O) => p.value = O),
|
|
3171
3182
|
class: "wx-blocks-page",
|
|
3172
3183
|
title: x.value,
|
|
3173
3184
|
views: y.value,
|
|
3174
3185
|
actions: X.value
|
|
3175
3186
|
}, {
|
|
3176
3187
|
default: b(() => [
|
|
3177
|
-
v.value.editing ? D("", !0) : (c(),
|
|
3188
|
+
v.value.editing ? D("", !0) : (c(), z(n(zt), {
|
|
3178
3189
|
key: 0,
|
|
3179
3190
|
type: "info",
|
|
3180
3191
|
variant: "soft",
|
|
3181
3192
|
description: n(i)("page.editing-off")
|
|
3182
3193
|
}, null, 8, ["description"])),
|
|
3183
|
-
|
|
3194
|
+
d.value || r.value.length > 0 ? (c(), C("div", Qs, [
|
|
3184
3195
|
m(n(Ue), {
|
|
3185
3196
|
modelValue: u.value,
|
|
3186
|
-
"onUpdate:modelValue":
|
|
3197
|
+
"onUpdate:modelValue": V[0] || (V[0] = (O) => u.value = O),
|
|
3187
3198
|
class: "wx-blocks-page__search",
|
|
3188
3199
|
placeholder: n(i)("page.search"),
|
|
3189
3200
|
clearable: ""
|
|
3190
3201
|
}, null, 8, ["modelValue", "placeholder"])
|
|
3191
3202
|
])) : D("", !0),
|
|
3192
|
-
|
|
3203
|
+
d.value ? (c(), z(n(Be), { key: 2 }, {
|
|
3193
3204
|
template: b(() => [
|
|
3194
|
-
A("div",
|
|
3195
|
-
(c(), C(F, null, le(4, (
|
|
3196
|
-
key:
|
|
3205
|
+
A("div", Xs, [
|
|
3206
|
+
(c(), C(F, null, le(4, (O) => A("div", {
|
|
3207
|
+
key: O,
|
|
3197
3208
|
class: "wx-blocks-page__ghost"
|
|
3198
3209
|
}, [
|
|
3199
|
-
m(n(
|
|
3210
|
+
m(n(qe), {
|
|
3200
3211
|
variant: "image",
|
|
3201
3212
|
height: 120,
|
|
3202
3213
|
class: "wx-blocks-page__ghost-thumb"
|
|
3203
3214
|
}),
|
|
3204
|
-
A("div",
|
|
3205
|
-
m(n(
|
|
3215
|
+
A("div", eo, [
|
|
3216
|
+
m(n(qe), {
|
|
3206
3217
|
variant: "title",
|
|
3207
3218
|
width: "45%"
|
|
3208
3219
|
}),
|
|
3209
|
-
m(n(
|
|
3220
|
+
m(n(qe), {
|
|
3210
3221
|
variant: "text",
|
|
3211
3222
|
width: "70%"
|
|
3212
3223
|
}),
|
|
3213
|
-
m(n(
|
|
3224
|
+
m(n(qe), {
|
|
3214
3225
|
variant: "button",
|
|
3215
3226
|
width: "64px",
|
|
3216
3227
|
height: "22px"
|
|
@@ -3220,21 +3231,21 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3220
3231
|
])
|
|
3221
3232
|
]),
|
|
3222
3233
|
_: 1
|
|
3223
|
-
})) : r.value.length === 0 ? (c(),
|
|
3234
|
+
})) : r.value.length === 0 ? (c(), z(n(Pt), {
|
|
3224
3235
|
key: 3,
|
|
3225
3236
|
icon: "grid",
|
|
3226
3237
|
title: n(i)("page.empty"),
|
|
3227
3238
|
description: n(i)("page.empty-help")
|
|
3228
|
-
}, null, 8, ["title", "description"])) : (c(!0), C(F, { key: 4 }, le(_.value, (
|
|
3229
|
-
key:
|
|
3239
|
+
}, null, 8, ["title", "description"])) : (c(!0), C(F, { key: 4 }, le(_.value, (O) => (c(), C("section", {
|
|
3240
|
+
key: O.id,
|
|
3230
3241
|
class: "wx-blocks-page__group"
|
|
3231
3242
|
}, [
|
|
3232
|
-
|
|
3233
|
-
A("div",
|
|
3234
|
-
(c(!0), C(F, null, le(
|
|
3243
|
+
O.label ? (c(), C("div", to, S(O.label), 1)) : D("", !0),
|
|
3244
|
+
A("div", lo, [
|
|
3245
|
+
(c(!0), C(F, null, le(O.blocks, (J) => (c(), z(qs, {
|
|
3235
3246
|
key: J.id,
|
|
3236
3247
|
block: J,
|
|
3237
|
-
onOpen:
|
|
3248
|
+
onOpen: Y
|
|
3238
3249
|
}, null, 8, ["block"]))), 128))
|
|
3239
3250
|
])
|
|
3240
3251
|
]))), 128))
|
|
@@ -3242,18 +3253,18 @@ const Vt = /* @__PURE__ */ Symbol("wx-blocks-root"), Ss = {
|
|
|
3242
3253
|
_: 1
|
|
3243
3254
|
}, 8, ["view", "title", "views", "actions"]));
|
|
3244
3255
|
}
|
|
3245
|
-
}),
|
|
3246
|
-
function
|
|
3256
|
+
}), so = /* @__PURE__ */ ie(no, [["__scopeId", "data-v-553b680f"]]);
|
|
3257
|
+
function ho(e = {}) {
|
|
3247
3258
|
const l = e.path ?? "/blocks";
|
|
3248
3259
|
return {
|
|
3249
3260
|
id: "blocks",
|
|
3250
3261
|
path: l,
|
|
3251
3262
|
routes: [
|
|
3252
|
-
{ path: l, name: "webx.blocks", component:
|
|
3263
|
+
{ path: l, name: "webx.blocks", component: so, props: { base: l } },
|
|
3253
3264
|
{
|
|
3254
3265
|
path: `${l}/:id(\\d+)`,
|
|
3255
3266
|
name: "webx.blocks.edit",
|
|
3256
|
-
component:
|
|
3267
|
+
component: Qn,
|
|
3257
3268
|
props: { base: l }
|
|
3258
3269
|
}
|
|
3259
3270
|
],
|
|
@@ -3262,7 +3273,7 @@ function mo(e = {}) {
|
|
|
3262
3273
|
// draws its children through the renderer; it needs the node for `props.allow` alone.
|
|
3263
3274
|
types: {
|
|
3264
3275
|
"wx-blocks": {
|
|
3265
|
-
component:
|
|
3276
|
+
component: js,
|
|
3266
3277
|
kind: "field",
|
|
3267
3278
|
nested: !0,
|
|
3268
3279
|
wide: !0,
|
|
@@ -3272,13 +3283,13 @@ function mo(e = {}) {
|
|
|
3272
3283
|
};
|
|
3273
3284
|
}
|
|
3274
3285
|
export {
|
|
3275
|
-
|
|
3276
|
-
|
|
3286
|
+
Qn as WxBlockEditorPage,
|
|
3287
|
+
ds as WxBlockPicker,
|
|
3277
3288
|
Xl as WxBlockStage,
|
|
3278
3289
|
sl as WxBlockThumb,
|
|
3279
|
-
|
|
3280
|
-
|
|
3281
|
-
|
|
3290
|
+
js as WxBlocks,
|
|
3291
|
+
so as WxBlocksPage,
|
|
3292
|
+
ho as blocks,
|
|
3282
3293
|
un as blocksMessages,
|
|
3283
3294
|
vt as blocksPreviewKey,
|
|
3284
3295
|
Gt as cloneNode,
|
|
@@ -3288,21 +3299,21 @@ export {
|
|
|
3288
3299
|
mt as formSchema,
|
|
3289
3300
|
ot as highlightBlock,
|
|
3290
3301
|
$t as insertNode,
|
|
3291
|
-
|
|
3302
|
+
Yt as isNode,
|
|
3292
3303
|
tt as isNodeList,
|
|
3293
|
-
|
|
3304
|
+
Wn as lintBlock,
|
|
3294
3305
|
re as locate,
|
|
3295
3306
|
en as makeNode,
|
|
3296
3307
|
ut as newKey,
|
|
3297
|
-
|
|
3308
|
+
mo as provideBlocksPreview,
|
|
3298
3309
|
on as removeNode,
|
|
3299
3310
|
Ft as replaceBlock,
|
|
3300
3311
|
rn as replaceList,
|
|
3301
3312
|
Ht as stageDocument,
|
|
3302
|
-
|
|
3303
|
-
|
|
3313
|
+
fo as typesIn,
|
|
3314
|
+
Mn as undeclared,
|
|
3304
3315
|
an as updateValues,
|
|
3305
|
-
|
|
3316
|
+
vo as useBlocksPreview,
|
|
3306
3317
|
He as walk
|
|
3307
3318
|
};
|
|
3308
3319
|
//# sourceMappingURL=index.js.map
|