@templatical/editor 0.16.1 → 0.16.3
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/{AiFeatureMenu-Rb8G3EBo.js → AiFeatureMenu-CcGRd1xE.js} +1 -1
- package/dist/{CloudEditor-D88gLBXp.js → CloudEditor-CUIWUMp5.js} +6 -6
- package/dist/{CollaboratorBar-dxCD8jSi.js → CollaboratorBar-DmxqeBYZ.js} +1 -1
- package/dist/ColorPicker-Gs4BMVog.js +474 -0
- package/dist/{CountdownToolbar-8XVTOuGX.js → CountdownToolbar-92w1YySJ.js} +2 -2
- package/dist/{ModuleBrowserModal-l4_RCC8m.js → ModuleBrowserModal-DsehjLvh.js} +4 -4
- package/dist/{ModulePreviewCanvas-BqYAr4fz.js → ModulePreviewCanvas-BBfuS8VW.js} +1 -1
- package/dist/{NumberWithSuffix-Di-cDy_m.js → NumberWithSuffix-BxSRfI8b.js} +1 -1
- package/dist/{ParagraphEditor-DIQ1jmSP.js → ParagraphEditor-vgvQxicC.js} +77 -87
- package/dist/{RichTextEditorContent-DkTJ6KK8.js → RichTextEditorContent-Dza2oPvh.js} +1 -1
- package/dist/{SaveModuleDialog-DPo3Raon.js → SaveModuleDialog-DNWGCHlS.js} +2 -2
- package/dist/{SnapshotHistory-m7brKV7C.js → SnapshotHistory-BLmnNLg1.js} +2 -2
- package/dist/{TestEmailModal-BE9sFEIl.js → TestEmailModal-D6v1hgY2.js} +2 -2
- package/dist/{TitleEditor-BATN-k-Q.js → TitleEditor-DPdzOQpq.js} +2 -2
- package/dist/{TplModal-DHBcZ1gq.js → TplModal-DObT0uxf.js} +1 -1
- package/dist/{blockTypeIcons-wRchKKx0.js → blockTypeIcons-B9f5fH_5.js} +1 -1
- package/dist/bundle-stats.json +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-W7VQFAwq.js → AiFeatureMenu-CyUCHd9I.js} +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-W7VQFAwq.js.map → AiFeatureMenu-CyUCHd9I.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-ww2vNIfJ.js → BlockIssueBadge-BAa_dI-c.js} +5 -5
- package/dist/cdn/chunks/{BlockIssueBadge-ww2vNIfJ.js.map → BlockIssueBadge-BAa_dI-c.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-BVSJ1kvB.js → CloudEditor-ClfgLU48.js} +159 -159
- package/dist/cdn/chunks/{CloudEditor-BVSJ1kvB.js.map → CloudEditor-ClfgLU48.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-BFrAua9a.js → CollaboratorBar-DCc5SL0P.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-BFrAua9a.js.map → CollaboratorBar-DCc5SL0P.js.map} +1 -1
- package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js +471 -0
- package/dist/cdn/chunks/ColorPicker-Pi-1fR8c.js.map +1 -0
- package/dist/cdn/chunks/{CountdownBlock-MC-mhtQD.js → CountdownBlock-Bj7aoBUU.js} +4 -4
- package/dist/cdn/chunks/{CountdownBlock-MC-mhtQD.js.map → CountdownBlock-Bj7aoBUU.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-dXyr7tz-.js → CountdownToolbar-B1oniVq1.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-dXyr7tz-.js.map → CountdownToolbar-B1oniVq1.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-CTxSgViL.js → IssuesPanel-BXLVRo-c.js} +7 -7
- package/dist/cdn/chunks/{IssuesPanel-CTxSgViL.js.map → IssuesPanel-BXLVRo-c.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-B5sCsrud.js → ModuleBrowserModal-C7BkJvzf.js} +6 -6
- package/dist/cdn/chunks/{ModuleBrowserModal-B5sCsrud.js.map → ModuleBrowserModal-C7BkJvzf.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-DGTGo8kg.js → ModulePreviewCanvas-BJn-ZHlC.js} +10 -10
- package/dist/cdn/chunks/{ModulePreviewCanvas-DGTGo8kg.js.map → ModulePreviewCanvas-BJn-ZHlC.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-tAHfui6k.js → NumberWithSuffix-CkOxH3F7.js} +2 -2
- package/dist/cdn/chunks/{NumberWithSuffix-tAHfui6k.js.map → NumberWithSuffix-CkOxH3F7.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-CB5FGRs3.js → ParagraphEditor-4cMKKC-V.js} +181 -190
- package/dist/cdn/chunks/ParagraphEditor-4cMKKC-V.js.map +1 -0
- package/dist/cdn/chunks/{RichTextEditorContent-CPelbtck.js → RichTextEditorContent-7RZe4tbj.js} +6 -6
- package/dist/cdn/chunks/{RichTextEditorContent-CPelbtck.js.map → RichTextEditorContent-7RZe4tbj.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-7f9uUUEC.js → SaveModuleDialog-mr9A4j6G.js} +4 -4
- package/dist/cdn/chunks/{SaveModuleDialog-7f9uUUEC.js.map → SaveModuleDialog-mr9A4j6G.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-C0mYpgs4.js → TitleEditor-Cqw2jvuc.js} +8 -8
- package/dist/cdn/chunks/{TitleEditor-C0mYpgs4.js.map → TitleEditor-Cqw2jvuc.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-BtxaUtlx.js → blockTypeIcons-B_xRBxSU.js} +8 -8
- package/dist/cdn/chunks/{blockTypeIcons-BtxaUtlx.js.map → blockTypeIcons-B_xRBxSU.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-BJ7vaBol.js → extensions-Btyx_IMf.js} +19 -19
- package/dist/cdn/chunks/{extensions-BJ7vaBol.js.map → extensions-Btyx_IMf.js.map} +1 -1
- package/dist/cdn/chunks/{features-CgbSSCgv.js → features-Dwb5aTLg.js} +18 -16
- package/dist/cdn/chunks/features-Dwb5aTLg.js.map +1 -0
- package/dist/cdn/chunks/{icons-Dlx5MT1V.js → icons-Dhqh5lYQ.js} +2 -2
- package/dist/cdn/chunks/{icons-Dlx5MT1V.js.map → icons-Dhqh5lYQ.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-BMlykZGq.js → media-library-DRodsf2D.js} +101 -101
- package/dist/cdn/chunks/{media-library-BMlykZGq.js.map → media-library-DRodsf2D.js.map} +1 -1
- package/dist/cdn/chunks/{quality-DsVgXk_j.js → quality-A_V2Iqu_.js} +435 -435
- package/dist/cdn/chunks/{quality-DsVgXk_j.js.map → quality-A_V2Iqu_.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-DPvEtVGO.js → renderer-BM_-zceB.js} +12 -12
- package/dist/cdn/chunks/renderer-BM_-zceB.js.map +1 -0
- package/dist/cdn/chunks/{src-CAdirukY.js → src-DSomxPI-.js} +4 -4
- package/dist/cdn/chunks/{src-CAdirukY.js.map → src-DSomxPI-.js.map} +1 -1
- package/dist/cdn/chunks/{styles-D7u4vCpH.js → styles--UXn88wH.js} +829 -829
- package/dist/cdn/chunks/{styles-D7u4vCpH.js.map → styles--UXn88wH.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +30 -30
- package/dist/{dist-CFOQvhSC.js → color-DhoxCSMv.js} +9 -1
- package/dist/style.css +1 -1
- package/dist/{styles-B-yhoJnH.js → styles-CPt6RYEc.js} +6 -6
- package/dist/templatical-editor.js +4 -4
- package/dist/{useEditorCore-CV1ct_17.js → useEditorCore-CSfeEwCj.js} +196 -202
- package/package.json +8 -8
- package/dist/ColorPicker-CAgMCX3A.js +0 -442
- package/dist/cdn/chunks/ColorPicker-DmxMDn-t.js +0 -439
- package/dist/cdn/chunks/ColorPicker-DmxMDn-t.js.map +0 -1
- package/dist/cdn/chunks/ParagraphEditor-CB5FGRs3.js.map +0 -1
- package/dist/cdn/chunks/features-CgbSSCgv.js.map +0 -1
- package/dist/cdn/chunks/renderer-DPvEtVGO.js.map +0 -1
|
@@ -2,25 +2,25 @@ import { $ as e, A as t, B as n, D as r, Dt as i, E as a, Et as o, H as s, I as
|
|
|
2
2
|
import { c as P, o as se, s as ce } from "./runtime-dom.esm-bundler-GdMI8WqG.js";
|
|
3
3
|
import { A as le, C as ue, D as de, M as fe, N as pe, O as me, P as he, S as ge, T as _e, _ as ve, b as ye, c as be, d as xe, f as Se, g as Ce, h as we, j as Te, k as Ee, l as De, m as Oe, n as ke, o as Ae, p as je, r as Me, s as Ne, t as Pe, u as Fe, v as Ie, w as Le, x as Re, y as ze } from "./dist-DoRIUsfz.js";
|
|
4
4
|
import { f as Be, g as Ve, h as He, m as Ue } from "./dist-DYv_Pttj.js";
|
|
5
|
-
import { a as We, i as Ge,
|
|
6
|
-
import { A as
|
|
7
|
-
import { t as
|
|
5
|
+
import { a as We, i as Ge, o as Ke, r as qe, t as Je } from "./color-DhoxCSMv.js";
|
|
6
|
+
import { A as Ye, C as Xe, D as Ze, E as Qe, F as $e, I as et, L as tt, N as nt, O as rt, P as it, S as at, T as ot, _ as st, a as ct, b as lt, d as ut, f as dt, g as ft, h as pt, i as mt, k as ht, m as gt, n as _t, o as vt, p as yt, s as bt, u as xt, v as St, w as Ct, x as wt, y as Tt } from "./keys-BbDgCU6K.js";
|
|
7
|
+
import { t as Et } from "./useI18n-eR1yVW0v.js";
|
|
8
8
|
import { t as F } from "./createLucideIcon-Bh9xOmlW.js";
|
|
9
|
-
import { t as
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
9
|
+
import { t as Dt } from "./loader-circle-DFU0HPAa.js";
|
|
10
|
+
import { t as Ot } from "./message-circle-BEBsCHnk.js";
|
|
11
|
+
import { t as kt } from "./trash-2-B6M659Ey.js";
|
|
12
|
+
import { t as At } from "./triangle-alert-D1lzx6ds.js";
|
|
13
|
+
import { t as jt } from "./upload-3A1oZtOR.js";
|
|
14
|
+
import { t as Mt } from "./LoadingTrack-KIcREPlS.js";
|
|
15
|
+
import { t as Nt } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
16
16
|
import "./useCloudI18n-WbfVWq5k.js";
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
17
|
+
import { t as Pt } from "./useMergeTag-C3GfSktg.js";
|
|
18
|
+
import { t as Ft } from "./useAliveFlag-C43EhZFY.js";
|
|
19
19
|
//#region ../core/dist/index.js
|
|
20
|
-
function
|
|
20
|
+
function It(e) {
|
|
21
21
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
22
22
|
}
|
|
23
|
-
function
|
|
23
|
+
function Lt(e) {
|
|
24
24
|
let t = ee({
|
|
25
25
|
content: e.content ?? xe(e.defaultFontFamily, e.templateDefaults),
|
|
26
26
|
selectedBlockId: null,
|
|
@@ -111,7 +111,7 @@ function It(e) {
|
|
|
111
111
|
if (c(n)) return;
|
|
112
112
|
let o = a(t.content.blocks, n);
|
|
113
113
|
if (o && o.type === "section") {
|
|
114
|
-
if (r < 0 || r >=
|
|
114
|
+
if (r < 0 || r >= It(o.columns)) return;
|
|
115
115
|
o.children[r] = o.children[r] || [];
|
|
116
116
|
let t = o.children[r];
|
|
117
117
|
i !== void 0 && i < t.length ? t.splice(i, 0, e) : t.push(e);
|
|
@@ -144,7 +144,7 @@ function It(e) {
|
|
|
144
144
|
let u;
|
|
145
145
|
if (r) {
|
|
146
146
|
let e = a(t.content.blocks, r);
|
|
147
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
147
|
+
if (!e || e.type !== "section" || i < 0 || i >= It(e.columns)) return;
|
|
148
148
|
e.children[i] = e.children[i] || [], u = e.children[i];
|
|
149
149
|
} else u = t.content.blocks;
|
|
150
150
|
let [d] = o.blocks.splice(l, 1);
|
|
@@ -173,9 +173,9 @@ function It(e) {
|
|
|
173
173
|
findBlockLocation: u
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
|
-
var
|
|
177
|
-
function
|
|
178
|
-
let { content: t, setContent: r, isRemoteOperation: i, maxSize: a =
|
|
176
|
+
var Rt = 50, zt = 300, Bt = 1500;
|
|
177
|
+
function Vt(e) {
|
|
178
|
+
let { content: t, setContent: r, isRemoteOperation: i, maxSize: a = Rt } = e, o = _([]), s = _([]), c = _(!1), l = null, u = null, d = n(() => o.value.length > 0), f = n(() => s.value.length > 0);
|
|
179
179
|
function p() {
|
|
180
180
|
return he(t.value);
|
|
181
181
|
}
|
|
@@ -193,21 +193,21 @@ function Bt(e) {
|
|
|
193
193
|
if (u && u.blockId === e) {
|
|
194
194
|
clearTimeout(u.timeoutId), u.timeoutId = setTimeout(() => {
|
|
195
195
|
u = null;
|
|
196
|
-
},
|
|
196
|
+
}, zt);
|
|
197
197
|
return;
|
|
198
198
|
}
|
|
199
199
|
h(), m(p()), s.value = [], u = {
|
|
200
200
|
blockId: e,
|
|
201
201
|
timeoutId: setTimeout(() => {
|
|
202
202
|
u = null;
|
|
203
|
-
},
|
|
203
|
+
}, zt)
|
|
204
204
|
};
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
function y() {
|
|
208
208
|
c.value = !0, l && clearTimeout(l), l = setTimeout(() => {
|
|
209
209
|
c.value = !1, l = null;
|
|
210
|
-
},
|
|
210
|
+
}, Bt);
|
|
211
211
|
}
|
|
212
212
|
function b() {
|
|
213
213
|
if (o.value.length === 0) return;
|
|
@@ -239,7 +239,7 @@ function Bt(e) {
|
|
|
239
239
|
destroy: C
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
|
-
function
|
|
242
|
+
function Ht(e) {
|
|
243
243
|
e.type === "table" ? e.rows = e.rows.map((e) => ({
|
|
244
244
|
...e,
|
|
245
245
|
id: ue(),
|
|
@@ -255,7 +255,7 @@ function Vt(e) {
|
|
|
255
255
|
id: ue()
|
|
256
256
|
})));
|
|
257
257
|
}
|
|
258
|
-
function
|
|
258
|
+
function Ut(e) {
|
|
259
259
|
let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
|
|
260
260
|
function o(n, r, a) {
|
|
261
261
|
let o = Ne(n, e.blockDefaults);
|
|
@@ -263,9 +263,9 @@ function Ht(e) {
|
|
|
263
263
|
}
|
|
264
264
|
function s(e, n, r) {
|
|
265
265
|
let o = JSON.parse(JSON.stringify(e));
|
|
266
|
-
if (o.id = ue(),
|
|
266
|
+
if (o.id = ue(), Ht(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
|
|
267
267
|
let t = JSON.parse(JSON.stringify(e));
|
|
268
|
-
return t.id = ue(),
|
|
268
|
+
return t.id = ue(), Ht(t), t;
|
|
269
269
|
}))), n !== void 0 || r !== void 0) t(o, n, r);
|
|
270
270
|
else {
|
|
271
271
|
let i = a?.(e.id) ?? null;
|
|
@@ -286,7 +286,7 @@ function Ht(e) {
|
|
|
286
286
|
updateBlockProperty: l
|
|
287
287
|
};
|
|
288
288
|
}
|
|
289
|
-
function
|
|
289
|
+
function Wt(e) {
|
|
290
290
|
let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
|
|
291
291
|
function c() {
|
|
292
292
|
return typeof a == "function" ? a() : a;
|
|
@@ -322,7 +322,7 @@ function Ut(e) {
|
|
|
322
322
|
destroy: h
|
|
323
323
|
};
|
|
324
324
|
}
|
|
325
|
-
function
|
|
325
|
+
function Gt(e) {
|
|
326
326
|
let t = ee(/* @__PURE__ */ new Set()), r = n(() => t.size > 0);
|
|
327
327
|
function i(e) {
|
|
328
328
|
return t.has(e);
|
|
@@ -340,7 +340,7 @@ function Wt(e) {
|
|
|
340
340
|
hasHiddenBlocks: r
|
|
341
341
|
};
|
|
342
342
|
}
|
|
343
|
-
function
|
|
343
|
+
function Kt(e) {
|
|
344
344
|
let t = _(!1), r = _(!1), i = n(() => !!e.definition.value?.dataSource), a = n(() => i.value && !e.block.value.dataSourceFetched);
|
|
345
345
|
async function o() {
|
|
346
346
|
let n = e.definition.value;
|
|
@@ -370,7 +370,7 @@ function Gt(e) {
|
|
|
370
370
|
needsFetch: a
|
|
371
371
|
};
|
|
372
372
|
}
|
|
373
|
-
function
|
|
373
|
+
function qt(e, t) {
|
|
374
374
|
let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
|
|
375
375
|
e.addBlock = (r, i, a, o) => {
|
|
376
376
|
i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
|
|
@@ -386,26 +386,26 @@ function Kt(e, t) {
|
|
|
386
386
|
}
|
|
387
387
|
//#endregion
|
|
388
388
|
//#region src/utils/activeEditorTracker.ts
|
|
389
|
-
var
|
|
390
|
-
function
|
|
391
|
-
let e = ++
|
|
392
|
-
return
|
|
389
|
+
var Jt = /* @__PURE__ */ new Set(), Yt = 0, Xt = 0;
|
|
390
|
+
function Zt() {
|
|
391
|
+
let e = ++Xt;
|
|
392
|
+
return Jt.add(e), Yt === 0 && (Yt = e), {
|
|
393
393
|
id: e,
|
|
394
|
-
isActive: () =>
|
|
394
|
+
isActive: () => Jt.size <= 1 || Yt === e,
|
|
395
395
|
claim: () => {
|
|
396
|
-
|
|
396
|
+
Yt = e;
|
|
397
397
|
},
|
|
398
398
|
dispose: () => {
|
|
399
|
-
if (
|
|
400
|
-
let e = Array.from(
|
|
401
|
-
|
|
399
|
+
if (Jt.delete(e), Yt === e) {
|
|
400
|
+
let e = Array.from(Jt);
|
|
401
|
+
Yt = e[e.length - 1] ?? 0;
|
|
402
402
|
}
|
|
403
403
|
}
|
|
404
404
|
};
|
|
405
405
|
}
|
|
406
406
|
//#endregion
|
|
407
407
|
//#region src/composables/useMergeTagPicker.ts
|
|
408
|
-
function
|
|
408
|
+
function Qt() {
|
|
409
409
|
let e = _(!1), t = _([]), n = null;
|
|
410
410
|
function r(r) {
|
|
411
411
|
if (n) {
|
|
@@ -435,7 +435,7 @@ function Zt() {
|
|
|
435
435
|
}
|
|
436
436
|
//#endregion
|
|
437
437
|
//#region src/composables/useLogicTagPicker.ts
|
|
438
|
-
function
|
|
438
|
+
function $t() {
|
|
439
439
|
let e = _(!1), t = _([]), n = _([]), r = null;
|
|
440
440
|
function i(i, a) {
|
|
441
441
|
if (r) {
|
|
@@ -466,11 +466,11 @@ function Qt() {
|
|
|
466
466
|
}
|
|
467
467
|
//#endregion
|
|
468
468
|
//#region src/composables/useTemplateLint.ts
|
|
469
|
-
function
|
|
469
|
+
function en(e) {
|
|
470
470
|
return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
471
471
|
}
|
|
472
|
-
function
|
|
473
|
-
let t = _([]), n = _(!1), r = _(!1), i = v(null), a =
|
|
472
|
+
function tn(e) {
|
|
473
|
+
let t = _([]), n = _(!1), r = _(!1), i = v(null), a = en(e.options), o = null, s = !1;
|
|
474
474
|
a || l();
|
|
475
475
|
async function l() {
|
|
476
476
|
try {
|
|
@@ -511,12 +511,12 @@ function en(e) {
|
|
|
511
511
|
}
|
|
512
512
|
//#endregion
|
|
513
513
|
//#region src/utils/blockTypeLabels.ts
|
|
514
|
-
function
|
|
514
|
+
function nn(e, t) {
|
|
515
515
|
return t.blocks[e] ?? e;
|
|
516
516
|
}
|
|
517
517
|
//#endregion
|
|
518
518
|
//#region src/composables/useKeyboardReorder.ts
|
|
519
|
-
function
|
|
519
|
+
function rn(e, t) {
|
|
520
520
|
let n = _(null), r = _(""), i = null;
|
|
521
521
|
function a(t) {
|
|
522
522
|
let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
|
|
@@ -543,7 +543,7 @@ function nn(e, t) {
|
|
|
543
543
|
let r = a(n);
|
|
544
544
|
if (!r) return "";
|
|
545
545
|
let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
|
|
546
|
-
return i ?
|
|
546
|
+
return i ? nn(i.type, t.t) : "";
|
|
547
547
|
}
|
|
548
548
|
function s(t, n) {
|
|
549
549
|
return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
|
|
@@ -612,13 +612,13 @@ function nn(e, t) {
|
|
|
612
612
|
}
|
|
613
613
|
//#endregion
|
|
614
614
|
//#region src/composables/useUiTheme.ts
|
|
615
|
-
function
|
|
616
|
-
let t =
|
|
615
|
+
function an(e) {
|
|
616
|
+
let t = Ke("(prefers-color-scheme: dark)");
|
|
617
617
|
return { resolvedTheme: j(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
|
|
618
618
|
}
|
|
619
619
|
//#endregion
|
|
620
620
|
//#region src/composables/useThemeStyles.ts
|
|
621
|
-
var
|
|
621
|
+
var on = {
|
|
622
622
|
bg: "--tpl-bg",
|
|
623
623
|
bgElevated: "--tpl-bg-elevated",
|
|
624
624
|
bgHover: "--tpl-bg-hover",
|
|
@@ -642,10 +642,10 @@ var an = {
|
|
|
642
642
|
dangerLight: "--tpl-danger-light",
|
|
643
643
|
canvasBg: "--tpl-canvas-bg"
|
|
644
644
|
};
|
|
645
|
-
function
|
|
645
|
+
function sn({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
646
646
|
return { themeStyles: j(() => {
|
|
647
647
|
let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
|
|
648
|
-
if (a) for (let [e, t] of Object.entries(
|
|
648
|
+
if (a) for (let [e, t] of Object.entries(on)) {
|
|
649
649
|
let n = a[e];
|
|
650
650
|
n && (r[t] = n);
|
|
651
651
|
}
|
|
@@ -654,27 +654,27 @@ function on({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
654
654
|
}
|
|
655
655
|
//#endregion
|
|
656
656
|
//#region src/utils/logger.ts
|
|
657
|
-
var
|
|
658
|
-
function
|
|
657
|
+
var cn = "[Templatical]";
|
|
658
|
+
function ln() {
|
|
659
659
|
return typeof process < "u" && process.env.NODE_ENV === "production";
|
|
660
660
|
}
|
|
661
|
-
var
|
|
661
|
+
var un = {
|
|
662
662
|
warn(...e) {
|
|
663
|
-
console.warn(
|
|
663
|
+
console.warn(cn, ...e);
|
|
664
664
|
},
|
|
665
665
|
error(...e) {
|
|
666
|
-
console.error(
|
|
666
|
+
console.error(cn, ...e);
|
|
667
667
|
},
|
|
668
668
|
debug(...e) {
|
|
669
|
-
|
|
669
|
+
ln() || console.debug(cn, ...e);
|
|
670
670
|
},
|
|
671
671
|
info(...e) {
|
|
672
|
-
|
|
672
|
+
ln() || console.info(cn, ...e);
|
|
673
673
|
}
|
|
674
674
|
};
|
|
675
675
|
//#endregion
|
|
676
676
|
//#region src/composables/useBlockRegistry.ts
|
|
677
|
-
function
|
|
677
|
+
function dn() {
|
|
678
678
|
let e = v(/* @__PURE__ */ new Map());
|
|
679
679
|
function t(t, n) {
|
|
680
680
|
e.value.set(t, n), ne(e);
|
|
@@ -714,7 +714,7 @@ function un() {
|
|
|
714
714
|
strictFilters: !1
|
|
715
715
|
}).parseAndRender(t.template, e.fieldValues);
|
|
716
716
|
} catch (t) {
|
|
717
|
-
return
|
|
717
|
+
return un.error(`Failed to render custom block "${e.customType}":`, t), o(`Render error: ${e.customType}`);
|
|
718
718
|
}
|
|
719
719
|
}
|
|
720
720
|
function c(t) {
|
|
@@ -732,9 +732,9 @@ function un() {
|
|
|
732
732
|
}
|
|
733
733
|
//#endregion
|
|
734
734
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
735
|
-
function
|
|
735
|
+
function fn(e, t) {
|
|
736
736
|
return j(() => {
|
|
737
|
-
let n =
|
|
737
|
+
let n = pn(e.value.blocks);
|
|
738
738
|
if (n.size === 0) return [];
|
|
739
739
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
740
740
|
for (let e of n) {
|
|
@@ -746,11 +746,11 @@ function dn(e, t) {
|
|
|
746
746
|
return i;
|
|
747
747
|
});
|
|
748
748
|
}
|
|
749
|
-
function
|
|
749
|
+
function pn(e) {
|
|
750
750
|
let t = /* @__PURE__ */ new Set();
|
|
751
|
-
return
|
|
751
|
+
return mn(e, t), t;
|
|
752
752
|
}
|
|
753
|
-
function
|
|
753
|
+
function mn(e, t) {
|
|
754
754
|
for (let n of e) {
|
|
755
755
|
if (me(n)) {
|
|
756
756
|
t.add(n.customType);
|
|
@@ -759,13 +759,13 @@ function pn(e, t) {
|
|
|
759
759
|
if (n.type === "section") {
|
|
760
760
|
let e = n.children;
|
|
761
761
|
if (!e) continue;
|
|
762
|
-
for (let n of e)
|
|
762
|
+
for (let n of e) mn(n, t);
|
|
763
763
|
}
|
|
764
764
|
}
|
|
765
765
|
}
|
|
766
766
|
//#endregion
|
|
767
767
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
768
|
-
var
|
|
768
|
+
var hn = [
|
|
769
769
|
{
|
|
770
770
|
type: "section",
|
|
771
771
|
createBlock: ve
|
|
@@ -819,8 +819,8 @@ var mn = [
|
|
|
819
819
|
createBlock: De
|
|
820
820
|
}
|
|
821
821
|
];
|
|
822
|
-
function
|
|
823
|
-
for (let n of
|
|
822
|
+
function gn(e, t) {
|
|
823
|
+
for (let n of hn) {
|
|
824
824
|
let r = t[n.type];
|
|
825
825
|
r && e.registerBuiltIn(n.type, {
|
|
826
826
|
component: r,
|
|
@@ -830,7 +830,7 @@ function hn(e, t) {
|
|
|
830
830
|
}
|
|
831
831
|
//#endregion
|
|
832
832
|
//#region src/utils/keyboardShortcuts.ts
|
|
833
|
-
function
|
|
833
|
+
function _n(e) {
|
|
834
834
|
for (let t of e.composedPath()) {
|
|
835
835
|
if (!(t instanceof HTMLElement)) continue;
|
|
836
836
|
if (t.isContentEditable) return !0;
|
|
@@ -839,14 +839,14 @@ function gn(e) {
|
|
|
839
839
|
}
|
|
840
840
|
return !1;
|
|
841
841
|
}
|
|
842
|
-
function
|
|
842
|
+
function vn(e, t) {
|
|
843
843
|
let n = e.metaKey || e.ctrlKey;
|
|
844
844
|
if (n && e.key.toLowerCase() === "s") {
|
|
845
845
|
e.preventDefault(), t.onSave?.();
|
|
846
846
|
return;
|
|
847
847
|
}
|
|
848
848
|
if (n && e.key.toLowerCase() === "z") {
|
|
849
|
-
if (
|
|
849
|
+
if (_n(e)) return;
|
|
850
850
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
851
851
|
return;
|
|
852
852
|
}
|
|
@@ -854,11 +854,11 @@ function _n(e, t) {
|
|
|
854
854
|
t.selectBlock(null);
|
|
855
855
|
return;
|
|
856
856
|
}
|
|
857
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
857
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !_n(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
858
858
|
}
|
|
859
859
|
//#endregion
|
|
860
860
|
//#region src/utils/mergeTagLabelSegments.ts
|
|
861
|
-
function
|
|
861
|
+
function yn(e, t, n) {
|
|
862
862
|
if (!e) return [];
|
|
863
863
|
let r = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), i = [], a = 0, o;
|
|
864
864
|
for (; (o = r.exec(e)) !== null;) {
|
|
@@ -885,20 +885,20 @@ function vn(e, t, n) {
|
|
|
885
885
|
}
|
|
886
886
|
//#endregion
|
|
887
887
|
//#region src/components/MergeTagPreviewText.vue
|
|
888
|
-
var
|
|
888
|
+
var bn = y({
|
|
889
889
|
name: "MergeTagPreviewText",
|
|
890
890
|
props: { text: {
|
|
891
891
|
type: String,
|
|
892
892
|
required: !0
|
|
893
893
|
} },
|
|
894
894
|
setup(e) {
|
|
895
|
-
let t = N(
|
|
895
|
+
let t = N(at, []), n = N(ot, Me.liquid), r = j(() => yn(e.text, t, n));
|
|
896
896
|
return () => r.value.map((e, t) => e.type === "tag" ? ae("span", {
|
|
897
897
|
key: t,
|
|
898
898
|
class: "tpl-merge-tag-label"
|
|
899
899
|
}, e.value) : e.value);
|
|
900
900
|
}
|
|
901
|
-
}),
|
|
901
|
+
}), xn = { class: "tpl:text-center" }, Sn = ["href"], Cn = /* @__PURE__ */ y({
|
|
902
902
|
__name: "ButtonBlock",
|
|
903
903
|
props: {
|
|
904
904
|
block: {},
|
|
@@ -919,17 +919,17 @@ var yn = y({
|
|
|
919
919
|
};
|
|
920
920
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
|
|
921
921
|
});
|
|
922
|
-
return (t, r) => (f(), x("div",
|
|
922
|
+
return (t, r) => (f(), x("div", xn, [b("a", {
|
|
923
923
|
href: e.block.url || "#",
|
|
924
924
|
style: i(n.value),
|
|
925
925
|
class: "tpl:cursor-default",
|
|
926
926
|
onClick: r[0] ||= P(() => {}, ["prevent"])
|
|
927
|
-
}, [w(
|
|
927
|
+
}, [w(bn, { text: e.block.text }, null, 8, ["text"])], 12, Sn)]));
|
|
928
928
|
}
|
|
929
|
-
}),
|
|
929
|
+
}), wn = F("bookmark", [["path", {
|
|
930
930
|
d: "M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z",
|
|
931
931
|
key: "oz39mx"
|
|
932
|
-
}]]),
|
|
932
|
+
}]]), Tn = F("box", [
|
|
933
933
|
["path", {
|
|
934
934
|
d: "M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z",
|
|
935
935
|
key: "hh9hay"
|
|
@@ -942,13 +942,13 @@ var yn = y({
|
|
|
942
942
|
d: "M12 22V12",
|
|
943
943
|
key: "d0xqtd"
|
|
944
944
|
}]
|
|
945
|
-
]),
|
|
945
|
+
]), En = F("code", [["path", {
|
|
946
946
|
d: "m16 18 6-6-6-6",
|
|
947
947
|
key: "eg8j8"
|
|
948
948
|
}], ["path", {
|
|
949
949
|
d: "m8 6-6 6 6 6",
|
|
950
950
|
key: "ppft3o"
|
|
951
|
-
}]]),
|
|
951
|
+
}]]), Dn = F("copy", [["rect", {
|
|
952
952
|
width: "14",
|
|
953
953
|
height: "14",
|
|
954
954
|
x: "8",
|
|
@@ -959,7 +959,7 @@ var yn = y({
|
|
|
959
959
|
}], ["path", {
|
|
960
960
|
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
|
|
961
961
|
key: "zix9uf"
|
|
962
|
-
}]]),
|
|
962
|
+
}]]), On = F("eye-off", [
|
|
963
963
|
["path", {
|
|
964
964
|
d: "M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",
|
|
965
965
|
key: "ct8e1f"
|
|
@@ -976,10 +976,10 @@ var yn = y({
|
|
|
976
976
|
d: "m2 2 20 20",
|
|
977
977
|
key: "1ooewy"
|
|
978
978
|
}]
|
|
979
|
-
]),
|
|
979
|
+
]), kn = F("funnel", [["path", {
|
|
980
980
|
d: "M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",
|
|
981
981
|
key: "sc7q7i"
|
|
982
|
-
}]]),
|
|
982
|
+
}]]), An = F("grip-vertical", [
|
|
983
983
|
["circle", {
|
|
984
984
|
cx: "9",
|
|
985
985
|
cy: "12",
|
|
@@ -1016,7 +1016,7 @@ var yn = y({
|
|
|
1016
1016
|
r: "1",
|
|
1017
1017
|
key: "f4zoj3"
|
|
1018
1018
|
}]
|
|
1019
|
-
]),
|
|
1019
|
+
]), jn = F("image", [
|
|
1020
1020
|
["rect", {
|
|
1021
1021
|
width: "18",
|
|
1022
1022
|
height: "18",
|
|
@@ -1036,13 +1036,13 @@ var yn = y({
|
|
|
1036
1036
|
d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
|
|
1037
1037
|
key: "1xmnt7"
|
|
1038
1038
|
}]
|
|
1039
|
-
]),
|
|
1039
|
+
]), Mn = F("navigation", [["polygon", {
|
|
1040
1040
|
points: "3 11 22 2 13 21 11 13 3 11",
|
|
1041
1041
|
key: "1ltx0t"
|
|
1042
|
-
}]]),
|
|
1042
|
+
}]]), Nn = F("puzzle", [["path", {
|
|
1043
1043
|
d: "M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z",
|
|
1044
1044
|
key: "w46dr5"
|
|
1045
|
-
}]]),
|
|
1045
|
+
}]]), Pn = F("share-2", [
|
|
1046
1046
|
["circle", {
|
|
1047
1047
|
cx: "18",
|
|
1048
1048
|
cy: "5",
|
|
@@ -1075,7 +1075,7 @@ var yn = y({
|
|
|
1075
1075
|
y2: "10.49",
|
|
1076
1076
|
key: "1n3mei"
|
|
1077
1077
|
}]
|
|
1078
|
-
]),
|
|
1078
|
+
]), Fn = F("table", [
|
|
1079
1079
|
["path", {
|
|
1080
1080
|
d: "M12 3v18",
|
|
1081
1081
|
key: "108xh3"
|
|
@@ -1096,7 +1096,7 @@ var yn = y({
|
|
|
1096
1096
|
d: "M3 15h18",
|
|
1097
1097
|
key: "5xshup"
|
|
1098
1098
|
}]
|
|
1099
|
-
]),
|
|
1099
|
+
]), In = F("video", [["path", {
|
|
1100
1100
|
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
1101
1101
|
key: "ftymec"
|
|
1102
1102
|
}], ["rect", {
|
|
@@ -1106,11 +1106,11 @@ var yn = y({
|
|
|
1106
1106
|
height: "12",
|
|
1107
1107
|
rx: "2",
|
|
1108
1108
|
key: "158x01"
|
|
1109
|
-
}]]),
|
|
1109
|
+
}]]), Ln = ["innerHTML"], Rn = [
|
|
1110
1110
|
"src",
|
|
1111
1111
|
"width",
|
|
1112
1112
|
"height"
|
|
1113
|
-
],
|
|
1113
|
+
], zn = /* @__PURE__ */ y({
|
|
1114
1114
|
__name: "CustomBlockIcon",
|
|
1115
1115
|
props: {
|
|
1116
1116
|
icon: {},
|
|
@@ -1126,14 +1126,14 @@ var yn = y({
|
|
|
1126
1126
|
height: `${n.value}px`
|
|
1127
1127
|
}),
|
|
1128
1128
|
innerHTML: e.icon
|
|
1129
|
-
}, null, 12,
|
|
1129
|
+
}, null, 12, Ln)) : a.value ? (f(), x("img", {
|
|
1130
1130
|
key: 1,
|
|
1131
1131
|
src: e.icon,
|
|
1132
1132
|
width: n.value,
|
|
1133
1133
|
height: n.value,
|
|
1134
1134
|
class: "tpl:inline-block",
|
|
1135
1135
|
alt: ""
|
|
1136
|
-
}, null, 8,
|
|
1136
|
+
}, null, 8, Rn)) : (f(), D(k(Tn), {
|
|
1137
1137
|
key: 2,
|
|
1138
1138
|
size: n.value,
|
|
1139
1139
|
"stroke-width": 1.5
|
|
@@ -1142,16 +1142,16 @@ var yn = y({
|
|
|
1142
1142
|
});
|
|
1143
1143
|
//#endregion
|
|
1144
1144
|
//#region src/composables/useEditorRoot.ts
|
|
1145
|
-
function
|
|
1146
|
-
return N(
|
|
1145
|
+
function Bn() {
|
|
1146
|
+
return N(pt, document) ?? document;
|
|
1147
1147
|
}
|
|
1148
1148
|
//#endregion
|
|
1149
1149
|
//#region src/composables/useFocusTrap.ts
|
|
1150
|
-
var
|
|
1151
|
-
function
|
|
1152
|
-
let n =
|
|
1150
|
+
var Vn = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
1151
|
+
function Hn(e, t) {
|
|
1152
|
+
let n = Bn(), r = null, i = null, a = null;
|
|
1153
1153
|
function o() {
|
|
1154
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
1154
|
+
return e.value ? Array.from(e.value.querySelectorAll(Vn)).filter((e) => e.offsetParent !== null) : [];
|
|
1155
1155
|
}
|
|
1156
1156
|
function s(e) {
|
|
1157
1157
|
if (e.key !== "Tab") return;
|
|
@@ -1166,7 +1166,7 @@ function Vn(e, t) {
|
|
|
1166
1166
|
a = null;
|
|
1167
1167
|
let t = o();
|
|
1168
1168
|
t.length > 0 && (e.value?.querySelector("[autofocus], input:not([disabled])") ?? t[0]).focus();
|
|
1169
|
-
}), i =
|
|
1169
|
+
}), i = We(e, "keydown", s);
|
|
1170
1170
|
}
|
|
1171
1171
|
function d(e = {}) {
|
|
1172
1172
|
let t = e.restoreFocus !== !1;
|
|
@@ -1181,7 +1181,7 @@ function Vn(e, t) {
|
|
|
1181
1181
|
}
|
|
1182
1182
|
//#endregion
|
|
1183
1183
|
//#region src/composables/useEmoji.ts
|
|
1184
|
-
function
|
|
1184
|
+
function Un() {
|
|
1185
1185
|
let [e, t] = He(!1), n = v([]), r = !1;
|
|
1186
1186
|
u(() => {
|
|
1187
1187
|
r = !0;
|
|
@@ -1207,7 +1207,7 @@ function Hn() {
|
|
|
1207
1207
|
}
|
|
1208
1208
|
//#endregion
|
|
1209
1209
|
//#region src/composables/useDragDrop.ts
|
|
1210
|
-
function
|
|
1210
|
+
function Wn(e) {
|
|
1211
1211
|
let { onBlockMove: t, onBlockAdd: n } = e, r = _(!1), i = _(null), a = _(null);
|
|
1212
1212
|
function o(e) {
|
|
1213
1213
|
r.value = !0, i.value = e;
|
|
@@ -1257,7 +1257,7 @@ function Un(e) {
|
|
|
1257
1257
|
}
|
|
1258
1258
|
//#endregion
|
|
1259
1259
|
//#region src/composables/useFonts.ts
|
|
1260
|
-
var
|
|
1260
|
+
var Gn = [
|
|
1261
1261
|
{
|
|
1262
1262
|
value: "Arial",
|
|
1263
1263
|
label: "Arial"
|
|
@@ -1286,7 +1286,7 @@ var Wn = [
|
|
|
1286
1286
|
value: "Courier New",
|
|
1287
1287
|
label: "Courier New"
|
|
1288
1288
|
}
|
|
1289
|
-
],
|
|
1289
|
+
], Kn = {
|
|
1290
1290
|
arial: "Arial, sans-serif",
|
|
1291
1291
|
helvetica: "Helvetica, sans-serif",
|
|
1292
1292
|
georgia: "Georgia, serif",
|
|
@@ -1294,14 +1294,14 @@ var Wn = [
|
|
|
1294
1294
|
verdana: "Verdana, sans-serif",
|
|
1295
1295
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
1296
1296
|
"courier new": "'Courier New', monospace"
|
|
1297
|
-
},
|
|
1298
|
-
function
|
|
1299
|
-
let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = j(() => e?.defaultFallback ??
|
|
1297
|
+
}, qn = "Arial, sans-serif";
|
|
1298
|
+
function Jn(e) {
|
|
1299
|
+
let t = _(e?.customFonts ?? []), n = _(!0), r = _(!1), i = j(() => e?.defaultFallback ?? qn);
|
|
1300
1300
|
function a(e) {
|
|
1301
1301
|
n.value = e;
|
|
1302
1302
|
}
|
|
1303
1303
|
let o = j(() => {
|
|
1304
|
-
let e = [...
|
|
1304
|
+
let e = [...Gn];
|
|
1305
1305
|
if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
|
|
1306
1306
|
let r = t.value.map((e) => ({
|
|
1307
1307
|
value: e.name,
|
|
@@ -1314,17 +1314,17 @@ function qn(e) {
|
|
|
1314
1314
|
return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1315
1315
|
}
|
|
1316
1316
|
function l(e) {
|
|
1317
|
-
return
|
|
1317
|
+
return Gn.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
1318
1318
|
}
|
|
1319
1319
|
function d() {
|
|
1320
1320
|
if (e?.defaultFont) {
|
|
1321
|
-
if (!n.value && !l(e.defaultFont)) return
|
|
1321
|
+
if (!n.value && !l(e.defaultFont)) return qn;
|
|
1322
1322
|
if (c(e.defaultFont)) {
|
|
1323
1323
|
let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
1324
1324
|
if (t) return t.value;
|
|
1325
1325
|
}
|
|
1326
1326
|
}
|
|
1327
|
-
return
|
|
1327
|
+
return qn;
|
|
1328
1328
|
}
|
|
1329
1329
|
let f = j(() => d());
|
|
1330
1330
|
function p(e) {
|
|
@@ -1334,7 +1334,7 @@ function qn(e) {
|
|
|
1334
1334
|
let e = n.fallback ?? i.value;
|
|
1335
1335
|
return `'${n.name}', ${e}`;
|
|
1336
1336
|
}
|
|
1337
|
-
return
|
|
1337
|
+
return Kn[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
1338
1338
|
}
|
|
1339
1339
|
let m = [], h = !1;
|
|
1340
1340
|
async function g() {
|
|
@@ -1350,7 +1350,7 @@ function qn(e) {
|
|
|
1350
1350
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
1351
1351
|
});
|
|
1352
1352
|
} catch (t) {
|
|
1353
|
-
|
|
1353
|
+
un.warn(`Failed to load custom font "${e.name}":`, t);
|
|
1354
1354
|
}
|
|
1355
1355
|
});
|
|
1356
1356
|
await Promise.allSettled(e), !h && (r.value = !0);
|
|
@@ -1377,8 +1377,8 @@ function qn(e) {
|
|
|
1377
1377
|
}
|
|
1378
1378
|
//#endregion
|
|
1379
1379
|
//#region src/composables/useLogicTag.ts
|
|
1380
|
-
function
|
|
1381
|
-
let e = N(
|
|
1380
|
+
function Yn() {
|
|
1381
|
+
let e = N(lt, []), t = N(Tt, []), n = N(ot, Me.liquid), r = N(Qe, null), i = N(wt, null), a = _(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
|
|
1382
1382
|
async function c() {
|
|
1383
1383
|
if (r) {
|
|
1384
1384
|
a.value = !0;
|
|
@@ -1409,7 +1409,7 @@ function Jn() {
|
|
|
1409
1409
|
}
|
|
1410
1410
|
//#endregion
|
|
1411
1411
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
1412
|
-
function
|
|
1412
|
+
function Xn(e, t, n) {
|
|
1413
1413
|
return Ee(e, n) ? {
|
|
1414
1414
|
type: "logicMergeTagNode",
|
|
1415
1415
|
attrs: {
|
|
@@ -1426,15 +1426,15 @@ function Yn(e, t, n) {
|
|
|
1426
1426
|
}
|
|
1427
1427
|
//#endregion
|
|
1428
1428
|
//#region src/utils/insertLogicTag.ts
|
|
1429
|
-
function
|
|
1429
|
+
function Zn(e) {
|
|
1430
1430
|
return "before" in e && "after" in e;
|
|
1431
1431
|
}
|
|
1432
|
-
function
|
|
1433
|
-
if (!
|
|
1434
|
-
e.chain().focus().insertContent(
|
|
1432
|
+
function Qn(e, t, n) {
|
|
1433
|
+
if (!Zn(t)) {
|
|
1434
|
+
e.chain().focus().insertContent(Xn(t.value, t.label, n)).run();
|
|
1435
1435
|
return;
|
|
1436
1436
|
}
|
|
1437
|
-
let r =
|
|
1437
|
+
let r = Xn(t.before, t.label, n), i = Xn(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
1438
1438
|
if (a !== o) {
|
|
1439
1439
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
1440
1440
|
return;
|
|
@@ -1443,26 +1443,20 @@ function Zn(e, t, n) {
|
|
|
1443
1443
|
}
|
|
1444
1444
|
//#endregion
|
|
1445
1445
|
//#region src/utils/linkColorExtension.ts
|
|
1446
|
-
function
|
|
1446
|
+
function $n(e) {
|
|
1447
1447
|
if (!e) return null;
|
|
1448
1448
|
let t = e.trim();
|
|
1449
1449
|
return /^#[0-9a-f]{3,8}$/i.test(t) || /^(rgb|rgba|hsl|hsla)\(\s*[0-9.,%/\s]+\)$/i.test(t) || /^[a-z]+$/i.test(t) ? t : null;
|
|
1450
1450
|
}
|
|
1451
|
-
function $n(e) {
|
|
1452
|
-
let t = /^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/i.exec(e.trim());
|
|
1453
|
-
if (!t) return e;
|
|
1454
|
-
let n = (e) => Number(e).toString(16).padStart(2, "0");
|
|
1455
|
-
return `#${n(t[1])}${n(t[2])}${n(t[3])}`;
|
|
1456
|
-
}
|
|
1457
1451
|
function er(e) {
|
|
1458
1452
|
return e.extend({ addAttributes() {
|
|
1459
1453
|
return {
|
|
1460
1454
|
...this.parent?.(),
|
|
1461
1455
|
color: {
|
|
1462
1456
|
default: null,
|
|
1463
|
-
parseHTML: (e) =>
|
|
1457
|
+
parseHTML: (e) => $n(Je(e.style.color)),
|
|
1464
1458
|
renderHTML: (e) => {
|
|
1465
|
-
let t =
|
|
1459
|
+
let t = $n(e.color);
|
|
1466
1460
|
return t ? { style: `color: ${t}` } : {};
|
|
1467
1461
|
}
|
|
1468
1462
|
}
|
|
@@ -1473,7 +1467,7 @@ function er(e) {
|
|
|
1473
1467
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
1474
1468
|
function tr(e) {
|
|
1475
1469
|
let t = _(!1), n = _(""), r = _(""), i = _(null);
|
|
1476
|
-
|
|
1470
|
+
Hn(i, t);
|
|
1477
1471
|
function a() {
|
|
1478
1472
|
let i = e.value?.getAttributes("link") ?? {};
|
|
1479
1473
|
n.value = i.href || "", r.value = i.color || "", t.value = !0;
|
|
@@ -1482,7 +1476,7 @@ function tr(e) {
|
|
|
1482
1476
|
if (n.value) {
|
|
1483
1477
|
let t = c(n.value);
|
|
1484
1478
|
if (t !== null) {
|
|
1485
|
-
let n =
|
|
1479
|
+
let n = $n(r.value), i = e.value?.chain().focus().extendMarkRange("link").setLink({ href: t }).updateAttributes("link", { color: n });
|
|
1486
1480
|
n && typeof e.value?.commands.unsetColor == "function" && i?.unsetColor(), i?.run();
|
|
1487
1481
|
}
|
|
1488
1482
|
}
|
|
@@ -1530,7 +1524,7 @@ function tr(e) {
|
|
|
1530
1524
|
//#endregion
|
|
1531
1525
|
//#region src/composables/useRichTextEditor.ts
|
|
1532
1526
|
function nr(e) {
|
|
1533
|
-
let t = N(
|
|
1527
|
+
let t = N(gt, null), { mergeTags: n, canRequestMergeTag: r, isRequesting: i, requestMergeTag: a, syntax: o, autocomplete: s } = Pt(), { canInsertLogicTag: l, isRequesting: u, requestLogicTag: d } = Yn(), f = N($e, null), p = (g(f) ? f.value : f)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", m = de(o), y = v(null), { showLinkDialog: b, linkUrl: x, linkColor: S, linkDialogRef: C, openLinkDialog: w, insertLink: T, removeLink: E, closeLinkDialog: D, handleLinkKeydown: O } = tr(y), { start: k, stop: ee } = Ue(() => y.value?.commands.focus("end"), 0, { immediate: !1 }), A = v(null), te = _(!0), j = _(null), ne = !1;
|
|
1534
1528
|
async function M() {
|
|
1535
1529
|
j.value = null, te.value = !0;
|
|
1536
1530
|
try {
|
|
@@ -1560,7 +1554,7 @@ function nr(e) {
|
|
|
1560
1554
|
y.value = l, te.value = !1, k();
|
|
1561
1555
|
} catch (t) {
|
|
1562
1556
|
if (ne) return;
|
|
1563
|
-
|
|
1557
|
+
un.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), j.value = t instanceof Error ? t.message : "Failed to load editor", te.value = !1;
|
|
1564
1558
|
}
|
|
1565
1559
|
}
|
|
1566
1560
|
function re() {
|
|
@@ -1578,7 +1572,7 @@ function nr(e) {
|
|
|
1578
1572
|
let a = n.some((e) => e instanceof HTMLElement && e.classList.contains("tpl-color-popover"));
|
|
1579
1573
|
r.closest(".tpl-text-editor-wrapper") || r.closest(".tpl-text-toolbar") || r.closest(".tpl-link-dialog") || a || e.onDone();
|
|
1580
1574
|
}
|
|
1581
|
-
|
|
1575
|
+
We(document, "mousedown", ae), h(() => {
|
|
1582
1576
|
ne = !0, ie(), ee(), y.value?.destroy();
|
|
1583
1577
|
});
|
|
1584
1578
|
async function oe() {
|
|
@@ -1590,7 +1584,7 @@ function nr(e) {
|
|
|
1590
1584
|
}
|
|
1591
1585
|
async function P() {
|
|
1592
1586
|
let e = await d();
|
|
1593
|
-
ne || (e && y.value ?
|
|
1587
|
+
ne || (e && y.value ? Qn(y.value, e, o) : y.value?.commands.focus());
|
|
1594
1588
|
}
|
|
1595
1589
|
return {
|
|
1596
1590
|
editor: y,
|
|
@@ -1621,7 +1615,7 @@ function nr(e) {
|
|
|
1621
1615
|
//#region src/composables/useSmallScreenNotice.ts
|
|
1622
1616
|
var rr = "(max-width: 767px)";
|
|
1623
1617
|
function ir(e) {
|
|
1624
|
-
let t =
|
|
1618
|
+
let t = Ke(rr);
|
|
1625
1619
|
return {
|
|
1626
1620
|
isSmallScreen: t,
|
|
1627
1621
|
showNotice: j(() => (S(e) ?? !0) && t.value)
|
|
@@ -1650,7 +1644,7 @@ var ar = { class: "tpl:w-full" }, or = {
|
|
|
1650
1644
|
},
|
|
1651
1645
|
emits: ["fetchData"],
|
|
1652
1646
|
setup(e, { emit: t }) {
|
|
1653
|
-
let n = e, r = t, { t: i } =
|
|
1647
|
+
let n = e, r = t, { t: i } = Et(), o = N(vt, null), s = _(""), l = _(!1), u = j(() => o?.getDefinition(n.block.customType)), d = j(() => !!u.value), { isFetching: m, fetch: h, needsFetch: g, hasDataSource: v } = Kt({
|
|
1654
1648
|
definition: u,
|
|
1655
1649
|
block: j(() => n.block),
|
|
1656
1650
|
onUpdate: (e, t) => {
|
|
@@ -1676,10 +1670,10 @@ var ar = { class: "tpl:w-full" }, or = {
|
|
|
1676
1670
|
y();
|
|
1677
1671
|
}), c(() => n.block.fieldValues, () => {
|
|
1678
1672
|
S();
|
|
1679
|
-
}, { deep: !0 }), (e, t) => (f(), x("div", ar, [d.value ? l.value ? (f(), x("div", cr, [w(k(
|
|
1673
|
+
}, { deep: !0 }), (e, t) => (f(), x("div", ar, [d.value ? l.value ? (f(), x("div", cr, [w(k(At), {
|
|
1680
1674
|
size: 24,
|
|
1681
1675
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
1682
|
-
}), b("span", lr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", ur, [b("div", { innerHTML: s.value }, null, 8, dr), k(v) && k(g) ? (f(), x("div", fr, [k(m) ? (f(), D(
|
|
1676
|
+
}), b("span", lr, p(k(i).customBlocks.renderError), 1)])) : (f(), x("div", ur, [b("div", { innerHTML: s.value }, null, 8, dr), k(v) && k(g) ? (f(), x("div", fr, [k(m) ? (f(), D(Mt, {
|
|
1683
1677
|
key: 1,
|
|
1684
1678
|
class: "tpl:w-48"
|
|
1685
1679
|
})) : (f(), x("button", {
|
|
@@ -1687,11 +1681,11 @@ var ar = { class: "tpl:w-full" }, or = {
|
|
|
1687
1681
|
type: "button",
|
|
1688
1682
|
class: "tpl:flex tpl:cursor-pointer tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:shadow-sm tpl:transition-all tpl:duration-150 hover:tpl:border-[var(--tpl-primary)] hover:tpl:shadow-md tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
|
|
1689
1683
|
onClick: t[0] ||= P((...e) => k(h) && k(h)(...e), ["stop"])
|
|
1690
|
-
}, [u.value?.icon ? (f(), D(
|
|
1684
|
+
}, [u.value?.icon ? (f(), D(zn, {
|
|
1691
1685
|
key: 0,
|
|
1692
1686
|
icon: u.value.icon,
|
|
1693
1687
|
size: 16
|
|
1694
|
-
}, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", or, [w(k(
|
|
1688
|
+
}, null, 8, ["icon"])) : M("", !0), O(" " + p(u.value?.dataSource?.label || k(i).customBlocks.dataSource.fetchButton), 1)]))])) : M("", !0)])) : (f(), x("div", or, [w(k(Nn), {
|
|
1695
1689
|
size: 24,
|
|
1696
1690
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
1697
1691
|
}), b("span", sr, p(k(i).customBlocks.definitionNotFound), 1)]))]));
|
|
@@ -1726,15 +1720,15 @@ var ar = { class: "tpl:w-full" }, or = {
|
|
|
1726
1720
|
viewport: {}
|
|
1727
1721
|
},
|
|
1728
1722
|
setup(e) {
|
|
1729
|
-
let t = e, { t: n } =
|
|
1730
|
-
return (e, t) => (f(), x("div", gr, [b("div", _r, [w(k(
|
|
1723
|
+
let t = e, { t: n } = Et(), r = j(() => t.block.content.trim().length > 0);
|
|
1724
|
+
return (e, t) => (f(), x("div", gr, [b("div", _r, [w(k(En), {
|
|
1731
1725
|
size: 24,
|
|
1732
1726
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
1733
1727
|
}), r.value ? (f(), x("span", vr, p(k(n).html.preview), 1)) : (f(), x("span", yr, p(k(n).html.empty), 1))])]));
|
|
1734
1728
|
}
|
|
1735
1729
|
}), xr = "image/";
|
|
1736
1730
|
function Sr(e) {
|
|
1737
|
-
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } =
|
|
1731
|
+
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || S(r), { isOverDropZone: a } = qe(t, {
|
|
1738
1732
|
preventDefaultForUnhandled: !0,
|
|
1739
1733
|
onDrop: (e) => {
|
|
1740
1734
|
if (!i()) return;
|
|
@@ -1764,7 +1758,7 @@ var Cr = {
|
|
|
1764
1758
|
},
|
|
1765
1759
|
emits: ["update"],
|
|
1766
1760
|
setup(e, { emit: t }) {
|
|
1767
|
-
let n = e, r = t, { t: a } =
|
|
1761
|
+
let n = e, r = t, { t: a } = Et(), { syntax: o } = Pt(), s = N(Ze, null), c = j(() => !!s), l = Ft();
|
|
1768
1762
|
async function u() {
|
|
1769
1763
|
let e = await s?.({ accept: ["images"] });
|
|
1770
1764
|
if (l.alive && e) {
|
|
@@ -1811,11 +1805,11 @@ var Cr = {
|
|
|
1811
1805
|
"data-testid": "image-drop-zone",
|
|
1812
1806
|
class: "tpl:relative tpl:w-full",
|
|
1813
1807
|
style: i(y.value)
|
|
1814
|
-
}, [h.value && (k(v) || m.value) ? (f(), x("div", Cr, [m.value ? (f(), x(A, { key: 0 }, [w(k(
|
|
1808
|
+
}, [h.value && (k(v) || m.value) ? (f(), x("div", Cr, [m.value ? (f(), x(A, { key: 0 }, [w(k(Dt), {
|
|
1815
1809
|
class: "tpl-spinner",
|
|
1816
1810
|
size: 20,
|
|
1817
1811
|
"stroke-width": 2
|
|
1818
|
-
}), O(" " + p(k(a).image.uploading), 1)], 64)) : (f(), x(A, { key: 1 }, [w(k(
|
|
1812
|
+
}), O(" " + p(k(a).image.uploading), 1)], 64)) : (f(), x(A, { key: 1 }, [w(k(jt), {
|
|
1819
1813
|
size: 20,
|
|
1820
1814
|
"stroke-width": 1.5
|
|
1821
1815
|
}), O(" " + p(k(a).image.dropToUpload), 1)], 64))])) : M("", !0), e.block.src && C.value && e.block.placeholderUrl ? (f(), x(A, { key: 1 }, [e.block.linkUrl ? (f(), x("a", {
|
|
@@ -1840,12 +1834,12 @@ var Cr = {
|
|
|
1840
1834
|
key: 2,
|
|
1841
1835
|
class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
|
|
1842
1836
|
style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, S.value])
|
|
1843
|
-
}, [w(k(
|
|
1837
|
+
}, [w(k(jn), {
|
|
1844
1838
|
size: 32,
|
|
1845
1839
|
"stroke-width": 1.5,
|
|
1846
1840
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
1847
1841
|
style: { opacity: "0.5" }
|
|
1848
|
-
}), b("span", Dr, [w(
|
|
1842
|
+
}), b("span", Dr, [w(bn, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), x(A, { key: 3 }, [e.block.linkUrl ? (f(), x("a", {
|
|
1849
1843
|
key: 0,
|
|
1850
1844
|
href: e.block.linkUrl,
|
|
1851
1845
|
target: "_blank",
|
|
@@ -1868,7 +1862,7 @@ var Cr = {
|
|
|
1868
1862
|
"aria-label": k(a).image.browseMedia,
|
|
1869
1863
|
class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
|
|
1870
1864
|
onClick: P(u, ["stop"])
|
|
1871
|
-
}, [w(k(
|
|
1865
|
+
}, [w(k(jn), {
|
|
1872
1866
|
size: 14,
|
|
1873
1867
|
"stroke-width": 1.5
|
|
1874
1868
|
}), O(" " + p(k(a).image.browseMedia), 1)], 8, Mr)) : (f(), x("span", Nr, p(k(a).image.clickToAdd), 1))]))], 4));
|
|
@@ -1883,7 +1877,7 @@ var Cr = {
|
|
|
1883
1877
|
viewport: {}
|
|
1884
1878
|
},
|
|
1885
1879
|
setup(e) {
|
|
1886
|
-
let n = e, { t: r } =
|
|
1880
|
+
let n = e, { t: r } = Et(), a = j(() => ({
|
|
1887
1881
|
display: "flex",
|
|
1888
1882
|
flexWrap: "wrap",
|
|
1889
1883
|
gap: `0 ${n.block.spacing}px`,
|
|
@@ -1907,13 +1901,13 @@ var Cr = {
|
|
|
1907
1901
|
textDecoration: t.underline ? "underline" : "none"
|
|
1908
1902
|
}),
|
|
1909
1903
|
onClick: c[0] ||= P(() => {}, ["prevent"])
|
|
1910
|
-
}, [w(
|
|
1904
|
+
}, [w(bn, { text: t.text || "..." }, null, 8, ["text"])], 12, Ir), n < e.block.items.length - 1 ? (f(), x("span", {
|
|
1911
1905
|
key: 0,
|
|
1912
1906
|
style: i({
|
|
1913
1907
|
color: e.block.separatorColor,
|
|
1914
1908
|
padding: `0 ${e.block.spacing}px`
|
|
1915
1909
|
})
|
|
1916
|
-
}, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Lr, [w(k(
|
|
1910
|
+
}, p(e.block.separator), 5)) : M("", !0)], 64))), 128))], 4)) : (f(), x("div", Lr, [w(k(Mn), { size: 16 }), b("span", null, p(k(r).menu.addLinks), 1)]))]));
|
|
1917
1911
|
}
|
|
1918
1912
|
}), zr = /* @__PURE__ */ new Set([
|
|
1919
1913
|
"http",
|
|
@@ -1987,7 +1981,7 @@ function Wr(e) {
|
|
|
1987
1981
|
//#endregion
|
|
1988
1982
|
//#region src/composables/useEditableTextBlock.ts
|
|
1989
1983
|
function Gr(e) {
|
|
1990
|
-
let t = N(
|
|
1984
|
+
let t = N(at, []), { syntax: n } = Pt(), r = j(() => Wr(Te(fe(e(), t), n))), i = _(!1), a = _(null), { top: o, left: s } = Ge(a), c = j(() => ({
|
|
1991
1985
|
top: o.value - 8,
|
|
1992
1986
|
left: s.value
|
|
1993
1987
|
}));
|
|
@@ -2015,7 +2009,7 @@ var Kr = ["innerHTML"], qr = /* @__PURE__ */ y({
|
|
|
2015
2009
|
viewport: {}
|
|
2016
2010
|
},
|
|
2017
2011
|
setup(e) {
|
|
2018
|
-
let t = e, n = C(() => import("./ParagraphEditor-
|
|
2012
|
+
let t = e, n = C(() => import("./ParagraphEditor-vgvQxicC.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Gr(() => t.block.content);
|
|
2019
2013
|
return (t, l) => (f(), x("div", {
|
|
2020
2014
|
ref_key: "blockRef",
|
|
2021
2015
|
ref: i,
|
|
@@ -2073,7 +2067,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2073
2067
|
}, oi = ["aria-label", "title"], si = {
|
|
2074
2068
|
key: 3,
|
|
2075
2069
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
2076
|
-
}, ci = ["aria-label"], li = /*#__PURE__*/
|
|
2070
|
+
}, ci = ["aria-label"], li = /*#__PURE__*/ Nt(/* @__PURE__ */ y({
|
|
2077
2071
|
__name: "BlockWrapper",
|
|
2078
2072
|
props: {
|
|
2079
2073
|
block: {},
|
|
@@ -2083,7 +2077,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2083
2077
|
},
|
|
2084
2078
|
emits: ["select"],
|
|
2085
2079
|
setup(e, { emit: t }) {
|
|
2086
|
-
let n = C(() => import("./BlockIssueBadge-CZYgn-qg.js")), r = e, a = t, { t: s, format: c } =
|
|
2080
|
+
let n = C(() => import("./BlockIssueBadge-CZYgn-qg.js")), r = e, a = t, { t: s, format: c } = Et(), l = N(St, null), u = _(null), d = j(() => l?.liftedBlockId.value === r.block.id), m = j(() => d.value ? c(s.blockActions.dragLifted, { block: r.block.type }) : s.blockActions.drag);
|
|
2087
2081
|
async function h() {
|
|
2088
2082
|
await ie(), u.value?.focus();
|
|
2089
2083
|
}
|
|
@@ -2109,7 +2103,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2109
2103
|
let v = j(() => !r.viewport || !r.block.visibility ? !1 : r.block.visibility[r.viewport] === !1), y = j(() => r.previewMode === !0 && v.value), S = j(() => r.viewport ? {
|
|
2110
2104
|
desktop: s.viewport.desktop,
|
|
2111
2105
|
mobile: s.viewport.mobile
|
|
2112
|
-
}[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(
|
|
2106
|
+
}[r.viewport] ?? r.viewport : ""), E = j(() => !!r.block.displayCondition), D = N(mt, null), ee = N(xt, null), A = N(bt, {}), te = j(() => !!A.savedModules), ne = j(() => A.comments?.getBlockCount(r.block.id) ?? 0), re = j(() => {
|
|
2113
2107
|
let e = Yr(r.block), t = {
|
|
2114
2108
|
padding: e.padding,
|
|
2115
2109
|
backgroundColor: e.backgroundColor
|
|
@@ -2158,7 +2152,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2158
2152
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
2159
2153
|
title: k(s).blockActions.drag,
|
|
2160
2154
|
onKeydown: g
|
|
2161
|
-
}, [w(k(
|
|
2155
|
+
}, [w(k(An), {
|
|
2162
2156
|
size: 14,
|
|
2163
2157
|
"stroke-width": 1.5
|
|
2164
2158
|
})], 40, $r),
|
|
@@ -2167,7 +2161,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2167
2161
|
"aria-label": k(s).blockActions.duplicate,
|
|
2168
2162
|
title: k(s).blockActions.duplicate,
|
|
2169
2163
|
onClick: P(ce, ["stop"])
|
|
2170
|
-
}, [w(k(
|
|
2164
|
+
}, [w(k(Dn), {
|
|
2171
2165
|
size: 14,
|
|
2172
2166
|
"stroke-width": 1.5
|
|
2173
2167
|
})], 8, ei),
|
|
@@ -2177,7 +2171,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2177
2171
|
"aria-label": k(s).blockActions.saveAsModule,
|
|
2178
2172
|
title: k(s).blockActions.saveAsModule,
|
|
2179
2173
|
onClick: P(le, ["stop"])
|
|
2180
|
-
}, [w(k(
|
|
2174
|
+
}, [w(k(wn), {
|
|
2181
2175
|
size: 14,
|
|
2182
2176
|
"stroke-width": 1.5
|
|
2183
2177
|
})], 8, ti)) : M("", !0),
|
|
@@ -2186,12 +2180,12 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2186
2180
|
"aria-label": k(s).blockActions.delete,
|
|
2187
2181
|
title: k(s).blockActions.delete,
|
|
2188
2182
|
onClick: P(se, ["stop"])
|
|
2189
|
-
}, [w(k(
|
|
2183
|
+
}, [w(k(kt), {
|
|
2190
2184
|
size: 14,
|
|
2191
2185
|
"stroke-width": 1.5
|
|
2192
2186
|
})], 8, ni)
|
|
2193
2187
|
], 8, Qr)) : M("", !0),
|
|
2194
|
-
v.value ? (f(), x("div", ri, [b("span", ii, [w(k(
|
|
2188
|
+
v.value ? (f(), x("div", ri, [b("span", ii, [w(k(On), {
|
|
2195
2189
|
size: 12,
|
|
2196
2190
|
"stroke-width": 1.5
|
|
2197
2191
|
}), O(" " + p(k(c)(k(s).blockActions.hiddenOnViewport, { viewport: S.value })), 1)])])) : M("", !0),
|
|
@@ -2200,7 +2194,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2200
2194
|
"aria-label": k(s).blockActions.conditionToggle,
|
|
2201
2195
|
title: e.block.displayCondition?.label,
|
|
2202
2196
|
onClick: P(ue, ["stop"])
|
|
2203
|
-
}, [w(k(
|
|
2197
|
+
}, [w(k(kn), {
|
|
2204
2198
|
size: 12,
|
|
2205
2199
|
"stroke-width": 2
|
|
2206
2200
|
})], 8, oi)])) : M("", !0),
|
|
@@ -2208,7 +2202,7 @@ var Zr = ["data-block-id", "data-block-type"], Qr = ["aria-label"], $r = [
|
|
|
2208
2202
|
class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
|
|
2209
2203
|
"aria-label": k(c)(k(s).blockActions.comments, { count: String(ne.value) }),
|
|
2210
2204
|
onClick: r[0] ||= P((t) => k(A).comments?.openForBlock(e.block.id), ["stop"])
|
|
2211
|
-
}, [w(k(
|
|
2205
|
+
}, [w(k(Ot), {
|
|
2212
2206
|
size: 12,
|
|
2213
2207
|
"stroke-width": 2.5
|
|
2214
2208
|
}), O(" " + p(ne.value), 1)], 8, ci)])) : M("", !0),
|
|
@@ -2242,7 +2236,7 @@ var di = /* @__PURE__ */ y({
|
|
|
2242
2236
|
viewport: {}
|
|
2243
2237
|
},
|
|
2244
2238
|
setup(e) {
|
|
2245
|
-
let t = e, n = C(() => import("./TitleEditor-
|
|
2239
|
+
let t = e, n = C(() => import("./TitleEditor-DPdzOQpq.js")), { isEditing: r, blockRef: a, toolbarPosition: o, resolvedContent: s, handleDoubleClick: c, handleEditorDone: l } = Gr(() => t.block.content), u = j(() => {
|
|
2246
2240
|
let e = {
|
|
2247
2241
|
fontSize: `${Pe[t.block.level]}px`,
|
|
2248
2242
|
textAlign: t.block.textAlign
|
|
@@ -3677,10 +3671,10 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3677
3671
|
title: di,
|
|
3678
3672
|
paragraph: qr,
|
|
3679
3673
|
image: Pr,
|
|
3680
|
-
button:
|
|
3674
|
+
button: Cn,
|
|
3681
3675
|
divider: hr,
|
|
3682
3676
|
custom: pr
|
|
3683
|
-
}, r = e, { t: a } =
|
|
3677
|
+
}, r = e, { t: a } = Et(), s = tt(gt, "SectionBlock"), c = N(xt, null), l = N(vt, null), u = j(() => {
|
|
3684
3678
|
switch (r.block.columns) {
|
|
3685
3679
|
case "2": return ["50%", "50%"];
|
|
3686
3680
|
case "3": return [
|
|
@@ -3859,7 +3853,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3859
3853
|
viewport: {}
|
|
3860
3854
|
},
|
|
3861
3855
|
setup(e) {
|
|
3862
|
-
let n = e, { t: r } =
|
|
3856
|
+
let n = e, { t: r } = Et(), a = j(() => ({
|
|
3863
3857
|
display: "flex",
|
|
3864
3858
|
flexWrap: "wrap",
|
|
3865
3859
|
gap: `${n.block.spacing}px`,
|
|
@@ -3881,7 +3875,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3881
3875
|
"platform",
|
|
3882
3876
|
"icon-style",
|
|
3883
3877
|
"icon-size"
|
|
3884
|
-
])], 8, ds))), 128))], 4)) : (f(), x("div", fs, [w(k(
|
|
3878
|
+
])], 8, ds))), 128))], 4)) : (f(), x("div", fs, [w(k(Pn), { size: 16 }), b("span", null, p(k(r).social.addIcons), 1)]))]));
|
|
3885
3879
|
}
|
|
3886
3880
|
}), ms = { class: "tpl:w-full" }, hs = {
|
|
3887
3881
|
key: 0,
|
|
@@ -3897,7 +3891,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3897
3891
|
viewport: {}
|
|
3898
3892
|
},
|
|
3899
3893
|
setup(e) {
|
|
3900
|
-
let t = e, n =
|
|
3894
|
+
let t = e, n = tt(gt, "SpacerBlock"), r = j(() => ({
|
|
3901
3895
|
height: `${t.block.height}px`,
|
|
3902
3896
|
minHeight: `${t.block.height}px`,
|
|
3903
3897
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
@@ -3918,7 +3912,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3918
3912
|
], xs = {
|
|
3919
3913
|
key: 1,
|
|
3920
3914
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
|
|
3921
|
-
}, Ss = /*#__PURE__*/
|
|
3915
|
+
}, Ss = /*#__PURE__*/ Nt(/* @__PURE__ */ y({
|
|
3922
3916
|
__name: "TableBlock",
|
|
3923
3917
|
props: {
|
|
3924
3918
|
block: {},
|
|
@@ -3932,7 +3926,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3932
3926
|
updated(e, t) {
|
|
3933
3927
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
3934
3928
|
}
|
|
3935
|
-
}, r = e, { t: a } =
|
|
3929
|
+
}, r = e, { t: a } = Et(), o = tt(gt, "TableBlock"), s = j(() => r.block.rows.length > 0), c = j(() => {
|
|
3936
3930
|
let e = {
|
|
3937
3931
|
width: "100%",
|
|
3938
3932
|
borderCollapse: "collapse",
|
|
@@ -3985,7 +3979,7 @@ var es = { class: "tpl:w-full" }, ts = { class: "tpl:flex tpl:gap-0" }, ns = {
|
|
|
3985
3979
|
onBlur: (n) => g(e.id, t.id, n),
|
|
3986
3980
|
onKeydown: r[1] ||= ce(P((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3987
3981
|
onClick: P(h, ["stop"])
|
|
3988
|
-
}, null, 44, bs)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", xs, [w(k(
|
|
3982
|
+
}, null, 44, bs)), [[n, t.content]])), 128))]))), 128))])], 4)) : (f(), x("div", xs, [w(k(Fn), { size: 16 }), b("span", null, p(k(a).table.empty), 1)]))]));
|
|
3989
3983
|
}
|
|
3990
3984
|
}), [["__scopeId", "data-v-963ac422"]]), Cs = /* @__PURE__ */ y({
|
|
3991
3985
|
__name: "VideoPlayButton",
|
|
@@ -4055,7 +4049,7 @@ var Es = ["src", "alt"], Ds = {
|
|
|
4055
4049
|
viewport: {}
|
|
4056
4050
|
},
|
|
4057
4051
|
setup(e) {
|
|
4058
|
-
let t = e, { t: n } =
|
|
4052
|
+
let t = e, { t: n } = Et(), { syntax: r } = Pt(), a = j(() => Ae(t.block.url, r) || Ae(t.block.thumbnailUrl, r)), o = j(() => a.value ? null : Ts(t.block.url, t.block.thumbnailUrl)), s = j(() => ({ textAlign: t.block.align })), c = j(() => {
|
|
4059
4053
|
let e = t.block.align;
|
|
4060
4054
|
return {
|
|
4061
4055
|
maxWidth: "100%",
|
|
@@ -4080,12 +4074,12 @@ var Es = ["src", "alt"], Ds = {
|
|
|
4080
4074
|
key: 1,
|
|
4081
4075
|
class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
|
|
4082
4076
|
style: i([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, c.value])
|
|
4083
|
-
}, [w(k(
|
|
4077
|
+
}, [w(k(In), {
|
|
4084
4078
|
size: 36,
|
|
4085
4079
|
"stroke-width": 1.5,
|
|
4086
4080
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
4087
4081
|
style: { opacity: "0.5" }
|
|
4088
|
-
}), b("span", Ds, [w(
|
|
4082
|
+
}), b("span", Ds, [w(bn, { text: l.value }, null, 8, ["text"])])], 4)) : o.value ? (f(), x(A, { key: 2 }, [e.block.url ? (f(), x("a", {
|
|
4089
4083
|
key: 0,
|
|
4090
4084
|
href: e.block.url,
|
|
4091
4085
|
target: "_blank",
|
|
@@ -4105,7 +4099,7 @@ var Es = ["src", "alt"], Ds = {
|
|
|
4105
4099
|
class: "tpl:w-full tpl:border-0",
|
|
4106
4100
|
src: o.value,
|
|
4107
4101
|
alt: e.block.alt
|
|
4108
|
-
}, null, 8, As), w(Cs)], 4))], 64)) : (f(), x("div", js, [w(k(
|
|
4102
|
+
}, null, 8, As), w(Cs)], 4))], 64)) : (f(), x("div", js, [w(k(In), {
|
|
4109
4103
|
size: 40,
|
|
4110
4104
|
"stroke-width": 1.5,
|
|
4111
4105
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
@@ -4116,7 +4110,7 @@ var Es = ["src", "alt"], Ds = {
|
|
|
4116
4110
|
title: di,
|
|
4117
4111
|
paragraph: qr,
|
|
4118
4112
|
image: Pr,
|
|
4119
|
-
button:
|
|
4113
|
+
button: Cn,
|
|
4120
4114
|
divider: hr,
|
|
4121
4115
|
video: Ms,
|
|
4122
4116
|
social: ps,
|
|
@@ -4127,26 +4121,26 @@ var Es = ["src", "alt"], Ds = {
|
|
|
4127
4121
|
countdown: C(() => import("./CountdownBlock-173fiO5Z.js").then((e) => e.n))
|
|
4128
4122
|
};
|
|
4129
4123
|
function Ps(e) {
|
|
4130
|
-
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } =
|
|
4124
|
+
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Et(r);
|
|
4131
4125
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
4132
|
-
let { resolvedTheme: l } =
|
|
4126
|
+
let { resolvedTheme: l } = an(j(() => t.state.uiTheme)), d = _(n.theme ?? {}), { themeStyles: f } = sn({
|
|
4133
4127
|
themeOverrides: d,
|
|
4134
4128
|
resolvedTheme: l,
|
|
4135
4129
|
extraStyles: e.themeExtraStyles
|
|
4136
|
-
}), p =
|
|
4130
|
+
}), p = Vt({
|
|
4137
4131
|
content: t.content,
|
|
4138
4132
|
setContent: (e, n) => t.setContent(e, n),
|
|
4139
4133
|
...e.historyOptions
|
|
4140
4134
|
});
|
|
4141
|
-
|
|
4142
|
-
let m =
|
|
4135
|
+
qt(t, p);
|
|
4136
|
+
let m = Ut({
|
|
4143
4137
|
addBlock: t.addBlock,
|
|
4144
4138
|
removeBlock: t.removeBlock,
|
|
4145
4139
|
updateBlock: t.updateBlock,
|
|
4146
4140
|
selectBlock: t.selectBlock,
|
|
4147
4141
|
findBlockLocation: t.findBlockLocation,
|
|
4148
4142
|
blockDefaults: n.blockDefaults
|
|
4149
|
-
}), h =
|
|
4143
|
+
}), h = Gt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Wt({
|
|
4150
4144
|
content: t.content,
|
|
4151
4145
|
isDirty: () => t.state.isDirty,
|
|
4152
4146
|
...e.autoSaveOptions
|
|
@@ -4154,24 +4148,24 @@ function Ps(e) {
|
|
|
4154
4148
|
g && (v = c(p.isNavigating, (e) => {
|
|
4155
4149
|
e ? g.pause() : g.resume();
|
|
4156
4150
|
}));
|
|
4157
|
-
let y =
|
|
4151
|
+
let y = rn(t, {
|
|
4158
4152
|
t: a,
|
|
4159
4153
|
format: o
|
|
4160
|
-
}), b =
|
|
4161
|
-
if (
|
|
4154
|
+
}), b = dn();
|
|
4155
|
+
if (gn(b, Ns), n.customBlocks?.length) for (let e of n.customBlocks) b.registerCustom(e, pr);
|
|
4162
4156
|
function x(e) {
|
|
4163
4157
|
for (let t of e) b.registerCustom(t, pr);
|
|
4164
4158
|
}
|
|
4165
|
-
let S =
|
|
4159
|
+
let S = Zt();
|
|
4166
4160
|
if (s() && u(S.dispose), e.containerEl) {
|
|
4167
4161
|
let t = e.containerEl;
|
|
4168
|
-
|
|
4162
|
+
We(document, "pointerdown", (e) => {
|
|
4169
4163
|
let n = t.value;
|
|
4170
4164
|
n && (e.composedPath?.() ?? []).includes(n) && S.claim();
|
|
4171
4165
|
}, { capture: !0 });
|
|
4172
4166
|
}
|
|
4173
4167
|
function C(r) {
|
|
4174
|
-
S.isActive() &&
|
|
4168
|
+
S.isActive() && vn(r, {
|
|
4175
4169
|
history: p,
|
|
4176
4170
|
selectBlock: (e) => t.selectBlock(e),
|
|
4177
4171
|
getSelectedBlockId: () => t.state.selectedBlockId,
|
|
@@ -4180,19 +4174,19 @@ function Ps(e) {
|
|
|
4180
4174
|
onBeforeUndo: e.keyboardOptions?.onBeforeUndo
|
|
4181
4175
|
});
|
|
4182
4176
|
}
|
|
4183
|
-
|
|
4177
|
+
We(document, "keydown", C);
|
|
4184
4178
|
let w = _(null);
|
|
4185
|
-
E(
|
|
4179
|
+
E(pt, e.editorRoot ?? document), E(Ye, w), E($e, r), E(gt, t), E(st, p), E(mt, m), E(xt, h), E(ft, i), E(it, f), E(et, l), E(ct, n.blockDefaults), E(vt, b), E(ut, n.customBlocks ?? []), E(ht, n.paletteBlocks), E(dt, fn(t.content, b));
|
|
4186
4180
|
let T = pe(n.mergeTags?.syntax);
|
|
4187
|
-
E(
|
|
4188
|
-
let D =
|
|
4181
|
+
E(at, n.mergeTags?.tags ?? []), E(ot, T), E(rt, n.mergeTags?.onRequest ?? null), E(Xe, n.mergeTags?.autocomplete !== !1), E(Ct, Qt()), E(lt, n.logicTags?.tags ?? []), E(Tt, n.logicTags?.pairs ?? []), E(Qe, n.logicTags?.onRequest ?? null), E(wt, $t()), E(Ze, n.onRequestMedia ?? null), E(yt, n.displayConditions?.conditions ?? []), E(_t, n.displayConditions?.allowCustom ?? !1), E(bt, e.capabilities ?? {}), E(St, y);
|
|
4182
|
+
let D = en(n.lint) ? null : tn({
|
|
4189
4183
|
content: t.content,
|
|
4190
4184
|
options: n.lint ?? {},
|
|
4191
4185
|
updateBlock: t.updateBlock,
|
|
4192
4186
|
updateSettings: t.updateSettings,
|
|
4193
4187
|
removeBlock: t.removeBlock
|
|
4194
4188
|
});
|
|
4195
|
-
E(
|
|
4189
|
+
E(nt, D);
|
|
4196
4190
|
function O() {
|
|
4197
4191
|
v?.(), D?.destroy(), g?.destroy(), p.destroy();
|
|
4198
4192
|
}
|
|
@@ -4215,4 +4209,4 @@ function Ps(e) {
|
|
|
4215
4209
|
};
|
|
4216
4210
|
}
|
|
4217
4211
|
//#endregion
|
|
4218
|
-
export {
|
|
4212
|
+
export { Pn as A, Lt as B, Yn as C, Hn as D, Un as E, En as F, Cn as I, un as L, jn as M, On as N, zn as O, Dn as P, nn as R, er as S, Wn as T, br as _, ps as a, ir as b, Qo as c, Yr as d, Jr as f, Sr as g, Pr as h, gs as i, Mn as j, Fn as k, di as l, Rr as m, Ms as n, os as o, qr as p, Ss as r, rs as s, Ps as t, li as u, hr as v, Jn as w, nr as x, pr as y, Kt as z };
|