@templatical/editor 0.14.0 → 0.15.1
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-J8iO_sX7.js → AiChatSidebar-BIKvYREk.js} +57 -56
- package/dist/{AiFeatureMenu-F2diEDgV.js → AiFeatureMenu-CU6kTMTf.js} +20 -20
- package/dist/{BlockIssueBadge-a-qlByxF.js → BlockIssueBadge-B3xVgMTh.js} +11 -11
- package/dist/{CloudEditor-CDjtwb4i.js → CloudEditor-DRPxvUEj.js} +470 -468
- package/dist/{CollaboratorBar-B_EnJLtW.js → CollaboratorBar-DMSjd3HZ.js} +20 -20
- package/dist/{CommentsSidebar-DaP9BA_r.js → CommentsSidebar-D_tSGvTX.js} +154 -153
- package/dist/CountdownBlock-apiYUhkQ.js +92 -0
- package/dist/CountdownToolbar-CS0axcjz.js +210 -0
- package/dist/{DesignReferenceSidebar-BHRlTqlT.js → DesignReferenceSidebar-DWYK9nTk.js} +58 -57
- package/dist/{IssuesPanel-u7ee3Wrl.js → IssuesPanel-CR1MPaDE.js} +40 -40
- package/dist/{LoadingTrack-CV3ID80N.js → LoadingTrack-DsecR8Rw.js} +1 -1
- package/dist/MergeTagSuggestion-CH2SUxBo.js +1327 -0
- package/dist/{ModuleBrowserModal-DOsdaS6s.js → ModuleBrowserModal-BOzleijA.js} +60 -59
- package/dist/{ModulePreviewCanvas-Cx4MOJ0X.js → ModulePreviewCanvas-Cg99Pbde.js} +29 -29
- package/dist/{NumberWithSuffix-D2mW_DhT.js → NumberWithSuffix-CrA6quxx.js} +143 -142
- package/dist/{ParagraphEditor-DMzkVnST.js → ParagraphEditor-8jnzoL0A.js} +250 -247
- package/dist/{RichTextEditorContent-CRCxCwKf.js → RichTextEditorContent-BqLHIZY7.js} +45 -44
- package/dist/{SaveModuleDialog-DuEKgumL.js → SaveModuleDialog-Cy2XyjYT.js} +38 -37
- package/dist/{SnapshotHistory-CVgiNJtE.js → SnapshotHistory-cfxmOsJu.js} +34 -33
- package/dist/{TemplateScoringPanel-lm0_9nYi.js → TemplateScoringPanel-CZ62rGHz.js} +83 -82
- package/dist/{TestEmailModal-WBMdiW5S.js → TestEmailModal-sr1MaMVX.js} +22 -21
- package/dist/{TitleEditor-eyT0h-Sa.js → TitleEditor-CvGTprIg.js} +46 -45
- package/dist/{TplModal-tjQ7OB0g.js → TplModal-BtKB-0Bx.js} +14 -13
- package/dist/{blockTypeIcons-DdB3uTKD.js → blockTypeIcons-BxEbbev5.js} +2 -2
- package/dist/bundle-stats.json +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-D7rB2SBs.js → AiFeatureMenu-fDUpv_-s.js} +5 -5
- package/dist/cdn/chunks/{AiFeatureMenu-D7rB2SBs.js.map → AiFeatureMenu-fDUpv_-s.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-DHOe0pgx.js → BlockIssueBadge-Byce0j0W.js} +3 -3
- package/dist/cdn/chunks/{BlockIssueBadge-DHOe0pgx.js.map → BlockIssueBadge-Byce0j0W.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-DNed_Ym0.js → CloudEditor-B4m8ldiE.js} +89 -89
- package/dist/cdn/chunks/{CloudEditor-DNed_Ym0.js.map → CloudEditor-B4m8ldiE.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-sj_9Lee3.js → CollaboratorBar-LnLmjxw_.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-sj_9Lee3.js.map → CollaboratorBar-LnLmjxw_.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-C1Ikjpn4.js → CountdownBlock-DxTuMRBM.js} +3 -3
- package/dist/cdn/chunks/{CountdownBlock-C1Ikjpn4.js.map → CountdownBlock-DxTuMRBM.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-j1G_X8rB.js → CountdownToolbar-DUrVfQZH.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-j1G_X8rB.js.map → CountdownToolbar-DUrVfQZH.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-CTOf3PsH.js → IssuesPanel-CHl90k4h.js} +4 -4
- package/dist/cdn/chunks/{IssuesPanel-CTOf3PsH.js.map → IssuesPanel-CHl90k4h.js.map} +1 -1
- package/dist/cdn/chunks/MergeTagSuggestion-BsCAo4Co.js +213 -0
- package/dist/cdn/chunks/MergeTagSuggestion-BsCAo4Co.js.map +1 -0
- package/dist/cdn/chunks/{ModuleBrowserModal-DCh88-rr.js → ModuleBrowserModal-DW0iQW0J.js} +6 -6
- package/dist/cdn/chunks/{ModuleBrowserModal-DCh88-rr.js.map → ModuleBrowserModal-DW0iQW0J.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-DJqvTKmg.js → ModulePreviewCanvas-Cxo8v8t1.js} +3 -3
- package/dist/cdn/chunks/{ModulePreviewCanvas-DJqvTKmg.js.map → ModulePreviewCanvas-Cxo8v8t1.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-Bu45XWSl.js → NumberWithSuffix-CnSRmUMK.js} +6 -6
- package/dist/cdn/chunks/{NumberWithSuffix-Bu45XWSl.js.map → NumberWithSuffix-CnSRmUMK.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-DwZqLJp2.js → ParagraphEditor-iG5cDjH0.js} +25 -23
- package/dist/cdn/chunks/{ParagraphEditor-DwZqLJp2.js.map → ParagraphEditor-iG5cDjH0.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-CIuZ-2DV.js → RichTextEditorContent-DQpgeGMj.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-CIuZ-2DV.js.map → RichTextEditorContent-DQpgeGMj.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-Bep0X2s_.js → SaveModuleDialog-sJQXg2Mh.js} +3 -3
- package/dist/cdn/chunks/{SaveModuleDialog-Bep0X2s_.js.map → SaveModuleDialog-sJQXg2Mh.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-DO1-h3RY.js → TitleEditor-C8qIn9Oi.js} +12 -11
- package/dist/cdn/chunks/TitleEditor-C8qIn9Oi.js.map +1 -0
- package/dist/cdn/chunks/{blockTypeIcons-8o24HVJu.js → blockTypeIcons-DySnOpPo.js} +3 -3
- package/dist/cdn/chunks/{blockTypeIcons-8o24HVJu.js.map → blockTypeIcons-DySnOpPo.js.map} +1 -1
- package/dist/cdn/chunks/{draggable-kPCz_3zM.js → draggable-kG-D5Xsm.js} +6 -6
- package/dist/cdn/chunks/draggable-kG-D5Xsm.js.map +1 -0
- package/dist/cdn/chunks/extensions-C2pTX899.js +421 -0
- package/dist/cdn/chunks/extensions-C2pTX899.js.map +1 -0
- package/dist/cdn/chunks/{features-CkTMVylx.js → features-CHE3YjQE.js} +886 -837
- package/dist/cdn/chunks/features-CHE3YjQE.js.map +1 -0
- package/dist/cdn/chunks/{icons-9zjCuoJx.js → icons-M4uqBV-_.js} +26 -26
- package/dist/cdn/chunks/{icons-9zjCuoJx.js.map → icons-M4uqBV-_.js.map} +1 -1
- package/dist/cdn/chunks/{liquid.browser-DKKBzRQu.js → liquid.browser-BJOEu6Cg.js} +693 -678
- package/dist/cdn/chunks/liquid.browser-BJOEu6Cg.js.map +1 -0
- package/dist/cdn/chunks/{media-library-DMRIPx4g.js → media-library-Bqr15VN2.js} +33 -33
- package/dist/cdn/chunks/{media-library-DMRIPx4g.js.map → media-library-Bqr15VN2.js.map} +1 -1
- package/dist/cdn/chunks/{pusher-CdEqyLwF.js → pusher-CIwiKF8H.js} +4 -4
- package/dist/cdn/chunks/{pusher-CdEqyLwF.js.map → pusher-CIwiKF8H.js.map} +1 -1
- package/dist/cdn/chunks/{quality-CyeUgs_c.js → quality-DJZ_fqc2.js} +112 -112
- package/dist/cdn/chunks/{quality-CyeUgs_c.js.map → quality-DJZ_fqc2.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-BIKUEKDD.js → renderer-CyzTR1Vq.js} +20 -20
- package/dist/cdn/chunks/renderer-CyzTR1Vq.js.map +1 -0
- package/dist/cdn/chunks/{src-pDy_imWG.js → src-q-SBgWx7.js} +5 -5
- package/dist/cdn/chunks/{src-pDy_imWG.js.map → src-q-SBgWx7.js.map} +1 -1
- package/dist/cdn/chunks/{styles-D4Bd3SCx.js → styles-PWISdaws.js} +1484 -1344
- package/dist/cdn/chunks/styles-PWISdaws.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-BlLFFU3M.js → tiptap-DF9PEiqH.js} +6859 -6823
- package/dist/cdn/chunks/tiptap-DF9PEiqH.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +35 -35
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-CYJwFmjy.js → check-rl7ok6uJ.js} +1 -1
- package/dist/{chevron-down-C5l-DzAA.js → chevron-down-BKe__NOD.js} +1 -1
- package/dist/{circle-alert-wf5HUFZY.js → circle-alert-C8xmpMsK.js} +1 -1
- package/dist/{clock-Bj0bQw-K.js → clock-BW4JuDCN.js} +1 -1
- package/dist/{cloud-CoFDm9YA.js → cloud-BQusL53H.js} +208 -208
- package/dist/createLucideIcon-Dx-EjR9r.js +43 -0
- package/dist/{dist-CLpPNKy9.js → dist-B5Sov3sS.js} +7 -7
- package/dist/dist-BEWiuOMi.js +251 -0
- package/dist/{dist-CrQZ_af9.js → dist-BFmE-7hB.js} +2 -2
- package/dist/{dist-U5vfDdYI.js → dist-BMoa33wT.js} +2 -2
- package/dist/{dist-BctFrpeA.js → dist-BibU4HNl.js} +74 -65
- package/dist/{dist-Dd3ibRZm.js → dist-BsCGIDSt.js} +103 -102
- package/dist/dist-CNLKj9wa.js +5 -0
- package/dist/{dist-BX3gGwL8.js → dist-CNXDNYQn.js} +728 -694
- package/dist/{dist-Bn703mnA.js → dist-COG3IdPK.js} +3 -3
- package/dist/{dist-B7w6xTU6.js → dist-CQZxDvFw.js} +3 -3
- package/dist/{dist-34OcyoK1.js → dist-CRsjOQM-.js} +2 -2
- package/dist/dist-CTT6WYJ6.js +134 -0
- package/dist/dist-Cqa6aeAJ.js +5 -0
- package/dist/{dist-ChMninLH.js → dist-SXJJ2v41.js} +2 -2
- package/dist/{dist-CyjyYg52.js → dist-itdjZraK.js} +28 -23
- package/dist/extensions-DwaZAqm6.js +423 -0
- package/dist/{image-up-x8-WXfsx.js → image-up-BwBCmQ4P.js} +1 -1
- package/dist/{info-RS_fGcGi.js → info-TCn7uWR5.js} +1 -1
- package/dist/{keys-DgYXDafq.js → keys-Cv8-8GsD.js} +1 -1
- package/dist/{liquid.browser-CVjP5Mex.js → liquid.browser-DZLtv26k.js} +692 -677
- package/dist/{list-checks-Bf7XdDyv.js → list-checks-CSrOWNgq.js} +1 -1
- package/dist/{loader-circle-CLZ0_FvW.js → loader-circle-BLmicnPG.js} +1 -1
- package/dist/{message-circle-B-1bN9ab.js → message-circle-C9hHMQCI.js} +1 -1
- package/dist/{refresh-cw-CWKWqJYG.js → refresh-cw-D1JQ1LNa.js} +1 -1
- package/dist/runtime-dom.esm-bundler-BzuoCyNp.js +523 -0
- package/dist/{scan-line-BtK5dEai.js → scan-line-DgijVq9y.js} +1 -1
- package/dist/{send-Cn1IUdzh.js → send-DjPdq69F.js} +1 -1
- package/dist/{shield-check-CrvMk4Ea.js → shield-check-Bqluu8FS.js} +1 -1
- package/dist/{sparkles-CgfjwvnG.js → sparkles-M4azPVSP.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/styles-B2OrgEnn.js +4164 -0
- package/dist/templatical-editor.js +127 -126
- package/dist/{text-align-start-C3r_Rnvy.js → text-align-start-CMya5pCQ.js} +11 -11
- package/dist/{trash-2-CjERg4x9.js → trash-2-C-81rkLS.js} +1 -1
- package/dist/{triangle-alert-Chkny574.js → triangle-alert-BuRWnynk.js} +1 -1
- package/dist/{upload-e5kDRkPb.js → upload-CWBIoLd4.js} +1 -1
- package/dist/{useAliveFlag-cUQj9rmB.js → useAliveFlag-CECL_OUb.js} +1 -1
- package/dist/{useCloudI18n-CYJKqXtI.js → useCloudI18n-AKCy98qD.js} +2 -2
- package/dist/{useEditorCore-8JxXDOA4.js → useEditorCore-DJeOXVxQ.js} +1407 -1365
- package/dist/{useI18n-BWqM8i78.js → useI18n-C-TDeJBt.js} +2 -2
- package/dist/{useMergeTag-NHC4ylza.js → useMergeTag-DSrBY0-2.js} +5 -5
- package/dist/usePopoverRoot-DKUDnr55.js +8 -0
- package/dist/{vue.runtime.esm-bundler-BPa483TZ.js → vue.runtime.esm-bundler-l0XAqiyv.js} +626 -1147
- package/dist/{x-DiPIbccg.js → x-CQSvXnGR.js} +1 -1
- package/package.json +26 -26
- package/dist/CountdownBlock-DtAokAVw.js +0 -92
- package/dist/CountdownToolbar-Dtqgwy0g.js +0 -210
- package/dist/cdn/chunks/TitleEditor-DO1-h3RY.js.map +0 -1
- package/dist/cdn/chunks/draggable-kPCz_3zM.js.map +0 -1
- package/dist/cdn/chunks/extensions-iwBXnEwq.js +0 -605
- package/dist/cdn/chunks/extensions-iwBXnEwq.js.map +0 -1
- package/dist/cdn/chunks/features-CkTMVylx.js.map +0 -1
- package/dist/cdn/chunks/liquid.browser-DKKBzRQu.js.map +0 -1
- package/dist/cdn/chunks/renderer-BIKUEKDD.js.map +0 -1
- package/dist/cdn/chunks/styles-D4Bd3SCx.js.map +0 -1
- package/dist/cdn/chunks/tiptap-BlLFFU3M.js.map +0 -1
- package/dist/createLucideIcon-Bad2kKE0.js +0 -43
- package/dist/dist-CADDCv0o.js +0 -5
- package/dist/dist-CGvz7vkq.js +0 -5
- package/dist/dist-DuCzdgDA.js +0 -382
- package/dist/extensions-J439b7y7.js +0 -1720
- package/dist/styles-BUwDOWd3.js +0 -4022
- package/dist/usePopoverRoot-B1sdY4es.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 T, b as E, c as ee, 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 T, b as E, c as ee, 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-kG-D5Xsm.js";
|
|
3
3
|
//#region src/constants/timeouts.ts
|
|
4
4
|
var ue = 3e4, de = 4e3, fe = 5e3, pe = {
|
|
5
5
|
1: 36,
|
|
@@ -432,45 +432,54 @@ var dt = {
|
|
|
432
432
|
handlebars: "{{",
|
|
433
433
|
mailchimp: "*|",
|
|
434
434
|
ampscript: "%%="
|
|
435
|
+
}, pt = {
|
|
436
|
+
liquid: "}}",
|
|
437
|
+
handlebars: "}}",
|
|
438
|
+
mailchimp: "|*",
|
|
439
|
+
ampscript: "=%%"
|
|
435
440
|
};
|
|
436
|
-
function
|
|
441
|
+
function mt(e) {
|
|
437
442
|
for (let t of Object.keys(dt)) if (dt[t].value.source === e.value.source) return ft[t];
|
|
438
443
|
return null;
|
|
439
444
|
}
|
|
440
|
-
function
|
|
445
|
+
function ht(e) {
|
|
446
|
+
for (let t of Object.keys(dt)) if (dt[t].value.source === e.value.source) return pt[t];
|
|
447
|
+
return null;
|
|
448
|
+
}
|
|
449
|
+
function gt(e) {
|
|
441
450
|
return e ? typeof e == "string" ? dt[e] ?? dt.liquid : e : dt.liquid;
|
|
442
451
|
}
|
|
443
|
-
function
|
|
452
|
+
function _t(e) {
|
|
444
453
|
let t = e.source, n = e.flags.replace("g", "");
|
|
445
454
|
return RegExp(`^${t}$`, n);
|
|
446
455
|
}
|
|
447
|
-
function
|
|
456
|
+
function vt(e, t) {
|
|
448
457
|
let n = e?.trim() || "";
|
|
449
|
-
return
|
|
458
|
+
return !_t(t.logic).test(n) && _t(t.value).test(n);
|
|
450
459
|
}
|
|
451
|
-
function
|
|
460
|
+
function yt(e, t) {
|
|
452
461
|
let n = t.find((t) => t.value === e);
|
|
453
462
|
return n ? n.label : e;
|
|
454
463
|
}
|
|
455
|
-
function
|
|
456
|
-
return
|
|
464
|
+
function bt(e, t) {
|
|
465
|
+
return Tt(e, "data-merge-tag", (e) => yt(e, t));
|
|
457
466
|
}
|
|
458
|
-
function
|
|
467
|
+
function xt(e, t) {
|
|
459
468
|
if (!e) return !1;
|
|
460
469
|
let n = new RegExp(t.value.source, t.value.flags), r = new RegExp(t.logic.source, t.logic.flags);
|
|
461
470
|
return n.test(e) || r.test(e);
|
|
462
471
|
}
|
|
463
|
-
function
|
|
464
|
-
return
|
|
472
|
+
function St(e, t) {
|
|
473
|
+
return _t(t.logic).test(e?.trim() || "");
|
|
465
474
|
}
|
|
466
|
-
function
|
|
475
|
+
function Ct(e, t) {
|
|
467
476
|
let n = new RegExp(t.logic.source, t.logic.flags.replace("g", "")), r = e.match(n);
|
|
468
477
|
return r && r[1] ? r[1].toUpperCase() : e;
|
|
469
478
|
}
|
|
470
|
-
function
|
|
471
|
-
return
|
|
479
|
+
function wt(e, t) {
|
|
480
|
+
return Tt(e, "data-logic-merge-tag", (e) => Ct(e, t));
|
|
472
481
|
}
|
|
473
|
-
function
|
|
482
|
+
function Tt(e, t, n) {
|
|
474
483
|
let r = RegExp(`(?:^|\\s)${t}="([^"<>]*)"`), i = "", a = 0;
|
|
475
484
|
for (; a < e.length;) {
|
|
476
485
|
let t = e.indexOf("<span", a);
|
|
@@ -505,7 +514,7 @@ function Ct(e, t, n) {
|
|
|
505
514
|
}
|
|
506
515
|
//#endregion
|
|
507
516
|
//#region ../types/src/config.ts
|
|
508
|
-
var
|
|
517
|
+
var Et = class extends Error {
|
|
509
518
|
statusCode;
|
|
510
519
|
constructor(e, t) {
|
|
511
520
|
super(e), this.statusCode = t, this.name = "SdkError";
|
|
@@ -522,10 +531,10 @@ var wt = class extends Error {
|
|
|
522
531
|
};
|
|
523
532
|
//#endregion
|
|
524
533
|
//#region ../core/src/editor.ts
|
|
525
|
-
function
|
|
534
|
+
function Dt(e) {
|
|
526
535
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
527
536
|
}
|
|
528
|
-
function
|
|
537
|
+
function Ot(e) {
|
|
529
538
|
let t = S({
|
|
530
539
|
content: e.content ?? We(e.defaultFontFamily, e.templateDefaults),
|
|
531
540
|
selectedBlockId: null,
|
|
@@ -616,7 +625,7 @@ function Et(e) {
|
|
|
616
625
|
if (s(n)) return;
|
|
617
626
|
let o = i(t.content.blocks, n);
|
|
618
627
|
if (o && o.type === "section") {
|
|
619
|
-
if (r < 0 || r >=
|
|
628
|
+
if (r < 0 || r >= Dt(o.columns)) return;
|
|
620
629
|
o.children[r] = o.children[r] || [];
|
|
621
630
|
let t = o.children[r];
|
|
622
631
|
a !== void 0 && a < t.length ? t.splice(a, 0, e) : t.push(e);
|
|
@@ -649,7 +658,7 @@ function Et(e) {
|
|
|
649
658
|
let u;
|
|
650
659
|
if (r) {
|
|
651
660
|
let e = i(t.content.blocks, r);
|
|
652
|
-
if (!e || e.type !== "section" || a < 0 || a >=
|
|
661
|
+
if (!e || e.type !== "section" || a < 0 || a >= Dt(e.columns)) return;
|
|
653
662
|
e.children[a] = e.children[a] || [], u = e.children[a];
|
|
654
663
|
} else u = t.content.blocks;
|
|
655
664
|
let [d] = c.blocks.splice(l, 1);
|
|
@@ -680,9 +689,9 @@ function Et(e) {
|
|
|
680
689
|
}
|
|
681
690
|
//#endregion
|
|
682
691
|
//#region ../core/src/history.ts
|
|
683
|
-
var
|
|
684
|
-
function
|
|
685
|
-
let { content: t, setContent: n, isRemoteOperation: r, maxSize: i =
|
|
692
|
+
var kt = 50, At = 300, jt = 1500;
|
|
693
|
+
function Mt(e) {
|
|
694
|
+
let { content: t, setContent: n, isRemoteOperation: r, maxSize: i = kt } = e, a = C([]), o = C([]), s = C(!1), c = null, l = null, u = y(() => a.value.length > 0), d = y(() => o.value.length > 0);
|
|
686
695
|
function f() {
|
|
687
696
|
return ut(t.value);
|
|
688
697
|
}
|
|
@@ -700,21 +709,21 @@ function At(e) {
|
|
|
700
709
|
if (l && l.blockId === e) {
|
|
701
710
|
clearTimeout(l.timeoutId), l.timeoutId = setTimeout(() => {
|
|
702
711
|
l = null;
|
|
703
|
-
},
|
|
712
|
+
}, At);
|
|
704
713
|
return;
|
|
705
714
|
}
|
|
706
715
|
m(), p(f()), o.value = [], l = {
|
|
707
716
|
blockId: e,
|
|
708
717
|
timeoutId: setTimeout(() => {
|
|
709
718
|
l = null;
|
|
710
|
-
},
|
|
719
|
+
}, At)
|
|
711
720
|
};
|
|
712
721
|
}
|
|
713
722
|
}
|
|
714
723
|
function _() {
|
|
715
724
|
s.value = !0, c && clearTimeout(c), c = setTimeout(() => {
|
|
716
725
|
s.value = !1, c = null;
|
|
717
|
-
},
|
|
726
|
+
}, jt);
|
|
718
727
|
}
|
|
719
728
|
function v() {
|
|
720
729
|
if (a.value.length === 0) return;
|
|
@@ -748,7 +757,7 @@ function At(e) {
|
|
|
748
757
|
}
|
|
749
758
|
//#endregion
|
|
750
759
|
//#region ../core/src/block-actions.ts
|
|
751
|
-
function
|
|
760
|
+
function Nt(e) {
|
|
752
761
|
e.type === "table" ? e.rows = e.rows.map((e) => ({
|
|
753
762
|
...e,
|
|
754
763
|
id: W(),
|
|
@@ -764,7 +773,7 @@ function jt(e) {
|
|
|
764
773
|
id: W()
|
|
765
774
|
})));
|
|
766
775
|
}
|
|
767
|
-
function
|
|
776
|
+
function Pt(e) {
|
|
768
777
|
let { addBlock: t, removeBlock: n, updateBlock: r, selectBlock: i, findBlockLocation: a } = e;
|
|
769
778
|
function o(n, r, a) {
|
|
770
779
|
let o = ct(n, e.blockDefaults);
|
|
@@ -772,9 +781,9 @@ function Mt(e) {
|
|
|
772
781
|
}
|
|
773
782
|
function s(e, n, r) {
|
|
774
783
|
let o = JSON.parse(JSON.stringify(e));
|
|
775
|
-
if (o.id = W(),
|
|
784
|
+
if (o.id = W(), Nt(o), o.type === "section" && (o.children = o.children.map((e) => e.map((e) => {
|
|
776
785
|
let t = JSON.parse(JSON.stringify(e));
|
|
777
|
-
return t.id = W(),
|
|
786
|
+
return t.id = W(), Nt(t), t;
|
|
778
787
|
}))), n !== void 0 || r !== void 0) t(o, n, r);
|
|
779
788
|
else {
|
|
780
789
|
let i = a?.(e.id) ?? null;
|
|
@@ -797,7 +806,7 @@ function Mt(e) {
|
|
|
797
806
|
}
|
|
798
807
|
//#endregion
|
|
799
808
|
//#region ../core/src/auto-save.ts
|
|
800
|
-
function
|
|
809
|
+
function Ft(e) {
|
|
801
810
|
let { content: t, isDirty: n, onChange: r, debounce: i = 1e3, enabled: a = !0 } = e, o = null, s = !1;
|
|
802
811
|
function c() {
|
|
803
812
|
return typeof a == "function" ? a() : a;
|
|
@@ -835,7 +844,7 @@ function Nt(e) {
|
|
|
835
844
|
}
|
|
836
845
|
//#endregion
|
|
837
846
|
//#region ../core/src/condition-preview.ts
|
|
838
|
-
function
|
|
847
|
+
function It(e) {
|
|
839
848
|
let t = S(/* @__PURE__ */ new Set()), n = y(() => t.size > 0);
|
|
840
849
|
function r(e) {
|
|
841
850
|
return t.has(e);
|
|
@@ -855,7 +864,7 @@ function Pt(e) {
|
|
|
855
864
|
}
|
|
856
865
|
//#endregion
|
|
857
866
|
//#region ../core/src/data-source-fetch.ts
|
|
858
|
-
function
|
|
867
|
+
function Lt(e) {
|
|
859
868
|
let t = C(!1), n = C(!1), r = y(() => !!e.definition.value?.dataSource), i = y(() => r.value && !e.block.value.dataSourceFetched);
|
|
860
869
|
async function a() {
|
|
861
870
|
let r = e.definition.value;
|
|
@@ -887,7 +896,7 @@ function Ft(e) {
|
|
|
887
896
|
}
|
|
888
897
|
//#endregion
|
|
889
898
|
//#region ../core/src/history-interceptor.ts
|
|
890
|
-
function
|
|
899
|
+
function Rt(e, t) {
|
|
891
900
|
let n = e.addBlock, r = e.removeBlock, i = e.moveBlock, a = e.updateBlock, o = e.updateSettings;
|
|
892
901
|
e.addBlock = (r, i, a, o) => {
|
|
893
902
|
i && e.isBlockLocked(i) || (t.record(), n(r, i, a, o));
|
|
@@ -903,10 +912,10 @@ function It(e, t) {
|
|
|
903
912
|
}
|
|
904
913
|
//#endregion
|
|
905
914
|
//#region ../../node_modules/.pnpm/@vueuse+shared@14.3.0_vue@3.5.39_typescript@6.0.3_/node_modules/@vueuse/shared/dist/index.js
|
|
906
|
-
function
|
|
915
|
+
function zt(e, t) {
|
|
907
916
|
return s() ? (l(e, t), !0) : !1;
|
|
908
917
|
}
|
|
909
|
-
function
|
|
918
|
+
function Bt() {
|
|
910
919
|
let e = /* @__PURE__ */ new Set(), t = (t) => {
|
|
911
920
|
e.delete(t);
|
|
912
921
|
};
|
|
@@ -914,7 +923,7 @@ function Rt() {
|
|
|
914
923
|
on: (n) => {
|
|
915
924
|
e.add(n);
|
|
916
925
|
let r = () => t(n);
|
|
917
|
-
return
|
|
926
|
+
return zt(r), { off: r };
|
|
918
927
|
},
|
|
919
928
|
off: t,
|
|
920
929
|
trigger: (...t) => Promise.all(Array.from(e).map((e) => e(...t))),
|
|
@@ -923,18 +932,18 @@ function Rt() {
|
|
|
923
932
|
}
|
|
924
933
|
};
|
|
925
934
|
}
|
|
926
|
-
var
|
|
935
|
+
var Vt = /* @__PURE__ */ new WeakMap(), Ht = (...e) => {
|
|
927
936
|
let t = e[0], n = _()?.proxy ?? s();
|
|
928
937
|
if (n == null && !le()) throw Error("injectLocal must be called in setup");
|
|
929
|
-
return n &&
|
|
930
|
-
},
|
|
938
|
+
return n && Vt.has(n) && t in Vt.get(n) ? Vt.get(n)[t] : v(...e);
|
|
939
|
+
}, Ut = typeof window < "u" && typeof document < "u";
|
|
931
940
|
typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope;
|
|
932
|
-
var
|
|
933
|
-
function
|
|
941
|
+
var Wt = (e) => e != null, Gt = Object.prototype.toString, Kt = (e) => Gt.call(e) === "[object Object]", qt = () => {}, Jt = (e, t) => Object.hasOwn(e, t), Yt = /* @__PURE__ */ Xt();
|
|
942
|
+
function Xt() {
|
|
934
943
|
var e, t;
|
|
935
|
-
return
|
|
944
|
+
return Ut && !!(!((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));
|
|
936
945
|
}
|
|
937
|
-
function
|
|
946
|
+
function Zt(e, t) {
|
|
938
947
|
function n(...n) {
|
|
939
948
|
return new Promise((r, i) => {
|
|
940
949
|
Promise.resolve(e(() => t.apply(this, n), {
|
|
@@ -946,10 +955,10 @@ function Yt(e, t) {
|
|
|
946
955
|
}
|
|
947
956
|
return n;
|
|
948
957
|
}
|
|
949
|
-
var
|
|
950
|
-
function
|
|
951
|
-
let n, r, i =
|
|
952
|
-
clearTimeout(e), i(), i =
|
|
958
|
+
var Qt = (e) => e();
|
|
959
|
+
function $t(e, t = {}) {
|
|
960
|
+
let n, r, i = qt, a = (e) => {
|
|
961
|
+
clearTimeout(e), i(), i = qt;
|
|
953
962
|
}, o;
|
|
954
963
|
return (s) => {
|
|
955
964
|
let c = P(e), l = P(t.maxWait);
|
|
@@ -962,7 +971,7 @@ function Zt(e, t = {}) {
|
|
|
962
971
|
});
|
|
963
972
|
};
|
|
964
973
|
}
|
|
965
|
-
function
|
|
974
|
+
function en(e) {
|
|
966
975
|
let t;
|
|
967
976
|
function n() {
|
|
968
977
|
return t ||= e(), t;
|
|
@@ -972,32 +981,32 @@ function Qt(e) {
|
|
|
972
981
|
t = void 0, e && await e;
|
|
973
982
|
}, n;
|
|
974
983
|
}
|
|
975
|
-
function
|
|
984
|
+
function tn(e) {
|
|
976
985
|
return e.endsWith("rem") ? Number.parseFloat(e) * 16 : Number.parseFloat(e);
|
|
977
986
|
}
|
|
978
|
-
function
|
|
987
|
+
function nn(e) {
|
|
979
988
|
return Array.isArray(e) ? e : [e];
|
|
980
989
|
}
|
|
981
|
-
function
|
|
990
|
+
function rn(e) {
|
|
982
991
|
return e || _();
|
|
983
992
|
}
|
|
984
|
-
function
|
|
985
|
-
return
|
|
993
|
+
function an(e, t = 200, n = {}) {
|
|
994
|
+
return Zt($t(t, n), e);
|
|
986
995
|
}
|
|
987
|
-
function
|
|
988
|
-
let r = C(P(e)), i =
|
|
996
|
+
function on(e, t = 200, n = {}) {
|
|
997
|
+
let r = C(P(e)), i = an(() => {
|
|
989
998
|
r.value = e.value;
|
|
990
999
|
}, t, n);
|
|
991
1000
|
return H(e, () => i()), g(r);
|
|
992
1001
|
}
|
|
993
|
-
function
|
|
994
|
-
let { eventFilter: r =
|
|
995
|
-
return H(e,
|
|
1002
|
+
function sn(e, t, n = {}) {
|
|
1003
|
+
let { eventFilter: r = Qt, ...i } = n;
|
|
1004
|
+
return H(e, Zt(r, t), i);
|
|
996
1005
|
}
|
|
997
|
-
function
|
|
998
|
-
|
|
1006
|
+
function cn(e, t = !0, n) {
|
|
1007
|
+
rn(n) ? r(e, n) : t ? e() : m(e);
|
|
999
1008
|
}
|
|
1000
|
-
function
|
|
1009
|
+
function ln(e, t = 1e3, r = {}) {
|
|
1001
1010
|
let { immediate: i = !0, immediateCallback: a = !1 } = r, o = null, s = n(!1);
|
|
1002
1011
|
function c() {
|
|
1003
1012
|
o &&= (clearInterval(o), null);
|
|
@@ -1009,15 +1018,15 @@ function sn(e, t = 1e3, r = {}) {
|
|
|
1009
1018
|
let n = P(t);
|
|
1010
1019
|
n <= 0 || (s.value = !0, a && e(), c(), s.value && (o = setInterval(e, n)));
|
|
1011
1020
|
}
|
|
1012
|
-
return i &&
|
|
1013
|
-
s.value &&
|
|
1014
|
-
})),
|
|
1021
|
+
return i && Ut && d(), (u(t) || typeof t == "function") && zt(H(t, () => {
|
|
1022
|
+
s.value && Ut && d();
|
|
1023
|
+
})), zt(l), {
|
|
1015
1024
|
isActive: g(s),
|
|
1016
1025
|
pause: l,
|
|
1017
1026
|
resume: d
|
|
1018
1027
|
};
|
|
1019
1028
|
}
|
|
1020
|
-
function
|
|
1029
|
+
function un(e, t, r = {}) {
|
|
1021
1030
|
let { immediate: i = !0, immediateCallback: a = !1 } = r, o = n(!1), s;
|
|
1022
1031
|
function c() {
|
|
1023
1032
|
s &&= (clearTimeout(s), void 0);
|
|
@@ -1030,13 +1039,13 @@ function cn(e, t, r = {}) {
|
|
|
1030
1039
|
o.value = !1, s = void 0, e(...n);
|
|
1031
1040
|
}, P(t));
|
|
1032
1041
|
}
|
|
1033
|
-
return i && (o.value = !0,
|
|
1042
|
+
return i && (o.value = !0, Ut && u()), zt(l), {
|
|
1034
1043
|
isPending: g(o),
|
|
1035
1044
|
start: u,
|
|
1036
1045
|
stop: l
|
|
1037
1046
|
};
|
|
1038
1047
|
}
|
|
1039
|
-
function
|
|
1048
|
+
function dn(e = !1, t = {}) {
|
|
1040
1049
|
let { truthyValue: r = !0, falsyValue: i = !1 } = t, a = u(e), o = n(e);
|
|
1041
1050
|
function s(e) {
|
|
1042
1051
|
if (arguments.length) return o.value = e, o.value;
|
|
@@ -1047,14 +1056,14 @@ function ln(e = !1, t = {}) {
|
|
|
1047
1056
|
}
|
|
1048
1057
|
return a ? s : [o, s];
|
|
1049
1058
|
}
|
|
1050
|
-
function
|
|
1059
|
+
function fn(e, t, n = {}) {
|
|
1051
1060
|
let { debounce: r = 0, maxWait: i = void 0, ...a } = n;
|
|
1052
|
-
return
|
|
1061
|
+
return sn(e, t, {
|
|
1053
1062
|
...a,
|
|
1054
|
-
eventFilter:
|
|
1063
|
+
eventFilter: $t(r, { maxWait: i })
|
|
1055
1064
|
});
|
|
1056
1065
|
}
|
|
1057
|
-
function
|
|
1066
|
+
function pn(e, t, n) {
|
|
1058
1067
|
return H(e, t, {
|
|
1059
1068
|
...n,
|
|
1060
1069
|
immediate: !0
|
|
@@ -1062,41 +1071,41 @@ function dn(e, t, n) {
|
|
|
1062
1071
|
}
|
|
1063
1072
|
//#endregion
|
|
1064
1073
|
//#region ../../node_modules/.pnpm/@vueuse+core@14.3.0_vue@3.5.39_typescript@6.0.3_/node_modules/@vueuse/core/dist/index.js
|
|
1065
|
-
var
|
|
1074
|
+
var mn = Ut ? window : void 0, hn = Ut ? window.document : void 0, gn = Ut ? window.navigator : void 0;
|
|
1066
1075
|
function K(e) {
|
|
1067
1076
|
let t = P(e);
|
|
1068
1077
|
return t?.$el ?? t;
|
|
1069
1078
|
}
|
|
1070
1079
|
function q(...e) {
|
|
1071
1080
|
let t = (e, t, n, r) => (e.addEventListener(t, n, r), () => e.removeEventListener(t, n, r)), n = O(() => {
|
|
1072
|
-
let t =
|
|
1081
|
+
let t = nn(P(e[0])).filter((e) => e != null);
|
|
1073
1082
|
return t.every((e) => typeof e != "string") ? t : void 0;
|
|
1074
1083
|
});
|
|
1075
|
-
return
|
|
1076
|
-
n.value?.map((e) => K(e)) ?? [
|
|
1077
|
-
|
|
1078
|
-
|
|
1084
|
+
return pn(() => [
|
|
1085
|
+
n.value?.map((e) => K(e)) ?? [mn].filter((e) => e != null),
|
|
1086
|
+
nn(P(n.value ? e[1] : e[0])),
|
|
1087
|
+
nn(j(n.value ? e[2] : e[1])),
|
|
1079
1088
|
P(n.value ? e[3] : e[2])
|
|
1080
1089
|
], ([e, n, r, i], a, o) => {
|
|
1081
1090
|
if (!e?.length || !n?.length || !r?.length) return;
|
|
1082
|
-
let s =
|
|
1091
|
+
let s = Kt(i) ? { ...i } : i, c = e.flatMap((e) => n.flatMap((n) => r.map((r) => t(e, n, r, s))));
|
|
1083
1092
|
o(() => {
|
|
1084
1093
|
c.forEach((e) => e());
|
|
1085
1094
|
});
|
|
1086
1095
|
}, { flush: "post" });
|
|
1087
1096
|
}
|
|
1088
|
-
var
|
|
1089
|
-
function
|
|
1090
|
-
let { window: r =
|
|
1097
|
+
var _n = !1;
|
|
1098
|
+
function vn(e, t, n = {}) {
|
|
1099
|
+
let { window: r = mn, ignore: i = [], capture: a = !0, detectIframe: o = !1, controls: s = !1 } = n;
|
|
1091
1100
|
if (!r) return s ? {
|
|
1092
|
-
stop:
|
|
1093
|
-
cancel:
|
|
1094
|
-
trigger:
|
|
1095
|
-
} :
|
|
1096
|
-
if (
|
|
1097
|
-
|
|
1101
|
+
stop: qt,
|
|
1102
|
+
cancel: qt,
|
|
1103
|
+
trigger: qt
|
|
1104
|
+
} : qt;
|
|
1105
|
+
if (Yt && !_n) {
|
|
1106
|
+
_n = !0;
|
|
1098
1107
|
let e = { passive: !0 };
|
|
1099
|
-
Array.from(r.document.body.children).forEach((t) => t.addEventListener("click",
|
|
1108
|
+
Array.from(r.document.body.children).forEach((t) => t.addEventListener("click", qt, e)), r.document.documentElement.addEventListener("click", qt, e);
|
|
1100
1109
|
}
|
|
1101
1110
|
let c = !0, l = (e) => P(i).some((t) => {
|
|
1102
1111
|
if (typeof t == "string") return Array.from(r.document.querySelectorAll(t)).some((t) => t === e.target || e.composedPath().includes(t));
|
|
@@ -1153,21 +1162,21 @@ function gn(e, t, n = {}) {
|
|
|
1153
1162
|
}
|
|
1154
1163
|
} : h;
|
|
1155
1164
|
}
|
|
1156
|
-
function
|
|
1165
|
+
function yn() {
|
|
1157
1166
|
let e = n(!1), t = _();
|
|
1158
1167
|
return t && r(() => {
|
|
1159
1168
|
e.value = !0;
|
|
1160
1169
|
}, t), e;
|
|
1161
1170
|
}
|
|
1162
1171
|
/* @__NO_SIDE_EFFECTS__ */
|
|
1163
|
-
function
|
|
1164
|
-
return
|
|
1172
|
+
function bn(e) {
|
|
1173
|
+
return yn(), O(() => !!e());
|
|
1165
1174
|
}
|
|
1166
|
-
function
|
|
1167
|
-
let { window: r =
|
|
1175
|
+
function xn(e, t, n = {}) {
|
|
1176
|
+
let { window: r = mn, ...i } = n, a, o = /* @__PURE__ */ bn(() => r && "MutationObserver" in r), s = () => {
|
|
1168
1177
|
a &&= (a.disconnect(), void 0);
|
|
1169
1178
|
}, c = H(O(() => {
|
|
1170
|
-
let t =
|
|
1179
|
+
let t = nn(P(e)).map(K).filter(Wt);
|
|
1171
1180
|
return new Set(t);
|
|
1172
1181
|
}), (e) => {
|
|
1173
1182
|
s(), o.value && e.size && (a = new MutationObserver(t), e.forEach((e) => a.observe(e, i)));
|
|
@@ -1177,25 +1186,25 @@ function yn(e, t, n = {}) {
|
|
|
1177
1186
|
}), l = () => a?.takeRecords(), u = () => {
|
|
1178
1187
|
c(), s();
|
|
1179
1188
|
};
|
|
1180
|
-
return
|
|
1189
|
+
return zt(u), {
|
|
1181
1190
|
isSupported: o,
|
|
1182
1191
|
stop: u,
|
|
1183
1192
|
takeRecords: l
|
|
1184
1193
|
};
|
|
1185
1194
|
}
|
|
1186
|
-
var
|
|
1195
|
+
var Sn = Symbol("vueuse-ssr-width");
|
|
1187
1196
|
/* @__NO_SIDE_EFFECTS__ */
|
|
1188
|
-
function
|
|
1189
|
-
let e = le() ?
|
|
1197
|
+
function Cn() {
|
|
1198
|
+
let e = le() ? Ht(Sn, null) : null;
|
|
1190
1199
|
return typeof e == "number" ? e : void 0;
|
|
1191
1200
|
}
|
|
1192
|
-
function
|
|
1193
|
-
let { window: r =
|
|
1201
|
+
function wn(e, t = {}) {
|
|
1202
|
+
let { window: r = mn, ssrWidth: a = /* @__PURE__ */ Cn() } = t, o = /* @__PURE__ */ bn(() => r && "matchMedia" in r && typeof r.matchMedia == "function"), s = n(typeof a == "number"), c = n(), l = n(!1);
|
|
1194
1203
|
return i(() => {
|
|
1195
1204
|
if (s.value) {
|
|
1196
1205
|
s.value = !o.value, l.value = P(e).split(",").some((e) => {
|
|
1197
1206
|
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);
|
|
1198
|
-
return n && i && (i = a >=
|
|
1207
|
+
return n && i && (i = a >= tn(n[1])), r && i && (i = a <= tn(r[1])), t ? !i : i;
|
|
1199
1208
|
});
|
|
1200
1209
|
return;
|
|
1201
1210
|
}
|
|
@@ -1204,12 +1213,12 @@ function Sn(e, t = {}) {
|
|
|
1204
1213
|
l.value = e.matches;
|
|
1205
1214
|
}, { passive: !0 }), O(() => l.value);
|
|
1206
1215
|
}
|
|
1207
|
-
function
|
|
1208
|
-
let { controls: r = !1, navigator: i =
|
|
1216
|
+
function Tn(e, t = {}) {
|
|
1217
|
+
let { controls: r = !1, navigator: i = gn } = t, a = /* @__PURE__ */ bn(() => i && "permissions" in i), o = n(), s = typeof e == "string" ? { name: e } : e, c = n(), l = () => {
|
|
1209
1218
|
c.value = o.value?.state ?? "prompt";
|
|
1210
1219
|
};
|
|
1211
1220
|
q(o, "change", l, { passive: !0 });
|
|
1212
|
-
let u =
|
|
1221
|
+
let u = en(async () => {
|
|
1213
1222
|
if (a.value) {
|
|
1214
1223
|
if (!o.value) try {
|
|
1215
1224
|
o.value = await i.permissions.query(s);
|
|
@@ -1227,8 +1236,8 @@ function Cn(e, t = {}) {
|
|
|
1227
1236
|
query: u
|
|
1228
1237
|
} : c;
|
|
1229
1238
|
}
|
|
1230
|
-
function
|
|
1231
|
-
let { navigator: t =
|
|
1239
|
+
function En(e = {}) {
|
|
1240
|
+
let { navigator: t = gn, read: r = !1, source: i, copiedDuring: a = 1500, legacy: o = !1 } = e, s = /* @__PURE__ */ bn(() => t && "clipboard" in t), c = Tn("clipboard-read"), l = Tn("clipboard-write"), u = O(() => s.value || o), d = n(""), f = n(!1), p = n(!1), m = un(() => f.value = !1, a, { immediate: !1 }), h = 0;
|
|
1232
1241
|
async function _() {
|
|
1233
1242
|
let e = !(s.value && S(c.value));
|
|
1234
1243
|
if (!e) try {
|
|
@@ -1280,15 +1289,15 @@ function wn(e = {}) {
|
|
|
1280
1289
|
copy: v
|
|
1281
1290
|
};
|
|
1282
1291
|
}
|
|
1283
|
-
function
|
|
1292
|
+
function Dn(e, t = {}) {
|
|
1284
1293
|
let r = n(!1), i = n(null), a = 0, o = !0;
|
|
1285
|
-
if (
|
|
1294
|
+
if (Ut) {
|
|
1286
1295
|
let n = typeof t == "function" ? { onDrop: t } : t, s = n.multiple ?? !0, c = n.preventDefaultForUnhandled ?? !1, l = (e) => {
|
|
1287
1296
|
let t = Array.from(e.dataTransfer?.files ?? []);
|
|
1288
1297
|
return t.length === 0 ? null : s ? t : [t[0]];
|
|
1289
1298
|
}, u = (e) => {
|
|
1290
1299
|
let t = j(n.dataTypes);
|
|
1291
|
-
return typeof t == "function" ? t(e) : t?.length
|
|
1300
|
+
return typeof t == "function" ? t(e) : !t?.length || e.length !== 0 && e.every((e) => t.some((t) => e.includes(t)));
|
|
1292
1301
|
}, d = (e) => n.checkValidity ? n.checkValidity(e) : u(Array.from(e ?? []).map((e) => e.type)) && (s || e.length <= 1), f = () => /^(?:(?!chrome|android).)*safari/i.test(navigator.userAgent) && !("chrome" in window), p = (e, t) => {
|
|
1293
1302
|
let s = e.dataTransfer?.items;
|
|
1294
1303
|
if (o = (s && d(s)) ?? !1, c && e.preventDefault(), !f() && !o) {
|
|
@@ -1325,8 +1334,8 @@ function Tn(e, t = {}) {
|
|
|
1325
1334
|
isOverDropZone: r
|
|
1326
1335
|
};
|
|
1327
1336
|
}
|
|
1328
|
-
function
|
|
1329
|
-
let { window: r =
|
|
1337
|
+
function On(e, t, n = {}) {
|
|
1338
|
+
let { window: r = mn, ...i } = n, a, o = /* @__PURE__ */ bn(() => r && "ResizeObserver" in r), s = () => {
|
|
1330
1339
|
a &&= (a.disconnect(), void 0);
|
|
1331
1340
|
}, c = H(O(() => {
|
|
1332
1341
|
let t = P(e);
|
|
@@ -1342,12 +1351,12 @@ function En(e, t, n = {}) {
|
|
|
1342
1351
|
}), l = () => {
|
|
1343
1352
|
s(), c();
|
|
1344
1353
|
};
|
|
1345
|
-
return
|
|
1354
|
+
return zt(l), {
|
|
1346
1355
|
isSupported: o,
|
|
1347
1356
|
stop: l
|
|
1348
1357
|
};
|
|
1349
1358
|
}
|
|
1350
|
-
function
|
|
1359
|
+
function kn(e, t = {}) {
|
|
1351
1360
|
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);
|
|
1352
1361
|
function g() {
|
|
1353
1362
|
let t = K(e);
|
|
@@ -1361,10 +1370,10 @@ function Dn(e, t = {}) {
|
|
|
1361
1370
|
function _() {
|
|
1362
1371
|
s === "sync" ? g() : s === "next-frame" && requestAnimationFrame(() => g());
|
|
1363
1372
|
}
|
|
1364
|
-
return
|
|
1373
|
+
return On(e, _), H(() => K(e), (e) => !e && _()), xn(e, _, { attributeFilter: ["style", "class"] }), a && q("scroll", _, {
|
|
1365
1374
|
capture: !0,
|
|
1366
1375
|
passive: !0
|
|
1367
|
-
}), i && q("resize", _, { passive: !0 }),
|
|
1376
|
+
}), i && q("resize", _, { passive: !0 }), cn(() => {
|
|
1368
1377
|
o && _();
|
|
1369
1378
|
}), {
|
|
1370
1379
|
height: c,
|
|
@@ -1378,8 +1387,8 @@ function Dn(e, t = {}) {
|
|
|
1378
1387
|
update: _
|
|
1379
1388
|
};
|
|
1380
1389
|
}
|
|
1381
|
-
function
|
|
1382
|
-
let { root: i, rootMargin: a, threshold: o = 0, window: s =
|
|
1390
|
+
function An(e, t, r = {}) {
|
|
1391
|
+
let { root: i, rootMargin: a, threshold: o = 0, window: s = mn, immediate: c = !0 } = r, l = /* @__PURE__ */ bn(() => s && "IntersectionObserver" in s), u = O(() => nn(P(e)).map(K).filter(Wt)), d = qt, f = n(c), p = l.value ? H(() => [
|
|
1383
1392
|
u.value,
|
|
1384
1393
|
K(i),
|
|
1385
1394
|
P(a),
|
|
@@ -1392,15 +1401,15 @@ function On(e, t, r = {}) {
|
|
|
1392
1401
|
threshold: o
|
|
1393
1402
|
});
|
|
1394
1403
|
e.forEach((e) => e && i.observe(e)), d = () => {
|
|
1395
|
-
i.disconnect(), d =
|
|
1404
|
+
i.disconnect(), d = qt;
|
|
1396
1405
|
};
|
|
1397
1406
|
}, {
|
|
1398
1407
|
immediate: c,
|
|
1399
1408
|
flush: "post"
|
|
1400
|
-
}) :
|
|
1409
|
+
}) : qt, m = () => {
|
|
1401
1410
|
d(), p(), f.value = !1;
|
|
1402
1411
|
};
|
|
1403
|
-
return
|
|
1412
|
+
return zt(m), {
|
|
1404
1413
|
isSupported: l,
|
|
1405
1414
|
isActive: f,
|
|
1406
1415
|
pause() {
|
|
@@ -1412,21 +1421,21 @@ function On(e, t, r = {}) {
|
|
|
1412
1421
|
stop: m
|
|
1413
1422
|
};
|
|
1414
1423
|
}
|
|
1415
|
-
var
|
|
1424
|
+
var jn = {
|
|
1416
1425
|
multiple: !0,
|
|
1417
1426
|
accept: "*",
|
|
1418
1427
|
reset: !1,
|
|
1419
1428
|
directory: !1
|
|
1420
1429
|
};
|
|
1421
|
-
function
|
|
1430
|
+
function Mn(e) {
|
|
1422
1431
|
if (!e) return null;
|
|
1423
1432
|
if (e instanceof FileList) return e;
|
|
1424
1433
|
let t = new DataTransfer();
|
|
1425
1434
|
for (let n of e) t.items.add(n);
|
|
1426
1435
|
return t.files;
|
|
1427
1436
|
}
|
|
1428
|
-
function
|
|
1429
|
-
let { document: t =
|
|
1437
|
+
function Nn(e = {}) {
|
|
1438
|
+
let { document: t = hn } = e, n = C(Mn(e.initialFiles)), { on: r, trigger: a } = Bt(), { on: o, trigger: s } = Bt(), c = O(() => {
|
|
1430
1439
|
let r = K(e.input) ?? (t ? t.createElement("input") : void 0);
|
|
1431
1440
|
return r && (r.type = "file", r.onchange = (e) => {
|
|
1432
1441
|
n.value = e.target.files, a(n.value);
|
|
@@ -1437,7 +1446,7 @@ function jn(e = {}) {
|
|
|
1437
1446
|
n.value = null, c.value && c.value.value && (c.value.value = "", a(null));
|
|
1438
1447
|
}, u = (e) => {
|
|
1439
1448
|
let t = c.value;
|
|
1440
|
-
t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory),
|
|
1449
|
+
t && (t.multiple = P(e.multiple), t.accept = P(e.accept), t.webkitdirectory = P(e.directory), Jt(e, "capture") && (t.capture = P(e.capture)));
|
|
1441
1450
|
};
|
|
1442
1451
|
return i(() => {
|
|
1443
1452
|
u(e);
|
|
@@ -1447,7 +1456,7 @@ function jn(e = {}) {
|
|
|
1447
1456
|
let n = c.value;
|
|
1448
1457
|
if (!n) return;
|
|
1449
1458
|
let r = {
|
|
1450
|
-
...
|
|
1459
|
+
...jn,
|
|
1451
1460
|
...e,
|
|
1452
1461
|
...t
|
|
1453
1462
|
};
|
|
@@ -1460,26 +1469,26 @@ function jn(e = {}) {
|
|
|
1460
1469
|
}
|
|
1461
1470
|
//#endregion
|
|
1462
1471
|
//#region src/utils/activeEditorTracker.ts
|
|
1463
|
-
var
|
|
1464
|
-
function
|
|
1465
|
-
let e = ++
|
|
1466
|
-
return
|
|
1472
|
+
var Pn = /* @__PURE__ */ new Set(), Fn = 0, In = 0;
|
|
1473
|
+
function Ln() {
|
|
1474
|
+
let e = ++In;
|
|
1475
|
+
return Pn.add(e), Fn === 0 && (Fn = e), {
|
|
1467
1476
|
id: e,
|
|
1468
|
-
isActive: () =>
|
|
1477
|
+
isActive: () => Pn.size <= 1 || Fn === e,
|
|
1469
1478
|
claim: () => {
|
|
1470
|
-
|
|
1479
|
+
Fn = e;
|
|
1471
1480
|
},
|
|
1472
1481
|
dispose: () => {
|
|
1473
|
-
if (
|
|
1474
|
-
let e = Array.from(
|
|
1475
|
-
|
|
1482
|
+
if (Pn.delete(e), Fn === e) {
|
|
1483
|
+
let e = Array.from(Pn);
|
|
1484
|
+
Fn = e[e.length - 1] ?? 0;
|
|
1476
1485
|
}
|
|
1477
1486
|
}
|
|
1478
1487
|
};
|
|
1479
1488
|
}
|
|
1480
1489
|
//#endregion
|
|
1481
1490
|
//#region src/keys.ts
|
|
1482
|
-
var
|
|
1491
|
+
var Rn = Symbol("translations"), zn = Symbol("editor"), Bn = Symbol("history"), Vn = Symbol("blockActions"), Hn = Symbol("conditionPreview"), Un = Symbol("fontsManager"), Wn = Symbol("themeStyles"), Gn = Symbol("tplUiTheme"), Kn = Symbol("blockDefaults"), qn = Symbol("blockRegistry"), Jn = Symbol("customBlockDefinitions"), Yn = Symbol("paletteBlocks"), Xn = Symbol("customBlockStylesheets"), Zn = Symbol("mergeTags"), Qn = Symbol("mergeTagSyntax"), $n = Symbol("onRequestMergeTag"), er = Symbol("mergeTagAutocomplete"), tr = Symbol("mergeTagPicker"), nr = Symbol("logicTags"), rr = Symbol("logicPairs"), ir = Symbol("logicPicker"), ar = Symbol("onRequestLogic"), or = Symbol("onRequestMedia"), sr = Symbol("displayConditions"), cr = Symbol("allowCustomConditions"), lr = Symbol("capabilities"), ur = Symbol("keyboardReorder"), dr = Symbol("templateLint"), fr = Symbol("editorRoot"), pr = Symbol("popoverRoot"), mr = Symbol("authManager"), hr = Symbol("aiConfig"), gr = Symbol("comments"), _r = Symbol("savedModulesHeadless"), vr = Symbol("scoring"), yr = Symbol("cloudTranslations");
|
|
1483
1492
|
function J(e, t) {
|
|
1484
1493
|
let n = v(e, null);
|
|
1485
1494
|
if (n == null) throw Error(`${t} requires a provider for ${e.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
|
|
@@ -1487,7 +1496,7 @@ function J(e, t) {
|
|
|
1487
1496
|
}
|
|
1488
1497
|
//#endregion
|
|
1489
1498
|
//#region src/composables/useMergeTagPicker.ts
|
|
1490
|
-
function
|
|
1499
|
+
function br() {
|
|
1491
1500
|
let e = C(!1), t = C([]), n = null;
|
|
1492
1501
|
function r(r) {
|
|
1493
1502
|
if (n) {
|
|
@@ -1517,7 +1526,7 @@ function vr() {
|
|
|
1517
1526
|
}
|
|
1518
1527
|
//#endregion
|
|
1519
1528
|
//#region src/composables/useLogicTagPicker.ts
|
|
1520
|
-
function
|
|
1529
|
+
function xr() {
|
|
1521
1530
|
let e = C(!1), t = C([]), n = C([]), r = null;
|
|
1522
1531
|
function i(i, a) {
|
|
1523
1532
|
if (r) {
|
|
@@ -1548,17 +1557,17 @@ function yr() {
|
|
|
1548
1557
|
}
|
|
1549
1558
|
//#endregion
|
|
1550
1559
|
//#region src/composables/useTemplateLint.ts
|
|
1551
|
-
function
|
|
1552
|
-
return e ? e.disabled === !0
|
|
1560
|
+
function Sr(e) {
|
|
1561
|
+
return e ? e.disabled === !0 || e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
1553
1562
|
}
|
|
1554
|
-
function
|
|
1555
|
-
let t = C([]), r = C(!1), i = C(!1), a = n(null), o =
|
|
1563
|
+
function Cr(e) {
|
|
1564
|
+
let t = C([]), r = C(!1), i = C(!1), a = n(null), o = Sr(e.options), s = null, c = !1;
|
|
1556
1565
|
o || l();
|
|
1557
1566
|
async function l() {
|
|
1558
1567
|
try {
|
|
1559
|
-
let t = await import("./quality-
|
|
1568
|
+
let t = await import("./quality-DJZ_fqc2.js").then((e) => e.t);
|
|
1560
1569
|
if (c) return;
|
|
1561
|
-
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s =
|
|
1570
|
+
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = fn(e.content, u, {
|
|
1562
1571
|
debounce: e.debounce ?? 500,
|
|
1563
1572
|
deep: !0
|
|
1564
1573
|
});
|
|
@@ -1594,7 +1603,7 @@ function xr(e) {
|
|
|
1594
1603
|
//#endregion
|
|
1595
1604
|
//#region src/composables/useI18n.ts
|
|
1596
1605
|
function Y(e) {
|
|
1597
|
-
let t = e ?? v(
|
|
1606
|
+
let t = e ?? v(Rn, null);
|
|
1598
1607
|
if (!t) throw Error("useI18n() requires a translations provider. Ensure the component is a descendant of Editor or CloudEditor.");
|
|
1599
1608
|
let n = u(t) ? t.value : t;
|
|
1600
1609
|
function r(e, t) {
|
|
@@ -1607,12 +1616,12 @@ function Y(e) {
|
|
|
1607
1616
|
}
|
|
1608
1617
|
//#endregion
|
|
1609
1618
|
//#region src/utils/blockTypeLabels.ts
|
|
1610
|
-
function
|
|
1619
|
+
function wr(e, t) {
|
|
1611
1620
|
return t.blocks[e] ?? e;
|
|
1612
1621
|
}
|
|
1613
1622
|
//#endregion
|
|
1614
1623
|
//#region src/composables/useKeyboardReorder.ts
|
|
1615
|
-
function
|
|
1624
|
+
function Tr(e, t) {
|
|
1616
1625
|
let n = C(null), r = C(""), i = null;
|
|
1617
1626
|
function a(t) {
|
|
1618
1627
|
let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
|
|
@@ -1639,7 +1648,7 @@ function Cr(e, t) {
|
|
|
1639
1648
|
let r = a(n);
|
|
1640
1649
|
if (!r) return "";
|
|
1641
1650
|
let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
|
|
1642
|
-
return i ?
|
|
1651
|
+
return i ? wr(i.type, t.t) : "";
|
|
1643
1652
|
}
|
|
1644
1653
|
function s(t, n) {
|
|
1645
1654
|
return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
|
|
@@ -1708,13 +1717,13 @@ function Cr(e, t) {
|
|
|
1708
1717
|
}
|
|
1709
1718
|
//#endregion
|
|
1710
1719
|
//#region src/composables/useUiTheme.ts
|
|
1711
|
-
function
|
|
1712
|
-
let t =
|
|
1720
|
+
function Er(e) {
|
|
1721
|
+
let t = wn("(prefers-color-scheme: dark)");
|
|
1713
1722
|
return { resolvedTheme: O(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
|
|
1714
1723
|
}
|
|
1715
1724
|
//#endregion
|
|
1716
1725
|
//#region src/composables/useThemeStyles.ts
|
|
1717
|
-
var
|
|
1726
|
+
var Dr = {
|
|
1718
1727
|
bg: "--tpl-bg",
|
|
1719
1728
|
bgElevated: "--tpl-bg-elevated",
|
|
1720
1729
|
bgHover: "--tpl-bg-hover",
|
|
@@ -1738,10 +1747,10 @@ var Tr = {
|
|
|
1738
1747
|
dangerLight: "--tpl-danger-light",
|
|
1739
1748
|
canvasBg: "--tpl-canvas-bg"
|
|
1740
1749
|
};
|
|
1741
|
-
function
|
|
1750
|
+
function Or({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
1742
1751
|
return { themeStyles: O(() => {
|
|
1743
1752
|
let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
|
|
1744
|
-
if (a) for (let [e, t] of Object.entries(
|
|
1753
|
+
if (a) for (let [e, t] of Object.entries(Dr)) {
|
|
1745
1754
|
let n = a[e];
|
|
1746
1755
|
n && (r[t] = n);
|
|
1747
1756
|
}
|
|
@@ -1750,27 +1759,27 @@ function Er({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
1750
1759
|
}
|
|
1751
1760
|
//#endregion
|
|
1752
1761
|
//#region src/utils/logger.ts
|
|
1753
|
-
var
|
|
1754
|
-
function
|
|
1762
|
+
var kr = "[Templatical]";
|
|
1763
|
+
function Ar() {
|
|
1755
1764
|
return typeof process < "u" && !0;
|
|
1756
1765
|
}
|
|
1757
|
-
var
|
|
1766
|
+
var jr = {
|
|
1758
1767
|
warn(...e) {
|
|
1759
|
-
console.warn(
|
|
1768
|
+
console.warn(kr, ...e);
|
|
1760
1769
|
},
|
|
1761
1770
|
error(...e) {
|
|
1762
|
-
console.error(
|
|
1771
|
+
console.error(kr, ...e);
|
|
1763
1772
|
},
|
|
1764
1773
|
debug(...e) {
|
|
1765
|
-
|
|
1774
|
+
Ar() || console.debug(kr, ...e);
|
|
1766
1775
|
},
|
|
1767
1776
|
info(...e) {
|
|
1768
|
-
|
|
1777
|
+
Ar() || console.info(kr, ...e);
|
|
1769
1778
|
}
|
|
1770
1779
|
};
|
|
1771
1780
|
//#endregion
|
|
1772
1781
|
//#region src/composables/useBlockRegistry.ts
|
|
1773
|
-
function
|
|
1782
|
+
function Mr() {
|
|
1774
1783
|
let e = n(/* @__PURE__ */ new Map());
|
|
1775
1784
|
function t(t, n) {
|
|
1776
1785
|
e.value.set(t, n), oe(e);
|
|
@@ -1804,13 +1813,13 @@ function Ar() {
|
|
|
1804
1813
|
let t = o(e.customType);
|
|
1805
1814
|
if (!t) return s("Block definition not found");
|
|
1806
1815
|
try {
|
|
1807
|
-
let { Liquid: n } = await import("./liquid.browser-
|
|
1816
|
+
let { Liquid: n } = await import("./liquid.browser-BJOEu6Cg.js");
|
|
1808
1817
|
return await new n({
|
|
1809
1818
|
strictVariables: !1,
|
|
1810
1819
|
strictFilters: !1
|
|
1811
1820
|
}).parseAndRender(t.template, e.fieldValues);
|
|
1812
1821
|
} catch (t) {
|
|
1813
|
-
return
|
|
1822
|
+
return jr.error(`Failed to render custom block "${e.customType}":`, t), s(`Render error: ${e.customType}`);
|
|
1814
1823
|
}
|
|
1815
1824
|
}
|
|
1816
1825
|
function l(t) {
|
|
@@ -1828,9 +1837,9 @@ function Ar() {
|
|
|
1828
1837
|
}
|
|
1829
1838
|
//#endregion
|
|
1830
1839
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
1831
|
-
function
|
|
1840
|
+
function Nr(e, t) {
|
|
1832
1841
|
return O(() => {
|
|
1833
|
-
let n =
|
|
1842
|
+
let n = Pr(e.value.blocks);
|
|
1834
1843
|
if (n.size === 0) return [];
|
|
1835
1844
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
1836
1845
|
for (let e of n) {
|
|
@@ -1842,11 +1851,11 @@ function jr(e, t) {
|
|
|
1842
1851
|
return i;
|
|
1843
1852
|
});
|
|
1844
1853
|
}
|
|
1845
|
-
function
|
|
1854
|
+
function Pr(e) {
|
|
1846
1855
|
let t = /* @__PURE__ */ new Set();
|
|
1847
|
-
return
|
|
1856
|
+
return Fr(e, t), t;
|
|
1848
1857
|
}
|
|
1849
|
-
function
|
|
1858
|
+
function Fr(e, t) {
|
|
1850
1859
|
for (let n of e) {
|
|
1851
1860
|
if (De(n)) {
|
|
1852
1861
|
t.add(n.customType);
|
|
@@ -1855,13 +1864,13 @@ function Nr(e, t) {
|
|
|
1855
1864
|
if (n.type === "section") {
|
|
1856
1865
|
let e = n.children;
|
|
1857
1866
|
if (!e) continue;
|
|
1858
|
-
for (let n of e)
|
|
1867
|
+
for (let n of e) Fr(n, t);
|
|
1859
1868
|
}
|
|
1860
1869
|
}
|
|
1861
1870
|
}
|
|
1862
1871
|
//#endregion
|
|
1863
1872
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
1864
|
-
var
|
|
1873
|
+
var Ir = [
|
|
1865
1874
|
{
|
|
1866
1875
|
type: "section",
|
|
1867
1876
|
createBlock: Ze
|
|
@@ -1915,8 +1924,8 @@ var Pr = [
|
|
|
1915
1924
|
createBlock: at
|
|
1916
1925
|
}
|
|
1917
1926
|
];
|
|
1918
|
-
function
|
|
1919
|
-
for (let n of
|
|
1927
|
+
function Lr(e, t) {
|
|
1928
|
+
for (let n of Ir) {
|
|
1920
1929
|
let r = t[n.type];
|
|
1921
1930
|
r && e.registerBuiltIn(n.type, {
|
|
1922
1931
|
component: r,
|
|
@@ -1926,7 +1935,7 @@ function Fr(e, t) {
|
|
|
1926
1935
|
}
|
|
1927
1936
|
//#endregion
|
|
1928
1937
|
//#region src/utils/keyboardShortcuts.ts
|
|
1929
|
-
function
|
|
1938
|
+
function Rr(e) {
|
|
1930
1939
|
for (let t of e.composedPath()) {
|
|
1931
1940
|
if (!(t instanceof HTMLElement)) continue;
|
|
1932
1941
|
if (t.isContentEditable) return !0;
|
|
@@ -1935,14 +1944,14 @@ function Ir(e) {
|
|
|
1935
1944
|
}
|
|
1936
1945
|
return !1;
|
|
1937
1946
|
}
|
|
1938
|
-
function
|
|
1947
|
+
function zr(e, t) {
|
|
1939
1948
|
let n = e.metaKey || e.ctrlKey;
|
|
1940
1949
|
if (n && e.key.toLowerCase() === "s") {
|
|
1941
1950
|
e.preventDefault(), t.onSave?.();
|
|
1942
1951
|
return;
|
|
1943
1952
|
}
|
|
1944
1953
|
if (n && e.key.toLowerCase() === "z") {
|
|
1945
|
-
if (
|
|
1954
|
+
if (Rr(e)) return;
|
|
1946
1955
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
1947
1956
|
return;
|
|
1948
1957
|
}
|
|
@@ -1950,11 +1959,51 @@ function Lr(e, t) {
|
|
|
1950
1959
|
t.selectBlock(null);
|
|
1951
1960
|
return;
|
|
1952
1961
|
}
|
|
1953
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
1962
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Rr(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
1954
1963
|
}
|
|
1955
1964
|
//#endregion
|
|
1956
|
-
//#region src/
|
|
1957
|
-
|
|
1965
|
+
//#region src/utils/mergeTagLabelSegments.ts
|
|
1966
|
+
function Br(e, t, n) {
|
|
1967
|
+
if (!e) return [];
|
|
1968
|
+
let r = RegExp(`(${n.value.source}|${n.logic.source})`, "g"), i = [], a = 0, o;
|
|
1969
|
+
for (; (o = r.exec(e)) !== null;) {
|
|
1970
|
+
o.index > a && i.push({
|
|
1971
|
+
type: "text",
|
|
1972
|
+
value: e.slice(a, o.index)
|
|
1973
|
+
});
|
|
1974
|
+
let r = o[0];
|
|
1975
|
+
vt(r, n) ? i.push({
|
|
1976
|
+
type: "tag",
|
|
1977
|
+
value: yt(r, t)
|
|
1978
|
+
}) : St(r, n) ? i.push({
|
|
1979
|
+
type: "tag",
|
|
1980
|
+
value: Ct(r, n)
|
|
1981
|
+
}) : i.push({
|
|
1982
|
+
type: "text",
|
|
1983
|
+
value: r
|
|
1984
|
+
}), a = o.index + r.length;
|
|
1985
|
+
}
|
|
1986
|
+
return a < e.length && i.push({
|
|
1987
|
+
type: "text",
|
|
1988
|
+
value: e.slice(a)
|
|
1989
|
+
}), i;
|
|
1990
|
+
}
|
|
1991
|
+
//#endregion
|
|
1992
|
+
//#region src/components/MergeTagPreviewText.vue
|
|
1993
|
+
var Vr = B({
|
|
1994
|
+
name: "MergeTagPreviewText",
|
|
1995
|
+
props: { text: {
|
|
1996
|
+
type: String,
|
|
1997
|
+
required: !0
|
|
1998
|
+
} },
|
|
1999
|
+
setup(e) {
|
|
2000
|
+
let t = v(Zn, []), n = v(Qn, dt.liquid), r = O(() => Br(e.text, t, n));
|
|
2001
|
+
return () => r.value.map((e, t) => e.type === "tag" ? a("span", {
|
|
2002
|
+
key: t,
|
|
2003
|
+
class: "tpl-merge-tag-label"
|
|
2004
|
+
}, e.value) : e.value);
|
|
2005
|
+
}
|
|
2006
|
+
}), Hr = { class: "tpl:text-center" }, Ur = ["href"], Wr = /* @__PURE__ */ B({
|
|
1958
2007
|
__name: "ButtonBlock",
|
|
1959
2008
|
props: {
|
|
1960
2009
|
block: {},
|
|
@@ -1975,17 +2024,17 @@ var Rr = { class: "tpl:text-center" }, zr = ["href"], Br = /* @__PURE__ */ B({
|
|
|
1975
2024
|
};
|
|
1976
2025
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), t.block.width === "full" ? (e.display = "block", e.width = "100%", e.boxSizing = "border-box") : typeof t.block.width == "number" && (e.width = `${t.block.width}px`, e.boxSizing = "border-box"), e;
|
|
1977
2026
|
});
|
|
1978
|
-
return (t, r) => (f(), k("div",
|
|
2027
|
+
return (t, r) => (f(), k("div", Hr, [I("a", {
|
|
1979
2028
|
href: e.block.url || "#",
|
|
1980
2029
|
style: L(n.value),
|
|
1981
2030
|
class: "tpl:cursor-default",
|
|
1982
2031
|
onClick: r[0] ||= M(() => {}, ["prevent"])
|
|
1983
|
-
},
|
|
2032
|
+
}, [V(Vr, { text: e.block.text }, null, 8, ["text"])], 12, Ur)]));
|
|
1984
2033
|
}
|
|
1985
|
-
}),
|
|
1986
|
-
let t =
|
|
2034
|
+
}), Gr = (e) => e === "", Kr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), qr = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Jr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Yr = (e) => {
|
|
2035
|
+
let t = Jr(e);
|
|
1987
2036
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
1988
|
-
},
|
|
2037
|
+
}, Xr = {
|
|
1989
2038
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1990
2039
|
width: 24,
|
|
1991
2040
|
height: 24,
|
|
@@ -1995,35 +2044,35 @@ var Rr = { class: "tpl:text-center" }, zr = ["href"], Br = /* @__PURE__ */ B({
|
|
|
1995
2044
|
"stroke-width": 2,
|
|
1996
2045
|
"stroke-linecap": "round",
|
|
1997
2046
|
"stroke-linejoin": "round"
|
|
1998
|
-
},
|
|
1999
|
-
function
|
|
2000
|
-
return v(
|
|
2047
|
+
}, Zr = /* @__PURE__ */ Symbol("lucide-icons");
|
|
2048
|
+
function Qr() {
|
|
2049
|
+
return v(Zr, {});
|
|
2001
2050
|
}
|
|
2002
2051
|
//#endregion
|
|
2003
|
-
//#region ../../node_modules/.pnpm/@lucide+vue@1.
|
|
2004
|
-
var
|
|
2005
|
-
let { size:
|
|
2006
|
-
let e =
|
|
2007
|
-
return e ? Number(t) * 24 / Number(
|
|
2052
|
+
//#region ../../node_modules/.pnpm/@lucide+vue@1.24.0_vue@3.5.39_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
|
|
2053
|
+
var $r = ({ name: e, iconNode: t, "icon-node": n, absoluteStrokeWidth: r, "absolute-stroke-width": i, strokeWidth: o, "stroke-width": s, size: c, color: l, ...u }, { slots: d }) => {
|
|
2054
|
+
let { size: f, color: p, strokeWidth: m = 2, absoluteStrokeWidth: h = !1, class: g = "" } = Qr(), _ = O(() => {
|
|
2055
|
+
let e = Gr(r) || Gr(i) || r === !0 || i === !0 || h === !0, t = o || s || m || Xr["stroke-width"];
|
|
2056
|
+
return e ? Number(t) * 24 / Number(c ?? f ?? Xr.width) : t;
|
|
2008
2057
|
});
|
|
2009
2058
|
return a("svg", {
|
|
2010
|
-
...
|
|
2011
|
-
...
|
|
2012
|
-
width:
|
|
2013
|
-
height:
|
|
2014
|
-
stroke:
|
|
2015
|
-
"stroke-width":
|
|
2016
|
-
class:
|
|
2017
|
-
}, [...t.map((e) => a(...e)), ...
|
|
2018
|
-
}, X = (e, t) => (n, { slots: r, attrs: i }) => a(
|
|
2059
|
+
...Xr,
|
|
2060
|
+
...u,
|
|
2061
|
+
width: c ?? f ?? Xr.width,
|
|
2062
|
+
height: c ?? f ?? Xr.height,
|
|
2063
|
+
stroke: l ?? p ?? Xr.stroke,
|
|
2064
|
+
"stroke-width": _.value,
|
|
2065
|
+
class: Kr("lucide", g, ...e ? [`lucide-${qr(Yr(e))}-icon`, `lucide-${qr(e)}`] : ["lucide-icon"])
|
|
2066
|
+
}, [...(t ?? n ?? []).map((e) => a(...e)), ...d.default ? [d.default()] : []]);
|
|
2067
|
+
}, X = (e, t) => (n, { slots: r, attrs: i }) => a($r, {
|
|
2019
2068
|
...i,
|
|
2020
2069
|
...n,
|
|
2021
2070
|
iconNode: t,
|
|
2022
2071
|
name: e
|
|
2023
|
-
}, r.default ? { default: r.default } : void 0),
|
|
2072
|
+
}, r.default ? { default: r.default } : void 0), ei = X("bookmark", [["path", {
|
|
2024
2073
|
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",
|
|
2025
2074
|
key: "oz39mx"
|
|
2026
|
-
}]]),
|
|
2075
|
+
}]]), ti = X("box", [
|
|
2027
2076
|
["path", {
|
|
2028
2077
|
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",
|
|
2029
2078
|
key: "hh9hay"
|
|
@@ -2036,22 +2085,22 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2036
2085
|
d: "M12 22V12",
|
|
2037
2086
|
key: "d0xqtd"
|
|
2038
2087
|
}]
|
|
2039
|
-
]),
|
|
2088
|
+
]), ni = X("check", [["path", {
|
|
2040
2089
|
d: "M20 6 9 17l-5-5",
|
|
2041
2090
|
key: "1gmf2c"
|
|
2042
|
-
}]]),
|
|
2091
|
+
}]]), ri = X("chevron-down", [["path", {
|
|
2043
2092
|
d: "m6 9 6 6 6-6",
|
|
2044
2093
|
key: "qrunsl"
|
|
2045
|
-
}]]),
|
|
2094
|
+
}]]), ii = X("chevron-left", [["path", {
|
|
2046
2095
|
d: "m15 18-6-6 6-6",
|
|
2047
2096
|
key: "1wnfg3"
|
|
2048
|
-
}]]),
|
|
2097
|
+
}]]), ai = X("chevron-right", [["path", {
|
|
2049
2098
|
d: "m9 18 6-6-6-6",
|
|
2050
2099
|
key: "mthhwq"
|
|
2051
|
-
}]]),
|
|
2100
|
+
}]]), oi = X("chevron-up", [["path", {
|
|
2052
2101
|
d: "m18 15-6-6-6 6",
|
|
2053
2102
|
key: "153udz"
|
|
2054
|
-
}]]),
|
|
2103
|
+
}]]), si = X("circle-alert", [
|
|
2055
2104
|
["circle", {
|
|
2056
2105
|
cx: "12",
|
|
2057
2106
|
cy: "12",
|
|
@@ -2072,7 +2121,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2072
2121
|
y2: "16",
|
|
2073
2122
|
key: "4dfq90"
|
|
2074
2123
|
}]
|
|
2075
|
-
]),
|
|
2124
|
+
]), ci = X("circle-check", [["circle", {
|
|
2076
2125
|
cx: "12",
|
|
2077
2126
|
cy: "12",
|
|
2078
2127
|
r: "10",
|
|
@@ -2080,7 +2129,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2080
2129
|
}], ["path", {
|
|
2081
2130
|
d: "m9 12 2 2 4-4",
|
|
2082
2131
|
key: "dzmm74"
|
|
2083
|
-
}]]),
|
|
2132
|
+
}]]), li = X("clock", [["circle", {
|
|
2084
2133
|
cx: "12",
|
|
2085
2134
|
cy: "12",
|
|
2086
2135
|
r: "10",
|
|
@@ -2088,13 +2137,13 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2088
2137
|
}], ["path", {
|
|
2089
2138
|
d: "M12 6v6l4 2",
|
|
2090
2139
|
key: "mmk7yg"
|
|
2091
|
-
}]]),
|
|
2140
|
+
}]]), ui = X("code", [["path", {
|
|
2092
2141
|
d: "m16 18 6-6-6-6",
|
|
2093
2142
|
key: "eg8j8"
|
|
2094
2143
|
}], ["path", {
|
|
2095
2144
|
d: "m8 6-6 6 6 6",
|
|
2096
2145
|
key: "ppft3o"
|
|
2097
|
-
}]]),
|
|
2146
|
+
}]]), di = X("copy", [["rect", {
|
|
2098
2147
|
width: "14",
|
|
2099
2148
|
height: "14",
|
|
2100
2149
|
x: "8",
|
|
@@ -2105,7 +2154,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2105
2154
|
}], ["path", {
|
|
2106
2155
|
d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
|
|
2107
2156
|
key: "zix9uf"
|
|
2108
|
-
}]]),
|
|
2157
|
+
}]]), fi = X("eye-off", [
|
|
2109
2158
|
["path", {
|
|
2110
2159
|
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",
|
|
2111
2160
|
key: "ct8e1f"
|
|
@@ -2122,7 +2171,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2122
2171
|
d: "m2 2 20 20",
|
|
2123
2172
|
key: "1ooewy"
|
|
2124
2173
|
}]
|
|
2125
|
-
]),
|
|
2174
|
+
]), pi = X("eye", [["path", {
|
|
2126
2175
|
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",
|
|
2127
2176
|
key: "1nclc0"
|
|
2128
2177
|
}], ["circle", {
|
|
@@ -2130,7 +2179,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2130
2179
|
cy: "12",
|
|
2131
2180
|
r: "3",
|
|
2132
2181
|
key: "1v7zrd"
|
|
2133
|
-
}]]),
|
|
2182
|
+
}]]), mi = X("file-image", [
|
|
2134
2183
|
["path", {
|
|
2135
2184
|
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",
|
|
2136
2185
|
key: "1oefj6"
|
|
@@ -2149,7 +2198,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2149
2198
|
d: "m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22",
|
|
2150
2199
|
key: "wt3hpn"
|
|
2151
2200
|
}]
|
|
2152
|
-
]),
|
|
2201
|
+
]), hi = X("file-text", [
|
|
2153
2202
|
["path", {
|
|
2154
2203
|
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",
|
|
2155
2204
|
key: "1oefj6"
|
|
@@ -2170,10 +2219,10 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2170
2219
|
d: "M16 17H8",
|
|
2171
2220
|
key: "z1uh3a"
|
|
2172
2221
|
}]
|
|
2173
|
-
]),
|
|
2222
|
+
]), gi = X("funnel", [["path", {
|
|
2174
2223
|
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",
|
|
2175
2224
|
key: "sc7q7i"
|
|
2176
|
-
}]]),
|
|
2225
|
+
}]]), _i = X("grip-vertical", [
|
|
2177
2226
|
["circle", {
|
|
2178
2227
|
cx: "9",
|
|
2179
2228
|
cy: "12",
|
|
@@ -2210,7 +2259,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2210
2259
|
r: "1",
|
|
2211
2260
|
key: "f4zoj3"
|
|
2212
2261
|
}]
|
|
2213
|
-
]),
|
|
2262
|
+
]), vi = X("image-up", [
|
|
2214
2263
|
["path", {
|
|
2215
2264
|
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",
|
|
2216
2265
|
key: "9csbqa"
|
|
@@ -2229,7 +2278,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2229
2278
|
r: "2",
|
|
2230
2279
|
key: "af1f0g"
|
|
2231
2280
|
}]
|
|
2232
|
-
]),
|
|
2281
|
+
]), yi = X("image", [
|
|
2233
2282
|
["rect", {
|
|
2234
2283
|
width: "18",
|
|
2235
2284
|
height: "18",
|
|
@@ -2249,7 +2298,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2249
2298
|
d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
|
|
2250
2299
|
key: "1xmnt7"
|
|
2251
2300
|
}]
|
|
2252
|
-
]),
|
|
2301
|
+
]), bi = X("info", [
|
|
2253
2302
|
["circle", {
|
|
2254
2303
|
cx: "12",
|
|
2255
2304
|
cy: "12",
|
|
@@ -2264,31 +2313,31 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2264
2313
|
d: "M12 8h.01",
|
|
2265
2314
|
key: "e9boi3"
|
|
2266
2315
|
}]
|
|
2267
|
-
]),
|
|
2316
|
+
]), xi = X("loader-circle", [["path", {
|
|
2268
2317
|
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
2269
2318
|
key: "13zald"
|
|
2270
|
-
}]]),
|
|
2319
|
+
}]]), Si = X("message-circle", [["path", {
|
|
2271
2320
|
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",
|
|
2272
2321
|
key: "1sd12s"
|
|
2273
|
-
}]]),
|
|
2322
|
+
}]]), Ci = X("navigation", [["polygon", {
|
|
2274
2323
|
points: "3 11 22 2 13 21 11 13 3 11",
|
|
2275
2324
|
key: "1ltx0t"
|
|
2276
|
-
}]]),
|
|
2325
|
+
}]]), wi = X("pencil", [["path", {
|
|
2277
2326
|
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",
|
|
2278
2327
|
key: "1a8usu"
|
|
2279
2328
|
}], ["path", {
|
|
2280
2329
|
d: "m15 5 4 4",
|
|
2281
2330
|
key: "1mk7zo"
|
|
2282
|
-
}]]),
|
|
2331
|
+
}]]), Ti = X("puzzle", [["path", {
|
|
2283
2332
|
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",
|
|
2284
2333
|
key: "w46dr5"
|
|
2285
|
-
}]]),
|
|
2334
|
+
}]]), Ei = X("redo-2", [["path", {
|
|
2286
2335
|
d: "m15 14 5-5-5-5",
|
|
2287
2336
|
key: "12vg1m"
|
|
2288
2337
|
}], ["path", {
|
|
2289
2338
|
d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
|
|
2290
2339
|
key: "6uklza"
|
|
2291
|
-
}]]),
|
|
2340
|
+
}]]), Di = X("refresh-cw", [
|
|
2292
2341
|
["path", {
|
|
2293
2342
|
d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
|
|
2294
2343
|
key: "v9h5vc"
|
|
@@ -2305,19 +2354,19 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2305
2354
|
d: "M8 16H3v5",
|
|
2306
2355
|
key: "1cv678"
|
|
2307
2356
|
}]
|
|
2308
|
-
]),
|
|
2357
|
+
]), Oi = X("reply", [["path", {
|
|
2309
2358
|
d: "M20 18v-2a4 4 0 0 0-4-4H4",
|
|
2310
2359
|
key: "5vmcpk"
|
|
2311
2360
|
}], ["path", {
|
|
2312
2361
|
d: "m9 17-5-5 5-5",
|
|
2313
2362
|
key: "nvlc11"
|
|
2314
|
-
}]]),
|
|
2363
|
+
}]]), ki = X("send", [["path", {
|
|
2315
2364
|
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",
|
|
2316
2365
|
key: "1ffxy3"
|
|
2317
2366
|
}], ["path", {
|
|
2318
2367
|
d: "m21.854 2.147-10.94 10.939",
|
|
2319
2368
|
key: "12cjpa"
|
|
2320
|
-
}]]),
|
|
2369
|
+
}]]), Ai = X("share-2", [
|
|
2321
2370
|
["circle", {
|
|
2322
2371
|
cx: "18",
|
|
2323
2372
|
cy: "5",
|
|
@@ -2350,13 +2399,13 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2350
2399
|
y2: "10.49",
|
|
2351
2400
|
key: "1n3mei"
|
|
2352
2401
|
}]
|
|
2353
|
-
]),
|
|
2402
|
+
]), ji = X("shield-check", [["path", {
|
|
2354
2403
|
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",
|
|
2355
2404
|
key: "oel41y"
|
|
2356
2405
|
}], ["path", {
|
|
2357
2406
|
d: "m9 12 2 2 4-4",
|
|
2358
2407
|
key: "dzmm74"
|
|
2359
|
-
}]]),
|
|
2408
|
+
}]]), Mi = X("shield-x", [
|
|
2360
2409
|
["path", {
|
|
2361
2410
|
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",
|
|
2362
2411
|
key: "oel41y"
|
|
@@ -2369,7 +2418,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2369
2418
|
d: "m9.5 9.5 5 5",
|
|
2370
2419
|
key: "18nt4w"
|
|
2371
2420
|
}]
|
|
2372
|
-
]),
|
|
2421
|
+
]), Ni = X("sparkles", [
|
|
2373
2422
|
["path", {
|
|
2374
2423
|
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",
|
|
2375
2424
|
key: "1s2grr"
|
|
@@ -2388,7 +2437,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2388
2437
|
r: "2",
|
|
2389
2438
|
key: "6kqj1y"
|
|
2390
2439
|
}]
|
|
2391
|
-
]),
|
|
2440
|
+
]), Pi = X("table", [
|
|
2392
2441
|
["path", {
|
|
2393
2442
|
d: "M12 3v18",
|
|
2394
2443
|
key: "108xh3"
|
|
@@ -2409,7 +2458,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2409
2458
|
d: "M3 15h18",
|
|
2410
2459
|
key: "5xshup"
|
|
2411
2460
|
}]
|
|
2412
|
-
]),
|
|
2461
|
+
]), Fi = X("trash-2", [
|
|
2413
2462
|
["path", {
|
|
2414
2463
|
d: "M10 11v6",
|
|
2415
2464
|
key: "nco0om"
|
|
@@ -2430,7 +2479,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2430
2479
|
d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
|
|
2431
2480
|
key: "e791ji"
|
|
2432
2481
|
}]
|
|
2433
|
-
]),
|
|
2482
|
+
]), Ii = X("triangle-alert", [
|
|
2434
2483
|
["path", {
|
|
2435
2484
|
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",
|
|
2436
2485
|
key: "wmoenq"
|
|
@@ -2443,13 +2492,13 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2443
2492
|
d: "M12 17h.01",
|
|
2444
2493
|
key: "p32p05"
|
|
2445
2494
|
}]
|
|
2446
|
-
]),
|
|
2495
|
+
]), Li = X("undo-2", [["path", {
|
|
2447
2496
|
d: "M9 14 4 9l5-5",
|
|
2448
2497
|
key: "102s5s"
|
|
2449
2498
|
}], ["path", {
|
|
2450
2499
|
d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
|
|
2451
2500
|
key: "f3b9sd"
|
|
2452
|
-
}]]),
|
|
2501
|
+
}]]), Ri = X("upload", [
|
|
2453
2502
|
["path", {
|
|
2454
2503
|
d: "M12 3v12",
|
|
2455
2504
|
key: "1x0j5s"
|
|
@@ -2462,7 +2511,7 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2462
2511
|
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
|
2463
2512
|
key: "ih7n3h"
|
|
2464
2513
|
}]
|
|
2465
|
-
]),
|
|
2514
|
+
]), zi = X("video", [["path", {
|
|
2466
2515
|
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
2467
2516
|
key: "ftymec"
|
|
2468
2517
|
}], ["rect", {
|
|
@@ -2472,20 +2521,20 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2472
2521
|
height: "12",
|
|
2473
2522
|
rx: "2",
|
|
2474
2523
|
key: "158x01"
|
|
2475
|
-
}]]),
|
|
2524
|
+
}]]), Bi = X("x", [["path", {
|
|
2476
2525
|
d: "M18 6 6 18",
|
|
2477
2526
|
key: "1bl5f8"
|
|
2478
2527
|
}], ["path", {
|
|
2479
2528
|
d: "m6 6 12 12",
|
|
2480
2529
|
key: "d8bk6v"
|
|
2481
|
-
}]]),
|
|
2530
|
+
}]]), Vi = X("zap", [["path", {
|
|
2482
2531
|
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",
|
|
2483
2532
|
key: "1xq2db"
|
|
2484
|
-
}]]),
|
|
2533
|
+
}]]), Hi = ["innerHTML"], Ui = [
|
|
2485
2534
|
"src",
|
|
2486
2535
|
"width",
|
|
2487
2536
|
"height"
|
|
2488
|
-
],
|
|
2537
|
+
], Wi = /* @__PURE__ */ B({
|
|
2489
2538
|
__name: "CustomBlockIcon",
|
|
2490
2539
|
props: {
|
|
2491
2540
|
icon: {},
|
|
@@ -2501,40 +2550,40 @@ var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2501
2550
|
height: `${n.value}px`
|
|
2502
2551
|
}),
|
|
2503
2552
|
innerHTML: e.icon
|
|
2504
|
-
}, null, 12,
|
|
2553
|
+
}, null, 12, Hi)) : i.value ? (f(), k("img", {
|
|
2505
2554
|
key: 1,
|
|
2506
2555
|
src: e.icon,
|
|
2507
2556
|
width: n.value,
|
|
2508
2557
|
height: n.value,
|
|
2509
2558
|
class: "tpl:inline-block",
|
|
2510
2559
|
alt: ""
|
|
2511
|
-
}, null, 8,
|
|
2560
|
+
}, null, 8, Ui)) : (f(), N(j(ti), {
|
|
2512
2561
|
key: 2,
|
|
2513
2562
|
size: n.value,
|
|
2514
2563
|
"stroke-width": 1.5
|
|
2515
2564
|
}, null, 8, ["size"]));
|
|
2516
2565
|
}
|
|
2517
|
-
}),
|
|
2566
|
+
}), Gi = (e, t) => {
|
|
2518
2567
|
let n = e.__vccOpts || e;
|
|
2519
2568
|
for (let [e, r] of t) n[e] = r;
|
|
2520
2569
|
return n;
|
|
2521
|
-
},
|
|
2522
|
-
function
|
|
2523
|
-
return f(), k("div",
|
|
2570
|
+
}, Ki = {}, qi = { class: "tpl-loading-track" };
|
|
2571
|
+
function Ji(e, t) {
|
|
2572
|
+
return f(), k("div", qi);
|
|
2524
2573
|
}
|
|
2525
|
-
var
|
|
2574
|
+
var Yi = /*#__PURE__*/ Gi(Ki, [["render", Ji], ["__scopeId", "data-v-1ed538ec"]]);
|
|
2526
2575
|
//#endregion
|
|
2527
2576
|
//#region src/composables/useEditorRoot.ts
|
|
2528
|
-
function
|
|
2529
|
-
return v(
|
|
2577
|
+
function Xi() {
|
|
2578
|
+
return v(fr, document) ?? document;
|
|
2530
2579
|
}
|
|
2531
2580
|
//#endregion
|
|
2532
2581
|
//#region src/composables/useFocusTrap.ts
|
|
2533
|
-
var
|
|
2534
|
-
function
|
|
2535
|
-
let n =
|
|
2582
|
+
var Zi = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
2583
|
+
function Qi(e, t) {
|
|
2584
|
+
let n = Xi(), r = null, i = null, a = null;
|
|
2536
2585
|
function o() {
|
|
2537
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
2586
|
+
return e.value ? Array.from(e.value.querySelectorAll(Zi)).filter((e) => e.offsetParent !== null) : [];
|
|
2538
2587
|
}
|
|
2539
2588
|
function s(e) {
|
|
2540
2589
|
if (e.key !== "Tab") return;
|
|
@@ -2564,18 +2613,18 @@ function Ji(e, t) {
|
|
|
2564
2613
|
}
|
|
2565
2614
|
//#endregion
|
|
2566
2615
|
//#region src/composables/useCloudI18n.ts
|
|
2567
|
-
function
|
|
2616
|
+
function $i(e, t) {
|
|
2568
2617
|
return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
|
|
2569
2618
|
}
|
|
2570
|
-
function
|
|
2571
|
-
let t = e ?? v(
|
|
2619
|
+
function ea(e) {
|
|
2620
|
+
let t = e ?? v(yr, null);
|
|
2572
2621
|
return {
|
|
2573
2622
|
t: t ? u(t) ? t.value : t : null,
|
|
2574
|
-
format:
|
|
2623
|
+
format: $i
|
|
2575
2624
|
};
|
|
2576
2625
|
}
|
|
2577
|
-
function
|
|
2578
|
-
let { t, format: n } =
|
|
2626
|
+
function ta(e) {
|
|
2627
|
+
let { t, format: n } = ea(e);
|
|
2579
2628
|
if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
|
|
2580
2629
|
return {
|
|
2581
2630
|
t,
|
|
@@ -2584,13 +2633,13 @@ function Zi(e) {
|
|
|
2584
2633
|
}
|
|
2585
2634
|
//#endregion
|
|
2586
2635
|
//#region src/composables/useMergeTag.ts
|
|
2587
|
-
function
|
|
2588
|
-
let e = v(
|
|
2636
|
+
function na() {
|
|
2637
|
+
let e = v(Zn, []), t = v(Qn, dt.liquid), n = v($n, null), r = v(er, !0), i = v(tr, null), a = C(!1);
|
|
2589
2638
|
function o(e) {
|
|
2590
|
-
return
|
|
2639
|
+
return vt(e, t);
|
|
2591
2640
|
}
|
|
2592
2641
|
function s(t) {
|
|
2593
|
-
return
|
|
2642
|
+
return yt(t, e);
|
|
2594
2643
|
}
|
|
2595
2644
|
async function c() {
|
|
2596
2645
|
if (n) {
|
|
@@ -2624,8 +2673,8 @@ function Qi() {
|
|
|
2624
2673
|
}
|
|
2625
2674
|
//#endregion
|
|
2626
2675
|
//#region src/composables/useEmoji.ts
|
|
2627
|
-
function
|
|
2628
|
-
let [e, t] =
|
|
2676
|
+
function ra() {
|
|
2677
|
+
let [e, t] = dn(!1), r = n([]), i = !1;
|
|
2629
2678
|
l(() => {
|
|
2630
2679
|
i = !0;
|
|
2631
2680
|
}), H(e, async (e) => {
|
|
@@ -2650,7 +2699,7 @@ function $i() {
|
|
|
2650
2699
|
}
|
|
2651
2700
|
//#endregion
|
|
2652
2701
|
//#region src/composables/useDragDrop.ts
|
|
2653
|
-
function
|
|
2702
|
+
function ia(e) {
|
|
2654
2703
|
let { onBlockMove: t, onBlockAdd: n } = e, r = C(!1), i = C(null), a = C(null);
|
|
2655
2704
|
function o(e) {
|
|
2656
2705
|
r.value = !0, i.value = e;
|
|
@@ -2700,7 +2749,7 @@ function ea(e) {
|
|
|
2700
2749
|
}
|
|
2701
2750
|
//#endregion
|
|
2702
2751
|
//#region src/composables/useFonts.ts
|
|
2703
|
-
var
|
|
2752
|
+
var aa = [
|
|
2704
2753
|
{
|
|
2705
2754
|
value: "Arial",
|
|
2706
2755
|
label: "Arial"
|
|
@@ -2729,7 +2778,7 @@ var ta = [
|
|
|
2729
2778
|
value: "Courier New",
|
|
2730
2779
|
label: "Courier New"
|
|
2731
2780
|
}
|
|
2732
|
-
],
|
|
2781
|
+
], oa = {
|
|
2733
2782
|
arial: "Arial, sans-serif",
|
|
2734
2783
|
helvetica: "Helvetica, sans-serif",
|
|
2735
2784
|
georgia: "Georgia, serif",
|
|
@@ -2737,14 +2786,14 @@ var ta = [
|
|
|
2737
2786
|
verdana: "Verdana, sans-serif",
|
|
2738
2787
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
2739
2788
|
"courier new": "'Courier New', monospace"
|
|
2740
|
-
},
|
|
2741
|
-
function
|
|
2742
|
-
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ??
|
|
2789
|
+
}, sa = "Arial, sans-serif";
|
|
2790
|
+
function ca(e) {
|
|
2791
|
+
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ?? sa);
|
|
2743
2792
|
function a(e) {
|
|
2744
2793
|
n.value = e;
|
|
2745
2794
|
}
|
|
2746
2795
|
let o = O(() => {
|
|
2747
|
-
let e = [...
|
|
2796
|
+
let e = [...aa];
|
|
2748
2797
|
if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
|
|
2749
2798
|
let r = t.value.map((e) => ({
|
|
2750
2799
|
value: e.name,
|
|
@@ -2757,23 +2806,23 @@ function ia(e) {
|
|
|
2757
2806
|
return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2758
2807
|
}
|
|
2759
2808
|
function u(e) {
|
|
2760
|
-
return
|
|
2809
|
+
return aa.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2761
2810
|
}
|
|
2762
2811
|
function d() {
|
|
2763
2812
|
if (e?.defaultFont) {
|
|
2764
|
-
if (!n.value && !u(e.defaultFont)) return
|
|
2813
|
+
if (!n.value && !u(e.defaultFont)) return sa;
|
|
2765
2814
|
if (c(e.defaultFont)) {
|
|
2766
2815
|
let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
2767
2816
|
if (t) return t.value;
|
|
2768
2817
|
}
|
|
2769
2818
|
}
|
|
2770
|
-
return
|
|
2819
|
+
return sa;
|
|
2771
2820
|
}
|
|
2772
2821
|
let f = O(() => d());
|
|
2773
2822
|
function p(e) {
|
|
2774
2823
|
if (!e) return i.value;
|
|
2775
2824
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
2776
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
2825
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : oa[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
2777
2826
|
}
|
|
2778
2827
|
let m = [], h = !1;
|
|
2779
2828
|
async function g() {
|
|
@@ -2789,7 +2838,7 @@ function ia(e) {
|
|
|
2789
2838
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
2790
2839
|
});
|
|
2791
2840
|
} catch (t) {
|
|
2792
|
-
|
|
2841
|
+
jr.warn(`Failed to load custom font "${e.name}":`, t);
|
|
2793
2842
|
}
|
|
2794
2843
|
});
|
|
2795
2844
|
await Promise.allSettled(e), !h && (r.value = !0);
|
|
@@ -2816,8 +2865,8 @@ function ia(e) {
|
|
|
2816
2865
|
}
|
|
2817
2866
|
//#endregion
|
|
2818
2867
|
//#region src/composables/useLogicTag.ts
|
|
2819
|
-
function
|
|
2820
|
-
let e = v(
|
|
2868
|
+
function la() {
|
|
2869
|
+
let e = v(nr, []), t = v(rr, []), n = v(Qn, dt.liquid), r = v(ar, null), i = v(ir, null), a = C(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
|
|
2821
2870
|
async function c() {
|
|
2822
2871
|
if (r) {
|
|
2823
2872
|
a.value = !0;
|
|
@@ -2848,12 +2897,12 @@ function aa() {
|
|
|
2848
2897
|
}
|
|
2849
2898
|
//#endregion
|
|
2850
2899
|
//#region src/utils/mergeTagNodeSpec.ts
|
|
2851
|
-
function
|
|
2852
|
-
return
|
|
2900
|
+
function ua(e, t, n) {
|
|
2901
|
+
return St(e, n) ? {
|
|
2853
2902
|
type: "logicMergeTagNode",
|
|
2854
2903
|
attrs: {
|
|
2855
2904
|
value: e,
|
|
2856
|
-
keyword:
|
|
2905
|
+
keyword: Ct(e, n)
|
|
2857
2906
|
}
|
|
2858
2907
|
} : {
|
|
2859
2908
|
type: "mergeTagNode",
|
|
@@ -2865,15 +2914,15 @@ function oa(e, t, n) {
|
|
|
2865
2914
|
}
|
|
2866
2915
|
//#endregion
|
|
2867
2916
|
//#region src/utils/insertLogicTag.ts
|
|
2868
|
-
function
|
|
2917
|
+
function da(e) {
|
|
2869
2918
|
return "before" in e && "after" in e;
|
|
2870
2919
|
}
|
|
2871
|
-
function
|
|
2872
|
-
if (!
|
|
2873
|
-
e.chain().focus().insertContent(
|
|
2920
|
+
function fa(e, t, n) {
|
|
2921
|
+
if (!da(t)) {
|
|
2922
|
+
e.chain().focus().insertContent(ua(t.value, t.label, n)).run();
|
|
2874
2923
|
return;
|
|
2875
2924
|
}
|
|
2876
|
-
let r =
|
|
2925
|
+
let r = ua(t.before, t.label, n), i = ua(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
2877
2926
|
if (a !== o) {
|
|
2878
2927
|
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
2879
2928
|
return;
|
|
@@ -2882,9 +2931,9 @@ function ca(e, t, n) {
|
|
|
2882
2931
|
}
|
|
2883
2932
|
//#endregion
|
|
2884
2933
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
2885
|
-
function
|
|
2934
|
+
function pa(e) {
|
|
2886
2935
|
let t = C(!1), n = C(""), r = C(null);
|
|
2887
|
-
|
|
2936
|
+
Qi(r, t);
|
|
2888
2937
|
function i() {
|
|
2889
2938
|
let r = e.value?.getAttributes("link").href || "";
|
|
2890
2939
|
n.value = r, t.value = !0;
|
|
@@ -2936,8 +2985,8 @@ function la(e) {
|
|
|
2936
2985
|
}
|
|
2937
2986
|
//#endregion
|
|
2938
2987
|
//#region src/composables/useRichTextEditor.ts
|
|
2939
|
-
function
|
|
2940
|
-
let t = v(
|
|
2988
|
+
function ma(e) {
|
|
2989
|
+
let t = v(zn, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = na(), { canInsertLogicTag: l, isRequesting: d, requestLogicTag: f } = la(), p = v(Rn, null), m = (u(p) ? p.value : p)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", h = mt(s), g = n(null), { showLinkDialog: _, linkUrl: y, linkDialogRef: b, openLinkDialog: x, insertLink: S, removeLink: w, closeLinkDialog: T, handleLinkKeydown: E } = pa(g), { start: ee, stop: D } = un(() => g.value?.commands.focus("end"), 0, { immediate: !1 }), te = n(null), ne = C(!0), O = C(null), k = !1;
|
|
2941
2990
|
async function A() {
|
|
2942
2991
|
O.value = null, ne.value = !0;
|
|
2943
2992
|
try {
|
|
@@ -2967,7 +3016,7 @@ function ua(e) {
|
|
|
2967
3016
|
g.value = l, ne.value = !1, ee();
|
|
2968
3017
|
} catch (t) {
|
|
2969
3018
|
if (k) return;
|
|
2970
|
-
|
|
3019
|
+
jr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), O.value = t instanceof Error ? t.message : "Failed to load editor", ne.value = !1;
|
|
2971
3020
|
}
|
|
2972
3021
|
}
|
|
2973
3022
|
function j() {
|
|
@@ -2994,7 +3043,7 @@ function ua(e) {
|
|
|
2994
3043
|
}
|
|
2995
3044
|
async function P() {
|
|
2996
3045
|
let e = await f();
|
|
2997
|
-
k || (e && g.value ?
|
|
3046
|
+
k || (e && g.value ? fa(g.value, e, s) : g.value?.commands.focus());
|
|
2998
3047
|
}
|
|
2999
3048
|
return {
|
|
3000
3049
|
editor: g,
|
|
@@ -3022,9 +3071,9 @@ function ua(e) {
|
|
|
3022
3071
|
}
|
|
3023
3072
|
//#endregion
|
|
3024
3073
|
//#region src/composables/useSmallScreenNotice.ts
|
|
3025
|
-
var
|
|
3026
|
-
function
|
|
3027
|
-
let t =
|
|
3074
|
+
var ha = "(max-width: 767px)";
|
|
3075
|
+
function ga(e) {
|
|
3076
|
+
let t = wn(ha);
|
|
3028
3077
|
return {
|
|
3029
3078
|
isSmallScreen: t,
|
|
3030
3079
|
showNotice: O(() => (P(e) ?? !0) && t.value)
|
|
@@ -3032,20 +3081,20 @@ function fa(e) {
|
|
|
3032
3081
|
}
|
|
3033
3082
|
//#endregion
|
|
3034
3083
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3035
|
-
var
|
|
3084
|
+
var _a = { class: "tpl:w-full" }, va = {
|
|
3036
3085
|
key: 0,
|
|
3037
3086
|
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)]"
|
|
3038
|
-
},
|
|
3087
|
+
}, ya = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ba = {
|
|
3039
3088
|
key: 1,
|
|
3040
3089
|
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)]"
|
|
3041
|
-
},
|
|
3090
|
+
}, xa = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Sa = {
|
|
3042
3091
|
key: 2,
|
|
3043
3092
|
class: "tpl:relative"
|
|
3044
|
-
},
|
|
3093
|
+
}, Ca = ["innerHTML"], wa = {
|
|
3045
3094
|
key: 0,
|
|
3046
3095
|
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]",
|
|
3047
3096
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
3048
|
-
},
|
|
3097
|
+
}, Ta = /* @__PURE__ */ B({
|
|
3049
3098
|
__name: "CustomBlock",
|
|
3050
3099
|
props: {
|
|
3051
3100
|
block: {},
|
|
@@ -3053,7 +3102,7 @@ var pa = { class: "tpl:w-full" }, ma = {
|
|
|
3053
3102
|
},
|
|
3054
3103
|
emits: ["fetchData"],
|
|
3055
3104
|
setup(e, { emit: t }) {
|
|
3056
|
-
let n = e, i = t, { t: a } = Y(), o = v(
|
|
3105
|
+
let n = e, i = t, { t: a } = Y(), o = v(qn, 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 } = Lt({
|
|
3057
3106
|
definition: l,
|
|
3058
3107
|
block: O(() => n.block),
|
|
3059
3108
|
onUpdate: (e, t) => {
|
|
@@ -3074,15 +3123,15 @@ var pa = { class: "tpl:w-full" }, ma = {
|
|
|
3074
3123
|
}
|
|
3075
3124
|
}
|
|
3076
3125
|
}
|
|
3077
|
-
let _ =
|
|
3126
|
+
let _ = an(g, 150);
|
|
3078
3127
|
return r(() => {
|
|
3079
3128
|
g();
|
|
3080
3129
|
}), H(() => n.block.fieldValues, () => {
|
|
3081
3130
|
_();
|
|
3082
|
-
}, { deep: !0 }), (e, t) => (f(), k("div",
|
|
3131
|
+
}, { deep: !0 }), (e, t) => (f(), k("div", _a, [u.value ? c.value ? (f(), k("div", ba, [V(j(Ii), {
|
|
3083
3132
|
size: 24,
|
|
3084
3133
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
3085
|
-
}), I("span",
|
|
3134
|
+
}), I("span", xa, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", Sa, [I("div", { innerHTML: s.value }, null, 8, Ca), j(h) && j(m) ? (f(), k("div", wa, [j(d) ? (f(), N(Yi, {
|
|
3086
3135
|
key: 1,
|
|
3087
3136
|
class: "tpl:w-48"
|
|
3088
3137
|
})) : (f(), k("button", {
|
|
@@ -3090,16 +3139,16 @@ var pa = { class: "tpl:w-full" }, ma = {
|
|
|
3090
3139
|
type: "button",
|
|
3091
3140
|
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)]",
|
|
3092
3141
|
onClick: t[0] ||= M((...e) => j(p) && j(p)(...e), ["stop"])
|
|
3093
|
-
}, [l.value?.icon ? (f(), N(
|
|
3142
|
+
}, [l.value?.icon ? (f(), N(Wi, {
|
|
3094
3143
|
key: 0,
|
|
3095
3144
|
icon: l.value.icon,
|
|
3096
3145
|
size: 16
|
|
3097
|
-
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div",
|
|
3146
|
+
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", va, [V(j(Ti), {
|
|
3098
3147
|
size: 24,
|
|
3099
3148
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
3100
|
-
}), I("span",
|
|
3149
|
+
}), I("span", ya, D(j(a).customBlocks.definitionNotFound), 1)]))]));
|
|
3101
3150
|
}
|
|
3102
|
-
}),
|
|
3151
|
+
}), Ea = { class: "tpl:w-full" }, Da = /* @__PURE__ */ B({
|
|
3103
3152
|
__name: "DividerBlock",
|
|
3104
3153
|
props: {
|
|
3105
3154
|
block: {},
|
|
@@ -3111,18 +3160,18 @@ var pa = { class: "tpl:w-full" }, ma = {
|
|
|
3111
3160
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
3112
3161
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
3113
3162
|
}));
|
|
3114
|
-
return (e, t) => (f(), k("div",
|
|
3163
|
+
return (e, t) => (f(), k("div", Ea, [I("hr", {
|
|
3115
3164
|
class: "tpl:m-0 tpl:border-none",
|
|
3116
3165
|
style: L(n.value)
|
|
3117
3166
|
}, null, 4)]));
|
|
3118
3167
|
}
|
|
3119
|
-
}),
|
|
3168
|
+
}), Oa = { class: "tpl:w-full" }, ka = { 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)]" }, Aa = {
|
|
3120
3169
|
key: 0,
|
|
3121
3170
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
3122
|
-
},
|
|
3171
|
+
}, ja = {
|
|
3123
3172
|
key: 1,
|
|
3124
3173
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
3125
|
-
},
|
|
3174
|
+
}, Ma = /* @__PURE__ */ B({
|
|
3126
3175
|
__name: "HtmlBlock",
|
|
3127
3176
|
props: {
|
|
3128
3177
|
block: {},
|
|
@@ -3130,15 +3179,15 @@ var pa = { class: "tpl:w-full" }, ma = {
|
|
|
3130
3179
|
},
|
|
3131
3180
|
setup(e) {
|
|
3132
3181
|
let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
|
|
3133
|
-
return (e, t) => (f(), k("div",
|
|
3182
|
+
return (e, t) => (f(), k("div", Oa, [I("div", ka, [V(j(ui), {
|
|
3134
3183
|
size: 24,
|
|
3135
3184
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
3136
|
-
}), r.value ? (f(), k("span",
|
|
3185
|
+
}), r.value ? (f(), k("span", Aa, D(j(n).html.preview), 1)) : (f(), k("span", ja, D(j(n).html.empty), 1))])]));
|
|
3137
3186
|
}
|
|
3138
3187
|
});
|
|
3139
3188
|
//#endregion
|
|
3140
3189
|
//#region src/composables/useAliveFlag.ts
|
|
3141
|
-
function
|
|
3190
|
+
function Na() {
|
|
3142
3191
|
let e = { alive: !0 };
|
|
3143
3192
|
return re(() => {
|
|
3144
3193
|
e.alive = !1;
|
|
@@ -3146,13 +3195,13 @@ function ka() {
|
|
|
3146
3195
|
}
|
|
3147
3196
|
//#endregion
|
|
3148
3197
|
//#region src/composables/useImageDrop.ts
|
|
3149
|
-
var
|
|
3150
|
-
function
|
|
3151
|
-
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0
|
|
3198
|
+
var Pa = "image/";
|
|
3199
|
+
function Fa(e) {
|
|
3200
|
+
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 || P(r), { isOverDropZone: a } = Dn(t, {
|
|
3152
3201
|
preventDefaultForUnhandled: !0,
|
|
3153
3202
|
onDrop: (e) => {
|
|
3154
3203
|
if (!i()) return;
|
|
3155
|
-
let t = (e ?? []).filter((e) => e.type.startsWith(
|
|
3204
|
+
let t = (e ?? []).filter((e) => e.type.startsWith(Pa));
|
|
3156
3205
|
t.length > 0 && n([t[0]]);
|
|
3157
3206
|
}
|
|
3158
3207
|
});
|
|
@@ -3160,17 +3209,17 @@ function ja(e) {
|
|
|
3160
3209
|
}
|
|
3161
3210
|
//#endregion
|
|
3162
3211
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3163
|
-
var
|
|
3212
|
+
var Ia = {
|
|
3164
3213
|
key: 0,
|
|
3165
3214
|
class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
|
|
3166
3215
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
3167
|
-
},
|
|
3216
|
+
}, La = ["href"], Ra = ["src", "alt"], za = ["src", "alt"], Ba = {
|
|
3168
3217
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3169
3218
|
style: { opacity: "0.7" }
|
|
3170
|
-
},
|
|
3219
|
+
}, Va = ["href"], Ha = ["src", "alt"], Ua = ["src", "alt"], Wa = {
|
|
3171
3220
|
key: 4,
|
|
3172
3221
|
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)]"
|
|
3173
|
-
},
|
|
3222
|
+
}, Ga = ["aria-label"], Ka = { key: 1 }, qa = /* @__PURE__ */ B({
|
|
3174
3223
|
__name: "ImageBlock",
|
|
3175
3224
|
props: {
|
|
3176
3225
|
block: {},
|
|
@@ -3178,7 +3227,7 @@ var Ma = {
|
|
|
3178
3227
|
},
|
|
3179
3228
|
emits: ["update"],
|
|
3180
3229
|
setup(e, { emit: t }) {
|
|
3181
|
-
let n = e, r = t, { t: i } = Y(), { syntax: a } =
|
|
3230
|
+
let n = e, r = t, { t: i } = Y(), { syntax: a } = na(), o = v(or, null), s = O(() => !!o), c = Na();
|
|
3182
3231
|
async function l() {
|
|
3183
3232
|
let e = await o?.({ accept: ["images"] });
|
|
3184
3233
|
if (c.alive && e) {
|
|
@@ -3205,7 +3254,7 @@ var Ma = {
|
|
|
3205
3254
|
}
|
|
3206
3255
|
}
|
|
3207
3256
|
}
|
|
3208
|
-
let { isOver: h } =
|
|
3257
|
+
let { isOver: h } = Fa({
|
|
3209
3258
|
target: u,
|
|
3210
3259
|
enabled: p,
|
|
3211
3260
|
onFiles: m
|
|
@@ -3218,18 +3267,18 @@ var Ma = {
|
|
|
3218
3267
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
3219
3268
|
marginRight: e === "center" ? "auto" : void 0
|
|
3220
3269
|
};
|
|
3221
|
-
}), y = O(() =>
|
|
3270
|
+
}), y = O(() => xt(n.block.src, a));
|
|
3222
3271
|
return (t, n) => (f(), k("div", {
|
|
3223
3272
|
ref_key: "dropZoneRef",
|
|
3224
3273
|
ref: u,
|
|
3225
3274
|
"data-testid": "image-drop-zone",
|
|
3226
3275
|
class: "tpl:relative tpl:w-full",
|
|
3227
3276
|
style: L(g.value)
|
|
3228
|
-
}, [p.value && (j(h) || d.value) ? (f(), k("div",
|
|
3277
|
+
}, [p.value && (j(h) || d.value) ? (f(), k("div", Ia, [d.value ? (f(), k(R, { key: 0 }, [V(j(xi), {
|
|
3229
3278
|
class: "tpl-spinner",
|
|
3230
3279
|
size: 20,
|
|
3231
3280
|
"stroke-width": 2
|
|
3232
|
-
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(
|
|
3281
|
+
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Ri), {
|
|
3233
3282
|
size: 20,
|
|
3234
3283
|
"stroke-width": 1.5
|
|
3235
3284
|
}), z(" " + D(j(i).image.dropToUpload), 1)], 64))])) : A("", !0), e.block.src && y.value && e.block.placeholderUrl ? (f(), k(R, { key: 1 }, [e.block.linkUrl ? (f(), k("a", {
|
|
@@ -3244,22 +3293,22 @@ var Ma = {
|
|
|
3244
3293
|
src: e.block.placeholderUrl,
|
|
3245
3294
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3246
3295
|
style: L(_.value)
|
|
3247
|
-
}, null, 12,
|
|
3296
|
+
}, null, 12, Ra)], 8, La)) : (f(), k("img", {
|
|
3248
3297
|
key: 1,
|
|
3249
3298
|
class: "tpl:border-0",
|
|
3250
3299
|
src: e.block.placeholderUrl,
|
|
3251
3300
|
alt: e.block.alt,
|
|
3252
3301
|
style: L(_.value)
|
|
3253
|
-
}, null, 12,
|
|
3302
|
+
}, null, 12, za))], 64)) : e.block.src && y.value ? (f(), k("div", {
|
|
3254
3303
|
key: 2,
|
|
3255
3304
|
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)]",
|
|
3256
3305
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, _.value])
|
|
3257
|
-
}, [V(j(
|
|
3306
|
+
}, [V(j(yi), {
|
|
3258
3307
|
size: 32,
|
|
3259
3308
|
"stroke-width": 1.5,
|
|
3260
3309
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3261
3310
|
style: { opacity: "0.5" }
|
|
3262
|
-
}), I("span",
|
|
3311
|
+
}), I("span", Ba, [V(Vr, { text: e.block.src }, null, 8, ["text"])])], 4)) : e.block.src ? (f(), k(R, { key: 3 }, [e.block.linkUrl ? (f(), k("a", {
|
|
3263
3312
|
key: 0,
|
|
3264
3313
|
href: e.block.linkUrl,
|
|
3265
3314
|
target: "_blank",
|
|
@@ -3271,26 +3320,26 @@ var Ma = {
|
|
|
3271
3320
|
src: e.block.src,
|
|
3272
3321
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3273
3322
|
style: L(_.value)
|
|
3274
|
-
}, null, 12,
|
|
3323
|
+
}, null, 12, Ha)], 8, Va)) : (f(), k("img", {
|
|
3275
3324
|
key: 1,
|
|
3276
3325
|
class: "tpl:border-0",
|
|
3277
3326
|
src: e.block.src,
|
|
3278
3327
|
alt: e.block.alt,
|
|
3279
3328
|
style: L(_.value)
|
|
3280
|
-
}, null, 12,
|
|
3329
|
+
}, null, 12, Ua))], 64)) : (f(), k("div", Wa, [s.value ? (f(), k("button", {
|
|
3281
3330
|
key: 0,
|
|
3282
3331
|
"aria-label": j(i).image.browseMedia,
|
|
3283
3332
|
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)]",
|
|
3284
3333
|
onClick: M(l, ["stop"])
|
|
3285
|
-
}, [V(j(
|
|
3334
|
+
}, [V(j(yi), {
|
|
3286
3335
|
size: 14,
|
|
3287
3336
|
"stroke-width": 1.5
|
|
3288
|
-
}), z(" " + D(j(i).image.browseMedia), 1)], 8,
|
|
3337
|
+
}), z(" " + D(j(i).image.browseMedia), 1)], 8, Ga)) : (f(), k("span", Ka, D(j(i).image.clickToAdd), 1))]))], 4));
|
|
3289
3338
|
}
|
|
3290
|
-
}),
|
|
3339
|
+
}), Ja = { class: "tpl:w-full" }, Ya = ["href"], Xa = {
|
|
3291
3340
|
key: 1,
|
|
3292
3341
|
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)]"
|
|
3293
|
-
},
|
|
3342
|
+
}, Za = /* @__PURE__ */ B({
|
|
3294
3343
|
__name: "MenuBlock",
|
|
3295
3344
|
props: {
|
|
3296
3345
|
block: {},
|
|
@@ -3309,7 +3358,7 @@ var Ma = {
|
|
|
3309
3358
|
function a(e) {
|
|
3310
3359
|
return e || t.block.linkColor || t.block.color;
|
|
3311
3360
|
}
|
|
3312
|
-
return (t, o) => (f(), k("div",
|
|
3361
|
+
return (t, o) => (f(), k("div", Ja, [i.value ? (f(), k("div", {
|
|
3313
3362
|
key: 0,
|
|
3314
3363
|
style: L(r.value)
|
|
3315
3364
|
}, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
|
|
@@ -3321,15 +3370,15 @@ var Ma = {
|
|
|
3321
3370
|
textDecoration: t.underline ? "underline" : "none"
|
|
3322
3371
|
}),
|
|
3323
3372
|
onClick: o[0] ||= M(() => {}, ["prevent"])
|
|
3324
|
-
},
|
|
3373
|
+
}, [V(Vr, { text: t.text || "..." }, null, 8, ["text"])], 12, Ya), n < e.block.items.length - 1 ? (f(), k("span", {
|
|
3325
3374
|
key: 0,
|
|
3326
3375
|
style: L({
|
|
3327
3376
|
color: e.block.separatorColor,
|
|
3328
3377
|
padding: `0 ${e.block.spacing}px`
|
|
3329
3378
|
})
|
|
3330
|
-
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div",
|
|
3379
|
+
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Xa, [V(j(Ci), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
|
|
3331
3380
|
}
|
|
3332
|
-
}),
|
|
3381
|
+
}), Qa = /* @__PURE__ */ new Set([
|
|
3333
3382
|
"http",
|
|
3334
3383
|
"https",
|
|
3335
3384
|
"mailto",
|
|
@@ -3339,7 +3388,7 @@ var Ma = {
|
|
|
3339
3388
|
"sms",
|
|
3340
3389
|
"xmpp",
|
|
3341
3390
|
"cid"
|
|
3342
|
-
]),
|
|
3391
|
+
]), $a = /* @__PURE__ */ new Set([
|
|
3343
3392
|
"SCRIPT",
|
|
3344
3393
|
"STYLE",
|
|
3345
3394
|
"IFRAME",
|
|
@@ -3349,7 +3398,7 @@ var Ma = {
|
|
|
3349
3398
|
"META",
|
|
3350
3399
|
"BASE",
|
|
3351
3400
|
"FORM"
|
|
3352
|
-
]),
|
|
3401
|
+
]), eo = /* @__PURE__ */ new Set([
|
|
3353
3402
|
"href",
|
|
3354
3403
|
"xlink:href",
|
|
3355
3404
|
"formaction",
|
|
@@ -3358,16 +3407,16 @@ var Ma = {
|
|
|
3358
3407
|
"background",
|
|
3359
3408
|
"poster"
|
|
3360
3409
|
]);
|
|
3361
|
-
function
|
|
3410
|
+
function to(e, t) {
|
|
3362
3411
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
3363
3412
|
if (!n || n.startsWith("#")) return !0;
|
|
3364
3413
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
3365
3414
|
if (!r) return !0;
|
|
3366
3415
|
let i = r[1].toLowerCase();
|
|
3367
|
-
return
|
|
3416
|
+
return Qa.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
3368
3417
|
}
|
|
3369
|
-
function
|
|
3370
|
-
if (
|
|
3418
|
+
function no(e) {
|
|
3419
|
+
if ($a.has(e.tagName)) {
|
|
3371
3420
|
e.remove();
|
|
3372
3421
|
return;
|
|
3373
3422
|
}
|
|
@@ -3379,29 +3428,29 @@ function Qa(e) {
|
|
|
3379
3428
|
e.removeAttribute(n);
|
|
3380
3429
|
continue;
|
|
3381
3430
|
}
|
|
3382
|
-
if (
|
|
3383
|
-
|
|
3431
|
+
if (eo.has(t)) {
|
|
3432
|
+
to(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
3384
3433
|
continue;
|
|
3385
3434
|
}
|
|
3386
3435
|
if (t === "src") {
|
|
3387
|
-
|
|
3436
|
+
to(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
3388
3437
|
continue;
|
|
3389
3438
|
}
|
|
3390
3439
|
t === "srcdoc" && e.removeAttribute(n);
|
|
3391
3440
|
}
|
|
3392
3441
|
let n = Array.from(e.children);
|
|
3393
|
-
for (let e of n)
|
|
3442
|
+
for (let e of n) no(e);
|
|
3394
3443
|
}
|
|
3395
|
-
function
|
|
3444
|
+
function ro(e) {
|
|
3396
3445
|
if (typeof DOMParser > "u") return e;
|
|
3397
3446
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
3398
|
-
for (let e of n)
|
|
3447
|
+
for (let e of n) no(e);
|
|
3399
3448
|
return t.innerHTML;
|
|
3400
3449
|
}
|
|
3401
3450
|
//#endregion
|
|
3402
3451
|
//#region src/composables/useEditableTextBlock.ts
|
|
3403
|
-
function
|
|
3404
|
-
let t = v(
|
|
3452
|
+
function io(e) {
|
|
3453
|
+
let t = v(Zn, []), { syntax: n } = na(), r = O(() => ro(wt(bt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = kn(a), c = O(() => ({
|
|
3405
3454
|
top: o.value - 8,
|
|
3406
3455
|
left: s.value
|
|
3407
3456
|
}));
|
|
@@ -3422,14 +3471,14 @@ function eo(e) {
|
|
|
3422
3471
|
}
|
|
3423
3472
|
//#endregion
|
|
3424
3473
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3425
|
-
var
|
|
3474
|
+
var ao = ["innerHTML"], oo = /* @__PURE__ */ B({
|
|
3426
3475
|
__name: "ParagraphBlock",
|
|
3427
3476
|
props: {
|
|
3428
3477
|
block: {},
|
|
3429
3478
|
viewport: {}
|
|
3430
3479
|
},
|
|
3431
3480
|
setup(e) {
|
|
3432
|
-
let t = e, n = E(() => import("./ParagraphEditor-
|
|
3481
|
+
let t = e, n = E(() => import("./ParagraphEditor-iG5cDjH0.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = io(() => t.block.content);
|
|
3433
3482
|
return (t, l) => (f(), k("div", {
|
|
3434
3483
|
ref_key: "blockRef",
|
|
3435
3484
|
ref: i,
|
|
@@ -3448,46 +3497,46 @@ var to = ["innerHTML"], no = /* @__PURE__ */ B({
|
|
|
3448
3497
|
key: 1,
|
|
3449
3498
|
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",
|
|
3450
3499
|
innerHTML: j(o)
|
|
3451
|
-
}, null, 8,
|
|
3500
|
+
}, null, 8, ao))], 544));
|
|
3452
3501
|
}
|
|
3453
3502
|
});
|
|
3454
3503
|
//#endregion
|
|
3455
3504
|
//#region src/utils/blockComponentResolver.ts
|
|
3456
|
-
function
|
|
3505
|
+
function so(e, t, n) {
|
|
3457
3506
|
if (t) {
|
|
3458
3507
|
let n = t.getComponent(e);
|
|
3459
3508
|
if (n) return n;
|
|
3460
3509
|
}
|
|
3461
3510
|
return n[e.type] ?? null;
|
|
3462
3511
|
}
|
|
3463
|
-
function
|
|
3512
|
+
function co(e) {
|
|
3464
3513
|
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
3465
3514
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
3466
3515
|
backgroundColor: n || "transparent"
|
|
3467
3516
|
};
|
|
3468
3517
|
return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
|
|
3469
3518
|
}
|
|
3470
|
-
function
|
|
3519
|
+
function lo(e) {
|
|
3471
3520
|
if (e.type !== "section" || !e.wrapper) return null;
|
|
3472
3521
|
let t = e.wrapper, n = {};
|
|
3473
3522
|
return t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.padding && (n.padding = `${t.padding.top}px ${t.padding.right}px ${t.padding.bottom}px ${t.padding.left}px`), t.borderRadius && t.borderRadius > 0 && (n.borderRadius = `${t.borderRadius}px`), n;
|
|
3474
3523
|
}
|
|
3475
3524
|
//#endregion
|
|
3476
3525
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
3477
|
-
var
|
|
3526
|
+
var uo = ["data-block-id", "data-block-type"], fo = ["aria-label"], po = [
|
|
3478
3527
|
"aria-label",
|
|
3479
3528
|
"aria-pressed",
|
|
3480
3529
|
"title"
|
|
3481
|
-
],
|
|
3530
|
+
], mo = ["aria-label", "title"], ho = ["aria-label", "title"], go = ["aria-label", "title"], _o = {
|
|
3482
3531
|
key: 1,
|
|
3483
3532
|
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"
|
|
3484
|
-
},
|
|
3533
|
+
}, vo = { 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)]" }, yo = {
|
|
3485
3534
|
key: 2,
|
|
3486
3535
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
3487
|
-
},
|
|
3536
|
+
}, bo = ["aria-label", "title"], xo = {
|
|
3488
3537
|
key: 3,
|
|
3489
3538
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
3490
|
-
},
|
|
3539
|
+
}, So = ["aria-label"], Co = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
|
|
3491
3540
|
__name: "BlockWrapper",
|
|
3492
3541
|
props: {
|
|
3493
3542
|
block: {},
|
|
@@ -3497,7 +3546,7 @@ var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
|
3497
3546
|
},
|
|
3498
3547
|
emits: ["select"],
|
|
3499
3548
|
setup(e, { emit: t }) {
|
|
3500
|
-
let n = E(() => import("./BlockIssueBadge-
|
|
3549
|
+
let n = E(() => import("./BlockIssueBadge-Byce0j0W.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, 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);
|
|
3501
3550
|
async function p() {
|
|
3502
3551
|
await m(), l.value?.focus();
|
|
3503
3552
|
}
|
|
@@ -3523,15 +3572,15 @@ var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
|
3523
3572
|
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 ? {
|
|
3524
3573
|
desktop: a.viewport.desktop,
|
|
3525
3574
|
mobile: a.viewport.mobile
|
|
3526
|
-
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(
|
|
3527
|
-
let e =
|
|
3575
|
+
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(Vn, null), S = v(Hn, null), w = v(lr, {}), T = O(() => !!w.savedModules), ee = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
|
|
3576
|
+
let e = co(r.block), t = {
|
|
3528
3577
|
padding: e.padding,
|
|
3529
3578
|
backgroundColor: e.backgroundColor
|
|
3530
3579
|
};
|
|
3531
3580
|
return e.borderRadius && (t.borderRadius = e.borderRadius), t;
|
|
3532
|
-
}), ne = O(() =>
|
|
3581
|
+
}), ne = O(() => lo(r.block));
|
|
3533
3582
|
function re(e) {
|
|
3534
|
-
r.previewMode || (e.stopPropagation(), i("select"));
|
|
3583
|
+
r.previewMode || (e.target?.closest("a") && e.preventDefault(), e.stopPropagation(), i("select"));
|
|
3535
3584
|
}
|
|
3536
3585
|
function N() {
|
|
3537
3586
|
x?.deleteBlock(r.block.id);
|
|
@@ -3572,60 +3621,60 @@ var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
|
3572
3621
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
3573
3622
|
title: j(a).blockActions.drag,
|
|
3574
3623
|
onKeydown: h
|
|
3575
|
-
}, [V(j(
|
|
3624
|
+
}, [V(j(_i), {
|
|
3576
3625
|
size: 14,
|
|
3577
3626
|
"stroke-width": 1.5
|
|
3578
|
-
})], 40,
|
|
3627
|
+
})], 40, po),
|
|
3579
3628
|
I("button", {
|
|
3580
3629
|
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",
|
|
3581
3630
|
"aria-label": j(a).blockActions.duplicate,
|
|
3582
3631
|
title: j(a).blockActions.duplicate,
|
|
3583
3632
|
onClick: M(ie, ["stop"])
|
|
3584
|
-
}, [V(j(
|
|
3633
|
+
}, [V(j(di), {
|
|
3585
3634
|
size: 14,
|
|
3586
3635
|
"stroke-width": 1.5
|
|
3587
|
-
})], 8,
|
|
3636
|
+
})], 8, mo),
|
|
3588
3637
|
T.value ? (f(), k("button", {
|
|
3589
3638
|
key: 0,
|
|
3590
3639
|
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",
|
|
3591
3640
|
"aria-label": j(a).blockActions.saveAsModule,
|
|
3592
3641
|
title: j(a).blockActions.saveAsModule,
|
|
3593
3642
|
onClick: M(P, ["stop"])
|
|
3594
|
-
}, [V(j(
|
|
3643
|
+
}, [V(j(ei), {
|
|
3595
3644
|
size: 14,
|
|
3596
3645
|
"stroke-width": 1.5
|
|
3597
|
-
})], 8,
|
|
3646
|
+
})], 8, ho)) : A("", !0),
|
|
3598
3647
|
I("button", {
|
|
3599
3648
|
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",
|
|
3600
3649
|
"aria-label": j(a).blockActions.delete,
|
|
3601
3650
|
title: j(a).blockActions.delete,
|
|
3602
3651
|
onClick: M(N, ["stop"])
|
|
3603
|
-
}, [V(j(
|
|
3652
|
+
}, [V(j(Fi), {
|
|
3604
3653
|
size: 14,
|
|
3605
3654
|
"stroke-width": 1.5
|
|
3606
|
-
})], 8,
|
|
3607
|
-
], 8,
|
|
3608
|
-
g.value ? (f(), k("div",
|
|
3655
|
+
})], 8, go)
|
|
3656
|
+
], 8, fo)) : A("", !0),
|
|
3657
|
+
g.value ? (f(), k("div", _o, [I("span", vo, [V(j(fi), {
|
|
3609
3658
|
size: 12,
|
|
3610
3659
|
"stroke-width": 1.5
|
|
3611
3660
|
}), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
|
|
3612
|
-
b.value && !g.value ? (f(), k("div",
|
|
3661
|
+
b.value && !g.value ? (f(), k("div", yo, [I("button", {
|
|
3613
3662
|
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)]",
|
|
3614
3663
|
"aria-label": j(a).blockActions.conditionToggle,
|
|
3615
3664
|
title: e.block.displayCondition?.label,
|
|
3616
3665
|
onClick: M(ae, ["stop"])
|
|
3617
|
-
}, [V(j(
|
|
3666
|
+
}, [V(j(gi), {
|
|
3618
3667
|
size: 12,
|
|
3619
3668
|
"stroke-width": 2
|
|
3620
|
-
})], 8,
|
|
3621
|
-
ee.value > 0 && !g.value ? (f(), k("div",
|
|
3669
|
+
})], 8, bo)])) : A("", !0),
|
|
3670
|
+
ee.value > 0 && !g.value ? (f(), k("div", xo, [I("button", {
|
|
3622
3671
|
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)]",
|
|
3623
3672
|
"aria-label": j(s)(j(a).blockActions.comments, { count: String(ee.value) }),
|
|
3624
3673
|
onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
|
|
3625
|
-
}, [V(j(
|
|
3674
|
+
}, [V(j(Si), {
|
|
3626
3675
|
size: 12,
|
|
3627
3676
|
"stroke-width": 2.5
|
|
3628
|
-
}), z(" " + D(ee.value), 1)], 8,
|
|
3677
|
+
}), z(" " + D(ee.value), 1)], 8, So)])) : A("", !0),
|
|
3629
3678
|
ne.value ? (f(), k("div", {
|
|
3630
3679
|
key: 4,
|
|
3631
3680
|
class: "tpl-section-wrapper",
|
|
@@ -3638,32 +3687,32 @@ var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
|
3638
3687
|
class: "tpl-block-content",
|
|
3639
3688
|
style: L(te.value)
|
|
3640
3689
|
}, [o(t.$slots, "default", {}, void 0, !0)], 4))
|
|
3641
|
-
], 10,
|
|
3690
|
+
], 10, uo));
|
|
3642
3691
|
}
|
|
3643
|
-
}), [["__scopeId", "data-v-
|
|
3692
|
+
}), [["__scopeId", "data-v-7d9e7893"]]);
|
|
3644
3693
|
//#endregion
|
|
3645
3694
|
//#region src/utils/unwrapParagraph.ts
|
|
3646
|
-
function
|
|
3695
|
+
function wo(e) {
|
|
3647
3696
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
3648
3697
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
3649
3698
|
}
|
|
3650
3699
|
//#endregion
|
|
3651
3700
|
//#region src/components/blocks/TitleBlock.vue
|
|
3652
|
-
var
|
|
3701
|
+
var To = /* @__PURE__ */ B({
|
|
3653
3702
|
__name: "TitleBlock",
|
|
3654
3703
|
props: {
|
|
3655
3704
|
block: {},
|
|
3656
3705
|
viewport: {}
|
|
3657
3706
|
},
|
|
3658
3707
|
setup(e) {
|
|
3659
|
-
let t = e, n = E(() => import("./TitleEditor-
|
|
3708
|
+
let t = e, n = E(() => import("./TitleEditor-C8qIn9Oi.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = io(() => t.block.content), l = O(() => {
|
|
3660
3709
|
let e = {
|
|
3661
3710
|
fontSize: `${pe[t.block.level]}px`,
|
|
3662
3711
|
color: t.block.color,
|
|
3663
3712
|
textAlign: t.block.textAlign
|
|
3664
3713
|
};
|
|
3665
3714
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
3666
|
-
}), u = O(() => `h${t.block.level}`), p = O(() =>
|
|
3715
|
+
}), u = O(() => `h${t.block.level}`), p = O(() => wo(o.value));
|
|
3667
3716
|
return (t, o) => (f(), k("div", {
|
|
3668
3717
|
ref_key: "blockRef",
|
|
3669
3718
|
ref: i,
|
|
@@ -3689,16 +3738,16 @@ var xo = /* @__PURE__ */ B({
|
|
|
3689
3738
|
});
|
|
3690
3739
|
//#endregion
|
|
3691
3740
|
//#region src/utils/sectionColumnDrop.ts
|
|
3692
|
-
function
|
|
3741
|
+
function Eo(e) {
|
|
3693
3742
|
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
3694
3743
|
}
|
|
3695
3744
|
//#endregion
|
|
3696
3745
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3697
|
-
var
|
|
3746
|
+
var Do = { class: "tpl:w-full" }, Oo = { class: "tpl:flex tpl:gap-0" }, ko = {
|
|
3698
3747
|
key: 0,
|
|
3699
3748
|
"data-testid": "section-drop-hint",
|
|
3700
3749
|
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)]"
|
|
3701
|
-
},
|
|
3750
|
+
}, Ao = /* @__PURE__ */ B({
|
|
3702
3751
|
__name: "SectionBlock",
|
|
3703
3752
|
props: {
|
|
3704
3753
|
block: {},
|
|
@@ -3706,13 +3755,13 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3706
3755
|
},
|
|
3707
3756
|
setup(e) {
|
|
3708
3757
|
let t = {
|
|
3709
|
-
title:
|
|
3710
|
-
paragraph:
|
|
3711
|
-
image:
|
|
3712
|
-
button:
|
|
3713
|
-
divider:
|
|
3714
|
-
custom:
|
|
3715
|
-
}, n = e, { t: r } = Y(), i = J(
|
|
3758
|
+
title: To,
|
|
3759
|
+
paragraph: oo,
|
|
3760
|
+
image: qa,
|
|
3761
|
+
button: Wr,
|
|
3762
|
+
divider: Da,
|
|
3763
|
+
custom: Ta
|
|
3764
|
+
}, n = e, { t: r } = Y(), i = J(zn, "SectionBlock"), a = v(Hn, null), o = v(qn, null), s = O(() => {
|
|
3716
3765
|
switch (n.block.columns) {
|
|
3717
3766
|
case "2": return ["50%", "50%"];
|
|
3718
3767
|
case "3": return [
|
|
@@ -3738,7 +3787,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3738
3787
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3739
3788
|
}
|
|
3740
3789
|
function m(e) {
|
|
3741
|
-
return
|
|
3790
|
+
return so(e, o, t);
|
|
3742
3791
|
}
|
|
3743
3792
|
function g(e, t) {
|
|
3744
3793
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
@@ -3746,7 +3795,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3746
3795
|
dataSourceFetched: t.dataSourceFetched
|
|
3747
3796
|
});
|
|
3748
3797
|
}
|
|
3749
|
-
return (t, n) => (f(), k("div",
|
|
3798
|
+
return (t, n) => (f(), k("div", Do, [I("div", Oo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
|
|
3750
3799
|
key: n,
|
|
3751
3800
|
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
3752
3801
|
style: L({ width: s.value[n] })
|
|
@@ -3755,7 +3804,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3755
3804
|
group: {
|
|
3756
3805
|
name: "blocks",
|
|
3757
3806
|
pull: !0,
|
|
3758
|
-
put: (e, t, n) => j(
|
|
3807
|
+
put: (e, t, n) => j(Eo)(n)
|
|
3759
3808
|
},
|
|
3760
3809
|
animation: 150,
|
|
3761
3810
|
"ghost-class": "tpl-ghost",
|
|
@@ -3768,7 +3817,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3768
3817
|
class: "tpl:min-h-[60px]",
|
|
3769
3818
|
"onUpdate:modelValue": (e) => p(n, e)
|
|
3770
3819
|
}, {
|
|
3771
|
-
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(
|
|
3820
|
+
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(Co, {
|
|
3772
3821
|
block: t,
|
|
3773
3822
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3774
3823
|
viewport: e.viewport,
|
|
@@ -3799,13 +3848,13 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3799
3848
|
"model-value",
|
|
3800
3849
|
"group",
|
|
3801
3850
|
"onUpdate:modelValue"
|
|
3802
|
-
]), u(n).length === 0 ? (f(), k("div",
|
|
3851
|
+
]), u(n).length === 0 ? (f(), k("div", ko, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
|
|
3803
3852
|
}
|
|
3804
|
-
}),
|
|
3853
|
+
}), jo = me, Mo = {
|
|
3805
3854
|
small: 24,
|
|
3806
3855
|
medium: 32,
|
|
3807
3856
|
large: 48
|
|
3808
|
-
},
|
|
3857
|
+
}, No = [
|
|
3809
3858
|
"facebook",
|
|
3810
3859
|
"twitter",
|
|
3811
3860
|
"instagram",
|
|
@@ -3823,11 +3872,11 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3823
3872
|
"github",
|
|
3824
3873
|
"dribbble",
|
|
3825
3874
|
"behance"
|
|
3826
|
-
],
|
|
3875
|
+
], Po = [
|
|
3827
3876
|
"width",
|
|
3828
3877
|
"height",
|
|
3829
3878
|
"fill"
|
|
3830
|
-
],
|
|
3879
|
+
], Fo = ["d"], Io = /* @__PURE__ */ B({
|
|
3831
3880
|
__name: "SocialIconSvg",
|
|
3832
3881
|
props: {
|
|
3833
3882
|
platform: {},
|
|
@@ -3835,7 +3884,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3835
3884
|
iconSize: {}
|
|
3836
3885
|
},
|
|
3837
3886
|
setup(e) {
|
|
3838
|
-
let t = e, n = O(() =>
|
|
3887
|
+
let t = e, n = O(() => jo[t.platform]), r = O(() => Mo[t.iconSize]), i = O(() => {
|
|
3839
3888
|
let e = {
|
|
3840
3889
|
display: "inline-flex",
|
|
3841
3890
|
alignItems: "center",
|
|
@@ -3879,12 +3928,12 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3879
3928
|
viewBox: "0 0 24 24",
|
|
3880
3929
|
fill: o.value,
|
|
3881
3930
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3882
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3931
|
+
}, [I("path", { d: n.value.path }, null, 8, Fo)], 8, Po))], 4));
|
|
3883
3932
|
}
|
|
3884
|
-
}),
|
|
3933
|
+
}), Lo = { class: "tpl:w-full" }, Ro = ["href"], zo = {
|
|
3885
3934
|
key: 1,
|
|
3886
3935
|
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)]"
|
|
3887
|
-
},
|
|
3936
|
+
}, Bo = /* @__PURE__ */ B({
|
|
3888
3937
|
__name: "SocialIconsBlock",
|
|
3889
3938
|
props: {
|
|
3890
3939
|
block: {},
|
|
@@ -3897,7 +3946,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3897
3946
|
gap: `${t.block.spacing}px`,
|
|
3898
3947
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3899
3948
|
})), i = O(() => t.block.icons.length > 0);
|
|
3900
|
-
return (t, a) => (f(), k("div",
|
|
3949
|
+
return (t, a) => (f(), k("div", Lo, [i.value ? (f(), k("div", {
|
|
3901
3950
|
key: 0,
|
|
3902
3951
|
style: L(r.value)
|
|
3903
3952
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3905,7 +3954,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3905
3954
|
href: t.url || "#",
|
|
3906
3955
|
class: "tpl:cursor-default",
|
|
3907
3956
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3908
|
-
}, [V(
|
|
3957
|
+
}, [V(Io, {
|
|
3909
3958
|
platform: t.platform,
|
|
3910
3959
|
"icon-style": e.block.iconStyle,
|
|
3911
3960
|
"icon-size": e.block.iconSize
|
|
@@ -3913,44 +3962,44 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3913
3962
|
"platform",
|
|
3914
3963
|
"icon-style",
|
|
3915
3964
|
"icon-size"
|
|
3916
|
-
])], 8,
|
|
3965
|
+
])], 8, Ro))), 128))], 4)) : (f(), k("div", zo, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
3917
3966
|
}
|
|
3918
|
-
}),
|
|
3967
|
+
}), Vo = { class: "tpl:w-full" }, Ho = {
|
|
3919
3968
|
key: 0,
|
|
3920
3969
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3921
3970
|
style: {
|
|
3922
3971
|
"background-color": "var(--tpl-bg-hover)",
|
|
3923
3972
|
color: "var(--tpl-text-dim)"
|
|
3924
3973
|
}
|
|
3925
|
-
},
|
|
3974
|
+
}, Uo = /* @__PURE__ */ B({
|
|
3926
3975
|
__name: "SpacerBlock",
|
|
3927
3976
|
props: {
|
|
3928
3977
|
block: {},
|
|
3929
3978
|
viewport: {}
|
|
3930
3979
|
},
|
|
3931
3980
|
setup(e) {
|
|
3932
|
-
let t = e, n = J(
|
|
3981
|
+
let t = e, n = J(zn, "SpacerBlock"), r = O(() => ({
|
|
3933
3982
|
height: `${t.block.height}px`,
|
|
3934
3983
|
minHeight: `${t.block.height}px`,
|
|
3935
3984
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3936
3985
|
}));
|
|
3937
|
-
return (t, i) => (f(), k("div",
|
|
3986
|
+
return (t, i) => (f(), k("div", Vo, [I("div", {
|
|
3938
3987
|
style: L(r.value),
|
|
3939
3988
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
3940
|
-
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span",
|
|
3989
|
+
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Ho, D(e.block.height) + "px ", 1))], 6)]));
|
|
3941
3990
|
}
|
|
3942
|
-
}),
|
|
3991
|
+
}), Wo = { class: "tpl:w-full" }, Go = { key: 0 }, Ko = [
|
|
3943
3992
|
"aria-label",
|
|
3944
3993
|
"data-placeholder",
|
|
3945
3994
|
"onBlur"
|
|
3946
|
-
],
|
|
3995
|
+
], qo = [
|
|
3947
3996
|
"aria-label",
|
|
3948
3997
|
"data-placeholder",
|
|
3949
3998
|
"onBlur"
|
|
3950
|
-
],
|
|
3999
|
+
], Jo = {
|
|
3951
4000
|
key: 1,
|
|
3952
4001
|
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)]"
|
|
3953
|
-
},
|
|
4002
|
+
}, Yo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
|
|
3954
4003
|
__name: "TableBlock",
|
|
3955
4004
|
props: {
|
|
3956
4005
|
block: {},
|
|
@@ -3964,7 +4013,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3964
4013
|
updated(e, t) {
|
|
3965
4014
|
t.value !== t.oldValue && e.getRootNode().activeElement !== e && (e.textContent = t.value ?? "");
|
|
3966
4015
|
}
|
|
3967
|
-
}, n = e, { t: r } = Y(), i = J(
|
|
4016
|
+
}, n = e, { t: r } = Y(), i = J(zn, "TableBlock"), a = O(() => n.block.rows.length > 0), o = O(() => ({
|
|
3968
4017
|
width: "100%",
|
|
3969
4018
|
borderCollapse: "collapse",
|
|
3970
4019
|
fontSize: `${n.block.fontSize}px`,
|
|
@@ -3993,11 +4042,11 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
3993
4042
|
} : n);
|
|
3994
4043
|
i.updateBlock(n.block.id, { rows: o });
|
|
3995
4044
|
}
|
|
3996
|
-
return (e, n) => (f(), k("div",
|
|
4045
|
+
return (e, n) => (f(), k("div", Wo, [a.value ? (f(), k("table", {
|
|
3997
4046
|
key: 0,
|
|
3998
4047
|
style: L(o.value),
|
|
3999
4048
|
class: "tpl-table-editable"
|
|
4000
|
-
}, [u.value ? (f(), k("thead",
|
|
4049
|
+
}, [u.value ? (f(), k("thead", Go, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
|
|
4001
4050
|
key: e.id,
|
|
4002
4051
|
style: L(l.value),
|
|
4003
4052
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -4006,7 +4055,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
4006
4055
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
4007
4056
|
onKeydown: n[0] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
4008
4057
|
onClick: M(p, ["stop"])
|
|
4009
|
-
}, null, 44,
|
|
4058
|
+
}, null, 44, Ko)), [[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", {
|
|
4010
4059
|
key: i.id,
|
|
4011
4060
|
style: L(s.value),
|
|
4012
4061
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -4015,9 +4064,9 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
4015
4064
|
onBlur: (t) => m(e.id, i.id, t),
|
|
4016
4065
|
onKeydown: n[1] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
4017
4066
|
onClick: M(p, ["stop"])
|
|
4018
|
-
}, null, 44,
|
|
4067
|
+
}, null, 44, qo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Jo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
|
|
4019
4068
|
}
|
|
4020
|
-
}), [["__scopeId", "data-v-f065872a"]]),
|
|
4069
|
+
}), [["__scopeId", "data-v-f065872a"]]), Xo = /* @__PURE__ */ B({
|
|
4021
4070
|
__name: "VideoPlayButton",
|
|
4022
4071
|
props: { hoverEffect: {
|
|
4023
4072
|
type: Boolean,
|
|
@@ -4035,7 +4084,7 @@ var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
|
4035
4084
|
});
|
|
4036
4085
|
//#endregion
|
|
4037
4086
|
//#region src/utils/videoThumbnail.ts
|
|
4038
|
-
function
|
|
4087
|
+
function Zo(e) {
|
|
4039
4088
|
if (!e) return {
|
|
4040
4089
|
platform: "unknown",
|
|
4041
4090
|
videoId: null,
|
|
@@ -4067,25 +4116,25 @@ function qo(e) {
|
|
|
4067
4116
|
thumbnailUrl: null
|
|
4068
4117
|
};
|
|
4069
4118
|
}
|
|
4070
|
-
function
|
|
4071
|
-
return t ||
|
|
4119
|
+
function Qo(e, t) {
|
|
4120
|
+
return t || Zo(e).thumbnailUrl;
|
|
4072
4121
|
}
|
|
4073
4122
|
//#endregion
|
|
4074
4123
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
4075
|
-
var
|
|
4124
|
+
var $o = ["src", "alt"], es = {
|
|
4076
4125
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
4077
4126
|
style: { opacity: "0.7" }
|
|
4078
|
-
},
|
|
4127
|
+
}, ts = ["href"], ns = ["src", "alt"], rs = ["src", "alt"], is = {
|
|
4079
4128
|
key: 3,
|
|
4080
4129
|
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)]"
|
|
4081
|
-
},
|
|
4130
|
+
}, as = /* @__PURE__ */ B({
|
|
4082
4131
|
__name: "VideoBlock",
|
|
4083
4132
|
props: {
|
|
4084
4133
|
block: {},
|
|
4085
4134
|
viewport: {}
|
|
4086
4135
|
},
|
|
4087
4136
|
setup(e) {
|
|
4088
|
-
let t = e, { t: n } = Y(), { syntax: r } =
|
|
4137
|
+
let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Qo(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
|
|
4089
4138
|
let e = t.block.align;
|
|
4090
4139
|
return {
|
|
4091
4140
|
maxWidth: "100%",
|
|
@@ -4094,7 +4143,7 @@ var Yo = ["src", "alt"], Xo = {
|
|
|
4094
4143
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
4095
4144
|
marginRight: e === "center" ? "auto" : void 0
|
|
4096
4145
|
};
|
|
4097
|
-
}), c = O(() =>
|
|
4146
|
+
}), c = O(() => xt(t.block.url, r) ? t.block.url : t.block.thumbnailUrl);
|
|
4098
4147
|
return (t, r) => (f(), k("div", {
|
|
4099
4148
|
class: "tpl:w-full",
|
|
4100
4149
|
style: L(o.value)
|
|
@@ -4106,16 +4155,16 @@ var Yo = ["src", "alt"], Xo = {
|
|
|
4106
4155
|
class: "tpl:w-full tpl:border-0",
|
|
4107
4156
|
src: e.block.placeholderUrl,
|
|
4108
4157
|
alt: e.block.alt
|
|
4109
|
-
}, null, 8,
|
|
4158
|
+
}, null, 8, $o), V(Xo)], 4)) : i.value ? (f(), k("div", {
|
|
4110
4159
|
key: 1,
|
|
4111
4160
|
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)]",
|
|
4112
4161
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
4113
|
-
}, [V(j(
|
|
4162
|
+
}, [V(j(zi), {
|
|
4114
4163
|
size: 36,
|
|
4115
4164
|
"stroke-width": 1.5,
|
|
4116
4165
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
4117
4166
|
style: { opacity: "0.5" }
|
|
4118
|
-
}), I("span",
|
|
4167
|
+
}), I("span", es, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
4119
4168
|
key: 0,
|
|
4120
4169
|
href: e.block.url,
|
|
4121
4170
|
target: "_blank",
|
|
@@ -4127,7 +4176,7 @@ var Yo = ["src", "alt"], Xo = {
|
|
|
4127
4176
|
class: "tpl:w-full tpl:border-0",
|
|
4128
4177
|
src: a.value,
|
|
4129
4178
|
alt: e.block.alt
|
|
4130
|
-
}, null, 8,
|
|
4179
|
+
}, null, 8, ns), V(Xo, { "hover-effect": "" })], 12, ts)) : (f(), k("div", {
|
|
4131
4180
|
key: 1,
|
|
4132
4181
|
class: "tpl:relative tpl:inline-block",
|
|
4133
4182
|
style: L(s.value)
|
|
@@ -4135,48 +4184,48 @@ var Yo = ["src", "alt"], Xo = {
|
|
|
4135
4184
|
class: "tpl:w-full tpl:border-0",
|
|
4136
4185
|
src: a.value,
|
|
4137
4186
|
alt: e.block.alt
|
|
4138
|
-
}, null, 8,
|
|
4187
|
+
}, null, 8, rs), V(Xo)], 4))], 64)) : (f(), k("div", is, [V(j(zi), {
|
|
4139
4188
|
size: 40,
|
|
4140
4189
|
"stroke-width": 1.5,
|
|
4141
4190
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
4142
4191
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
4143
4192
|
}
|
|
4144
|
-
}),
|
|
4145
|
-
section:
|
|
4146
|
-
title:
|
|
4147
|
-
paragraph:
|
|
4148
|
-
image:
|
|
4149
|
-
button:
|
|
4150
|
-
divider:
|
|
4151
|
-
video:
|
|
4152
|
-
social:
|
|
4153
|
-
menu:
|
|
4154
|
-
table:
|
|
4155
|
-
spacer:
|
|
4156
|
-
html:
|
|
4157
|
-
countdown: E(() => import("./CountdownBlock-
|
|
4193
|
+
}), os = {
|
|
4194
|
+
section: Ao,
|
|
4195
|
+
title: To,
|
|
4196
|
+
paragraph: oo,
|
|
4197
|
+
image: qa,
|
|
4198
|
+
button: Wr,
|
|
4199
|
+
divider: Da,
|
|
4200
|
+
video: as,
|
|
4201
|
+
social: Bo,
|
|
4202
|
+
menu: Za,
|
|
4203
|
+
table: Yo,
|
|
4204
|
+
spacer: Uo,
|
|
4205
|
+
html: Ma,
|
|
4206
|
+
countdown: E(() => import("./CountdownBlock-DxTuMRBM.js").then((e) => e.n))
|
|
4158
4207
|
};
|
|
4159
|
-
function
|
|
4208
|
+
function ss(e) {
|
|
4160
4209
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
4161
4210
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
4162
|
-
let { resolvedTheme: c } =
|
|
4211
|
+
let { resolvedTheme: c } = Er(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Or({
|
|
4163
4212
|
themeOverrides: u,
|
|
4164
4213
|
resolvedTheme: c,
|
|
4165
4214
|
extraStyles: e.themeExtraStyles
|
|
4166
|
-
}), f =
|
|
4215
|
+
}), f = Mt({
|
|
4167
4216
|
content: t.content,
|
|
4168
4217
|
setContent: (e, n) => t.setContent(e, n),
|
|
4169
4218
|
...e.historyOptions
|
|
4170
4219
|
});
|
|
4171
|
-
|
|
4172
|
-
let m =
|
|
4220
|
+
Rt(t, f);
|
|
4221
|
+
let m = Pt({
|
|
4173
4222
|
addBlock: t.addBlock,
|
|
4174
4223
|
removeBlock: t.removeBlock,
|
|
4175
4224
|
updateBlock: t.updateBlock,
|
|
4176
4225
|
selectBlock: t.selectBlock,
|
|
4177
4226
|
findBlockLocation: t.findBlockLocation,
|
|
4178
4227
|
blockDefaults: n.blockDefaults
|
|
4179
|
-
}), h =
|
|
4228
|
+
}), h = It(t), g = e.autoSaveOptions !== null && e.autoSaveOptions !== void 0 ? Ft({
|
|
4180
4229
|
content: t.content,
|
|
4181
4230
|
isDirty: () => t.state.isDirty,
|
|
4182
4231
|
...e.autoSaveOptions
|
|
@@ -4184,15 +4233,15 @@ function rs(e) {
|
|
|
4184
4233
|
g && (_ = H(f.isNavigating, (e) => {
|
|
4185
4234
|
e ? g.pause() : g.resume();
|
|
4186
4235
|
}));
|
|
4187
|
-
let v =
|
|
4236
|
+
let v = Tr(t, {
|
|
4188
4237
|
t: a,
|
|
4189
4238
|
format: o
|
|
4190
|
-
}), y =
|
|
4191
|
-
if (
|
|
4239
|
+
}), y = Mr();
|
|
4240
|
+
if (Lr(y, os), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Ta);
|
|
4192
4241
|
function b(e) {
|
|
4193
|
-
for (let t of e) y.registerCustom(t,
|
|
4242
|
+
for (let t of e) y.registerCustom(t, Ta);
|
|
4194
4243
|
}
|
|
4195
|
-
let x =
|
|
4244
|
+
let x = Ln();
|
|
4196
4245
|
if (s() && l(x.dispose), e.containerEl) {
|
|
4197
4246
|
let t = e.containerEl;
|
|
4198
4247
|
q(document, "pointerdown", (e) => {
|
|
@@ -4201,7 +4250,7 @@ function rs(e) {
|
|
|
4201
4250
|
}, { capture: !0 });
|
|
4202
4251
|
}
|
|
4203
4252
|
function S(r) {
|
|
4204
|
-
x.isActive() &&
|
|
4253
|
+
x.isActive() && zr(r, {
|
|
4205
4254
|
history: f,
|
|
4206
4255
|
selectBlock: (e) => t.selectBlock(e),
|
|
4207
4256
|
getSelectedBlockId: () => t.state.selectedBlockId,
|
|
@@ -4212,17 +4261,17 @@ function rs(e) {
|
|
|
4212
4261
|
}
|
|
4213
4262
|
q(document, "keydown", S);
|
|
4214
4263
|
let w = C(null);
|
|
4215
|
-
p(
|
|
4216
|
-
let T =
|
|
4217
|
-
p(
|
|
4218
|
-
let E =
|
|
4264
|
+
p(fr, e.editorRoot ?? document), p(pr, w), p(Rn, r), p(zn, t), p(Bn, f), p(Vn, m), p(Hn, h), p(Un, i), p(Wn, d), p(Gn, c), p(Kn, n.blockDefaults), p(qn, y), p(Jn, n.customBlocks ?? []), p(Yn, n.paletteBlocks), p(Xn, Nr(t.content, y));
|
|
4265
|
+
let T = gt(n.mergeTags?.syntax);
|
|
4266
|
+
p(Zn, n.mergeTags?.tags ?? []), p(Qn, T), p($n, n.mergeTags?.onRequest ?? null), p(er, n.mergeTags?.autocomplete !== !1), p(tr, br()), p(nr, n.logicTags?.tags ?? []), p(rr, n.logicTags?.pairs ?? []), p(ar, n.logicTags?.onRequest ?? null), p(ir, xr()), p(or, n.onRequestMedia ?? null), p(sr, n.displayConditions?.conditions ?? []), p(cr, n.displayConditions?.allowCustom ?? !1), p(lr, e.capabilities ?? {}), p(ur, v);
|
|
4267
|
+
let E = Sr(n.lint) ? null : Cr({
|
|
4219
4268
|
content: t.content,
|
|
4220
4269
|
options: n.lint ?? {},
|
|
4221
4270
|
updateBlock: t.updateBlock,
|
|
4222
4271
|
updateSettings: t.updateSettings,
|
|
4223
4272
|
removeBlock: t.removeBlock
|
|
4224
4273
|
});
|
|
4225
|
-
p(
|
|
4274
|
+
p(dr, E);
|
|
4226
4275
|
function ee() {
|
|
4227
4276
|
_?.(), E?.destroy(), g?.destroy(), f.destroy();
|
|
4228
4277
|
}
|
|
@@ -4246,19 +4295,19 @@ function rs(e) {
|
|
|
4246
4295
|
}
|
|
4247
4296
|
//#endregion
|
|
4248
4297
|
//#region src/composables/usePopoverRoot.ts
|
|
4249
|
-
function
|
|
4250
|
-
return v(
|
|
4298
|
+
function cs() {
|
|
4299
|
+
return v(pr, C(null));
|
|
4251
4300
|
}
|
|
4252
4301
|
//#endregion
|
|
4253
4302
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4254
|
-
var
|
|
4303
|
+
var ls = ["data-tpl-theme"], us = /* @__PURE__ */ B({
|
|
4255
4304
|
__name: "TplModal",
|
|
4256
4305
|
props: { visible: { type: Boolean } },
|
|
4257
4306
|
emits: ["close", "keydown"],
|
|
4258
4307
|
setup(e, { emit: t }) {
|
|
4259
4308
|
let n = e, r = t, i = C(null);
|
|
4260
|
-
|
|
4261
|
-
let a = v(
|
|
4309
|
+
Qi(i, O(() => n.visible));
|
|
4310
|
+
let a = v(Gn), s = cs();
|
|
4262
4311
|
function c(e) {
|
|
4263
4312
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4264
4313
|
}
|
|
@@ -4287,11 +4336,11 @@ var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
|
4287
4336
|
}, [I("div", {
|
|
4288
4337
|
ref_key: "dialogRef",
|
|
4289
4338
|
ref: i
|
|
4290
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4339
|
+
}, [o(t.$slots, "default")], 512)], 40, ls)) : A("", !0)]),
|
|
4291
4340
|
_: 3
|
|
4292
4341
|
})], 8, ["to"])) : A("", !0);
|
|
4293
4342
|
}
|
|
4294
|
-
}),
|
|
4343
|
+
}), ds = class e {
|
|
4295
4344
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4296
4345
|
accessToken = null;
|
|
4297
4346
|
expiresAt = null;
|
|
@@ -4342,7 +4391,7 @@ var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
|
4342
4391
|
return this.accessToken && !this.isTokenExpiringSoon() ? this.accessToken : this.refreshToken();
|
|
4343
4392
|
}
|
|
4344
4393
|
isTokenExpiringSoon() {
|
|
4345
|
-
return this.expiresAt
|
|
4394
|
+
return !this.expiresAt || this.expiresAt.getTime() - Date.now() < e.REFRESH_THRESHOLD_MS;
|
|
4346
4395
|
}
|
|
4347
4396
|
async refreshToken() {
|
|
4348
4397
|
if (this.refreshPromise) return this.refreshPromise;
|
|
@@ -4365,7 +4414,7 @@ var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
|
4365
4414
|
};
|
|
4366
4415
|
e === "POST" && this.requestOptions.body && (t["Content-Type"] = "application/json", n.body = JSON.stringify(this.requestOptions.body));
|
|
4367
4416
|
let r = await fetch(this.url, n);
|
|
4368
|
-
if (!r.ok) throw new
|
|
4417
|
+
if (!r.ok) throw new Et(`Token refresh failed: ${r.status}`, r.status);
|
|
4369
4418
|
let i = await r.json();
|
|
4370
4419
|
if (!i.token || !i.expires_at || !i.project_id || !i.tenant) throw Error("Invalid token response: missing token, expires_at, project_id, or tenant");
|
|
4371
4420
|
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 = {
|
|
@@ -4392,8 +4441,8 @@ var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
|
4392
4441
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4393
4442
|
}
|
|
4394
4443
|
};
|
|
4395
|
-
function
|
|
4396
|
-
return e.mode === "direct" ? new
|
|
4444
|
+
function fs(e, t) {
|
|
4445
|
+
return e.mode === "direct" ? new ds({
|
|
4397
4446
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4398
4447
|
baseUrl: e.baseUrl,
|
|
4399
4448
|
requestOptions: {
|
|
@@ -4407,7 +4456,7 @@ function cs(e, t) {
|
|
|
4407
4456
|
}
|
|
4408
4457
|
},
|
|
4409
4458
|
onError: t
|
|
4410
|
-
}) : new
|
|
4459
|
+
}) : new ds({
|
|
4411
4460
|
url: e.url,
|
|
4412
4461
|
baseUrl: e.baseUrl,
|
|
4413
4462
|
requestOptions: e.requestOptions,
|
|
@@ -4419,16 +4468,16 @@ function cs(e, t) {
|
|
|
4419
4468
|
function Z(e, t) {
|
|
4420
4469
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4421
4470
|
}
|
|
4422
|
-
var
|
|
4471
|
+
var ps = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ps}/templates/{template}`, ms = `${Q}/ai`, hs = `${ps}/media`, gs = `${hs}/folders`, _s = `${ps}/saved-modules`, $ = {
|
|
4423
4472
|
health: "/api/v1/health",
|
|
4424
|
-
"projects.config": `${
|
|
4425
|
-
"broadcasting.auth": `${
|
|
4426
|
-
"templates.store": `${
|
|
4473
|
+
"projects.config": `${ps}/config`,
|
|
4474
|
+
"broadcasting.auth": `${ps}/broadcasting/auth`,
|
|
4475
|
+
"templates.store": `${ps}/templates`,
|
|
4427
4476
|
"templates.show": `${Q}`,
|
|
4428
4477
|
"templates.update": `${Q}`,
|
|
4429
4478
|
"templates.destroy": `${Q}`,
|
|
4430
4479
|
"templates.export": `${Q}/export`,
|
|
4431
|
-
"templates.importFromBeefree": `${
|
|
4480
|
+
"templates.importFromBeefree": `${ps}/templates/import/from-beefree`,
|
|
4432
4481
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4433
4482
|
"snapshots.index": `${Q}/snapshots`,
|
|
4434
4483
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4439,31 +4488,31 @@ var ls = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ls}/templates/{te
|
|
|
4439
4488
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4440
4489
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4441
4490
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4442
|
-
"ai.generate": `${
|
|
4443
|
-
"ai.conversationMessages": `${
|
|
4444
|
-
"ai.suggestions": `${
|
|
4445
|
-
"ai.rewriteText": `${
|
|
4446
|
-
"ai.score": `${
|
|
4447
|
-
"ai.fixFinding": `${
|
|
4448
|
-
"ai.generateFromDesign": `${
|
|
4449
|
-
"media.upload": `${
|
|
4450
|
-
"media.browse": `${
|
|
4451
|
-
"media.delete": `${
|
|
4452
|
-
"media.move": `${
|
|
4453
|
-
"media.update": `${
|
|
4454
|
-
"media.replace": `${
|
|
4455
|
-
"media.checkUsage": `${
|
|
4456
|
-
"media.frequentlyUsed": `${
|
|
4457
|
-
"media.importFromUrl": `${
|
|
4458
|
-
"folders.index": `${
|
|
4459
|
-
"folders.store": `${
|
|
4460
|
-
"folders.update": `${
|
|
4461
|
-
"folders.destroy": `${
|
|
4462
|
-
"savedModules.index": `${
|
|
4463
|
-
"savedModules.store": `${
|
|
4464
|
-
"savedModules.update": `${
|
|
4465
|
-
"savedModules.destroy": `${
|
|
4466
|
-
},
|
|
4491
|
+
"ai.generate": `${ms}/generate`,
|
|
4492
|
+
"ai.conversationMessages": `${ms}/conversation-messages`,
|
|
4493
|
+
"ai.suggestions": `${ms}/suggestions`,
|
|
4494
|
+
"ai.rewriteText": `${ms}/rewrite-text`,
|
|
4495
|
+
"ai.score": `${ms}/score`,
|
|
4496
|
+
"ai.fixFinding": `${ms}/fix-finding`,
|
|
4497
|
+
"ai.generateFromDesign": `${ms}/generate-from-design`,
|
|
4498
|
+
"media.upload": `${hs}/upload`,
|
|
4499
|
+
"media.browse": `${hs}/browse`,
|
|
4500
|
+
"media.delete": `${hs}/delete`,
|
|
4501
|
+
"media.move": `${hs}/move`,
|
|
4502
|
+
"media.update": `${hs}/{media}`,
|
|
4503
|
+
"media.replace": `${hs}/{media}/replace`,
|
|
4504
|
+
"media.checkUsage": `${hs}/check-usage`,
|
|
4505
|
+
"media.frequentlyUsed": `${hs}/frequently-used`,
|
|
4506
|
+
"media.importFromUrl": `${hs}/import-from-url`,
|
|
4507
|
+
"folders.index": `${gs}`,
|
|
4508
|
+
"folders.store": `${gs}`,
|
|
4509
|
+
"folders.update": `${gs}/{mediaFolder}`,
|
|
4510
|
+
"folders.destroy": `${gs}/{mediaFolder}`,
|
|
4511
|
+
"savedModules.index": `${_s}`,
|
|
4512
|
+
"savedModules.store": `${_s}`,
|
|
4513
|
+
"savedModules.update": `${_s}/{savedModule}`,
|
|
4514
|
+
"savedModules.destroy": `${_s}/{savedModule}`
|
|
4515
|
+
}, vs = class {
|
|
4467
4516
|
authManager;
|
|
4468
4517
|
constructor(e) {
|
|
4469
4518
|
this.authManager = e;
|
|
@@ -4491,7 +4540,7 @@ var ls = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ls}/templates/{te
|
|
|
4491
4540
|
});
|
|
4492
4541
|
if (!n.ok) {
|
|
4493
4542
|
let e = await n.json().catch(() => ({ message: `HTTP error ${n.status}` }));
|
|
4494
|
-
throw new
|
|
4543
|
+
throw new Et(this.extractFirstValidationError(e), n.status);
|
|
4495
4544
|
}
|
|
4496
4545
|
if (n.status !== 204) return (await n.json()).data;
|
|
4497
4546
|
}
|
|
@@ -4649,14 +4698,14 @@ var ls = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ls}/templates/{te
|
|
|
4649
4698
|
};
|
|
4650
4699
|
//#endregion
|
|
4651
4700
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4652
|
-
function
|
|
4701
|
+
function ys(e) {
|
|
4653
4702
|
return {
|
|
4654
4703
|
host: e.host,
|
|
4655
4704
|
port: e.port,
|
|
4656
4705
|
appKey: e.app_key
|
|
4657
4706
|
};
|
|
4658
4707
|
}
|
|
4659
|
-
var
|
|
4708
|
+
var bs = class {
|
|
4660
4709
|
pusher = null;
|
|
4661
4710
|
authManager;
|
|
4662
4711
|
config;
|
|
@@ -4668,7 +4717,7 @@ var gs = class {
|
|
|
4668
4717
|
if (this.pusher) return;
|
|
4669
4718
|
let e;
|
|
4670
4719
|
try {
|
|
4671
|
-
({default: e} = await import("./pusher-
|
|
4720
|
+
({default: e} = await import("./pusher-CIwiKF8H.js").then((e) => /* @__PURE__ */ t(e.t(), 1)));
|
|
4672
4721
|
} catch {
|
|
4673
4722
|
throw Error("Cloud features require the optional peer dependency 'pusher-js'. Install it with: npm install pusher-js");
|
|
4674
4723
|
}
|
|
@@ -4723,7 +4772,7 @@ var gs = class {
|
|
|
4723
4772
|
};
|
|
4724
4773
|
//#endregion
|
|
4725
4774
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4726
|
-
function
|
|
4775
|
+
function xs(e, t) {
|
|
4727
4776
|
let { operation: n, data: r } = t;
|
|
4728
4777
|
switch (n) {
|
|
4729
4778
|
case "add_block":
|
|
@@ -4751,11 +4800,11 @@ function _s(e, t) {
|
|
|
4751
4800
|
}
|
|
4752
4801
|
//#endregion
|
|
4753
4802
|
//#region ../core/src/cloud/editor.ts
|
|
4754
|
-
function
|
|
4803
|
+
function Ss(e) {
|
|
4755
4804
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4756
4805
|
}
|
|
4757
|
-
function
|
|
4758
|
-
let t = new
|
|
4806
|
+
function Cs(e) {
|
|
4807
|
+
let t = new vs(e.authManager), n = S({
|
|
4759
4808
|
template: null,
|
|
4760
4809
|
content: We(e.defaultFontFamily, e.templateDefaults),
|
|
4761
4810
|
selectedBlockId: null,
|
|
@@ -4861,7 +4910,7 @@ function ys(e) {
|
|
|
4861
4910
|
let l;
|
|
4862
4911
|
if (r) {
|
|
4863
4912
|
let e = o(n.content.blocks, r);
|
|
4864
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
4913
|
+
if (!e || e.type !== "section" || i < 0 || i >= Ss(e.columns)) return;
|
|
4865
4914
|
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4866
4915
|
} else l = n.content.blocks;
|
|
4867
4916
|
let [u] = a.blocks.splice(c, 1);
|
|
@@ -4891,7 +4940,7 @@ function ys(e) {
|
|
|
4891
4940
|
}
|
|
4892
4941
|
}
|
|
4893
4942
|
async function w() {
|
|
4894
|
-
if (!n.template?.id) throw new
|
|
4943
|
+
if (!n.template?.id) throw new Et("No template loaded. Call create() or load() before saving.");
|
|
4895
4944
|
n.isSaving = !0;
|
|
4896
4945
|
try {
|
|
4897
4946
|
let e = await t.updateTemplate(n.template.id, n.content);
|
|
@@ -4953,11 +5002,11 @@ function ys(e) {
|
|
|
4953
5002
|
}
|
|
4954
5003
|
//#endregion
|
|
4955
5004
|
//#region ../core/src/cloud/ai-chat.ts
|
|
4956
|
-
var
|
|
4957
|
-
function
|
|
4958
|
-
return `msg_${Date.now()}_${++
|
|
5005
|
+
var ws = 0;
|
|
5006
|
+
function Ts() {
|
|
5007
|
+
return `msg_${Date.now()}_${++ws}`;
|
|
4959
5008
|
}
|
|
4960
|
-
function
|
|
5009
|
+
function Es(e) {
|
|
4961
5010
|
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);
|
|
4962
5011
|
function _(e, t) {
|
|
4963
5012
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -5051,14 +5100,14 @@ function Ss(e) {
|
|
|
5051
5100
|
let v = n();
|
|
5052
5101
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
5053
5102
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
5054
|
-
let y =
|
|
5103
|
+
let y = Ts();
|
|
5055
5104
|
a.value = [...a.value, {
|
|
5056
5105
|
id: y,
|
|
5057
5106
|
role: "user",
|
|
5058
5107
|
content: e,
|
|
5059
5108
|
timestamp: Date.now()
|
|
5060
5109
|
}];
|
|
5061
|
-
let b =
|
|
5110
|
+
let b = Ts();
|
|
5062
5111
|
a.value = [...a.value, {
|
|
5063
5112
|
id: b,
|
|
5064
5113
|
role: "assistant",
|
|
@@ -5149,9 +5198,9 @@ function Ss(e) {
|
|
|
5149
5198
|
}
|
|
5150
5199
|
//#endregion
|
|
5151
5200
|
//#region ../core/src/cloud/ai-config.ts
|
|
5152
|
-
function
|
|
5201
|
+
function Ds(e) {
|
|
5153
5202
|
function t(t) {
|
|
5154
|
-
return e
|
|
5203
|
+
return e !== !1 && e?.[t] !== !1;
|
|
5155
5204
|
}
|
|
5156
5205
|
return {
|
|
5157
5206
|
isFeatureEnabled: t,
|
|
@@ -5160,7 +5209,7 @@ function Cs(e) {
|
|
|
5160
5209
|
}
|
|
5161
5210
|
//#endregion
|
|
5162
5211
|
//#region ../core/src/cloud/template-scoring.ts
|
|
5163
|
-
function
|
|
5212
|
+
function Os(e) {
|
|
5164
5213
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
5165
5214
|
async function l(e, o) {
|
|
5166
5215
|
let s = n();
|
|
@@ -5305,7 +5354,7 @@ function ws(e) {
|
|
|
5305
5354
|
}
|
|
5306
5355
|
//#endregion
|
|
5307
5356
|
//#region ../core/src/cloud/design-reference.ts
|
|
5308
|
-
function
|
|
5357
|
+
function ks(e) {
|
|
5309
5358
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5310
5359
|
async function s(e) {
|
|
5311
5360
|
let s = n();
|
|
@@ -5368,8 +5417,8 @@ function Ts(e) {
|
|
|
5368
5417
|
}
|
|
5369
5418
|
//#endregion
|
|
5370
5419
|
//#region ../core/src/cloud/comments.ts
|
|
5371
|
-
function
|
|
5372
|
-
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new
|
|
5420
|
+
function As(e) {
|
|
5421
|
+
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new vs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
|
|
5373
5422
|
let e = 0;
|
|
5374
5423
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5375
5424
|
return e;
|
|
@@ -5568,17 +5617,17 @@ function Es(e) {
|
|
|
5568
5617
|
}
|
|
5569
5618
|
//#endregion
|
|
5570
5619
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5571
|
-
function
|
|
5620
|
+
function js(e) {
|
|
5572
5621
|
let { comments: t, channel: n } = e;
|
|
5573
5622
|
H(n, (e, n) => {
|
|
5574
5623
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5575
|
-
|
|
5624
|
+
Ms(t, e);
|
|
5576
5625
|
});
|
|
5577
5626
|
}), l(() => {
|
|
5578
5627
|
n.value?.unbind("comment-broadcast");
|
|
5579
5628
|
});
|
|
5580
5629
|
}
|
|
5581
|
-
function
|
|
5630
|
+
function Ms(e, t) {
|
|
5582
5631
|
switch (t.action) {
|
|
5583
5632
|
case "comment_created":
|
|
5584
5633
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5597,7 +5646,7 @@ function Os(e, t) {
|
|
|
5597
5646
|
}
|
|
5598
5647
|
//#endregion
|
|
5599
5648
|
//#region ../core/src/cloud/collaboration.ts
|
|
5600
|
-
var
|
|
5649
|
+
var Ns = [
|
|
5601
5650
|
"pusher:member_added",
|
|
5602
5651
|
"pusher:member_removed",
|
|
5603
5652
|
"client-block_locked",
|
|
@@ -5605,10 +5654,10 @@ var ks = [
|
|
|
5605
5654
|
"client-operation",
|
|
5606
5655
|
"mcp-operation"
|
|
5607
5656
|
];
|
|
5608
|
-
function
|
|
5609
|
-
for (let t of
|
|
5657
|
+
function Ps(e) {
|
|
5658
|
+
for (let t of Ns) e.unbind(t);
|
|
5610
5659
|
}
|
|
5611
|
-
var
|
|
5660
|
+
var Fs = [
|
|
5612
5661
|
"#3b82f6",
|
|
5613
5662
|
"#ef4444",
|
|
5614
5663
|
"#10b981",
|
|
@@ -5620,10 +5669,10 @@ var js = [
|
|
|
5620
5669
|
"#6366f1",
|
|
5621
5670
|
"#14b8a6"
|
|
5622
5671
|
];
|
|
5623
|
-
function
|
|
5672
|
+
function Is(e) {
|
|
5624
5673
|
let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
|
|
5625
5674
|
function u() {
|
|
5626
|
-
let e =
|
|
5675
|
+
let e = Fs[o % Fs.length];
|
|
5627
5676
|
return o++, e;
|
|
5628
5677
|
}
|
|
5629
5678
|
function d(e) {
|
|
@@ -5665,7 +5714,7 @@ function Ms(e) {
|
|
|
5665
5714
|
function h(e) {
|
|
5666
5715
|
s = !0;
|
|
5667
5716
|
try {
|
|
5668
|
-
|
|
5717
|
+
xs(n, e);
|
|
5669
5718
|
} finally {
|
|
5670
5719
|
s = !1;
|
|
5671
5720
|
}
|
|
@@ -5685,7 +5734,7 @@ function Ms(e) {
|
|
|
5685
5734
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5686
5735
|
s || (t && v(t), e && _(e));
|
|
5687
5736
|
}), H(r, (t, n) => {
|
|
5688
|
-
if (n &&
|
|
5737
|
+
if (n && Ps(n), !t) {
|
|
5689
5738
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5690
5739
|
return;
|
|
5691
5740
|
}
|
|
@@ -5717,7 +5766,7 @@ function Ms(e) {
|
|
|
5717
5766
|
h(e);
|
|
5718
5767
|
});
|
|
5719
5768
|
}), l(() => {
|
|
5720
|
-
r.value &&
|
|
5769
|
+
r.value && Ps(r.value);
|
|
5721
5770
|
}), {
|
|
5722
5771
|
collaborators: i,
|
|
5723
5772
|
lockedBlocks: a,
|
|
@@ -5727,7 +5776,7 @@ function Ms(e) {
|
|
|
5727
5776
|
}
|
|
5728
5777
|
//#endregion
|
|
5729
5778
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5730
|
-
function
|
|
5779
|
+
function Ls(e, t) {
|
|
5731
5780
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5732
5781
|
e.addBlock = (e, r, i, a) => {
|
|
5733
5782
|
n(e, r, i, a), t._broadcastOperation({
|
|
@@ -5782,11 +5831,11 @@ function Ns(e, t) {
|
|
|
5782
5831
|
}
|
|
5783
5832
|
//#endregion
|
|
5784
5833
|
//#region ../core/src/cloud/web-socket.ts
|
|
5785
|
-
function
|
|
5834
|
+
function Rs(e) {
|
|
5786
5835
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5787
5836
|
async function s(e, s) {
|
|
5788
5837
|
if (a) return;
|
|
5789
|
-
a = new
|
|
5838
|
+
a = new bs({
|
|
5790
5839
|
authManager: t,
|
|
5791
5840
|
config: s,
|
|
5792
5841
|
onError: n
|
|
@@ -5814,8 +5863,8 @@ function Ps(e) {
|
|
|
5814
5863
|
}
|
|
5815
5864
|
//#endregion
|
|
5816
5865
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5817
|
-
function
|
|
5818
|
-
let t = new
|
|
5866
|
+
function zs(e) {
|
|
5867
|
+
let t = new vs(e.authManager), n = C([]), r = C(!1);
|
|
5819
5868
|
async function i(i) {
|
|
5820
5869
|
r.value = !0;
|
|
5821
5870
|
try {
|
|
@@ -5863,8 +5912,8 @@ function Fs(e) {
|
|
|
5863
5912
|
}
|
|
5864
5913
|
//#endregion
|
|
5865
5914
|
//#region ../core/src/cloud/snapshots.ts
|
|
5866
|
-
function
|
|
5867
|
-
let t = new
|
|
5915
|
+
function Bs(e) {
|
|
5916
|
+
let t = new vs(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5868
5917
|
async function a() {
|
|
5869
5918
|
r.value = !0;
|
|
5870
5919
|
try {
|
|
@@ -5896,8 +5945,8 @@ function Is(e) {
|
|
|
5896
5945
|
}
|
|
5897
5946
|
//#endregion
|
|
5898
5947
|
//#region ../core/src/cloud/test-email.ts
|
|
5899
|
-
function
|
|
5900
|
-
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new
|
|
5948
|
+
function Vs(e) {
|
|
5949
|
+
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new vs(t), l = C(!1), u = C(null), d = C(null);
|
|
5901
5950
|
o && H(o, (e) => {
|
|
5902
5951
|
e && (d.value = t.testEmailConfig);
|
|
5903
5952
|
}, { immediate: !0 });
|
|
@@ -5933,8 +5982,8 @@ function Ls(e) {
|
|
|
5933
5982
|
}
|
|
5934
5983
|
//#endregion
|
|
5935
5984
|
//#region ../core/src/cloud/export.ts
|
|
5936
|
-
function
|
|
5937
|
-
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new
|
|
5985
|
+
function Hs(e) {
|
|
5986
|
+
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new vs(t);
|
|
5938
5987
|
function a() {
|
|
5939
5988
|
let e = n?.();
|
|
5940
5989
|
return {
|
|
@@ -5960,8 +6009,8 @@ function Rs(e) {
|
|
|
5960
6009
|
}
|
|
5961
6010
|
//#endregion
|
|
5962
6011
|
//#region ../core/src/cloud/plan-config.ts
|
|
5963
|
-
function
|
|
5964
|
-
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new
|
|
6012
|
+
function Us(e) {
|
|
6013
|
+
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new vs(t), o = O(() => r.value?.features ?? null);
|
|
5965
6014
|
function s(e) {
|
|
5966
6015
|
return r.value?.features[e] ?? !1;
|
|
5967
6016
|
}
|
|
@@ -5987,11 +6036,11 @@ function zs(e) {
|
|
|
5987
6036
|
}
|
|
5988
6037
|
//#endregion
|
|
5989
6038
|
//#region ../core/src/cloud/health-check.ts
|
|
5990
|
-
var
|
|
5991
|
-
function
|
|
6039
|
+
var Ws = 5e3;
|
|
6040
|
+
function Gs(e) {
|
|
5992
6041
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
5993
6042
|
}
|
|
5994
|
-
async function
|
|
6043
|
+
async function Ks(e, t) {
|
|
5995
6044
|
let n = performance.now();
|
|
5996
6045
|
try {
|
|
5997
6046
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -6043,7 +6092,7 @@ async function Hs(e, t) {
|
|
|
6043
6092
|
};
|
|
6044
6093
|
}
|
|
6045
6094
|
}
|
|
6046
|
-
async function
|
|
6095
|
+
async function qs(e) {
|
|
6047
6096
|
if (!e?.host || !e?.app_key) return {
|
|
6048
6097
|
ok: !1,
|
|
6049
6098
|
error: "WebSocket configuration not available"
|
|
@@ -6059,7 +6108,7 @@ async function Us(e) {
|
|
|
6059
6108
|
ok: !1,
|
|
6060
6109
|
error: "WebSocket connection timed out"
|
|
6061
6110
|
});
|
|
6062
|
-
},
|
|
6111
|
+
}, Ws);
|
|
6063
6112
|
try {
|
|
6064
6113
|
n = new WebSocket(t);
|
|
6065
6114
|
} catch (t) {
|
|
@@ -6079,8 +6128,8 @@ async function Us(e) {
|
|
|
6079
6128
|
};
|
|
6080
6129
|
});
|
|
6081
6130
|
}
|
|
6082
|
-
async function
|
|
6083
|
-
let t = await
|
|
6131
|
+
async function Js(e = {}) {
|
|
6132
|
+
let t = await Ks(Gs(e), e.authManager), n = await qs(t.wsConfig);
|
|
6084
6133
|
return {
|
|
6085
6134
|
api: t.api,
|
|
6086
6135
|
websocket: n,
|
|
@@ -6090,29 +6139,29 @@ async function Ws(e = {}) {
|
|
|
6090
6139
|
}
|
|
6091
6140
|
//#endregion
|
|
6092
6141
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
6093
|
-
function
|
|
6142
|
+
function Ys(e) {
|
|
6094
6143
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
6095
6144
|
H(n, (e, n) => {
|
|
6096
6145
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
6097
|
-
|
|
6146
|
+
xs(t, e), r?.(e);
|
|
6098
6147
|
});
|
|
6099
6148
|
});
|
|
6100
6149
|
}
|
|
6101
6150
|
//#endregion
|
|
6102
6151
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6103
|
-
var
|
|
6152
|
+
var Xs = {
|
|
6104
6153
|
key: 0,
|
|
6105
6154
|
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)]"
|
|
6106
|
-
},
|
|
6155
|
+
}, Zs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Qs = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, $s = { class: "tpl:flex tpl:items-center tpl:gap-1" }, ec = ["title"], tc = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, nc = {
|
|
6107
6156
|
key: 0,
|
|
6108
6157
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6109
|
-
},
|
|
6158
|
+
}, rc = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ic = {
|
|
6110
6159
|
key: 1,
|
|
6111
6160
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6112
|
-
},
|
|
6161
|
+
}, ac = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oc = {
|
|
6113
6162
|
key: 2,
|
|
6114
6163
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6115
|
-
},
|
|
6164
|
+
}, sc = {
|
|
6116
6165
|
key: 0,
|
|
6117
6166
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
6118
6167
|
style: {
|
|
@@ -6121,10 +6170,10 @@ var Ks = {
|
|
|
6121
6170
|
"max-width": "85%",
|
|
6122
6171
|
"box-shadow": "var(--tpl-shadow)"
|
|
6123
6172
|
}
|
|
6124
|
-
},
|
|
6173
|
+
}, cc = {
|
|
6125
6174
|
key: 1,
|
|
6126
6175
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6127
|
-
},
|
|
6176
|
+
}, lc = {
|
|
6128
6177
|
key: 1,
|
|
6129
6178
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
6130
6179
|
style: {
|
|
@@ -6133,21 +6182,21 @@ var Ks = {
|
|
|
6133
6182
|
color: "var(--tpl-text)",
|
|
6134
6183
|
"box-shadow": "var(--tpl-shadow)"
|
|
6135
6184
|
}
|
|
6136
|
-
},
|
|
6185
|
+
}, uc = {
|
|
6137
6186
|
key: 0,
|
|
6138
6187
|
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",
|
|
6139
6188
|
style: {
|
|
6140
6189
|
"background-color": "var(--tpl-danger-light)",
|
|
6141
6190
|
color: "var(--tpl-danger)"
|
|
6142
6191
|
}
|
|
6143
|
-
},
|
|
6192
|
+
}, dc = {
|
|
6144
6193
|
key: 1,
|
|
6145
6194
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
6146
6195
|
style: {
|
|
6147
6196
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
6148
6197
|
"backdrop-filter": "blur(2px)"
|
|
6149
6198
|
}
|
|
6150
|
-
},
|
|
6199
|
+
}, fc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, pc = ["onClick"], mc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, hc = { 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)]" }, gc = ["placeholder", "disabled"], _c = ["disabled"], vc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, yc = /*@__PURE__*/ B({
|
|
6151
6200
|
__name: "AiChatSidebar",
|
|
6152
6201
|
props: {
|
|
6153
6202
|
visible: { type: Boolean },
|
|
@@ -6155,14 +6204,14 @@ var Ks = {
|
|
|
6155
6204
|
},
|
|
6156
6205
|
emits: ["close"],
|
|
6157
6206
|
setup(e, { emit: t }) {
|
|
6158
|
-
let n = e, r = t, i = J(
|
|
6207
|
+
let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Na(), u = Es({
|
|
6159
6208
|
authManager: o,
|
|
6160
6209
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6161
6210
|
onApply: n.onApply,
|
|
6162
6211
|
onError: void 0
|
|
6163
|
-
}), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } =
|
|
6212
|
+
}), d = C(""), p = C(null), g = C(!1), _ = C(0), { pause: y, resume: x } = ln(() => {
|
|
6164
6213
|
_.value < (u.suggestions.value?.length ?? 0) ? _.value++ : y();
|
|
6165
|
-
}, 150, { immediate: !1 }), { start: S } =
|
|
6214
|
+
}, 150, { immediate: !1 }), { start: S } = un(() => x(), 100, { immediate: !1 });
|
|
6166
6215
|
H(() => u.suggestions.value?.length ?? 0, (e) => {
|
|
6167
6216
|
if (y(), e === 0) {
|
|
6168
6217
|
_.value = 0;
|
|
@@ -6202,42 +6251,42 @@ var Ks = {
|
|
|
6202
6251
|
"leave-from-class": "tpl:translate-x-0",
|
|
6203
6252
|
"leave-to-class": "tpl:translate-x-full"
|
|
6204
6253
|
}, {
|
|
6205
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6206
|
-
I("div",
|
|
6254
|
+
default: b(() => [e.visible ? (f(), k("div", Xs, [
|
|
6255
|
+
I("div", Zs, [I("div", Qs, [V(j(Ni), {
|
|
6207
6256
|
size: 13,
|
|
6208
6257
|
"stroke-width": 2
|
|
6209
|
-
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div",
|
|
6258
|
+
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div", $s, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6210
6259
|
key: 0,
|
|
6211
6260
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6212
6261
|
title: j(i).aiChat.clear,
|
|
6213
6262
|
onClick: n[0] ||= (e) => j(u).clearChat()
|
|
6214
|
-
}, [V(j(
|
|
6263
|
+
}, [V(j(Fi), {
|
|
6215
6264
|
size: 14,
|
|
6216
6265
|
"stroke-width": 2
|
|
6217
|
-
})], 8,
|
|
6266
|
+
})], 8, ec)) : A("", !0), I("button", {
|
|
6218
6267
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6219
6268
|
onClick: n[1] ||= (e) => r("close")
|
|
6220
|
-
}, [V(j(
|
|
6269
|
+
}, [V(j(Bi), {
|
|
6221
6270
|
size: 14,
|
|
6222
6271
|
"stroke-width": 2
|
|
6223
6272
|
})])])]),
|
|
6224
|
-
I("div",
|
|
6273
|
+
I("div", tc, [
|
|
6225
6274
|
I("div", {
|
|
6226
6275
|
ref_key: "messagesContainer",
|
|
6227
6276
|
ref: p,
|
|
6228
6277
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6229
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6278
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", nc, [V(j(xi), {
|
|
6230
6279
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6231
6280
|
size: 24,
|
|
6232
6281
|
"stroke-width": 2
|
|
6233
|
-
}), I("p",
|
|
6282
|
+
}), I("p", rc, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", ic, [V(j(Ni), {
|
|
6234
6283
|
size: 32,
|
|
6235
6284
|
"stroke-width": 1.5,
|
|
6236
6285
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6237
|
-
}), I("p",
|
|
6286
|
+
}), I("p", ac, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", oc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
|
|
6238
6287
|
key: e.id,
|
|
6239
6288
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6240
|
-
}, [e.role === "user" ? (f(), k("div",
|
|
6289
|
+
}, [e.role === "user" ? (f(), k("div", sc, D(e.content), 1)) : (f(), k("div", cc, [!E(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Yi, { key: 0 })) : (f(), k("div", lc, D(E(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
|
|
6241
6290
|
key: 2,
|
|
6242
6291
|
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",
|
|
6243
6292
|
style: {
|
|
@@ -6246,19 +6295,19 @@ var Ks = {
|
|
|
6246
6295
|
"background-color": "transparent"
|
|
6247
6296
|
},
|
|
6248
6297
|
onClick: n[2] ||= (e) => j(u).toggleLastRevert()
|
|
6249
|
-
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(
|
|
6298
|
+
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(Ei), {
|
|
6250
6299
|
size: 12,
|
|
6251
6300
|
"stroke-width": 2
|
|
6252
|
-
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(
|
|
6301
|
+
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Li), {
|
|
6253
6302
|
size: 12,
|
|
6254
6303
|
"stroke-width": 2
|
|
6255
6304
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6256
|
-
j(u).error.value ? (f(), k("div",
|
|
6305
|
+
j(u).error.value ? (f(), k("div", uc, [V(j(si), {
|
|
6257
6306
|
size: 14,
|
|
6258
6307
|
"stroke-width": 2,
|
|
6259
6308
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6260
6309
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6261
|
-
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div",
|
|
6310
|
+
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", dc, [I("div", fc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
|
|
6262
6311
|
key: t,
|
|
6263
6312
|
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"]),
|
|
6264
6313
|
style: {
|
|
@@ -6268,104 +6317,104 @@ var Ks = {
|
|
|
6268
6317
|
"box-shadow": "var(--tpl-shadow)"
|
|
6269
6318
|
},
|
|
6270
6319
|
onClick: (t) => ee(e)
|
|
6271
|
-
}, D(e), 11,
|
|
6320
|
+
}, D(e), 11, pc))), 128))])])) : A("", !0)
|
|
6272
6321
|
]),
|
|
6273
|
-
I("div",
|
|
6322
|
+
I("div", mc, [I("div", hc, [c(I("textarea", {
|
|
6274
6323
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6275
6324
|
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)]",
|
|
6276
6325
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6277
6326
|
disabled: j(u).isGenerating.value,
|
|
6278
6327
|
rows: "3",
|
|
6279
6328
|
onKeydown: te
|
|
6280
|
-
}, null, 40,
|
|
6329
|
+
}, null, 40, gc), [[ae, d.value]]), I("button", {
|
|
6281
6330
|
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)]",
|
|
6282
6331
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6283
6332
|
onClick: T
|
|
6284
|
-
}, [V(j(
|
|
6333
|
+
}, [V(j(ki), {
|
|
6285
6334
|
size: 16,
|
|
6286
6335
|
"stroke-width": 2
|
|
6287
|
-
})], 8,
|
|
6336
|
+
})], 8, _c)]), I("p", vc, D(j(i).aiMenu.disclaimer), 1)])
|
|
6288
6337
|
])) : A("", !0)]),
|
|
6289
6338
|
_: 1
|
|
6290
6339
|
}));
|
|
6291
6340
|
}
|
|
6292
|
-
}),
|
|
6293
|
-
function
|
|
6341
|
+
}), bc = /* @__PURE__ */ e({ default: () => xc }), xc = /*#__PURE__*/ Gi(yc, [["__scopeId", "data-v-a55e4bff"]]), Sc = 6e4, Cc = 36e5, wc = 864e5;
|
|
6342
|
+
function Tc(e, t, n, r) {
|
|
6294
6343
|
let i = new Date(e).getTime();
|
|
6295
6344
|
if (Number.isNaN(i)) return null;
|
|
6296
6345
|
let a = Date.now() - i;
|
|
6297
6346
|
if (a < -6e4) return null;
|
|
6298
|
-
let o = Math.floor(a /
|
|
6347
|
+
let o = Math.floor(a / Sc), s = Math.floor(a / Cc), c = Math.floor(a / wc);
|
|
6299
6348
|
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));
|
|
6300
6349
|
}
|
|
6301
6350
|
//#endregion
|
|
6302
6351
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6303
|
-
var
|
|
6352
|
+
var Ec = {
|
|
6304
6353
|
key: 0,
|
|
6305
6354
|
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)]"
|
|
6306
|
-
},
|
|
6355
|
+
}, Dc = { 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)]" }, kc = {
|
|
6307
6356
|
key: 0,
|
|
6308
6357
|
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)]"
|
|
6309
|
-
},
|
|
6358
|
+
}, Ac = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, jc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Mc = {
|
|
6310
6359
|
key: 0,
|
|
6311
6360
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6312
|
-
},
|
|
6361
|
+
}, Nc = {
|
|
6313
6362
|
key: 1,
|
|
6314
6363
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
|
|
6315
|
-
},
|
|
6364
|
+
}, Pc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Fc = {
|
|
6316
6365
|
key: 2,
|
|
6317
6366
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6318
|
-
},
|
|
6367
|
+
}, Ic = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, Lc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Rc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, zc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Bc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Vc = {
|
|
6319
6368
|
key: 0,
|
|
6320
6369
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6321
|
-
},
|
|
6370
|
+
}, Hc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Uc = ["title", "onClick"], Wc = ["title", "onClick"], Gc = ["title", "onClick"], Kc = {
|
|
6322
6371
|
key: 0,
|
|
6323
6372
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6324
|
-
},
|
|
6373
|
+
}, qc = {
|
|
6325
6374
|
key: 0,
|
|
6326
6375
|
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)]"
|
|
6327
|
-
},
|
|
6376
|
+
}, Jc = ["onClick"], Yc = {
|
|
6328
6377
|
key: 2,
|
|
6329
6378
|
class: "tpl:mt-2"
|
|
6330
|
-
},
|
|
6379
|
+
}, Xc = ["onKeydown"], Zc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Qc = ["disabled", "onClick"], $c = {
|
|
6331
6380
|
key: 3,
|
|
6332
6381
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6333
|
-
},
|
|
6382
|
+
}, el = {
|
|
6334
6383
|
key: 4,
|
|
6335
6384
|
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)]"
|
|
6336
|
-
},
|
|
6385
|
+
}, tl = { class: "tpl:flex-1" }, nl = ["onClick"], rl = {
|
|
6337
6386
|
key: 5,
|
|
6338
6387
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6339
|
-
},
|
|
6388
|
+
}, il = ["title", "onClick"], al = ["onClick"], ol = {
|
|
6340
6389
|
key: 0,
|
|
6341
6390
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6342
|
-
},
|
|
6391
|
+
}, sl = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, cl = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, ll = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ul = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, dl = {
|
|
6343
6392
|
key: 0,
|
|
6344
6393
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6345
|
-
},
|
|
6394
|
+
}, fl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, pl = ["title", "onClick"], ml = ["title", "onClick"], hl = {
|
|
6346
6395
|
key: 0,
|
|
6347
6396
|
class: "tpl:mt-1.5"
|
|
6348
|
-
},
|
|
6397
|
+
}, gl = ["onKeydown"], _l = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, vl = ["disabled", "onClick"], yl = {
|
|
6349
6398
|
key: 1,
|
|
6350
6399
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6351
|
-
},
|
|
6400
|
+
}, bl = {
|
|
6352
6401
|
key: 2,
|
|
6353
6402
|
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)]"
|
|
6354
|
-
},
|
|
6403
|
+
}, xl = { class: "tpl:flex-1" }, Sl = ["onClick"], Cl = {
|
|
6355
6404
|
key: 0,
|
|
6356
6405
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6357
|
-
},
|
|
6406
|
+
}, wl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Tl = ["placeholder", "onKeydown"], El = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Dl = ["disabled", "onClick"], Ol = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, kl = {
|
|
6358
6407
|
key: 0,
|
|
6359
6408
|
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)]"
|
|
6360
|
-
},
|
|
6409
|
+
}, Al = {
|
|
6361
6410
|
key: 1,
|
|
6362
6411
|
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)]"
|
|
6363
|
-
},
|
|
6412
|
+
}, jl = ["placeholder", "disabled"], Ml = ["disabled"], Nl = /*@__PURE__*/ B({
|
|
6364
6413
|
__name: "CommentsSidebar",
|
|
6365
6414
|
props: { visible: { type: Boolean } },
|
|
6366
6415
|
emits: ["close", "filterBlock"],
|
|
6367
6416
|
setup(e, { expose: t, emit: n }) {
|
|
6368
|
-
let r = e, i = n, { format: a } = Y(), { t: o } =
|
|
6417
|
+
let r = e, i = n, { format: a } = Y(), { t: o } = ta(), s = J(zn, "CommentsSidebar"), l = J(mr, "CommentsSidebar"), u = J(gr, "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), T = C(null), E = O(() => l.userConfig?.id ?? null), ee = O(() => {
|
|
6369
6418
|
let e = /* @__PURE__ */ new Set();
|
|
6370
6419
|
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);
|
|
6371
6420
|
return e;
|
|
@@ -6433,7 +6482,7 @@ var Sc = {
|
|
|
6433
6482
|
return e.author_identifier === E.value;
|
|
6434
6483
|
}
|
|
6435
6484
|
function ve(e) {
|
|
6436
|
-
return
|
|
6485
|
+
return Tc(e, o.snapshotHistory) ?? e;
|
|
6437
6486
|
}
|
|
6438
6487
|
function ye(e) {
|
|
6439
6488
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6460,22 +6509,22 @@ var Sc = {
|
|
|
6460
6509
|
"leave-from-class": "tpl:translate-x-0",
|
|
6461
6510
|
"leave-to-class": "tpl:translate-x-full"
|
|
6462
6511
|
}, {
|
|
6463
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6464
|
-
I("div",
|
|
6465
|
-
V(j(
|
|
6512
|
+
default: b(() => [e.visible ? (f(), k("div", Ec, [
|
|
6513
|
+
I("div", Dc, [I("div", Oc, [
|
|
6514
|
+
V(j(Si), {
|
|
6466
6515
|
size: 13,
|
|
6467
6516
|
"stroke-width": 2
|
|
6468
6517
|
}),
|
|
6469
6518
|
I("span", null, D(j(o).comments.title), 1),
|
|
6470
|
-
j(u).unresolvedCount.value > 0 ? (f(), k("span",
|
|
6519
|
+
j(u).unresolvedCount.value > 0 ? (f(), k("span", kc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
|
|
6471
6520
|
]), I("button", {
|
|
6472
6521
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6473
6522
|
onClick: n[0] ||= (e) => i("close")
|
|
6474
|
-
}, [V(j(
|
|
6523
|
+
}, [V(j(Bi), {
|
|
6475
6524
|
size: 14,
|
|
6476
6525
|
"stroke-width": 2
|
|
6477
6526
|
})])]),
|
|
6478
|
-
I("div",
|
|
6527
|
+
I("div", Ac, [
|
|
6479
6528
|
I("button", {
|
|
6480
6529
|
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" : ""]),
|
|
6481
6530
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6490,156 +6539,156 @@ var Sc = {
|
|
|
6490
6539
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6491
6540
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6492
6541
|
]),
|
|
6493
|
-
I("div",
|
|
6542
|
+
I("div", jc, [j(u).isLoading.value ? (f(), k("div", Mc, [V(j(xi), {
|
|
6494
6543
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6495
6544
|
size: 24,
|
|
6496
6545
|
"stroke-width": 2
|
|
6497
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6546
|
+
})])) : re.value.length === 0 ? (f(), k("div", Nc, [V(j(Si), {
|
|
6498
6547
|
size: 32,
|
|
6499
6548
|
"stroke-width": 1.5,
|
|
6500
6549
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6501
|
-
}), I("p",
|
|
6550
|
+
}), I("p", Pc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", Fc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
|
|
6502
6551
|
key: e.id,
|
|
6503
6552
|
class: "tpl-comment-thread"
|
|
6504
6553
|
}, [
|
|
6505
|
-
I("div",
|
|
6506
|
-
I("div",
|
|
6507
|
-
I("span",
|
|
6508
|
-
I("span",
|
|
6509
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6510
|
-
]), I("div",
|
|
6554
|
+
I("div", Ic, [
|
|
6555
|
+
I("div", Lc, [I("div", Rc, [
|
|
6556
|
+
I("span", zc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
|
|
6557
|
+
I("span", Bc, D(ve(e.created_at)), 1),
|
|
6558
|
+
e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Vc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6559
|
+
]), I("div", Hc, [
|
|
6511
6560
|
I("button", {
|
|
6512
6561
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6513
6562
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
6514
6563
|
onClick: (t) => ge(e.id)
|
|
6515
|
-
}, [V(j(
|
|
6564
|
+
}, [V(j(ci), {
|
|
6516
6565
|
size: 13,
|
|
6517
6566
|
"stroke-width": 2,
|
|
6518
6567
|
class: "tpl-resolve-icon",
|
|
6519
6568
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6520
|
-
}, null, 8, ["style"])], 8,
|
|
6569
|
+
}, null, 8, ["style"])], 8, Uc),
|
|
6521
6570
|
_e(e) ? (f(), k("button", {
|
|
6522
6571
|
key: 0,
|
|
6523
6572
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6524
6573
|
title: j(o).comments.edit,
|
|
6525
6574
|
onClick: (t) => le(e)
|
|
6526
|
-
}, [V(j(
|
|
6575
|
+
}, [V(j(wi), {
|
|
6527
6576
|
size: 12,
|
|
6528
6577
|
"stroke-width": 2
|
|
6529
|
-
})], 8,
|
|
6578
|
+
})], 8, Wc)) : A("", !0),
|
|
6530
6579
|
_e(e) ? (f(), k("button", {
|
|
6531
6580
|
key: 1,
|
|
6532
6581
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6533
6582
|
title: j(o).comments.delete,
|
|
6534
6583
|
onClick: (t) => ue(e.id)
|
|
6535
|
-
}, [V(j(
|
|
6584
|
+
}, [V(j(Fi), {
|
|
6536
6585
|
size: 12,
|
|
6537
6586
|
"stroke-width": 2
|
|
6538
|
-
})], 8,
|
|
6587
|
+
})], 8, Gc)) : A("", !0)
|
|
6539
6588
|
])]),
|
|
6540
6589
|
V(ie, { name: "tpl-resolve" }, {
|
|
6541
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6590
|
+
default: b(() => [e.resolved_at ? (f(), k("div", Kc, [V(j(ni), {
|
|
6542
6591
|
size: 10,
|
|
6543
6592
|
"stroke-width": 2.5
|
|
6544
6593
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6545
6594
|
_: 2
|
|
6546
6595
|
}, 1024),
|
|
6547
|
-
e.block_id && te(e.block_id) ? (f(), k("span",
|
|
6596
|
+
e.block_id && te(e.block_id) ? (f(), k("span", qc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
|
|
6548
6597
|
key: 1,
|
|
6549
6598
|
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)]",
|
|
6550
6599
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6551
|
-
}, " Block ", 8,
|
|
6552
|
-
y.value === e.id ? (f(), k("div",
|
|
6600
|
+
}, " Block ", 8, Jc)) : A("", !0),
|
|
6601
|
+
y.value === e.id ? (f(), k("div", Yc, [c(I("textarea", {
|
|
6553
6602
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6554
6603
|
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)]",
|
|
6555
6604
|
rows: "3",
|
|
6556
6605
|
onKeydown: (t) => xe(t, e.id)
|
|
6557
|
-
}, null, 40,
|
|
6606
|
+
}, null, 40, Xc), [[ae, x.value]]), I("div", Zc, [I("button", {
|
|
6558
6607
|
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)]",
|
|
6559
6608
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6560
6609
|
onClick: (t) => me(e.id)
|
|
6561
|
-
}, D(j(o).comments.save), 9,
|
|
6610
|
+
}, D(j(o).comments.save), 9, Qc), I("button", {
|
|
6562
6611
|
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)]",
|
|
6563
6612
|
onClick: n[5] ||= (e) => B()
|
|
6564
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6565
|
-
w.value === e.id ? (f(), k("div",
|
|
6566
|
-
I("span",
|
|
6613
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", $c, D(e.body), 1)),
|
|
6614
|
+
w.value === e.id ? (f(), k("div", el, [
|
|
6615
|
+
I("span", tl, D(j(o).comments.deleteConfirm), 1),
|
|
6567
6616
|
I("button", {
|
|
6568
6617
|
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)]",
|
|
6569
6618
|
onClick: (t) => he(e.id)
|
|
6570
|
-
}, D(j(o).comments.delete), 9,
|
|
6619
|
+
}, D(j(o).comments.delete), 9, nl),
|
|
6571
6620
|
I("button", {
|
|
6572
6621
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6573
6622
|
onClick: n[6] ||= (e) => de()
|
|
6574
6623
|
}, D(j(o).comments.cancel), 1)
|
|
6575
6624
|
])) : A("", !0),
|
|
6576
|
-
y.value !== e.id && w.value !== e.id ? (f(), k("div",
|
|
6625
|
+
y.value !== e.id && w.value !== e.id ? (f(), k("div", rl, [I("button", {
|
|
6577
6626
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6578
6627
|
title: j(o).comments.reply,
|
|
6579
6628
|
onClick: (t) => se(e.id)
|
|
6580
|
-
}, [V(j(
|
|
6629
|
+
}, [V(j(Oi), {
|
|
6581
6630
|
size: 13,
|
|
6582
6631
|
"stroke-width": 2,
|
|
6583
6632
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6584
|
-
})], 8,
|
|
6633
|
+
})], 8, il), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6585
6634
|
key: 0,
|
|
6586
6635
|
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)]",
|
|
6587
6636
|
onClick: (t) => oe(e.id)
|
|
6588
|
-
}, [S.value.has(e.id) ? (f(), N(j(
|
|
6637
|
+
}, [S.value.has(e.id) ? (f(), N(j(oi), {
|
|
6589
6638
|
key: 0,
|
|
6590
6639
|
size: 11,
|
|
6591
6640
|
"stroke-width": 2
|
|
6592
|
-
})) : (f(), N(j(
|
|
6641
|
+
})) : (f(), N(j(ri), {
|
|
6593
6642
|
key: 1,
|
|
6594
6643
|
size: 11,
|
|
6595
6644
|
"stroke-width": 2
|
|
6596
|
-
})), 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,
|
|
6645
|
+
})), 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, al)) : A("", !0)])) : A("", !0)
|
|
6597
6646
|
]),
|
|
6598
6647
|
V(ie, { name: "tpl-replies" }, {
|
|
6599
|
-
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div",
|
|
6648
|
+
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", ol, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
|
|
6600
6649
|
key: t.id,
|
|
6601
6650
|
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" : ""])
|
|
6602
6651
|
}, [
|
|
6603
|
-
I("div",
|
|
6604
|
-
I("span",
|
|
6605
|
-
I("span",
|
|
6606
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6607
|
-
]), I("div",
|
|
6652
|
+
I("div", sl, [I("div", cl, [
|
|
6653
|
+
I("span", ll, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
|
|
6654
|
+
I("span", ul, D(ve(t.created_at)), 1),
|
|
6655
|
+
t.updated_at === t.created_at ? A("", !0) : (f(), k("span", dl, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6656
|
+
]), I("div", fl, [_e(t) ? (f(), k("button", {
|
|
6608
6657
|
key: 0,
|
|
6609
6658
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6610
6659
|
title: j(o).comments.edit,
|
|
6611
6660
|
onClick: (e) => le(t)
|
|
6612
|
-
}, [V(j(
|
|
6661
|
+
}, [V(j(wi), {
|
|
6613
6662
|
size: 11,
|
|
6614
6663
|
"stroke-width": 2
|
|
6615
|
-
})], 8,
|
|
6664
|
+
})], 8, pl)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6616
6665
|
key: 1,
|
|
6617
6666
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6618
6667
|
title: j(o).comments.delete,
|
|
6619
6668
|
onClick: (e) => ue(t.id)
|
|
6620
|
-
}, [V(j(
|
|
6669
|
+
}, [V(j(Fi), {
|
|
6621
6670
|
size: 11,
|
|
6622
6671
|
"stroke-width": 2
|
|
6623
|
-
})], 8,
|
|
6624
|
-
y.value === t.id ? (f(), k("div",
|
|
6672
|
+
})], 8, ml)) : A("", !0)])]),
|
|
6673
|
+
y.value === t.id ? (f(), k("div", hl, [c(I("textarea", {
|
|
6625
6674
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6626
6675
|
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)]",
|
|
6627
6676
|
rows: "2",
|
|
6628
6677
|
onKeydown: (e) => xe(e, t.id)
|
|
6629
|
-
}, null, 40,
|
|
6678
|
+
}, null, 40, gl), [[ae, x.value]]), I("div", _l, [I("button", {
|
|
6630
6679
|
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)]",
|
|
6631
6680
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6632
6681
|
onClick: (e) => me(t.id)
|
|
6633
|
-
}, D(j(o).comments.save), 9,
|
|
6682
|
+
}, D(j(o).comments.save), 9, vl), I("button", {
|
|
6634
6683
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6635
6684
|
onClick: n[8] ||= (e) => B()
|
|
6636
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6637
|
-
w.value === t.id ? (f(), k("div",
|
|
6638
|
-
I("span",
|
|
6685
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", yl, D(t.body), 1)),
|
|
6686
|
+
w.value === t.id ? (f(), k("div", bl, [
|
|
6687
|
+
I("span", xl, D(j(o).comments.deleteConfirm), 1),
|
|
6639
6688
|
I("button", {
|
|
6640
6689
|
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)]",
|
|
6641
6690
|
onClick: (e) => he(t.id)
|
|
6642
|
-
}, D(j(o).comments.delete), 9,
|
|
6691
|
+
}, D(j(o).comments.delete), 9, Sl),
|
|
6643
6692
|
I("button", {
|
|
6644
6693
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6645
6694
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6649,30 +6698,30 @@ var Sc = {
|
|
|
6649
6698
|
_: 2
|
|
6650
6699
|
}, 1024),
|
|
6651
6700
|
V(ie, { name: "tpl-replies" }, {
|
|
6652
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6701
|
+
default: b(() => [_.value === e.id ? (f(), k("div", Cl, [I("div", wl, [c(I("textarea", {
|
|
6653
6702
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6654
6703
|
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)]",
|
|
6655
6704
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6656
6705
|
rows: "2",
|
|
6657
6706
|
onKeydown: (t) => be(t, e.id)
|
|
6658
|
-
}, null, 40,
|
|
6707
|
+
}, null, 40, Tl), [[ae, v.value]]), I("div", El, [I("button", {
|
|
6659
6708
|
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)]",
|
|
6660
6709
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6661
6710
|
onClick: (t) => pe(e.id)
|
|
6662
|
-
}, [V(j(
|
|
6711
|
+
}, [V(j(ki), {
|
|
6663
6712
|
size: 14,
|
|
6664
6713
|
"stroke-width": 2
|
|
6665
|
-
})], 8,
|
|
6714
|
+
})], 8, Dl), I("button", {
|
|
6666
6715
|
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)]",
|
|
6667
6716
|
onClick: n[11] ||= (e) => ce()
|
|
6668
|
-
}, [V(j(
|
|
6717
|
+
}, [V(j(Bi), {
|
|
6669
6718
|
size: 14,
|
|
6670
6719
|
"stroke-width": 2
|
|
6671
6720
|
})])])])])) : A("", !0)]),
|
|
6672
6721
|
_: 2
|
|
6673
6722
|
}, 1024)
|
|
6674
6723
|
]))), 128))]))]),
|
|
6675
|
-
I("div",
|
|
6724
|
+
I("div", Ol, [ne.value ? (f(), k("div", kl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Al, [c(I("textarea", {
|
|
6676
6725
|
ref_key: "newCommentInput",
|
|
6677
6726
|
ref: T,
|
|
6678
6727
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
@@ -6681,46 +6730,46 @@ var Sc = {
|
|
|
6681
6730
|
disabled: j(u).isSubmitting.value,
|
|
6682
6731
|
rows: "2",
|
|
6683
6732
|
onKeydown: ye
|
|
6684
|
-
}, null, 40,
|
|
6733
|
+
}, null, 40, jl), [[ae, g.value]]), I("button", {
|
|
6685
6734
|
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)]",
|
|
6686
6735
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6687
6736
|
onClick: fe
|
|
6688
|
-
}, [j(u).isSubmitting.value ? (f(), N(j(
|
|
6737
|
+
}, [j(u).isSubmitting.value ? (f(), N(j(xi), {
|
|
6689
6738
|
key: 0,
|
|
6690
6739
|
class: "tpl-spinner",
|
|
6691
6740
|
size: 16,
|
|
6692
6741
|
"stroke-width": 2
|
|
6693
|
-
})) : (f(), N(j(
|
|
6742
|
+
})) : (f(), N(j(ki), {
|
|
6694
6743
|
key: 1,
|
|
6695
6744
|
size: 16,
|
|
6696
6745
|
"stroke-width": 2
|
|
6697
|
-
}))], 8,
|
|
6746
|
+
}))], 8, Ml)]))])
|
|
6698
6747
|
])) : A("", !0)]),
|
|
6699
6748
|
_: 1
|
|
6700
6749
|
}));
|
|
6701
6750
|
}
|
|
6702
|
-
}),
|
|
6751
|
+
}), Pl = /* @__PURE__ */ e({ default: () => Fl }), Fl = /*#__PURE__*/ Gi(Nl, [["__scopeId", "data-v-d204f573"]]), Il = {
|
|
6703
6752
|
key: 0,
|
|
6704
6753
|
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)]"
|
|
6705
|
-
},
|
|
6754
|
+
}, Ll = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Rl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, zl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Bl = {
|
|
6706
6755
|
key: 0,
|
|
6707
6756
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6708
|
-
},
|
|
6757
|
+
}, Vl = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Hl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ul = {
|
|
6709
6758
|
key: 1,
|
|
6710
6759
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6711
|
-
},
|
|
6760
|
+
}, Wl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Gl = {
|
|
6712
6761
|
key: 0,
|
|
6713
6762
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6714
|
-
},
|
|
6763
|
+
}, Kl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, ql = ["src", "alt"], Jl = {
|
|
6715
6764
|
key: 1,
|
|
6716
6765
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6717
|
-
},
|
|
6766
|
+
}, Yl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Xl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Zl = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ql = ["accept"], $l = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, eu = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, tu = ["placeholder"], nu = {
|
|
6718
6767
|
key: 0,
|
|
6719
6768
|
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)]"
|
|
6720
|
-
},
|
|
6769
|
+
}, ru = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, iu = { class: "tpl:flex tpl:gap-2" }, au = {
|
|
6721
6770
|
key: 1,
|
|
6722
6771
|
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)]"
|
|
6723
|
-
},
|
|
6772
|
+
}, ou = ["disabled"], su = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, cu = /*@__PURE__*/ B({
|
|
6724
6773
|
__name: "DesignReferenceSidebar",
|
|
6725
6774
|
props: {
|
|
6726
6775
|
visible: { type: Boolean },
|
|
@@ -6728,11 +6777,11 @@ var Sc = {
|
|
|
6728
6777
|
},
|
|
6729
6778
|
emits: ["close", "apply"],
|
|
6730
6779
|
setup(e, { emit: t }) {
|
|
6731
|
-
let n = e, r = t, { t: i } =
|
|
6732
|
-
authManager: J(
|
|
6780
|
+
let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = ks({
|
|
6781
|
+
authManager: J(mr, "DesignReferenceSidebar"),
|
|
6733
6782
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6734
6783
|
onApply: (e) => r("apply", e)
|
|
6735
|
-
}), 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
|
|
6784
|
+
}), 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 && u.value !== null);
|
|
6736
6785
|
function _(e) {
|
|
6737
6786
|
l.value = e, x();
|
|
6738
6787
|
}
|
|
@@ -6800,17 +6849,17 @@ var Sc = {
|
|
|
6800
6849
|
"leave-from-class": "tpl:translate-x-0",
|
|
6801
6850
|
"leave-to-class": "tpl:translate-x-full"
|
|
6802
6851
|
}, {
|
|
6803
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6852
|
+
default: b(() => [e.visible ? (f(), k("div", Il, [I("div", Ll, [I("div", Rl, [V(j(vi), {
|
|
6804
6853
|
size: 13,
|
|
6805
6854
|
"stroke-width": 2
|
|
6806
6855
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
6807
6856
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6808
6857
|
onClick: n[0] ||= (e) => r("close")
|
|
6809
|
-
}, [V(j(
|
|
6858
|
+
}, [V(j(Bi), {
|
|
6810
6859
|
size: 14,
|
|
6811
6860
|
"stroke-width": 2
|
|
6812
|
-
})])]), I("div",
|
|
6813
|
-
I("div",
|
|
6861
|
+
})])]), I("div", zl, [j(o).isGenerating.value ? (f(), k("div", Bl, [I("div", Vl, [V(Yi), I("p", Hl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Ul, [
|
|
6862
|
+
I("div", Wl, [I("button", {
|
|
6814
6863
|
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",
|
|
6815
6864
|
style: L({
|
|
6816
6865
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6818,7 +6867,7 @@ var Sc = {
|
|
|
6818
6867
|
boxShadow: l.value === "image" ? "var(--tpl-shadow)" : "none"
|
|
6819
6868
|
}),
|
|
6820
6869
|
onClick: n[1] ||= (e) => _("image")
|
|
6821
|
-
}, [V(j(
|
|
6870
|
+
}, [V(j(mi), {
|
|
6822
6871
|
size: 12,
|
|
6823
6872
|
"stroke-width": 2
|
|
6824
6873
|
}), z(" " + D(j(i).designReference.uploadImage), 1)], 4), I("button", {
|
|
@@ -6829,23 +6878,23 @@ var Sc = {
|
|
|
6829
6878
|
boxShadow: l.value === "pdf" ? "var(--tpl-shadow)" : "none"
|
|
6830
6879
|
}),
|
|
6831
6880
|
onClick: n[2] ||= (e) => _("pdf")
|
|
6832
|
-
}, [V(j(
|
|
6881
|
+
}, [V(j(hi), {
|
|
6833
6882
|
size: 12,
|
|
6834
6883
|
"stroke-width": 2
|
|
6835
6884
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6836
|
-
I("div", null, [u.value ? (f(), k("div",
|
|
6885
|
+
I("div", null, [u.value ? (f(), k("div", Gl, [I("div", Kl, [p.value ? (f(), k("img", {
|
|
6837
6886
|
key: 0,
|
|
6838
6887
|
src: p.value,
|
|
6839
6888
|
alt: u.value.name,
|
|
6840
6889
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6841
|
-
}, null, 8,
|
|
6890
|
+
}, null, 8, ql)) : (f(), k("div", Jl, [V(j(hi), {
|
|
6842
6891
|
size: 32,
|
|
6843
6892
|
"stroke-width": 1.5,
|
|
6844
6893
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6845
|
-
}), I("span",
|
|
6894
|
+
}), I("span", Yl, D(u.value.name), 1)])), I("button", {
|
|
6846
6895
|
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)]",
|
|
6847
6896
|
onClick: x
|
|
6848
|
-
}, [V(j(
|
|
6897
|
+
}, [V(j(Bi), {
|
|
6849
6898
|
size: 12,
|
|
6850
6899
|
"stroke-width": 2
|
|
6851
6900
|
})])])])) : (f(), k("div", {
|
|
@@ -6860,13 +6909,13 @@ var Sc = {
|
|
|
6860
6909
|
onDragleave: w,
|
|
6861
6910
|
onDrop: T
|
|
6862
6911
|
}, [
|
|
6863
|
-
V(j(
|
|
6912
|
+
V(j(Ri), {
|
|
6864
6913
|
size: 24,
|
|
6865
6914
|
"stroke-width": 1.5,
|
|
6866
6915
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6867
6916
|
}),
|
|
6868
|
-
I("span",
|
|
6869
|
-
I("span",
|
|
6917
|
+
I("span", Xl, D(j(i).designReference.dropHint), 1),
|
|
6918
|
+
I("span", Zl, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
|
|
6870
6919
|
], 36)), I("input", {
|
|
6871
6920
|
ref_key: "fileInput",
|
|
6872
6921
|
ref: s,
|
|
@@ -6874,14 +6923,14 @@ var Sc = {
|
|
|
6874
6923
|
class: "tpl:hidden",
|
|
6875
6924
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6876
6925
|
onChange: v
|
|
6877
|
-
}, null, 40,
|
|
6878
|
-
I("div",
|
|
6926
|
+
}, null, 40, Ql)]),
|
|
6927
|
+
I("div", $l, [I("label", eu, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6879
6928
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6880
6929
|
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"]]),
|
|
6881
6930
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6882
6931
|
rows: "3"
|
|
6883
|
-
}, null, 8,
|
|
6884
|
-
m.value ? (f(), k("div",
|
|
6932
|
+
}, null, 8, tu), [[ae, d.value]])]),
|
|
6933
|
+
m.value ? (f(), k("div", nu, [I("p", ru, D(j(i).designReference.replaceWarning), 1), I("div", iu, [I("button", {
|
|
6885
6934
|
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)]",
|
|
6886
6935
|
style: { "background-color": "transparent" },
|
|
6887
6936
|
onClick: ee
|
|
@@ -6889,7 +6938,7 @@ var Sc = {
|
|
|
6889
6938
|
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)]",
|
|
6890
6939
|
onClick: E
|
|
6891
6940
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6892
|
-
j(o).error.value ? (f(), k("div",
|
|
6941
|
+
j(o).error.value ? (f(), k("div", au, [V(j(si), {
|
|
6893
6942
|
size: 14,
|
|
6894
6943
|
"stroke-width": 2,
|
|
6895
6944
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6899,35 +6948,35 @@ var Sc = {
|
|
|
6899
6948
|
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)]",
|
|
6900
6949
|
disabled: !g.value,
|
|
6901
6950
|
onClick: E
|
|
6902
|
-
}, [V(j(
|
|
6951
|
+
}, [V(j(vi), {
|
|
6903
6952
|
size: 16,
|
|
6904
6953
|
"stroke-width": 2
|
|
6905
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6906
|
-
I("p",
|
|
6954
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, ou)),
|
|
6955
|
+
I("p", su, D(j(i).aiMenu.disclaimer), 1)
|
|
6907
6956
|
]))])])) : A("", !0)]),
|
|
6908
6957
|
_: 1
|
|
6909
6958
|
}));
|
|
6910
6959
|
}
|
|
6911
|
-
}),
|
|
6960
|
+
}), lu = /* @__PURE__ */ e({ default: () => uu }), uu = /*#__PURE__*/ Gi(cu, [["__scopeId", "data-v-bdbf8d0d"]]), du = ["disabled", "title"], fu = ["title"], pu = {
|
|
6912
6961
|
key: 0,
|
|
6913
6962
|
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)]",
|
|
6914
6963
|
style: {
|
|
6915
6964
|
"backdrop-filter": "blur(8px)",
|
|
6916
6965
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
6917
6966
|
}
|
|
6918
|
-
},
|
|
6967
|
+
}, mu = { 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)]" }, hu = {
|
|
6919
6968
|
key: 0,
|
|
6920
6969
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
6921
|
-
},
|
|
6970
|
+
}, gu = {
|
|
6922
6971
|
key: 1,
|
|
6923
6972
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
6924
|
-
},
|
|
6973
|
+
}, _u = {
|
|
6925
6974
|
key: 2,
|
|
6926
6975
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
6927
|
-
},
|
|
6976
|
+
}, vu = ["disabled", "onClick"], yu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, bu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, xu = {
|
|
6928
6977
|
key: 0,
|
|
6929
6978
|
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)]"
|
|
6930
|
-
},
|
|
6979
|
+
}, Su = ["disabled", "title"], Cu = /*@__PURE__*/ B({
|
|
6931
6980
|
__name: "SnapshotHistory",
|
|
6932
6981
|
props: {
|
|
6933
6982
|
snapshots: {},
|
|
@@ -6936,7 +6985,7 @@ var Sc = {
|
|
|
6936
6985
|
},
|
|
6937
6986
|
emits: ["load", "navigate"],
|
|
6938
6987
|
setup(e, { emit: t }) {
|
|
6939
|
-
let n = e, r = t, { format: i } = Y(), { t: a } =
|
|
6988
|
+
let n = e, r = t, { format: i } = Y(), { t: a } = ta(), o = C(!1), s = C(null), c = C(-1);
|
|
6940
6989
|
H(() => n.snapshots.length, () => {
|
|
6941
6990
|
c.value = -1;
|
|
6942
6991
|
});
|
|
@@ -6955,7 +7004,7 @@ var Sc = {
|
|
|
6955
7004
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
6956
7005
|
}
|
|
6957
7006
|
function _(e) {
|
|
6958
|
-
let t =
|
|
7007
|
+
let t = Tc(e, a.snapshotHistory, i, 7);
|
|
6959
7008
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
6960
7009
|
month: "short",
|
|
6961
7010
|
day: "numeric",
|
|
@@ -6963,7 +7012,7 @@ var Sc = {
|
|
|
6963
7012
|
minute: "2-digit"
|
|
6964
7013
|
}) : t;
|
|
6965
7014
|
}
|
|
6966
|
-
return
|
|
7015
|
+
return vn(s, () => {
|
|
6967
7016
|
o.value = !1;
|
|
6968
7017
|
}), (t, n) => (f(), k("div", {
|
|
6969
7018
|
ref_key: "dropdownRef",
|
|
@@ -6975,34 +7024,34 @@ var Sc = {
|
|
|
6975
7024
|
disabled: !u.value,
|
|
6976
7025
|
title: j(a).snapshotHistory.olderSnapshot,
|
|
6977
7026
|
onClick: M(p, ["stop"])
|
|
6978
|
-
}, [V(j(
|
|
7027
|
+
}, [V(j(ii), {
|
|
6979
7028
|
size: 14,
|
|
6980
7029
|
"stroke-width": 2
|
|
6981
|
-
})], 8,
|
|
7030
|
+
})], 8, du),
|
|
6982
7031
|
I("button", {
|
|
6983
7032
|
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)]",
|
|
6984
7033
|
title: j(a).snapshotHistory.tooltip,
|
|
6985
7034
|
onClick: M(m, ["stop"])
|
|
6986
|
-
}, [V(j(
|
|
7035
|
+
}, [V(j(li), {
|
|
6987
7036
|
size: 16,
|
|
6988
7037
|
"stroke-width": 1.5
|
|
6989
|
-
}), V(j(
|
|
7038
|
+
}), V(j(ri), {
|
|
6990
7039
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
6991
7040
|
size: 10,
|
|
6992
7041
|
"stroke-width": 2
|
|
6993
|
-
}, null, 8, ["class"])], 8,
|
|
7042
|
+
}, null, 8, ["class"])], 8, fu),
|
|
6994
7043
|
V(ie, { name: "tpl-dropdown" }, {
|
|
6995
|
-
default: b(() => [o.value ? (f(), k("div",
|
|
7044
|
+
default: b(() => [o.value ? (f(), k("div", pu, [I("div", mu, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", hu, [V(j(xi), {
|
|
6996
7045
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
6997
7046
|
size: 20,
|
|
6998
7047
|
"stroke-width": 2
|
|
6999
|
-
})])) : e.snapshots.length === 0 ? (f(), k("div",
|
|
7048
|
+
})])) : e.snapshots.length === 0 ? (f(), k("div", gu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", _u, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
|
|
7000
7049
|
key: t.id,
|
|
7001
7050
|
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)]",
|
|
7002
7051
|
style: { "background-color": "transparent" },
|
|
7003
7052
|
disabled: e.isRestoring,
|
|
7004
7053
|
onClick: (e) => g(t.id)
|
|
7005
|
-
}, [I("div",
|
|
7054
|
+
}, [I("div", yu, [I("div", bu, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", xu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, vu))), 128))]))])) : A("", !0)]),
|
|
7006
7055
|
_: 1
|
|
7007
7056
|
}),
|
|
7008
7057
|
I("button", {
|
|
@@ -7010,74 +7059,74 @@ var Sc = {
|
|
|
7010
7059
|
disabled: !l.value,
|
|
7011
7060
|
title: j(a).snapshotHistory.newerSnapshot,
|
|
7012
7061
|
onClick: M(d, ["stop"])
|
|
7013
|
-
}, [V(j(
|
|
7062
|
+
}, [V(j(ai), {
|
|
7014
7063
|
size: 14,
|
|
7015
7064
|
"stroke-width": 2
|
|
7016
|
-
})], 8,
|
|
7065
|
+
})], 8, Su)
|
|
7017
7066
|
], 512));
|
|
7018
7067
|
}
|
|
7019
|
-
}),
|
|
7068
|
+
}), wu = /* @__PURE__ */ e({ default: () => Tu }), Tu = Cu;
|
|
7020
7069
|
//#endregion
|
|
7021
7070
|
//#region src/cloud/utils/scoringStyles.ts
|
|
7022
|
-
function
|
|
7071
|
+
function Eu(e) {
|
|
7023
7072
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
7024
7073
|
}
|
|
7025
|
-
function
|
|
7074
|
+
function Du(e) {
|
|
7026
7075
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
7027
7076
|
}
|
|
7028
|
-
function
|
|
7077
|
+
function Ou(e) {
|
|
7029
7078
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
7030
7079
|
}
|
|
7031
|
-
function
|
|
7080
|
+
function ku(e) {
|
|
7032
7081
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
7033
7082
|
}
|
|
7034
7083
|
//#endregion
|
|
7035
7084
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
7036
|
-
var
|
|
7085
|
+
var Au = {
|
|
7037
7086
|
key: 0,
|
|
7038
7087
|
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)]"
|
|
7039
|
-
},
|
|
7088
|
+
}, ju = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Mu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Nu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Pu = ["title"], Fu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Iu = {
|
|
7040
7089
|
key: 0,
|
|
7041
7090
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7042
|
-
},
|
|
7091
|
+
}, Lu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ru = {
|
|
7043
7092
|
key: 1,
|
|
7044
7093
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7045
|
-
},
|
|
7094
|
+
}, zu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Bu = {
|
|
7046
7095
|
key: 2,
|
|
7047
7096
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
7048
|
-
},
|
|
7097
|
+
}, Vu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Hu = {
|
|
7049
7098
|
key: 0,
|
|
7050
7099
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
7051
|
-
},
|
|
7100
|
+
}, Uu = {
|
|
7052
7101
|
key: 0,
|
|
7053
7102
|
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)]"
|
|
7054
|
-
},
|
|
7103
|
+
}, Wu = ["onClick"], Gu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ku = {
|
|
7055
7104
|
key: 0,
|
|
7056
7105
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
7057
|
-
},
|
|
7106
|
+
}, qu = {
|
|
7058
7107
|
key: 0,
|
|
7059
7108
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
7060
|
-
},
|
|
7109
|
+
}, Ju = {
|
|
7061
7110
|
key: 0,
|
|
7062
7111
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
7063
|
-
},
|
|
7112
|
+
}, Yu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Xu = { class: "tpl:flex-1 tpl:min-w-0" }, Zu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Qu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, $u = {
|
|
7064
7113
|
key: 0,
|
|
7065
7114
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
7066
|
-
},
|
|
7115
|
+
}, ed = {
|
|
7067
7116
|
key: 1,
|
|
7068
7117
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
7069
|
-
},
|
|
7118
|
+
}, td = ["disabled", "onClick"], nd = {
|
|
7070
7119
|
key: 0,
|
|
7071
7120
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
7072
|
-
},
|
|
7121
|
+
}, rd = {
|
|
7073
7122
|
key: 3,
|
|
7074
7123
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7075
|
-
},
|
|
7124
|
+
}, id = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ad = { 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)]" }, od = /*@__PURE__*/ B({
|
|
7076
7125
|
__name: "TemplateScoringPanel",
|
|
7077
7126
|
props: { visible: { type: Boolean } },
|
|
7078
7127
|
emits: ["close"],
|
|
7079
7128
|
setup(e, { emit: t }) {
|
|
7080
|
-
let n = e, r = t, { t: i } =
|
|
7129
|
+
let n = e, r = t, { t: i } = ta(), a = J(zn, "TemplateScoringPanel"), o = J(vr, "TemplateScoringPanel"), s = v(Zn, []), c = C({
|
|
7081
7130
|
spam: !0,
|
|
7082
7131
|
readability: !0,
|
|
7083
7132
|
accessibility: !0,
|
|
@@ -7092,10 +7141,10 @@ var Eu = {
|
|
|
7092
7141
|
"accessibility",
|
|
7093
7142
|
"bestPractices"
|
|
7094
7143
|
], p = {
|
|
7095
|
-
spam:
|
|
7096
|
-
readability:
|
|
7097
|
-
accessibility:
|
|
7098
|
-
bestPractices:
|
|
7144
|
+
spam: Mi,
|
|
7145
|
+
readability: pi,
|
|
7146
|
+
accessibility: Ni,
|
|
7147
|
+
bestPractices: Vi
|
|
7099
7148
|
};
|
|
7100
7149
|
function m() {
|
|
7101
7150
|
o.score(a.content.value, s);
|
|
@@ -7123,50 +7172,50 @@ var Eu = {
|
|
|
7123
7172
|
"leave-from-class": "tpl:translate-x-0",
|
|
7124
7173
|
"leave-to-class": "tpl:translate-x-full"
|
|
7125
7174
|
}, {
|
|
7126
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
7175
|
+
default: b(() => [e.visible ? (f(), k("div", Au, [I("div", ju, [I("div", Mu, [V(j(ji), {
|
|
7127
7176
|
size: 13,
|
|
7128
7177
|
"stroke-width": 2
|
|
7129
|
-
}), I("span", null, D(j(i).scoring.title), 1)]), I("div",
|
|
7178
|
+
}), I("span", null, D(j(i).scoring.title), 1)]), I("div", Nu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
|
|
7130
7179
|
key: 0,
|
|
7131
7180
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7132
7181
|
title: j(i).scoring.rescore,
|
|
7133
7182
|
onClick: n[0] ||= (e) => m()
|
|
7134
|
-
}, [V(j(
|
|
7183
|
+
}, [V(j(Di), {
|
|
7135
7184
|
size: 14,
|
|
7136
7185
|
"stroke-width": 2
|
|
7137
|
-
})], 8,
|
|
7186
|
+
})], 8, Pu)) : A("", !0), I("button", {
|
|
7138
7187
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7139
7188
|
onClick: n[1] ||= (e) => r("close")
|
|
7140
|
-
}, [V(j(
|
|
7189
|
+
}, [V(j(Bi), {
|
|
7141
7190
|
size: 14,
|
|
7142
7191
|
"stroke-width": 2
|
|
7143
|
-
})])])]), I("div",
|
|
7144
|
-
V(j(
|
|
7192
|
+
})])])]), I("div", Fu, [j(o).isScoring.value ? (f(), k("div", Iu, [I("p", Lu, D(j(i).scoring.scoring), 1), V(Yi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Ru, [
|
|
7193
|
+
V(j(si), {
|
|
7145
7194
|
size: 32,
|
|
7146
7195
|
"stroke-width": 1.5,
|
|
7147
7196
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
7148
7197
|
}),
|
|
7149
|
-
I("p",
|
|
7198
|
+
I("p", zu, D(j(i).scoring.error), 1),
|
|
7150
7199
|
I("button", {
|
|
7151
7200
|
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)]",
|
|
7152
7201
|
onClick: n[2] ||= (e) => m()
|
|
7153
|
-
}, [V(j(
|
|
7202
|
+
}, [V(j(Di), {
|
|
7154
7203
|
size: 12,
|
|
7155
7204
|
"stroke-width": 2
|
|
7156
7205
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
7157
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7206
|
+
])) : j(o).scoringResult.value ? (f(), k("div", Bu, [
|
|
7158
7207
|
I("div", {
|
|
7159
7208
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
7160
|
-
style: L({ backgroundColor: j(
|
|
7209
|
+
style: L({ backgroundColor: j(Du)(j(o).scoringResult.value.score) })
|
|
7161
7210
|
}, [
|
|
7162
7211
|
I("span", {
|
|
7163
7212
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
7164
|
-
style: L({ color: j(
|
|
7213
|
+
style: L({ color: j(Eu)(j(o).scoringResult.value.score) })
|
|
7165
7214
|
}, D(j(o).scoringResult.value.score), 5),
|
|
7166
|
-
I("span",
|
|
7167
|
-
_() > 0 ? (f(), k("span",
|
|
7215
|
+
I("span", Vu, D(j(i).scoring.overallScore), 1),
|
|
7216
|
+
_() > 0 ? (f(), k("span", Hu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
|
|
7168
7217
|
], 4),
|
|
7169
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7218
|
+
j(o).fixError.value ? (f(), k("div", Uu, [V(j(si), {
|
|
7170
7219
|
size: 14,
|
|
7171
7220
|
"stroke-width": 2,
|
|
7172
7221
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7181,74 +7230,74 @@ var Eu = {
|
|
|
7181
7230
|
(f(), N(d(p[e]), {
|
|
7182
7231
|
size: 14,
|
|
7183
7232
|
"stroke-width": 2,
|
|
7184
|
-
style: L({ color: j(
|
|
7233
|
+
style: L({ color: j(Eu)(j(o).scoringResult.value.categories[e].score) })
|
|
7185
7234
|
}, null, 8, ["style"])),
|
|
7186
|
-
I("span",
|
|
7235
|
+
I("span", Gu, D(j(i).scoring.categories[e]), 1),
|
|
7187
7236
|
I("span", {
|
|
7188
7237
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7189
7238
|
style: L({
|
|
7190
|
-
color: j(
|
|
7191
|
-
backgroundColor: j(
|
|
7239
|
+
color: j(Eu)(j(o).scoringResult.value.categories[e].score),
|
|
7240
|
+
backgroundColor: j(Du)(j(o).scoringResult.value.categories[e].score)
|
|
7192
7241
|
})
|
|
7193
7242
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7194
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7195
|
-
V(j(
|
|
7243
|
+
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Ku, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
|
|
7244
|
+
V(j(ri), {
|
|
7196
7245
|
size: 12,
|
|
7197
7246
|
"stroke-width": 2,
|
|
7198
7247
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7199
7248
|
}, null, 8, ["class"])
|
|
7200
|
-
], 8,
|
|
7249
|
+
], 8, Wu), c.value[e] ? (f(), k("div", qu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Ju, 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", {
|
|
7201
7250
|
key: e.id,
|
|
7202
7251
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7203
|
-
}, [I("div",
|
|
7252
|
+
}, [I("div", Yu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
|
|
7204
7253
|
size: 13,
|
|
7205
7254
|
"stroke-width": 2,
|
|
7206
7255
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7207
|
-
style: L({ color: j(
|
|
7208
|
-
}, null, 8, ["style"])), I("div",
|
|
7209
|
-
I("div",
|
|
7256
|
+
style: L({ color: j(Ou)(e.severity) })
|
|
7257
|
+
}, null, 8, ["style"])), I("div", Xu, [
|
|
7258
|
+
I("div", Zu, [I("span", {
|
|
7210
7259
|
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",
|
|
7211
7260
|
style: L({
|
|
7212
|
-
color: j(
|
|
7213
|
-
backgroundColor: j(
|
|
7261
|
+
color: j(Ou)(e.severity),
|
|
7262
|
+
backgroundColor: j(ku)(e.severity)
|
|
7214
7263
|
})
|
|
7215
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7216
|
-
e.suggestion ? (f(), k("p",
|
|
7217
|
-
e.blockId ? (f(), k("div",
|
|
7264
|
+
}, D(j(i).scoring.severity[e.severity]), 5), I("span", Qu, D(e.message), 1)]),
|
|
7265
|
+
e.suggestion ? (f(), k("p", $u, D(e.suggestion), 1)) : A("", !0),
|
|
7266
|
+
e.blockId ? (f(), k("div", ed, [I("button", {
|
|
7218
7267
|
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)]",
|
|
7219
7268
|
style: { "background-color": "transparent" },
|
|
7220
7269
|
disabled: j(o).fixingFindingId.value !== null,
|
|
7221
7270
|
onClick: (t) => g(e)
|
|
7222
|
-
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(
|
|
7271
|
+
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(xi), {
|
|
7223
7272
|
key: 0,
|
|
7224
7273
|
class: "tpl-spinner",
|
|
7225
7274
|
size: 11,
|
|
7226
7275
|
"stroke-width": 2
|
|
7227
|
-
})) : (f(), N(j(
|
|
7276
|
+
})) : (f(), N(j(Ni), {
|
|
7228
7277
|
key: 1,
|
|
7229
7278
|
size: 11,
|
|
7230
7279
|
"stroke-width": 2
|
|
7231
|
-
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8,
|
|
7280
|
+
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, td), j(o).fixError.value ? (f(), k("p", nd, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
|
|
7232
7281
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7233
|
-
])) : (f(), k("div",
|
|
7282
|
+
])) : (f(), k("div", rd, [V(j(ji), {
|
|
7234
7283
|
size: 32,
|
|
7235
7284
|
"stroke-width": 1.5,
|
|
7236
7285
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7237
|
-
}), I("p",
|
|
7286
|
+
}), I("p", id, D(j(i).scoring.emptyState), 1)])), I("p", ad, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7238
7287
|
_: 1
|
|
7239
7288
|
}));
|
|
7240
7289
|
}
|
|
7241
|
-
}),
|
|
7290
|
+
}), sd = /* @__PURE__ */ e({ default: () => cd }), cd = /*#__PURE__*/ Gi(od, [["__scopeId", "data-v-c23c73d4"]]), ld = ["aria-busy"], ud = {
|
|
7242
7291
|
id: "tpl-test-email-title",
|
|
7243
7292
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7244
|
-
},
|
|
7293
|
+
}, dd = { class: "tpl:mb-3" }, fd = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, pd = ["value"], md = ["disabled"], hd = ["value"], gd = {
|
|
7245
7294
|
key: 0,
|
|
7246
7295
|
role: "alert",
|
|
7247
7296
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7248
|
-
},
|
|
7297
|
+
}, _d = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, vd = ["disabled"], yd = ["disabled"], bd = {
|
|
7249
7298
|
key: 0,
|
|
7250
7299
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7251
|
-
},
|
|
7300
|
+
}, xd = { key: 1 }, Sd = /*@__PURE__*/ B({
|
|
7252
7301
|
__name: "TestEmailModal",
|
|
7253
7302
|
props: {
|
|
7254
7303
|
visible: { type: Boolean },
|
|
@@ -7258,7 +7307,7 @@ var Eu = {
|
|
|
7258
7307
|
},
|
|
7259
7308
|
emits: ["send", "close"],
|
|
7260
7309
|
setup(e, { emit: t }) {
|
|
7261
|
-
let n = e, r = t, { t: i } =
|
|
7310
|
+
let n = e, r = t, { t: i } = ta(), a = C("");
|
|
7262
7311
|
H(() => n.visible, (e) => {
|
|
7263
7312
|
e && (a.value = n.allowedEmails[0] ?? "");
|
|
7264
7313
|
});
|
|
@@ -7271,7 +7320,7 @@ var Eu = {
|
|
|
7271
7320
|
function l(e) {
|
|
7272
7321
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7273
7322
|
}
|
|
7274
|
-
return (t, n) => (f(), N(
|
|
7323
|
+
return (t, n) => (f(), N(us, {
|
|
7275
7324
|
visible: e.visible,
|
|
7276
7325
|
onClose: s,
|
|
7277
7326
|
onKeydown: l
|
|
@@ -7287,14 +7336,14 @@ var Eu = {
|
|
|
7287
7336
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7288
7337
|
}
|
|
7289
7338
|
}, [
|
|
7290
|
-
I("h3",
|
|
7291
|
-
I("div",
|
|
7339
|
+
I("h3", ud, D(j(i).testEmail.title), 1),
|
|
7340
|
+
I("div", dd, [I("label", fd, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
|
|
7292
7341
|
key: 0,
|
|
7293
7342
|
type: "text",
|
|
7294
7343
|
value: a.value,
|
|
7295
7344
|
disabled: "",
|
|
7296
7345
|
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)]"
|
|
7297
|
-
}, null, 8,
|
|
7346
|
+
}, null, 8, pd)) : c((f(), k("select", {
|
|
7298
7347
|
key: 1,
|
|
7299
7348
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7300
7349
|
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)]",
|
|
@@ -7302,29 +7351,29 @@ var Eu = {
|
|
|
7302
7351
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7303
7352
|
key: e,
|
|
7304
7353
|
value: e
|
|
7305
|
-
}, D(e), 9,
|
|
7306
|
-
e.error ? (f(), k("p",
|
|
7307
|
-
I("div",
|
|
7354
|
+
}, D(e), 9, hd))), 128))], 8, md)), [[w, a.value]])]),
|
|
7355
|
+
e.error ? (f(), k("p", gd, D(e.error), 1)) : A("", !0),
|
|
7356
|
+
I("div", _d, [I("button", {
|
|
7308
7357
|
type: "button",
|
|
7309
7358
|
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 }]),
|
|
7310
7359
|
disabled: e.isSending,
|
|
7311
7360
|
onClick: s
|
|
7312
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7361
|
+
}, D(j(i).testEmail.cancel), 11, vd), I("button", {
|
|
7313
7362
|
type: "button",
|
|
7314
7363
|
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)]",
|
|
7315
7364
|
disabled: !a.value || e.isSending,
|
|
7316
7365
|
onClick: o
|
|
7317
|
-
}, [e.isSending ? (f(), k("span",
|
|
7366
|
+
}, [e.isSending ? (f(), k("span", bd, [V(j(xi), {
|
|
7318
7367
|
class: "tpl:animate-spin",
|
|
7319
7368
|
size: 12,
|
|
7320
7369
|
"stroke-width": 2
|
|
7321
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7322
|
-
], 8,
|
|
7370
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", xd, D(j(i).testEmail.send), 1))], 8, yd)])
|
|
7371
|
+
], 8, ld)]),
|
|
7323
7372
|
_: 1
|
|
7324
7373
|
}, 8, ["visible"]));
|
|
7325
7374
|
}
|
|
7326
|
-
}),
|
|
7375
|
+
}), Cd = /* @__PURE__ */ e({ default: () => wd }), wd = Sd;
|
|
7327
7376
|
//#endregion
|
|
7328
|
-
export {
|
|
7377
|
+
export { ia as $, tr as $t, ss as A, lt as An, ai as At, so as B, Te as Bn, mr as Bt, vs as C, xt as Cn, vi as Ct, fs as D, mt as Dn, ui as Dt, ds as E, ht as En, di as Et, No as F, ye as Fn, jr as Ft, Na as G, Ee as Gn, gr as Gt, Za as H, he as Hn, qn as Ht, Ao as I, De as In, wr as It, Ta as J, pe as Jn, Xn as Jt, Ma as K, ge as Kn, Hn as Kt, To as L, be as Ln, Y as Lt, Yo as M, st as Mn, ni as Mt, Uo as N, W as Nn, X as Nt, us as O, St as On, li as Ot, Bo as P, We as Pn, Wr as Pt, ca as Q, ir as Qt, Co as R, we as Rn, hr as Rt, ys as S, dt as Sn, yi as St, Z as T, yt as Tn, fi as Tt, qa as U, Se as Un, lr as Ut, oo as V, _e as Vn, Kn as Vt, Fa as W, Ce as Wn, yr as Wt, ma as X, fe as Xn, zn as Xt, ga as Y, de as Yn, sr as Yt, la as Z, ue as Zn, Un as Zt, js as _, an as _n, wi as _t, Pl as a, dr as an, Gi as at, Ds as b, Lt as bn, xi as bt, Js as c, Gn as cn, Ri as ct, Vs as d, En as dn, Pi as dt, Qn as en, ra as et, Bs as f, Dn as fn, Ni as ft, Is as g, on as gn, Di as gt, Ls as h, An as hn, ki as ht, lu as i, vr as in, Qi as it, as as j, ct as jn, ri as jt, cs as k, ut as kn, si as kt, Us as l, J as ln, Ii as lt, Rs as m, Nn as mn, Ai as mt, sd as n, Yn as nn, ea as nt, bc as o, Wn as on, Wi as ot, zs as p, q as pn, ji as pt, Da as q, xe as qn, Jn as qt, wu as r, _r as rn, ta as rt, Ys as s, Rn as sn, Bi as st, Cd as t, or as tn, na as tt, Hs as u, vn as un, Fi as ut, As as v, ln as vn, Ci as vt, $ as w, Ct as wn, pi as wt, Cs as x, Ot as xn, bi as xt, Os as y, un as yn, Si as yt, co as z, ve as zn, cr as zt };
|
|
7329
7378
|
|
|
7330
|
-
//# sourceMappingURL=features-
|
|
7379
|
+
//# sourceMappingURL=features-CHE3YjQE.js.map
|