@templatical/editor 0.5.0 → 0.6.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/AccessibilityPanel-CvQGLdu6.js +108 -0
- package/dist/{AiChatSidebar-Cg206ewI.js → AiChatSidebar-Br9dhkIB.js} +17 -16
- package/dist/{AiFeatureMenu-vatvCD-m.js → AiFeatureMenu-Ceewb3uB.js} +13 -13
- package/dist/BlockA11yBadge-CXDLqkcJ.js +34 -0
- package/dist/{CloudEditor-Bxe8Jt9u.js → CloudEditor-D_flODpm.js} +306 -217
- package/dist/{CollaboratorBar-Dv7VT09N.js → CollaboratorBar-BcSxXVY-.js} +4 -4
- package/dist/{CommentsSidebar-BAma2apG.js → CommentsSidebar-DceMRyIS.js} +26 -25
- package/dist/{CountdownBlock-Ce3RFNpM.js → CountdownBlock-BNSj1jvJ.js} +2 -2
- package/dist/{CountdownToolbar-Bo3Jaiky.js → CountdownToolbar-ClJr2GzL.js} +3 -3
- package/dist/{DesignReferenceSidebar-B8DDnLHQ.js → DesignReferenceSidebar-50qFipmW.js} +30 -29
- package/dist/{LoadingTrack-DhxulLPM.js → LoadingTrack-B0CWFHXQ.js} +1 -1
- package/dist/{ModuleBrowserModal-DAnqdlyq.js → ModuleBrowserModal-BnSdG4DE.js} +10 -10
- package/dist/{ModulePreviewCanvas-CXApEVEG.js → ModulePreviewCanvas-B78PuZdk.js} +2 -2
- package/dist/{NumberWithSuffix-BysfchFp.js → NumberWithSuffix-DkXUez9t.js} +3 -3
- package/dist/{ParagraphEditor-Bjdakcoz.js → ParagraphEditor-CPBYk2m3.js} +44 -43
- package/dist/{RichTextEditorContent-jxPxfbfZ.js → RichTextEditorContent-DYkIauIk.js} +4 -4
- package/dist/{SaveModuleDialog-CZXltahx.js → SaveModuleDialog-Df__VToK.js} +7 -7
- package/dist/{SnapshotHistory-OqEkaA0W.js → SnapshotHistory-QBTbVrEK.js} +9 -9
- package/dist/{TemplateScoringPanel-BmAHdgLF.js → TemplateScoringPanel-4GTNHej5.js} +29 -27
- package/dist/{TestEmailModal-CvEK6MTy.js → TestEmailModal-DaDMACHY.js} +4 -4
- package/dist/{TitleEditor-CxCD70Bs.js → TitleEditor-PHShl4tS.js} +11 -11
- package/dist/{TplModal-C2Hoz1it.js → TplModal-DzlNkBYQ.js} +2 -2
- package/dist/_plugin-vue_export-helper-B0hnzhyu.js +8 -0
- package/dist/accessibility-e8JYu_zd.js +27 -0
- package/dist/{blockTypeIcons-DpJa9awv.js → blockTypeIcons-D0wkSpP9.js} +2 -2
- package/dist/bundle-stats.json +8 -8
- package/dist/cdn/chunks/AccessibilityPanel-DmQIqpp1.js +97 -0
- package/dist/cdn/chunks/AccessibilityPanel-DmQIqpp1.js.map +1 -0
- package/dist/cdn/chunks/{AiFeatureMenu-BggCm6wN.js → AiFeatureMenu-D0kJ0FMv.js} +5 -5
- package/dist/cdn/chunks/{AiFeatureMenu-BggCm6wN.js.map → AiFeatureMenu-D0kJ0FMv.js.map} +1 -1
- package/dist/cdn/chunks/BlockA11yBadge-DWi7e6UQ.js +33 -0
- package/dist/cdn/chunks/BlockA11yBadge-DWi7e6UQ.js.map +1 -0
- package/dist/cdn/chunks/{CloudEditor-CTNhzoZ1.js → CloudEditor-ulKjC0Ag.js} +253 -166
- package/dist/cdn/chunks/CloudEditor-ulKjC0Ag.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-De-3lvDy.js → CollaboratorBar-Bp9LwcWB.js} +6 -6
- package/dist/cdn/chunks/{CollaboratorBar-De-3lvDy.js.map → CollaboratorBar-Bp9LwcWB.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-CUAl8R-c.js → CountdownBlock-XFPbUKXw.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-CUAl8R-c.js.map → CountdownBlock-XFPbUKXw.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-3zLcGAcb.js → CountdownToolbar-DndLWUgz.js} +3 -3
- package/dist/cdn/chunks/{CountdownToolbar-3zLcGAcb.js.map → CountdownToolbar-DndLWUgz.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-CxICY31A.js → ModuleBrowserModal-ClY6A8bi.js} +7 -7
- package/dist/cdn/chunks/{ModuleBrowserModal-CxICY31A.js.map → ModuleBrowserModal-ClY6A8bi.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-Cv0zciNS.js → ModulePreviewCanvas-eQExlHRD.js} +18 -18
- package/dist/cdn/chunks/{ModulePreviewCanvas-Cv0zciNS.js.map → ModulePreviewCanvas-eQExlHRD.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-BaVxnNI4.js → NumberWithSuffix-Cf5C9rpj.js} +4 -4
- package/dist/cdn/chunks/{NumberWithSuffix-BaVxnNI4.js.map → NumberWithSuffix-Cf5C9rpj.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BrzlI8vp.js → ParagraphEditor-B5AvuetS.js} +57 -57
- package/dist/cdn/chunks/ParagraphEditor-B5AvuetS.js.map +1 -0
- package/dist/cdn/chunks/{RichTextEditorContent-9vq4MRDp.js → RichTextEditorContent-hCk4SA8U.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-9vq4MRDp.js.map → RichTextEditorContent-hCk4SA8U.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-Lco3k1xX.js → SaveModuleDialog-Borv00Kh.js} +3 -3
- package/dist/cdn/chunks/{SaveModuleDialog-Lco3k1xX.js.map → SaveModuleDialog-Borv00Kh.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-BiiEtH7x.js → TitleEditor-BkzRNsEg.js} +12 -12
- package/dist/cdn/chunks/TitleEditor-BkzRNsEg.js.map +1 -0
- package/dist/cdn/chunks/blockTypeIcons-Dlw0LR_y.js +22 -0
- package/dist/cdn/chunks/{blockTypeIcons-DWhn7E7O.js.map → blockTypeIcons-Dlw0LR_y.js.map} +1 -1
- package/dist/cdn/chunks/{de-CGu9U1iv.js → de-Ce-LbJ2J.js} +1 -1
- package/dist/cdn/chunks/{de-CGu9U1iv.js.map → de-Ce-LbJ2J.js.map} +1 -1
- package/dist/{de-tDioEErp.js → cdn/chunks/de-D8CnZxV9.js} +24 -4
- package/dist/cdn/chunks/de-D8CnZxV9.js.map +1 -0
- package/dist/{de-CbSb23fl.js → cdn/chunks/de-RQrZR56a.js} +8 -0
- package/dist/cdn/chunks/{de-Db6I9YdS.js.map → de-RQrZR56a.js.map} +1 -1
- package/dist/cdn/chunks/{emojiData-Vv_m5TSB.js → emojiData-EMFlj6FJ.js} +1 -1
- package/dist/cdn/chunks/{emojiData-Vv_m5TSB.js.map → emojiData-EMFlj6FJ.js.map} +1 -1
- package/dist/{en-W2p7oPaa.js → cdn/chunks/en-8FHaQv4V.js} +24 -4
- package/dist/cdn/chunks/en-8FHaQv4V.js.map +1 -0
- package/dist/{en-2fvenFu0.js → cdn/chunks/en-Bl1ecfRF.js} +8 -0
- package/dist/cdn/chunks/{en-BbqBJ2Q3.js.map → en-Bl1ecfRF.js.map} +1 -1
- package/dist/cdn/chunks/{en-C3WMCISl.js → en-DiCWK5fG.js} +1 -1
- package/dist/cdn/chunks/{en-C3WMCISl.js.map → en-DiCWK5fG.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-C6oPJqKD.js → extensions-Bseybosy.js} +48 -36
- package/dist/cdn/chunks/{extensions-C6oPJqKD.js.map → extensions-Bseybosy.js.map} +1 -1
- package/dist/cdn/chunks/{features-DV4PhoBs.js → features-C256qERn.js} +828 -765
- package/dist/cdn/chunks/features-C256qERn.js.map +1 -0
- package/dist/cdn/chunks/{icons-LJ8U8lWI.js → icons-BfGy6HC_.js} +99 -52
- package/dist/cdn/chunks/icons-BfGy6HC_.js.map +1 -0
- package/dist/cdn/chunks/{media-library-CWQAvfov.js → media-library-hjXJlR6s.js} +217 -217
- package/dist/cdn/chunks/{media-library-CWQAvfov.js.map → media-library-hjXJlR6s.js.map} +1 -1
- package/dist/cdn/chunks/quality-CqLOOUnE.js +1404 -0
- package/dist/cdn/chunks/quality-CqLOOUnE.js.map +1 -0
- package/dist/cdn/chunks/{readableTextColor-Cd_cgWO_.js → readableTextColor-DhoK4XiZ.js} +1 -1
- package/dist/cdn/chunks/{readableTextColor-Cd_cgWO_.js.map → readableTextColor-DhoK4XiZ.js.map} +1 -1
- package/dist/cdn/chunks/{dist-DFfcnJJB.js → renderer-Dbtez0lY.js} +178 -126
- package/dist/cdn/chunks/renderer-Dbtez0lY.js.map +1 -0
- package/dist/cdn/chunks/{src-CVBDXDBH.js → src-MOXq0pRK.js} +11 -11
- package/dist/cdn/chunks/{src-CVBDXDBH.js.map → src-MOXq0pRK.js.map} +1 -1
- package/dist/cdn/chunks/{styles-CFnn-xE6.js → styles-COCYlkQY.js} +577 -485
- package/dist/cdn/chunks/styles-COCYlkQY.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-kGWe8qnA.js → tiptap-CX3vCeHQ.js} +2 -2
- package/dist/cdn/chunks/{tiptap-kGWe8qnA.js.map → tiptap-CX3vCeHQ.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +87 -86
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{check-Om8IxvJb.js → check-Da05j8yl.js} +1 -1
- package/dist/{chevron-down-SG7QNtDl.js → chevron-down-R2uY34iD.js} +1 -1
- package/dist/{circle-alert-De74azaX.js → circle-alert-DZuGWPX-.js} +1 -1
- package/dist/{clock-Dr7rX_PG.js → clock-CRp2sIub.js} +1 -1
- package/dist/{cloud-B1NAFg44.js → cloud-WfWdqZVK.js} +1 -1
- package/dist/{_plugin-vue_export-helper-GRmvIR5A.js → createLucideIcon-C3pa2siy.js} +2 -6
- package/dist/{cdn/chunks/de-DEg-6TsA.js → de-Brqvgr43.js} +22 -6
- package/dist/{cdn/chunks/de-Db6I9YdS.js → de-DCaaCE5s.js} +6 -2
- package/dist/{dist-CuyhAnuE.js → dist-B1IR0bpH.js} +65 -53
- package/dist/{dist-QoJxR1uP.js → dist-BFawx6IS.js} +1 -1
- package/dist/{dist-H7npgW0s.js → dist-BaQIYPsn.js} +1 -1
- package/dist/{dist-C4m7p7Wb.js → dist-Cp0zXPAD.js} +1 -1
- package/dist/{dist--8ZUsIQD.js → dist-D6uC2xhi.js} +1 -1
- package/dist/{dist-BMMiVjHs.js → dist-D90y8dvT.js} +3 -3
- package/dist/{dist--e2w6FN-.js → dist-DDJIWTRY.js} +1 -1
- package/dist/{dist-e0ylhlSV.js → dist-DJmnUmW9.js} +2 -1
- package/dist/{dist-BOSn1353.js → dist-DjviJBCi.js} +1 -1
- package/dist/{dist-BsiDC2rP.js → dist-KoBJjK1G.js} +1 -1
- package/dist/{dist-BNZS_qhu.js → dist-aRzjfSRN.js} +1 -1
- package/dist/{dist-3AzSJz2x.js → dist-us-RpCWN.js} +1 -1
- package/dist/{dist-DPsMHsAW.js → dist-wzMIGj-D.js} +1 -1
- package/dist/{cdn/chunks/en-BbqBJ2Q3.js → en-DXCyK4-X.js} +6 -2
- package/dist/{cdn/chunks/en-DpHxxBnH.js → en-WDVp87TE.js} +22 -6
- package/dist/{extensions-BQjnrlGT.js → extensions-CUcl9Ok4.js} +37 -25
- package/dist/{image-up-10kxuulB.js → image-up-MBZKKg9p.js} +1 -1
- package/dist/index.d.ts +25 -8
- package/dist/info-CJEC7piy.js +19 -0
- package/dist/{keys-BeW4IrXP.js → keys-ciNfSSGj.js} +3 -3
- package/dist/{loader-circle-IS16T05j.js → loader-circle-DsY5Yg33.js} +1 -1
- package/dist/{message-circle-3R472hDc.js → message-circle-yElBbR2C.js} +1 -1
- package/dist/{refresh-cw-CpmOfpPK.js → refresh-cw-CE_AGtn8.js} +3 -18
- package/dist/{scan-line-J_fzG2Wo.js → scan-line-D0vcUekt.js} +1 -1
- package/dist/{send-DRkFf4hP.js → send-DH4oDQqC.js} +1 -1
- package/dist/{shield-check-DtXk7JKN.js → shield-check-CfJgs2Hd.js} +1 -1
- package/dist/{sparkles-CD7TiNiC.js → sparkles-CvRXGqFs.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{styles-CdrFC7-K.js → styles-B58wYIn4.js} +590 -477
- package/dist/templatical-editor.js +90 -89
- package/dist/{text-align-start-B8M9hruh.js → text-align-start-BT9VUDxK.js} +1 -1
- package/dist/{trash-2-cEVwp-r_.js → trash-2-DbP2Y6t2.js} +1 -1
- package/dist/{triangle-alert-8CkexIzx.js → triangle-alert-aOXceTSe.js} +1 -1
- package/dist/{useCloudI18n-D0Fi0hBU.js → useCloudI18n-BuIwR6OE.js} +1 -1
- package/dist/{useEditorCore-JdLcaPeJ.js → useEditorCore-Dz-qbVXX.js} +2100 -2049
- package/dist/{useI18n-Jp3X6Q0t.js → useI18n-lb2DHDiu.js} +1 -1
- package/dist/{useMergeTag-BfFykpYl.js → useMergeTag-CBwKnnNB.js} +4 -4
- package/dist/{x-BNc1bVzp.js → x-u2oVmjN_.js} +1 -1
- package/package.json +10 -5
- package/dist/cdn/chunks/CloudEditor-CTNhzoZ1.js.map +0 -1
- package/dist/cdn/chunks/ParagraphEditor-BrzlI8vp.js.map +0 -1
- package/dist/cdn/chunks/TitleEditor-BiiEtH7x.js.map +0 -1
- package/dist/cdn/chunks/blockTypeIcons-DWhn7E7O.js +0 -22
- package/dist/cdn/chunks/de-DEg-6TsA.js.map +0 -1
- package/dist/cdn/chunks/dist-DFfcnJJB.js.map +0 -1
- package/dist/cdn/chunks/en-DpHxxBnH.js.map +0 -1
- package/dist/cdn/chunks/features-DV4PhoBs.js.map +0 -1
- package/dist/cdn/chunks/icons-LJ8U8lWI.js.map +0 -1
- package/dist/cdn/chunks/styles-CFnn-xE6.js.map +0 -1
- /package/dist/{dist-CmrXHeJS.js → dist-iLBdeBDR.js} +0 -0
- /package/dist/{emojiData-DcYt1YZ3.js → emojiData-PQyVa4bU.js} +0 -0
- /package/dist/{formatRelativeTime-MungD2xr.js → formatRelativeTime-WvH3Au71.js} +0 -0
- /package/dist/{liquid.browser-BohVA1YU.js → liquid.browser-CdMv1BTn.js} +0 -0
- /package/dist/{readableTextColor-Uc7ntzXo.js → readableTextColor-CY3SiRnt.js} +0 -0
- /package/dist/{styleConstants-Beu6EmBc.js → styleConstants-fWzlIIwN.js} +0 -0
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { A as e, Dt as t, H as n, M as r, Mt as i, N as a, Ot as o, P as s, Q as c, S as l, V as u, Y as d, _ as f, b as p, c as m, d as h, et as g, g as _, h as v, it as y, j as b, m as x, p as S, t as C, u as w, v as T, x as E, y as D, z as O } from "./vue.runtime.esm-bundler-DpvJL-nX.js";
|
|
2
2
|
import { t as k } from "./timeouts-BSGxjuUF.js";
|
|
3
|
-
import { E as A, i as j } from "./dist-
|
|
4
|
-
import { P as M, S as
|
|
5
|
-
import { s as
|
|
6
|
-
import { C as
|
|
7
|
-
import { t as
|
|
8
|
-
import {
|
|
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 le } from "./send-
|
|
16
|
-
import { t as ue } from "./sparkles-
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
|
|
3
|
+
import { E as A, i as j } from "./dist-DJmnUmW9.js";
|
|
4
|
+
import { P as M, S as ee, t as N } from "./useEditorCore-Dz-qbVXX.js";
|
|
5
|
+
import { s as P, t as F } from "./dist-B1IR0bpH.js";
|
|
6
|
+
import { C as te, c as I, i as L, l as R, n as z, u as ne, w as B, x as V } from "./keys-ciNfSSGj.js";
|
|
7
|
+
import { t as H } from "./useI18n-lb2DHDiu.js";
|
|
8
|
+
import { t as U } from "./createLucideIcon-C3pa2siy.js";
|
|
9
|
+
import { t as W } from "./check-Da05j8yl.js";
|
|
10
|
+
import { t as G } from "./circle-alert-DZuGWPX-.js";
|
|
11
|
+
import { a as K, c as re, i as q, l as ie, n as J, o as ae, r as oe, s as se, t as ce } from "./styles-B58wYIn4.js";
|
|
12
|
+
import { t as Y } from "./clock-CRp2sIub.js";
|
|
13
|
+
import { t as X } from "./loader-circle-DsY5Yg33.js";
|
|
14
|
+
import { t as Z } from "./message-circle-yElBbR2C.js";
|
|
15
|
+
import { t as le } from "./send-DH4oDQqC.js";
|
|
16
|
+
import { t as ue } from "./sparkles-CvRXGqFs.js";
|
|
17
|
+
import { t as de } from "./triangle-alert-aOXceTSe.js";
|
|
18
|
+
import { t as fe } from "./_plugin-vue_export-helper-B0hnzhyu.js";
|
|
19
|
+
import { n as Q } from "./useCloudI18n-BuIwR6OE.js";
|
|
20
|
+
import { d as $ } from "./styleConstants-fWzlIIwN.js";
|
|
21
|
+
import { _ as pe, a as me, c as he, d as ge, f as _e, g as ve, h as ye, l as be, m as xe, n as Se, o as Ce, p as we, r as Te, s as Ee, t as De, v as Oe, y as ke } from "./cloud-WfWdqZVK.js";
|
|
22
|
+
var Ae = U("save", [
|
|
21
23
|
["path", {
|
|
22
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",
|
|
23
25
|
key: "1c8476"
|
|
@@ -33,10 +35,10 @@ var Oe = W("save", [
|
|
|
33
35
|
]);
|
|
34
36
|
//#endregion
|
|
35
37
|
//#region src/cloud/composables/useSnapshotPreview.ts
|
|
36
|
-
function
|
|
38
|
+
function je(e) {
|
|
37
39
|
let { authManager: t, editor: n, history: r, conditionPreview: i, autoSave: a, onError: o } = e, s = g(null), l = c(null), u = c(null), d = S(() => l.value !== null), f = S(() => s.value?.snapshots.value ?? []), p = S(() => s.value?.isLoading.value ?? !1), m = S(() => s.value?.isRestoring.value ?? !1);
|
|
38
40
|
function h() {
|
|
39
|
-
n.state.template?.id && !s.value && (s.value =
|
|
41
|
+
n.state.template?.id && !s.value && (s.value = ve({
|
|
40
42
|
authManager: t,
|
|
41
43
|
templateId: n.state.template.id,
|
|
42
44
|
onRestore: _,
|
|
@@ -84,7 +86,7 @@ function ke(e) {
|
|
|
84
86
|
}
|
|
85
87
|
//#endregion
|
|
86
88
|
//#region src/cloud/composables/useCloudPanelState.ts
|
|
87
|
-
function
|
|
89
|
+
function Me() {
|
|
88
90
|
let e = c(null), t = S({
|
|
89
91
|
get: () => e.value === "ai-chat",
|
|
90
92
|
set: (t) => e.value = t ? "ai-chat" : null
|
|
@@ -107,7 +109,7 @@ function Ae() {
|
|
|
107
109
|
function h(t) {
|
|
108
110
|
l.value = !1, e.value = e.value === t ? null : t;
|
|
109
111
|
}
|
|
110
|
-
return
|
|
112
|
+
return F(u, () => {
|
|
111
113
|
l.value = !1;
|
|
112
114
|
}), {
|
|
113
115
|
activePanel: e,
|
|
@@ -129,8 +131,8 @@ function Ae() {
|
|
|
129
131
|
}
|
|
130
132
|
//#endregion
|
|
131
133
|
//#region src/cloud/composables/useCollabUndoWarning.ts
|
|
132
|
-
function
|
|
133
|
-
let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } =
|
|
134
|
+
function Ne(e) {
|
|
135
|
+
let { isCollaborationEnabled: t, getCollaboratorCount: n, canUndo: r } = e, i = c(!1), a = c(!1), { start: o } = P(() => {
|
|
134
136
|
a.value = !1;
|
|
135
137
|
}, k, { immediate: !1 });
|
|
136
138
|
function s() {
|
|
@@ -143,8 +145,8 @@ function je(e) {
|
|
|
143
145
|
}
|
|
144
146
|
//#endregion
|
|
145
147
|
//#region src/cloud/composables/useCloudFeatureFlags.ts
|
|
146
|
-
function
|
|
147
|
-
let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = S(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = S(() => t.hasFeature("test_email")), o = S(() => !!r.state.template?.id), s = S(() => t.hasFeature("white_label")), l = S(() => t.config.value?.limits.max_templates ?? null), u = S(() => t.config.value?.template_count ?? 0), d = c(!1), f = c("idle"), p = c(""), { start: m } =
|
|
148
|
+
function Pe(e) {
|
|
149
|
+
let { planConfigInstance: t, aiConfig: n, editor: r } = e, i = S(() => t.hasFeature("ai_generation") && n.hasAnyMenuFeature.value), a = S(() => t.hasFeature("test_email")), o = S(() => !!r.state.template?.id), s = S(() => t.hasFeature("white_label")), l = S(() => t.config.value?.limits.max_templates ?? null), u = S(() => t.config.value?.template_count ?? 0), d = c(!1), f = c("idle"), p = c(""), { start: m } = P(() => {
|
|
148
150
|
f.value = "idle";
|
|
149
151
|
}, 3e3, { immediate: !1 });
|
|
150
152
|
return {
|
|
@@ -162,7 +164,7 @@ function Me(e) {
|
|
|
162
164
|
}
|
|
163
165
|
//#endregion
|
|
164
166
|
//#region src/cloud/composables/useCloudMediaLibrary.ts
|
|
165
|
-
function
|
|
167
|
+
function Fe(e) {
|
|
166
168
|
let { onRequestMedia: t, mediaLibraryOpen: n, mediaLibraryAccept: r } = e, i = null;
|
|
167
169
|
async function a() {
|
|
168
170
|
if (t) {
|
|
@@ -197,30 +199,30 @@ function Ne(e) {
|
|
|
197
199
|
}
|
|
198
200
|
//#endregion
|
|
199
201
|
//#region src/cloud/composables/useCloudInitialization.ts
|
|
200
|
-
function
|
|
201
|
-
let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, f = { value: null }, p = null, m = null, h = new
|
|
202
|
+
function Ie(e) {
|
|
203
|
+
let { config: t, translations: n, fontsManager: r, emit: i, getCommentsSidebar: o } = e, s = c(!0), l = c(!1), u = c(null), d = !1, f = { value: null }, p = null, m = null, h = new De({
|
|
202
204
|
...t.auth,
|
|
203
205
|
onError: t.onError
|
|
204
|
-
}), g =
|
|
206
|
+
}), g = xe({
|
|
205
207
|
authManager: h,
|
|
206
208
|
onError: t.onError
|
|
207
|
-
}), _ = c(/* @__PURE__ */ new Map()), v =
|
|
209
|
+
}), _ = c(/* @__PURE__ */ new Map()), v = ge({
|
|
208
210
|
authManager: h,
|
|
209
211
|
defaultFontFamily: t.fonts?.defaultFont,
|
|
210
212
|
templateDefaults: t.templateDefaults,
|
|
211
213
|
onError: t.onError,
|
|
212
214
|
lockedBlocks: _
|
|
213
|
-
}), y =
|
|
215
|
+
}), y = ke({
|
|
214
216
|
authManager: h,
|
|
215
217
|
onError: t.onError
|
|
216
218
|
});
|
|
217
|
-
t.mcp?.enabled &&
|
|
219
|
+
t.mcp?.enabled && we({
|
|
218
220
|
editor: v,
|
|
219
221
|
channel: y.channel,
|
|
220
222
|
onOperation: t.mcp.onOperation
|
|
221
223
|
});
|
|
222
224
|
let b = null;
|
|
223
|
-
t.collaboration?.enabled && (b =
|
|
225
|
+
t.collaboration?.enabled && (b = Ce({
|
|
224
226
|
authManager: h,
|
|
225
227
|
editor: v,
|
|
226
228
|
channel: y.channel,
|
|
@@ -231,8 +233,8 @@ function Pe(e) {
|
|
|
231
233
|
onBlockUnlocked: t.collaboration.onBlockUnlocked
|
|
232
234
|
}), O(() => b.lockedBlocks.value, (e) => {
|
|
233
235
|
_.value = e;
|
|
234
|
-
}, { immediate: !0 }),
|
|
235
|
-
let x = S(() => !!t.collaboration?.enabled && g.hasFeature("collaboration")), C =
|
|
236
|
+
}, { immediate: !0 }), Ee(v, b));
|
|
237
|
+
let x = S(() => !!t.collaboration?.enabled && g.hasFeature("collaboration")), C = N({
|
|
236
238
|
editor: v,
|
|
237
239
|
config: {
|
|
238
240
|
uiTheme: t.uiTheme,
|
|
@@ -242,6 +244,7 @@ function Pe(e) {
|
|
|
242
244
|
mergeTags: t.mergeTags,
|
|
243
245
|
displayConditions: t.displayConditions,
|
|
244
246
|
onRequestMedia: null,
|
|
247
|
+
accessibility: re(t),
|
|
245
248
|
onSave: () => {
|
|
246
249
|
f.value?.().catch((e) => {
|
|
247
250
|
t.onError?.(e);
|
|
@@ -260,13 +263,13 @@ function Pe(e) {
|
|
|
260
263
|
},
|
|
261
264
|
themeExtraStyles: () => ({ "--tpl-drop-text": `"${n.canvas.dropHere}"` }),
|
|
262
265
|
keyboardOptions: { onBeforeUndo: () => m?.showCollabUndoWarning() }
|
|
263
|
-
}), w =
|
|
266
|
+
}), w = Ne({
|
|
264
267
|
isCollaborationEnabled: x,
|
|
265
268
|
getCollaboratorCount: () => b?.collaborators.value.length ?? 0,
|
|
266
269
|
canUndo: C.history.canUndo
|
|
267
270
|
});
|
|
268
271
|
m = w;
|
|
269
|
-
let T =
|
|
272
|
+
let T = je({
|
|
270
273
|
authManager: h,
|
|
271
274
|
editor: v,
|
|
272
275
|
history: C.history,
|
|
@@ -275,24 +278,24 @@ function Pe(e) {
|
|
|
275
278
|
onError: t.onError
|
|
276
279
|
});
|
|
277
280
|
p = T;
|
|
278
|
-
let E =
|
|
281
|
+
let E = Me(), D = me(t.ai), k = Pe({
|
|
279
282
|
planConfigInstance: g,
|
|
280
283
|
aiConfig: D,
|
|
281
284
|
editor: v
|
|
282
|
-
}), A =
|
|
285
|
+
}), A = Fe({
|
|
283
286
|
onRequestMedia: t.onRequestMedia,
|
|
284
287
|
mediaLibraryOpen: E.mediaLibraryOpen,
|
|
285
288
|
mediaLibraryAccept: E.mediaLibraryAccept
|
|
286
289
|
});
|
|
287
|
-
|
|
290
|
+
ee({
|
|
288
291
|
onBlockMove: v.moveBlock,
|
|
289
292
|
onBlockAdd: v.addBlock
|
|
290
293
|
});
|
|
291
|
-
let j =
|
|
294
|
+
let j = _e({
|
|
292
295
|
authManager: h,
|
|
293
296
|
getFontsConfig: () => t.fonts,
|
|
294
297
|
canUseCustomFonts: () => g.hasFeature("custom_fonts")
|
|
295
|
-
}),
|
|
298
|
+
}), P = Oe({
|
|
296
299
|
authManager: h,
|
|
297
300
|
getTemplateId: () => v.state.template?.id ?? null,
|
|
298
301
|
save: () => v.save(),
|
|
@@ -300,7 +303,7 @@ function Pe(e) {
|
|
|
300
303
|
onError: t.onError,
|
|
301
304
|
isAuthReady: l,
|
|
302
305
|
onBeforeTestEmail: t.onBeforeTestEmail
|
|
303
|
-
}),
|
|
306
|
+
}), F = be({
|
|
304
307
|
authManager: h,
|
|
305
308
|
getTemplateId: () => v.state.template?.id ?? null,
|
|
306
309
|
getSocketId: () => y.getSocketId(),
|
|
@@ -309,56 +312,56 @@ function Pe(e) {
|
|
|
309
312
|
isAuthReady: l,
|
|
310
313
|
hasCommentingFeature: () => t.commenting !== !1 && g.hasFeature("commenting")
|
|
311
314
|
});
|
|
312
|
-
|
|
313
|
-
comments:
|
|
315
|
+
he({
|
|
316
|
+
comments: F,
|
|
314
317
|
channel: y.channel
|
|
315
318
|
});
|
|
316
|
-
let
|
|
319
|
+
let R = ye({
|
|
317
320
|
authManager: h,
|
|
318
321
|
onError: t.onError
|
|
319
|
-
}),
|
|
322
|
+
}), H = c(!1), U = c(null), W = c(!1), G = pe({
|
|
320
323
|
authManager: h,
|
|
321
324
|
getTemplateId: () => v.state.template?.id ?? null
|
|
322
325
|
});
|
|
323
|
-
function
|
|
326
|
+
function K(e) {
|
|
324
327
|
E.commentsOpen.value = !0, queueMicrotask(() => {
|
|
325
328
|
o()?.filterByBlock(e);
|
|
326
329
|
});
|
|
327
330
|
}
|
|
328
|
-
a(
|
|
331
|
+
a(V, A.handleRequestMedia), a(L, h), a(z, D), a(ne, F), a(te, R), a(B, G), a(I, {
|
|
329
332
|
plan: g,
|
|
330
333
|
ai: D,
|
|
331
334
|
comments: {
|
|
332
|
-
getBlockCount: (e) =>
|
|
333
|
-
openForBlock:
|
|
335
|
+
getBlockCount: (e) => F.commentCountByBlock.value.get(e) ?? 0,
|
|
336
|
+
openForBlock: K
|
|
334
337
|
},
|
|
335
338
|
savedModules: {
|
|
336
339
|
openSaveDialog: (e) => {
|
|
337
|
-
|
|
340
|
+
U.value = e ?? null, H.value = !0;
|
|
338
341
|
},
|
|
339
342
|
openBrowser: () => {
|
|
340
|
-
|
|
343
|
+
W.value = !0;
|
|
341
344
|
},
|
|
342
|
-
moduleCount: S(() =>
|
|
345
|
+
moduleCount: S(() => R.modules.value.length)
|
|
343
346
|
}
|
|
344
347
|
});
|
|
345
|
-
function
|
|
348
|
+
function q(e) {
|
|
346
349
|
g.hasFeature("theme_customization") && (C.themeOverrides.value = e);
|
|
347
350
|
}
|
|
348
|
-
function
|
|
351
|
+
function ie(e) {
|
|
349
352
|
v.setUiTheme(e);
|
|
350
353
|
}
|
|
351
|
-
async function
|
|
354
|
+
async function J() {
|
|
352
355
|
s.value = !0, u.value = null;
|
|
353
356
|
try {
|
|
354
357
|
if (await h.initialize(), d) return;
|
|
355
358
|
l.value = !0;
|
|
356
|
-
let e = await
|
|
359
|
+
let e = await Se({ authManager: h });
|
|
357
360
|
if (d) return;
|
|
358
361
|
if (!e.api.ok) throw Error("Health check failed: API is not reachable");
|
|
359
362
|
if (!e.auth.ok) throw Error(`Health check failed: authentication error${e.auth.error ? ` - ${e.auth.error}` : ""}`);
|
|
360
363
|
if (e.websocket.ok || M.warn("WebSocket health check failed:", e.websocket.error ?? "unknown error", "-- real-time features will be disabled."), await g.fetchConfig(), d) return;
|
|
361
|
-
r.setCustomFontsEnabled(g.hasFeature("custom_fonts")), t.customBlocks?.length && g.hasFeature("custom_blocks") && C.registerCustomBlocks(t.customBlocks), t.theme && g.hasFeature("theme_customization") && (C.themeOverrides.value = t.theme), t.modules !== !1 && g.hasFeature("saved_modules") &&
|
|
364
|
+
r.setCustomFontsEnabled(g.hasFeature("custom_fonts")), t.customBlocks?.length && g.hasFeature("custom_blocks") && C.registerCustomBlocks(t.customBlocks), t.theme && g.hasFeature("theme_customization") && (C.themeOverrides.value = t.theme), t.modules !== !1 && g.hasFeature("saved_modules") && R.loadModules(), i("ready");
|
|
362
365
|
} catch (e) {
|
|
363
366
|
if (d) return;
|
|
364
367
|
let n = e instanceof Error ? e : Error("Initialization failed", { cause: e });
|
|
@@ -367,7 +370,7 @@ function Pe(e) {
|
|
|
367
370
|
d || (s.value = !1);
|
|
368
371
|
}
|
|
369
372
|
}
|
|
370
|
-
function
|
|
373
|
+
function ae() {
|
|
371
374
|
d = !0, r.cleanupFontLinks(), y.disconnect(), C.destroy(), t.onUnmount?.();
|
|
372
375
|
}
|
|
373
376
|
return {
|
|
@@ -386,27 +389,27 @@ function Pe(e) {
|
|
|
386
389
|
featureFlags: k,
|
|
387
390
|
mediaLib: A,
|
|
388
391
|
exporter: j,
|
|
389
|
-
testEmail:
|
|
390
|
-
commentsInstance:
|
|
391
|
-
savedModulesHeadless:
|
|
392
|
-
scoringInstance:
|
|
392
|
+
testEmail: P,
|
|
393
|
+
commentsInstance: F,
|
|
394
|
+
savedModulesHeadless: R,
|
|
395
|
+
scoringInstance: G,
|
|
393
396
|
panelState: E,
|
|
394
397
|
snapshotPreview: T,
|
|
395
398
|
collabWarning: w,
|
|
396
|
-
showSaveModuleDialog:
|
|
397
|
-
showModuleBrowserModal:
|
|
398
|
-
saveModulePreSelectedBlockId:
|
|
399
|
+
showSaveModuleDialog: H,
|
|
400
|
+
showModuleBrowserModal: W,
|
|
401
|
+
saveModulePreSelectedBlockId: U,
|
|
399
402
|
onSaveHook: f,
|
|
400
|
-
initialize:
|
|
401
|
-
destroy:
|
|
402
|
-
setThemeOverrides:
|
|
403
|
-
setUiTheme:
|
|
404
|
-
openCommentsForBlock:
|
|
403
|
+
initialize: J,
|
|
404
|
+
destroy: ae,
|
|
405
|
+
setThemeOverrides: q,
|
|
406
|
+
setUiTheme: ie,
|
|
407
|
+
openCommentsForBlock: K
|
|
405
408
|
};
|
|
406
409
|
}
|
|
407
410
|
//#endregion
|
|
408
411
|
//#region src/utils/preRenderCustomBlocks.ts
|
|
409
|
-
async function
|
|
412
|
+
async function Le(e, t) {
|
|
410
413
|
let n = async (e) => {
|
|
411
414
|
if (A(e)) {
|
|
412
415
|
let n = e;
|
|
@@ -425,10 +428,10 @@ async function Fe(e, t) {
|
|
|
425
428
|
}
|
|
426
429
|
//#endregion
|
|
427
430
|
//#region src/cloud/composables/useCloudLifecycle.ts
|
|
428
|
-
function
|
|
431
|
+
function Re(e) {
|
|
429
432
|
let { config: t, editor: n, websocket: r, planConfigInstance: i, snapshotPreview: a, core: o, exporter: s, featureFlags: c, isDestroyed: l } = e;
|
|
430
433
|
function u() {
|
|
431
|
-
return
|
|
434
|
+
return Te(i.config.value.websocket);
|
|
432
435
|
}
|
|
433
436
|
async function d(e) {
|
|
434
437
|
let i = await n.create(e);
|
|
@@ -441,7 +444,7 @@ function Ie(e) {
|
|
|
441
444
|
async function p() {
|
|
442
445
|
c.isSaveExporting.value = !0, c.saveStatus.value = "idle";
|
|
443
446
|
try {
|
|
444
|
-
if (await
|
|
447
|
+
if (await Le(n.content.value, o.registry), l()) throw Error("Component unmounted during save");
|
|
445
448
|
let e = await n.save();
|
|
446
449
|
if (l()) throw Error("Component unmounted during save");
|
|
447
450
|
a.initSnapshotHistory(), a.snapshotHistoryInstance.value?.loadSnapshots();
|
|
@@ -467,8 +470,77 @@ function Ie(e) {
|
|
|
467
470
|
};
|
|
468
471
|
}
|
|
469
472
|
//#endregion
|
|
470
|
-
//#region src/cloud/
|
|
471
|
-
|
|
473
|
+
//#region src/cloud/composables/useCloudSaveGate.ts
|
|
474
|
+
function ze(e) {
|
|
475
|
+
let t = c(!1), n = null, r = S(() => e.planConfig.value?.accessibility?.blockOnError === !0), i = S(() => r.value ? e.issues.value.filter((e) => e.severity === "error") : []), a = S(() => i.value.length > 0);
|
|
476
|
+
async function o(e) {
|
|
477
|
+
return a.value ? (n = e, t.value = !0, !1) : (await e(), !0);
|
|
478
|
+
}
|
|
479
|
+
async function s() {
|
|
480
|
+
let e = n;
|
|
481
|
+
n = null, t.value = !1, e && await e();
|
|
482
|
+
}
|
|
483
|
+
function l() {
|
|
484
|
+
n = null, t.value = !1;
|
|
485
|
+
}
|
|
486
|
+
return {
|
|
487
|
+
shouldBlock: a,
|
|
488
|
+
blockingIssues: i,
|
|
489
|
+
modalOpen: t,
|
|
490
|
+
tryRunSave: o,
|
|
491
|
+
confirmAndSave: s,
|
|
492
|
+
cancel: l
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
//#endregion
|
|
496
|
+
//#region src/cloud/components/CloudSaveGateModal.vue?vue&type=script&setup=true&lang.ts
|
|
497
|
+
var Be = ["aria-label"], Ve = { 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)]" }, He = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Ue = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, We = { class: "tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ge = { 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" }, Ke = { class: "tpl:text-xs tpl:text-[var(--tpl-text)]" }, qe = { class: "tpl:font-mono tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Je = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, Ye = /* @__PURE__ */ l({
|
|
498
|
+
__name: "CloudSaveGateModal",
|
|
499
|
+
props: {
|
|
500
|
+
open: { type: Boolean },
|
|
501
|
+
issues: {}
|
|
502
|
+
},
|
|
503
|
+
emits: ["cancel", "confirm"],
|
|
504
|
+
setup(e, { emit: t }) {
|
|
505
|
+
let n = t, { t: a } = Q();
|
|
506
|
+
return (t, o) => (r(), v(C, {
|
|
507
|
+
"enter-active-class": "tpl:transition-opacity tpl:duration-150",
|
|
508
|
+
"leave-active-class": "tpl:transition-opacity tpl:duration-150",
|
|
509
|
+
"enter-from-class": "tpl:opacity-0",
|
|
510
|
+
"leave-to-class": "tpl:opacity-0"
|
|
511
|
+
}, {
|
|
512
|
+
default: u(() => [e.open ? (r(), f("div", {
|
|
513
|
+
key: 0,
|
|
514
|
+
role: "dialog",
|
|
515
|
+
"aria-modal": "true",
|
|
516
|
+
"aria-label": y(a).saveGate.title,
|
|
517
|
+
class: "tpl:fixed tpl:inset-0 tpl:z-50 tpl:flex tpl:items-center tpl:justify-center tpl:bg-black/40 tpl:p-6",
|
|
518
|
+
onClick: o[2] ||= w((e) => n("cancel"), ["self"])
|
|
519
|
+
}, [x("div", Ve, [
|
|
520
|
+
x("header", He, [p(y(de), {
|
|
521
|
+
size: 18,
|
|
522
|
+
"stroke-width": 2,
|
|
523
|
+
class: "tpl:text-[var(--tpl-warning)]"
|
|
524
|
+
}), x("h2", Ue, i(y(a).saveGate.title), 1)]),
|
|
525
|
+
x("p", We, i(y(a).saveGate.body), 1),
|
|
526
|
+
x("ul", Ge, [(r(!0), f(h, null, s(e.issues, (e) => (r(), f("li", {
|
|
527
|
+
key: `${e.ruleId}-${e.blockId ?? "template"}`,
|
|
528
|
+
class: "tpl:flex tpl:flex-col tpl:gap-0.5 tpl:rounded tpl:px-2 tpl:py-1.5"
|
|
529
|
+
}, [x("span", Ke, i(e.message), 1), x("span", qe, i(e.ruleId), 1)]))), 128))]),
|
|
530
|
+
x("footer", Je, [x("button", {
|
|
531
|
+
type: "button",
|
|
532
|
+
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)]",
|
|
533
|
+
onClick: o[0] ||= (e) => n("cancel")
|
|
534
|
+
}, i(y(a).saveGate.cancel), 1), x("button", {
|
|
535
|
+
type: "button",
|
|
536
|
+
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",
|
|
537
|
+
onClick: o[1] ||= (e) => n("confirm")
|
|
538
|
+
}, i(y(a).saveGate.confirm), 1)])
|
|
539
|
+
])], 8, Be)) : _("", !0)]),
|
|
540
|
+
_: 1
|
|
541
|
+
}));
|
|
542
|
+
}
|
|
543
|
+
}), Xe = {
|
|
472
544
|
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",
|
|
473
545
|
style: {
|
|
474
546
|
"background-color": "color-mix(in srgb, var(--tpl-bg) 80%, transparent)",
|
|
@@ -477,24 +549,24 @@ var Le = {
|
|
|
477
549
|
"box-shadow": "var(--tpl-shadow-md)",
|
|
478
550
|
"border-bottom": "1px solid var(--tpl-border)"
|
|
479
551
|
}
|
|
480
|
-
},
|
|
552
|
+
}, Ze = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-3" }, Qe = {
|
|
481
553
|
key: 0,
|
|
482
554
|
class: "tpl:text-xs tpl:opacity-60 tpl:text-[var(--tpl-text-muted)]"
|
|
483
|
-
},
|
|
555
|
+
}, $e = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, et = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, tt = ["data-tooltip"], nt = {
|
|
484
556
|
key: 1,
|
|
485
557
|
"aria-live": "polite",
|
|
486
558
|
class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
|
|
487
|
-
},
|
|
559
|
+
}, rt = {
|
|
488
560
|
key: 2,
|
|
489
561
|
"aria-live": "polite",
|
|
490
562
|
class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
491
|
-
},
|
|
563
|
+
}, it = ["aria-label", "aria-expanded"], at = {
|
|
492
564
|
key: 0,
|
|
493
565
|
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)]"
|
|
494
|
-
},
|
|
566
|
+
}, ot = ["aria-expanded"], st = {
|
|
495
567
|
key: 0,
|
|
496
568
|
class: "tpl:absolute tpl:right-0 tpl:top-full tpl:z-50 tpl:mt-1 tpl:origin-top-right"
|
|
497
|
-
},
|
|
569
|
+
}, ct = ["disabled"], lt = ["disabled"], ut = /* @__PURE__ */ l({
|
|
498
570
|
__name: "CloudHeader",
|
|
499
571
|
props: {
|
|
500
572
|
editor: {},
|
|
@@ -512,22 +584,22 @@ var Le = {
|
|
|
512
584
|
},
|
|
513
585
|
emits: ["save"],
|
|
514
586
|
setup(e) {
|
|
515
|
-
let n = E(() => import("./CollaboratorBar-
|
|
516
|
-
return (d, m) => (r(), f("header",
|
|
517
|
-
x("div",
|
|
587
|
+
let n = E(() => import("./CollaboratorBar-BcSxXVY-.js")), a = E(() => import("./SnapshotHistory-QBTbVrEK.js")), s = E(() => import("./AiFeatureMenu-Ceewb3uB.js")), { t: c, format: l } = Q();
|
|
588
|
+
return (d, m) => (r(), f("header", Xe, [
|
|
589
|
+
x("div", Ze, [e.featureFlags.templateLimit.value === null ? _("", !0) : (r(), f("span", Qe, i(y(l)(y(c).header.templatesUsed, {
|
|
518
590
|
used: e.featureFlags.templateCount.value,
|
|
519
591
|
max: e.featureFlags.templateLimit.value
|
|
520
592
|
})), 1))]),
|
|
521
|
-
x("div",
|
|
522
|
-
p(
|
|
593
|
+
x("div", $e, [
|
|
594
|
+
p(q, {
|
|
523
595
|
viewport: e.editor.state.viewport,
|
|
524
596
|
onChange: e.editor.setViewport
|
|
525
597
|
}, null, 8, ["viewport", "onChange"]),
|
|
526
|
-
p(
|
|
598
|
+
p(J, {
|
|
527
599
|
"dark-mode": e.editor.state.darkMode,
|
|
528
600
|
onChange: e.editor.setDarkMode
|
|
529
601
|
}, null, 8, ["dark-mode", "onChange"]),
|
|
530
|
-
p(
|
|
602
|
+
p(oe, {
|
|
531
603
|
"preview-mode": e.editor.state.previewMode,
|
|
532
604
|
onChange: e.editor.setPreviewMode
|
|
533
605
|
}, null, 8, ["preview-mode", "onChange"]),
|
|
@@ -551,19 +623,19 @@ var Le = {
|
|
|
551
623
|
"onNavigate"
|
|
552
624
|
])) : _("", !0)
|
|
553
625
|
]),
|
|
554
|
-
x("div",
|
|
626
|
+
x("div", et, [
|
|
555
627
|
e.featureFlags.saveStatus.value === "error" ? (r(), f("div", {
|
|
556
628
|
key: 0,
|
|
557
629
|
"aria-live": "assertive",
|
|
558
630
|
class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
|
|
559
631
|
"data-tooltip": e.featureFlags.saveErrorMessage.value
|
|
560
|
-
}, [p(y(
|
|
632
|
+
}, [p(y(G), {
|
|
561
633
|
size: 12,
|
|
562
634
|
"stroke-width": 2.5
|
|
563
|
-
}), D(" " + i(y(c).header.saveFailed), 1)], 8,
|
|
635
|
+
}), D(" " + i(y(c).header.saveFailed), 1)], 8, tt)) : e.featureFlags.saveStatus.value === "saved" ? (r(), f("div", nt, [p(y(W), {
|
|
564
636
|
size: 12,
|
|
565
637
|
"stroke-width": 2.5
|
|
566
|
-
}), D(" " + i(y(c).header.saved), 1)])) : e.editor.state.isDirty ? (r(), f("div",
|
|
638
|
+
}), D(" " + i(y(c).header.saved), 1)])) : e.editor.state.isDirty ? (r(), f("div", rt, [m[4] ||= x("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), D(" " + i(y(c).header.unsaved), 1)])) : _("", !0),
|
|
567
639
|
e.commentsInstance.isEnabled.value && e.featureFlags.hasTemplateSaved.value ? (r(), f("button", {
|
|
568
640
|
key: 3,
|
|
569
641
|
"aria-label": e.commentsInstance.unresolvedCount.value > 0 ? `${y(c).comments.button} (${e.commentsInstance.unresolvedCount.value})` : y(c).comments.button,
|
|
@@ -576,13 +648,13 @@ var Le = {
|
|
|
576
648
|
}),
|
|
577
649
|
onClick: m[0] ||= (t) => e.panelState.commentsOpen.value = !e.panelState.commentsOpen.value
|
|
578
650
|
}, [
|
|
579
|
-
p(y(
|
|
651
|
+
p(y(Z), {
|
|
580
652
|
size: 16,
|
|
581
653
|
"stroke-width": 2
|
|
582
654
|
}),
|
|
583
655
|
D(" " + i(y(c).comments.button) + " ", 1),
|
|
584
|
-
e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (r(), f("span",
|
|
585
|
-
], 14,
|
|
656
|
+
e.commentsInstance.unresolvedCount.value > 0 && !e.panelState.commentsOpen.value ? (r(), f("span", at, i(e.commentsInstance.unresolvedCount.value), 1)) : _("", !0)
|
|
657
|
+
], 14, it)) : _("", !0),
|
|
586
658
|
e.featureFlags.canUseAiGeneration.value && e.featureFlags.hasTemplateSaved.value ? (r(), f("div", {
|
|
587
659
|
key: 4,
|
|
588
660
|
ref: (t) => e.panelState.aiMenuRef.value = t,
|
|
@@ -595,7 +667,7 @@ var Le = {
|
|
|
595
667
|
size: 16,
|
|
596
668
|
"stroke-width": 2,
|
|
597
669
|
class: "tpl-ai-btn-icon"
|
|
598
|
-
}), D(" " + i(y(c).aiChat.button), 1)], 10,
|
|
670
|
+
}), D(" " + i(y(c).aiChat.button), 1)], 10, ot), p(C, {
|
|
599
671
|
"enter-active-class": "tpl:transition-all tpl:duration-150 tpl:ease-out",
|
|
600
672
|
"enter-from-class": "tpl:scale-95 tpl:opacity-0",
|
|
601
673
|
"enter-to-class": "tpl:scale-100 tpl:opacity-100",
|
|
@@ -603,7 +675,7 @@ var Le = {
|
|
|
603
675
|
"leave-from-class": "tpl:scale-100 tpl:opacity-100",
|
|
604
676
|
"leave-to-class": "tpl:scale-95 tpl:opacity-0"
|
|
605
677
|
}, {
|
|
606
|
-
default: u(() => [e.panelState.aiMenuOpen.value ? (r(), f("div",
|
|
678
|
+
default: u(() => [e.panelState.aiMenuOpen.value ? (r(), f("div", st, [p(y(s), {
|
|
607
679
|
"active-feature": e.panelState.activeAiFeature.value,
|
|
608
680
|
onSelect: e.panelState.handleAiFeatureSelect
|
|
609
681
|
}, null, 8, ["active-feature", "onSelect"])])) : _("", !0)]),
|
|
@@ -619,7 +691,7 @@ var Le = {
|
|
|
619
691
|
},
|
|
620
692
|
disabled: e.testEmail.isSending.value || !e.featureFlags.hasTemplateSaved.value,
|
|
621
693
|
onClick: m[2] ||= (t) => e.panelState.testEmailModalOpen.value = !0
|
|
622
|
-
}, [e.testEmail.isSending.value ? (r(), v(y(
|
|
694
|
+
}, [e.testEmail.isSending.value ? (r(), v(y(X), {
|
|
623
695
|
key: 1,
|
|
624
696
|
class: "tpl-spinner",
|
|
625
697
|
size: 16,
|
|
@@ -628,7 +700,7 @@ var Le = {
|
|
|
628
700
|
key: 0,
|
|
629
701
|
size: 16,
|
|
630
702
|
"stroke-width": 2
|
|
631
|
-
})), D(" " + i(y(c).testEmail.button), 1)], 10,
|
|
703
|
+
})), D(" " + i(y(c).testEmail.button), 1)], 10, ct)) : _("", !0),
|
|
632
704
|
x("button", {
|
|
633
705
|
class: t(y($)),
|
|
634
706
|
style: {
|
|
@@ -638,20 +710,20 @@ var Le = {
|
|
|
638
710
|
},
|
|
639
711
|
disabled: e.isSaveDisabled,
|
|
640
712
|
onClick: m[3] ||= (e) => d.$emit("save")
|
|
641
|
-
}, [e.isSaving ? (r(), v(y(
|
|
713
|
+
}, [e.isSaving ? (r(), v(y(X), {
|
|
642
714
|
key: 1,
|
|
643
715
|
class: "tpl-spinner",
|
|
644
716
|
size: 16,
|
|
645
717
|
"stroke-width": 2
|
|
646
|
-
})) : (r(), v(y(
|
|
718
|
+
})) : (r(), v(y(Ae), {
|
|
647
719
|
key: 0,
|
|
648
720
|
size: 16,
|
|
649
721
|
"stroke-width": 2
|
|
650
|
-
})), D(" " + i(e.isSaving ? y(c).header.saving : y(c).header.save), 1)], 10,
|
|
722
|
+
})), D(" " + i(e.isSaving ? y(c).header.saving : y(c).header.save), 1)], 10, lt)
|
|
651
723
|
])
|
|
652
724
|
]));
|
|
653
725
|
}
|
|
654
|
-
}),
|
|
726
|
+
}), dt = /* @__PURE__ */ l({
|
|
655
727
|
__name: "CloudPanels",
|
|
656
728
|
props: {
|
|
657
729
|
config: {},
|
|
@@ -674,7 +746,7 @@ var Le = {
|
|
|
674
746
|
"module-insert"
|
|
675
747
|
],
|
|
676
748
|
setup(e, { expose: t, emit: n }) {
|
|
677
|
-
let i = E(() => import("./AiChatSidebar-
|
|
749
|
+
let i = E(() => import("./AiChatSidebar-Br9dhkIB.js")), a = E(() => import("./CommentsSidebar-DceMRyIS.js")), o = E(() => import("./DesignReferenceSidebar-50qFipmW.js")), s = E(() => import("./TemplateScoringPanel-4GTNHej5.js")), l = E(() => import("./TestEmailModal-DaDMACHY.js")), u = E(() => import("./SaveModuleDialog-Df__VToK.js")), d = E(() => import("./ModuleBrowserModal-BnSdG4DE.js")), m = E(async () => (await import("@templatical/media-library")).MediaLibraryModal), g = n;
|
|
678
750
|
function b(e, t, n) {
|
|
679
751
|
t.history.record(), n.setContent(e), t.conditionPreview.reset();
|
|
680
752
|
}
|
|
@@ -748,23 +820,23 @@ var Le = {
|
|
|
748
820
|
])
|
|
749
821
|
], 64));
|
|
750
822
|
}
|
|
751
|
-
}),
|
|
823
|
+
}), ft = {
|
|
752
824
|
key: 0,
|
|
753
825
|
class: "tpl-loading tpl:absolute tpl:inset-0 tpl:z-overlay tpl:flex tpl:flex-col tpl:bg-[var(--tpl-bg)]"
|
|
754
|
-
},
|
|
826
|
+
}, pt = { class: "tpl:flex tpl:flex-1 tpl:overflow-hidden" }, mt = { 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)]" }, ht = /* @__PURE__ */ l({
|
|
755
827
|
__name: "CloudLoadingOverlay",
|
|
756
828
|
props: { visible: { type: Boolean } },
|
|
757
829
|
setup(e) {
|
|
758
|
-
return (t, n) => e.visible ? (r(), f("div",
|
|
830
|
+
return (t, n) => e.visible ? (r(), f("div", ft, [n[1] ||= T("<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), x("div", pt, [x("div", mt, [(r(), f(h, null, s(5, (e) => x("div", {
|
|
759
831
|
key: e,
|
|
760
832
|
class: "tpl-shimmer tpl:size-7 tpl:rounded-[var(--tpl-radius-sm)]"
|
|
761
833
|
})), 64))]), n[0] ||= T("<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)])])) : _("", !0);
|
|
762
834
|
}
|
|
763
|
-
}),
|
|
835
|
+
}), gt = {
|
|
764
836
|
key: 0,
|
|
765
837
|
role: "alert",
|
|
766
838
|
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)]"
|
|
767
|
-
},
|
|
839
|
+
}, _t = { class: "tpl:flex tpl:size-16 tpl:items-center tpl:justify-center tpl:rounded-full tpl:bg-[var(--tpl-danger-light)]" }, vt = { class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:text-center" }, yt = { class: "tpl:text-lg tpl:font-semibold tpl:text-[var(--tpl-text)]" }, bt = { class: "tpl:max-w-md tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, xt = /* @__PURE__ */ l({
|
|
768
840
|
__name: "CloudErrorOverlay",
|
|
769
841
|
props: {
|
|
770
842
|
error: {},
|
|
@@ -779,13 +851,13 @@ var Le = {
|
|
|
779
851
|
function s(e) {
|
|
780
852
|
return "isNotFound" in e && !!e.isNotFound;
|
|
781
853
|
}
|
|
782
|
-
return (t, c) => e.visible && e.error ? (r(), f("div",
|
|
783
|
-
x("div",
|
|
854
|
+
return (t, c) => e.visible && e.error ? (r(), f("div", gt, [
|
|
855
|
+
x("div", _t, [p(y(G), {
|
|
784
856
|
size: 32,
|
|
785
857
|
"stroke-width": 1.5,
|
|
786
858
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
787
859
|
})]),
|
|
788
|
-
x("div",
|
|
860
|
+
x("div", vt, [x("h2", yt, i(y(a).error.title), 1), x("p", bt, i(o(e.error)), 1)]),
|
|
789
861
|
s(e.error) ? _("", !0) : (r(), f("button", {
|
|
790
862
|
key: 0,
|
|
791
863
|
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)]",
|
|
@@ -793,20 +865,20 @@ var Le = {
|
|
|
793
865
|
}, i(y(a).error.retry), 1))
|
|
794
866
|
])) : _("", !0);
|
|
795
867
|
}
|
|
796
|
-
}),
|
|
868
|
+
}), St = {
|
|
797
869
|
key: 0,
|
|
798
870
|
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)]"
|
|
799
|
-
},
|
|
871
|
+
}, Ct = { class: "tpl:flex tpl:items-center tpl:gap-2 tpl:text-sm tpl:text-[var(--tpl-text)]" }, wt = { class: "tpl:flex tpl:items-center tpl:gap-2" }, Tt = /* @__PURE__ */ l({
|
|
800
872
|
__name: "SnapshotPreviewBanner",
|
|
801
873
|
props: { visible: { type: Boolean } },
|
|
802
874
|
emits: ["cancel", "confirm"],
|
|
803
875
|
setup(e, { emit: t }) {
|
|
804
876
|
let n = t, { t: a } = Q();
|
|
805
|
-
return (t, o) => e.visible ? (r(), f("div",
|
|
877
|
+
return (t, o) => e.visible ? (r(), f("div", St, [x("div", Ct, [p(y(Y), {
|
|
806
878
|
size: 18,
|
|
807
879
|
"stroke-width": 2,
|
|
808
880
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
809
|
-
}), x("span", null, i(y(a).snapshotPreview.message), 1)]), x("div",
|
|
881
|
+
}), x("span", null, i(y(a).snapshotPreview.message), 1)]), x("div", wt, [x("button", {
|
|
810
882
|
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)]",
|
|
811
883
|
style: { "background-color": "transparent" },
|
|
812
884
|
onClick: o[0] ||= (e) => n("cancel")
|
|
@@ -815,7 +887,7 @@ var Le = {
|
|
|
815
887
|
onClick: o[1] ||= (e) => n("confirm")
|
|
816
888
|
}, i(y(a).snapshotPreview.restore), 1)])])) : _("", !0);
|
|
817
889
|
}
|
|
818
|
-
}),
|
|
890
|
+
}), Et = {
|
|
819
891
|
key: 0,
|
|
820
892
|
role: "status",
|
|
821
893
|
"aria-live": "polite",
|
|
@@ -825,14 +897,14 @@ var Le = {
|
|
|
825
897
|
color: "var(--tpl-text)",
|
|
826
898
|
border: "1px solid var(--tpl-warning)"
|
|
827
899
|
}
|
|
828
|
-
},
|
|
900
|
+
}, Dt = /* @__PURE__ */ l({
|
|
829
901
|
__name: "CollabUndoToast",
|
|
830
902
|
props: { visible: { type: Boolean } },
|
|
831
903
|
setup(e) {
|
|
832
|
-
let { t } =
|
|
833
|
-
return (n, a) => e.visible ? (r(), f("div",
|
|
904
|
+
let { t } = H();
|
|
905
|
+
return (n, a) => e.visible ? (r(), f("div", Et, i(y(t).history.collabWarning), 1)) : _("", !0);
|
|
834
906
|
}
|
|
835
|
-
}),
|
|
907
|
+
}), Ot = ["data-tpl-theme"], kt = { class: "tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, At = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, jt = ["aria-label"], Mt = /* @__PURE__ */ fe(/* @__PURE__ */ l({
|
|
836
908
|
__name: "CloudEditor",
|
|
837
909
|
props: {
|
|
838
910
|
config: {},
|
|
@@ -843,54 +915,60 @@ var Le = {
|
|
|
843
915
|
emits: ["ready"],
|
|
844
916
|
setup(s, { expose: l, emit: d }) {
|
|
845
917
|
let h = s;
|
|
846
|
-
a(
|
|
847
|
-
let g = d, S = c(null), w =
|
|
918
|
+
a(R, h.cloudTranslations);
|
|
919
|
+
let g = d, S = c(null), w = Ie({
|
|
848
920
|
config: h.config,
|
|
849
921
|
translations: h.translations,
|
|
850
922
|
fontsManager: h.fontsManager,
|
|
851
923
|
emit: g,
|
|
852
924
|
getCommentsSidebar: () => S.value ? { filterByBlock: S.value.filterCommentsByBlock } : null
|
|
853
|
-
}), { isInitializing: T, isAuthReady: E, initError: O, planConfigInstance: k, websocket: A, collaboration: M, isCollaborationEnabled:
|
|
854
|
-
async function
|
|
925
|
+
}), { isInitializing: T, isAuthReady: E, initError: O, planConfigInstance: k, websocket: A, collaboration: M, isCollaborationEnabled: ee, editor: N, core: P, featureFlags: F, mediaLib: te, exporter: I, testEmail: L, commentsInstance: z, savedModulesHeadless: ne, panelState: B, snapshotPreview: V, collabWarning: H, showSaveModuleDialog: U, showModuleBrowserModal: W, saveModulePreSelectedBlockId: G, setThemeOverrides: re, setUiTheme: q } = w;
|
|
926
|
+
async function J(e) {
|
|
855
927
|
try {
|
|
856
|
-
await
|
|
928
|
+
await L.sendTestEmail(e), B.testEmailModalOpen.value = !1;
|
|
857
929
|
} catch {}
|
|
858
930
|
}
|
|
859
|
-
function
|
|
931
|
+
function oe(e, t) {
|
|
860
932
|
for (let n = 0; n < e.content.length; n++) {
|
|
861
933
|
let r = j(e.content[n]), i = t === void 0 ? void 0 : t + n;
|
|
862
|
-
|
|
934
|
+
N.addBlock(r, void 0, void 0, i);
|
|
863
935
|
}
|
|
864
|
-
|
|
936
|
+
W.value = !1;
|
|
865
937
|
}
|
|
866
|
-
let
|
|
938
|
+
let Y = Re({
|
|
867
939
|
config: h.config,
|
|
868
|
-
editor:
|
|
940
|
+
editor: N,
|
|
869
941
|
websocket: A,
|
|
870
942
|
planConfigInstance: k,
|
|
871
|
-
snapshotPreview:
|
|
872
|
-
core:
|
|
873
|
-
exporter:
|
|
874
|
-
featureFlags:
|
|
943
|
+
snapshotPreview: V,
|
|
944
|
+
core: P,
|
|
945
|
+
exporter: I,
|
|
946
|
+
featureFlags: F,
|
|
875
947
|
isDestroyed: w.isDestroyed
|
|
948
|
+
}), X = ze({
|
|
949
|
+
issues: P.accessibilityLint ? P.accessibilityLint.issues : c([]),
|
|
950
|
+
planConfig: k.config
|
|
876
951
|
});
|
|
877
|
-
|
|
952
|
+
async function Z() {
|
|
953
|
+
await X.tryRunSave(() => Y.saveTemplate().catch((e) => h.config.onError?.(e)));
|
|
954
|
+
}
|
|
955
|
+
return w.onSaveHook.value = Z, e(() => {
|
|
878
956
|
w.initialize();
|
|
879
957
|
}), b(() => {
|
|
880
958
|
w.destroy();
|
|
881
959
|
}), l({
|
|
882
|
-
getContent: () =>
|
|
883
|
-
setContent: (e) =>
|
|
884
|
-
setTheme:
|
|
885
|
-
setThemeOverrides:
|
|
886
|
-
create:
|
|
887
|
-
load:
|
|
888
|
-
save:
|
|
889
|
-
sendTestEmail:
|
|
960
|
+
getContent: () => N.content.value,
|
|
961
|
+
setContent: (e) => N.setContent(e),
|
|
962
|
+
setTheme: q,
|
|
963
|
+
setThemeOverrides: re,
|
|
964
|
+
create: Y.createTemplate,
|
|
965
|
+
load: Y.loadTemplate,
|
|
966
|
+
save: Y.saveTemplate,
|
|
967
|
+
sendTestEmail: L.sendTestEmail
|
|
890
968
|
}), (e, a) => (r(), f("div", {
|
|
891
|
-
class: t(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": y(
|
|
892
|
-
"data-tpl-theme": y(
|
|
893
|
-
style: o(y(
|
|
969
|
+
class: t(["tpl tpl:relative tpl:h-full tpl:overflow-hidden", { "tpl:dark": y(N).state.darkMode }]),
|
|
970
|
+
"data-tpl-theme": y(P).resolvedTheme.value,
|
|
971
|
+
style: o(y(P).themeStyles.value)
|
|
894
972
|
}, [
|
|
895
973
|
p(C, {
|
|
896
974
|
"enter-active-class": "tpl:transition-opacity tpl:duration-200",
|
|
@@ -900,7 +978,7 @@ var Le = {
|
|
|
900
978
|
"leave-from-class": "tpl:opacity-100",
|
|
901
979
|
"leave-to-class": "tpl:opacity-0"
|
|
902
980
|
}, {
|
|
903
|
-
default: u(() => [p(
|
|
981
|
+
default: u(() => [p(ht, { visible: y(T) || y(N).state.isLoading }, null, 8, ["visible"])]),
|
|
904
982
|
_: 1
|
|
905
983
|
}),
|
|
906
984
|
p(C, {
|
|
@@ -911,7 +989,7 @@ var Le = {
|
|
|
911
989
|
"leave-from-class": "tpl:opacity-100",
|
|
912
990
|
"leave-to-class": "tpl:opacity-0"
|
|
913
991
|
}, {
|
|
914
|
-
default: u(() => [p(
|
|
992
|
+
default: u(() => [p(xt, {
|
|
915
993
|
error: y(O),
|
|
916
994
|
visible: !!y(O) && !y(T),
|
|
917
995
|
onRetry: y(w).initialize
|
|
@@ -922,20 +1000,20 @@ var Le = {
|
|
|
922
1000
|
])]),
|
|
923
1001
|
_: 1
|
|
924
1002
|
}),
|
|
925
|
-
p(
|
|
926
|
-
editor: y(
|
|
927
|
-
core: y(
|
|
928
|
-
"feature-flags": y(
|
|
929
|
-
"panel-state": y(
|
|
930
|
-
"snapshot-preview": y(
|
|
931
|
-
"comments-instance": y(
|
|
932
|
-
"test-email": y(
|
|
1003
|
+
p(ut, {
|
|
1004
|
+
editor: y(N),
|
|
1005
|
+
core: y(P),
|
|
1006
|
+
"feature-flags": y(F),
|
|
1007
|
+
"panel-state": y(B),
|
|
1008
|
+
"snapshot-preview": y(V),
|
|
1009
|
+
"comments-instance": y(z),
|
|
1010
|
+
"test-email": y(L),
|
|
933
1011
|
websocket: y(A),
|
|
934
1012
|
collaboration: y(M),
|
|
935
|
-
"is-collaboration-enabled": y(
|
|
936
|
-
"is-saving": y(
|
|
937
|
-
"is-save-disabled": y(
|
|
938
|
-
onSave:
|
|
1013
|
+
"is-collaboration-enabled": y(ee),
|
|
1014
|
+
"is-saving": y(N).state.isSaving || y(F).isSaveExporting.value,
|
|
1015
|
+
"is-save-disabled": y(N).state.isSaving || y(F).isSaveExporting.value || !y(N).state.isDirty,
|
|
1016
|
+
onSave: Z
|
|
939
1017
|
}, null, 8, [
|
|
940
1018
|
"editor",
|
|
941
1019
|
"core",
|
|
@@ -950,10 +1028,21 @@ var Le = {
|
|
|
950
1028
|
"is-saving",
|
|
951
1029
|
"is-save-disabled"
|
|
952
1030
|
]),
|
|
953
|
-
p(
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
1031
|
+
p(Ye, {
|
|
1032
|
+
open: y(X).modalOpen.value,
|
|
1033
|
+
issues: y(X).blockingIssues.value,
|
|
1034
|
+
onCancel: y(X).cancel,
|
|
1035
|
+
onConfirm: y(X).confirmAndSave
|
|
1036
|
+
}, null, 8, [
|
|
1037
|
+
"open",
|
|
1038
|
+
"issues",
|
|
1039
|
+
"onCancel",
|
|
1040
|
+
"onConfirm"
|
|
1041
|
+
]),
|
|
1042
|
+
p(Tt, {
|
|
1043
|
+
visible: y(V).isPreviewingSnapshot.value,
|
|
1044
|
+
onCancel: y(V).cancelPreview,
|
|
1045
|
+
onConfirm: y(V).confirmRestoreSnapshot
|
|
957
1046
|
}, null, 8, [
|
|
958
1047
|
"visible",
|
|
959
1048
|
"onCancel",
|
|
@@ -967,18 +1056,18 @@ var Le = {
|
|
|
967
1056
|
"leave-from-class": "tpl:translate-y-0 tpl:opacity-100",
|
|
968
1057
|
"leave-to-class": "tpl:translate-y-[-8px] tpl:opacity-0"
|
|
969
1058
|
}, {
|
|
970
|
-
default: u(() => [p(
|
|
1059
|
+
default: u(() => [p(Dt, { visible: y(H).collabUndoWarningVisible.value }, null, 8, ["visible"])]),
|
|
971
1060
|
_: 1
|
|
972
1061
|
}),
|
|
973
|
-
n(p(
|
|
1062
|
+
n(p(ae, null, null, 512), [[m, !y(N).state.previewMode]]),
|
|
974
1063
|
x("div", {
|
|
975
|
-
class: t(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [y(
|
|
1064
|
+
class: t(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto", [y(N).state.previewMode ? "tpl:left-0 tpl:right-0" : y(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]", y(V).isPreviewingSnapshot.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
|
|
976
1065
|
style: {
|
|
977
1066
|
transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
978
1067
|
"background-color": "var(--tpl-canvas-bg)"
|
|
979
1068
|
}
|
|
980
|
-
}, [x("div",
|
|
981
|
-
default: u(() => [y(
|
|
1069
|
+
}, [x("div", kt, [p(C, { name: "tpl-restore-btn" }, {
|
|
1070
|
+
default: u(() => [y(P).conditionPreview.hasHiddenBlocks.value ? (r(), f("button", {
|
|
982
1071
|
key: 0,
|
|
983
1072
|
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",
|
|
984
1073
|
style: {
|
|
@@ -987,22 +1076,22 @@ var Le = {
|
|
|
987
1076
|
"border-color": "var(--tpl-warning)",
|
|
988
1077
|
"backdrop-filter": "blur(8px)"
|
|
989
1078
|
},
|
|
990
|
-
onClick: a[
|
|
991
|
-
}, [p(y(
|
|
1079
|
+
onClick: a[0] ||= (e) => y(P).conditionPreview.reset()
|
|
1080
|
+
}, [p(y(ie), {
|
|
992
1081
|
size: 13,
|
|
993
1082
|
"stroke-width": 2
|
|
994
|
-
}), D(" " + i(y(
|
|
1083
|
+
}), D(" " + i(y(P).t.blockSettings.restoreHiddenBlocks), 1)])) : _("", !0)]),
|
|
995
1084
|
_: 1
|
|
996
|
-
})]), x("main",
|
|
997
|
-
viewport: y(
|
|
998
|
-
content: y(
|
|
999
|
-
"selected-block-id": y(
|
|
1000
|
-
"dark-mode": y(
|
|
1001
|
-
"preview-mode": y(
|
|
1085
|
+
})]), x("main", At, [p(se, {
|
|
1086
|
+
viewport: y(N).state.viewport,
|
|
1087
|
+
content: y(N).content.value,
|
|
1088
|
+
"selected-block-id": y(N).state.selectedBlockId,
|
|
1089
|
+
"dark-mode": y(N).state.darkMode,
|
|
1090
|
+
"preview-mode": y(N).state.previewMode,
|
|
1002
1091
|
"locked-blocks": y(M)?.lockedBlocks.value ?? void 0,
|
|
1003
|
-
onSelectBlock: y(
|
|
1004
|
-
onOpenAiChat: a[
|
|
1005
|
-
onOpenDesignReference: a[
|
|
1092
|
+
onSelectBlock: y(N).selectBlock,
|
|
1093
|
+
onOpenAiChat: a[1] ||= (e) => y(B).aiChatOpen.value = !0,
|
|
1094
|
+
onOpenDesignReference: a[2] ||= (e) => y(B).designReferenceOpen.value = !0
|
|
1006
1095
|
}, null, 8, [
|
|
1007
1096
|
"viewport",
|
|
1008
1097
|
"content",
|
|
@@ -1012,51 +1101,51 @@ var Le = {
|
|
|
1012
1101
|
"locked-blocks",
|
|
1013
1102
|
"onSelectBlock"
|
|
1014
1103
|
])])], 2),
|
|
1015
|
-
s.config.branding !== !1 && !y(
|
|
1104
|
+
s.config.branding !== !1 && !y(F).isWhiteLabeled.value ? (r(), v(ce, {
|
|
1016
1105
|
key: 0,
|
|
1017
|
-
"position-class": [y(
|
|
1106
|
+
"position-class": [y(N).state.previewMode ? "tpl:left-0 tpl:right-0" : y(B).rightPanelOpen.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]"]
|
|
1018
1107
|
}, null, 8, ["position-class"])) : _("", !0),
|
|
1019
1108
|
x("div", {
|
|
1020
1109
|
class: "tpl-sr-only",
|
|
1021
1110
|
role: "status",
|
|
1022
1111
|
"aria-live": "polite",
|
|
1023
1112
|
"aria-atomic": "true",
|
|
1024
|
-
"aria-label": y(
|
|
1025
|
-
}, i(y(
|
|
1026
|
-
n(p(
|
|
1027
|
-
"selected-block": y(
|
|
1028
|
-
settings: y(
|
|
1029
|
-
"shifted-left": y(
|
|
1030
|
-
onUpdateBlock: a[
|
|
1031
|
-
onDeleteBlock: a[
|
|
1032
|
-
onDuplicateBlock: a[
|
|
1033
|
-
onUpdateSettings: y(
|
|
1113
|
+
"aria-label": y(P).t.landmarks.reorderAnnouncements
|
|
1114
|
+
}, i(y(P).keyboardReorder.announcement.value), 9, jt),
|
|
1115
|
+
n(p(K, {
|
|
1116
|
+
"selected-block": y(N).selectedBlock.value,
|
|
1117
|
+
settings: y(N).content.value.settings,
|
|
1118
|
+
"shifted-left": y(B).rightPanelOpen.value,
|
|
1119
|
+
onUpdateBlock: a[3] ||= (e) => y(N).updateBlock(y(N).selectedBlock.value.id, e),
|
|
1120
|
+
onDeleteBlock: a[4] ||= (e) => y(P).blockActions.deleteBlock(y(N).selectedBlock.value.id),
|
|
1121
|
+
onDuplicateBlock: a[5] ||= (e) => y(P).blockActions.duplicateBlock(y(N).selectedBlock.value),
|
|
1122
|
+
onUpdateSettings: y(N).updateSettings
|
|
1034
1123
|
}, null, 8, [
|
|
1035
1124
|
"selected-block",
|
|
1036
1125
|
"settings",
|
|
1037
1126
|
"shifted-left",
|
|
1038
1127
|
"onUpdateSettings"
|
|
1039
|
-
]), [[m, !y(
|
|
1040
|
-
!y(T) && y(E) ? (r(), v(
|
|
1128
|
+
]), [[m, !y(N).state.previewMode]]),
|
|
1129
|
+
!y(T) && y(E) ? (r(), v(dt, {
|
|
1041
1130
|
key: 1,
|
|
1042
1131
|
ref_key: "cloudPanelsRef",
|
|
1043
1132
|
ref: S,
|
|
1044
1133
|
config: h.config,
|
|
1045
|
-
editor: y(
|
|
1046
|
-
core: y(
|
|
1047
|
-
"panel-state": y(
|
|
1134
|
+
editor: y(N),
|
|
1135
|
+
core: y(P),
|
|
1136
|
+
"panel-state": y(B),
|
|
1048
1137
|
"plan-config-instance": y(k),
|
|
1049
|
-
"test-email": y(
|
|
1050
|
-
"media-lib": y(
|
|
1051
|
-
"saved-modules-headless": y(
|
|
1052
|
-
"show-save-module-dialog": y(
|
|
1053
|
-
"save-module-pre-selected-block-id": y(
|
|
1054
|
-
"show-module-browser-modal": y(
|
|
1055
|
-
"onUpdate:showSaveModuleDialog": a[
|
|
1056
|
-
"onUpdate:saveModulePreSelectedBlockId": a[
|
|
1057
|
-
"onUpdate:showModuleBrowserModal": a[
|
|
1058
|
-
onSendTestEmail:
|
|
1059
|
-
onModuleInsert:
|
|
1138
|
+
"test-email": y(L),
|
|
1139
|
+
"media-lib": y(te),
|
|
1140
|
+
"saved-modules-headless": y(ne),
|
|
1141
|
+
"show-save-module-dialog": y(U),
|
|
1142
|
+
"save-module-pre-selected-block-id": y(G),
|
|
1143
|
+
"show-module-browser-modal": y(W),
|
|
1144
|
+
"onUpdate:showSaveModuleDialog": a[6] ||= (e) => U.value = e,
|
|
1145
|
+
"onUpdate:saveModulePreSelectedBlockId": a[7] ||= (e) => G.value = e,
|
|
1146
|
+
"onUpdate:showModuleBrowserModal": a[8] ||= (e) => W.value = e,
|
|
1147
|
+
onSendTestEmail: J,
|
|
1148
|
+
onModuleInsert: oe
|
|
1060
1149
|
}, null, 8, [
|
|
1061
1150
|
"config",
|
|
1062
1151
|
"editor",
|
|
@@ -1070,8 +1159,8 @@ var Le = {
|
|
|
1070
1159
|
"save-module-pre-selected-block-id",
|
|
1071
1160
|
"show-module-browser-modal"
|
|
1072
1161
|
])) : _("", !0)
|
|
1073
|
-
], 14,
|
|
1162
|
+
], 14, Ot));
|
|
1074
1163
|
}
|
|
1075
|
-
}), [["__scopeId", "data-v-
|
|
1164
|
+
}), [["__scopeId", "data-v-b332971f"]]);
|
|
1076
1165
|
//#endregion
|
|
1077
|
-
export {
|
|
1166
|
+
export { Mt as default };
|