@templatical/editor 0.12.1 → 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-CXH7l1Ar.js → AiChatSidebar-J8iO_sX7.js} +16 -16
- package/dist/{AiFeatureMenu-BKbUUc1D.js → AiFeatureMenu-F2diEDgV.js} +10 -10
- package/dist/{BlockIssueBadge-C-EPqWsh.js → BlockIssueBadge-a-qlByxF.js} +5 -5
- package/dist/{CloudEditor-CB16QzKM.js → CloudEditor-CDjtwb4i.js} +284 -250
- package/dist/{CollaboratorBar-ACUA7lBJ.js → CollaboratorBar-B_EnJLtW.js} +4 -4
- package/dist/{CommentsSidebar-CpRLN40c.js → CommentsSidebar-DaP9BA_r.js} +18 -18
- package/dist/{CountdownBlock-C-6o19qS.js → CountdownBlock-DtAokAVw.js} +3 -3
- package/dist/{CountdownToolbar-Dol7Q0Pv.js → CountdownToolbar-Dtqgwy0g.js} +3 -3
- package/dist/{DesignReferenceSidebar-0dTsBW08.js → DesignReferenceSidebar-BHRlTqlT.js} +21 -33
- 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-CpaumPMS.js → ModulePreviewCanvas-Cx4MOJ0X.js} +21 -21
- package/dist/{NumberWithSuffix-Bp40ik4l.js → NumberWithSuffix-D2mW_DhT.js} +4 -4
- package/dist/{ParagraphEditor-BqRFV_Y-.js → ParagraphEditor-DMzkVnST.js} +156 -136
- package/dist/{RichTextEditorContent-Q5altsx1.js → RichTextEditorContent-CRCxCwKf.js} +7 -7
- package/dist/{SaveModuleDialog-DmfvH5D0.js → SaveModuleDialog-DuEKgumL.js} +8 -8
- package/dist/{SnapshotHistory-C052o-8U.js → SnapshotHistory-CVgiNJtE.js} +12 -12
- package/dist/{TemplateScoringPanel-CUs8XmIi.js → TemplateScoringPanel-lm0_9nYi.js} +26 -26
- package/dist/{TestEmailModal-BIIxRWUt.js → TestEmailModal-WBMdiW5S.js} +5 -5
- package/dist/{TitleEditor-FMh54Cx5.js → TitleEditor-eyT0h-Sa.js} +71 -55
- package/dist/{TplModal-utMtXzSO.js → TplModal-tjQ7OB0g.js} +4 -4
- package/dist/{blockTypeIcons-C6UGDmrC.js → blockTypeIcons-DdB3uTKD.js} +5 -5
- package/dist/bundle-stats.json +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js → AiFeatureMenu-D7rB2SBs.js} +9 -9
- package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js.map → AiFeatureMenu-D7rB2SBs.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js → BlockIssueBadge-DHOe0pgx.js} +6 -6
- package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js.map → BlockIssueBadge-DHOe0pgx.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-DSeihOan.js → CloudEditor-DNed_Ym0.js} +273 -239
- package/dist/cdn/chunks/CloudEditor-DNed_Ym0.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js → CollaboratorBar-sj_9Lee3.js} +4 -4
- package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js.map → CollaboratorBar-sj_9Lee3.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js → CountdownBlock-C1Ikjpn4.js} +3 -3
- package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js.map → CountdownBlock-C1Ikjpn4.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-BQn0Kj0X.js → CountdownToolbar-j1G_X8rB.js} +4 -4
- package/dist/cdn/chunks/CountdownToolbar-j1G_X8rB.js.map +1 -0
- package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js → IssuesPanel-CTOf3PsH.js} +11 -11
- package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js.map → IssuesPanel-CTOf3PsH.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js → ModuleBrowserModal-DCh88-rr.js} +13 -10
- package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js.map → ModuleBrowserModal-DCh88-rr.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js → ModulePreviewCanvas-DJqvTKmg.js} +19 -19
- package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js.map → ModulePreviewCanvas-DJqvTKmg.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js → NumberWithSuffix-Bu45XWSl.js} +5 -5
- package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js.map → NumberWithSuffix-Bu45XWSl.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js → ParagraphEditor-DwZqLJp2.js} +131 -111
- package/dist/cdn/chunks/ParagraphEditor-DwZqLJp2.js.map +1 -0
- package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js → RichTextEditorContent-CIuZ-2DV.js} +5 -5
- package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js.map → RichTextEditorContent-CIuZ-2DV.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js → SaveModuleDialog-Bep0X2s_.js} +6 -6
- package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js.map → SaveModuleDialog-Bep0X2s_.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CQqklX0D.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-CpGPHppB.js.map → blockTypeIcons-8o24HVJu.js.map} +1 -1
- package/dist/cdn/chunks/{de-BpseTWOA.js → de-LsV0u1tP.js} +20 -2
- 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-VGIQ0WNq.js → en-Bb8X1bOs.js} +20 -2
- package/dist/cdn/chunks/en-Bb8X1bOs.js.map +1 -0
- package/dist/cdn/chunks/{extensions-Ds9GnMcd.js → extensions-iwBXnEwq.js} +21 -21
- package/dist/cdn/chunks/{extensions-Ds9GnMcd.js.map → extensions-iwBXnEwq.js.map} +1 -1
- package/dist/cdn/chunks/{features-DxWz_Enw.js → features-CkTMVylx.js} +996 -817
- package/dist/cdn/chunks/features-CkTMVylx.js.map +1 -0
- package/dist/cdn/chunks/{icons-BflGUmFY.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-C479-QcE.js → media-library-DMRIPx4g.js} +373 -371
- package/dist/cdn/chunks/media-library-DMRIPx4g.js.map +1 -0
- package/dist/cdn/chunks/{pt-BR-zAqpLQbW.js → pt-BR-BwJY_cvb.js} +20 -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-BL_pEvFP.js.map → quality-CyeUgs_c.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-C0vdAODQ.js → renderer-BIKUEKDD.js} +38 -29
- package/dist/cdn/chunks/{renderer-C0vdAODQ.js.map → renderer-BIKUEKDD.js.map} +1 -1
- package/dist/cdn/chunks/{src-DzvOWQ9S.js → src-pDy_imWG.js} +56 -56
- package/dist/cdn/chunks/{src-DzvOWQ9S.js.map → src-pDy_imWG.js.map} +1 -1
- package/dist/cdn/chunks/{styles-LfeoSNRA.js → styles-D4Bd3SCx.js} +1356 -905
- 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 +101 -97
- 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/{de-BpseTWOA.js → de-LsV0u1tP.js} +19 -1
- 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-DJ9aD8yA.js → dist-DuCzdgDA.js} +54 -5
- package/dist/{dist-o73iaGqy.js → dist-U5vfDdYI.js} +1 -1
- package/dist/{en-VGIQ0WNq.js → en-Bb8X1bOs.js} +19 -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-zAqpLQbW.js → pt-BR-BwJY_cvb.js} +19 -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-DSm9Ijxt.js → styles-BUwDOWd3.js} +1335 -882
- package/dist/templatical-editor.js +143 -139
- 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-e5kDRkPb.js +17 -0
- package/dist/{useAliveFlag-BinvbqQR.js → useAliveFlag-cUQj9rmB.js} +1 -1
- package/dist/{useCloudI18n-L3H2XvdW.js → useCloudI18n-CYJKqXtI.js} +2 -2
- package/dist/{useEditorCore-D7dQFRkw.js → useEditorCore-8JxXDOA4.js} +1075 -894
- 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-Bz9hSjMS.js +0 -198
- package/dist/cdn/chunks/CloudEditor-DSeihOan.js.map +0 -1
- package/dist/cdn/chunks/CountdownToolbar-BQn0Kj0X.js.map +0 -1
- package/dist/cdn/chunks/ParagraphEditor-BnhnFOW1.js.map +0 -1
- package/dist/cdn/chunks/TitleEditor-CQqklX0D.js.map +0 -1
- package/dist/cdn/chunks/blockTypeIcons-CpGPHppB.js +0 -22
- package/dist/cdn/chunks/de-BpseTWOA.js.map +0 -1
- package/dist/cdn/chunks/en-VGIQ0WNq.js.map +0 -1
- package/dist/cdn/chunks/features-DxWz_Enw.js.map +0 -1
- package/dist/cdn/chunks/icons-BflGUmFY.js.map +0 -1
- package/dist/cdn/chunks/media-library-C479-QcE.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-zAqpLQbW.js.map +0 -1
- package/dist/cdn/chunks/quality-BL_pEvFP.js +0 -2176
- package/dist/cdn/chunks/styles-LfeoSNRA.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,29 +3130,47 @@ 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;
|
|
3038
3145
|
}), e;
|
|
3039
3146
|
}
|
|
3040
3147
|
//#endregion
|
|
3148
|
+
//#region src/composables/useImageDrop.ts
|
|
3149
|
+
var Aa = "image/";
|
|
3150
|
+
function ja(e) {
|
|
3151
|
+
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 ? !0 : P(r), { isOverDropZone: a } = Tn(t, {
|
|
3152
|
+
preventDefaultForUnhandled: !0,
|
|
3153
|
+
onDrop: (e) => {
|
|
3154
|
+
if (!i()) return;
|
|
3155
|
+
let t = (e ?? []).filter((e) => e.type.startsWith(Aa));
|
|
3156
|
+
t.length > 0 && n([t[0]]);
|
|
3157
|
+
}
|
|
3158
|
+
});
|
|
3159
|
+
return { isOver: O(() => i() && a.value) };
|
|
3160
|
+
}
|
|
3161
|
+
//#endregion
|
|
3041
3162
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3042
|
-
var
|
|
3163
|
+
var Ma = {
|
|
3164
|
+
key: 0,
|
|
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)]",
|
|
3166
|
+
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
3167
|
+
}, Na = ["href"], Pa = ["src", "alt"], Fa = ["src", "alt"], Ia = {
|
|
3043
3168
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3044
3169
|
style: { opacity: "0.7" }
|
|
3045
|
-
},
|
|
3046
|
-
key:
|
|
3170
|
+
}, La = ["href"], Ra = ["src", "alt"], za = ["src", "alt"], Ba = {
|
|
3171
|
+
key: 4,
|
|
3047
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)]"
|
|
3048
|
-
},
|
|
3173
|
+
}, Va = ["aria-label"], Ha = { key: 1 }, Ua = /* @__PURE__ */ B({
|
|
3049
3174
|
__name: "ImageBlock",
|
|
3050
3175
|
props: {
|
|
3051
3176
|
block: {},
|
|
@@ -3053,7 +3178,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3053
3178
|
},
|
|
3054
3179
|
emits: ["update"],
|
|
3055
3180
|
setup(e, { emit: t }) {
|
|
3056
|
-
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();
|
|
3057
3182
|
async function l() {
|
|
3058
3183
|
let e = await o?.({ accept: ["images"] });
|
|
3059
3184
|
if (c.alive && e) {
|
|
@@ -3061,7 +3186,30 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3061
3186
|
e.alt && (t.alt = e.alt), r("update", t);
|
|
3062
3187
|
}
|
|
3063
3188
|
}
|
|
3064
|
-
let u =
|
|
3189
|
+
let u = C(), d = C(!1), p = O(() => s.value && !d.value && !y.value);
|
|
3190
|
+
async function m(e) {
|
|
3191
|
+
if (o) {
|
|
3192
|
+
d.value = !0;
|
|
3193
|
+
try {
|
|
3194
|
+
let t = await o({
|
|
3195
|
+
accept: ["images"],
|
|
3196
|
+
files: e
|
|
3197
|
+
});
|
|
3198
|
+
if (!c.alive) return;
|
|
3199
|
+
if (t) {
|
|
3200
|
+
let e = { src: t.url };
|
|
3201
|
+
t.alt && (e.alt = t.alt), r("update", e);
|
|
3202
|
+
}
|
|
3203
|
+
} finally {
|
|
3204
|
+
c.alive && (d.value = !1);
|
|
3205
|
+
}
|
|
3206
|
+
}
|
|
3207
|
+
}
|
|
3208
|
+
let { isOver: h } = ja({
|
|
3209
|
+
target: u,
|
|
3210
|
+
enabled: p,
|
|
3211
|
+
onFiles: m
|
|
3212
|
+
}), g = O(() => ({ textAlign: n.block.align })), _ = O(() => {
|
|
3065
3213
|
let e = n.block.align;
|
|
3066
3214
|
return {
|
|
3067
3215
|
maxWidth: "100%",
|
|
@@ -3070,11 +3218,21 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3070
3218
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
3071
3219
|
marginRight: e === "center" ? "auto" : void 0
|
|
3072
3220
|
};
|
|
3073
|
-
}),
|
|
3221
|
+
}), y = O(() => yt(n.block.src, a));
|
|
3074
3222
|
return (t, n) => (f(), k("div", {
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3223
|
+
ref_key: "dropZoneRef",
|
|
3224
|
+
ref: u,
|
|
3225
|
+
"data-testid": "image-drop-zone",
|
|
3226
|
+
class: "tpl:relative tpl:w-full",
|
|
3227
|
+
style: L(g.value)
|
|
3228
|
+
}, [p.value && (j(h) || d.value) ? (f(), k("div", Ma, [d.value ? (f(), k(R, { key: 0 }, [V(j(_i), {
|
|
3229
|
+
class: "tpl-spinner",
|
|
3230
|
+
size: 20,
|
|
3231
|
+
"stroke-width": 2
|
|
3232
|
+
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(Pi), {
|
|
3233
|
+
size: 20,
|
|
3234
|
+
"stroke-width": 1.5
|
|
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", {
|
|
3078
3236
|
key: 0,
|
|
3079
3237
|
href: e.block.linkUrl,
|
|
3080
3238
|
target: "_blank",
|
|
@@ -3085,23 +3243,23 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3085
3243
|
loading: "lazy",
|
|
3086
3244
|
src: e.block.placeholderUrl,
|
|
3087
3245
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3088
|
-
style: L(
|
|
3089
|
-
}, null, 12,
|
|
3246
|
+
style: L(_.value)
|
|
3247
|
+
}, null, 12, Pa)], 8, Na)) : (f(), k("img", {
|
|
3090
3248
|
key: 1,
|
|
3091
3249
|
class: "tpl:border-0",
|
|
3092
3250
|
src: e.block.placeholderUrl,
|
|
3093
3251
|
alt: e.block.alt,
|
|
3094
|
-
style: L(
|
|
3095
|
-
}, null, 12,
|
|
3096
|
-
key:
|
|
3252
|
+
style: L(_.value)
|
|
3253
|
+
}, null, 12, Fa))], 64)) : e.block.src && y.value ? (f(), k("div", {
|
|
3254
|
+
key: 2,
|
|
3097
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)]",
|
|
3098
|
-
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" },
|
|
3099
|
-
}, [V(j(
|
|
3256
|
+
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, _.value])
|
|
3257
|
+
}, [V(j(hi), {
|
|
3100
3258
|
size: 32,
|
|
3101
3259
|
"stroke-width": 1.5,
|
|
3102
3260
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3103
3261
|
style: { opacity: "0.5" }
|
|
3104
|
-
}), 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", {
|
|
3105
3263
|
key: 0,
|
|
3106
3264
|
href: e.block.linkUrl,
|
|
3107
3265
|
target: "_blank",
|
|
@@ -3112,27 +3270,27 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3112
3270
|
loading: "lazy",
|
|
3113
3271
|
src: e.block.src,
|
|
3114
3272
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3115
|
-
style: L(
|
|
3116
|
-
}, null, 12,
|
|
3273
|
+
style: L(_.value)
|
|
3274
|
+
}, null, 12, Ra)], 8, La)) : (f(), k("img", {
|
|
3117
3275
|
key: 1,
|
|
3118
3276
|
class: "tpl:border-0",
|
|
3119
3277
|
src: e.block.src,
|
|
3120
3278
|
alt: e.block.alt,
|
|
3121
|
-
style: L(
|
|
3122
|
-
}, null, 12,
|
|
3279
|
+
style: L(_.value)
|
|
3280
|
+
}, null, 12, za))], 64)) : (f(), k("div", Ba, [s.value ? (f(), k("button", {
|
|
3123
3281
|
key: 0,
|
|
3124
3282
|
"aria-label": j(i).image.browseMedia,
|
|
3125
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)]",
|
|
3126
3284
|
onClick: M(l, ["stop"])
|
|
3127
|
-
}, [V(j(
|
|
3285
|
+
}, [V(j(hi), {
|
|
3128
3286
|
size: 14,
|
|
3129
3287
|
"stroke-width": 1.5
|
|
3130
|
-
}), 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));
|
|
3131
3289
|
}
|
|
3132
|
-
}),
|
|
3290
|
+
}), Wa = { class: "tpl:w-full" }, Ga = ["href"], Ka = {
|
|
3133
3291
|
key: 1,
|
|
3134
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)]"
|
|
3135
|
-
},
|
|
3293
|
+
}, qa = /* @__PURE__ */ B({
|
|
3136
3294
|
__name: "MenuBlock",
|
|
3137
3295
|
props: {
|
|
3138
3296
|
block: {},
|
|
@@ -3151,7 +3309,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3151
3309
|
function a(e) {
|
|
3152
3310
|
return e || t.block.linkColor || t.block.color;
|
|
3153
3311
|
}
|
|
3154
|
-
return (t, o) => (f(), k("div",
|
|
3312
|
+
return (t, o) => (f(), k("div", Wa, [i.value ? (f(), k("div", {
|
|
3155
3313
|
key: 0,
|
|
3156
3314
|
style: L(r.value)
|
|
3157
3315
|
}, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
|
|
@@ -3163,15 +3321,15 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3163
3321
|
textDecoration: t.underline ? "underline" : "none"
|
|
3164
3322
|
}),
|
|
3165
3323
|
onClick: o[0] ||= M(() => {}, ["prevent"])
|
|
3166
|
-
}, D(t.text || "..."), 13,
|
|
3324
|
+
}, D(t.text || "..."), 13, Ga), n < e.block.items.length - 1 ? (f(), k("span", {
|
|
3167
3325
|
key: 0,
|
|
3168
3326
|
style: L({
|
|
3169
3327
|
color: e.block.separatorColor,
|
|
3170
3328
|
padding: `0 ${e.block.spacing}px`
|
|
3171
3329
|
})
|
|
3172
|
-
}, 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)]))]));
|
|
3173
3331
|
}
|
|
3174
|
-
}),
|
|
3332
|
+
}), Ja = /* @__PURE__ */ new Set([
|
|
3175
3333
|
"http",
|
|
3176
3334
|
"https",
|
|
3177
3335
|
"mailto",
|
|
@@ -3181,7 +3339,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3181
3339
|
"sms",
|
|
3182
3340
|
"xmpp",
|
|
3183
3341
|
"cid"
|
|
3184
|
-
]),
|
|
3342
|
+
]), Ya = /* @__PURE__ */ new Set([
|
|
3185
3343
|
"SCRIPT",
|
|
3186
3344
|
"STYLE",
|
|
3187
3345
|
"IFRAME",
|
|
@@ -3191,7 +3349,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3191
3349
|
"META",
|
|
3192
3350
|
"BASE",
|
|
3193
3351
|
"FORM"
|
|
3194
|
-
]),
|
|
3352
|
+
]), Xa = /* @__PURE__ */ new Set([
|
|
3195
3353
|
"href",
|
|
3196
3354
|
"xlink:href",
|
|
3197
3355
|
"formaction",
|
|
@@ -3200,16 +3358,16 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3200
3358
|
"background",
|
|
3201
3359
|
"poster"
|
|
3202
3360
|
]);
|
|
3203
|
-
function
|
|
3361
|
+
function Za(e, t) {
|
|
3204
3362
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
3205
3363
|
if (!n || n.startsWith("#")) return !0;
|
|
3206
3364
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
3207
3365
|
if (!r) return !0;
|
|
3208
3366
|
let i = r[1].toLowerCase();
|
|
3209
|
-
return
|
|
3367
|
+
return Ja.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
3210
3368
|
}
|
|
3211
|
-
function
|
|
3212
|
-
if (
|
|
3369
|
+
function Qa(e) {
|
|
3370
|
+
if (Ya.has(e.tagName)) {
|
|
3213
3371
|
e.remove();
|
|
3214
3372
|
return;
|
|
3215
3373
|
}
|
|
@@ -3221,29 +3379,29 @@ function Ba(e) {
|
|
|
3221
3379
|
e.removeAttribute(n);
|
|
3222
3380
|
continue;
|
|
3223
3381
|
}
|
|
3224
|
-
if (
|
|
3225
|
-
|
|
3382
|
+
if (Xa.has(t)) {
|
|
3383
|
+
Za(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
3226
3384
|
continue;
|
|
3227
3385
|
}
|
|
3228
3386
|
if (t === "src") {
|
|
3229
|
-
|
|
3387
|
+
Za(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
3230
3388
|
continue;
|
|
3231
3389
|
}
|
|
3232
3390
|
t === "srcdoc" && e.removeAttribute(n);
|
|
3233
3391
|
}
|
|
3234
3392
|
let n = Array.from(e.children);
|
|
3235
|
-
for (let e of n)
|
|
3393
|
+
for (let e of n) Qa(e);
|
|
3236
3394
|
}
|
|
3237
|
-
function
|
|
3395
|
+
function $a(e) {
|
|
3238
3396
|
if (typeof DOMParser > "u") return e;
|
|
3239
3397
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
3240
|
-
for (let e of n)
|
|
3398
|
+
for (let e of n) Qa(e);
|
|
3241
3399
|
return t.innerHTML;
|
|
3242
3400
|
}
|
|
3243
3401
|
//#endregion
|
|
3244
3402
|
//#region src/composables/useEditableTextBlock.ts
|
|
3245
|
-
function
|
|
3246
|
-
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(() => ({
|
|
3247
3405
|
top: o.value - 8,
|
|
3248
3406
|
left: s.value
|
|
3249
3407
|
}));
|
|
@@ -3264,14 +3422,14 @@ function Ha(e) {
|
|
|
3264
3422
|
}
|
|
3265
3423
|
//#endregion
|
|
3266
3424
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3267
|
-
var
|
|
3425
|
+
var to = ["innerHTML"], no = /* @__PURE__ */ B({
|
|
3268
3426
|
__name: "ParagraphBlock",
|
|
3269
3427
|
props: {
|
|
3270
3428
|
block: {},
|
|
3271
3429
|
viewport: {}
|
|
3272
3430
|
},
|
|
3273
3431
|
setup(e) {
|
|
3274
|
-
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);
|
|
3275
3433
|
return (t, l) => (f(), k("div", {
|
|
3276
3434
|
ref_key: "blockRef",
|
|
3277
3435
|
ref: i,
|
|
@@ -3290,41 +3448,46 @@ var Ua = ["innerHTML"], Wa = /* @__PURE__ */ B({
|
|
|
3290
3448
|
key: 1,
|
|
3291
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",
|
|
3292
3450
|
innerHTML: j(o)
|
|
3293
|
-
}, null, 8,
|
|
3451
|
+
}, null, 8, to))], 544));
|
|
3294
3452
|
}
|
|
3295
3453
|
});
|
|
3296
3454
|
//#endregion
|
|
3297
3455
|
//#region src/utils/blockComponentResolver.ts
|
|
3298
|
-
function
|
|
3456
|
+
function ro(e, t, n) {
|
|
3299
3457
|
if (t) {
|
|
3300
3458
|
let n = t.getComponent(e);
|
|
3301
3459
|
if (n) return n;
|
|
3302
3460
|
}
|
|
3303
3461
|
return n[e.type] ?? null;
|
|
3304
3462
|
}
|
|
3305
|
-
function
|
|
3306
|
-
let { padding: t, backgroundColor: n } = e.styles
|
|
3307
|
-
return {
|
|
3463
|
+
function io(e) {
|
|
3464
|
+
let { padding: t, backgroundColor: n } = e.styles, r = {
|
|
3308
3465
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
3309
3466
|
backgroundColor: n || "transparent"
|
|
3310
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;
|
|
3311
3474
|
}
|
|
3312
3475
|
//#endregion
|
|
3313
3476
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
3314
|
-
var
|
|
3477
|
+
var oo = ["data-block-id", "data-block-type"], so = ["aria-label"], co = [
|
|
3315
3478
|
"aria-label",
|
|
3316
3479
|
"aria-pressed",
|
|
3317
3480
|
"title"
|
|
3318
|
-
],
|
|
3481
|
+
], lo = ["aria-label", "title"], uo = ["aria-label", "title"], fo = ["aria-label", "title"], po = {
|
|
3319
3482
|
key: 1,
|
|
3320
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"
|
|
3321
|
-
},
|
|
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 = {
|
|
3322
3485
|
key: 2,
|
|
3323
3486
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
3324
|
-
},
|
|
3487
|
+
}, go = ["aria-label", "title"], _o = {
|
|
3325
3488
|
key: 3,
|
|
3326
3489
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
3327
|
-
},
|
|
3490
|
+
}, vo = ["aria-label"], yo = /*#__PURE__*/ Vi(/* @__PURE__ */ B({
|
|
3328
3491
|
__name: "BlockWrapper",
|
|
3329
3492
|
props: {
|
|
3330
3493
|
block: {},
|
|
@@ -3334,7 +3497,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3334
3497
|
},
|
|
3335
3498
|
emits: ["select"],
|
|
3336
3499
|
setup(e, { emit: t }) {
|
|
3337
|
-
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);
|
|
3338
3501
|
async function p() {
|
|
3339
3502
|
await m(), l.value?.focus();
|
|
3340
3503
|
}
|
|
@@ -3360,26 +3523,26 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3360
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 ? {
|
|
3361
3524
|
desktop: a.viewport.desktop,
|
|
3362
3525
|
mobile: a.viewport.mobile
|
|
3363
|
-
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(zn, null), S = v(Bn, null), w = v(
|
|
3364
|
-
let e =
|
|
3365
|
-
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 = {
|
|
3366
3528
|
padding: e.padding,
|
|
3367
3529
|
backgroundColor: e.backgroundColor
|
|
3368
3530
|
};
|
|
3369
|
-
|
|
3370
|
-
|
|
3531
|
+
return e.borderRadius && (t.borderRadius = e.borderRadius), t;
|
|
3532
|
+
}), ne = O(() => ao(r.block));
|
|
3533
|
+
function re(e) {
|
|
3371
3534
|
r.previewMode || (e.stopPropagation(), i("select"));
|
|
3372
3535
|
}
|
|
3373
|
-
function
|
|
3536
|
+
function N() {
|
|
3374
3537
|
x?.deleteBlock(r.block.id);
|
|
3375
3538
|
}
|
|
3376
|
-
function
|
|
3539
|
+
function ie() {
|
|
3377
3540
|
x?.duplicateBlock(r.block);
|
|
3378
3541
|
}
|
|
3379
|
-
function
|
|
3542
|
+
function P() {
|
|
3380
3543
|
w.savedModules?.openSaveDialog(r.block.id);
|
|
3381
3544
|
}
|
|
3382
|
-
function
|
|
3545
|
+
function ae() {
|
|
3383
3546
|
S?.toggleBlock(r.block.id);
|
|
3384
3547
|
}
|
|
3385
3548
|
return (t, r) => _.value ? A("", !0) : (f(), k("div", {
|
|
@@ -3391,7 +3554,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3391
3554
|
}]),
|
|
3392
3555
|
"data-block-id": e.block.id,
|
|
3393
3556
|
"data-block-type": e.block.type,
|
|
3394
|
-
onClick:
|
|
3557
|
+
onClick: re
|
|
3395
3558
|
}, [
|
|
3396
3559
|
V(j(n), { "block-id": e.block.id }, null, 8, ["block-id"]),
|
|
3397
3560
|
e.isSelected ? (f(), k("div", {
|
|
@@ -3409,90 +3572,98 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3409
3572
|
"aria-keyshortcuts": "Space Enter ArrowUp ArrowDown Escape",
|
|
3410
3573
|
title: j(a).blockActions.drag,
|
|
3411
3574
|
onKeydown: h
|
|
3412
|
-
}, [V(j(
|
|
3575
|
+
}, [V(j(pi), {
|
|
3413
3576
|
size: 14,
|
|
3414
3577
|
"stroke-width": 1.5
|
|
3415
|
-
})], 40,
|
|
3578
|
+
})], 40, co),
|
|
3416
3579
|
I("button", {
|
|
3417
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",
|
|
3418
3581
|
"aria-label": j(a).blockActions.duplicate,
|
|
3419
3582
|
title: j(a).blockActions.duplicate,
|
|
3420
|
-
onClick: M(
|
|
3583
|
+
onClick: M(ie, ["stop"])
|
|
3421
3584
|
}, [V(j(si), {
|
|
3422
3585
|
size: 14,
|
|
3423
3586
|
"stroke-width": 1.5
|
|
3424
|
-
})], 8,
|
|
3425
|
-
|
|
3587
|
+
})], 8, lo),
|
|
3588
|
+
T.value ? (f(), k("button", {
|
|
3426
3589
|
key: 0,
|
|
3427
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",
|
|
3428
3591
|
"aria-label": j(a).blockActions.saveAsModule,
|
|
3429
3592
|
title: j(a).blockActions.saveAsModule,
|
|
3430
|
-
onClick: M(
|
|
3431
|
-
}, [V(j(
|
|
3593
|
+
onClick: M(P, ["stop"])
|
|
3594
|
+
}, [V(j(Xr), {
|
|
3432
3595
|
size: 14,
|
|
3433
3596
|
"stroke-width": 1.5
|
|
3434
|
-
})], 8,
|
|
3597
|
+
})], 8, uo)) : A("", !0),
|
|
3435
3598
|
I("button", {
|
|
3436
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",
|
|
3437
3600
|
"aria-label": j(a).blockActions.delete,
|
|
3438
3601
|
title: j(a).blockActions.delete,
|
|
3439
|
-
onClick: M(
|
|
3440
|
-
}, [V(j(
|
|
3602
|
+
onClick: M(N, ["stop"])
|
|
3603
|
+
}, [V(j(ji), {
|
|
3441
3604
|
size: 14,
|
|
3442
3605
|
"stroke-width": 1.5
|
|
3443
|
-
})], 8,
|
|
3444
|
-
], 8,
|
|
3445
|
-
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), {
|
|
3446
3609
|
size: 12,
|
|
3447
3610
|
"stroke-width": 1.5
|
|
3448
3611
|
}), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
|
|
3449
|
-
b.value && !g.value ? (f(), k("div",
|
|
3612
|
+
b.value && !g.value ? (f(), k("div", ho, [I("button", {
|
|
3450
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)]",
|
|
3451
3614
|
"aria-label": j(a).blockActions.conditionToggle,
|
|
3452
3615
|
title: e.block.displayCondition?.label,
|
|
3453
|
-
onClick: M(
|
|
3454
|
-
}, [V(j(
|
|
3616
|
+
onClick: M(ae, ["stop"])
|
|
3617
|
+
}, [V(j(fi), {
|
|
3455
3618
|
size: 12,
|
|
3456
3619
|
"stroke-width": 2
|
|
3457
|
-
})], 8,
|
|
3458
|
-
|
|
3620
|
+
})], 8, go)])) : A("", !0),
|
|
3621
|
+
ee.value > 0 && !g.value ? (f(), k("div", _o, [I("button", {
|
|
3459
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)]",
|
|
3460
|
-
"aria-label": j(s)(j(a).blockActions.comments, { count: String(
|
|
3623
|
+
"aria-label": j(s)(j(a).blockActions.comments, { count: String(ee.value) }),
|
|
3461
3624
|
onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
|
|
3462
|
-
}, [V(j(
|
|
3625
|
+
}, [V(j(vi), {
|
|
3463
3626
|
size: 12,
|
|
3464
3627
|
"stroke-width": 2.5
|
|
3465
|
-
}), z(" " + D(
|
|
3466
|
-
|
|
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", {
|
|
3467
3634
|
class: "tpl-block-content",
|
|
3468
3635
|
style: L(te.value)
|
|
3469
|
-
}, [o(t.$slots, "default", {}, void 0, !0)], 4)
|
|
3470
|
-
|
|
3636
|
+
}, [o(t.$slots, "default", {}, void 0, !0)], 4)], 4)) : (f(), k("div", {
|
|
3637
|
+
key: 5,
|
|
3638
|
+
class: "tpl-block-content",
|
|
3639
|
+
style: L(te.value)
|
|
3640
|
+
}, [o(t.$slots, "default", {}, void 0, !0)], 4))
|
|
3641
|
+
], 10, oo));
|
|
3471
3642
|
}
|
|
3472
|
-
}), [["__scopeId", "data-v-
|
|
3643
|
+
}), [["__scopeId", "data-v-7aeef19d"]]);
|
|
3473
3644
|
//#endregion
|
|
3474
3645
|
//#region src/utils/unwrapParagraph.ts
|
|
3475
|
-
function
|
|
3646
|
+
function bo(e) {
|
|
3476
3647
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
3477
3648
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
3478
3649
|
}
|
|
3479
3650
|
//#endregion
|
|
3480
3651
|
//#region src/components/blocks/TitleBlock.vue
|
|
3481
|
-
var
|
|
3652
|
+
var xo = /* @__PURE__ */ B({
|
|
3482
3653
|
__name: "TitleBlock",
|
|
3483
3654
|
props: {
|
|
3484
3655
|
block: {},
|
|
3485
3656
|
viewport: {}
|
|
3486
3657
|
},
|
|
3487
3658
|
setup(e) {
|
|
3488
|
-
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(() => {
|
|
3489
3660
|
let e = {
|
|
3490
3661
|
fontSize: `${pe[t.block.level]}px`,
|
|
3491
3662
|
color: t.block.color,
|
|
3492
3663
|
textAlign: t.block.textAlign
|
|
3493
3664
|
};
|
|
3494
3665
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
3495
|
-
}), u = O(() => `h${t.block.level}`), p = O(() =>
|
|
3666
|
+
}), u = O(() => `h${t.block.level}`), p = O(() => bo(o.value));
|
|
3496
3667
|
return (t, o) => (f(), k("div", {
|
|
3497
3668
|
ref_key: "blockRef",
|
|
3498
3669
|
ref: i,
|
|
@@ -3515,11 +3686,19 @@ var so = /* @__PURE__ */ B({
|
|
|
3515
3686
|
innerHTML: p.value
|
|
3516
3687
|
}, null, 8, ["innerHTML"]))], 36));
|
|
3517
3688
|
}
|
|
3518
|
-
})
|
|
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 = {
|
|
3519
3698
|
key: 0,
|
|
3520
3699
|
"data-testid": "section-drop-hint",
|
|
3521
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)]"
|
|
3522
|
-
},
|
|
3701
|
+
}, Eo = /* @__PURE__ */ B({
|
|
3523
3702
|
__name: "SectionBlock",
|
|
3524
3703
|
props: {
|
|
3525
3704
|
block: {},
|
|
@@ -3527,12 +3706,12 @@ var so = /* @__PURE__ */ B({
|
|
|
3527
3706
|
},
|
|
3528
3707
|
setup(e) {
|
|
3529
3708
|
let t = {
|
|
3530
|
-
title:
|
|
3531
|
-
paragraph:
|
|
3532
|
-
image:
|
|
3533
|
-
button:
|
|
3534
|
-
divider:
|
|
3535
|
-
custom:
|
|
3709
|
+
title: xo,
|
|
3710
|
+
paragraph: no,
|
|
3711
|
+
image: Ua,
|
|
3712
|
+
button: Br,
|
|
3713
|
+
divider: Ca,
|
|
3714
|
+
custom: xa
|
|
3536
3715
|
}, n = e, { t: r } = Y(), i = J(Ln, "SectionBlock"), a = v(Bn, null), o = v(Gn, null), s = O(() => {
|
|
3537
3716
|
switch (n.block.columns) {
|
|
3538
3717
|
case "2": return ["50%", "50%"];
|
|
@@ -3559,7 +3738,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3559
3738
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3560
3739
|
}
|
|
3561
3740
|
function m(e) {
|
|
3562
|
-
return
|
|
3741
|
+
return ro(e, o, t);
|
|
3563
3742
|
}
|
|
3564
3743
|
function g(e, t) {
|
|
3565
3744
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
@@ -3567,7 +3746,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3567
3746
|
dataSourceFetched: t.dataSourceFetched
|
|
3568
3747
|
});
|
|
3569
3748
|
}
|
|
3570
|
-
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", {
|
|
3571
3750
|
key: n,
|
|
3572
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)]" : ""]),
|
|
3573
3752
|
style: L({ width: s.value[n] })
|
|
@@ -3576,7 +3755,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3576
3755
|
group: {
|
|
3577
3756
|
name: "blocks",
|
|
3578
3757
|
pull: !0,
|
|
3579
|
-
put: (e, t, n) => n
|
|
3758
|
+
put: (e, t, n) => j(So)(n)
|
|
3580
3759
|
},
|
|
3581
3760
|
animation: 150,
|
|
3582
3761
|
"ghost-class": "tpl-ghost",
|
|
@@ -3589,7 +3768,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3589
3768
|
class: "tpl:min-h-[60px]",
|
|
3590
3769
|
"onUpdate:modelValue": (e) => p(n, e)
|
|
3591
3770
|
}, {
|
|
3592
|
-
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, {
|
|
3593
3772
|
block: t,
|
|
3594
3773
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3595
3774
|
viewport: e.viewport,
|
|
@@ -3620,13 +3799,13 @@ var so = /* @__PURE__ */ B({
|
|
|
3620
3799
|
"model-value",
|
|
3621
3800
|
"group",
|
|
3622
3801
|
"onUpdate:modelValue"
|
|
3623
|
-
]), 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))])]));
|
|
3624
3803
|
}
|
|
3625
|
-
}),
|
|
3804
|
+
}), Do = me, Oo = {
|
|
3626
3805
|
small: 24,
|
|
3627
3806
|
medium: 32,
|
|
3628
3807
|
large: 48
|
|
3629
|
-
},
|
|
3808
|
+
}, ko = [
|
|
3630
3809
|
"facebook",
|
|
3631
3810
|
"twitter",
|
|
3632
3811
|
"instagram",
|
|
@@ -3644,11 +3823,11 @@ var so = /* @__PURE__ */ B({
|
|
|
3644
3823
|
"github",
|
|
3645
3824
|
"dribbble",
|
|
3646
3825
|
"behance"
|
|
3647
|
-
],
|
|
3826
|
+
], Ao = [
|
|
3648
3827
|
"width",
|
|
3649
3828
|
"height",
|
|
3650
3829
|
"fill"
|
|
3651
|
-
],
|
|
3830
|
+
], jo = ["d"], Mo = /* @__PURE__ */ B({
|
|
3652
3831
|
__name: "SocialIconSvg",
|
|
3653
3832
|
props: {
|
|
3654
3833
|
platform: {},
|
|
@@ -3656,7 +3835,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3656
3835
|
iconSize: {}
|
|
3657
3836
|
},
|
|
3658
3837
|
setup(e) {
|
|
3659
|
-
let t = e, n = O(() =>
|
|
3838
|
+
let t = e, n = O(() => Do[t.platform]), r = O(() => Oo[t.iconSize]), i = O(() => {
|
|
3660
3839
|
let e = {
|
|
3661
3840
|
display: "inline-flex",
|
|
3662
3841
|
alignItems: "center",
|
|
@@ -3700,12 +3879,12 @@ var so = /* @__PURE__ */ B({
|
|
|
3700
3879
|
viewBox: "0 0 24 24",
|
|
3701
3880
|
fill: o.value,
|
|
3702
3881
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3703
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3882
|
+
}, [I("path", { d: n.value.path }, null, 8, jo)], 8, Ao))], 4));
|
|
3704
3883
|
}
|
|
3705
|
-
}),
|
|
3884
|
+
}), No = { class: "tpl:w-full" }, Po = ["href"], Fo = {
|
|
3706
3885
|
key: 1,
|
|
3707
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)]"
|
|
3708
|
-
},
|
|
3887
|
+
}, Io = /* @__PURE__ */ B({
|
|
3709
3888
|
__name: "SocialIconsBlock",
|
|
3710
3889
|
props: {
|
|
3711
3890
|
block: {},
|
|
@@ -3718,7 +3897,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3718
3897
|
gap: `${t.block.spacing}px`,
|
|
3719
3898
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3720
3899
|
})), i = O(() => t.block.icons.length > 0);
|
|
3721
|
-
return (t, a) => (f(), k("div",
|
|
3900
|
+
return (t, a) => (f(), k("div", No, [i.value ? (f(), k("div", {
|
|
3722
3901
|
key: 0,
|
|
3723
3902
|
style: L(r.value)
|
|
3724
3903
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3726,7 +3905,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3726
3905
|
href: t.url || "#",
|
|
3727
3906
|
class: "tpl:cursor-default",
|
|
3728
3907
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3729
|
-
}, [V(
|
|
3908
|
+
}, [V(Mo, {
|
|
3730
3909
|
platform: t.platform,
|
|
3731
3910
|
"icon-style": e.block.iconStyle,
|
|
3732
3911
|
"icon-size": e.block.iconSize
|
|
@@ -3734,16 +3913,16 @@ var so = /* @__PURE__ */ B({
|
|
|
3734
3913
|
"platform",
|
|
3735
3914
|
"icon-style",
|
|
3736
3915
|
"icon-size"
|
|
3737
|
-
])], 8,
|
|
3916
|
+
])], 8, Po))), 128))], 4)) : (f(), k("div", Fo, [V(j(Ei), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
3738
3917
|
}
|
|
3739
|
-
}),
|
|
3918
|
+
}), Lo = { class: "tpl:w-full" }, Ro = {
|
|
3740
3919
|
key: 0,
|
|
3741
3920
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3742
3921
|
style: {
|
|
3743
3922
|
"background-color": "var(--tpl-bg-hover)",
|
|
3744
3923
|
color: "var(--tpl-text-dim)"
|
|
3745
3924
|
}
|
|
3746
|
-
},
|
|
3925
|
+
}, zo = /* @__PURE__ */ B({
|
|
3747
3926
|
__name: "SpacerBlock",
|
|
3748
3927
|
props: {
|
|
3749
3928
|
block: {},
|
|
@@ -3755,23 +3934,23 @@ var so = /* @__PURE__ */ B({
|
|
|
3755
3934
|
minHeight: `${t.block.height}px`,
|
|
3756
3935
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3757
3936
|
}));
|
|
3758
|
-
return (t, i) => (f(), k("div",
|
|
3937
|
+
return (t, i) => (f(), k("div", Lo, [I("div", {
|
|
3759
3938
|
style: L(r.value),
|
|
3760
3939
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
3761
|
-
}, [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)]));
|
|
3762
3941
|
}
|
|
3763
|
-
}),
|
|
3942
|
+
}), Bo = { class: "tpl:w-full" }, Vo = { key: 0 }, Ho = [
|
|
3764
3943
|
"aria-label",
|
|
3765
3944
|
"data-placeholder",
|
|
3766
3945
|
"onBlur"
|
|
3767
|
-
],
|
|
3946
|
+
], Uo = [
|
|
3768
3947
|
"aria-label",
|
|
3769
3948
|
"data-placeholder",
|
|
3770
3949
|
"onBlur"
|
|
3771
|
-
],
|
|
3950
|
+
], Wo = {
|
|
3772
3951
|
key: 1,
|
|
3773
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)]"
|
|
3774
|
-
},
|
|
3953
|
+
}, Go = /*#__PURE__*/ Vi(/* @__PURE__ */ B({
|
|
3775
3954
|
__name: "TableBlock",
|
|
3776
3955
|
props: {
|
|
3777
3956
|
block: {},
|
|
@@ -3814,31 +3993,31 @@ var so = /* @__PURE__ */ B({
|
|
|
3814
3993
|
} : n);
|
|
3815
3994
|
i.updateBlock(n.block.id, { rows: o });
|
|
3816
3995
|
}
|
|
3817
|
-
return (e, n) => (f(), k("div",
|
|
3996
|
+
return (e, n) => (f(), k("div", Bo, [a.value ? (f(), k("table", {
|
|
3818
3997
|
key: 0,
|
|
3819
3998
|
style: L(o.value),
|
|
3820
3999
|
class: "tpl-table-editable"
|
|
3821
|
-
}, [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", {
|
|
3822
4001
|
key: e.id,
|
|
3823
4002
|
style: L(l.value),
|
|
3824
4003
|
"aria-label": j(r).table.cellPlaceholder,
|
|
3825
4004
|
contenteditable: "true",
|
|
3826
4005
|
"data-placeholder": j(r).table.cellPlaceholder,
|
|
3827
4006
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
3828
|
-
onKeydown: n[0] ||=
|
|
4007
|
+
onKeydown: n[0] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3829
4008
|
onClick: M(p, ["stop"])
|
|
3830
|
-
}, 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", {
|
|
3831
4010
|
key: i.id,
|
|
3832
4011
|
style: L(s.value),
|
|
3833
4012
|
"aria-label": j(r).table.cellPlaceholder,
|
|
3834
4013
|
contenteditable: "true",
|
|
3835
4014
|
"data-placeholder": j(r).table.cellPlaceholder,
|
|
3836
4015
|
onBlur: (t) => m(e.id, i.id, t),
|
|
3837
|
-
onKeydown: n[1] ||=
|
|
4016
|
+
onKeydown: n[1] ||= ee(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3838
4017
|
onClick: M(p, ["stop"])
|
|
3839
|
-
}, 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)]))]));
|
|
3840
4019
|
}
|
|
3841
|
-
}), [["__scopeId", "data-v-
|
|
4020
|
+
}), [["__scopeId", "data-v-f065872a"]]), Ko = /* @__PURE__ */ B({
|
|
3842
4021
|
__name: "VideoPlayButton",
|
|
3843
4022
|
props: { hoverEffect: {
|
|
3844
4023
|
type: Boolean,
|
|
@@ -3856,7 +4035,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3856
4035
|
});
|
|
3857
4036
|
//#endregion
|
|
3858
4037
|
//#region src/utils/videoThumbnail.ts
|
|
3859
|
-
function
|
|
4038
|
+
function qo(e) {
|
|
3860
4039
|
if (!e) return {
|
|
3861
4040
|
platform: "unknown",
|
|
3862
4041
|
videoId: null,
|
|
@@ -3888,25 +4067,25 @@ function No(e) {
|
|
|
3888
4067
|
thumbnailUrl: null
|
|
3889
4068
|
};
|
|
3890
4069
|
}
|
|
3891
|
-
function
|
|
3892
|
-
return t ||
|
|
4070
|
+
function Jo(e, t) {
|
|
4071
|
+
return t || qo(e).thumbnailUrl;
|
|
3893
4072
|
}
|
|
3894
4073
|
//#endregion
|
|
3895
4074
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3896
|
-
var
|
|
4075
|
+
var Yo = ["src", "alt"], Xo = {
|
|
3897
4076
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3898
4077
|
style: { opacity: "0.7" }
|
|
3899
|
-
},
|
|
4078
|
+
}, Zo = ["href"], Qo = ["src", "alt"], $o = ["src", "alt"], es = {
|
|
3900
4079
|
key: 3,
|
|
3901
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)]"
|
|
3902
|
-
},
|
|
4081
|
+
}, ts = /* @__PURE__ */ B({
|
|
3903
4082
|
__name: "VideoBlock",
|
|
3904
4083
|
props: {
|
|
3905
4084
|
block: {},
|
|
3906
4085
|
viewport: {}
|
|
3907
4086
|
},
|
|
3908
4087
|
setup(e) {
|
|
3909
|
-
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(() => {
|
|
3910
4089
|
let e = t.block.align;
|
|
3911
4090
|
return {
|
|
3912
4091
|
maxWidth: "100%",
|
|
@@ -3927,16 +4106,16 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3927
4106
|
class: "tpl:w-full tpl:border-0",
|
|
3928
4107
|
src: e.block.placeholderUrl,
|
|
3929
4108
|
alt: e.block.alt
|
|
3930
|
-
}, null, 8,
|
|
4109
|
+
}, null, 8, Yo), V(Ko)], 4)) : i.value ? (f(), k("div", {
|
|
3931
4110
|
key: 1,
|
|
3932
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)]",
|
|
3933
4112
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
3934
|
-
}, [V(j(
|
|
4113
|
+
}, [V(j(Fi), {
|
|
3935
4114
|
size: 36,
|
|
3936
4115
|
"stroke-width": 1.5,
|
|
3937
4116
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3938
4117
|
style: { opacity: "0.5" }
|
|
3939
|
-
}), I("span",
|
|
4118
|
+
}), I("span", Xo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
3940
4119
|
key: 0,
|
|
3941
4120
|
href: e.block.url,
|
|
3942
4121
|
target: "_blank",
|
|
@@ -3948,7 +4127,7 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3948
4127
|
class: "tpl:w-full tpl:border-0",
|
|
3949
4128
|
src: a.value,
|
|
3950
4129
|
alt: e.block.alt
|
|
3951
|
-
}, null, 8,
|
|
4130
|
+
}, null, 8, Qo), V(Ko, { "hover-effect": "" })], 12, Zo)) : (f(), k("div", {
|
|
3952
4131
|
key: 1,
|
|
3953
4132
|
class: "tpl:relative tpl:inline-block",
|
|
3954
4133
|
style: L(s.value)
|
|
@@ -3956,31 +4135,31 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3956
4135
|
class: "tpl:w-full tpl:border-0",
|
|
3957
4136
|
src: a.value,
|
|
3958
4137
|
alt: e.block.alt
|
|
3959
|
-
}, null, 8,
|
|
4138
|
+
}, null, 8, $o), V(Ko)], 4))], 64)) : (f(), k("div", es, [V(j(Fi), {
|
|
3960
4139
|
size: 40,
|
|
3961
4140
|
"stroke-width": 1.5,
|
|
3962
4141
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
3963
4142
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
3964
4143
|
}
|
|
3965
|
-
}),
|
|
3966
|
-
section:
|
|
3967
|
-
title:
|
|
3968
|
-
paragraph:
|
|
3969
|
-
image:
|
|
3970
|
-
button:
|
|
3971
|
-
divider:
|
|
3972
|
-
video:
|
|
3973
|
-
social:
|
|
3974
|
-
menu:
|
|
3975
|
-
table:
|
|
3976
|
-
spacer:
|
|
3977
|
-
html:
|
|
3978
|
-
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))
|
|
3979
4158
|
};
|
|
3980
|
-
function
|
|
4159
|
+
function rs(e) {
|
|
3981
4160
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
3982
4161
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
3983
|
-
let { resolvedTheme: c } =
|
|
4162
|
+
let { resolvedTheme: c } = wr(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Er({
|
|
3984
4163
|
themeOverrides: u,
|
|
3985
4164
|
resolvedTheme: c,
|
|
3986
4165
|
extraStyles: e.themeExtraStyles
|
|
@@ -4005,13 +4184,13 @@ function Uo(e) {
|
|
|
4005
4184
|
g && (_ = H(f.isNavigating, (e) => {
|
|
4006
4185
|
e ? g.pause() : g.resume();
|
|
4007
4186
|
}));
|
|
4008
|
-
let v =
|
|
4187
|
+
let v = Cr(t, {
|
|
4009
4188
|
t: a,
|
|
4010
4189
|
format: o
|
|
4011
|
-
}), y =
|
|
4012
|
-
if (
|
|
4190
|
+
}), y = Ar();
|
|
4191
|
+
if (Fr(y, ns), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, xa);
|
|
4013
4192
|
function b(e) {
|
|
4014
|
-
for (let t of e) y.registerCustom(t,
|
|
4193
|
+
for (let t of e) y.registerCustom(t, xa);
|
|
4015
4194
|
}
|
|
4016
4195
|
let x = Fn();
|
|
4017
4196
|
if (s() && l(x.dispose), e.containerEl) {
|
|
@@ -4022,7 +4201,7 @@ function Uo(e) {
|
|
|
4022
4201
|
}, { capture: !0 });
|
|
4023
4202
|
}
|
|
4024
4203
|
function S(r) {
|
|
4025
|
-
x.isActive() &&
|
|
4204
|
+
x.isActive() && Lr(r, {
|
|
4026
4205
|
history: f,
|
|
4027
4206
|
selectBlock: (e) => t.selectBlock(e),
|
|
4028
4207
|
getSelectedBlockId: () => t.state.selectedBlockId,
|
|
@@ -4033,19 +4212,19 @@ function Uo(e) {
|
|
|
4033
4212
|
}
|
|
4034
4213
|
q(document, "keydown", S);
|
|
4035
4214
|
let w = C(null);
|
|
4036
|
-
p(
|
|
4037
|
-
let
|
|
4038
|
-
p(Yn, n.mergeTags?.tags ?? []), p(Xn,
|
|
4039
|
-
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({
|
|
4040
4219
|
content: t.content,
|
|
4041
4220
|
options: n.lint ?? {},
|
|
4042
4221
|
updateBlock: t.updateBlock,
|
|
4043
4222
|
updateSettings: t.updateSettings,
|
|
4044
4223
|
removeBlock: t.removeBlock
|
|
4045
4224
|
});
|
|
4046
|
-
p(
|
|
4047
|
-
function
|
|
4048
|
-
_?.(),
|
|
4225
|
+
p(lr, E);
|
|
4226
|
+
function ee() {
|
|
4227
|
+
_?.(), E?.destroy(), g?.destroy(), f.destroy();
|
|
4049
4228
|
}
|
|
4050
4229
|
return {
|
|
4051
4230
|
t: a,
|
|
@@ -4059,27 +4238,27 @@ function Uo(e) {
|
|
|
4059
4238
|
themeOverrides: u,
|
|
4060
4239
|
registry: y,
|
|
4061
4240
|
keyboardReorder: v,
|
|
4062
|
-
templateLint:
|
|
4241
|
+
templateLint: E,
|
|
4063
4242
|
popoverRoot: w,
|
|
4064
4243
|
registerCustomBlocks: b,
|
|
4065
|
-
destroy:
|
|
4244
|
+
destroy: ee
|
|
4066
4245
|
};
|
|
4067
4246
|
}
|
|
4068
4247
|
//#endregion
|
|
4069
4248
|
//#region src/composables/usePopoverRoot.ts
|
|
4070
|
-
function
|
|
4071
|
-
return v(
|
|
4249
|
+
function is() {
|
|
4250
|
+
return v(dr, C(null));
|
|
4072
4251
|
}
|
|
4073
4252
|
//#endregion
|
|
4074
4253
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4075
|
-
var
|
|
4254
|
+
var as = ["data-tpl-theme"], os = /* @__PURE__ */ B({
|
|
4076
4255
|
__name: "TplModal",
|
|
4077
4256
|
props: { visible: { type: Boolean } },
|
|
4078
4257
|
emits: ["close", "keydown"],
|
|
4079
4258
|
setup(e, { emit: t }) {
|
|
4080
4259
|
let n = e, r = t, i = C(null);
|
|
4081
|
-
|
|
4082
|
-
let a = v(Un), s =
|
|
4260
|
+
Ji(i, O(() => n.visible));
|
|
4261
|
+
let a = v(Un), s = is();
|
|
4083
4262
|
function c(e) {
|
|
4084
4263
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4085
4264
|
}
|
|
@@ -4108,11 +4287,11 @@ var Go = ["data-tpl-theme"], Ko = /* @__PURE__ */ B({
|
|
|
4108
4287
|
}, [I("div", {
|
|
4109
4288
|
ref_key: "dialogRef",
|
|
4110
4289
|
ref: i
|
|
4111
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4290
|
+
}, [o(t.$slots, "default")], 512)], 40, as)) : A("", !0)]),
|
|
4112
4291
|
_: 3
|
|
4113
4292
|
})], 8, ["to"])) : A("", !0);
|
|
4114
4293
|
}
|
|
4115
|
-
}),
|
|
4294
|
+
}), ss = class e {
|
|
4116
4295
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4117
4296
|
accessToken = null;
|
|
4118
4297
|
expiresAt = null;
|
|
@@ -4213,8 +4392,8 @@ var Go = ["data-tpl-theme"], Ko = /* @__PURE__ */ B({
|
|
|
4213
4392
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4214
4393
|
}
|
|
4215
4394
|
};
|
|
4216
|
-
function
|
|
4217
|
-
return e.mode === "direct" ? new
|
|
4395
|
+
function cs(e, t) {
|
|
4396
|
+
return e.mode === "direct" ? new ss({
|
|
4218
4397
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4219
4398
|
baseUrl: e.baseUrl,
|
|
4220
4399
|
requestOptions: {
|
|
@@ -4228,7 +4407,7 @@ function Jo(e, t) {
|
|
|
4228
4407
|
}
|
|
4229
4408
|
},
|
|
4230
4409
|
onError: t
|
|
4231
|
-
}) : new
|
|
4410
|
+
}) : new ss({
|
|
4232
4411
|
url: e.url,
|
|
4233
4412
|
baseUrl: e.baseUrl,
|
|
4234
4413
|
requestOptions: e.requestOptions,
|
|
@@ -4240,16 +4419,16 @@ function Jo(e, t) {
|
|
|
4240
4419
|
function Z(e, t) {
|
|
4241
4420
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4242
4421
|
}
|
|
4243
|
-
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`, $ = {
|
|
4244
4423
|
health: "/api/v1/health",
|
|
4245
|
-
"projects.config": `${
|
|
4246
|
-
"broadcasting.auth": `${
|
|
4247
|
-
"templates.store": `${
|
|
4424
|
+
"projects.config": `${ls}/config`,
|
|
4425
|
+
"broadcasting.auth": `${ls}/broadcasting/auth`,
|
|
4426
|
+
"templates.store": `${ls}/templates`,
|
|
4248
4427
|
"templates.show": `${Q}`,
|
|
4249
4428
|
"templates.update": `${Q}`,
|
|
4250
4429
|
"templates.destroy": `${Q}`,
|
|
4251
4430
|
"templates.export": `${Q}/export`,
|
|
4252
|
-
"templates.importFromBeefree": `${
|
|
4431
|
+
"templates.importFromBeefree": `${ls}/templates/import/from-beefree`,
|
|
4253
4432
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4254
4433
|
"snapshots.index": `${Q}/snapshots`,
|
|
4255
4434
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4260,31 +4439,31 @@ var Yo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Yo}/templates/{te
|
|
|
4260
4439
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4261
4440
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4262
4441
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4263
|
-
"ai.generate": `${
|
|
4264
|
-
"ai.conversationMessages": `${
|
|
4265
|
-
"ai.suggestions": `${
|
|
4266
|
-
"ai.rewriteText": `${
|
|
4267
|
-
"ai.score": `${
|
|
4268
|
-
"ai.fixFinding": `${
|
|
4269
|
-
"ai.generateFromDesign": `${
|
|
4270
|
-
"media.upload": `${
|
|
4271
|
-
"media.browse": `${
|
|
4272
|
-
"media.delete": `${
|
|
4273
|
-
"media.move": `${
|
|
4274
|
-
"media.update": `${
|
|
4275
|
-
"media.replace": `${
|
|
4276
|
-
"media.checkUsage": `${
|
|
4277
|
-
"media.frequentlyUsed": `${
|
|
4278
|
-
"media.importFromUrl": `${
|
|
4279
|
-
"folders.index": `${
|
|
4280
|
-
"folders.store": `${
|
|
4281
|
-
"folders.update": `${
|
|
4282
|
-
"folders.destroy": `${
|
|
4283
|
-
"savedModules.index": `${
|
|
4284
|
-
"savedModules.store": `${
|
|
4285
|
-
"savedModules.update": `${
|
|
4286
|
-
"savedModules.destroy": `${
|
|
4287
|
-
},
|
|
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 {
|
|
4288
4467
|
authManager;
|
|
4289
4468
|
constructor(e) {
|
|
4290
4469
|
this.authManager = e;
|
|
@@ -4470,14 +4649,14 @@ var Yo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Yo}/templates/{te
|
|
|
4470
4649
|
};
|
|
4471
4650
|
//#endregion
|
|
4472
4651
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4473
|
-
function
|
|
4652
|
+
function hs(e) {
|
|
4474
4653
|
return {
|
|
4475
4654
|
host: e.host,
|
|
4476
4655
|
port: e.port,
|
|
4477
4656
|
appKey: e.app_key
|
|
4478
4657
|
};
|
|
4479
4658
|
}
|
|
4480
|
-
var
|
|
4659
|
+
var gs = class {
|
|
4481
4660
|
pusher = null;
|
|
4482
4661
|
authManager;
|
|
4483
4662
|
config;
|
|
@@ -4489,7 +4668,7 @@ var ns = class {
|
|
|
4489
4668
|
if (this.pusher) return;
|
|
4490
4669
|
let e;
|
|
4491
4670
|
try {
|
|
4492
|
-
({default: e} = await import("./pusher-
|
|
4671
|
+
({default: e} = await import("./pusher-CdEqyLwF.js").then((e) => /* @__PURE__ */ t(e.t(), 1)));
|
|
4493
4672
|
} catch {
|
|
4494
4673
|
throw Error("Cloud features require the optional peer dependency 'pusher-js'. Install it with: npm install pusher-js");
|
|
4495
4674
|
}
|
|
@@ -4544,7 +4723,7 @@ var ns = class {
|
|
|
4544
4723
|
};
|
|
4545
4724
|
//#endregion
|
|
4546
4725
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4547
|
-
function
|
|
4726
|
+
function _s(e, t) {
|
|
4548
4727
|
let { operation: n, data: r } = t;
|
|
4549
4728
|
switch (n) {
|
|
4550
4729
|
case "add_block":
|
|
@@ -4572,11 +4751,11 @@ function rs(e, t) {
|
|
|
4572
4751
|
}
|
|
4573
4752
|
//#endregion
|
|
4574
4753
|
//#region ../core/src/cloud/editor.ts
|
|
4575
|
-
function
|
|
4754
|
+
function vs(e) {
|
|
4576
4755
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4577
4756
|
}
|
|
4578
|
-
function
|
|
4579
|
-
let t = new
|
|
4757
|
+
function ys(e) {
|
|
4758
|
+
let t = new ms(e.authManager), n = S({
|
|
4580
4759
|
template: null,
|
|
4581
4760
|
content: We(e.defaultFontFamily, e.templateDefaults),
|
|
4582
4761
|
selectedBlockId: null,
|
|
@@ -4682,7 +4861,7 @@ function as(e) {
|
|
|
4682
4861
|
let l;
|
|
4683
4862
|
if (r) {
|
|
4684
4863
|
let e = o(n.content.blocks, r);
|
|
4685
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
4864
|
+
if (!e || e.type !== "section" || i < 0 || i >= vs(e.columns)) return;
|
|
4686
4865
|
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4687
4866
|
} else l = n.content.blocks;
|
|
4688
4867
|
let [u] = a.blocks.splice(c, 1);
|
|
@@ -4723,17 +4902,17 @@ function as(e) {
|
|
|
4723
4902
|
n.isSaving = !1;
|
|
4724
4903
|
}
|
|
4725
4904
|
}
|
|
4726
|
-
async function
|
|
4905
|
+
async function T() {
|
|
4727
4906
|
if (n.template?.id) try {
|
|
4728
4907
|
await t.createSnapshot(n.template.id, n.content);
|
|
4729
4908
|
} catch (t) {
|
|
4730
4909
|
throw e.onError?.(t), t;
|
|
4731
4910
|
}
|
|
4732
4911
|
}
|
|
4733
|
-
function
|
|
4912
|
+
function E() {
|
|
4734
4913
|
return n.template?.id !== void 0;
|
|
4735
4914
|
}
|
|
4736
|
-
function
|
|
4915
|
+
function ee() {
|
|
4737
4916
|
n.isDirty = !0;
|
|
4738
4917
|
}
|
|
4739
4918
|
function D(e) {
|
|
@@ -4767,18 +4946,18 @@ function as(e) {
|
|
|
4767
4946
|
create: b,
|
|
4768
4947
|
load: C,
|
|
4769
4948
|
save: w,
|
|
4770
|
-
createSnapshot:
|
|
4771
|
-
hasTemplate:
|
|
4772
|
-
markDirty:
|
|
4949
|
+
createSnapshot: T,
|
|
4950
|
+
hasTemplate: E,
|
|
4951
|
+
markDirty: ee
|
|
4773
4952
|
};
|
|
4774
4953
|
}
|
|
4775
4954
|
//#endregion
|
|
4776
4955
|
//#region ../core/src/cloud/ai-chat.ts
|
|
4777
|
-
var
|
|
4778
|
-
function
|
|
4779
|
-
return `msg_${Date.now()}_${++
|
|
4956
|
+
var bs = 0;
|
|
4957
|
+
function xs() {
|
|
4958
|
+
return `msg_${Date.now()}_${++bs}`;
|
|
4780
4959
|
}
|
|
4781
|
-
function
|
|
4960
|
+
function Ss(e) {
|
|
4782
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);
|
|
4783
4962
|
function _(e, t) {
|
|
4784
4963
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -4872,14 +5051,14 @@ function cs(e) {
|
|
|
4872
5051
|
let v = n();
|
|
4873
5052
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
4874
5053
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
4875
|
-
let y =
|
|
5054
|
+
let y = xs();
|
|
4876
5055
|
a.value = [...a.value, {
|
|
4877
5056
|
id: y,
|
|
4878
5057
|
role: "user",
|
|
4879
5058
|
content: e,
|
|
4880
5059
|
timestamp: Date.now()
|
|
4881
5060
|
}];
|
|
4882
|
-
let b =
|
|
5061
|
+
let b = xs();
|
|
4883
5062
|
a.value = [...a.value, {
|
|
4884
5063
|
id: b,
|
|
4885
5064
|
role: "assistant",
|
|
@@ -4970,7 +5149,7 @@ function cs(e) {
|
|
|
4970
5149
|
}
|
|
4971
5150
|
//#endregion
|
|
4972
5151
|
//#region ../core/src/cloud/ai-config.ts
|
|
4973
|
-
function
|
|
5152
|
+
function Cs(e) {
|
|
4974
5153
|
function t(t) {
|
|
4975
5154
|
return e === !1 ? !1 : e?.[t] !== !1;
|
|
4976
5155
|
}
|
|
@@ -4981,7 +5160,7 @@ function ls(e) {
|
|
|
4981
5160
|
}
|
|
4982
5161
|
//#endregion
|
|
4983
5162
|
//#region ../core/src/cloud/template-scoring.ts
|
|
4984
|
-
function
|
|
5163
|
+
function ws(e) {
|
|
4985
5164
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
4986
5165
|
async function l(e, o) {
|
|
4987
5166
|
let s = n();
|
|
@@ -5126,7 +5305,7 @@ function us(e) {
|
|
|
5126
5305
|
}
|
|
5127
5306
|
//#endregion
|
|
5128
5307
|
//#region ../core/src/cloud/design-reference.ts
|
|
5129
|
-
function
|
|
5308
|
+
function Ts(e) {
|
|
5130
5309
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5131
5310
|
async function s(e) {
|
|
5132
5311
|
let s = n();
|
|
@@ -5189,8 +5368,8 @@ function ds(e) {
|
|
|
5189
5368
|
}
|
|
5190
5369
|
//#endregion
|
|
5191
5370
|
//#region ../core/src/cloud/comments.ts
|
|
5192
|
-
function
|
|
5193
|
-
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(() => {
|
|
5194
5373
|
let e = 0;
|
|
5195
5374
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5196
5375
|
return e;
|
|
@@ -5316,17 +5495,17 @@ function fs(e) {
|
|
|
5316
5495
|
u.value = !1;
|
|
5317
5496
|
}
|
|
5318
5497
|
}
|
|
5319
|
-
function
|
|
5498
|
+
function T(e) {
|
|
5320
5499
|
if (e.parent_id) {
|
|
5321
5500
|
let t = v(e.parent_id);
|
|
5322
5501
|
t && (t.replies = [...t.replies ?? [], e]);
|
|
5323
5502
|
} else c.value = [...c.value, e];
|
|
5324
5503
|
_("created", e);
|
|
5325
5504
|
}
|
|
5326
|
-
function
|
|
5505
|
+
function E(e) {
|
|
5327
5506
|
D(e.id, e), _("updated", e);
|
|
5328
5507
|
}
|
|
5329
|
-
function
|
|
5508
|
+
function ee(e, t) {
|
|
5330
5509
|
let n = v(e), r = n ? {
|
|
5331
5510
|
...n,
|
|
5332
5511
|
replies: [...n.replies ?? []]
|
|
@@ -5382,24 +5561,24 @@ function fs(e) {
|
|
|
5382
5561
|
editComment: x,
|
|
5383
5562
|
removeComment: S,
|
|
5384
5563
|
toggleResolve: w,
|
|
5385
|
-
applyRemoteCreate:
|
|
5386
|
-
applyRemoteUpdate:
|
|
5387
|
-
applyRemoteDelete:
|
|
5564
|
+
applyRemoteCreate: T,
|
|
5565
|
+
applyRemoteUpdate: E,
|
|
5566
|
+
applyRemoteDelete: ee
|
|
5388
5567
|
};
|
|
5389
5568
|
}
|
|
5390
5569
|
//#endregion
|
|
5391
5570
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5392
|
-
function
|
|
5571
|
+
function Ds(e) {
|
|
5393
5572
|
let { comments: t, channel: n } = e;
|
|
5394
5573
|
H(n, (e, n) => {
|
|
5395
5574
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5396
|
-
|
|
5575
|
+
Os(t, e);
|
|
5397
5576
|
});
|
|
5398
5577
|
}), l(() => {
|
|
5399
5578
|
n.value?.unbind("comment-broadcast");
|
|
5400
5579
|
});
|
|
5401
5580
|
}
|
|
5402
|
-
function
|
|
5581
|
+
function Os(e, t) {
|
|
5403
5582
|
switch (t.action) {
|
|
5404
5583
|
case "comment_created":
|
|
5405
5584
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5418,7 +5597,7 @@ function ms(e, t) {
|
|
|
5418
5597
|
}
|
|
5419
5598
|
//#endregion
|
|
5420
5599
|
//#region ../core/src/cloud/collaboration.ts
|
|
5421
|
-
var
|
|
5600
|
+
var ks = [
|
|
5422
5601
|
"pusher:member_added",
|
|
5423
5602
|
"pusher:member_removed",
|
|
5424
5603
|
"client-block_locked",
|
|
@@ -5426,10 +5605,10 @@ var hs = [
|
|
|
5426
5605
|
"client-operation",
|
|
5427
5606
|
"mcp-operation"
|
|
5428
5607
|
];
|
|
5429
|
-
function
|
|
5430
|
-
for (let t of
|
|
5608
|
+
function As(e) {
|
|
5609
|
+
for (let t of ks) e.unbind(t);
|
|
5431
5610
|
}
|
|
5432
|
-
var
|
|
5611
|
+
var js = [
|
|
5433
5612
|
"#3b82f6",
|
|
5434
5613
|
"#ef4444",
|
|
5435
5614
|
"#10b981",
|
|
@@ -5441,10 +5620,10 @@ var _s = [
|
|
|
5441
5620
|
"#6366f1",
|
|
5442
5621
|
"#14b8a6"
|
|
5443
5622
|
];
|
|
5444
|
-
function
|
|
5623
|
+
function Ms(e) {
|
|
5445
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 ?? "");
|
|
5446
5625
|
function u() {
|
|
5447
|
-
let e =
|
|
5626
|
+
let e = js[o % js.length];
|
|
5448
5627
|
return o++, e;
|
|
5449
5628
|
}
|
|
5450
5629
|
function d(e) {
|
|
@@ -5486,7 +5665,7 @@ function vs(e) {
|
|
|
5486
5665
|
function h(e) {
|
|
5487
5666
|
s = !0;
|
|
5488
5667
|
try {
|
|
5489
|
-
|
|
5668
|
+
_s(n, e);
|
|
5490
5669
|
} finally {
|
|
5491
5670
|
s = !1;
|
|
5492
5671
|
}
|
|
@@ -5506,7 +5685,7 @@ function vs(e) {
|
|
|
5506
5685
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5507
5686
|
s || (t && v(t), e && _(e));
|
|
5508
5687
|
}), H(r, (t, n) => {
|
|
5509
|
-
if (n &&
|
|
5688
|
+
if (n && As(n), !t) {
|
|
5510
5689
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5511
5690
|
return;
|
|
5512
5691
|
}
|
|
@@ -5538,7 +5717,7 @@ function vs(e) {
|
|
|
5538
5717
|
h(e);
|
|
5539
5718
|
});
|
|
5540
5719
|
}), l(() => {
|
|
5541
|
-
r.value &&
|
|
5720
|
+
r.value && As(r.value);
|
|
5542
5721
|
}), {
|
|
5543
5722
|
collaborators: i,
|
|
5544
5723
|
lockedBlocks: a,
|
|
@@ -5548,7 +5727,7 @@ function vs(e) {
|
|
|
5548
5727
|
}
|
|
5549
5728
|
//#endregion
|
|
5550
5729
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5551
|
-
function
|
|
5730
|
+
function Ns(e, t) {
|
|
5552
5731
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5553
5732
|
e.addBlock = (e, r, i, a) => {
|
|
5554
5733
|
n(e, r, i, a), t._broadcastOperation({
|
|
@@ -5603,11 +5782,11 @@ function ys(e, t) {
|
|
|
5603
5782
|
}
|
|
5604
5783
|
//#endregion
|
|
5605
5784
|
//#region ../core/src/cloud/web-socket.ts
|
|
5606
|
-
function
|
|
5785
|
+
function Ps(e) {
|
|
5607
5786
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5608
5787
|
async function s(e, s) {
|
|
5609
5788
|
if (a) return;
|
|
5610
|
-
a = new
|
|
5789
|
+
a = new gs({
|
|
5611
5790
|
authManager: t,
|
|
5612
5791
|
config: s,
|
|
5613
5792
|
onError: n
|
|
@@ -5635,8 +5814,8 @@ function bs(e) {
|
|
|
5635
5814
|
}
|
|
5636
5815
|
//#endregion
|
|
5637
5816
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5638
|
-
function
|
|
5639
|
-
let t = new
|
|
5817
|
+
function Fs(e) {
|
|
5818
|
+
let t = new ms(e.authManager), n = C([]), r = C(!1);
|
|
5640
5819
|
async function i(i) {
|
|
5641
5820
|
r.value = !0;
|
|
5642
5821
|
try {
|
|
@@ -5684,8 +5863,8 @@ function xs(e) {
|
|
|
5684
5863
|
}
|
|
5685
5864
|
//#endregion
|
|
5686
5865
|
//#region ../core/src/cloud/snapshots.ts
|
|
5687
|
-
function
|
|
5688
|
-
let t = new
|
|
5866
|
+
function Is(e) {
|
|
5867
|
+
let t = new ms(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5689
5868
|
async function a() {
|
|
5690
5869
|
r.value = !0;
|
|
5691
5870
|
try {
|
|
@@ -5717,8 +5896,8 @@ function Ss(e) {
|
|
|
5717
5896
|
}
|
|
5718
5897
|
//#endregion
|
|
5719
5898
|
//#region ../core/src/cloud/test-email.ts
|
|
5720
|
-
function
|
|
5721
|
-
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);
|
|
5722
5901
|
o && H(o, (e) => {
|
|
5723
5902
|
e && (d.value = t.testEmailConfig);
|
|
5724
5903
|
}, { immediate: !0 });
|
|
@@ -5754,8 +5933,8 @@ function Cs(e) {
|
|
|
5754
5933
|
}
|
|
5755
5934
|
//#endregion
|
|
5756
5935
|
//#region ../core/src/cloud/export.ts
|
|
5757
|
-
function
|
|
5758
|
-
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);
|
|
5759
5938
|
function a() {
|
|
5760
5939
|
let e = n?.();
|
|
5761
5940
|
return {
|
|
@@ -5781,8 +5960,8 @@ function ws(e) {
|
|
|
5781
5960
|
}
|
|
5782
5961
|
//#endregion
|
|
5783
5962
|
//#region ../core/src/cloud/plan-config.ts
|
|
5784
|
-
function
|
|
5785
|
-
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);
|
|
5786
5965
|
function s(e) {
|
|
5787
5966
|
return r.value?.features[e] ?? !1;
|
|
5788
5967
|
}
|
|
@@ -5808,11 +5987,11 @@ function Ts(e) {
|
|
|
5808
5987
|
}
|
|
5809
5988
|
//#endregion
|
|
5810
5989
|
//#region ../core/src/cloud/health-check.ts
|
|
5811
|
-
var
|
|
5812
|
-
function
|
|
5990
|
+
var Bs = 5e3;
|
|
5991
|
+
function Vs(e) {
|
|
5813
5992
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
5814
5993
|
}
|
|
5815
|
-
async function
|
|
5994
|
+
async function Hs(e, t) {
|
|
5816
5995
|
let n = performance.now();
|
|
5817
5996
|
try {
|
|
5818
5997
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -5864,7 +6043,7 @@ async function Os(e, t) {
|
|
|
5864
6043
|
};
|
|
5865
6044
|
}
|
|
5866
6045
|
}
|
|
5867
|
-
async function
|
|
6046
|
+
async function Us(e) {
|
|
5868
6047
|
if (!e?.host || !e?.app_key) return {
|
|
5869
6048
|
ok: !1,
|
|
5870
6049
|
error: "WebSocket configuration not available"
|
|
@@ -5880,7 +6059,7 @@ async function ks(e) {
|
|
|
5880
6059
|
ok: !1,
|
|
5881
6060
|
error: "WebSocket connection timed out"
|
|
5882
6061
|
});
|
|
5883
|
-
},
|
|
6062
|
+
}, Bs);
|
|
5884
6063
|
try {
|
|
5885
6064
|
n = new WebSocket(t);
|
|
5886
6065
|
} catch (t) {
|
|
@@ -5900,8 +6079,8 @@ async function ks(e) {
|
|
|
5900
6079
|
};
|
|
5901
6080
|
});
|
|
5902
6081
|
}
|
|
5903
|
-
async function
|
|
5904
|
-
let t = await
|
|
6082
|
+
async function Ws(e = {}) {
|
|
6083
|
+
let t = await Hs(Vs(e), e.authManager), n = await Us(t.wsConfig);
|
|
5905
6084
|
return {
|
|
5906
6085
|
api: t.api,
|
|
5907
6086
|
websocket: n,
|
|
@@ -5911,29 +6090,29 @@ async function As(e = {}) {
|
|
|
5911
6090
|
}
|
|
5912
6091
|
//#endregion
|
|
5913
6092
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
5914
|
-
function
|
|
6093
|
+
function Gs(e) {
|
|
5915
6094
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
5916
6095
|
H(n, (e, n) => {
|
|
5917
6096
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
5918
|
-
|
|
6097
|
+
_s(t, e), r?.(e);
|
|
5919
6098
|
});
|
|
5920
6099
|
});
|
|
5921
6100
|
}
|
|
5922
6101
|
//#endregion
|
|
5923
6102
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5924
|
-
var
|
|
6103
|
+
var Ks = {
|
|
5925
6104
|
key: 0,
|
|
5926
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)]"
|
|
5927
|
-
},
|
|
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 = {
|
|
5928
6107
|
key: 0,
|
|
5929
6108
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5930
|
-
},
|
|
6109
|
+
}, $s = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, ec = {
|
|
5931
6110
|
key: 1,
|
|
5932
6111
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5933
|
-
},
|
|
6112
|
+
}, tc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, nc = {
|
|
5934
6113
|
key: 2,
|
|
5935
6114
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
5936
|
-
},
|
|
6115
|
+
}, rc = {
|
|
5937
6116
|
key: 0,
|
|
5938
6117
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
5939
6118
|
style: {
|
|
@@ -5942,10 +6121,10 @@ var Ms = {
|
|
|
5942
6121
|
"max-width": "85%",
|
|
5943
6122
|
"box-shadow": "var(--tpl-shadow)"
|
|
5944
6123
|
}
|
|
5945
|
-
},
|
|
6124
|
+
}, ic = {
|
|
5946
6125
|
key: 1,
|
|
5947
6126
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
5948
|
-
},
|
|
6127
|
+
}, ac = {
|
|
5949
6128
|
key: 1,
|
|
5950
6129
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
5951
6130
|
style: {
|
|
@@ -5954,21 +6133,21 @@ var Ms = {
|
|
|
5954
6133
|
color: "var(--tpl-text)",
|
|
5955
6134
|
"box-shadow": "var(--tpl-shadow)"
|
|
5956
6135
|
}
|
|
5957
|
-
},
|
|
6136
|
+
}, oc = {
|
|
5958
6137
|
key: 0,
|
|
5959
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",
|
|
5960
6139
|
style: {
|
|
5961
6140
|
"background-color": "var(--tpl-danger-light)",
|
|
5962
6141
|
color: "var(--tpl-danger)"
|
|
5963
6142
|
}
|
|
5964
|
-
},
|
|
6143
|
+
}, sc = {
|
|
5965
6144
|
key: 1,
|
|
5966
6145
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
5967
6146
|
style: {
|
|
5968
6147
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
5969
6148
|
"backdrop-filter": "blur(2px)"
|
|
5970
6149
|
}
|
|
5971
|
-
},
|
|
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({
|
|
5972
6151
|
__name: "AiChatSidebar",
|
|
5973
6152
|
props: {
|
|
5974
6153
|
visible: { type: Boolean },
|
|
@@ -5976,7 +6155,7 @@ var Ms = {
|
|
|
5976
6155
|
},
|
|
5977
6156
|
emits: ["close"],
|
|
5978
6157
|
setup(e, { emit: t }) {
|
|
5979
|
-
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({
|
|
5980
6159
|
authManager: o,
|
|
5981
6160
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
5982
6161
|
onApply: n.onApply,
|
|
@@ -6002,18 +6181,18 @@ var Ms = {
|
|
|
6002
6181
|
(u.messages.value?.length ?? 0) === 0 && a.content.value.blocks.length === 0 && u.loadSuggestions(a.content.value, s);
|
|
6003
6182
|
}
|
|
6004
6183
|
});
|
|
6005
|
-
async function
|
|
6184
|
+
async function T() {
|
|
6006
6185
|
let e = d.value.trim();
|
|
6007
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()));
|
|
6008
6187
|
}
|
|
6009
|
-
function
|
|
6188
|
+
function E(e) {
|
|
6010
6189
|
return e.replace(/```json[\s\S]*?```/g, "").replace(/```json[\s\S]*/g, "").trim();
|
|
6011
6190
|
}
|
|
6012
|
-
function
|
|
6013
|
-
y(), d.value = e,
|
|
6191
|
+
function ee(e) {
|
|
6192
|
+
y(), d.value = e, T();
|
|
6014
6193
|
}
|
|
6015
6194
|
function te(e) {
|
|
6016
|
-
e.key === "Enter" && !e.shiftKey && (e.preventDefault(),
|
|
6195
|
+
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), T());
|
|
6017
6196
|
}
|
|
6018
6197
|
return (t, n) => (f(), N(ie, {
|
|
6019
6198
|
"enter-active-class": "tpl-ai-slide-enter-active",
|
|
@@ -6023,42 +6202,42 @@ var Ms = {
|
|
|
6023
6202
|
"leave-from-class": "tpl:translate-x-0",
|
|
6024
6203
|
"leave-to-class": "tpl:translate-x-full"
|
|
6025
6204
|
}, {
|
|
6026
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6027
|
-
I("div",
|
|
6205
|
+
default: b(() => [e.visible ? (f(), k("div", Ks, [
|
|
6206
|
+
I("div", qs, [I("div", Js, [V(j(ki), {
|
|
6028
6207
|
size: 13,
|
|
6029
6208
|
"stroke-width": 2
|
|
6030
|
-
}), 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", {
|
|
6031
6210
|
key: 0,
|
|
6032
6211
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6033
6212
|
title: j(i).aiChat.clear,
|
|
6034
6213
|
onClick: n[0] ||= (e) => j(u).clearChat()
|
|
6035
|
-
}, [V(j(
|
|
6214
|
+
}, [V(j(ji), {
|
|
6036
6215
|
size: 14,
|
|
6037
6216
|
"stroke-width": 2
|
|
6038
|
-
})], 8,
|
|
6217
|
+
})], 8, Xs)) : A("", !0), I("button", {
|
|
6039
6218
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6040
6219
|
onClick: n[1] ||= (e) => r("close")
|
|
6041
|
-
}, [V(j(
|
|
6220
|
+
}, [V(j(Ii), {
|
|
6042
6221
|
size: 14,
|
|
6043
6222
|
"stroke-width": 2
|
|
6044
6223
|
})])])]),
|
|
6045
|
-
I("div",
|
|
6224
|
+
I("div", Zs, [
|
|
6046
6225
|
I("div", {
|
|
6047
6226
|
ref_key: "messagesContainer",
|
|
6048
6227
|
ref: p,
|
|
6049
6228
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6050
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6229
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", Qs, [V(j(_i), {
|
|
6051
6230
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6052
6231
|
size: 24,
|
|
6053
6232
|
"stroke-width": 2
|
|
6054
|
-
}), 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), {
|
|
6055
6234
|
size: 32,
|
|
6056
6235
|
"stroke-width": 1.5,
|
|
6057
6236
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6058
|
-
}), 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", {
|
|
6059
6238
|
key: e.id,
|
|
6060
6239
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6061
|
-
}, [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", {
|
|
6062
6241
|
key: 2,
|
|
6063
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",
|
|
6064
6243
|
style: {
|
|
@@ -6067,19 +6246,19 @@ var Ms = {
|
|
|
6067
6246
|
"background-color": "transparent"
|
|
6068
6247
|
},
|
|
6069
6248
|
onClick: n[2] ||= (e) => j(u).toggleLastRevert()
|
|
6070
|
-
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(
|
|
6249
|
+
}, [j(u).isLastChangeReverted.value ? (f(), k(R, { key: 0 }, [V(j(Si), {
|
|
6071
6250
|
size: 12,
|
|
6072
6251
|
"stroke-width": 2
|
|
6073
|
-
}), 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), {
|
|
6074
6253
|
size: 12,
|
|
6075
6254
|
"stroke-width": 2
|
|
6076
6255
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6077
|
-
j(u).error.value ? (f(), k("div",
|
|
6256
|
+
j(u).error.value ? (f(), k("div", oc, [V(j(ri), {
|
|
6078
6257
|
size: 14,
|
|
6079
6258
|
"stroke-width": 2,
|
|
6080
6259
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6081
6260
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6082
|
-
(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", {
|
|
6083
6262
|
key: t,
|
|
6084
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"]),
|
|
6085
6264
|
style: {
|
|
@@ -6088,111 +6267,111 @@ var Ms = {
|
|
|
6088
6267
|
"background-color": "var(--tpl-bg)",
|
|
6089
6268
|
"box-shadow": "var(--tpl-shadow)"
|
|
6090
6269
|
},
|
|
6091
|
-
onClick: (t) =>
|
|
6092
|
-
}, D(e), 11,
|
|
6270
|
+
onClick: (t) => ee(e)
|
|
6271
|
+
}, D(e), 11, lc))), 128))])])) : A("", !0)
|
|
6093
6272
|
]),
|
|
6094
|
-
I("div",
|
|
6273
|
+
I("div", uc, [I("div", dc, [c(I("textarea", {
|
|
6095
6274
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6096
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)]",
|
|
6097
6276
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6098
6277
|
disabled: j(u).isGenerating.value,
|
|
6099
6278
|
rows: "3",
|
|
6100
6279
|
onKeydown: te
|
|
6101
|
-
}, null, 40,
|
|
6280
|
+
}, null, 40, fc), [[ae, d.value]]), I("button", {
|
|
6102
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)]",
|
|
6103
6282
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6104
|
-
onClick:
|
|
6105
|
-
}, [V(j(
|
|
6283
|
+
onClick: T
|
|
6284
|
+
}, [V(j(Ti), {
|
|
6106
6285
|
size: 16,
|
|
6107
6286
|
"stroke-width": 2
|
|
6108
|
-
})], 8,
|
|
6287
|
+
})], 8, pc)]), I("p", mc, D(j(i).aiMenu.disclaimer), 1)])
|
|
6109
6288
|
])) : A("", !0)]),
|
|
6110
6289
|
_: 1
|
|
6111
6290
|
}));
|
|
6112
6291
|
}
|
|
6113
|
-
}),
|
|
6114
|
-
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) {
|
|
6115
6294
|
let i = new Date(e).getTime();
|
|
6116
6295
|
if (Number.isNaN(i)) return null;
|
|
6117
6296
|
let a = Date.now() - i;
|
|
6118
6297
|
if (a < -6e4) return null;
|
|
6119
|
-
let o = Math.floor(a /
|
|
6298
|
+
let o = Math.floor(a / vc), s = Math.floor(a / yc), c = Math.floor(a / bc);
|
|
6120
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));
|
|
6121
6300
|
}
|
|
6122
6301
|
//#endregion
|
|
6123
6302
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6124
|
-
var
|
|
6303
|
+
var Sc = {
|
|
6125
6304
|
key: 0,
|
|
6126
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)]"
|
|
6127
|
-
},
|
|
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 = {
|
|
6128
6307
|
key: 0,
|
|
6129
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)]"
|
|
6130
|
-
},
|
|
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 = {
|
|
6131
6310
|
key: 0,
|
|
6132
6311
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6133
|
-
},
|
|
6312
|
+
}, kc = {
|
|
6134
6313
|
key: 1,
|
|
6135
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"
|
|
6136
|
-
},
|
|
6315
|
+
}, Ac = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, jc = {
|
|
6137
6316
|
key: 2,
|
|
6138
6317
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6139
|
-
},
|
|
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 = {
|
|
6140
6319
|
key: 0,
|
|
6141
6320
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6142
|
-
},
|
|
6321
|
+
}, Rc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, zc = ["title", "onClick"], Bc = ["title", "onClick"], Vc = ["title", "onClick"], Hc = {
|
|
6143
6322
|
key: 0,
|
|
6144
6323
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6145
|
-
},
|
|
6324
|
+
}, Uc = {
|
|
6146
6325
|
key: 0,
|
|
6147
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)]"
|
|
6148
|
-
},
|
|
6327
|
+
}, Wc = ["onClick"], Gc = {
|
|
6149
6328
|
key: 2,
|
|
6150
6329
|
class: "tpl:mt-2"
|
|
6151
|
-
},
|
|
6330
|
+
}, Kc = ["onKeydown"], qc = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Jc = ["disabled", "onClick"], Yc = {
|
|
6152
6331
|
key: 3,
|
|
6153
6332
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6154
|
-
},
|
|
6333
|
+
}, Xc = {
|
|
6155
6334
|
key: 4,
|
|
6156
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)]"
|
|
6157
|
-
},
|
|
6336
|
+
}, Zc = { class: "tpl:flex-1" }, Qc = ["onClick"], $c = {
|
|
6158
6337
|
key: 5,
|
|
6159
6338
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6160
|
-
},
|
|
6339
|
+
}, el = ["title", "onClick"], tl = ["onClick"], nl = {
|
|
6161
6340
|
key: 0,
|
|
6162
6341
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6163
|
-
},
|
|
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 = {
|
|
6164
6343
|
key: 0,
|
|
6165
6344
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6166
|
-
},
|
|
6345
|
+
}, cl = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, ll = ["title", "onClick"], ul = ["title", "onClick"], dl = {
|
|
6167
6346
|
key: 0,
|
|
6168
6347
|
class: "tpl:mt-1.5"
|
|
6169
|
-
},
|
|
6348
|
+
}, fl = ["onKeydown"], pl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, ml = ["disabled", "onClick"], hl = {
|
|
6170
6349
|
key: 1,
|
|
6171
6350
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6172
|
-
},
|
|
6351
|
+
}, gl = {
|
|
6173
6352
|
key: 2,
|
|
6174
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)]"
|
|
6175
|
-
},
|
|
6354
|
+
}, _l = { class: "tpl:flex-1" }, vl = ["onClick"], yl = {
|
|
6176
6355
|
key: 0,
|
|
6177
6356
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6178
|
-
},
|
|
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 = {
|
|
6179
6358
|
key: 0,
|
|
6180
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)]"
|
|
6181
|
-
},
|
|
6360
|
+
}, El = {
|
|
6182
6361
|
key: 1,
|
|
6183
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)]"
|
|
6184
|
-
},
|
|
6363
|
+
}, Dl = ["placeholder", "disabled"], Ol = ["disabled"], kl = /*@__PURE__*/ B({
|
|
6185
6364
|
__name: "CommentsSidebar",
|
|
6186
6365
|
props: { visible: { type: Boolean } },
|
|
6187
6366
|
emits: ["close", "filterBlock"],
|
|
6188
6367
|
setup(e, { expose: t, emit: n }) {
|
|
6189
|
-
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(() => {
|
|
6190
6369
|
let e = /* @__PURE__ */ new Set();
|
|
6191
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);
|
|
6192
6371
|
return e;
|
|
6193
6372
|
});
|
|
6194
6373
|
function te(e) {
|
|
6195
|
-
return e ? !
|
|
6374
|
+
return e ? !ee.value.has(e) : !1;
|
|
6196
6375
|
}
|
|
6197
6376
|
let ne = O(() => d.value !== "block" || !p.value ? !1 : !(s.savedBlockIds?.value.has(p.value) ?? !0)), re = O(() => {
|
|
6198
6377
|
let e = u.comments.value;
|
|
@@ -6251,10 +6430,10 @@ var cc = {
|
|
|
6251
6430
|
await u.toggleResolve(e);
|
|
6252
6431
|
}
|
|
6253
6432
|
function _e(e) {
|
|
6254
|
-
return e.author_identifier ===
|
|
6433
|
+
return e.author_identifier === E.value;
|
|
6255
6434
|
}
|
|
6256
6435
|
function ve(e) {
|
|
6257
|
-
return
|
|
6436
|
+
return xc(e, o.snapshotHistory) ?? e;
|
|
6258
6437
|
}
|
|
6259
6438
|
function ye(e) {
|
|
6260
6439
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6267,7 +6446,7 @@ var cc = {
|
|
|
6267
6446
|
}
|
|
6268
6447
|
function Se() {
|
|
6269
6448
|
m(() => {
|
|
6270
|
-
|
|
6449
|
+
T.value?.focus();
|
|
6271
6450
|
});
|
|
6272
6451
|
}
|
|
6273
6452
|
return t({
|
|
@@ -6281,22 +6460,22 @@ var cc = {
|
|
|
6281
6460
|
"leave-from-class": "tpl:translate-x-0",
|
|
6282
6461
|
"leave-to-class": "tpl:translate-x-full"
|
|
6283
6462
|
}, {
|
|
6284
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6285
|
-
I("div",
|
|
6286
|
-
V(j(
|
|
6463
|
+
default: b(() => [e.visible ? (f(), k("div", Sc, [
|
|
6464
|
+
I("div", Cc, [I("div", wc, [
|
|
6465
|
+
V(j(vi), {
|
|
6287
6466
|
size: 13,
|
|
6288
6467
|
"stroke-width": 2
|
|
6289
6468
|
}),
|
|
6290
6469
|
I("span", null, D(j(o).comments.title), 1),
|
|
6291
|
-
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)
|
|
6292
6471
|
]), I("button", {
|
|
6293
6472
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6294
6473
|
onClick: n[0] ||= (e) => i("close")
|
|
6295
|
-
}, [V(j(
|
|
6474
|
+
}, [V(j(Ii), {
|
|
6296
6475
|
size: 14,
|
|
6297
6476
|
"stroke-width": 2
|
|
6298
6477
|
})])]),
|
|
6299
|
-
I("div",
|
|
6478
|
+
I("div", Ec, [
|
|
6300
6479
|
I("button", {
|
|
6301
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" : ""]),
|
|
6302
6481
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6311,156 +6490,156 @@ var cc = {
|
|
|
6311
6490
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6312
6491
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6313
6492
|
]),
|
|
6314
|
-
I("div",
|
|
6493
|
+
I("div", Dc, [j(u).isLoading.value ? (f(), k("div", Oc, [V(j(_i), {
|
|
6315
6494
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6316
6495
|
size: 24,
|
|
6317
6496
|
"stroke-width": 2
|
|
6318
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6497
|
+
})])) : re.value.length === 0 ? (f(), k("div", kc, [V(j(vi), {
|
|
6319
6498
|
size: 32,
|
|
6320
6499
|
"stroke-width": 1.5,
|
|
6321
6500
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6322
|
-
}), 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", {
|
|
6323
6502
|
key: e.id,
|
|
6324
6503
|
class: "tpl-comment-thread"
|
|
6325
6504
|
}, [
|
|
6326
|
-
I("div",
|
|
6327
|
-
I("div",
|
|
6328
|
-
I("span",
|
|
6329
|
-
I("span",
|
|
6330
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6331
|
-
]), 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, [
|
|
6332
6511
|
I("button", {
|
|
6333
6512
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6334
6513
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
6335
6514
|
onClick: (t) => ge(e.id)
|
|
6336
|
-
}, [V(j(
|
|
6515
|
+
}, [V(j(ii), {
|
|
6337
6516
|
size: 13,
|
|
6338
6517
|
"stroke-width": 2,
|
|
6339
6518
|
class: "tpl-resolve-icon",
|
|
6340
6519
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6341
|
-
}, null, 8, ["style"])], 8,
|
|
6520
|
+
}, null, 8, ["style"])], 8, zc),
|
|
6342
6521
|
_e(e) ? (f(), k("button", {
|
|
6343
6522
|
key: 0,
|
|
6344
6523
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6345
6524
|
title: j(o).comments.edit,
|
|
6346
6525
|
onClick: (t) => le(e)
|
|
6347
|
-
}, [V(j(
|
|
6526
|
+
}, [V(j(bi), {
|
|
6348
6527
|
size: 12,
|
|
6349
6528
|
"stroke-width": 2
|
|
6350
|
-
})], 8,
|
|
6529
|
+
})], 8, Bc)) : A("", !0),
|
|
6351
6530
|
_e(e) ? (f(), k("button", {
|
|
6352
6531
|
key: 1,
|
|
6353
6532
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6354
6533
|
title: j(o).comments.delete,
|
|
6355
6534
|
onClick: (t) => ue(e.id)
|
|
6356
|
-
}, [V(j(
|
|
6535
|
+
}, [V(j(ji), {
|
|
6357
6536
|
size: 12,
|
|
6358
6537
|
"stroke-width": 2
|
|
6359
|
-
})], 8,
|
|
6538
|
+
})], 8, Vc)) : A("", !0)
|
|
6360
6539
|
])]),
|
|
6361
6540
|
V(ie, { name: "tpl-resolve" }, {
|
|
6362
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6541
|
+
default: b(() => [e.resolved_at ? (f(), k("div", Hc, [V(j(Qr), {
|
|
6363
6542
|
size: 10,
|
|
6364
6543
|
"stroke-width": 2.5
|
|
6365
6544
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6366
6545
|
_: 2
|
|
6367
6546
|
}, 1024),
|
|
6368
|
-
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", {
|
|
6369
6548
|
key: 1,
|
|
6370
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)]",
|
|
6371
6550
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6372
|
-
}, " Block ", 8,
|
|
6373
|
-
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", {
|
|
6374
6553
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6375
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)]",
|
|
6376
6555
|
rows: "3",
|
|
6377
6556
|
onKeydown: (t) => xe(t, e.id)
|
|
6378
|
-
}, null, 40,
|
|
6557
|
+
}, null, 40, Kc), [[ae, x.value]]), I("div", qc, [I("button", {
|
|
6379
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)]",
|
|
6380
6559
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6381
6560
|
onClick: (t) => me(e.id)
|
|
6382
|
-
}, D(j(o).comments.save), 9,
|
|
6561
|
+
}, D(j(o).comments.save), 9, Jc), I("button", {
|
|
6383
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)]",
|
|
6384
6563
|
onClick: n[5] ||= (e) => B()
|
|
6385
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6386
|
-
w.value === e.id ? (f(), k("div",
|
|
6387
|
-
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),
|
|
6388
6567
|
I("button", {
|
|
6389
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)]",
|
|
6390
6569
|
onClick: (t) => he(e.id)
|
|
6391
|
-
}, D(j(o).comments.delete), 9,
|
|
6570
|
+
}, D(j(o).comments.delete), 9, Qc),
|
|
6392
6571
|
I("button", {
|
|
6393
6572
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6394
6573
|
onClick: n[6] ||= (e) => de()
|
|
6395
6574
|
}, D(j(o).comments.cancel), 1)
|
|
6396
6575
|
])) : A("", !0),
|
|
6397
|
-
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", {
|
|
6398
6577
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6399
6578
|
title: j(o).comments.reply,
|
|
6400
6579
|
onClick: (t) => se(e.id)
|
|
6401
|
-
}, [V(j(
|
|
6580
|
+
}, [V(j(wi), {
|
|
6402
6581
|
size: 13,
|
|
6403
6582
|
"stroke-width": 2,
|
|
6404
6583
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6405
|
-
})], 8,
|
|
6584
|
+
})], 8, el), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6406
6585
|
key: 0,
|
|
6407
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)]",
|
|
6408
6587
|
onClick: (t) => oe(e.id)
|
|
6409
|
-
}, [S.value.has(e.id) ? (f(), N(j(
|
|
6588
|
+
}, [S.value.has(e.id) ? (f(), N(j(ni), {
|
|
6410
6589
|
key: 0,
|
|
6411
6590
|
size: 11,
|
|
6412
6591
|
"stroke-width": 2
|
|
6413
|
-
})) : (f(), N(j(
|
|
6592
|
+
})) : (f(), N(j($r), {
|
|
6414
6593
|
key: 1,
|
|
6415
6594
|
size: 11,
|
|
6416
6595
|
"stroke-width": 2
|
|
6417
|
-
})), 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)
|
|
6418
6597
|
]),
|
|
6419
6598
|
V(ie, { name: "tpl-replies" }, {
|
|
6420
|
-
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", {
|
|
6421
6600
|
key: t.id,
|
|
6422
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" : ""])
|
|
6423
6602
|
}, [
|
|
6424
|
-
I("div",
|
|
6425
|
-
I("span",
|
|
6426
|
-
I("span",
|
|
6427
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6428
|
-
]), 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", {
|
|
6429
6608
|
key: 0,
|
|
6430
6609
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6431
6610
|
title: j(o).comments.edit,
|
|
6432
6611
|
onClick: (e) => le(t)
|
|
6433
|
-
}, [V(j(
|
|
6612
|
+
}, [V(j(bi), {
|
|
6434
6613
|
size: 11,
|
|
6435
6614
|
"stroke-width": 2
|
|
6436
|
-
})], 8,
|
|
6615
|
+
})], 8, ll)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6437
6616
|
key: 1,
|
|
6438
6617
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6439
6618
|
title: j(o).comments.delete,
|
|
6440
6619
|
onClick: (e) => ue(t.id)
|
|
6441
|
-
}, [V(j(
|
|
6620
|
+
}, [V(j(ji), {
|
|
6442
6621
|
size: 11,
|
|
6443
6622
|
"stroke-width": 2
|
|
6444
|
-
})], 8,
|
|
6445
|
-
y.value === t.id ? (f(), k("div",
|
|
6623
|
+
})], 8, ul)) : A("", !0)])]),
|
|
6624
|
+
y.value === t.id ? (f(), k("div", dl, [c(I("textarea", {
|
|
6446
6625
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6447
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)]",
|
|
6448
6627
|
rows: "2",
|
|
6449
6628
|
onKeydown: (e) => xe(e, t.id)
|
|
6450
|
-
}, null, 40,
|
|
6629
|
+
}, null, 40, fl), [[ae, x.value]]), I("div", pl, [I("button", {
|
|
6451
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)]",
|
|
6452
6631
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6453
6632
|
onClick: (e) => me(t.id)
|
|
6454
|
-
}, D(j(o).comments.save), 9,
|
|
6633
|
+
}, D(j(o).comments.save), 9, ml), I("button", {
|
|
6455
6634
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6456
6635
|
onClick: n[8] ||= (e) => B()
|
|
6457
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6458
|
-
w.value === t.id ? (f(), k("div",
|
|
6459
|
-
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),
|
|
6460
6639
|
I("button", {
|
|
6461
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)]",
|
|
6462
6641
|
onClick: (e) => he(t.id)
|
|
6463
|
-
}, D(j(o).comments.delete), 9,
|
|
6642
|
+
}, D(j(o).comments.delete), 9, vl),
|
|
6464
6643
|
I("button", {
|
|
6465
6644
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6466
6645
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6470,78 +6649,78 @@ var cc = {
|
|
|
6470
6649
|
_: 2
|
|
6471
6650
|
}, 1024),
|
|
6472
6651
|
V(ie, { name: "tpl-replies" }, {
|
|
6473
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6652
|
+
default: b(() => [_.value === e.id ? (f(), k("div", yl, [I("div", bl, [c(I("textarea", {
|
|
6474
6653
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6475
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)]",
|
|
6476
6655
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6477
6656
|
rows: "2",
|
|
6478
6657
|
onKeydown: (t) => be(t, e.id)
|
|
6479
|
-
}, null, 40,
|
|
6658
|
+
}, null, 40, xl), [[ae, v.value]]), I("div", Sl, [I("button", {
|
|
6480
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)]",
|
|
6481
6660
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6482
6661
|
onClick: (t) => pe(e.id)
|
|
6483
|
-
}, [V(j(
|
|
6662
|
+
}, [V(j(Ti), {
|
|
6484
6663
|
size: 14,
|
|
6485
6664
|
"stroke-width": 2
|
|
6486
|
-
})], 8,
|
|
6665
|
+
})], 8, Cl), I("button", {
|
|
6487
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)]",
|
|
6488
6667
|
onClick: n[11] ||= (e) => ce()
|
|
6489
|
-
}, [V(j(
|
|
6668
|
+
}, [V(j(Ii), {
|
|
6490
6669
|
size: 14,
|
|
6491
6670
|
"stroke-width": 2
|
|
6492
6671
|
})])])])])) : A("", !0)]),
|
|
6493
6672
|
_: 2
|
|
6494
6673
|
}, 1024)
|
|
6495
6674
|
]))), 128))]))]),
|
|
6496
|
-
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", {
|
|
6497
6676
|
ref_key: "newCommentInput",
|
|
6498
|
-
ref:
|
|
6677
|
+
ref: T,
|
|
6499
6678
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
6500
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)]",
|
|
6501
6680
|
placeholder: j(o).comments.placeholder,
|
|
6502
6681
|
disabled: j(u).isSubmitting.value,
|
|
6503
6682
|
rows: "2",
|
|
6504
6683
|
onKeydown: ye
|
|
6505
|
-
}, null, 40,
|
|
6684
|
+
}, null, 40, Dl), [[ae, g.value]]), I("button", {
|
|
6506
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)]",
|
|
6507
6686
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6508
6687
|
onClick: fe
|
|
6509
|
-
}, [j(u).isSubmitting.value ? (f(), N(j(
|
|
6688
|
+
}, [j(u).isSubmitting.value ? (f(), N(j(_i), {
|
|
6510
6689
|
key: 0,
|
|
6511
6690
|
class: "tpl-spinner",
|
|
6512
6691
|
size: 16,
|
|
6513
6692
|
"stroke-width": 2
|
|
6514
|
-
})) : (f(), N(j(
|
|
6693
|
+
})) : (f(), N(j(Ti), {
|
|
6515
6694
|
key: 1,
|
|
6516
6695
|
size: 16,
|
|
6517
6696
|
"stroke-width": 2
|
|
6518
|
-
}))], 8,
|
|
6697
|
+
}))], 8, Ol)]))])
|
|
6519
6698
|
])) : A("", !0)]),
|
|
6520
6699
|
_: 1
|
|
6521
6700
|
}));
|
|
6522
6701
|
}
|
|
6523
|
-
}),
|
|
6702
|
+
}), Al = /* @__PURE__ */ e({ default: () => jl }), jl = /*#__PURE__*/ Vi(kl, [["__scopeId", "data-v-d204f573"]]), Ml = {
|
|
6524
6703
|
key: 0,
|
|
6525
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)]"
|
|
6526
|
-
},
|
|
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 = {
|
|
6527
6706
|
key: 0,
|
|
6528
6707
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6529
|
-
},
|
|
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 = {
|
|
6530
6709
|
key: 1,
|
|
6531
6710
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6532
|
-
},
|
|
6711
|
+
}, Bl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Vl = {
|
|
6533
6712
|
key: 0,
|
|
6534
6713
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6535
|
-
},
|
|
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 = {
|
|
6536
6715
|
key: 1,
|
|
6537
6716
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6538
|
-
},
|
|
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 = {
|
|
6539
6718
|
key: 0,
|
|
6540
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)]"
|
|
6541
|
-
},
|
|
6720
|
+
}, $l = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, eu = { class: "tpl:flex tpl:gap-2" }, tu = {
|
|
6542
6721
|
key: 1,
|
|
6543
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)]"
|
|
6544
|
-
},
|
|
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({
|
|
6545
6724
|
__name: "DesignReferenceSidebar",
|
|
6546
6725
|
props: {
|
|
6547
6726
|
visible: { type: Boolean },
|
|
@@ -6549,8 +6728,8 @@ var cc = {
|
|
|
6549
6728
|
},
|
|
6550
6729
|
emits: ["close", "apply"],
|
|
6551
6730
|
setup(e, { emit: t }) {
|
|
6552
|
-
let n = e, r = t, { t: i } =
|
|
6553
|
-
authManager: J(
|
|
6731
|
+
let n = e, r = t, { t: i } = Zi(), a = J(Ln, "DesignReferenceSidebar"), o = Ts({
|
|
6732
|
+
authManager: J(fr, "DesignReferenceSidebar"),
|
|
6554
6733
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6555
6734
|
onApply: (e) => r("apply", e)
|
|
6556
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);
|
|
@@ -6591,12 +6770,12 @@ var cc = {
|
|
|
6591
6770
|
function w() {
|
|
6592
6771
|
h.value = !1;
|
|
6593
6772
|
}
|
|
6594
|
-
function
|
|
6773
|
+
function T(e) {
|
|
6595
6774
|
e.preventDefault(), h.value = !1;
|
|
6596
6775
|
let t = e.dataTransfer?.files?.[0];
|
|
6597
6776
|
t && y(t);
|
|
6598
6777
|
}
|
|
6599
|
-
function
|
|
6778
|
+
function E() {
|
|
6600
6779
|
if (!g.value) return;
|
|
6601
6780
|
if (n.hasExistingBlocks && !m.value) {
|
|
6602
6781
|
m.value = !0;
|
|
@@ -6606,7 +6785,7 @@ var cc = {
|
|
|
6606
6785
|
let e = {};
|
|
6607
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);
|
|
6608
6787
|
}
|
|
6609
|
-
function
|
|
6788
|
+
function ee() {
|
|
6610
6789
|
m.value = !1;
|
|
6611
6790
|
}
|
|
6612
6791
|
return H(() => n.visible, (e) => {
|
|
@@ -6621,17 +6800,17 @@ var cc = {
|
|
|
6621
6800
|
"leave-from-class": "tpl:translate-x-0",
|
|
6622
6801
|
"leave-to-class": "tpl:translate-x-full"
|
|
6623
6802
|
}, {
|
|
6624
|
-
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), {
|
|
6625
6804
|
size: 13,
|
|
6626
6805
|
"stroke-width": 2
|
|
6627
6806
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
6628
6807
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6629
6808
|
onClick: n[0] ||= (e) => r("close")
|
|
6630
|
-
}, [V(j(
|
|
6809
|
+
}, [V(j(Ii), {
|
|
6631
6810
|
size: 14,
|
|
6632
6811
|
"stroke-width": 2
|
|
6633
|
-
})])]), I("div",
|
|
6634
|
-
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", {
|
|
6635
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",
|
|
6636
6815
|
style: L({
|
|
6637
6816
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6654,19 +6833,19 @@ var cc = {
|
|
|
6654
6833
|
size: 12,
|
|
6655
6834
|
"stroke-width": 2
|
|
6656
6835
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6657
|
-
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", {
|
|
6658
6837
|
key: 0,
|
|
6659
6838
|
src: p.value,
|
|
6660
6839
|
alt: u.value.name,
|
|
6661
6840
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6662
|
-
}, null, 8,
|
|
6841
|
+
}, null, 8, Ul)) : (f(), k("div", Wl, [V(j(di), {
|
|
6663
6842
|
size: 32,
|
|
6664
6843
|
"stroke-width": 1.5,
|
|
6665
6844
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6666
|
-
}), I("span",
|
|
6845
|
+
}), I("span", Gl, D(u.value.name), 1)])), I("button", {
|
|
6667
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)]",
|
|
6668
6847
|
onClick: x
|
|
6669
|
-
}, [V(j(
|
|
6848
|
+
}, [V(j(Ii), {
|
|
6670
6849
|
size: 12,
|
|
6671
6850
|
"stroke-width": 2
|
|
6672
6851
|
})])])])) : (f(), k("div", {
|
|
@@ -6679,15 +6858,15 @@ var cc = {
|
|
|
6679
6858
|
onClick: n[3] ||= (e) => s.value?.click(),
|
|
6680
6859
|
onDragover: S,
|
|
6681
6860
|
onDragleave: w,
|
|
6682
|
-
onDrop:
|
|
6861
|
+
onDrop: T
|
|
6683
6862
|
}, [
|
|
6684
|
-
V(j(
|
|
6863
|
+
V(j(Pi), {
|
|
6685
6864
|
size: 24,
|
|
6686
6865
|
"stroke-width": 1.5,
|
|
6687
6866
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6688
6867
|
}),
|
|
6689
|
-
I("span",
|
|
6690
|
-
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)
|
|
6691
6870
|
], 36)), I("input", {
|
|
6692
6871
|
ref_key: "fileInput",
|
|
6693
6872
|
ref: s,
|
|
@@ -6695,22 +6874,22 @@ var cc = {
|
|
|
6695
6874
|
class: "tpl:hidden",
|
|
6696
6875
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6697
6876
|
onChange: v
|
|
6698
|
-
}, null, 40,
|
|
6699
|
-
I("div",
|
|
6877
|
+
}, null, 40, Jl)]),
|
|
6878
|
+
I("div", Yl, [I("label", Xl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6700
6879
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6701
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"]]),
|
|
6702
6881
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6703
6882
|
rows: "3"
|
|
6704
|
-
}, null, 8,
|
|
6705
|
-
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", {
|
|
6706
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)]",
|
|
6707
6886
|
style: { "background-color": "transparent" },
|
|
6708
|
-
onClick:
|
|
6887
|
+
onClick: ee
|
|
6709
6888
|
}, D(j(i).designReference.replaceCancel), 1), I("button", {
|
|
6710
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)]",
|
|
6711
|
-
onClick:
|
|
6890
|
+
onClick: E
|
|
6712
6891
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6713
|
-
j(o).error.value ? (f(), k("div",
|
|
6892
|
+
j(o).error.value ? (f(), k("div", tu, [V(j(ri), {
|
|
6714
6893
|
size: 14,
|
|
6715
6894
|
"stroke-width": 2,
|
|
6716
6895
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6719,36 +6898,36 @@ var cc = {
|
|
|
6719
6898
|
key: 2,
|
|
6720
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)]",
|
|
6721
6900
|
disabled: !g.value,
|
|
6722
|
-
onClick:
|
|
6723
|
-
}, [V(j(
|
|
6901
|
+
onClick: E
|
|
6902
|
+
}, [V(j(mi), {
|
|
6724
6903
|
size: 16,
|
|
6725
6904
|
"stroke-width": 2
|
|
6726
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6727
|
-
I("p",
|
|
6905
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, nu)),
|
|
6906
|
+
I("p", ru, D(j(i).aiMenu.disclaimer), 1)
|
|
6728
6907
|
]))])])) : A("", !0)]),
|
|
6729
6908
|
_: 1
|
|
6730
6909
|
}));
|
|
6731
6910
|
}
|
|
6732
|
-
}),
|
|
6911
|
+
}), au = /* @__PURE__ */ e({ default: () => ou }), ou = /*#__PURE__*/ Vi(iu, [["__scopeId", "data-v-bdbf8d0d"]]), su = ["disabled", "title"], cu = ["title"], lu = {
|
|
6733
6912
|
key: 0,
|
|
6734
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)]",
|
|
6735
6914
|
style: {
|
|
6736
6915
|
"backdrop-filter": "blur(8px)",
|
|
6737
6916
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
6738
6917
|
}
|
|
6739
|
-
},
|
|
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 = {
|
|
6740
6919
|
key: 0,
|
|
6741
6920
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
6742
|
-
},
|
|
6921
|
+
}, fu = {
|
|
6743
6922
|
key: 1,
|
|
6744
6923
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
6745
|
-
},
|
|
6924
|
+
}, pu = {
|
|
6746
6925
|
key: 2,
|
|
6747
6926
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
6748
|
-
},
|
|
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 = {
|
|
6749
6928
|
key: 0,
|
|
6750
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)]"
|
|
6751
|
-
},
|
|
6930
|
+
}, vu = ["disabled", "title"], yu = /*@__PURE__*/ B({
|
|
6752
6931
|
__name: "SnapshotHistory",
|
|
6753
6932
|
props: {
|
|
6754
6933
|
snapshots: {},
|
|
@@ -6757,7 +6936,7 @@ var cc = {
|
|
|
6757
6936
|
},
|
|
6758
6937
|
emits: ["load", "navigate"],
|
|
6759
6938
|
setup(e, { emit: t }) {
|
|
6760
|
-
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);
|
|
6761
6940
|
H(() => n.snapshots.length, () => {
|
|
6762
6941
|
c.value = -1;
|
|
6763
6942
|
});
|
|
@@ -6776,7 +6955,7 @@ var cc = {
|
|
|
6776
6955
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
6777
6956
|
}
|
|
6778
6957
|
function _(e) {
|
|
6779
|
-
let t =
|
|
6958
|
+
let t = xc(e, a.snapshotHistory, i, 7);
|
|
6780
6959
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
6781
6960
|
month: "short",
|
|
6782
6961
|
day: "numeric",
|
|
@@ -6796,10 +6975,10 @@ var cc = {
|
|
|
6796
6975
|
disabled: !u.value,
|
|
6797
6976
|
title: j(a).snapshotHistory.olderSnapshot,
|
|
6798
6977
|
onClick: M(p, ["stop"])
|
|
6799
|
-
}, [V(j(
|
|
6978
|
+
}, [V(j(ei), {
|
|
6800
6979
|
size: 14,
|
|
6801
6980
|
"stroke-width": 2
|
|
6802
|
-
})], 8,
|
|
6981
|
+
})], 8, su),
|
|
6803
6982
|
I("button", {
|
|
6804
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)]",
|
|
6805
6984
|
title: j(a).snapshotHistory.tooltip,
|
|
@@ -6807,23 +6986,23 @@ var cc = {
|
|
|
6807
6986
|
}, [V(j(ai), {
|
|
6808
6987
|
size: 16,
|
|
6809
6988
|
"stroke-width": 1.5
|
|
6810
|
-
}), V(j(
|
|
6989
|
+
}), V(j($r), {
|
|
6811
6990
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
6812
6991
|
size: 10,
|
|
6813
6992
|
"stroke-width": 2
|
|
6814
|
-
}, null, 8, ["class"])], 8,
|
|
6993
|
+
}, null, 8, ["class"])], 8, cu),
|
|
6815
6994
|
V(ie, { name: "tpl-dropdown" }, {
|
|
6816
|
-
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), {
|
|
6817
6996
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
6818
6997
|
size: 20,
|
|
6819
6998
|
"stroke-width": 2
|
|
6820
|
-
})])) : 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", {
|
|
6821
7000
|
key: t.id,
|
|
6822
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)]",
|
|
6823
7002
|
style: { "background-color": "transparent" },
|
|
6824
7003
|
disabled: e.isRestoring,
|
|
6825
7004
|
onClick: (e) => g(t.id)
|
|
6826
|
-
}, [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)]),
|
|
6827
7006
|
_: 1
|
|
6828
7007
|
}),
|
|
6829
7008
|
I("button", {
|
|
@@ -6831,74 +7010,74 @@ var cc = {
|
|
|
6831
7010
|
disabled: !l.value,
|
|
6832
7011
|
title: j(a).snapshotHistory.newerSnapshot,
|
|
6833
7012
|
onClick: M(d, ["stop"])
|
|
6834
|
-
}, [V(j(
|
|
7013
|
+
}, [V(j(ti), {
|
|
6835
7014
|
size: 14,
|
|
6836
7015
|
"stroke-width": 2
|
|
6837
|
-
})], 8,
|
|
7016
|
+
})], 8, vu)
|
|
6838
7017
|
], 512));
|
|
6839
7018
|
}
|
|
6840
|
-
}),
|
|
7019
|
+
}), bu = /* @__PURE__ */ e({ default: () => xu }), xu = yu;
|
|
6841
7020
|
//#endregion
|
|
6842
7021
|
//#region src/cloud/utils/scoringStyles.ts
|
|
6843
|
-
function
|
|
7022
|
+
function Su(e) {
|
|
6844
7023
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
6845
7024
|
}
|
|
6846
|
-
function
|
|
7025
|
+
function Cu(e) {
|
|
6847
7026
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
6848
7027
|
}
|
|
6849
|
-
function
|
|
7028
|
+
function wu(e) {
|
|
6850
7029
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
6851
7030
|
}
|
|
6852
|
-
function
|
|
7031
|
+
function Tu(e) {
|
|
6853
7032
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
6854
7033
|
}
|
|
6855
7034
|
//#endregion
|
|
6856
7035
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
6857
|
-
var
|
|
7036
|
+
var Eu = {
|
|
6858
7037
|
key: 0,
|
|
6859
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)]"
|
|
6860
|
-
},
|
|
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 = {
|
|
6861
7040
|
key: 0,
|
|
6862
7041
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6863
|
-
},
|
|
7042
|
+
}, Nu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Pu = {
|
|
6864
7043
|
key: 1,
|
|
6865
7044
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6866
|
-
},
|
|
7045
|
+
}, Fu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Iu = {
|
|
6867
7046
|
key: 2,
|
|
6868
7047
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6869
|
-
},
|
|
7048
|
+
}, Lu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Ru = {
|
|
6870
7049
|
key: 0,
|
|
6871
7050
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6872
|
-
},
|
|
7051
|
+
}, zu = {
|
|
6873
7052
|
key: 0,
|
|
6874
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)]"
|
|
6875
|
-
},
|
|
7054
|
+
}, Bu = ["onClick"], Vu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Hu = {
|
|
6876
7055
|
key: 0,
|
|
6877
7056
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
6878
|
-
},
|
|
7057
|
+
}, Uu = {
|
|
6879
7058
|
key: 0,
|
|
6880
7059
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
6881
|
-
},
|
|
7060
|
+
}, Wu = {
|
|
6882
7061
|
key: 0,
|
|
6883
7062
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6884
|
-
},
|
|
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 = {
|
|
6885
7064
|
key: 0,
|
|
6886
7065
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
6887
|
-
},
|
|
7066
|
+
}, Xu = {
|
|
6888
7067
|
key: 1,
|
|
6889
7068
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
6890
|
-
},
|
|
7069
|
+
}, Zu = ["disabled", "onClick"], Qu = {
|
|
6891
7070
|
key: 0,
|
|
6892
7071
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
6893
|
-
},
|
|
7072
|
+
}, $u = {
|
|
6894
7073
|
key: 3,
|
|
6895
7074
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6896
|
-
},
|
|
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({
|
|
6897
7076
|
__name: "TemplateScoringPanel",
|
|
6898
7077
|
props: { visible: { type: Boolean } },
|
|
6899
7078
|
emits: ["close"],
|
|
6900
7079
|
setup(e, { emit: t }) {
|
|
6901
|
-
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({
|
|
6902
7081
|
spam: !0,
|
|
6903
7082
|
readability: !0,
|
|
6904
7083
|
accessibility: !0,
|
|
@@ -6913,10 +7092,10 @@ var fu = {
|
|
|
6913
7092
|
"accessibility",
|
|
6914
7093
|
"bestPractices"
|
|
6915
7094
|
], p = {
|
|
6916
|
-
spam:
|
|
7095
|
+
spam: Oi,
|
|
6917
7096
|
readability: li,
|
|
6918
|
-
accessibility:
|
|
6919
|
-
bestPractices:
|
|
7097
|
+
accessibility: ki,
|
|
7098
|
+
bestPractices: Li
|
|
6920
7099
|
};
|
|
6921
7100
|
function m() {
|
|
6922
7101
|
o.score(a.content.value, s);
|
|
@@ -6944,50 +7123,50 @@ var fu = {
|
|
|
6944
7123
|
"leave-from-class": "tpl:translate-x-0",
|
|
6945
7124
|
"leave-to-class": "tpl:translate-x-full"
|
|
6946
7125
|
}, {
|
|
6947
|
-
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), {
|
|
6948
7127
|
size: 13,
|
|
6949
7128
|
"stroke-width": 2
|
|
6950
|
-
}), 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", {
|
|
6951
7130
|
key: 0,
|
|
6952
7131
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6953
7132
|
title: j(i).scoring.rescore,
|
|
6954
7133
|
onClick: n[0] ||= (e) => m()
|
|
6955
|
-
}, [V(j(
|
|
7134
|
+
}, [V(j(Ci), {
|
|
6956
7135
|
size: 14,
|
|
6957
7136
|
"stroke-width": 2
|
|
6958
|
-
})], 8,
|
|
7137
|
+
})], 8, Au)) : A("", !0), I("button", {
|
|
6959
7138
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6960
7139
|
onClick: n[1] ||= (e) => r("close")
|
|
6961
|
-
}, [V(j(
|
|
7140
|
+
}, [V(j(Ii), {
|
|
6962
7141
|
size: 14,
|
|
6963
7142
|
"stroke-width": 2
|
|
6964
|
-
})])])]), I("div",
|
|
6965
|
-
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), {
|
|
6966
7145
|
size: 32,
|
|
6967
7146
|
"stroke-width": 1.5,
|
|
6968
7147
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
6969
7148
|
}),
|
|
6970
|
-
I("p",
|
|
7149
|
+
I("p", Fu, D(j(i).scoring.error), 1),
|
|
6971
7150
|
I("button", {
|
|
6972
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)]",
|
|
6973
7152
|
onClick: n[2] ||= (e) => m()
|
|
6974
|
-
}, [V(j(
|
|
7153
|
+
}, [V(j(Ci), {
|
|
6975
7154
|
size: 12,
|
|
6976
7155
|
"stroke-width": 2
|
|
6977
7156
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
6978
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7157
|
+
])) : j(o).scoringResult.value ? (f(), k("div", Iu, [
|
|
6979
7158
|
I("div", {
|
|
6980
7159
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
6981
|
-
style: L({ backgroundColor: j(
|
|
7160
|
+
style: L({ backgroundColor: j(Cu)(j(o).scoringResult.value.score) })
|
|
6982
7161
|
}, [
|
|
6983
7162
|
I("span", {
|
|
6984
7163
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
6985
|
-
style: L({ color: j(
|
|
7164
|
+
style: L({ color: j(Su)(j(o).scoringResult.value.score) })
|
|
6986
7165
|
}, D(j(o).scoringResult.value.score), 5),
|
|
6987
|
-
I("span",
|
|
6988
|
-
_() > 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)
|
|
6989
7168
|
], 4),
|
|
6990
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7169
|
+
j(o).fixError.value ? (f(), k("div", zu, [V(j(ri), {
|
|
6991
7170
|
size: 14,
|
|
6992
7171
|
"stroke-width": 2,
|
|
6993
7172
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7002,74 +7181,74 @@ var fu = {
|
|
|
7002
7181
|
(f(), N(d(p[e]), {
|
|
7003
7182
|
size: 14,
|
|
7004
7183
|
"stroke-width": 2,
|
|
7005
|
-
style: L({ color: j(
|
|
7184
|
+
style: L({ color: j(Su)(j(o).scoringResult.value.categories[e].score) })
|
|
7006
7185
|
}, null, 8, ["style"])),
|
|
7007
|
-
I("span",
|
|
7186
|
+
I("span", Vu, D(j(i).scoring.categories[e]), 1),
|
|
7008
7187
|
I("span", {
|
|
7009
7188
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7010
7189
|
style: L({
|
|
7011
|
-
color: j(
|
|
7012
|
-
backgroundColor: j(
|
|
7190
|
+
color: j(Su)(j(o).scoringResult.value.categories[e].score),
|
|
7191
|
+
backgroundColor: j(Cu)(j(o).scoringResult.value.categories[e].score)
|
|
7013
7192
|
})
|
|
7014
7193
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7015
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7016
|
-
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), {
|
|
7017
7196
|
size: 12,
|
|
7018
7197
|
"stroke-width": 2,
|
|
7019
7198
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7020
7199
|
}, null, 8, ["class"])
|
|
7021
|
-
], 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", {
|
|
7022
7201
|
key: e.id,
|
|
7023
7202
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7024
|
-
}, [I("div",
|
|
7203
|
+
}, [I("div", Gu, [(f(), N(d(j(e.severity === "high" ? ri : e.severity === "medium" ? Mi : gi)), {
|
|
7025
7204
|
size: 13,
|
|
7026
7205
|
"stroke-width": 2,
|
|
7027
7206
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7028
|
-
style: L({ color: j(
|
|
7029
|
-
}, null, 8, ["style"])), I("div",
|
|
7030
|
-
I("div",
|
|
7207
|
+
style: L({ color: j(wu)(e.severity) })
|
|
7208
|
+
}, null, 8, ["style"])), I("div", Ku, [
|
|
7209
|
+
I("div", qu, [I("span", {
|
|
7031
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",
|
|
7032
7211
|
style: L({
|
|
7033
|
-
color: j(
|
|
7034
|
-
backgroundColor: j(
|
|
7212
|
+
color: j(wu)(e.severity),
|
|
7213
|
+
backgroundColor: j(Tu)(e.severity)
|
|
7035
7214
|
})
|
|
7036
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7037
|
-
e.suggestion ? (f(), k("p",
|
|
7038
|
-
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", {
|
|
7039
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)]",
|
|
7040
7219
|
style: { "background-color": "transparent" },
|
|
7041
7220
|
disabled: j(o).fixingFindingId.value !== null,
|
|
7042
7221
|
onClick: (t) => g(e)
|
|
7043
|
-
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(
|
|
7222
|
+
}, [j(o).fixingFindingId.value === e.id ? (f(), N(j(_i), {
|
|
7044
7223
|
key: 0,
|
|
7045
7224
|
class: "tpl-spinner",
|
|
7046
7225
|
size: 11,
|
|
7047
7226
|
"stroke-width": 2
|
|
7048
|
-
})) : (f(), N(j(
|
|
7227
|
+
})) : (f(), N(j(ki), {
|
|
7049
7228
|
key: 1,
|
|
7050
7229
|
size: 11,
|
|
7051
7230
|
"stroke-width": 2
|
|
7052
|
-
})), 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)
|
|
7053
7232
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7054
|
-
])) : (f(), k("div",
|
|
7233
|
+
])) : (f(), k("div", $u, [V(j(Di), {
|
|
7055
7234
|
size: 32,
|
|
7056
7235
|
"stroke-width": 1.5,
|
|
7057
7236
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7058
|
-
}), I("p",
|
|
7237
|
+
}), I("p", ed, D(j(i).scoring.emptyState), 1)])), I("p", td, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7059
7238
|
_: 1
|
|
7060
7239
|
}));
|
|
7061
7240
|
}
|
|
7062
|
-
}),
|
|
7241
|
+
}), rd = /* @__PURE__ */ e({ default: () => id }), id = /*#__PURE__*/ Vi(nd, [["__scopeId", "data-v-c23c73d4"]]), ad = ["aria-busy"], od = {
|
|
7063
7242
|
id: "tpl-test-email-title",
|
|
7064
7243
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7065
|
-
},
|
|
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 = {
|
|
7066
7245
|
key: 0,
|
|
7067
7246
|
role: "alert",
|
|
7068
7247
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7069
|
-
},
|
|
7248
|
+
}, pd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, md = ["disabled"], hd = ["disabled"], gd = {
|
|
7070
7249
|
key: 0,
|
|
7071
7250
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7072
|
-
},
|
|
7251
|
+
}, _d = { key: 1 }, vd = /*@__PURE__*/ B({
|
|
7073
7252
|
__name: "TestEmailModal",
|
|
7074
7253
|
props: {
|
|
7075
7254
|
visible: { type: Boolean },
|
|
@@ -7079,7 +7258,7 @@ var fu = {
|
|
|
7079
7258
|
},
|
|
7080
7259
|
emits: ["send", "close"],
|
|
7081
7260
|
setup(e, { emit: t }) {
|
|
7082
|
-
let n = e, r = t, { t: i } =
|
|
7261
|
+
let n = e, r = t, { t: i } = Zi(), a = C("");
|
|
7083
7262
|
H(() => n.visible, (e) => {
|
|
7084
7263
|
e && (a.value = n.allowedEmails[0] ?? "");
|
|
7085
7264
|
});
|
|
@@ -7092,7 +7271,7 @@ var fu = {
|
|
|
7092
7271
|
function l(e) {
|
|
7093
7272
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7094
7273
|
}
|
|
7095
|
-
return (t, n) => (f(), N(
|
|
7274
|
+
return (t, n) => (f(), N(os, {
|
|
7096
7275
|
visible: e.visible,
|
|
7097
7276
|
onClose: s,
|
|
7098
7277
|
onKeydown: l
|
|
@@ -7108,14 +7287,14 @@ var fu = {
|
|
|
7108
7287
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7109
7288
|
}
|
|
7110
7289
|
}, [
|
|
7111
|
-
I("h3",
|
|
7112
|
-
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", {
|
|
7113
7292
|
key: 0,
|
|
7114
7293
|
type: "text",
|
|
7115
7294
|
value: a.value,
|
|
7116
7295
|
disabled: "",
|
|
7117
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)]"
|
|
7118
|
-
}, null, 8,
|
|
7297
|
+
}, null, 8, ld)) : c((f(), k("select", {
|
|
7119
7298
|
key: 1,
|
|
7120
7299
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7121
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)]",
|
|
@@ -7123,29 +7302,29 @@ var fu = {
|
|
|
7123
7302
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7124
7303
|
key: e,
|
|
7125
7304
|
value: e
|
|
7126
|
-
}, D(e), 9,
|
|
7127
|
-
e.error ? (f(), k("p",
|
|
7128
|
-
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", {
|
|
7129
7308
|
type: "button",
|
|
7130
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 }]),
|
|
7131
7310
|
disabled: e.isSending,
|
|
7132
7311
|
onClick: s
|
|
7133
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7312
|
+
}, D(j(i).testEmail.cancel), 11, md), I("button", {
|
|
7134
7313
|
type: "button",
|
|
7135
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)]",
|
|
7136
7315
|
disabled: !a.value || e.isSending,
|
|
7137
7316
|
onClick: o
|
|
7138
|
-
}, [e.isSending ? (f(), k("span",
|
|
7317
|
+
}, [e.isSending ? (f(), k("span", gd, [V(j(_i), {
|
|
7139
7318
|
class: "tpl:animate-spin",
|
|
7140
7319
|
size: 12,
|
|
7141
7320
|
"stroke-width": 2
|
|
7142
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7143
|
-
], 8,
|
|
7321
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", _d, D(j(i).testEmail.send), 1))], 8, hd)])
|
|
7322
|
+
], 8, ad)]),
|
|
7144
7323
|
_: 1
|
|
7145
7324
|
}, 8, ["visible"]));
|
|
7146
7325
|
}
|
|
7147
|
-
}),
|
|
7326
|
+
}), yd = /* @__PURE__ */ e({ default: () => bd }), bd = vd;
|
|
7148
7327
|
//#endregion
|
|
7149
|
-
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 };
|
|
7150
7329
|
|
|
7151
|
-
//# sourceMappingURL=features-
|
|
7330
|
+
//# sourceMappingURL=features-CkTMVylx.js.map
|