@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,25 +1,25 @@
|
|
|
1
|
-
import { A as e, B as t, L as n, M as r, O as i, Q as a, X as o, _ as s, at as c, b as l, c as u, d, f, g as p, h as m, j as h, k as g, l as _, m as v, o as y, ot as b, p as x, q as S, rt as C, st as w, t as T, v as E, y as D, z as O } from "./vue.runtime.esm-bundler-
|
|
1
|
+
import { A as e, B as t, L as n, M as r, O as i, Q as a, X as o, _ as s, at as c, b as l, c as u, d, f, g as p, h as m, j as h, k as g, l as _, m as v, o as y, ot as b, p as x, q as S, rt as C, st as w, t as T, v as E, y as D, z as O } from "./vue.runtime.esm-bundler-BPa483TZ.js";
|
|
2
2
|
import { t as k } from "./timeouts-Bmi_yePw.js";
|
|
3
3
|
import { D as A, a as j } from "./dist-BctFrpeA.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { t as
|
|
8
|
-
import { t as
|
|
9
|
-
import { t as
|
|
10
|
-
import { t as
|
|
11
|
-
import { a as
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import { t as
|
|
15
|
-
import { t as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { n as Q } from "./useCloudI18n-
|
|
4
|
+
import { I as M, b as ee, t as N, w as P } from "./useEditorCore-8JxXDOA4.js";
|
|
5
|
+
import { l as F, t as I } from "./dist-DuCzdgDA.js";
|
|
6
|
+
import { D as L, M as R, c as z, j as te, l as ne, r as B, s as re, t as ie } from "./keys-DgYXDafq.js";
|
|
7
|
+
import { t as V } from "./useI18n-BWqM8i78.js";
|
|
8
|
+
import { t as H } from "./createLucideIcon-Bad2kKE0.js";
|
|
9
|
+
import { t as U } from "./check-CYJwFmjy.js";
|
|
10
|
+
import { t as W } from "./circle-alert-wf5HUFZY.js";
|
|
11
|
+
import { a as G, c as ae, d as oe, f as K, i as q, l as se, n as ce, o as le, p as ue, r as de, s as fe, t as pe, u as me } from "./styles-BUwDOWd3.js";
|
|
12
|
+
import { t as he } from "./clock-Bj0bQw-K.js";
|
|
13
|
+
import { t as J } from "./loader-circle-CLZ0_FvW.js";
|
|
14
|
+
import { t as ge } from "./message-circle-B-1bN9ab.js";
|
|
15
|
+
import { t as _e } from "./send-Cn1IUdzh.js";
|
|
16
|
+
import { t as Y } from "./sparkles-CgfjwvnG.js";
|
|
17
|
+
import { t as X } from "./triangle-alert-Chkny574.js";
|
|
18
|
+
import { t as Z } from "./_plugin-vue_export-helper-B3ysoDQm.js";
|
|
19
|
+
import { n as Q } from "./useCloudI18n-CYJKqXtI.js";
|
|
20
20
|
import { d as $ } from "./styleConstants-lGobwiLH.js";
|
|
21
|
-
import { _ as
|
|
22
|
-
var
|
|
21
|
+
import { _ as ve, a as ye, c as be, d as xe, f as Se, g as Ce, h as we, l as Te, m as Ee, n as De, o as Oe, p as ke, r as Ae, s as je, t as Me, v as Ne, y as Pe } from "./cloud-CoFDm9YA.js";
|
|
22
|
+
var Fe = H("save", [
|
|
23
23
|
["path", {
|
|
24
24
|
d: "M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",
|
|
25
25
|
key: "1c8476"
|
|
@@ -35,14 +35,14 @@ var Pe = U("save", [
|
|
|
35
35
|
]);
|
|
36
36
|
//#endregion
|
|
37
37
|
//#region src/cloud/composables/useSnapshotPreview.ts
|
|
38
|
-
function
|
|
38
|
+
function Ie(e) {
|
|
39
39
|
let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: s, onError: c } = e, l = a(null), u = o(null), f = o(null), p = !1;
|
|
40
40
|
S(() => {
|
|
41
41
|
p = !0;
|
|
42
42
|
});
|
|
43
43
|
let m = d(() => u.value !== null), h = d(() => l.value?.snapshots.value ?? []), g = d(() => l.value?.isLoading.value ?? !1), _ = d(() => l.value?.isRestoring.value ?? !1);
|
|
44
44
|
function v() {
|
|
45
|
-
n.state.template?.id && !l.value && (l.value =
|
|
45
|
+
n.state.template?.id && !l.value && (l.value = Ce({
|
|
46
46
|
authManager: t,
|
|
47
47
|
templateId: n.state.template.id,
|
|
48
48
|
onRestore: y,
|
|
@@ -94,7 +94,7 @@ function Fe(e) {
|
|
|
94
94
|
}
|
|
95
95
|
//#endregion
|
|
96
96
|
//#region src/cloud/composables/useCloudPanelState.ts
|
|
97
|
-
function
|
|
97
|
+
function Le() {
|
|
98
98
|
let e = o(null), t = d({
|
|
99
99
|
get: () => e.value === "ai-chat",
|
|
100
100
|
set: (t) => e.value = t ? "ai-chat" : null
|
|
@@ -117,7 +117,7 @@ function Ie() {
|
|
|
117
117
|
function g(t) {
|
|
118
118
|
l.value = !1, e.value = e.value === t ? null : t;
|
|
119
119
|
}
|
|
120
|
-
return
|
|
120
|
+
return I(u, () => {
|
|
121
121
|
l.value = !1;
|
|
122
122
|
}), {
|
|
123
123
|
activePanel: e,
|
|
@@ -139,8 +139,8 @@ function Ie() {
|
|
|
139
139
|
}
|
|
140
140
|
//#endregion
|
|
141
141
|
//#region src/cloud/composables/useCollabUndoWarning.ts
|
|
142
|
-
function
|
|
143
|
-
let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = o(!1), a = o(!1), { start: s } =
|
|
142
|
+
function Re(e) {
|
|
143
|
+
let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = o(!1), a = o(!1), { start: s } = F(() => {
|
|
144
144
|
a.value = !1;
|
|
145
145
|
}, k, { immediate: !1 });
|
|
146
146
|
function c() {
|
|
@@ -153,8 +153,8 @@ function Le(e) {
|
|
|
153
153
|
}
|
|
154
154
|
//#endregion
|
|
155
155
|
//#region src/cloud/composables/useCloudFeatureFlags.ts
|
|
156
|
-
function
|
|
157
|
-
let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = d(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = d(() => t.hasFeature("test_email")), s = d(() => !!r.state.template?.id), c = d(() => t.hasFeature("white_label")), l = d(() => t.config.value?.limits.max_templates ?? null), u = d(() => t.config.value?.template_count ?? 0), f = o(!1), p = o("idle"), m = o(""), { start: h } =
|
|
156
|
+
function ze(e) {
|
|
157
|
+
let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = d(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = d(() => t.hasFeature("test_email")), s = d(() => !!r.state.template?.id), c = d(() => t.hasFeature("white_label")), l = d(() => t.config.value?.limits.max_templates ?? null), u = d(() => t.config.value?.template_count ?? 0), f = o(!1), p = o("idle"), m = o(""), { start: h } = F(() => {
|
|
158
158
|
p.value = "idle";
|
|
159
159
|
}, 3e3, { immediate: !1 });
|
|
160
160
|
return {
|
|
@@ -172,65 +172,92 @@ function Re(e) {
|
|
|
172
172
|
}
|
|
173
173
|
//#endregion
|
|
174
174
|
//#region src/cloud/composables/useCloudMediaLibrary.ts
|
|
175
|
-
function
|
|
176
|
-
let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: r } = e,
|
|
177
|
-
|
|
175
|
+
function Be(e) {
|
|
176
|
+
let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: r, authManager: i, getMediaConfig: a, onError: o } = e, s = null;
|
|
177
|
+
function c(e) {
|
|
178
|
+
return {
|
|
179
|
+
url: e.url,
|
|
180
|
+
alt: e.alt_text || void 0
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
async function l(e) {
|
|
184
|
+
let i = e?.accept ?? ["images"];
|
|
185
|
+
if (e?.files?.length) {
|
|
186
|
+
if (t) {
|
|
187
|
+
let n = await t({
|
|
188
|
+
accept: i,
|
|
189
|
+
files: e.files
|
|
190
|
+
});
|
|
191
|
+
return n ? c(n) : null;
|
|
192
|
+
}
|
|
193
|
+
return u(e.files[0]);
|
|
194
|
+
}
|
|
178
195
|
if (t) {
|
|
179
|
-
let e = await t({ accept:
|
|
180
|
-
return e ?
|
|
181
|
-
url: e.url,
|
|
182
|
-
alt: e.alt_text || void 0
|
|
183
|
-
} : null;
|
|
196
|
+
let e = await t({ accept: i });
|
|
197
|
+
return e ? c(e) : null;
|
|
184
198
|
}
|
|
185
|
-
return
|
|
186
|
-
|
|
199
|
+
return s &&= (s(null), null), r.value = i, n.value = !0, new Promise((e) => {
|
|
200
|
+
s = (t) => {
|
|
187
201
|
e(t);
|
|
188
202
|
};
|
|
189
203
|
});
|
|
190
204
|
}
|
|
191
|
-
function
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
205
|
+
async function u(e) {
|
|
206
|
+
let t = d(e);
|
|
207
|
+
if (t) return o?.(t), null;
|
|
208
|
+
try {
|
|
209
|
+
let { MediaApiClient: t } = await import("@templatical/media-library");
|
|
210
|
+
return c(await new t(i).uploadMedia(e));
|
|
211
|
+
} catch (e) {
|
|
212
|
+
return o?.(e), null;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
function d(e) {
|
|
216
|
+
let t = a?.() ?? null;
|
|
217
|
+
if (!t) return null;
|
|
218
|
+
let n = t.categories?.images?.mime_types ?? [];
|
|
219
|
+
return n.length > 0 && !n.includes(e.type) ? /* @__PURE__ */ Error(`Unsupported image type: ${e.type || "unknown"}. Accepted: ${n.join(", ")}.`) : t.max_file_size > 0 && e.size > t.max_file_size ? /* @__PURE__ */ Error(`Image is too large (${e.size} bytes). Maximum allowed is ${t.max_file_size} bytes.`) : null;
|
|
196
220
|
}
|
|
197
|
-
function
|
|
198
|
-
n.value = !1,
|
|
221
|
+
function f(e) {
|
|
222
|
+
n.value = !1, s?.(c(e)), s = null;
|
|
223
|
+
}
|
|
224
|
+
function p() {
|
|
225
|
+
n.value = !1, s?.(null), s = null;
|
|
199
226
|
}
|
|
200
227
|
return S(() => {
|
|
201
|
-
|
|
228
|
+
s &&= (s(null), null);
|
|
202
229
|
}), {
|
|
203
|
-
handleRequestMedia:
|
|
204
|
-
handleMediaSelect:
|
|
205
|
-
handleMediaLibraryClose:
|
|
230
|
+
handleRequestMedia: l,
|
|
231
|
+
handleMediaSelect: f,
|
|
232
|
+
handleMediaLibraryClose: p
|
|
206
233
|
};
|
|
207
234
|
}
|
|
208
235
|
//#endregion
|
|
209
236
|
//#region src/cloud/composables/useCloudInitialization.ts
|
|
210
|
-
function
|
|
211
|
-
let { config: t, translations: r, fontsManager: i, emit: a, getCommentsSidebar: s } = e, c = o(!0), l = o(!1), u = o(null), f = !1, p = { value: null }, m = null, g = null, _ = new
|
|
237
|
+
function Ve(e) {
|
|
238
|
+
let { config: t, translations: r, fontsManager: i, emit: a, getCommentsSidebar: s } = e, c = o(!0), l = o(!1), u = o(null), f = !1, p = { value: null }, m = null, g = null, _ = new Me({
|
|
212
239
|
...t.auth,
|
|
213
240
|
onError: t.onError
|
|
214
|
-
}), v =
|
|
241
|
+
}), v = Ee({
|
|
215
242
|
authManager: _,
|
|
216
243
|
onError: t.onError
|
|
217
|
-
}), y = o(/* @__PURE__ */ new Map()), b =
|
|
244
|
+
}), y = o(/* @__PURE__ */ new Map()), b = xe({
|
|
218
245
|
authManager: _,
|
|
219
246
|
defaultFontFamily: t.fonts?.defaultFont,
|
|
220
247
|
templateDefaults: t.templateDefaults,
|
|
221
248
|
onError: t.onError,
|
|
222
249
|
lockedBlocks: y
|
|
223
|
-
}), x =
|
|
250
|
+
}), x = Pe({
|
|
224
251
|
authManager: _,
|
|
225
252
|
onError: t.onError
|
|
226
253
|
});
|
|
227
|
-
t.mcp?.enabled &&
|
|
254
|
+
t.mcp?.enabled && ke({
|
|
228
255
|
editor: b,
|
|
229
256
|
channel: x.channel,
|
|
230
257
|
onOperation: t.mcp.onOperation
|
|
231
258
|
});
|
|
232
259
|
let S = null;
|
|
233
|
-
t.collaboration?.enabled && (S =
|
|
260
|
+
t.collaboration?.enabled && (S = Oe({
|
|
234
261
|
authManager: _,
|
|
235
262
|
editor: b,
|
|
236
263
|
channel: x.channel,
|
|
@@ -241,8 +268,8 @@ function Be(e) {
|
|
|
241
268
|
onBlockUnlocked: t.collaboration.onBlockUnlocked
|
|
242
269
|
}), n(() => S.lockedBlocks.value, (e) => {
|
|
243
270
|
y.value = e;
|
|
244
|
-
}, { immediate: !0 }),
|
|
245
|
-
let C = d(() => !!t.collaboration?.enabled && v.hasFeature("collaboration")), w =
|
|
271
|
+
}, { immediate: !0 }), je(b, S));
|
|
272
|
+
let C = d(() => !!t.collaboration?.enabled && v.hasFeature("collaboration")), w = N({
|
|
246
273
|
editor: b,
|
|
247
274
|
config: {
|
|
248
275
|
uiTheme: t.uiTheme,
|
|
@@ -251,9 +278,10 @@ function Be(e) {
|
|
|
251
278
|
customBlocks: [],
|
|
252
279
|
paletteBlocks: t.paletteBlocks,
|
|
253
280
|
mergeTags: t.mergeTags,
|
|
281
|
+
logicTags: t.logicTags,
|
|
254
282
|
displayConditions: t.displayConditions,
|
|
255
283
|
onRequestMedia: null,
|
|
256
|
-
lint:
|
|
284
|
+
lint: K(t),
|
|
257
285
|
onSave: () => {
|
|
258
286
|
p.value?.().catch((e) => {
|
|
259
287
|
t.onError?.(e);
|
|
@@ -274,13 +302,13 @@ function Be(e) {
|
|
|
274
302
|
keyboardOptions: { onBeforeUndo: () => g?.showCollabUndoWarning() },
|
|
275
303
|
editorRoot: e.editorRoot,
|
|
276
304
|
containerEl: e.containerEl
|
|
277
|
-
}), T =
|
|
305
|
+
}), T = Re({
|
|
278
306
|
isCollaborationEnabled: C,
|
|
279
307
|
getCollaboratorCount: () => S?.collaborators.value.length ?? 0,
|
|
280
308
|
canUndo: w.history.canUndo
|
|
281
309
|
});
|
|
282
310
|
g = T;
|
|
283
|
-
let E =
|
|
311
|
+
let E = Ie({
|
|
284
312
|
authManager: _,
|
|
285
313
|
editor: b,
|
|
286
314
|
history: w.history,
|
|
@@ -289,24 +317,27 @@ function Be(e) {
|
|
|
289
317
|
onError: t.onError
|
|
290
318
|
});
|
|
291
319
|
m = E;
|
|
292
|
-
let D =
|
|
320
|
+
let D = Le(), O = ye(t.ai), k = ze({
|
|
293
321
|
planConfigInstance: v,
|
|
294
322
|
aiConfig: O,
|
|
295
323
|
editor: b
|
|
296
|
-
}), A =
|
|
324
|
+
}), A = Be({
|
|
297
325
|
onRequestMedia: t.onRequestMedia,
|
|
298
326
|
mediaLibraryOpen: D.mediaLibraryOpen,
|
|
299
|
-
mediaLibraryAccept: D.mediaLibraryAccept
|
|
327
|
+
mediaLibraryAccept: D.mediaLibraryAccept,
|
|
328
|
+
authManager: _,
|
|
329
|
+
getMediaConfig: () => v.config.value?.media ?? null,
|
|
330
|
+
onError: t.onError
|
|
300
331
|
});
|
|
301
|
-
|
|
332
|
+
P({
|
|
302
333
|
onBlockMove: b.moveBlock,
|
|
303
334
|
onBlockAdd: b.addBlock
|
|
304
335
|
});
|
|
305
|
-
let j =
|
|
336
|
+
let j = Se({
|
|
306
337
|
authManager: _,
|
|
307
338
|
getFontsConfig: () => t.fonts,
|
|
308
339
|
canUseCustomFonts: () => v.hasFeature("custom_fonts")
|
|
309
|
-
}),
|
|
340
|
+
}), ee = Ne({
|
|
310
341
|
authManager: _,
|
|
311
342
|
getTemplateId: () => b.state.template?.id ?? null,
|
|
312
343
|
save: () => b.save(),
|
|
@@ -314,7 +345,7 @@ function Be(e) {
|
|
|
314
345
|
onError: t.onError,
|
|
315
346
|
isAuthReady: l,
|
|
316
347
|
onBeforeTestEmail: t.onBeforeTestEmail
|
|
317
|
-
}),
|
|
348
|
+
}), F = Te({
|
|
318
349
|
authManager: _,
|
|
319
350
|
getTemplateId: () => b.state.template?.id ?? null,
|
|
320
351
|
getSocketId: () => x.getSocketId(),
|
|
@@ -323,56 +354,56 @@ function Be(e) {
|
|
|
323
354
|
isAuthReady: l,
|
|
324
355
|
hasCommentingFeature: () => t.commenting !== !1 && v.hasFeature("commenting")
|
|
325
356
|
});
|
|
326
|
-
|
|
327
|
-
comments:
|
|
357
|
+
be({
|
|
358
|
+
comments: F,
|
|
328
359
|
channel: x.channel
|
|
329
360
|
});
|
|
330
|
-
let
|
|
361
|
+
let I = we({
|
|
331
362
|
authManager: _,
|
|
332
363
|
onError: t.onError
|
|
333
|
-
}), z = o(!1),
|
|
364
|
+
}), z = o(!1), V = o(null), H = o(!1), U = ve({
|
|
334
365
|
authManager: _,
|
|
335
366
|
getTemplateId: () => b.state.template?.id ?? null
|
|
336
367
|
});
|
|
337
|
-
function
|
|
368
|
+
function W(e) {
|
|
338
369
|
D.commentsOpen.value = !0, queueMicrotask(() => {
|
|
339
370
|
s()?.filterByBlock(e);
|
|
340
371
|
});
|
|
341
372
|
}
|
|
342
|
-
h(
|
|
373
|
+
h(L, A.handleRequestMedia), h(B, _), h(ie, O), h(ne, F), h(te, I), h(R, U), h(re, {
|
|
343
374
|
plan: v,
|
|
344
375
|
ai: O,
|
|
345
376
|
comments: {
|
|
346
|
-
getBlockCount: (e) =>
|
|
347
|
-
openForBlock:
|
|
377
|
+
getBlockCount: (e) => F.commentCountByBlock.value.get(e) ?? 0,
|
|
378
|
+
openForBlock: W
|
|
348
379
|
},
|
|
349
380
|
savedModules: {
|
|
350
381
|
openSaveDialog: (e) => {
|
|
351
|
-
|
|
382
|
+
V.value = e ?? null, z.value = !0;
|
|
352
383
|
},
|
|
353
384
|
openBrowser: () => {
|
|
354
|
-
|
|
385
|
+
H.value = !0;
|
|
355
386
|
},
|
|
356
|
-
moduleCount: d(() =>
|
|
387
|
+
moduleCount: d(() => I.modules.value.length)
|
|
357
388
|
}
|
|
358
389
|
});
|
|
359
|
-
function
|
|
390
|
+
function G(e) {
|
|
360
391
|
v.hasFeature("theme_customization") && (w.themeOverrides.value = e);
|
|
361
392
|
}
|
|
362
|
-
function
|
|
393
|
+
function ae(e) {
|
|
363
394
|
b.setUiTheme(e);
|
|
364
395
|
}
|
|
365
|
-
async function
|
|
396
|
+
async function oe() {
|
|
366
397
|
c.value = !0, u.value = null;
|
|
367
398
|
try {
|
|
368
399
|
if (await _.initialize(), f) return;
|
|
369
400
|
l.value = !0;
|
|
370
|
-
let e = await
|
|
401
|
+
let e = await De({ authManager: _ });
|
|
371
402
|
if (f) return;
|
|
372
403
|
if (!e.api.ok) throw Error("Health check failed: API is not reachable");
|
|
373
404
|
if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
|
|
374
405
|
if (e.websocket.ok || M.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await v.fetchConfig(), f) return;
|
|
375
|
-
i.setCustomFontsEnabled(v.hasFeature("custom_fonts")), t.customBlocks?.length && v.hasFeature("custom_blocks") && w.registerCustomBlocks(t.customBlocks), t.theme && v.hasFeature("theme_customization") && (w.themeOverrides.value = t.theme), t.modules !== !1 && v.hasFeature("saved_modules") &&
|
|
406
|
+
i.setCustomFontsEnabled(v.hasFeature("custom_fonts")), t.customBlocks?.length && v.hasFeature("custom_blocks") && w.registerCustomBlocks(t.customBlocks), t.theme && v.hasFeature("theme_customization") && (w.themeOverrides.value = t.theme), t.modules !== !1 && v.hasFeature("saved_modules") && I.loadModules(), a("ready");
|
|
376
407
|
} catch (e) {
|
|
377
408
|
if (f) return;
|
|
378
409
|
let n = e instanceof Error ? e : Error("Initialization failed", { cause: e });
|
|
@@ -381,7 +412,7 @@ function Be(e) {
|
|
|
381
412
|
f || (c.value = !1);
|
|
382
413
|
}
|
|
383
414
|
}
|
|
384
|
-
function
|
|
415
|
+
function q() {
|
|
385
416
|
f = !0, i.cleanupFontLinks(), x.disconnect(), w.destroy(), t.onUnmount?.();
|
|
386
417
|
}
|
|
387
418
|
return {
|
|
@@ -400,27 +431,27 @@ function Be(e) {
|
|
|
400
431
|
featureFlags: k,
|
|
401
432
|
mediaLib: A,
|
|
402
433
|
exporter: j,
|
|
403
|
-
testEmail:
|
|
404
|
-
commentsInstance:
|
|
405
|
-
savedModulesHeadless:
|
|
406
|
-
scoringInstance:
|
|
434
|
+
testEmail: ee,
|
|
435
|
+
commentsInstance: F,
|
|
436
|
+
savedModulesHeadless: I,
|
|
437
|
+
scoringInstance: U,
|
|
407
438
|
panelState: D,
|
|
408
439
|
snapshotPreview: E,
|
|
409
440
|
collabWarning: T,
|
|
410
441
|
showSaveModuleDialog: z,
|
|
411
|
-
showModuleBrowserModal:
|
|
412
|
-
saveModulePreSelectedBlockId:
|
|
442
|
+
showModuleBrowserModal: H,
|
|
443
|
+
saveModulePreSelectedBlockId: V,
|
|
413
444
|
onSaveHook: p,
|
|
414
|
-
initialize:
|
|
415
|
-
destroy:
|
|
416
|
-
setThemeOverrides:
|
|
417
|
-
setUiTheme:
|
|
418
|
-
openCommentsForBlock:
|
|
445
|
+
initialize: oe,
|
|
446
|
+
destroy: q,
|
|
447
|
+
setThemeOverrides: G,
|
|
448
|
+
setUiTheme: ae,
|
|
449
|
+
openCommentsForBlock: W
|
|
419
450
|
};
|
|
420
451
|
}
|
|
421
452
|
//#endregion
|
|
422
453
|
//#region src/utils/preRenderCustomBlocks.ts
|
|
423
|
-
async function
|
|
454
|
+
async function He(e, t) {
|
|
424
455
|
let n = async (e) => {
|
|
425
456
|
if (A(e)) {
|
|
426
457
|
let n = e;
|
|
@@ -439,10 +470,10 @@ async function Ve(e, t) {
|
|
|
439
470
|
}
|
|
440
471
|
//#endregion
|
|
441
472
|
//#region src/cloud/composables/useCloudLifecycle.ts
|
|
442
|
-
function
|
|
473
|
+
function Ue(e) {
|
|
443
474
|
let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
|
|
444
475
|
function u() {
|
|
445
|
-
return
|
|
476
|
+
return Ae(i.config.value.websocket);
|
|
446
477
|
}
|
|
447
478
|
async function d(e) {
|
|
448
479
|
let i = await n.create(e);
|
|
@@ -455,7 +486,7 @@ function He(e) {
|
|
|
455
486
|
async function p() {
|
|
456
487
|
c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
|
|
457
488
|
try {
|
|
458
|
-
if (await
|
|
489
|
+
if (await He(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
|
|
459
490
|
let e = await n.save();
|
|
460
491
|
if (l()) throw Error("Component unmounted during save");
|
|
461
492
|
a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
|
|
@@ -482,7 +513,7 @@ function He(e) {
|
|
|
482
513
|
}
|
|
483
514
|
//#endregion
|
|
484
515
|
//#region src/cloud/composables/useCloudSaveGate.ts
|
|
485
|
-
function
|
|
516
|
+
function We(e) {
|
|
486
517
|
let t = o(!1), n = null, r = d(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = d(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = d(() => i.value.length > 0);
|
|
487
518
|
async function s(e) {
|
|
488
519
|
return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
|
|
@@ -505,7 +536,7 @@ function Ue(e) {
|
|
|
505
536
|
}
|
|
506
537
|
//#endregion
|
|
507
538
|
//#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
|
|
508
|
-
var
|
|
539
|
+
var Ge = ["aria-label"], Ke = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl:max-w-md tpl:flex-col tpl:gap-4 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:p-5 tpl:shadow-[var(--tpl-shadow-md)]" }, qe = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Je = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Ye = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Xe = { class: "tpl:m-0 tpl:flex tpl:max-h-64 tpl:list-none tpl:flex-col tpl:gap-1.5 tpl:overflow-y-auto tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:p-2" }, Ze = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, Qe = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, $e = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, et = /* @__PURE__ */ l({
|
|
509
540
|
__name: "CloudSaveGateModal",
|
|
510
541
|
props: {
|
|
511
542
|
open: { type: Boolean },
|
|
@@ -527,18 +558,18 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
527
558
|
"aria-label": C(a).saveGate.title,
|
|
528
559
|
class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
|
|
529
560
|
onClick: o[2] ||= u((e) => i("cancel"), ["self"])
|
|
530
|
-
}, [f("div",
|
|
531
|
-
f("header",
|
|
561
|
+
}, [f("div", Ke, [
|
|
562
|
+
f("header", qe, [E(C(X), {
|
|
532
563
|
size: 18,
|
|
533
564
|
"stroke-width": 2,
|
|
534
565
|
class: "tpl:text-[var(--tpl-warning)]"
|
|
535
|
-
}), f("h2",
|
|
536
|
-
f("p",
|
|
537
|
-
f("ul",
|
|
566
|
+
}), f("h2", Je, w(C(a).saveGate.title), 1)]),
|
|
567
|
+
f("p", Ye, w(C(a).saveGate.body), 1),
|
|
568
|
+
f("ul", Xe, [(e(!0), m(_, null, r(t.issues, (t) => (e(), m("li", {
|
|
538
569
|
key: `${t.ruleId}-${t.blockId ?? "template"}`,
|
|
539
570
|
class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
|
|
540
|
-
}, [f("span",
|
|
541
|
-
f("footer",
|
|
571
|
+
}, [f("span", Ze, w(t.message), 1), f("span", Qe, w(t.ruleId), 1)]))), 128))]),
|
|
572
|
+
f("footer", $e, [f("button", {
|
|
542
573
|
type: "button",
|
|
543
574
|
class: "tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]",
|
|
544
575
|
onClick: o[0] ||= (e) => i("cancel")
|
|
@@ -547,11 +578,11 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
547
578
|
class: "tpl:rounded-md tpl:bg-[var(--tpl-danger)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:text-white",
|
|
548
579
|
onClick: o[1] ||= (e) => i("confirm")
|
|
549
580
|
}, w(C(a).saveGate.confirm), 1)])
|
|
550
|
-
])], 8,
|
|
581
|
+
])], 8, Ge)) : v("", !0)]),
|
|
551
582
|
_: 1
|
|
552
583
|
}));
|
|
553
584
|
}
|
|
554
|
-
}),
|
|
585
|
+
}), tt = {
|
|
555
586
|
class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4",
|
|
556
587
|
style: {
|
|
557
588
|
"background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
|
|
@@ -560,24 +591,24 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
560
591
|
"box-shadow": "var(--tpl-shadow-md)",
|
|
561
592
|
"border-bottom": "1px solid var(--tpl-border)"
|
|
562
593
|
}
|
|
563
|
-
},
|
|
594
|
+
}, nt = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, rt = {
|
|
564
595
|
key: 0,
|
|
565
596
|
class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
|
|
566
|
-
},
|
|
597
|
+
}, it = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, at = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, ot = ["data-tooltip"], st = {
|
|
567
598
|
key: 1,
|
|
568
599
|
"aria-live": "polite",
|
|
569
600
|
class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
|
|
570
|
-
},
|
|
601
|
+
}, ct = {
|
|
571
602
|
key: 2,
|
|
572
603
|
"aria-live": "polite",
|
|
573
604
|
class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
574
|
-
},
|
|
605
|
+
}, lt = ["aria-label", "aria-expanded"], ut = {
|
|
575
606
|
key: 0,
|
|
576
607
|
class: "tpl:inline-flex tpl:size-4.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)]"
|
|
577
|
-
},
|
|
608
|
+
}, dt = ["aria-expanded"], ft = {
|
|
578
609
|
key: 0,
|
|
579
610
|
class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
|
|
580
|
-
},
|
|
611
|
+
}, pt = ["disabled"], mt = ["disabled"], ht = /* @__PURE__ */ l({
|
|
581
612
|
__name: "CloudHeader",
|
|
582
613
|
props: {
|
|
583
614
|
editor: {},
|
|
@@ -595,22 +626,22 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
595
626
|
},
|
|
596
627
|
emits: ["save"],
|
|
597
628
|
setup(t) {
|
|
598
|
-
let n = D(() => import("./CollaboratorBar-
|
|
599
|
-
return (l, d) => (e(), m("header",
|
|
600
|
-
f("div",
|
|
629
|
+
let n = D(() => import("./CollaboratorBar-B_EnJLtW.js")), r = D(() => import("./SnapshotHistory-CVgiNJtE.js")), i = D(() => import("./AiFeatureMenu-F2diEDgV.js")), { t: a, format: o } = Q();
|
|
630
|
+
return (l, d) => (e(), m("header", tt, [
|
|
631
|
+
f("div", nt, [t.featureFlags.templateLimit.value === null ? v("", !0) : (e(), m("span", rt, w(C(o)(C(a).header.templatesUsed, {
|
|
601
632
|
used: t.featureFlags.templateCount.value,
|
|
602
633
|
max: t.featureFlags.templateLimit.value
|
|
603
634
|
})), 1))]),
|
|
604
|
-
f("div",
|
|
605
|
-
E(
|
|
635
|
+
f("div", it, [
|
|
636
|
+
E(le, {
|
|
606
637
|
viewport: t.editor.state.viewport,
|
|
607
638
|
onChange: t.editor.setViewport
|
|
608
639
|
}, null, 8, ["viewport", "onChange"]),
|
|
609
|
-
E(
|
|
640
|
+
E(q, {
|
|
610
641
|
"dark-mode": t.editor.state.darkMode,
|
|
611
642
|
onChange: t.editor.setDarkMode
|
|
612
643
|
}, null, 8, ["dark-mode", "onChange"]),
|
|
613
|
-
E(
|
|
644
|
+
E(G, {
|
|
614
645
|
"preview-mode": t.editor.state.previewMode,
|
|
615
646
|
onChange: t.editor.setPreviewMode
|
|
616
647
|
}, null, 8, ["preview-mode", "onChange"]),
|
|
@@ -634,7 +665,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
634
665
|
"onNavigate"
|
|
635
666
|
])) : v("", !0)
|
|
636
667
|
]),
|
|
637
|
-
f("div",
|
|
668
|
+
f("div", at, [
|
|
638
669
|
t.featureFlags.saveStatus.value === "error" ? (e(), m("div", {
|
|
639
670
|
key: 0,
|
|
640
671
|
"aria-live": "assertive",
|
|
@@ -643,10 +674,10 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
643
674
|
}, [E(C(W), {
|
|
644
675
|
size: 12,
|
|
645
676
|
"stroke-width": 2.5
|
|
646
|
-
}), s(" " + w(C(a).header.saveFailed), 1)], 8,
|
|
677
|
+
}), s(" " + w(C(a).header.saveFailed), 1)], 8, ot)) : t.featureFlags.saveStatus.value === "saved" ? (e(), m("div", st, [E(C(U), {
|
|
647
678
|
size: 12,
|
|
648
679
|
"stroke-width": 2.5
|
|
649
|
-
}), s(" " + w(C(a).header.saved), 1)])) : t.editor.state.isDirty ? (e(), m("div",
|
|
680
|
+
}), s(" " + w(C(a).header.saved), 1)])) : t.editor.state.isDirty ? (e(), m("div", ct, [d[4] ||= f("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), s(" " + w(C(a).header.unsaved), 1)])) : v("", !0),
|
|
650
681
|
t.commentsInstance.isEnabled.value && t.featureFlags.hasTemplateSaved.value ? (e(), m("button", {
|
|
651
682
|
key: 3,
|
|
652
683
|
"aria-label": t.commentsInstance.unresolvedCount.value > 0 ? `${C(a).comments.button} (${t.commentsInstance.unresolvedCount.value})` : C(a).comments.button,
|
|
@@ -659,13 +690,13 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
659
690
|
}),
|
|
660
691
|
onClick: d[0] ||= (e) => t.panelState.commentsOpen.value = !t.panelState.commentsOpen.value
|
|
661
692
|
}, [
|
|
662
|
-
E(C(
|
|
693
|
+
E(C(ge), {
|
|
663
694
|
size: 16,
|
|
664
695
|
"stroke-width": 2
|
|
665
696
|
}),
|
|
666
697
|
s(" " + w(C(a).comments.button) + " ", 1),
|
|
667
|
-
t.commentsInstance.unresolvedCount.value > 0 && !t.panelState.commentsOpen.value ? (e(), m("span",
|
|
668
|
-
], 14,
|
|
698
|
+
t.commentsInstance.unresolvedCount.value > 0 && !t.panelState.commentsOpen.value ? (e(), m("span", ut, w(t.commentsInstance.unresolvedCount.value), 1)) : v("", !0)
|
|
699
|
+
], 14, lt)) : v("", !0),
|
|
669
700
|
t.featureFlags.canUseAiGeneration.value && t.featureFlags.hasTemplateSaved.value ? (e(), m("div", {
|
|
670
701
|
key: 4,
|
|
671
702
|
ref: (e) => t.panelState.aiMenuRef.value = e,
|
|
@@ -674,11 +705,11 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
674
705
|
"aria-expanded": t.panelState.aiMenuOpen.value,
|
|
675
706
|
class: c(["tpl-ai-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-4 tpl:py-2 tpl:text-sm tpl:font-semibold tpl:whitespace-nowrap tpl:transition-all tpl:duration-200", t.panelState.aiButtonActive.value ? "tpl-ai-btn--active" : "tpl-ai-btn--idle"]),
|
|
676
707
|
onClick: d[1] ||= u((...e) => t.panelState.toggleAiMenu && t.panelState.toggleAiMenu(...e), ["stop"])
|
|
677
|
-
}, [E(C(
|
|
708
|
+
}, [E(C(Y), {
|
|
678
709
|
size: 16,
|
|
679
710
|
"stroke-width": 2,
|
|
680
711
|
class: "tpl-ai-btn-icon"
|
|
681
|
-
}), s(" " + w(C(a).aiChat.button), 1)], 10,
|
|
712
|
+
}), s(" " + w(C(a).aiChat.button), 1)], 10, dt), E(T, {
|
|
682
713
|
"enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
|
|
683
714
|
"enter-from-class": "tpl:scale-95 tpl:opacity-0",
|
|
684
715
|
"enter-to-class": "tpl:scale-100 tpl:opacity-100",
|
|
@@ -686,7 +717,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
686
717
|
"leave-from-class": "tpl:scale-100 tpl:opacity-100",
|
|
687
718
|
"leave-to-class": "tpl:scale-95 tpl:opacity-0"
|
|
688
719
|
}, {
|
|
689
|
-
default: O(() => [t.panelState.aiMenuOpen.value ? (e(), m("div",
|
|
720
|
+
default: O(() => [t.panelState.aiMenuOpen.value ? (e(), m("div", ft, [E(C(i), {
|
|
690
721
|
"active-feature": t.panelState.activeAiFeature.value,
|
|
691
722
|
onSelect: t.panelState.handleAiFeatureSelect
|
|
692
723
|
}, null, 8, ["active-feature", "onSelect"])])) : v("", !0)]),
|
|
@@ -702,16 +733,16 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
702
733
|
},
|
|
703
734
|
disabled: t.testEmail.isSending.value || !t.featureFlags.hasTemplateSaved.value,
|
|
704
735
|
onClick: d[2] ||= (e) => t.panelState.testEmailModalOpen.value = !0
|
|
705
|
-
}, [t.testEmail.isSending.value ? (e(), x(C(
|
|
736
|
+
}, [t.testEmail.isSending.value ? (e(), x(C(J), {
|
|
706
737
|
key: 1,
|
|
707
738
|
class: "tpl-spinner",
|
|
708
739
|
size: 16,
|
|
709
740
|
"stroke-width": 2
|
|
710
|
-
})) : (e(), x(C(
|
|
741
|
+
})) : (e(), x(C(_e), {
|
|
711
742
|
key: 0,
|
|
712
743
|
size: 16,
|
|
713
744
|
"stroke-width": 2
|
|
714
|
-
})), s(" " + w(C(a).testEmail.button), 1)], 10,
|
|
745
|
+
})), s(" " + w(C(a).testEmail.button), 1)], 10, pt)) : v("", !0),
|
|
715
746
|
f("button", {
|
|
716
747
|
class: c(C($)),
|
|
717
748
|
style: {
|
|
@@ -721,20 +752,20 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
721
752
|
},
|
|
722
753
|
disabled: t.isSaveDisabled,
|
|
723
754
|
onClick: d[3] ||= (e) => l.$emit("save")
|
|
724
|
-
}, [t.isSaving ? (e(), x(C(
|
|
755
|
+
}, [t.isSaving ? (e(), x(C(J), {
|
|
725
756
|
key: 1,
|
|
726
757
|
class: "tpl-spinner",
|
|
727
758
|
size: 16,
|
|
728
759
|
"stroke-width": 2
|
|
729
|
-
})) : (e(), x(C(
|
|
760
|
+
})) : (e(), x(C(Fe), {
|
|
730
761
|
key: 0,
|
|
731
762
|
size: 16,
|
|
732
763
|
"stroke-width": 2
|
|
733
|
-
})), s(" " + w(t.isSaving ? C(a).header.saving : C(a).header.save), 1)], 10,
|
|
764
|
+
})), s(" " + w(t.isSaving ? C(a).header.saving : C(a).header.save), 1)], 10, mt)
|
|
734
765
|
])
|
|
735
766
|
]));
|
|
736
767
|
}
|
|
737
|
-
}),
|
|
768
|
+
}), gt = /* @__PURE__ */ l({
|
|
738
769
|
__name: "CloudPanels",
|
|
739
770
|
props: {
|
|
740
771
|
config: {},
|
|
@@ -757,7 +788,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
757
788
|
"module-insert"
|
|
758
789
|
],
|
|
759
790
|
setup(t, { expose: n, emit: r }) {
|
|
760
|
-
let i = D(() => import("./AiChatSidebar-
|
|
791
|
+
let i = D(() => import("./AiChatSidebar-J8iO_sX7.js")), a = D(() => import("./CommentsSidebar-DaP9BA_r.js")), s = D(() => import("./DesignReferenceSidebar-BHRlTqlT.js")), c = D(() => import("./TemplateScoringPanel-lm0_9nYi.js")), l = D(() => import("./TestEmailModal-WBMdiW5S.js")), u = D(() => import("./SaveModuleDialog-DuEKgumL.js")), d = D(() => import("./ModuleBrowserModal-DOsdaS6s.js")), f = D(async () => {
|
|
761
792
|
try {
|
|
762
793
|
return (await import("@templatical/media-library")).MediaLibraryModal;
|
|
763
794
|
} catch {
|
|
@@ -839,23 +870,23 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
839
870
|
])
|
|
840
871
|
], 64));
|
|
841
872
|
}
|
|
842
|
-
}),
|
|
873
|
+
}), _t = {
|
|
843
874
|
key: 0,
|
|
844
875
|
class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
|
|
845
|
-
},
|
|
876
|
+
}, vt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, yt = { class: "tpl:flex tpl:w-12 tpl:shrink-0 tpl:flex-col tpl:items-center tpl:gap-4 tpl:py-5 tpl:border-r tpl:border-[var(--tpl-border)]" }, bt = /* @__PURE__ */ l({
|
|
846
877
|
__name: "CloudLoadingOverlay",
|
|
847
878
|
props: { visible: { type: Boolean } },
|
|
848
879
|
setup(t) {
|
|
849
|
-
return (n, i) => t.visible ? (e(), m("div",
|
|
880
|
+
return (n, i) => t.visible ? (e(), m("div", _t, [i[1] ||= p("<div class=\"tpl:flex tpl:h-14 tpl:shrink-0 tpl:items-center tpl:justify-between tpl:px-4 tpl:border-b tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-5 tpl:w-28 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl:flex tpl:gap-3\"><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-8 tpl:w-20 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div></div>", 1), f("div", vt, [f("div", yt, [(e(), m(_, null, r(5, (e) => f("div", {
|
|
850
881
|
key: e,
|
|
851
882
|
class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
|
|
852
883
|
})), 64))]), i[0] ||= p("<div class=\"tpl:flex tpl:flex-1 tpl:items-start tpl:justify-center tpl:overflow-auto tpl:p-8 tpl:bg-[var(--tpl-canvas-bg)]\"><div class=\"tpl:w-full tpl:max-w-[600px] tpl:rounded-[var(--tpl-radius)] tpl:p-6 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)]\"><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-3/4 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-5/6 tpl:rounded\"></div></div><div class=\"tpl:py-4\"><div class=\"tpl-shimmer tpl:h-44 tpl:w-full tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:h-3 tpl:w-full tpl:rounded\"></div><div class=\"tpl-shimmer tpl:h-3 tpl:w-2/3 tpl:rounded\"></div></div><div class=\"tpl:flex tpl:justify-center tpl:py-4\"><div class=\"tpl-shimmer tpl:h-10 tpl:w-36 tpl:rounded-[var(--tpl-radius-sm)]\"></div></div><div class=\"tpl:space-y-2 tpl:py-4\"><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/2 tpl:rounded\"></div><div class=\"tpl-shimmer tpl:mx-auto tpl:h-2.5 tpl:w-1/3 tpl:rounded\"></div></div></div></div><div class=\"tpl:flex tpl:w-[320px] tpl:shrink-0 tpl:flex-col tpl:gap-4 tpl:p-4 tpl:border-l tpl:border-[var(--tpl-border)]\"><div class=\"tpl-shimmer tpl:h-8 tpl:rounded-[var(--tpl-radius-sm)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div><div class=\"tpl-shimmer tpl:h-32 tpl:rounded-[var(--tpl-radius)]\"></div></div>", 2)])])) : v("", !0);
|
|
853
884
|
}
|
|
854
|
-
}),
|
|
885
|
+
}), xt = {
|
|
855
886
|
key: 0,
|
|
856
887
|
role: "alert",
|
|
857
888
|
class: "tpl-error tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-6 tpl:px-8 tpl:bg-[var(--tpl-bg)]"
|
|
858
|
-
},
|
|
889
|
+
}, St = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, Ct = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, wt = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Tt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Et = /* @__PURE__ */ l({
|
|
859
890
|
__name: "CloudErrorOverlay",
|
|
860
891
|
props: {
|
|
861
892
|
error: {},
|
|
@@ -870,13 +901,13 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
870
901
|
function o(e) {
|
|
871
902
|
return "isNotFound" in e && !!e.isNotFound;
|
|
872
903
|
}
|
|
873
|
-
return (n, s) => t.visible && t.error ? (e(), m("div",
|
|
874
|
-
f("div",
|
|
904
|
+
return (n, s) => t.visible && t.error ? (e(), m("div", xt, [
|
|
905
|
+
f("div", St, [E(C(W), {
|
|
875
906
|
size: 32,
|
|
876
907
|
"stroke-width": 1.5,
|
|
877
908
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
878
909
|
})]),
|
|
879
|
-
f("div",
|
|
910
|
+
f("div", Ct, [f("h2", wt, w(C(i).error.title), 1), f("p", Tt, w(a(t.error)), 1)]),
|
|
880
911
|
o(t.error) ? v("", !0) : (e(), m("button", {
|
|
881
912
|
key: 0,
|
|
882
913
|
class: "tpl-btn tpl-btn-primary tpl:inline-flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-4 tpl:py-2.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
@@ -884,20 +915,20 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
884
915
|
}, w(C(i).error.retry), 1))
|
|
885
916
|
])) : v("", !0);
|
|
886
917
|
}
|
|
887
|
-
}),
|
|
918
|
+
}), Dt = {
|
|
888
919
|
key: 0,
|
|
889
920
|
class: "tpl-preview-banner tpl:absolute tpl:top-14 tpl:right-0 tpl:left-0 tpl:z-40 tpl:flex tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-4 tpl:py-3 tpl:bg-[var(--tpl-primary-light)] tpl:border-b tpl:border-[var(--tpl-primary)]"
|
|
890
|
-
},
|
|
921
|
+
}, Ot = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, kt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, At = /* @__PURE__ */ l({
|
|
891
922
|
__name: "SnapshotPreviewBanner",
|
|
892
923
|
props: { visible: { type: Boolean } },
|
|
893
924
|
emits: ["cancel", "confirm"],
|
|
894
925
|
setup(t, { emit: n }) {
|
|
895
926
|
let r = n, { t: i } = Q();
|
|
896
|
-
return (n, a) => t.visible ? (e(), m("div",
|
|
927
|
+
return (n, a) => t.visible ? (e(), m("div", Dt, [f("div", Ot, [E(C(he), {
|
|
897
928
|
size: 18,
|
|
898
929
|
"stroke-width": 2,
|
|
899
930
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
900
|
-
}), f("span", null, w(C(i).snapshotPreview.message), 1)]), f("div",
|
|
931
|
+
}), f("span", null, w(C(i).snapshotPreview.message), 1)]), f("div", kt, [f("button", {
|
|
901
932
|
class: "tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
|
|
902
933
|
style: { "background-color": "transparent" },
|
|
903
934
|
onClick: a[0] ||= (e) => r("cancel")
|
|
@@ -906,7 +937,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
906
937
|
onClick: a[1] ||= (e) => r("confirm")
|
|
907
938
|
}, w(C(i).snapshotPreview.restore), 1)])])) : v("", !0);
|
|
908
939
|
}
|
|
909
|
-
}),
|
|
940
|
+
}), jt = {
|
|
910
941
|
key: 0,
|
|
911
942
|
role: "status",
|
|
912
943
|
"aria-live": "polite",
|
|
@@ -916,14 +947,14 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
916
947
|
color: "var(--tpl-text)",
|
|
917
948
|
border: "1px solid var(--tpl-warning)"
|
|
918
949
|
}
|
|
919
|
-
},
|
|
950
|
+
}, Mt = /* @__PURE__ */ l({
|
|
920
951
|
__name: "CollabUndoToast",
|
|
921
952
|
props: { visible: { type: Boolean } },
|
|
922
953
|
setup(t) {
|
|
923
|
-
let { t: n } =
|
|
924
|
-
return (r, i) => t.visible ? (e(), m("div",
|
|
954
|
+
let { t: n } = V();
|
|
955
|
+
return (r, i) => t.visible ? (e(), m("div", jt, w(C(n).history.collabWarning), 1)) : v("", !0);
|
|
925
956
|
}
|
|
926
|
-
}),
|
|
957
|
+
}), Nt = ["data-tpl-theme"], Pt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Ft = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, It = ["aria-label"], Lt = /*#__PURE__*/ Z(/* @__PURE__ */ l({
|
|
927
958
|
__name: "CloudEditor",
|
|
928
959
|
props: {
|
|
929
960
|
config: {},
|
|
@@ -936,70 +967,72 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
936
967
|
setup(n, { expose: r, emit: a }) {
|
|
937
968
|
let l = n;
|
|
938
969
|
h(z, l.cloudTranslations);
|
|
939
|
-
let
|
|
970
|
+
let d = a, p = o(null), _ = o(null), S = Ve({
|
|
940
971
|
config: l.config,
|
|
941
972
|
translations: l.translations,
|
|
942
973
|
fontsManager: l.fontsManager,
|
|
943
|
-
emit:
|
|
944
|
-
getCommentsSidebar: () =>
|
|
974
|
+
emit: d,
|
|
975
|
+
getCommentsSidebar: () => p.value ? { filterByBlock: p.value.filterCommentsByBlock } : null,
|
|
945
976
|
editorRoot: l.shadowRoot,
|
|
946
|
-
containerEl:
|
|
947
|
-
}), { isInitializing:
|
|
948
|
-
async function
|
|
977
|
+
containerEl: _
|
|
978
|
+
}), { isInitializing: D, isAuthReady: k, initError: A, planConfigInstance: M, websocket: N, collaboration: P, isCollaborationEnabled: F, editor: I, core: L, featureFlags: R, mediaLib: te, exporter: ne, testEmail: B, commentsInstance: re, savedModulesHeadless: ie, panelState: V, snapshotPreview: H, collabWarning: U, showSaveModuleDialog: W, showModuleBrowserModal: G, saveModulePreSelectedBlockId: K, setThemeOverrides: q, setUiTheme: le } = S, { showNotice: he } = ee(() => l.config.smallScreenNotice);
|
|
979
|
+
async function J(e) {
|
|
949
980
|
try {
|
|
950
981
|
await B.sendTestEmail(e), V.testEmailModalOpen.value = !1;
|
|
951
982
|
} catch {}
|
|
952
983
|
}
|
|
953
|
-
async function
|
|
984
|
+
async function ge() {
|
|
954
985
|
try {
|
|
955
986
|
await H.confirmRestoreSnapshot();
|
|
956
987
|
} catch {}
|
|
957
988
|
}
|
|
958
|
-
function
|
|
989
|
+
function _e(e, t) {
|
|
959
990
|
for (let n = 0; n < e.content.length; n++) {
|
|
960
991
|
let r = j(e.content[n]), i = t === void 0 ? void 0 : t + n;
|
|
961
|
-
|
|
992
|
+
I.addBlock(r, void 0, void 0, i);
|
|
962
993
|
}
|
|
963
994
|
G.value = !1;
|
|
964
995
|
}
|
|
965
|
-
let Y =
|
|
996
|
+
let Y = Ue({
|
|
966
997
|
config: l.config,
|
|
967
|
-
editor:
|
|
968
|
-
websocket:
|
|
969
|
-
planConfigInstance:
|
|
998
|
+
editor: I,
|
|
999
|
+
websocket: N,
|
|
1000
|
+
planConfigInstance: M,
|
|
970
1001
|
snapshotPreview: H,
|
|
971
|
-
core:
|
|
972
|
-
exporter:
|
|
973
|
-
featureFlags:
|
|
974
|
-
isDestroyed:
|
|
975
|
-
}), X =
|
|
976
|
-
issues:
|
|
977
|
-
planConfig:
|
|
1002
|
+
core: L,
|
|
1003
|
+
exporter: ne,
|
|
1004
|
+
featureFlags: R,
|
|
1005
|
+
isDestroyed: S.isDestroyed
|
|
1006
|
+
}), X = We({
|
|
1007
|
+
issues: L.templateLint ? L.templateLint.issues : o([]),
|
|
1008
|
+
planConfig: M.config
|
|
978
1009
|
});
|
|
979
1010
|
async function Z() {
|
|
980
1011
|
await X.tryRunSave(() => Y.saveTemplate().catch((e) => l.config.onError?.(e)));
|
|
981
1012
|
}
|
|
982
|
-
return
|
|
983
|
-
|
|
1013
|
+
return S.onSaveHook.value = Z, i(() => {
|
|
1014
|
+
S.initialize();
|
|
984
1015
|
}), g(() => {
|
|
985
|
-
|
|
1016
|
+
S.destroy();
|
|
986
1017
|
}), r({
|
|
987
|
-
getContent: () =>
|
|
988
|
-
setContent: (e) =>
|
|
989
|
-
setTheme:
|
|
990
|
-
setThemeOverrides:
|
|
1018
|
+
getContent: () => I.content.value,
|
|
1019
|
+
setContent: (e) => I.setContent(e),
|
|
1020
|
+
setTheme: le,
|
|
1021
|
+
setThemeOverrides: q,
|
|
991
1022
|
create: Y.createTemplate,
|
|
992
1023
|
load: Y.loadTemplate,
|
|
993
1024
|
save: Y.saveTemplate,
|
|
994
1025
|
sendTestEmail: B.sendTestEmail
|
|
995
1026
|
}), (r, i) => (e(), m("div", {
|
|
996
1027
|
ref_key: "rootEl",
|
|
997
|
-
ref:
|
|
998
|
-
class: c(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": C(
|
|
999
|
-
"data-tpl-theme": C(
|
|
1000
|
-
style: b(C(
|
|
1028
|
+
ref: _,
|
|
1029
|
+
class: c(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": C(I).state.darkMode }]),
|
|
1030
|
+
"data-tpl-theme": C(L).resolvedTheme.value,
|
|
1031
|
+
style: b(C(L).themeStyles.value),
|
|
1032
|
+
onDragover: i[9] ||= u(() => {}, ["prevent"]),
|
|
1033
|
+
onDrop: i[10] ||= u(() => {}, ["prevent"])
|
|
1001
1034
|
}, [
|
|
1002
|
-
E(
|
|
1035
|
+
E(me),
|
|
1003
1036
|
E(T, {
|
|
1004
1037
|
"enter-active-class": "tpl:transition-opacity tpl:duration-200",
|
|
1005
1038
|
"enter-from-class": "tpl:opacity-100",
|
|
@@ -1008,7 +1041,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1008
1041
|
"leave-from-class": "tpl:opacity-100",
|
|
1009
1042
|
"leave-to-class": "tpl:opacity-0"
|
|
1010
1043
|
}, {
|
|
1011
|
-
default: O(() => [E(
|
|
1044
|
+
default: O(() => [E(bt, { visible: C(D) || C(I).state.isLoading }, null, 8, ["visible"])]),
|
|
1012
1045
|
_: 1
|
|
1013
1046
|
}),
|
|
1014
1047
|
E(T, {
|
|
@@ -1019,10 +1052,10 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1019
1052
|
"leave-from-class": "tpl:opacity-100",
|
|
1020
1053
|
"leave-to-class": "tpl:opacity-0"
|
|
1021
1054
|
}, {
|
|
1022
|
-
default: O(() => [E(
|
|
1023
|
-
error: C(
|
|
1024
|
-
visible: !!C(
|
|
1025
|
-
onRetry: C(
|
|
1055
|
+
default: O(() => [E(Et, {
|
|
1056
|
+
error: C(A),
|
|
1057
|
+
visible: !!C(A) && !C(D),
|
|
1058
|
+
onRetry: C(S).initialize
|
|
1026
1059
|
}, null, 8, [
|
|
1027
1060
|
"error",
|
|
1028
1061
|
"visible",
|
|
@@ -1030,19 +1063,19 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1030
1063
|
])]),
|
|
1031
1064
|
_: 1
|
|
1032
1065
|
}),
|
|
1033
|
-
E(
|
|
1034
|
-
editor: C(
|
|
1035
|
-
core: C(
|
|
1036
|
-
"feature-flags": C(
|
|
1066
|
+
E(ht, {
|
|
1067
|
+
editor: C(I),
|
|
1068
|
+
core: C(L),
|
|
1069
|
+
"feature-flags": C(R),
|
|
1037
1070
|
"panel-state": C(V),
|
|
1038
1071
|
"snapshot-preview": C(H),
|
|
1039
|
-
"comments-instance": C(
|
|
1072
|
+
"comments-instance": C(re),
|
|
1040
1073
|
"test-email": C(B),
|
|
1041
|
-
websocket: C(
|
|
1042
|
-
collaboration: C(
|
|
1043
|
-
"is-collaboration-enabled": C(
|
|
1044
|
-
"is-saving": C(
|
|
1045
|
-
"is-save-disabled": C(
|
|
1074
|
+
websocket: C(N),
|
|
1075
|
+
collaboration: C(P),
|
|
1076
|
+
"is-collaboration-enabled": C(F),
|
|
1077
|
+
"is-saving": C(I).state.isSaving || C(R).isSaveExporting.value,
|
|
1078
|
+
"is-save-disabled": C(I).state.isSaving || C(R).isSaveExporting.value || !C(I).state.isDirty,
|
|
1046
1079
|
onSave: Z
|
|
1047
1080
|
}, null, 8, [
|
|
1048
1081
|
"editor",
|
|
@@ -1058,7 +1091,7 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1058
1091
|
"is-saving",
|
|
1059
1092
|
"is-save-disabled"
|
|
1060
1093
|
]),
|
|
1061
|
-
E(
|
|
1094
|
+
E(et, {
|
|
1062
1095
|
open: C(X).modalOpen.value,
|
|
1063
1096
|
issues: C(X).blockingIssues.value,
|
|
1064
1097
|
onCancel: C(X).cancel,
|
|
@@ -1069,10 +1102,10 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1069
1102
|
"onCancel",
|
|
1070
1103
|
"onConfirm"
|
|
1071
1104
|
]),
|
|
1072
|
-
E(
|
|
1105
|
+
E(At, {
|
|
1073
1106
|
visible: C(H).isPreviewingSnapshot.value,
|
|
1074
1107
|
onCancel: C(H).cancelPreview,
|
|
1075
|
-
onConfirm:
|
|
1108
|
+
onConfirm: ge
|
|
1076
1109
|
}, null, 8, ["visible", "onCancel"]),
|
|
1077
1110
|
E(T, {
|
|
1078
1111
|
"enter-active-class": "tpl:transition-all tpl:duration-200 tpl:ease-out",
|
|
@@ -1082,18 +1115,18 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1082
1115
|
"leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
|
|
1083
1116
|
"leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
|
|
1084
1117
|
}, {
|
|
1085
|
-
default: O(() => [E(
|
|
1118
|
+
default: O(() => [E(Mt, { visible: C(U).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
|
|
1086
1119
|
_: 1
|
|
1087
1120
|
}),
|
|
1088
|
-
t(E(
|
|
1121
|
+
t(E(se, null, null, 512), [[y, !C(I).state.previewMode]]),
|
|
1089
1122
|
f("div", {
|
|
1090
|
-
class: c(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [C(
|
|
1123
|
+
class: c(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [C(I).state.previewMode ? "tpl:left-0 tpl:right-0" : C(V).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", C(H).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
|
|
1091
1124
|
style: {
|
|
1092
1125
|
transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
1093
1126
|
"background-color": "var(--tpl-canvas-bg)"
|
|
1094
1127
|
}
|
|
1095
|
-
}, [f("div",
|
|
1096
|
-
default: O(() => [C(
|
|
1128
|
+
}, [f("div", Pt, [E(T, { name: "tpl-restore-btn" }, {
|
|
1129
|
+
default: O(() => [C(L).conditionPreview.hasHiddenBlocks.value ? (e(), m("button", {
|
|
1097
1130
|
key: 0,
|
|
1098
1131
|
class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:-translate-x-1/2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-full tpl:border tpl:px-3.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:whitespace-nowrap tpl:shadow-md tpl:hover:opacity-80",
|
|
1099
1132
|
style: {
|
|
@@ -1102,20 +1135,20 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1102
1135
|
"border-color": "var(--tpl-warning)",
|
|
1103
1136
|
"backdrop-filter": "blur(8px)"
|
|
1104
1137
|
},
|
|
1105
|
-
onClick: i[0] ||= (e) => C(
|
|
1106
|
-
}, [E(C(
|
|
1138
|
+
onClick: i[0] ||= (e) => C(L).conditionPreview.reset()
|
|
1139
|
+
}, [E(C(ue), {
|
|
1107
1140
|
size: 13,
|
|
1108
1141
|
"stroke-width": 2
|
|
1109
|
-
}), s(" " + w(C(
|
|
1142
|
+
}), s(" " + w(C(L).t.blockSettings.restoreHiddenBlocks), 1)])) : v("", !0)]),
|
|
1110
1143
|
_: 1
|
|
1111
|
-
})]), f("main",
|
|
1112
|
-
viewport: C(
|
|
1113
|
-
content: C(
|
|
1114
|
-
"selected-block-id": C(
|
|
1115
|
-
"dark-mode": C(
|
|
1116
|
-
"preview-mode": C(
|
|
1117
|
-
"locked-blocks": C(
|
|
1118
|
-
onSelectBlock: C(
|
|
1144
|
+
})]), f("main", Ft, [E(oe, {
|
|
1145
|
+
viewport: C(I).state.viewport,
|
|
1146
|
+
content: C(I).content.value,
|
|
1147
|
+
"selected-block-id": C(I).state.selectedBlockId,
|
|
1148
|
+
"dark-mode": C(I).state.darkMode,
|
|
1149
|
+
"preview-mode": C(I).state.previewMode,
|
|
1150
|
+
"locked-blocks": C(P)?.lockedBlocks.value ?? void 0,
|
|
1151
|
+
onSelectBlock: C(I).selectBlock,
|
|
1119
1152
|
onOpenAiChat: i[1] ||= (e) => C(V).aiChatOpen.value = !0,
|
|
1120
1153
|
onOpenDesignReference: i[2] ||= (e) => C(V).designReferenceOpen.value = !0
|
|
1121
1154
|
}, null, 8, [
|
|
@@ -1127,51 +1160,51 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1127
1160
|
"locked-blocks",
|
|
1128
1161
|
"onSelectBlock"
|
|
1129
1162
|
])])], 2),
|
|
1130
|
-
n.config.branding !== !1 && !C(
|
|
1163
|
+
n.config.branding !== !1 && !C(R).isWhiteLabeled.value ? (e(), x(de, {
|
|
1131
1164
|
key: 0,
|
|
1132
|
-
"position-class": [C(
|
|
1165
|
+
"position-class": [C(I).state.previewMode ? "tpl:left-0 tpl:right-0" : C(V).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
|
|
1133
1166
|
}, null, 8, ["position-class"])) : v("", !0),
|
|
1134
1167
|
f("div", {
|
|
1135
1168
|
class: "tpl-sr-only",
|
|
1136
1169
|
role: "status",
|
|
1137
1170
|
"aria-live": "polite",
|
|
1138
1171
|
"aria-atomic": "true",
|
|
1139
|
-
"aria-label": C(
|
|
1140
|
-
}, w(C(
|
|
1141
|
-
t(E(
|
|
1142
|
-
"selected-block": C(
|
|
1143
|
-
settings: C(
|
|
1172
|
+
"aria-label": C(L).t.landmarks.reorderAnnouncements
|
|
1173
|
+
}, w(C(L).keyboardReorder.announcement.value), 9, It),
|
|
1174
|
+
t(E(ae, {
|
|
1175
|
+
"selected-block": C(I).selectedBlock.value,
|
|
1176
|
+
settings: C(I).content.value.settings,
|
|
1144
1177
|
"shifted-left": C(V).rightPanelOpen.value,
|
|
1145
|
-
onUpdateBlock: i[3] ||= (e) => C(
|
|
1146
|
-
onDeleteBlock: i[4] ||= (e) => C(
|
|
1147
|
-
onDuplicateBlock: i[5] ||= (e) => C(
|
|
1148
|
-
onUpdateSettings: C(
|
|
1178
|
+
onUpdateBlock: i[3] ||= (e) => C(I).updateBlock(C(I).selectedBlock.value.id, e),
|
|
1179
|
+
onDeleteBlock: i[4] ||= (e) => C(L).blockActions.deleteBlock(C(I).selectedBlock.value.id),
|
|
1180
|
+
onDuplicateBlock: i[5] ||= (e) => C(L).blockActions.duplicateBlock(C(I).selectedBlock.value),
|
|
1181
|
+
onUpdateSettings: C(I).updateSettings
|
|
1149
1182
|
}, null, 8, [
|
|
1150
1183
|
"selected-block",
|
|
1151
1184
|
"settings",
|
|
1152
1185
|
"shifted-left",
|
|
1153
1186
|
"onUpdateSettings"
|
|
1154
|
-
]), [[y, !C(
|
|
1155
|
-
!C(
|
|
1187
|
+
]), [[y, !C(I).state.previewMode]]),
|
|
1188
|
+
!C(D) && C(k) ? (e(), x(gt, {
|
|
1156
1189
|
key: 1,
|
|
1157
1190
|
ref_key: "cloudPanelsRef",
|
|
1158
|
-
ref:
|
|
1191
|
+
ref: p,
|
|
1159
1192
|
config: l.config,
|
|
1160
|
-
editor: C(
|
|
1161
|
-
core: C(
|
|
1193
|
+
editor: C(I),
|
|
1194
|
+
core: C(L),
|
|
1162
1195
|
"panel-state": C(V),
|
|
1163
|
-
"plan-config-instance": C(
|
|
1196
|
+
"plan-config-instance": C(M),
|
|
1164
1197
|
"test-email": C(B),
|
|
1165
|
-
"media-lib": C(
|
|
1166
|
-
"saved-modules-headless": C(
|
|
1198
|
+
"media-lib": C(te),
|
|
1199
|
+
"saved-modules-headless": C(ie),
|
|
1167
1200
|
"show-save-module-dialog": C(W),
|
|
1168
1201
|
"save-module-pre-selected-block-id": C(K),
|
|
1169
1202
|
"show-module-browser-modal": C(G),
|
|
1170
1203
|
"onUpdate:showSaveModuleDialog": i[6] ||= (e) => W.value = e,
|
|
1171
1204
|
"onUpdate:saveModulePreSelectedBlockId": i[7] ||= (e) => K.value = e,
|
|
1172
1205
|
"onUpdate:showModuleBrowserModal": i[8] ||= (e) => G.value = e,
|
|
1173
|
-
onSendTestEmail:
|
|
1174
|
-
onModuleInsert:
|
|
1206
|
+
onSendTestEmail: J,
|
|
1207
|
+
onModuleInsert: _e
|
|
1175
1208
|
}, null, 8, [
|
|
1176
1209
|
"config",
|
|
1177
1210
|
"editor",
|
|
@@ -1186,13 +1219,14 @@ var We = ["aria-label"], Ge = { class: "tpl:flex tpl:max-h-[80vh] tpl:w-full tpl
|
|
|
1186
1219
|
"show-module-browser-modal"
|
|
1187
1220
|
])) : v("", !0),
|
|
1188
1221
|
f("div", {
|
|
1189
|
-
ref: (e) => C(
|
|
1222
|
+
ref: (e) => C(L).popoverRoot.value = e,
|
|
1190
1223
|
class: "tpl-popover-root"
|
|
1191
1224
|
}, null, 512),
|
|
1192
|
-
E(
|
|
1193
|
-
|
|
1194
|
-
|
|
1225
|
+
E(ce),
|
|
1226
|
+
E(pe),
|
|
1227
|
+
C(he) ? (e(), x(fe, { key: 2 })) : v("", !0)
|
|
1228
|
+
], 46, Nt));
|
|
1195
1229
|
}
|
|
1196
|
-
}), [["__scopeId", "data-v-
|
|
1230
|
+
}), [["__scopeId", "data-v-3fc6c906"]]);
|
|
1197
1231
|
//#endregion
|
|
1198
|
-
export {
|
|
1232
|
+
export { Lt as default };
|