@templatical/editor 0.12.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AiChatSidebar-CXH7l1Ar.js → AiChatSidebar-B0-U5-sb.js} +3 -3
- package/dist/{AiFeatureMenu-BKbUUc1D.js → AiFeatureMenu-DxDwLS8B.js} +1 -1
- package/dist/{CloudEditor-CB16QzKM.js → CloudEditor-DaEfipBn.js} +190 -158
- package/dist/{CollaboratorBar-ACUA7lBJ.js → CollaboratorBar-DgwjisX2.js} +1 -1
- package/dist/{CountdownBlock-C-6o19qS.js → CountdownBlock-DO9fziwf.js} +1 -1
- package/dist/{CountdownToolbar-Dol7Q0Pv.js → CountdownToolbar-BeII06yJ.js} +1 -1
- package/dist/{DesignReferenceSidebar-0dTsBW08.js → DesignReferenceSidebar-BgPDbOsl.js} +19 -31
- package/dist/{ModuleBrowserModal-Bz9hSjMS.js → ModuleBrowserModal-DsZRr87F.js} +4 -4
- package/dist/{ModulePreviewCanvas-CpaumPMS.js → ModulePreviewCanvas-Dni9kK4j.js} +19 -19
- package/dist/{NumberWithSuffix-Bp40ik4l.js → NumberWithSuffix-D3fdj0iO.js} +1 -1
- package/dist/{ParagraphEditor-BqRFV_Y-.js → ParagraphEditor-CZ-cmhX3.js} +7 -7
- package/dist/{SaveModuleDialog-DmfvH5D0.js → SaveModuleDialog-C38VqN2T.js} +2 -2
- package/dist/{SnapshotHistory-C052o-8U.js → SnapshotHistory-ByloTpwh.js} +2 -2
- package/dist/{TemplateScoringPanel-CUs8XmIi.js → TemplateScoringPanel-CUxiPtEf.js} +1 -1
- package/dist/{TestEmailModal-BIIxRWUt.js → TestEmailModal-BvZBMBad.js} +2 -2
- package/dist/{TitleEditor-FMh54Cx5.js → TitleEditor-DbNOcvhR.js} +1 -1
- package/dist/{TplModal-utMtXzSO.js → TplModal-BYb-X5Bj.js} +1 -1
- package/dist/{blockTypeIcons-C6UGDmrC.js → blockTypeIcons-CyAom3iI.js} +4 -4
- package/dist/bundle-stats.json +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js → AiFeatureMenu-BSoy-SoF.js} +7 -7
- package/dist/cdn/chunks/{AiFeatureMenu-4NhCFeTh.js.map → AiFeatureMenu-BSoy-SoF.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js → BlockIssueBadge-BQDUuJxy.js} +4 -4
- package/dist/cdn/chunks/{BlockIssueBadge-BYKThwhE.js.map → BlockIssueBadge-BQDUuJxy.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-DSeihOan.js → CloudEditor-BZuzsQOZ.js} +231 -199
- package/dist/cdn/chunks/CloudEditor-BZuzsQOZ.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js → CollaboratorBar-DUpSrtDr.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-Dn5gXNDt.js.map → CollaboratorBar-DUpSrtDr.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js → CountdownBlock-DChGTAsH.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-hYoJdVOt.js.map → CountdownBlock-DChGTAsH.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-BQn0Kj0X.js → CountdownToolbar-C6gX2SJr.js} +3 -3
- package/dist/cdn/chunks/CountdownToolbar-C6gX2SJr.js.map +1 -0
- package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js → IssuesPanel-Bo1uhdSe.js} +6 -6
- package/dist/cdn/chunks/{IssuesPanel-_5fEnivU.js.map → IssuesPanel-Bo1uhdSe.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js → ModuleBrowserModal-a-tZRCcD.js} +8 -8
- package/dist/cdn/chunks/{ModuleBrowserModal-DtCksAeW.js.map → ModuleBrowserModal-a-tZRCcD.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js → ModulePreviewCanvas-Bm6k0Op0.js} +24 -24
- package/dist/cdn/chunks/{ModulePreviewCanvas-CCOvabZd.js.map → ModulePreviewCanvas-Bm6k0Op0.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js → NumberWithSuffix-HTbuD3VJ.js} +2 -2
- package/dist/cdn/chunks/{NumberWithSuffix-cdWjAK6y.js.map → NumberWithSuffix-HTbuD3VJ.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js → ParagraphEditor-pGrfSccu.js} +13 -13
- package/dist/cdn/chunks/{ParagraphEditor-BnhnFOW1.js.map → ParagraphEditor-pGrfSccu.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js → RichTextEditorContent-D7XZix_1.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-DV2yknp8.js.map → RichTextEditorContent-D7XZix_1.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js → SaveModuleDialog-C9PQ9x6j.js} +4 -4
- package/dist/cdn/chunks/{SaveModuleDialog-CCX5U7VA.js.map → SaveModuleDialog-C9PQ9x6j.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-CQqklX0D.js → TitleEditor-BvFbL16O.js} +7 -7
- package/dist/cdn/chunks/{TitleEditor-CQqklX0D.js.map → TitleEditor-BvFbL16O.js.map} +1 -1
- package/dist/cdn/chunks/{blockTypeIcons-CpGPHppB.js → blockTypeIcons-Kd1MT0u8.js} +7 -7
- package/dist/cdn/chunks/{blockTypeIcons-CpGPHppB.js.map → blockTypeIcons-Kd1MT0u8.js.map} +1 -1
- package/dist/cdn/chunks/{de-BpseTWOA.js → de-C2wOXoxs.js} +3 -1
- package/dist/cdn/chunks/de-C2wOXoxs.js.map +1 -0
- package/dist/cdn/chunks/{en-VGIQ0WNq.js → en-dR7zfNC3.js} +3 -1
- package/dist/cdn/chunks/en-dR7zfNC3.js.map +1 -0
- package/dist/cdn/chunks/{extensions-Ds9GnMcd.js → extensions-CuUjSmuA.js} +23 -23
- package/dist/cdn/chunks/{extensions-Ds9GnMcd.js.map → extensions-CuUjSmuA.js.map} +1 -1
- package/dist/cdn/chunks/{features-DxWz_Enw.js → features-DU6lA8l1.js} +471 -420
- package/dist/cdn/chunks/features-DU6lA8l1.js.map +1 -0
- package/dist/cdn/chunks/{icons-BflGUmFY.js → icons-BjHUZZyJ.js} +2 -2
- package/dist/cdn/chunks/{icons-BflGUmFY.js.map → icons-BjHUZZyJ.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-C479-QcE.js → media-library-Byelliig.js} +575 -575
- package/dist/cdn/chunks/media-library-Byelliig.js.map +1 -0
- package/dist/{pt-BR-zAqpLQbW.js → cdn/chunks/pt-BR-BZ86xqK6.js} +4 -0
- package/dist/cdn/chunks/pt-BR-BZ86xqK6.js.map +1 -0
- package/dist/cdn/chunks/{quality-BL_pEvFP.js → quality-DNnYAntR.js} +83 -83
- package/dist/cdn/chunks/{quality-BL_pEvFP.js.map → quality-DNnYAntR.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-C0vdAODQ.js → renderer-CZKO-Tav.js} +19 -19
- package/dist/cdn/chunks/{renderer-C0vdAODQ.js.map → renderer-CZKO-Tav.js.map} +1 -1
- package/dist/cdn/chunks/{src-DzvOWQ9S.js → src-DsqSXXjk.js} +53 -53
- package/dist/cdn/chunks/{src-DzvOWQ9S.js.map → src-DsqSXXjk.js.map} +1 -1
- package/dist/cdn/chunks/{styles-LfeoSNRA.js → styles-DiAdtiz9.js} +856 -780
- package/dist/cdn/chunks/styles-DiAdtiz9.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +124 -122
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{de-BpseTWOA.js → de-C2wOXoxs.js} +2 -0
- package/dist/{dist-DJ9aD8yA.js → dist-Cgry6fNv.js} +53 -4
- package/dist/{en-VGIQ0WNq.js → en-dR7zfNC3.js} +2 -0
- package/dist/{cdn/chunks/pt-BR-zAqpLQbW.js → pt-BR-BZ86xqK6.js} +2 -2
- package/dist/style.css +1 -1
- package/dist/{styles-DSm9Ijxt.js → styles-D0RCAWhB.js} +857 -779
- package/dist/templatical-editor.js +94 -92
- package/dist/upload-BF7sxd1_.js +17 -0
- package/dist/{useEditorCore-D7dQFRkw.js → useEditorCore-DKYZ7aKk.js} +788 -735
- package/package.json +7 -7
- package/dist/cdn/chunks/CloudEditor-DSeihOan.js.map +0 -1
- package/dist/cdn/chunks/CountdownToolbar-BQn0Kj0X.js.map +0 -1
- package/dist/cdn/chunks/de-BpseTWOA.js.map +0 -1
- package/dist/cdn/chunks/en-VGIQ0WNq.js.map +0 -1
- package/dist/cdn/chunks/features-DxWz_Enw.js.map +0 -1
- package/dist/cdn/chunks/media-library-C479-QcE.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-zAqpLQbW.js.map +0 -1
- package/dist/cdn/chunks/styles-LfeoSNRA.js.map +0 -1
|
@@ -1523,7 +1523,7 @@ function gr(e) {
|
|
|
1523
1523
|
o || l();
|
|
1524
1524
|
async function l() {
|
|
1525
1525
|
try {
|
|
1526
|
-
let t = await import("./quality-
|
|
1526
|
+
let t = await import("./quality-DNnYAntR.js").then((e) => e.t);
|
|
1527
1527
|
if (c) return;
|
|
1528
1528
|
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = un(e.content, u, {
|
|
1529
1529
|
debounce: e.debounce ?? 500,
|
|
@@ -3038,14 +3038,32 @@ function ba() {
|
|
|
3038
3038
|
}), e;
|
|
3039
3039
|
}
|
|
3040
3040
|
//#endregion
|
|
3041
|
+
//#region src/composables/useImageDrop.ts
|
|
3042
|
+
var xa = "image/";
|
|
3043
|
+
function Sa(e) {
|
|
3044
|
+
let { target: t, onFiles: n, enabled: r } = e, i = () => r === void 0 ? !0 : P(r), { isOverDropZone: a } = Tn(t, {
|
|
3045
|
+
preventDefaultForUnhandled: !0,
|
|
3046
|
+
onDrop: (e) => {
|
|
3047
|
+
if (!i()) return;
|
|
3048
|
+
let t = (e ?? []).filter((e) => e.type.startsWith(xa));
|
|
3049
|
+
t.length > 0 && n([t[0]]);
|
|
3050
|
+
}
|
|
3051
|
+
});
|
|
3052
|
+
return { isOver: O(() => i() && a.value) };
|
|
3053
|
+
}
|
|
3054
|
+
//#endregion
|
|
3041
3055
|
//#region src/components/blocks/ImageBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3042
|
-
var
|
|
3056
|
+
var Ca = {
|
|
3057
|
+
key: 0,
|
|
3058
|
+
class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-10 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-xs tpl:font-medium tpl:border-[var(--tpl-primary)] tpl:text-[var(--tpl-primary)]",
|
|
3059
|
+
style: { "background-color": "color-mix(in srgb, var(--tpl-bg) 85%, transparent)" }
|
|
3060
|
+
}, wa = ["href"], Ta = ["src", "alt"], Ea = ["src", "alt"], Da = {
|
|
3043
3061
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3044
3062
|
style: { opacity: "0.7" }
|
|
3045
|
-
},
|
|
3046
|
-
key:
|
|
3063
|
+
}, Oa = ["href"], ka = ["src", "alt"], Aa = ["src", "alt"], ja = {
|
|
3064
|
+
key: 4,
|
|
3047
3065
|
class: "tpl:flex tpl:min-h-[100px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
|
|
3048
|
-
},
|
|
3066
|
+
}, Ma = ["aria-label"], Na = { key: 1 }, Pa = /* @__PURE__ */ B({
|
|
3049
3067
|
__name: "ImageBlock",
|
|
3050
3068
|
props: {
|
|
3051
3069
|
block: {},
|
|
@@ -3061,7 +3079,30 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3061
3079
|
e.alt && (t.alt = e.alt), r("update", t);
|
|
3062
3080
|
}
|
|
3063
3081
|
}
|
|
3064
|
-
let u =
|
|
3082
|
+
let u = C(), d = C(!1), p = O(() => s.value && !d.value && !y.value);
|
|
3083
|
+
async function m(e) {
|
|
3084
|
+
if (o) {
|
|
3085
|
+
d.value = !0;
|
|
3086
|
+
try {
|
|
3087
|
+
let t = await o({
|
|
3088
|
+
accept: ["images"],
|
|
3089
|
+
files: e
|
|
3090
|
+
});
|
|
3091
|
+
if (!c.alive) return;
|
|
3092
|
+
if (t) {
|
|
3093
|
+
let e = { src: t.url };
|
|
3094
|
+
t.alt && (e.alt = t.alt), r("update", e);
|
|
3095
|
+
}
|
|
3096
|
+
} finally {
|
|
3097
|
+
c.alive && (d.value = !1);
|
|
3098
|
+
}
|
|
3099
|
+
}
|
|
3100
|
+
}
|
|
3101
|
+
let { isOver: h } = Sa({
|
|
3102
|
+
target: u,
|
|
3103
|
+
enabled: p,
|
|
3104
|
+
onFiles: m
|
|
3105
|
+
}), g = O(() => ({ textAlign: n.block.align })), _ = O(() => {
|
|
3065
3106
|
let e = n.block.align;
|
|
3066
3107
|
return {
|
|
3067
3108
|
maxWidth: "100%",
|
|
@@ -3070,11 +3111,21 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3070
3111
|
marginLeft: e === "center" || e === "right" ? "auto" : void 0,
|
|
3071
3112
|
marginRight: e === "center" ? "auto" : void 0
|
|
3072
3113
|
};
|
|
3073
|
-
}),
|
|
3114
|
+
}), y = O(() => yt(n.block.src, a));
|
|
3074
3115
|
return (t, n) => (f(), k("div", {
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3116
|
+
ref_key: "dropZoneRef",
|
|
3117
|
+
ref: u,
|
|
3118
|
+
"data-testid": "image-drop-zone",
|
|
3119
|
+
class: "tpl:relative tpl:w-full",
|
|
3120
|
+
style: L(g.value)
|
|
3121
|
+
}, [p.value && (j(h) || d.value) ? (f(), k("div", Ca, [d.value ? (f(), k(R, { key: 0 }, [V(j(Jr), {
|
|
3122
|
+
class: "tpl-spinner",
|
|
3123
|
+
size: 20,
|
|
3124
|
+
"stroke-width": 2
|
|
3125
|
+
}), z(" " + D(j(i).image.uploading), 1)], 64)) : (f(), k(R, { key: 1 }, [V(j(ki), {
|
|
3126
|
+
size: 20,
|
|
3127
|
+
"stroke-width": 1.5
|
|
3128
|
+
}), z(" " + D(j(i).image.dropToUpload), 1)], 64))])) : A("", !0), e.block.src && y.value && e.block.placeholderUrl ? (f(), k(R, { key: 1 }, [e.block.linkUrl ? (f(), k("a", {
|
|
3078
3129
|
key: 0,
|
|
3079
3130
|
href: e.block.linkUrl,
|
|
3080
3131
|
target: "_blank",
|
|
@@ -3085,23 +3136,23 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3085
3136
|
loading: "lazy",
|
|
3086
3137
|
src: e.block.placeholderUrl,
|
|
3087
3138
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3088
|
-
style: L(
|
|
3089
|
-
}, null, 12,
|
|
3139
|
+
style: L(_.value)
|
|
3140
|
+
}, null, 12, Ta)], 8, wa)) : (f(), k("img", {
|
|
3090
3141
|
key: 1,
|
|
3091
3142
|
class: "tpl:border-0",
|
|
3092
3143
|
src: e.block.placeholderUrl,
|
|
3093
3144
|
alt: e.block.alt,
|
|
3094
|
-
style: L(
|
|
3095
|
-
}, null, 12,
|
|
3096
|
-
key:
|
|
3145
|
+
style: L(_.value)
|
|
3146
|
+
}, null, 12, Ea))], 64)) : e.block.src && y.value ? (f(), k("div", {
|
|
3147
|
+
key: 2,
|
|
3097
3148
|
class: "tpl:!flex tpl:min-h-[120px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
|
|
3098
|
-
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" },
|
|
3149
|
+
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, _.value])
|
|
3099
3150
|
}, [V(j(mi), {
|
|
3100
3151
|
size: 32,
|
|
3101
3152
|
"stroke-width": 1.5,
|
|
3102
3153
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3103
3154
|
style: { opacity: "0.5" }
|
|
3104
|
-
}), I("span",
|
|
3155
|
+
}), I("span", Da, D(e.block.src), 1)], 4)) : e.block.src ? (f(), k(R, { key: 3 }, [e.block.linkUrl ? (f(), k("a", {
|
|
3105
3156
|
key: 0,
|
|
3106
3157
|
href: e.block.linkUrl,
|
|
3107
3158
|
target: "_blank",
|
|
@@ -3112,14 +3163,14 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3112
3163
|
loading: "lazy",
|
|
3113
3164
|
src: e.block.src,
|
|
3114
3165
|
alt: e.block.alt || j(i).image.altTextPlaceholder,
|
|
3115
|
-
style: L(
|
|
3116
|
-
}, null, 12,
|
|
3166
|
+
style: L(_.value)
|
|
3167
|
+
}, null, 12, ka)], 8, Oa)) : (f(), k("img", {
|
|
3117
3168
|
key: 1,
|
|
3118
3169
|
class: "tpl:border-0",
|
|
3119
3170
|
src: e.block.src,
|
|
3120
3171
|
alt: e.block.alt,
|
|
3121
|
-
style: L(
|
|
3122
|
-
}, null, 12,
|
|
3172
|
+
style: L(_.value)
|
|
3173
|
+
}, null, 12, Aa))], 64)) : (f(), k("div", ja, [s.value ? (f(), k("button", {
|
|
3123
3174
|
key: 0,
|
|
3124
3175
|
"aria-label": j(i).image.browseMedia,
|
|
3125
3176
|
class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:cursor-pointer tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)] tpl:bg-[var(--tpl-bg)]",
|
|
@@ -3127,12 +3178,12 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3127
3178
|
}, [V(j(mi), {
|
|
3128
3179
|
size: 14,
|
|
3129
3180
|
"stroke-width": 1.5
|
|
3130
|
-
}), z(" " + D(j(i).image.browseMedia), 1)], 8,
|
|
3181
|
+
}), z(" " + D(j(i).image.browseMedia), 1)], 8, Ma)) : (f(), k("span", Na, D(j(i).image.clickToAdd), 1))]))], 4));
|
|
3131
3182
|
}
|
|
3132
|
-
}),
|
|
3183
|
+
}), Fa = { class: "tpl:w-full" }, Ia = ["href"], La = {
|
|
3133
3184
|
key: 1,
|
|
3134
3185
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
|
|
3135
|
-
},
|
|
3186
|
+
}, Ra = /* @__PURE__ */ B({
|
|
3136
3187
|
__name: "MenuBlock",
|
|
3137
3188
|
props: {
|
|
3138
3189
|
block: {},
|
|
@@ -3151,7 +3202,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3151
3202
|
function a(e) {
|
|
3152
3203
|
return e || t.block.linkColor || t.block.color;
|
|
3153
3204
|
}
|
|
3154
|
-
return (t, o) => (f(), k("div",
|
|
3205
|
+
return (t, o) => (f(), k("div", Fa, [i.value ? (f(), k("div", {
|
|
3155
3206
|
key: 0,
|
|
3156
3207
|
style: L(r.value)
|
|
3157
3208
|
}, [(f(!0), k(R, null, h(e.block.items, (t, n) => (f(), k(R, { key: t.id }, [I("a", {
|
|
@@ -3163,15 +3214,15 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3163
3214
|
textDecoration: t.underline ? "underline" : "none"
|
|
3164
3215
|
}),
|
|
3165
3216
|
onClick: o[0] ||= M(() => {}, ["prevent"])
|
|
3166
|
-
}, D(t.text || "..."), 13,
|
|
3217
|
+
}, D(t.text || "..."), 13, Ia), n < e.block.items.length - 1 ? (f(), k("span", {
|
|
3167
3218
|
key: 0,
|
|
3168
3219
|
style: L({
|
|
3169
3220
|
color: e.block.separatorColor,
|
|
3170
3221
|
padding: `0 ${e.block.spacing}px`
|
|
3171
3222
|
})
|
|
3172
|
-
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div",
|
|
3223
|
+
}, D(e.block.separator), 5)) : A("", !0)], 64))), 128))], 4)) : (f(), k("div", La, [V(j(_i), { size: 16 }), I("span", null, D(j(n).menu.addLinks), 1)]))]));
|
|
3173
3224
|
}
|
|
3174
|
-
}),
|
|
3225
|
+
}), za = /* @__PURE__ */ new Set([
|
|
3175
3226
|
"http",
|
|
3176
3227
|
"https",
|
|
3177
3228
|
"mailto",
|
|
@@ -3181,7 +3232,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3181
3232
|
"sms",
|
|
3182
3233
|
"xmpp",
|
|
3183
3234
|
"cid"
|
|
3184
|
-
]),
|
|
3235
|
+
]), Ba = /* @__PURE__ */ new Set([
|
|
3185
3236
|
"SCRIPT",
|
|
3186
3237
|
"STYLE",
|
|
3187
3238
|
"IFRAME",
|
|
@@ -3191,7 +3242,7 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3191
3242
|
"META",
|
|
3192
3243
|
"BASE",
|
|
3193
3244
|
"FORM"
|
|
3194
|
-
]),
|
|
3245
|
+
]), Va = /* @__PURE__ */ new Set([
|
|
3195
3246
|
"href",
|
|
3196
3247
|
"xlink:href",
|
|
3197
3248
|
"formaction",
|
|
@@ -3200,16 +3251,16 @@ var xa = ["href"], Sa = ["src", "alt"], Ca = ["src", "alt"], wa = {
|
|
|
3200
3251
|
"background",
|
|
3201
3252
|
"poster"
|
|
3202
3253
|
]);
|
|
3203
|
-
function
|
|
3254
|
+
function Ha(e, t) {
|
|
3204
3255
|
let n = e.replace(/[\t\n\r]/g, "").replace(/^[\u0000-\u0020]+/, "").trimEnd();
|
|
3205
3256
|
if (!n || n.startsWith("#")) return !0;
|
|
3206
3257
|
let r = /^([a-z][a-z0-9+.-]*):/i.exec(n);
|
|
3207
3258
|
if (!r) return !0;
|
|
3208
3259
|
let i = r[1].toLowerCase();
|
|
3209
|
-
return
|
|
3260
|
+
return za.has(i) ? !0 : t && i === "data" ? /^data:image\/(png|jpe?g|gif|webp|svg\+xml);/i.test(n) : !1;
|
|
3210
3261
|
}
|
|
3211
|
-
function
|
|
3212
|
-
if (
|
|
3262
|
+
function Ua(e) {
|
|
3263
|
+
if (Ba.has(e.tagName)) {
|
|
3213
3264
|
e.remove();
|
|
3214
3265
|
return;
|
|
3215
3266
|
}
|
|
@@ -3221,29 +3272,29 @@ function Ba(e) {
|
|
|
3221
3272
|
e.removeAttribute(n);
|
|
3222
3273
|
continue;
|
|
3223
3274
|
}
|
|
3224
|
-
if (
|
|
3225
|
-
|
|
3275
|
+
if (Va.has(t)) {
|
|
3276
|
+
Ha(e.getAttribute(n) ?? "", !1) || e.removeAttribute(n);
|
|
3226
3277
|
continue;
|
|
3227
3278
|
}
|
|
3228
3279
|
if (t === "src") {
|
|
3229
|
-
|
|
3280
|
+
Ha(e.getAttribute(n) ?? "", !0) || e.removeAttribute(n);
|
|
3230
3281
|
continue;
|
|
3231
3282
|
}
|
|
3232
3283
|
t === "srcdoc" && e.removeAttribute(n);
|
|
3233
3284
|
}
|
|
3234
3285
|
let n = Array.from(e.children);
|
|
3235
|
-
for (let e of n)
|
|
3286
|
+
for (let e of n) Ua(e);
|
|
3236
3287
|
}
|
|
3237
|
-
function
|
|
3288
|
+
function Wa(e) {
|
|
3238
3289
|
if (typeof DOMParser > "u") return e;
|
|
3239
3290
|
let t = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html").body, n = Array.from(t.children);
|
|
3240
|
-
for (let e of n)
|
|
3291
|
+
for (let e of n) Ua(e);
|
|
3241
3292
|
return t.innerHTML;
|
|
3242
3293
|
}
|
|
3243
3294
|
//#endregion
|
|
3244
3295
|
//#region src/composables/useEditableTextBlock.ts
|
|
3245
|
-
function
|
|
3246
|
-
let t = v(Yn, []), { syntax: n } = qi(), r = O(() =>
|
|
3296
|
+
function Ga(e) {
|
|
3297
|
+
let t = v(Yn, []), { syntax: n } = qi(), r = O(() => Wa(St(vt(e(), t), n))), i = C(!1), a = C(null), { top: o, left: s } = Dn(a), c = O(() => ({
|
|
3247
3298
|
top: o.value - 8,
|
|
3248
3299
|
left: s.value
|
|
3249
3300
|
}));
|
|
@@ -3264,14 +3315,14 @@ function Ha(e) {
|
|
|
3264
3315
|
}
|
|
3265
3316
|
//#endregion
|
|
3266
3317
|
//#region src/components/blocks/ParagraphBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3267
|
-
var
|
|
3318
|
+
var Ka = ["innerHTML"], qa = /* @__PURE__ */ B({
|
|
3268
3319
|
__name: "ParagraphBlock",
|
|
3269
3320
|
props: {
|
|
3270
3321
|
block: {},
|
|
3271
3322
|
viewport: {}
|
|
3272
3323
|
},
|
|
3273
3324
|
setup(e) {
|
|
3274
|
-
let t = e, n = T(() => import("./ParagraphEditor-
|
|
3325
|
+
let t = e, n = T(() => import("./ParagraphEditor-pGrfSccu.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ga(() => t.block.content);
|
|
3275
3326
|
return (t, l) => (f(), k("div", {
|
|
3276
3327
|
ref_key: "blockRef",
|
|
3277
3328
|
ref: i,
|
|
@@ -3290,19 +3341,19 @@ var Ua = ["innerHTML"], Wa = /* @__PURE__ */ B({
|
|
|
3290
3341
|
key: 1,
|
|
3291
3342
|
class: "tpl-text-content tpl:outline-none [&_a]:tpl:underline [&_li]:tpl:my-1 [&_ol]:tpl:my-2 [&_ol]:tpl:pl-6 [&_p]:tpl:m-0 [&_p]:tpl:mb-2 [&_p:last-child]:tpl:mb-0 [&_s]:tpl:line-through [&_sub]:tpl:align-sub [&_sub]:tpl:text-[0.75em] [&_sup]:tpl:align-super [&_sup]:tpl:text-[0.75em] [&_ul]:tpl:my-2 [&_ul]:tpl:pl-6",
|
|
3292
3343
|
innerHTML: j(o)
|
|
3293
|
-
}, null, 8,
|
|
3344
|
+
}, null, 8, Ka))], 544));
|
|
3294
3345
|
}
|
|
3295
3346
|
});
|
|
3296
3347
|
//#endregion
|
|
3297
3348
|
//#region src/utils/blockComponentResolver.ts
|
|
3298
|
-
function
|
|
3349
|
+
function Ja(e, t, n) {
|
|
3299
3350
|
if (t) {
|
|
3300
3351
|
let n = t.getComponent(e);
|
|
3301
3352
|
if (n) return n;
|
|
3302
3353
|
}
|
|
3303
3354
|
return n[e.type] ?? null;
|
|
3304
3355
|
}
|
|
3305
|
-
function
|
|
3356
|
+
function Ya(e) {
|
|
3306
3357
|
let { padding: t, backgroundColor: n } = e.styles;
|
|
3307
3358
|
return {
|
|
3308
3359
|
padding: `${t.top}px ${t.right}px ${t.bottom}px ${t.left}px`,
|
|
@@ -3311,20 +3362,20 @@ function Ka(e) {
|
|
|
3311
3362
|
}
|
|
3312
3363
|
//#endregion
|
|
3313
3364
|
//#region src/components/blocks/BlockWrapper.vue?vue&type=script&setup=true&lang.ts
|
|
3314
|
-
var
|
|
3365
|
+
var Xa = ["data-block-id", "data-block-type"], Za = ["aria-label"], Qa = [
|
|
3315
3366
|
"aria-label",
|
|
3316
3367
|
"aria-pressed",
|
|
3317
3368
|
"title"
|
|
3318
|
-
],
|
|
3369
|
+
], $a = ["aria-label", "title"], eo = ["aria-label", "title"], to = ["aria-label", "title"], no = {
|
|
3319
3370
|
key: 1,
|
|
3320
3371
|
class: "tpl-block-hidden-overlay tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[5] tpl:flex tpl:items-center tpl:justify-center tpl:rounded-sm"
|
|
3321
|
-
},
|
|
3372
|
+
}, ro = { class: "tpl:flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-2 tpl:py-1 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow-sm)]" }, io = {
|
|
3322
3373
|
key: 2,
|
|
3323
3374
|
class: "tpl:absolute tpl:-left-1 tpl:top-1/2 tpl:z-[5] tpl:-translate-x-full tpl:-translate-y-1/2"
|
|
3324
|
-
},
|
|
3375
|
+
}, ao = ["aria-label", "title"], oo = {
|
|
3325
3376
|
key: 3,
|
|
3326
3377
|
class: "tpl:absolute tpl:-right-1 tpl:-top-1 tpl:z-[5] tpl:translate-x-full"
|
|
3327
|
-
},
|
|
3378
|
+
}, so = ["aria-label"], co = /*#__PURE__*/ Ii(/* @__PURE__ */ B({
|
|
3328
3379
|
__name: "BlockWrapper",
|
|
3329
3380
|
props: {
|
|
3330
3381
|
block: {},
|
|
@@ -3334,7 +3385,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3334
3385
|
},
|
|
3335
3386
|
emits: ["select"],
|
|
3336
3387
|
setup(e, { emit: t }) {
|
|
3337
|
-
let n = T(() => import("./BlockIssueBadge-
|
|
3388
|
+
let n = T(() => import("./BlockIssueBadge-BQDUuJxy.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ir, null), l = C(null), u = O(() => c?.liftedBlockId.value === r.block.id), d = O(() => u.value ? s(a.blockActions.dragLifted, { block: r.block.type }) : a.blockActions.drag);
|
|
3338
3389
|
async function p() {
|
|
3339
3390
|
await m(), l.value?.focus();
|
|
3340
3391
|
}
|
|
@@ -3361,7 +3412,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3361
3412
|
desktop: a.viewport.desktop,
|
|
3362
3413
|
mobile: a.viewport.mobile
|
|
3363
3414
|
}[r.viewport] ?? r.viewport : ""), b = O(() => !!r.block.displayCondition), x = v(zn, null), S = v(Bn, null), w = v(rr, {}), ee = O(() => !!w.savedModules), E = O(() => w.comments?.getBlockCount(r.block.id) ?? 0), te = O(() => {
|
|
3364
|
-
let e =
|
|
3415
|
+
let e = Ya(r.block);
|
|
3365
3416
|
return {
|
|
3366
3417
|
padding: e.padding,
|
|
3367
3418
|
backgroundColor: e.backgroundColor
|
|
@@ -3412,7 +3463,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3412
3463
|
}, [V(j(fi), {
|
|
3413
3464
|
size: 14,
|
|
3414
3465
|
"stroke-width": 1.5
|
|
3415
|
-
})], 40,
|
|
3466
|
+
})], 40, Qa),
|
|
3416
3467
|
I("button", {
|
|
3417
3468
|
class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
3418
3469
|
"aria-label": j(a).blockActions.duplicate,
|
|
@@ -3421,7 +3472,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3421
3472
|
}, [V(j(si), {
|
|
3422
3473
|
size: 14,
|
|
3423
3474
|
"stroke-width": 1.5
|
|
3424
|
-
})], 8,
|
|
3475
|
+
})], 8, $a),
|
|
3425
3476
|
ee.value ? (f(), k("button", {
|
|
3426
3477
|
key: 0,
|
|
3427
3478
|
class: "tpl-block-action-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
@@ -3431,7 +3482,7 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3431
3482
|
}, [V(j(Qr), {
|
|
3432
3483
|
size: 14,
|
|
3433
3484
|
"stroke-width": 1.5
|
|
3434
|
-
})], 8,
|
|
3485
|
+
})], 8, eo)) : A("", !0),
|
|
3435
3486
|
I("button", {
|
|
3436
3487
|
class: "tpl-block-action-btn tpl-block-delete-btn tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-sm tpl:border-none tpl:transition-colors tpl:duration-150",
|
|
3437
3488
|
"aria-label": j(a).blockActions.delete,
|
|
@@ -3440,13 +3491,13 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3440
3491
|
}, [V(j(Di), {
|
|
3441
3492
|
size: 14,
|
|
3442
3493
|
"stroke-width": 1.5
|
|
3443
|
-
})], 8,
|
|
3444
|
-
], 8,
|
|
3445
|
-
g.value ? (f(), k("div",
|
|
3494
|
+
})], 8, to)
|
|
3495
|
+
], 8, Za)) : A("", !0),
|
|
3496
|
+
g.value ? (f(), k("div", no, [I("span", ro, [V(j(ci), {
|
|
3446
3497
|
size: 12,
|
|
3447
3498
|
"stroke-width": 1.5
|
|
3448
3499
|
}), z(" " + D(j(s)(j(a).blockActions.hiddenOnViewport, { viewport: y.value })), 1)])])) : A("", !0),
|
|
3449
|
-
b.value && !g.value ? (f(), k("div",
|
|
3500
|
+
b.value && !g.value ? (f(), k("div", io, [I("button", {
|
|
3450
3501
|
class: "tpl-condition-toggle tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-elevated)] tpl:text-[var(--tpl-primary)] tpl:border tpl:border-[var(--tpl-border)]",
|
|
3451
3502
|
"aria-label": j(a).blockActions.conditionToggle,
|
|
3452
3503
|
title: e.block.displayCondition?.label,
|
|
@@ -3454,45 +3505,45 @@ var qa = ["data-block-id", "data-block-type"], Ja = ["aria-label"], Ya = [
|
|
|
3454
3505
|
}, [V(j(qr), {
|
|
3455
3506
|
size: 12,
|
|
3456
3507
|
"stroke-width": 2
|
|
3457
|
-
})], 8,
|
|
3458
|
-
E.value > 0 && !g.value ? (f(), k("div",
|
|
3508
|
+
})], 8, ao)])) : A("", !0),
|
|
3509
|
+
E.value > 0 && !g.value ? (f(), k("div", oo, [I("button", {
|
|
3459
3510
|
class: "tpl-comment-indicator tpl:flex tpl:min-h-6 tpl:min-w-6 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-0.5 tpl:rounded-full tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-semibold tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary)]",
|
|
3460
3511
|
"aria-label": j(s)(j(a).blockActions.comments, { count: String(E.value) }),
|
|
3461
3512
|
onClick: r[0] ||= M((t) => j(w).comments?.openForBlock(e.block.id), ["stop"])
|
|
3462
3513
|
}, [V(j(gi), {
|
|
3463
3514
|
size: 12,
|
|
3464
3515
|
"stroke-width": 2.5
|
|
3465
|
-
}), z(" " + D(E.value), 1)], 8,
|
|
3516
|
+
}), z(" " + D(E.value), 1)], 8, so)])) : A("", !0),
|
|
3466
3517
|
I("div", {
|
|
3467
3518
|
class: "tpl-block-content",
|
|
3468
3519
|
style: L(te.value)
|
|
3469
3520
|
}, [o(t.$slots, "default", {}, void 0, !0)], 4)
|
|
3470
|
-
], 10,
|
|
3521
|
+
], 10, Xa));
|
|
3471
3522
|
}
|
|
3472
3523
|
}), [["__scopeId", "data-v-4a48371d"]]);
|
|
3473
3524
|
//#endregion
|
|
3474
3525
|
//#region src/utils/unwrapParagraph.ts
|
|
3475
|
-
function
|
|
3526
|
+
function lo(e) {
|
|
3476
3527
|
let t = e.match(/^\s*<p\b[^>]*>([\s\S]*)<\/p>\s*$/);
|
|
3477
3528
|
return !t || /<\/p>\s*<p\b/i.test(t[1]) ? e : t[1];
|
|
3478
3529
|
}
|
|
3479
3530
|
//#endregion
|
|
3480
3531
|
//#region src/components/blocks/TitleBlock.vue
|
|
3481
|
-
var
|
|
3532
|
+
var uo = /* @__PURE__ */ B({
|
|
3482
3533
|
__name: "TitleBlock",
|
|
3483
3534
|
props: {
|
|
3484
3535
|
block: {},
|
|
3485
3536
|
viewport: {}
|
|
3486
3537
|
},
|
|
3487
3538
|
setup(e) {
|
|
3488
|
-
let t = e, n = T(() => import("./TitleEditor-
|
|
3539
|
+
let t = e, n = T(() => import("./TitleEditor-BvFbL16O.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = Ga(() => t.block.content), l = O(() => {
|
|
3489
3540
|
let e = {
|
|
3490
3541
|
fontSize: `${pe[t.block.level]}px`,
|
|
3491
3542
|
color: t.block.color,
|
|
3492
3543
|
textAlign: t.block.textAlign
|
|
3493
3544
|
};
|
|
3494
3545
|
return t.block.fontFamily && (e.fontFamily = t.block.fontFamily), e;
|
|
3495
|
-
}), u = O(() => `h${t.block.level}`), p = O(() =>
|
|
3546
|
+
}), u = O(() => `h${t.block.level}`), p = O(() => lo(o.value));
|
|
3496
3547
|
return (t, o) => (f(), k("div", {
|
|
3497
3548
|
ref_key: "blockRef",
|
|
3498
3549
|
ref: i,
|
|
@@ -3515,11 +3566,11 @@ var so = /* @__PURE__ */ B({
|
|
|
3515
3566
|
innerHTML: p.value
|
|
3516
3567
|
}, null, 8, ["innerHTML"]))], 36));
|
|
3517
3568
|
}
|
|
3518
|
-
}),
|
|
3569
|
+
}), fo = { class: "tpl:w-full" }, po = { class: "tpl:flex tpl:gap-0" }, mo = {
|
|
3519
3570
|
key: 0,
|
|
3520
3571
|
"data-testid": "section-drop-hint",
|
|
3521
3572
|
class: "tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:flex tpl:items-center tpl:justify-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
3522
|
-
},
|
|
3573
|
+
}, ho = /* @__PURE__ */ B({
|
|
3523
3574
|
__name: "SectionBlock",
|
|
3524
3575
|
props: {
|
|
3525
3576
|
block: {},
|
|
@@ -3527,9 +3578,9 @@ var so = /* @__PURE__ */ B({
|
|
|
3527
3578
|
},
|
|
3528
3579
|
setup(e) {
|
|
3529
3580
|
let t = {
|
|
3530
|
-
title:
|
|
3531
|
-
paragraph:
|
|
3532
|
-
image:
|
|
3581
|
+
title: uo,
|
|
3582
|
+
paragraph: qa,
|
|
3583
|
+
image: Pa,
|
|
3533
3584
|
button: Fr,
|
|
3534
3585
|
divider: ma,
|
|
3535
3586
|
custom: fa
|
|
@@ -3559,7 +3610,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3559
3610
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3560
3611
|
}
|
|
3561
3612
|
function m(e) {
|
|
3562
|
-
return
|
|
3613
|
+
return Ja(e, o, t);
|
|
3563
3614
|
}
|
|
3564
3615
|
function g(e, t) {
|
|
3565
3616
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
@@ -3567,7 +3618,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3567
3618
|
dataSourceFetched: t.dataSourceFetched
|
|
3568
3619
|
});
|
|
3569
3620
|
}
|
|
3570
|
-
return (t, n) => (f(), k("div",
|
|
3621
|
+
return (t, n) => (f(), k("div", fo, [I("div", po, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
|
|
3571
3622
|
key: n,
|
|
3572
3623
|
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", u(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
3573
3624
|
style: L({ width: s.value[n] })
|
|
@@ -3589,7 +3640,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3589
3640
|
class: "tpl:min-h-[60px]",
|
|
3590
3641
|
"onUpdate:modelValue": (e) => p(n, e)
|
|
3591
3642
|
}, {
|
|
3592
|
-
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(
|
|
3643
|
+
default: b(() => [(f(!0), k(R, null, h(u(n), (t) => c((f(), k("div", { key: t.id }, [V(co, {
|
|
3593
3644
|
block: t,
|
|
3594
3645
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3595
3646
|
viewport: e.viewport,
|
|
@@ -3620,13 +3671,13 @@ var so = /* @__PURE__ */ B({
|
|
|
3620
3671
|
"model-value",
|
|
3621
3672
|
"group",
|
|
3622
3673
|
"onUpdate:modelValue"
|
|
3623
|
-
]), u(n).length === 0 ? (f(), k("div",
|
|
3674
|
+
]), u(n).length === 0 ? (f(), k("div", mo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))])]));
|
|
3624
3675
|
}
|
|
3625
|
-
}),
|
|
3676
|
+
}), go = me, _o = {
|
|
3626
3677
|
small: 24,
|
|
3627
3678
|
medium: 32,
|
|
3628
3679
|
large: 48
|
|
3629
|
-
},
|
|
3680
|
+
}, vo = [
|
|
3630
3681
|
"facebook",
|
|
3631
3682
|
"twitter",
|
|
3632
3683
|
"instagram",
|
|
@@ -3644,11 +3695,11 @@ var so = /* @__PURE__ */ B({
|
|
|
3644
3695
|
"github",
|
|
3645
3696
|
"dribbble",
|
|
3646
3697
|
"behance"
|
|
3647
|
-
],
|
|
3698
|
+
], yo = [
|
|
3648
3699
|
"width",
|
|
3649
3700
|
"height",
|
|
3650
3701
|
"fill"
|
|
3651
|
-
],
|
|
3702
|
+
], bo = ["d"], xo = /* @__PURE__ */ B({
|
|
3652
3703
|
__name: "SocialIconSvg",
|
|
3653
3704
|
props: {
|
|
3654
3705
|
platform: {},
|
|
@@ -3656,7 +3707,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3656
3707
|
iconSize: {}
|
|
3657
3708
|
},
|
|
3658
3709
|
setup(e) {
|
|
3659
|
-
let t = e, n = O(() =>
|
|
3710
|
+
let t = e, n = O(() => go[t.platform]), r = O(() => _o[t.iconSize]), i = O(() => {
|
|
3660
3711
|
let e = {
|
|
3661
3712
|
display: "inline-flex",
|
|
3662
3713
|
alignItems: "center",
|
|
@@ -3700,12 +3751,12 @@ var so = /* @__PURE__ */ B({
|
|
|
3700
3751
|
viewBox: "0 0 24 24",
|
|
3701
3752
|
fill: o.value,
|
|
3702
3753
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3703
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3754
|
+
}, [I("path", { d: n.value.path }, null, 8, bo)], 8, yo))], 4));
|
|
3704
3755
|
}
|
|
3705
|
-
}),
|
|
3756
|
+
}), So = { class: "tpl:w-full" }, Co = ["href"], wo = {
|
|
3706
3757
|
key: 1,
|
|
3707
3758
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
|
|
3708
|
-
},
|
|
3759
|
+
}, To = /* @__PURE__ */ B({
|
|
3709
3760
|
__name: "SocialIconsBlock",
|
|
3710
3761
|
props: {
|
|
3711
3762
|
block: {},
|
|
@@ -3718,7 +3769,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3718
3769
|
gap: `${t.block.spacing}px`,
|
|
3719
3770
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3720
3771
|
})), i = O(() => t.block.icons.length > 0);
|
|
3721
|
-
return (t, a) => (f(), k("div",
|
|
3772
|
+
return (t, a) => (f(), k("div", So, [i.value ? (f(), k("div", {
|
|
3722
3773
|
key: 0,
|
|
3723
3774
|
style: L(r.value)
|
|
3724
3775
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3726,7 +3777,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3726
3777
|
href: t.url || "#",
|
|
3727
3778
|
class: "tpl:cursor-default",
|
|
3728
3779
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3729
|
-
}, [V(
|
|
3780
|
+
}, [V(xo, {
|
|
3730
3781
|
platform: t.platform,
|
|
3731
3782
|
"icon-style": e.block.iconStyle,
|
|
3732
3783
|
"icon-size": e.block.iconSize
|
|
@@ -3734,16 +3785,16 @@ var so = /* @__PURE__ */ B({
|
|
|
3734
3785
|
"platform",
|
|
3735
3786
|
"icon-style",
|
|
3736
3787
|
"icon-size"
|
|
3737
|
-
])], 8,
|
|
3788
|
+
])], 8, Co))), 128))], 4)) : (f(), k("div", wo, [V(j(wi), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
3738
3789
|
}
|
|
3739
|
-
}),
|
|
3790
|
+
}), Eo = { class: "tpl:w-full" }, Do = {
|
|
3740
3791
|
key: 0,
|
|
3741
3792
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
3742
3793
|
style: {
|
|
3743
3794
|
"background-color": "var(--tpl-bg-hover)",
|
|
3744
3795
|
color: "var(--tpl-text-dim)"
|
|
3745
3796
|
}
|
|
3746
|
-
},
|
|
3797
|
+
}, Oo = /* @__PURE__ */ B({
|
|
3747
3798
|
__name: "SpacerBlock",
|
|
3748
3799
|
props: {
|
|
3749
3800
|
block: {},
|
|
@@ -3755,23 +3806,23 @@ var so = /* @__PURE__ */ B({
|
|
|
3755
3806
|
minHeight: `${t.block.height}px`,
|
|
3756
3807
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
3757
3808
|
}));
|
|
3758
|
-
return (t, i) => (f(), k("div",
|
|
3809
|
+
return (t, i) => (f(), k("div", Eo, [I("div", {
|
|
3759
3810
|
style: L(r.value),
|
|
3760
3811
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
3761
|
-
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span",
|
|
3812
|
+
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Do, D(e.block.height) + "px ", 1))], 6)]));
|
|
3762
3813
|
}
|
|
3763
|
-
}),
|
|
3814
|
+
}), ko = { class: "tpl:w-full" }, Ao = { key: 0 }, jo = [
|
|
3764
3815
|
"aria-label",
|
|
3765
3816
|
"data-placeholder",
|
|
3766
3817
|
"onBlur"
|
|
3767
|
-
],
|
|
3818
|
+
], Mo = [
|
|
3768
3819
|
"aria-label",
|
|
3769
3820
|
"data-placeholder",
|
|
3770
3821
|
"onBlur"
|
|
3771
|
-
],
|
|
3822
|
+
], No = {
|
|
3772
3823
|
key: 1,
|
|
3773
3824
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border tpl:border-dashed tpl:py-4 tpl:text-sm tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-dim)]"
|
|
3774
|
-
},
|
|
3825
|
+
}, Po = /*#__PURE__*/ Ii(/* @__PURE__ */ B({
|
|
3775
3826
|
__name: "TableBlock",
|
|
3776
3827
|
props: {
|
|
3777
3828
|
block: {},
|
|
@@ -3814,11 +3865,11 @@ var so = /* @__PURE__ */ B({
|
|
|
3814
3865
|
} : n);
|
|
3815
3866
|
i.updateBlock(n.block.id, { rows: o });
|
|
3816
3867
|
}
|
|
3817
|
-
return (e, n) => (f(), k("div",
|
|
3868
|
+
return (e, n) => (f(), k("div", ko, [a.value ? (f(), k("table", {
|
|
3818
3869
|
key: 0,
|
|
3819
3870
|
style: L(o.value),
|
|
3820
3871
|
class: "tpl-table-editable"
|
|
3821
|
-
}, [u.value ? (f(), k("thead",
|
|
3872
|
+
}, [u.value ? (f(), k("thead", Ao, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
|
|
3822
3873
|
key: e.id,
|
|
3823
3874
|
style: L(l.value),
|
|
3824
3875
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -3827,7 +3878,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3827
3878
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
3828
3879
|
onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3829
3880
|
onClick: M(p, ["stop"])
|
|
3830
|
-
}, null, 44,
|
|
3881
|
+
}, null, 44, jo)), [[t, e.content]])), 128))])])) : A("", !0), I("tbody", null, [(f(!0), k(R, null, h(d.value, (e) => (f(), k("tr", { key: e.id }, [(f(!0), k(R, null, h(e.cells, (i) => c((f(), k("td", {
|
|
3831
3882
|
key: i.id,
|
|
3832
3883
|
style: L(s.value),
|
|
3833
3884
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -3836,9 +3887,9 @@ var so = /* @__PURE__ */ B({
|
|
|
3836
3887
|
onBlur: (t) => m(e.id, i.id, t),
|
|
3837
3888
|
onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
3838
3889
|
onClick: M(p, ["stop"])
|
|
3839
|
-
}, null, 44,
|
|
3890
|
+
}, null, 44, Mo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", No, [V(j(Ei), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
|
|
3840
3891
|
}
|
|
3841
|
-
}), [["__scopeId", "data-v-
|
|
3892
|
+
}), [["__scopeId", "data-v-f065872a"]]), Fo = /* @__PURE__ */ B({
|
|
3842
3893
|
__name: "VideoPlayButton",
|
|
3843
3894
|
props: { hoverEffect: {
|
|
3844
3895
|
type: Boolean,
|
|
@@ -3856,7 +3907,7 @@ var so = /* @__PURE__ */ B({
|
|
|
3856
3907
|
});
|
|
3857
3908
|
//#endregion
|
|
3858
3909
|
//#region src/utils/videoThumbnail.ts
|
|
3859
|
-
function
|
|
3910
|
+
function Io(e) {
|
|
3860
3911
|
if (!e) return {
|
|
3861
3912
|
platform: "unknown",
|
|
3862
3913
|
videoId: null,
|
|
@@ -3888,25 +3939,25 @@ function No(e) {
|
|
|
3888
3939
|
thumbnailUrl: null
|
|
3889
3940
|
};
|
|
3890
3941
|
}
|
|
3891
|
-
function
|
|
3892
|
-
return t ||
|
|
3942
|
+
function Lo(e, t) {
|
|
3943
|
+
return t || Io(e).thumbnailUrl;
|
|
3893
3944
|
}
|
|
3894
3945
|
//#endregion
|
|
3895
3946
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3896
|
-
var
|
|
3947
|
+
var Ro = ["src", "alt"], zo = {
|
|
3897
3948
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
3898
3949
|
style: { opacity: "0.7" }
|
|
3899
|
-
},
|
|
3950
|
+
}, Bo = ["href"], Vo = ["src", "alt"], Ho = ["src", "alt"], Uo = {
|
|
3900
3951
|
key: 3,
|
|
3901
3952
|
class: "tpl:flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-sm tpl:border-[var(--tpl-border-light)] tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-dim)]"
|
|
3902
|
-
},
|
|
3953
|
+
}, Wo = /* @__PURE__ */ B({
|
|
3903
3954
|
__name: "VideoBlock",
|
|
3904
3955
|
props: {
|
|
3905
3956
|
block: {},
|
|
3906
3957
|
viewport: {}
|
|
3907
3958
|
},
|
|
3908
3959
|
setup(e) {
|
|
3909
|
-
let t = e, { t: n } = Y(), { syntax: r } = qi(), i = O(() => yt(t.block.url, r) || yt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null :
|
|
3960
|
+
let t = e, { t: n } = Y(), { syntax: r } = qi(), i = O(() => yt(t.block.url, r) || yt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : Lo(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
|
|
3910
3961
|
let e = t.block.align;
|
|
3911
3962
|
return {
|
|
3912
3963
|
maxWidth: "100%",
|
|
@@ -3927,7 +3978,7 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3927
3978
|
class: "tpl:w-full tpl:border-0",
|
|
3928
3979
|
src: e.block.placeholderUrl,
|
|
3929
3980
|
alt: e.block.alt
|
|
3930
|
-
}, null, 8,
|
|
3981
|
+
}, null, 8, Ro), V(Fo)], 4)) : i.value ? (f(), k("div", {
|
|
3931
3982
|
key: 1,
|
|
3932
3983
|
class: "tpl:relative tpl:!flex tpl:min-h-[150px] tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2 tpl:rounded tpl:border-2 tpl:border-dashed tpl:text-center tpl:bg-[var(--tpl-bg-elevated)]",
|
|
3933
3984
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
@@ -3936,7 +3987,7 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3936
3987
|
"stroke-width": 1.5,
|
|
3937
3988
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
3938
3989
|
style: { opacity: "0.5" }
|
|
3939
|
-
}), I("span",
|
|
3990
|
+
}), I("span", zo, D(c.value), 1)], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
3940
3991
|
key: 0,
|
|
3941
3992
|
href: e.block.url,
|
|
3942
3993
|
target: "_blank",
|
|
@@ -3948,7 +3999,7 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3948
3999
|
class: "tpl:w-full tpl:border-0",
|
|
3949
4000
|
src: a.value,
|
|
3950
4001
|
alt: e.block.alt
|
|
3951
|
-
}, null, 8,
|
|
4002
|
+
}, null, 8, Vo), V(Fo, { "hover-effect": "" })], 12, Bo)) : (f(), k("div", {
|
|
3952
4003
|
key: 1,
|
|
3953
4004
|
class: "tpl:relative tpl:inline-block",
|
|
3954
4005
|
style: L(s.value)
|
|
@@ -3956,28 +4007,28 @@ var Fo = ["src", "alt"], Io = {
|
|
|
3956
4007
|
class: "tpl:w-full tpl:border-0",
|
|
3957
4008
|
src: a.value,
|
|
3958
4009
|
alt: e.block.alt
|
|
3959
|
-
}, null, 8,
|
|
4010
|
+
}, null, 8, Ho), V(Fo)], 4))], 64)) : (f(), k("div", Uo, [V(j(Ai), {
|
|
3960
4011
|
size: 40,
|
|
3961
4012
|
"stroke-width": 1.5,
|
|
3962
4013
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
3963
4014
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
3964
4015
|
}
|
|
3965
|
-
}),
|
|
3966
|
-
section:
|
|
3967
|
-
title:
|
|
3968
|
-
paragraph:
|
|
3969
|
-
image:
|
|
4016
|
+
}), Go = {
|
|
4017
|
+
section: ho,
|
|
4018
|
+
title: uo,
|
|
4019
|
+
paragraph: qa,
|
|
4020
|
+
image: Pa,
|
|
3970
4021
|
button: Fr,
|
|
3971
4022
|
divider: ma,
|
|
3972
|
-
video:
|
|
3973
|
-
social:
|
|
3974
|
-
menu:
|
|
3975
|
-
table:
|
|
3976
|
-
spacer:
|
|
4023
|
+
video: Wo,
|
|
4024
|
+
social: To,
|
|
4025
|
+
menu: Ra,
|
|
4026
|
+
table: Po,
|
|
4027
|
+
spacer: Oo,
|
|
3977
4028
|
html: ya,
|
|
3978
|
-
countdown: T(() => import("./CountdownBlock-
|
|
4029
|
+
countdown: T(() => import("./CountdownBlock-DChGTAsH.js").then((e) => e.n))
|
|
3979
4030
|
};
|
|
3980
|
-
function
|
|
4031
|
+
function Ko(e) {
|
|
3981
4032
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
3982
4033
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
3983
4034
|
let { resolvedTheme: c } = yr(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = xr({
|
|
@@ -4009,7 +4060,7 @@ function Uo(e) {
|
|
|
4009
4060
|
t: a,
|
|
4010
4061
|
format: o
|
|
4011
4062
|
}), y = Tr();
|
|
4012
|
-
if (Ar(y,
|
|
4063
|
+
if (Ar(y, Go), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, fa);
|
|
4013
4064
|
function b(e) {
|
|
4014
4065
|
for (let t of e) y.registerCustom(t, fa);
|
|
4015
4066
|
}
|
|
@@ -4067,19 +4118,19 @@ function Uo(e) {
|
|
|
4067
4118
|
}
|
|
4068
4119
|
//#endregion
|
|
4069
4120
|
//#region src/composables/usePopoverRoot.ts
|
|
4070
|
-
function
|
|
4121
|
+
function qo() {
|
|
4071
4122
|
return v(sr, C(null));
|
|
4072
4123
|
}
|
|
4073
4124
|
//#endregion
|
|
4074
4125
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4075
|
-
var
|
|
4126
|
+
var Jo = ["data-tpl-theme"], Yo = /* @__PURE__ */ B({
|
|
4076
4127
|
__name: "TplModal",
|
|
4077
4128
|
props: { visible: { type: Boolean } },
|
|
4078
4129
|
emits: ["close", "keydown"],
|
|
4079
4130
|
setup(e, { emit: t }) {
|
|
4080
4131
|
let n = e, r = t, i = C(null);
|
|
4081
4132
|
Ui(i, O(() => n.visible));
|
|
4082
|
-
let a = v(Un), s =
|
|
4133
|
+
let a = v(Un), s = qo();
|
|
4083
4134
|
function c(e) {
|
|
4084
4135
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4085
4136
|
}
|
|
@@ -4108,11 +4159,11 @@ var Go = ["data-tpl-theme"], Ko = /* @__PURE__ */ B({
|
|
|
4108
4159
|
}, [I("div", {
|
|
4109
4160
|
ref_key: "dialogRef",
|
|
4110
4161
|
ref: i
|
|
4111
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4162
|
+
}, [o(t.$slots, "default")], 512)], 40, Jo)) : A("", !0)]),
|
|
4112
4163
|
_: 3
|
|
4113
4164
|
})], 8, ["to"])) : A("", !0);
|
|
4114
4165
|
}
|
|
4115
|
-
}),
|
|
4166
|
+
}), Xo = class e {
|
|
4116
4167
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4117
4168
|
accessToken = null;
|
|
4118
4169
|
expiresAt = null;
|
|
@@ -4213,8 +4264,8 @@ var Go = ["data-tpl-theme"], Ko = /* @__PURE__ */ B({
|
|
|
4213
4264
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4214
4265
|
}
|
|
4215
4266
|
};
|
|
4216
|
-
function
|
|
4217
|
-
return e.mode === "direct" ? new
|
|
4267
|
+
function Zo(e, t) {
|
|
4268
|
+
return e.mode === "direct" ? new Xo({
|
|
4218
4269
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4219
4270
|
baseUrl: e.baseUrl,
|
|
4220
4271
|
requestOptions: {
|
|
@@ -4228,7 +4279,7 @@ function Jo(e, t) {
|
|
|
4228
4279
|
}
|
|
4229
4280
|
},
|
|
4230
4281
|
onError: t
|
|
4231
|
-
}) : new
|
|
4282
|
+
}) : new Xo({
|
|
4232
4283
|
url: e.url,
|
|
4233
4284
|
baseUrl: e.baseUrl,
|
|
4234
4285
|
requestOptions: e.requestOptions,
|
|
@@ -4240,16 +4291,16 @@ function Jo(e, t) {
|
|
|
4240
4291
|
function Z(e, t) {
|
|
4241
4292
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4242
4293
|
}
|
|
4243
|
-
var
|
|
4294
|
+
var Qo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Qo}/templates/{template}`, $o = `${Q}/ai`, es = `${Qo}/media`, ts = `${es}/folders`, ns = `${Qo}/saved-modules`, $ = {
|
|
4244
4295
|
health: "/api/v1/health",
|
|
4245
|
-
"projects.config": `${
|
|
4246
|
-
"broadcasting.auth": `${
|
|
4247
|
-
"templates.store": `${
|
|
4296
|
+
"projects.config": `${Qo}/config`,
|
|
4297
|
+
"broadcasting.auth": `${Qo}/broadcasting/auth`,
|
|
4298
|
+
"templates.store": `${Qo}/templates`,
|
|
4248
4299
|
"templates.show": `${Q}`,
|
|
4249
4300
|
"templates.update": `${Q}`,
|
|
4250
4301
|
"templates.destroy": `${Q}`,
|
|
4251
4302
|
"templates.export": `${Q}/export`,
|
|
4252
|
-
"templates.importFromBeefree": `${
|
|
4303
|
+
"templates.importFromBeefree": `${Qo}/templates/import/from-beefree`,
|
|
4253
4304
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4254
4305
|
"snapshots.index": `${Q}/snapshots`,
|
|
4255
4306
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4260,31 +4311,31 @@ var Yo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Yo}/templates/{te
|
|
|
4260
4311
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4261
4312
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4262
4313
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4263
|
-
"ai.generate": `${
|
|
4264
|
-
"ai.conversationMessages": `${
|
|
4265
|
-
"ai.suggestions": `${
|
|
4266
|
-
"ai.rewriteText": `${
|
|
4267
|
-
"ai.score": `${
|
|
4268
|
-
"ai.fixFinding": `${
|
|
4269
|
-
"ai.generateFromDesign": `${
|
|
4270
|
-
"media.upload": `${
|
|
4271
|
-
"media.browse": `${
|
|
4272
|
-
"media.delete": `${
|
|
4273
|
-
"media.move": `${
|
|
4274
|
-
"media.update": `${
|
|
4275
|
-
"media.replace": `${
|
|
4276
|
-
"media.checkUsage": `${
|
|
4277
|
-
"media.frequentlyUsed": `${
|
|
4278
|
-
"media.importFromUrl": `${
|
|
4279
|
-
"folders.index": `${
|
|
4280
|
-
"folders.store": `${
|
|
4281
|
-
"folders.update": `${
|
|
4282
|
-
"folders.destroy": `${
|
|
4283
|
-
"savedModules.index": `${
|
|
4284
|
-
"savedModules.store": `${
|
|
4285
|
-
"savedModules.update": `${
|
|
4286
|
-
"savedModules.destroy": `${
|
|
4287
|
-
},
|
|
4314
|
+
"ai.generate": `${$o}/generate`,
|
|
4315
|
+
"ai.conversationMessages": `${$o}/conversation-messages`,
|
|
4316
|
+
"ai.suggestions": `${$o}/suggestions`,
|
|
4317
|
+
"ai.rewriteText": `${$o}/rewrite-text`,
|
|
4318
|
+
"ai.score": `${$o}/score`,
|
|
4319
|
+
"ai.fixFinding": `${$o}/fix-finding`,
|
|
4320
|
+
"ai.generateFromDesign": `${$o}/generate-from-design`,
|
|
4321
|
+
"media.upload": `${es}/upload`,
|
|
4322
|
+
"media.browse": `${es}/browse`,
|
|
4323
|
+
"media.delete": `${es}/delete`,
|
|
4324
|
+
"media.move": `${es}/move`,
|
|
4325
|
+
"media.update": `${es}/{media}`,
|
|
4326
|
+
"media.replace": `${es}/{media}/replace`,
|
|
4327
|
+
"media.checkUsage": `${es}/check-usage`,
|
|
4328
|
+
"media.frequentlyUsed": `${es}/frequently-used`,
|
|
4329
|
+
"media.importFromUrl": `${es}/import-from-url`,
|
|
4330
|
+
"folders.index": `${ts}`,
|
|
4331
|
+
"folders.store": `${ts}`,
|
|
4332
|
+
"folders.update": `${ts}/{mediaFolder}`,
|
|
4333
|
+
"folders.destroy": `${ts}/{mediaFolder}`,
|
|
4334
|
+
"savedModules.index": `${ns}`,
|
|
4335
|
+
"savedModules.store": `${ns}`,
|
|
4336
|
+
"savedModules.update": `${ns}/{savedModule}`,
|
|
4337
|
+
"savedModules.destroy": `${ns}/{savedModule}`
|
|
4338
|
+
}, rs = class {
|
|
4288
4339
|
authManager;
|
|
4289
4340
|
constructor(e) {
|
|
4290
4341
|
this.authManager = e;
|
|
@@ -4470,14 +4521,14 @@ var Yo = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${Yo}/templates/{te
|
|
|
4470
4521
|
};
|
|
4471
4522
|
//#endregion
|
|
4472
4523
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4473
|
-
function
|
|
4524
|
+
function is(e) {
|
|
4474
4525
|
return {
|
|
4475
4526
|
host: e.host,
|
|
4476
4527
|
port: e.port,
|
|
4477
4528
|
appKey: e.app_key
|
|
4478
4529
|
};
|
|
4479
4530
|
}
|
|
4480
|
-
var
|
|
4531
|
+
var as = class {
|
|
4481
4532
|
pusher = null;
|
|
4482
4533
|
authManager;
|
|
4483
4534
|
config;
|
|
@@ -4544,7 +4595,7 @@ var ns = class {
|
|
|
4544
4595
|
};
|
|
4545
4596
|
//#endregion
|
|
4546
4597
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4547
|
-
function
|
|
4598
|
+
function os(e, t) {
|
|
4548
4599
|
let { operation: n, data: r } = t;
|
|
4549
4600
|
switch (n) {
|
|
4550
4601
|
case "add_block":
|
|
@@ -4572,11 +4623,11 @@ function rs(e, t) {
|
|
|
4572
4623
|
}
|
|
4573
4624
|
//#endregion
|
|
4574
4625
|
//#region ../core/src/cloud/editor.ts
|
|
4575
|
-
function
|
|
4626
|
+
function ss(e) {
|
|
4576
4627
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4577
4628
|
}
|
|
4578
|
-
function
|
|
4579
|
-
let t = new
|
|
4629
|
+
function cs(e) {
|
|
4630
|
+
let t = new rs(e.authManager), n = S({
|
|
4580
4631
|
template: null,
|
|
4581
4632
|
content: We(e.defaultFontFamily, e.templateDefaults),
|
|
4582
4633
|
selectedBlockId: null,
|
|
@@ -4682,7 +4733,7 @@ function as(e) {
|
|
|
4682
4733
|
let l;
|
|
4683
4734
|
if (r) {
|
|
4684
4735
|
let e = o(n.content.blocks, r);
|
|
4685
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
4736
|
+
if (!e || e.type !== "section" || i < 0 || i >= ss(e.columns)) return;
|
|
4686
4737
|
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4687
4738
|
} else l = n.content.blocks;
|
|
4688
4739
|
let [u] = a.blocks.splice(c, 1);
|
|
@@ -4774,11 +4825,11 @@ function as(e) {
|
|
|
4774
4825
|
}
|
|
4775
4826
|
//#endregion
|
|
4776
4827
|
//#region ../core/src/cloud/ai-chat.ts
|
|
4777
|
-
var
|
|
4778
|
-
function
|
|
4779
|
-
return `msg_${Date.now()}_${++
|
|
4828
|
+
var ls = 0;
|
|
4829
|
+
function us() {
|
|
4830
|
+
return `msg_${Date.now()}_${++ls}`;
|
|
4780
4831
|
}
|
|
4781
|
-
function
|
|
4832
|
+
function ds(e) {
|
|
4782
4833
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C([]), o = C(!1), s = C(!1), c = C(null), l = C(null), u = C(null), d = C(null), f = C(null), p = C(null), m = C(!1), h = C([]), g = C(!1);
|
|
4783
4834
|
function _(e, t) {
|
|
4784
4835
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -4872,14 +4923,14 @@ function cs(e) {
|
|
|
4872
4923
|
let v = n();
|
|
4873
4924
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
4874
4925
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
4875
|
-
let y =
|
|
4926
|
+
let y = us();
|
|
4876
4927
|
a.value = [...a.value, {
|
|
4877
4928
|
id: y,
|
|
4878
4929
|
role: "user",
|
|
4879
4930
|
content: e,
|
|
4880
4931
|
timestamp: Date.now()
|
|
4881
4932
|
}];
|
|
4882
|
-
let b =
|
|
4933
|
+
let b = us();
|
|
4883
4934
|
a.value = [...a.value, {
|
|
4884
4935
|
id: b,
|
|
4885
4936
|
role: "assistant",
|
|
@@ -4970,7 +5021,7 @@ function cs(e) {
|
|
|
4970
5021
|
}
|
|
4971
5022
|
//#endregion
|
|
4972
5023
|
//#region ../core/src/cloud/ai-config.ts
|
|
4973
|
-
function
|
|
5024
|
+
function fs(e) {
|
|
4974
5025
|
function t(t) {
|
|
4975
5026
|
return e === !1 ? !1 : e?.[t] !== !1;
|
|
4976
5027
|
}
|
|
@@ -4981,7 +5032,7 @@ function ls(e) {
|
|
|
4981
5032
|
}
|
|
4982
5033
|
//#endregion
|
|
4983
5034
|
//#region ../core/src/cloud/template-scoring.ts
|
|
4984
|
-
function
|
|
5035
|
+
function ps(e) {
|
|
4985
5036
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
4986
5037
|
async function l(e, o) {
|
|
4987
5038
|
let s = n();
|
|
@@ -5126,7 +5177,7 @@ function us(e) {
|
|
|
5126
5177
|
}
|
|
5127
5178
|
//#endregion
|
|
5128
5179
|
//#region ../core/src/cloud/design-reference.ts
|
|
5129
|
-
function
|
|
5180
|
+
function ms(e) {
|
|
5130
5181
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5131
5182
|
async function s(e) {
|
|
5132
5183
|
let s = n();
|
|
@@ -5189,8 +5240,8 @@ function ds(e) {
|
|
|
5189
5240
|
}
|
|
5190
5241
|
//#endregion
|
|
5191
5242
|
//#region ../core/src/cloud/comments.ts
|
|
5192
|
-
function
|
|
5193
|
-
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new
|
|
5243
|
+
function hs(e) {
|
|
5244
|
+
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new rs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
|
|
5194
5245
|
let e = 0;
|
|
5195
5246
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5196
5247
|
return e;
|
|
@@ -5389,17 +5440,17 @@ function fs(e) {
|
|
|
5389
5440
|
}
|
|
5390
5441
|
//#endregion
|
|
5391
5442
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5392
|
-
function
|
|
5443
|
+
function gs(e) {
|
|
5393
5444
|
let { comments: t, channel: n } = e;
|
|
5394
5445
|
H(n, (e, n) => {
|
|
5395
5446
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5396
|
-
|
|
5447
|
+
_s(t, e);
|
|
5397
5448
|
});
|
|
5398
5449
|
}), l(() => {
|
|
5399
5450
|
n.value?.unbind("comment-broadcast");
|
|
5400
5451
|
});
|
|
5401
5452
|
}
|
|
5402
|
-
function
|
|
5453
|
+
function _s(e, t) {
|
|
5403
5454
|
switch (t.action) {
|
|
5404
5455
|
case "comment_created":
|
|
5405
5456
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5418,7 +5469,7 @@ function ms(e, t) {
|
|
|
5418
5469
|
}
|
|
5419
5470
|
//#endregion
|
|
5420
5471
|
//#region ../core/src/cloud/collaboration.ts
|
|
5421
|
-
var
|
|
5472
|
+
var vs = [
|
|
5422
5473
|
"pusher:member_added",
|
|
5423
5474
|
"pusher:member_removed",
|
|
5424
5475
|
"client-block_locked",
|
|
@@ -5426,10 +5477,10 @@ var hs = [
|
|
|
5426
5477
|
"client-operation",
|
|
5427
5478
|
"mcp-operation"
|
|
5428
5479
|
];
|
|
5429
|
-
function
|
|
5430
|
-
for (let t of
|
|
5480
|
+
function ys(e) {
|
|
5481
|
+
for (let t of vs) e.unbind(t);
|
|
5431
5482
|
}
|
|
5432
|
-
var
|
|
5483
|
+
var bs = [
|
|
5433
5484
|
"#3b82f6",
|
|
5434
5485
|
"#ef4444",
|
|
5435
5486
|
"#10b981",
|
|
@@ -5441,10 +5492,10 @@ var _s = [
|
|
|
5441
5492
|
"#6366f1",
|
|
5442
5493
|
"#14b8a6"
|
|
5443
5494
|
];
|
|
5444
|
-
function
|
|
5495
|
+
function xs(e) {
|
|
5445
5496
|
let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
|
|
5446
5497
|
function u() {
|
|
5447
|
-
let e =
|
|
5498
|
+
let e = bs[o % bs.length];
|
|
5448
5499
|
return o++, e;
|
|
5449
5500
|
}
|
|
5450
5501
|
function d(e) {
|
|
@@ -5486,7 +5537,7 @@ function vs(e) {
|
|
|
5486
5537
|
function h(e) {
|
|
5487
5538
|
s = !0;
|
|
5488
5539
|
try {
|
|
5489
|
-
|
|
5540
|
+
os(n, e);
|
|
5490
5541
|
} finally {
|
|
5491
5542
|
s = !1;
|
|
5492
5543
|
}
|
|
@@ -5506,7 +5557,7 @@ function vs(e) {
|
|
|
5506
5557
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5507
5558
|
s || (t && v(t), e && _(e));
|
|
5508
5559
|
}), H(r, (t, n) => {
|
|
5509
|
-
if (n &&
|
|
5560
|
+
if (n && ys(n), !t) {
|
|
5510
5561
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5511
5562
|
return;
|
|
5512
5563
|
}
|
|
@@ -5538,7 +5589,7 @@ function vs(e) {
|
|
|
5538
5589
|
h(e);
|
|
5539
5590
|
});
|
|
5540
5591
|
}), l(() => {
|
|
5541
|
-
r.value &&
|
|
5592
|
+
r.value && ys(r.value);
|
|
5542
5593
|
}), {
|
|
5543
5594
|
collaborators: i,
|
|
5544
5595
|
lockedBlocks: a,
|
|
@@ -5548,7 +5599,7 @@ function vs(e) {
|
|
|
5548
5599
|
}
|
|
5549
5600
|
//#endregion
|
|
5550
5601
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5551
|
-
function
|
|
5602
|
+
function Ss(e, t) {
|
|
5552
5603
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5553
5604
|
e.addBlock = (e, r, i, a) => {
|
|
5554
5605
|
n(e, r, i, a), t._broadcastOperation({
|
|
@@ -5603,11 +5654,11 @@ function ys(e, t) {
|
|
|
5603
5654
|
}
|
|
5604
5655
|
//#endregion
|
|
5605
5656
|
//#region ../core/src/cloud/web-socket.ts
|
|
5606
|
-
function
|
|
5657
|
+
function Cs(e) {
|
|
5607
5658
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5608
5659
|
async function s(e, s) {
|
|
5609
5660
|
if (a) return;
|
|
5610
|
-
a = new
|
|
5661
|
+
a = new as({
|
|
5611
5662
|
authManager: t,
|
|
5612
5663
|
config: s,
|
|
5613
5664
|
onError: n
|
|
@@ -5635,8 +5686,8 @@ function bs(e) {
|
|
|
5635
5686
|
}
|
|
5636
5687
|
//#endregion
|
|
5637
5688
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5638
|
-
function
|
|
5639
|
-
let t = new
|
|
5689
|
+
function ws(e) {
|
|
5690
|
+
let t = new rs(e.authManager), n = C([]), r = C(!1);
|
|
5640
5691
|
async function i(i) {
|
|
5641
5692
|
r.value = !0;
|
|
5642
5693
|
try {
|
|
@@ -5684,8 +5735,8 @@ function xs(e) {
|
|
|
5684
5735
|
}
|
|
5685
5736
|
//#endregion
|
|
5686
5737
|
//#region ../core/src/cloud/snapshots.ts
|
|
5687
|
-
function
|
|
5688
|
-
let t = new
|
|
5738
|
+
function Ts(e) {
|
|
5739
|
+
let t = new rs(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5689
5740
|
async function a() {
|
|
5690
5741
|
r.value = !0;
|
|
5691
5742
|
try {
|
|
@@ -5717,8 +5768,8 @@ function Ss(e) {
|
|
|
5717
5768
|
}
|
|
5718
5769
|
//#endregion
|
|
5719
5770
|
//#region ../core/src/cloud/test-email.ts
|
|
5720
|
-
function
|
|
5721
|
-
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new
|
|
5771
|
+
function Es(e) {
|
|
5772
|
+
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new rs(t), l = C(!1), u = C(null), d = C(null);
|
|
5722
5773
|
o && H(o, (e) => {
|
|
5723
5774
|
e && (d.value = t.testEmailConfig);
|
|
5724
5775
|
}, { immediate: !0 });
|
|
@@ -5754,8 +5805,8 @@ function Cs(e) {
|
|
|
5754
5805
|
}
|
|
5755
5806
|
//#endregion
|
|
5756
5807
|
//#region ../core/src/cloud/export.ts
|
|
5757
|
-
function
|
|
5758
|
-
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new
|
|
5808
|
+
function Ds(e) {
|
|
5809
|
+
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new rs(t);
|
|
5759
5810
|
function a() {
|
|
5760
5811
|
let e = n?.();
|
|
5761
5812
|
return {
|
|
@@ -5781,8 +5832,8 @@ function ws(e) {
|
|
|
5781
5832
|
}
|
|
5782
5833
|
//#endregion
|
|
5783
5834
|
//#region ../core/src/cloud/plan-config.ts
|
|
5784
|
-
function
|
|
5785
|
-
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new
|
|
5835
|
+
function Os(e) {
|
|
5836
|
+
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new rs(t), o = O(() => r.value?.features ?? null);
|
|
5786
5837
|
function s(e) {
|
|
5787
5838
|
return r.value?.features[e] ?? !1;
|
|
5788
5839
|
}
|
|
@@ -5808,11 +5859,11 @@ function Ts(e) {
|
|
|
5808
5859
|
}
|
|
5809
5860
|
//#endregion
|
|
5810
5861
|
//#region ../core/src/cloud/health-check.ts
|
|
5811
|
-
var
|
|
5812
|
-
function
|
|
5862
|
+
var ks = 5e3;
|
|
5863
|
+
function As(e) {
|
|
5813
5864
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
5814
5865
|
}
|
|
5815
|
-
async function
|
|
5866
|
+
async function js(e, t) {
|
|
5816
5867
|
let n = performance.now();
|
|
5817
5868
|
try {
|
|
5818
5869
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -5864,7 +5915,7 @@ async function Os(e, t) {
|
|
|
5864
5915
|
};
|
|
5865
5916
|
}
|
|
5866
5917
|
}
|
|
5867
|
-
async function
|
|
5918
|
+
async function Ms(e) {
|
|
5868
5919
|
if (!e?.host || !e?.app_key) return {
|
|
5869
5920
|
ok: !1,
|
|
5870
5921
|
error: "WebSocket configuration not available"
|
|
@@ -5880,7 +5931,7 @@ async function ks(e) {
|
|
|
5880
5931
|
ok: !1,
|
|
5881
5932
|
error: "WebSocket connection timed out"
|
|
5882
5933
|
});
|
|
5883
|
-
},
|
|
5934
|
+
}, ks);
|
|
5884
5935
|
try {
|
|
5885
5936
|
n = new WebSocket(t);
|
|
5886
5937
|
} catch (t) {
|
|
@@ -5900,8 +5951,8 @@ async function ks(e) {
|
|
|
5900
5951
|
};
|
|
5901
5952
|
});
|
|
5902
5953
|
}
|
|
5903
|
-
async function
|
|
5904
|
-
let t = await
|
|
5954
|
+
async function Ns(e = {}) {
|
|
5955
|
+
let t = await js(As(e), e.authManager), n = await Ms(t.wsConfig);
|
|
5905
5956
|
return {
|
|
5906
5957
|
api: t.api,
|
|
5907
5958
|
websocket: n,
|
|
@@ -5911,29 +5962,29 @@ async function As(e = {}) {
|
|
|
5911
5962
|
}
|
|
5912
5963
|
//#endregion
|
|
5913
5964
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
5914
|
-
function
|
|
5965
|
+
function Ps(e) {
|
|
5915
5966
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
5916
5967
|
H(n, (e, n) => {
|
|
5917
5968
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
5918
|
-
|
|
5969
|
+
os(t, e), r?.(e);
|
|
5919
5970
|
});
|
|
5920
5971
|
});
|
|
5921
5972
|
}
|
|
5922
5973
|
//#endregion
|
|
5923
5974
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
5924
|
-
var
|
|
5975
|
+
var Fs = {
|
|
5925
5976
|
key: 0,
|
|
5926
5977
|
class: "tpl-ai-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
5927
|
-
},
|
|
5978
|
+
}, Is = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ls = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Rs = { class: "tpl:flex tpl:items-center tpl:gap-1" }, zs = ["title"], Bs = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, Vs = {
|
|
5928
5979
|
key: 0,
|
|
5929
5980
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5930
|
-
},
|
|
5981
|
+
}, Hs = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Us = {
|
|
5931
5982
|
key: 1,
|
|
5932
5983
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
5933
|
-
},
|
|
5984
|
+
}, Ws = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Gs = {
|
|
5934
5985
|
key: 2,
|
|
5935
5986
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
5936
|
-
},
|
|
5987
|
+
}, Ks = {
|
|
5937
5988
|
key: 0,
|
|
5938
5989
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
5939
5990
|
style: {
|
|
@@ -5942,10 +5993,10 @@ var Ms = {
|
|
|
5942
5993
|
"max-width": "85%",
|
|
5943
5994
|
"box-shadow": "var(--tpl-shadow)"
|
|
5944
5995
|
}
|
|
5945
|
-
},
|
|
5996
|
+
}, qs = {
|
|
5946
5997
|
key: 1,
|
|
5947
5998
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
5948
|
-
},
|
|
5999
|
+
}, Js = {
|
|
5949
6000
|
key: 1,
|
|
5950
6001
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
5951
6002
|
style: {
|
|
@@ -5954,21 +6005,21 @@ var Ms = {
|
|
|
5954
6005
|
color: "var(--tpl-text)",
|
|
5955
6006
|
"box-shadow": "var(--tpl-shadow)"
|
|
5956
6007
|
}
|
|
5957
|
-
},
|
|
6008
|
+
}, Ys = {
|
|
5958
6009
|
key: 0,
|
|
5959
6010
|
class: "tpl:mx-3 tpl:mb-2 tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs",
|
|
5960
6011
|
style: {
|
|
5961
6012
|
"background-color": "var(--tpl-danger-light)",
|
|
5962
6013
|
color: "var(--tpl-danger)"
|
|
5963
6014
|
}
|
|
5964
|
-
},
|
|
6015
|
+
}, Xs = {
|
|
5965
6016
|
key: 1,
|
|
5966
6017
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
5967
6018
|
style: {
|
|
5968
6019
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
5969
6020
|
"backdrop-filter": "blur(2px)"
|
|
5970
6021
|
}
|
|
5971
|
-
},
|
|
6022
|
+
}, Zs = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, Qs = ["onClick"], $s = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, ec = { class: "tpl-ai-input-wrapper tpl:flex tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, tc = ["placeholder", "disabled"], nc = ["disabled"], rc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, ic = /*@__PURE__*/ B({
|
|
5972
6023
|
__name: "AiChatSidebar",
|
|
5973
6024
|
props: {
|
|
5974
6025
|
visible: { type: Boolean },
|
|
@@ -5976,7 +6027,7 @@ var Ms = {
|
|
|
5976
6027
|
},
|
|
5977
6028
|
emits: ["close"],
|
|
5978
6029
|
setup(e, { emit: t }) {
|
|
5979
|
-
let n = e, r = t, i = J(pr, "AiChatSidebar"), a = J(Ln, "AiChatSidebar"), o = J(cr, "AiChatSidebar"), s = v(Yn, []), l = ba(), u =
|
|
6030
|
+
let n = e, r = t, i = J(pr, "AiChatSidebar"), a = J(Ln, "AiChatSidebar"), o = J(cr, "AiChatSidebar"), s = v(Yn, []), l = ba(), u = ds({
|
|
5980
6031
|
authManager: o,
|
|
5981
6032
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
5982
6033
|
onApply: n.onApply,
|
|
@@ -6023,11 +6074,11 @@ var Ms = {
|
|
|
6023
6074
|
"leave-from-class": "tpl:translate-x-0",
|
|
6024
6075
|
"leave-to-class": "tpl:translate-x-full"
|
|
6025
6076
|
}, {
|
|
6026
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6027
|
-
I("div",
|
|
6077
|
+
default: b(() => [e.visible ? (f(), k("div", Fs, [
|
|
6078
|
+
I("div", Is, [I("div", Ls, [V(j(Xr), {
|
|
6028
6079
|
size: 13,
|
|
6029
6080
|
"stroke-width": 2
|
|
6030
|
-
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div",
|
|
6081
|
+
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div", Rs, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6031
6082
|
key: 0,
|
|
6032
6083
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6033
6084
|
title: j(i).aiChat.clear,
|
|
@@ -6035,30 +6086,30 @@ var Ms = {
|
|
|
6035
6086
|
}, [V(j(Di), {
|
|
6036
6087
|
size: 14,
|
|
6037
6088
|
"stroke-width": 2
|
|
6038
|
-
})], 8,
|
|
6089
|
+
})], 8, zs)) : A("", !0), I("button", {
|
|
6039
6090
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6040
6091
|
onClick: n[1] ||= (e) => r("close")
|
|
6041
6092
|
}, [V(j(ji), {
|
|
6042
6093
|
size: 14,
|
|
6043
6094
|
"stroke-width": 2
|
|
6044
6095
|
})])])]),
|
|
6045
|
-
I("div",
|
|
6096
|
+
I("div", Bs, [
|
|
6046
6097
|
I("div", {
|
|
6047
6098
|
ref_key: "messagesContainer",
|
|
6048
6099
|
ref: p,
|
|
6049
6100
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6050
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6101
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", Vs, [V(j(Jr), {
|
|
6051
6102
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6052
6103
|
size: 24,
|
|
6053
6104
|
"stroke-width": 2
|
|
6054
|
-
}), I("p",
|
|
6105
|
+
}), I("p", Hs, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", Us, [V(j(Xr), {
|
|
6055
6106
|
size: 32,
|
|
6056
6107
|
"stroke-width": 1.5,
|
|
6057
6108
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6058
|
-
}), I("p",
|
|
6109
|
+
}), I("p", Ws, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", Gs, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
|
|
6059
6110
|
key: e.id,
|
|
6060
6111
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6061
|
-
}, [e.role === "user" ? (f(), k("div",
|
|
6112
|
+
}, [e.role === "user" ? (f(), k("div", Ks, D(e.content), 1)) : (f(), k("div", qs, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Bi, { key: 0 })) : (f(), k("div", Js, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
|
|
6062
6113
|
key: 2,
|
|
6063
6114
|
class: "tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:self-start tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
|
|
6064
6115
|
style: {
|
|
@@ -6074,12 +6125,12 @@ var Ms = {
|
|
|
6074
6125
|
size: 12,
|
|
6075
6126
|
"stroke-width": 2
|
|
6076
6127
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6077
|
-
j(u).error.value ? (f(), k("div",
|
|
6128
|
+
j(u).error.value ? (f(), k("div", Ys, [V(j(Gr), {
|
|
6078
6129
|
size: 14,
|
|
6079
6130
|
"stroke-width": 2,
|
|
6080
6131
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6081
6132
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6082
|
-
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div",
|
|
6133
|
+
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", Xs, [I("div", Zs, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
|
|
6083
6134
|
key: t,
|
|
6084
6135
|
class: F(["tpl-suggestion-btn tpl:cursor-pointer tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:text-left tpl:text-xs tpl:leading-snug tpl:transition-all tpl:duration-300 tpl:ease-out", (j(u).suggestions.value?.length ?? 0) - 1 - t < _.value ? "tpl:translate-y-0 tpl:opacity-100" : "tpl:pointer-events-none tpl:-translate-y-2 tpl:opacity-0"]),
|
|
6085
6136
|
style: {
|
|
@@ -6089,99 +6140,99 @@ var Ms = {
|
|
|
6089
6140
|
"box-shadow": "var(--tpl-shadow)"
|
|
6090
6141
|
},
|
|
6091
6142
|
onClick: (t) => E(e)
|
|
6092
|
-
}, D(e), 11,
|
|
6143
|
+
}, D(e), 11, Qs))), 128))])])) : A("", !0)
|
|
6093
6144
|
]),
|
|
6094
|
-
I("div",
|
|
6145
|
+
I("div", $s, [I("div", ec, [c(I("textarea", {
|
|
6095
6146
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6096
6147
|
class: "tpl:max-h-32 tpl:min-h-[64px] tpl:flex-1 tpl:resize-none tpl:border-none tpl:bg-transparent tpl:font-sans tpl:text-sm tpl:outline-none tpl:text-[var(--tpl-text)]",
|
|
6097
6148
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6098
6149
|
disabled: j(u).isGenerating.value,
|
|
6099
6150
|
rows: "3",
|
|
6100
6151
|
onKeydown: te
|
|
6101
|
-
}, null, 40,
|
|
6152
|
+
}, null, 40, tc), [[ae, d.value]]), I("button", {
|
|
6102
6153
|
class: "tpl-ai-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6103
6154
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6104
6155
|
onClick: ee
|
|
6105
6156
|
}, [V(j(Ci), {
|
|
6106
6157
|
size: 16,
|
|
6107
6158
|
"stroke-width": 2
|
|
6108
|
-
})], 8,
|
|
6159
|
+
})], 8, nc)]), I("p", rc, D(j(i).aiMenu.disclaimer), 1)])
|
|
6109
6160
|
])) : A("", !0)]),
|
|
6110
6161
|
_: 1
|
|
6111
6162
|
}));
|
|
6112
6163
|
}
|
|
6113
|
-
}),
|
|
6114
|
-
function
|
|
6164
|
+
}), ac = /* @__PURE__ */ e({ default: () => oc }), oc = /*#__PURE__*/ Ii(ic, [["__scopeId", "data-v-a55e4bff"]]), sc = 6e4, cc = 36e5, lc = 864e5;
|
|
6165
|
+
function uc(e, t, n, r) {
|
|
6115
6166
|
let i = new Date(e).getTime();
|
|
6116
6167
|
if (Number.isNaN(i)) return null;
|
|
6117
6168
|
let a = Date.now() - i;
|
|
6118
6169
|
if (a < -6e4) return null;
|
|
6119
|
-
let o = Math.floor(a /
|
|
6170
|
+
let o = Math.floor(a / sc), s = Math.floor(a / cc), c = Math.floor(a / lc);
|
|
6120
6171
|
return o < 1 ? t.justNow : o < 60 ? n ? n(t.minutesAgo, { minutes: o }) : t.minutesAgo.replace("{minutes}", String(o)) : s < 24 ? n ? n(t.hoursAgo, { hours: s }) : t.hoursAgo.replace("{hours}", String(s)) : r !== void 0 && c >= r ? null : n ? n(t.daysAgo, { days: c }) : t.daysAgo.replace("{days}", String(c));
|
|
6121
6172
|
}
|
|
6122
6173
|
//#endregion
|
|
6123
6174
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6124
|
-
var
|
|
6175
|
+
var dc = {
|
|
6125
6176
|
key: 0,
|
|
6126
6177
|
class: "tpl-comments-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6127
|
-
},
|
|
6178
|
+
}, fc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, pc = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, mc = {
|
|
6128
6179
|
key: 0,
|
|
6129
6180
|
class: "tpl:ml-1 tpl:inline-flex tpl:size-5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]"
|
|
6130
|
-
},
|
|
6181
|
+
}, hc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, gc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, _c = {
|
|
6131
6182
|
key: 0,
|
|
6132
6183
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6133
|
-
},
|
|
6184
|
+
}, vc = {
|
|
6134
6185
|
key: 1,
|
|
6135
6186
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
|
|
6136
|
-
},
|
|
6187
|
+
}, yc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, bc = {
|
|
6137
6188
|
key: 2,
|
|
6138
6189
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6139
|
-
},
|
|
6190
|
+
}, xc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, Sc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Cc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, wc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Tc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Ec = {
|
|
6140
6191
|
key: 0,
|
|
6141
6192
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6142
|
-
},
|
|
6193
|
+
}, Dc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Oc = ["title", "onClick"], kc = ["title", "onClick"], Ac = ["title", "onClick"], jc = {
|
|
6143
6194
|
key: 0,
|
|
6144
6195
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6145
|
-
},
|
|
6196
|
+
}, Mc = {
|
|
6146
6197
|
key: 0,
|
|
6147
6198
|
class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
|
|
6148
|
-
},
|
|
6199
|
+
}, Nc = ["onClick"], Pc = {
|
|
6149
6200
|
key: 2,
|
|
6150
6201
|
class: "tpl:mt-2"
|
|
6151
|
-
},
|
|
6202
|
+
}, Fc = ["onKeydown"], Ic = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, Lc = ["disabled", "onClick"], Rc = {
|
|
6152
6203
|
key: 3,
|
|
6153
6204
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6154
|
-
},
|
|
6205
|
+
}, zc = {
|
|
6155
6206
|
key: 4,
|
|
6156
6207
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6157
|
-
},
|
|
6208
|
+
}, Bc = { class: "tpl:flex-1" }, Vc = ["onClick"], Hc = {
|
|
6158
6209
|
key: 5,
|
|
6159
6210
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6160
|
-
},
|
|
6211
|
+
}, Uc = ["title", "onClick"], Wc = ["onClick"], Gc = {
|
|
6161
6212
|
key: 0,
|
|
6162
6213
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6163
|
-
},
|
|
6214
|
+
}, Kc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, qc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Jc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Yc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Xc = {
|
|
6164
6215
|
key: 0,
|
|
6165
6216
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6166
|
-
},
|
|
6217
|
+
}, Zc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Qc = ["title", "onClick"], $c = ["title", "onClick"], el = {
|
|
6167
6218
|
key: 0,
|
|
6168
6219
|
class: "tpl:mt-1.5"
|
|
6169
|
-
},
|
|
6220
|
+
}, tl = ["onKeydown"], nl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, rl = ["disabled", "onClick"], il = {
|
|
6170
6221
|
key: 1,
|
|
6171
6222
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6172
|
-
},
|
|
6223
|
+
}, al = {
|
|
6173
6224
|
key: 2,
|
|
6174
6225
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2 tpl:rounded-md tpl:px-2.5 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6175
|
-
},
|
|
6226
|
+
}, ol = { class: "tpl:flex-1" }, sl = ["onClick"], cl = {
|
|
6176
6227
|
key: 0,
|
|
6177
6228
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6178
|
-
},
|
|
6229
|
+
}, ll = { class: "tpl:flex tpl:items-end tpl:gap-2" }, ul = ["placeholder", "onKeydown"], dl = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, fl = ["disabled", "onClick"], pl = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, ml = {
|
|
6179
6230
|
key: 0,
|
|
6180
6231
|
class: "tpl:flex tpl:min-h-[68px] tpl:items-center tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-warning-light)] tpl:text-[var(--tpl-warning)]"
|
|
6181
|
-
},
|
|
6232
|
+
}, hl = {
|
|
6182
6233
|
key: 1,
|
|
6183
6234
|
class: "tpl-comments-input-wrapper tpl:flex tpl:min-h-[68px] tpl:items-end tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:border tpl:px-3 tpl:py-2 tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]"
|
|
6184
|
-
},
|
|
6235
|
+
}, gl = ["placeholder", "disabled"], _l = ["disabled"], vl = /*@__PURE__*/ B({
|
|
6185
6236
|
__name: "CommentsSidebar",
|
|
6186
6237
|
props: { visible: { type: Boolean } },
|
|
6187
6238
|
emits: ["close", "filterBlock"],
|
|
@@ -6254,7 +6305,7 @@ var cc = {
|
|
|
6254
6305
|
return e.author_identifier === T.value;
|
|
6255
6306
|
}
|
|
6256
6307
|
function ve(e) {
|
|
6257
|
-
return
|
|
6308
|
+
return uc(e, o.snapshotHistory) ?? e;
|
|
6258
6309
|
}
|
|
6259
6310
|
function ye(e) {
|
|
6260
6311
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6281,14 +6332,14 @@ var cc = {
|
|
|
6281
6332
|
"leave-from-class": "tpl:translate-x-0",
|
|
6282
6333
|
"leave-to-class": "tpl:translate-x-full"
|
|
6283
6334
|
}, {
|
|
6284
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6285
|
-
I("div",
|
|
6335
|
+
default: b(() => [e.visible ? (f(), k("div", dc, [
|
|
6336
|
+
I("div", fc, [I("div", pc, [
|
|
6286
6337
|
V(j(gi), {
|
|
6287
6338
|
size: 13,
|
|
6288
6339
|
"stroke-width": 2
|
|
6289
6340
|
}),
|
|
6290
6341
|
I("span", null, D(j(o).comments.title), 1),
|
|
6291
|
-
j(u).unresolvedCount.value > 0 ? (f(), k("span",
|
|
6342
|
+
j(u).unresolvedCount.value > 0 ? (f(), k("span", mc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
|
|
6292
6343
|
]), I("button", {
|
|
6293
6344
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6294
6345
|
onClick: n[0] ||= (e) => i("close")
|
|
@@ -6296,7 +6347,7 @@ var cc = {
|
|
|
6296
6347
|
size: 14,
|
|
6297
6348
|
"stroke-width": 2
|
|
6298
6349
|
})])]),
|
|
6299
|
-
I("div",
|
|
6350
|
+
I("div", hc, [
|
|
6300
6351
|
I("button", {
|
|
6301
6352
|
class: F(["tpl-comment-filter tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150", d.value === "unresolved" ? "tpl-comment-filter--active" : ""]),
|
|
6302
6353
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6311,24 +6362,24 @@ var cc = {
|
|
|
6311
6362
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6312
6363
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6313
6364
|
]),
|
|
6314
|
-
I("div",
|
|
6365
|
+
I("div", gc, [j(u).isLoading.value ? (f(), k("div", _c, [V(j(Jr), {
|
|
6315
6366
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6316
6367
|
size: 24,
|
|
6317
6368
|
"stroke-width": 2
|
|
6318
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6369
|
+
})])) : re.value.length === 0 ? (f(), k("div", vc, [V(j(gi), {
|
|
6319
6370
|
size: 32,
|
|
6320
6371
|
"stroke-width": 1.5,
|
|
6321
6372
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6322
|
-
}), I("p",
|
|
6373
|
+
}), I("p", yc, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", bc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
|
|
6323
6374
|
key: e.id,
|
|
6324
6375
|
class: "tpl-comment-thread"
|
|
6325
6376
|
}, [
|
|
6326
|
-
I("div",
|
|
6327
|
-
I("div",
|
|
6328
|
-
I("span",
|
|
6329
|
-
I("span",
|
|
6330
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6331
|
-
]), I("div",
|
|
6377
|
+
I("div", xc, [
|
|
6378
|
+
I("div", Sc, [I("div", Cc, [
|
|
6379
|
+
I("span", wc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
|
|
6380
|
+
I("span", Tc, D(ve(e.created_at)), 1),
|
|
6381
|
+
e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Ec, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6382
|
+
]), I("div", Dc, [
|
|
6332
6383
|
I("button", {
|
|
6333
6384
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6334
6385
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
@@ -6338,7 +6389,7 @@ var cc = {
|
|
|
6338
6389
|
"stroke-width": 2,
|
|
6339
6390
|
class: "tpl-resolve-icon",
|
|
6340
6391
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6341
|
-
}, null, 8, ["style"])], 8,
|
|
6392
|
+
}, null, 8, ["style"])], 8, Oc),
|
|
6342
6393
|
_e(e) ? (f(), k("button", {
|
|
6343
6394
|
key: 0,
|
|
6344
6395
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
@@ -6347,7 +6398,7 @@ var cc = {
|
|
|
6347
6398
|
}, [V(j(vi), {
|
|
6348
6399
|
size: 12,
|
|
6349
6400
|
"stroke-width": 2
|
|
6350
|
-
})], 8,
|
|
6401
|
+
})], 8, kc)) : A("", !0),
|
|
6351
6402
|
_e(e) ? (f(), k("button", {
|
|
6352
6403
|
key: 1,
|
|
6353
6404
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
@@ -6356,45 +6407,45 @@ var cc = {
|
|
|
6356
6407
|
}, [V(j(Di), {
|
|
6357
6408
|
size: 12,
|
|
6358
6409
|
"stroke-width": 2
|
|
6359
|
-
})], 8,
|
|
6410
|
+
})], 8, Ac)) : A("", !0)
|
|
6360
6411
|
])]),
|
|
6361
6412
|
V(ie, { name: "tpl-resolve" }, {
|
|
6362
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6413
|
+
default: b(() => [e.resolved_at ? (f(), k("div", jc, [V(j(ei), {
|
|
6363
6414
|
size: 10,
|
|
6364
6415
|
"stroke-width": 2.5
|
|
6365
6416
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6366
6417
|
_: 2
|
|
6367
6418
|
}, 1024),
|
|
6368
|
-
e.block_id && te(e.block_id) ? (f(), k("span",
|
|
6419
|
+
e.block_id && te(e.block_id) ? (f(), k("span", Mc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
|
|
6369
6420
|
key: 1,
|
|
6370
6421
|
class: "tpl:mt-1 tpl:inline-flex tpl:items-center tpl:gap-1 tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
|
|
6371
6422
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6372
|
-
}, " Block ", 8,
|
|
6373
|
-
y.value === e.id ? (f(), k("div",
|
|
6423
|
+
}, " Block ", 8, Nc)) : A("", !0),
|
|
6424
|
+
y.value === e.id ? (f(), k("div", Pc, [c(I("textarea", {
|
|
6374
6425
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6375
6426
|
class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6376
6427
|
rows: "3",
|
|
6377
6428
|
onKeydown: (t) => xe(t, e.id)
|
|
6378
|
-
}, null, 40,
|
|
6429
|
+
}, null, 40, Fc), [[ae, x.value]]), I("div", Ic, [I("button", {
|
|
6379
6430
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6380
6431
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6381
6432
|
onClick: (t) => me(e.id)
|
|
6382
|
-
}, D(j(o).comments.save), 9,
|
|
6433
|
+
}, D(j(o).comments.save), 9, Lc), I("button", {
|
|
6383
6434
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6384
6435
|
onClick: n[5] ||= (e) => B()
|
|
6385
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6386
|
-
w.value === e.id ? (f(), k("div",
|
|
6387
|
-
I("span",
|
|
6436
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", Rc, D(e.body), 1)),
|
|
6437
|
+
w.value === e.id ? (f(), k("div", zc, [
|
|
6438
|
+
I("span", Bc, D(j(o).comments.deleteConfirm), 1),
|
|
6388
6439
|
I("button", {
|
|
6389
6440
|
class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
|
|
6390
6441
|
onClick: (t) => he(e.id)
|
|
6391
|
-
}, D(j(o).comments.delete), 9,
|
|
6442
|
+
}, D(j(o).comments.delete), 9, Vc),
|
|
6392
6443
|
I("button", {
|
|
6393
6444
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6394
6445
|
onClick: n[6] ||= (e) => de()
|
|
6395
6446
|
}, D(j(o).comments.cancel), 1)
|
|
6396
6447
|
])) : A("", !0),
|
|
6397
|
-
y.value !== e.id && w.value !== e.id ? (f(), k("div",
|
|
6448
|
+
y.value !== e.id && w.value !== e.id ? (f(), k("div", Hc, [I("button", {
|
|
6398
6449
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6399
6450
|
title: j(o).comments.reply,
|
|
6400
6451
|
onClick: (t) => se(e.id)
|
|
@@ -6402,7 +6453,7 @@ var cc = {
|
|
|
6402
6453
|
size: 13,
|
|
6403
6454
|
"stroke-width": 2,
|
|
6404
6455
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6405
|
-
})], 8,
|
|
6456
|
+
})], 8, Uc), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6406
6457
|
key: 0,
|
|
6407
6458
|
class: "tpl:flex tpl:items-center tpl:gap-0.5 tpl:text-[11px] tpl:font-medium tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6408
6459
|
onClick: (t) => oe(e.id)
|
|
@@ -6414,18 +6465,18 @@ var cc = {
|
|
|
6414
6465
|
key: 1,
|
|
6415
6466
|
size: 11,
|
|
6416
6467
|
"stroke-width": 2
|
|
6417
|
-
})), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8,
|
|
6468
|
+
})), z(" " + D((e.replies?.length ?? 0) === 1 ? j(a)(j(o).comments.replyOne, { count: String(e.replies?.length ?? 0) }) : j(a)(j(o).comments.replyMany, { count: String(e.replies?.length ?? 0) })), 1)], 8, Wc)) : A("", !0)])) : A("", !0)
|
|
6418
6469
|
]),
|
|
6419
6470
|
V(ie, { name: "tpl-replies" }, {
|
|
6420
|
-
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div",
|
|
6471
|
+
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", Gc, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
|
|
6421
6472
|
key: t.id,
|
|
6422
6473
|
class: F(["tpl-comment-reply-card tpl:relative tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-2.5", r < (e.replies?.length ?? 0) - 1 ? "tpl:mb-2" : ""])
|
|
6423
6474
|
}, [
|
|
6424
|
-
I("div",
|
|
6425
|
-
I("span",
|
|
6426
|
-
I("span",
|
|
6427
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6428
|
-
]), I("div",
|
|
6475
|
+
I("div", Kc, [I("div", qc, [
|
|
6476
|
+
I("span", Jc, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
|
|
6477
|
+
I("span", Yc, D(ve(t.created_at)), 1),
|
|
6478
|
+
t.updated_at === t.created_at ? A("", !0) : (f(), k("span", Xc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6479
|
+
]), I("div", Zc, [_e(t) ? (f(), k("button", {
|
|
6429
6480
|
key: 0,
|
|
6430
6481
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6431
6482
|
title: j(o).comments.edit,
|
|
@@ -6433,7 +6484,7 @@ var cc = {
|
|
|
6433
6484
|
}, [V(j(vi), {
|
|
6434
6485
|
size: 11,
|
|
6435
6486
|
"stroke-width": 2
|
|
6436
|
-
})], 8,
|
|
6487
|
+
})], 8, Qc)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6437
6488
|
key: 1,
|
|
6438
6489
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6439
6490
|
title: j(o).comments.delete,
|
|
@@ -6441,26 +6492,26 @@ var cc = {
|
|
|
6441
6492
|
}, [V(j(Di), {
|
|
6442
6493
|
size: 11,
|
|
6443
6494
|
"stroke-width": 2
|
|
6444
|
-
})], 8,
|
|
6445
|
-
y.value === t.id ? (f(), k("div",
|
|
6495
|
+
})], 8, $c)) : A("", !0)])]),
|
|
6496
|
+
y.value === t.id ? (f(), k("div", el, [c(I("textarea", {
|
|
6446
6497
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6447
6498
|
class: "tpl:w-full tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6448
6499
|
rows: "2",
|
|
6449
6500
|
onKeydown: (e) => xe(e, t.id)
|
|
6450
|
-
}, null, 40,
|
|
6501
|
+
}, null, 40, tl), [[ae, x.value]]), I("div", nl, [I("button", {
|
|
6451
6502
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6452
6503
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6453
6504
|
onClick: (e) => me(t.id)
|
|
6454
|
-
}, D(j(o).comments.save), 9,
|
|
6505
|
+
}, D(j(o).comments.save), 9, rl), I("button", {
|
|
6455
6506
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6456
6507
|
onClick: n[8] ||= (e) => B()
|
|
6457
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6458
|
-
w.value === t.id ? (f(), k("div",
|
|
6459
|
-
I("span",
|
|
6508
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", il, D(t.body), 1)),
|
|
6509
|
+
w.value === t.id ? (f(), k("div", al, [
|
|
6510
|
+
I("span", ol, D(j(o).comments.deleteConfirm), 1),
|
|
6460
6511
|
I("button", {
|
|
6461
6512
|
class: "tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-medium tpl:bg-[var(--tpl-danger)] tpl:text-[var(--tpl-bg)]",
|
|
6462
6513
|
onClick: (e) => he(t.id)
|
|
6463
|
-
}, D(j(o).comments.delete), 9,
|
|
6514
|
+
}, D(j(o).comments.delete), 9, sl),
|
|
6464
6515
|
I("button", {
|
|
6465
6516
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6466
6517
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6470,20 +6521,20 @@ var cc = {
|
|
|
6470
6521
|
_: 2
|
|
6471
6522
|
}, 1024),
|
|
6472
6523
|
V(ie, { name: "tpl-replies" }, {
|
|
6473
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6524
|
+
default: b(() => [_.value === e.id ? (f(), k("div", cl, [I("div", ll, [c(I("textarea", {
|
|
6474
6525
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6475
6526
|
class: "tpl:flex-1 tpl:resize-none tpl:rounded-md tpl:border tpl:px-2.5 tpl:py-2 tpl:font-sans tpl:text-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
6476
6527
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6477
6528
|
rows: "2",
|
|
6478
6529
|
onKeydown: (t) => be(t, e.id)
|
|
6479
|
-
}, null, 40,
|
|
6530
|
+
}, null, 40, ul), [[ae, v.value]]), I("div", dl, [I("button", {
|
|
6480
6531
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6481
6532
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6482
6533
|
onClick: (t) => pe(e.id)
|
|
6483
6534
|
}, [V(j(Ci), {
|
|
6484
6535
|
size: 14,
|
|
6485
6536
|
"stroke-width": 2
|
|
6486
|
-
})], 8,
|
|
6537
|
+
})], 8, fl), I("button", {
|
|
6487
6538
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6488
6539
|
onClick: n[11] ||= (e) => ce()
|
|
6489
6540
|
}, [V(j(ji), {
|
|
@@ -6493,7 +6544,7 @@ var cc = {
|
|
|
6493
6544
|
_: 2
|
|
6494
6545
|
}, 1024)
|
|
6495
6546
|
]))), 128))]))]),
|
|
6496
|
-
I("div",
|
|
6547
|
+
I("div", pl, [ne.value ? (f(), k("div", ml, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", hl, [c(I("textarea", {
|
|
6497
6548
|
ref_key: "newCommentInput",
|
|
6498
6549
|
ref: ee,
|
|
6499
6550
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
@@ -6502,7 +6553,7 @@ var cc = {
|
|
|
6502
6553
|
disabled: j(u).isSubmitting.value,
|
|
6503
6554
|
rows: "2",
|
|
6504
6555
|
onKeydown: ye
|
|
6505
|
-
}, null, 40,
|
|
6556
|
+
}, null, 40, gl), [[ae, g.value]]), I("button", {
|
|
6506
6557
|
class: "tpl-comments-send-btn tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:rounded-md tpl:p-1.5 tpl:transition-all tpl:duration-150 tpl:disabled:opacity-40 tpl:text-[var(--tpl-primary)]",
|
|
6507
6558
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6508
6559
|
onClick: fe
|
|
@@ -6515,33 +6566,33 @@ var cc = {
|
|
|
6515
6566
|
key: 1,
|
|
6516
6567
|
size: 16,
|
|
6517
6568
|
"stroke-width": 2
|
|
6518
|
-
}))], 8,
|
|
6569
|
+
}))], 8, _l)]))])
|
|
6519
6570
|
])) : A("", !0)]),
|
|
6520
6571
|
_: 1
|
|
6521
6572
|
}));
|
|
6522
6573
|
}
|
|
6523
|
-
}),
|
|
6574
|
+
}), yl = /* @__PURE__ */ e({ default: () => bl }), bl = /*#__PURE__*/ Ii(vl, [["__scopeId", "data-v-d204f573"]]), xl = {
|
|
6524
6575
|
key: 0,
|
|
6525
6576
|
class: "tpl-design-sidebar tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6526
|
-
},
|
|
6577
|
+
}, Sl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Cl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, wl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Tl = {
|
|
6527
6578
|
key: 0,
|
|
6528
6579
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6529
|
-
},
|
|
6580
|
+
}, El = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Dl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Ol = {
|
|
6530
6581
|
key: 1,
|
|
6531
6582
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6532
|
-
},
|
|
6583
|
+
}, kl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, Al = {
|
|
6533
6584
|
key: 0,
|
|
6534
6585
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6535
|
-
},
|
|
6586
|
+
}, jl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Ml = ["src", "alt"], Nl = {
|
|
6536
6587
|
key: 1,
|
|
6537
6588
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6538
|
-
},
|
|
6589
|
+
}, Pl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Fl = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Il = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Ll = ["accept"], Rl = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, zl = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Bl = ["placeholder"], Vl = {
|
|
6539
6590
|
key: 0,
|
|
6540
6591
|
class: "tpl:flex tpl:flex-col tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:px-3 tpl:py-3 tpl:bg-[var(--tpl-warning-light)] tpl:border tpl:border-[var(--tpl-warning)]"
|
|
6541
|
-
},
|
|
6592
|
+
}, Hl = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Ul = { class: "tpl:flex tpl:gap-2" }, Wl = {
|
|
6542
6593
|
key: 1,
|
|
6543
6594
|
class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6544
|
-
},
|
|
6595
|
+
}, Gl = ["disabled"], Kl = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, ql = /*@__PURE__*/ B({
|
|
6545
6596
|
__name: "DesignReferenceSidebar",
|
|
6546
6597
|
props: {
|
|
6547
6598
|
visible: { type: Boolean },
|
|
@@ -6549,7 +6600,7 @@ var cc = {
|
|
|
6549
6600
|
},
|
|
6550
6601
|
emits: ["close", "apply"],
|
|
6551
6602
|
setup(e, { emit: t }) {
|
|
6552
|
-
let n = e, r = t, { t: i } = Ki(), a = J(Ln, "DesignReferenceSidebar"), o =
|
|
6603
|
+
let n = e, r = t, { t: i } = Ki(), a = J(Ln, "DesignReferenceSidebar"), o = ms({
|
|
6553
6604
|
authManager: J(cr, "DesignReferenceSidebar"),
|
|
6554
6605
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6555
6606
|
onApply: (e) => r("apply", e)
|
|
@@ -6621,7 +6672,7 @@ var cc = {
|
|
|
6621
6672
|
"leave-from-class": "tpl:translate-x-0",
|
|
6622
6673
|
"leave-to-class": "tpl:translate-x-full"
|
|
6623
6674
|
}, {
|
|
6624
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6675
|
+
default: b(() => [e.visible ? (f(), k("div", xl, [I("div", Sl, [I("div", Cl, [V(j(pi), {
|
|
6625
6676
|
size: 13,
|
|
6626
6677
|
"stroke-width": 2
|
|
6627
6678
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
@@ -6630,8 +6681,8 @@ var cc = {
|
|
|
6630
6681
|
}, [V(j(ji), {
|
|
6631
6682
|
size: 14,
|
|
6632
6683
|
"stroke-width": 2
|
|
6633
|
-
})])]), I("div",
|
|
6634
|
-
I("div",
|
|
6684
|
+
})])]), I("div", wl, [j(o).isGenerating.value ? (f(), k("div", Tl, [I("div", El, [V(Bi), I("p", Dl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Ol, [
|
|
6685
|
+
I("div", kl, [I("button", {
|
|
6635
6686
|
class: "tpl:flex tpl:flex-1 tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-2 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150",
|
|
6636
6687
|
style: L({
|
|
6637
6688
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6654,16 +6705,16 @@ var cc = {
|
|
|
6654
6705
|
size: 12,
|
|
6655
6706
|
"stroke-width": 2
|
|
6656
6707
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6657
|
-
I("div", null, [u.value ? (f(), k("div",
|
|
6708
|
+
I("div", null, [u.value ? (f(), k("div", Al, [I("div", jl, [p.value ? (f(), k("img", {
|
|
6658
6709
|
key: 0,
|
|
6659
6710
|
src: p.value,
|
|
6660
6711
|
alt: u.value.name,
|
|
6661
6712
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6662
|
-
}, null, 8,
|
|
6713
|
+
}, null, 8, Ml)) : (f(), k("div", Nl, [V(j(di), {
|
|
6663
6714
|
size: 32,
|
|
6664
6715
|
"stroke-width": 1.5,
|
|
6665
6716
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6666
|
-
}), I("span",
|
|
6717
|
+
}), I("span", Pl, D(u.value.name), 1)])), I("button", {
|
|
6667
6718
|
class: "tpl:absolute tpl:top-2 tpl:right-2 tpl:rounded-full tpl:p-1 tpl:transition-colors tpl:duration-150 tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)] tpl:shadow-[var(--tpl-shadow)]",
|
|
6668
6719
|
onClick: x
|
|
6669
6720
|
}, [V(j(ji), {
|
|
@@ -6686,8 +6737,8 @@ var cc = {
|
|
|
6686
6737
|
"stroke-width": 1.5,
|
|
6687
6738
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6688
6739
|
}),
|
|
6689
|
-
I("span",
|
|
6690
|
-
I("span",
|
|
6740
|
+
I("span", Fl, D(j(i).designReference.dropHint), 1),
|
|
6741
|
+
I("span", Il, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
|
|
6691
6742
|
], 36)), I("input", {
|
|
6692
6743
|
ref_key: "fileInput",
|
|
6693
6744
|
ref: s,
|
|
@@ -6695,14 +6746,14 @@ var cc = {
|
|
|
6695
6746
|
class: "tpl:hidden",
|
|
6696
6747
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6697
6748
|
onChange: v
|
|
6698
|
-
}, null, 40,
|
|
6699
|
-
I("div",
|
|
6749
|
+
}, null, 40, Ll)]),
|
|
6750
|
+
I("div", Rl, [I("label", zl, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6700
6751
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6701
6752
|
class: F(["tpl:min-h-[72px] tpl:w-full tpl:resize-none tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:px-3 tpl:py-2 tpl:font-sans tpl:text-sm tpl:outline-none tpl:transition-colors tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", ["tpl-design-prompt-input"]]),
|
|
6702
6753
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6703
6754
|
rows: "3"
|
|
6704
|
-
}, null, 8,
|
|
6705
|
-
m.value ? (f(), k("div",
|
|
6755
|
+
}, null, 8, Bl), [[ae, d.value]])]),
|
|
6756
|
+
m.value ? (f(), k("div", Vl, [I("p", Hl, D(j(i).designReference.replaceWarning), 1), I("div", Ul, [I("button", {
|
|
6706
6757
|
class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:text-[var(--tpl-text-muted)] tpl:border tpl:border-[var(--tpl-border)]",
|
|
6707
6758
|
style: { "background-color": "transparent" },
|
|
6708
6759
|
onClick: E
|
|
@@ -6710,7 +6761,7 @@ var cc = {
|
|
|
6710
6761
|
class: "tpl:flex-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
6711
6762
|
onClick: T
|
|
6712
6763
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6713
|
-
j(o).error.value ? (f(), k("div",
|
|
6764
|
+
j(o).error.value ? (f(), k("div", Wl, [V(j(Gr), {
|
|
6714
6765
|
size: 14,
|
|
6715
6766
|
"stroke-width": 2,
|
|
6716
6767
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6723,32 +6774,32 @@ var cc = {
|
|
|
6723
6774
|
}, [V(j(pi), {
|
|
6724
6775
|
size: 16,
|
|
6725
6776
|
"stroke-width": 2
|
|
6726
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6727
|
-
I("p",
|
|
6777
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, Gl)),
|
|
6778
|
+
I("p", Kl, D(j(i).aiMenu.disclaimer), 1)
|
|
6728
6779
|
]))])])) : A("", !0)]),
|
|
6729
6780
|
_: 1
|
|
6730
6781
|
}));
|
|
6731
6782
|
}
|
|
6732
|
-
}),
|
|
6783
|
+
}), Jl = /* @__PURE__ */ e({ default: () => Yl }), Yl = /*#__PURE__*/ Ii(ql, [["__scopeId", "data-v-bdbf8d0d"]]), Xl = ["disabled", "title"], Zl = ["title"], Ql = {
|
|
6733
6784
|
key: 0,
|
|
6734
6785
|
class: "tpl-scale-in tpl:absolute tpl:top-full tpl:left-1/2 tpl:z-50 tpl:mt-2 tpl:w-72 tpl:-translate-x-1/2 tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:bg-[var(--tpl-bg-elevated)] tpl:border tpl:border-[var(--tpl-border)] tpl:shadow-[var(--tpl-shadow-lg)]",
|
|
6735
6786
|
style: {
|
|
6736
6787
|
"backdrop-filter": "blur(8px)",
|
|
6737
6788
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
6738
6789
|
}
|
|
6739
|
-
},
|
|
6790
|
+
}, $l = { class: "tpl:border-b tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)] tpl:border-[var(--tpl-border)]" }, eu = {
|
|
6740
6791
|
key: 0,
|
|
6741
6792
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
6742
|
-
},
|
|
6793
|
+
}, tu = {
|
|
6743
6794
|
key: 1,
|
|
6744
6795
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
6745
|
-
},
|
|
6796
|
+
}, nu = {
|
|
6746
6797
|
key: 2,
|
|
6747
6798
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
6748
|
-
},
|
|
6799
|
+
}, ru = ["disabled", "onClick"], iu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, au = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, ou = {
|
|
6749
6800
|
key: 0,
|
|
6750
6801
|
class: "tpl:rounded tpl:px-1 tpl:py-0.5 tpl:text-[10px] tpl:font-normal tpl:bg-[var(--tpl-bg-active)] tpl:text-[var(--tpl-text-muted)]"
|
|
6751
|
-
},
|
|
6802
|
+
}, su = ["disabled", "title"], cu = /*@__PURE__*/ B({
|
|
6752
6803
|
__name: "SnapshotHistory",
|
|
6753
6804
|
props: {
|
|
6754
6805
|
snapshots: {},
|
|
@@ -6776,7 +6827,7 @@ var cc = {
|
|
|
6776
6827
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
6777
6828
|
}
|
|
6778
6829
|
function _(e) {
|
|
6779
|
-
let t =
|
|
6830
|
+
let t = uc(e, a.snapshotHistory, i, 7);
|
|
6780
6831
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
6781
6832
|
month: "short",
|
|
6782
6833
|
day: "numeric",
|
|
@@ -6799,7 +6850,7 @@ var cc = {
|
|
|
6799
6850
|
}, [V(j(ni), {
|
|
6800
6851
|
size: 14,
|
|
6801
6852
|
"stroke-width": 2
|
|
6802
|
-
})], 8,
|
|
6853
|
+
})], 8, Xl),
|
|
6803
6854
|
I("button", {
|
|
6804
6855
|
class: "tpl:flex tpl:h-7 tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-0.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-1.5 tpl:transition-colors tpl:duration-150 hover:tpl:bg-[var(--tpl-bg-hover)] tpl:text-[var(--tpl-text-muted)]",
|
|
6805
6856
|
title: j(a).snapshotHistory.tooltip,
|
|
@@ -6811,19 +6862,19 @@ var cc = {
|
|
|
6811
6862
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
6812
6863
|
size: 10,
|
|
6813
6864
|
"stroke-width": 2
|
|
6814
|
-
}, null, 8, ["class"])], 8,
|
|
6865
|
+
}, null, 8, ["class"])], 8, Zl),
|
|
6815
6866
|
V(ie, { name: "tpl-dropdown" }, {
|
|
6816
|
-
default: b(() => [o.value ? (f(), k("div",
|
|
6867
|
+
default: b(() => [o.value ? (f(), k("div", Ql, [I("div", $l, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", eu, [V(j(Jr), {
|
|
6817
6868
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
6818
6869
|
size: 20,
|
|
6819
6870
|
"stroke-width": 2
|
|
6820
|
-
})])) : e.snapshots.length === 0 ? (f(), k("div",
|
|
6871
|
+
})])) : e.snapshots.length === 0 ? (f(), k("div", tu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", nu, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
|
|
6821
6872
|
key: t.id,
|
|
6822
6873
|
class: "tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:border-b tpl:border-b-[var(--tpl-border-light)] tpl:border-l-2 tpl:border-l-transparent tpl:px-3 tpl:py-2.5 tpl:text-left tpl:transition-all tpl:duration-150 last:tpl:border-b-0 hover:tpl:border-l-[var(--tpl-primary)] hover:tpl:bg-[var(--tpl-bg-hover)]",
|
|
6823
6874
|
style: { "background-color": "transparent" },
|
|
6824
6875
|
disabled: e.isRestoring,
|
|
6825
6876
|
onClick: (e) => g(t.id)
|
|
6826
|
-
}, [I("div",
|
|
6877
|
+
}, [I("div", iu, [I("div", au, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", ou, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, ru))), 128))]))])) : A("", !0)]),
|
|
6827
6878
|
_: 1
|
|
6828
6879
|
}),
|
|
6829
6880
|
I("button", {
|
|
@@ -6834,66 +6885,66 @@ var cc = {
|
|
|
6834
6885
|
}, [V(j(ri), {
|
|
6835
6886
|
size: 14,
|
|
6836
6887
|
"stroke-width": 2
|
|
6837
|
-
})], 8,
|
|
6888
|
+
})], 8, su)
|
|
6838
6889
|
], 512));
|
|
6839
6890
|
}
|
|
6840
|
-
}),
|
|
6891
|
+
}), lu = /* @__PURE__ */ e({ default: () => uu }), uu = cu;
|
|
6841
6892
|
//#endregion
|
|
6842
6893
|
//#region src/cloud/utils/scoringStyles.ts
|
|
6843
|
-
function
|
|
6894
|
+
function du(e) {
|
|
6844
6895
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
6845
6896
|
}
|
|
6846
|
-
function
|
|
6897
|
+
function fu(e) {
|
|
6847
6898
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
6848
6899
|
}
|
|
6849
|
-
function
|
|
6900
|
+
function pu(e) {
|
|
6850
6901
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
6851
6902
|
}
|
|
6852
|
-
function
|
|
6903
|
+
function mu(e) {
|
|
6853
6904
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
6854
6905
|
}
|
|
6855
6906
|
//#endregion
|
|
6856
6907
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
6857
|
-
var
|
|
6908
|
+
var hu = {
|
|
6858
6909
|
key: 0,
|
|
6859
6910
|
class: "tpl-scoring-panel tpl:absolute tpl:top-14 tpl:right-0 tpl:bottom-0 tpl:z-panel tpl:flex tpl:w-[360px] tpl:flex-col tpl:border-l tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)]"
|
|
6860
|
-
},
|
|
6911
|
+
}, gu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, _u = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, vu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, yu = ["title"], bu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, xu = {
|
|
6861
6912
|
key: 0,
|
|
6862
6913
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6863
|
-
},
|
|
6914
|
+
}, Su = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Cu = {
|
|
6864
6915
|
key: 1,
|
|
6865
6916
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6866
|
-
},
|
|
6917
|
+
}, wu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Tu = {
|
|
6867
6918
|
key: 2,
|
|
6868
6919
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6869
|
-
},
|
|
6920
|
+
}, Eu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Du = {
|
|
6870
6921
|
key: 0,
|
|
6871
6922
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6872
|
-
},
|
|
6923
|
+
}, Ou = {
|
|
6873
6924
|
key: 0,
|
|
6874
6925
|
class: "tpl:flex tpl:items-start tpl:gap-2 tpl:rounded-lg tpl:px-3 tpl:py-2 tpl:text-xs tpl:bg-[var(--tpl-danger-light)] tpl:text-[var(--tpl-danger)]"
|
|
6875
|
-
},
|
|
6926
|
+
}, ku = ["onClick"], Au = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, ju = {
|
|
6876
6927
|
key: 0,
|
|
6877
6928
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
6878
|
-
},
|
|
6929
|
+
}, Mu = {
|
|
6879
6930
|
key: 0,
|
|
6880
6931
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
6881
|
-
},
|
|
6932
|
+
}, Nu = {
|
|
6882
6933
|
key: 0,
|
|
6883
6934
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
6884
|
-
},
|
|
6935
|
+
}, Pu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Fu = { class: "tpl:flex-1 tpl:min-w-0" }, Iu = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, Lu = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, Ru = {
|
|
6885
6936
|
key: 0,
|
|
6886
6937
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
6887
|
-
},
|
|
6938
|
+
}, zu = {
|
|
6888
6939
|
key: 1,
|
|
6889
6940
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
6890
|
-
},
|
|
6941
|
+
}, Bu = ["disabled", "onClick"], Vu = {
|
|
6891
6942
|
key: 0,
|
|
6892
6943
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
6893
|
-
},
|
|
6944
|
+
}, Hu = {
|
|
6894
6945
|
key: 3,
|
|
6895
6946
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6896
|
-
},
|
|
6947
|
+
}, Uu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Wu = { class: "tpl:m-0 tpl:px-4 tpl:pb-2 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, Gu = /*@__PURE__*/ B({
|
|
6897
6948
|
__name: "TemplateScoringPanel",
|
|
6898
6949
|
props: { visible: { type: Boolean } },
|
|
6899
6950
|
emits: ["close"],
|
|
@@ -6944,10 +6995,10 @@ var fu = {
|
|
|
6944
6995
|
"leave-from-class": "tpl:translate-x-0",
|
|
6945
6996
|
"leave-to-class": "tpl:translate-x-full"
|
|
6946
6997
|
}, {
|
|
6947
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6998
|
+
default: b(() => [e.visible ? (f(), k("div", hu, [I("div", gu, [I("div", _u, [V(j(Ti), {
|
|
6948
6999
|
size: 13,
|
|
6949
7000
|
"stroke-width": 2
|
|
6950
|
-
}), I("span", null, D(j(i).scoring.title), 1)]), I("div",
|
|
7001
|
+
}), I("span", null, D(j(i).scoring.title), 1)]), I("div", vu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
|
|
6951
7002
|
key: 0,
|
|
6952
7003
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6953
7004
|
title: j(i).scoring.rescore,
|
|
@@ -6955,19 +7006,19 @@ var fu = {
|
|
|
6955
7006
|
}, [V(j(xi), {
|
|
6956
7007
|
size: 14,
|
|
6957
7008
|
"stroke-width": 2
|
|
6958
|
-
})], 8,
|
|
7009
|
+
})], 8, yu)) : A("", !0), I("button", {
|
|
6959
7010
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6960
7011
|
onClick: n[1] ||= (e) => r("close")
|
|
6961
7012
|
}, [V(j(ji), {
|
|
6962
7013
|
size: 14,
|
|
6963
7014
|
"stroke-width": 2
|
|
6964
|
-
})])])]), I("div",
|
|
7015
|
+
})])])]), I("div", bu, [j(o).isScoring.value ? (f(), k("div", xu, [I("p", Su, D(j(i).scoring.scoring), 1), V(Bi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Cu, [
|
|
6965
7016
|
V(j(Gr), {
|
|
6966
7017
|
size: 32,
|
|
6967
7018
|
"stroke-width": 1.5,
|
|
6968
7019
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
6969
7020
|
}),
|
|
6970
|
-
I("p",
|
|
7021
|
+
I("p", wu, D(j(i).scoring.error), 1),
|
|
6971
7022
|
I("button", {
|
|
6972
7023
|
class: "tpl:mt-2 tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text-muted)]",
|
|
6973
7024
|
onClick: n[2] ||= (e) => m()
|
|
@@ -6975,19 +7026,19 @@ var fu = {
|
|
|
6975
7026
|
size: 12,
|
|
6976
7027
|
"stroke-width": 2
|
|
6977
7028
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
6978
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7029
|
+
])) : j(o).scoringResult.value ? (f(), k("div", Tu, [
|
|
6979
7030
|
I("div", {
|
|
6980
7031
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
6981
|
-
style: L({ backgroundColor: j(
|
|
7032
|
+
style: L({ backgroundColor: j(fu)(j(o).scoringResult.value.score) })
|
|
6982
7033
|
}, [
|
|
6983
7034
|
I("span", {
|
|
6984
7035
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
6985
|
-
style: L({ color: j(
|
|
7036
|
+
style: L({ color: j(du)(j(o).scoringResult.value.score) })
|
|
6986
7037
|
}, D(j(o).scoringResult.value.score), 5),
|
|
6987
|
-
I("span",
|
|
6988
|
-
_() > 0 ? (f(), k("span",
|
|
7038
|
+
I("span", Eu, D(j(i).scoring.overallScore), 1),
|
|
7039
|
+
_() > 0 ? (f(), k("span", Du, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
|
|
6989
7040
|
], 4),
|
|
6990
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7041
|
+
j(o).fixError.value ? (f(), k("div", Ou, [V(j(Gr), {
|
|
6991
7042
|
size: 14,
|
|
6992
7043
|
"stroke-width": 2,
|
|
6993
7044
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7002,40 +7053,40 @@ var fu = {
|
|
|
7002
7053
|
(f(), N(d(p[e]), {
|
|
7003
7054
|
size: 14,
|
|
7004
7055
|
"stroke-width": 2,
|
|
7005
|
-
style: L({ color: j(
|
|
7056
|
+
style: L({ color: j(du)(j(o).scoringResult.value.categories[e].score) })
|
|
7006
7057
|
}, null, 8, ["style"])),
|
|
7007
|
-
I("span",
|
|
7058
|
+
I("span", Au, D(j(i).scoring.categories[e]), 1),
|
|
7008
7059
|
I("span", {
|
|
7009
7060
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7010
7061
|
style: L({
|
|
7011
|
-
color: j(
|
|
7012
|
-
backgroundColor: j(
|
|
7062
|
+
color: j(du)(j(o).scoringResult.value.categories[e].score),
|
|
7063
|
+
backgroundColor: j(fu)(j(o).scoringResult.value.categories[e].score)
|
|
7013
7064
|
})
|
|
7014
7065
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7015
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7066
|
+
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span", ju, D(j(o).scoringResult.value.categories[e].findings.length), 1)) : A("", !0),
|
|
7016
7067
|
V(j(ti), {
|
|
7017
7068
|
size: 12,
|
|
7018
7069
|
"stroke-width": 2,
|
|
7019
7070
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7020
7071
|
}, null, 8, ["class"])
|
|
7021
|
-
], 8,
|
|
7072
|
+
], 8, ku), c.value[e] ? (f(), k("div", Mu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Nu, D(j(i).scoring.noFindings), 1)) : A("", !0), (f(!0), k(R, null, h(j(o).scoringResult.value.categories[e].findings, (e) => (f(), k("div", {
|
|
7022
7073
|
key: e.id,
|
|
7023
7074
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7024
|
-
}, [I("div",
|
|
7075
|
+
}, [I("div", Pu, [(f(), N(d(j(e.severity === "high" ? Gr : e.severity === "medium" ? Zr : hi)), {
|
|
7025
7076
|
size: 13,
|
|
7026
7077
|
"stroke-width": 2,
|
|
7027
7078
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7028
|
-
style: L({ color: j(
|
|
7029
|
-
}, null, 8, ["style"])), I("div",
|
|
7030
|
-
I("div",
|
|
7079
|
+
style: L({ color: j(pu)(e.severity) })
|
|
7080
|
+
}, null, 8, ["style"])), I("div", Fu, [
|
|
7081
|
+
I("div", Iu, [I("span", {
|
|
7031
7082
|
class: "tpl:mt-0.5 tpl:shrink-0 tpl:rounded tpl:px-1 tpl:py-px tpl:text-[10px] tpl:font-medium tpl:leading-tight",
|
|
7032
7083
|
style: L({
|
|
7033
|
-
color: j(
|
|
7034
|
-
backgroundColor: j(
|
|
7084
|
+
color: j(pu)(e.severity),
|
|
7085
|
+
backgroundColor: j(mu)(e.severity)
|
|
7035
7086
|
})
|
|
7036
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7037
|
-
e.suggestion ? (f(), k("p",
|
|
7038
|
-
e.blockId ? (f(), k("div",
|
|
7087
|
+
}, D(j(i).scoring.severity[e.severity]), 5), I("span", Lu, D(e.message), 1)]),
|
|
7088
|
+
e.suggestion ? (f(), k("p", Ru, D(e.suggestion), 1)) : A("", !0),
|
|
7089
|
+
e.blockId ? (f(), k("div", zu, [I("button", {
|
|
7039
7090
|
class: "tpl-scoring-fix-btn tpl:inline-flex tpl:items-center tpl:gap-1.5 tpl:rounded tpl:border tpl:px-3 tpl:py-1.5 tpl:text-[11px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:disabled:opacity-50 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-primary)]",
|
|
7040
7091
|
style: { "background-color": "transparent" },
|
|
7041
7092
|
disabled: j(o).fixingFindingId.value !== null,
|
|
@@ -7049,27 +7100,27 @@ var fu = {
|
|
|
7049
7100
|
key: 1,
|
|
7050
7101
|
size: 11,
|
|
7051
7102
|
"stroke-width": 2
|
|
7052
|
-
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8,
|
|
7103
|
+
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, Bu), j(o).fixError.value ? (f(), k("p", Vu, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
|
|
7053
7104
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7054
|
-
])) : (f(), k("div",
|
|
7105
|
+
])) : (f(), k("div", Hu, [V(j(Ti), {
|
|
7055
7106
|
size: 32,
|
|
7056
7107
|
"stroke-width": 1.5,
|
|
7057
7108
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7058
|
-
}), I("p",
|
|
7109
|
+
}), I("p", Uu, D(j(i).scoring.emptyState), 1)])), I("p", Wu, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7059
7110
|
_: 1
|
|
7060
7111
|
}));
|
|
7061
7112
|
}
|
|
7062
|
-
}),
|
|
7113
|
+
}), Ku = /* @__PURE__ */ e({ default: () => qu }), qu = /*#__PURE__*/ Ii(Gu, [["__scopeId", "data-v-c23c73d4"]]), Ju = ["aria-busy"], Yu = {
|
|
7063
7114
|
id: "tpl-test-email-title",
|
|
7064
7115
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7065
|
-
},
|
|
7116
|
+
}, Xu = { class: "tpl:mb-3" }, Zu = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, Qu = ["value"], $u = ["disabled"], ed = ["value"], td = {
|
|
7066
7117
|
key: 0,
|
|
7067
7118
|
role: "alert",
|
|
7068
7119
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7069
|
-
},
|
|
7120
|
+
}, nd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, rd = ["disabled"], id = ["disabled"], ad = {
|
|
7070
7121
|
key: 0,
|
|
7071
7122
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7072
|
-
},
|
|
7123
|
+
}, od = { key: 1 }, sd = /*@__PURE__*/ B({
|
|
7073
7124
|
__name: "TestEmailModal",
|
|
7074
7125
|
props: {
|
|
7075
7126
|
visible: { type: Boolean },
|
|
@@ -7092,7 +7143,7 @@ var fu = {
|
|
|
7092
7143
|
function l(e) {
|
|
7093
7144
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7094
7145
|
}
|
|
7095
|
-
return (t, n) => (f(), N(
|
|
7146
|
+
return (t, n) => (f(), N(Yo, {
|
|
7096
7147
|
visible: e.visible,
|
|
7097
7148
|
onClose: s,
|
|
7098
7149
|
onKeydown: l
|
|
@@ -7108,14 +7159,14 @@ var fu = {
|
|
|
7108
7159
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7109
7160
|
}
|
|
7110
7161
|
}, [
|
|
7111
|
-
I("h3",
|
|
7112
|
-
I("div",
|
|
7162
|
+
I("h3", Yu, D(j(i).testEmail.title), 1),
|
|
7163
|
+
I("div", Xu, [I("label", Zu, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
|
|
7113
7164
|
key: 0,
|
|
7114
7165
|
type: "text",
|
|
7115
7166
|
value: a.value,
|
|
7116
7167
|
disabled: "",
|
|
7117
7168
|
class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:opacity-70 tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]"
|
|
7118
|
-
}, null, 8,
|
|
7169
|
+
}, null, 8, Qu)) : c((f(), k("select", {
|
|
7119
7170
|
key: 1,
|
|
7120
7171
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7121
7172
|
class: "tpl:h-9 tpl:w-full tpl:rounded-md tpl:border tpl:px-3 tpl:py-1 tpl:text-sm tpl:shadow-xs tpl:outline-none tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text)]",
|
|
@@ -7123,29 +7174,29 @@ var fu = {
|
|
|
7123
7174
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7124
7175
|
key: e,
|
|
7125
7176
|
value: e
|
|
7126
|
-
}, D(e), 9,
|
|
7127
|
-
e.error ? (f(), k("p",
|
|
7128
|
-
I("div",
|
|
7177
|
+
}, D(e), 9, ed))), 128))], 8, $u)), [[w, a.value]])]),
|
|
7178
|
+
e.error ? (f(), k("p", td, D(e.error), 1)) : A("", !0),
|
|
7179
|
+
I("div", nd, [I("button", {
|
|
7129
7180
|
type: "button",
|
|
7130
7181
|
class: F(["tpl:cursor-pointer tpl:rounded-md tpl:border tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:border-[var(--tpl-border)] tpl:text-[var(--tpl-text)] tpl:bg-[var(--tpl-bg)]", { "tpl:cursor-not-allowed tpl:opacity-50": e.isSending }]),
|
|
7131
7182
|
disabled: e.isSending,
|
|
7132
7183
|
onClick: s
|
|
7133
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7184
|
+
}, D(j(i).testEmail.cancel), 11, rd), I("button", {
|
|
7134
7185
|
type: "button",
|
|
7135
7186
|
class: "tpl:cursor-pointer tpl:rounded-md tpl:px-3 tpl:py-1.5 tpl:text-sm tpl:font-medium tpl:shadow-xs tpl:transition-all tpl:duration-150 tpl:hover:opacity-90 tpl:disabled:cursor-not-allowed tpl:disabled:opacity-50 tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-bg)]",
|
|
7136
7187
|
disabled: !a.value || e.isSending,
|
|
7137
7188
|
onClick: o
|
|
7138
|
-
}, [e.isSending ? (f(), k("span",
|
|
7189
|
+
}, [e.isSending ? (f(), k("span", ad, [V(j(Jr), {
|
|
7139
7190
|
class: "tpl:animate-spin",
|
|
7140
7191
|
size: 12,
|
|
7141
7192
|
"stroke-width": 2
|
|
7142
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7143
|
-
], 8,
|
|
7193
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", od, D(j(i).testEmail.send), 1))], 8, id)])
|
|
7194
|
+
], 8, Ju)]),
|
|
7144
7195
|
_: 1
|
|
7145
7196
|
}, 8, ["visible"]));
|
|
7146
7197
|
}
|
|
7147
|
-
}),
|
|
7198
|
+
}), cd = /* @__PURE__ */ e({ default: () => ld }), ld = sd;
|
|
7148
7199
|
//#endregion
|
|
7149
|
-
export {
|
|
7200
|
+
export { Ji as $, er as $t, Ko as A, ye as An, Jr as At, Ja as B, Ee as Bn, Wn as Bt, rs as C, bt as Cn, oi as Ct, Zo as D, st as Dn, ei as Dt, Xo as E, ct as En, ti as Et, vo as F, Te as Fn, _r as Ft, ba as G, fe as Gn, Bn as Gt, Ra as H, xe as Hn, rr as Ht, ho as I, _e as In, Y as It, fa as J, tr as Jt, ya as K, ue as Kn, Kn as Kt, uo as L, he as Ln, lr as Lt, Po as M, be as Mn, X as Mt, Oo as N, we as Nn, Fr as Nt, Yo as O, W as On, Zr as Ot, To as P, ve as Pn, wr as Pt, Yi as Q, Xn as Qt, co as R, Se as Rn, nr as Rt, is as S, _t as Sn, si as St, Z as T, lt as Tn, ri as Tt, Pa as U, pe as Un, pr as Ut, qa as V, ge as Vn, Gn as Vt, Sa as W, de as Wn, ur as Wt, ta as X, Vn as Xt, ra as Y, Ln as Yt, $i as Z, $n as Zt, gs as _, Ft as _n, hi as _t, yl as a, Un as an, Fi as at, fs as b, yt as bn, li as bt, Ns as c, wn as cn, Di as ct, Es as d, jn as dn, wi as dt, qn as en, qi as et, Ts as f, On as fn, Ci as ft, xs as g, cn as gn, gi as gt, Ss as h, sn as hn, _i as ht, Jl as i, Hn as in, Ii as it, Wo as j, De as jn, Gr as jt, qo as k, We as kn, Xr as kt, Os as l, Tn as ln, Ei as lt, Cs as m, nn as mn, vi as mt, Ku as n, fr as nn, Ki as nt, ac as o, J as on, ji as ot, ws as p, rn as pn, xi as pt, ma as q, Jn as qt, lu as r, ar as rn, Ui as rt, Ps as s, gn as sn, ki as st, cd as t, dr as tn, Gi as tt, Ds as u, q as un, Ti as ut, hs as v, Et as vn, mi as vt, $ as w, ut as wn, ai as wt, cs as x, xt as xn, ci as xt, ps as y, dt as yn, pi as yt, Ya as z, Ce as zn, cr as zt };
|
|
7150
7201
|
|
|
7151
|
-
//# sourceMappingURL=features-
|
|
7202
|
+
//# sourceMappingURL=features-DU6lA8l1.js.map
|