@templatical/editor 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiChatSidebar-B0-U5-sb.js → AiChatSidebar-J8iO_sX7.js} +14 -14
- package/dist/{AiFeatureMenu-DxDwLS8B.js → AiFeatureMenu-F2diEDgV.js} +10 -10
- package/dist/{BlockIssueBadge-C-EPqWsh.js → BlockIssueBadge-a-qlByxF.js} +5 -5
- package/dist/{CloudEditor-DaEfipBn.js → CloudEditor-CDjtwb4i.js} +236 -234
- package/dist/{CollaboratorBar-DgwjisX2.js → CollaboratorBar-B_EnJLtW.js} +4 -4
- package/dist/{CommentsSidebar-CpRLN40c.js → CommentsSidebar-DaP9BA_r.js} +18 -18
- package/dist/{CountdownBlock-DO9fziwf.js → CountdownBlock-DtAokAVw.js} +3 -3
- package/dist/{CountdownToolbar-BeII06yJ.js → CountdownToolbar-Dtqgwy0g.js} +3 -3
- package/dist/{DesignReferenceSidebar-BgPDbOsl.js → DesignReferenceSidebar-BHRlTqlT.js} +10 -10
- package/dist/{IssuesPanel-I0z6k6-H.js → IssuesPanel-u7ee3Wrl.js} +11 -11
- package/dist/{LoadingTrack-C7mGWPHS.js → LoadingTrack-CV3ID80N.js} +1 -1
- package/dist/ModuleBrowserModal-DOsdaS6s.js +201 -0
- package/dist/{ModulePreviewCanvas-Dni9kK4j.js → ModulePreviewCanvas-Cx4MOJ0X.js} +3 -3
- package/dist/{NumberWithSuffix-D3fdj0iO.js → NumberWithSuffix-D2mW_DhT.js} +4 -4
- package/dist/{ParagraphEditor-CZ-cmhX3.js → ParagraphEditor-DMzkVnST.js} +153 -133
- package/dist/{RichTextEditorContent-Q5altsx1.js → RichTextEditorContent-CRCxCwKf.js} +7 -7
- package/dist/{SaveModuleDialog-C38VqN2T.js → SaveModuleDialog-DuEKgumL.js} +8 -8
- package/dist/{SnapshotHistory-ByloTpwh.js → SnapshotHistory-CVgiNJtE.js} +12 -12
- package/dist/{TemplateScoringPanel-CUxiPtEf.js → TemplateScoringPanel-lm0_9nYi.js} +25 -25
- package/dist/{TestEmailModal-BvZBMBad.js → TestEmailModal-WBMdiW5S.js} +5 -5
- package/dist/{TitleEditor-DbNOcvhR.js → TitleEditor-eyT0h-Sa.js} +71 -55
- package/dist/{TplModal-BYb-X5Bj.js → TplModal-tjQ7OB0g.js} +4 -4
- package/dist/{blockTypeIcons-CyAom3iI.js → blockTypeIcons-DdB3uTKD.js} +5 -5
- package/dist/bundle-stats.json +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-BSoy-SoF.js → AiFeatureMenu-D7rB2SBs.js} +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-BSoy-SoF.js.map → AiFeatureMenu-D7rB2SBs.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BQDUuJxy.js → BlockIssueBadge-DHOe0pgx.js} +5 -5
- package/dist/cdn/chunks/{BlockIssueBadge-BQDUuJxy.js.map → BlockIssueBadge-DHOe0pgx.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-BZuzsQOZ.js → CloudEditor-DNed_Ym0.js} +208 -206
- package/dist/cdn/chunks/CloudEditor-DNed_Ym0.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-DUpSrtDr.js → CollaboratorBar-sj_9Lee3.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-DUpSrtDr.js.map → CollaboratorBar-sj_9Lee3.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-DChGTAsH.js → CountdownBlock-C1Ikjpn4.js} +3 -3
- package/dist/cdn/chunks/{CountdownBlock-DChGTAsH.js.map → CountdownBlock-C1Ikjpn4.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-C6gX2SJr.js → CountdownToolbar-j1G_X8rB.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-C6gX2SJr.js.map → CountdownToolbar-j1G_X8rB.js.map} +1 -1
- package/dist/cdn/chunks/{IssuesPanel-Bo1uhdSe.js → IssuesPanel-CTOf3PsH.js} +11 -11
- package/dist/cdn/chunks/{IssuesPanel-Bo1uhdSe.js.map → IssuesPanel-CTOf3PsH.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-a-tZRCcD.js → ModuleBrowserModal-DCh88-rr.js} +11 -8
- package/dist/cdn/chunks/{ModuleBrowserModal-a-tZRCcD.js.map → ModuleBrowserModal-DCh88-rr.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-Bm6k0Op0.js → ModulePreviewCanvas-DJqvTKmg.js} +21 -21
- package/dist/cdn/chunks/{ModulePreviewCanvas-Bm6k0Op0.js.map → ModulePreviewCanvas-DJqvTKmg.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-HTbuD3VJ.js → NumberWithSuffix-Bu45XWSl.js} +5 -5
- package/dist/cdn/chunks/{NumberWithSuffix-HTbuD3VJ.js.map → NumberWithSuffix-Bu45XWSl.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-pGrfSccu.js → ParagraphEditor-DwZqLJp2.js} +130 -110
- package/dist/cdn/chunks/ParagraphEditor-DwZqLJp2.js.map +1 -0
- package/dist/cdn/chunks/{RichTextEditorContent-D7XZix_1.js → RichTextEditorContent-CIuZ-2DV.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-D7XZix_1.js.map → RichTextEditorContent-CIuZ-2DV.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-C9PQ9x6j.js → SaveModuleDialog-Bep0X2s_.js} +6 -6
- package/dist/cdn/chunks/{SaveModuleDialog-C9PQ9x6j.js.map → SaveModuleDialog-Bep0X2s_.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-BvFbL16O.js → TitleEditor-DO1-h3RY.js} +62 -46
- package/dist/cdn/chunks/TitleEditor-DO1-h3RY.js.map +1 -0
- package/dist/cdn/chunks/blockTypeIcons-8o24HVJu.js +22 -0
- package/dist/cdn/chunks/{blockTypeIcons-Kd1MT0u8.js.map → blockTypeIcons-8o24HVJu.js.map} +1 -1
- package/dist/{de-C2wOXoxs.js → cdn/chunks/de-LsV0u1tP.js} +19 -1
- package/dist/cdn/chunks/de-LsV0u1tP.js.map +1 -0
- package/dist/cdn/chunks/{draggable-Bci-fq8y.js → draggable-kPCz_3zM.js} +14 -5
- package/dist/cdn/chunks/{draggable-Bci-fq8y.js.map → draggable-kPCz_3zM.js.map} +1 -1
- package/dist/cdn/chunks/{en-dR7zfNC3.js → en-Bb8X1bOs.js} +18 -2
- package/dist/cdn/chunks/en-Bb8X1bOs.js.map +1 -0
- package/dist/cdn/chunks/{extensions-CuUjSmuA.js → extensions-iwBXnEwq.js} +16 -16
- package/dist/cdn/chunks/{extensions-CuUjSmuA.js.map → extensions-iwBXnEwq.js.map} +1 -1
- package/dist/cdn/chunks/{features-DU6lA8l1.js → features-CkTMVylx.js} +940 -812
- package/dist/cdn/chunks/features-CkTMVylx.js.map +1 -0
- package/dist/cdn/chunks/{icons-BjHUZZyJ.js → icons-9zjCuoJx.js} +158 -152
- package/dist/cdn/chunks/icons-9zjCuoJx.js.map +1 -0
- package/dist/cdn/chunks/liquid.browser-DKKBzRQu.js.map +1 -1
- package/dist/cdn/chunks/{media-library-Byelliig.js → media-library-DMRIPx4g.js} +552 -550
- package/dist/cdn/chunks/{media-library-Byelliig.js.map → media-library-DMRIPx4g.js.map} +1 -1
- package/dist/cdn/chunks/{pt-BR-BZ86xqK6.js → pt-BR-BwJY_cvb.js} +18 -2
- package/dist/cdn/chunks/pt-BR-BwJY_cvb.js.map +1 -0
- package/dist/cdn/chunks/{pusher-BICWUP2j.js → pusher-CdEqyLwF.js} +6 -3
- package/dist/cdn/chunks/{pusher-BICWUP2j.js.map → pusher-CdEqyLwF.js.map} +1 -1
- package/dist/cdn/chunks/quality-CyeUgs_c.js +2176 -0
- package/dist/cdn/chunks/{quality-DNnYAntR.js.map → quality-CyeUgs_c.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-CZKO-Tav.js → renderer-BIKUEKDD.js} +39 -30
- package/dist/cdn/chunks/{renderer-CZKO-Tav.js.map → renderer-BIKUEKDD.js.map} +1 -1
- package/dist/cdn/chunks/{src-DsqSXXjk.js → src-pDy_imWG.js} +11 -11
- package/dist/cdn/chunks/{src-DsqSXXjk.js.map → src-pDy_imWG.js.map} +1 -1
- package/dist/cdn/chunks/{styles-DiAdtiz9.js → styles-D4Bd3SCx.js} +1197 -822
- package/dist/cdn/chunks/styles-D4Bd3SCx.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-CwScfbsM.js → tiptap-BlLFFU3M.js} +2233 -2213
- package/dist/cdn/chunks/tiptap-BlLFFU3M.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +117 -115
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-BRzXxFHr.js → check-CYJwFmjy.js} +1 -1
- package/dist/{chevron-down-DmEgzmYT.js → chevron-down-C5l-DzAA.js} +1 -1
- package/dist/{circle-alert-BStvZr3O.js → circle-alert-wf5HUFZY.js} +1 -1
- package/dist/{clock-Blwp_1R6.js → clock-Bj0bQw-K.js} +1 -1
- package/dist/{cloud-_olro76D.js → cloud-CoFDm9YA.js} +1 -1
- package/dist/{createLucideIcon-CmPAC-gt.js → createLucideIcon-Bad2kKE0.js} +4 -4
- package/dist/{cdn/chunks/de-C2wOXoxs.js → de-LsV0u1tP.js} +17 -3
- package/dist/{dist-BwgjpLfr.js → dist-34OcyoK1.js} +1 -1
- package/dist/{dist-Cz79qrLL.js → dist-B7w6xTU6.js} +1 -1
- package/dist/{dist-DULfKmTh.js → dist-BX3gGwL8.js} +5 -5
- package/dist/{dist-412xXefB.js → dist-Bn703mnA.js} +1 -1
- package/dist/{dist-u0iIJH3V.js → dist-CADDCv0o.js} +1 -1
- package/dist/{dist-BNEdeWub.js → dist-CGvz7vkq.js} +1 -1
- package/dist/{dist-BlG7k25W.js → dist-CLpPNKy9.js} +1 -1
- package/dist/{dist-BCQZZUE9.js → dist-ChMninLH.js} +1 -1
- package/dist/{dist-b7Ak-CuM.js → dist-CrQZ_af9.js} +1 -1
- package/dist/{dist-DhKTdU52.js → dist-CyjyYg52.js} +1426 -1406
- package/dist/{dist-D6x1cQeh.js → dist-Dd3ibRZm.js} +2 -2
- package/dist/{dist-Cgry6fNv.js → dist-DuCzdgDA.js} +1 -1
- package/dist/{dist-o73iaGqy.js → dist-U5vfDdYI.js} +1 -1
- package/dist/{en-dR7zfNC3.js → en-Bb8X1bOs.js} +17 -1
- package/dist/{extensions-XPlNAKIL.js → extensions-J439b7y7.js} +5 -5
- package/dist/{image-up-BFPbw_Zq.js → image-up-x8-WXfsx.js} +1 -1
- package/dist/index.d.ts +17 -0
- package/dist/{info-B_qLEBN2.js → info-RS_fGcGi.js} +1 -1
- package/dist/keys-DgYXDafq.js +10 -0
- package/dist/{list-checks-CGg7JxPm.js → list-checks-Bf7XdDyv.js} +1 -1
- package/dist/{loader-circle-CDF8eR_Q.js → loader-circle-CLZ0_FvW.js} +1 -1
- package/dist/{message-circle-C3cHsCJl.js → message-circle-B-1bN9ab.js} +1 -1
- package/dist/{pt-BR-BZ86xqK6.js → pt-BR-BwJY_cvb.js} +17 -1
- package/dist/{refresh-cw-Butml7Q4.js → refresh-cw-CWKWqJYG.js} +1 -1
- package/dist/scan-line-BtK5dEai.js +31 -0
- package/dist/{send-k7npFJNO.js → send-Cn1IUdzh.js} +1 -1
- package/dist/{shield-check-CV6GbmCu.js → shield-check-CrvMk4Ea.js} +1 -1
- package/dist/{sparkles-C965Xop4.js → sparkles-CgfjwvnG.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{styles-D0RCAWhB.js → styles-BUwDOWd3.js} +1221 -846
- package/dist/templatical-editor.js +95 -93
- package/dist/{text-align-start-Bxnps8fH.js → text-align-start-C3r_Rnvy.js} +1 -1
- package/dist/{trash-2-DpGb7fIt.js → trash-2-CjERg4x9.js} +1 -1
- package/dist/{triangle-alert-BKYElAwz.js → triangle-alert-Chkny574.js} +1 -1
- package/dist/{upload-BF7sxd1_.js → upload-e5kDRkPb.js} +1 -1
- package/dist/{useAliveFlag-BinvbqQR.js → useAliveFlag-cUQj9rmB.js} +1 -1
- package/dist/{useCloudI18n-L3H2XvdW.js → useCloudI18n-CYJKqXtI.js} +2 -2
- package/dist/{useEditorCore-DKYZ7aKk.js → useEditorCore-8JxXDOA4.js} +1031 -903
- package/dist/{useI18n-CTs_bP9d.js → useI18n-BWqM8i78.js} +2 -2
- package/dist/{useMergeTag-e3RSY-s3.js → useMergeTag-NHC4ylza.js} +3 -3
- package/dist/usePopoverRoot-B1sdY4es.js +8 -0
- package/dist/{vue.runtime.esm-bundler-B2k01iQh.js → vue.runtime.esm-bundler-BPa483TZ.js} +13 -4
- package/dist/{x-CGjkjdKK.js → x-DiPIbccg.js} +1 -1
- package/package.json +12 -12
- package/dist/ModuleBrowserModal-DsZRr87F.js +0 -198
- package/dist/cdn/chunks/CloudEditor-BZuzsQOZ.js.map +0 -1
- package/dist/cdn/chunks/ParagraphEditor-pGrfSccu.js.map +0 -1
- package/dist/cdn/chunks/TitleEditor-BvFbL16O.js.map +0 -1
- package/dist/cdn/chunks/blockTypeIcons-Kd1MT0u8.js +0 -22
- package/dist/cdn/chunks/de-C2wOXoxs.js.map +0 -1
- package/dist/cdn/chunks/en-dR7zfNC3.js.map +0 -1
- package/dist/cdn/chunks/features-DU6lA8l1.js.map +0 -1
- package/dist/cdn/chunks/icons-BjHUZZyJ.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-BZ86xqK6.js.map +0 -1
- package/dist/cdn/chunks/quality-DNnYAntR.js +0 -2176
- package/dist/cdn/chunks/styles-DiAdtiz9.js.map +0 -1
- package/dist/cdn/chunks/tiptap-CwScfbsM.js.map +0 -1
- package/dist/keys-mFiJ5N0_.js +0 -10
- package/dist/scan-line-XYEqim_E.js +0 -25
- package/dist/usePopoverRoot-DVh7NY1q.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
|
|
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-kPCz_3zM.js";
|
|
3
3
|
//#region src/constants/timeouts.ts
|
|
4
4
|
var ue = 3e4, de = 4e3, fe = 5e3, pe = {
|
|
5
5
|
1: 36,
|
|
@@ -611,17 +611,19 @@ function Et(e) {
|
|
|
611
611
|
}, t.isDirty = !0;
|
|
612
612
|
}
|
|
613
613
|
function _(e, n, r = 0, a) {
|
|
614
|
-
if (n) {
|
|
615
|
-
if (
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
if (
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
614
|
+
if (!(n && e.type === "section")) {
|
|
615
|
+
if (n) {
|
|
616
|
+
if (s(n)) return;
|
|
617
|
+
let o = i(t.content.blocks, n);
|
|
618
|
+
if (o && o.type === "section") {
|
|
619
|
+
if (r < 0 || r >= Tt(o.columns)) return;
|
|
620
|
+
o.children[r] = o.children[r] || [];
|
|
621
|
+
let t = o.children[r];
|
|
622
|
+
a !== void 0 && a < t.length ? t.splice(a, 0, e) : t.push(e);
|
|
623
|
+
}
|
|
624
|
+
} else a !== void 0 && a < t.content.blocks.length ? t.content.blocks.splice(a, 0, e) : t.content.blocks.push(e);
|
|
625
|
+
t.isDirty = !0;
|
|
626
|
+
}
|
|
625
627
|
}
|
|
626
628
|
function v(e) {
|
|
627
629
|
if (s(e)) return;
|
|
@@ -643,7 +645,7 @@ function Et(e) {
|
|
|
643
645
|
let c = o(t.content.blocks, e);
|
|
644
646
|
if (!c) return;
|
|
645
647
|
let l = c.blocks.findIndex((t) => t.id === e);
|
|
646
|
-
if (l === -1) return;
|
|
648
|
+
if (l === -1 || r && c.blocks[l].type === "section") return;
|
|
647
649
|
let u;
|
|
648
650
|
if (r) {
|
|
649
651
|
let e = i(t.content.blocks, r);
|
|
@@ -817,7 +819,7 @@ function Nt(e) {
|
|
|
817
819
|
o = null, c() && !s && n() && r(JSON.parse(JSON.stringify(t.value)));
|
|
818
820
|
}, i));
|
|
819
821
|
}
|
|
820
|
-
let m =
|
|
822
|
+
let m = T(t, () => {
|
|
821
823
|
c() && !s && n() && p();
|
|
822
824
|
}, { deep: !0 });
|
|
823
825
|
function h() {
|
|
@@ -1477,7 +1479,7 @@ function Fn() {
|
|
|
1477
1479
|
}
|
|
1478
1480
|
//#endregion
|
|
1479
1481
|
//#region src/keys.ts
|
|
1480
|
-
var In = Symbol("translations"), Ln = Symbol("editor"), Rn = Symbol("history"), zn = Symbol("blockActions"), Bn = Symbol("conditionPreview"), Vn = Symbol("fontsManager"), Hn = Symbol("themeStyles"), Un = Symbol("tplUiTheme"), Wn = Symbol("blockDefaults"), Gn = Symbol("blockRegistry"), Kn = Symbol("customBlockDefinitions"), qn = Symbol("paletteBlocks"), Jn = Symbol("customBlockStylesheets"), Yn = Symbol("mergeTags"), Xn = Symbol("mergeTagSyntax"), Zn = Symbol("onRequestMergeTag"), Qn = Symbol("mergeTagAutocomplete"), $n = Symbol("mergeTagPicker"), er = Symbol("
|
|
1482
|
+
var In = Symbol("translations"), Ln = Symbol("editor"), Rn = Symbol("history"), zn = Symbol("blockActions"), Bn = Symbol("conditionPreview"), Vn = Symbol("fontsManager"), Hn = Symbol("themeStyles"), Un = Symbol("tplUiTheme"), Wn = Symbol("blockDefaults"), Gn = Symbol("blockRegistry"), Kn = Symbol("customBlockDefinitions"), qn = Symbol("paletteBlocks"), Jn = Symbol("customBlockStylesheets"), Yn = Symbol("mergeTags"), Xn = Symbol("mergeTagSyntax"), Zn = Symbol("onRequestMergeTag"), Qn = Symbol("mergeTagAutocomplete"), $n = Symbol("mergeTagPicker"), er = Symbol("logicTags"), tr = Symbol("logicPairs"), nr = Symbol("logicPicker"), rr = Symbol("onRequestLogic"), ir = Symbol("onRequestMedia"), ar = Symbol("displayConditions"), or = Symbol("allowCustomConditions"), sr = Symbol("capabilities"), cr = Symbol("keyboardReorder"), lr = Symbol("templateLint"), ur = Symbol("editorRoot"), dr = Symbol("popoverRoot"), fr = Symbol("authManager"), pr = Symbol("aiConfig"), mr = Symbol("comments"), hr = Symbol("savedModulesHeadless"), gr = Symbol("scoring"), _r = Symbol("cloudTranslations");
|
|
1481
1483
|
function J(e, t) {
|
|
1482
1484
|
let n = v(e, null);
|
|
1483
1485
|
if (n == null) throw Error(`${t} requires a provider for ${e.description ?? "unknown key"}. Ensure it is a descendant of Editor or CloudEditor.`);
|
|
@@ -1485,7 +1487,7 @@ function J(e, t) {
|
|
|
1485
1487
|
}
|
|
1486
1488
|
//#endregion
|
|
1487
1489
|
//#region src/composables/useMergeTagPicker.ts
|
|
1488
|
-
function
|
|
1490
|
+
function vr() {
|
|
1489
1491
|
let e = C(!1), t = C([]), n = null;
|
|
1490
1492
|
function r(r) {
|
|
1491
1493
|
if (n) {
|
|
@@ -1514,16 +1516,47 @@ function mr() {
|
|
|
1514
1516
|
};
|
|
1515
1517
|
}
|
|
1516
1518
|
//#endregion
|
|
1519
|
+
//#region src/composables/useLogicTagPicker.ts
|
|
1520
|
+
function yr() {
|
|
1521
|
+
let e = C(!1), t = C([]), n = C([]), r = null;
|
|
1522
|
+
function i(i, a) {
|
|
1523
|
+
if (r) {
|
|
1524
|
+
let e = r;
|
|
1525
|
+
r = null, e(null);
|
|
1526
|
+
}
|
|
1527
|
+
return t.value = i, n.value = a, e.value = !0, new Promise((e) => {
|
|
1528
|
+
r = e;
|
|
1529
|
+
});
|
|
1530
|
+
}
|
|
1531
|
+
function a(i) {
|
|
1532
|
+
let a = r;
|
|
1533
|
+
r = null, e.value = !1, t.value = [], n.value = [], a && a(i);
|
|
1534
|
+
}
|
|
1535
|
+
return s() && l(() => {
|
|
1536
|
+
if (r) {
|
|
1537
|
+
let e = r;
|
|
1538
|
+
r = null, e(null);
|
|
1539
|
+
}
|
|
1540
|
+
e.value = !1, t.value = [], n.value = [];
|
|
1541
|
+
}), {
|
|
1542
|
+
isOpen: e,
|
|
1543
|
+
tags: t,
|
|
1544
|
+
pairs: n,
|
|
1545
|
+
open: i,
|
|
1546
|
+
resolve: a
|
|
1547
|
+
};
|
|
1548
|
+
}
|
|
1549
|
+
//#endregion
|
|
1517
1550
|
//#region src/composables/useTemplateLint.ts
|
|
1518
|
-
function
|
|
1551
|
+
function br(e) {
|
|
1519
1552
|
return e ? e.disabled === !0 ? !0 : e.accessibility === !1 && e.structure === !1 && e.links === !1 : !1;
|
|
1520
1553
|
}
|
|
1521
|
-
function
|
|
1522
|
-
let t = C([]), r = C(!1), i = C(!1), a = n(null), o =
|
|
1554
|
+
function xr(e) {
|
|
1555
|
+
let t = C([]), r = C(!1), i = C(!1), a = n(null), o = br(e.options), s = null, c = !1;
|
|
1523
1556
|
o || l();
|
|
1524
1557
|
async function l() {
|
|
1525
1558
|
try {
|
|
1526
|
-
let t = await import("./quality-
|
|
1559
|
+
let t = await import("./quality-CyeUgs_c.js").then((e) => e.t);
|
|
1527
1560
|
if (c) return;
|
|
1528
1561
|
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = un(e.content, u, {
|
|
1529
1562
|
debounce: e.debounce ?? 500,
|
|
@@ -1574,12 +1607,12 @@ function Y(e) {
|
|
|
1574
1607
|
}
|
|
1575
1608
|
//#endregion
|
|
1576
1609
|
//#region src/utils/blockTypeLabels.ts
|
|
1577
|
-
function
|
|
1610
|
+
function Sr(e, t) {
|
|
1578
1611
|
return t.blocks[e] ?? e;
|
|
1579
1612
|
}
|
|
1580
1613
|
//#endregion
|
|
1581
1614
|
//#region src/composables/useKeyboardReorder.ts
|
|
1582
|
-
function
|
|
1615
|
+
function Cr(e, t) {
|
|
1583
1616
|
let n = C(null), r = C(""), i = null;
|
|
1584
1617
|
function a(t) {
|
|
1585
1618
|
let n = e.content.value.blocks, r = n.findIndex((e) => e.id === t);
|
|
@@ -1606,7 +1639,7 @@ function vr(e, t) {
|
|
|
1606
1639
|
let r = a(n);
|
|
1607
1640
|
if (!r) return "";
|
|
1608
1641
|
let i = (r.sectionId ? s(r.sectionId, r.columnIndex ?? 0) : e.content.value.blocks)?.[r.index];
|
|
1609
|
-
return i ?
|
|
1642
|
+
return i ? Sr(i.type, t.t) : "";
|
|
1610
1643
|
}
|
|
1611
1644
|
function s(t, n) {
|
|
1612
1645
|
return e.content.value.blocks.find((e) => e.id === t && e.type === "section")?.children[n] ?? null;
|
|
@@ -1675,13 +1708,13 @@ function vr(e, t) {
|
|
|
1675
1708
|
}
|
|
1676
1709
|
//#endregion
|
|
1677
1710
|
//#region src/composables/useUiTheme.ts
|
|
1678
|
-
function
|
|
1711
|
+
function wr(e) {
|
|
1679
1712
|
let t = Sn("(prefers-color-scheme: dark)");
|
|
1680
1713
|
return { resolvedTheme: O(() => e.value === "auto" ? t.value ? "dark" : "light" : e.value) };
|
|
1681
1714
|
}
|
|
1682
1715
|
//#endregion
|
|
1683
1716
|
//#region src/composables/useThemeStyles.ts
|
|
1684
|
-
var
|
|
1717
|
+
var Tr = {
|
|
1685
1718
|
bg: "--tpl-bg",
|
|
1686
1719
|
bgElevated: "--tpl-bg-elevated",
|
|
1687
1720
|
bgHover: "--tpl-bg-hover",
|
|
@@ -1705,10 +1738,10 @@ var br = {
|
|
|
1705
1738
|
dangerLight: "--tpl-danger-light",
|
|
1706
1739
|
canvasBg: "--tpl-canvas-bg"
|
|
1707
1740
|
};
|
|
1708
|
-
function
|
|
1741
|
+
function Er({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
1709
1742
|
return { themeStyles: O(() => {
|
|
1710
1743
|
let r = {}, i = e.value, a = t.value === "dark" ? i.dark : i;
|
|
1711
|
-
if (a) for (let [e, t] of Object.entries(
|
|
1744
|
+
if (a) for (let [e, t] of Object.entries(Tr)) {
|
|
1712
1745
|
let n = a[e];
|
|
1713
1746
|
n && (r[t] = n);
|
|
1714
1747
|
}
|
|
@@ -1717,27 +1750,27 @@ function xr({ themeOverrides: e, resolvedTheme: t, extraStyles: n }) {
|
|
|
1717
1750
|
}
|
|
1718
1751
|
//#endregion
|
|
1719
1752
|
//#region src/utils/logger.ts
|
|
1720
|
-
var
|
|
1721
|
-
function
|
|
1753
|
+
var Dr = "[Templatical]";
|
|
1754
|
+
function Or() {
|
|
1722
1755
|
return typeof process < "u" && !0;
|
|
1723
1756
|
}
|
|
1724
|
-
var
|
|
1757
|
+
var kr = {
|
|
1725
1758
|
warn(...e) {
|
|
1726
|
-
console.warn(
|
|
1759
|
+
console.warn(Dr, ...e);
|
|
1727
1760
|
},
|
|
1728
1761
|
error(...e) {
|
|
1729
|
-
console.error(
|
|
1762
|
+
console.error(Dr, ...e);
|
|
1730
1763
|
},
|
|
1731
1764
|
debug(...e) {
|
|
1732
|
-
|
|
1765
|
+
Or() || console.debug(Dr, ...e);
|
|
1733
1766
|
},
|
|
1734
1767
|
info(...e) {
|
|
1735
|
-
|
|
1768
|
+
Or() || console.info(Dr, ...e);
|
|
1736
1769
|
}
|
|
1737
1770
|
};
|
|
1738
1771
|
//#endregion
|
|
1739
1772
|
//#region src/composables/useBlockRegistry.ts
|
|
1740
|
-
function
|
|
1773
|
+
function Ar() {
|
|
1741
1774
|
let e = n(/* @__PURE__ */ new Map());
|
|
1742
1775
|
function t(t, n) {
|
|
1743
1776
|
e.value.set(t, n), oe(e);
|
|
@@ -1777,7 +1810,7 @@ function Tr() {
|
|
|
1777
1810
|
strictFilters: !1
|
|
1778
1811
|
}).parseAndRender(t.template, e.fieldValues);
|
|
1779
1812
|
} catch (t) {
|
|
1780
|
-
return
|
|
1813
|
+
return kr.error(`Failed to render custom block "${e.customType}":`, t), s(`Render error: ${e.customType}`);
|
|
1781
1814
|
}
|
|
1782
1815
|
}
|
|
1783
1816
|
function l(t) {
|
|
@@ -1795,9 +1828,9 @@ function Tr() {
|
|
|
1795
1828
|
}
|
|
1796
1829
|
//#endregion
|
|
1797
1830
|
//#region src/composables/useCustomBlockStylesheets.ts
|
|
1798
|
-
function
|
|
1831
|
+
function jr(e, t) {
|
|
1799
1832
|
return O(() => {
|
|
1800
|
-
let n =
|
|
1833
|
+
let n = Mr(e.value.blocks);
|
|
1801
1834
|
if (n.size === 0) return [];
|
|
1802
1835
|
let r = /* @__PURE__ */ new Set(), i = [];
|
|
1803
1836
|
for (let e of n) {
|
|
@@ -1809,11 +1842,11 @@ function Er(e, t) {
|
|
|
1809
1842
|
return i;
|
|
1810
1843
|
});
|
|
1811
1844
|
}
|
|
1812
|
-
function
|
|
1845
|
+
function Mr(e) {
|
|
1813
1846
|
let t = /* @__PURE__ */ new Set();
|
|
1814
|
-
return
|
|
1847
|
+
return Nr(e, t), t;
|
|
1815
1848
|
}
|
|
1816
|
-
function
|
|
1849
|
+
function Nr(e, t) {
|
|
1817
1850
|
for (let n of e) {
|
|
1818
1851
|
if (De(n)) {
|
|
1819
1852
|
t.add(n.customType);
|
|
@@ -1822,13 +1855,13 @@ function Or(e, t) {
|
|
|
1822
1855
|
if (n.type === "section") {
|
|
1823
1856
|
let e = n.children;
|
|
1824
1857
|
if (!e) continue;
|
|
1825
|
-
for (let n of e)
|
|
1858
|
+
for (let n of e) Nr(n, t);
|
|
1826
1859
|
}
|
|
1827
1860
|
}
|
|
1828
1861
|
}
|
|
1829
1862
|
//#endregion
|
|
1830
1863
|
//#region src/utils/registerBuiltInBlocks.ts
|
|
1831
|
-
var
|
|
1864
|
+
var Pr = [
|
|
1832
1865
|
{
|
|
1833
1866
|
type: "section",
|
|
1834
1867
|
createBlock: Ze
|
|
@@ -1882,8 +1915,8 @@ var kr = [
|
|
|
1882
1915
|
createBlock: at
|
|
1883
1916
|
}
|
|
1884
1917
|
];
|
|
1885
|
-
function
|
|
1886
|
-
for (let n of
|
|
1918
|
+
function Fr(e, t) {
|
|
1919
|
+
for (let n of Pr) {
|
|
1887
1920
|
let r = t[n.type];
|
|
1888
1921
|
r && e.registerBuiltIn(n.type, {
|
|
1889
1922
|
component: r,
|
|
@@ -1893,7 +1926,7 @@ function Ar(e, t) {
|
|
|
1893
1926
|
}
|
|
1894
1927
|
//#endregion
|
|
1895
1928
|
//#region src/utils/keyboardShortcuts.ts
|
|
1896
|
-
function
|
|
1929
|
+
function Ir(e) {
|
|
1897
1930
|
for (let t of e.composedPath()) {
|
|
1898
1931
|
if (!(t instanceof HTMLElement)) continue;
|
|
1899
1932
|
if (t.isContentEditable) return !0;
|
|
@@ -1902,14 +1935,14 @@ function jr(e) {
|
|
|
1902
1935
|
}
|
|
1903
1936
|
return !1;
|
|
1904
1937
|
}
|
|
1905
|
-
function
|
|
1938
|
+
function Lr(e, t) {
|
|
1906
1939
|
let n = e.metaKey || e.ctrlKey;
|
|
1907
1940
|
if (n && e.key.toLowerCase() === "s") {
|
|
1908
1941
|
e.preventDefault(), t.onSave?.();
|
|
1909
1942
|
return;
|
|
1910
1943
|
}
|
|
1911
1944
|
if (n && e.key.toLowerCase() === "z") {
|
|
1912
|
-
if (
|
|
1945
|
+
if (Ir(e)) return;
|
|
1913
1946
|
e.preventDefault(), e.shiftKey ? t.history.redo() : (t.onBeforeUndo?.(), t.history.undo());
|
|
1914
1947
|
return;
|
|
1915
1948
|
}
|
|
@@ -1917,11 +1950,11 @@ function Mr(e, t) {
|
|
|
1917
1950
|
t.selectBlock(null);
|
|
1918
1951
|
return;
|
|
1919
1952
|
}
|
|
1920
|
-
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !
|
|
1953
|
+
(e.key === "Delete" || e.key === "Backspace") && t.getSelectedBlockId() && !Ir(e) && (e.preventDefault(), t.history.record(), t.removeBlock(t.getSelectedBlockId()));
|
|
1921
1954
|
}
|
|
1922
1955
|
//#endregion
|
|
1923
1956
|
//#region src/components/blocks/ButtonBlock.vue?vue&type=script&setup=true&lang.ts
|
|
1924
|
-
var
|
|
1957
|
+
var Rr = { class: "tpl:text-center" }, zr = ["href"], Br = /* @__PURE__ */ B({
|
|
1925
1958
|
__name: "ButtonBlock",
|
|
1926
1959
|
props: {
|
|
1927
1960
|
block: {},
|
|
@@ -1942,17 +1975,17 @@ var Nr = { class: "tpl:text-center" }, Pr = ["href"], Fr = /* @__PURE__ */ B({
|
|
|
1942
1975
|
};
|
|
1943
1976
|
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;
|
|
1944
1977
|
});
|
|
1945
|
-
return (t, r) => (f(), k("div",
|
|
1978
|
+
return (t, r) => (f(), k("div", Rr, [I("a", {
|
|
1946
1979
|
href: e.block.url || "#",
|
|
1947
1980
|
style: L(n.value),
|
|
1948
1981
|
class: "tpl:cursor-default",
|
|
1949
1982
|
onClick: r[0] ||= M(() => {}, ["prevent"])
|
|
1950
|
-
}, D(e.block.text), 13,
|
|
1983
|
+
}, D(e.block.text), 13, zr)]));
|
|
1951
1984
|
}
|
|
1952
|
-
}),
|
|
1953
|
-
let t =
|
|
1985
|
+
}), Vr = (e) => e === "", Hr = (...e) => e.filter((e, t, n) => !!e && e.trim() !== "" && n.indexOf(e) === t).join(" ").trim(), Ur = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), Wr = (e) => e.replace(/^([A-Z])|[\s-_]+(\w)/g, (e, t, n) => n ? n.toUpperCase() : t.toLowerCase()), Gr = (e) => {
|
|
1986
|
+
let t = Wr(e);
|
|
1954
1987
|
return t.charAt(0).toUpperCase() + t.slice(1);
|
|
1955
|
-
},
|
|
1988
|
+
}, Kr = {
|
|
1956
1989
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1957
1990
|
width: 24,
|
|
1958
1991
|
height: 24,
|
|
@@ -1962,32 +1995,63 @@ var Nr = { class: "tpl:text-center" }, Pr = ["href"], Fr = /* @__PURE__ */ B({
|
|
|
1962
1995
|
"stroke-width": 2,
|
|
1963
1996
|
"stroke-linecap": "round",
|
|
1964
1997
|
"stroke-linejoin": "round"
|
|
1965
|
-
},
|
|
1966
|
-
function
|
|
1967
|
-
return v(
|
|
1998
|
+
}, qr = /* @__PURE__ */ Symbol("lucide-icons");
|
|
1999
|
+
function Jr() {
|
|
2000
|
+
return v(qr, {});
|
|
1968
2001
|
}
|
|
1969
2002
|
//#endregion
|
|
1970
|
-
//#region ../../node_modules/.pnpm/@lucide+vue@1.
|
|
1971
|
-
var
|
|
1972
|
-
let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } =
|
|
1973
|
-
let e =
|
|
1974
|
-
return e ? Number(t) * 24 / Number(s ?? d ??
|
|
2003
|
+
//#region ../../node_modules/.pnpm/@lucide+vue@1.23.0_vue@3.5.39_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
|
|
2004
|
+
var Yr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width": r, strokeWidth: i, "stroke-width": o, size: s, color: c, ...l }, { slots: u }) => {
|
|
2005
|
+
let { size: d, color: f, strokeWidth: p = 2, absoluteStrokeWidth: m = !1, class: h = "" } = Jr(), g = O(() => {
|
|
2006
|
+
let e = Vr(n) || Vr(r) || n === !0 || r === !0 || m === !0, t = i || o || p || Kr["stroke-width"];
|
|
2007
|
+
return e ? Number(t) * 24 / Number(s ?? d ?? Kr.width) : t;
|
|
1975
2008
|
});
|
|
1976
2009
|
return a("svg", {
|
|
1977
|
-
...
|
|
2010
|
+
...Kr,
|
|
1978
2011
|
...l,
|
|
1979
|
-
width: s ?? d ??
|
|
1980
|
-
height: s ?? d ??
|
|
1981
|
-
stroke: c ?? f ??
|
|
2012
|
+
width: s ?? d ?? Kr.width,
|
|
2013
|
+
height: s ?? d ?? Kr.height,
|
|
2014
|
+
stroke: c ?? f ?? Kr.stroke,
|
|
1982
2015
|
"stroke-width": g.value,
|
|
1983
|
-
class:
|
|
2016
|
+
class: Hr("lucide", h, ...e ? [`lucide-${Ur(Gr(e))}-icon`, `lucide-${Ur(e)}`] : ["lucide-icon"])
|
|
1984
2017
|
}, [...t.map((e) => a(...e)), ...u.default ? [u.default()] : []]);
|
|
1985
|
-
}, X = (e, t) => (n, { slots: r, attrs: i }) => a(
|
|
2018
|
+
}, X = (e, t) => (n, { slots: r, attrs: i }) => a(Yr, {
|
|
1986
2019
|
...i,
|
|
1987
2020
|
...n,
|
|
1988
2021
|
iconNode: t,
|
|
1989
2022
|
name: e
|
|
1990
|
-
}, r.default ? { default: r.default } : void 0),
|
|
2023
|
+
}, r.default ? { default: r.default } : void 0), Xr = X("bookmark", [["path", {
|
|
2024
|
+
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
|
+
key: "oz39mx"
|
|
2026
|
+
}]]), Zr = X("box", [
|
|
2027
|
+
["path", {
|
|
2028
|
+
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
|
+
key: "hh9hay"
|
|
2030
|
+
}],
|
|
2031
|
+
["path", {
|
|
2032
|
+
d: "m3.3 7 8.7 5 8.7-5",
|
|
2033
|
+
key: "g66t2b"
|
|
2034
|
+
}],
|
|
2035
|
+
["path", {
|
|
2036
|
+
d: "M12 22V12",
|
|
2037
|
+
key: "d0xqtd"
|
|
2038
|
+
}]
|
|
2039
|
+
]), Qr = X("check", [["path", {
|
|
2040
|
+
d: "M20 6 9 17l-5-5",
|
|
2041
|
+
key: "1gmf2c"
|
|
2042
|
+
}]]), $r = X("chevron-down", [["path", {
|
|
2043
|
+
d: "m6 9 6 6 6-6",
|
|
2044
|
+
key: "qrunsl"
|
|
2045
|
+
}]]), ei = X("chevron-left", [["path", {
|
|
2046
|
+
d: "m15 18-6-6 6-6",
|
|
2047
|
+
key: "1wnfg3"
|
|
2048
|
+
}]]), ti = X("chevron-right", [["path", {
|
|
2049
|
+
d: "m9 18 6-6-6-6",
|
|
2050
|
+
key: "mthhwq"
|
|
2051
|
+
}]]), ni = X("chevron-up", [["path", {
|
|
2052
|
+
d: "m18 15-6-6-6 6",
|
|
2053
|
+
key: "153udz"
|
|
2054
|
+
}]]), ri = X("circle-alert", [
|
|
1991
2055
|
["circle", {
|
|
1992
2056
|
cx: "12",
|
|
1993
2057
|
cy: "12",
|
|
@@ -2008,7 +2072,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2008
2072
|
y2: "16",
|
|
2009
2073
|
key: "4dfq90"
|
|
2010
2074
|
}]
|
|
2011
|
-
]),
|
|
2075
|
+
]), ii = X("circle-check", [["circle", {
|
|
2012
2076
|
cx: "12",
|
|
2013
2077
|
cy: "12",
|
|
2014
2078
|
r: "10",
|
|
@@ -2016,88 +2080,6 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2016
2080
|
}], ["path", {
|
|
2017
2081
|
d: "m9 12 2 2 4-4",
|
|
2018
2082
|
key: "dzmm74"
|
|
2019
|
-
}]]), qr = X("funnel", [["path", {
|
|
2020
|
-
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",
|
|
2021
|
-
key: "sc7q7i"
|
|
2022
|
-
}]]), Jr = X("loader-circle", [["path", {
|
|
2023
|
-
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
2024
|
-
key: "13zald"
|
|
2025
|
-
}]]), Yr = X("shield-x", [
|
|
2026
|
-
["path", {
|
|
2027
|
-
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",
|
|
2028
|
-
key: "oel41y"
|
|
2029
|
-
}],
|
|
2030
|
-
["path", {
|
|
2031
|
-
d: "m14.5 9.5-5 5",
|
|
2032
|
-
key: "17q4r4"
|
|
2033
|
-
}],
|
|
2034
|
-
["path", {
|
|
2035
|
-
d: "m9.5 9.5 5 5",
|
|
2036
|
-
key: "18nt4w"
|
|
2037
|
-
}]
|
|
2038
|
-
]), Xr = X("sparkles", [
|
|
2039
|
-
["path", {
|
|
2040
|
-
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",
|
|
2041
|
-
key: "1s2grr"
|
|
2042
|
-
}],
|
|
2043
|
-
["path", {
|
|
2044
|
-
d: "M20 2v4",
|
|
2045
|
-
key: "1rf3ol"
|
|
2046
|
-
}],
|
|
2047
|
-
["path", {
|
|
2048
|
-
d: "M22 4h-4",
|
|
2049
|
-
key: "gwowj6"
|
|
2050
|
-
}],
|
|
2051
|
-
["circle", {
|
|
2052
|
-
cx: "4",
|
|
2053
|
-
cy: "20",
|
|
2054
|
-
r: "2",
|
|
2055
|
-
key: "6kqj1y"
|
|
2056
|
-
}]
|
|
2057
|
-
]), Zr = X("triangle-alert", [
|
|
2058
|
-
["path", {
|
|
2059
|
-
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",
|
|
2060
|
-
key: "wmoenq"
|
|
2061
|
-
}],
|
|
2062
|
-
["path", {
|
|
2063
|
-
d: "M12 9v4",
|
|
2064
|
-
key: "juzpu7"
|
|
2065
|
-
}],
|
|
2066
|
-
["path", {
|
|
2067
|
-
d: "M12 17h.01",
|
|
2068
|
-
key: "p32p05"
|
|
2069
|
-
}]
|
|
2070
|
-
]), Qr = X("bookmark", [["path", {
|
|
2071
|
-
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",
|
|
2072
|
-
key: "oz39mx"
|
|
2073
|
-
}]]), $r = X("box", [
|
|
2074
|
-
["path", {
|
|
2075
|
-
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",
|
|
2076
|
-
key: "hh9hay"
|
|
2077
|
-
}],
|
|
2078
|
-
["path", {
|
|
2079
|
-
d: "m3.3 7 8.7 5 8.7-5",
|
|
2080
|
-
key: "g66t2b"
|
|
2081
|
-
}],
|
|
2082
|
-
["path", {
|
|
2083
|
-
d: "M12 22V12",
|
|
2084
|
-
key: "d0xqtd"
|
|
2085
|
-
}]
|
|
2086
|
-
]), ei = X("check", [["path", {
|
|
2087
|
-
d: "M20 6 9 17l-5-5",
|
|
2088
|
-
key: "1gmf2c"
|
|
2089
|
-
}]]), ti = X("chevron-down", [["path", {
|
|
2090
|
-
d: "m6 9 6 6 6-6",
|
|
2091
|
-
key: "qrunsl"
|
|
2092
|
-
}]]), ni = X("chevron-left", [["path", {
|
|
2093
|
-
d: "m15 18-6-6 6-6",
|
|
2094
|
-
key: "1wnfg3"
|
|
2095
|
-
}]]), ri = X("chevron-right", [["path", {
|
|
2096
|
-
d: "m9 18 6-6-6-6",
|
|
2097
|
-
key: "mthhwq"
|
|
2098
|
-
}]]), ii = X("chevron-up", [["path", {
|
|
2099
|
-
d: "m18 15-6-6-6 6",
|
|
2100
|
-
key: "153udz"
|
|
2101
2083
|
}]]), ai = X("clock", [["circle", {
|
|
2102
2084
|
cx: "12",
|
|
2103
2085
|
cy: "12",
|
|
@@ -2188,7 +2170,10 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2188
2170
|
d: "M16 17H8",
|
|
2189
2171
|
key: "z1uh3a"
|
|
2190
2172
|
}]
|
|
2191
|
-
]), fi = X("
|
|
2173
|
+
]), fi = X("funnel", [["path", {
|
|
2174
|
+
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
|
+
key: "sc7q7i"
|
|
2176
|
+
}]]), pi = X("grip-vertical", [
|
|
2192
2177
|
["circle", {
|
|
2193
2178
|
cx: "9",
|
|
2194
2179
|
cy: "12",
|
|
@@ -2225,7 +2210,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2225
2210
|
r: "1",
|
|
2226
2211
|
key: "f4zoj3"
|
|
2227
2212
|
}]
|
|
2228
|
-
]),
|
|
2213
|
+
]), mi = X("image-up", [
|
|
2229
2214
|
["path", {
|
|
2230
2215
|
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",
|
|
2231
2216
|
key: "9csbqa"
|
|
@@ -2244,7 +2229,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2244
2229
|
r: "2",
|
|
2245
2230
|
key: "af1f0g"
|
|
2246
2231
|
}]
|
|
2247
|
-
]),
|
|
2232
|
+
]), hi = X("image", [
|
|
2248
2233
|
["rect", {
|
|
2249
2234
|
width: "18",
|
|
2250
2235
|
height: "18",
|
|
@@ -2264,7 +2249,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2264
2249
|
d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",
|
|
2265
2250
|
key: "1xmnt7"
|
|
2266
2251
|
}]
|
|
2267
|
-
]),
|
|
2252
|
+
]), gi = X("info", [
|
|
2268
2253
|
["circle", {
|
|
2269
2254
|
cx: "12",
|
|
2270
2255
|
cy: "12",
|
|
@@ -2279,28 +2264,31 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2279
2264
|
d: "M12 8h.01",
|
|
2280
2265
|
key: "e9boi3"
|
|
2281
2266
|
}]
|
|
2282
|
-
]),
|
|
2267
|
+
]), _i = X("loader-circle", [["path", {
|
|
2268
|
+
d: "M21 12a9 9 0 1 1-6.219-8.56",
|
|
2269
|
+
key: "13zald"
|
|
2270
|
+
}]]), vi = X("message-circle", [["path", {
|
|
2283
2271
|
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",
|
|
2284
2272
|
key: "1sd12s"
|
|
2285
|
-
}]]),
|
|
2273
|
+
}]]), yi = X("navigation", [["polygon", {
|
|
2286
2274
|
points: "3 11 22 2 13 21 11 13 3 11",
|
|
2287
2275
|
key: "1ltx0t"
|
|
2288
|
-
}]]),
|
|
2276
|
+
}]]), bi = X("pencil", [["path", {
|
|
2289
2277
|
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",
|
|
2290
2278
|
key: "1a8usu"
|
|
2291
2279
|
}], ["path", {
|
|
2292
2280
|
d: "m15 5 4 4",
|
|
2293
2281
|
key: "1mk7zo"
|
|
2294
|
-
}]]),
|
|
2282
|
+
}]]), xi = X("puzzle", [["path", {
|
|
2295
2283
|
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",
|
|
2296
2284
|
key: "w46dr5"
|
|
2297
|
-
}]]),
|
|
2285
|
+
}]]), Si = X("redo-2", [["path", {
|
|
2298
2286
|
d: "m15 14 5-5-5-5",
|
|
2299
2287
|
key: "12vg1m"
|
|
2300
2288
|
}], ["path", {
|
|
2301
2289
|
d: "M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13",
|
|
2302
2290
|
key: "6uklza"
|
|
2303
|
-
}]]),
|
|
2291
|
+
}]]), Ci = X("refresh-cw", [
|
|
2304
2292
|
["path", {
|
|
2305
2293
|
d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",
|
|
2306
2294
|
key: "v9h5vc"
|
|
@@ -2317,19 +2305,19 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2317
2305
|
d: "M8 16H3v5",
|
|
2318
2306
|
key: "1cv678"
|
|
2319
2307
|
}]
|
|
2320
|
-
]),
|
|
2308
|
+
]), wi = X("reply", [["path", {
|
|
2321
2309
|
d: "M20 18v-2a4 4 0 0 0-4-4H4",
|
|
2322
2310
|
key: "5vmcpk"
|
|
2323
2311
|
}], ["path", {
|
|
2324
2312
|
d: "m9 17-5-5 5-5",
|
|
2325
2313
|
key: "nvlc11"
|
|
2326
|
-
}]]),
|
|
2314
|
+
}]]), Ti = X("send", [["path", {
|
|
2327
2315
|
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",
|
|
2328
2316
|
key: "1ffxy3"
|
|
2329
2317
|
}], ["path", {
|
|
2330
2318
|
d: "m21.854 2.147-10.94 10.939",
|
|
2331
2319
|
key: "12cjpa"
|
|
2332
|
-
}]]),
|
|
2320
|
+
}]]), Ei = X("share-2", [
|
|
2333
2321
|
["circle", {
|
|
2334
2322
|
cx: "18",
|
|
2335
2323
|
cy: "5",
|
|
@@ -2362,13 +2350,45 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2362
2350
|
y2: "10.49",
|
|
2363
2351
|
key: "1n3mei"
|
|
2364
2352
|
}]
|
|
2365
|
-
]),
|
|
2353
|
+
]), Di = X("shield-check", [["path", {
|
|
2366
2354
|
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",
|
|
2367
2355
|
key: "oel41y"
|
|
2368
2356
|
}], ["path", {
|
|
2369
2357
|
d: "m9 12 2 2 4-4",
|
|
2370
2358
|
key: "dzmm74"
|
|
2371
|
-
}]]),
|
|
2359
|
+
}]]), Oi = X("shield-x", [
|
|
2360
|
+
["path", {
|
|
2361
|
+
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
|
+
key: "oel41y"
|
|
2363
|
+
}],
|
|
2364
|
+
["path", {
|
|
2365
|
+
d: "m14.5 9.5-5 5",
|
|
2366
|
+
key: "17q4r4"
|
|
2367
|
+
}],
|
|
2368
|
+
["path", {
|
|
2369
|
+
d: "m9.5 9.5 5 5",
|
|
2370
|
+
key: "18nt4w"
|
|
2371
|
+
}]
|
|
2372
|
+
]), ki = X("sparkles", [
|
|
2373
|
+
["path", {
|
|
2374
|
+
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
|
+
key: "1s2grr"
|
|
2376
|
+
}],
|
|
2377
|
+
["path", {
|
|
2378
|
+
d: "M20 2v4",
|
|
2379
|
+
key: "1rf3ol"
|
|
2380
|
+
}],
|
|
2381
|
+
["path", {
|
|
2382
|
+
d: "M22 4h-4",
|
|
2383
|
+
key: "gwowj6"
|
|
2384
|
+
}],
|
|
2385
|
+
["circle", {
|
|
2386
|
+
cx: "4",
|
|
2387
|
+
cy: "20",
|
|
2388
|
+
r: "2",
|
|
2389
|
+
key: "6kqj1y"
|
|
2390
|
+
}]
|
|
2391
|
+
]), Ai = X("table", [
|
|
2372
2392
|
["path", {
|
|
2373
2393
|
d: "M12 3v18",
|
|
2374
2394
|
key: "108xh3"
|
|
@@ -2389,7 +2409,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2389
2409
|
d: "M3 15h18",
|
|
2390
2410
|
key: "5xshup"
|
|
2391
2411
|
}]
|
|
2392
|
-
]),
|
|
2412
|
+
]), ji = X("trash-2", [
|
|
2393
2413
|
["path", {
|
|
2394
2414
|
d: "M10 11v6",
|
|
2395
2415
|
key: "nco0om"
|
|
@@ -2410,13 +2430,26 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2410
2430
|
d: "M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",
|
|
2411
2431
|
key: "e791ji"
|
|
2412
2432
|
}]
|
|
2413
|
-
]),
|
|
2433
|
+
]), Mi = X("triangle-alert", [
|
|
2434
|
+
["path", {
|
|
2435
|
+
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
|
+
key: "wmoenq"
|
|
2437
|
+
}],
|
|
2438
|
+
["path", {
|
|
2439
|
+
d: "M12 9v4",
|
|
2440
|
+
key: "juzpu7"
|
|
2441
|
+
}],
|
|
2442
|
+
["path", {
|
|
2443
|
+
d: "M12 17h.01",
|
|
2444
|
+
key: "p32p05"
|
|
2445
|
+
}]
|
|
2446
|
+
]), Ni = X("undo-2", [["path", {
|
|
2414
2447
|
d: "M9 14 4 9l5-5",
|
|
2415
2448
|
key: "102s5s"
|
|
2416
2449
|
}], ["path", {
|
|
2417
2450
|
d: "M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",
|
|
2418
2451
|
key: "f3b9sd"
|
|
2419
|
-
}]]),
|
|
2452
|
+
}]]), Pi = X("upload", [
|
|
2420
2453
|
["path", {
|
|
2421
2454
|
d: "M12 3v12",
|
|
2422
2455
|
key: "1x0j5s"
|
|
@@ -2429,7 +2462,7 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2429
2462
|
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
|
2430
2463
|
key: "ih7n3h"
|
|
2431
2464
|
}]
|
|
2432
|
-
]),
|
|
2465
|
+
]), Fi = X("video", [["path", {
|
|
2433
2466
|
d: "m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5",
|
|
2434
2467
|
key: "ftymec"
|
|
2435
2468
|
}], ["rect", {
|
|
@@ -2439,20 +2472,20 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2439
2472
|
height: "12",
|
|
2440
2473
|
rx: "2",
|
|
2441
2474
|
key: "158x01"
|
|
2442
|
-
}]]),
|
|
2475
|
+
}]]), Ii = X("x", [["path", {
|
|
2443
2476
|
d: "M18 6 6 18",
|
|
2444
2477
|
key: "1bl5f8"
|
|
2445
2478
|
}], ["path", {
|
|
2446
2479
|
d: "m6 6 12 12",
|
|
2447
2480
|
key: "d8bk6v"
|
|
2448
|
-
}]]),
|
|
2481
|
+
}]]), Li = X("zap", [["path", {
|
|
2449
2482
|
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",
|
|
2450
2483
|
key: "1xq2db"
|
|
2451
|
-
}]]),
|
|
2484
|
+
}]]), Ri = ["innerHTML"], zi = [
|
|
2452
2485
|
"src",
|
|
2453
2486
|
"width",
|
|
2454
2487
|
"height"
|
|
2455
|
-
],
|
|
2488
|
+
], Bi = /* @__PURE__ */ B({
|
|
2456
2489
|
__name: "CustomBlockIcon",
|
|
2457
2490
|
props: {
|
|
2458
2491
|
icon: {},
|
|
@@ -2468,40 +2501,40 @@ var Wr = ({ name: e, iconNode: t, absoluteStrokeWidth: n, "absolute-stroke-width
|
|
|
2468
2501
|
height: `${n.value}px`
|
|
2469
2502
|
}),
|
|
2470
2503
|
innerHTML: e.icon
|
|
2471
|
-
}, null, 12,
|
|
2504
|
+
}, null, 12, Ri)) : i.value ? (f(), k("img", {
|
|
2472
2505
|
key: 1,
|
|
2473
2506
|
src: e.icon,
|
|
2474
2507
|
width: n.value,
|
|
2475
2508
|
height: n.value,
|
|
2476
2509
|
class: "tpl:inline-block",
|
|
2477
2510
|
alt: ""
|
|
2478
|
-
}, null, 8,
|
|
2511
|
+
}, null, 8, zi)) : (f(), N(j(Zr), {
|
|
2479
2512
|
key: 2,
|
|
2480
2513
|
size: n.value,
|
|
2481
2514
|
"stroke-width": 1.5
|
|
2482
2515
|
}, null, 8, ["size"]));
|
|
2483
2516
|
}
|
|
2484
|
-
}),
|
|
2517
|
+
}), Vi = (e, t) => {
|
|
2485
2518
|
let n = e.__vccOpts || e;
|
|
2486
2519
|
for (let [e, r] of t) n[e] = r;
|
|
2487
2520
|
return n;
|
|
2488
|
-
},
|
|
2489
|
-
function
|
|
2490
|
-
return f(), k("div",
|
|
2521
|
+
}, Hi = {}, Ui = { class: "tpl-loading-track" };
|
|
2522
|
+
function Wi(e, t) {
|
|
2523
|
+
return f(), k("div", Ui);
|
|
2491
2524
|
}
|
|
2492
|
-
var
|
|
2525
|
+
var Gi = /*#__PURE__*/ Vi(Hi, [["render", Wi], ["__scopeId", "data-v-1ed538ec"]]);
|
|
2493
2526
|
//#endregion
|
|
2494
2527
|
//#region src/composables/useEditorRoot.ts
|
|
2495
|
-
function
|
|
2496
|
-
return v(
|
|
2528
|
+
function Ki() {
|
|
2529
|
+
return v(ur, document) ?? document;
|
|
2497
2530
|
}
|
|
2498
2531
|
//#endregion
|
|
2499
2532
|
//#region src/composables/useFocusTrap.ts
|
|
2500
|
-
var
|
|
2501
|
-
function
|
|
2502
|
-
let n =
|
|
2533
|
+
var qi = "a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"])";
|
|
2534
|
+
function Ji(e, t) {
|
|
2535
|
+
let n = Ki(), r = null, i = null, a = null;
|
|
2503
2536
|
function o() {
|
|
2504
|
-
return e.value ? Array.from(e.value.querySelectorAll(
|
|
2537
|
+
return e.value ? Array.from(e.value.querySelectorAll(qi)).filter((e) => e.offsetParent !== null) : [];
|
|
2505
2538
|
}
|
|
2506
2539
|
function s(e) {
|
|
2507
2540
|
if (e.key !== "Tab") return;
|
|
@@ -2531,18 +2564,18 @@ function Ui(e, t) {
|
|
|
2531
2564
|
}
|
|
2532
2565
|
//#endregion
|
|
2533
2566
|
//#region src/composables/useCloudI18n.ts
|
|
2534
|
-
function
|
|
2567
|
+
function Yi(e, t) {
|
|
2535
2568
|
return e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : `{${n}}`);
|
|
2536
2569
|
}
|
|
2537
|
-
function
|
|
2538
|
-
let t = e ?? v(
|
|
2570
|
+
function Xi(e) {
|
|
2571
|
+
let t = e ?? v(_r, null);
|
|
2539
2572
|
return {
|
|
2540
2573
|
t: t ? u(t) ? t.value : t : null,
|
|
2541
|
-
format:
|
|
2574
|
+
format: Yi
|
|
2542
2575
|
};
|
|
2543
2576
|
}
|
|
2544
|
-
function
|
|
2545
|
-
let { t, format: n } =
|
|
2577
|
+
function Zi(e) {
|
|
2578
|
+
let { t, format: n } = Xi(e);
|
|
2546
2579
|
if (!t) throw Error("useCloudI18nStrict() requires a cloud translations provider. Ensure the component is a descendant of CloudEditor.");
|
|
2547
2580
|
return {
|
|
2548
2581
|
t,
|
|
@@ -2551,7 +2584,7 @@ function Ki(e) {
|
|
|
2551
2584
|
}
|
|
2552
2585
|
//#endregion
|
|
2553
2586
|
//#region src/composables/useMergeTag.ts
|
|
2554
|
-
function
|
|
2587
|
+
function Qi() {
|
|
2555
2588
|
let e = v(Yn, []), t = v(Xn, dt.liquid), n = v(Zn, null), r = v(Qn, !0), i = v($n, null), a = C(!1);
|
|
2556
2589
|
function o(e) {
|
|
2557
2590
|
return gt(e, t);
|
|
@@ -2591,7 +2624,7 @@ function qi() {
|
|
|
2591
2624
|
}
|
|
2592
2625
|
//#endregion
|
|
2593
2626
|
//#region src/composables/useEmoji.ts
|
|
2594
|
-
function
|
|
2627
|
+
function $i() {
|
|
2595
2628
|
let [e, t] = ln(!1), r = n([]), i = !1;
|
|
2596
2629
|
l(() => {
|
|
2597
2630
|
i = !0;
|
|
@@ -2617,7 +2650,7 @@ function Ji() {
|
|
|
2617
2650
|
}
|
|
2618
2651
|
//#endregion
|
|
2619
2652
|
//#region src/composables/useDragDrop.ts
|
|
2620
|
-
function
|
|
2653
|
+
function ea(e) {
|
|
2621
2654
|
let { onBlockMove: t, onBlockAdd: n } = e, r = C(!1), i = C(null), a = C(null);
|
|
2622
2655
|
function o(e) {
|
|
2623
2656
|
r.value = !0, i.value = e;
|
|
@@ -2667,7 +2700,7 @@ function Yi(e) {
|
|
|
2667
2700
|
}
|
|
2668
2701
|
//#endregion
|
|
2669
2702
|
//#region src/composables/useFonts.ts
|
|
2670
|
-
var
|
|
2703
|
+
var ta = [
|
|
2671
2704
|
{
|
|
2672
2705
|
value: "Arial",
|
|
2673
2706
|
label: "Arial"
|
|
@@ -2696,7 +2729,7 @@ var Xi = [
|
|
|
2696
2729
|
value: "Courier New",
|
|
2697
2730
|
label: "Courier New"
|
|
2698
2731
|
}
|
|
2699
|
-
],
|
|
2732
|
+
], na = {
|
|
2700
2733
|
arial: "Arial, sans-serif",
|
|
2701
2734
|
helvetica: "Helvetica, sans-serif",
|
|
2702
2735
|
georgia: "Georgia, serif",
|
|
@@ -2704,14 +2737,14 @@ var Xi = [
|
|
|
2704
2737
|
verdana: "Verdana, sans-serif",
|
|
2705
2738
|
"trebuchet ms": "'Trebuchet MS', sans-serif",
|
|
2706
2739
|
"courier new": "'Courier New', monospace"
|
|
2707
|
-
},
|
|
2708
|
-
function
|
|
2709
|
-
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ??
|
|
2740
|
+
}, ra = "Arial, sans-serif";
|
|
2741
|
+
function ia(e) {
|
|
2742
|
+
let t = C(e?.customFonts ?? []), n = C(!0), r = C(!1), i = O(() => e?.defaultFallback ?? ra);
|
|
2710
2743
|
function a(e) {
|
|
2711
2744
|
n.value = e;
|
|
2712
2745
|
}
|
|
2713
2746
|
let o = O(() => {
|
|
2714
|
-
let e = [...
|
|
2747
|
+
let e = [...ta];
|
|
2715
2748
|
if (!n.value) return e.sort((e, t) => e.label.localeCompare(t.label));
|
|
2716
2749
|
let r = t.value.map((e) => ({
|
|
2717
2750
|
value: e.name,
|
|
@@ -2724,23 +2757,23 @@ function $i(e) {
|
|
|
2724
2757
|
return o.value.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2725
2758
|
}
|
|
2726
2759
|
function u(e) {
|
|
2727
|
-
return
|
|
2760
|
+
return ta.some((t) => t.label.toLowerCase() === e.toLowerCase() || t.value.toLowerCase().startsWith(e.toLowerCase()));
|
|
2728
2761
|
}
|
|
2729
2762
|
function d() {
|
|
2730
2763
|
if (e?.defaultFont) {
|
|
2731
|
-
if (!n.value && !u(e.defaultFont)) return
|
|
2764
|
+
if (!n.value && !u(e.defaultFont)) return ra;
|
|
2732
2765
|
if (c(e.defaultFont)) {
|
|
2733
2766
|
let t = o.value.find((t) => t.label.toLowerCase() === e.defaultFont.toLowerCase() || t.value.toLowerCase().startsWith(e.defaultFont.toLowerCase()));
|
|
2734
2767
|
if (t) return t.value;
|
|
2735
2768
|
}
|
|
2736
2769
|
}
|
|
2737
|
-
return
|
|
2770
|
+
return ra;
|
|
2738
2771
|
}
|
|
2739
2772
|
let f = O(() => d());
|
|
2740
2773
|
function p(e) {
|
|
2741
2774
|
if (!e) return i.value;
|
|
2742
2775
|
let n = t.value.find((t) => t.name.toLowerCase() === e.toLowerCase());
|
|
2743
|
-
return n ? `'${n.name}', ${n.fallback ?? i.value}` :
|
|
2776
|
+
return n ? `'${n.name}', ${n.fallback ?? i.value}` : na[e.toLowerCase()] || (e.includes(",") ? e : `${e}, ${i.value}`);
|
|
2744
2777
|
}
|
|
2745
2778
|
let m = [], h = !1;
|
|
2746
2779
|
async function g() {
|
|
@@ -2756,7 +2789,7 @@ function $i(e) {
|
|
|
2756
2789
|
t.onload = () => n(), t.onerror = () => r(/* @__PURE__ */ Error(`Failed to load font: ${e.name}`)), document.head.appendChild(t);
|
|
2757
2790
|
});
|
|
2758
2791
|
} catch (t) {
|
|
2759
|
-
|
|
2792
|
+
kr.warn(`Failed to load custom font "${e.name}":`, t);
|
|
2760
2793
|
}
|
|
2761
2794
|
});
|
|
2762
2795
|
await Promise.allSettled(e), !h && (r.value = !0);
|
|
@@ -2782,12 +2815,79 @@ function $i(e) {
|
|
|
2782
2815
|
};
|
|
2783
2816
|
}
|
|
2784
2817
|
//#endregion
|
|
2818
|
+
//#region src/composables/useLogicTag.ts
|
|
2819
|
+
function aa() {
|
|
2820
|
+
let e = v(er, []), t = v(tr, []), n = v(Xn, dt.liquid), r = v(rr, null), i = v(nr, null), a = C(!1), o = !!r || e.length > 0 || t.length > 0, s = e.length > 0 || t.length > 0;
|
|
2821
|
+
async function c() {
|
|
2822
|
+
if (r) {
|
|
2823
|
+
a.value = !0;
|
|
2824
|
+
try {
|
|
2825
|
+
return await r();
|
|
2826
|
+
} finally {
|
|
2827
|
+
a.value = !1;
|
|
2828
|
+
}
|
|
2829
|
+
}
|
|
2830
|
+
if (i && s) {
|
|
2831
|
+
a.value = !0;
|
|
2832
|
+
try {
|
|
2833
|
+
return await i.open(e, t);
|
|
2834
|
+
} finally {
|
|
2835
|
+
a.value = !1;
|
|
2836
|
+
}
|
|
2837
|
+
}
|
|
2838
|
+
return null;
|
|
2839
|
+
}
|
|
2840
|
+
return {
|
|
2841
|
+
logicTags: e,
|
|
2842
|
+
logicPairs: t,
|
|
2843
|
+
syntax: n,
|
|
2844
|
+
canInsertLogicTag: o,
|
|
2845
|
+
isRequesting: a,
|
|
2846
|
+
requestLogicTag: c
|
|
2847
|
+
};
|
|
2848
|
+
}
|
|
2849
|
+
//#endregion
|
|
2850
|
+
//#region src/utils/mergeTagNodeSpec.ts
|
|
2851
|
+
function oa(e, t, n) {
|
|
2852
|
+
return bt(e, n) ? {
|
|
2853
|
+
type: "logicMergeTagNode",
|
|
2854
|
+
attrs: {
|
|
2855
|
+
value: e,
|
|
2856
|
+
keyword: xt(e, n)
|
|
2857
|
+
}
|
|
2858
|
+
} : {
|
|
2859
|
+
type: "mergeTagNode",
|
|
2860
|
+
attrs: {
|
|
2861
|
+
label: t,
|
|
2862
|
+
value: e
|
|
2863
|
+
}
|
|
2864
|
+
};
|
|
2865
|
+
}
|
|
2866
|
+
//#endregion
|
|
2867
|
+
//#region src/utils/insertLogicTag.ts
|
|
2868
|
+
function sa(e) {
|
|
2869
|
+
return "before" in e && "after" in e;
|
|
2870
|
+
}
|
|
2871
|
+
function ca(e, t, n) {
|
|
2872
|
+
if (!sa(t)) {
|
|
2873
|
+
e.chain().focus().insertContent(oa(t.value, t.label, n)).run();
|
|
2874
|
+
return;
|
|
2875
|
+
}
|
|
2876
|
+
let r = oa(t.before, t.label, n), i = oa(t.after, t.label, n), { from: a, to: o } = e.state.selection;
|
|
2877
|
+
if (a !== o) {
|
|
2878
|
+
e.chain().focus().insertContentAt(o, i).insertContentAt(a, r).run();
|
|
2879
|
+
return;
|
|
2880
|
+
}
|
|
2881
|
+
e.chain().focus().insertContentAt(a, [r, i]).setTextSelection(a + 1).run();
|
|
2882
|
+
}
|
|
2883
|
+
//#endregion
|
|
2785
2884
|
//#region src/composables/useRichTextLinkDialog.ts
|
|
2786
|
-
function
|
|
2885
|
+
function la(e) {
|
|
2787
2886
|
let t = C(!1), n = C(""), r = C(null);
|
|
2788
|
-
|
|
2887
|
+
Ji(r, t);
|
|
2789
2888
|
function i() {
|
|
2790
|
-
|
|
2889
|
+
let r = e.value?.getAttributes("link").href || "";
|
|
2890
|
+
n.value = r, t.value = !0;
|
|
2791
2891
|
}
|
|
2792
2892
|
function a() {
|
|
2793
2893
|
if (n.value) {
|
|
@@ -2836,20 +2936,20 @@ function ea(e) {
|
|
|
2836
2936
|
}
|
|
2837
2937
|
//#endregion
|
|
2838
2938
|
//#region src/composables/useRichTextEditor.ts
|
|
2839
|
-
function
|
|
2840
|
-
let t = v(Ln, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } =
|
|
2841
|
-
async function
|
|
2842
|
-
|
|
2939
|
+
function ua(e) {
|
|
2940
|
+
let t = v(Ln, null), { mergeTags: r, canRequestMergeTag: i, isRequesting: a, requestMergeTag: o, syntax: s, autocomplete: c } = Qi(), { canInsertLogicTag: l, isRequesting: d, requestLogicTag: f } = aa(), p = v(In, null), m = (u(p) ? p.value : p)?.mergeTag?.suggestionEmpty ?? "No matching merge tags", h = pt(s), g = n(null), { showLinkDialog: _, linkUrl: y, linkDialogRef: b, openLinkDialog: x, insertLink: S, removeLink: w, closeLinkDialog: T, handleLinkKeydown: E } = la(g), { start: ee, stop: D } = cn(() => g.value?.commands.focus("end"), 0, { immediate: !1 }), te = n(null), ne = C(!0), O = C(null), k = !1;
|
|
2941
|
+
async function A() {
|
|
2942
|
+
O.value = null, ne.value = !0;
|
|
2843
2943
|
try {
|
|
2844
2944
|
let { TiptapEditor: n, EC: i, extensions: a } = await e.loadExtensions({
|
|
2845
2945
|
mergeTags: r,
|
|
2846
2946
|
syntax: s,
|
|
2847
|
-
triggerChar:
|
|
2947
|
+
triggerChar: h,
|
|
2848
2948
|
autocompleteEnabled: c,
|
|
2849
|
-
suggestionEmptyText:
|
|
2949
|
+
suggestionEmptyText: m
|
|
2850
2950
|
});
|
|
2851
|
-
if (
|
|
2852
|
-
|
|
2951
|
+
if (k) return;
|
|
2952
|
+
te.value = i;
|
|
2853
2953
|
let o = /* @__PURE__ */ new Map();
|
|
2854
2954
|
a.forEach((e, t) => o.set(e.name, t));
|
|
2855
2955
|
let l = new n({
|
|
@@ -2857,67 +2957,74 @@ function ta(e) {
|
|
|
2857
2957
|
content: e.blockContent(),
|
|
2858
2958
|
editable: !0,
|
|
2859
2959
|
onUpdate: ({ editor: n }) => {
|
|
2860
|
-
|
|
2960
|
+
k || t && t.updateBlock(e.blockId(), { content: n.getHTML() });
|
|
2861
2961
|
}
|
|
2862
2962
|
});
|
|
2863
|
-
if (
|
|
2963
|
+
if (k) {
|
|
2864
2964
|
l.destroy();
|
|
2865
2965
|
return;
|
|
2866
2966
|
}
|
|
2867
|
-
|
|
2967
|
+
g.value = l, ne.value = !1, ee();
|
|
2868
2968
|
} catch (t) {
|
|
2869
|
-
if (
|
|
2870
|
-
|
|
2969
|
+
if (k) return;
|
|
2970
|
+
kr.error(`[${e.editorName ?? "RichTextEditor"}] Failed to initialize TipTap editor:`, t), O.value = t instanceof Error ? t.message : "Failed to load editor", ne.value = !1;
|
|
2871
2971
|
}
|
|
2872
2972
|
}
|
|
2873
|
-
function
|
|
2874
|
-
|
|
2973
|
+
function j() {
|
|
2974
|
+
g.value?.destroy(), g.value = null, A();
|
|
2875
2975
|
}
|
|
2876
|
-
|
|
2877
|
-
let
|
|
2878
|
-
|
|
2976
|
+
A();
|
|
2977
|
+
let M = H(() => e.blockContent(), (e) => {
|
|
2978
|
+
g.value && g.value.getHTML() !== e && g.value.commands.setContent(e, { emitUpdate: !1 });
|
|
2879
2979
|
});
|
|
2880
|
-
function
|
|
2881
|
-
if (a.value) return;
|
|
2980
|
+
function N(t) {
|
|
2981
|
+
if (a.value || d.value) return;
|
|
2882
2982
|
let n = t.composedPath().find((e) => e instanceof HTMLElement);
|
|
2883
2983
|
n && (e.onClickOutsideSideEffect?.(n), !(n.closest(".tpl-text-editor-wrapper") || n.closest(".tpl-text-toolbar") || n.closest(".tpl-link-dialog")) && e.onDone());
|
|
2884
2984
|
}
|
|
2885
|
-
q(document, "mousedown",
|
|
2886
|
-
|
|
2985
|
+
q(document, "mousedown", N), re(() => {
|
|
2986
|
+
k = !0, M(), D(), g.value?.destroy();
|
|
2887
2987
|
});
|
|
2888
|
-
async function
|
|
2988
|
+
async function ie() {
|
|
2889
2989
|
let e = await o();
|
|
2890
|
-
|
|
2990
|
+
k || (e && g.value ? g.value.chain().focus().insertMergeTag({
|
|
2891
2991
|
label: e.label,
|
|
2892
2992
|
value: e.value
|
|
2893
|
-
}).run() :
|
|
2993
|
+
}).run() : g.value?.commands.focus());
|
|
2994
|
+
}
|
|
2995
|
+
async function P() {
|
|
2996
|
+
let e = await f();
|
|
2997
|
+
k || (e && g.value ? ca(g.value, e, s) : g.value?.commands.focus());
|
|
2894
2998
|
}
|
|
2895
2999
|
return {
|
|
2896
|
-
editor:
|
|
2897
|
-
EditorContent:
|
|
2898
|
-
isLoading:
|
|
2899
|
-
initError:
|
|
2900
|
-
retry:
|
|
2901
|
-
showLinkDialog:
|
|
2902
|
-
linkUrl:
|
|
2903
|
-
linkDialogRef:
|
|
3000
|
+
editor: g,
|
|
3001
|
+
EditorContent: te,
|
|
3002
|
+
isLoading: ne,
|
|
3003
|
+
initError: O,
|
|
3004
|
+
retry: j,
|
|
3005
|
+
showLinkDialog: _,
|
|
3006
|
+
linkUrl: y,
|
|
3007
|
+
linkDialogRef: b,
|
|
2904
3008
|
mergeTags: r,
|
|
2905
3009
|
canRequestMergeTag: i,
|
|
2906
3010
|
isRequestingMergeTag: a,
|
|
2907
3011
|
syntax: s,
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
-
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
3012
|
+
canInsertLogicTag: l,
|
|
3013
|
+
isRequestingLogicTag: d,
|
|
3014
|
+
openLinkDialog: x,
|
|
3015
|
+
insertLink: S,
|
|
3016
|
+
removeLink: w,
|
|
3017
|
+
closeLinkDialog: T,
|
|
3018
|
+
handleLinkKeydown: E,
|
|
3019
|
+
handleAddMergeTag: ie,
|
|
3020
|
+
handleAddLogicTag: P
|
|
2914
3021
|
};
|
|
2915
3022
|
}
|
|
2916
3023
|
//#endregion
|
|
2917
3024
|
//#region src/composables/useSmallScreenNotice.ts
|
|
2918
|
-
var
|
|
2919
|
-
function
|
|
2920
|
-
let t = Sn(
|
|
3025
|
+
var da = "(max-width: 767px)";
|
|
3026
|
+
function fa(e) {
|
|
3027
|
+
let t = Sn(da);
|
|
2921
3028
|
return {
|
|
2922
3029
|
isSmallScreen: t,
|
|
2923
3030
|
showNotice: O(() => (P(e) ?? !0) && t.value)
|
|
@@ -2925,20 +3032,20 @@ function ra(e) {
|
|
|
2925
3032
|
}
|
|
2926
3033
|
//#endregion
|
|
2927
3034
|
//#region src/components/blocks/CustomBlock.vue?vue&type=script&setup=true&lang.ts
|
|
2928
|
-
var
|
|
3035
|
+
var pa = { class: "tpl:w-full" }, ma = {
|
|
2929
3036
|
key: 0,
|
|
2930
3037
|
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)]"
|
|
2931
|
-
},
|
|
3038
|
+
}, ha = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ga = {
|
|
2932
3039
|
key: 1,
|
|
2933
3040
|
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)]"
|
|
2934
|
-
},
|
|
3041
|
+
}, _a = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, va = {
|
|
2935
3042
|
key: 2,
|
|
2936
3043
|
class: "tpl:relative"
|
|
2937
|
-
},
|
|
3044
|
+
}, ya = ["innerHTML"], ba = {
|
|
2938
3045
|
key: 0,
|
|
2939
3046
|
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]",
|
|
2940
3047
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)" }
|
|
2941
|
-
},
|
|
3048
|
+
}, xa = /* @__PURE__ */ B({
|
|
2942
3049
|
__name: "CustomBlock",
|
|
2943
3050
|
props: {
|
|
2944
3051
|
block: {},
|
|
@@ -2972,10 +3079,10 @@ var ia = { class: "tpl:w-full" }, aa = {
|
|
|
2972
3079
|
g();
|
|
2973
3080
|
}), H(() => n.block.fieldValues, () => {
|
|
2974
3081
|
_();
|
|
2975
|
-
}, { deep: !0 }), (e, t) => (f(), k("div",
|
|
3082
|
+
}, { deep: !0 }), (e, t) => (f(), k("div", pa, [u.value ? c.value ? (f(), k("div", ga, [V(j(Mi), {
|
|
2976
3083
|
size: 24,
|
|
2977
3084
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
2978
|
-
}), I("span",
|
|
3085
|
+
}), I("span", _a, D(j(a).customBlocks.renderError), 1)])) : (f(), k("div", va, [I("div", { innerHTML: s.value }, null, 8, ya), j(h) && j(m) ? (f(), k("div", ba, [j(d) ? (f(), N(Gi, {
|
|
2979
3086
|
key: 1,
|
|
2980
3087
|
class: "tpl:w-48"
|
|
2981
3088
|
})) : (f(), k("button", {
|
|
@@ -2983,16 +3090,16 @@ var ia = { class: "tpl:w-full" }, aa = {
|
|
|
2983
3090
|
type: "button",
|
|
2984
3091
|
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)]",
|
|
2985
3092
|
onClick: t[0] ||= M((...e) => j(p) && j(p)(...e), ["stop"])
|
|
2986
|
-
}, [l.value?.icon ? (f(), N(
|
|
3093
|
+
}, [l.value?.icon ? (f(), N(Bi, {
|
|
2987
3094
|
key: 0,
|
|
2988
3095
|
icon: l.value.icon,
|
|
2989
3096
|
size: 16
|
|
2990
|
-
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div",
|
|
3097
|
+
}, null, 8, ["icon"])) : A("", !0), z(" " + D(l.value?.dataSource?.label || j(a).customBlocks.dataSource.fetchButton), 1)]))])) : A("", !0)])) : (f(), k("div", ma, [V(j(xi), {
|
|
2991
3098
|
size: 24,
|
|
2992
3099
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
2993
|
-
}), I("span",
|
|
3100
|
+
}), I("span", ha, D(j(a).customBlocks.definitionNotFound), 1)]))]));
|
|
2994
3101
|
}
|
|
2995
|
-
}),
|
|
3102
|
+
}), Sa = { class: "tpl:w-full" }, Ca = /* @__PURE__ */ B({
|
|
2996
3103
|
__name: "DividerBlock",
|
|
2997
3104
|
props: {
|
|
2998
3105
|
block: {},
|
|
@@ -3004,18 +3111,18 @@ var ia = { class: "tpl:w-full" }, aa = {
|
|
|
3004
3111
|
width: t.block.width === "full" ? "100%" : `${t.block.width}px`,
|
|
3005
3112
|
margin: t.block.width === "full" ? "0" : "0 auto"
|
|
3006
3113
|
}));
|
|
3007
|
-
return (e, t) => (f(), k("div",
|
|
3114
|
+
return (e, t) => (f(), k("div", Sa, [I("hr", {
|
|
3008
3115
|
class: "tpl:m-0 tpl:border-none",
|
|
3009
3116
|
style: L(n.value)
|
|
3010
3117
|
}, null, 4)]));
|
|
3011
3118
|
}
|
|
3012
|
-
}),
|
|
3119
|
+
}), wa = { class: "tpl:w-full" }, Ta = { 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)]" }, Ea = {
|
|
3013
3120
|
key: 0,
|
|
3014
3121
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]"
|
|
3015
|
-
},
|
|
3122
|
+
}, Da = {
|
|
3016
3123
|
key: 1,
|
|
3017
3124
|
class: "tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
|
|
3018
|
-
},
|
|
3125
|
+
}, Oa = /* @__PURE__ */ B({
|
|
3019
3126
|
__name: "HtmlBlock",
|
|
3020
3127
|
props: {
|
|
3021
3128
|
block: {},
|
|
@@ -3023,15 +3130,15 @@ var ia = { class: "tpl:w-full" }, aa = {
|
|
|
3023
3130
|
},
|
|
3024
3131
|
setup(e) {
|
|
3025
3132
|
let t = e, { t: n } = Y(), r = O(() => t.block.content.trim().length > 0);
|
|
3026
|
-
return (e, t) => (f(), k("div",
|
|
3133
|
+
return (e, t) => (f(), k("div", wa, [I("div", Ta, [V(j(oi), {
|
|
3027
3134
|
size: 24,
|
|
3028
3135
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
3029
|
-
}), r.value ? (f(), k("span",
|
|
3136
|
+
}), r.value ? (f(), k("span", Ea, D(j(n).html.preview), 1)) : (f(), k("span", Da, D(j(n).html.empty), 1))])]));
|
|
3030
3137
|
}
|
|
3031
3138
|
});
|
|
3032
3139
|
//#endregion
|
|
3033
3140
|
//#region src/composables/useAliveFlag.ts
|
|
3034
|
-
function
|
|
3141
|
+
function ka() {
|
|
3035
3142
|
let e = { alive: !0 };
|
|
3036
3143
|
return re(() => {
|
|
3037
3144
|
e.alive = !1;
|
|
@@ -3039,13 +3146,13 @@ function ba() {
|
|
|
3039
3146
|
}
|
|
3040
3147
|
//#endregion
|
|
3041
3148
|
//#region src/composables/useImageDrop.ts
|
|
3042
|
-
var
|
|
3043
|
-
function
|
|
3149
|
+
var Aa = "image/";
|
|
3150
|
+
function ja(e) {
|
|
3044
3151
|
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 ? !0 : P(r), { isOverDropZone: a } = Tn(t, {
|
|
3045
3152
|
preventDefaultForUnhandled: !0,
|
|
3046
3153
|
onDrop: (e) => {
|
|
3047
3154
|
if (!i()) return;
|
|
3048
|
-
let t = (e ?? []).filter((e) => e.type.startsWith(
|
|
3155
|
+
let t = (e ?? []).filter((e) => e.type.startsWith(Aa));
|
|
3049
3156
|
t.length > 0 && n([t[0]]);
|
|
3050
3157
|
}
|
|
3051
3158
|
});
|
|
@@ -3053,17 +3160,17 @@ function Sa(e) {
|
|
|
3053
3160
|
}
|
|
3054
3161
|
//#endregion
|
|
3055
3162
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3056
|
-
var
|
|
3163
|
+
var Ma = {
|
|
3057
3164
|
key: 0,
|
|
3058
3165
|
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)]",
|
|
3059
3166
|
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
3060
|
-
},
|
|
3167
|
+
}, Na = ["href"], Pa = ["src", "alt"], Fa = ["src", "alt"], Ia = {
|
|
3061
3168
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3062
3169
|
style: { opacity: "0.7" }
|
|
3063
|
-
},
|
|
3170
|
+
}, La = ["href"], Ra = ["src", "alt"], za = ["src", "alt"], Ba = {
|
|
3064
3171
|
key: 4,
|
|
3065
3172
|
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)]"
|
|
3066
|
-
},
|
|
3173
|
+
}, Va = ["aria-label"], Ha = { key: 1 }, Ua = /* @__PURE__ */ B({
|
|
3067
3174
|
__name: "ImageBlock",
|
|
3068
3175
|
props: {
|
|
3069
3176
|
block: {},
|
|
@@ -3071,7 +3178,7 @@ var Ca = {
|
|
|
3071
3178
|
},
|
|
3072
3179
|
emits: ["update"],
|
|
3073
3180
|
setup(e, { emit: t }) {
|
|
3074
|
-
let n = e, r = t, { t: i } = Y(), { syntax: a } =
|
|
3181
|
+
let n = e, r = t, { t: i } = Y(), { syntax: a } = Qi(), o = v(ir, null), s = O(() => !!o), c = ka();
|
|
3075
3182
|
async function l() {
|
|
3076
3183
|
let e = await o?.({ accept: ["images"] });
|
|
3077
3184
|
if (c.alive && e) {
|
|
@@ -3098,7 +3205,7 @@ var Ca = {
|
|
|
3098
3205
|
}
|
|
3099
3206
|
}
|
|
3100
3207
|
}
|
|
3101
|
-
let { isOver: h } =
|
|
3208
|
+
let { isOver: h } = ja({
|
|
3102
3209
|
target: u,
|
|
3103
3210
|
enabled: p,
|
|
3104
3211
|
onFiles: m
|
|
@@ -3118,11 +3225,11 @@ var Ca = {
|
|
|
3118
3225
|
"data-testid": "image-drop-zone",
|
|
3119
3226
|
class: "tpl:relative tpl:w-full",
|
|
3120
3227
|
style: L(g.value)
|
|
3121
|
-
}, [p.value && (j(h) || d.value) ? (f(), k("div",
|
|
3228
|
+
}, [p.value && (j(h) || d.value) ? (f(), k("div", Ma, [d.value ? (f(), k(R, { key: 0 }, [V(j(_i), {
|
|
3122
3229
|
class: "tpl-spinner",
|
|
3123
3230
|
size: 20,
|
|
3124
3231
|
"stroke-width": 2
|
|
3125
|
-
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(
|
|
3232
|
+
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Pi), {
|
|
3126
3233
|
size: 20,
|
|
3127
3234
|
"stroke-width": 1.5
|
|
3128
3235
|
}), 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", {
|
|
@@ -3137,22 +3244,22 @@ var Ca = {
|
|
|
3137
3244
|
src: e.block.placeholderUrl,
|
|
3138
3245
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3139
3246
|
style: L(_.value)
|
|
3140
|
-
}, null, 12,
|
|
3247
|
+
}, null, 12, Pa)], 8, Na)) : (f(), k("img", {
|
|
3141
3248
|
key: 1,
|
|
3142
3249
|
class: "tpl:border-0",
|
|
3143
3250
|
src: e.block.placeholderUrl,
|
|
3144
3251
|
alt: e.block.alt,
|
|
3145
3252
|
style: L(_.value)
|
|
3146
|
-
}, null, 12,
|
|
3253
|
+
}, null, 12, Fa))], 64)) : e.block.src && y.value ? (f(), k("div", {
|
|
3147
3254
|
key: 2,
|
|
3148
3255
|
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)]",
|
|
3149
3256
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, _.value])
|
|
3150
|
-
}, [V(j(
|
|
3257
|
+
}, [V(j(hi), {
|
|
3151
3258
|
size: 32,
|
|
3152
3259
|
"stroke-width": 1.5,
|
|
3153
3260
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3154
3261
|
style: { opacity: "0.5" }
|
|
3155
|
-
}), I("span",
|
|
3262
|
+
}), I("span", Ia, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 3 }, [e.block.linkUrl ? (f(), k("a", {
|
|
3156
3263
|
key: 0,
|
|
3157
3264
|
href: e.block.linkUrl,
|
|
3158
3265
|
target: "_blank",
|
|
@@ -3164,26 +3271,26 @@ var Ca = {
|
|
|
3164
3271
|
src: e.block.src,
|
|
3165
3272
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3166
3273
|
style: L(_.value)
|
|
3167
|
-
}, null, 12,
|
|
3274
|
+
}, null, 12, Ra)], 8, La)) : (f(), k("img", {
|
|
3168
3275
|
key: 1,
|
|
3169
3276
|
class: "tpl:border-0",
|
|
3170
3277
|
src: e.block.src,
|
|
3171
3278
|
alt: e.block.alt,
|
|
3172
3279
|
style: L(_.value)
|
|
3173
|
-
}, null, 12,
|
|
3280
|
+
}, null, 12, za))], 64)) : (f(), k("div", Ba, [s.value ? (f(), k("button", {
|
|
3174
3281
|
key: 0,
|
|
3175
3282
|
"aria-label": j(i).image.browseMedia,
|
|
3176
3283
|
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)]",
|
|
3177
3284
|
onClick: M(l, ["stop"])
|
|
3178
|
-
}, [V(j(
|
|
3285
|
+
}, [V(j(hi), {
|
|
3179
3286
|
size: 14,
|
|
3180
3287
|
"stroke-width": 1.5
|
|
3181
|
-
}), z(" " + D(j(i).image.browseMedia), 1)], 8,
|
|
3288
|
+
}), z(" " + D(j(i).image.browseMedia), 1)], 8, Va)) : (f(), k("span", Ha, D(j(i).image.clickToAdd), 1))]))], 4));
|
|
3182
3289
|
}
|
|
3183
|
-
}),
|
|
3290
|
+
}), Wa = { class: "tpl:w-full" }, Ga = ["href"], Ka = {
|
|
3184
3291
|
key: 1,
|
|
3185
3292
|
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)]"
|
|
3186
|
-
},
|
|
3293
|
+
}, qa = /* @__PURE__ */ B({
|
|
3187
3294
|
__name: "MenuBlock",
|
|
3188
3295
|
props: {
|
|
3189
3296
|
block: {},
|
|
@@ -3202,7 +3309,7 @@ var Ca = {
|
|
|
3202
3309
|
function a(e) {
|
|
3203
3310
|
return e || t.block.linkColor || t.block.color;
|
|
3204
3311
|
}
|
|
3205
|
-
return (t, o) => (f(), k("div",
|
|
3312
|
+
return (t, o) => (f(), k("div", Wa, [i.value ? (f(), k("div", {
|
|
3206
3313
|
key: 0,
|
|
3207
3314
|
style: L(r.value)
|
|
3208
3315
|
}, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
|
|
@@ -3214,15 +3321,15 @@ var Ca = {
|
|
|
3214
3321
|
textDecoration: t.underline ? "underline" : "none"
|
|
3215
3322
|
}),
|
|
3216
3323
|
onClick: o[0] ||= M(() => {}, ["prevent"])
|
|
3217
|
-
}, D(t.text || "..."), 13,
|
|
3324
|
+
}, D(t.text || "..."), 13, Ga), n < e.block.items.length - 1 ? (f(), k("span", {
|
|
3218
3325
|
key: 0,
|
|
3219
3326
|
style: L({
|
|
3220
3327
|
color: e.block.separatorColor,
|
|
3221
3328
|
padding: `0 ${e.block.spacing}px`
|
|
3222
3329
|
})
|
|
3223
|
-
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div",
|
|
3330
|
+
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", Ka, [V(j(yi), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
|
|
3224
3331
|
}
|
|
3225
|
-
}),
|
|
3332
|
+
}), Ja = /* @__PURE__ */ new Set([
|
|
3226
3333
|
"http",
|
|
3227
3334
|
"https",
|
|
3228
3335
|
"mailto",
|
|
@@ -3232,7 +3339,7 @@ var Ca = {
|
|
|
3232
3339
|
"sms",
|
|
3233
3340
|
"xmpp",
|
|
3234
3341
|
"cid"
|
|
3235
|
-
]),
|
|
3342
|
+
]), Ya = /* @__PURE__ */ new Set([
|
|
3236
3343
|
"SCRIPT",
|
|
3237
3344
|
"STYLE",
|
|
3238
3345
|
"IFRAME",
|
|
@@ -3242,7 +3349,7 @@ var Ca = {
|
|
|
3242
3349
|
"META",
|
|
3243
3350
|
"BASE",
|
|
3244
3351
|
"FORM"
|
|
3245
|
-
]),
|
|
3352
|
+
]), Xa = /* @__PURE__ */ new Set([
|
|
3246
3353
|
"href",
|
|
3247
3354
|
"xlink:href",
|
|
3248
3355
|
"formaction",
|
|
@@ -3251,16 +3358,16 @@ var Ca = {
|
|
|
3251
3358
|
"background",
|
|
3252
3359
|
"poster"
|
|
3253
3360
|
]);
|
|
3254
|
-
function
|
|
3361
|
+
function Za(e, t) {
|
|
3255
3362
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
3256
3363
|
if (!n || n.startsWith("#")) return !0;
|
|
3257
3364
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
3258
3365
|
if (!r) return !0;
|
|
3259
3366
|
let i = r[1].toLowerCase();
|
|
3260
|
-
return
|
|
3367
|
+
return Ja.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
3261
3368
|
}
|
|
3262
|
-
function
|
|
3263
|
-
if (
|
|
3369
|
+
function Qa(e) {
|
|
3370
|
+
if (Ya.has(e.tagName)) {
|
|
3264
3371
|
e.remove();
|
|
3265
3372
|
return;
|
|
3266
3373
|
}
|
|
@@ -3272,29 +3379,29 @@ function Ua(e) {
|
|
|
3272
3379
|
e.removeAttribute(n);
|
|
3273
3380
|
continue;
|
|
3274
3381
|
}
|
|
3275
|
-
if (
|
|
3276
|
-
|
|
3382
|
+
if (Xa.has(t)) {
|
|
3383
|
+
Za(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
3277
3384
|
continue;
|
|
3278
3385
|
}
|
|
3279
3386
|
if (t === "src") {
|
|
3280
|
-
|
|
3387
|
+
Za(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
3281
3388
|
continue;
|
|
3282
3389
|
}
|
|
3283
3390
|
t === "srcdoc" && e.removeAttribute(n);
|
|
3284
3391
|
}
|
|
3285
3392
|
let n = Array.from(e.children);
|
|
3286
|
-
for (let e of n)
|
|
3393
|
+
for (let e of n) Qa(e);
|
|
3287
3394
|
}
|
|
3288
|
-
function
|
|
3395
|
+
function $a(e) {
|
|
3289
3396
|
if (typeof DOMParser > "u") return e;
|
|
3290
3397
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
3291
|
-
for (let e of n)
|
|
3398
|
+
for (let e of n) Qa(e);
|
|
3292
3399
|
return t.innerHTML;
|
|
3293
3400
|
}
|
|
3294
3401
|
//#endregion
|
|
3295
3402
|
//#region src/composables/useEditableTextBlock.ts
|
|
3296
|
-
function
|
|
3297
|
-
let t = v(Yn, []), { syntax: n } =
|
|
3403
|
+
function eo(e) {
|
|
3404
|
+
let t = v(Yn, []), { syntax: n } = Qi(), r = O(() => $a(St(vt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = Dn(a), c = O(() => ({
|
|
3298
3405
|
top: o.value - 8,
|
|
3299
3406
|
left: s.value
|
|
3300
3407
|
}));
|
|
@@ -3315,14 +3422,14 @@ function Ga(e) {
|
|
|
3315
3422
|
}
|
|
3316
3423
|
//#endregion
|
|
3317
3424
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3318
|
-
var
|
|
3425
|
+
var to = ["innerHTML"], no = /* @__PURE__ */ B({
|
|
3319
3426
|
__name: "ParagraphBlock",
|
|
3320
3427
|
props: {
|
|
3321
3428
|
block: {},
|
|
3322
3429
|
viewport: {}
|
|
3323
3430
|
},
|
|
3324
3431
|
setup(e) {
|
|
3325
|
-
let t = e, n =
|
|
3432
|
+
let t = e, n = E(() => import("./ParagraphEditor-DwZqLJp2.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = eo(() => t.block.content);
|
|
3326
3433
|
return (t, l) => (f(), k("div", {
|
|
3327
3434
|
ref_key: "blockRef",
|
|
3328
3435
|
ref: i,
|
|
@@ -3341,41 +3448,46 @@ var Ka = ["innerHTML"], qa = /* @__PURE__ */ B({
|
|
|
3341
3448
|
key: 1,
|
|
3342
3449
|
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",
|
|
3343
3450
|
innerHTML: j(o)
|
|
3344
|
-
}, null, 8,
|
|
3451
|
+
}, null, 8, to))], 544));
|
|
3345
3452
|
}
|
|
3346
3453
|
});
|
|
3347
3454
|
//#endregion
|
|
3348
3455
|
//#region src/utils/blockComponentResolver.ts
|
|
3349
|
-
function
|
|
3456
|
+
function ro(e, t, n) {
|
|
3350
3457
|
if (t) {
|
|
3351
3458
|
let n = t.getComponent(e);
|
|
3352
3459
|
if (n) return n;
|
|
3353
3460
|
}
|
|
3354
3461
|
return n[e.type] ?? null;
|
|
3355
3462
|
}
|
|
3356
|
-
function
|
|
3357
|
-
let { padding: t, backgroundColor: n } = e.styles
|
|
3358
|
-
return {
|
|
3463
|
+
function io(e) {
|
|
3464
|
+
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
3359
3465
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
3360
3466
|
backgroundColor: n || "transparent"
|
|
3361
3467
|
};
|
|
3468
|
+
return e.type === "section" && e.borderRadius && e.borderRadius > 0 && (r.borderRadius = `${e.borderRadius}px`), r;
|
|
3469
|
+
}
|
|
3470
|
+
function ao(e) {
|
|
3471
|
+
if (e.type !== "section" || !e.wrapper) return null;
|
|
3472
|
+
let t = e.wrapper, n = {};
|
|
3473
|
+
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;
|
|
3362
3474
|
}
|
|
3363
3475
|
//#endregion
|
|
3364
3476
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
3365
|
-
var
|
|
3477
|
+
var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
3366
3478
|
"aria-label",
|
|
3367
3479
|
"aria-pressed",
|
|
3368
3480
|
"title"
|
|
3369
|
-
],
|
|
3481
|
+
], lo = ["aria-label", "title"], uo = ["aria-label", "title"], fo = ["aria-label", "title"], po = {
|
|
3370
3482
|
key: 1,
|
|
3371
3483
|
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"
|
|
3372
|
-
},
|
|
3484
|
+
}, mo = { 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)]" }, ho = {
|
|
3373
3485
|
key: 2,
|
|
3374
3486
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
3375
|
-
},
|
|
3487
|
+
}, go = ["aria-label", "title"], _o = {
|
|
3376
3488
|
key: 3,
|
|
3377
3489
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
3378
|
-
},
|
|
3490
|
+
}, vo = ["aria-label"], yo = /*#__PURE__*/ Vi(/* @__PURE__ */ B({
|
|
3379
3491
|
__name: "BlockWrapper",
|
|
3380
3492
|
props: {
|
|
3381
3493
|
block: {},
|
|
@@ -3385,7 +3497,7 @@ var Xa = ["data-block-id", "data-block-type"], Za = ["aria-label"], Qa = [
|
|
|
3385
3497
|
},
|
|
3386
3498
|
emits: ["select"],
|
|
3387
3499
|
setup(e, { emit: t }) {
|
|
3388
|
-
let n =
|
|
3500
|
+
let n = E(() => import("./BlockIssueBadge-DHOe0pgx.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(cr, 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);
|
|
3389
3501
|
async function p() {
|
|
3390
3502
|
await m(), l.value?.focus();
|
|
3391
3503
|
}
|
|
@@ -3411,26 +3523,26 @@ var Xa = ["data-block-id", "data-block-type"], Za = ["aria-label"], Qa = [
|
|
|
3411
3523
|
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 ? {
|
|
3412
3524
|
desktop: a.viewport.desktop,
|
|
3413
3525
|
mobile: a.viewport.mobile
|
|
3414
|
-
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(zn, null), S = v(Bn, null), w = v(
|
|
3415
|
-
let e =
|
|
3416
|
-
return {
|
|
3526
|
+
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(zn, null), S = v(Bn, null), w = v(sr, {}), T = O(() => !!w.savedModules), ee = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
|
|
3527
|
+
let e = io(r.block), t = {
|
|
3417
3528
|
padding: e.padding,
|
|
3418
3529
|
backgroundColor: e.backgroundColor
|
|
3419
3530
|
};
|
|
3420
|
-
|
|
3421
|
-
|
|
3531
|
+
return e.borderRadius && (t.borderRadius = e.borderRadius), t;
|
|
3532
|
+
}), ne = O(() => ao(r.block));
|
|
3533
|
+
function re(e) {
|
|
3422
3534
|
r.previewMode || (e.stopPropagation(), i("select"));
|
|
3423
3535
|
}
|
|
3424
|
-
function
|
|
3536
|
+
function N() {
|
|
3425
3537
|
x?.deleteBlock(r.block.id);
|
|
3426
3538
|
}
|
|
3427
|
-
function
|
|
3539
|
+
function ie() {
|
|
3428
3540
|
x?.duplicateBlock(r.block);
|
|
3429
3541
|
}
|
|
3430
|
-
function
|
|
3542
|
+
function P() {
|
|
3431
3543
|
w.savedModules?.openSaveDialog(r.block.id);
|
|
3432
3544
|
}
|
|
3433
|
-
function
|
|
3545
|
+
function ae() {
|
|
3434
3546
|
S?.toggleBlock(r.block.id);
|
|
3435
3547
|
}
|
|
3436
3548
|
return (t, r) => _.value ? A("", !0) : (f(), k("div", {
|
|
@@ -3442,7 +3554,7 @@ var Xa = ["data-block-id", "data-block-type"], Za = ["aria-label"], Qa = [
|
|
|
3442
3554
|
}]),
|
|
3443
3555
|
"data-block-id": e.block.id,
|
|
3444
3556
|
"data-block-type": e.block.type,
|
|
3445
|
-
onClick:
|
|
3557
|
+
onClick: re
|
|
3446
3558
|
}, [
|
|
3447
3559
|
V(j(n), { "block-id": e.block.id }, null, 8, ["block-id"]),
|
|
3448
3560
|
e.isSelected ? (f(), k("div", {
|
|
@@ -3460,90 +3572,98 @@ var Xa = ["data-block-id", "data-block-type"], Za = ["aria-label"], Qa = [
|
|
|
3460
3572
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
3461
3573
|
title: j(a).blockActions.drag,
|
|
3462
3574
|
onKeydown: h
|
|
3463
|
-
}, [V(j(
|
|
3575
|
+
}, [V(j(pi), {
|
|
3464
3576
|
size: 14,
|
|
3465
3577
|
"stroke-width": 1.5
|
|
3466
|
-
})], 40,
|
|
3578
|
+
})], 40, co),
|
|
3467
3579
|
I("button", {
|
|
3468
3580
|
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",
|
|
3469
3581
|
"aria-label": j(a).blockActions.duplicate,
|
|
3470
3582
|
title: j(a).blockActions.duplicate,
|
|
3471
|
-
onClick: M(
|
|
3583
|
+
onClick: M(ie, ["stop"])
|
|
3472
3584
|
}, [V(j(si), {
|
|
3473
3585
|
size: 14,
|
|
3474
3586
|
"stroke-width": 1.5
|
|
3475
|
-
})], 8,
|
|
3476
|
-
|
|
3587
|
+
})], 8, lo),
|
|
3588
|
+
T.value ? (f(), k("button", {
|
|
3477
3589
|
key: 0,
|
|
3478
3590
|
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",
|
|
3479
3591
|
"aria-label": j(a).blockActions.saveAsModule,
|
|
3480
3592
|
title: j(a).blockActions.saveAsModule,
|
|
3481
|
-
onClick: M(
|
|
3482
|
-
}, [V(j(
|
|
3593
|
+
onClick: M(P, ["stop"])
|
|
3594
|
+
}, [V(j(Xr), {
|
|
3483
3595
|
size: 14,
|
|
3484
3596
|
"stroke-width": 1.5
|
|
3485
|
-
})], 8,
|
|
3597
|
+
})], 8, uo)) : A("", !0),
|
|
3486
3598
|
I("button", {
|
|
3487
3599
|
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",
|
|
3488
3600
|
"aria-label": j(a).blockActions.delete,
|
|
3489
3601
|
title: j(a).blockActions.delete,
|
|
3490
|
-
onClick: M(
|
|
3491
|
-
}, [V(j(
|
|
3602
|
+
onClick: M(N, ["stop"])
|
|
3603
|
+
}, [V(j(ji), {
|
|
3492
3604
|
size: 14,
|
|
3493
3605
|
"stroke-width": 1.5
|
|
3494
|
-
})], 8,
|
|
3495
|
-
], 8,
|
|
3496
|
-
g.value ? (f(), k("div",
|
|
3606
|
+
})], 8, fo)
|
|
3607
|
+
], 8, so)) : A("", !0),
|
|
3608
|
+
g.value ? (f(), k("div", po, [I("span", mo, [V(j(ci), {
|
|
3497
3609
|
size: 12,
|
|
3498
3610
|
"stroke-width": 1.5
|
|
3499
3611
|
}), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
|
|
3500
|
-
b.value && !g.value ? (f(), k("div",
|
|
3612
|
+
b.value && !g.value ? (f(), k("div", ho, [I("button", {
|
|
3501
3613
|
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)]",
|
|
3502
3614
|
"aria-label": j(a).blockActions.conditionToggle,
|
|
3503
3615
|
title: e.block.displayCondition?.label,
|
|
3504
|
-
onClick: M(
|
|
3505
|
-
}, [V(j(
|
|
3616
|
+
onClick: M(ae, ["stop"])
|
|
3617
|
+
}, [V(j(fi), {
|
|
3506
3618
|
size: 12,
|
|
3507
3619
|
"stroke-width": 2
|
|
3508
|
-
})], 8,
|
|
3509
|
-
|
|
3620
|
+
})], 8, go)])) : A("", !0),
|
|
3621
|
+
ee.value > 0 && !g.value ? (f(), k("div", _o, [I("button", {
|
|
3510
3622
|
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)]",
|
|
3511
|
-
"aria-label": j(s)(j(a).blockActions.comments, { count: String(
|
|
3623
|
+
"aria-label": j(s)(j(a).blockActions.comments, { count: String(ee.value) }),
|
|
3512
3624
|
onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
|
|
3513
|
-
}, [V(j(
|
|
3625
|
+
}, [V(j(vi), {
|
|
3514
3626
|
size: 12,
|
|
3515
3627
|
"stroke-width": 2.5
|
|
3516
|
-
}), z(" " + D(
|
|
3517
|
-
|
|
3628
|
+
}), z(" " + D(ee.value), 1)], 8, vo)])) : A("", !0),
|
|
3629
|
+
ne.value ? (f(), k("div", {
|
|
3630
|
+
key: 4,
|
|
3631
|
+
class: "tpl-section-wrapper",
|
|
3632
|
+
style: L(ne.value)
|
|
3633
|
+
}, [I("div", {
|
|
3634
|
+
class: "tpl-block-content",
|
|
3635
|
+
style: L(te.value)
|
|
3636
|
+
}, [o(t.$slots, "default", {}, void 0, !0)], 4)], 4)) : (f(), k("div", {
|
|
3637
|
+
key: 5,
|
|
3518
3638
|
class: "tpl-block-content",
|
|
3519
3639
|
style: L(te.value)
|
|
3520
|
-
}, [o(t.$slots, "default", {}, void 0, !0)], 4)
|
|
3521
|
-
], 10,
|
|
3640
|
+
}, [o(t.$slots, "default", {}, void 0, !0)], 4))
|
|
3641
|
+
], 10, oo));
|
|
3522
3642
|
}
|
|
3523
|
-
}), [["__scopeId", "data-v-
|
|
3643
|
+
}), [["__scopeId", "data-v-7aeef19d"]]);
|
|
3524
3644
|
//#endregion
|
|
3525
3645
|
//#region src/utils/unwrapParagraph.ts
|
|
3526
|
-
function
|
|
3646
|
+
function bo(e) {
|
|
3527
3647
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
3528
3648
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
3529
3649
|
}
|
|
3530
3650
|
//#endregion
|
|
3531
3651
|
//#region src/components/blocks/TitleBlock.vue
|
|
3532
|
-
var
|
|
3652
|
+
var xo = /* @__PURE__ */ B({
|
|
3533
3653
|
__name: "TitleBlock",
|
|
3534
3654
|
props: {
|
|
3535
3655
|
block: {},
|
|
3536
3656
|
viewport: {}
|
|
3537
3657
|
},
|
|
3538
3658
|
setup(e) {
|
|
3539
|
-
let t = e, n =
|
|
3659
|
+
let t = e, n = E(() => import("./TitleEditor-DO1-h3RY.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = eo(() => t.block.content), l = O(() => {
|
|
3540
3660
|
let e = {
|
|
3541
3661
|
fontSize: `${pe[t.block.level]}px`,
|
|
3542
3662
|
color: t.block.color,
|
|
3543
3663
|
textAlign: t.block.textAlign
|
|
3544
3664
|
};
|
|
3545
3665
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
3546
|
-
}), u = O(() => `h${t.block.level}`), p = O(() =>
|
|
3666
|
+
}), u = O(() => `h${t.block.level}`), p = O(() => bo(o.value));
|
|
3547
3667
|
return (t, o) => (f(), k("div", {
|
|
3548
3668
|
ref_key: "blockRef",
|
|
3549
3669
|
ref: i,
|
|
@@ -3566,11 +3686,19 @@ var uo = /* @__PURE__ */ B({
|
|
|
3566
3686
|
innerHTML: p.value
|
|
3567
3687
|
}, null, 8, ["innerHTML"]))], 36));
|
|
3568
3688
|
}
|
|
3569
|
-
})
|
|
3689
|
+
});
|
|
3690
|
+
//#endregion
|
|
3691
|
+
//#region src/utils/sectionColumnDrop.ts
|
|
3692
|
+
function So(e) {
|
|
3693
|
+
return e.dataset.blockType !== "section" && e.dataset.paletteType !== "section";
|
|
3694
|
+
}
|
|
3695
|
+
//#endregion
|
|
3696
|
+
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3697
|
+
var Co = { class: "tpl:w-full" }, wo = { class: "tpl:flex tpl:gap-0" }, To = {
|
|
3570
3698
|
key: 0,
|
|
3571
3699
|
"data-testid": "section-drop-hint",
|
|
3572
3700
|
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)]"
|
|
3573
|
-
},
|
|
3701
|
+
}, Eo = /* @__PURE__ */ B({
|
|
3574
3702
|
__name: "SectionBlock",
|
|
3575
3703
|
props: {
|
|
3576
3704
|
block: {},
|
|
@@ -3578,12 +3706,12 @@ var uo = /* @__PURE__ */ B({
|
|
|
3578
3706
|
},
|
|
3579
3707
|
setup(e) {
|
|
3580
3708
|
let t = {
|
|
3581
|
-
title:
|
|
3582
|
-
paragraph:
|
|
3583
|
-
image:
|
|
3584
|
-
button:
|
|
3585
|
-
divider:
|
|
3586
|
-
custom:
|
|
3709
|
+
title: xo,
|
|
3710
|
+
paragraph: no,
|
|
3711
|
+
image: Ua,
|
|
3712
|
+
button: Br,
|
|
3713
|
+
divider: Ca,
|
|
3714
|
+
custom: xa
|
|
3587
3715
|
}, n = e, { t: r } = Y(), i = J(Ln, "SectionBlock"), a = v(Bn, null), o = v(Gn, null), s = O(() => {
|
|
3588
3716
|
switch (n.block.columns) {
|
|
3589
3717
|
case "2": return ["50%", "50%"];
|
|
@@ -3610,7 +3738,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3610
3738
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3611
3739
|
}
|
|
3612
3740
|
function m(e) {
|
|
3613
|
-
return
|
|
3741
|
+
return ro(e, o, t);
|
|
3614
3742
|
}
|
|
3615
3743
|
function g(e, t) {
|
|
3616
3744
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
@@ -3618,7 +3746,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3618
3746
|
dataSourceFetched: t.dataSourceFetched
|
|
3619
3747
|
});
|
|
3620
3748
|
}
|
|
3621
|
-
return (t, n) => (f(), k("div",
|
|
3749
|
+
return (t, n) => (f(), k("div", Co, [I("div", wo, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
|
|
3622
3750
|
key: n,
|
|
3623
3751
|
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
3624
3752
|
style: L({ width: s.value[n] })
|
|
@@ -3627,7 +3755,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3627
3755
|
group: {
|
|
3628
3756
|
name: "blocks",
|
|
3629
3757
|
pull: !0,
|
|
3630
|
-
put: (e, t, n) => n
|
|
3758
|
+
put: (e, t, n) => j(So)(n)
|
|
3631
3759
|
},
|
|
3632
3760
|
animation: 150,
|
|
3633
3761
|
"ghost-class": "tpl-ghost",
|
|
@@ -3640,7 +3768,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3640
3768
|
class: "tpl:min-h-[60px]",
|
|
3641
3769
|
"onUpdate:modelValue": (e) => p(n, e)
|
|
3642
3770
|
}, {
|
|
3643
|
-
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(
|
|
3771
|
+
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(yo, {
|
|
3644
3772
|
block: t,
|
|
3645
3773
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3646
3774
|
viewport: e.viewport,
|
|
@@ -3671,13 +3799,13 @@ var uo = /* @__PURE__ */ B({
|
|
|
3671
3799
|
"model-value",
|
|
3672
3800
|
"group",
|
|
3673
3801
|
"onUpdate:modelValue"
|
|
3674
|
-
]), u(n).length === 0 ? (f(), k("div",
|
|
3802
|
+
]), u(n).length === 0 ? (f(), k("div", To, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
|
|
3675
3803
|
}
|
|
3676
|
-
}),
|
|
3804
|
+
}), Do = me, Oo = {
|
|
3677
3805
|
small: 24,
|
|
3678
3806
|
medium: 32,
|
|
3679
3807
|
large: 48
|
|
3680
|
-
},
|
|
3808
|
+
}, ko = [
|
|
3681
3809
|
"facebook",
|
|
3682
3810
|
"twitter",
|
|
3683
3811
|
"instagram",
|
|
@@ -3695,11 +3823,11 @@ var uo = /* @__PURE__ */ B({
|
|
|
3695
3823
|
"github",
|
|
3696
3824
|
"dribbble",
|
|
3697
3825
|
"behance"
|
|
3698
|
-
],
|
|
3826
|
+
], Ao = [
|
|
3699
3827
|
"width",
|
|
3700
3828
|
"height",
|
|
3701
3829
|
"fill"
|
|
3702
|
-
],
|
|
3830
|
+
], jo = ["d"], Mo = /* @__PURE__ */ B({
|
|
3703
3831
|
__name: "SocialIconSvg",
|
|
3704
3832
|
props: {
|
|
3705
3833
|
platform: {},
|
|
@@ -3707,7 +3835,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3707
3835
|
iconSize: {}
|
|
3708
3836
|
},
|
|
3709
3837
|
setup(e) {
|
|
3710
|
-
let t = e, n = O(() =>
|
|
3838
|
+
let t = e, n = O(() => Do[t.platform]), r = O(() => Oo[t.iconSize]), i = O(() => {
|
|
3711
3839
|
let e = {
|
|
3712
3840
|
display: "inline-flex",
|
|
3713
3841
|
alignItems: "center",
|
|
@@ -3751,12 +3879,12 @@ var uo = /* @__PURE__ */ B({
|
|
|
3751
3879
|
viewBox: "0 0 24 24",
|
|
3752
3880
|
fill: o.value,
|
|
3753
3881
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3754
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3882
|
+
}, [I("path", { d: n.value.path }, null, 8, jo)], 8, Ao))], 4));
|
|
3755
3883
|
}
|
|
3756
|
-
}),
|
|
3884
|
+
}), No = { class: "tpl:w-full" }, Po = ["href"], Fo = {
|
|
3757
3885
|
key: 1,
|
|
3758
3886
|
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)]"
|
|
3759
|
-
},
|
|
3887
|
+
}, Io = /* @__PURE__ */ B({
|
|
3760
3888
|
__name: "SocialIconsBlock",
|
|
3761
3889
|
props: {
|
|
3762
3890
|
block: {},
|
|
@@ -3769,7 +3897,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3769
3897
|
gap: `${t.block.spacing}px`,
|
|
3770
3898
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3771
3899
|
})), i = O(() => t.block.icons.length > 0);
|
|
3772
|
-
return (t, a) => (f(), k("div",
|
|
3900
|
+
return (t, a) => (f(), k("div", No, [i.value ? (f(), k("div", {
|
|
3773
3901
|
key: 0,
|
|
3774
3902
|
style: L(r.value)
|
|
3775
3903
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3777,7 +3905,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3777
3905
|
href: t.url || "#",
|
|
3778
3906
|
class: "tpl:cursor-default",
|
|
3779
3907
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3780
|
-
}, [V(
|
|
3908
|
+
}, [V(Mo, {
|
|
3781
3909
|
platform: t.platform,
|
|
3782
3910
|
"icon-style": e.block.iconStyle,
|
|
3783
3911
|
"icon-size": e.block.iconSize
|
|
@@ -3785,16 +3913,16 @@ var uo = /* @__PURE__ */ B({
|
|
|
3785
3913
|
"platform",
|
|
3786
3914
|
"icon-style",
|
|
3787
3915
|
"icon-size"
|
|
3788
|
-
])], 8,
|
|
3916
|
+
])], 8, Po))), 128))], 4)) : (f(), k("div", Fo, [V(j(Ei), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
3789
3917
|
}
|
|
3790
|
-
}),
|
|
3918
|
+
}), Lo = { class: "tpl:w-full" }, Ro = {
|
|
3791
3919
|
key: 0,
|
|
3792
3920
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3793
3921
|
style: {
|
|
3794
3922
|
"background-color": "var(--tpl-bg-hover)",
|
|
3795
3923
|
color: "var(--tpl-text-dim)"
|
|
3796
3924
|
}
|
|
3797
|
-
},
|
|
3925
|
+
}, zo = /* @__PURE__ */ B({
|
|
3798
3926
|
__name: "SpacerBlock",
|
|
3799
3927
|
props: {
|
|
3800
3928
|
block: {},
|
|
@@ -3806,23 +3934,23 @@ var uo = /* @__PURE__ */ B({
|
|
|
3806
3934
|
minHeight: `${t.block.height}px`,
|
|
3807
3935
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3808
3936
|
}));
|
|
3809
|
-
return (t, i) => (f(), k("div",
|
|
3937
|
+
return (t, i) => (f(), k("div", Lo, [I("div", {
|
|
3810
3938
|
style: L(r.value),
|
|
3811
3939
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
3812
|
-
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span",
|
|
3940
|
+
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Ro, D(e.block.height) + "px ", 1))], 6)]));
|
|
3813
3941
|
}
|
|
3814
|
-
}),
|
|
3942
|
+
}), Bo = { class: "tpl:w-full" }, Vo = { key: 0 }, Ho = [
|
|
3815
3943
|
"aria-label",
|
|
3816
3944
|
"data-placeholder",
|
|
3817
3945
|
"onBlur"
|
|
3818
|
-
],
|
|
3946
|
+
], Uo = [
|
|
3819
3947
|
"aria-label",
|
|
3820
3948
|
"data-placeholder",
|
|
3821
3949
|
"onBlur"
|
|
3822
|
-
],
|
|
3950
|
+
], Wo = {
|
|
3823
3951
|
key: 1,
|
|
3824
3952
|
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)]"
|
|
3825
|
-
},
|
|
3953
|
+
}, Go = /*#__PURE__*/ Vi(/* @__PURE__ */ B({
|
|
3826
3954
|
__name: "TableBlock",
|
|
3827
3955
|
props: {
|
|
3828
3956
|
block: {},
|
|
@@ -3865,31 +3993,31 @@ var uo = /* @__PURE__ */ B({
|
|
|
3865
3993
|
} : n);
|
|
3866
3994
|
i.updateBlock(n.block.id, { rows: o });
|
|
3867
3995
|
}
|
|
3868
|
-
return (e, n) => (f(), k("div",
|
|
3996
|
+
return (e, n) => (f(), k("div", Bo, [a.value ? (f(), k("table", {
|
|
3869
3997
|
key: 0,
|
|
3870
3998
|
style: L(o.value),
|
|
3871
3999
|
class: "tpl-table-editable"
|
|
3872
|
-
}, [u.value ? (f(), k("thead",
|
|
4000
|
+
}, [u.value ? (f(), k("thead", Vo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
|
|
3873
4001
|
key: e.id,
|
|
3874
4002
|
style: L(l.value),
|
|
3875
4003
|
"aria-label": j(r).table.cellPlaceholder,
|
|
3876
4004
|
contenteditable: "true",
|
|
3877
4005
|
"data-placeholder": j(r).table.cellPlaceholder,
|
|
3878
4006
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
3879
|
-
onKeydown: n[0] ||=
|
|
4007
|
+
onKeydown: n[0] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3880
4008
|
onClick: M(p, ["stop"])
|
|
3881
|
-
}, null, 44,
|
|
4009
|
+
}, null, 44, Ho)), [[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", {
|
|
3882
4010
|
key: i.id,
|
|
3883
4011
|
style: L(s.value),
|
|
3884
4012
|
"aria-label": j(r).table.cellPlaceholder,
|
|
3885
4013
|
contenteditable: "true",
|
|
3886
4014
|
"data-placeholder": j(r).table.cellPlaceholder,
|
|
3887
4015
|
onBlur: (t) => m(e.id, i.id, t),
|
|
3888
|
-
onKeydown: n[1] ||=
|
|
4016
|
+
onKeydown: n[1] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3889
4017
|
onClick: M(p, ["stop"])
|
|
3890
|
-
}, null, 44,
|
|
4018
|
+
}, null, 44, Uo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Wo, [V(j(Ai), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
|
|
3891
4019
|
}
|
|
3892
|
-
}), [["__scopeId", "data-v-f065872a"]]),
|
|
4020
|
+
}), [["__scopeId", "data-v-f065872a"]]), Ko = /* @__PURE__ */ B({
|
|
3893
4021
|
__name: "VideoPlayButton",
|
|
3894
4022
|
props: { hoverEffect: {
|
|
3895
4023
|
type: Boolean,
|
|
@@ -3907,7 +4035,7 @@ var uo = /* @__PURE__ */ B({
|
|
|
3907
4035
|
});
|
|
3908
4036
|
//#endregion
|
|
3909
4037
|
//#region src/utils/videoThumbnail.ts
|
|
3910
|
-
function
|
|
4038
|
+
function qo(e) {
|
|
3911
4039
|
if (!e) return {
|
|
3912
4040
|
platform: "unknown",
|
|
3913
4041
|
videoId: null,
|
|
@@ -3939,25 +4067,25 @@ function Io(e) {
|
|
|
3939
4067
|
thumbnailUrl: null
|
|
3940
4068
|
};
|
|
3941
4069
|
}
|
|
3942
|
-
function
|
|
3943
|
-
return t ||
|
|
4070
|
+
function Jo(e, t) {
|
|
4071
|
+
return t || qo(e).thumbnailUrl;
|
|
3944
4072
|
}
|
|
3945
4073
|
//#endregion
|
|
3946
4074
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3947
|
-
var
|
|
4075
|
+
var Yo = ["src", "alt"], Xo = {
|
|
3948
4076
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3949
4077
|
style: { opacity: "0.7" }
|
|
3950
|
-
},
|
|
4078
|
+
}, Zo = ["href"], Qo = ["src", "alt"], $o = ["src", "alt"], es = {
|
|
3951
4079
|
key: 3,
|
|
3952
4080
|
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)]"
|
|
3953
|
-
},
|
|
4081
|
+
}, ts = /* @__PURE__ */ B({
|
|
3954
4082
|
__name: "VideoBlock",
|
|
3955
4083
|
props: {
|
|
3956
4084
|
block: {},
|
|
3957
4085
|
viewport: {}
|
|
3958
4086
|
},
|
|
3959
4087
|
setup(e) {
|
|
3960
|
-
let t = e, { t: n } = Y(), { syntax: r } =
|
|
4088
|
+
let t = e, { t: n } = Y(), { syntax: r } = Qi(), i = O(() => yt(t.block.url, r) || yt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Jo(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
|
|
3961
4089
|
let e = t.block.align;
|
|
3962
4090
|
return {
|
|
3963
4091
|
maxWidth: "100%",
|
|
@@ -3978,16 +4106,16 @@ var Ro = ["src", "alt"], zo = {
|
|
|
3978
4106
|
class: "tpl:w-full tpl:border-0",
|
|
3979
4107
|
src: e.block.placeholderUrl,
|
|
3980
4108
|
alt: e.block.alt
|
|
3981
|
-
}, null, 8,
|
|
4109
|
+
}, null, 8, Yo), V(Ko)], 4)) : i.value ? (f(), k("div", {
|
|
3982
4110
|
key: 1,
|
|
3983
4111
|
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)]",
|
|
3984
4112
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
3985
|
-
}, [V(j(
|
|
4113
|
+
}, [V(j(Fi), {
|
|
3986
4114
|
size: 36,
|
|
3987
4115
|
"stroke-width": 1.5,
|
|
3988
4116
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3989
4117
|
style: { opacity: "0.5" }
|
|
3990
|
-
}), I("span",
|
|
4118
|
+
}), I("span", Xo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
3991
4119
|
key: 0,
|
|
3992
4120
|
href: e.block.url,
|
|
3993
4121
|
target: "_blank",
|
|
@@ -3999,7 +4127,7 @@ var Ro = ["src", "alt"], zo = {
|
|
|
3999
4127
|
class: "tpl:w-full tpl:border-0",
|
|
4000
4128
|
src: a.value,
|
|
4001
4129
|
alt: e.block.alt
|
|
4002
|
-
}, null, 8,
|
|
4130
|
+
}, null, 8, Qo), V(Ko, { "hover-effect": "" })], 12, Zo)) : (f(), k("div", {
|
|
4003
4131
|
key: 1,
|
|
4004
4132
|
class: "tpl:relative tpl:inline-block",
|
|
4005
4133
|
style: L(s.value)
|
|
@@ -4007,31 +4135,31 @@ var Ro = ["src", "alt"], zo = {
|
|
|
4007
4135
|
class: "tpl:w-full tpl:border-0",
|
|
4008
4136
|
src: a.value,
|
|
4009
4137
|
alt: e.block.alt
|
|
4010
|
-
}, null, 8,
|
|
4138
|
+
}, null, 8, $o), V(Ko)], 4))], 64)) : (f(), k("div", es, [V(j(Fi), {
|
|
4011
4139
|
size: 40,
|
|
4012
4140
|
"stroke-width": 1.5,
|
|
4013
4141
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
4014
4142
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
4015
4143
|
}
|
|
4016
|
-
}),
|
|
4017
|
-
section:
|
|
4018
|
-
title:
|
|
4019
|
-
paragraph:
|
|
4020
|
-
image:
|
|
4021
|
-
button:
|
|
4022
|
-
divider:
|
|
4023
|
-
video:
|
|
4024
|
-
social:
|
|
4025
|
-
menu:
|
|
4026
|
-
table:
|
|
4027
|
-
spacer:
|
|
4028
|
-
html:
|
|
4029
|
-
countdown:
|
|
4144
|
+
}), ns = {
|
|
4145
|
+
section: Eo,
|
|
4146
|
+
title: xo,
|
|
4147
|
+
paragraph: no,
|
|
4148
|
+
image: Ua,
|
|
4149
|
+
button: Br,
|
|
4150
|
+
divider: Ca,
|
|
4151
|
+
video: ts,
|
|
4152
|
+
social: Io,
|
|
4153
|
+
menu: qa,
|
|
4154
|
+
table: Go,
|
|
4155
|
+
spacer: zo,
|
|
4156
|
+
html: Oa,
|
|
4157
|
+
countdown: E(() => import("./CountdownBlock-C1Ikjpn4.js").then((e) => e.n))
|
|
4030
4158
|
};
|
|
4031
|
-
function
|
|
4159
|
+
function rs(e) {
|
|
4032
4160
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
4033
4161
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
4034
|
-
let { resolvedTheme: c } =
|
|
4162
|
+
let { resolvedTheme: c } = wr(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Er({
|
|
4035
4163
|
themeOverrides: u,
|
|
4036
4164
|
resolvedTheme: c,
|
|
4037
4165
|
extraStyles: e.themeExtraStyles
|
|
@@ -4056,13 +4184,13 @@ function Ko(e) {
|
|
|
4056
4184
|
g && (_ = H(f.isNavigating, (e) => {
|
|
4057
4185
|
e ? g.pause() : g.resume();
|
|
4058
4186
|
}));
|
|
4059
|
-
let v =
|
|
4187
|
+
let v = Cr(t, {
|
|
4060
4188
|
t: a,
|
|
4061
4189
|
format: o
|
|
4062
|
-
}), y =
|
|
4063
|
-
if (
|
|
4190
|
+
}), y = Ar();
|
|
4191
|
+
if (Fr(y, ns), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, xa);
|
|
4064
4192
|
function b(e) {
|
|
4065
|
-
for (let t of e) y.registerCustom(t,
|
|
4193
|
+
for (let t of e) y.registerCustom(t, xa);
|
|
4066
4194
|
}
|
|
4067
4195
|
let x = Fn();
|
|
4068
4196
|
if (s() && l(x.dispose), e.containerEl) {
|
|
@@ -4073,7 +4201,7 @@ function Ko(e) {
|
|
|
4073
4201
|
}, { capture: !0 });
|
|
4074
4202
|
}
|
|
4075
4203
|
function S(r) {
|
|
4076
|
-
x.isActive() &&
|
|
4204
|
+
x.isActive() && Lr(r, {
|
|
4077
4205
|
history: f,
|
|
4078
4206
|
selectBlock: (e) => t.selectBlock(e),
|
|
4079
4207
|
getSelectedBlockId: () => t.state.selectedBlockId,
|
|
@@ -4084,19 +4212,19 @@ function Ko(e) {
|
|
|
4084
4212
|
}
|
|
4085
4213
|
q(document, "keydown", S);
|
|
4086
4214
|
let w = C(null);
|
|
4087
|
-
p(
|
|
4088
|
-
let
|
|
4089
|
-
p(Yn, n.mergeTags?.tags ?? []), p(Xn,
|
|
4090
|
-
let
|
|
4215
|
+
p(ur, e.editorRoot ?? document), p(dr, w), p(In, r), p(Ln, t), p(Rn, f), p(zn, m), p(Bn, h), p(Vn, i), p(Hn, d), p(Un, c), p(Wn, n.blockDefaults), p(Gn, y), p(Kn, n.customBlocks ?? []), p(qn, n.paletteBlocks), p(Jn, jr(t.content, y));
|
|
4216
|
+
let T = mt(n.mergeTags?.syntax);
|
|
4217
|
+
p(Yn, n.mergeTags?.tags ?? []), p(Xn, T), p(Zn, n.mergeTags?.onRequest ?? null), p(Qn, n.mergeTags?.autocomplete !== !1), p($n, vr()), p(er, n.logicTags?.tags ?? []), p(tr, n.logicTags?.pairs ?? []), p(rr, n.logicTags?.onRequest ?? null), p(nr, yr()), p(ir, n.onRequestMedia ?? null), p(ar, n.displayConditions?.conditions ?? []), p(or, n.displayConditions?.allowCustom ?? !1), p(sr, e.capabilities ?? {}), p(cr, v);
|
|
4218
|
+
let E = br(n.lint) ? null : xr({
|
|
4091
4219
|
content: t.content,
|
|
4092
4220
|
options: n.lint ?? {},
|
|
4093
4221
|
updateBlock: t.updateBlock,
|
|
4094
4222
|
updateSettings: t.updateSettings,
|
|
4095
4223
|
removeBlock: t.removeBlock
|
|
4096
4224
|
});
|
|
4097
|
-
p(
|
|
4098
|
-
function
|
|
4099
|
-
_?.(),
|
|
4225
|
+
p(lr, E);
|
|
4226
|
+
function ee() {
|
|
4227
|
+
_?.(), E?.destroy(), g?.destroy(), f.destroy();
|
|
4100
4228
|
}
|
|
4101
4229
|
return {
|
|
4102
4230
|
t: a,
|
|
@@ -4110,27 +4238,27 @@ function Ko(e) {
|
|
|
4110
4238
|
themeOverrides: u,
|
|
4111
4239
|
registry: y,
|
|
4112
4240
|
keyboardReorder: v,
|
|
4113
|
-
templateLint:
|
|
4241
|
+
templateLint: E,
|
|
4114
4242
|
popoverRoot: w,
|
|
4115
4243
|
registerCustomBlocks: b,
|
|
4116
|
-
destroy:
|
|
4244
|
+
destroy: ee
|
|
4117
4245
|
};
|
|
4118
4246
|
}
|
|
4119
4247
|
//#endregion
|
|
4120
4248
|
//#region src/composables/usePopoverRoot.ts
|
|
4121
|
-
function
|
|
4122
|
-
return v(
|
|
4249
|
+
function is() {
|
|
4250
|
+
return v(dr, C(null));
|
|
4123
4251
|
}
|
|
4124
4252
|
//#endregion
|
|
4125
4253
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4126
|
-
var
|
|
4254
|
+
var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
4127
4255
|
__name: "TplModal",
|
|
4128
4256
|
props: { visible: { type: Boolean } },
|
|
4129
4257
|
emits: ["close", "keydown"],
|
|
4130
4258
|
setup(e, { emit: t }) {
|
|
4131
4259
|
let n = e, r = t, i = C(null);
|
|
4132
|
-
|
|
4133
|
-
let a = v(Un), s =
|
|
4260
|
+
Ji(i, O(() => n.visible));
|
|
4261
|
+
let a = v(Un), s = is();
|
|
4134
4262
|
function c(e) {
|
|
4135
4263
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4136
4264
|
}
|
|
@@ -4159,11 +4287,11 @@ var Jo = ["data-tpl-theme"], Yo = /* @__PURE__ */ B({
|
|
|
4159
4287
|
}, [I("div", {
|
|
4160
4288
|
ref_key: "dialogRef",
|
|
4161
4289
|
ref: i
|
|
4162
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4290
|
+
}, [o(t.$slots, "default")], 512)], 40, as)) : A("", !0)]),
|
|
4163
4291
|
_: 3
|
|
4164
4292
|
})], 8, ["to"])) : A("", !0);
|
|
4165
4293
|
}
|
|
4166
|
-
}),
|
|
4294
|
+
}), ss = class e {
|
|
4167
4295
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4168
4296
|
accessToken = null;
|
|
4169
4297
|
expiresAt = null;
|
|
@@ -4264,8 +4392,8 @@ var Jo = ["data-tpl-theme"], Yo = /* @__PURE__ */ B({
|
|
|
4264
4392
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4265
4393
|
}
|
|
4266
4394
|
};
|
|
4267
|
-
function
|
|
4268
|
-
return e.mode === "direct" ? new
|
|
4395
|
+
function cs(e, t) {
|
|
4396
|
+
return e.mode === "direct" ? new ss({
|
|
4269
4397
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4270
4398
|
baseUrl: e.baseUrl,
|
|
4271
4399
|
requestOptions: {
|
|
@@ -4279,7 +4407,7 @@ function Zo(e, t) {
|
|
|
4279
4407
|
}
|
|
4280
4408
|
},
|
|
4281
4409
|
onError: t
|
|
4282
|
-
}) : new
|
|
4410
|
+
}) : new ss({
|
|
4283
4411
|
url: e.url,
|
|
4284
4412
|
baseUrl: e.baseUrl,
|
|
4285
4413
|
requestOptions: e.requestOptions,
|
|
@@ -4291,16 +4419,16 @@ function Zo(e, t) {
|
|
|
4291
4419
|
function Z(e, t) {
|
|
4292
4420
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4293
4421
|
}
|
|
4294
|
-
var
|
|
4422
|
+
var ls = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${ls}/templates/{template}`, us = `${Q}/ai`, ds = `${ls}/media`, fs = `${ds}/folders`, ps = `${ls}/saved-modules`, $ = {
|
|
4295
4423
|
health: "/api/v1/health",
|
|
4296
|
-
"projects.config": `${
|
|
4297
|
-
"broadcasting.auth": `${
|
|
4298
|
-
"templates.store": `${
|
|
4424
|
+
"projects.config": `${ls}/config`,
|
|
4425
|
+
"broadcasting.auth": `${ls}/broadcasting/auth`,
|
|
4426
|
+
"templates.store": `${ls}/templates`,
|
|
4299
4427
|
"templates.show": `${Q}`,
|
|
4300
4428
|
"templates.update": `${Q}`,
|
|
4301
4429
|
"templates.destroy": `${Q}`,
|
|
4302
4430
|
"templates.export": `${Q}/export`,
|
|
4303
|
-
"templates.importFromBeefree": `${
|
|
4431
|
+
"templates.importFromBeefree": `${ls}/templates/import/from-beefree`,
|
|
4304
4432
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4305
4433
|
"snapshots.index": `${Q}/snapshots`,
|
|
4306
4434
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4311,31 +4439,31 @@ var Qo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Qo}/templates/{te
|
|
|
4311
4439
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4312
4440
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4313
4441
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4314
|
-
"ai.generate": `${
|
|
4315
|
-
"ai.conversationMessages": `${
|
|
4316
|
-
"ai.suggestions": `${
|
|
4317
|
-
"ai.rewriteText": `${
|
|
4318
|
-
"ai.score": `${
|
|
4319
|
-
"ai.fixFinding": `${
|
|
4320
|
-
"ai.generateFromDesign": `${
|
|
4321
|
-
"media.upload": `${
|
|
4322
|
-
"media.browse": `${
|
|
4323
|
-
"media.delete": `${
|
|
4324
|
-
"media.move": `${
|
|
4325
|
-
"media.update": `${
|
|
4326
|
-
"media.replace": `${
|
|
4327
|
-
"media.checkUsage": `${
|
|
4328
|
-
"media.frequentlyUsed": `${
|
|
4329
|
-
"media.importFromUrl": `${
|
|
4330
|
-
"folders.index": `${
|
|
4331
|
-
"folders.store": `${
|
|
4332
|
-
"folders.update": `${
|
|
4333
|
-
"folders.destroy": `${
|
|
4334
|
-
"savedModules.index": `${
|
|
4335
|
-
"savedModules.store": `${
|
|
4336
|
-
"savedModules.update": `${
|
|
4337
|
-
"savedModules.destroy": `${
|
|
4338
|
-
},
|
|
4442
|
+
"ai.generate": `${us}/generate`,
|
|
4443
|
+
"ai.conversationMessages": `${us}/conversation-messages`,
|
|
4444
|
+
"ai.suggestions": `${us}/suggestions`,
|
|
4445
|
+
"ai.rewriteText": `${us}/rewrite-text`,
|
|
4446
|
+
"ai.score": `${us}/score`,
|
|
4447
|
+
"ai.fixFinding": `${us}/fix-finding`,
|
|
4448
|
+
"ai.generateFromDesign": `${us}/generate-from-design`,
|
|
4449
|
+
"media.upload": `${ds}/upload`,
|
|
4450
|
+
"media.browse": `${ds}/browse`,
|
|
4451
|
+
"media.delete": `${ds}/delete`,
|
|
4452
|
+
"media.move": `${ds}/move`,
|
|
4453
|
+
"media.update": `${ds}/{media}`,
|
|
4454
|
+
"media.replace": `${ds}/{media}/replace`,
|
|
4455
|
+
"media.checkUsage": `${ds}/check-usage`,
|
|
4456
|
+
"media.frequentlyUsed": `${ds}/frequently-used`,
|
|
4457
|
+
"media.importFromUrl": `${ds}/import-from-url`,
|
|
4458
|
+
"folders.index": `${fs}`,
|
|
4459
|
+
"folders.store": `${fs}`,
|
|
4460
|
+
"folders.update": `${fs}/{mediaFolder}`,
|
|
4461
|
+
"folders.destroy": `${fs}/{mediaFolder}`,
|
|
4462
|
+
"savedModules.index": `${ps}`,
|
|
4463
|
+
"savedModules.store": `${ps}`,
|
|
4464
|
+
"savedModules.update": `${ps}/{savedModule}`,
|
|
4465
|
+
"savedModules.destroy": `${ps}/{savedModule}`
|
|
4466
|
+
}, ms = class {
|
|
4339
4467
|
authManager;
|
|
4340
4468
|
constructor(e) {
|
|
4341
4469
|
this.authManager = e;
|
|
@@ -4521,14 +4649,14 @@ var Qo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Qo}/templates/{te
|
|
|
4521
4649
|
};
|
|
4522
4650
|
//#endregion
|
|
4523
4651
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4524
|
-
function
|
|
4652
|
+
function hs(e) {
|
|
4525
4653
|
return {
|
|
4526
4654
|
host: e.host,
|
|
4527
4655
|
port: e.port,
|
|
4528
4656
|
appKey: e.app_key
|
|
4529
4657
|
};
|
|
4530
4658
|
}
|
|
4531
|
-
var
|
|
4659
|
+
var gs = class {
|
|
4532
4660
|
pusher = null;
|
|
4533
4661
|
authManager;
|
|
4534
4662
|
config;
|
|
@@ -4540,7 +4668,7 @@ var as = class {
|
|
|
4540
4668
|
if (this.pusher) return;
|
|
4541
4669
|
let e;
|
|
4542
4670
|
try {
|
|
4543
|
-
({default: e} = await import("./pusher-
|
|
4671
|
+
({default: e} = await import("./pusher-CdEqyLwF.js").then((e) => /* @__PURE__ */ t(e.t(), 1)));
|
|
4544
4672
|
} catch {
|
|
4545
4673
|
throw Error("Cloud features require the optional peer dependency 'pusher-js'. Install it with: npm install pusher-js");
|
|
4546
4674
|
}
|
|
@@ -4595,7 +4723,7 @@ var as = class {
|
|
|
4595
4723
|
};
|
|
4596
4724
|
//#endregion
|
|
4597
4725
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4598
|
-
function
|
|
4726
|
+
function _s(e, t) {
|
|
4599
4727
|
let { operation: n, data: r } = t;
|
|
4600
4728
|
switch (n) {
|
|
4601
4729
|
case "add_block":
|
|
@@ -4623,11 +4751,11 @@ function os(e, t) {
|
|
|
4623
4751
|
}
|
|
4624
4752
|
//#endregion
|
|
4625
4753
|
//#region ../core/src/cloud/editor.ts
|
|
4626
|
-
function
|
|
4754
|
+
function vs(e) {
|
|
4627
4755
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4628
4756
|
}
|
|
4629
|
-
function
|
|
4630
|
-
let t = new
|
|
4757
|
+
function ys(e) {
|
|
4758
|
+
let t = new ms(e.authManager), n = S({
|
|
4631
4759
|
template: null,
|
|
4632
4760
|
content: We(e.defaultFontFamily, e.templateDefaults),
|
|
4633
4761
|
selectedBlockId: null,
|
|
@@ -4733,7 +4861,7 @@ function cs(e) {
|
|
|
4733
4861
|
let l;
|
|
4734
4862
|
if (r) {
|
|
4735
4863
|
let e = o(n.content.blocks, r);
|
|
4736
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
4864
|
+
if (!e || e.type !== "section" || i < 0 || i >= vs(e.columns)) return;
|
|
4737
4865
|
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4738
4866
|
} else l = n.content.blocks;
|
|
4739
4867
|
let [u] = a.blocks.splice(c, 1);
|
|
@@ -4774,17 +4902,17 @@ function cs(e) {
|
|
|
4774
4902
|
n.isSaving = !1;
|
|
4775
4903
|
}
|
|
4776
4904
|
}
|
|
4777
|
-
async function
|
|
4905
|
+
async function T() {
|
|
4778
4906
|
if (n.template?.id) try {
|
|
4779
4907
|
await t.createSnapshot(n.template.id, n.content);
|
|
4780
4908
|
} catch (t) {
|
|
4781
4909
|
throw e.onError?.(t), t;
|
|
4782
4910
|
}
|
|
4783
4911
|
}
|
|
4784
|
-
function
|
|
4912
|
+
function E() {
|
|
4785
4913
|
return n.template?.id !== void 0;
|
|
4786
4914
|
}
|
|
4787
|
-
function
|
|
4915
|
+
function ee() {
|
|
4788
4916
|
n.isDirty = !0;
|
|
4789
4917
|
}
|
|
4790
4918
|
function D(e) {
|
|
@@ -4818,18 +4946,18 @@ function cs(e) {
|
|
|
4818
4946
|
create: b,
|
|
4819
4947
|
load: C,
|
|
4820
4948
|
save: w,
|
|
4821
|
-
createSnapshot:
|
|
4822
|
-
hasTemplate:
|
|
4823
|
-
markDirty:
|
|
4949
|
+
createSnapshot: T,
|
|
4950
|
+
hasTemplate: E,
|
|
4951
|
+
markDirty: ee
|
|
4824
4952
|
};
|
|
4825
4953
|
}
|
|
4826
4954
|
//#endregion
|
|
4827
4955
|
//#region ../core/src/cloud/ai-chat.ts
|
|
4828
|
-
var
|
|
4829
|
-
function
|
|
4830
|
-
return `msg_${Date.now()}_${++
|
|
4956
|
+
var bs = 0;
|
|
4957
|
+
function xs() {
|
|
4958
|
+
return `msg_${Date.now()}_${++bs}`;
|
|
4831
4959
|
}
|
|
4832
|
-
function
|
|
4960
|
+
function Ss(e) {
|
|
4833
4961
|
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);
|
|
4834
4962
|
function _(e, t) {
|
|
4835
4963
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -4923,14 +5051,14 @@ function ds(e) {
|
|
|
4923
5051
|
let v = n();
|
|
4924
5052
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
4925
5053
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
4926
|
-
let y =
|
|
5054
|
+
let y = xs();
|
|
4927
5055
|
a.value = [...a.value, {
|
|
4928
5056
|
id: y,
|
|
4929
5057
|
role: "user",
|
|
4930
5058
|
content: e,
|
|
4931
5059
|
timestamp: Date.now()
|
|
4932
5060
|
}];
|
|
4933
|
-
let b =
|
|
5061
|
+
let b = xs();
|
|
4934
5062
|
a.value = [...a.value, {
|
|
4935
5063
|
id: b,
|
|
4936
5064
|
role: "assistant",
|
|
@@ -5021,7 +5149,7 @@ function ds(e) {
|
|
|
5021
5149
|
}
|
|
5022
5150
|
//#endregion
|
|
5023
5151
|
//#region ../core/src/cloud/ai-config.ts
|
|
5024
|
-
function
|
|
5152
|
+
function Cs(e) {
|
|
5025
5153
|
function t(t) {
|
|
5026
5154
|
return e === !1 ? !1 : e?.[t] !== !1;
|
|
5027
5155
|
}
|
|
@@ -5032,7 +5160,7 @@ function fs(e) {
|
|
|
5032
5160
|
}
|
|
5033
5161
|
//#endregion
|
|
5034
5162
|
//#region ../core/src/cloud/template-scoring.ts
|
|
5035
|
-
function
|
|
5163
|
+
function ws(e) {
|
|
5036
5164
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
5037
5165
|
async function l(e, o) {
|
|
5038
5166
|
let s = n();
|
|
@@ -5177,7 +5305,7 @@ function ps(e) {
|
|
|
5177
5305
|
}
|
|
5178
5306
|
//#endregion
|
|
5179
5307
|
//#region ../core/src/cloud/design-reference.ts
|
|
5180
|
-
function
|
|
5308
|
+
function Ts(e) {
|
|
5181
5309
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5182
5310
|
async function s(e) {
|
|
5183
5311
|
let s = n();
|
|
@@ -5240,8 +5368,8 @@ function ms(e) {
|
|
|
5240
5368
|
}
|
|
5241
5369
|
//#endregion
|
|
5242
5370
|
//#region ../core/src/cloud/comments.ts
|
|
5243
|
-
function
|
|
5244
|
-
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new
|
|
5371
|
+
function Es(e) {
|
|
5372
|
+
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new ms(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
|
|
5245
5373
|
let e = 0;
|
|
5246
5374
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5247
5375
|
return e;
|
|
@@ -5367,17 +5495,17 @@ function hs(e) {
|
|
|
5367
5495
|
u.value = !1;
|
|
5368
5496
|
}
|
|
5369
5497
|
}
|
|
5370
|
-
function
|
|
5498
|
+
function T(e) {
|
|
5371
5499
|
if (e.parent_id) {
|
|
5372
5500
|
let t = v(e.parent_id);
|
|
5373
5501
|
t && (t.replies = [...t.replies ?? [], e]);
|
|
5374
5502
|
} else c.value = [...c.value, e];
|
|
5375
5503
|
_("created", e);
|
|
5376
5504
|
}
|
|
5377
|
-
function
|
|
5505
|
+
function E(e) {
|
|
5378
5506
|
D(e.id, e), _("updated", e);
|
|
5379
5507
|
}
|
|
5380
|
-
function
|
|
5508
|
+
function ee(e, t) {
|
|
5381
5509
|
let n = v(e), r = n ? {
|
|
5382
5510
|
...n,
|
|
5383
5511
|
replies: [...n.replies ?? []]
|
|
@@ -5433,24 +5561,24 @@ function hs(e) {
|
|
|
5433
5561
|
editComment: x,
|
|
5434
5562
|
removeComment: S,
|
|
5435
5563
|
toggleResolve: w,
|
|
5436
|
-
applyRemoteCreate:
|
|
5437
|
-
applyRemoteUpdate:
|
|
5438
|
-
applyRemoteDelete:
|
|
5564
|
+
applyRemoteCreate: T,
|
|
5565
|
+
applyRemoteUpdate: E,
|
|
5566
|
+
applyRemoteDelete: ee
|
|
5439
5567
|
};
|
|
5440
5568
|
}
|
|
5441
5569
|
//#endregion
|
|
5442
5570
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5443
|
-
function
|
|
5571
|
+
function Ds(e) {
|
|
5444
5572
|
let { comments: t, channel: n } = e;
|
|
5445
5573
|
H(n, (e, n) => {
|
|
5446
5574
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5447
|
-
|
|
5575
|
+
Os(t, e);
|
|
5448
5576
|
});
|
|
5449
5577
|
}), l(() => {
|
|
5450
5578
|
n.value?.unbind("comment-broadcast");
|
|
5451
5579
|
});
|
|
5452
5580
|
}
|
|
5453
|
-
function
|
|
5581
|
+
function Os(e, t) {
|
|
5454
5582
|
switch (t.action) {
|
|
5455
5583
|
case "comment_created":
|
|
5456
5584
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5469,7 +5597,7 @@ function _s(e, t) {
|
|
|
5469
5597
|
}
|
|
5470
5598
|
//#endregion
|
|
5471
5599
|
//#region ../core/src/cloud/collaboration.ts
|
|
5472
|
-
var
|
|
5600
|
+
var ks = [
|
|
5473
5601
|
"pusher:member_added",
|
|
5474
5602
|
"pusher:member_removed",
|
|
5475
5603
|
"client-block_locked",
|
|
@@ -5477,10 +5605,10 @@ var vs = [
|
|
|
5477
5605
|
"client-operation",
|
|
5478
5606
|
"mcp-operation"
|
|
5479
5607
|
];
|
|
5480
|
-
function
|
|
5481
|
-
for (let t of
|
|
5608
|
+
function As(e) {
|
|
5609
|
+
for (let t of ks) e.unbind(t);
|
|
5482
5610
|
}
|
|
5483
|
-
var
|
|
5611
|
+
var js = [
|
|
5484
5612
|
"#3b82f6",
|
|
5485
5613
|
"#ef4444",
|
|
5486
5614
|
"#10b981",
|
|
@@ -5492,10 +5620,10 @@ var bs = [
|
|
|
5492
5620
|
"#6366f1",
|
|
5493
5621
|
"#14b8a6"
|
|
5494
5622
|
];
|
|
5495
|
-
function
|
|
5623
|
+
function Ms(e) {
|
|
5496
5624
|
let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
|
|
5497
5625
|
function u() {
|
|
5498
|
-
let e =
|
|
5626
|
+
let e = js[o % js.length];
|
|
5499
5627
|
return o++, e;
|
|
5500
5628
|
}
|
|
5501
5629
|
function d(e) {
|
|
@@ -5537,7 +5665,7 @@ function xs(e) {
|
|
|
5537
5665
|
function h(e) {
|
|
5538
5666
|
s = !0;
|
|
5539
5667
|
try {
|
|
5540
|
-
|
|
5668
|
+
_s(n, e);
|
|
5541
5669
|
} finally {
|
|
5542
5670
|
s = !1;
|
|
5543
5671
|
}
|
|
@@ -5557,7 +5685,7 @@ function xs(e) {
|
|
|
5557
5685
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5558
5686
|
s || (t && v(t), e && _(e));
|
|
5559
5687
|
}), H(r, (t, n) => {
|
|
5560
|
-
if (n &&
|
|
5688
|
+
if (n && As(n), !t) {
|
|
5561
5689
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5562
5690
|
return;
|
|
5563
5691
|
}
|
|
@@ -5589,7 +5717,7 @@ function xs(e) {
|
|
|
5589
5717
|
h(e);
|
|
5590
5718
|
});
|
|
5591
5719
|
}), l(() => {
|
|
5592
|
-
r.value &&
|
|
5720
|
+
r.value && As(r.value);
|
|
5593
5721
|
}), {
|
|
5594
5722
|
collaborators: i,
|
|
5595
5723
|
lockedBlocks: a,
|
|
@@ -5599,7 +5727,7 @@ function xs(e) {
|
|
|
5599
5727
|
}
|
|
5600
5728
|
//#endregion
|
|
5601
5729
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5602
|
-
function
|
|
5730
|
+
function Ns(e, t) {
|
|
5603
5731
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5604
5732
|
e.addBlock = (e, r, i, a) => {
|
|
5605
5733
|
n(e, r, i, a), t._broadcastOperation({
|
|
@@ -5654,11 +5782,11 @@ function Ss(e, t) {
|
|
|
5654
5782
|
}
|
|
5655
5783
|
//#endregion
|
|
5656
5784
|
//#region ../core/src/cloud/web-socket.ts
|
|
5657
|
-
function
|
|
5785
|
+
function Ps(e) {
|
|
5658
5786
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5659
5787
|
async function s(e, s) {
|
|
5660
5788
|
if (a) return;
|
|
5661
|
-
a = new
|
|
5789
|
+
a = new gs({
|
|
5662
5790
|
authManager: t,
|
|
5663
5791
|
config: s,
|
|
5664
5792
|
onError: n
|
|
@@ -5686,8 +5814,8 @@ function Cs(e) {
|
|
|
5686
5814
|
}
|
|
5687
5815
|
//#endregion
|
|
5688
5816
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5689
|
-
function
|
|
5690
|
-
let t = new
|
|
5817
|
+
function Fs(e) {
|
|
5818
|
+
let t = new ms(e.authManager), n = C([]), r = C(!1);
|
|
5691
5819
|
async function i(i) {
|
|
5692
5820
|
r.value = !0;
|
|
5693
5821
|
try {
|
|
@@ -5735,8 +5863,8 @@ function ws(e) {
|
|
|
5735
5863
|
}
|
|
5736
5864
|
//#endregion
|
|
5737
5865
|
//#region ../core/src/cloud/snapshots.ts
|
|
5738
|
-
function
|
|
5739
|
-
let t = new
|
|
5866
|
+
function Is(e) {
|
|
5867
|
+
let t = new ms(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5740
5868
|
async function a() {
|
|
5741
5869
|
r.value = !0;
|
|
5742
5870
|
try {
|
|
@@ -5768,8 +5896,8 @@ function Ts(e) {
|
|
|
5768
5896
|
}
|
|
5769
5897
|
//#endregion
|
|
5770
5898
|
//#region ../core/src/cloud/test-email.ts
|
|
5771
|
-
function
|
|
5772
|
-
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new
|
|
5899
|
+
function Ls(e) {
|
|
5900
|
+
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new ms(t), l = C(!1), u = C(null), d = C(null);
|
|
5773
5901
|
o && H(o, (e) => {
|
|
5774
5902
|
e && (d.value = t.testEmailConfig);
|
|
5775
5903
|
}, { immediate: !0 });
|
|
@@ -5805,8 +5933,8 @@ function Es(e) {
|
|
|
5805
5933
|
}
|
|
5806
5934
|
//#endregion
|
|
5807
5935
|
//#region ../core/src/cloud/export.ts
|
|
5808
|
-
function
|
|
5809
|
-
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new
|
|
5936
|
+
function Rs(e) {
|
|
5937
|
+
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new ms(t);
|
|
5810
5938
|
function a() {
|
|
5811
5939
|
let e = n?.();
|
|
5812
5940
|
return {
|
|
@@ -5832,8 +5960,8 @@ function Ds(e) {
|
|
|
5832
5960
|
}
|
|
5833
5961
|
//#endregion
|
|
5834
5962
|
//#region ../core/src/cloud/plan-config.ts
|
|
5835
|
-
function
|
|
5836
|
-
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new
|
|
5963
|
+
function zs(e) {
|
|
5964
|
+
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new ms(t), o = O(() => r.value?.features ?? null);
|
|
5837
5965
|
function s(e) {
|
|
5838
5966
|
return r.value?.features[e] ?? !1;
|
|
5839
5967
|
}
|
|
@@ -5859,11 +5987,11 @@ function Os(e) {
|
|
|
5859
5987
|
}
|
|
5860
5988
|
//#endregion
|
|
5861
5989
|
//#region ../core/src/cloud/health-check.ts
|
|
5862
|
-
var
|
|
5863
|
-
function
|
|
5990
|
+
var Bs = 5e3;
|
|
5991
|
+
function Vs(e) {
|
|
5864
5992
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
5865
5993
|
}
|
|
5866
|
-
async function
|
|
5994
|
+
async function Hs(e, t) {
|
|
5867
5995
|
let n = performance.now();
|
|
5868
5996
|
try {
|
|
5869
5997
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -5915,7 +6043,7 @@ async function js(e, t) {
|
|
|
5915
6043
|
};
|
|
5916
6044
|
}
|
|
5917
6045
|
}
|
|
5918
|
-
async function
|
|
6046
|
+
async function Us(e) {
|
|
5919
6047
|
if (!e?.host || !e?.app_key) return {
|
|
5920
6048
|
ok: !1,
|
|
5921
6049
|
error: "WebSocket configuration not available"
|
|
@@ -5931,7 +6059,7 @@ async function Ms(e) {
|
|
|
5931
6059
|
ok: !1,
|
|
5932
6060
|
error: "WebSocket connection timed out"
|
|
5933
6061
|
});
|
|
5934
|
-
},
|
|
6062
|
+
}, Bs);
|
|
5935
6063
|
try {
|
|
5936
6064
|
n = new WebSocket(t);
|
|
5937
6065
|
} catch (t) {
|
|
@@ -5951,8 +6079,8 @@ async function Ms(e) {
|
|
|
5951
6079
|
};
|
|
5952
6080
|
});
|
|
5953
6081
|
}
|
|
5954
|
-
async function
|
|
5955
|
-
let t = await
|
|
6082
|
+
async function Ws(e = {}) {
|
|
6083
|
+
let t = await Hs(Vs(e), e.authManager), n = await Us(t.wsConfig);
|
|
5956
6084
|
return {
|
|
5957
6085
|
api: t.api,
|
|
5958
6086
|
websocket: n,
|
|
@@ -5962,29 +6090,29 @@ async function Ns(e = {}) {
|
|
|
5962
6090
|
}
|
|
5963
6091
|
//#endregion
|
|
5964
6092
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
5965
|
-
function
|
|
6093
|
+
function Gs(e) {
|
|
5966
6094
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
5967
6095
|
H(n, (e, n) => {
|
|
5968
6096
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
5969
|
-
|
|
6097
|
+
_s(t, e), r?.(e);
|
|
5970
6098
|
});
|
|
5971
6099
|
});
|
|
5972
6100
|
}
|
|
5973
6101
|
//#endregion
|
|
5974
6102
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5975
|
-
var
|
|
6103
|
+
var Ks = {
|
|
5976
6104
|
key: 0,
|
|
5977
6105
|
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)]"
|
|
5978
|
-
},
|
|
6106
|
+
}, qs = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Js = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Ys = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Xs = ["title"], Zs = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Qs = {
|
|
5979
6107
|
key: 0,
|
|
5980
6108
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5981
|
-
},
|
|
6109
|
+
}, $s = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ec = {
|
|
5982
6110
|
key: 1,
|
|
5983
6111
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5984
|
-
},
|
|
6112
|
+
}, tc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, nc = {
|
|
5985
6113
|
key: 2,
|
|
5986
6114
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
5987
|
-
},
|
|
6115
|
+
}, rc = {
|
|
5988
6116
|
key: 0,
|
|
5989
6117
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
5990
6118
|
style: {
|
|
@@ -5993,10 +6121,10 @@ var Fs = {
|
|
|
5993
6121
|
"max-width": "85%",
|
|
5994
6122
|
"box-shadow": "var(--tpl-shadow)"
|
|
5995
6123
|
}
|
|
5996
|
-
},
|
|
6124
|
+
}, ic = {
|
|
5997
6125
|
key: 1,
|
|
5998
6126
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
5999
|
-
},
|
|
6127
|
+
}, ac = {
|
|
6000
6128
|
key: 1,
|
|
6001
6129
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
6002
6130
|
style: {
|
|
@@ -6005,21 +6133,21 @@ var Fs = {
|
|
|
6005
6133
|
color: "var(--tpl-text)",
|
|
6006
6134
|
"box-shadow": "var(--tpl-shadow)"
|
|
6007
6135
|
}
|
|
6008
|
-
},
|
|
6136
|
+
}, oc = {
|
|
6009
6137
|
key: 0,
|
|
6010
6138
|
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",
|
|
6011
6139
|
style: {
|
|
6012
6140
|
"background-color": "var(--tpl-danger-light)",
|
|
6013
6141
|
color: "var(--tpl-danger)"
|
|
6014
6142
|
}
|
|
6015
|
-
},
|
|
6143
|
+
}, sc = {
|
|
6016
6144
|
key: 1,
|
|
6017
6145
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
6018
6146
|
style: {
|
|
6019
6147
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
6020
6148
|
"backdrop-filter": "blur(2px)"
|
|
6021
6149
|
}
|
|
6022
|
-
},
|
|
6150
|
+
}, cc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, lc = ["onClick"], uc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, dc = { 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)]" }, fc = ["placeholder", "disabled"], pc = ["disabled"], mc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, hc = /*@__PURE__*/ B({
|
|
6023
6151
|
__name: "AiChatSidebar",
|
|
6024
6152
|
props: {
|
|
6025
6153
|
visible: { type: Boolean },
|
|
@@ -6027,7 +6155,7 @@ var Fs = {
|
|
|
6027
6155
|
},
|
|
6028
6156
|
emits: ["close"],
|
|
6029
6157
|
setup(e, { emit: t }) {
|
|
6030
|
-
let n = e, r = t, i = J(
|
|
6158
|
+
let n = e, r = t, i = J(_r, "AiChatSidebar"), a = J(Ln, "AiChatSidebar"), o = J(fr, "AiChatSidebar"), s = v(Yn, []), l = ka(), u = Ss({
|
|
6031
6159
|
authManager: o,
|
|
6032
6160
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6033
6161
|
onApply: n.onApply,
|
|
@@ -6053,18 +6181,18 @@ var Fs = {
|
|
|
6053
6181
|
(u.messages.value?.length ?? 0) === 0 && a.content.value.blocks.length === 0 && u.loadSuggestions(a.content.value, s);
|
|
6054
6182
|
}
|
|
6055
6183
|
});
|
|
6056
|
-
async function
|
|
6184
|
+
async function T() {
|
|
6057
6185
|
let e = d.value.trim();
|
|
6058
6186
|
!e || u.isGenerating.value || (d.value = "", u.error.value = null, u.failedPrompt.value = null, w(), await u.sendPrompt(e, a.content.value, s), l.alive && (u.failedPrompt.value && (d.value = u.failedPrompt.value), w()));
|
|
6059
6187
|
}
|
|
6060
|
-
function
|
|
6188
|
+
function E(e) {
|
|
6061
6189
|
return e.replace(/```json[\s\S]*?```/g, "").replace(/```json[\s\S]*/g, "").trim();
|
|
6062
6190
|
}
|
|
6063
|
-
function
|
|
6064
|
-
y(), d.value = e,
|
|
6191
|
+
function ee(e) {
|
|
6192
|
+
y(), d.value = e, T();
|
|
6065
6193
|
}
|
|
6066
6194
|
function te(e) {
|
|
6067
|
-
e.key === "Enter" && !e.shiftKey && (e.preventDefault(),
|
|
6195
|
+
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), T());
|
|
6068
6196
|
}
|
|
6069
6197
|
return (t, n) => (f(), N(ie, {
|
|
6070
6198
|
"enter-active-class": "tpl-ai-slide-enter-active",
|
|
@@ -6074,42 +6202,42 @@ var Fs = {
|
|
|
6074
6202
|
"leave-from-class": "tpl:translate-x-0",
|
|
6075
6203
|
"leave-to-class": "tpl:translate-x-full"
|
|
6076
6204
|
}, {
|
|
6077
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6078
|
-
I("div",
|
|
6205
|
+
default: b(() => [e.visible ? (f(), k("div", Ks, [
|
|
6206
|
+
I("div", qs, [I("div", Js, [V(j(ki), {
|
|
6079
6207
|
size: 13,
|
|
6080
6208
|
"stroke-width": 2
|
|
6081
|
-
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div",
|
|
6209
|
+
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div", Ys, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6082
6210
|
key: 0,
|
|
6083
6211
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6084
6212
|
title: j(i).aiChat.clear,
|
|
6085
6213
|
onClick: n[0] ||= (e) => j(u).clearChat()
|
|
6086
|
-
}, [V(j(
|
|
6214
|
+
}, [V(j(ji), {
|
|
6087
6215
|
size: 14,
|
|
6088
6216
|
"stroke-width": 2
|
|
6089
|
-
})], 8,
|
|
6217
|
+
})], 8, Xs)) : A("", !0), I("button", {
|
|
6090
6218
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6091
6219
|
onClick: n[1] ||= (e) => r("close")
|
|
6092
|
-
}, [V(j(
|
|
6220
|
+
}, [V(j(Ii), {
|
|
6093
6221
|
size: 14,
|
|
6094
6222
|
"stroke-width": 2
|
|
6095
6223
|
})])])]),
|
|
6096
|
-
I("div",
|
|
6224
|
+
I("div", Zs, [
|
|
6097
6225
|
I("div", {
|
|
6098
6226
|
ref_key: "messagesContainer",
|
|
6099
6227
|
ref: p,
|
|
6100
6228
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6101
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6229
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", Qs, [V(j(_i), {
|
|
6102
6230
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6103
6231
|
size: 24,
|
|
6104
6232
|
"stroke-width": 2
|
|
6105
|
-
}), I("p",
|
|
6233
|
+
}), I("p", $s, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", ec, [V(j(ki), {
|
|
6106
6234
|
size: 32,
|
|
6107
6235
|
"stroke-width": 1.5,
|
|
6108
6236
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6109
|
-
}), I("p",
|
|
6237
|
+
}), I("p", tc, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", nc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
|
|
6110
6238
|
key: e.id,
|
|
6111
6239
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6112
|
-
}, [e.role === "user" ? (f(), k("div",
|
|
6240
|
+
}, [e.role === "user" ? (f(), k("div", rc, D(e.content), 1)) : (f(), k("div", ic, [!E(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Gi, { key: 0 })) : (f(), k("div", ac, D(E(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
|
|
6113
6241
|
key: 2,
|
|
6114
6242
|
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",
|
|
6115
6243
|
style: {
|
|
@@ -6118,19 +6246,19 @@ var Fs = {
|
|
|
6118
6246
|
"background-color": "transparent"
|
|
6119
6247
|
},
|
|
6120
6248
|
onClick: n[2] ||= (e) => j(u).toggleLastRevert()
|
|
6121
|
-
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(
|
|
6249
|
+
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(Si), {
|
|
6122
6250
|
size: 12,
|
|
6123
6251
|
"stroke-width": 2
|
|
6124
|
-
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(
|
|
6252
|
+
}), z(" " + D(j(i).aiChat.reapply), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Ni), {
|
|
6125
6253
|
size: 12,
|
|
6126
6254
|
"stroke-width": 2
|
|
6127
6255
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6128
|
-
j(u).error.value ? (f(), k("div",
|
|
6256
|
+
j(u).error.value ? (f(), k("div", oc, [V(j(ri), {
|
|
6129
6257
|
size: 14,
|
|
6130
6258
|
"stroke-width": 2,
|
|
6131
6259
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6132
6260
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6133
|
-
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div",
|
|
6261
|
+
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", sc, [I("div", cc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
|
|
6134
6262
|
key: t,
|
|
6135
6263
|
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"]),
|
|
6136
6264
|
style: {
|
|
@@ -6139,111 +6267,111 @@ var Fs = {
|
|
|
6139
6267
|
"background-color": "var(--tpl-bg)",
|
|
6140
6268
|
"box-shadow": "var(--tpl-shadow)"
|
|
6141
6269
|
},
|
|
6142
|
-
onClick: (t) =>
|
|
6143
|
-
}, D(e), 11,
|
|
6270
|
+
onClick: (t) => ee(e)
|
|
6271
|
+
}, D(e), 11, lc))), 128))])])) : A("", !0)
|
|
6144
6272
|
]),
|
|
6145
|
-
I("div",
|
|
6273
|
+
I("div", uc, [I("div", dc, [c(I("textarea", {
|
|
6146
6274
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6147
6275
|
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)]",
|
|
6148
6276
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6149
6277
|
disabled: j(u).isGenerating.value,
|
|
6150
6278
|
rows: "3",
|
|
6151
6279
|
onKeydown: te
|
|
6152
|
-
}, null, 40,
|
|
6280
|
+
}, null, 40, fc), [[ae, d.value]]), I("button", {
|
|
6153
6281
|
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)]",
|
|
6154
6282
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6155
|
-
onClick:
|
|
6156
|
-
}, [V(j(
|
|
6283
|
+
onClick: T
|
|
6284
|
+
}, [V(j(Ti), {
|
|
6157
6285
|
size: 16,
|
|
6158
6286
|
"stroke-width": 2
|
|
6159
|
-
})], 8,
|
|
6287
|
+
})], 8, pc)]), I("p", mc, D(j(i).aiMenu.disclaimer), 1)])
|
|
6160
6288
|
])) : A("", !0)]),
|
|
6161
6289
|
_: 1
|
|
6162
6290
|
}));
|
|
6163
6291
|
}
|
|
6164
|
-
}),
|
|
6165
|
-
function
|
|
6292
|
+
}), gc = /* @__PURE__ */ e({ default: () => _c }), _c = /*#__PURE__*/ Vi(hc, [["__scopeId", "data-v-a55e4bff"]]), vc = 6e4, yc = 36e5, bc = 864e5;
|
|
6293
|
+
function xc(e, t, n, r) {
|
|
6166
6294
|
let i = new Date(e).getTime();
|
|
6167
6295
|
if (Number.isNaN(i)) return null;
|
|
6168
6296
|
let a = Date.now() - i;
|
|
6169
6297
|
if (a < -6e4) return null;
|
|
6170
|
-
let o = Math.floor(a /
|
|
6298
|
+
let o = Math.floor(a / vc), s = Math.floor(a / yc), c = Math.floor(a / bc);
|
|
6171
6299
|
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));
|
|
6172
6300
|
}
|
|
6173
6301
|
//#endregion
|
|
6174
6302
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6175
|
-
var
|
|
6303
|
+
var Sc = {
|
|
6176
6304
|
key: 0,
|
|
6177
6305
|
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)]"
|
|
6178
|
-
},
|
|
6306
|
+
}, Cc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, wc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, Tc = {
|
|
6179
6307
|
key: 0,
|
|
6180
6308
|
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)]"
|
|
6181
|
-
},
|
|
6309
|
+
}, Ec = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Dc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Oc = {
|
|
6182
6310
|
key: 0,
|
|
6183
6311
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6184
|
-
},
|
|
6312
|
+
}, kc = {
|
|
6185
6313
|
key: 1,
|
|
6186
6314
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
|
|
6187
|
-
},
|
|
6315
|
+
}, Ac = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, jc = {
|
|
6188
6316
|
key: 2,
|
|
6189
6317
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6190
|
-
},
|
|
6318
|
+
}, Mc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, Nc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Pc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Fc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ic = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Lc = {
|
|
6191
6319
|
key: 0,
|
|
6192
6320
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6193
|
-
},
|
|
6321
|
+
}, Rc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, zc = ["title", "onClick"], Bc = ["title", "onClick"], Vc = ["title", "onClick"], Hc = {
|
|
6194
6322
|
key: 0,
|
|
6195
6323
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6196
|
-
},
|
|
6324
|
+
}, Uc = {
|
|
6197
6325
|
key: 0,
|
|
6198
6326
|
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)]"
|
|
6199
|
-
},
|
|
6327
|
+
}, Wc = ["onClick"], Gc = {
|
|
6200
6328
|
key: 2,
|
|
6201
6329
|
class: "tpl:mt-2"
|
|
6202
|
-
},
|
|
6330
|
+
}, Kc = ["onKeydown"], qc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Jc = ["disabled", "onClick"], Yc = {
|
|
6203
6331
|
key: 3,
|
|
6204
6332
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6205
|
-
},
|
|
6333
|
+
}, Xc = {
|
|
6206
6334
|
key: 4,
|
|
6207
6335
|
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)]"
|
|
6208
|
-
},
|
|
6336
|
+
}, Zc = { class: "tpl:flex-1" }, Qc = ["onClick"], $c = {
|
|
6209
6337
|
key: 5,
|
|
6210
6338
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6211
|
-
},
|
|
6339
|
+
}, el = ["title", "onClick"], tl = ["onClick"], nl = {
|
|
6212
6340
|
key: 0,
|
|
6213
6341
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6214
|
-
},
|
|
6342
|
+
}, rl = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, il = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, al = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ol = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, sl = {
|
|
6215
6343
|
key: 0,
|
|
6216
6344
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6217
|
-
},
|
|
6345
|
+
}, cl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, ll = ["title", "onClick"], ul = ["title", "onClick"], dl = {
|
|
6218
6346
|
key: 0,
|
|
6219
6347
|
class: "tpl:mt-1.5"
|
|
6220
|
-
},
|
|
6348
|
+
}, fl = ["onKeydown"], pl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, ml = ["disabled", "onClick"], hl = {
|
|
6221
6349
|
key: 1,
|
|
6222
6350
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6223
|
-
},
|
|
6351
|
+
}, gl = {
|
|
6224
6352
|
key: 2,
|
|
6225
6353
|
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)]"
|
|
6226
|
-
},
|
|
6354
|
+
}, _l = { class: "tpl:flex-1" }, vl = ["onClick"], yl = {
|
|
6227
6355
|
key: 0,
|
|
6228
6356
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6229
|
-
},
|
|
6357
|
+
}, bl = { class: "tpl:flex tpl:items-end tpl:gap-2" }, xl = ["placeholder", "onKeydown"], Sl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, Cl = ["disabled", "onClick"], wl = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, Tl = {
|
|
6230
6358
|
key: 0,
|
|
6231
6359
|
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)]"
|
|
6232
|
-
},
|
|
6360
|
+
}, El = {
|
|
6233
6361
|
key: 1,
|
|
6234
6362
|
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)]"
|
|
6235
|
-
},
|
|
6363
|
+
}, Dl = ["placeholder", "disabled"], Ol = ["disabled"], kl = /*@__PURE__*/ B({
|
|
6236
6364
|
__name: "CommentsSidebar",
|
|
6237
6365
|
props: { visible: { type: Boolean } },
|
|
6238
6366
|
emits: ["close", "filterBlock"],
|
|
6239
6367
|
setup(e, { expose: t, emit: n }) {
|
|
6240
|
-
let r = e, i = n, { format: a } = Y(), { t: o } =
|
|
6368
|
+
let r = e, i = n, { format: a } = Y(), { t: o } = Zi(), s = J(Ln, "CommentsSidebar"), l = J(fr, "CommentsSidebar"), u = J(mr, "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(() => {
|
|
6241
6369
|
let e = /* @__PURE__ */ new Set();
|
|
6242
6370
|
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);
|
|
6243
6371
|
return e;
|
|
6244
6372
|
});
|
|
6245
6373
|
function te(e) {
|
|
6246
|
-
return e ? !
|
|
6374
|
+
return e ? !ee.value.has(e) : !1;
|
|
6247
6375
|
}
|
|
6248
6376
|
let ne = O(() => d.value !== "block" || !p.value ? !1 : !(s.savedBlockIds?.value.has(p.value) ?? !0)), re = O(() => {
|
|
6249
6377
|
let e = u.comments.value;
|
|
@@ -6302,10 +6430,10 @@ var dc = {
|
|
|
6302
6430
|
await u.toggleResolve(e);
|
|
6303
6431
|
}
|
|
6304
6432
|
function _e(e) {
|
|
6305
|
-
return e.author_identifier ===
|
|
6433
|
+
return e.author_identifier === E.value;
|
|
6306
6434
|
}
|
|
6307
6435
|
function ve(e) {
|
|
6308
|
-
return
|
|
6436
|
+
return xc(e, o.snapshotHistory) ?? e;
|
|
6309
6437
|
}
|
|
6310
6438
|
function ye(e) {
|
|
6311
6439
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6318,7 +6446,7 @@ var dc = {
|
|
|
6318
6446
|
}
|
|
6319
6447
|
function Se() {
|
|
6320
6448
|
m(() => {
|
|
6321
|
-
|
|
6449
|
+
T.value?.focus();
|
|
6322
6450
|
});
|
|
6323
6451
|
}
|
|
6324
6452
|
return t({
|
|
@@ -6332,22 +6460,22 @@ var dc = {
|
|
|
6332
6460
|
"leave-from-class": "tpl:translate-x-0",
|
|
6333
6461
|
"leave-to-class": "tpl:translate-x-full"
|
|
6334
6462
|
}, {
|
|
6335
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6336
|
-
I("div",
|
|
6337
|
-
V(j(
|
|
6463
|
+
default: b(() => [e.visible ? (f(), k("div", Sc, [
|
|
6464
|
+
I("div", Cc, [I("div", wc, [
|
|
6465
|
+
V(j(vi), {
|
|
6338
6466
|
size: 13,
|
|
6339
6467
|
"stroke-width": 2
|
|
6340
6468
|
}),
|
|
6341
6469
|
I("span", null, D(j(o).comments.title), 1),
|
|
6342
|
-
j(u).unresolvedCount.value > 0 ? (f(), k("span",
|
|
6470
|
+
j(u).unresolvedCount.value > 0 ? (f(), k("span", Tc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
|
|
6343
6471
|
]), I("button", {
|
|
6344
6472
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6345
6473
|
onClick: n[0] ||= (e) => i("close")
|
|
6346
|
-
}, [V(j(
|
|
6474
|
+
}, [V(j(Ii), {
|
|
6347
6475
|
size: 14,
|
|
6348
6476
|
"stroke-width": 2
|
|
6349
6477
|
})])]),
|
|
6350
|
-
I("div",
|
|
6478
|
+
I("div", Ec, [
|
|
6351
6479
|
I("button", {
|
|
6352
6480
|
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" : ""]),
|
|
6353
6481
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6362,156 +6490,156 @@ var dc = {
|
|
|
6362
6490
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6363
6491
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6364
6492
|
]),
|
|
6365
|
-
I("div",
|
|
6493
|
+
I("div", Dc, [j(u).isLoading.value ? (f(), k("div", Oc, [V(j(_i), {
|
|
6366
6494
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6367
6495
|
size: 24,
|
|
6368
6496
|
"stroke-width": 2
|
|
6369
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6497
|
+
})])) : re.value.length === 0 ? (f(), k("div", kc, [V(j(vi), {
|
|
6370
6498
|
size: 32,
|
|
6371
6499
|
"stroke-width": 1.5,
|
|
6372
6500
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6373
|
-
}), I("p",
|
|
6501
|
+
}), I("p", Ac, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", jc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
|
|
6374
6502
|
key: e.id,
|
|
6375
6503
|
class: "tpl-comment-thread"
|
|
6376
6504
|
}, [
|
|
6377
|
-
I("div",
|
|
6378
|
-
I("div",
|
|
6379
|
-
I("span",
|
|
6380
|
-
I("span",
|
|
6381
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6382
|
-
]), I("div",
|
|
6505
|
+
I("div", Mc, [
|
|
6506
|
+
I("div", Nc, [I("div", Pc, [
|
|
6507
|
+
I("span", Fc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
|
|
6508
|
+
I("span", Ic, D(ve(e.created_at)), 1),
|
|
6509
|
+
e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Lc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6510
|
+
]), I("div", Rc, [
|
|
6383
6511
|
I("button", {
|
|
6384
6512
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6385
6513
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
6386
6514
|
onClick: (t) => ge(e.id)
|
|
6387
|
-
}, [V(j(
|
|
6515
|
+
}, [V(j(ii), {
|
|
6388
6516
|
size: 13,
|
|
6389
6517
|
"stroke-width": 2,
|
|
6390
6518
|
class: "tpl-resolve-icon",
|
|
6391
6519
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6392
|
-
}, null, 8, ["style"])], 8,
|
|
6520
|
+
}, null, 8, ["style"])], 8, zc),
|
|
6393
6521
|
_e(e) ? (f(), k("button", {
|
|
6394
6522
|
key: 0,
|
|
6395
6523
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6396
6524
|
title: j(o).comments.edit,
|
|
6397
6525
|
onClick: (t) => le(e)
|
|
6398
|
-
}, [V(j(
|
|
6526
|
+
}, [V(j(bi), {
|
|
6399
6527
|
size: 12,
|
|
6400
6528
|
"stroke-width": 2
|
|
6401
|
-
})], 8,
|
|
6529
|
+
})], 8, Bc)) : A("", !0),
|
|
6402
6530
|
_e(e) ? (f(), k("button", {
|
|
6403
6531
|
key: 1,
|
|
6404
6532
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6405
6533
|
title: j(o).comments.delete,
|
|
6406
6534
|
onClick: (t) => ue(e.id)
|
|
6407
|
-
}, [V(j(
|
|
6535
|
+
}, [V(j(ji), {
|
|
6408
6536
|
size: 12,
|
|
6409
6537
|
"stroke-width": 2
|
|
6410
|
-
})], 8,
|
|
6538
|
+
})], 8, Vc)) : A("", !0)
|
|
6411
6539
|
])]),
|
|
6412
6540
|
V(ie, { name: "tpl-resolve" }, {
|
|
6413
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6541
|
+
default: b(() => [e.resolved_at ? (f(), k("div", Hc, [V(j(Qr), {
|
|
6414
6542
|
size: 10,
|
|
6415
6543
|
"stroke-width": 2.5
|
|
6416
6544
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6417
6545
|
_: 2
|
|
6418
6546
|
}, 1024),
|
|
6419
|
-
e.block_id && te(e.block_id) ? (f(), k("span",
|
|
6547
|
+
e.block_id && te(e.block_id) ? (f(), k("span", Uc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
|
|
6420
6548
|
key: 1,
|
|
6421
6549
|
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)]",
|
|
6422
6550
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6423
|
-
}, " Block ", 8,
|
|
6424
|
-
y.value === e.id ? (f(), k("div",
|
|
6551
|
+
}, " Block ", 8, Wc)) : A("", !0),
|
|
6552
|
+
y.value === e.id ? (f(), k("div", Gc, [c(I("textarea", {
|
|
6425
6553
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6426
6554
|
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)]",
|
|
6427
6555
|
rows: "3",
|
|
6428
6556
|
onKeydown: (t) => xe(t, e.id)
|
|
6429
|
-
}, null, 40,
|
|
6557
|
+
}, null, 40, Kc), [[ae, x.value]]), I("div", qc, [I("button", {
|
|
6430
6558
|
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)]",
|
|
6431
6559
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6432
6560
|
onClick: (t) => me(e.id)
|
|
6433
|
-
}, D(j(o).comments.save), 9,
|
|
6561
|
+
}, D(j(o).comments.save), 9, Jc), I("button", {
|
|
6434
6562
|
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)]",
|
|
6435
6563
|
onClick: n[5] ||= (e) => B()
|
|
6436
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6437
|
-
w.value === e.id ? (f(), k("div",
|
|
6438
|
-
I("span",
|
|
6564
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Yc, D(e.body), 1)),
|
|
6565
|
+
w.value === e.id ? (f(), k("div", Xc, [
|
|
6566
|
+
I("span", Zc, D(j(o).comments.deleteConfirm), 1),
|
|
6439
6567
|
I("button", {
|
|
6440
6568
|
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)]",
|
|
6441
6569
|
onClick: (t) => he(e.id)
|
|
6442
|
-
}, D(j(o).comments.delete), 9,
|
|
6570
|
+
}, D(j(o).comments.delete), 9, Qc),
|
|
6443
6571
|
I("button", {
|
|
6444
6572
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6445
6573
|
onClick: n[6] ||= (e) => de()
|
|
6446
6574
|
}, D(j(o).comments.cancel), 1)
|
|
6447
6575
|
])) : A("", !0),
|
|
6448
|
-
y.value !== e.id && w.value !== e.id ? (f(), k("div",
|
|
6576
|
+
y.value !== e.id && w.value !== e.id ? (f(), k("div", $c, [I("button", {
|
|
6449
6577
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6450
6578
|
title: j(o).comments.reply,
|
|
6451
6579
|
onClick: (t) => se(e.id)
|
|
6452
|
-
}, [V(j(
|
|
6580
|
+
}, [V(j(wi), {
|
|
6453
6581
|
size: 13,
|
|
6454
6582
|
"stroke-width": 2,
|
|
6455
6583
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6456
|
-
})], 8,
|
|
6584
|
+
})], 8, el), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6457
6585
|
key: 0,
|
|
6458
6586
|
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)]",
|
|
6459
6587
|
onClick: (t) => oe(e.id)
|
|
6460
|
-
}, [S.value.has(e.id) ? (f(), N(j(
|
|
6588
|
+
}, [S.value.has(e.id) ? (f(), N(j(ni), {
|
|
6461
6589
|
key: 0,
|
|
6462
6590
|
size: 11,
|
|
6463
6591
|
"stroke-width": 2
|
|
6464
|
-
})) : (f(), N(j(
|
|
6592
|
+
})) : (f(), N(j($r), {
|
|
6465
6593
|
key: 1,
|
|
6466
6594
|
size: 11,
|
|
6467
6595
|
"stroke-width": 2
|
|
6468
|
-
})), 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,
|
|
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, tl)) : A("", !0)])) : A("", !0)
|
|
6469
6597
|
]),
|
|
6470
6598
|
V(ie, { name: "tpl-replies" }, {
|
|
6471
|
-
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div",
|
|
6599
|
+
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", nl, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
|
|
6472
6600
|
key: t.id,
|
|
6473
6601
|
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" : ""])
|
|
6474
6602
|
}, [
|
|
6475
|
-
I("div",
|
|
6476
|
-
I("span",
|
|
6477
|
-
I("span",
|
|
6478
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6479
|
-
]), I("div",
|
|
6603
|
+
I("div", rl, [I("div", il, [
|
|
6604
|
+
I("span", al, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
|
|
6605
|
+
I("span", ol, D(ve(t.created_at)), 1),
|
|
6606
|
+
t.updated_at === t.created_at ? A("", !0) : (f(), k("span", sl, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6607
|
+
]), I("div", cl, [_e(t) ? (f(), k("button", {
|
|
6480
6608
|
key: 0,
|
|
6481
6609
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6482
6610
|
title: j(o).comments.edit,
|
|
6483
6611
|
onClick: (e) => le(t)
|
|
6484
|
-
}, [V(j(
|
|
6612
|
+
}, [V(j(bi), {
|
|
6485
6613
|
size: 11,
|
|
6486
6614
|
"stroke-width": 2
|
|
6487
|
-
})], 8,
|
|
6615
|
+
})], 8, ll)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6488
6616
|
key: 1,
|
|
6489
6617
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6490
6618
|
title: j(o).comments.delete,
|
|
6491
6619
|
onClick: (e) => ue(t.id)
|
|
6492
|
-
}, [V(j(
|
|
6620
|
+
}, [V(j(ji), {
|
|
6493
6621
|
size: 11,
|
|
6494
6622
|
"stroke-width": 2
|
|
6495
|
-
})], 8,
|
|
6496
|
-
y.value === t.id ? (f(), k("div",
|
|
6623
|
+
})], 8, ul)) : A("", !0)])]),
|
|
6624
|
+
y.value === t.id ? (f(), k("div", dl, [c(I("textarea", {
|
|
6497
6625
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6498
6626
|
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)]",
|
|
6499
6627
|
rows: "2",
|
|
6500
6628
|
onKeydown: (e) => xe(e, t.id)
|
|
6501
|
-
}, null, 40,
|
|
6629
|
+
}, null, 40, fl), [[ae, x.value]]), I("div", pl, [I("button", {
|
|
6502
6630
|
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)]",
|
|
6503
6631
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6504
6632
|
onClick: (e) => me(t.id)
|
|
6505
|
-
}, D(j(o).comments.save), 9,
|
|
6633
|
+
}, D(j(o).comments.save), 9, ml), I("button", {
|
|
6506
6634
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6507
6635
|
onClick: n[8] ||= (e) => B()
|
|
6508
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6509
|
-
w.value === t.id ? (f(), k("div",
|
|
6510
|
-
I("span",
|
|
6636
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", hl, D(t.body), 1)),
|
|
6637
|
+
w.value === t.id ? (f(), k("div", gl, [
|
|
6638
|
+
I("span", _l, D(j(o).comments.deleteConfirm), 1),
|
|
6511
6639
|
I("button", {
|
|
6512
6640
|
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)]",
|
|
6513
6641
|
onClick: (e) => he(t.id)
|
|
6514
|
-
}, D(j(o).comments.delete), 9,
|
|
6642
|
+
}, D(j(o).comments.delete), 9, vl),
|
|
6515
6643
|
I("button", {
|
|
6516
6644
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6517
6645
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6521,78 +6649,78 @@ var dc = {
|
|
|
6521
6649
|
_: 2
|
|
6522
6650
|
}, 1024),
|
|
6523
6651
|
V(ie, { name: "tpl-replies" }, {
|
|
6524
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6652
|
+
default: b(() => [_.value === e.id ? (f(), k("div", yl, [I("div", bl, [c(I("textarea", {
|
|
6525
6653
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6526
6654
|
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)]",
|
|
6527
6655
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6528
6656
|
rows: "2",
|
|
6529
6657
|
onKeydown: (t) => be(t, e.id)
|
|
6530
|
-
}, null, 40,
|
|
6658
|
+
}, null, 40, xl), [[ae, v.value]]), I("div", Sl, [I("button", {
|
|
6531
6659
|
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)]",
|
|
6532
6660
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6533
6661
|
onClick: (t) => pe(e.id)
|
|
6534
|
-
}, [V(j(
|
|
6662
|
+
}, [V(j(Ti), {
|
|
6535
6663
|
size: 14,
|
|
6536
6664
|
"stroke-width": 2
|
|
6537
|
-
})], 8,
|
|
6665
|
+
})], 8, Cl), I("button", {
|
|
6538
6666
|
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)]",
|
|
6539
6667
|
onClick: n[11] ||= (e) => ce()
|
|
6540
|
-
}, [V(j(
|
|
6668
|
+
}, [V(j(Ii), {
|
|
6541
6669
|
size: 14,
|
|
6542
6670
|
"stroke-width": 2
|
|
6543
6671
|
})])])])])) : A("", !0)]),
|
|
6544
6672
|
_: 2
|
|
6545
6673
|
}, 1024)
|
|
6546
6674
|
]))), 128))]))]),
|
|
6547
|
-
I("div",
|
|
6675
|
+
I("div", wl, [ne.value ? (f(), k("div", Tl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", El, [c(I("textarea", {
|
|
6548
6676
|
ref_key: "newCommentInput",
|
|
6549
|
-
ref:
|
|
6677
|
+
ref: T,
|
|
6550
6678
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
6551
6679
|
class: "tpl:max-h-24 tpl:min-h-[48px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-xs tpl:outline-none tpl:text-[var(--tpl-text)]",
|
|
6552
6680
|
placeholder: j(o).comments.placeholder,
|
|
6553
6681
|
disabled: j(u).isSubmitting.value,
|
|
6554
6682
|
rows: "2",
|
|
6555
6683
|
onKeydown: ye
|
|
6556
|
-
}, null, 40,
|
|
6684
|
+
}, null, 40, Dl), [[ae, g.value]]), I("button", {
|
|
6557
6685
|
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)]",
|
|
6558
6686
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6559
6687
|
onClick: fe
|
|
6560
|
-
}, [j(u).isSubmitting.value ? (f(), N(j(
|
|
6688
|
+
}, [j(u).isSubmitting.value ? (f(), N(j(_i), {
|
|
6561
6689
|
key: 0,
|
|
6562
6690
|
class: "tpl-spinner",
|
|
6563
6691
|
size: 16,
|
|
6564
6692
|
"stroke-width": 2
|
|
6565
|
-
})) : (f(), N(j(
|
|
6693
|
+
})) : (f(), N(j(Ti), {
|
|
6566
6694
|
key: 1,
|
|
6567
6695
|
size: 16,
|
|
6568
6696
|
"stroke-width": 2
|
|
6569
|
-
}))], 8,
|
|
6697
|
+
}))], 8, Ol)]))])
|
|
6570
6698
|
])) : A("", !0)]),
|
|
6571
6699
|
_: 1
|
|
6572
6700
|
}));
|
|
6573
6701
|
}
|
|
6574
|
-
}),
|
|
6702
|
+
}), Al = /* @__PURE__ */ e({ default: () => jl }), jl = /*#__PURE__*/ Vi(kl, [["__scopeId", "data-v-d204f573"]]), Ml = {
|
|
6575
6703
|
key: 0,
|
|
6576
6704
|
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)]"
|
|
6577
|
-
},
|
|
6705
|
+
}, Nl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Pl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Fl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Il = {
|
|
6578
6706
|
key: 0,
|
|
6579
6707
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6580
|
-
},
|
|
6708
|
+
}, Ll = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Rl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, zl = {
|
|
6581
6709
|
key: 1,
|
|
6582
6710
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6583
|
-
},
|
|
6711
|
+
}, Bl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Vl = {
|
|
6584
6712
|
key: 0,
|
|
6585
6713
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6586
|
-
},
|
|
6714
|
+
}, Hl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ul = ["src", "alt"], Wl = {
|
|
6587
6715
|
key: 1,
|
|
6588
6716
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6589
|
-
},
|
|
6717
|
+
}, Gl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Kl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, ql = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Jl = ["accept"], Yl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Xl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Zl = ["placeholder"], Ql = {
|
|
6590
6718
|
key: 0,
|
|
6591
6719
|
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)]"
|
|
6592
|
-
},
|
|
6720
|
+
}, $l = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, eu = { class: "tpl:flex tpl:gap-2" }, tu = {
|
|
6593
6721
|
key: 1,
|
|
6594
6722
|
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)]"
|
|
6595
|
-
},
|
|
6723
|
+
}, nu = ["disabled"], ru = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, iu = /*@__PURE__*/ B({
|
|
6596
6724
|
__name: "DesignReferenceSidebar",
|
|
6597
6725
|
props: {
|
|
6598
6726
|
visible: { type: Boolean },
|
|
@@ -6600,8 +6728,8 @@ var dc = {
|
|
|
6600
6728
|
},
|
|
6601
6729
|
emits: ["close", "apply"],
|
|
6602
6730
|
setup(e, { emit: t }) {
|
|
6603
|
-
let n = e, r = t, { t: i } =
|
|
6604
|
-
authManager: J(
|
|
6731
|
+
let n = e, r = t, { t: i } = Zi(), a = J(Ln, "DesignReferenceSidebar"), o = Ts({
|
|
6732
|
+
authManager: J(fr, "DesignReferenceSidebar"),
|
|
6605
6733
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6606
6734
|
onApply: (e) => r("apply", e)
|
|
6607
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 ? !1 : u.value !== null);
|
|
@@ -6642,12 +6770,12 @@ var dc = {
|
|
|
6642
6770
|
function w() {
|
|
6643
6771
|
h.value = !1;
|
|
6644
6772
|
}
|
|
6645
|
-
function
|
|
6773
|
+
function T(e) {
|
|
6646
6774
|
e.preventDefault(), h.value = !1;
|
|
6647
6775
|
let t = e.dataTransfer?.files?.[0];
|
|
6648
6776
|
t && y(t);
|
|
6649
6777
|
}
|
|
6650
|
-
function
|
|
6778
|
+
function E() {
|
|
6651
6779
|
if (!g.value) return;
|
|
6652
6780
|
if (n.hasExistingBlocks && !m.value) {
|
|
6653
6781
|
m.value = !0;
|
|
@@ -6657,7 +6785,7 @@ var dc = {
|
|
|
6657
6785
|
let e = {};
|
|
6658
6786
|
d.value.trim() && (e.prompt = d.value.trim()), l.value === "image" && u.value ? e.imageUpload = u.value : l.value === "pdf" && u.value && (e.pdfUpload = u.value), o.generate(e);
|
|
6659
6787
|
}
|
|
6660
|
-
function
|
|
6788
|
+
function ee() {
|
|
6661
6789
|
m.value = !1;
|
|
6662
6790
|
}
|
|
6663
6791
|
return H(() => n.visible, (e) => {
|
|
@@ -6672,17 +6800,17 @@ var dc = {
|
|
|
6672
6800
|
"leave-from-class": "tpl:translate-x-0",
|
|
6673
6801
|
"leave-to-class": "tpl:translate-x-full"
|
|
6674
6802
|
}, {
|
|
6675
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6803
|
+
default: b(() => [e.visible ? (f(), k("div", Ml, [I("div", Nl, [I("div", Pl, [V(j(mi), {
|
|
6676
6804
|
size: 13,
|
|
6677
6805
|
"stroke-width": 2
|
|
6678
6806
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
6679
6807
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6680
6808
|
onClick: n[0] ||= (e) => r("close")
|
|
6681
|
-
}, [V(j(
|
|
6809
|
+
}, [V(j(Ii), {
|
|
6682
6810
|
size: 14,
|
|
6683
6811
|
"stroke-width": 2
|
|
6684
|
-
})])]), I("div",
|
|
6685
|
-
I("div",
|
|
6812
|
+
})])]), I("div", Fl, [j(o).isGenerating.value ? (f(), k("div", Il, [I("div", Ll, [V(Gi), I("p", Rl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", zl, [
|
|
6813
|
+
I("div", Bl, [I("button", {
|
|
6686
6814
|
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",
|
|
6687
6815
|
style: L({
|
|
6688
6816
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6705,19 +6833,19 @@ var dc = {
|
|
|
6705
6833
|
size: 12,
|
|
6706
6834
|
"stroke-width": 2
|
|
6707
6835
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6708
|
-
I("div", null, [u.value ? (f(), k("div",
|
|
6836
|
+
I("div", null, [u.value ? (f(), k("div", Vl, [I("div", Hl, [p.value ? (f(), k("img", {
|
|
6709
6837
|
key: 0,
|
|
6710
6838
|
src: p.value,
|
|
6711
6839
|
alt: u.value.name,
|
|
6712
6840
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6713
|
-
}, null, 8,
|
|
6841
|
+
}, null, 8, Ul)) : (f(), k("div", Wl, [V(j(di), {
|
|
6714
6842
|
size: 32,
|
|
6715
6843
|
"stroke-width": 1.5,
|
|
6716
6844
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6717
|
-
}), I("span",
|
|
6845
|
+
}), I("span", Gl, D(u.value.name), 1)])), I("button", {
|
|
6718
6846
|
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)]",
|
|
6719
6847
|
onClick: x
|
|
6720
|
-
}, [V(j(
|
|
6848
|
+
}, [V(j(Ii), {
|
|
6721
6849
|
size: 12,
|
|
6722
6850
|
"stroke-width": 2
|
|
6723
6851
|
})])])])) : (f(), k("div", {
|
|
@@ -6730,15 +6858,15 @@ var dc = {
|
|
|
6730
6858
|
onClick: n[3] ||= (e) => s.value?.click(),
|
|
6731
6859
|
onDragover: S,
|
|
6732
6860
|
onDragleave: w,
|
|
6733
|
-
onDrop:
|
|
6861
|
+
onDrop: T
|
|
6734
6862
|
}, [
|
|
6735
|
-
V(j(
|
|
6863
|
+
V(j(Pi), {
|
|
6736
6864
|
size: 24,
|
|
6737
6865
|
"stroke-width": 1.5,
|
|
6738
6866
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6739
6867
|
}),
|
|
6740
|
-
I("span",
|
|
6741
|
-
I("span",
|
|
6868
|
+
I("span", Kl, D(j(i).designReference.dropHint), 1),
|
|
6869
|
+
I("span", ql, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
|
|
6742
6870
|
], 36)), I("input", {
|
|
6743
6871
|
ref_key: "fileInput",
|
|
6744
6872
|
ref: s,
|
|
@@ -6746,22 +6874,22 @@ var dc = {
|
|
|
6746
6874
|
class: "tpl:hidden",
|
|
6747
6875
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6748
6876
|
onChange: v
|
|
6749
|
-
}, null, 40,
|
|
6750
|
-
I("div",
|
|
6877
|
+
}, null, 40, Jl)]),
|
|
6878
|
+
I("div", Yl, [I("label", Xl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6751
6879
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6752
6880
|
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"]]),
|
|
6753
6881
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6754
6882
|
rows: "3"
|
|
6755
|
-
}, null, 8,
|
|
6756
|
-
m.value ? (f(), k("div",
|
|
6883
|
+
}, null, 8, Zl), [[ae, d.value]])]),
|
|
6884
|
+
m.value ? (f(), k("div", Ql, [I("p", $l, D(j(i).designReference.replaceWarning), 1), I("div", eu, [I("button", {
|
|
6757
6885
|
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)]",
|
|
6758
6886
|
style: { "background-color": "transparent" },
|
|
6759
|
-
onClick:
|
|
6887
|
+
onClick: ee
|
|
6760
6888
|
}, D(j(i).designReference.replaceCancel), 1), I("button", {
|
|
6761
6889
|
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)]",
|
|
6762
|
-
onClick:
|
|
6890
|
+
onClick: E
|
|
6763
6891
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6764
|
-
j(o).error.value ? (f(), k("div",
|
|
6892
|
+
j(o).error.value ? (f(), k("div", tu, [V(j(ri), {
|
|
6765
6893
|
size: 14,
|
|
6766
6894
|
"stroke-width": 2,
|
|
6767
6895
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6770,36 +6898,36 @@ var dc = {
|
|
|
6770
6898
|
key: 2,
|
|
6771
6899
|
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)]",
|
|
6772
6900
|
disabled: !g.value,
|
|
6773
|
-
onClick:
|
|
6774
|
-
}, [V(j(
|
|
6901
|
+
onClick: E
|
|
6902
|
+
}, [V(j(mi), {
|
|
6775
6903
|
size: 16,
|
|
6776
6904
|
"stroke-width": 2
|
|
6777
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6778
|
-
I("p",
|
|
6905
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, nu)),
|
|
6906
|
+
I("p", ru, D(j(i).aiMenu.disclaimer), 1)
|
|
6779
6907
|
]))])])) : A("", !0)]),
|
|
6780
6908
|
_: 1
|
|
6781
6909
|
}));
|
|
6782
6910
|
}
|
|
6783
|
-
}),
|
|
6911
|
+
}), au = /* @__PURE__ */ e({ default: () => ou }), ou = /*#__PURE__*/ Vi(iu, [["__scopeId", "data-v-bdbf8d0d"]]), su = ["disabled", "title"], cu = ["title"], lu = {
|
|
6784
6912
|
key: 0,
|
|
6785
6913
|
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)]",
|
|
6786
6914
|
style: {
|
|
6787
6915
|
"backdrop-filter": "blur(8px)",
|
|
6788
6916
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
6789
6917
|
}
|
|
6790
|
-
},
|
|
6918
|
+
}, uu = { 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)]" }, du = {
|
|
6791
6919
|
key: 0,
|
|
6792
6920
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
6793
|
-
},
|
|
6921
|
+
}, fu = {
|
|
6794
6922
|
key: 1,
|
|
6795
6923
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
6796
|
-
},
|
|
6924
|
+
}, pu = {
|
|
6797
6925
|
key: 2,
|
|
6798
6926
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
6799
|
-
},
|
|
6927
|
+
}, mu = ["disabled", "onClick"], hu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, gu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, _u = {
|
|
6800
6928
|
key: 0,
|
|
6801
6929
|
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)]"
|
|
6802
|
-
},
|
|
6930
|
+
}, vu = ["disabled", "title"], yu = /*@__PURE__*/ B({
|
|
6803
6931
|
__name: "SnapshotHistory",
|
|
6804
6932
|
props: {
|
|
6805
6933
|
snapshots: {},
|
|
@@ -6808,7 +6936,7 @@ var dc = {
|
|
|
6808
6936
|
},
|
|
6809
6937
|
emits: ["load", "navigate"],
|
|
6810
6938
|
setup(e, { emit: t }) {
|
|
6811
|
-
let n = e, r = t, { format: i } = Y(), { t: a } =
|
|
6939
|
+
let n = e, r = t, { format: i } = Y(), { t: a } = Zi(), o = C(!1), s = C(null), c = C(-1);
|
|
6812
6940
|
H(() => n.snapshots.length, () => {
|
|
6813
6941
|
c.value = -1;
|
|
6814
6942
|
});
|
|
@@ -6827,7 +6955,7 @@ var dc = {
|
|
|
6827
6955
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
6828
6956
|
}
|
|
6829
6957
|
function _(e) {
|
|
6830
|
-
let t =
|
|
6958
|
+
let t = xc(e, a.snapshotHistory, i, 7);
|
|
6831
6959
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
6832
6960
|
month: "short",
|
|
6833
6961
|
day: "numeric",
|
|
@@ -6847,10 +6975,10 @@ var dc = {
|
|
|
6847
6975
|
disabled: !u.value,
|
|
6848
6976
|
title: j(a).snapshotHistory.olderSnapshot,
|
|
6849
6977
|
onClick: M(p, ["stop"])
|
|
6850
|
-
}, [V(j(
|
|
6978
|
+
}, [V(j(ei), {
|
|
6851
6979
|
size: 14,
|
|
6852
6980
|
"stroke-width": 2
|
|
6853
|
-
})], 8,
|
|
6981
|
+
})], 8, su),
|
|
6854
6982
|
I("button", {
|
|
6855
6983
|
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)]",
|
|
6856
6984
|
title: j(a).snapshotHistory.tooltip,
|
|
@@ -6858,23 +6986,23 @@ var dc = {
|
|
|
6858
6986
|
}, [V(j(ai), {
|
|
6859
6987
|
size: 16,
|
|
6860
6988
|
"stroke-width": 1.5
|
|
6861
|
-
}), V(j(
|
|
6989
|
+
}), V(j($r), {
|
|
6862
6990
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
6863
6991
|
size: 10,
|
|
6864
6992
|
"stroke-width": 2
|
|
6865
|
-
}, null, 8, ["class"])], 8,
|
|
6993
|
+
}, null, 8, ["class"])], 8, cu),
|
|
6866
6994
|
V(ie, { name: "tpl-dropdown" }, {
|
|
6867
|
-
default: b(() => [o.value ? (f(), k("div",
|
|
6995
|
+
default: b(() => [o.value ? (f(), k("div", lu, [I("div", uu, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", du, [V(j(_i), {
|
|
6868
6996
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
6869
6997
|
size: 20,
|
|
6870
6998
|
"stroke-width": 2
|
|
6871
|
-
})])) : e.snapshots.length === 0 ? (f(), k("div",
|
|
6999
|
+
})])) : e.snapshots.length === 0 ? (f(), k("div", fu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", pu, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
|
|
6872
7000
|
key: t.id,
|
|
6873
7001
|
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)]",
|
|
6874
7002
|
style: { "background-color": "transparent" },
|
|
6875
7003
|
disabled: e.isRestoring,
|
|
6876
7004
|
onClick: (e) => g(t.id)
|
|
6877
|
-
}, [I("div",
|
|
7005
|
+
}, [I("div", hu, [I("div", gu, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", _u, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, mu))), 128))]))])) : A("", !0)]),
|
|
6878
7006
|
_: 1
|
|
6879
7007
|
}),
|
|
6880
7008
|
I("button", {
|
|
@@ -6882,74 +7010,74 @@ var dc = {
|
|
|
6882
7010
|
disabled: !l.value,
|
|
6883
7011
|
title: j(a).snapshotHistory.newerSnapshot,
|
|
6884
7012
|
onClick: M(d, ["stop"])
|
|
6885
|
-
}, [V(j(
|
|
7013
|
+
}, [V(j(ti), {
|
|
6886
7014
|
size: 14,
|
|
6887
7015
|
"stroke-width": 2
|
|
6888
|
-
})], 8,
|
|
7016
|
+
})], 8, vu)
|
|
6889
7017
|
], 512));
|
|
6890
7018
|
}
|
|
6891
|
-
}),
|
|
7019
|
+
}), bu = /* @__PURE__ */ e({ default: () => xu }), xu = yu;
|
|
6892
7020
|
//#endregion
|
|
6893
7021
|
//#region src/cloud/utils/scoringStyles.ts
|
|
6894
|
-
function
|
|
7022
|
+
function Su(e) {
|
|
6895
7023
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
6896
7024
|
}
|
|
6897
|
-
function
|
|
7025
|
+
function Cu(e) {
|
|
6898
7026
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
6899
7027
|
}
|
|
6900
|
-
function
|
|
7028
|
+
function wu(e) {
|
|
6901
7029
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
6902
7030
|
}
|
|
6903
|
-
function
|
|
7031
|
+
function Tu(e) {
|
|
6904
7032
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
6905
7033
|
}
|
|
6906
7034
|
//#endregion
|
|
6907
7035
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
6908
|
-
var
|
|
7036
|
+
var Eu = {
|
|
6909
7037
|
key: 0,
|
|
6910
7038
|
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)]"
|
|
6911
|
-
},
|
|
7039
|
+
}, Du = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ou = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, ku = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Au = ["title"], ju = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Mu = {
|
|
6912
7040
|
key: 0,
|
|
6913
7041
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6914
|
-
},
|
|
7042
|
+
}, Nu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Pu = {
|
|
6915
7043
|
key: 1,
|
|
6916
7044
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6917
|
-
},
|
|
7045
|
+
}, Fu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Iu = {
|
|
6918
7046
|
key: 2,
|
|
6919
7047
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6920
|
-
},
|
|
7048
|
+
}, Lu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Ru = {
|
|
6921
7049
|
key: 0,
|
|
6922
7050
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6923
|
-
},
|
|
7051
|
+
}, zu = {
|
|
6924
7052
|
key: 0,
|
|
6925
7053
|
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)]"
|
|
6926
|
-
},
|
|
7054
|
+
}, Bu = ["onClick"], Vu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Hu = {
|
|
6927
7055
|
key: 0,
|
|
6928
7056
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
6929
|
-
},
|
|
7057
|
+
}, Uu = {
|
|
6930
7058
|
key: 0,
|
|
6931
7059
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
6932
|
-
},
|
|
7060
|
+
}, Wu = {
|
|
6933
7061
|
key: 0,
|
|
6934
7062
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6935
|
-
},
|
|
7063
|
+
}, Gu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Ku = { class: "tpl:flex-1 tpl:min-w-0" }, qu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Ju = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Yu = {
|
|
6936
7064
|
key: 0,
|
|
6937
7065
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
6938
|
-
},
|
|
7066
|
+
}, Xu = {
|
|
6939
7067
|
key: 1,
|
|
6940
7068
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
6941
|
-
},
|
|
7069
|
+
}, Zu = ["disabled", "onClick"], Qu = {
|
|
6942
7070
|
key: 0,
|
|
6943
7071
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
6944
|
-
},
|
|
7072
|
+
}, $u = {
|
|
6945
7073
|
key: 3,
|
|
6946
7074
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6947
|
-
},
|
|
7075
|
+
}, ed = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, td = { 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)]" }, nd = /*@__PURE__*/ B({
|
|
6948
7076
|
__name: "TemplateScoringPanel",
|
|
6949
7077
|
props: { visible: { type: Boolean } },
|
|
6950
7078
|
emits: ["close"],
|
|
6951
7079
|
setup(e, { emit: t }) {
|
|
6952
|
-
let n = e, r = t, { t: i } =
|
|
7080
|
+
let n = e, r = t, { t: i } = Zi(), a = J(Ln, "TemplateScoringPanel"), o = J(gr, "TemplateScoringPanel"), s = v(Yn, []), c = C({
|
|
6953
7081
|
spam: !0,
|
|
6954
7082
|
readability: !0,
|
|
6955
7083
|
accessibility: !0,
|
|
@@ -6964,10 +7092,10 @@ var hu = {
|
|
|
6964
7092
|
"accessibility",
|
|
6965
7093
|
"bestPractices"
|
|
6966
7094
|
], p = {
|
|
6967
|
-
spam:
|
|
7095
|
+
spam: Oi,
|
|
6968
7096
|
readability: li,
|
|
6969
|
-
accessibility:
|
|
6970
|
-
bestPractices:
|
|
7097
|
+
accessibility: ki,
|
|
7098
|
+
bestPractices: Li
|
|
6971
7099
|
};
|
|
6972
7100
|
function m() {
|
|
6973
7101
|
o.score(a.content.value, s);
|
|
@@ -6995,50 +7123,50 @@ var hu = {
|
|
|
6995
7123
|
"leave-from-class": "tpl:translate-x-0",
|
|
6996
7124
|
"leave-to-class": "tpl:translate-x-full"
|
|
6997
7125
|
}, {
|
|
6998
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
7126
|
+
default: b(() => [e.visible ? (f(), k("div", Eu, [I("div", Du, [I("div", Ou, [V(j(Di), {
|
|
6999
7127
|
size: 13,
|
|
7000
7128
|
"stroke-width": 2
|
|
7001
|
-
}), I("span", null, D(j(i).scoring.title), 1)]), I("div",
|
|
7129
|
+
}), I("span", null, D(j(i).scoring.title), 1)]), I("div", ku, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
|
|
7002
7130
|
key: 0,
|
|
7003
7131
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7004
7132
|
title: j(i).scoring.rescore,
|
|
7005
7133
|
onClick: n[0] ||= (e) => m()
|
|
7006
|
-
}, [V(j(
|
|
7134
|
+
}, [V(j(Ci), {
|
|
7007
7135
|
size: 14,
|
|
7008
7136
|
"stroke-width": 2
|
|
7009
|
-
})], 8,
|
|
7137
|
+
})], 8, Au)) : A("", !0), I("button", {
|
|
7010
7138
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7011
7139
|
onClick: n[1] ||= (e) => r("close")
|
|
7012
|
-
}, [V(j(
|
|
7140
|
+
}, [V(j(Ii), {
|
|
7013
7141
|
size: 14,
|
|
7014
7142
|
"stroke-width": 2
|
|
7015
|
-
})])])]), I("div",
|
|
7016
|
-
V(j(
|
|
7143
|
+
})])])]), I("div", ju, [j(o).isScoring.value ? (f(), k("div", Mu, [I("p", Nu, D(j(i).scoring.scoring), 1), V(Gi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Pu, [
|
|
7144
|
+
V(j(ri), {
|
|
7017
7145
|
size: 32,
|
|
7018
7146
|
"stroke-width": 1.5,
|
|
7019
7147
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
7020
7148
|
}),
|
|
7021
|
-
I("p",
|
|
7149
|
+
I("p", Fu, D(j(i).scoring.error), 1),
|
|
7022
7150
|
I("button", {
|
|
7023
7151
|
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)]",
|
|
7024
7152
|
onClick: n[2] ||= (e) => m()
|
|
7025
|
-
}, [V(j(
|
|
7153
|
+
}, [V(j(Ci), {
|
|
7026
7154
|
size: 12,
|
|
7027
7155
|
"stroke-width": 2
|
|
7028
7156
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
7029
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7157
|
+
])) : j(o).scoringResult.value ? (f(), k("div", Iu, [
|
|
7030
7158
|
I("div", {
|
|
7031
7159
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
7032
|
-
style: L({ backgroundColor: j(
|
|
7160
|
+
style: L({ backgroundColor: j(Cu)(j(o).scoringResult.value.score) })
|
|
7033
7161
|
}, [
|
|
7034
7162
|
I("span", {
|
|
7035
7163
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
7036
|
-
style: L({ color: j(
|
|
7164
|
+
style: L({ color: j(Su)(j(o).scoringResult.value.score) })
|
|
7037
7165
|
}, D(j(o).scoringResult.value.score), 5),
|
|
7038
|
-
I("span",
|
|
7039
|
-
_() > 0 ? (f(), k("span",
|
|
7166
|
+
I("span", Lu, D(j(i).scoring.overallScore), 1),
|
|
7167
|
+
_() > 0 ? (f(), k("span", Ru, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
|
|
7040
7168
|
], 4),
|
|
7041
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7169
|
+
j(o).fixError.value ? (f(), k("div", zu, [V(j(ri), {
|
|
7042
7170
|
size: 14,
|
|
7043
7171
|
"stroke-width": 2,
|
|
7044
7172
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7053,74 +7181,74 @@ var hu = {
|
|
|
7053
7181
|
(f(), N(d(p[e]), {
|
|
7054
7182
|
size: 14,
|
|
7055
7183
|
"stroke-width": 2,
|
|
7056
|
-
style: L({ color: j(
|
|
7184
|
+
style: L({ color: j(Su)(j(o).scoringResult.value.categories[e].score) })
|
|
7057
7185
|
}, null, 8, ["style"])),
|
|
7058
|
-
I("span",
|
|
7186
|
+
I("span", Vu, D(j(i).scoring.categories[e]), 1),
|
|
7059
7187
|
I("span", {
|
|
7060
7188
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7061
7189
|
style: L({
|
|
7062
|
-
color: j(
|
|
7063
|
-
backgroundColor: j(
|
|
7190
|
+
color: j(Su)(j(o).scoringResult.value.categories[e].score),
|
|
7191
|
+
backgroundColor: j(Cu)(j(o).scoringResult.value.categories[e].score)
|
|
7064
7192
|
})
|
|
7065
7193
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7066
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7067
|
-
V(j(
|
|
7194
|
+
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", Hu, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
|
|
7195
|
+
V(j($r), {
|
|
7068
7196
|
size: 12,
|
|
7069
7197
|
"stroke-width": 2,
|
|
7070
7198
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7071
7199
|
}, null, 8, ["class"])
|
|
7072
|
-
], 8,
|
|
7200
|
+
], 8, Bu), c.value[e] ? (f(), k("div", Uu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Wu, 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", {
|
|
7073
7201
|
key: e.id,
|
|
7074
7202
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7075
|
-
}, [I("div",
|
|
7203
|
+
}, [I("div", Gu, [(f(), N(d(j(e.severity === "high" ? ri : e.severity === "medium" ? Mi : gi)), {
|
|
7076
7204
|
size: 13,
|
|
7077
7205
|
"stroke-width": 2,
|
|
7078
7206
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7079
|
-
style: L({ color: j(
|
|
7080
|
-
}, null, 8, ["style"])), I("div",
|
|
7081
|
-
I("div",
|
|
7207
|
+
style: L({ color: j(wu)(e.severity) })
|
|
7208
|
+
}, null, 8, ["style"])), I("div", Ku, [
|
|
7209
|
+
I("div", qu, [I("span", {
|
|
7082
7210
|
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",
|
|
7083
7211
|
style: L({
|
|
7084
|
-
color: j(
|
|
7085
|
-
backgroundColor: j(
|
|
7212
|
+
color: j(wu)(e.severity),
|
|
7213
|
+
backgroundColor: j(Tu)(e.severity)
|
|
7086
7214
|
})
|
|
7087
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7088
|
-
e.suggestion ? (f(), k("p",
|
|
7089
|
-
e.blockId ? (f(), k("div",
|
|
7215
|
+
}, D(j(i).scoring.severity[e.severity]), 5), I("span", Ju, D(e.message), 1)]),
|
|
7216
|
+
e.suggestion ? (f(), k("p", Yu, D(e.suggestion), 1)) : A("", !0),
|
|
7217
|
+
e.blockId ? (f(), k("div", Xu, [I("button", {
|
|
7090
7218
|
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)]",
|
|
7091
7219
|
style: { "background-color": "transparent" },
|
|
7092
7220
|
disabled: j(o).fixingFindingId.value !== null,
|
|
7093
7221
|
onClick: (t) => g(e)
|
|
7094
|
-
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(
|
|
7222
|
+
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(_i), {
|
|
7095
7223
|
key: 0,
|
|
7096
7224
|
class: "tpl-spinner",
|
|
7097
7225
|
size: 11,
|
|
7098
7226
|
"stroke-width": 2
|
|
7099
|
-
})) : (f(), N(j(
|
|
7227
|
+
})) : (f(), N(j(ki), {
|
|
7100
7228
|
key: 1,
|
|
7101
7229
|
size: 11,
|
|
7102
7230
|
"stroke-width": 2
|
|
7103
|
-
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8,
|
|
7231
|
+
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Zu), j(o).fixError.value ? (f(), k("p", Qu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
|
|
7104
7232
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7105
|
-
])) : (f(), k("div",
|
|
7233
|
+
])) : (f(), k("div", $u, [V(j(Di), {
|
|
7106
7234
|
size: 32,
|
|
7107
7235
|
"stroke-width": 1.5,
|
|
7108
7236
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7109
|
-
}), I("p",
|
|
7237
|
+
}), I("p", ed, D(j(i).scoring.emptyState), 1)])), I("p", td, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7110
7238
|
_: 1
|
|
7111
7239
|
}));
|
|
7112
7240
|
}
|
|
7113
|
-
}),
|
|
7241
|
+
}), rd = /* @__PURE__ */ e({ default: () => id }), id = /*#__PURE__*/ Vi(nd, [["__scopeId", "data-v-c23c73d4"]]), ad = ["aria-busy"], od = {
|
|
7114
7242
|
id: "tpl-test-email-title",
|
|
7115
7243
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7116
|
-
},
|
|
7244
|
+
}, sd = { class: "tpl:mb-3" }, cd = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ld = ["value"], ud = ["disabled"], dd = ["value"], fd = {
|
|
7117
7245
|
key: 0,
|
|
7118
7246
|
role: "alert",
|
|
7119
7247
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7120
|
-
},
|
|
7248
|
+
}, pd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, md = ["disabled"], hd = ["disabled"], gd = {
|
|
7121
7249
|
key: 0,
|
|
7122
7250
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7123
|
-
},
|
|
7251
|
+
}, _d = { key: 1 }, vd = /*@__PURE__*/ B({
|
|
7124
7252
|
__name: "TestEmailModal",
|
|
7125
7253
|
props: {
|
|
7126
7254
|
visible: { type: Boolean },
|
|
@@ -7130,7 +7258,7 @@ var hu = {
|
|
|
7130
7258
|
},
|
|
7131
7259
|
emits: ["send", "close"],
|
|
7132
7260
|
setup(e, { emit: t }) {
|
|
7133
|
-
let n = e, r = t, { t: i } =
|
|
7261
|
+
let n = e, r = t, { t: i } = Zi(), a = C("");
|
|
7134
7262
|
H(() => n.visible, (e) => {
|
|
7135
7263
|
e && (a.value = n.allowedEmails[0] ?? "");
|
|
7136
7264
|
});
|
|
@@ -7143,7 +7271,7 @@ var hu = {
|
|
|
7143
7271
|
function l(e) {
|
|
7144
7272
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7145
7273
|
}
|
|
7146
|
-
return (t, n) => (f(), N(
|
|
7274
|
+
return (t, n) => (f(), N(os, {
|
|
7147
7275
|
visible: e.visible,
|
|
7148
7276
|
onClose: s,
|
|
7149
7277
|
onKeydown: l
|
|
@@ -7159,14 +7287,14 @@ var hu = {
|
|
|
7159
7287
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7160
7288
|
}
|
|
7161
7289
|
}, [
|
|
7162
|
-
I("h3",
|
|
7163
|
-
I("div",
|
|
7290
|
+
I("h3", od, D(j(i).testEmail.title), 1),
|
|
7291
|
+
I("div", sd, [I("label", cd, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
|
|
7164
7292
|
key: 0,
|
|
7165
7293
|
type: "text",
|
|
7166
7294
|
value: a.value,
|
|
7167
7295
|
disabled: "",
|
|
7168
7296
|
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)]"
|
|
7169
|
-
}, null, 8,
|
|
7297
|
+
}, null, 8, ld)) : c((f(), k("select", {
|
|
7170
7298
|
key: 1,
|
|
7171
7299
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7172
7300
|
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)]",
|
|
@@ -7174,29 +7302,29 @@ var hu = {
|
|
|
7174
7302
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7175
7303
|
key: e,
|
|
7176
7304
|
value: e
|
|
7177
|
-
}, D(e), 9,
|
|
7178
|
-
e.error ? (f(), k("p",
|
|
7179
|
-
I("div",
|
|
7305
|
+
}, D(e), 9, dd))), 128))], 8, ud)), [[w, a.value]])]),
|
|
7306
|
+
e.error ? (f(), k("p", fd, D(e.error), 1)) : A("", !0),
|
|
7307
|
+
I("div", pd, [I("button", {
|
|
7180
7308
|
type: "button",
|
|
7181
7309
|
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 }]),
|
|
7182
7310
|
disabled: e.isSending,
|
|
7183
7311
|
onClick: s
|
|
7184
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7312
|
+
}, D(j(i).testEmail.cancel), 11, md), I("button", {
|
|
7185
7313
|
type: "button",
|
|
7186
7314
|
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)]",
|
|
7187
7315
|
disabled: !a.value || e.isSending,
|
|
7188
7316
|
onClick: o
|
|
7189
|
-
}, [e.isSending ? (f(), k("span",
|
|
7317
|
+
}, [e.isSending ? (f(), k("span", gd, [V(j(_i), {
|
|
7190
7318
|
class: "tpl:animate-spin",
|
|
7191
7319
|
size: 12,
|
|
7192
7320
|
"stroke-width": 2
|
|
7193
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7194
|
-
], 8,
|
|
7321
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", _d, D(j(i).testEmail.send), 1))], 8, hd)])
|
|
7322
|
+
], 8, ad)]),
|
|
7195
7323
|
_: 1
|
|
7196
7324
|
}, 8, ["visible"]));
|
|
7197
7325
|
}
|
|
7198
|
-
}),
|
|
7326
|
+
}), yd = /* @__PURE__ */ e({ default: () => bd }), bd = vd;
|
|
7199
7327
|
//#endregion
|
|
7200
|
-
export {
|
|
7328
|
+
export { ea as $, $n as $t, rs as A, W as An, ti as At, ro as B, Se as Bn, fr as Bt, ms as C, xt as Cn, mi as Ct, cs as D, lt as Dn, oi as Dt, ss as E, ut as En, si as Et, ko as F, we as Fn, kr as Ft, ka as G, pe as Gn, mr as Gt, qa as H, Ee as Hn, Gn as Ht, Eo as I, ve as In, Sr as It, xa as J, ue as Jn, Jn as Jt, Oa as K, de as Kn, Bn as Kt, xo as L, Te as Ln, Y as Lt, Go as M, ye as Mn, Qr as Mt, zo as N, De as Nn, X as Nt, os as O, ct as On, ai as Ot, Io as P, be as Pn, Br as Pt, ia as Q, nr as Qt, yo as R, _e as Rn, pr as Rt, hs as S, yt as Sn, hi as St, Z as T, bt as Tn, ci as Tt, Ua as U, ge as Un, sr as Ut, no as V, Ce as Vn, Wn as Vt, ja as W, xe as Wn, _r as Wt, ua as X, Ln as Xt, fa as Y, ar as Yt, aa as Z, Vn as Zt, Ds as _, sn as _n, bi as _t, Al as a, lr as an, Vi as at, Cs as b, Et as bn, _i as bt, Ws as c, J as cn, Pi as ct, Ls as d, Tn as dn, Ai as dt, Xn as en, $i as et, Is as f, q as fn, ki as ft, Ms as g, nn as gn, Ci as gt, Ns as h, rn as hn, Ti as ht, au as i, gr as in, Ji as it, ts as j, We as jn, $r as jt, is as k, st as kn, ri as kt, zs as l, gn as ln, Mi as lt, Ps as m, On as mn, Ei as mt, rd as n, qn as nn, Xi as nt, gc as o, Hn as on, Bi as ot, Fs as p, jn as pn, Di as pt, Ca as q, fe as qn, Kn as qt, bu as r, hr as rn, Zi as rt, Gs as s, Un as sn, Ii as st, yd as t, ir as tn, Qi as tt, Rs as u, wn as un, ji as ut, Es as v, cn as vn, yi as vt, $ as w, _t as wn, li as wt, ys as x, dt as xn, gi as xt, ws as y, Ft as yn, vi as yt, io as z, he as zn, or as zt };
|
|
7201
7329
|
|
|
7202
|
-
//# sourceMappingURL=features-
|
|
7330
|
+
//# sourceMappingURL=features-CkTMVylx.js.map
|