@boxcc/maildeno-editor 0.4.13 → 0.4.14
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/README.md +1 -0
- package/dist/{HealthIndicator-4Iw6N-g_.js → HealthIndicator-BLID6Ty0.js} +2 -2
- package/dist/{HealthIndicator-ZohgzF2_.js → HealthIndicator-DfzqzPNw.js} +1 -1
- package/dist/{PreviewCanvas-QN4C68KA.js → PreviewCanvas-D3SpILsV.js} +3 -3
- package/dist/{PreviewCanvas-DzpLghCo.js → PreviewCanvas-PtW1UL1J.js} +3 -3
- package/dist/{RichTextEditor-CmM4XRFC.js → RichTextEditor-D6DQqbJg.js} +2 -2
- package/dist/{RichTextEditor-Cz1-_ZtA.js → RichTextEditor-DDEfKPZm.js} +3 -3
- package/dist/RowPreviewChildren-BGnilx-K.js +4 -0
- package/dist/RowPreviewChildren-CalQWx1C.js +4 -0
- package/dist/{RowPreviewRow-DPaSbxmB.js → RowPreviewRow-C2XAe5Xs.js} +1 -1
- package/dist/{RowPreviewRow-Dx4ExtSN.js → RowPreviewRow-DG4AdMrv.js} +1 -1
- package/dist/{SavedRowsPanel-DqSHB6Jk.js → SavedRowsPanel-2JBfYdxN.js} +37 -37
- package/dist/{SavedRowsPanel-DyXjSOEt.js → SavedRowsPanel-B6_VHQZm.js} +33 -33
- package/dist/components/features/emailBuilder/EmailEditor.vue.d.ts +1 -0
- package/dist/{element-B3gq8Xvd.js → element-DQw3HLit.js} +4689 -4649
- package/dist/element.js +1 -1
- package/dist/index.js +4213 -4173
- package/dist/init.d.ts +2 -0
- package/dist/init.js +31 -25
- package/dist/{useEmailBuilder-BR4wfai1.js → useEmailBuilder-2yCUzRx2.js} +470 -460
- package/dist/{useEmailBuilder-B19p-2yp.js → useEmailBuilder-D3uV7dwL.js} +833 -823
- package/dist/{useToast-DD11IxqP.js → useToast-D1GgDMqQ.js} +7 -7
- package/package.json +1 -1
- package/dist/RowPreviewChildren-BYaMZID3.js +0 -4
- package/dist/RowPreviewChildren-_A9gPQCs.js +0 -4
package/README.md
CHANGED
|
@@ -78,6 +78,7 @@ export default function Editor() {
|
|
|
78
78
|
| `element` | The underlying `<maildeno-editor>` DOM node. |
|
|
79
79
|
| `on(event, fn)` / `off(event, fn)` | Subscribe to editor events. Currently `"save"`. Only fires if `onSave` was passed to `init()` at mount time — subscribing after the fact doesn't retroactively enable saving or reveal a button that was never rendered. |
|
|
80
80
|
| `setTheme(theme)` | Re-theme live, any time after mount. |
|
|
81
|
+
| `setTemplateName(name)` | Update the name shown in the header and used for saves and exports. Pass `""` to clear it. |
|
|
81
82
|
| `getHtml(mode?)` | Current template as an HTML email string, or `null` if empty. |
|
|
82
83
|
| `getMjml(mode?)` | Current template as MJML. |
|
|
83
84
|
| `getReactEmail(mode?)` | Current template as React Email `.tsx` source. |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { C as F, L as _, N as be, P as ye, T as ke, X as W, f as X, g as r, gt as A, h as O, l as H, mt as g, n as V, st as D, u as N, v as T, vt as Ie, y as b, yt as k, z as J } from "./vue.runtime.esm-bundler-D2AjRP90.js";
|
|
2
|
-
import { H as Le, U as Ee, V as Ce, W as Ae } from "./element-
|
|
3
|
-
import { n as we } from "./useEmailBuilder-
|
|
2
|
+
import { H as Le, U as Ee, V as Ce, W as Ae } from "./element-DQw3HLit.js";
|
|
3
|
+
import { n as we } from "./useEmailBuilder-2yCUzRx2.js";
|
|
4
4
|
var Se = 60, Te = 40, Re = 500, Ne = 80, Ge = 60, $e = 80, ne = 398, Y = 30, re = 140, oe = 117, Me = 105, Oe = {
|
|
5
5
|
heading: 317,
|
|
6
6
|
paragraph: 337,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as be } from "./useEmailBuilder-
|
|
1
|
+
import { n as be } from "./useEmailBuilder-D3uV7dwL.js";
|
|
2
2
|
import { n as ye, r as ke, t as Ie } from "./mergeTagDefinitions-Cler19nv.js";
|
|
3
3
|
import { t as Le } from "./_plugin-vue_export-helper-Dj7HTbfw.js";
|
|
4
4
|
import { Fragment as X, Transition as F, computed as O, createCommentVNode as T, createElementBlock as _, createElementVNode as r, createVNode as W, defineComponent as Ee, normalizeClass as A, normalizeStyle as Ce, onBeforeUnmount as Ae, onMounted as we, openBlock as b, ref as D, renderList as J, toDisplayString as k, unref as g, withCtx as V, withKeys as H, withModifiers as N } from "vue";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as O, w as X } from "./useEmailBuilder-D3uV7dwL.js";
|
|
2
2
|
import { o as z, r as C, t as q } from "./borderRadius-CkSa1lQ9.js";
|
|
3
3
|
import { Fragment as $, computed as d, createBlock as V, createCommentVNode as I, createElementBlock as o, createElementVNode as p, createStaticVNode as ce, createTextVNode as ue, defineComponent as J, normalizeClass as ge, normalizeStyle as l, openBlock as i, renderList as _, resolveComponent as pe, resolveDynamicComponent as me, toDisplayString as P, unref as B, vShow as y, withDirectives as h } from "vue";
|
|
4
4
|
var fe = ["innerHTML"], ve = ["innerHTML"], be = ["src", "alt"], xe = ["src", "alt"], ye = {
|
|
@@ -17,7 +17,7 @@ var fe = ["innerHTML"], ve = ["innerHTML"], be = ["src", "alt"], xe = ["src", "a
|
|
|
17
17
|
depth: {}
|
|
18
18
|
},
|
|
19
19
|
setup(w) {
|
|
20
|
-
const c = w, f = d(() => c.component.componentType ?? c.component.type), { visibilityPreviewContext: W } =
|
|
20
|
+
const c = w, f = d(() => c.component.componentType ?? c.component.type), { visibilityPreviewContext: W } = O(), { evaluateVisibility: T } = X(), v = d(() => {
|
|
21
21
|
const e = f.value, r = e === "row" || e === "row-spacer" ? c.component.visibility : c.component.props?.visibility;
|
|
22
22
|
return T(r, W.value);
|
|
23
23
|
}), n = d(() => {
|
|
@@ -424,7 +424,7 @@ var fe = ["innerHTML"], ve = ["innerHTML"], be = ["src", "alt"], xe = ["src", "a
|
|
|
424
424
|
forceMobile: { type: Boolean }
|
|
425
425
|
},
|
|
426
426
|
setup(w) {
|
|
427
|
-
const c = w, { visibilityPreviewContext: f } =
|
|
427
|
+
const c = w, { visibilityPreviewContext: f } = O(), { evaluateVisibility: W } = X(), T = d(() => c.canvas?.bodyBackgroundColor ?? "#f9fafb"), v = d(() => (c.rows ?? []).length > 0), n = d(() => {
|
|
428
428
|
const t = c.canvas?.width ?? 600;
|
|
429
429
|
if (!c.forceMobile) return t;
|
|
430
430
|
const s = c.canvas?.mobileBreakpoint ?? 600;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { H as ce, L as i, S as ue, T as O, V as ge, Z as y, _ as V, c as h, f as $, g as p, gt as pe, h as d, mt as B, v as I, vt as l, x as ve, y as a, yt as P, z as _ } from "./vue.runtime.esm-bundler-D2AjRP90.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as X, w as Z } from "./useEmailBuilder-2yCUzRx2.js";
|
|
3
3
|
import { o as z, r as C, t as q } from "./borderRadius-CkSa1lQ9.js";
|
|
4
4
|
var fe = ["innerHTML"], me = ["innerHTML"], be = ["src", "alt"], xe = ["src", "alt"], ye = {
|
|
5
5
|
style: {
|
|
@@ -17,7 +17,7 @@ var fe = ["innerHTML"], me = ["innerHTML"], be = ["src", "alt"], xe = ["src", "a
|
|
|
17
17
|
depth: {}
|
|
18
18
|
},
|
|
19
19
|
setup(w) {
|
|
20
|
-
const c = w, f = d(() => c.component.componentType ?? c.component.type), { visibilityPreviewContext: H } =
|
|
20
|
+
const c = w, f = d(() => c.component.componentType ?? c.component.type), { visibilityPreviewContext: H } = X(), { evaluateVisibility: T } = Z(), m = d(() => {
|
|
21
21
|
const e = f.value, r = e === "row" || e === "row-spacer" ? c.component.visibility : c.component.props?.visibility;
|
|
22
22
|
return T(r, H.value);
|
|
23
23
|
}), n = d(() => {
|
|
@@ -424,7 +424,7 @@ var fe = ["innerHTML"], me = ["innerHTML"], be = ["src", "alt"], xe = ["src", "a
|
|
|
424
424
|
forceMobile: { type: Boolean }
|
|
425
425
|
},
|
|
426
426
|
setup(w) {
|
|
427
|
-
const c = w, { visibilityPreviewContext: f } =
|
|
427
|
+
const c = w, { visibilityPreviewContext: f } = X(), { evaluateVisibility: H } = Z(), T = d(() => c.canvas?.bodyBackgroundColor ?? "#f9fafb"), m = d(() => (c.rows ?? []).length > 0), n = d(() => {
|
|
428
428
|
const t = c.canvas?.width ?? 600;
|
|
429
429
|
if (!c.forceMobile) return t;
|
|
430
430
|
const s = c.canvas?.mobileBreakpoint ?? 600;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { I as Yi } from "./PopperContent-eLmz1Gjd.js";
|
|
2
|
-
import {
|
|
2
|
+
import { n as Fc, v as _c } from "./useEmailBuilder-D3uV7dwL.js";
|
|
3
3
|
import { A as J, C as Uo, D as jc, E as L, M as Kc, N as Uc, O as go, P as Wc, S as Kt, T as Cn, _ as ot, a as Sn, b as Wo, c as _, d as D, f as qc, g as Gc, h as qo, j as Jc, k as Xi, l as Y, m as Ct, n as Ls, o as Ps, p as Yc, r as Xc, s as O, t as Qc, u as G, v as _e, w as Xt, x as Ir, y as Qi } from "./Dialog-By0JLN8s.js";
|
|
4
4
|
import { t as Zc } from "./_plugin-vue_export-helper-Dj7HTbfw.js";
|
|
5
5
|
import { Fragment as ed, Teleport as Zi, computed as pt, createBlock as pn, createCommentVNode as ve, createElementBlock as be, createElementVNode as S, createVNode as et, customRef as td, defineComponent as st, getCurrentInstance as nd, h as Rr, markRaw as rd, nextTick as Go, normalizeClass as Be, normalizeStyle as ut, onBeforeUnmount as $r, onMounted as el, openBlock as ee, ref as W, renderList as od, shallowRef as sd, toDisplayString as Qt, unref as R, vModelText as id, vShow as Gr, watch as Me, watchEffect as ld, withCtx as Yn, withDirectives as Wn, withKeys as ad, withModifiers as hn } from "vue";
|
|
@@ -11600,7 +11600,7 @@ var ay = V.create({
|
|
|
11600
11600
|
__name: "RichTextEditor",
|
|
11601
11601
|
props: { component: {} },
|
|
11602
11602
|
setup(e) {
|
|
11603
|
-
const t = Ts.extend({ content: "inline*" }), n = e, r = Yi(), o = (b) => b ? /<ul>\s*<li>.*?<\/li>\s*<\/ul>/s.test(b) : !1, { mergeTagInsertQueue: s, updateComponent: i, mergeTagPreviewContext: l, mergeTagPreviewActive: a } =
|
|
11603
|
+
const t = Ts.extend({ content: "inline*" }), n = e, r = Yi(), o = (b) => b ? /<ul>\s*<li>.*?<\/li>\s*<\/ul>/s.test(b) : !1, { mergeTagInsertQueue: s, updateComponent: i, mergeTagPreviewContext: l, mergeTagPreviewActive: a } = Fc(), { googleFonts: c, loadGoogleFont: d } = _c(), u = (b, v) => {
|
|
11604
11604
|
if (a.value) {
|
|
11605
11605
|
const A = b.trim().toLowerCase().replace(/\s+/g, "_"), j = l.value[A];
|
|
11606
11606
|
if (j !== void 0 && j !== "") return j;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { $ as Fc, C as et, E as _c, K as Me, L as ee, M as Uo, N as Ir, O as Rr, P as Xi, T as ot, X as Xn, Z as Wn, _ as pn, c as Gr, f as jc, g as S, gt as Be, h as pt, l as Kc, lt as Uc, mt as R, p as Yi, q as Wc, rt as qc, s as Gc, st as W, u as hn, v as ve, vt as ut, y as be, yt as Yt, z as Jc } from "./vue.runtime.esm-bundler-D2AjRP90.js";
|
|
2
|
-
import { A as Qt, B as Xc, C as st, D as $r, E as Wo, F as Qi, I as J, L as Yc, M as L, N as Qc, O as Kt, P as go, R as Zc, S as ed, T as Zi, V as td, _ as D, b as Ct, c as nd, d as Cn, f as Ls, g as G, h as X, j as Sn, k as qo, m as _, o as rd, p as O, s as Ps, v as od, w as _e, x as Go, y as sd, z as id } from "./element-
|
|
3
|
-
import {
|
|
2
|
+
import { A as Qt, B as Xc, C as st, D as $r, E as Wo, F as Qi, I as J, L as Yc, M as L, N as Qc, O as Kt, P as go, R as Zc, S as ed, T as Zi, V as td, _ as D, b as Ct, c as nd, d as Cn, f as Ls, g as G, h as X, j as Sn, k as qo, m as _, o as rd, p as O, s as Ps, v as od, w as _e, x as Go, y as sd, z as id } from "./element-DQw3HLit.js";
|
|
3
|
+
import { n as ld, v as ad } from "./useEmailBuilder-2yCUzRx2.js";
|
|
4
4
|
import { I as el } from "./PopperContent-N2nAEFeH.js";
|
|
5
5
|
var Is = Object.defineProperty, cd = (e, t) => {
|
|
6
6
|
let n = {};
|
|
@@ -11599,7 +11599,7 @@ var ay = V.create({
|
|
|
11599
11599
|
__name: "RichTextEditor",
|
|
11600
11600
|
props: { component: {} },
|
|
11601
11601
|
setup(e) {
|
|
11602
|
-
const t = Ts.extend({ content: "inline*" }), n = e, r = el(), o = (b) => b ? /<ul>\s*<li>.*?<\/li>\s*<\/ul>/s.test(b) : !1, { mergeTagInsertQueue: s, updateComponent: i, mergeTagPreviewContext: l, mergeTagPreviewActive: a } =
|
|
11602
|
+
const t = Ts.extend({ content: "inline*" }), n = e, r = el(), o = (b) => b ? /<ul>\s*<li>.*?<\/li>\s*<\/ul>/s.test(b) : !1, { mergeTagInsertQueue: s, updateComponent: i, mergeTagPreviewContext: l, mergeTagPreviewActive: a } = ld(), { googleFonts: c, loadGoogleFont: d } = ad(), u = (b, v) => {
|
|
11603
11603
|
if (a.value) {
|
|
11604
11604
|
const A = b.trim().toLowerCase().replace(/\s+/g, "_"), j = l.value[A];
|
|
11605
11605
|
if (j !== void 0 && j !== "") return j;
|
|
@@ -12,7 +12,7 @@ var I = {
|
|
|
12
12
|
depth: {}
|
|
13
13
|
},
|
|
14
14
|
setup(n) {
|
|
15
|
-
const f = P(() => import("./RowPreviewChildren-
|
|
15
|
+
const f = P(() => import("./RowPreviewChildren-BGnilx-K.js")), x = n;
|
|
16
16
|
function g(e) {
|
|
17
17
|
const r = e?.backgroundGradient;
|
|
18
18
|
if (r?.useGradient === !0 && Array.isArray(r?.gradient?.colors) && r.gradient.colors.length >= 2) {
|
|
@@ -12,7 +12,7 @@ var z = {
|
|
|
12
12
|
depth: {}
|
|
13
13
|
},
|
|
14
14
|
setup(n) {
|
|
15
|
-
const f = C(() => import("./RowPreviewChildren-
|
|
15
|
+
const f = C(() => import("./RowPreviewChildren-CalQWx1C.js")), w = n;
|
|
16
16
|
function g(e) {
|
|
17
17
|
const r = e?.backgroundGradient;
|
|
18
18
|
if (r?.useGradient === !0 && Array.isArray(r?.gradient?.colors) && r.gradient.colors.length >= 2) {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { C as
|
|
2
|
-
import { J as ke, K as _e, V as Ce, Y as Re, l as Se, q as $e, u as re } from "./element-
|
|
3
|
-
import {
|
|
1
|
+
import { C as W, K as G, L as s, M as ge, N as xe, P as ne, S as V, T as K, X as Z, Z as he, _ as H, f as S, g as t, gt as Q, h as R, l as ee, mt as T, n as be, r as we, s as ye, st as b, u as F, v as O, vt as I, w as te, y as d, yt as M, z as j } from "./vue.runtime.esm-bundler-D2AjRP90.js";
|
|
2
|
+
import { J as ke, K as _e, V as Ce, Y as Re, l as Se, q as $e, u as re } from "./element-DQw3HLit.js";
|
|
3
|
+
import { W as Pe, n as Te, v as Ie, z as De } from "./useEmailBuilder-2yCUzRx2.js";
|
|
4
4
|
import { o as oe, r as ae } from "./borderRadius-CkSa1lQ9.js";
|
|
5
|
-
var
|
|
5
|
+
var ze = {
|
|
6
6
|
key: 1,
|
|
7
7
|
style: {
|
|
8
8
|
height: "4px",
|
|
9
9
|
width: "100%"
|
|
10
10
|
}
|
|
11
|
-
},
|
|
11
|
+
}, Fe = /* @__PURE__ */ K({
|
|
12
12
|
__name: "RowPreviewChildren",
|
|
13
13
|
props: {
|
|
14
14
|
children: {},
|
|
@@ -16,7 +16,7 @@ var Fe = {
|
|
|
16
16
|
depth: {}
|
|
17
17
|
},
|
|
18
18
|
setup(m) {
|
|
19
|
-
const w = te(() => import("./RowPreviewRow-
|
|
19
|
+
const w = te(() => import("./RowPreviewRow-DG4AdMrv.js")), k = te(() => import("./RowPreviewLegacyComponent-NECG3wpn.js"));
|
|
20
20
|
function f(v) {
|
|
21
21
|
const g = v?.backgroundGradient;
|
|
22
22
|
if (g?.useGradient === !0 && Array.isArray(g?.gradient?.colors) && g.gradient.colors.length >= 2) {
|
|
@@ -56,9 +56,9 @@ var Fe = {
|
|
|
56
56
|
key: 3,
|
|
57
57
|
comp: c,
|
|
58
58
|
scale: m.scale
|
|
59
|
-
}, null, 8, ["comp", "scale"]))], 64)) : (s(), d("div",
|
|
59
|
+
}, null, 8, ["comp", "scale"]))], 64)) : (s(), d("div", ze))], 64))), 128));
|
|
60
60
|
}
|
|
61
|
-
}),
|
|
61
|
+
}), Me = Fe, je = {
|
|
62
62
|
key: 0,
|
|
63
63
|
class: "w-full border border-dashed border-(--md-border) rounded",
|
|
64
64
|
style: { "min-height": "10px" }
|
|
@@ -108,7 +108,7 @@ var Fe = {
|
|
|
108
108
|
}
|
|
109
109
|
for (const i of w.row.columns ?? []) r(i.children ?? i.components ?? []);
|
|
110
110
|
};
|
|
111
|
-
|
|
111
|
+
G(() => w.row, () => _(), {
|
|
112
112
|
deep: !0,
|
|
113
113
|
immediate: !0
|
|
114
114
|
}), ne(() => _());
|
|
@@ -130,10 +130,10 @@ var Fe = {
|
|
|
130
130
|
top: "flex-start",
|
|
131
131
|
middle: "center",
|
|
132
132
|
bottom: "flex-end"
|
|
133
|
-
}, u = r.width ?? 100, x = i?.columns?.length || 1, h = i?.gap ?? 0, y = x > 1 ? h * (x - 1) / x : 0,
|
|
134
|
-
flex: `0 0 ${
|
|
135
|
-
width:
|
|
136
|
-
maxWidth:
|
|
133
|
+
}, u = r.width ?? 100, x = i?.columns?.length || 1, h = i?.gap ?? 0, y = x > 1 ? h * (x - 1) / x : 0, z = y > 0 ? `calc(${u}% - ${y}px)` : `${u}%`, C = {
|
|
134
|
+
flex: `0 0 ${z}`,
|
|
135
|
+
width: z,
|
|
136
|
+
maxWidth: z,
|
|
137
137
|
boxSizing: "border-box",
|
|
138
138
|
background: v(r),
|
|
139
139
|
padding: `${r.padding?.top ?? 10}px ${r.padding?.right ?? 10}px ${r.padding?.bottom ?? 10}px ${r.padding?.left ?? 10}px`,
|
|
@@ -154,19 +154,19 @@ var Fe = {
|
|
|
154
154
|
key: l.id,
|
|
155
155
|
style: I($(l, m.row)),
|
|
156
156
|
class: "overflow-hidden shrink-0"
|
|
157
|
-
}, [
|
|
157
|
+
}, [W(Me, {
|
|
158
158
|
children: l.children ?? l.components ?? [],
|
|
159
159
|
scale: m.scale,
|
|
160
160
|
depth: 0
|
|
161
|
-
}, null, 8, ["children", "scale"]), (l.children ?? l.components ?? []).length === 0 ? (s(), d("div", je)) :
|
|
161
|
+
}, null, 8, ["children", "scale"]), (l.children ?? l.components ?? []).length === 0 ? (s(), d("div", je)) : O("", !0)], 4))), 128))], 4));
|
|
162
162
|
}
|
|
163
163
|
}), Ae = Be, Ee = {
|
|
164
164
|
key: 0,
|
|
165
165
|
class: "w-65 sticky top-16 h-[calc(100vh-5.25rem)] z-80"
|
|
166
|
-
}, Le = { class: "bg-(--md-surface) flex flex-col h-full border-r border-(--md-border)/80" }, He = { class: "flex items-center justify-between px-3.5 py-3 shrink-0" }, Ne = { class: "relative group/close" }, Ve = { class: "px-3.5 pb-2 shrink-0" },
|
|
166
|
+
}, Le = { class: "bg-(--md-surface) flex flex-col h-full border-r border-(--md-border)/80" }, He = { class: "flex items-center justify-between px-3.5 py-3 shrink-0" }, Ne = { class: "relative group/close" }, Ve = { class: "px-3.5 pb-2 shrink-0" }, We = {
|
|
167
167
|
key: 0,
|
|
168
168
|
class: "flex items-center gap-1"
|
|
169
|
-
},
|
|
169
|
+
}, Ge = ["aria-pressed", "onClick"], Oe = {
|
|
170
170
|
key: 1,
|
|
171
171
|
class: "text-[11px] font-medium text-(--md-text-subtle)"
|
|
172
172
|
}, Ke = { class: "flex-1 min-h-0 overflow-y-auto" }, Ue = {
|
|
@@ -187,7 +187,7 @@ var Fe = {
|
|
|
187
187
|
}, ot = { class: "flex-1 text-[11px] font-medium text-(--md-text-muted) truncate" }, at = { class: "text-[10px] text-(--md-text-subtle) shrink-0 tabular-nums" }, st = 600, se = 25, nt = /* @__PURE__ */ K({
|
|
188
188
|
__name: "SavedRowsPanel",
|
|
189
189
|
setup(m) {
|
|
190
|
-
const { isOpen: w, close: k } = Re(), f = $e(), p = _e(), v =
|
|
190
|
+
const { isOpen: w, close: k } = Re(), f = $e(), p = _e(), v = De(), g = Se(), c = Pe(), { rows: _, saveToHistoryImmediate: D } = Te(), { startLayoutDrag: $, endLayoutDrag: r } = ke(), i = {
|
|
191
191
|
rows: p.systemRows,
|
|
192
192
|
isFetching: p.isFetching,
|
|
193
193
|
ensureFetched: () => p.fetchRows(),
|
|
@@ -206,11 +206,11 @@ var Fe = {
|
|
|
206
206
|
remove: (o) => f.deleteProductRow(o),
|
|
207
207
|
cloneForCanvas: (o) => f.cloneRowForCanvas(o)
|
|
208
208
|
}, u = b("user"), x = R(() => p.isSupported.value && p.systemRows.value.length > 0);
|
|
209
|
-
|
|
209
|
+
G(x, (o) => {
|
|
210
210
|
!o && u.value === "system" && (u.value = "user");
|
|
211
211
|
});
|
|
212
|
-
const h = R(() => u.value === "system" && x.value ? i : l), y = R(() => u.value === "system"),
|
|
213
|
-
|
|
212
|
+
const h = R(() => u.value === "system" && x.value ? i : l), y = R(() => u.value === "system"), z = R(() => !y.value && c.value.rename !== !1), C = R(() => !y.value && c.value.delete !== !1);
|
|
213
|
+
G(w, async (o) => {
|
|
214
214
|
o && await Promise.all([f.fetchRows(), p.fetchRows()]);
|
|
215
215
|
}, { immediate: !0 });
|
|
216
216
|
const ie = R(() => h.value.rows.value), N = b(null);
|
|
@@ -345,13 +345,13 @@ var Fe = {
|
|
|
345
345
|
"stroke-linecap": "round",
|
|
346
346
|
"stroke-linejoin": "round"
|
|
347
347
|
}, [t("path", { d: "M18 6 6 18M6 6l12 12" })], -1)])]), e[7] || (e[7] = t("div", { class: "pointer-events-none absolute right-0 top-full mt-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/close:opacity-100 -translate-y-0.5 group-hover/close:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:bottom-full after:right-2 after:border-4 after:border-transparent after:border-b-(--md-tooltip-bg)" }, " Close panel ", -1))])]),
|
|
348
|
-
t("div", Ve, [x.value ? (s(), d("div",
|
|
348
|
+
t("div", Ve, [x.value ? (s(), d("div", We, [(s(), d(S, null, j(["user", "system"], (a) => t("button", {
|
|
349
349
|
key: a,
|
|
350
350
|
type: "button",
|
|
351
351
|
class: Q(["px-2 py-1 rounded-md text-[11px] font-medium transition-colors", u.value === a ? "bg-(--md-accent-bg) text-(--md-accent-text)" : "text-(--md-text-subtle) hover:text-(--md-text-muted) hover:bg-(--md-surface-muted)"]),
|
|
352
352
|
"aria-pressed": u.value === a,
|
|
353
353
|
onClick: (n) => u.value = a
|
|
354
|
-
},
|
|
354
|
+
}, M(a === "user" ? "My Rows" : "Shared"), 11, Ge)), 64))])) : (s(), d("span", Oe, "My Rows"))]),
|
|
355
355
|
t("div", Ke, [h.value.isFetching.value ? (s(), d("div", Ue, [(s(), d(S, null, j(3, (a) => t("div", {
|
|
356
356
|
key: a,
|
|
357
357
|
class: "rounded-lg border border-(--md-border) overflow-hidden"
|
|
@@ -372,7 +372,7 @@ var Fe = {
|
|
|
372
372
|
V("then click "),
|
|
373
373
|
t("span", { class: "text-(--md-row-selection-fg) font-medium" }, "Save"),
|
|
374
374
|
V(" in the toolbar. ")
|
|
375
|
-
])], -1)])])) : (s(), d("div", Ye, [
|
|
375
|
+
])], -1)])])) : (s(), d("div", Ye, [W(we, { name: "row-list" }, {
|
|
376
376
|
default: Z(() => [(s(!0), d(S, null, j(ie.value, (a) => (s(), d("div", {
|
|
377
377
|
key: a.id,
|
|
378
378
|
draggable: "true",
|
|
@@ -397,7 +397,7 @@ var Fe = {
|
|
|
397
397
|
transformOrigin: "top left",
|
|
398
398
|
transform: `scale(${Y(a.id)})`
|
|
399
399
|
})
|
|
400
|
-
}, [
|
|
400
|
+
}, [W(Ae, { row: a.row }, null, 8, ["row"])], 4), e[11] || (e[11] = t("div", { class: "absolute inset-0 bg-(--md-text)/0 group-hover:bg-(--md-text)/[0.03] transition-colors duration-150 flex items-center justify-center" }, [t("div", { class: "opacity-0 group-hover:opacity-100 transition-opacity duration-150 flex items-center gap-1.5 bg-(--md-surface)/90 backdrop-blur-sm border border-(--md-border) rounded-full px-2.5 py-1 shadow-sm" }, [t("svg", {
|
|
401
401
|
class: "w-3 h-3 text-(--md-text-subtle)",
|
|
402
402
|
viewBox: "0 0 24 24",
|
|
403
403
|
fill: "none",
|
|
@@ -405,9 +405,9 @@ var Fe = {
|
|
|
405
405
|
"stroke-width": "2",
|
|
406
406
|
"stroke-linecap": "round",
|
|
407
407
|
"stroke-linejoin": "round"
|
|
408
|
-
}, [t("path", { d: "M12 5v14M5 12l7-7 7 7" })]), t("span", { class: "text-[10px] font-medium text-(--md-text-muted)" }, "Click to insert")])], -1))], 4),
|
|
408
|
+
}, [t("path", { d: "M12 5v14M5 12l7-7 7 7" })]), t("span", { class: "text-[10px] font-medium text-(--md-text-muted)" }, "Click to insert")])], -1))], 4), z.value ? (s(), d("div", {
|
|
409
409
|
key: 0,
|
|
410
|
-
onClick: e[5] || (e[5] =
|
|
410
|
+
onClick: e[5] || (e[5] = F(() => {
|
|
411
411
|
}, ["stop"])),
|
|
412
412
|
class: "flex items-center gap-1.5 px-2 py-1.5"
|
|
413
413
|
}, [
|
|
@@ -449,25 +449,25 @@ var Fe = {
|
|
|
449
449
|
])], -1)),
|
|
450
450
|
P.value !== a.id ? (s(), d("span", {
|
|
451
451
|
key: 0,
|
|
452
|
-
onDblclick:
|
|
453
|
-
onClick: e[1] || (e[1] =
|
|
452
|
+
onDblclick: F((n) => fe(a), ["stop"]),
|
|
453
|
+
onClick: e[1] || (e[1] = F(() => {
|
|
454
454
|
}, ["stop"])),
|
|
455
455
|
class: "flex-1 text-[11px] font-medium text-(--md-text-muted) truncate cursor-text"
|
|
456
|
-
},
|
|
456
|
+
}, M(a.name), 41, Xe)) : he((s(), d("input", {
|
|
457
457
|
key: 1,
|
|
458
458
|
"onUpdate:modelValue": e[2] || (e[2] = (n) => E.value = n),
|
|
459
459
|
onBlur: (n) => J(a.id),
|
|
460
460
|
onKeyup: [ee((n) => J(a.id), ["enter"]), e[3] || (e[3] = ee((n) => P.value = null, ["escape"]))],
|
|
461
|
-
onClick: e[4] || (e[4] =
|
|
461
|
+
onClick: e[4] || (e[4] = F(() => {
|
|
462
462
|
}, ["stop"])),
|
|
463
463
|
class: "flex-1 text-[11px] text-(--md-text) border border-(--md-row-selection) bg-(--md-row-selection-bg)/40 rounded-md px-1.5 py-0.5 focus:outline-none focus:border-(--md-row-selection)",
|
|
464
464
|
ref_for: !0,
|
|
465
465
|
ref_key: "renameInputRef",
|
|
466
466
|
ref: L
|
|
467
467
|
}, null, 40, Ze)), [[ye, E.value]]),
|
|
468
|
-
t("span", Qe,
|
|
468
|
+
t("span", Qe, M(X(a.createdAt)), 1),
|
|
469
469
|
C.value ? (s(), d("div", et, [t("button", {
|
|
470
|
-
onClick:
|
|
470
|
+
onClick: F((n) => ve(a.id), ["stop"]),
|
|
471
471
|
class: "hidden group-hover:flex items-center justify-center w-5 h-5 shrink-0 rounded-md text-(--md-text-subtle) hover:text-(--md-danger) hover:bg-(--md-danger-bg) transition-colors focus:outline-none"
|
|
472
472
|
}, [...e[12] || (e[12] = [t("svg", {
|
|
473
473
|
class: "w-3 h-3",
|
|
@@ -477,16 +477,16 @@ var Fe = {
|
|
|
477
477
|
"stroke-width": "1.75",
|
|
478
478
|
"stroke-linecap": "round",
|
|
479
479
|
"stroke-linejoin": "round"
|
|
480
|
-
}, [t("path", { d: "M3 6h18M8 6V4h8v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }), t("path", { d: "M10 11v6M14 11v6" })], -1)])], 8, tt), e[13] || (e[13] = t("div", { class: "pointer-events-none absolute bottom-full right-0 mb-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/del:opacity-100 translate-y-0.5 group-hover/del:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:top-full after:right-2 after:border-4 after:border-transparent after:border-t-(--md-tooltip-bg)" }, " Remove ", -1))])) :
|
|
481
|
-
])) : (s(), d("div", rt, [t("span", ot,
|
|
480
|
+
}, [t("path", { d: "M3 6h18M8 6V4h8v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }), t("path", { d: "M10 11v6M14 11v6" })], -1)])], 8, tt), e[13] || (e[13] = t("div", { class: "pointer-events-none absolute bottom-full right-0 mb-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/del:opacity-100 translate-y-0.5 group-hover/del:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:top-full after:right-2 after:border-4 after:border-transparent after:border-t-(--md-tooltip-bg)" }, " Remove ", -1))])) : O("", !0)
|
|
481
|
+
])) : (s(), d("div", rt, [t("span", ot, M(a.name), 1), t("span", at, M(X(a.createdAt)), 1)]))], 42, Je))), 128))]),
|
|
482
482
|
_: 1
|
|
483
483
|
})]))])
|
|
484
|
-
])])) :
|
|
484
|
+
])])) : O("", !0)]),
|
|
485
485
|
_: 1
|
|
486
486
|
}));
|
|
487
487
|
}
|
|
488
488
|
}), ct = /* @__PURE__ */ Ce(nt, [["__scopeId", "data-v-ef885a8c"]]);
|
|
489
489
|
export {
|
|
490
490
|
ct as default,
|
|
491
|
-
|
|
491
|
+
Me as t
|
|
492
492
|
};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { W as ge, n as xe, v as be, z as he } from "./useEmailBuilder-D3uV7dwL.js";
|
|
2
2
|
import { o as X, r as Z } from "./borderRadius-CkSa1lQ9.js";
|
|
3
|
-
import { d as we, i as ee, l as ye, p as ke, r as _e, s as Ce } from "./useToast-
|
|
3
|
+
import { d as we, i as ee, l as ye, p as ke, r as _e, s as Ce } from "./useToast-D1GgDMqQ.js";
|
|
4
4
|
import { t as Re } from "./_plugin-vue_export-helper-Dj7HTbfw.js";
|
|
5
|
-
import { Fragment as $, Transition as $e, TransitionGroup as Se, computed as R, createBlock as H, createCommentVNode as
|
|
5
|
+
import { Fragment as $, Transition as $e, TransitionGroup as Se, computed as R, createBlock as H, createCommentVNode as W, createElementBlock as d, createElementVNode as t, createTextVNode as V, createVNode as G, defineAsyncComponent as te, defineComponent as U, nextTick as Pe, normalizeClass as re, normalizeStyle as I, onBeforeUnmount as Ie, onMounted as se, openBlock as a, ref as h, renderList as j, toDisplayString as z, unref as T, vModelText as Te, watch as O, withCtx as oe, withDirectives as De, withKeys as ne, withModifiers as M } from "vue";
|
|
6
6
|
var Fe = {
|
|
7
7
|
key: 1,
|
|
8
8
|
style: {
|
|
9
9
|
height: "4px",
|
|
10
10
|
width: "100%"
|
|
11
11
|
}
|
|
12
|
-
},
|
|
12
|
+
}, ze = /* @__PURE__ */ U({
|
|
13
13
|
__name: "RowPreviewChildren",
|
|
14
14
|
props: {
|
|
15
15
|
children: {},
|
|
@@ -17,7 +17,7 @@ var Fe = {
|
|
|
17
17
|
depth: {}
|
|
18
18
|
},
|
|
19
19
|
setup(m) {
|
|
20
|
-
const w = te(() => import("./RowPreviewRow-
|
|
20
|
+
const w = te(() => import("./RowPreviewRow-C2XAe5Xs.js")), k = te(() => import("./RowPreviewLegacyComponent-Df_1HTly.js"));
|
|
21
21
|
function f(v) {
|
|
22
22
|
const g = v?.backgroundGradient;
|
|
23
23
|
if (g?.useGradient === !0 && Array.isArray(g?.gradient?.colors) && g.gradient.colors.length >= 2) {
|
|
@@ -29,7 +29,7 @@ var Fe = {
|
|
|
29
29
|
function p(v) {
|
|
30
30
|
return v.height ?? v.props?.height ?? 8;
|
|
31
31
|
}
|
|
32
|
-
return (v, g) => (a(!0), d($, null,
|
|
32
|
+
return (v, g) => (a(!0), d($, null, j(m.children, (c, _) => (a(), d($, { key: c.id }, [(m.depth ?? 0) < 5 ? (a(), d($, { key: 0 }, [c.type === "row" ? (a(), H(T(w), {
|
|
33
33
|
key: 0,
|
|
34
34
|
row: c,
|
|
35
35
|
scale: m.scale,
|
|
@@ -59,7 +59,7 @@ var Fe = {
|
|
|
59
59
|
scale: m.scale
|
|
60
60
|
}, null, 8, ["comp", "scale"]))], 64)) : (a(), d("div", Fe))], 64))), 128));
|
|
61
61
|
}
|
|
62
|
-
}),
|
|
62
|
+
}), Me = ze, je = {
|
|
63
63
|
key: 0,
|
|
64
64
|
class: "w-full border border-dashed border-(--md-border) rounded",
|
|
65
65
|
style: { "min-height": "10px" }
|
|
@@ -109,7 +109,7 @@ var Fe = {
|
|
|
109
109
|
}
|
|
110
110
|
for (const i of w.row.columns ?? []) r(i.children ?? i.components ?? []);
|
|
111
111
|
};
|
|
112
|
-
|
|
112
|
+
O(() => w.row, () => _(), {
|
|
113
113
|
deep: !0,
|
|
114
114
|
immediate: !0
|
|
115
115
|
}), se(() => _());
|
|
@@ -151,23 +151,23 @@ var Fe = {
|
|
|
151
151
|
return (r, i) => (a(), d("div", {
|
|
152
152
|
style: I(D.value),
|
|
153
153
|
class: "flex w-full pointer-events-none select-none"
|
|
154
|
-
}, [(a(!0), d($, null,
|
|
154
|
+
}, [(a(!0), d($, null, j(m.row.columns, (l) => (a(), d("div", {
|
|
155
155
|
key: l.id,
|
|
156
156
|
style: I(S(l, m.row)),
|
|
157
157
|
class: "overflow-hidden shrink-0"
|
|
158
|
-
}, [
|
|
158
|
+
}, [G(Me, {
|
|
159
159
|
children: l.children ?? l.components ?? [],
|
|
160
160
|
scale: m.scale,
|
|
161
161
|
depth: 0
|
|
162
|
-
}, null, 8, ["children", "scale"]), (l.children ?? l.components ?? []).length === 0 ? (a(), d("div",
|
|
162
|
+
}, null, 8, ["children", "scale"]), (l.children ?? l.components ?? []).length === 0 ? (a(), d("div", je)) : W("", !0)], 4))), 128))], 4));
|
|
163
163
|
}
|
|
164
164
|
}), Ae = Ee, Be = {
|
|
165
165
|
key: 0,
|
|
166
166
|
class: "w-65 sticky top-16 h-[calc(100vh-5.25rem)] z-80"
|
|
167
|
-
}, Le = { class: "bg-(--md-surface) flex flex-col h-full border-r border-(--md-border)/80" }, He = { class: "flex items-center justify-between px-3.5 py-3 shrink-0" }, Ne = { class: "relative group/close" }, Ve = { class: "px-3.5 pb-2 shrink-0" },
|
|
167
|
+
}, Le = { class: "bg-(--md-surface) flex flex-col h-full border-r border-(--md-border)/80" }, He = { class: "flex items-center justify-between px-3.5 py-3 shrink-0" }, Ne = { class: "relative group/close" }, Ve = { class: "px-3.5 pb-2 shrink-0" }, We = {
|
|
168
168
|
key: 0,
|
|
169
169
|
class: "flex items-center gap-1"
|
|
170
|
-
},
|
|
170
|
+
}, Ge = ["aria-pressed", "onClick"], Oe = {
|
|
171
171
|
key: 1,
|
|
172
172
|
class: "text-[11px] font-medium text-(--md-text-subtle)"
|
|
173
173
|
}, Ue = { class: "flex-1 min-h-0 overflow-y-auto" }, Ke = {
|
|
@@ -188,7 +188,7 @@ var Fe = {
|
|
|
188
188
|
}, ot = { class: "flex-1 text-[11px] font-medium text-(--md-text-muted) truncate" }, nt = { class: "text-[10px] text-(--md-text-subtle) shrink-0 tabular-nums" }, at = 600, ae = 25, st = /* @__PURE__ */ U({
|
|
189
189
|
__name: "SavedRowsPanel",
|
|
190
190
|
setup(m) {
|
|
191
|
-
const { isOpen: w, close: k } = ke(), f = ye(), p = Ce(), v =
|
|
191
|
+
const { isOpen: w, close: k } = ke(), f = ye(), p = Ce(), v = he(), g = _e(), c = ge(), { rows: _, saveToHistoryImmediate: D } = xe(), { startLayoutDrag: S, endLayoutDrag: r } = we(), i = {
|
|
192
192
|
rows: p.systemRows,
|
|
193
193
|
isFetching: p.isFetching,
|
|
194
194
|
ensureFetched: () => p.fetchRows(),
|
|
@@ -207,11 +207,11 @@ var Fe = {
|
|
|
207
207
|
remove: (o) => f.deleteProductRow(o),
|
|
208
208
|
cloneForCanvas: (o) => f.cloneRowForCanvas(o)
|
|
209
209
|
}, u = h("user"), x = R(() => p.isSupported.value && p.systemRows.value.length > 0);
|
|
210
|
-
|
|
210
|
+
O(x, (o) => {
|
|
211
211
|
!o && u.value === "system" && (u.value = "user");
|
|
212
212
|
});
|
|
213
213
|
const b = R(() => u.value === "system" && x.value ? i : l), y = R(() => u.value === "system"), F = R(() => !y.value && c.value.rename !== !1), C = R(() => !y.value && c.value.delete !== !1);
|
|
214
|
-
|
|
214
|
+
O(w, async (o) => {
|
|
215
215
|
o && await Promise.all([f.fetchRows(), p.fetchRows()]);
|
|
216
216
|
}, { immediate: !0 });
|
|
217
217
|
const ie = R(() => b.value.rows.value), N = h(null);
|
|
@@ -346,14 +346,14 @@ var Fe = {
|
|
|
346
346
|
"stroke-linecap": "round",
|
|
347
347
|
"stroke-linejoin": "round"
|
|
348
348
|
}, [t("path", { d: "M18 6 6 18M6 6l12 12" })], -1)])]), e[7] || (e[7] = t("div", { class: "pointer-events-none absolute right-0 top-full mt-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/close:opacity-100 -translate-y-0.5 group-hover/close:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:bottom-full after:right-2 after:border-4 after:border-transparent after:border-b-(--md-tooltip-bg)" }, " Close panel ", -1))])]),
|
|
349
|
-
t("div", Ve, [x.value ? (a(), d("div",
|
|
349
|
+
t("div", Ve, [x.value ? (a(), d("div", We, [(a(), d($, null, j(["user", "system"], (n) => t("button", {
|
|
350
350
|
key: n,
|
|
351
351
|
type: "button",
|
|
352
352
|
class: re(["px-2 py-1 rounded-md text-[11px] font-medium transition-colors", u.value === n ? "bg-(--md-accent-bg) text-(--md-accent-text)" : "text-(--md-text-subtle) hover:text-(--md-text-muted) hover:bg-(--md-surface-muted)"]),
|
|
353
353
|
"aria-pressed": u.value === n,
|
|
354
354
|
onClick: (s) => u.value = n
|
|
355
|
-
},
|
|
356
|
-
t("div", Ue, [b.value.isFetching.value ? (a(), d("div", Ke, [(a(), d($, null,
|
|
355
|
+
}, z(n === "user" ? "My Rows" : "Shared"), 11, Ge)), 64))])) : (a(), d("span", Oe, "My Rows"))]),
|
|
356
|
+
t("div", Ue, [b.value.isFetching.value ? (a(), d("div", Ke, [(a(), d($, null, j(3, (n) => t("div", {
|
|
357
357
|
key: n,
|
|
358
358
|
class: "rounded-lg border border-(--md-border) overflow-hidden"
|
|
359
359
|
}, [t("div", {
|
|
@@ -373,8 +373,8 @@ var Fe = {
|
|
|
373
373
|
V("then click "),
|
|
374
374
|
t("span", { class: "text-(--md-row-selection-fg) font-medium" }, "Save"),
|
|
375
375
|
V(" in the toolbar. ")
|
|
376
|
-
])], -1)])])) : (a(), d("div", Ye, [
|
|
377
|
-
default: oe(() => [(a(!0), d($, null,
|
|
376
|
+
])], -1)])])) : (a(), d("div", Ye, [G(Se, { name: "row-list" }, {
|
|
377
|
+
default: oe(() => [(a(!0), d($, null, j(ie.value, (n) => (a(), d("div", {
|
|
378
378
|
key: n.id,
|
|
379
379
|
draggable: "true",
|
|
380
380
|
class: re(["group relative rounded-lg border bg-(--md-surface) overflow-hidden transition-all duration-150 select-none cursor-grab active:cursor-grabbing", [N.value === n.id ? "ring-2 ring-(--md-row-selection) ring-offset-1 opacity-60 border-(--md-row-selection)" : "border-(--md-border)/80 hover:border-(--md-border-strong) hover:shadow-[0_2px_8px_rgba(0,0,0,0.07)]"]]),
|
|
@@ -398,7 +398,7 @@ var Fe = {
|
|
|
398
398
|
transformOrigin: "top left",
|
|
399
399
|
transform: `scale(${Y(n.id)})`
|
|
400
400
|
})
|
|
401
|
-
}, [
|
|
401
|
+
}, [G(Ae, { row: n.row }, null, 8, ["row"])], 4), e[11] || (e[11] = t("div", { class: "absolute inset-0 bg-(--md-text)/0 group-hover:bg-(--md-text)/[0.03] transition-colors duration-150 flex items-center justify-center" }, [t("div", { class: "opacity-0 group-hover:opacity-100 transition-opacity duration-150 flex items-center gap-1.5 bg-(--md-surface)/90 backdrop-blur-sm border border-(--md-border) rounded-full px-2.5 py-1 shadow-sm" }, [t("svg", {
|
|
402
402
|
class: "w-3 h-3 text-(--md-text-subtle)",
|
|
403
403
|
viewBox: "0 0 24 24",
|
|
404
404
|
fill: "none",
|
|
@@ -408,7 +408,7 @@ var Fe = {
|
|
|
408
408
|
"stroke-linejoin": "round"
|
|
409
409
|
}, [t("path", { d: "M12 5v14M5 12l7-7 7 7" })]), t("span", { class: "text-[10px] font-medium text-(--md-text-muted)" }, "Click to insert")])], -1))], 4), F.value ? (a(), d("div", {
|
|
410
410
|
key: 0,
|
|
411
|
-
onClick: e[5] || (e[5] =
|
|
411
|
+
onClick: e[5] || (e[5] = M(() => {
|
|
412
412
|
}, ["stop"])),
|
|
413
413
|
class: "flex items-center gap-1.5 px-2 py-1.5"
|
|
414
414
|
}, [
|
|
@@ -450,25 +450,25 @@ var Fe = {
|
|
|
450
450
|
])], -1)),
|
|
451
451
|
P.value !== n.id ? (a(), d("span", {
|
|
452
452
|
key: 0,
|
|
453
|
-
onDblclick:
|
|
454
|
-
onClick: e[1] || (e[1] =
|
|
453
|
+
onDblclick: M((s) => fe(n), ["stop"]),
|
|
454
|
+
onClick: e[1] || (e[1] = M(() => {
|
|
455
455
|
}, ["stop"])),
|
|
456
456
|
class: "flex-1 text-[11px] font-medium text-(--md-text-muted) truncate cursor-text"
|
|
457
|
-
},
|
|
457
|
+
}, z(n.name), 41, Qe)) : De((a(), d("input", {
|
|
458
458
|
key: 1,
|
|
459
459
|
"onUpdate:modelValue": e[2] || (e[2] = (s) => B.value = s),
|
|
460
460
|
onBlur: (s) => J(n.id),
|
|
461
461
|
onKeyup: [ne((s) => J(n.id), ["enter"]), e[3] || (e[3] = ne((s) => P.value = null, ["escape"]))],
|
|
462
|
-
onClick: e[4] || (e[4] =
|
|
462
|
+
onClick: e[4] || (e[4] = M(() => {
|
|
463
463
|
}, ["stop"])),
|
|
464
464
|
class: "flex-1 text-[11px] text-(--md-text) border border-(--md-row-selection) bg-(--md-row-selection-bg)/40 rounded-md px-1.5 py-0.5 focus:outline-none focus:border-(--md-row-selection)",
|
|
465
465
|
ref_for: !0,
|
|
466
466
|
ref_key: "renameInputRef",
|
|
467
467
|
ref: L
|
|
468
468
|
}, null, 40, Xe)), [[Te, B.value]]),
|
|
469
|
-
t("span", Ze,
|
|
469
|
+
t("span", Ze, z(Q(n.createdAt)), 1),
|
|
470
470
|
C.value ? (a(), d("div", et, [t("button", {
|
|
471
|
-
onClick:
|
|
471
|
+
onClick: M((s) => ve(n.id), ["stop"]),
|
|
472
472
|
class: "hidden group-hover:flex items-center justify-center w-5 h-5 shrink-0 rounded-md text-(--md-text-subtle) hover:text-(--md-danger) hover:bg-(--md-danger-bg) transition-colors focus:outline-none"
|
|
473
473
|
}, [...e[12] || (e[12] = [t("svg", {
|
|
474
474
|
class: "w-3 h-3",
|
|
@@ -478,16 +478,16 @@ var Fe = {
|
|
|
478
478
|
"stroke-width": "1.75",
|
|
479
479
|
"stroke-linecap": "round",
|
|
480
480
|
"stroke-linejoin": "round"
|
|
481
|
-
}, [t("path", { d: "M3 6h18M8 6V4h8v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }), t("path", { d: "M10 11v6M14 11v6" })], -1)])], 8, tt), e[13] || (e[13] = t("div", { class: "pointer-events-none absolute bottom-full right-0 mb-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/del:opacity-100 translate-y-0.5 group-hover/del:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:top-full after:right-2 after:border-4 after:border-transparent after:border-t-(--md-tooltip-bg)" }, " Remove ", -1))])) :
|
|
482
|
-
])) : (a(), d("div", rt, [t("span", ot,
|
|
481
|
+
}, [t("path", { d: "M3 6h18M8 6V4h8v2M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6" }), t("path", { d: "M10 11v6M14 11v6" })], -1)])], 8, tt), e[13] || (e[13] = t("div", { class: "pointer-events-none absolute bottom-full right-0 mb-1.5 px-2 py-1 bg-(--md-tooltip-bg) text-(--md-tooltip-text) text-[10px] font-medium rounded-md whitespace-nowrap opacity-0 group-hover/del:opacity-100 translate-y-0.5 group-hover/del:translate-y-0 transition-all duration-150 z-50 after:content-[''] after:absolute after:top-full after:right-2 after:border-4 after:border-transparent after:border-t-(--md-tooltip-bg)" }, " Remove ", -1))])) : W("", !0)
|
|
482
|
+
])) : (a(), d("div", rt, [t("span", ot, z(n.name), 1), t("span", nt, z(Q(n.createdAt)), 1)]))], 42, Je))), 128))]),
|
|
483
483
|
_: 1
|
|
484
484
|
})]))])
|
|
485
|
-
])])) :
|
|
485
|
+
])])) : W("", !0)]),
|
|
486
486
|
_: 1
|
|
487
487
|
}));
|
|
488
488
|
}
|
|
489
489
|
}), pt = /* @__PURE__ */ Re(st, [["__scopeId", "data-v-ef885a8c"]]);
|
|
490
490
|
export {
|
|
491
491
|
pt as default,
|
|
492
|
-
|
|
492
|
+
Me as t
|
|
493
493
|
};
|
|
@@ -145,6 +145,7 @@ type __VLS_Slots = {} & {
|
|
|
145
145
|
assistant?: (props: typeof __VLS_80) => any;
|
|
146
146
|
};
|
|
147
147
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
148
|
+
setTemplateName: (name: string) => void;
|
|
148
149
|
getHtml: (mode?: "prune" | "wrap") => string | null;
|
|
149
150
|
getMjml: (mode?: "prune" | "wrap") => string | null;
|
|
150
151
|
getReactEmail: (mode?: "prune" | "wrap") => string | null;
|