@templatical/editor 0.10.0 → 0.10.2
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/{AiChatSidebar-D30WPhbv.js → AiChatSidebar-BMwpZx-6.js} +14 -14
- package/dist/{AiFeatureMenu-B5CJX5zr.js → AiFeatureMenu-xgaIGUCo.js} +8 -8
- package/dist/{BlockIssueBadge-CkB4Yyz2.js → BlockIssueBadge-3kNs6WoD.js} +5 -5
- package/dist/{CloudEditor-nT-R769W.js → CloudEditor-Dm9hiaui.js} +159 -156
- package/dist/{CollaboratorBar-CwhlXODK.js → CollaboratorBar-Cz_evoU4.js} +4 -4
- package/dist/{CommentsSidebar-gpZMMI5w.js → CommentsSidebar-jFZj_CTo.js} +13 -13
- package/dist/{CountdownBlock-BNvuXucv.js → CountdownBlock-S-SCyVye.js} +4 -4
- package/dist/{CountdownToolbar-Dl82DAmI.js → CountdownToolbar-Ckdo-3P-.js} +3 -3
- package/dist/{DesignReferenceSidebar-Bs5AMxVd.js → DesignReferenceSidebar-B9QNPZNV.js} +10 -10
- package/dist/{IssuesPanel-CqQa2BtU.js → IssuesPanel-_E_fbSM8.js} +8 -8
- package/dist/{LoadingTrack-xCOLUR3o.js → LoadingTrack-BZ5KJyZ_.js} +2 -2
- package/dist/{ModuleBrowserModal-BWWgF0LC.js → ModuleBrowserModal-BB22urqi.js} +10 -10
- package/dist/{ModulePreviewCanvas-D7Tk5HOt.js → ModulePreviewCanvas-CH5OdXv8.js} +3 -3
- package/dist/{NumberWithSuffix-DVy5HxMi.js → NumberWithSuffix-BHDXHMpo.js} +3 -3
- package/dist/{ParagraphEditor-DVSGdMOo.js → ParagraphEditor-BmY7LLgN.js} +26 -26
- package/dist/{RichTextEditorContent-DN-fRjMa.js → RichTextEditorContent-COijbaWp.js} +8 -8
- package/dist/{SaveModuleDialog-CkEYkyVD.js → SaveModuleDialog-D5WN-je_.js} +7 -7
- package/dist/{SnapshotHistory-Nx9wrlbF.js → SnapshotHistory-BQ55Rhri.js} +9 -9
- package/dist/{TemplateScoringPanel-BG9M-29t.js → TemplateScoringPanel-Dhf_Qgr7.js} +15 -15
- package/dist/{TestEmailModal-CRjtEs6S.js → TestEmailModal-DH_Viz_m.js} +5 -5
- package/dist/{TitleEditor-CvtV4pCA.js → TitleEditor-Dn613K8o.js} +12 -12
- package/dist/{TplModal-BudEYVcJ.js → TplModal-Dxa3rhHI.js} +4 -4
- package/dist/{blockTypeIcons-Dd-UvfnC.js → blockTypeIcons-CrcSCTD6.js} +2 -2
- package/dist/bundle-stats.json +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-DKOv8VnB.js → AiFeatureMenu-CCsgxyN9.js} +4 -4
- package/dist/cdn/chunks/{AiFeatureMenu-DKOv8VnB.js.map → AiFeatureMenu-CCsgxyN9.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-DpiSTwM7.js → BlockIssueBadge-Lc3NWFV8.js} +3 -3
- package/dist/cdn/chunks/{BlockIssueBadge-DpiSTwM7.js.map → BlockIssueBadge-Lc3NWFV8.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-xc_uOEgn.js → CloudEditor-KkwvBhyt.js} +131 -128
- package/dist/cdn/chunks/CloudEditor-KkwvBhyt.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-VWfPri_h.js → CollaboratorBar-BGIGiFSm.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-VWfPri_h.js.map → CollaboratorBar-BGIGiFSm.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-BKsCWboK.js → CountdownBlock-gqnpxKp_.js} +4 -4
- package/dist/cdn/chunks/{CountdownBlock-BKsCWboK.js.map → CountdownBlock-gqnpxKp_.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-BLtECDNb.js → CountdownToolbar-xHpaWQE2.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-BLtECDNb.js.map → CountdownToolbar-xHpaWQE2.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-BW2piyvs.js → IssuesPanel-DHTTHu65.js} +4 -4
- package/dist/cdn/chunks/{IssuesPanel-BW2piyvs.js.map → IssuesPanel-DHTTHu65.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-TLlKpvjX.js → ModuleBrowserModal-DDTjrKph.js} +6 -6
- package/dist/cdn/chunks/{ModuleBrowserModal-TLlKpvjX.js.map → ModuleBrowserModal-DDTjrKph.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-wu7y-vrh.js → ModulePreviewCanvas-DeFq0hVi.js} +3 -3
- package/dist/cdn/chunks/{ModulePreviewCanvas-wu7y-vrh.js.map → ModulePreviewCanvas-DeFq0hVi.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-DxoUtTMr.js → NumberWithSuffix-D4wtmU9O.js} +3 -3
- package/dist/cdn/chunks/{NumberWithSuffix-DxoUtTMr.js.map → NumberWithSuffix-D4wtmU9O.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-DvxIO2LN.js → ParagraphEditor-CwY8GeWa.js} +20 -20
- package/dist/cdn/chunks/{ParagraphEditor-DvxIO2LN.js.map → ParagraphEditor-CwY8GeWa.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-Dm9GXJmo.js → RichTextEditorContent-C_bMURGF.js} +5 -5
- package/dist/cdn/chunks/{RichTextEditorContent-Dm9GXJmo.js.map → RichTextEditorContent-C_bMURGF.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-BRAdVcYM.js → SaveModuleDialog-DEi8PSP6.js} +3 -3
- package/dist/cdn/chunks/{SaveModuleDialog-BRAdVcYM.js.map → SaveModuleDialog-DEi8PSP6.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-D3gPRd0x.js → TitleEditor-Betpo8AZ.js} +9 -9
- package/dist/cdn/chunks/{TitleEditor-D3gPRd0x.js.map → TitleEditor-Betpo8AZ.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-C2cm4RjU.js → blockTypeIcons-Xz6OBq3U.js} +3 -3
- package/dist/cdn/chunks/{blockTypeIcons-C2cm4RjU.js.map → blockTypeIcons-Xz6OBq3U.js.map} +1 -1
- package/dist/cdn/chunks/{draggable-BwWMFq33.js → draggable-BTGr7_-X.js} +1271 -1270
- package/dist/cdn/chunks/draggable-BTGr7_-X.js.map +1 -0
- package/dist/cdn/chunks/{extensions-SS1ywPUR.js → extensions-D_j4UWxi.js} +108 -105
- package/dist/cdn/chunks/{extensions-SS1ywPUR.js.map → extensions-D_j4UWxi.js.map} +1 -1
- package/dist/cdn/chunks/{features-CwZTdcbt.js → features-A28DQtjE.js} +831 -820
- package/dist/cdn/chunks/features-A28DQtjE.js.map +1 -0
- package/dist/cdn/chunks/{icons-CbNEr1kc.js → icons-C9D3N0-J.js} +12 -12
- package/dist/cdn/chunks/{icons-CbNEr1kc.js.map → icons-C9D3N0-J.js.map} +1 -1
- package/dist/cdn/chunks/{liquid.browser-rMoPo2t_.js → liquid.browser-DUDc3U21.js} +10 -10
- package/dist/cdn/chunks/{liquid.browser-rMoPo2t_.js.map → liquid.browser-DUDc3U21.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-BRpHZOl7.js → media-library-CH1Wx5wP.js} +13 -9
- package/dist/cdn/chunks/media-library-CH1Wx5wP.js.map +1 -0
- package/dist/cdn/chunks/pusher-CHo5Cua0.js.map +1 -1
- package/dist/cdn/chunks/{quality-BqJqIPRU.js → quality-D4NeyFej.js} +530 -530
- package/dist/cdn/chunks/{quality-BqJqIPRU.js.map → quality-D4NeyFej.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-CGVYkdUi.js → renderer-BQnGfLhL.js} +62 -61
- package/dist/cdn/chunks/renderer-BQnGfLhL.js.map +1 -0
- package/dist/cdn/chunks/{src-CvzfrFlT.js → src-BkKEyLw1.js} +6 -6
- package/dist/cdn/chunks/{src-CvzfrFlT.js.map → src-BkKEyLw1.js.map} +1 -1
- package/dist/cdn/chunks/{styles-2P5yvfsS.js → styles-BDVaiw3K.js} +150 -150
- package/dist/cdn/chunks/{styles-2P5yvfsS.js.map → styles-BDVaiw3K.js.map} +1 -1
- package/dist/cdn/chunks/{tiptap-BBbH3IT9.js → tiptap-P5abGB13.js} +4437 -2580
- package/dist/cdn/chunks/tiptap-P5abGB13.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +100 -100
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-ChQyfxJ3.js → check-KooI2jyS.js} +1 -1
- package/dist/{chevron-down-DJjo0jSV.js → chevron-down-mnlFgueW.js} +1 -1
- package/dist/{circle-alert-CPH6l3Lc.js → circle-alert-D89_hB8j.js} +1 -1
- package/dist/{clock-DHl_BIkU.js → clock-BaadyUrg.js} +1 -1
- package/dist/{cloud-BBC7bv8q.js → cloud-D-FScaHx.js} +80 -74
- package/dist/{createLucideIcon-XgXOJ05E.js → createLucideIcon-D-6fpD2L.js} +3 -3
- package/dist/{dist-DXaxGLsw.js → dist-BttO3Zdx.js} +44 -44
- package/dist/{dist-C8wMh_gi.js → dist-C1WcikEF.js} +5 -5
- package/dist/dist-CjULgTep.js +4072 -0
- package/dist/{dist-GAmhYvUK.js → dist-D6L_WdRL.js} +96 -86
- package/dist/{dist-DYO-w_Jf.js → dist-DaajG7Fo.js} +5 -5
- package/dist/dist-Df4eV6Zi.js +5 -0
- package/dist/{dist-D8C6jIXM.js → dist-Dnqx5UF3.js} +171 -158
- package/dist/{dist-CUpJmrjt.js → dist-Drp5bNAu.js} +5 -5
- package/dist/dist-WJ1fVd5b.js +5 -0
- package/dist/{dist-BxP6TB0l.js → dist-XA2i70J5.js} +8 -8
- package/dist/{dist-UK-lbEBc.js → dist-b52vYHb5.js} +2 -2
- package/dist/{dist-CNLAS2v2.js → dist-cl33Ip6W.js} +3 -3
- package/dist/{dist-C0jo8wtG.js → dist-sqf7pq5q.js} +16 -16
- package/dist/{dist-BzuC8o3y.js → dist-zInT3Lf6.js} +78 -60
- package/dist/{extensions-C87ZSllQ.js → extensions-DA-w1gVg.js} +128 -125
- package/dist/{image-up-CPBCOMit.js → image-up-DjwfAom6.js} +1 -1
- package/dist/{info-DIY9mguM.js → info-Db3HlTr8.js} +1 -1
- package/dist/{keys-Vt3XipJl.js → keys-BjmL5YCT.js} +1 -1
- package/dist/{liquid.browser-IgQrXHPQ.js → liquid.browser--qtl1Fqy.js} +9 -9
- package/dist/{list-checks-CSCyu3fH.js → list-checks-BlAB0X8a.js} +1 -1
- package/dist/{loader-circle-Rz_4vJLH.js → loader-circle-EVqyIxjU.js} +1 -1
- package/dist/{message-circle-D-umK_MU.js → message-circle-BuI5pBVG.js} +1 -1
- package/dist/{refresh-cw-CvWF4jfR.js → refresh-cw-C2vM_6zQ.js} +1 -1
- package/dist/{scan-line-wanvAFDr.js → scan-line-AUIh_SHI.js} +1 -1
- package/dist/{send-BhbhbIFT.js → send-nrbwF7xg.js} +1 -1
- package/dist/{shield-check-CXPPMWth.js → shield-check-B55Ozmva.js} +1 -1
- package/dist/{sparkles-CrUN0KWY.js → sparkles-oh1NUSFq.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{styles-DOjWbqA9.js → styles-Byhh107n.js} +41 -41
- package/dist/templatical-editor.js +81 -80
- package/dist/{text-align-end-Bkq8oBrD.js → text-align-start-B2MqzZwU.js} +11 -11
- package/dist/{trash-2-BpY5BCLT.js → trash-2-DH8RBwAx.js} +1 -1
- package/dist/{triangle-alert-MwJBKR2e.js → triangle-alert-BQHjCt3B.js} +1 -1
- package/dist/{useAliveFlag-BLyG8L4d.js → useAliveFlag-B_b9ubwD.js} +1 -1
- package/dist/{useCloudI18n-sRfoQCZY.js → useCloudI18n-BHCrmQgj.js} +2 -2
- package/dist/{useEditorCore-DxApq2hZ.js → useEditorCore-BEgc3KFu.js} +370 -377
- package/dist/{useI18n-lF6hYgZu.js → useI18n-Bb9-ha9X.js} +2 -2
- package/dist/{useMergeTag-CZVI7Xe5.js → useMergeTag-HykzEtBn.js} +3 -3
- package/dist/usePopoverRoot-BZDkRRry.js +8 -0
- package/dist/{vue.runtime.esm-bundler-BDSGA5hA.js → vue.runtime.esm-bundler-MzYCkFSH.js} +1306 -1305
- package/dist/{x-rcnxRG8Y.js → x-DgCCENgP.js} +1 -1
- package/package.json +27 -27
- package/dist/cdn/chunks/CloudEditor-xc_uOEgn.js.map +0 -1
- package/dist/cdn/chunks/draggable-BwWMFq33.js.map +0 -1
- package/dist/cdn/chunks/features-CwZTdcbt.js.map +0 -1
- package/dist/cdn/chunks/media-library-BRpHZOl7.js.map +0 -1
- package/dist/cdn/chunks/renderer-CGVYkdUi.js.map +0 -1
- package/dist/cdn/chunks/tiptap-BBbH3IT9.js.map +0 -1
- package/dist/dist-BDgf2G-V.js +0 -2243
- package/dist/dist-D5lmdi1F.js +0 -5
- package/dist/dist-DILjuzSv.js +0 -5
- package/dist/usePopoverRoot-p2BanBI7.js +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as e, r as t } from "./rolldown-runtime-Dqa2HsxW.js";
|
|
2
|
-
import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as ee, b as T, c as E, ct as D, d as te, et as ne, f as O, g as k, h as A, it as j, k as re, l as M, m as N, n as ie, nt as P, o as ae, ot as F, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-
|
|
2
|
+
import { $ as n, A as r, B as i, C as a, F as o, G as s, H as c, J as l, K as u, L as d, M as f, N as p, O as m, P as h, Q as g, S as _, T as v, U as y, V as b, X as x, Y as S, Z as C, a as w, at as ee, b as T, c as E, ct as D, d as te, et as ne, f as O, g as k, h as A, it as j, k as re, l as M, m as N, n as ie, nt as P, o as ae, ot as F, p as I, rt as oe, s as se, st as L, t as ce, u as R, v as z, w as le, x as B, y as V, z as H } from "./draggable-BTGr7_-X.js";
|
|
3
3
|
//#region src/constants/timeouts.ts
|
|
4
4
|
var ue = 3e4, de = 4e3, fe = 5e3, pe = {
|
|
5
5
|
1: 36,
|
|
@@ -328,8 +328,20 @@ function ct(e) {
|
|
|
328
328
|
return t.id = W(), t.type === "section" && (t.children = t.children.map((e) => e.map((e) => ct(e)))), t;
|
|
329
329
|
}
|
|
330
330
|
//#endregion
|
|
331
|
+
//#region ../types/src/clone.ts
|
|
332
|
+
function lt(e) {
|
|
333
|
+
let t = /* @__PURE__ */ new WeakSet();
|
|
334
|
+
return JSON.parse(JSON.stringify(e, (e, n) => {
|
|
335
|
+
if (typeof n == "object" && n) {
|
|
336
|
+
if (t.has(n)) return;
|
|
337
|
+
t.add(n);
|
|
338
|
+
}
|
|
339
|
+
return n;
|
|
340
|
+
}));
|
|
341
|
+
}
|
|
342
|
+
//#endregion
|
|
331
343
|
//#region ../types/src/merge-tags.ts
|
|
332
|
-
var
|
|
344
|
+
var ut = {
|
|
333
345
|
liquid: {
|
|
334
346
|
value: /\{\{.+?\}\}/g,
|
|
335
347
|
logic: /\{%-?\s*(\w+).*?-?%\}/g
|
|
@@ -346,50 +358,50 @@ var lt = {
|
|
|
346
358
|
value: /%%=.+?=%%/g,
|
|
347
359
|
logic: /%%\[\s*(\w+).*?\]%%/g
|
|
348
360
|
}
|
|
349
|
-
},
|
|
361
|
+
}, dt = {
|
|
350
362
|
liquid: "{{",
|
|
351
363
|
handlebars: "{{",
|
|
352
364
|
mailchimp: "*|",
|
|
353
365
|
ampscript: "%%="
|
|
354
366
|
};
|
|
355
|
-
function dt(e) {
|
|
356
|
-
for (let t of Object.keys(lt)) if (lt[t].value.source === e.value.source) return ut[t];
|
|
357
|
-
return null;
|
|
358
|
-
}
|
|
359
367
|
function ft(e) {
|
|
360
|
-
|
|
368
|
+
for (let t of Object.keys(ut)) if (ut[t].value.source === e.value.source) return dt[t];
|
|
369
|
+
return null;
|
|
361
370
|
}
|
|
362
371
|
function pt(e) {
|
|
372
|
+
return e ? typeof e == "string" ? ut[e] ?? ut.liquid : e : ut.liquid;
|
|
373
|
+
}
|
|
374
|
+
function mt(e) {
|
|
363
375
|
let t = e.source, n = e.flags.replace("g", "");
|
|
364
376
|
return RegExp(`^${t}$`, n);
|
|
365
377
|
}
|
|
366
|
-
function
|
|
378
|
+
function ht(e, t) {
|
|
367
379
|
let n = e?.trim() || "";
|
|
368
|
-
return
|
|
380
|
+
return mt(t.logic).test(n) ? !1 : mt(t.value).test(n);
|
|
369
381
|
}
|
|
370
|
-
function
|
|
382
|
+
function gt(e, t) {
|
|
371
383
|
let n = t.find((t) => t.value === e);
|
|
372
384
|
return n ? n.label : e;
|
|
373
385
|
}
|
|
374
|
-
function gt(e, t) {
|
|
375
|
-
return xt(e, "data-merge-tag", (e) => ht(e, t));
|
|
376
|
-
}
|
|
377
386
|
function _t(e, t) {
|
|
387
|
+
return St(e, "data-merge-tag", (e) => gt(e, t));
|
|
388
|
+
}
|
|
389
|
+
function vt(e, t) {
|
|
378
390
|
if (!e) return !1;
|
|
379
391
|
let n = new RegExp(t.value.source, t.value.flags), r = new RegExp(t.logic.source, t.logic.flags);
|
|
380
392
|
return n.test(e) || r.test(e);
|
|
381
393
|
}
|
|
382
|
-
function vt(e, t) {
|
|
383
|
-
return pt(t.logic).test(e?.trim() || "");
|
|
384
|
-
}
|
|
385
394
|
function yt(e, t) {
|
|
395
|
+
return mt(t.logic).test(e?.trim() || "");
|
|
396
|
+
}
|
|
397
|
+
function bt(e, t) {
|
|
386
398
|
let n = new RegExp(t.logic.source, t.logic.flags.replace("g", "")), r = e.match(n);
|
|
387
399
|
return r && r[1] ? r[1].toUpperCase() : e;
|
|
388
400
|
}
|
|
389
|
-
function
|
|
390
|
-
return
|
|
401
|
+
function xt(e, t) {
|
|
402
|
+
return St(e, "data-logic-merge-tag", (e) => bt(e, t));
|
|
391
403
|
}
|
|
392
|
-
function
|
|
404
|
+
function St(e, t, n) {
|
|
393
405
|
let r = RegExp(`(?:^|\\s)${t}="([^"<>]*)"`), i = "", a = 0;
|
|
394
406
|
for (; a < e.length;) {
|
|
395
407
|
let t = e.indexOf("<span", a);
|
|
@@ -424,7 +436,7 @@ function xt(e, t, n) {
|
|
|
424
436
|
}
|
|
425
437
|
//#endregion
|
|
426
438
|
//#region ../types/src/config.ts
|
|
427
|
-
var
|
|
439
|
+
var Ct = class extends Error {
|
|
428
440
|
statusCode;
|
|
429
441
|
constructor(e, t) {
|
|
430
442
|
super(e), this.statusCode = t, this.name = "SdkError";
|
|
@@ -441,10 +453,10 @@ var St = class extends Error {
|
|
|
441
453
|
};
|
|
442
454
|
//#endregion
|
|
443
455
|
//#region ../core/src/editor.ts
|
|
444
|
-
function
|
|
456
|
+
function wt(e) {
|
|
445
457
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
446
458
|
}
|
|
447
|
-
function
|
|
459
|
+
function Tt(e) {
|
|
448
460
|
let t = S({
|
|
449
461
|
content: e.content ?? Ue(e.defaultFontFamily, e.templateDefaults),
|
|
450
462
|
selectedBlockId: null,
|
|
@@ -534,7 +546,7 @@ function wt(e) {
|
|
|
534
546
|
if (s(n)) return;
|
|
535
547
|
let o = i(t.content.blocks, n);
|
|
536
548
|
if (o && o.type === "section") {
|
|
537
|
-
if (r < 0 || r >=
|
|
549
|
+
if (r < 0 || r >= wt(o.columns)) return;
|
|
538
550
|
o.children[r] = o.children[r] || [];
|
|
539
551
|
let t = o.children[r];
|
|
540
552
|
a !== void 0 && a < t.length ? t.splice(a, 0, e) : t.push(e);
|
|
@@ -566,7 +578,7 @@ function wt(e) {
|
|
|
566
578
|
let u;
|
|
567
579
|
if (r) {
|
|
568
580
|
let e = i(t.content.blocks, r);
|
|
569
|
-
if (!e || e.type !== "section" || a < 0 || a >=
|
|
581
|
+
if (!e || e.type !== "section" || a < 0 || a >= wt(e.columns)) return;
|
|
570
582
|
e.children[a] = e.children[a] || [], u = e.children[a];
|
|
571
583
|
} else u = t.content.blocks;
|
|
572
584
|
let [d] = c.blocks.splice(l, 1);
|
|
@@ -597,18 +609,11 @@ function wt(e) {
|
|
|
597
609
|
}
|
|
598
610
|
//#endregion
|
|
599
611
|
//#region ../core/src/history.ts
|
|
600
|
-
var
|
|
601
|
-
function
|
|
602
|
-
let { content: t, setContent: n, isRemoteOperation: r, maxSize: i =
|
|
612
|
+
var Et = 50, Dt = 300, Ot = 1500;
|
|
613
|
+
function kt(e) {
|
|
614
|
+
let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = Et } = e, a = C([]), o = C([]), s = C(!1), c = null, l = null, u = y(() => a.value.length > 0), d = y(() => o.value.length > 0);
|
|
603
615
|
function f() {
|
|
604
|
-
|
|
605
|
-
return JSON.parse(JSON.stringify(t.value, (t, n) => {
|
|
606
|
-
if (typeof n == "object" && n) {
|
|
607
|
-
if (e.has(n)) return;
|
|
608
|
-
e.add(n);
|
|
609
|
-
}
|
|
610
|
-
return n;
|
|
611
|
-
}));
|
|
616
|
+
return lt(t.value);
|
|
612
617
|
}
|
|
613
618
|
function p(e) {
|
|
614
619
|
a.value.push(e), a.value.length > i && a.value.splice(0, a.value.length - i);
|
|
@@ -624,21 +629,21 @@ function Ot(e) {
|
|
|
624
629
|
if (l && l.blockId === e) {
|
|
625
630
|
clearTimeout(l.timeoutId), l.timeoutId = setTimeout(() => {
|
|
626
631
|
l = null;
|
|
627
|
-
},
|
|
632
|
+
}, Dt);
|
|
628
633
|
return;
|
|
629
634
|
}
|
|
630
635
|
m(), p(f()), o.value = [], l = {
|
|
631
636
|
blockId: e,
|
|
632
637
|
timeoutId: setTimeout(() => {
|
|
633
638
|
l = null;
|
|
634
|
-
},
|
|
639
|
+
}, Dt)
|
|
635
640
|
};
|
|
636
641
|
}
|
|
637
642
|
}
|
|
638
643
|
function _() {
|
|
639
644
|
s.value = !0, c && clearTimeout(c), c = setTimeout(() => {
|
|
640
645
|
s.value = !1, c = null;
|
|
641
|
-
},
|
|
646
|
+
}, Ot);
|
|
642
647
|
}
|
|
643
648
|
function v() {
|
|
644
649
|
if (a.value.length === 0) return;
|
|
@@ -672,7 +677,7 @@ function Ot(e) {
|
|
|
672
677
|
}
|
|
673
678
|
//#endregion
|
|
674
679
|
//#region ../core/src/block-actions.ts
|
|
675
|
-
function
|
|
680
|
+
function At(e) {
|
|
676
681
|
e.type === "table" ? e.rows = e.rows.map((e) => ({
|
|
677
682
|
...e,
|
|
678
683
|
id: W(),
|
|
@@ -688,7 +693,7 @@ function kt(e) {
|
|
|
688
693
|
id: W()
|
|
689
694
|
})));
|
|
690
695
|
}
|
|
691
|
-
function
|
|
696
|
+
function jt(e) {
|
|
692
697
|
let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
|
|
693
698
|
function o(n, r, a) {
|
|
694
699
|
let o = st(n, e.blockDefaults);
|
|
@@ -696,9 +701,9 @@ function At(e) {
|
|
|
696
701
|
}
|
|
697
702
|
function s(e, n, r) {
|
|
698
703
|
let o = JSON.parse(JSON.stringify(e));
|
|
699
|
-
if (o.id = W(),
|
|
704
|
+
if (o.id = W(), At(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
|
|
700
705
|
let t = JSON.parse(JSON.stringify(e));
|
|
701
|
-
return t.id = W(),
|
|
706
|
+
return t.id = W(), At(t), t;
|
|
702
707
|
}))), n !== void 0 || r !== void 0) t(o, n, r);
|
|
703
708
|
else {
|
|
704
709
|
let i = a?.(e.id) ?? null;
|
|
@@ -721,7 +726,7 @@ function At(e) {
|
|
|
721
726
|
}
|
|
722
727
|
//#endregion
|
|
723
728
|
//#region ../core/src/auto-save.ts
|
|
724
|
-
function
|
|
729
|
+
function Mt(e) {
|
|
725
730
|
let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
|
|
726
731
|
function c() {
|
|
727
732
|
return typeof a == "function" ? a() : a;
|
|
@@ -759,7 +764,7 @@ function jt(e) {
|
|
|
759
764
|
}
|
|
760
765
|
//#endregion
|
|
761
766
|
//#region ../core/src/condition-preview.ts
|
|
762
|
-
function
|
|
767
|
+
function Nt(e) {
|
|
763
768
|
let t = S(/* @__PURE__ */ new Set()), n = y(() => t.size > 0);
|
|
764
769
|
function r(e) {
|
|
765
770
|
return t.has(e);
|
|
@@ -779,7 +784,7 @@ function Mt(e) {
|
|
|
779
784
|
}
|
|
780
785
|
//#endregion
|
|
781
786
|
//#region ../core/src/data-source-fetch.ts
|
|
782
|
-
function
|
|
787
|
+
function Pt(e) {
|
|
783
788
|
let t = C(!1), n = C(!1), r = y(() => !!e.definition.value?.dataSource), i = y(() => r.value && !e.block.value.dataSourceFetched);
|
|
784
789
|
async function a() {
|
|
785
790
|
let r = e.definition.value;
|
|
@@ -811,7 +816,7 @@ function Nt(e) {
|
|
|
811
816
|
}
|
|
812
817
|
//#endregion
|
|
813
818
|
//#region ../core/src/history-interceptor.ts
|
|
814
|
-
function
|
|
819
|
+
function Ft(e, t) {
|
|
815
820
|
let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
|
|
816
821
|
e.addBlock = (r, i, a, o) => {
|
|
817
822
|
i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
|
|
@@ -826,11 +831,11 @@ function Pt(e, t) {
|
|
|
826
831
|
};
|
|
827
832
|
}
|
|
828
833
|
//#endregion
|
|
829
|
-
//#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.
|
|
830
|
-
function
|
|
834
|
+
//#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.35_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
|
|
835
|
+
function It(e, t) {
|
|
831
836
|
return s() ? (l(e, t), !0) : !1;
|
|
832
837
|
}
|
|
833
|
-
function
|
|
838
|
+
function Lt() {
|
|
834
839
|
let e = /* @__PURE__ */ new Set(), t = (t) => {
|
|
835
840
|
e.delete(t);
|
|
836
841
|
};
|
|
@@ -838,7 +843,7 @@ function It() {
|
|
|
838
843
|
on: (n) => {
|
|
839
844
|
e.add(n);
|
|
840
845
|
let r = () => t(n);
|
|
841
|
-
return
|
|
846
|
+
return It(r), { off: r };
|
|
842
847
|
},
|
|
843
848
|
off: t,
|
|
844
849
|
trigger: (...t) => Promise.all(Array.from(e).map((e) => e(...t))),
|
|
@@ -847,18 +852,18 @@ function It() {
|
|
|
847
852
|
}
|
|
848
853
|
};
|
|
849
854
|
}
|
|
850
|
-
var
|
|
855
|
+
var Rt = /* @__PURE__ */ new WeakMap(), zt = (...e) => {
|
|
851
856
|
let t = e[0], n = _()?.proxy ?? s();
|
|
852
857
|
if (n == null && !le()) throw Error("injectLocal must be called in setup");
|
|
853
|
-
return n &&
|
|
854
|
-
},
|
|
858
|
+
return n && Rt.has(n) && t in Rt.get(n) ? Rt.get(n)[t] : v(...e);
|
|
859
|
+
}, Bt = typeof window < "u" && typeof document < "u";
|
|
855
860
|
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
856
|
-
var
|
|
857
|
-
function
|
|
861
|
+
var Vt = (e) => e != null, Ht = Object.prototype.toString, Ut = (e) => Ht.call(e) === "[object Object]", Wt = () => {}, Gt = (e, t) => Object.hasOwn(e, t), Kt = /* @__PURE__ */ qt();
|
|
862
|
+
function qt() {
|
|
858
863
|
var e, t;
|
|
859
|
-
return
|
|
864
|
+
return Bt && !!(!((e = window) == null || (e = e.navigator) == null) && e.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((t = window) == null || (t = t.navigator) == null ? void 0 : t.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window?.navigator.userAgent));
|
|
860
865
|
}
|
|
861
|
-
function
|
|
866
|
+
function Jt(e, t) {
|
|
862
867
|
function n(...n) {
|
|
863
868
|
return new Promise((r, i) => {
|
|
864
869
|
Promise.resolve(e(() => t.apply(this, n), {
|
|
@@ -870,10 +875,10 @@ function qt(e, t) {
|
|
|
870
875
|
}
|
|
871
876
|
return n;
|
|
872
877
|
}
|
|
873
|
-
var
|
|
874
|
-
function
|
|
875
|
-
let n, r, i =
|
|
876
|
-
clearTimeout(e), i(), i =
|
|
878
|
+
var Yt = (e) => e();
|
|
879
|
+
function Xt(e, t = {}) {
|
|
880
|
+
let n, r, i = Wt, a = (e) => {
|
|
881
|
+
clearTimeout(e), i(), i = Wt;
|
|
877
882
|
}, o;
|
|
878
883
|
return (s) => {
|
|
879
884
|
let c = P(e), l = P(t.maxWait);
|
|
@@ -886,7 +891,7 @@ function Yt(e, t = {}) {
|
|
|
886
891
|
});
|
|
887
892
|
};
|
|
888
893
|
}
|
|
889
|
-
function
|
|
894
|
+
function Zt(e) {
|
|
890
895
|
let t;
|
|
891
896
|
function n() {
|
|
892
897
|
return t ||= e(), t;
|
|
@@ -896,32 +901,32 @@ function Xt(e) {
|
|
|
896
901
|
t = void 0, e && await e;
|
|
897
902
|
}, n;
|
|
898
903
|
}
|
|
899
|
-
function
|
|
904
|
+
function Qt(e) {
|
|
900
905
|
return e.endsWith("rem") ? Number.parseFloat(e) * 16 : Number.parseFloat(e);
|
|
901
906
|
}
|
|
902
|
-
function
|
|
907
|
+
function $t(e) {
|
|
903
908
|
return Array.isArray(e) ? e : [e];
|
|
904
909
|
}
|
|
905
|
-
function
|
|
910
|
+
function en(e) {
|
|
906
911
|
return e || _();
|
|
907
912
|
}
|
|
908
|
-
function en(e, t = 200, n = {}) {
|
|
909
|
-
return qt(Yt(t, n), e);
|
|
910
|
-
}
|
|
911
913
|
function tn(e, t = 200, n = {}) {
|
|
912
|
-
|
|
914
|
+
return Jt(Xt(t, n), e);
|
|
915
|
+
}
|
|
916
|
+
function nn(e, t = 200, n = {}) {
|
|
917
|
+
let r = C(P(e)), i = tn(() => {
|
|
913
918
|
r.value = e.value;
|
|
914
919
|
}, t, n);
|
|
915
920
|
return H(e, () => i()), g(r);
|
|
916
921
|
}
|
|
917
|
-
function
|
|
918
|
-
let { eventFilter: r =
|
|
919
|
-
return H(e,
|
|
922
|
+
function rn(e, t, n = {}) {
|
|
923
|
+
let { eventFilter: r = Yt, ...i } = n;
|
|
924
|
+
return H(e, Jt(r, t), i);
|
|
920
925
|
}
|
|
921
|
-
function
|
|
922
|
-
|
|
926
|
+
function an(e, t = !0, n) {
|
|
927
|
+
en(n) ? r(e, n) : t ? e() : m(e);
|
|
923
928
|
}
|
|
924
|
-
function
|
|
929
|
+
function on(e, t = 1e3, r = {}) {
|
|
925
930
|
let { immediate: i = !0, immediateCallback: a = !1 } = r, o = null, s = n(!1);
|
|
926
931
|
function c() {
|
|
927
932
|
o &&= (clearInterval(o), null);
|
|
@@ -933,15 +938,15 @@ function an(e, t = 1e3, r = {}) {
|
|
|
933
938
|
let n = P(t);
|
|
934
939
|
n <= 0 || (s.value = !0, a && e(), c(), s.value && (o = setInterval(e, n)));
|
|
935
940
|
}
|
|
936
|
-
return i &&
|
|
937
|
-
s.value &&
|
|
938
|
-
})),
|
|
941
|
+
return i && Bt && d(), (u(t) || typeof t == "function") && It(H(t, () => {
|
|
942
|
+
s.value && Bt && d();
|
|
943
|
+
})), It(l), {
|
|
939
944
|
isActive: g(s),
|
|
940
945
|
pause: l,
|
|
941
946
|
resume: d
|
|
942
947
|
};
|
|
943
948
|
}
|
|
944
|
-
function
|
|
949
|
+
function sn(e, t, r = {}) {
|
|
945
950
|
let { immediate: i = !0, immediateCallback: a = !1 } = r, o = n(!1), s;
|
|
946
951
|
function c() {
|
|
947
952
|
s &&= (clearTimeout(s), void 0);
|
|
@@ -954,13 +959,13 @@ function on(e, t, r = {}) {
|
|
|
954
959
|
o.value = !1, s = void 0, e(...n);
|
|
955
960
|
}, P(t));
|
|
956
961
|
}
|
|
957
|
-
return i && (o.value = !0,
|
|
962
|
+
return i && (o.value = !0, Bt && u()), It(l), {
|
|
958
963
|
isPending: g(o),
|
|
959
964
|
start: u,
|
|
960
965
|
stop: l
|
|
961
966
|
};
|
|
962
967
|
}
|
|
963
|
-
function
|
|
968
|
+
function cn(e = !1, t = {}) {
|
|
964
969
|
let { truthyValue: r = !0, falsyValue: i = !1 } = t, a = u(e), o = n(e);
|
|
965
970
|
function s(e) {
|
|
966
971
|
if (arguments.length) return o.value = e, o.value;
|
|
@@ -971,56 +976,56 @@ function sn(e = !1, t = {}) {
|
|
|
971
976
|
}
|
|
972
977
|
return a ? s : [o, s];
|
|
973
978
|
}
|
|
974
|
-
function
|
|
979
|
+
function ln(e, t, n = {}) {
|
|
975
980
|
let { debounce: r = 0, maxWait: i = void 0, ...a } = n;
|
|
976
|
-
return
|
|
981
|
+
return rn(e, t, {
|
|
977
982
|
...a,
|
|
978
|
-
eventFilter:
|
|
983
|
+
eventFilter: Xt(r, { maxWait: i })
|
|
979
984
|
});
|
|
980
985
|
}
|
|
981
|
-
function
|
|
986
|
+
function un(e, t, n) {
|
|
982
987
|
return H(e, t, {
|
|
983
988
|
...n,
|
|
984
989
|
immediate: !0
|
|
985
990
|
});
|
|
986
991
|
}
|
|
987
992
|
//#endregion
|
|
988
|
-
//#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.
|
|
989
|
-
var
|
|
993
|
+
//#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.35_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
|
|
994
|
+
var dn = Bt ? window : void 0, fn = Bt ? window.document : void 0, pn = Bt ? window.navigator : void 0;
|
|
990
995
|
function K(e) {
|
|
991
996
|
let t = P(e);
|
|
992
997
|
return t?.$el ?? t;
|
|
993
998
|
}
|
|
994
999
|
function q(...e) {
|
|
995
1000
|
let t = (e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)), n = O(() => {
|
|
996
|
-
let t =
|
|
1001
|
+
let t = $t(P(e[0])).filter((e) => e != null);
|
|
997
1002
|
return t.every((e) => typeof e != "string") ? t : void 0;
|
|
998
1003
|
});
|
|
999
|
-
return
|
|
1000
|
-
n.value?.map((e) => K(e)) ?? [
|
|
1001
|
-
|
|
1002
|
-
|
|
1004
|
+
return un(() => [
|
|
1005
|
+
n.value?.map((e) => K(e)) ?? [dn].filter((e) => e != null),
|
|
1006
|
+
$t(P(n.value ? e[1] : e[0])),
|
|
1007
|
+
$t(j(n.value ? e[2] : e[1])),
|
|
1003
1008
|
P(n.value ? e[3] : e[2])
|
|
1004
1009
|
], ([e, n, r, i], a, o) => {
|
|
1005
1010
|
if (!e?.length || !n?.length || !r?.length) return;
|
|
1006
|
-
let s =
|
|
1011
|
+
let s = Ut(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
|
|
1007
1012
|
o(() => {
|
|
1008
1013
|
c.forEach((e) => e());
|
|
1009
1014
|
});
|
|
1010
1015
|
}, { flush: "post" });
|
|
1011
1016
|
}
|
|
1012
|
-
var
|
|
1013
|
-
function
|
|
1014
|
-
let { window: r =
|
|
1017
|
+
var mn = !1;
|
|
1018
|
+
function hn(e, t, n = {}) {
|
|
1019
|
+
let { window: r = dn, ignore: i = [], capture: a = !0, detectIframe: o = !1, controls: s = !1 } = n;
|
|
1015
1020
|
if (!r) return s ? {
|
|
1016
|
-
stop:
|
|
1017
|
-
cancel:
|
|
1018
|
-
trigger:
|
|
1019
|
-
} :
|
|
1020
|
-
if (
|
|
1021
|
-
|
|
1021
|
+
stop: Wt,
|
|
1022
|
+
cancel: Wt,
|
|
1023
|
+
trigger: Wt
|
|
1024
|
+
} : Wt;
|
|
1025
|
+
if (Kt && !mn) {
|
|
1026
|
+
mn = !0;
|
|
1022
1027
|
let e = { passive: !0 };
|
|
1023
|
-
Array.from(r.document.body.children).forEach((t) => t.addEventListener("click",
|
|
1028
|
+
Array.from(r.document.body.children).forEach((t) => t.addEventListener("click", Wt, e)), r.document.documentElement.addEventListener("click", Wt, e);
|
|
1024
1029
|
}
|
|
1025
1030
|
let c = !0, l = (e) => P(i).some((t) => {
|
|
1026
1031
|
if (typeof t == "string") return Array.from(r.document.querySelectorAll(t)).some((t) => t === e.target || e.composedPath().includes(t));
|
|
@@ -1077,21 +1082,21 @@ function mn(e, t, n = {}) {
|
|
|
1077
1082
|
}
|
|
1078
1083
|
} : h;
|
|
1079
1084
|
}
|
|
1080
|
-
function
|
|
1085
|
+
function gn() {
|
|
1081
1086
|
let e = n(!1), t = _();
|
|
1082
1087
|
return t && r(() => {
|
|
1083
1088
|
e.value = !0;
|
|
1084
1089
|
}, t), e;
|
|
1085
1090
|
}
|
|
1086
1091
|
/* @__NO_SIDE_EFFECTS__ */
|
|
1087
|
-
function
|
|
1088
|
-
return
|
|
1092
|
+
function _n(e) {
|
|
1093
|
+
return gn(), O(() => !!e());
|
|
1089
1094
|
}
|
|
1090
|
-
function
|
|
1091
|
-
let { window: r =
|
|
1095
|
+
function vn(e, t, n = {}) {
|
|
1096
|
+
let { window: r = dn, ...i } = n, a, o = /* @__PURE__ */ _n(() => r && "MutationObserver" in r), s = () => {
|
|
1092
1097
|
a &&= (a.disconnect(), void 0);
|
|
1093
1098
|
}, c = H(O(() => {
|
|
1094
|
-
let t =
|
|
1099
|
+
let t = $t(P(e)).map(K).filter(Vt);
|
|
1095
1100
|
return new Set(t);
|
|
1096
1101
|
}), (e) => {
|
|
1097
1102
|
s(), o.value && e.size && (a = new MutationObserver(t), e.forEach((e) => a.observe(e, i)));
|
|
@@ -1101,25 +1106,25 @@ function _n(e, t, n = {}) {
|
|
|
1101
1106
|
}), l = () => a?.takeRecords(), u = () => {
|
|
1102
1107
|
c(), s();
|
|
1103
1108
|
};
|
|
1104
|
-
return
|
|
1109
|
+
return It(u), {
|
|
1105
1110
|
isSupported: o,
|
|
1106
1111
|
stop: u,
|
|
1107
1112
|
takeRecords: l
|
|
1108
1113
|
};
|
|
1109
1114
|
}
|
|
1110
|
-
var
|
|
1115
|
+
var yn = Symbol("vueuse-ssr-width");
|
|
1111
1116
|
/* @__NO_SIDE_EFFECTS__ */
|
|
1112
|
-
function
|
|
1113
|
-
let e = le() ?
|
|
1117
|
+
function bn() {
|
|
1118
|
+
let e = le() ? zt(yn, null) : null;
|
|
1114
1119
|
return typeof e == "number" ? e : void 0;
|
|
1115
1120
|
}
|
|
1116
|
-
function
|
|
1117
|
-
let { window: r =
|
|
1121
|
+
function xn(e, t = {}) {
|
|
1122
|
+
let { window: r = dn, ssrWidth: a = /* @__PURE__ */ bn() } = t, o = /* @__PURE__ */ _n(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), s = n(typeof a == "number"), c = n(), l = n(!1);
|
|
1118
1123
|
return i(() => {
|
|
1119
1124
|
if (s.value) {
|
|
1120
1125
|
s.value = !o.value, l.value = P(e).split(",").some((e) => {
|
|
1121
1126
|
let t = e.includes("not all"), n = e.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), r = e.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/), i = !!(n || r);
|
|
1122
|
-
return n && i && (i = a >=
|
|
1127
|
+
return n && i && (i = a >= Qt(n[1])), r && i && (i = a <= Qt(r[1])), t ? !i : i;
|
|
1123
1128
|
});
|
|
1124
1129
|
return;
|
|
1125
1130
|
}
|
|
@@ -1128,12 +1133,12 @@ function bn(e, t = {}) {
|
|
|
1128
1133
|
l.value = e.matches;
|
|
1129
1134
|
}, { passive: !0 }), O(() => l.value);
|
|
1130
1135
|
}
|
|
1131
|
-
function
|
|
1132
|
-
let { controls: r = !1, navigator: i =
|
|
1136
|
+
function Sn(e, t = {}) {
|
|
1137
|
+
let { controls: r = !1, navigator: i = pn } = t, a = /* @__PURE__ */ _n(() => i && "permissions" in i), o = n(), s = typeof e == "string" ? { name: e } : e, c = n(), l = () => {
|
|
1133
1138
|
c.value = o.value?.state ?? "prompt";
|
|
1134
1139
|
};
|
|
1135
1140
|
q(o, "change", l, { passive: !0 });
|
|
1136
|
-
let u =
|
|
1141
|
+
let u = Zt(async () => {
|
|
1137
1142
|
if (a.value) {
|
|
1138
1143
|
if (!o.value) try {
|
|
1139
1144
|
o.value = await i.permissions.query(s);
|
|
@@ -1151,8 +1156,8 @@ function xn(e, t = {}) {
|
|
|
1151
1156
|
query: u
|
|
1152
1157
|
} : c;
|
|
1153
1158
|
}
|
|
1154
|
-
function
|
|
1155
|
-
let { navigator: t =
|
|
1159
|
+
function Cn(e = {}) {
|
|
1160
|
+
let { navigator: t = pn, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ _n(() => t && "clipboard" in t), c = Sn("clipboard-read"), l = Sn("clipboard-write"), u = O(() => s.value || o), d = n(""), f = n(!1), p = n(!1), m = sn(() => f.value = !1, a, { immediate: !1 }), h = 0;
|
|
1156
1161
|
async function _() {
|
|
1157
1162
|
let e = !(s.value && S(c.value));
|
|
1158
1163
|
if (!e) try {
|
|
@@ -1204,9 +1209,9 @@ function Sn(e = {}) {
|
|
|
1204
1209
|
copy: v
|
|
1205
1210
|
};
|
|
1206
1211
|
}
|
|
1207
|
-
function
|
|
1212
|
+
function wn(e, t = {}) {
|
|
1208
1213
|
let r = n(!1), i = n(null), a = 0, o = !0;
|
|
1209
|
-
if (
|
|
1214
|
+
if (Bt) {
|
|
1210
1215
|
let n = typeof t == "function" ? { onDrop: t } : t, s = n.multiple ?? !0, c = n.preventDefaultForUnhandled ?? !1, l = (e) => {
|
|
1211
1216
|
let t = Array.from(e.dataTransfer?.files ?? []);
|
|
1212
1217
|
return t.length === 0 ? null : s ? t : [t[0]];
|
|
@@ -1249,8 +1254,8 @@ function Cn(e, t = {}) {
|
|
|
1249
1254
|
isOverDropZone: r
|
|
1250
1255
|
};
|
|
1251
1256
|
}
|
|
1252
|
-
function
|
|
1253
|
-
let { window: r =
|
|
1257
|
+
function Tn(e, t, n = {}) {
|
|
1258
|
+
let { window: r = dn, ...i } = n, a, o = /* @__PURE__ */ _n(() => r && "ResizeObserver" in r), s = () => {
|
|
1254
1259
|
a &&= (a.disconnect(), void 0);
|
|
1255
1260
|
}, c = H(O(() => {
|
|
1256
1261
|
let t = P(e);
|
|
@@ -1266,12 +1271,12 @@ function wn(e, t, n = {}) {
|
|
|
1266
1271
|
}), l = () => {
|
|
1267
1272
|
s(), c();
|
|
1268
1273
|
};
|
|
1269
|
-
return
|
|
1274
|
+
return It(l), {
|
|
1270
1275
|
isSupported: o,
|
|
1271
1276
|
stop: l
|
|
1272
1277
|
};
|
|
1273
1278
|
}
|
|
1274
|
-
function
|
|
1279
|
+
function En(e, t = {}) {
|
|
1275
1280
|
let { reset: r = !0, windowResize: i = !0, windowScroll: a = !0, immediate: o = !0, updateTiming: s = "sync" } = t, c = n(0), l = n(0), u = n(0), d = n(0), f = n(0), p = n(0), m = n(0), h = n(0);
|
|
1276
1281
|
function g() {
|
|
1277
1282
|
let t = K(e);
|
|
@@ -1285,10 +1290,10 @@ function Tn(e, t = {}) {
|
|
|
1285
1290
|
function _() {
|
|
1286
1291
|
s === "sync" ? g() : s === "next-frame" && requestAnimationFrame(() => g());
|
|
1287
1292
|
}
|
|
1288
|
-
return
|
|
1293
|
+
return Tn(e, _), H(() => K(e), (e) => !e && _()), vn(e, _, { attributeFilter: ["style", "class"] }), a && q("scroll", _, {
|
|
1289
1294
|
capture: !0,
|
|
1290
1295
|
passive: !0
|
|
1291
|
-
}), i && q("resize", _, { passive: !0 }),
|
|
1296
|
+
}), i && q("resize", _, { passive: !0 }), an(() => {
|
|
1292
1297
|
o && _();
|
|
1293
1298
|
}), {
|
|
1294
1299
|
height: c,
|
|
@@ -1302,8 +1307,8 @@ function Tn(e, t = {}) {
|
|
|
1302
1307
|
update: _
|
|
1303
1308
|
};
|
|
1304
1309
|
}
|
|
1305
|
-
function
|
|
1306
|
-
let { root: i, rootMargin: a, threshold: o = 0, window: s =
|
|
1310
|
+
function Dn(e, t, r = {}) {
|
|
1311
|
+
let { root: i, rootMargin: a, threshold: o = 0, window: s = dn, immediate: c = !0 } = r, l = /* @__PURE__ */ _n(() => s && "IntersectionObserver" in s), u = O(() => $t(P(e)).map(K).filter(Vt)), d = Wt, f = n(c), p = l.value ? H(() => [
|
|
1307
1312
|
u.value,
|
|
1308
1313
|
K(i),
|
|
1309
1314
|
P(a),
|
|
@@ -1316,15 +1321,15 @@ function En(e, t, r = {}) {
|
|
|
1316
1321
|
threshold: o
|
|
1317
1322
|
});
|
|
1318
1323
|
e.forEach((e) => e && i.observe(e)), d = () => {
|
|
1319
|
-
i.disconnect(), d =
|
|
1324
|
+
i.disconnect(), d = Wt;
|
|
1320
1325
|
};
|
|
1321
1326
|
}, {
|
|
1322
1327
|
immediate: c,
|
|
1323
1328
|
flush: "post"
|
|
1324
|
-
}) :
|
|
1329
|
+
}) : Wt, m = () => {
|
|
1325
1330
|
d(), p(), f.value = !1;
|
|
1326
1331
|
};
|
|
1327
|
-
return
|
|
1332
|
+
return It(m), {
|
|
1328
1333
|
isSupported: l,
|
|
1329
1334
|
isActive: f,
|
|
1330
1335
|
pause() {
|
|
@@ -1336,21 +1341,21 @@ function En(e, t, r = {}) {
|
|
|
1336
1341
|
stop: m
|
|
1337
1342
|
};
|
|
1338
1343
|
}
|
|
1339
|
-
var
|
|
1344
|
+
var On = {
|
|
1340
1345
|
multiple: !0,
|
|
1341
1346
|
accept: "*",
|
|
1342
1347
|
reset: !1,
|
|
1343
1348
|
directory: !1
|
|
1344
1349
|
};
|
|
1345
|
-
function
|
|
1350
|
+
function kn(e) {
|
|
1346
1351
|
if (!e) return null;
|
|
1347
1352
|
if (e instanceof FileList) return e;
|
|
1348
1353
|
let t = new DataTransfer();
|
|
1349
1354
|
for (let n of e) t.items.add(n);
|
|
1350
1355
|
return t.files;
|
|
1351
1356
|
}
|
|
1352
|
-
function
|
|
1353
|
-
let { document: t =
|
|
1357
|
+
function An(e = {}) {
|
|
1358
|
+
let { document: t = fn } = e, n = C(kn(e.initialFiles)), { on: r, trigger: a } = Lt(), { on: o, trigger: s } = Lt(), c = O(() => {
|
|
1354
1359
|
let r = K(e.input) ?? (t ? t.createElement("input") : void 0);
|
|
1355
1360
|
return r && (r.type = "file", r.onchange = (e) => {
|
|
1356
1361
|
n.value = e.target.files, a(n.value);
|
|
@@ -1361,7 +1366,7 @@ function kn(e = {}) {
|
|
|
1361
1366
|
n.value = null, c.value && c.value.value && (c.value.value = "", a(null));
|
|
1362
1367
|
}, u = (e) => {
|
|
1363
1368
|
let t = c.value;
|
|
1364
|
-
t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory),
|
|
1369
|
+
t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory), Gt(e, "capture") && (t.capture = P(e.capture)));
|
|
1365
1370
|
};
|
|
1366
1371
|
return i(() => {
|
|
1367
1372
|
u(e);
|
|
@@ -1371,7 +1376,7 @@ function kn(e = {}) {
|
|
|
1371
1376
|
let n = c.value;
|
|
1372
1377
|
if (!n) return;
|
|
1373
1378
|
let r = {
|
|
1374
|
-
...
|
|
1379
|
+
...On,
|
|
1375
1380
|
...e,
|
|
1376
1381
|
...t
|
|
1377
1382
|
};
|
|
@@ -1384,26 +1389,26 @@ function kn(e = {}) {
|
|
|
1384
1389
|
}
|
|
1385
1390
|
//#endregion
|
|
1386
1391
|
//#region src/utils/activeEditorTracker.ts
|
|
1387
|
-
var
|
|
1388
|
-
function
|
|
1389
|
-
let e = ++
|
|
1390
|
-
return
|
|
1392
|
+
var jn = /* @__PURE__ */ new Set(), Mn = 0, Nn = 0;
|
|
1393
|
+
function Pn() {
|
|
1394
|
+
let e = ++Nn;
|
|
1395
|
+
return jn.add(e), Mn === 0 && (Mn = e), {
|
|
1391
1396
|
id: e,
|
|
1392
|
-
isActive: () =>
|
|
1397
|
+
isActive: () => jn.size <= 1 || Mn === e,
|
|
1393
1398
|
claim: () => {
|
|
1394
|
-
|
|
1399
|
+
Mn = e;
|
|
1395
1400
|
},
|
|
1396
1401
|
dispose: () => {
|
|
1397
|
-
if (
|
|
1398
|
-
let e = Array.from(
|
|
1399
|
-
|
|
1402
|
+
if (jn.delete(e), Mn === e) {
|
|
1403
|
+
let e = Array.from(jn);
|
|
1404
|
+
Mn = e[e.length - 1] ?? 0;
|
|
1400
1405
|
}
|
|
1401
1406
|
}
|
|
1402
1407
|
};
|
|
1403
1408
|
}
|
|
1404
1409
|
//#endregion
|
|
1405
1410
|
//#region src/keys.ts
|
|
1406
|
-
var
|
|
1411
|
+
var Fn = Symbol("translations"), In = Symbol("editor"), Ln = Symbol("history"), Rn = Symbol("blockActions"), zn = Symbol("conditionPreview"), Bn = Symbol("fontsManager"), Vn = Symbol("themeStyles"), Hn = Symbol("tplUiTheme"), Un = Symbol("blockDefaults"), Wn = Symbol("blockRegistry"), Gn = Symbol("customBlockDefinitions"), Kn = Symbol("customBlockStylesheets"), qn = Symbol("mergeTags"), Jn = Symbol("mergeTagSyntax"), Yn = Symbol("onRequestMergeTag"), Xn = Symbol("mergeTagAutocomplete"), Zn = Symbol("mergeTagPicker"), Qn = Symbol("onRequestMedia"), $n = Symbol("displayConditions"), er = Symbol("allowCustomConditions"), tr = Symbol("capabilities"), nr = Symbol("keyboardReorder"), rr = Symbol("templateLint"), ir = Symbol("editorRoot"), ar = Symbol("popoverRoot"), or = Symbol("authManager"), sr = Symbol("aiConfig"), cr = Symbol("comments"), lr = Symbol("savedModulesHeadless"), ur = Symbol("scoring"), dr = Symbol("cloudTranslations");
|
|
1407
1412
|
function J(e, t) {
|
|
1408
1413
|
let n = v(e, null);
|
|
1409
1414
|
if (n == null) throw Error(`${t} requires a provider for ${e.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
|
|
@@ -1411,7 +1416,7 @@ function J(e, t) {
|
|
|
1411
1416
|
}
|
|
1412
1417
|
//#endregion
|
|
1413
1418
|
//#region src/composables/useMergeTagPicker.ts
|
|
1414
|
-
function
|
|
1419
|
+
function fr() {
|
|
1415
1420
|
let e = C(!1), t = C([]), n = null;
|
|
1416
1421
|
function r(r) {
|
|
1417
1422
|
if (n) {
|
|
@@ -1441,17 +1446,17 @@ function dr() {
|
|
|
1441
1446
|
}
|
|
1442
1447
|
//#endregion
|
|
1443
1448
|
//#region src/composables/useTemplateLint.ts
|
|
1444
|
-
function
|
|
1449
|
+
function pr(e) {
|
|
1445
1450
|
return e ? e.disabled === !0 ? !0 : e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
1446
1451
|
}
|
|
1447
|
-
function
|
|
1448
|
-
let t = C([]), r = C(!1), i = C(!1), a = n(null), o =
|
|
1452
|
+
function mr(e) {
|
|
1453
|
+
let t = C([]), r = C(!1), i = C(!1), a = n(null), o = pr(e.options), s = null, c = !1;
|
|
1449
1454
|
o || l();
|
|
1450
1455
|
async function l() {
|
|
1451
1456
|
try {
|
|
1452
|
-
let t = await import("./quality-
|
|
1457
|
+
let t = await import("./quality-D4NeyFej.js").then((e) => e.t);
|
|
1453
1458
|
if (c) return;
|
|
1454
|
-
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s =
|
|
1459
|
+
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = ln(e.content, u, {
|
|
1455
1460
|
debounce: e.debounce ?? 500,
|
|
1456
1461
|
deep: !0
|
|
1457
1462
|
});
|
|
@@ -1487,7 +1492,7 @@ function pr(e) {
|
|
|
1487
1492
|
//#endregion
|
|
1488
1493
|
//#region src/composables/useI18n.ts
|
|
1489
1494
|
function Y(e) {
|
|
1490
|
-
let t = e ?? v(
|
|
1495
|
+
let t = e ?? v(Fn, null);
|
|
1491
1496
|
if (!t) throw Error("useI18n() requires a translations provider. Ensure the component is a descendant of Editor or CloudEditor.");
|
|
1492
1497
|
let n = u(t) ? t.value : t;
|
|
1493
1498
|
function r(e, t) {
|
|
@@ -1500,12 +1505,12 @@ function Y(e) {
|
|
|
1500
1505
|
}
|
|
1501
1506
|
//#endregion
|
|
1502
1507
|
//#region src/utils/blockTypeLabels.ts
|
|
1503
|
-
function
|
|
1508
|
+
function hr(e, t) {
|
|
1504
1509
|
return t.blocks[e] ?? e;
|
|
1505
1510
|
}
|
|
1506
1511
|
//#endregion
|
|
1507
1512
|
//#region src/composables/useKeyboardReorder.ts
|
|
1508
|
-
function
|
|
1513
|
+
function gr(e, t) {
|
|
1509
1514
|
let n = C(null), r = C(""), i = null;
|
|
1510
1515
|
function a(t) {
|
|
1511
1516
|
let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
|
|
@@ -1532,7 +1537,7 @@ function hr(e, t) {
|
|
|
1532
1537
|
let r = a(n);
|
|
1533
1538
|
if (!r) return "";
|
|
1534
1539
|
let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
|
|
1535
|
-
return i ?
|
|
1540
|
+
return i ? hr(i.type, t.t) : "";
|
|
1536
1541
|
}
|
|
1537
1542
|
function s(t, n) {
|
|
1538
1543
|
return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
|
|
@@ -1601,13 +1606,13 @@ function hr(e, t) {
|
|
|
1601
1606
|
}
|
|
1602
1607
|
//#endregion
|
|
1603
1608
|
//#region src/composables/useUiTheme.ts
|
|
1604
|
-
function
|
|
1605
|
-
let t =
|
|
1609
|
+
function _r(e) {
|
|
1610
|
+
let t = xn("(prefers-color-scheme: dark)");
|
|
1606
1611
|
return { resolvedTheme: O(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
|
|
1607
1612
|
}
|
|
1608
1613
|
//#endregion
|
|
1609
1614
|
//#region src/composables/useThemeStyles.ts
|
|
1610
|
-
var
|
|
1615
|
+
var vr = {
|
|
1611
1616
|
bg: "--tpl-bg",
|
|
1612
1617
|
bgElevated: "--tpl-bg-elevated",
|
|
1613
1618
|
bgHover: "--tpl-bg-hover",
|
|
@@ -1631,10 +1636,10 @@ var _r = {
|
|
|
1631
1636
|
dangerLight: "--tpl-danger-light",
|
|
1632
1637
|
canvasBg: "--tpl-canvas-bg"
|
|
1633
1638
|
};
|
|
1634
|
-
function
|
|
1639
|
+
function yr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
1635
1640
|
return { themeStyles: O(() => {
|
|
1636
1641
|
let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
|
|
1637
|
-
if (a) for (let [e, t] of Object.entries(
|
|
1642
|
+
if (a) for (let [e, t] of Object.entries(vr)) {
|
|
1638
1643
|
let n = a[e];
|
|
1639
1644
|
n && (r[t] = n);
|
|
1640
1645
|
}
|
|
@@ -1643,27 +1648,27 @@ function vr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
1643
1648
|
}
|
|
1644
1649
|
//#endregion
|
|
1645
1650
|
//#region src/utils/logger.ts
|
|
1646
|
-
var
|
|
1647
|
-
function
|
|
1651
|
+
var br = "[Templatical]";
|
|
1652
|
+
function xr() {
|
|
1648
1653
|
return typeof process < "u" && !0;
|
|
1649
1654
|
}
|
|
1650
|
-
var
|
|
1655
|
+
var Sr = {
|
|
1651
1656
|
warn(...e) {
|
|
1652
|
-
console.warn(
|
|
1657
|
+
console.warn(br, ...e);
|
|
1653
1658
|
},
|
|
1654
1659
|
error(...e) {
|
|
1655
|
-
console.error(
|
|
1660
|
+
console.error(br, ...e);
|
|
1656
1661
|
},
|
|
1657
1662
|
debug(...e) {
|
|
1658
|
-
|
|
1663
|
+
xr() || console.debug(br, ...e);
|
|
1659
1664
|
},
|
|
1660
1665
|
info(...e) {
|
|
1661
|
-
|
|
1666
|
+
xr() || console.info(br, ...e);
|
|
1662
1667
|
}
|
|
1663
1668
|
};
|
|
1664
1669
|
//#endregion
|
|
1665
1670
|
//#region src/composables/useBlockRegistry.ts
|
|
1666
|
-
function
|
|
1671
|
+
function Cr() {
|
|
1667
1672
|
let e = n(/* @__PURE__ */ new Map());
|
|
1668
1673
|
function t(t, n) {
|
|
1669
1674
|
e.value.set(t, n), oe(e);
|
|
@@ -1709,13 +1714,13 @@ function Sr() {
|
|
|
1709
1714
|
let t = s(e.customType);
|
|
1710
1715
|
if (!t) return c("Block definition not found");
|
|
1711
1716
|
try {
|
|
1712
|
-
let { Liquid: n } = await import("./liquid.browser-
|
|
1717
|
+
let { Liquid: n } = await import("./liquid.browser-DUDc3U21.js");
|
|
1713
1718
|
return await new n({
|
|
1714
1719
|
strictVariables: !1,
|
|
1715
1720
|
strictFilters: !1
|
|
1716
1721
|
}).parseAndRender(t.template, e.fieldValues);
|
|
1717
1722
|
} catch (t) {
|
|
1718
|
-
return
|
|
1723
|
+
return Sr.error(`Failed to render custom block "${e.customType}":`, t), c(`Render error: ${e.customType}`);
|
|
1719
1724
|
}
|
|
1720
1725
|
}
|
|
1721
1726
|
function u(t) {
|
|
@@ -1734,9 +1739,9 @@ function Sr() {
|
|
|
1734
1739
|
}
|
|
1735
1740
|
//#endregion
|
|
1736
1741
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
1737
|
-
function
|
|
1742
|
+
function wr(e, t) {
|
|
1738
1743
|
return O(() => {
|
|
1739
|
-
let n =
|
|
1744
|
+
let n = Tr(e.value.blocks);
|
|
1740
1745
|
if (n.size === 0) return [];
|
|
1741
1746
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
1742
1747
|
for (let e of n) {
|
|
@@ -1748,11 +1753,11 @@ function Cr(e, t) {
|
|
|
1748
1753
|
return i;
|
|
1749
1754
|
});
|
|
1750
1755
|
}
|
|
1751
|
-
function
|
|
1756
|
+
function Tr(e) {
|
|
1752
1757
|
let t = /* @__PURE__ */ new Set();
|
|
1753
|
-
return
|
|
1758
|
+
return Er(e, t), t;
|
|
1754
1759
|
}
|
|
1755
|
-
function
|
|
1760
|
+
function Er(e, t) {
|
|
1756
1761
|
for (let n of e) {
|
|
1757
1762
|
if (Ee(n)) {
|
|
1758
1763
|
t.add(n.customType);
|
|
@@ -1761,13 +1766,13 @@ function Tr(e, t) {
|
|
|
1761
1766
|
if (n.type === "section") {
|
|
1762
1767
|
let e = n.children;
|
|
1763
1768
|
if (!e) continue;
|
|
1764
|
-
for (let n of e)
|
|
1769
|
+
for (let n of e) Er(n, t);
|
|
1765
1770
|
}
|
|
1766
1771
|
}
|
|
1767
1772
|
}
|
|
1768
1773
|
//#endregion
|
|
1769
1774
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
1770
|
-
var
|
|
1775
|
+
var Dr = [
|
|
1771
1776
|
{
|
|
1772
1777
|
type: "section",
|
|
1773
1778
|
label: "Section",
|
|
@@ -1834,8 +1839,8 @@ var Er = [
|
|
|
1834
1839
|
createBlock: it
|
|
1835
1840
|
}
|
|
1836
1841
|
];
|
|
1837
|
-
function
|
|
1838
|
-
for (let n of
|
|
1842
|
+
function Or(e, t) {
|
|
1843
|
+
for (let n of Dr) {
|
|
1839
1844
|
let r = t[n.type];
|
|
1840
1845
|
r && e.registerBuiltIn(n.type, {
|
|
1841
1846
|
component: r,
|
|
@@ -1850,7 +1855,7 @@ function Dr(e, t) {
|
|
|
1850
1855
|
}
|
|
1851
1856
|
//#endregion
|
|
1852
1857
|
//#region src/utils/keyboardShortcuts.ts
|
|
1853
|
-
function
|
|
1858
|
+
function kr(e) {
|
|
1854
1859
|
for (let t of e.composedPath()) {
|
|
1855
1860
|
if (!(t instanceof HTMLElement)) continue;
|
|
1856
1861
|
if (t.isContentEditable) return !0;
|
|
@@ -1859,14 +1864,14 @@ function Or(e) {
|
|
|
1859
1864
|
}
|
|
1860
1865
|
return !1;
|
|
1861
1866
|
}
|
|
1862
|
-
function
|
|
1867
|
+
function Ar(e, t) {
|
|
1863
1868
|
let n = e.metaKey || e.ctrlKey;
|
|
1864
1869
|
if (n && e.key.toLowerCase() === "s") {
|
|
1865
1870
|
e.preventDefault(), t.onSave?.();
|
|
1866
1871
|
return;
|
|
1867
1872
|
}
|
|
1868
1873
|
if (n && e.key.toLowerCase() === "z") {
|
|
1869
|
-
if (
|
|
1874
|
+
if (kr(e)) return;
|
|
1870
1875
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
1871
1876
|
return;
|
|
1872
1877
|
}
|
|
@@ -1874,11 +1879,11 @@ function kr(e, t) {
|
|
|
1874
1879
|
t.selectBlock(null);
|
|
1875
1880
|
return;
|
|
1876
1881
|
}
|
|
1877
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
1882
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !kr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
1878
1883
|
}
|
|
1879
1884
|
//#endregion
|
|
1880
1885
|
//#region src/components/blocks/ButtonBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1881
|
-
var
|
|
1886
|
+
var jr = { class: "tpl:text-center" }, Mr = ["href"], Nr = /* @__PURE__ */ B({
|
|
1882
1887
|
__name: "ButtonBlock",
|
|
1883
1888
|
props: {
|
|
1884
1889
|
block: {},
|
|
@@ -1899,17 +1904,17 @@ var Ar = { class: "tpl:text-center" }, jr = ["href"], Mr = /* @__PURE__ */ B({
|
|
|
1899
1904
|
};
|
|
1900
1905
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
1901
1906
|
});
|
|
1902
|
-
return (t, r) => (f(), k("div",
|
|
1907
|
+
return (t, r) => (f(), k("div", jr, [I("a", {
|
|
1903
1908
|
href: e.block.url || "#",
|
|
1904
1909
|
style: L(n.value),
|
|
1905
1910
|
class: "tpl:cursor-default",
|
|
1906
1911
|
onClick: r[0] ||= M(() => {}, ["prevent"])
|
|
1907
|
-
}, D(e.block.text), 13,
|
|
1912
|
+
}, D(e.block.text), 13, Mr)]));
|
|
1908
1913
|
}
|
|
1909
|
-
}),
|
|
1910
|
-
let t =
|
|
1914
|
+
}), Pr = (e) => e === "", Fr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Ir = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Lr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Rr = (e) => {
|
|
1915
|
+
let t = Lr(e);
|
|
1911
1916
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
1912
|
-
},
|
|
1917
|
+
}, zr = {
|
|
1913
1918
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1914
1919
|
width: 24,
|
|
1915
1920
|
height: 24,
|
|
@@ -1919,35 +1924,35 @@ var Ar = { class: "tpl:text-center" }, jr = ["href"], Mr = /* @__PURE__ */ B({
|
|
|
1919
1924
|
"stroke-width": 2,
|
|
1920
1925
|
"stroke-linecap": "round",
|
|
1921
1926
|
"stroke-linejoin": "round"
|
|
1922
|
-
},
|
|
1923
|
-
function
|
|
1924
|
-
return v(
|
|
1927
|
+
}, Br = Symbol("lucide-icons");
|
|
1928
|
+
function Vr() {
|
|
1929
|
+
return v(Br, {});
|
|
1925
1930
|
}
|
|
1926
1931
|
//#endregion
|
|
1927
|
-
//#region ../../node_modules/.pnpm/@lucide+vue@1.
|
|
1928
|
-
var
|
|
1929
|
-
let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } =
|
|
1930
|
-
let e =
|
|
1931
|
-
return e ? Number(t) * 24 / Number(s ?? d ??
|
|
1932
|
+
//#region ../../node_modules/.pnpm/@lucide+vue@1.17.0_vue@3.5.35_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
|
|
1933
|
+
var Hr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
|
|
1934
|
+
let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = Vr(), g = O(() => {
|
|
1935
|
+
let e = Pr(n) || Pr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || zr["stroke-width"];
|
|
1936
|
+
return e ? Number(t) * 24 / Number(s ?? d ?? zr.width) : t;
|
|
1932
1937
|
});
|
|
1933
1938
|
return a("svg", {
|
|
1934
|
-
...
|
|
1939
|
+
...zr,
|
|
1935
1940
|
...l,
|
|
1936
|
-
width: s ?? d ??
|
|
1937
|
-
height: s ?? d ??
|
|
1938
|
-
stroke: c ?? f ??
|
|
1941
|
+
width: s ?? d ?? zr.width,
|
|
1942
|
+
height: s ?? d ?? zr.height,
|
|
1943
|
+
stroke: c ?? f ?? zr.stroke,
|
|
1939
1944
|
"stroke-width": g.value,
|
|
1940
|
-
class:
|
|
1945
|
+
class: Fr("lucide", h, ...e ? [`lucide-${Ir(Rr(e))}-icon`, `lucide-${Ir(e)}`] : ["lucide-icon"])
|
|
1941
1946
|
}, [...t.map((e) => a(...e)), ...u.default ? [u.default()] : []]);
|
|
1942
|
-
}, X = (e, t) => (n, { slots: r, attrs: i }) => a(
|
|
1947
|
+
}, X = (e, t) => (n, { slots: r, attrs: i }) => a(Hr, {
|
|
1943
1948
|
...i,
|
|
1944
1949
|
...n,
|
|
1945
1950
|
iconNode: t,
|
|
1946
1951
|
name: e
|
|
1947
|
-
}, r.default ? { default: r.default } : void 0),
|
|
1952
|
+
}, r.default ? { default: r.default } : void 0), Ur = X("bookmark", [["path", {
|
|
1948
1953
|
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",
|
|
1949
1954
|
key: "oz39mx"
|
|
1950
|
-
}]]),
|
|
1955
|
+
}]]), Wr = X("box", [
|
|
1951
1956
|
["path", {
|
|
1952
1957
|
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",
|
|
1953
1958
|
key: "hh9hay"
|
|
@@ -1960,22 +1965,22 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
1960
1965
|
d: "M12 22V12",
|
|
1961
1966
|
key: "d0xqtd"
|
|
1962
1967
|
}]
|
|
1963
|
-
]),
|
|
1968
|
+
]), Gr = X("check", [["path", {
|
|
1964
1969
|
d: "M20 6 9 17l-5-5",
|
|
1965
1970
|
key: "1gmf2c"
|
|
1966
|
-
}]]),
|
|
1971
|
+
}]]), Kr = X("chevron-down", [["path", {
|
|
1967
1972
|
d: "m6 9 6 6 6-6",
|
|
1968
1973
|
key: "qrunsl"
|
|
1969
|
-
}]]),
|
|
1974
|
+
}]]), qr = X("chevron-left", [["path", {
|
|
1970
1975
|
d: "m15 18-6-6 6-6",
|
|
1971
1976
|
key: "1wnfg3"
|
|
1972
|
-
}]]),
|
|
1977
|
+
}]]), Jr = X("chevron-right", [["path", {
|
|
1973
1978
|
d: "m9 18 6-6-6-6",
|
|
1974
1979
|
key: "mthhwq"
|
|
1975
|
-
}]]),
|
|
1980
|
+
}]]), Yr = X("chevron-up", [["path", {
|
|
1976
1981
|
d: "m18 15-6-6-6 6",
|
|
1977
1982
|
key: "153udz"
|
|
1978
|
-
}]]),
|
|
1983
|
+
}]]), Xr = X("circle-alert", [
|
|
1979
1984
|
["circle", {
|
|
1980
1985
|
cx: "12",
|
|
1981
1986
|
cy: "12",
|
|
@@ -1996,7 +2001,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
1996
2001
|
y2: "16",
|
|
1997
2002
|
key: "4dfq90"
|
|
1998
2003
|
}]
|
|
1999
|
-
]),
|
|
2004
|
+
]), Zr = X("circle-check", [["circle", {
|
|
2000
2005
|
cx: "12",
|
|
2001
2006
|
cy: "12",
|
|
2002
2007
|
r: "10",
|
|
@@ -2004,7 +2009,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2004
2009
|
}], ["path", {
|
|
2005
2010
|
d: "m9 12 2 2 4-4",
|
|
2006
2011
|
key: "dzmm74"
|
|
2007
|
-
}]]),
|
|
2012
|
+
}]]), Qr = X("clock", [["circle", {
|
|
2008
2013
|
cx: "12",
|
|
2009
2014
|
cy: "12",
|
|
2010
2015
|
r: "10",
|
|
@@ -2012,13 +2017,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2012
2017
|
}], ["path", {
|
|
2013
2018
|
d: "M12 6v6l4 2",
|
|
2014
2019
|
key: "mmk7yg"
|
|
2015
|
-
}]]),
|
|
2020
|
+
}]]), $r = X("code", [["path", {
|
|
2016
2021
|
d: "m16 18 6-6-6-6",
|
|
2017
2022
|
key: "eg8j8"
|
|
2018
2023
|
}], ["path", {
|
|
2019
2024
|
d: "m8 6-6 6 6 6",
|
|
2020
2025
|
key: "ppft3o"
|
|
2021
|
-
}]]),
|
|
2026
|
+
}]]), ei = X("copy", [["rect", {
|
|
2022
2027
|
width: "14",
|
|
2023
2028
|
height: "14",
|
|
2024
2029
|
x: "8",
|
|
@@ -2029,7 +2034,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2029
2034
|
}], ["path", {
|
|
2030
2035
|
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
|
|
2031
2036
|
key: "zix9uf"
|
|
2032
|
-
}]]),
|
|
2037
|
+
}]]), ti = X("eye-off", [
|
|
2033
2038
|
["path", {
|
|
2034
2039
|
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",
|
|
2035
2040
|
key: "ct8e1f"
|
|
@@ -2046,7 +2051,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2046
2051
|
d: "m2 2 20 20",
|
|
2047
2052
|
key: "1ooewy"
|
|
2048
2053
|
}]
|
|
2049
|
-
]),
|
|
2054
|
+
]), ni = X("eye", [["path", {
|
|
2050
2055
|
d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
|
|
2051
2056
|
key: "1nclc0"
|
|
2052
2057
|
}], ["circle", {
|
|
@@ -2054,7 +2059,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2054
2059
|
cy: "12",
|
|
2055
2060
|
r: "3",
|
|
2056
2061
|
key: "1v7zrd"
|
|
2057
|
-
}]]),
|
|
2062
|
+
}]]), ri = X("file-image", [
|
|
2058
2063
|
["path", {
|
|
2059
2064
|
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
2060
2065
|
key: "1oefj6"
|
|
@@ -2073,7 +2078,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2073
2078
|
d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
|
|
2074
2079
|
key: "wt3hpn"
|
|
2075
2080
|
}]
|
|
2076
|
-
]),
|
|
2081
|
+
]), ii = X("file-text", [
|
|
2077
2082
|
["path", {
|
|
2078
2083
|
d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
|
|
2079
2084
|
key: "1oefj6"
|
|
@@ -2094,10 +2099,10 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2094
2099
|
d: "M16 17H8",
|
|
2095
2100
|
key: "z1uh3a"
|
|
2096
2101
|
}]
|
|
2097
|
-
]),
|
|
2102
|
+
]), ai = X("funnel", [["path", {
|
|
2098
2103
|
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",
|
|
2099
2104
|
key: "sc7q7i"
|
|
2100
|
-
}]]),
|
|
2105
|
+
}]]), oi = X("grip-vertical", [
|
|
2101
2106
|
["circle", {
|
|
2102
2107
|
cx: "9",
|
|
2103
2108
|
cy: "12",
|
|
@@ -2134,7 +2139,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2134
2139
|
r: "1",
|
|
2135
2140
|
key: "f4zoj3"
|
|
2136
2141
|
}]
|
|
2137
|
-
]),
|
|
2142
|
+
]), si = X("image-up", [
|
|
2138
2143
|
["path", {
|
|
2139
2144
|
d: "M10.3 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10l-3.1-3.1a2 2 0 0 0-2.814.014L6 21",
|
|
2140
2145
|
key: "9csbqa"
|
|
@@ -2153,7 +2158,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2153
2158
|
r: "2",
|
|
2154
2159
|
key: "af1f0g"
|
|
2155
2160
|
}]
|
|
2156
|
-
]),
|
|
2161
|
+
]), ci = X("image", [
|
|
2157
2162
|
["rect", {
|
|
2158
2163
|
width: "18",
|
|
2159
2164
|
height: "18",
|
|
@@ -2173,7 +2178,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2173
2178
|
d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
|
|
2174
2179
|
key: "1xmnt7"
|
|
2175
2180
|
}]
|
|
2176
|
-
]),
|
|
2181
|
+
]), li = X("info", [
|
|
2177
2182
|
["circle", {
|
|
2178
2183
|
cx: "12",
|
|
2179
2184
|
cy: "12",
|
|
@@ -2188,31 +2193,31 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2188
2193
|
d: "M12 8h.01",
|
|
2189
2194
|
key: "e9boi3"
|
|
2190
2195
|
}]
|
|
2191
|
-
]),
|
|
2196
|
+
]), ui = X("loader-circle", [["path", {
|
|
2192
2197
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
2193
2198
|
key: "13zald"
|
|
2194
|
-
}]]),
|
|
2199
|
+
}]]), di = X("message-circle", [["path", {
|
|
2195
2200
|
d: "M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",
|
|
2196
2201
|
key: "1sd12s"
|
|
2197
|
-
}]]),
|
|
2202
|
+
}]]), fi = X("navigation", [["polygon", {
|
|
2198
2203
|
points: "3 11 22 2 13 21 11 13 3 11",
|
|
2199
2204
|
key: "1ltx0t"
|
|
2200
|
-
}]]),
|
|
2205
|
+
}]]), pi = X("pencil", [["path", {
|
|
2201
2206
|
d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
|
|
2202
2207
|
key: "1a8usu"
|
|
2203
2208
|
}], ["path", {
|
|
2204
2209
|
d: "m15 5 4 4",
|
|
2205
2210
|
key: "1mk7zo"
|
|
2206
|
-
}]]),
|
|
2211
|
+
}]]), mi = X("puzzle", [["path", {
|
|
2207
2212
|
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",
|
|
2208
2213
|
key: "w46dr5"
|
|
2209
|
-
}]]),
|
|
2214
|
+
}]]), hi = X("redo-2", [["path", {
|
|
2210
2215
|
d: "m15 14 5-5-5-5",
|
|
2211
2216
|
key: "12vg1m"
|
|
2212
2217
|
}], ["path", {
|
|
2213
2218
|
d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
|
|
2214
2219
|
key: "6uklza"
|
|
2215
|
-
}]]),
|
|
2220
|
+
}]]), gi = X("refresh-cw", [
|
|
2216
2221
|
["path", {
|
|
2217
2222
|
d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
|
|
2218
2223
|
key: "v9h5vc"
|
|
@@ -2229,19 +2234,19 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2229
2234
|
d: "M8 16H3v5",
|
|
2230
2235
|
key: "1cv678"
|
|
2231
2236
|
}]
|
|
2232
|
-
]),
|
|
2237
|
+
]), _i = X("reply", [["path", {
|
|
2233
2238
|
d: "M20 18v-2a4 4 0 0 0-4-4H4",
|
|
2234
2239
|
key: "5vmcpk"
|
|
2235
2240
|
}], ["path", {
|
|
2236
2241
|
d: "m9 17-5-5 5-5",
|
|
2237
2242
|
key: "nvlc11"
|
|
2238
|
-
}]]),
|
|
2243
|
+
}]]), vi = X("send", [["path", {
|
|
2239
2244
|
d: "M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",
|
|
2240
2245
|
key: "1ffxy3"
|
|
2241
2246
|
}], ["path", {
|
|
2242
2247
|
d: "m21.854 2.147-10.94 10.939",
|
|
2243
2248
|
key: "12cjpa"
|
|
2244
|
-
}]]),
|
|
2249
|
+
}]]), yi = X("share-2", [
|
|
2245
2250
|
["circle", {
|
|
2246
2251
|
cx: "18",
|
|
2247
2252
|
cy: "5",
|
|
@@ -2274,13 +2279,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2274
2279
|
y2: "10.49",
|
|
2275
2280
|
key: "1n3mei"
|
|
2276
2281
|
}]
|
|
2277
|
-
]),
|
|
2282
|
+
]), bi = X("shield-check", [["path", {
|
|
2278
2283
|
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
2279
2284
|
key: "oel41y"
|
|
2280
2285
|
}], ["path", {
|
|
2281
2286
|
d: "m9 12 2 2 4-4",
|
|
2282
2287
|
key: "dzmm74"
|
|
2283
|
-
}]]),
|
|
2288
|
+
}]]), xi = X("shield-x", [
|
|
2284
2289
|
["path", {
|
|
2285
2290
|
d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
|
|
2286
2291
|
key: "oel41y"
|
|
@@ -2293,7 +2298,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2293
2298
|
d: "m9.5 9.5 5 5",
|
|
2294
2299
|
key: "18nt4w"
|
|
2295
2300
|
}]
|
|
2296
|
-
]),
|
|
2301
|
+
]), Si = X("sparkles", [
|
|
2297
2302
|
["path", {
|
|
2298
2303
|
d: "M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",
|
|
2299
2304
|
key: "1s2grr"
|
|
@@ -2312,7 +2317,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2312
2317
|
r: "2",
|
|
2313
2318
|
key: "6kqj1y"
|
|
2314
2319
|
}]
|
|
2315
|
-
]),
|
|
2320
|
+
]), Ci = X("table", [
|
|
2316
2321
|
["path", {
|
|
2317
2322
|
d: "M12 3v18",
|
|
2318
2323
|
key: "108xh3"
|
|
@@ -2333,7 +2338,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2333
2338
|
d: "M3 15h18",
|
|
2334
2339
|
key: "5xshup"
|
|
2335
2340
|
}]
|
|
2336
|
-
]),
|
|
2341
|
+
]), wi = X("trash-2", [
|
|
2337
2342
|
["path", {
|
|
2338
2343
|
d: "M10 11v6",
|
|
2339
2344
|
key: "nco0om"
|
|
@@ -2354,7 +2359,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2354
2359
|
d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
|
|
2355
2360
|
key: "e791ji"
|
|
2356
2361
|
}]
|
|
2357
|
-
]),
|
|
2362
|
+
]), Ti = X("triangle-alert", [
|
|
2358
2363
|
["path", {
|
|
2359
2364
|
d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",
|
|
2360
2365
|
key: "wmoenq"
|
|
@@ -2367,13 +2372,13 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2367
2372
|
d: "M12 17h.01",
|
|
2368
2373
|
key: "p32p05"
|
|
2369
2374
|
}]
|
|
2370
|
-
]),
|
|
2375
|
+
]), Ei = X("undo-2", [["path", {
|
|
2371
2376
|
d: "M9 14 4 9l5-5",
|
|
2372
2377
|
key: "102s5s"
|
|
2373
2378
|
}], ["path", {
|
|
2374
2379
|
d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
|
|
2375
2380
|
key: "f3b9sd"
|
|
2376
|
-
}]]),
|
|
2381
|
+
}]]), Di = X("upload", [
|
|
2377
2382
|
["path", {
|
|
2378
2383
|
d: "M12 3v12",
|
|
2379
2384
|
key: "1x0j5s"
|
|
@@ -2386,7 +2391,7 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2386
2391
|
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
|
2387
2392
|
key: "ih7n3h"
|
|
2388
2393
|
}]
|
|
2389
|
-
]),
|
|
2394
|
+
]), Oi = X("video", [["path", {
|
|
2390
2395
|
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
2391
2396
|
key: "ftymec"
|
|
2392
2397
|
}], ["rect", {
|
|
@@ -2396,20 +2401,20 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2396
2401
|
height: "12",
|
|
2397
2402
|
rx: "2",
|
|
2398
2403
|
key: "158x01"
|
|
2399
|
-
}]]),
|
|
2404
|
+
}]]), ki = X("x", [["path", {
|
|
2400
2405
|
d: "M18 6 6 18",
|
|
2401
2406
|
key: "1bl5f8"
|
|
2402
2407
|
}], ["path", {
|
|
2403
2408
|
d: "m6 6 12 12",
|
|
2404
2409
|
key: "d8bk6v"
|
|
2405
|
-
}]]),
|
|
2410
|
+
}]]), Ai = X("zap", [["path", {
|
|
2406
2411
|
d: "M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",
|
|
2407
2412
|
key: "1xq2db"
|
|
2408
|
-
}]]),
|
|
2413
|
+
}]]), ji = ["innerHTML"], Mi = [
|
|
2409
2414
|
"src",
|
|
2410
2415
|
"width",
|
|
2411
2416
|
"height"
|
|
2412
|
-
],
|
|
2417
|
+
], Ni = /* @__PURE__ */ B({
|
|
2413
2418
|
__name: "CustomBlockIcon",
|
|
2414
2419
|
props: {
|
|
2415
2420
|
icon: {},
|
|
@@ -2425,40 +2430,40 @@ var Vr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2425
2430
|
height: `${n.value}px`
|
|
2426
2431
|
}),
|
|
2427
2432
|
innerHTML: e.icon
|
|
2428
|
-
}, null, 12,
|
|
2433
|
+
}, null, 12, ji)) : i.value ? (f(), k("img", {
|
|
2429
2434
|
key: 1,
|
|
2430
2435
|
src: e.icon,
|
|
2431
2436
|
width: n.value,
|
|
2432
2437
|
height: n.value,
|
|
2433
2438
|
class: "tpl:inline-block",
|
|
2434
2439
|
alt: ""
|
|
2435
|
-
}, null, 8,
|
|
2440
|
+
}, null, 8, Mi)) : (f(), N(j(Wr), {
|
|
2436
2441
|
key: 2,
|
|
2437
2442
|
size: n.value,
|
|
2438
2443
|
"stroke-width": 1.5
|
|
2439
2444
|
}, null, 8, ["size"]));
|
|
2440
2445
|
}
|
|
2441
|
-
}),
|
|
2446
|
+
}), Pi = (e, t) => {
|
|
2442
2447
|
let n = e.__vccOpts || e;
|
|
2443
2448
|
for (let [e, r] of t) n[e] = r;
|
|
2444
2449
|
return n;
|
|
2445
|
-
},
|
|
2446
|
-
function
|
|
2447
|
-
return f(), k("div",
|
|
2450
|
+
}, Fi = {}, Ii = { class: "tpl-loading-track" };
|
|
2451
|
+
function Li(e, t) {
|
|
2452
|
+
return f(), k("div", Ii);
|
|
2448
2453
|
}
|
|
2449
|
-
var
|
|
2454
|
+
var Ri = /*#__PURE__*/ Pi(Fi, [["render", Li], ["__scopeId", "data-v-1ed538ec"]]);
|
|
2450
2455
|
//#endregion
|
|
2451
2456
|
//#region src/composables/useEditorRoot.ts
|
|
2452
|
-
function
|
|
2453
|
-
return v(
|
|
2457
|
+
function zi() {
|
|
2458
|
+
return v(ir, document) ?? document;
|
|
2454
2459
|
}
|
|
2455
2460
|
//#endregion
|
|
2456
2461
|
//#region src/composables/useFocusTrap.ts
|
|
2457
|
-
var
|
|
2458
|
-
function
|
|
2459
|
-
let n =
|
|
2462
|
+
var Bi = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
2463
|
+
function Vi(e, t) {
|
|
2464
|
+
let n = zi(), r = null, i = null, a = null;
|
|
2460
2465
|
function o() {
|
|
2461
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
2466
|
+
return e.value ? Array.from(e.value.querySelectorAll(Bi)).filter((e) => e.offsetParent !== null) : [];
|
|
2462
2467
|
}
|
|
2463
2468
|
function s(e) {
|
|
2464
2469
|
if (e.key !== "Tab") return;
|
|
@@ -2488,18 +2493,18 @@ function Bi(e, t) {
|
|
|
2488
2493
|
}
|
|
2489
2494
|
//#endregion
|
|
2490
2495
|
//#region src/composables/useCloudI18n.ts
|
|
2491
|
-
function
|
|
2496
|
+
function Hi(e, t) {
|
|
2492
2497
|
return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
|
|
2493
2498
|
}
|
|
2494
|
-
function
|
|
2495
|
-
let t = e ?? v(
|
|
2499
|
+
function Ui(e) {
|
|
2500
|
+
let t = e ?? v(dr, null);
|
|
2496
2501
|
return {
|
|
2497
2502
|
t: t ? u(t) ? t.value : t : null,
|
|
2498
|
-
format:
|
|
2503
|
+
format: Hi
|
|
2499
2504
|
};
|
|
2500
2505
|
}
|
|
2501
|
-
function
|
|
2502
|
-
let { t, format: n } =
|
|
2506
|
+
function Wi(e) {
|
|
2507
|
+
let { t, format: n } = Ui(e);
|
|
2503
2508
|
if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
|
|
2504
2509
|
return {
|
|
2505
2510
|
t,
|
|
@@ -2508,13 +2513,13 @@ function Ui(e) {
|
|
|
2508
2513
|
}
|
|
2509
2514
|
//#endregion
|
|
2510
2515
|
//#region src/composables/useMergeTag.ts
|
|
2511
|
-
function
|
|
2512
|
-
let e = v(
|
|
2516
|
+
function Gi() {
|
|
2517
|
+
let e = v(qn, []), t = v(Jn, ut.liquid), n = v(Yn, null), r = v(Xn, !0), i = v(Zn, null), a = C(!1);
|
|
2513
2518
|
function o(e) {
|
|
2514
|
-
return
|
|
2519
|
+
return ht(e, t);
|
|
2515
2520
|
}
|
|
2516
2521
|
function s(t) {
|
|
2517
|
-
return
|
|
2522
|
+
return gt(t, e);
|
|
2518
2523
|
}
|
|
2519
2524
|
async function c() {
|
|
2520
2525
|
if (n) {
|
|
@@ -2548,8 +2553,8 @@ function Wi() {
|
|
|
2548
2553
|
}
|
|
2549
2554
|
//#endregion
|
|
2550
2555
|
//#region src/composables/useEmoji.ts
|
|
2551
|
-
function
|
|
2552
|
-
let [e, t] =
|
|
2556
|
+
function Ki() {
|
|
2557
|
+
let [e, t] = cn(!1), r = n([]), i = !1;
|
|
2553
2558
|
l(() => {
|
|
2554
2559
|
i = !0;
|
|
2555
2560
|
}), H(e, async (e) => {
|
|
@@ -2574,7 +2579,7 @@ function Gi() {
|
|
|
2574
2579
|
}
|
|
2575
2580
|
//#endregion
|
|
2576
2581
|
//#region src/composables/useDragDrop.ts
|
|
2577
|
-
function
|
|
2582
|
+
function qi(e) {
|
|
2578
2583
|
let { onBlockMove: t, onBlockAdd: n } = e, r = C(!1), i = C(null), a = C(null);
|
|
2579
2584
|
function o(e) {
|
|
2580
2585
|
r.value = !0, i.value = e;
|
|
@@ -2624,7 +2629,7 @@ function Ki(e) {
|
|
|
2624
2629
|
}
|
|
2625
2630
|
//#endregion
|
|
2626
2631
|
//#region src/composables/useFonts.ts
|
|
2627
|
-
var
|
|
2632
|
+
var Ji = [
|
|
2628
2633
|
{
|
|
2629
2634
|
value: "Arial",
|
|
2630
2635
|
label: "Arial"
|
|
@@ -2653,7 +2658,7 @@ var qi = [
|
|
|
2653
2658
|
value: "Courier New",
|
|
2654
2659
|
label: "Courier New"
|
|
2655
2660
|
}
|
|
2656
|
-
],
|
|
2661
|
+
], Yi = {
|
|
2657
2662
|
arial: "Arial, sans-serif",
|
|
2658
2663
|
helvetica: "Helvetica, sans-serif",
|
|
2659
2664
|
georgia: "Georgia, serif",
|
|
@@ -2661,14 +2666,14 @@ var qi = [
|
|
|
2661
2666
|
verdana: "Verdana, sans-serif",
|
|
2662
2667
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
2663
2668
|
"courier new": "'Courier New', monospace"
|
|
2664
|
-
},
|
|
2665
|
-
function
|
|
2666
|
-
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ??
|
|
2669
|
+
}, Xi = "Arial, sans-serif";
|
|
2670
|
+
function Zi(e) {
|
|
2671
|
+
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ?? Xi);
|
|
2667
2672
|
function a(e) {
|
|
2668
2673
|
n.value = e;
|
|
2669
2674
|
}
|
|
2670
2675
|
let o = O(() => {
|
|
2671
|
-
let e = [...
|
|
2676
|
+
let e = [...Ji];
|
|
2672
2677
|
if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
|
|
2673
2678
|
let r = t.value.map((e) => ({
|
|
2674
2679
|
value: e.name,
|
|
@@ -2681,23 +2686,23 @@ function Xi(e) {
|
|
|
2681
2686
|
return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2682
2687
|
}
|
|
2683
2688
|
function u(e) {
|
|
2684
|
-
return
|
|
2689
|
+
return Ji.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2685
2690
|
}
|
|
2686
2691
|
function d() {
|
|
2687
2692
|
if (e?.defaultFont) {
|
|
2688
|
-
if (!n.value && !u(e.defaultFont)) return
|
|
2693
|
+
if (!n.value && !u(e.defaultFont)) return Xi;
|
|
2689
2694
|
if (c(e.defaultFont)) {
|
|
2690
2695
|
let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
2691
2696
|
if (t) return t.value;
|
|
2692
2697
|
}
|
|
2693
2698
|
}
|
|
2694
|
-
return
|
|
2699
|
+
return Xi;
|
|
2695
2700
|
}
|
|
2696
2701
|
let f = O(() => d());
|
|
2697
2702
|
function p(e) {
|
|
2698
2703
|
if (!e) return i.value;
|
|
2699
2704
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
2700
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
2705
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : Yi[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
2701
2706
|
}
|
|
2702
2707
|
let m = [], h = !1;
|
|
2703
2708
|
async function g() {
|
|
@@ -2713,7 +2718,7 @@ function Xi(e) {
|
|
|
2713
2718
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
2714
2719
|
});
|
|
2715
2720
|
} catch (t) {
|
|
2716
|
-
|
|
2721
|
+
Sr.warn(`Failed to load custom font "${e.name}":`, t);
|
|
2717
2722
|
}
|
|
2718
2723
|
});
|
|
2719
2724
|
await Promise.allSettled(e), !h && (r.value = !0);
|
|
@@ -2740,9 +2745,9 @@ function Xi(e) {
|
|
|
2740
2745
|
}
|
|
2741
2746
|
//#endregion
|
|
2742
2747
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
2743
|
-
function
|
|
2748
|
+
function Qi(e) {
|
|
2744
2749
|
let t = C(!1), n = C(""), r = C(null);
|
|
2745
|
-
|
|
2750
|
+
Vi(r, t);
|
|
2746
2751
|
function i() {
|
|
2747
2752
|
n.value = e.value?.getAttributes("link").href || "", t.value = !0;
|
|
2748
2753
|
}
|
|
@@ -2793,8 +2798,8 @@ function Zi(e) {
|
|
|
2793
2798
|
}
|
|
2794
2799
|
//#endregion
|
|
2795
2800
|
//#region src/composables/useRichTextEditor.ts
|
|
2796
|
-
function
|
|
2797
|
-
let t = v(
|
|
2801
|
+
function $i(e) {
|
|
2802
|
+
let t = v(In, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Gi(), l = v(Fn, null), d = (u(l) ? l.value : l)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", f = ft(s), p = n(null), { showLinkDialog: m, linkUrl: h, linkDialogRef: g, openLinkDialog: _, insertLink: y, removeLink: b, closeLinkDialog: x, handleLinkKeydown: S } = Qi(p), { start: w, stop: ee } = sn(() => p.value?.commands.focus("end"), 0, { immediate: !1 }), T = n(null), E = C(!0), D = C(null), te = !1;
|
|
2798
2803
|
async function ne() {
|
|
2799
2804
|
D.value = null, E.value = !0;
|
|
2800
2805
|
try {
|
|
@@ -2824,7 +2829,7 @@ function Qi(e) {
|
|
|
2824
2829
|
p.value = l, E.value = !1, w();
|
|
2825
2830
|
} catch (t) {
|
|
2826
2831
|
if (te) return;
|
|
2827
|
-
|
|
2832
|
+
Sr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), D.value = t instanceof Error ? t.message : "Failed to load editor", E.value = !1;
|
|
2828
2833
|
}
|
|
2829
2834
|
}
|
|
2830
2835
|
function O() {
|
|
@@ -2872,20 +2877,20 @@ function Qi(e) {
|
|
|
2872
2877
|
}
|
|
2873
2878
|
//#endregion
|
|
2874
2879
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2875
|
-
var
|
|
2880
|
+
var ea = { class: "tpl:w-full" }, ta = {
|
|
2876
2881
|
key: 0,
|
|
2877
2882
|
class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-warning)] tpl:bg-[var(--tpl-warning-light)]"
|
|
2878
|
-
},
|
|
2883
|
+
}, na = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ra = {
|
|
2879
2884
|
key: 1,
|
|
2880
2885
|
class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-danger)] tpl:bg-[var(--tpl-danger-light)]"
|
|
2881
|
-
},
|
|
2886
|
+
}, ia = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, aa = {
|
|
2882
2887
|
key: 2,
|
|
2883
2888
|
class: "tpl:relative"
|
|
2884
|
-
},
|
|
2889
|
+
}, oa = ["innerHTML"], sa = {
|
|
2885
2890
|
key: 0,
|
|
2886
2891
|
class: "tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:rounded tpl:backdrop-blur-[2px]",
|
|
2887
2892
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
2888
|
-
},
|
|
2893
|
+
}, ca = /* @__PURE__ */ B({
|
|
2889
2894
|
__name: "CustomBlock",
|
|
2890
2895
|
props: {
|
|
2891
2896
|
block: {},
|
|
@@ -2893,7 +2898,7 @@ var $i = { class: "tpl:w-full" }, ea = {
|
|
|
2893
2898
|
},
|
|
2894
2899
|
emits: ["fetchData"],
|
|
2895
2900
|
setup(e, { emit: t }) {
|
|
2896
|
-
let n = e, i = t, { t: a } = Y(), o = v(
|
|
2901
|
+
let n = e, i = t, { t: a } = Y(), o = v(Wn, null), s = C(""), c = C(!1), l = O(() => o?.getDefinition(n.block.customType)), u = O(() => !!l.value), { isFetching: d, fetch: p, needsFetch: m, hasDataSource: h } = Pt({
|
|
2897
2902
|
definition: l,
|
|
2898
2903
|
block: O(() => n.block),
|
|
2899
2904
|
onUpdate: (e, t) => {
|
|
@@ -2914,15 +2919,15 @@ var $i = { class: "tpl:w-full" }, ea = {
|
|
|
2914
2919
|
}
|
|
2915
2920
|
}
|
|
2916
2921
|
}
|
|
2917
|
-
let _ =
|
|
2922
|
+
let _ = tn(g, 150);
|
|
2918
2923
|
return r(() => {
|
|
2919
2924
|
g();
|
|
2920
2925
|
}), H(() => n.block.fieldValues, () => {
|
|
2921
2926
|
_();
|
|
2922
|
-
}, { deep: !0 }), (e, t) => (f(), k("div",
|
|
2927
|
+
}, { deep: !0 }), (e, t) => (f(), k("div", ea, [u.value ? c.value ? (f(), k("div", ra, [V(j(Ti), {
|
|
2923
2928
|
size: 24,
|
|
2924
2929
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
2925
|
-
}), I("span",
|
|
2930
|
+
}), I("span", ia, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", aa, [I("div", { innerHTML: s.value }, null, 8, oa), j(h) && j(m) ? (f(), k("div", sa, [j(d) ? (f(), N(Ri, {
|
|
2926
2931
|
key: 1,
|
|
2927
2932
|
class: "tpl:w-48"
|
|
2928
2933
|
})) : (f(), k("button", {
|
|
@@ -2930,16 +2935,16 @@ var $i = { class: "tpl:w-full" }, ea = {
|
|
|
2930
2935
|
type: "button",
|
|
2931
2936
|
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)]",
|
|
2932
2937
|
onClick: t[0] ||= M((...e) => j(p) && j(p)(...e), ["stop"])
|
|
2933
|
-
}, [l.value?.icon ? (f(), N(
|
|
2938
|
+
}, [l.value?.icon ? (f(), N(Ni, {
|
|
2934
2939
|
key: 0,
|
|
2935
2940
|
icon: l.value.icon,
|
|
2936
2941
|
size: 16
|
|
2937
|
-
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div",
|
|
2942
|
+
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", ta, [V(j(mi), {
|
|
2938
2943
|
size: 24,
|
|
2939
2944
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
2940
|
-
}), I("span",
|
|
2945
|
+
}), I("span", na, D(j(a).customBlocks.definitionNotFound), 1)]))]));
|
|
2941
2946
|
}
|
|
2942
|
-
}),
|
|
2947
|
+
}), la = { class: "tpl:w-full" }, ua = /* @__PURE__ */ B({
|
|
2943
2948
|
__name: "DividerBlock",
|
|
2944
2949
|
props: {
|
|
2945
2950
|
block: {},
|
|
@@ -2951,18 +2956,18 @@ var $i = { class: "tpl:w-full" }, ea = {
|
|
|
2951
2956
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
2952
2957
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
2953
2958
|
}));
|
|
2954
|
-
return (e, t) => (f(), k("div",
|
|
2959
|
+
return (e, t) => (f(), k("div", la, [I("hr", {
|
|
2955
2960
|
class: "tpl:m-0 tpl:border-none",
|
|
2956
2961
|
style: L(n.value)
|
|
2957
2962
|
}, null, 4)]));
|
|
2958
2963
|
}
|
|
2959
|
-
}),
|
|
2964
|
+
}), da = { class: "tpl:w-full" }, fa = { class: "tpl:flex tpl:min-h-[80px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-hover)]" }, pa = {
|
|
2960
2965
|
key: 0,
|
|
2961
2966
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
2962
|
-
},
|
|
2967
|
+
}, ma = {
|
|
2963
2968
|
key: 1,
|
|
2964
2969
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
2965
|
-
},
|
|
2970
|
+
}, ha = /* @__PURE__ */ B({
|
|
2966
2971
|
__name: "HtmlBlock",
|
|
2967
2972
|
props: {
|
|
2968
2973
|
block: {},
|
|
@@ -2970,15 +2975,15 @@ var $i = { class: "tpl:w-full" }, ea = {
|
|
|
2970
2975
|
},
|
|
2971
2976
|
setup(e) {
|
|
2972
2977
|
let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
|
|
2973
|
-
return (e, t) => (f(), k("div",
|
|
2978
|
+
return (e, t) => (f(), k("div", da, [I("div", fa, [V(j($r), {
|
|
2974
2979
|
size: 24,
|
|
2975
2980
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
2976
|
-
}), r.value ? (f(), k("span",
|
|
2981
|
+
}), r.value ? (f(), k("span", pa, D(j(n).html.preview), 1)) : (f(), k("span", ma, D(j(n).html.empty), 1))])]));
|
|
2977
2982
|
}
|
|
2978
2983
|
});
|
|
2979
2984
|
//#endregion
|
|
2980
2985
|
//#region src/composables/useAliveFlag.ts
|
|
2981
|
-
function
|
|
2986
|
+
function ga() {
|
|
2982
2987
|
let e = { alive: !0 };
|
|
2983
2988
|
return re(() => {
|
|
2984
2989
|
e.alive = !1;
|
|
@@ -2986,13 +2991,13 @@ function ha() {
|
|
|
2986
2991
|
}
|
|
2987
2992
|
//#endregion
|
|
2988
2993
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2989
|
-
var
|
|
2994
|
+
var _a = ["href"], va = ["src", "alt"], ya = ["src", "alt"], ba = {
|
|
2990
2995
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
2991
2996
|
style: { opacity: "0.7" }
|
|
2992
|
-
},
|
|
2997
|
+
}, xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
2993
2998
|
key: 3,
|
|
2994
2999
|
class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
|
|
2995
|
-
},
|
|
3000
|
+
}, Ta = ["aria-label"], Ea = { key: 1 }, Da = /* @__PURE__ */ B({
|
|
2996
3001
|
__name: "ImageBlock",
|
|
2997
3002
|
props: {
|
|
2998
3003
|
block: {},
|
|
@@ -3000,7 +3005,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3000
3005
|
},
|
|
3001
3006
|
emits: ["update"],
|
|
3002
3007
|
setup(e, { emit: t }) {
|
|
3003
|
-
let n = e, r = t, { t: i } = Y(), { syntax: a } =
|
|
3008
|
+
let n = e, r = t, { t: i } = Y(), { syntax: a } = Gi(), o = v(Qn, null), s = O(() => !!o), c = ga();
|
|
3004
3009
|
async function l() {
|
|
3005
3010
|
let e = await o?.({ accept: ["images"] });
|
|
3006
3011
|
if (c.alive && e) {
|
|
@@ -3017,7 +3022,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3017
3022
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
3018
3023
|
marginRight: e === "center" ? "auto" : void 0
|
|
3019
3024
|
};
|
|
3020
|
-
}), p = O(() =>
|
|
3025
|
+
}), p = O(() => vt(n.block.src, a));
|
|
3021
3026
|
return (t, n) => (f(), k("div", {
|
|
3022
3027
|
class: "tpl:w-full",
|
|
3023
3028
|
style: L(u.value)
|
|
@@ -3033,22 +3038,22 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3033
3038
|
src: e.block.placeholderUrl,
|
|
3034
3039
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3035
3040
|
style: L(d.value)
|
|
3036
|
-
}, null, 12,
|
|
3041
|
+
}, null, 12, va)], 8, _a)) : (f(), k("img", {
|
|
3037
3042
|
key: 1,
|
|
3038
3043
|
class: "tpl:border-0",
|
|
3039
3044
|
src: e.block.placeholderUrl,
|
|
3040
3045
|
alt: e.block.alt,
|
|
3041
3046
|
style: L(d.value)
|
|
3042
|
-
}, null, 12,
|
|
3047
|
+
}, null, 12, ya))], 64)) : e.block.src && p.value ? (f(), k("div", {
|
|
3043
3048
|
key: 1,
|
|
3044
3049
|
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)]",
|
|
3045
3050
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, d.value])
|
|
3046
|
-
}, [V(j(
|
|
3051
|
+
}, [V(j(ci), {
|
|
3047
3052
|
size: 32,
|
|
3048
3053
|
"stroke-width": 1.5,
|
|
3049
3054
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3050
3055
|
style: { opacity: "0.5" }
|
|
3051
|
-
}), I("span",
|
|
3056
|
+
}), I("span", ba, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 2 }, [e.block.linkUrl ? (f(), k("a", {
|
|
3052
3057
|
key: 0,
|
|
3053
3058
|
href: e.block.linkUrl,
|
|
3054
3059
|
target: "_blank",
|
|
@@ -3060,26 +3065,26 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3060
3065
|
src: e.block.src,
|
|
3061
3066
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3062
3067
|
style: L(d.value)
|
|
3063
|
-
}, null, 12,
|
|
3068
|
+
}, null, 12, Sa)], 8, xa)) : (f(), k("img", {
|
|
3064
3069
|
key: 1,
|
|
3065
3070
|
class: "tpl:border-0",
|
|
3066
3071
|
src: e.block.src,
|
|
3067
3072
|
alt: e.block.alt,
|
|
3068
3073
|
style: L(d.value)
|
|
3069
|
-
}, null, 12,
|
|
3074
|
+
}, null, 12, Ca))], 64)) : (f(), k("div", wa, [s.value ? (f(), k("button", {
|
|
3070
3075
|
key: 0,
|
|
3071
3076
|
"aria-label": j(i).image.browseMedia,
|
|
3072
3077
|
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)]",
|
|
3073
3078
|
onClick: M(l, ["stop"])
|
|
3074
|
-
}, [V(j(
|
|
3079
|
+
}, [V(j(ci), {
|
|
3075
3080
|
size: 14,
|
|
3076
3081
|
"stroke-width": 1.5
|
|
3077
|
-
}), z(" " + D(j(i).image.browseMedia), 1)], 8,
|
|
3082
|
+
}), z(" " + D(j(i).image.browseMedia), 1)], 8, Ta)) : (f(), k("span", Ea, D(j(i).image.clickToAdd), 1))]))], 4));
|
|
3078
3083
|
}
|
|
3079
|
-
}),
|
|
3084
|
+
}), Oa = { class: "tpl:w-full" }, ka = ["href"], Aa = {
|
|
3080
3085
|
key: 1,
|
|
3081
3086
|
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)]"
|
|
3082
|
-
},
|
|
3087
|
+
}, ja = /* @__PURE__ */ B({
|
|
3083
3088
|
__name: "MenuBlock",
|
|
3084
3089
|
props: {
|
|
3085
3090
|
block: {},
|
|
@@ -3098,7 +3103,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3098
3103
|
function a(e) {
|
|
3099
3104
|
return e || t.block.linkColor || t.block.color;
|
|
3100
3105
|
}
|
|
3101
|
-
return (t, o) => (f(), k("div",
|
|
3106
|
+
return (t, o) => (f(), k("div", Oa, [i.value ? (f(), k("div", {
|
|
3102
3107
|
key: 0,
|
|
3103
3108
|
style: L(r.value)
|
|
3104
3109
|
}, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
|
|
@@ -3110,15 +3115,15 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3110
3115
|
textDecoration: t.underline ? "underline" : "none"
|
|
3111
3116
|
}),
|
|
3112
3117
|
onClick: o[0] ||= M(() => {}, ["prevent"])
|
|
3113
|
-
}, D(t.text || "..."), 13,
|
|
3118
|
+
}, D(t.text || "..."), 13, ka), n < e.block.items.length - 1 ? (f(), k("span", {
|
|
3114
3119
|
key: 0,
|
|
3115
3120
|
style: L({
|
|
3116
3121
|
color: e.block.separatorColor,
|
|
3117
3122
|
padding: `0 ${e.block.spacing}px`
|
|
3118
3123
|
})
|
|
3119
|
-
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div",
|
|
3124
|
+
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Aa, [V(j(fi), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
|
|
3120
3125
|
}
|
|
3121
|
-
}),
|
|
3126
|
+
}), Ma = new Set([
|
|
3122
3127
|
"http",
|
|
3123
3128
|
"https",
|
|
3124
3129
|
"mailto",
|
|
@@ -3128,7 +3133,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3128
3133
|
"sms",
|
|
3129
3134
|
"xmpp",
|
|
3130
3135
|
"cid"
|
|
3131
|
-
]),
|
|
3136
|
+
]), Na = new Set([
|
|
3132
3137
|
"SCRIPT",
|
|
3133
3138
|
"STYLE",
|
|
3134
3139
|
"IFRAME",
|
|
@@ -3138,7 +3143,7 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3138
3143
|
"META",
|
|
3139
3144
|
"BASE",
|
|
3140
3145
|
"FORM"
|
|
3141
|
-
]),
|
|
3146
|
+
]), Pa = new Set([
|
|
3142
3147
|
"href",
|
|
3143
3148
|
"xlink:href",
|
|
3144
3149
|
"formaction",
|
|
@@ -3147,16 +3152,16 @@ var ga = ["href"], _a = ["src", "alt"], va = ["src", "alt"], ya = {
|
|
|
3147
3152
|
"background",
|
|
3148
3153
|
"poster"
|
|
3149
3154
|
]);
|
|
3150
|
-
function
|
|
3151
|
-
let n = e.
|
|
3155
|
+
function Fa(e, t) {
|
|
3156
|
+
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
3152
3157
|
if (!n || n.startsWith("#")) return !0;
|
|
3153
3158
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
3154
3159
|
if (!r) return !0;
|
|
3155
3160
|
let i = r[1].toLowerCase();
|
|
3156
|
-
return
|
|
3161
|
+
return Ma.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
3157
3162
|
}
|
|
3158
|
-
function
|
|
3159
|
-
if (
|
|
3163
|
+
function Ia(e) {
|
|
3164
|
+
if (Na.has(e.tagName)) {
|
|
3160
3165
|
e.remove();
|
|
3161
3166
|
return;
|
|
3162
3167
|
}
|
|
@@ -3168,29 +3173,29 @@ function Fa(e) {
|
|
|
3168
3173
|
e.removeAttribute(n);
|
|
3169
3174
|
continue;
|
|
3170
3175
|
}
|
|
3171
|
-
if (
|
|
3172
|
-
|
|
3176
|
+
if (Pa.has(t)) {
|
|
3177
|
+
Fa(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
3173
3178
|
continue;
|
|
3174
3179
|
}
|
|
3175
3180
|
if (t === "src") {
|
|
3176
|
-
|
|
3181
|
+
Fa(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
3177
3182
|
continue;
|
|
3178
3183
|
}
|
|
3179
3184
|
t === "srcdoc" && e.removeAttribute(n);
|
|
3180
3185
|
}
|
|
3181
3186
|
let n = Array.from(e.children);
|
|
3182
|
-
for (let e of n)
|
|
3187
|
+
for (let e of n) Ia(e);
|
|
3183
3188
|
}
|
|
3184
|
-
function
|
|
3189
|
+
function La(e) {
|
|
3185
3190
|
if (typeof DOMParser > "u") return e;
|
|
3186
3191
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
3187
|
-
for (let e of n)
|
|
3192
|
+
for (let e of n) Ia(e);
|
|
3188
3193
|
return t.innerHTML;
|
|
3189
3194
|
}
|
|
3190
3195
|
//#endregion
|
|
3191
3196
|
//#region src/composables/useEditableTextBlock.ts
|
|
3192
|
-
function
|
|
3193
|
-
let t = v(
|
|
3197
|
+
function Ra(e) {
|
|
3198
|
+
let t = v(qn, []), { syntax: n } = Gi(), r = O(() => La(xt(_t(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = En(a), c = O(() => ({
|
|
3194
3199
|
top: o.value - 8,
|
|
3195
3200
|
left: s.value
|
|
3196
3201
|
}));
|
|
@@ -3211,14 +3216,14 @@ function La(e) {
|
|
|
3211
3216
|
}
|
|
3212
3217
|
//#endregion
|
|
3213
3218
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3214
|
-
var
|
|
3219
|
+
var za = ["innerHTML"], Ba = /* @__PURE__ */ B({
|
|
3215
3220
|
__name: "ParagraphBlock",
|
|
3216
3221
|
props: {
|
|
3217
3222
|
block: {},
|
|
3218
3223
|
viewport: {}
|
|
3219
3224
|
},
|
|
3220
3225
|
setup(e) {
|
|
3221
|
-
let t = e, n = T(() => import("./ParagraphEditor-
|
|
3226
|
+
let t = e, n = T(() => import("./ParagraphEditor-CwY8GeWa.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ra(() => t.block.content);
|
|
3222
3227
|
return (t, l) => (f(), k("div", {
|
|
3223
3228
|
ref_key: "blockRef",
|
|
3224
3229
|
ref: i,
|
|
@@ -3237,19 +3242,19 @@ var Ra = ["innerHTML"], za = /* @__PURE__ */ B({
|
|
|
3237
3242
|
key: 1,
|
|
3238
3243
|
class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
|
|
3239
3244
|
innerHTML: j(o)
|
|
3240
|
-
}, null, 8,
|
|
3245
|
+
}, null, 8, za))], 544));
|
|
3241
3246
|
}
|
|
3242
3247
|
});
|
|
3243
3248
|
//#endregion
|
|
3244
3249
|
//#region src/utils/blockComponentResolver.ts
|
|
3245
|
-
function
|
|
3250
|
+
function Va(e, t, n) {
|
|
3246
3251
|
if (t) {
|
|
3247
3252
|
let n = t.getComponent(e);
|
|
3248
3253
|
if (n) return n;
|
|
3249
3254
|
}
|
|
3250
3255
|
return n[e.type] ?? null;
|
|
3251
3256
|
}
|
|
3252
|
-
function
|
|
3257
|
+
function Ha(e) {
|
|
3253
3258
|
let { padding: t, backgroundColor: n } = e.styles;
|
|
3254
3259
|
return {
|
|
3255
3260
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
@@ -3258,20 +3263,20 @@ function Va(e) {
|
|
|
3258
3263
|
}
|
|
3259
3264
|
//#endregion
|
|
3260
3265
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
3261
|
-
var
|
|
3266
|
+
var Ua = ["data-block-id", "data-block-type"], Wa = ["aria-label"], Ga = [
|
|
3262
3267
|
"aria-label",
|
|
3263
3268
|
"aria-pressed",
|
|
3264
3269
|
"title"
|
|
3265
|
-
],
|
|
3270
|
+
], Ka = ["aria-label", "title"], qa = ["aria-label", "title"], Ja = ["aria-label", "title"], Ya = {
|
|
3266
3271
|
key: 1,
|
|
3267
3272
|
class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
|
|
3268
|
-
},
|
|
3273
|
+
}, Xa = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, Za = {
|
|
3269
3274
|
key: 2,
|
|
3270
3275
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
3271
|
-
},
|
|
3276
|
+
}, Qa = ["aria-label", "title"], $a = {
|
|
3272
3277
|
key: 3,
|
|
3273
3278
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
3274
|
-
},
|
|
3279
|
+
}, eo = ["aria-label"], to = /*#__PURE__*/ Pi(/* @__PURE__ */ B({
|
|
3275
3280
|
__name: "BlockWrapper",
|
|
3276
3281
|
props: {
|
|
3277
3282
|
block: {},
|
|
@@ -3281,7 +3286,7 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
|
|
|
3281
3286
|
},
|
|
3282
3287
|
emits: ["select"],
|
|
3283
3288
|
setup(e, { emit: t }) {
|
|
3284
|
-
let n = T(() => import("./BlockIssueBadge-
|
|
3289
|
+
let n = T(() => import("./BlockIssueBadge-Lc3NWFV8.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(nr, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
|
|
3285
3290
|
async function p() {
|
|
3286
3291
|
await m(), l.value?.focus();
|
|
3287
3292
|
}
|
|
@@ -3307,8 +3312,8 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
|
|
|
3307
3312
|
let g = O(() => !r.viewport || !r.block.visibility ? !1 : r.block.visibility[r.viewport] === !1), _ = O(() => r.previewMode === !0 && g.value), y = O(() => r.viewport ? {
|
|
3308
3313
|
desktop: a.viewport.desktop,
|
|
3309
3314
|
mobile: a.viewport.mobile
|
|
3310
|
-
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(
|
|
3311
|
-
let e =
|
|
3315
|
+
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Rn, null), S = v(zn, null), w = v(tr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
|
|
3316
|
+
let e = Ha(r.block);
|
|
3312
3317
|
return {
|
|
3313
3318
|
padding: e.padding,
|
|
3314
3319
|
backgroundColor: e.backgroundColor
|
|
@@ -3356,90 +3361,90 @@ var Ha = ["data-block-id", "data-block-type"], Ua = ["aria-label"], Wa = [
|
|
|
3356
3361
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
3357
3362
|
title: j(a).blockActions.drag,
|
|
3358
3363
|
onKeydown: h
|
|
3359
|
-
}, [V(j(
|
|
3364
|
+
}, [V(j(oi), {
|
|
3360
3365
|
size: 14,
|
|
3361
3366
|
"stroke-width": 1.5
|
|
3362
|
-
})], 40,
|
|
3367
|
+
})], 40, Ga),
|
|
3363
3368
|
I("button", {
|
|
3364
3369
|
class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
3365
3370
|
"aria-label": j(a).blockActions.duplicate,
|
|
3366
3371
|
title: j(a).blockActions.duplicate,
|
|
3367
3372
|
onClick: M(N, ["stop"])
|
|
3368
|
-
}, [V(j(
|
|
3373
|
+
}, [V(j(ei), {
|
|
3369
3374
|
size: 14,
|
|
3370
3375
|
"stroke-width": 1.5
|
|
3371
|
-
})], 8,
|
|
3376
|
+
})], 8, Ka),
|
|
3372
3377
|
ee.value ? (f(), k("button", {
|
|
3373
3378
|
key: 0,
|
|
3374
3379
|
class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
3375
3380
|
"aria-label": j(a).blockActions.saveAsModule,
|
|
3376
3381
|
title: j(a).blockActions.saveAsModule,
|
|
3377
3382
|
onClick: M(ie, ["stop"])
|
|
3378
|
-
}, [V(j(
|
|
3383
|
+
}, [V(j(Ur), {
|
|
3379
3384
|
size: 14,
|
|
3380
3385
|
"stroke-width": 1.5
|
|
3381
|
-
})], 8,
|
|
3386
|
+
})], 8, qa)) : A("", !0),
|
|
3382
3387
|
I("button", {
|
|
3383
3388
|
class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
3384
3389
|
"aria-label": j(a).blockActions.delete,
|
|
3385
3390
|
title: j(a).blockActions.delete,
|
|
3386
3391
|
onClick: M(re, ["stop"])
|
|
3387
|
-
}, [V(j(
|
|
3392
|
+
}, [V(j(wi), {
|
|
3388
3393
|
size: 14,
|
|
3389
3394
|
"stroke-width": 1.5
|
|
3390
|
-
})], 8,
|
|
3391
|
-
], 8,
|
|
3392
|
-
g.value ? (f(), k("div",
|
|
3395
|
+
})], 8, Ja)
|
|
3396
|
+
], 8, Wa)) : A("", !0),
|
|
3397
|
+
g.value ? (f(), k("div", Ya, [I("span", Xa, [V(j(ti), {
|
|
3393
3398
|
size: 12,
|
|
3394
3399
|
"stroke-width": 1.5
|
|
3395
3400
|
}), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
|
|
3396
|
-
b.value && !g.value ? (f(), k("div",
|
|
3401
|
+
b.value && !g.value ? (f(), k("div", Za, [I("button", {
|
|
3397
3402
|
class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
|
|
3398
3403
|
"aria-label": j(a).blockActions.conditionToggle,
|
|
3399
3404
|
title: e.block.displayCondition?.label,
|
|
3400
3405
|
onClick: M(P, ["stop"])
|
|
3401
|
-
}, [V(j(
|
|
3406
|
+
}, [V(j(ai), {
|
|
3402
3407
|
size: 12,
|
|
3403
3408
|
"stroke-width": 2
|
|
3404
|
-
})], 8,
|
|
3405
|
-
E.value > 0 && !g.value ? (f(), k("div",
|
|
3409
|
+
})], 8, Qa)])) : A("", !0),
|
|
3410
|
+
E.value > 0 && !g.value ? (f(), k("div", $a, [I("button", {
|
|
3406
3411
|
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)]",
|
|
3407
3412
|
"aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
|
|
3408
3413
|
onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
|
|
3409
|
-
}, [V(j(
|
|
3414
|
+
}, [V(j(di), {
|
|
3410
3415
|
size: 12,
|
|
3411
3416
|
"stroke-width": 2.5
|
|
3412
|
-
}), z(" " + D(E.value), 1)], 8,
|
|
3417
|
+
}), z(" " + D(E.value), 1)], 8, eo)])) : A("", !0),
|
|
3413
3418
|
I("div", {
|
|
3414
3419
|
class: "tpl-block-content",
|
|
3415
3420
|
style: L(te.value)
|
|
3416
3421
|
}, [o(t.$slots, "default", {}, void 0, !0)], 4)
|
|
3417
|
-
], 10,
|
|
3422
|
+
], 10, Ua));
|
|
3418
3423
|
}
|
|
3419
3424
|
}), [["__scopeId", "data-v-4a48371d"]]);
|
|
3420
3425
|
//#endregion
|
|
3421
3426
|
//#region src/utils/unwrapParagraph.ts
|
|
3422
|
-
function
|
|
3427
|
+
function no(e) {
|
|
3423
3428
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
3424
3429
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
3425
3430
|
}
|
|
3426
3431
|
//#endregion
|
|
3427
3432
|
//#region src/components/blocks/TitleBlock.vue
|
|
3428
|
-
var
|
|
3433
|
+
var ro = /* @__PURE__ */ B({
|
|
3429
3434
|
__name: "TitleBlock",
|
|
3430
3435
|
props: {
|
|
3431
3436
|
block: {},
|
|
3432
3437
|
viewport: {}
|
|
3433
3438
|
},
|
|
3434
3439
|
setup(e) {
|
|
3435
|
-
let t = e, n = T(() => import("./TitleEditor-
|
|
3440
|
+
let t = e, n = T(() => import("./TitleEditor-Betpo8AZ.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ra(() => t.block.content), l = O(() => {
|
|
3436
3441
|
let e = {
|
|
3437
3442
|
fontSize: `${pe[t.block.level]}px`,
|
|
3438
3443
|
color: t.block.color,
|
|
3439
3444
|
textAlign: t.block.textAlign
|
|
3440
3445
|
};
|
|
3441
3446
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
3442
|
-
}), u = O(() => `h${t.block.level}`), p = O(() =>
|
|
3447
|
+
}), u = O(() => `h${t.block.level}`), p = O(() => no(o.value));
|
|
3443
3448
|
return (t, o) => (f(), k("div", {
|
|
3444
3449
|
ref_key: "blockRef",
|
|
3445
3450
|
ref: i,
|
|
@@ -3462,11 +3467,11 @@ var no = /* @__PURE__ */ B({
|
|
|
3462
3467
|
innerHTML: p.value
|
|
3463
3468
|
}, null, 8, ["innerHTML"]))], 36));
|
|
3464
3469
|
}
|
|
3465
|
-
}),
|
|
3470
|
+
}), io = { class: "tpl:w-full" }, ao = { class: "tpl:flex tpl:gap-0" }, oo = {
|
|
3466
3471
|
key: 0,
|
|
3467
3472
|
"data-testid": "section-drop-hint",
|
|
3468
3473
|
class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
3469
|
-
},
|
|
3474
|
+
}, so = /* @__PURE__ */ B({
|
|
3470
3475
|
__name: "SectionBlock",
|
|
3471
3476
|
props: {
|
|
3472
3477
|
block: {},
|
|
@@ -3474,13 +3479,13 @@ var no = /* @__PURE__ */ B({
|
|
|
3474
3479
|
},
|
|
3475
3480
|
setup(e) {
|
|
3476
3481
|
let t = {
|
|
3477
|
-
title:
|
|
3478
|
-
paragraph:
|
|
3479
|
-
image:
|
|
3480
|
-
button:
|
|
3481
|
-
divider:
|
|
3482
|
-
custom:
|
|
3483
|
-
}, n = e, { t: r } = Y(), i = J(
|
|
3482
|
+
title: ro,
|
|
3483
|
+
paragraph: Ba,
|
|
3484
|
+
image: Da,
|
|
3485
|
+
button: Nr,
|
|
3486
|
+
divider: ua,
|
|
3487
|
+
custom: ca
|
|
3488
|
+
}, n = e, { t: r } = Y(), i = J(In, "SectionBlock"), a = v(zn, null), o = v(Wn, null), s = O(() => {
|
|
3484
3489
|
switch (n.block.columns) {
|
|
3485
3490
|
case "2": return ["50%", "50%"];
|
|
3486
3491
|
case "3": return [
|
|
@@ -3506,7 +3511,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3506
3511
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3507
3512
|
}
|
|
3508
3513
|
function m(e) {
|
|
3509
|
-
return
|
|
3514
|
+
return Va(e, o, t);
|
|
3510
3515
|
}
|
|
3511
3516
|
function g(e, t) {
|
|
3512
3517
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
@@ -3514,7 +3519,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3514
3519
|
dataSourceFetched: t.dataSourceFetched
|
|
3515
3520
|
});
|
|
3516
3521
|
}
|
|
3517
|
-
return (t, n) => (f(), k("div",
|
|
3522
|
+
return (t, n) => (f(), k("div", io, [I("div", ao, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
|
|
3518
3523
|
key: n,
|
|
3519
3524
|
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
3520
3525
|
style: L({ width: s.value[n] })
|
|
@@ -3536,7 +3541,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3536
3541
|
class: "tpl:min-h-[60px]",
|
|
3537
3542
|
"onUpdate:modelValue": (e) => p(n, e)
|
|
3538
3543
|
}, {
|
|
3539
|
-
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(
|
|
3544
|
+
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(to, {
|
|
3540
3545
|
block: t,
|
|
3541
3546
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3542
3547
|
viewport: e.viewport,
|
|
@@ -3565,9 +3570,9 @@ var no = /* @__PURE__ */ B({
|
|
|
3565
3570
|
"model-value",
|
|
3566
3571
|
"group",
|
|
3567
3572
|
"onUpdate:modelValue"
|
|
3568
|
-
]), u(n).length === 0 ? (f(), k("div",
|
|
3573
|
+
]), u(n).length === 0 ? (f(), k("div", oo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
|
|
3569
3574
|
}
|
|
3570
|
-
}),
|
|
3575
|
+
}), co = {
|
|
3571
3576
|
facebook: {
|
|
3572
3577
|
name: "Facebook",
|
|
3573
3578
|
color: "#1877F2",
|
|
@@ -3648,11 +3653,11 @@ var no = /* @__PURE__ */ B({
|
|
|
3648
3653
|
color: "#1769FF",
|
|
3649
3654
|
path: "M22 7h-7V5h7v2zm1.726 10c-.442 1.297-2.029 3-5.101 3-3.074 0-5.564-1.729-5.564-5.675 0-3.91 2.325-5.92 5.466-5.92 3.082 0 4.964 1.782 5.375 4.426.078.506.109 1.188.095 2.14H15.97c.13 3.211 3.483 3.312 4.588 2.029h3.168zm-7.686-4h4.965c-.105-1.547-1.136-2.219-2.477-2.219-1.466 0-2.277.768-2.488 2.219zm-9.574 6.988H0V5.021h6.953c5.476.081 5.58 5.444 2.72 6.906 3.461 1.26 3.577 8.061-3.207 8.061zM3 11h3.584c2.508 0 2.906-3-.312-3H3v3zm3.391 3H3v3.016h3.341c3.055 0 2.868-3.016.05-3.016z"
|
|
3650
3655
|
}
|
|
3651
|
-
},
|
|
3656
|
+
}, lo = {
|
|
3652
3657
|
small: 24,
|
|
3653
3658
|
medium: 32,
|
|
3654
3659
|
large: 48
|
|
3655
|
-
},
|
|
3660
|
+
}, uo = [
|
|
3656
3661
|
"facebook",
|
|
3657
3662
|
"twitter",
|
|
3658
3663
|
"instagram",
|
|
@@ -3669,11 +3674,11 @@ var no = /* @__PURE__ */ B({
|
|
|
3669
3674
|
"github",
|
|
3670
3675
|
"dribbble",
|
|
3671
3676
|
"behance"
|
|
3672
|
-
],
|
|
3677
|
+
], fo = [
|
|
3673
3678
|
"width",
|
|
3674
3679
|
"height",
|
|
3675
3680
|
"fill"
|
|
3676
|
-
],
|
|
3681
|
+
], po = ["d"], mo = /* @__PURE__ */ B({
|
|
3677
3682
|
__name: "SocialIconSvg",
|
|
3678
3683
|
props: {
|
|
3679
3684
|
platform: {},
|
|
@@ -3681,7 +3686,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3681
3686
|
iconSize: {}
|
|
3682
3687
|
},
|
|
3683
3688
|
setup(e) {
|
|
3684
|
-
let t = e, n = O(() =>
|
|
3689
|
+
let t = e, n = O(() => co[t.platform]), r = O(() => lo[t.iconSize]), i = O(() => {
|
|
3685
3690
|
let e = {
|
|
3686
3691
|
display: "inline-flex",
|
|
3687
3692
|
alignItems: "center",
|
|
@@ -3725,12 +3730,12 @@ var no = /* @__PURE__ */ B({
|
|
|
3725
3730
|
viewBox: "0 0 24 24",
|
|
3726
3731
|
fill: o.value,
|
|
3727
3732
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3728
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3733
|
+
}, [I("path", { d: n.value.path }, null, 8, po)], 8, fo))], 4));
|
|
3729
3734
|
}
|
|
3730
|
-
}),
|
|
3735
|
+
}), ho = { class: "tpl:w-full" }, go = ["href"], _o = {
|
|
3731
3736
|
key: 1,
|
|
3732
3737
|
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)]"
|
|
3733
|
-
},
|
|
3738
|
+
}, vo = /* @__PURE__ */ B({
|
|
3734
3739
|
__name: "SocialIconsBlock",
|
|
3735
3740
|
props: {
|
|
3736
3741
|
block: {},
|
|
@@ -3743,7 +3748,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3743
3748
|
gap: `${t.block.spacing}px`,
|
|
3744
3749
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3745
3750
|
})), i = O(() => t.block.icons.length > 0);
|
|
3746
|
-
return (t, a) => (f(), k("div",
|
|
3751
|
+
return (t, a) => (f(), k("div", ho, [i.value ? (f(), k("div", {
|
|
3747
3752
|
key: 0,
|
|
3748
3753
|
style: L(r.value)
|
|
3749
3754
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3751,7 +3756,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3751
3756
|
href: t.url || "#",
|
|
3752
3757
|
class: "tpl:cursor-default",
|
|
3753
3758
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3754
|
-
}, [V(
|
|
3759
|
+
}, [V(mo, {
|
|
3755
3760
|
platform: t.platform,
|
|
3756
3761
|
"icon-style": e.block.iconStyle,
|
|
3757
3762
|
"icon-size": e.block.iconSize
|
|
@@ -3759,44 +3764,44 @@ var no = /* @__PURE__ */ B({
|
|
|
3759
3764
|
"platform",
|
|
3760
3765
|
"icon-style",
|
|
3761
3766
|
"icon-size"
|
|
3762
|
-
])], 8,
|
|
3767
|
+
])], 8, go))), 128))], 4)) : (f(), k("div", _o, [V(j(yi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
3763
3768
|
}
|
|
3764
|
-
}),
|
|
3769
|
+
}), yo = { class: "tpl:w-full" }, bo = {
|
|
3765
3770
|
key: 0,
|
|
3766
3771
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3767
3772
|
style: {
|
|
3768
3773
|
"background-color": "var(--tpl-bg-hover)",
|
|
3769
3774
|
color: "var(--tpl-text-dim)"
|
|
3770
3775
|
}
|
|
3771
|
-
},
|
|
3776
|
+
}, xo = /* @__PURE__ */ B({
|
|
3772
3777
|
__name: "SpacerBlock",
|
|
3773
3778
|
props: {
|
|
3774
3779
|
block: {},
|
|
3775
3780
|
viewport: {}
|
|
3776
3781
|
},
|
|
3777
3782
|
setup(e) {
|
|
3778
|
-
let t = e, n = J(
|
|
3783
|
+
let t = e, n = J(In, "SpacerBlock"), r = O(() => ({
|
|
3779
3784
|
height: `${t.block.height}px`,
|
|
3780
3785
|
minHeight: `${t.block.height}px`,
|
|
3781
3786
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3782
3787
|
}));
|
|
3783
|
-
return (t, i) => (f(), k("div",
|
|
3788
|
+
return (t, i) => (f(), k("div", yo, [I("div", {
|
|
3784
3789
|
style: L(r.value),
|
|
3785
3790
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
3786
|
-
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span",
|
|
3791
|
+
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span", bo, D(e.block.height) + "px ", 1))], 6)]));
|
|
3787
3792
|
}
|
|
3788
|
-
}),
|
|
3793
|
+
}), So = { class: "tpl:w-full" }, Co = { key: 0 }, wo = [
|
|
3789
3794
|
"aria-label",
|
|
3790
3795
|
"data-placeholder",
|
|
3791
3796
|
"onBlur"
|
|
3792
|
-
],
|
|
3797
|
+
], To = [
|
|
3793
3798
|
"aria-label",
|
|
3794
3799
|
"data-placeholder",
|
|
3795
3800
|
"onBlur"
|
|
3796
|
-
],
|
|
3801
|
+
], Eo = {
|
|
3797
3802
|
key: 1,
|
|
3798
3803
|
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)]"
|
|
3799
|
-
},
|
|
3804
|
+
}, Do = /*#__PURE__*/ Pi(/* @__PURE__ */ B({
|
|
3800
3805
|
__name: "TableBlock",
|
|
3801
3806
|
props: {
|
|
3802
3807
|
block: {},
|
|
@@ -3808,9 +3813,9 @@ var no = /* @__PURE__ */ B({
|
|
|
3808
3813
|
e.textContent = t.value ?? "";
|
|
3809
3814
|
},
|
|
3810
3815
|
updated(e, t) {
|
|
3811
|
-
t.value !== t.oldValue && e.
|
|
3816
|
+
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
3812
3817
|
}
|
|
3813
|
-
}, n = e, { t: r } = Y(), i = J(
|
|
3818
|
+
}, n = e, { t: r } = Y(), i = J(In, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => ({
|
|
3814
3819
|
width: "100%",
|
|
3815
3820
|
borderCollapse: "collapse",
|
|
3816
3821
|
fontSize: `${n.block.fontSize}px`,
|
|
@@ -3839,11 +3844,11 @@ var no = /* @__PURE__ */ B({
|
|
|
3839
3844
|
} : n);
|
|
3840
3845
|
i.updateBlock(n.block.id, { rows: o });
|
|
3841
3846
|
}
|
|
3842
|
-
return (e, n) => (f(), k("div",
|
|
3847
|
+
return (e, n) => (f(), k("div", So, [a.value ? (f(), k("table", {
|
|
3843
3848
|
key: 0,
|
|
3844
3849
|
style: L(o.value),
|
|
3845
3850
|
class: "tpl-table-editable"
|
|
3846
|
-
}, [u.value ? (f(), k("thead",
|
|
3851
|
+
}, [u.value ? (f(), k("thead", Co, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
|
|
3847
3852
|
key: e.id,
|
|
3848
3853
|
style: L(l.value),
|
|
3849
3854
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -3852,7 +3857,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3852
3857
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
3853
3858
|
onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3854
3859
|
onClick: M(p, ["stop"])
|
|
3855
|
-
}, null, 44,
|
|
3860
|
+
}, null, 44, wo)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
|
|
3856
3861
|
key: i.id,
|
|
3857
3862
|
style: L(s.value),
|
|
3858
3863
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -3861,9 +3866,9 @@ var no = /* @__PURE__ */ B({
|
|
|
3861
3866
|
onBlur: (t) => m(e.id, i.id, t),
|
|
3862
3867
|
onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3863
3868
|
onClick: M(p, ["stop"])
|
|
3864
|
-
}, null, 44,
|
|
3869
|
+
}, null, 44, To)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Eo, [V(j(Ci), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
|
|
3865
3870
|
}
|
|
3866
|
-
}), [["__scopeId", "data-v-
|
|
3871
|
+
}), [["__scopeId", "data-v-1b130f2b"]]), Oo = /* @__PURE__ */ B({
|
|
3867
3872
|
__name: "VideoPlayButton",
|
|
3868
3873
|
props: { hoverEffect: {
|
|
3869
3874
|
type: Boolean,
|
|
@@ -3881,7 +3886,7 @@ var no = /* @__PURE__ */ B({
|
|
|
3881
3886
|
});
|
|
3882
3887
|
//#endregion
|
|
3883
3888
|
//#region src/utils/videoThumbnail.ts
|
|
3884
|
-
function
|
|
3889
|
+
function ko(e) {
|
|
3885
3890
|
if (!e) return {
|
|
3886
3891
|
platform: "unknown",
|
|
3887
3892
|
videoId: null,
|
|
@@ -3913,25 +3918,25 @@ function Oo(e) {
|
|
|
3913
3918
|
thumbnailUrl: null
|
|
3914
3919
|
};
|
|
3915
3920
|
}
|
|
3916
|
-
function
|
|
3917
|
-
return t ||
|
|
3921
|
+
function Ao(e, t) {
|
|
3922
|
+
return t || ko(e).thumbnailUrl;
|
|
3918
3923
|
}
|
|
3919
3924
|
//#endregion
|
|
3920
3925
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3921
|
-
var
|
|
3926
|
+
var jo = ["src", "alt"], Mo = {
|
|
3922
3927
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3923
3928
|
style: { opacity: "0.7" }
|
|
3924
|
-
},
|
|
3929
|
+
}, No = ["href"], Po = ["src", "alt"], Fo = ["src", "alt"], Io = {
|
|
3925
3930
|
key: 3,
|
|
3926
3931
|
class: "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-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
|
|
3927
|
-
},
|
|
3932
|
+
}, Lo = /* @__PURE__ */ B({
|
|
3928
3933
|
__name: "VideoBlock",
|
|
3929
3934
|
props: {
|
|
3930
3935
|
block: {},
|
|
3931
3936
|
viewport: {}
|
|
3932
3937
|
},
|
|
3933
3938
|
setup(e) {
|
|
3934
|
-
let t = e, { t: n } = Y(), { syntax: r } =
|
|
3939
|
+
let t = e, { t: n } = Y(), { syntax: r } = Gi(), i = O(() => vt(t.block.url, r) || vt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Ao(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
|
|
3935
3940
|
let e = t.block.align;
|
|
3936
3941
|
return {
|
|
3937
3942
|
maxWidth: "100%",
|
|
@@ -3940,7 +3945,7 @@ var Ao = ["src", "alt"], jo = {
|
|
|
3940
3945
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
3941
3946
|
marginRight: e === "center" ? "auto" : void 0
|
|
3942
3947
|
};
|
|
3943
|
-
}), c = O(() =>
|
|
3948
|
+
}), c = O(() => vt(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
|
|
3944
3949
|
return (t, r) => (f(), k("div", {
|
|
3945
3950
|
class: "tpl:w-full",
|
|
3946
3951
|
style: L(o.value)
|
|
@@ -3952,16 +3957,16 @@ var Ao = ["src", "alt"], jo = {
|
|
|
3952
3957
|
class: "tpl:w-full tpl:border-0",
|
|
3953
3958
|
src: e.block.placeholderUrl,
|
|
3954
3959
|
alt: e.block.alt
|
|
3955
|
-
}, null, 8,
|
|
3960
|
+
}, null, 8, jo), V(Oo)], 4)) : i.value ? (f(), k("div", {
|
|
3956
3961
|
key: 1,
|
|
3957
3962
|
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)]",
|
|
3958
3963
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
3959
|
-
}, [V(j(
|
|
3964
|
+
}, [V(j(Oi), {
|
|
3960
3965
|
size: 36,
|
|
3961
3966
|
"stroke-width": 1.5,
|
|
3962
3967
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3963
3968
|
style: { opacity: "0.5" }
|
|
3964
|
-
}), I("span",
|
|
3969
|
+
}), I("span", Mo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
3965
3970
|
key: 0,
|
|
3966
3971
|
href: e.block.url,
|
|
3967
3972
|
target: "_blank",
|
|
@@ -3973,7 +3978,7 @@ var Ao = ["src", "alt"], jo = {
|
|
|
3973
3978
|
class: "tpl:w-full tpl:border-0",
|
|
3974
3979
|
src: a.value,
|
|
3975
3980
|
alt: e.block.alt
|
|
3976
|
-
}, null, 8,
|
|
3981
|
+
}, null, 8, Po), V(Oo, { "hover-effect": "" })], 12, No)) : (f(), k("div", {
|
|
3977
3982
|
key: 1,
|
|
3978
3983
|
class: "tpl:relative tpl:inline-block",
|
|
3979
3984
|
style: L(s.value)
|
|
@@ -3981,48 +3986,48 @@ var Ao = ["src", "alt"], jo = {
|
|
|
3981
3986
|
class: "tpl:w-full tpl:border-0",
|
|
3982
3987
|
src: a.value,
|
|
3983
3988
|
alt: e.block.alt
|
|
3984
|
-
}, null, 8,
|
|
3989
|
+
}, null, 8, Fo), V(Oo)], 4))], 64)) : (f(), k("div", Io, [V(j(Oi), {
|
|
3985
3990
|
size: 40,
|
|
3986
3991
|
"stroke-width": 1.5,
|
|
3987
3992
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
3988
3993
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
3989
3994
|
}
|
|
3990
|
-
}),
|
|
3991
|
-
section:
|
|
3992
|
-
title:
|
|
3993
|
-
paragraph:
|
|
3994
|
-
image:
|
|
3995
|
-
button:
|
|
3996
|
-
divider:
|
|
3997
|
-
video:
|
|
3998
|
-
social:
|
|
3999
|
-
menu:
|
|
4000
|
-
table:
|
|
4001
|
-
spacer:
|
|
4002
|
-
html:
|
|
4003
|
-
countdown: T(() => import("./CountdownBlock-
|
|
3995
|
+
}), Ro = {
|
|
3996
|
+
section: so,
|
|
3997
|
+
title: ro,
|
|
3998
|
+
paragraph: Ba,
|
|
3999
|
+
image: Da,
|
|
4000
|
+
button: Nr,
|
|
4001
|
+
divider: ua,
|
|
4002
|
+
video: Lo,
|
|
4003
|
+
social: vo,
|
|
4004
|
+
menu: ja,
|
|
4005
|
+
table: Do,
|
|
4006
|
+
spacer: xo,
|
|
4007
|
+
html: ha,
|
|
4008
|
+
countdown: T(() => import("./CountdownBlock-gqnpxKp_.js").then((e) => e.n))
|
|
4004
4009
|
};
|
|
4005
|
-
function
|
|
4010
|
+
function zo(e) {
|
|
4006
4011
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
4007
4012
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
4008
|
-
let { resolvedTheme: c } =
|
|
4013
|
+
let { resolvedTheme: c } = _r(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = yr({
|
|
4009
4014
|
themeOverrides: u,
|
|
4010
4015
|
resolvedTheme: c,
|
|
4011
4016
|
extraStyles: e.themeExtraStyles
|
|
4012
|
-
}), f =
|
|
4017
|
+
}), f = kt({
|
|
4013
4018
|
content: t.content,
|
|
4014
4019
|
setContent: (e, n) => t.setContent(e, n),
|
|
4015
4020
|
...e.historyOptions
|
|
4016
4021
|
});
|
|
4017
|
-
|
|
4018
|
-
let m =
|
|
4022
|
+
Ft(t, f);
|
|
4023
|
+
let m = jt({
|
|
4019
4024
|
addBlock: t.addBlock,
|
|
4020
4025
|
removeBlock: t.removeBlock,
|
|
4021
4026
|
updateBlock: t.updateBlock,
|
|
4022
4027
|
selectBlock: t.selectBlock,
|
|
4023
4028
|
findBlockLocation: t.findBlockLocation,
|
|
4024
4029
|
blockDefaults: n.blockDefaults
|
|
4025
|
-
}), h =
|
|
4030
|
+
}), h = Nt(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Mt({
|
|
4026
4031
|
content: t.content,
|
|
4027
4032
|
isDirty: () => t.state.isDirty,
|
|
4028
4033
|
...e.autoSaveOptions
|
|
@@ -4030,15 +4035,15 @@ function Ro(e) {
|
|
|
4030
4035
|
g && (_ = H(f.isNavigating, (e) => {
|
|
4031
4036
|
e ? g.pause() : g.resume();
|
|
4032
4037
|
}));
|
|
4033
|
-
let v =
|
|
4038
|
+
let v = gr(t, {
|
|
4034
4039
|
t: a,
|
|
4035
4040
|
format: o
|
|
4036
|
-
}), y =
|
|
4037
|
-
if (
|
|
4041
|
+
}), y = Cr();
|
|
4042
|
+
if (Or(y, Ro), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, ca);
|
|
4038
4043
|
function b(e) {
|
|
4039
|
-
for (let t of e) y.registerCustom(t,
|
|
4044
|
+
for (let t of e) y.registerCustom(t, ca);
|
|
4040
4045
|
}
|
|
4041
|
-
let x =
|
|
4046
|
+
let x = Pn();
|
|
4042
4047
|
if (s() && l(x.dispose), e.containerEl) {
|
|
4043
4048
|
let t = e.containerEl;
|
|
4044
4049
|
q(document, "pointerdown", (e) => {
|
|
@@ -4047,7 +4052,7 @@ function Ro(e) {
|
|
|
4047
4052
|
}, { capture: !0 });
|
|
4048
4053
|
}
|
|
4049
4054
|
function S(r) {
|
|
4050
|
-
x.isActive() &&
|
|
4055
|
+
x.isActive() && Ar(r, {
|
|
4051
4056
|
history: f,
|
|
4052
4057
|
selectBlock: (e) => t.selectBlock(e),
|
|
4053
4058
|
getSelectedBlockId: () => t.state.selectedBlockId,
|
|
@@ -4058,17 +4063,17 @@ function Ro(e) {
|
|
|
4058
4063
|
}
|
|
4059
4064
|
q(document, "keydown", S);
|
|
4060
4065
|
let w = C(null);
|
|
4061
|
-
p(
|
|
4062
|
-
let ee =
|
|
4063
|
-
p(
|
|
4064
|
-
let T =
|
|
4066
|
+
p(ir, e.editorRoot ?? document), p(ar, w), p(Fn, r), p(In, t), p(Ln, f), p(Rn, m), p(zn, h), p(Bn, i), p(Vn, d), p(Hn, c), p(Un, n.blockDefaults), p(Wn, y), p(Gn, n.customBlocks ?? []), p(Kn, wr(t.content, y));
|
|
4067
|
+
let ee = pt(n.mergeTags?.syntax);
|
|
4068
|
+
p(qn, n.mergeTags?.tags ?? []), p(Jn, ee), p(Yn, n.mergeTags?.onRequest ?? null), p(Xn, n.mergeTags?.autocomplete !== !1), p(Zn, fr()), p(Qn, n.onRequestMedia ?? null), p($n, n.displayConditions?.conditions ?? []), p(er, n.displayConditions?.allowCustom ?? !1), p(tr, e.capabilities ?? {}), p(nr, v);
|
|
4069
|
+
let T = pr(n.lint) ? null : mr({
|
|
4065
4070
|
content: t.content,
|
|
4066
4071
|
options: n.lint ?? {},
|
|
4067
4072
|
updateBlock: t.updateBlock,
|
|
4068
4073
|
updateSettings: t.updateSettings,
|
|
4069
4074
|
removeBlock: t.removeBlock
|
|
4070
4075
|
});
|
|
4071
|
-
p(
|
|
4076
|
+
p(rr, T);
|
|
4072
4077
|
function E() {
|
|
4073
4078
|
_?.(), T?.destroy(), g?.destroy(), f.destroy();
|
|
4074
4079
|
}
|
|
@@ -4092,19 +4097,19 @@ function Ro(e) {
|
|
|
4092
4097
|
}
|
|
4093
4098
|
//#endregion
|
|
4094
4099
|
//#region src/composables/usePopoverRoot.ts
|
|
4095
|
-
function
|
|
4096
|
-
return v(
|
|
4100
|
+
function Bo() {
|
|
4101
|
+
return v(ar, C(null));
|
|
4097
4102
|
}
|
|
4098
4103
|
//#endregion
|
|
4099
4104
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4100
|
-
var
|
|
4105
|
+
var Vo = ["data-tpl-theme"], Ho = /* @__PURE__ */ B({
|
|
4101
4106
|
__name: "TplModal",
|
|
4102
4107
|
props: { visible: { type: Boolean } },
|
|
4103
4108
|
emits: ["close", "keydown"],
|
|
4104
4109
|
setup(e, { emit: t }) {
|
|
4105
4110
|
let n = e, r = t, i = C(null);
|
|
4106
|
-
|
|
4107
|
-
let a = v(
|
|
4111
|
+
Vi(i, O(() => n.visible));
|
|
4112
|
+
let a = v(Hn), s = Bo();
|
|
4108
4113
|
function c(e) {
|
|
4109
4114
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4110
4115
|
}
|
|
@@ -4133,11 +4138,11 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
|
|
|
4133
4138
|
}, [I("div", {
|
|
4134
4139
|
ref_key: "dialogRef",
|
|
4135
4140
|
ref: i
|
|
4136
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4141
|
+
}, [o(t.$slots, "default")], 512)], 40, Vo)) : A("", !0)]),
|
|
4137
4142
|
_: 3
|
|
4138
4143
|
})], 8, ["to"])) : A("", !0);
|
|
4139
4144
|
}
|
|
4140
|
-
}),
|
|
4145
|
+
}), Uo = class e {
|
|
4141
4146
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4142
4147
|
accessToken = null;
|
|
4143
4148
|
expiresAt = null;
|
|
@@ -4211,7 +4216,7 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
|
|
|
4211
4216
|
};
|
|
4212
4217
|
e === "POST" && this.requestOptions.body && (t["Content-Type"] = "application/json", n.body = JSON.stringify(this.requestOptions.body));
|
|
4213
4218
|
let r = await fetch(this.url, n);
|
|
4214
|
-
if (!r.ok) throw new
|
|
4219
|
+
if (!r.ok) throw new Ct(`Token refresh failed: ${r.status}`, r.status);
|
|
4215
4220
|
let i = await r.json();
|
|
4216
4221
|
if (!i.token || !i.expires_at || !i.project_id || !i.tenant) throw Error("Invalid token response: missing token, expires_at, project_id, or tenant");
|
|
4217
4222
|
return this.accessToken = i.token, this.expiresAt = /* @__PURE__ */ new Date(i.expires_at * 1e3), this._projectId = i.project_id, this._tenantSlug = i.tenant, i.test_email?.allowed_emails && i.test_email?.signature ? this._testEmailConfig = {
|
|
@@ -4238,8 +4243,8 @@ var Bo = ["data-tpl-theme"], Vo = /* @__PURE__ */ B({
|
|
|
4238
4243
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4239
4244
|
}
|
|
4240
4245
|
};
|
|
4241
|
-
function
|
|
4242
|
-
return e.mode === "direct" ? new
|
|
4246
|
+
function Wo(e, t) {
|
|
4247
|
+
return e.mode === "direct" ? new Uo({
|
|
4243
4248
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4244
4249
|
baseUrl: e.baseUrl,
|
|
4245
4250
|
requestOptions: {
|
|
@@ -4253,7 +4258,7 @@ function Uo(e, t) {
|
|
|
4253
4258
|
}
|
|
4254
4259
|
},
|
|
4255
4260
|
onError: t
|
|
4256
|
-
}) : new
|
|
4261
|
+
}) : new Uo({
|
|
4257
4262
|
url: e.url,
|
|
4258
4263
|
baseUrl: e.baseUrl,
|
|
4259
4264
|
requestOptions: e.requestOptions,
|
|
@@ -4265,16 +4270,16 @@ function Uo(e, t) {
|
|
|
4265
4270
|
function Z(e, t) {
|
|
4266
4271
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4267
4272
|
}
|
|
4268
|
-
var
|
|
4273
|
+
var Go = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Go}/templates/{template}`, Ko = `${Q}/ai`, qo = `${Go}/media`, Jo = `${qo}/folders`, Yo = `${Go}/saved-modules`, $ = {
|
|
4269
4274
|
health: "/api/v1/health",
|
|
4270
|
-
"projects.config": `${
|
|
4271
|
-
"broadcasting.auth": `${
|
|
4272
|
-
"templates.store": `${
|
|
4275
|
+
"projects.config": `${Go}/config`,
|
|
4276
|
+
"broadcasting.auth": `${Go}/broadcasting/auth`,
|
|
4277
|
+
"templates.store": `${Go}/templates`,
|
|
4273
4278
|
"templates.show": `${Q}`,
|
|
4274
4279
|
"templates.update": `${Q}`,
|
|
4275
4280
|
"templates.destroy": `${Q}`,
|
|
4276
4281
|
"templates.export": `${Q}/export`,
|
|
4277
|
-
"templates.importFromBeefree": `${
|
|
4282
|
+
"templates.importFromBeefree": `${Go}/templates/import/from-beefree`,
|
|
4278
4283
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4279
4284
|
"snapshots.index": `${Q}/snapshots`,
|
|
4280
4285
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4285,31 +4290,31 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
|
|
|
4285
4290
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4286
4291
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4287
4292
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4288
|
-
"ai.generate": `${
|
|
4289
|
-
"ai.conversationMessages": `${
|
|
4290
|
-
"ai.suggestions": `${
|
|
4291
|
-
"ai.rewriteText": `${
|
|
4292
|
-
"ai.score": `${
|
|
4293
|
-
"ai.fixFinding": `${
|
|
4294
|
-
"ai.generateFromDesign": `${
|
|
4295
|
-
"media.upload": `${
|
|
4296
|
-
"media.browse": `${
|
|
4297
|
-
"media.delete": `${
|
|
4298
|
-
"media.move": `${
|
|
4299
|
-
"media.update": `${
|
|
4300
|
-
"media.replace": `${
|
|
4301
|
-
"media.checkUsage": `${
|
|
4302
|
-
"media.frequentlyUsed": `${
|
|
4303
|
-
"media.importFromUrl": `${
|
|
4304
|
-
"folders.index": `${
|
|
4305
|
-
"folders.store": `${
|
|
4306
|
-
"folders.update": `${
|
|
4307
|
-
"folders.destroy": `${
|
|
4308
|
-
"savedModules.index": `${
|
|
4309
|
-
"savedModules.store": `${
|
|
4310
|
-
"savedModules.update": `${
|
|
4311
|
-
"savedModules.destroy": `${
|
|
4312
|
-
},
|
|
4293
|
+
"ai.generate": `${Ko}/generate`,
|
|
4294
|
+
"ai.conversationMessages": `${Ko}/conversation-messages`,
|
|
4295
|
+
"ai.suggestions": `${Ko}/suggestions`,
|
|
4296
|
+
"ai.rewriteText": `${Ko}/rewrite-text`,
|
|
4297
|
+
"ai.score": `${Ko}/score`,
|
|
4298
|
+
"ai.fixFinding": `${Ko}/fix-finding`,
|
|
4299
|
+
"ai.generateFromDesign": `${Ko}/generate-from-design`,
|
|
4300
|
+
"media.upload": `${qo}/upload`,
|
|
4301
|
+
"media.browse": `${qo}/browse`,
|
|
4302
|
+
"media.delete": `${qo}/delete`,
|
|
4303
|
+
"media.move": `${qo}/move`,
|
|
4304
|
+
"media.update": `${qo}/{media}`,
|
|
4305
|
+
"media.replace": `${qo}/{media}/replace`,
|
|
4306
|
+
"media.checkUsage": `${qo}/check-usage`,
|
|
4307
|
+
"media.frequentlyUsed": `${qo}/frequently-used`,
|
|
4308
|
+
"media.importFromUrl": `${qo}/import-from-url`,
|
|
4309
|
+
"folders.index": `${Jo}`,
|
|
4310
|
+
"folders.store": `${Jo}`,
|
|
4311
|
+
"folders.update": `${Jo}/{mediaFolder}`,
|
|
4312
|
+
"folders.destroy": `${Jo}/{mediaFolder}`,
|
|
4313
|
+
"savedModules.index": `${Yo}`,
|
|
4314
|
+
"savedModules.store": `${Yo}`,
|
|
4315
|
+
"savedModules.update": `${Yo}/{savedModule}`,
|
|
4316
|
+
"savedModules.destroy": `${Yo}/{savedModule}`
|
|
4317
|
+
}, Xo = class {
|
|
4313
4318
|
authManager;
|
|
4314
4319
|
constructor(e) {
|
|
4315
4320
|
this.authManager = e;
|
|
@@ -4337,7 +4342,7 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
|
|
|
4337
4342
|
});
|
|
4338
4343
|
if (!n.ok) {
|
|
4339
4344
|
let e = await n.json().catch(() => ({ message: `HTTP error ${n.status}` }));
|
|
4340
|
-
throw new
|
|
4345
|
+
throw new Ct(this.extractFirstValidationError(e), n.status);
|
|
4341
4346
|
}
|
|
4342
4347
|
if (n.status !== 204) return (await n.json()).data;
|
|
4343
4348
|
}
|
|
@@ -4495,14 +4500,14 @@ var Wo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Wo}/templates/{te
|
|
|
4495
4500
|
};
|
|
4496
4501
|
//#endregion
|
|
4497
4502
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4498
|
-
function
|
|
4503
|
+
function Zo(e) {
|
|
4499
4504
|
return {
|
|
4500
4505
|
host: e.host,
|
|
4501
4506
|
port: e.port,
|
|
4502
4507
|
appKey: e.app_key
|
|
4503
4508
|
};
|
|
4504
4509
|
}
|
|
4505
|
-
var
|
|
4510
|
+
var Qo = class {
|
|
4506
4511
|
pusher = null;
|
|
4507
4512
|
authManager;
|
|
4508
4513
|
config;
|
|
@@ -4569,7 +4574,7 @@ var Zo = class {
|
|
|
4569
4574
|
};
|
|
4570
4575
|
//#endregion
|
|
4571
4576
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4572
|
-
function
|
|
4577
|
+
function $o(e, t) {
|
|
4573
4578
|
let { operation: n, data: r } = t;
|
|
4574
4579
|
switch (n) {
|
|
4575
4580
|
case "add_block":
|
|
@@ -4597,8 +4602,11 @@ function Qo(e, t) {
|
|
|
4597
4602
|
}
|
|
4598
4603
|
//#endregion
|
|
4599
4604
|
//#region ../core/src/cloud/editor.ts
|
|
4600
|
-
function
|
|
4601
|
-
|
|
4605
|
+
function es(e) {
|
|
4606
|
+
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4607
|
+
}
|
|
4608
|
+
function ts(e) {
|
|
4609
|
+
let t = new Xo(e.authManager), n = S({
|
|
4602
4610
|
template: null,
|
|
4603
4611
|
content: Ue(e.defaultFontFamily, e.templateDefaults),
|
|
4604
4612
|
selectedBlockId: null,
|
|
@@ -4701,12 +4709,14 @@ function $o(e) {
|
|
|
4701
4709
|
if (!a) return;
|
|
4702
4710
|
let c = a.blocks.findIndex((t) => t.id === e);
|
|
4703
4711
|
if (c === -1) return;
|
|
4704
|
-
let
|
|
4712
|
+
let l;
|
|
4705
4713
|
if (r) {
|
|
4706
4714
|
let e = o(n.content.blocks, r);
|
|
4707
|
-
e
|
|
4708
|
-
|
|
4709
|
-
|
|
4715
|
+
if (!e || e.type !== "section" || i < 0 || i >= es(e.columns)) return;
|
|
4716
|
+
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4717
|
+
} else l = n.content.blocks;
|
|
4718
|
+
let [u] = a.blocks.splice(c, 1);
|
|
4719
|
+
l.splice(t, 0, u), n.isDirty = !0;
|
|
4710
4720
|
}
|
|
4711
4721
|
async function b(r) {
|
|
4712
4722
|
n.isLoading = !0;
|
|
@@ -4732,7 +4742,7 @@ function $o(e) {
|
|
|
4732
4742
|
}
|
|
4733
4743
|
}
|
|
4734
4744
|
async function w() {
|
|
4735
|
-
if (!n.template?.id) throw new
|
|
4745
|
+
if (!n.template?.id) throw new Ct("No template loaded. Call create() or load() before saving.");
|
|
4736
4746
|
n.isSaving = !0;
|
|
4737
4747
|
try {
|
|
4738
4748
|
let e = await t.updateTemplate(n.template.id, n.content);
|
|
@@ -4794,11 +4804,11 @@ function $o(e) {
|
|
|
4794
4804
|
}
|
|
4795
4805
|
//#endregion
|
|
4796
4806
|
//#region ../core/src/cloud/ai-chat.ts
|
|
4797
|
-
var
|
|
4798
|
-
function
|
|
4799
|
-
return `msg_${Date.now()}_${++
|
|
4807
|
+
var ns = 0;
|
|
4808
|
+
function rs() {
|
|
4809
|
+
return `msg_${Date.now()}_${++ns}`;
|
|
4800
4810
|
}
|
|
4801
|
-
function
|
|
4811
|
+
function is(e) {
|
|
4802
4812
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C([]), o = C(!1), s = C(!1), c = C(null), l = C(null), u = C(null), d = C(null), f = C(null), p = C(null), m = C(!1), h = C([]), g = C(!1);
|
|
4803
4813
|
function _(e, t) {
|
|
4804
4814
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -4892,14 +4902,14 @@ function ns(e) {
|
|
|
4892
4902
|
let v = n();
|
|
4893
4903
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
4894
4904
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
4895
|
-
let y =
|
|
4905
|
+
let y = rs();
|
|
4896
4906
|
a.value = [...a.value, {
|
|
4897
4907
|
id: y,
|
|
4898
4908
|
role: "user",
|
|
4899
4909
|
content: e,
|
|
4900
4910
|
timestamp: Date.now()
|
|
4901
4911
|
}];
|
|
4902
|
-
let b =
|
|
4912
|
+
let b = rs();
|
|
4903
4913
|
a.value = [...a.value, {
|
|
4904
4914
|
id: b,
|
|
4905
4915
|
role: "assistant",
|
|
@@ -4990,7 +5000,7 @@ function ns(e) {
|
|
|
4990
5000
|
}
|
|
4991
5001
|
//#endregion
|
|
4992
5002
|
//#region ../core/src/cloud/ai-config.ts
|
|
4993
|
-
function
|
|
5003
|
+
function as(e) {
|
|
4994
5004
|
function t(t) {
|
|
4995
5005
|
return e === !1 ? !1 : e?.[t] !== !1;
|
|
4996
5006
|
}
|
|
@@ -5001,7 +5011,7 @@ function rs(e) {
|
|
|
5001
5011
|
}
|
|
5002
5012
|
//#endregion
|
|
5003
5013
|
//#region ../core/src/cloud/template-scoring.ts
|
|
5004
|
-
function
|
|
5014
|
+
function os(e) {
|
|
5005
5015
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
5006
5016
|
async function l(e, o) {
|
|
5007
5017
|
let s = n();
|
|
@@ -5146,7 +5156,7 @@ function is(e) {
|
|
|
5146
5156
|
}
|
|
5147
5157
|
//#endregion
|
|
5148
5158
|
//#region ../core/src/cloud/design-reference.ts
|
|
5149
|
-
function
|
|
5159
|
+
function ss(e) {
|
|
5150
5160
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5151
5161
|
async function s(e) {
|
|
5152
5162
|
let s = n();
|
|
@@ -5209,8 +5219,8 @@ function as(e) {
|
|
|
5209
5219
|
}
|
|
5210
5220
|
//#endregion
|
|
5211
5221
|
//#region ../core/src/cloud/comments.ts
|
|
5212
|
-
function
|
|
5213
|
-
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new
|
|
5222
|
+
function cs(e) {
|
|
5223
|
+
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new Xo(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
|
|
5214
5224
|
let e = 0;
|
|
5215
5225
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5216
5226
|
return e;
|
|
@@ -5409,17 +5419,17 @@ function os(e) {
|
|
|
5409
5419
|
}
|
|
5410
5420
|
//#endregion
|
|
5411
5421
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5412
|
-
function
|
|
5422
|
+
function ls(e) {
|
|
5413
5423
|
let { comments: t, channel: n } = e;
|
|
5414
5424
|
H(n, (e, n) => {
|
|
5415
5425
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5416
|
-
|
|
5426
|
+
us(t, e);
|
|
5417
5427
|
});
|
|
5418
5428
|
}), l(() => {
|
|
5419
5429
|
n.value?.unbind("comment-broadcast");
|
|
5420
5430
|
});
|
|
5421
5431
|
}
|
|
5422
|
-
function
|
|
5432
|
+
function us(e, t) {
|
|
5423
5433
|
switch (t.action) {
|
|
5424
5434
|
case "comment_created":
|
|
5425
5435
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5438,7 +5448,7 @@ function cs(e, t) {
|
|
|
5438
5448
|
}
|
|
5439
5449
|
//#endregion
|
|
5440
5450
|
//#region ../core/src/cloud/collaboration.ts
|
|
5441
|
-
var
|
|
5451
|
+
var ds = [
|
|
5442
5452
|
"pusher:member_added",
|
|
5443
5453
|
"pusher:member_removed",
|
|
5444
5454
|
"client-block_locked",
|
|
@@ -5446,10 +5456,10 @@ var ls = [
|
|
|
5446
5456
|
"client-operation",
|
|
5447
5457
|
"mcp-operation"
|
|
5448
5458
|
];
|
|
5449
|
-
function
|
|
5450
|
-
for (let t of
|
|
5459
|
+
function fs(e) {
|
|
5460
|
+
for (let t of ds) e.unbind(t);
|
|
5451
5461
|
}
|
|
5452
|
-
var
|
|
5462
|
+
var ps = [
|
|
5453
5463
|
"#3b82f6",
|
|
5454
5464
|
"#ef4444",
|
|
5455
5465
|
"#10b981",
|
|
@@ -5461,10 +5471,10 @@ var ds = [
|
|
|
5461
5471
|
"#6366f1",
|
|
5462
5472
|
"#14b8a6"
|
|
5463
5473
|
];
|
|
5464
|
-
function
|
|
5474
|
+
function ms(e) {
|
|
5465
5475
|
let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
|
|
5466
5476
|
function u() {
|
|
5467
|
-
let e =
|
|
5477
|
+
let e = ps[o % ps.length];
|
|
5468
5478
|
return o++, e;
|
|
5469
5479
|
}
|
|
5470
5480
|
function d(e) {
|
|
@@ -5506,7 +5516,7 @@ function fs(e) {
|
|
|
5506
5516
|
function h(e) {
|
|
5507
5517
|
s = !0;
|
|
5508
5518
|
try {
|
|
5509
|
-
|
|
5519
|
+
$o(n, e);
|
|
5510
5520
|
} finally {
|
|
5511
5521
|
s = !1;
|
|
5512
5522
|
}
|
|
@@ -5526,7 +5536,7 @@ function fs(e) {
|
|
|
5526
5536
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5527
5537
|
s || (t && v(t), e && _(e));
|
|
5528
5538
|
}), H(r, (t, n) => {
|
|
5529
|
-
if (n &&
|
|
5539
|
+
if (n && fs(n), !t) {
|
|
5530
5540
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5531
5541
|
return;
|
|
5532
5542
|
}
|
|
@@ -5558,7 +5568,7 @@ function fs(e) {
|
|
|
5558
5568
|
h(e);
|
|
5559
5569
|
});
|
|
5560
5570
|
}), l(() => {
|
|
5561
|
-
r.value &&
|
|
5571
|
+
r.value && fs(r.value);
|
|
5562
5572
|
}), {
|
|
5563
5573
|
collaborators: i,
|
|
5564
5574
|
lockedBlocks: a,
|
|
@@ -5568,15 +5578,16 @@ function fs(e) {
|
|
|
5568
5578
|
}
|
|
5569
5579
|
//#endregion
|
|
5570
5580
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5571
|
-
function
|
|
5581
|
+
function hs(e, t) {
|
|
5572
5582
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5573
|
-
e.addBlock = (e, r, i) => {
|
|
5574
|
-
n(e, r, i), t._broadcastOperation({
|
|
5583
|
+
e.addBlock = (e, r, i, a) => {
|
|
5584
|
+
n(e, r, i, a), t._broadcastOperation({
|
|
5575
5585
|
operation: "add_block",
|
|
5576
5586
|
data: {
|
|
5577
5587
|
block: e,
|
|
5578
5588
|
section_id: r,
|
|
5579
|
-
column_index: i
|
|
5589
|
+
column_index: i,
|
|
5590
|
+
index: a
|
|
5580
5591
|
},
|
|
5581
5592
|
timestamp: Date.now()
|
|
5582
5593
|
});
|
|
@@ -5622,11 +5633,11 @@ function ps(e, t) {
|
|
|
5622
5633
|
}
|
|
5623
5634
|
//#endregion
|
|
5624
5635
|
//#region ../core/src/cloud/web-socket.ts
|
|
5625
|
-
function
|
|
5636
|
+
function gs(e) {
|
|
5626
5637
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5627
5638
|
async function s(e, s) {
|
|
5628
5639
|
if (a) return;
|
|
5629
|
-
a = new
|
|
5640
|
+
a = new Qo({
|
|
5630
5641
|
authManager: t,
|
|
5631
5642
|
config: s,
|
|
5632
5643
|
onError: n
|
|
@@ -5654,8 +5665,8 @@ function ms(e) {
|
|
|
5654
5665
|
}
|
|
5655
5666
|
//#endregion
|
|
5656
5667
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5657
|
-
function
|
|
5658
|
-
let t = new
|
|
5668
|
+
function _s(e) {
|
|
5669
|
+
let t = new Xo(e.authManager), n = C([]), r = C(!1);
|
|
5659
5670
|
async function i(i) {
|
|
5660
5671
|
r.value = !0;
|
|
5661
5672
|
try {
|
|
@@ -5703,8 +5714,8 @@ function hs(e) {
|
|
|
5703
5714
|
}
|
|
5704
5715
|
//#endregion
|
|
5705
5716
|
//#region ../core/src/cloud/snapshots.ts
|
|
5706
|
-
function
|
|
5707
|
-
let t = new
|
|
5717
|
+
function vs(e) {
|
|
5718
|
+
let t = new Xo(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5708
5719
|
async function a() {
|
|
5709
5720
|
r.value = !0;
|
|
5710
5721
|
try {
|
|
@@ -5736,8 +5747,8 @@ function gs(e) {
|
|
|
5736
5747
|
}
|
|
5737
5748
|
//#endregion
|
|
5738
5749
|
//#region ../core/src/cloud/test-email.ts
|
|
5739
|
-
function
|
|
5740
|
-
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new
|
|
5750
|
+
function ys(e) {
|
|
5751
|
+
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new Xo(t), l = C(!1), u = C(null), d = C(null);
|
|
5741
5752
|
o && H(o, (e) => {
|
|
5742
5753
|
e && (d.value = t.testEmailConfig);
|
|
5743
5754
|
}, { immediate: !0 });
|
|
@@ -5773,8 +5784,8 @@ function _s(e) {
|
|
|
5773
5784
|
}
|
|
5774
5785
|
//#endregion
|
|
5775
5786
|
//#region ../core/src/cloud/export.ts
|
|
5776
|
-
function
|
|
5777
|
-
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new
|
|
5787
|
+
function bs(e) {
|
|
5788
|
+
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new Xo(t);
|
|
5778
5789
|
function a() {
|
|
5779
5790
|
let e = n?.();
|
|
5780
5791
|
return {
|
|
@@ -5800,8 +5811,8 @@ function vs(e) {
|
|
|
5800
5811
|
}
|
|
5801
5812
|
//#endregion
|
|
5802
5813
|
//#region ../core/src/cloud/plan-config.ts
|
|
5803
|
-
function
|
|
5804
|
-
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new
|
|
5814
|
+
function xs(e) {
|
|
5815
|
+
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new Xo(t), o = O(() => r.value?.features ?? null);
|
|
5805
5816
|
function s(e) {
|
|
5806
5817
|
return r.value?.features[e] ?? !1;
|
|
5807
5818
|
}
|
|
@@ -5827,11 +5838,11 @@ function ys(e) {
|
|
|
5827
5838
|
}
|
|
5828
5839
|
//#endregion
|
|
5829
5840
|
//#region ../core/src/cloud/health-check.ts
|
|
5830
|
-
var
|
|
5831
|
-
function
|
|
5841
|
+
var Ss = 5e3;
|
|
5842
|
+
function Cs(e) {
|
|
5832
5843
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
5833
5844
|
}
|
|
5834
|
-
async function
|
|
5845
|
+
async function ws(e, t) {
|
|
5835
5846
|
let n = performance.now();
|
|
5836
5847
|
try {
|
|
5837
5848
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -5883,7 +5894,7 @@ async function Ss(e, t) {
|
|
|
5883
5894
|
};
|
|
5884
5895
|
}
|
|
5885
5896
|
}
|
|
5886
|
-
async function
|
|
5897
|
+
async function Ts(e) {
|
|
5887
5898
|
if (!e?.host || !e?.app_key) return {
|
|
5888
5899
|
ok: !1,
|
|
5889
5900
|
error: "WebSocket configuration not available"
|
|
@@ -5899,7 +5910,7 @@ async function Cs(e) {
|
|
|
5899
5910
|
ok: !1,
|
|
5900
5911
|
error: "WebSocket connection timed out"
|
|
5901
5912
|
});
|
|
5902
|
-
},
|
|
5913
|
+
}, Ss);
|
|
5903
5914
|
try {
|
|
5904
5915
|
n = new WebSocket(t);
|
|
5905
5916
|
} catch (t) {
|
|
@@ -5919,8 +5930,8 @@ async function Cs(e) {
|
|
|
5919
5930
|
};
|
|
5920
5931
|
});
|
|
5921
5932
|
}
|
|
5922
|
-
async function
|
|
5923
|
-
let t = await
|
|
5933
|
+
async function Es(e = {}) {
|
|
5934
|
+
let t = await ws(Cs(e), e.authManager), n = await Ts(t.wsConfig);
|
|
5924
5935
|
return {
|
|
5925
5936
|
api: t.api,
|
|
5926
5937
|
websocket: n,
|
|
@@ -5930,29 +5941,29 @@ async function ws(e = {}) {
|
|
|
5930
5941
|
}
|
|
5931
5942
|
//#endregion
|
|
5932
5943
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
5933
|
-
function
|
|
5944
|
+
function Ds(e) {
|
|
5934
5945
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
5935
5946
|
H(n, (e, n) => {
|
|
5936
5947
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
5937
|
-
|
|
5948
|
+
$o(t, e), r?.(e);
|
|
5938
5949
|
});
|
|
5939
5950
|
});
|
|
5940
5951
|
}
|
|
5941
5952
|
//#endregion
|
|
5942
5953
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5943
|
-
var
|
|
5954
|
+
var Os = {
|
|
5944
5955
|
key: 0,
|
|
5945
5956
|
class: "tpl-ai-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
5946
|
-
},
|
|
5957
|
+
}, ks = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, As = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, js = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Ms = ["title"], Ns = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Ps = {
|
|
5947
5958
|
key: 0,
|
|
5948
5959
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5949
|
-
},
|
|
5960
|
+
}, Fs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Is = {
|
|
5950
5961
|
key: 1,
|
|
5951
5962
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5952
|
-
},
|
|
5963
|
+
}, Ls = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Rs = {
|
|
5953
5964
|
key: 2,
|
|
5954
5965
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
5955
|
-
},
|
|
5966
|
+
}, zs = {
|
|
5956
5967
|
key: 0,
|
|
5957
5968
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
5958
5969
|
style: {
|
|
@@ -5961,10 +5972,10 @@ var Es = {
|
|
|
5961
5972
|
"max-width": "85%",
|
|
5962
5973
|
"box-shadow": "var(--tpl-shadow)"
|
|
5963
5974
|
}
|
|
5964
|
-
},
|
|
5975
|
+
}, Bs = {
|
|
5965
5976
|
key: 1,
|
|
5966
5977
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
5967
|
-
},
|
|
5978
|
+
}, Vs = {
|
|
5968
5979
|
key: 1,
|
|
5969
5980
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
5970
5981
|
style: {
|
|
@@ -5973,21 +5984,21 @@ var Es = {
|
|
|
5973
5984
|
color: "var(--tpl-text)",
|
|
5974
5985
|
"box-shadow": "var(--tpl-shadow)"
|
|
5975
5986
|
}
|
|
5976
|
-
},
|
|
5987
|
+
}, Hs = {
|
|
5977
5988
|
key: 0,
|
|
5978
5989
|
class: "tpl:mx-3 tpl:mb-2 tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs",
|
|
5979
5990
|
style: {
|
|
5980
5991
|
"background-color": "var(--tpl-danger-light)",
|
|
5981
5992
|
color: "var(--tpl-danger)"
|
|
5982
5993
|
}
|
|
5983
|
-
},
|
|
5994
|
+
}, Us = {
|
|
5984
5995
|
key: 1,
|
|
5985
5996
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
5986
5997
|
style: {
|
|
5987
5998
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
5988
5999
|
"backdrop-filter": "blur(2px)"
|
|
5989
6000
|
}
|
|
5990
|
-
},
|
|
6001
|
+
}, Ws = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Gs = ["onClick"], Ks = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, qs = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Js = ["placeholder", "disabled"], Ys = ["disabled"], Xs = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Zs = /*@__PURE__*/ B({
|
|
5991
6002
|
__name: "AiChatSidebar",
|
|
5992
6003
|
props: {
|
|
5993
6004
|
visible: { type: Boolean },
|
|
@@ -5995,14 +6006,14 @@ var Es = {
|
|
|
5995
6006
|
},
|
|
5996
6007
|
emits: ["close"],
|
|
5997
6008
|
setup(e, { emit: t }) {
|
|
5998
|
-
let n = e, r = t, i = J(
|
|
6009
|
+
let n = e, r = t, i = J(dr, "AiChatSidebar"), a = J(In, "AiChatSidebar"), o = J(or, "AiChatSidebar"), s = v(qn, []), l = ga(), u = is({
|
|
5999
6010
|
authManager: o,
|
|
6000
6011
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6001
6012
|
onApply: n.onApply,
|
|
6002
6013
|
onError: void 0
|
|
6003
|
-
}), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } =
|
|
6014
|
+
}), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } = on(() => {
|
|
6004
6015
|
_.value < (u.suggestions.value?.length ?? 0) ? _.value++ : y();
|
|
6005
|
-
}, 150, { immediate: !1 }), { start: S } =
|
|
6016
|
+
}, 150, { immediate: !1 }), { start: S } = sn(() => x(), 100, { immediate: !1 });
|
|
6006
6017
|
H(() => u.suggestions.value?.length ?? 0, (e) => {
|
|
6007
6018
|
if (y(), e === 0) {
|
|
6008
6019
|
_.value = 0;
|
|
@@ -6042,42 +6053,42 @@ var Es = {
|
|
|
6042
6053
|
"leave-from-class": "tpl:translate-x-0",
|
|
6043
6054
|
"leave-to-class": "tpl:translate-x-full"
|
|
6044
6055
|
}, {
|
|
6045
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6046
|
-
I("div",
|
|
6056
|
+
default: b(() => [e.visible ? (f(), k("div", Os, [
|
|
6057
|
+
I("div", ks, [I("div", As, [V(j(Si), {
|
|
6047
6058
|
size: 13,
|
|
6048
6059
|
"stroke-width": 2
|
|
6049
|
-
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div",
|
|
6060
|
+
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div", js, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6050
6061
|
key: 0,
|
|
6051
6062
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6052
6063
|
title: j(i).aiChat.clear,
|
|
6053
6064
|
onClick: n[0] ||= (e) => j(u).clearChat()
|
|
6054
|
-
}, [V(j(
|
|
6065
|
+
}, [V(j(wi), {
|
|
6055
6066
|
size: 14,
|
|
6056
6067
|
"stroke-width": 2
|
|
6057
|
-
})], 8,
|
|
6068
|
+
})], 8, Ms)) : A("", !0), I("button", {
|
|
6058
6069
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6059
6070
|
onClick: n[1] ||= (e) => r("close")
|
|
6060
|
-
}, [V(j(
|
|
6071
|
+
}, [V(j(ki), {
|
|
6061
6072
|
size: 14,
|
|
6062
6073
|
"stroke-width": 2
|
|
6063
6074
|
})])])]),
|
|
6064
|
-
I("div",
|
|
6075
|
+
I("div", Ns, [
|
|
6065
6076
|
I("div", {
|
|
6066
6077
|
ref_key: "messagesContainer",
|
|
6067
6078
|
ref: p,
|
|
6068
6079
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6069
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6080
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", Ps, [V(j(ui), {
|
|
6070
6081
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6071
6082
|
size: 24,
|
|
6072
6083
|
"stroke-width": 2
|
|
6073
|
-
}), I("p",
|
|
6084
|
+
}), I("p", Fs, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Is, [V(j(Si), {
|
|
6074
6085
|
size: 32,
|
|
6075
6086
|
"stroke-width": 1.5,
|
|
6076
6087
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6077
|
-
}), I("p",
|
|
6088
|
+
}), I("p", Ls, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Rs, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
|
|
6078
6089
|
key: e.id,
|
|
6079
6090
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6080
|
-
}, [e.role === "user" ? (f(), k("div",
|
|
6091
|
+
}, [e.role === "user" ? (f(), k("div", zs, D(e.content), 1)) : (f(), k("div", Bs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Ri, { key: 0 })) : (f(), k("div", Vs, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
|
|
6081
6092
|
key: 2,
|
|
6082
6093
|
class: "tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:self-start tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
|
|
6083
6094
|
style: {
|
|
@@ -6086,19 +6097,19 @@ var Es = {
|
|
|
6086
6097
|
"background-color": "transparent"
|
|
6087
6098
|
},
|
|
6088
6099
|
onClick: n[2] ||= (e) => j(u).toggleLastRevert()
|
|
6089
|
-
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(
|
|
6100
|
+
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(hi), {
|
|
6090
6101
|
size: 12,
|
|
6091
6102
|
"stroke-width": 2
|
|
6092
|
-
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(
|
|
6103
|
+
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Ei), {
|
|
6093
6104
|
size: 12,
|
|
6094
6105
|
"stroke-width": 2
|
|
6095
6106
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6096
|
-
j(u).error.value ? (f(), k("div",
|
|
6107
|
+
j(u).error.value ? (f(), k("div", Hs, [V(j(Xr), {
|
|
6097
6108
|
size: 14,
|
|
6098
6109
|
"stroke-width": 2,
|
|
6099
6110
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6100
6111
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6101
|
-
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div",
|
|
6112
|
+
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Us, [I("div", Ws, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
|
|
6102
6113
|
key: t,
|
|
6103
6114
|
class: F(["tpl-suggestion-btn tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:leading-snug tpl:transition-all tpl:duration-300 tpl:ease-out", (j(u).suggestions.value?.length ?? 0) - 1 - t < _.value ? "tpl:translate-y-0 tpl:opacity-100" : "tpl:pointer-events-none tpl:-translate-y-2 tpl:opacity-0"]),
|
|
6104
6115
|
style: {
|
|
@@ -6108,104 +6119,104 @@ var Es = {
|
|
|
6108
6119
|
"box-shadow": "var(--tpl-shadow)"
|
|
6109
6120
|
},
|
|
6110
6121
|
onClick: (t) => E(e)
|
|
6111
|
-
}, D(e), 11,
|
|
6122
|
+
}, D(e), 11, Gs))), 128))])])) : A("", !0)
|
|
6112
6123
|
]),
|
|
6113
|
-
I("div",
|
|
6124
|
+
I("div", Ks, [I("div", qs, [c(I("textarea", {
|
|
6114
6125
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6115
6126
|
class: "tpl:max-h-32 tpl:min-h-[64px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-sm tpl:outline-none tpl:text-[var(--tpl-text)]",
|
|
6116
6127
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6117
6128
|
disabled: j(u).isGenerating.value,
|
|
6118
6129
|
rows: "3",
|
|
6119
6130
|
onKeydown: te
|
|
6120
|
-
}, null, 40,
|
|
6131
|
+
}, null, 40, Js), [[ae, d.value]]), I("button", {
|
|
6121
6132
|
class: "tpl-ai-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6122
6133
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6123
6134
|
onClick: ee
|
|
6124
|
-
}, [V(j(
|
|
6135
|
+
}, [V(j(vi), {
|
|
6125
6136
|
size: 16,
|
|
6126
6137
|
"stroke-width": 2
|
|
6127
|
-
})], 8,
|
|
6138
|
+
})], 8, Ys)]), I("p", Xs, D(j(i).aiMenu.disclaimer), 1)])
|
|
6128
6139
|
])) : A("", !0)]),
|
|
6129
6140
|
_: 1
|
|
6130
6141
|
}));
|
|
6131
6142
|
}
|
|
6132
|
-
}),
|
|
6133
|
-
function
|
|
6143
|
+
}), Qs = /* @__PURE__ */ e({ default: () => $s }), $s = /*#__PURE__*/ Pi(Zs, [["__scopeId", "data-v-a55e4bff"]]), ec = 6e4, tc = 36e5, nc = 864e5;
|
|
6144
|
+
function rc(e, t, n, r) {
|
|
6134
6145
|
let i = new Date(e).getTime();
|
|
6135
6146
|
if (Number.isNaN(i)) return null;
|
|
6136
6147
|
let a = Date.now() - i;
|
|
6137
6148
|
if (a < -6e4) return null;
|
|
6138
|
-
let o = Math.floor(a /
|
|
6149
|
+
let o = Math.floor(a / ec), s = Math.floor(a / tc), c = Math.floor(a / nc);
|
|
6139
6150
|
return o < 1 ? t.justNow : o < 60 ? n ? n(t.minutesAgo, { minutes: o }) : t.minutesAgo.replace("{minutes}", String(o)) : s < 24 ? n ? n(t.hoursAgo, { hours: s }) : t.hoursAgo.replace("{hours}", String(s)) : r !== void 0 && c >= r ? null : n ? n(t.daysAgo, { days: c }) : t.daysAgo.replace("{days}", String(c));
|
|
6140
6151
|
}
|
|
6141
6152
|
//#endregion
|
|
6142
6153
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6143
|
-
var
|
|
6154
|
+
var ic = {
|
|
6144
6155
|
key: 0,
|
|
6145
6156
|
class: "tpl-comments-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6146
|
-
},
|
|
6157
|
+
}, ac = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, oc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, sc = {
|
|
6147
6158
|
key: 0,
|
|
6148
6159
|
class: "tpl:ml-1 tpl:inline-flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]"
|
|
6149
|
-
},
|
|
6160
|
+
}, cc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, lc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, uc = {
|
|
6150
6161
|
key: 0,
|
|
6151
6162
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6152
|
-
},
|
|
6163
|
+
}, dc = {
|
|
6153
6164
|
key: 1,
|
|
6154
6165
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
|
|
6155
|
-
},
|
|
6166
|
+
}, fc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, pc = {
|
|
6156
6167
|
key: 2,
|
|
6157
6168
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6158
|
-
},
|
|
6169
|
+
}, mc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, hc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, gc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, _c = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, vc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, yc = {
|
|
6159
6170
|
key: 0,
|
|
6160
6171
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6161
|
-
},
|
|
6172
|
+
}, bc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, xc = ["title", "onClick"], Sc = ["title", "onClick"], Cc = ["title", "onClick"], wc = {
|
|
6162
6173
|
key: 0,
|
|
6163
6174
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6164
|
-
},
|
|
6175
|
+
}, Tc = {
|
|
6165
6176
|
key: 0,
|
|
6166
6177
|
class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
|
|
6167
|
-
},
|
|
6178
|
+
}, Ec = ["onClick"], Dc = {
|
|
6168
6179
|
key: 2,
|
|
6169
6180
|
class: "tpl:mt-2"
|
|
6170
|
-
},
|
|
6181
|
+
}, Oc = ["onKeydown"], kc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Ac = ["disabled", "onClick"], jc = {
|
|
6171
6182
|
key: 3,
|
|
6172
6183
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6173
|
-
},
|
|
6184
|
+
}, Mc = {
|
|
6174
6185
|
key: 4,
|
|
6175
6186
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6176
|
-
},
|
|
6187
|
+
}, Nc = { class: "tpl:flex-1" }, Pc = ["onClick"], Fc = {
|
|
6177
6188
|
key: 5,
|
|
6178
6189
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6179
|
-
},
|
|
6190
|
+
}, Ic = ["title", "onClick"], Lc = ["onClick"], Rc = {
|
|
6180
6191
|
key: 0,
|
|
6181
6192
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6182
|
-
},
|
|
6193
|
+
}, zc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Bc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Vc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Hc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Uc = {
|
|
6183
6194
|
key: 0,
|
|
6184
6195
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6185
|
-
},
|
|
6196
|
+
}, Wc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Gc = ["title", "onClick"], Kc = ["title", "onClick"], qc = {
|
|
6186
6197
|
key: 0,
|
|
6187
6198
|
class: "tpl:mt-1.5"
|
|
6188
|
-
},
|
|
6199
|
+
}, Jc = ["onKeydown"], Yc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Xc = ["disabled", "onClick"], Zc = {
|
|
6189
6200
|
key: 1,
|
|
6190
6201
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6191
|
-
},
|
|
6202
|
+
}, Qc = {
|
|
6192
6203
|
key: 2,
|
|
6193
6204
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6194
|
-
},
|
|
6205
|
+
}, $c = { class: "tpl:flex-1" }, el = ["onClick"], tl = {
|
|
6195
6206
|
key: 0,
|
|
6196
6207
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6197
|
-
},
|
|
6208
|
+
}, nl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, rl = ["placeholder", "onKeydown"], il = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, al = ["disabled", "onClick"], ol = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, sl = {
|
|
6198
6209
|
key: 0,
|
|
6199
6210
|
class: "tpl:flex tpl:min-h-[68px] tpl:items-center tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
|
|
6200
|
-
},
|
|
6211
|
+
}, cl = {
|
|
6201
6212
|
key: 1,
|
|
6202
6213
|
class: "tpl-comments-input-wrapper tpl:flex tpl:min-h-[68px] tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]"
|
|
6203
|
-
},
|
|
6214
|
+
}, ll = ["placeholder", "disabled"], ul = ["disabled"], dl = /*@__PURE__*/ B({
|
|
6204
6215
|
__name: "CommentsSidebar",
|
|
6205
6216
|
props: { visible: { type: Boolean } },
|
|
6206
6217
|
emits: ["close", "filterBlock"],
|
|
6207
6218
|
setup(e, { expose: t, emit: n }) {
|
|
6208
|
-
let r = e, i = n, { format: a } = Y(), { t: o } =
|
|
6219
|
+
let r = e, i = n, { format: a } = Y(), { t: o } = Wi(), s = J(In, "CommentsSidebar"), l = J(or, "CommentsSidebar"), u = J(cr, "CommentsSidebar"), d = C("unresolved"), p = C(null), g = C(""), _ = C(null), v = C(""), y = C(null), x = C(""), S = C(/* @__PURE__ */ new Set()), w = C(null), ee = C(null), T = O(() => l.userConfig?.id ?? null), E = O(() => {
|
|
6209
6220
|
let e = /* @__PURE__ */ new Set();
|
|
6210
6221
|
for (let t of s.content.value.blocks) if (e.add(t.id), t.type === "section") for (let n of t.children) for (let t of n) e.add(t.id);
|
|
6211
6222
|
return e;
|
|
@@ -6273,7 +6284,7 @@ var nc = {
|
|
|
6273
6284
|
return e.author_identifier === T.value;
|
|
6274
6285
|
}
|
|
6275
6286
|
function ve(e) {
|
|
6276
|
-
return
|
|
6287
|
+
return rc(e, o.snapshotHistory) ?? e;
|
|
6277
6288
|
}
|
|
6278
6289
|
function ye(e) {
|
|
6279
6290
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6300,22 +6311,22 @@ var nc = {
|
|
|
6300
6311
|
"leave-from-class": "tpl:translate-x-0",
|
|
6301
6312
|
"leave-to-class": "tpl:translate-x-full"
|
|
6302
6313
|
}, {
|
|
6303
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6304
|
-
I("div",
|
|
6305
|
-
V(j(
|
|
6314
|
+
default: b(() => [e.visible ? (f(), k("div", ic, [
|
|
6315
|
+
I("div", ac, [I("div", oc, [
|
|
6316
|
+
V(j(di), {
|
|
6306
6317
|
size: 13,
|
|
6307
6318
|
"stroke-width": 2
|
|
6308
6319
|
}),
|
|
6309
6320
|
I("span", null, D(j(o).comments.title), 1),
|
|
6310
|
-
j(u).unresolvedCount.value > 0 ? (f(), k("span",
|
|
6321
|
+
j(u).unresolvedCount.value > 0 ? (f(), k("span", sc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
|
|
6311
6322
|
]), I("button", {
|
|
6312
6323
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6313
6324
|
onClick: n[0] ||= (e) => i("close")
|
|
6314
|
-
}, [V(j(
|
|
6325
|
+
}, [V(j(ki), {
|
|
6315
6326
|
size: 14,
|
|
6316
6327
|
"stroke-width": 2
|
|
6317
6328
|
})])]),
|
|
6318
|
-
I("div",
|
|
6329
|
+
I("div", cc, [
|
|
6319
6330
|
I("button", {
|
|
6320
6331
|
class: F(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150", d.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
|
|
6321
6332
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6330,156 +6341,156 @@ var nc = {
|
|
|
6330
6341
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6331
6342
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6332
6343
|
]),
|
|
6333
|
-
I("div",
|
|
6344
|
+
I("div", lc, [j(u).isLoading.value ? (f(), k("div", uc, [V(j(ui), {
|
|
6334
6345
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6335
6346
|
size: 24,
|
|
6336
6347
|
"stroke-width": 2
|
|
6337
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6348
|
+
})])) : re.value.length === 0 ? (f(), k("div", dc, [V(j(di), {
|
|
6338
6349
|
size: 32,
|
|
6339
6350
|
"stroke-width": 1.5,
|
|
6340
6351
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6341
|
-
}), I("p",
|
|
6352
|
+
}), I("p", fc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", pc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
|
|
6342
6353
|
key: e.id,
|
|
6343
6354
|
class: "tpl-comment-thread"
|
|
6344
6355
|
}, [
|
|
6345
|
-
I("div",
|
|
6346
|
-
I("div",
|
|
6347
|
-
I("span",
|
|
6348
|
-
I("span",
|
|
6349
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6350
|
-
]), I("div",
|
|
6356
|
+
I("div", mc, [
|
|
6357
|
+
I("div", hc, [I("div", gc, [
|
|
6358
|
+
I("span", _c, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
|
|
6359
|
+
I("span", vc, D(ve(e.created_at)), 1),
|
|
6360
|
+
e.updated_at === e.created_at ? A("", !0) : (f(), k("span", yc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6361
|
+
]), I("div", bc, [
|
|
6351
6362
|
I("button", {
|
|
6352
6363
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6353
6364
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
6354
6365
|
onClick: (t) => ge(e.id)
|
|
6355
|
-
}, [V(j(
|
|
6366
|
+
}, [V(j(Zr), {
|
|
6356
6367
|
size: 13,
|
|
6357
6368
|
"stroke-width": 2,
|
|
6358
6369
|
class: "tpl-resolve-icon",
|
|
6359
6370
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6360
|
-
}, null, 8, ["style"])], 8,
|
|
6371
|
+
}, null, 8, ["style"])], 8, xc),
|
|
6361
6372
|
_e(e) ? (f(), k("button", {
|
|
6362
6373
|
key: 0,
|
|
6363
6374
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6364
6375
|
title: j(o).comments.edit,
|
|
6365
6376
|
onClick: (t) => le(e)
|
|
6366
|
-
}, [V(j(
|
|
6377
|
+
}, [V(j(pi), {
|
|
6367
6378
|
size: 12,
|
|
6368
6379
|
"stroke-width": 2
|
|
6369
|
-
})], 8,
|
|
6380
|
+
})], 8, Sc)) : A("", !0),
|
|
6370
6381
|
_e(e) ? (f(), k("button", {
|
|
6371
6382
|
key: 1,
|
|
6372
6383
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6373
6384
|
title: j(o).comments.delete,
|
|
6374
6385
|
onClick: (t) => ue(e.id)
|
|
6375
|
-
}, [V(j(
|
|
6386
|
+
}, [V(j(wi), {
|
|
6376
6387
|
size: 12,
|
|
6377
6388
|
"stroke-width": 2
|
|
6378
|
-
})], 8,
|
|
6389
|
+
})], 8, Cc)) : A("", !0)
|
|
6379
6390
|
])]),
|
|
6380
6391
|
V(ie, { name: "tpl-resolve" }, {
|
|
6381
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6392
|
+
default: b(() => [e.resolved_at ? (f(), k("div", wc, [V(j(Gr), {
|
|
6382
6393
|
size: 10,
|
|
6383
6394
|
"stroke-width": 2.5
|
|
6384
6395
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6385
6396
|
_: 2
|
|
6386
6397
|
}, 1024),
|
|
6387
|
-
e.block_id && te(e.block_id) ? (f(), k("span",
|
|
6398
|
+
e.block_id && te(e.block_id) ? (f(), k("span", Tc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
|
|
6388
6399
|
key: 1,
|
|
6389
6400
|
class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
|
|
6390
6401
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6391
|
-
}, " Block ", 8,
|
|
6392
|
-
y.value === e.id ? (f(), k("div",
|
|
6402
|
+
}, " Block ", 8, Ec)) : A("", !0),
|
|
6403
|
+
y.value === e.id ? (f(), k("div", Dc, [c(I("textarea", {
|
|
6393
6404
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6394
6405
|
class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6395
6406
|
rows: "3",
|
|
6396
6407
|
onKeydown: (t) => xe(t, e.id)
|
|
6397
|
-
}, null, 40,
|
|
6408
|
+
}, null, 40, Oc), [[ae, x.value]]), I("div", kc, [I("button", {
|
|
6398
6409
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6399
6410
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6400
6411
|
onClick: (t) => me(e.id)
|
|
6401
|
-
}, D(j(o).comments.save), 9,
|
|
6412
|
+
}, D(j(o).comments.save), 9, Ac), I("button", {
|
|
6402
6413
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6403
6414
|
onClick: n[5] ||= (e) => B()
|
|
6404
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6405
|
-
w.value === e.id ? (f(), k("div",
|
|
6406
|
-
I("span",
|
|
6415
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", jc, D(e.body), 1)),
|
|
6416
|
+
w.value === e.id ? (f(), k("div", Mc, [
|
|
6417
|
+
I("span", Nc, D(j(o).comments.deleteConfirm), 1),
|
|
6407
6418
|
I("button", {
|
|
6408
6419
|
class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
|
|
6409
6420
|
onClick: (t) => he(e.id)
|
|
6410
|
-
}, D(j(o).comments.delete), 9,
|
|
6421
|
+
}, D(j(o).comments.delete), 9, Pc),
|
|
6411
6422
|
I("button", {
|
|
6412
6423
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6413
6424
|
onClick: n[6] ||= (e) => de()
|
|
6414
6425
|
}, D(j(o).comments.cancel), 1)
|
|
6415
6426
|
])) : A("", !0),
|
|
6416
|
-
y.value !== e.id && w.value !== e.id ? (f(), k("div",
|
|
6427
|
+
y.value !== e.id && w.value !== e.id ? (f(), k("div", Fc, [I("button", {
|
|
6417
6428
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6418
6429
|
title: j(o).comments.reply,
|
|
6419
6430
|
onClick: (t) => se(e.id)
|
|
6420
|
-
}, [V(j(
|
|
6431
|
+
}, [V(j(_i), {
|
|
6421
6432
|
size: 13,
|
|
6422
6433
|
"stroke-width": 2,
|
|
6423
6434
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6424
|
-
})], 8,
|
|
6435
|
+
})], 8, Ic), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6425
6436
|
key: 0,
|
|
6426
6437
|
class: "tpl:flex tpl:items-center tpl:gap-0.5 tpl:text-[11px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6427
6438
|
onClick: (t) => oe(e.id)
|
|
6428
|
-
}, [S.value.has(e.id) ? (f(), N(j(
|
|
6439
|
+
}, [S.value.has(e.id) ? (f(), N(j(Yr), {
|
|
6429
6440
|
key: 0,
|
|
6430
6441
|
size: 11,
|
|
6431
6442
|
"stroke-width": 2
|
|
6432
|
-
})) : (f(), N(j(
|
|
6443
|
+
})) : (f(), N(j(Kr), {
|
|
6433
6444
|
key: 1,
|
|
6434
6445
|
size: 11,
|
|
6435
6446
|
"stroke-width": 2
|
|
6436
|
-
})), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8,
|
|
6447
|
+
})), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Lc)) : A("", !0)])) : A("", !0)
|
|
6437
6448
|
]),
|
|
6438
6449
|
V(ie, { name: "tpl-replies" }, {
|
|
6439
|
-
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div",
|
|
6450
|
+
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Rc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
|
|
6440
6451
|
key: t.id,
|
|
6441
6452
|
class: F(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", r < (e.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
|
|
6442
6453
|
}, [
|
|
6443
|
-
I("div",
|
|
6444
|
-
I("span",
|
|
6445
|
-
I("span",
|
|
6446
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6447
|
-
]), I("div",
|
|
6454
|
+
I("div", zc, [I("div", Bc, [
|
|
6455
|
+
I("span", Vc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
|
|
6456
|
+
I("span", Hc, D(ve(t.created_at)), 1),
|
|
6457
|
+
t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Uc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6458
|
+
]), I("div", Wc, [_e(t) ? (f(), k("button", {
|
|
6448
6459
|
key: 0,
|
|
6449
6460
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6450
6461
|
title: j(o).comments.edit,
|
|
6451
6462
|
onClick: (e) => le(t)
|
|
6452
|
-
}, [V(j(
|
|
6463
|
+
}, [V(j(pi), {
|
|
6453
6464
|
size: 11,
|
|
6454
6465
|
"stroke-width": 2
|
|
6455
|
-
})], 8,
|
|
6466
|
+
})], 8, Gc)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6456
6467
|
key: 1,
|
|
6457
6468
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6458
6469
|
title: j(o).comments.delete,
|
|
6459
6470
|
onClick: (e) => ue(t.id)
|
|
6460
|
-
}, [V(j(
|
|
6471
|
+
}, [V(j(wi), {
|
|
6461
6472
|
size: 11,
|
|
6462
6473
|
"stroke-width": 2
|
|
6463
|
-
})], 8,
|
|
6464
|
-
y.value === t.id ? (f(), k("div",
|
|
6474
|
+
})], 8, Kc)) : A("", !0)])]),
|
|
6475
|
+
y.value === t.id ? (f(), k("div", qc, [c(I("textarea", {
|
|
6465
6476
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6466
6477
|
class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6467
6478
|
rows: "2",
|
|
6468
6479
|
onKeydown: (e) => xe(e, t.id)
|
|
6469
|
-
}, null, 40,
|
|
6480
|
+
}, null, 40, Jc), [[ae, x.value]]), I("div", Yc, [I("button", {
|
|
6470
6481
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6471
6482
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6472
6483
|
onClick: (e) => me(t.id)
|
|
6473
|
-
}, D(j(o).comments.save), 9,
|
|
6484
|
+
}, D(j(o).comments.save), 9, Xc), I("button", {
|
|
6474
6485
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6475
6486
|
onClick: n[8] ||= (e) => B()
|
|
6476
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6477
|
-
w.value === t.id ? (f(), k("div",
|
|
6478
|
-
I("span",
|
|
6487
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Zc, D(t.body), 1)),
|
|
6488
|
+
w.value === t.id ? (f(), k("div", Qc, [
|
|
6489
|
+
I("span", $c, D(j(o).comments.deleteConfirm), 1),
|
|
6479
6490
|
I("button", {
|
|
6480
6491
|
class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
|
|
6481
6492
|
onClick: (e) => he(t.id)
|
|
6482
|
-
}, D(j(o).comments.delete), 9,
|
|
6493
|
+
}, D(j(o).comments.delete), 9, el),
|
|
6483
6494
|
I("button", {
|
|
6484
6495
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6485
6496
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6489,30 +6500,30 @@ var nc = {
|
|
|
6489
6500
|
_: 2
|
|
6490
6501
|
}, 1024),
|
|
6491
6502
|
V(ie, { name: "tpl-replies" }, {
|
|
6492
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6503
|
+
default: b(() => [_.value === e.id ? (f(), k("div", tl, [I("div", nl, [c(I("textarea", {
|
|
6493
6504
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6494
6505
|
class: "tpl:flex-1 tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6495
6506
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6496
6507
|
rows: "2",
|
|
6497
6508
|
onKeydown: (t) => be(t, e.id)
|
|
6498
|
-
}, null, 40,
|
|
6509
|
+
}, null, 40, rl), [[ae, v.value]]), I("div", il, [I("button", {
|
|
6499
6510
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6500
6511
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6501
6512
|
onClick: (t) => pe(e.id)
|
|
6502
|
-
}, [V(j(
|
|
6513
|
+
}, [V(j(vi), {
|
|
6503
6514
|
size: 14,
|
|
6504
6515
|
"stroke-width": 2
|
|
6505
|
-
})], 8,
|
|
6516
|
+
})], 8, al), I("button", {
|
|
6506
6517
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6507
6518
|
onClick: n[11] ||= (e) => ce()
|
|
6508
|
-
}, [V(j(
|
|
6519
|
+
}, [V(j(ki), {
|
|
6509
6520
|
size: 14,
|
|
6510
6521
|
"stroke-width": 2
|
|
6511
6522
|
})])])])])) : A("", !0)]),
|
|
6512
6523
|
_: 2
|
|
6513
6524
|
}, 1024)
|
|
6514
6525
|
]))), 128))]))]),
|
|
6515
|
-
I("div",
|
|
6526
|
+
I("div", ol, [ne.value ? (f(), k("div", sl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", cl, [c(I("textarea", {
|
|
6516
6527
|
ref_key: "newCommentInput",
|
|
6517
6528
|
ref: ee,
|
|
6518
6529
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
@@ -6521,46 +6532,46 @@ var nc = {
|
|
|
6521
6532
|
disabled: j(u).isSubmitting.value,
|
|
6522
6533
|
rows: "2",
|
|
6523
6534
|
onKeydown: ye
|
|
6524
|
-
}, null, 40,
|
|
6535
|
+
}, null, 40, ll), [[ae, g.value]]), I("button", {
|
|
6525
6536
|
class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6526
6537
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6527
6538
|
onClick: fe
|
|
6528
|
-
}, [j(u).isSubmitting.value ? (f(), N(j(
|
|
6539
|
+
}, [j(u).isSubmitting.value ? (f(), N(j(ui), {
|
|
6529
6540
|
key: 0,
|
|
6530
6541
|
class: "tpl-spinner",
|
|
6531
6542
|
size: 16,
|
|
6532
6543
|
"stroke-width": 2
|
|
6533
|
-
})) : (f(), N(j(
|
|
6544
|
+
})) : (f(), N(j(vi), {
|
|
6534
6545
|
key: 1,
|
|
6535
6546
|
size: 16,
|
|
6536
6547
|
"stroke-width": 2
|
|
6537
|
-
}))], 8,
|
|
6548
|
+
}))], 8, ul)]))])
|
|
6538
6549
|
])) : A("", !0)]),
|
|
6539
6550
|
_: 1
|
|
6540
6551
|
}));
|
|
6541
6552
|
}
|
|
6542
|
-
}),
|
|
6553
|
+
}), fl = /* @__PURE__ */ e({ default: () => pl }), pl = /*#__PURE__*/ Pi(dl, [["__scopeId", "data-v-d204f573"]]), ml = {
|
|
6543
6554
|
key: 0,
|
|
6544
6555
|
class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6545
|
-
},
|
|
6556
|
+
}, hl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, gl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, _l = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, vl = {
|
|
6546
6557
|
key: 0,
|
|
6547
6558
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6548
|
-
},
|
|
6559
|
+
}, yl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, bl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, xl = {
|
|
6549
6560
|
key: 1,
|
|
6550
6561
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6551
|
-
},
|
|
6562
|
+
}, Sl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Cl = {
|
|
6552
6563
|
key: 0,
|
|
6553
6564
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6554
|
-
},
|
|
6565
|
+
}, wl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Tl = ["src", "alt"], El = {
|
|
6555
6566
|
key: 1,
|
|
6556
6567
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6557
|
-
},
|
|
6568
|
+
}, Dl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ol = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, kl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Al = ["accept"], jl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Ml = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Nl = ["placeholder"], Pl = {
|
|
6558
6569
|
key: 0,
|
|
6559
6570
|
class: "tpl:flex tpl:flex-col tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:px-3 tpl:py-3 tpl:bg-[var(--tpl-warning-light)] tpl:border tpl:border-[var(--tpl-warning)]"
|
|
6560
|
-
},
|
|
6571
|
+
}, Fl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Il = { class: "tpl:flex tpl:gap-2" }, Ll = {
|
|
6561
6572
|
key: 1,
|
|
6562
6573
|
class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6563
|
-
},
|
|
6574
|
+
}, Rl = ["disabled"], zl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Bl = /*@__PURE__*/ B({
|
|
6564
6575
|
__name: "DesignReferenceSidebar",
|
|
6565
6576
|
props: {
|
|
6566
6577
|
visible: { type: Boolean },
|
|
@@ -6568,8 +6579,8 @@ var nc = {
|
|
|
6568
6579
|
},
|
|
6569
6580
|
emits: ["close", "apply"],
|
|
6570
6581
|
setup(e, { emit: t }) {
|
|
6571
|
-
let n = e, r = t, { t: i } =
|
|
6572
|
-
authManager: J(
|
|
6582
|
+
let n = e, r = t, { t: i } = Wi(), a = J(In, "DesignReferenceSidebar"), o = ss({
|
|
6583
|
+
authManager: J(or, "DesignReferenceSidebar"),
|
|
6573
6584
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6574
6585
|
onApply: (e) => r("apply", e)
|
|
6575
6586
|
}), s = C(null), l = C("image"), u = C(null), d = C(""), p = C(null), m = C(!1), h = C(!1), g = O(() => o.isGenerating.value ? !1 : u.value !== null);
|
|
@@ -6640,17 +6651,17 @@ var nc = {
|
|
|
6640
6651
|
"leave-from-class": "tpl:translate-x-0",
|
|
6641
6652
|
"leave-to-class": "tpl:translate-x-full"
|
|
6642
6653
|
}, {
|
|
6643
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6654
|
+
default: b(() => [e.visible ? (f(), k("div", ml, [I("div", hl, [I("div", gl, [V(j(si), {
|
|
6644
6655
|
size: 13,
|
|
6645
6656
|
"stroke-width": 2
|
|
6646
6657
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
6647
6658
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6648
6659
|
onClick: n[0] ||= (e) => r("close")
|
|
6649
|
-
}, [V(j(
|
|
6660
|
+
}, [V(j(ki), {
|
|
6650
6661
|
size: 14,
|
|
6651
6662
|
"stroke-width": 2
|
|
6652
|
-
})])]), I("div",
|
|
6653
|
-
I("div",
|
|
6663
|
+
})])]), I("div", _l, [j(o).isGenerating.value ? (f(), k("div", vl, [I("div", yl, [V(Ri), I("p", bl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", xl, [
|
|
6664
|
+
I("div", Sl, [I("button", {
|
|
6654
6665
|
class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
|
|
6655
6666
|
style: L({
|
|
6656
6667
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6658,7 +6669,7 @@ var nc = {
|
|
|
6658
6669
|
boxShadow: l.value === "image" ? "var(--tpl-shadow)" : "none"
|
|
6659
6670
|
}),
|
|
6660
6671
|
onClick: n[1] ||= (e) => _("image")
|
|
6661
|
-
}, [V(j(
|
|
6672
|
+
}, [V(j(ri), {
|
|
6662
6673
|
size: 12,
|
|
6663
6674
|
"stroke-width": 2
|
|
6664
6675
|
}), z(" " + D(j(i).designReference.uploadImage), 1)], 4), I("button", {
|
|
@@ -6669,23 +6680,23 @@ var nc = {
|
|
|
6669
6680
|
boxShadow: l.value === "pdf" ? "var(--tpl-shadow)" : "none"
|
|
6670
6681
|
}),
|
|
6671
6682
|
onClick: n[2] ||= (e) => _("pdf")
|
|
6672
|
-
}, [V(j(
|
|
6683
|
+
}, [V(j(ii), {
|
|
6673
6684
|
size: 12,
|
|
6674
6685
|
"stroke-width": 2
|
|
6675
6686
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6676
|
-
I("div", null, [u.value ? (f(), k("div",
|
|
6687
|
+
I("div", null, [u.value ? (f(), k("div", Cl, [I("div", wl, [p.value ? (f(), k("img", {
|
|
6677
6688
|
key: 0,
|
|
6678
6689
|
src: p.value,
|
|
6679
6690
|
alt: u.value.name,
|
|
6680
6691
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6681
|
-
}, null, 8,
|
|
6692
|
+
}, null, 8, Tl)) : (f(), k("div", El, [V(j(ii), {
|
|
6682
6693
|
size: 32,
|
|
6683
6694
|
"stroke-width": 1.5,
|
|
6684
6695
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6685
|
-
}), I("span",
|
|
6696
|
+
}), I("span", Dl, D(u.value.name), 1)])), I("button", {
|
|
6686
6697
|
class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
|
|
6687
6698
|
onClick: x
|
|
6688
|
-
}, [V(j(
|
|
6699
|
+
}, [V(j(ki), {
|
|
6689
6700
|
size: 12,
|
|
6690
6701
|
"stroke-width": 2
|
|
6691
6702
|
})])])])) : (f(), k("div", {
|
|
@@ -6700,13 +6711,13 @@ var nc = {
|
|
|
6700
6711
|
onDragleave: w,
|
|
6701
6712
|
onDrop: ee
|
|
6702
6713
|
}, [
|
|
6703
|
-
V(j(
|
|
6714
|
+
V(j(Di), {
|
|
6704
6715
|
size: 24,
|
|
6705
6716
|
"stroke-width": 1.5,
|
|
6706
6717
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6707
6718
|
}),
|
|
6708
|
-
I("span",
|
|
6709
|
-
I("span",
|
|
6719
|
+
I("span", Ol, D(j(i).designReference.dropHint), 1),
|
|
6720
|
+
I("span", kl, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
|
|
6710
6721
|
], 36)), I("input", {
|
|
6711
6722
|
ref_key: "fileInput",
|
|
6712
6723
|
ref: s,
|
|
@@ -6714,14 +6725,14 @@ var nc = {
|
|
|
6714
6725
|
class: "tpl:hidden",
|
|
6715
6726
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6716
6727
|
onChange: v
|
|
6717
|
-
}, null, 40,
|
|
6718
|
-
I("div",
|
|
6728
|
+
}, null, 40, Al)]),
|
|
6729
|
+
I("div", jl, [I("label", Ml, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6719
6730
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6720
6731
|
class: F(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
|
|
6721
6732
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6722
6733
|
rows: "3"
|
|
6723
|
-
}, null, 8,
|
|
6724
|
-
m.value ? (f(), k("div",
|
|
6734
|
+
}, null, 8, Nl), [[ae, d.value]])]),
|
|
6735
|
+
m.value ? (f(), k("div", Pl, [I("p", Fl, D(j(i).designReference.replaceWarning), 1), I("div", Il, [I("button", {
|
|
6725
6736
|
class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
|
|
6726
6737
|
style: { "background-color": "transparent" },
|
|
6727
6738
|
onClick: E
|
|
@@ -6729,7 +6740,7 @@ var nc = {
|
|
|
6729
6740
|
class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6730
6741
|
onClick: T
|
|
6731
6742
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6732
|
-
j(o).error.value ? (f(), k("div",
|
|
6743
|
+
j(o).error.value ? (f(), k("div", Ll, [V(j(Xr), {
|
|
6733
6744
|
size: 14,
|
|
6734
6745
|
"stroke-width": 2,
|
|
6735
6746
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6739,35 +6750,35 @@ var nc = {
|
|
|
6739
6750
|
class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6740
6751
|
disabled: !g.value,
|
|
6741
6752
|
onClick: T
|
|
6742
|
-
}, [V(j(
|
|
6753
|
+
}, [V(j(si), {
|
|
6743
6754
|
size: 16,
|
|
6744
6755
|
"stroke-width": 2
|
|
6745
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6746
|
-
I("p",
|
|
6756
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, Rl)),
|
|
6757
|
+
I("p", zl, D(j(i).aiMenu.disclaimer), 1)
|
|
6747
6758
|
]))])])) : A("", !0)]),
|
|
6748
6759
|
_: 1
|
|
6749
6760
|
}));
|
|
6750
6761
|
}
|
|
6751
|
-
}),
|
|
6762
|
+
}), Vl = /* @__PURE__ */ e({ default: () => Hl }), Hl = /*#__PURE__*/ Pi(Bl, [["__scopeId", "data-v-bdbf8d0d"]]), Ul = ["disabled", "title"], Wl = ["title"], Gl = {
|
|
6752
6763
|
key: 0,
|
|
6753
6764
|
class: "tpl-scale-in tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:w-72 tpl:-translate-x-1/2 tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg-elevated)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
|
|
6754
6765
|
style: {
|
|
6755
6766
|
"backdrop-filter": "blur(8px)",
|
|
6756
6767
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
6757
6768
|
}
|
|
6758
|
-
},
|
|
6769
|
+
}, Kl = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, ql = {
|
|
6759
6770
|
key: 0,
|
|
6760
6771
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
6761
|
-
},
|
|
6772
|
+
}, Jl = {
|
|
6762
6773
|
key: 1,
|
|
6763
6774
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
6764
|
-
},
|
|
6775
|
+
}, Yl = {
|
|
6765
6776
|
key: 2,
|
|
6766
6777
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
6767
|
-
},
|
|
6778
|
+
}, Xl = ["disabled", "onClick"], Zl = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Ql = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, $l = {
|
|
6768
6779
|
key: 0,
|
|
6769
6780
|
class: "tpl:rounded tpl:px-1 tpl:py-0.5 tpl:text-[10px] tpl:font-normal tpl:bg-[var(--tpl-bg-active)] tpl:text-[var(--tpl-text-muted)]"
|
|
6770
|
-
},
|
|
6781
|
+
}, eu = ["disabled", "title"], tu = /*@__PURE__*/ B({
|
|
6771
6782
|
__name: "SnapshotHistory",
|
|
6772
6783
|
props: {
|
|
6773
6784
|
snapshots: {},
|
|
@@ -6776,7 +6787,7 @@ var nc = {
|
|
|
6776
6787
|
},
|
|
6777
6788
|
emits: ["load", "navigate"],
|
|
6778
6789
|
setup(e, { emit: t }) {
|
|
6779
|
-
let n = e, r = t, { format: i } = Y(), { t: a } =
|
|
6790
|
+
let n = e, r = t, { format: i } = Y(), { t: a } = Wi(), o = C(!1), s = C(null), c = C(-1);
|
|
6780
6791
|
H(() => n.snapshots.length, () => {
|
|
6781
6792
|
c.value = -1;
|
|
6782
6793
|
});
|
|
@@ -6795,7 +6806,7 @@ var nc = {
|
|
|
6795
6806
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
6796
6807
|
}
|
|
6797
6808
|
function _(e) {
|
|
6798
|
-
let t =
|
|
6809
|
+
let t = rc(e, a.snapshotHistory, i, 7);
|
|
6799
6810
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
6800
6811
|
month: "short",
|
|
6801
6812
|
day: "numeric",
|
|
@@ -6803,7 +6814,7 @@ var nc = {
|
|
|
6803
6814
|
minute: "2-digit"
|
|
6804
6815
|
}) : t;
|
|
6805
6816
|
}
|
|
6806
|
-
return
|
|
6817
|
+
return hn(s, () => {
|
|
6807
6818
|
o.value = !1;
|
|
6808
6819
|
}), (t, n) => (f(), k("div", {
|
|
6809
6820
|
ref_key: "dropdownRef",
|
|
@@ -6815,34 +6826,34 @@ var nc = {
|
|
|
6815
6826
|
disabled: !u.value,
|
|
6816
6827
|
title: j(a).snapshotHistory.olderSnapshot,
|
|
6817
6828
|
onClick: M(p, ["stop"])
|
|
6818
|
-
}, [V(j(
|
|
6829
|
+
}, [V(j(qr), {
|
|
6819
6830
|
size: 14,
|
|
6820
6831
|
"stroke-width": 2
|
|
6821
|
-
})], 8,
|
|
6832
|
+
})], 8, Ul),
|
|
6822
6833
|
I("button", {
|
|
6823
6834
|
class: "tpl:flex tpl:h-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-0.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-1.5 tpl:transition-colors tpl:duration-150 hover:tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
|
|
6824
6835
|
title: j(a).snapshotHistory.tooltip,
|
|
6825
6836
|
onClick: M(m, ["stop"])
|
|
6826
|
-
}, [V(j(
|
|
6837
|
+
}, [V(j(Qr), {
|
|
6827
6838
|
size: 16,
|
|
6828
6839
|
"stroke-width": 1.5
|
|
6829
|
-
}), V(j(
|
|
6840
|
+
}), V(j(Kr), {
|
|
6830
6841
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
6831
6842
|
size: 10,
|
|
6832
6843
|
"stroke-width": 2
|
|
6833
|
-
}, null, 8, ["class"])], 8,
|
|
6844
|
+
}, null, 8, ["class"])], 8, Wl),
|
|
6834
6845
|
V(ie, { name: "tpl-dropdown" }, {
|
|
6835
|
-
default: b(() => [o.value ? (f(), k("div",
|
|
6846
|
+
default: b(() => [o.value ? (f(), k("div", Gl, [I("div", Kl, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", ql, [V(j(ui), {
|
|
6836
6847
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
6837
6848
|
size: 20,
|
|
6838
6849
|
"stroke-width": 2
|
|
6839
|
-
})])) : e.snapshots.length === 0 ? (f(), k("div",
|
|
6850
|
+
})])) : e.snapshots.length === 0 ? (f(), k("div", Jl, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", Yl, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
|
|
6840
6851
|
key: t.id,
|
|
6841
6852
|
class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:border-b tpl:border-b-[var(--tpl-border-light)] tpl:border-l-2 tpl:border-l-transparent tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-all tpl:duration-150 last:tpl:border-b-0 hover:tpl:border-l-[var(--tpl-primary)] hover:tpl:bg-[var(--tpl-bg-hover)]",
|
|
6842
6853
|
style: { "background-color": "transparent" },
|
|
6843
6854
|
disabled: e.isRestoring,
|
|
6844
6855
|
onClick: (e) => g(t.id)
|
|
6845
|
-
}, [I("div",
|
|
6856
|
+
}, [I("div", Zl, [I("div", Ql, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", $l, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, Xl))), 128))]))])) : A("", !0)]),
|
|
6846
6857
|
_: 1
|
|
6847
6858
|
}),
|
|
6848
6859
|
I("button", {
|
|
@@ -6850,74 +6861,74 @@ var nc = {
|
|
|
6850
6861
|
disabled: !l.value,
|
|
6851
6862
|
title: j(a).snapshotHistory.newerSnapshot,
|
|
6852
6863
|
onClick: M(d, ["stop"])
|
|
6853
|
-
}, [V(j(
|
|
6864
|
+
}, [V(j(Jr), {
|
|
6854
6865
|
size: 14,
|
|
6855
6866
|
"stroke-width": 2
|
|
6856
|
-
})], 8,
|
|
6867
|
+
})], 8, eu)
|
|
6857
6868
|
], 512));
|
|
6858
6869
|
}
|
|
6859
|
-
}),
|
|
6870
|
+
}), nu = /* @__PURE__ */ e({ default: () => ru }), ru = tu;
|
|
6860
6871
|
//#endregion
|
|
6861
6872
|
//#region src/cloud/utils/scoringStyles.ts
|
|
6862
|
-
function
|
|
6873
|
+
function iu(e) {
|
|
6863
6874
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
6864
6875
|
}
|
|
6865
|
-
function
|
|
6876
|
+
function au(e) {
|
|
6866
6877
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
6867
6878
|
}
|
|
6868
|
-
function
|
|
6879
|
+
function ou(e) {
|
|
6869
6880
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
6870
6881
|
}
|
|
6871
|
-
function
|
|
6882
|
+
function su(e) {
|
|
6872
6883
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
6873
6884
|
}
|
|
6874
6885
|
//#endregion
|
|
6875
6886
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
6876
|
-
var
|
|
6887
|
+
var cu = {
|
|
6877
6888
|
key: 0,
|
|
6878
6889
|
class: "tpl-scoring-panel tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6879
|
-
},
|
|
6890
|
+
}, lu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, uu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, du = { class: "tpl:flex tpl:items-center tpl:gap-1" }, fu = ["title"], pu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, mu = {
|
|
6880
6891
|
key: 0,
|
|
6881
6892
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6882
|
-
},
|
|
6893
|
+
}, hu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, gu = {
|
|
6883
6894
|
key: 1,
|
|
6884
6895
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6885
|
-
},
|
|
6896
|
+
}, _u = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, vu = {
|
|
6886
6897
|
key: 2,
|
|
6887
6898
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6888
|
-
},
|
|
6899
|
+
}, yu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, bu = {
|
|
6889
6900
|
key: 0,
|
|
6890
6901
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6891
|
-
},
|
|
6902
|
+
}, xu = {
|
|
6892
6903
|
key: 0,
|
|
6893
6904
|
class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6894
|
-
},
|
|
6905
|
+
}, Su = ["onClick"], Cu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, wu = {
|
|
6895
6906
|
key: 0,
|
|
6896
6907
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
6897
|
-
},
|
|
6908
|
+
}, Tu = {
|
|
6898
6909
|
key: 0,
|
|
6899
6910
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
6900
|
-
},
|
|
6911
|
+
}, Eu = {
|
|
6901
6912
|
key: 0,
|
|
6902
6913
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6903
|
-
},
|
|
6914
|
+
}, Du = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Ou = { class: "tpl:flex-1 tpl:min-w-0" }, ku = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Au = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ju = {
|
|
6904
6915
|
key: 0,
|
|
6905
6916
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
6906
|
-
},
|
|
6917
|
+
}, Mu = {
|
|
6907
6918
|
key: 1,
|
|
6908
6919
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
6909
|
-
},
|
|
6920
|
+
}, Nu = ["disabled", "onClick"], Pu = {
|
|
6910
6921
|
key: 0,
|
|
6911
6922
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
6912
|
-
},
|
|
6923
|
+
}, Fu = {
|
|
6913
6924
|
key: 3,
|
|
6914
6925
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6915
|
-
},
|
|
6926
|
+
}, Iu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lu = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ru = /*@__PURE__*/ B({
|
|
6916
6927
|
__name: "TemplateScoringPanel",
|
|
6917
6928
|
props: { visible: { type: Boolean } },
|
|
6918
6929
|
emits: ["close"],
|
|
6919
6930
|
setup(e, { emit: t }) {
|
|
6920
|
-
let n = e, r = t, { t: i } =
|
|
6931
|
+
let n = e, r = t, { t: i } = Wi(), a = J(In, "TemplateScoringPanel"), o = J(ur, "TemplateScoringPanel"), s = v(qn, []), c = C({
|
|
6921
6932
|
spam: !0,
|
|
6922
6933
|
readability: !0,
|
|
6923
6934
|
accessibility: !0,
|
|
@@ -6932,10 +6943,10 @@ var ou = {
|
|
|
6932
6943
|
"accessibility",
|
|
6933
6944
|
"bestPractices"
|
|
6934
6945
|
], p = {
|
|
6935
|
-
spam:
|
|
6936
|
-
readability:
|
|
6937
|
-
accessibility:
|
|
6938
|
-
bestPractices:
|
|
6946
|
+
spam: xi,
|
|
6947
|
+
readability: ni,
|
|
6948
|
+
accessibility: Si,
|
|
6949
|
+
bestPractices: Ai
|
|
6939
6950
|
};
|
|
6940
6951
|
function m() {
|
|
6941
6952
|
o.score(a.content.value, s);
|
|
@@ -6963,50 +6974,50 @@ var ou = {
|
|
|
6963
6974
|
"leave-from-class": "tpl:translate-x-0",
|
|
6964
6975
|
"leave-to-class": "tpl:translate-x-full"
|
|
6965
6976
|
}, {
|
|
6966
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6977
|
+
default: b(() => [e.visible ? (f(), k("div", cu, [I("div", lu, [I("div", uu, [V(j(bi), {
|
|
6967
6978
|
size: 13,
|
|
6968
6979
|
"stroke-width": 2
|
|
6969
|
-
}), I("span", null, D(j(i).scoring.title), 1)]), I("div",
|
|
6980
|
+
}), I("span", null, D(j(i).scoring.title), 1)]), I("div", du, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
|
|
6970
6981
|
key: 0,
|
|
6971
6982
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6972
6983
|
title: j(i).scoring.rescore,
|
|
6973
6984
|
onClick: n[0] ||= (e) => m()
|
|
6974
|
-
}, [V(j(
|
|
6985
|
+
}, [V(j(gi), {
|
|
6975
6986
|
size: 14,
|
|
6976
6987
|
"stroke-width": 2
|
|
6977
|
-
})], 8,
|
|
6988
|
+
})], 8, fu)) : A("", !0), I("button", {
|
|
6978
6989
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6979
6990
|
onClick: n[1] ||= (e) => r("close")
|
|
6980
|
-
}, [V(j(
|
|
6991
|
+
}, [V(j(ki), {
|
|
6981
6992
|
size: 14,
|
|
6982
6993
|
"stroke-width": 2
|
|
6983
|
-
})])])]), I("div",
|
|
6984
|
-
V(j(
|
|
6994
|
+
})])])]), I("div", pu, [j(o).isScoring.value ? (f(), k("div", mu, [I("p", hu, D(j(i).scoring.scoring), 1), V(Ri, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", gu, [
|
|
6995
|
+
V(j(Xr), {
|
|
6985
6996
|
size: 32,
|
|
6986
6997
|
"stroke-width": 1.5,
|
|
6987
6998
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
6988
6999
|
}),
|
|
6989
|
-
I("p",
|
|
7000
|
+
I("p", _u, D(j(i).scoring.error), 1),
|
|
6990
7001
|
I("button", {
|
|
6991
7002
|
class: "tpl:mt-2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-muted)]",
|
|
6992
7003
|
onClick: n[2] ||= (e) => m()
|
|
6993
|
-
}, [V(j(
|
|
7004
|
+
}, [V(j(gi), {
|
|
6994
7005
|
size: 12,
|
|
6995
7006
|
"stroke-width": 2
|
|
6996
7007
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
6997
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7008
|
+
])) : j(o).scoringResult.value ? (f(), k("div", vu, [
|
|
6998
7009
|
I("div", {
|
|
6999
7010
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
7000
|
-
style: L({ backgroundColor: j(
|
|
7011
|
+
style: L({ backgroundColor: j(au)(j(o).scoringResult.value.score) })
|
|
7001
7012
|
}, [
|
|
7002
7013
|
I("span", {
|
|
7003
7014
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
7004
|
-
style: L({ color: j(
|
|
7015
|
+
style: L({ color: j(iu)(j(o).scoringResult.value.score) })
|
|
7005
7016
|
}, D(j(o).scoringResult.value.score), 5),
|
|
7006
|
-
I("span",
|
|
7007
|
-
_() > 0 ? (f(), k("span",
|
|
7017
|
+
I("span", yu, D(j(i).scoring.overallScore), 1),
|
|
7018
|
+
_() > 0 ? (f(), k("span", bu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
|
|
7008
7019
|
], 4),
|
|
7009
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7020
|
+
j(o).fixError.value ? (f(), k("div", xu, [V(j(Xr), {
|
|
7010
7021
|
size: 14,
|
|
7011
7022
|
"stroke-width": 2,
|
|
7012
7023
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7021,74 +7032,74 @@ var ou = {
|
|
|
7021
7032
|
(f(), N(d(p[e]), {
|
|
7022
7033
|
size: 14,
|
|
7023
7034
|
"stroke-width": 2,
|
|
7024
|
-
style: L({ color: j(
|
|
7035
|
+
style: L({ color: j(iu)(j(o).scoringResult.value.categories[e].score) })
|
|
7025
7036
|
}, null, 8, ["style"])),
|
|
7026
|
-
I("span",
|
|
7037
|
+
I("span", Cu, D(j(i).scoring.categories[e]), 1),
|
|
7027
7038
|
I("span", {
|
|
7028
7039
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7029
7040
|
style: L({
|
|
7030
|
-
color: j(
|
|
7031
|
-
backgroundColor: j(
|
|
7041
|
+
color: j(iu)(j(o).scoringResult.value.categories[e].score),
|
|
7042
|
+
backgroundColor: j(au)(j(o).scoringResult.value.categories[e].score)
|
|
7032
7043
|
})
|
|
7033
7044
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7034
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7035
|
-
V(j(
|
|
7045
|
+
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", wu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
|
|
7046
|
+
V(j(Kr), {
|
|
7036
7047
|
size: 12,
|
|
7037
7048
|
"stroke-width": 2,
|
|
7038
7049
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7039
7050
|
}, null, 8, ["class"])
|
|
7040
|
-
], 8,
|
|
7051
|
+
], 8, Su), c.value[e] ? (f(), k("div", Tu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Eu, D(j(i).scoring.noFindings), 1)) : A("", !0), (f(!0), k(R, null, h(j(o).scoringResult.value.categories[e].findings, (e) => (f(), k("div", {
|
|
7041
7052
|
key: e.id,
|
|
7042
7053
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7043
|
-
}, [I("div",
|
|
7054
|
+
}, [I("div", Du, [(f(), N(d(j(e.severity === "high" ? Xr : e.severity === "medium" ? Ti : li)), {
|
|
7044
7055
|
size: 13,
|
|
7045
7056
|
"stroke-width": 2,
|
|
7046
7057
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7047
|
-
style: L({ color: j(
|
|
7048
|
-
}, null, 8, ["style"])), I("div",
|
|
7049
|
-
I("div",
|
|
7058
|
+
style: L({ color: j(ou)(e.severity) })
|
|
7059
|
+
}, null, 8, ["style"])), I("div", Ou, [
|
|
7060
|
+
I("div", ku, [I("span", {
|
|
7050
7061
|
class: "tpl:mt-0.5 tpl:shrink-0 tpl:rounded tpl:px-1 tpl:py-px tpl:text-[10px] tpl:font-medium tpl:leading-tight",
|
|
7051
7062
|
style: L({
|
|
7052
|
-
color: j(
|
|
7053
|
-
backgroundColor: j(
|
|
7063
|
+
color: j(ou)(e.severity),
|
|
7064
|
+
backgroundColor: j(su)(e.severity)
|
|
7054
7065
|
})
|
|
7055
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7056
|
-
e.suggestion ? (f(), k("p",
|
|
7057
|
-
e.blockId ? (f(), k("div",
|
|
7066
|
+
}, D(j(i).scoring.severity[e.severity]), 5), I("span", Au, D(e.message), 1)]),
|
|
7067
|
+
e.suggestion ? (f(), k("p", ju, D(e.suggestion), 1)) : A("", !0),
|
|
7068
|
+
e.blockId ? (f(), k("div", Mu, [I("button", {
|
|
7058
7069
|
class: "tpl-scoring-fix-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded tpl:border tpl:px-3 tpl:py-1.5 tpl:text-[11px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:disabled:opacity-50 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)]",
|
|
7059
7070
|
style: { "background-color": "transparent" },
|
|
7060
7071
|
disabled: j(o).fixingFindingId.value !== null,
|
|
7061
7072
|
onClick: (t) => g(e)
|
|
7062
|
-
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(
|
|
7073
|
+
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(ui), {
|
|
7063
7074
|
key: 0,
|
|
7064
7075
|
class: "tpl-spinner",
|
|
7065
7076
|
size: 11,
|
|
7066
7077
|
"stroke-width": 2
|
|
7067
|
-
})) : (f(), N(j(
|
|
7078
|
+
})) : (f(), N(j(Si), {
|
|
7068
7079
|
key: 1,
|
|
7069
7080
|
size: 11,
|
|
7070
7081
|
"stroke-width": 2
|
|
7071
|
-
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8,
|
|
7082
|
+
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Nu), j(o).fixError.value ? (f(), k("p", Pu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
|
|
7072
7083
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7073
|
-
])) : (f(), k("div",
|
|
7084
|
+
])) : (f(), k("div", Fu, [V(j(bi), {
|
|
7074
7085
|
size: 32,
|
|
7075
7086
|
"stroke-width": 1.5,
|
|
7076
7087
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7077
|
-
}), I("p",
|
|
7088
|
+
}), I("p", Iu, D(j(i).scoring.emptyState), 1)])), I("p", Lu, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7078
7089
|
_: 1
|
|
7079
7090
|
}));
|
|
7080
7091
|
}
|
|
7081
|
-
}),
|
|
7092
|
+
}), zu = /* @__PURE__ */ e({ default: () => Bu }), Bu = /*#__PURE__*/ Pi(Ru, [["__scopeId", "data-v-3a059e8d"]]), Vu = ["aria-busy"], Hu = {
|
|
7082
7093
|
id: "tpl-test-email-title",
|
|
7083
7094
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7084
|
-
},
|
|
7095
|
+
}, Uu = { class: "tpl:mb-3" }, Wu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Gu = ["value"], Ku = ["disabled"], qu = ["value"], Ju = {
|
|
7085
7096
|
key: 0,
|
|
7086
7097
|
role: "alert",
|
|
7087
7098
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7088
|
-
},
|
|
7099
|
+
}, Yu = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Xu = ["disabled"], Zu = ["disabled"], Qu = {
|
|
7089
7100
|
key: 0,
|
|
7090
7101
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7091
|
-
},
|
|
7102
|
+
}, $u = { key: 1 }, ed = /*@__PURE__*/ B({
|
|
7092
7103
|
__name: "TestEmailModal",
|
|
7093
7104
|
props: {
|
|
7094
7105
|
visible: { type: Boolean },
|
|
@@ -7098,7 +7109,7 @@ var ou = {
|
|
|
7098
7109
|
},
|
|
7099
7110
|
emits: ["send", "close"],
|
|
7100
7111
|
setup(e, { emit: t }) {
|
|
7101
|
-
let n = e, r = t, { t: i } =
|
|
7112
|
+
let n = e, r = t, { t: i } = Wi(), a = C("");
|
|
7102
7113
|
H(() => n.visible, (e) => {
|
|
7103
7114
|
e && (a.value = n.allowedEmails[0] ?? "");
|
|
7104
7115
|
});
|
|
@@ -7111,7 +7122,7 @@ var ou = {
|
|
|
7111
7122
|
function l(e) {
|
|
7112
7123
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7113
7124
|
}
|
|
7114
|
-
return (t, n) => (f(), N(
|
|
7125
|
+
return (t, n) => (f(), N(Ho, {
|
|
7115
7126
|
visible: e.visible,
|
|
7116
7127
|
onClose: s,
|
|
7117
7128
|
onKeydown: l
|
|
@@ -7127,14 +7138,14 @@ var ou = {
|
|
|
7127
7138
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7128
7139
|
}
|
|
7129
7140
|
}, [
|
|
7130
|
-
I("h3",
|
|
7131
|
-
I("div",
|
|
7141
|
+
I("h3", Hu, D(j(i).testEmail.title), 1),
|
|
7142
|
+
I("div", Uu, [I("label", Wu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
|
|
7132
7143
|
key: 0,
|
|
7133
7144
|
type: "text",
|
|
7134
7145
|
value: a.value,
|
|
7135
7146
|
disabled: "",
|
|
7136
7147
|
class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
|
|
7137
|
-
}, null, 8,
|
|
7148
|
+
}, null, 8, Gu)) : c((f(), k("select", {
|
|
7138
7149
|
key: 1,
|
|
7139
7150
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7140
7151
|
class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
@@ -7142,29 +7153,29 @@ var ou = {
|
|
|
7142
7153
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7143
7154
|
key: e,
|
|
7144
7155
|
value: e
|
|
7145
|
-
}, D(e), 9,
|
|
7146
|
-
e.error ? (f(), k("p",
|
|
7147
|
-
I("div",
|
|
7156
|
+
}, D(e), 9, qu))), 128))], 8, Ku)), [[w, a.value]])]),
|
|
7157
|
+
e.error ? (f(), k("p", Ju, D(e.error), 1)) : A("", !0),
|
|
7158
|
+
I("div", Yu, [I("button", {
|
|
7148
7159
|
type: "button",
|
|
7149
7160
|
class: F(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": e.isSending }]),
|
|
7150
7161
|
disabled: e.isSending,
|
|
7151
7162
|
onClick: s
|
|
7152
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7163
|
+
}, D(j(i).testEmail.cancel), 11, Xu), I("button", {
|
|
7153
7164
|
type: "button",
|
|
7154
7165
|
class: "tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
7155
7166
|
disabled: !a.value || e.isSending,
|
|
7156
7167
|
onClick: o
|
|
7157
|
-
}, [e.isSending ? (f(), k("span",
|
|
7168
|
+
}, [e.isSending ? (f(), k("span", Qu, [V(j(ui), {
|
|
7158
7169
|
class: "tpl:animate-spin",
|
|
7159
7170
|
size: 12,
|
|
7160
7171
|
"stroke-width": 2
|
|
7161
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7162
|
-
], 8,
|
|
7172
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", $u, D(j(i).testEmail.send), 1))], 8, Zu)])
|
|
7173
|
+
], 8, Vu)]),
|
|
7163
7174
|
_: 1
|
|
7164
7175
|
}, 8, ["visible"]));
|
|
7165
7176
|
}
|
|
7166
|
-
}),
|
|
7177
|
+
}), td = /* @__PURE__ */ e({ default: () => nd }), nd = ed;
|
|
7167
7178
|
//#endregion
|
|
7168
|
-
export {
|
|
7179
|
+
export { Gi as $, lr as $t, zo as A, ye as An, Gr as At, Ha as B, be as Bn, Wn as Bt, Xo as C, ct as Cn, ti as Ct, Wo as D, Ue as Dn, Xr as Dt, Uo as E, W as En, Qr as Et, co as F, me as Fn, Y as Ft, ga as G, Gn as Gt, Ba as H, de as Hn, dr as Ht, uo as I, xe as In, sr as It, ca as J, In as Jt, ha as K, Kn as Kt, so as L, Se as Ln, er as Lt, Do as M, _e as Mn, Nr as Mt, xo as N, we as Nn, Sr as Nt, Ho as O, ve as On, Jr as Ot, vo as P, ge as Pn, hr as Pt, Ki as Q, Qn as Qt, ro as R, Te as Rn, or as Rt, Zo as S, lt as Sn, ni as St, Z as T, ot as Tn, $r as Tt, ja as U, fe as Un, cr as Ut, Va as V, pe as Vn, tr as Vt, Da as W, ue as Wn, zn as Wt, Zi as X, Zn as Xt, $i as Y, Bn as Yt, qi as Z, Jn as Zt, ls as _, ut as _n, di as _t, fl as a, hn as an, ki as at, as as b, gt as bn, ci as bt, Es as c, q as cn, wi as ct, ys as d, nn as dn, bi as dt, ur as en, Ui as et, vs as f, tn as fn, yi as ft, ms as g, Tt as gn, fi as gt, hs as h, Pt as hn, pi as ht, Vl as i, J as in, Ni as it, Lo as j, Ce as jn, X as jt, Bo as k, Ee as kn, Kr as kt, xs as l, An as ln, Ci as lt, gs as m, sn as mn, gi as mt, zu as n, Vn as nn, Vi as nt, Qs as o, Cn as on, Di as ot, _s as p, on as pn, vi as pt, ua as q, $n as qt, nu as r, Hn as rn, Pi as rt, Ds as s, wn as sn, Ti as st, td as t, rr as tn, Wi as tt, bs as u, Dn as un, Si as ut, cs as v, vt as vn, ui as vt, $ as w, st as wn, ei as wt, ts as x, yt as xn, si as xt, os as y, bt as yn, li as yt, to as z, he as zn, Un as zt };
|
|
7169
7180
|
|
|
7170
|
-
//# sourceMappingURL=features-
|
|
7181
|
+
//# sourceMappingURL=features-A28DQtjE.js.map
|