@templatical/editor 0.16.3 → 0.16.4
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-EaPCeDXr.js → AiChatSidebar-CYAbVB2G.js} +7 -7
- package/dist/{AiFeatureMenu-CcGRd1xE.js → AiFeatureMenu-BPCkrHAS.js} +4 -4
- package/dist/{BlockIssueBadge-CZYgn-qg.js → BlockIssueBadge-BLytBabN.js} +2 -2
- package/dist/{CloudEditor-CUIWUMp5.js → CloudEditor-v8ARYaFW.js} +14 -14
- package/dist/{CollaboratorBar-DmxqeBYZ.js → CollaboratorBar-BQzKZ2zo.js} +2 -2
- package/dist/{ColorPicker-Gs4BMVog.js → ColorPicker-Cab6U2sH.js} +1 -1
- package/dist/{CommentsSidebar-DDKiFsSq.js → CommentsSidebar-C_XLBbo3.js} +8 -8
- package/dist/{CountdownToolbar-92w1YySJ.js → CountdownToolbar-q3umZ7TZ.js} +53 -67
- package/dist/{DesignReferenceSidebar-D6TfC176.js → DesignReferenceSidebar-Bh9uAZ4B.js} +5 -5
- package/dist/{IssuesPanel-CQQipLQP.js → IssuesPanel-DltSuU6H.js} +5 -5
- package/dist/{ModuleBrowserModal-DsehjLvh.js → ModuleBrowserModal-CzzChPmN.js} +6 -6
- package/dist/{ModulePreviewCanvas-BBfuS8VW.js → ModulePreviewCanvas-C0Q2n3FL.js} +1 -1
- package/dist/{NumberWithSuffix-BxSRfI8b.js → NumberWithSuffix-Bhm2ByHs.js} +1 -1
- package/dist/{ParagraphEditor-vgvQxicC.js → ParagraphEditor-BhsBi8p8.js} +25 -25
- package/dist/{RichTextEditorContent-Dza2oPvh.js → RichTextEditorContent-ef0fdj6e.js} +3 -3
- package/dist/{SaveModuleDialog-DNWGCHlS.js → SaveModuleDialog-BNN3dcxD.js} +24 -23
- package/dist/{SnapshotHistory-BLmnNLg1.js → SnapshotHistory-tWvgMCe6.js} +5 -5
- package/dist/{TemplateScoringPanel-C8VOC6gn.js → TemplateScoringPanel-ZhObHWeb.js} +10 -10
- package/dist/{TestEmailModal-D6v1hgY2.js → TestEmailModal-EdwEcsrD.js} +3 -3
- package/dist/{TitleEditor-DPdzOQpq.js → TitleEditor-DdvRepBq.js} +4 -4
- package/dist/ToggleSwitch-DUNuUPsZ.js +37 -0
- package/dist/{TplModal-DObT0uxf.js → TplModal-Niu4Y96-.js} +1 -1
- package/dist/{blockTypeIcons-B9f5fH_5.js → blockTypeIcons-DHcYPMB8.js} +2 -2
- package/dist/bundle-stats.json +7 -7
- package/dist/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +2 -1
- package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js → AiFeatureMenu-AoUwsqor.js} +2 -2
- package/dist/cdn/chunks/{AiFeatureMenu-CyUCHd9I.js.map → AiFeatureMenu-AoUwsqor.js.map} +1 -1
- package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js → BlockIssueBadge-DZU3CfEN.js} +2 -2
- package/dist/cdn/chunks/{BlockIssueBadge-BAa_dI-c.js.map → BlockIssueBadge-DZU3CfEN.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js → CloudEditor-BrZLF_m1.js} +9 -9
- package/dist/cdn/chunks/{CloudEditor-ClfgLU48.js.map → CloudEditor-BrZLF_m1.js.map} +1 -1
- package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js → CollaboratorBar-BAC56ez6.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-DCc5SL0P.js.map → CollaboratorBar-BAC56ez6.js.map} +1 -1
- package/dist/cdn/chunks/{ColorPicker-Pi-1fR8c.js → ColorPicker-DLEoT419.js} +2 -2
- package/dist/cdn/chunks/{ColorPicker-Pi-1fR8c.js.map → ColorPicker-DLEoT419.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js → CountdownBlock-BOF9aTXF.js} +2 -2
- package/dist/cdn/chunks/{CountdownBlock-Bj7aoBUU.js.map → CountdownBlock-BOF9aTXF.js.map} +1 -1
- package/dist/cdn/chunks/CountdownToolbar-C9bQ5k4E.js +198 -0
- package/dist/cdn/chunks/CountdownToolbar-C9bQ5k4E.js.map +1 -0
- package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js → IssuesPanel-CHwYahKK.js} +3 -3
- package/dist/cdn/chunks/{IssuesPanel-BXLVRo-c.js.map → IssuesPanel-CHwYahKK.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js → ModuleBrowserModal-iSXXpAUk.js} +5 -5
- package/dist/cdn/chunks/{ModuleBrowserModal-C7BkJvzf.js.map → ModuleBrowserModal-iSXXpAUk.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js → ModulePreviewCanvas-DIy0MZj2.js} +2 -2
- package/dist/cdn/chunks/{ModulePreviewCanvas-BJn-ZHlC.js.map → ModulePreviewCanvas-DIy0MZj2.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js → NumberWithSuffix-vPdOG2lO.js} +2 -2
- package/dist/cdn/chunks/{NumberWithSuffix-CkOxH3F7.js.map → NumberWithSuffix-vPdOG2lO.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-4cMKKC-V.js → ParagraphEditor-D7znI_X1.js} +10 -10
- package/dist/cdn/chunks/{ParagraphEditor-4cMKKC-V.js.map → ParagraphEditor-D7znI_X1.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js → RichTextEditorContent-DVwGHbO6.js} +3 -3
- package/dist/cdn/chunks/{RichTextEditorContent-7RZe4tbj.js.map → RichTextEditorContent-DVwGHbO6.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-mr9A4j6G.js → SaveModuleDialog-D2_qPtE9.js} +32 -31
- package/dist/cdn/chunks/SaveModuleDialog-D2_qPtE9.js.map +1 -0
- package/dist/cdn/chunks/{TitleEditor-Cqw2jvuc.js → TitleEditor-CKjZ6Cgp.js} +5 -5
- package/dist/cdn/chunks/{TitleEditor-Cqw2jvuc.js.map → TitleEditor-CKjZ6Cgp.js.map} +1 -1
- package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js +39 -0
- package/dist/cdn/chunks/ToggleSwitch-OrmX_w18.js.map +1 -0
- package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js → blockTypeIcons-BKecgdgr.js} +3 -3
- package/dist/cdn/chunks/{blockTypeIcons-B_xRBxSU.js.map → blockTypeIcons-BKecgdgr.js.map} +1 -1
- package/dist/cdn/chunks/{ca-B3eR47lE.js → ca-DI1ViqMa.js} +3 -2
- package/dist/cdn/chunks/ca-DI1ViqMa.js.map +1 -0
- package/dist/cdn/chunks/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +3 -2
- package/dist/cdn/chunks/de-q9lTCMre.js.map +1 -0
- package/dist/cdn/chunks/{en-Bu-zS_5o.js → en-CR4LItrX.js} +3 -2
- package/dist/cdn/chunks/en-CR4LItrX.js.map +1 -0
- package/dist/cdn/chunks/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +3 -2
- package/dist/cdn/chunks/es-CEt-lrGd.js.map +1 -0
- package/dist/cdn/chunks/{extensions-Btyx_IMf.js → extensions-OZTN_skA.js} +2 -2
- package/dist/cdn/chunks/{extensions-Btyx_IMf.js.map → extensions-OZTN_skA.js.map} +1 -1
- package/dist/cdn/chunks/{features-Dwb5aTLg.js → features-Bo7H8WNI.js} +359 -359
- package/dist/cdn/chunks/features-Bo7H8WNI.js.map +1 -0
- package/dist/cdn/chunks/{icons-Dhqh5lYQ.js → icons-BrNSrnyT.js} +26 -26
- package/dist/cdn/chunks/{icons-Dhqh5lYQ.js.map → icons-BrNSrnyT.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-DRodsf2D.js → media-library-Cec5DMR3.js} +3 -3
- package/dist/cdn/chunks/{media-library-DRodsf2D.js.map → media-library-Cec5DMR3.js.map} +1 -1
- package/dist/cdn/chunks/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +3 -2
- package/dist/cdn/chunks/pt-BR-DvBHY0AA.js.map +1 -0
- package/dist/cdn/chunks/{quality-A_V2Iqu_.js → quality-Dd2iYgRf.js} +2 -2
- package/dist/cdn/chunks/{quality-A_V2Iqu_.js.map → quality-Dd2iYgRf.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-BM_-zceB.js → renderer-Br-qXdnQ.js} +7 -4
- package/dist/cdn/chunks/{renderer-BM_-zceB.js.map → renderer-Br-qXdnQ.js.map} +1 -1
- package/dist/cdn/chunks/{src-DSomxPI-.js → src-BH8PABpF.js} +4 -4
- package/dist/cdn/chunks/{src-DSomxPI-.js.map → src-BH8PABpF.js.map} +1 -1
- package/dist/cdn/chunks/{styles--UXn88wH.js → styles-nqo5BynI.js} +887 -885
- package/dist/cdn/chunks/styles-nqo5BynI.js.map +1 -0
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +11 -11
- package/dist/{check-D1zYtCPK.js → check-Cg6Mc2pP.js} +1 -1
- package/dist/{chevron-down-ByXpufZD.js → chevron-down-dClfxKrJ.js} +1 -1
- package/dist/{circle-alert-CjcAORUw.js → circle-alert-Bhzm-fNA.js} +1 -1
- package/dist/{clock-5lWLadUn.js → clock-m7TwQw4b.js} +1 -1
- package/dist/{createLucideIcon-Bh9xOmlW.js → createLucideIcon-FSF4peHQ.js} +2 -2
- package/dist/{de-Cy8FB-Ii.js → de-q9lTCMre.js} +2 -1
- package/dist/{en-Bu-zS_5o.js → en-CR4LItrX.js} +2 -1
- package/dist/{es-CD3ZD6hK.js → es-CEt-lrGd.js} +2 -1
- package/dist/{image-up-Bj_nes3f.js → image-up-CDEgJqwA.js} +1 -1
- package/dist/{info-BhSQCxBV.js → info-BNP8yGsK.js} +1 -1
- package/dist/{list-checks-CgxyUg7i.js → list-checks-jepi4iYr.js} +1 -1
- package/dist/{loader-circle-DFU0HPAa.js → loader-circle-BT38qSm3.js} +1 -1
- package/dist/{message-circle-BEBsCHnk.js → message-circle-BAHcL9S-.js} +1 -1
- package/dist/{pt-BR-CgICL-CQ.js → pt-BR-DvBHY0AA.js} +2 -1
- package/dist/{refresh-cw--lvWGy0_.js → refresh-cw-as5Bmg4X.js} +1 -1
- package/dist/{scan-line-QgyDIgn_.js → scan-line-IAMjPtRw.js} +1 -1
- package/dist/{send-BMyisUim.js → send-DvMay6bt.js} +1 -1
- package/dist/{shield-check-C49M20le.js → shield-check-YYDhGroE.js} +1 -1
- package/dist/{sparkles-DV7Dman6.js → sparkles-CCwQMMMZ.js} +1 -1
- package/dist/style.css +1 -1
- package/dist/{styles-CPt6RYEc.js → styles-DN4J7w-C.js} +717 -715
- package/dist/templatical-editor.js +9 -9
- package/dist/{text-align-start-BMU70uAm.js → text-align-start-BwsA6QzC.js} +11 -11
- package/dist/{trash-2-B6M659Ey.js → trash-2-CRBDolnR.js} +1 -1
- package/dist/{triangle-alert-D1lzx6ds.js → triangle-alert-B2g0ALvq.js} +1 -1
- package/dist/{upload-3A1oZtOR.js → upload-BKg6hDRW.js} +1 -1
- package/dist/{useEditorCore-CSfeEwCj.js → useEditorCore-DBq2689h.js} +69 -69
- package/dist/{x-CG_NV3nP.js → x-Ctg_250T.js} +1 -1
- package/package.json +8 -8
- package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js +0 -212
- package/dist/cdn/chunks/CountdownToolbar-B1oniVq1.js.map +0 -1
- package/dist/cdn/chunks/SaveModuleDialog-mr9A4j6G.js.map +0 -1
- package/dist/cdn/chunks/ca-B3eR47lE.js.map +0 -1
- package/dist/cdn/chunks/de-Cy8FB-Ii.js.map +0 -1
- package/dist/cdn/chunks/en-Bu-zS_5o.js.map +0 -1
- package/dist/cdn/chunks/es-CD3ZD6hK.js.map +0 -1
- package/dist/cdn/chunks/features-Dwb5aTLg.js.map +0 -1
- package/dist/cdn/chunks/pt-BR-CgICL-CQ.js.map +0 -1
- package/dist/cdn/chunks/styles--UXn88wH.js.map +0 -1
|
@@ -1564,7 +1564,7 @@ function Cr(e) {
|
|
|
1564
1564
|
o || l();
|
|
1565
1565
|
async function l() {
|
|
1566
1566
|
try {
|
|
1567
|
-
let t = await import("./quality-
|
|
1567
|
+
let t = await import("./quality-Dd2iYgRf.js").then((e) => e.t);
|
|
1568
1568
|
if (c) return;
|
|
1569
1569
|
a.value = { lintTemplate: t.lintTemplate }, r.value = !0, u(), s = fn(e.content, u, {
|
|
1570
1570
|
debounce: e.debounce ?? 500,
|
|
@@ -2048,7 +2048,7 @@ function Qr() {
|
|
|
2048
2048
|
return v(Zr, {});
|
|
2049
2049
|
}
|
|
2050
2050
|
//#endregion
|
|
2051
|
-
//#region ../../node_modules/.pnpm/@lucide+vue@1.
|
|
2051
|
+
//#region ../../node_modules/.pnpm/@lucide+vue@1.25.0_vue@3.5.40_typescript@6.0.3_/node_modules/@lucide/vue/dist/esm/Icon.mjs
|
|
2052
2052
|
var $r = ({ name: e, iconNode: t, "icon-node": n, absoluteStrokeWidth: r, "absolute-stroke-width": i, strokeWidth: o, "stroke-width": s, size: c, color: l, ...u }, { slots: d }) => {
|
|
2053
2053
|
let { size: f, color: p, strokeWidth: m = 2, absoluteStrokeWidth: h = !1, class: g = "" } = Qr(), _ = O(() => {
|
|
2054
2054
|
let e = Gr(r) || Gr(i) || r === !0 || i === !0 || h === !0, t = o || s || m || Xr["stroke-width"];
|
|
@@ -3515,7 +3515,7 @@ var co = ["innerHTML"], lo = /* @__PURE__ */ B({
|
|
|
3515
3515
|
viewport: {}
|
|
3516
3516
|
},
|
|
3517
3517
|
setup(e) {
|
|
3518
|
-
let t = e, n = T(() => import("./ParagraphEditor-
|
|
3518
|
+
let t = e, n = T(() => import("./ParagraphEditor-D7znI_X1.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content);
|
|
3519
3519
|
return (t, l) => (f(), k("div", {
|
|
3520
3520
|
ref_key: "blockRef",
|
|
3521
3521
|
ref: i,
|
|
@@ -3583,7 +3583,7 @@ var mo = ["data-block-id", "data-block-type"], ho = ["aria-label"], go = [
|
|
|
3583
3583
|
},
|
|
3584
3584
|
emits: ["select"],
|
|
3585
3585
|
setup(e, { emit: t }) {
|
|
3586
|
-
let n = T(() => import("./BlockIssueBadge-
|
|
3586
|
+
let n = T(() => import("./BlockIssueBadge-DZU3CfEN.js")), r = e, i = t, { t: a, format: s } = Y(), c = v(ur, 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);
|
|
3587
3587
|
async function p() {
|
|
3588
3588
|
await m(), l.value?.focus();
|
|
3589
3589
|
}
|
|
@@ -3742,7 +3742,7 @@ var Oo = /* @__PURE__ */ B({
|
|
|
3742
3742
|
viewport: {}
|
|
3743
3743
|
},
|
|
3744
3744
|
setup(e) {
|
|
3745
|
-
let t = e, n = T(() => import("./TitleEditor-
|
|
3745
|
+
let t = e, n = T(() => import("./TitleEditor-CKjZ6Cgp.js")), { isEditing: r, blockRef: i, toolbarPosition: a, resolvedContent: o, handleDoubleClick: s, handleEditorDone: c } = so(() => t.block.content), l = O(() => {
|
|
3746
3746
|
let e = {
|
|
3747
3747
|
fontSize: `${pe[t.block.level]}px`,
|
|
3748
3748
|
textAlign: t.block.textAlign
|
|
@@ -3779,11 +3779,11 @@ function ko(e) {
|
|
|
3779
3779
|
}
|
|
3780
3780
|
//#endregion
|
|
3781
3781
|
//#region src/components/blocks/SectionBlock.vue?vue&type=script&setup=true&lang.ts
|
|
3782
|
-
var Ao = { class: "tpl:w-full" }, jo = {
|
|
3782
|
+
var Ao = { class: "tpl:w-full" }, jo = {
|
|
3783
3783
|
key: 0,
|
|
3784
3784
|
"data-testid": "section-drop-hint",
|
|
3785
3785
|
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)]"
|
|
3786
|
-
},
|
|
3786
|
+
}, Mo = /* @__PURE__ */ B({
|
|
3787
3787
|
__name: "SectionBlock",
|
|
3788
3788
|
props: {
|
|
3789
3789
|
block: {},
|
|
@@ -3813,30 +3813,30 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3813
3813
|
let e = s.value.length, t = [...n.block.children];
|
|
3814
3814
|
for (; t.length < e;) t.push([]);
|
|
3815
3815
|
return t.slice(0, e);
|
|
3816
|
-
});
|
|
3817
|
-
function
|
|
3816
|
+
}), u = O(() => n.viewport === "mobile" && n.block.stackOnMobile !== !1);
|
|
3817
|
+
function p(e) {
|
|
3818
3818
|
return l.value[e] || [];
|
|
3819
3819
|
}
|
|
3820
|
-
function
|
|
3820
|
+
function m(e, t) {
|
|
3821
3821
|
let r = t.map((e) => JSON.parse(JSON.stringify(e))), a = [...n.block.children];
|
|
3822
3822
|
for (; a.length <= e;) a.push([]);
|
|
3823
3823
|
a[e] = r, i.updateBlock(n.block.id, { children: a });
|
|
3824
3824
|
}
|
|
3825
|
-
function
|
|
3825
|
+
function g(e) {
|
|
3826
3826
|
return uo(e, o, t);
|
|
3827
3827
|
}
|
|
3828
|
-
function
|
|
3828
|
+
function _(e, t) {
|
|
3829
3829
|
e.type === "custom" && i.updateBlock(e.id, {
|
|
3830
3830
|
fieldValues: t.fieldValues,
|
|
3831
3831
|
dataSourceFetched: t.dataSourceFetched
|
|
3832
3832
|
});
|
|
3833
3833
|
}
|
|
3834
|
-
return (t, n) => (f(), k("div", Ao, [I("div",
|
|
3834
|
+
return (t, n) => (f(), k("div", Ao, [I("div", { class: F(["tpl:flex tpl:gap-0", { "tpl:flex-col": u.value }]) }, [(f(!0), k(R, null, h(l.value, (t, n) => (f(), k("div", {
|
|
3835
3835
|
key: n,
|
|
3836
|
-
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded",
|
|
3837
|
-
style: L({ width: s.value[n] })
|
|
3836
|
+
class: F(["tpl:relative tpl:min-h-[60px] tpl:rounded", p(n).length === 0 ? "tpl:border tpl:border-dashed tpl:border-[var(--tpl-border)]" : ""]),
|
|
3837
|
+
style: L({ width: u.value ? "100%" : s.value[n] })
|
|
3838
3838
|
}, [V(j(ce), {
|
|
3839
|
-
"model-value":
|
|
3839
|
+
"model-value": p(n),
|
|
3840
3840
|
group: {
|
|
3841
3841
|
name: "blocks",
|
|
3842
3842
|
pull: !0,
|
|
@@ -3851,19 +3851,19 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3851
3851
|
"empty-insert-threshold": 20,
|
|
3852
3852
|
"force-fallback": !0,
|
|
3853
3853
|
class: "tpl:min-h-[60px]",
|
|
3854
|
-
"onUpdate:modelValue": (e) =>
|
|
3854
|
+
"onUpdate:modelValue": (e) => m(n, e)
|
|
3855
3855
|
}, {
|
|
3856
|
-
default: b(() => [(f(!0), k(R, null, h(
|
|
3856
|
+
default: b(() => [(f(!0), k(R, null, h(p(n), (t) => c((f(), k("div", { key: t.id }, [V(Eo, {
|
|
3857
3857
|
block: t,
|
|
3858
3858
|
"is-selected": j(i).state.selectedBlockId === t.id,
|
|
3859
3859
|
viewport: e.viewport,
|
|
3860
3860
|
"preview-mode": j(i).state.previewMode,
|
|
3861
3861
|
onSelect: (e) => j(i).selectBlock(t.id)
|
|
3862
3862
|
}, {
|
|
3863
|
-
default: b(() => [(f(), N(d(
|
|
3863
|
+
default: b(() => [(f(), N(d(g(t)), {
|
|
3864
3864
|
block: t,
|
|
3865
3865
|
viewport: e.viewport,
|
|
3866
|
-
onFetchData: (e) =>
|
|
3866
|
+
onFetchData: (e) => _(t, e),
|
|
3867
3867
|
onUpdate: (e) => j(i).updateBlock(t.id, e)
|
|
3868
3868
|
}, null, 40, [
|
|
3869
3869
|
"block",
|
|
@@ -3884,13 +3884,13 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3884
3884
|
"model-value",
|
|
3885
3885
|
"group",
|
|
3886
3886
|
"onUpdate:modelValue"
|
|
3887
|
-
]),
|
|
3887
|
+
]), p(n).length === 0 ? (f(), k("div", jo, [I("span", null, D(j(r).section.dropHere), 1)])) : A("", !0)], 6))), 128))], 2)]));
|
|
3888
3888
|
}
|
|
3889
|
-
}),
|
|
3889
|
+
}), No = me, Po = {
|
|
3890
3890
|
small: 24,
|
|
3891
3891
|
medium: 32,
|
|
3892
3892
|
large: 48
|
|
3893
|
-
},
|
|
3893
|
+
}, Fo = [
|
|
3894
3894
|
"facebook",
|
|
3895
3895
|
"twitter",
|
|
3896
3896
|
"instagram",
|
|
@@ -3908,11 +3908,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3908
3908
|
"github",
|
|
3909
3909
|
"dribbble",
|
|
3910
3910
|
"behance"
|
|
3911
|
-
],
|
|
3911
|
+
], Io = [
|
|
3912
3912
|
"width",
|
|
3913
3913
|
"height",
|
|
3914
3914
|
"fill"
|
|
3915
|
-
],
|
|
3915
|
+
], Lo = ["d"], Ro = /* @__PURE__ */ B({
|
|
3916
3916
|
__name: "SocialIconSvg",
|
|
3917
3917
|
props: {
|
|
3918
3918
|
platform: {},
|
|
@@ -3920,7 +3920,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3920
3920
|
iconSize: {}
|
|
3921
3921
|
},
|
|
3922
3922
|
setup(e) {
|
|
3923
|
-
let t = e, n = O(() =>
|
|
3923
|
+
let t = e, n = O(() => No[t.platform]), r = O(() => Po[t.iconSize]), i = O(() => {
|
|
3924
3924
|
let e = {
|
|
3925
3925
|
display: "inline-flex",
|
|
3926
3926
|
alignItems: "center",
|
|
@@ -3964,12 +3964,12 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3964
3964
|
viewBox: "0 0 24 24",
|
|
3965
3965
|
fill: o.value,
|
|
3966
3966
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3967
|
-
}, [I("path", { d: n.value.path }, null, 8,
|
|
3967
|
+
}, [I("path", { d: n.value.path }, null, 8, Lo)], 8, Io))], 4));
|
|
3968
3968
|
}
|
|
3969
|
-
}),
|
|
3969
|
+
}), zo = { class: "tpl:w-full" }, Bo = ["href"], Vo = {
|
|
3970
3970
|
key: 1,
|
|
3971
3971
|
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)]"
|
|
3972
|
-
},
|
|
3972
|
+
}, Ho = /* @__PURE__ */ B({
|
|
3973
3973
|
__name: "SocialIconsBlock",
|
|
3974
3974
|
props: {
|
|
3975
3975
|
block: {},
|
|
@@ -3982,7 +3982,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3982
3982
|
gap: `${t.block.spacing}px`,
|
|
3983
3983
|
justifyContent: t.block.align === "left" ? "flex-start" : t.block.align === "right" ? "flex-end" : "center"
|
|
3984
3984
|
})), i = O(() => t.block.icons.length > 0);
|
|
3985
|
-
return (t, a) => (f(), k("div",
|
|
3985
|
+
return (t, a) => (f(), k("div", zo, [i.value ? (f(), k("div", {
|
|
3986
3986
|
key: 0,
|
|
3987
3987
|
style: L(r.value)
|
|
3988
3988
|
}, [(f(!0), k(R, null, h(e.block.icons, (t) => (f(), k("a", {
|
|
@@ -3990,7 +3990,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3990
3990
|
href: t.url || "#",
|
|
3991
3991
|
class: "tpl:cursor-default",
|
|
3992
3992
|
onClick: a[0] ||= M(() => {}, ["prevent"])
|
|
3993
|
-
}, [V(
|
|
3993
|
+
}, [V(Ro, {
|
|
3994
3994
|
platform: t.platform,
|
|
3995
3995
|
"icon-style": e.block.iconStyle,
|
|
3996
3996
|
"icon-size": e.block.iconSize
|
|
@@ -3998,16 +3998,16 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
3998
3998
|
"platform",
|
|
3999
3999
|
"icon-style",
|
|
4000
4000
|
"icon-size"
|
|
4001
|
-
])], 8,
|
|
4001
|
+
])], 8, Bo))), 128))], 4)) : (f(), k("div", Vo, [V(j(Ai), { size: 16 }), I("span", null, D(j(n).social.addIcons), 1)]))]));
|
|
4002
4002
|
}
|
|
4003
|
-
}),
|
|
4003
|
+
}), Uo = { class: "tpl:w-full" }, Wo = {
|
|
4004
4004
|
key: 0,
|
|
4005
4005
|
class: "tpl:absolute tpl:rounded tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium",
|
|
4006
4006
|
style: {
|
|
4007
4007
|
"background-color": "var(--tpl-bg-hover)",
|
|
4008
4008
|
color: "var(--tpl-text-dim)"
|
|
4009
4009
|
}
|
|
4010
|
-
},
|
|
4010
|
+
}, Go = /* @__PURE__ */ B({
|
|
4011
4011
|
__name: "SpacerBlock",
|
|
4012
4012
|
props: {
|
|
4013
4013
|
block: {},
|
|
@@ -4019,23 +4019,23 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
4019
4019
|
minHeight: `${t.block.height}px`,
|
|
4020
4020
|
...n.state.previewMode ? {} : { borderColor: "var(--tpl-border)" }
|
|
4021
4021
|
}));
|
|
4022
|
-
return (t, i) => (f(), k("div",
|
|
4022
|
+
return (t, i) => (f(), k("div", Uo, [I("div", {
|
|
4023
4023
|
style: L(r.value),
|
|
4024
4024
|
class: F(["tpl:relative tpl:flex tpl:items-center tpl:justify-center", { "tpl:border-y tpl:border-dashed": !j(n).state.previewMode }])
|
|
4025
|
-
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span",
|
|
4025
|
+
}, [j(n).state.previewMode ? A("", !0) : (f(), k("span", Wo, D(e.block.height) + "px ", 1))], 6)]));
|
|
4026
4026
|
}
|
|
4027
|
-
}),
|
|
4027
|
+
}), Ko = { class: "tpl:w-full" }, qo = { key: 0 }, Jo = [
|
|
4028
4028
|
"aria-label",
|
|
4029
4029
|
"data-placeholder",
|
|
4030
4030
|
"onBlur"
|
|
4031
|
-
],
|
|
4031
|
+
], Yo = [
|
|
4032
4032
|
"aria-label",
|
|
4033
4033
|
"data-placeholder",
|
|
4034
4034
|
"onBlur"
|
|
4035
|
-
],
|
|
4035
|
+
], Xo = {
|
|
4036
4036
|
key: 1,
|
|
4037
4037
|
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)]"
|
|
4038
|
-
},
|
|
4038
|
+
}, Zo = /*#__PURE__*/ Gi(/* @__PURE__ */ B({
|
|
4039
4039
|
__name: "TableBlock",
|
|
4040
4040
|
props: {
|
|
4041
4041
|
block: {},
|
|
@@ -4080,11 +4080,11 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
4080
4080
|
} : n);
|
|
4081
4081
|
i.updateBlock(n.block.id, { rows: o });
|
|
4082
4082
|
}
|
|
4083
|
-
return (e, n) => (f(), k("div",
|
|
4083
|
+
return (e, n) => (f(), k("div", Ko, [a.value ? (f(), k("table", {
|
|
4084
4084
|
key: 0,
|
|
4085
4085
|
style: L(o.value),
|
|
4086
4086
|
class: "tpl-table-editable"
|
|
4087
|
-
}, [u.value ? (f(), k("thead",
|
|
4087
|
+
}, [u.value ? (f(), k("thead", qo, [I("tr", null, [(f(!0), k(R, null, h(u.value.cells, (e) => c((f(), k("th", {
|
|
4088
4088
|
key: e.id,
|
|
4089
4089
|
style: L(l.value),
|
|
4090
4090
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -4093,7 +4093,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
4093
4093
|
onBlur: (t) => m(u.value.id, e.id, t),
|
|
4094
4094
|
onKeydown: n[0] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
4095
4095
|
onClick: M(p, ["stop"])
|
|
4096
|
-
}, null, 44,
|
|
4096
|
+
}, 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", {
|
|
4097
4097
|
key: i.id,
|
|
4098
4098
|
style: L(s.value),
|
|
4099
4099
|
"aria-label": j(r).table.cellPlaceholder,
|
|
@@ -4102,9 +4102,9 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
4102
4102
|
onBlur: (t) => m(e.id, i.id, t),
|
|
4103
4103
|
onKeydown: n[1] ||= E(M((e) => e.target.blur(), ["prevent"]), ["enter"]),
|
|
4104
4104
|
onClick: M(p, ["stop"])
|
|
4105
|
-
}, null, 44,
|
|
4105
|
+
}, null, 44, Yo)), [[t, i.content]])), 128))]))), 128))])], 4)) : (f(), k("div", Xo, [V(j(Pi), { size: 16 }), I("span", null, D(j(r).table.empty), 1)]))]));
|
|
4106
4106
|
}
|
|
4107
|
-
}), [["__scopeId", "data-v-963ac422"]]),
|
|
4107
|
+
}), [["__scopeId", "data-v-963ac422"]]), Qo = /* @__PURE__ */ B({
|
|
4108
4108
|
__name: "VideoPlayButton",
|
|
4109
4109
|
props: { hoverEffect: {
|
|
4110
4110
|
type: Boolean,
|
|
@@ -4122,7 +4122,7 @@ var Ao = { class: "tpl:w-full" }, jo = { class: "tpl:flex tpl:gap-0" }, Mo = {
|
|
|
4122
4122
|
});
|
|
4123
4123
|
//#endregion
|
|
4124
4124
|
//#region src/utils/videoThumbnail.ts
|
|
4125
|
-
function
|
|
4125
|
+
function $o(e) {
|
|
4126
4126
|
if (!e) return {
|
|
4127
4127
|
platform: "unknown",
|
|
4128
4128
|
videoId: null,
|
|
@@ -4154,25 +4154,25 @@ function es(e) {
|
|
|
4154
4154
|
thumbnailUrl: null
|
|
4155
4155
|
};
|
|
4156
4156
|
}
|
|
4157
|
-
function
|
|
4158
|
-
return t ||
|
|
4157
|
+
function es(e, t) {
|
|
4158
|
+
return t || $o(e).thumbnailUrl;
|
|
4159
4159
|
}
|
|
4160
4160
|
//#endregion
|
|
4161
4161
|
//#region src/components/blocks/VideoBlock.vue?vue&type=script&setup=true&lang.ts
|
|
4162
|
-
var
|
|
4162
|
+
var ts = ["src", "alt"], ns = {
|
|
4163
4163
|
class: "tpl:max-w-full tpl:truncate tpl:px-3 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-primary)]",
|
|
4164
4164
|
style: { opacity: "0.7" }
|
|
4165
|
-
},
|
|
4165
|
+
}, rs = ["href"], is = ["src", "alt"], as = ["src", "alt"], os = {
|
|
4166
4166
|
key: 3,
|
|
4167
4167
|
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)]"
|
|
4168
|
-
},
|
|
4168
|
+
}, ss = /* @__PURE__ */ B({
|
|
4169
4169
|
__name: "VideoBlock",
|
|
4170
4170
|
props: {
|
|
4171
4171
|
block: {},
|
|
4172
4172
|
viewport: {}
|
|
4173
4173
|
},
|
|
4174
4174
|
setup(e) {
|
|
4175
|
-
let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null :
|
|
4175
|
+
let t = e, { t: n } = Y(), { syntax: r } = na(), i = O(() => xt(t.block.url, r) || xt(t.block.thumbnailUrl, r)), a = O(() => i.value ? null : es(t.block.url, t.block.thumbnailUrl)), o = O(() => ({ textAlign: t.block.align })), s = O(() => {
|
|
4176
4176
|
let e = t.block.align;
|
|
4177
4177
|
return {
|
|
4178
4178
|
maxWidth: "100%",
|
|
@@ -4193,7 +4193,7 @@ var ns = ["src", "alt"], rs = {
|
|
|
4193
4193
|
class: "tpl:w-full tpl:border-0",
|
|
4194
4194
|
src: e.block.placeholderUrl,
|
|
4195
4195
|
alt: e.block.alt
|
|
4196
|
-
}, null, 8,
|
|
4196
|
+
}, null, 8, ts), V(Qo)], 4)) : i.value ? (f(), k("div", {
|
|
4197
4197
|
key: 1,
|
|
4198
4198
|
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)]",
|
|
4199
4199
|
style: L([{ "border-color": "color-mix(in srgb, var(--tpl-primary) 40%, transparent)" }, s.value])
|
|
@@ -4202,7 +4202,7 @@ var ns = ["src", "alt"], rs = {
|
|
|
4202
4202
|
"stroke-width": 1.5,
|
|
4203
4203
|
class: "tpl:text-[var(--tpl-primary)]",
|
|
4204
4204
|
style: { opacity: "0.5" }
|
|
4205
|
-
}), I("span",
|
|
4205
|
+
}), I("span", ns, [V(Vr, { text: c.value }, null, 8, ["text"])])], 4)) : a.value ? (f(), k(R, { key: 2 }, [e.block.url ? (f(), k("a", {
|
|
4206
4206
|
key: 0,
|
|
4207
4207
|
href: e.block.url,
|
|
4208
4208
|
target: "_blank",
|
|
@@ -4214,7 +4214,7 @@ var ns = ["src", "alt"], rs = {
|
|
|
4214
4214
|
class: "tpl:w-full tpl:border-0",
|
|
4215
4215
|
src: a.value,
|
|
4216
4216
|
alt: e.block.alt
|
|
4217
|
-
}, null, 8,
|
|
4217
|
+
}, null, 8, is), V(Qo, { "hover-effect": "" })], 12, rs)) : (f(), k("div", {
|
|
4218
4218
|
key: 1,
|
|
4219
4219
|
class: "tpl:relative tpl:inline-block",
|
|
4220
4220
|
style: L(s.value)
|
|
@@ -4222,28 +4222,28 @@ var ns = ["src", "alt"], rs = {
|
|
|
4222
4222
|
class: "tpl:w-full tpl:border-0",
|
|
4223
4223
|
src: a.value,
|
|
4224
4224
|
alt: e.block.alt
|
|
4225
|
-
}, null, 8,
|
|
4225
|
+
}, null, 8, as), V(Qo)], 4))], 64)) : (f(), k("div", os, [V(j(zi), {
|
|
4226
4226
|
size: 40,
|
|
4227
4227
|
"stroke-width": 1.5,
|
|
4228
4228
|
class: "tpl:text-[var(--tpl-border-light)]"
|
|
4229
4229
|
}), I("span", null, D(j(n).video.addVideo), 1)]))], 4));
|
|
4230
4230
|
}
|
|
4231
|
-
}),
|
|
4232
|
-
section:
|
|
4231
|
+
}), cs = {
|
|
4232
|
+
section: Mo,
|
|
4233
4233
|
title: Oo,
|
|
4234
4234
|
paragraph: lo,
|
|
4235
4235
|
image: Xa,
|
|
4236
4236
|
button: Wr,
|
|
4237
4237
|
divider: Aa,
|
|
4238
|
-
video:
|
|
4239
|
-
social:
|
|
4238
|
+
video: ss,
|
|
4239
|
+
social: Ho,
|
|
4240
4240
|
menu: eo,
|
|
4241
|
-
table:
|
|
4242
|
-
spacer:
|
|
4241
|
+
table: Zo,
|
|
4242
|
+
spacer: Go,
|
|
4243
4243
|
html: Fa,
|
|
4244
|
-
countdown: T(() => import("./CountdownBlock-
|
|
4244
|
+
countdown: T(() => import("./CountdownBlock-BOF9aTXF.js").then((e) => e.n))
|
|
4245
4245
|
};
|
|
4246
|
-
function
|
|
4246
|
+
function ls(e) {
|
|
4247
4247
|
let { editor: t, config: n, translations: r, fontsManager: i } = e, { t: a, format: o } = Y(r);
|
|
4248
4248
|
t.setUiTheme(n.uiTheme ?? "auto");
|
|
4249
4249
|
let { resolvedTheme: c } = Er(O(() => t.state.uiTheme)), u = C(n.theme ?? {}), { themeStyles: d } = Or({
|
|
@@ -4275,7 +4275,7 @@ function us(e) {
|
|
|
4275
4275
|
t: a,
|
|
4276
4276
|
format: o
|
|
4277
4277
|
}), y = Mr();
|
|
4278
|
-
if (Lr(y,
|
|
4278
|
+
if (Lr(y, cs), n.customBlocks?.length) for (let e of n.customBlocks) y.registerCustom(e, Oa);
|
|
4279
4279
|
function b(e) {
|
|
4280
4280
|
for (let t of e) y.registerCustom(t, Oa);
|
|
4281
4281
|
}
|
|
@@ -4333,19 +4333,19 @@ function us(e) {
|
|
|
4333
4333
|
}
|
|
4334
4334
|
//#endregion
|
|
4335
4335
|
//#region src/composables/usePopoverRoot.ts
|
|
4336
|
-
function
|
|
4336
|
+
function us() {
|
|
4337
4337
|
return v(pr, C(null));
|
|
4338
4338
|
}
|
|
4339
4339
|
//#endregion
|
|
4340
4340
|
//#region src/components/TplModal.vue?vue&type=script&setup=true&lang.ts
|
|
4341
|
-
var
|
|
4341
|
+
var ds = ["data-tpl-theme"], fs = /* @__PURE__ */ B({
|
|
4342
4342
|
__name: "TplModal",
|
|
4343
4343
|
props: { visible: { type: Boolean } },
|
|
4344
4344
|
emits: ["close", "keydown"],
|
|
4345
4345
|
setup(e, { emit: t }) {
|
|
4346
4346
|
let n = e, r = t, i = C(null);
|
|
4347
4347
|
Qi(i, O(() => n.visible));
|
|
4348
|
-
let a = v(Gn), s =
|
|
4348
|
+
let a = v(Gn), s = us();
|
|
4349
4349
|
function c(e) {
|
|
4350
4350
|
e.key === "Escape" && r("close"), r("keydown", e);
|
|
4351
4351
|
}
|
|
@@ -4374,11 +4374,11 @@ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
|
|
|
4374
4374
|
}, [I("div", {
|
|
4375
4375
|
ref_key: "dialogRef",
|
|
4376
4376
|
ref: i
|
|
4377
|
-
}, [o(t.$slots, "default")], 512)], 40,
|
|
4377
|
+
}, [o(t.$slots, "default")], 512)], 40, ds)) : A("", !0)]),
|
|
4378
4378
|
_: 3
|
|
4379
4379
|
})], 8, ["to"])) : A("", !0);
|
|
4380
4380
|
}
|
|
4381
|
-
}),
|
|
4381
|
+
}), ps = class e {
|
|
4382
4382
|
static DEFAULT_BASE_URL = "https://templatical.com";
|
|
4383
4383
|
accessToken = null;
|
|
4384
4384
|
expiresAt = null;
|
|
@@ -4479,8 +4479,8 @@ var fs = ["data-tpl-theme"], ps = /* @__PURE__ */ B({
|
|
|
4479
4479
|
return a.status === 401 && (a = await i(await this.refreshToken())), a;
|
|
4480
4480
|
}
|
|
4481
4481
|
};
|
|
4482
|
-
function
|
|
4483
|
-
return e.mode === "direct" ? new
|
|
4482
|
+
function ms(e, t) {
|
|
4483
|
+
return e.mode === "direct" ? new ps({
|
|
4484
4484
|
url: `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}/api/v1/auth/token`,
|
|
4485
4485
|
baseUrl: e.baseUrl,
|
|
4486
4486
|
requestOptions: {
|
|
@@ -4494,7 +4494,7 @@ function hs(e, t) {
|
|
|
4494
4494
|
}
|
|
4495
4495
|
},
|
|
4496
4496
|
onError: t
|
|
4497
|
-
}) : new
|
|
4497
|
+
}) : new ps({
|
|
4498
4498
|
url: e.url,
|
|
4499
4499
|
baseUrl: e.baseUrl,
|
|
4500
4500
|
requestOptions: e.requestOptions,
|
|
@@ -4506,16 +4506,16 @@ function hs(e, t) {
|
|
|
4506
4506
|
function Z(e, t) {
|
|
4507
4507
|
return e.replace(/\{(\w+)\}/g, (e, n) => encodeURIComponent(t[n] ?? ""));
|
|
4508
4508
|
}
|
|
4509
|
-
var
|
|
4509
|
+
var hs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${hs}/templates/{template}`, gs = `${Q}/ai`, _s = `${hs}/media`, vs = `${_s}/folders`, ys = `${hs}/saved-modules`, $ = {
|
|
4510
4510
|
health: "/api/v1/health",
|
|
4511
|
-
"projects.config": `${
|
|
4512
|
-
"broadcasting.auth": `${
|
|
4513
|
-
"templates.store": `${
|
|
4511
|
+
"projects.config": `${hs}/config`,
|
|
4512
|
+
"broadcasting.auth": `${hs}/broadcasting/auth`,
|
|
4513
|
+
"templates.store": `${hs}/templates`,
|
|
4514
4514
|
"templates.show": `${Q}`,
|
|
4515
4515
|
"templates.update": `${Q}`,
|
|
4516
4516
|
"templates.destroy": `${Q}`,
|
|
4517
4517
|
"templates.export": `${Q}/export`,
|
|
4518
|
-
"templates.importFromBeefree": `${
|
|
4518
|
+
"templates.importFromBeefree": `${hs}/templates/import/from-beefree`,
|
|
4519
4519
|
"templates.sendTestEmail": `${Q}/send-test-email`,
|
|
4520
4520
|
"snapshots.index": `${Q}/snapshots`,
|
|
4521
4521
|
"snapshots.store": `${Q}/snapshots`,
|
|
@@ -4526,31 +4526,31 @@ var gs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${gs}/templates/{te
|
|
|
4526
4526
|
"comments.update": `${Q}/comments/{comment}`,
|
|
4527
4527
|
"comments.destroy": `${Q}/comments/{comment}`,
|
|
4528
4528
|
"comments.resolve": `${Q}/comments/{comment}/resolve`,
|
|
4529
|
-
"ai.generate": `${
|
|
4530
|
-
"ai.conversationMessages": `${
|
|
4531
|
-
"ai.suggestions": `${
|
|
4532
|
-
"ai.rewriteText": `${
|
|
4533
|
-
"ai.score": `${
|
|
4534
|
-
"ai.fixFinding": `${
|
|
4535
|
-
"ai.generateFromDesign": `${
|
|
4536
|
-
"media.upload": `${
|
|
4537
|
-
"media.browse": `${
|
|
4538
|
-
"media.delete": `${
|
|
4539
|
-
"media.move": `${
|
|
4540
|
-
"media.update": `${
|
|
4541
|
-
"media.replace": `${
|
|
4542
|
-
"media.checkUsage": `${
|
|
4543
|
-
"media.frequentlyUsed": `${
|
|
4544
|
-
"media.importFromUrl": `${
|
|
4545
|
-
"folders.index": `${
|
|
4546
|
-
"folders.store": `${
|
|
4547
|
-
"folders.update": `${
|
|
4548
|
-
"folders.destroy": `${
|
|
4549
|
-
"savedModules.index": `${
|
|
4550
|
-
"savedModules.store": `${
|
|
4551
|
-
"savedModules.update": `${
|
|
4552
|
-
"savedModules.destroy": `${
|
|
4553
|
-
},
|
|
4529
|
+
"ai.generate": `${gs}/generate`,
|
|
4530
|
+
"ai.conversationMessages": `${gs}/conversation-messages`,
|
|
4531
|
+
"ai.suggestions": `${gs}/suggestions`,
|
|
4532
|
+
"ai.rewriteText": `${gs}/rewrite-text`,
|
|
4533
|
+
"ai.score": `${gs}/score`,
|
|
4534
|
+
"ai.fixFinding": `${gs}/fix-finding`,
|
|
4535
|
+
"ai.generateFromDesign": `${gs}/generate-from-design`,
|
|
4536
|
+
"media.upload": `${_s}/upload`,
|
|
4537
|
+
"media.browse": `${_s}/browse`,
|
|
4538
|
+
"media.delete": `${_s}/delete`,
|
|
4539
|
+
"media.move": `${_s}/move`,
|
|
4540
|
+
"media.update": `${_s}/{media}`,
|
|
4541
|
+
"media.replace": `${_s}/{media}/replace`,
|
|
4542
|
+
"media.checkUsage": `${_s}/check-usage`,
|
|
4543
|
+
"media.frequentlyUsed": `${_s}/frequently-used`,
|
|
4544
|
+
"media.importFromUrl": `${_s}/import-from-url`,
|
|
4545
|
+
"folders.index": `${vs}`,
|
|
4546
|
+
"folders.store": `${vs}`,
|
|
4547
|
+
"folders.update": `${vs}/{mediaFolder}`,
|
|
4548
|
+
"folders.destroy": `${vs}/{mediaFolder}`,
|
|
4549
|
+
"savedModules.index": `${ys}`,
|
|
4550
|
+
"savedModules.store": `${ys}`,
|
|
4551
|
+
"savedModules.update": `${ys}/{savedModule}`,
|
|
4552
|
+
"savedModules.destroy": `${ys}/{savedModule}`
|
|
4553
|
+
}, bs = class {
|
|
4554
4554
|
authManager;
|
|
4555
4555
|
constructor(e) {
|
|
4556
4556
|
this.authManager = e;
|
|
@@ -4736,14 +4736,14 @@ var gs = "/api/v1/projects/{project}/tenants/{tenant}", Q = `${gs}/templates/{te
|
|
|
4736
4736
|
};
|
|
4737
4737
|
//#endregion
|
|
4738
4738
|
//#region ../core/src/cloud/websocket-client.ts
|
|
4739
|
-
function
|
|
4739
|
+
function xs(e) {
|
|
4740
4740
|
return {
|
|
4741
4741
|
host: e.host,
|
|
4742
4742
|
port: e.port,
|
|
4743
4743
|
appKey: e.app_key
|
|
4744
4744
|
};
|
|
4745
4745
|
}
|
|
4746
|
-
var
|
|
4746
|
+
var Ss = class {
|
|
4747
4747
|
pusher = null;
|
|
4748
4748
|
authManager;
|
|
4749
4749
|
config;
|
|
@@ -4810,7 +4810,7 @@ var Cs = class {
|
|
|
4810
4810
|
};
|
|
4811
4811
|
//#endregion
|
|
4812
4812
|
//#region ../core/src/cloud/mcp-operation-handler.ts
|
|
4813
|
-
function
|
|
4813
|
+
function Cs(e, t) {
|
|
4814
4814
|
let { operation: n, data: r } = t;
|
|
4815
4815
|
switch (n) {
|
|
4816
4816
|
case "add_block":
|
|
@@ -4838,11 +4838,11 @@ function ws(e, t) {
|
|
|
4838
4838
|
}
|
|
4839
4839
|
//#endregion
|
|
4840
4840
|
//#region ../core/src/cloud/editor.ts
|
|
4841
|
-
function
|
|
4841
|
+
function ws(e) {
|
|
4842
4842
|
return e === "1" ? 1 : e === "3" ? 3 : 2;
|
|
4843
4843
|
}
|
|
4844
|
-
function
|
|
4845
|
-
let t = new
|
|
4844
|
+
function Ts(e) {
|
|
4845
|
+
let t = new bs(e.authManager), n = S({
|
|
4846
4846
|
template: null,
|
|
4847
4847
|
content: We(e.defaultFontFamily, e.templateDefaults),
|
|
4848
4848
|
selectedBlockId: null,
|
|
@@ -4948,7 +4948,7 @@ function Es(e) {
|
|
|
4948
4948
|
let l;
|
|
4949
4949
|
if (r) {
|
|
4950
4950
|
let e = o(n.content.blocks, r);
|
|
4951
|
-
if (!e || e.type !== "section" || i < 0 || i >=
|
|
4951
|
+
if (!e || e.type !== "section" || i < 0 || i >= ws(e.columns)) return;
|
|
4952
4952
|
e.children[i] = e.children[i] || [], l = e.children[i];
|
|
4953
4953
|
} else l = n.content.blocks;
|
|
4954
4954
|
let [u] = a.blocks.splice(c, 1);
|
|
@@ -5040,11 +5040,11 @@ function Es(e) {
|
|
|
5040
5040
|
}
|
|
5041
5041
|
//#endregion
|
|
5042
5042
|
//#region ../core/src/cloud/ai-chat.ts
|
|
5043
|
-
var
|
|
5044
|
-
function
|
|
5045
|
-
return `msg_${Date.now()}_${++
|
|
5043
|
+
var Es = 0;
|
|
5044
|
+
function Ds() {
|
|
5045
|
+
return `msg_${Date.now()}_${++Es}`;
|
|
5046
5046
|
}
|
|
5047
|
-
function
|
|
5047
|
+
function Os(e) {
|
|
5048
5048
|
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);
|
|
5049
5049
|
function _(e, t) {
|
|
5050
5050
|
let n = a.value.findIndex((t) => t.id === e);
|
|
@@ -5138,14 +5138,14 @@ function ks(e) {
|
|
|
5138
5138
|
let v = n();
|
|
5139
5139
|
if (!v) throw Error("Template must be saved before using AI generation");
|
|
5140
5140
|
o.value = !0, c.value = null, l.value = null, h.value = [];
|
|
5141
|
-
let y =
|
|
5141
|
+
let y = Ds();
|
|
5142
5142
|
a.value = [...a.value, {
|
|
5143
5143
|
id: y,
|
|
5144
5144
|
role: "user",
|
|
5145
5145
|
content: e,
|
|
5146
5146
|
timestamp: Date.now()
|
|
5147
5147
|
}];
|
|
5148
|
-
let b =
|
|
5148
|
+
let b = Ds();
|
|
5149
5149
|
a.value = [...a.value, {
|
|
5150
5150
|
id: b,
|
|
5151
5151
|
role: "assistant",
|
|
@@ -5236,7 +5236,7 @@ function ks(e) {
|
|
|
5236
5236
|
}
|
|
5237
5237
|
//#endregion
|
|
5238
5238
|
//#region ../core/src/cloud/ai-config.ts
|
|
5239
|
-
function
|
|
5239
|
+
function ks(e) {
|
|
5240
5240
|
function t(t) {
|
|
5241
5241
|
return e !== !1 && e?.[t] !== !1;
|
|
5242
5242
|
}
|
|
@@ -5247,7 +5247,7 @@ function As(e) {
|
|
|
5247
5247
|
}
|
|
5248
5248
|
//#endregion
|
|
5249
5249
|
//#region ../core/src/cloud/template-scoring.ts
|
|
5250
|
-
function
|
|
5250
|
+
function As(e) {
|
|
5251
5251
|
let { authManager: t, getTemplateId: n } = e, r = C(!1), i = C(null), a = C(null), o = C(null), s = C(""), c = C(null);
|
|
5252
5252
|
async function l(e, o) {
|
|
5253
5253
|
let s = n();
|
|
@@ -5392,7 +5392,7 @@ function js(e) {
|
|
|
5392
5392
|
}
|
|
5393
5393
|
//#endregion
|
|
5394
5394
|
//#region ../core/src/cloud/design-reference.ts
|
|
5395
|
-
function
|
|
5395
|
+
function js(e) {
|
|
5396
5396
|
let { authManager: t, getTemplateId: n, onApply: r, onError: i } = e, a = C(!1), o = C(null);
|
|
5397
5397
|
async function s(e) {
|
|
5398
5398
|
let s = n();
|
|
@@ -5455,8 +5455,8 @@ function Ms(e) {
|
|
|
5455
5455
|
}
|
|
5456
5456
|
//#endregion
|
|
5457
5457
|
//#region ../core/src/cloud/comments.ts
|
|
5458
|
-
function
|
|
5459
|
-
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new
|
|
5458
|
+
function Ms(e) {
|
|
5459
|
+
let { authManager: t, getTemplateId: n, getSocketId: r, onComment: i, onError: a, hasCommentingFeature: o } = e, s = new bs(t), c = C([]), l = C(!1), u = C(!1), d = O(() => (o?.() ?? !1) && t.userConfig !== null), f = O(() => {
|
|
5460
5460
|
let e = 0;
|
|
5461
5461
|
for (let t of c.value) e += 1 + (t.replies?.length ?? 0);
|
|
5462
5462
|
return e;
|
|
@@ -5655,17 +5655,17 @@ function Ns(e) {
|
|
|
5655
5655
|
}
|
|
5656
5656
|
//#endregion
|
|
5657
5657
|
//#region ../core/src/cloud/comment-listener.ts
|
|
5658
|
-
function
|
|
5658
|
+
function Ns(e) {
|
|
5659
5659
|
let { comments: t, channel: n } = e;
|
|
5660
5660
|
H(n, (e, n) => {
|
|
5661
5661
|
n && n.unbind("comment-broadcast"), e && e.bind("comment-broadcast", (e) => {
|
|
5662
|
-
|
|
5662
|
+
Ps(t, e);
|
|
5663
5663
|
});
|
|
5664
5664
|
}), l(() => {
|
|
5665
5665
|
n.value?.unbind("comment-broadcast");
|
|
5666
5666
|
});
|
|
5667
5667
|
}
|
|
5668
|
-
function
|
|
5668
|
+
function Ps(e, t) {
|
|
5669
5669
|
switch (t.action) {
|
|
5670
5670
|
case "comment_created":
|
|
5671
5671
|
e.applyRemoteCreate(t.comment);
|
|
@@ -5684,7 +5684,7 @@ function Fs(e, t) {
|
|
|
5684
5684
|
}
|
|
5685
5685
|
//#endregion
|
|
5686
5686
|
//#region ../core/src/cloud/collaboration.ts
|
|
5687
|
-
var
|
|
5687
|
+
var Fs = [
|
|
5688
5688
|
"pusher:member_added",
|
|
5689
5689
|
"pusher:member_removed",
|
|
5690
5690
|
"client-block_locked",
|
|
@@ -5692,10 +5692,10 @@ var Is = [
|
|
|
5692
5692
|
"client-operation",
|
|
5693
5693
|
"mcp-operation"
|
|
5694
5694
|
];
|
|
5695
|
-
function
|
|
5696
|
-
for (let t of
|
|
5695
|
+
function Is(e) {
|
|
5696
|
+
for (let t of Fs) e.unbind(t);
|
|
5697
5697
|
}
|
|
5698
|
-
var
|
|
5698
|
+
var Ls = [
|
|
5699
5699
|
"#3b82f6",
|
|
5700
5700
|
"#ef4444",
|
|
5701
5701
|
"#10b981",
|
|
@@ -5707,10 +5707,10 @@ var Rs = [
|
|
|
5707
5707
|
"#6366f1",
|
|
5708
5708
|
"#14b8a6"
|
|
5709
5709
|
];
|
|
5710
|
-
function
|
|
5710
|
+
function Rs(e) {
|
|
5711
5711
|
let { authManager: t, editor: n, channel: r } = e, i = C([]), a = C(/* @__PURE__ */ new Map()), o = 0, s = !1, c = O(() => t.userConfig?.id ?? "");
|
|
5712
5712
|
function u() {
|
|
5713
|
-
let e =
|
|
5713
|
+
let e = Ls[o % Ls.length];
|
|
5714
5714
|
return o++, e;
|
|
5715
5715
|
}
|
|
5716
5716
|
function d(e) {
|
|
@@ -5752,7 +5752,7 @@ function zs(e) {
|
|
|
5752
5752
|
function h(e) {
|
|
5753
5753
|
s = !0;
|
|
5754
5754
|
try {
|
|
5755
|
-
|
|
5755
|
+
Cs(n, e);
|
|
5756
5756
|
} finally {
|
|
5757
5757
|
s = !1;
|
|
5758
5758
|
}
|
|
@@ -5772,7 +5772,7 @@ function zs(e) {
|
|
|
5772
5772
|
return H(() => n.state.selectedBlockId, (e, t) => {
|
|
5773
5773
|
s || (t && v(t), e && _(e));
|
|
5774
5774
|
}), H(r, (t, n) => {
|
|
5775
|
-
if (n &&
|
|
5775
|
+
if (n && Is(n), !t) {
|
|
5776
5776
|
i.value = [], a.value = /* @__PURE__ */ new Map(), o = 0;
|
|
5777
5777
|
return;
|
|
5778
5778
|
}
|
|
@@ -5804,7 +5804,7 @@ function zs(e) {
|
|
|
5804
5804
|
h(e);
|
|
5805
5805
|
});
|
|
5806
5806
|
}), l(() => {
|
|
5807
|
-
r.value &&
|
|
5807
|
+
r.value && Is(r.value);
|
|
5808
5808
|
}), {
|
|
5809
5809
|
collaborators: i,
|
|
5810
5810
|
lockedBlocks: a,
|
|
@@ -5814,7 +5814,7 @@ function zs(e) {
|
|
|
5814
5814
|
}
|
|
5815
5815
|
//#endregion
|
|
5816
5816
|
//#region ../core/src/cloud/collaboration-broadcast.ts
|
|
5817
|
-
function
|
|
5817
|
+
function zs(e, t) {
|
|
5818
5818
|
let n = e.addBlock, r = e.updateBlock, i = e.removeBlock, a = e.moveBlock, o = e.updateSettings, s = e.setContent;
|
|
5819
5819
|
e.addBlock = (e, r, i, a) => {
|
|
5820
5820
|
n(e, r, i, a), t._broadcastOperation({
|
|
@@ -5869,11 +5869,11 @@ function Bs(e, t) {
|
|
|
5869
5869
|
}
|
|
5870
5870
|
//#endregion
|
|
5871
5871
|
//#region ../core/src/cloud/web-socket.ts
|
|
5872
|
-
function
|
|
5872
|
+
function Bs(e) {
|
|
5873
5873
|
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = null, o = null;
|
|
5874
5874
|
async function s(e, s) {
|
|
5875
5875
|
if (a) return;
|
|
5876
|
-
a = new
|
|
5876
|
+
a = new Ss({
|
|
5877
5877
|
authManager: t,
|
|
5878
5878
|
config: s,
|
|
5879
5879
|
onError: n
|
|
@@ -5901,8 +5901,8 @@ function Vs(e) {
|
|
|
5901
5901
|
}
|
|
5902
5902
|
//#endregion
|
|
5903
5903
|
//#region ../core/src/cloud/saved-modules.ts
|
|
5904
|
-
function
|
|
5905
|
-
let t = new
|
|
5904
|
+
function Vs(e) {
|
|
5905
|
+
let t = new bs(e.authManager), n = C([]), r = C(!1);
|
|
5906
5906
|
async function i(i) {
|
|
5907
5907
|
r.value = !0;
|
|
5908
5908
|
try {
|
|
@@ -5950,8 +5950,8 @@ function Hs(e) {
|
|
|
5950
5950
|
}
|
|
5951
5951
|
//#endregion
|
|
5952
5952
|
//#region ../core/src/cloud/snapshots.ts
|
|
5953
|
-
function
|
|
5954
|
-
let t = new
|
|
5953
|
+
function Hs(e) {
|
|
5954
|
+
let t = new bs(e.authManager), n = C([]), r = C(!1), i = C(!1);
|
|
5955
5955
|
async function a() {
|
|
5956
5956
|
r.value = !0;
|
|
5957
5957
|
try {
|
|
@@ -5983,8 +5983,8 @@ function Us(e) {
|
|
|
5983
5983
|
}
|
|
5984
5984
|
//#endregion
|
|
5985
5985
|
//#region ../core/src/cloud/test-email.ts
|
|
5986
|
-
function
|
|
5987
|
-
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new
|
|
5986
|
+
function Us(e) {
|
|
5987
|
+
let { authManager: t, getTemplateId: n, save: r, exportHtml: i, onError: a, isAuthReady: o, onBeforeTestEmail: s } = e, c = new bs(t), l = C(!1), u = C(null), d = C(null);
|
|
5988
5988
|
o && H(o, (e) => {
|
|
5989
5989
|
e && (d.value = t.testEmailConfig);
|
|
5990
5990
|
}, { immediate: !0 });
|
|
@@ -6020,8 +6020,8 @@ function Ws(e) {
|
|
|
6020
6020
|
}
|
|
6021
6021
|
//#endregion
|
|
6022
6022
|
//#region ../core/src/cloud/export.ts
|
|
6023
|
-
function
|
|
6024
|
-
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new
|
|
6023
|
+
function Ws(e) {
|
|
6024
|
+
let { authManager: t, getFontsConfig: n, canUseCustomFonts: r } = e, i = new bs(t);
|
|
6025
6025
|
function a() {
|
|
6026
6026
|
let e = n?.();
|
|
6027
6027
|
return {
|
|
@@ -6047,8 +6047,8 @@ function Gs(e) {
|
|
|
6047
6047
|
}
|
|
6048
6048
|
//#endregion
|
|
6049
6049
|
//#region ../core/src/cloud/plan-config.ts
|
|
6050
|
-
function
|
|
6051
|
-
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new
|
|
6050
|
+
function Gs(e) {
|
|
6051
|
+
let { authManager: t, onError: n } = e, r = C(null), i = C(!1), a = new bs(t), o = O(() => r.value?.features ?? null);
|
|
6052
6052
|
function s(e) {
|
|
6053
6053
|
return r.value?.features[e] ?? !1;
|
|
6054
6054
|
}
|
|
@@ -6074,11 +6074,11 @@ function Ks(e) {
|
|
|
6074
6074
|
}
|
|
6075
6075
|
//#endregion
|
|
6076
6076
|
//#region ../core/src/cloud/health-check.ts
|
|
6077
|
-
var
|
|
6078
|
-
function
|
|
6077
|
+
var Ks = 5e3;
|
|
6078
|
+
function qs(e) {
|
|
6079
6079
|
return e.authManager ? e.authManager.resolveUrl($.health) : `${(e.baseUrl ?? "https://templatical.com").replace(/\/$/, "")}${$.health}`;
|
|
6080
6080
|
}
|
|
6081
|
-
async function
|
|
6081
|
+
async function Js(e, t) {
|
|
6082
6082
|
let n = performance.now();
|
|
6083
6083
|
try {
|
|
6084
6084
|
let r = t ? await t.authenticatedFetch($.health, {
|
|
@@ -6130,7 +6130,7 @@ async function Ys(e, t) {
|
|
|
6130
6130
|
};
|
|
6131
6131
|
}
|
|
6132
6132
|
}
|
|
6133
|
-
async function
|
|
6133
|
+
async function Ys(e) {
|
|
6134
6134
|
if (!e?.host || !e?.app_key) return {
|
|
6135
6135
|
ok: !1,
|
|
6136
6136
|
error: "WebSocket configuration not available"
|
|
@@ -6146,7 +6146,7 @@ async function Xs(e) {
|
|
|
6146
6146
|
ok: !1,
|
|
6147
6147
|
error: "WebSocket connection timed out"
|
|
6148
6148
|
});
|
|
6149
|
-
},
|
|
6149
|
+
}, Ks);
|
|
6150
6150
|
try {
|
|
6151
6151
|
n = new WebSocket(t);
|
|
6152
6152
|
} catch (t) {
|
|
@@ -6166,8 +6166,8 @@ async function Xs(e) {
|
|
|
6166
6166
|
};
|
|
6167
6167
|
});
|
|
6168
6168
|
}
|
|
6169
|
-
async function
|
|
6170
|
-
let t = await
|
|
6169
|
+
async function Xs(e = {}) {
|
|
6170
|
+
let t = await Js(qs(e), e.authManager), n = await Ys(t.wsConfig);
|
|
6171
6171
|
return {
|
|
6172
6172
|
api: t.api,
|
|
6173
6173
|
websocket: n,
|
|
@@ -6177,29 +6177,29 @@ async function Zs(e = {}) {
|
|
|
6177
6177
|
}
|
|
6178
6178
|
//#endregion
|
|
6179
6179
|
//#region ../core/src/cloud/mcp-listener.ts
|
|
6180
|
-
function
|
|
6180
|
+
function Zs(e) {
|
|
6181
6181
|
let { editor: t, channel: n, onOperation: r } = e;
|
|
6182
6182
|
H(n, (e, n) => {
|
|
6183
6183
|
n && n.unbind("mcp-operation"), e && e.bind("mcp-operation", (e) => {
|
|
6184
|
-
|
|
6184
|
+
Cs(t, e), r?.(e);
|
|
6185
6185
|
});
|
|
6186
6186
|
});
|
|
6187
6187
|
}
|
|
6188
6188
|
//#endregion
|
|
6189
6189
|
//#region src/cloud/components/AiChatSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6190
|
-
var
|
|
6190
|
+
var Qs = {
|
|
6191
6191
|
key: 0,
|
|
6192
6192
|
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)]"
|
|
6193
|
-
},
|
|
6193
|
+
}, $s = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, ec = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, tc = { class: "tpl:flex tpl:items-center tpl:gap-1" }, nc = ["title"], rc = { class: "tpl:relative tpl:flex tpl:min-h-0 tpl:flex-1 tpl:flex-col" }, ic = {
|
|
6194
6194
|
key: 0,
|
|
6195
6195
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6196
|
-
},
|
|
6196
|
+
}, ac = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, oc = {
|
|
6197
6197
|
key: 1,
|
|
6198
6198
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6199
|
-
},
|
|
6199
|
+
}, sc = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, cc = {
|
|
6200
6200
|
key: 2,
|
|
6201
6201
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6202
|
-
},
|
|
6202
|
+
}, lc = {
|
|
6203
6203
|
key: 0,
|
|
6204
6204
|
class: "tpl:self-end tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm",
|
|
6205
6205
|
style: {
|
|
@@ -6208,10 +6208,10 @@ var $s = {
|
|
|
6208
6208
|
"max-width": "85%",
|
|
6209
6209
|
"box-shadow": "var(--tpl-shadow)"
|
|
6210
6210
|
}
|
|
6211
|
-
},
|
|
6211
|
+
}, uc = {
|
|
6212
6212
|
key: 1,
|
|
6213
6213
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6214
|
-
},
|
|
6214
|
+
}, dc = {
|
|
6215
6215
|
key: 1,
|
|
6216
6216
|
class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:px-3.5 tpl:py-2.5 tpl:text-sm tpl:whitespace-pre-wrap",
|
|
6217
6217
|
style: {
|
|
@@ -6220,21 +6220,21 @@ var $s = {
|
|
|
6220
6220
|
color: "var(--tpl-text)",
|
|
6221
6221
|
"box-shadow": "var(--tpl-shadow)"
|
|
6222
6222
|
}
|
|
6223
|
-
},
|
|
6223
|
+
}, fc = {
|
|
6224
6224
|
key: 0,
|
|
6225
6225
|
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",
|
|
6226
6226
|
style: {
|
|
6227
6227
|
"background-color": "var(--tpl-danger-light)",
|
|
6228
6228
|
color: "var(--tpl-danger)"
|
|
6229
6229
|
}
|
|
6230
|
-
},
|
|
6230
|
+
}, pc = {
|
|
6231
6231
|
key: 1,
|
|
6232
6232
|
class: "tpl:absolute tpl:right-0 tpl:bottom-0 tpl:left-0 tpl:z-10 tpl:px-3 tpl:pb-3",
|
|
6233
6233
|
style: {
|
|
6234
6234
|
"background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 50%,\n transparent\n )",
|
|
6235
6235
|
"backdrop-filter": "blur(2px)"
|
|
6236
6236
|
}
|
|
6237
|
-
},
|
|
6237
|
+
}, mc = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, hc = ["onClick"], gc = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, _c = { 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)]" }, vc = ["placeholder", "disabled"], yc = ["disabled"], bc = { class: "tpl:m-0 tpl:px-1 tpl:pt-2 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, xc = /*@__PURE__*/ B({
|
|
6238
6238
|
__name: "AiChatSidebar",
|
|
6239
6239
|
props: {
|
|
6240
6240
|
visible: { type: Boolean },
|
|
@@ -6242,7 +6242,7 @@ var $s = {
|
|
|
6242
6242
|
},
|
|
6243
6243
|
emits: ["close"],
|
|
6244
6244
|
setup(e, { emit: t }) {
|
|
6245
|
-
let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Ia(), u =
|
|
6245
|
+
let n = e, r = t, i = J(yr, "AiChatSidebar"), a = J(zn, "AiChatSidebar"), o = J(mr, "AiChatSidebar"), s = v(Zn, []), l = Ia(), u = Os({
|
|
6246
6246
|
authManager: o,
|
|
6247
6247
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6248
6248
|
onApply: n.onApply,
|
|
@@ -6289,11 +6289,11 @@ var $s = {
|
|
|
6289
6289
|
"leave-from-class": "tpl:translate-x-0",
|
|
6290
6290
|
"leave-to-class": "tpl:translate-x-full"
|
|
6291
6291
|
}, {
|
|
6292
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6293
|
-
I("div",
|
|
6292
|
+
default: b(() => [e.visible ? (f(), k("div", Qs, [
|
|
6293
|
+
I("div", $s, [I("div", ec, [V(j(Ni), {
|
|
6294
6294
|
size: 13,
|
|
6295
6295
|
"stroke-width": 2
|
|
6296
|
-
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div",
|
|
6296
|
+
}), I("span", null, D(j(i).aiChat.title), 1)]), I("div", tc, [(j(u).messages.value?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6297
6297
|
key: 0,
|
|
6298
6298
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6299
6299
|
title: j(i).aiChat.clear,
|
|
@@ -6301,30 +6301,30 @@ var $s = {
|
|
|
6301
6301
|
}, [V(j(Fi), {
|
|
6302
6302
|
size: 14,
|
|
6303
6303
|
"stroke-width": 2
|
|
6304
|
-
})], 8,
|
|
6304
|
+
})], 8, nc)) : A("", !0), I("button", {
|
|
6305
6305
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6306
6306
|
onClick: n[1] ||= (e) => r("close")
|
|
6307
6307
|
}, [V(j(Bi), {
|
|
6308
6308
|
size: 14,
|
|
6309
6309
|
"stroke-width": 2
|
|
6310
6310
|
})])])]),
|
|
6311
|
-
I("div",
|
|
6311
|
+
I("div", rc, [
|
|
6312
6312
|
I("div", {
|
|
6313
6313
|
ref_key: "messagesContainer",
|
|
6314
6314
|
ref: p,
|
|
6315
6315
|
class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4"
|
|
6316
|
-
}, [j(u).isLoadingHistory.value ? (f(), k("div",
|
|
6316
|
+
}, [j(u).isLoadingHistory.value ? (f(), k("div", ic, [V(j(xi), {
|
|
6317
6317
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6318
6318
|
size: 24,
|
|
6319
6319
|
"stroke-width": 2
|
|
6320
|
-
}), I("p",
|
|
6320
|
+
}), I("p", ac, D(j(i).aiChat.loadingHistory), 1)])) : (j(u).messages.value?.length ?? 0) === 0 ? (f(), k("div", oc, [V(j(Ni), {
|
|
6321
6321
|
size: 32,
|
|
6322
6322
|
"stroke-width": 1.5,
|
|
6323
6323
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6324
|
-
}), I("p",
|
|
6324
|
+
}), I("p", sc, D(j(i).aiChat.placeholder), 1)])) : (f(), k("div", cc, [(f(!0), k(R, null, h(j(u).messages.value, (e, t) => (f(), k("div", {
|
|
6325
6325
|
key: e.id,
|
|
6326
6326
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6327
|
-
}, [e.role === "user" ? (f(), k("div",
|
|
6327
|
+
}, [e.role === "user" ? (f(), k("div", lc, D(e.content), 1)) : (f(), k("div", uc, [!T(e.content) && j(u).isGenerating.value && t === (j(u).messages.value?.length ?? 0) - 1 ? (f(), N(Yi, { key: 0 })) : (f(), k("div", dc, D(T(e.content) || j(i).aiChat.applied), 1)), e.id === j(u).lastApplyMessageId.value && !j(u).isGenerating.value ? (f(), k("button", {
|
|
6328
6328
|
key: 2,
|
|
6329
6329
|
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",
|
|
6330
6330
|
style: {
|
|
@@ -6340,12 +6340,12 @@ var $s = {
|
|
|
6340
6340
|
size: 12,
|
|
6341
6341
|
"stroke-width": 2
|
|
6342
6342
|
}), z(" " + D(j(i).aiChat.revert), 1)], 64))])) : A("", !0)]))]))), 128))]))], 512),
|
|
6343
|
-
j(u).error.value ? (f(), k("div",
|
|
6343
|
+
j(u).error.value ? (f(), k("div", fc, [V(j(si), {
|
|
6344
6344
|
size: 14,
|
|
6345
6345
|
"stroke-width": 2,
|
|
6346
6346
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
6347
6347
|
}), I("span", null, D(j(u).error.value === "ai_apply_failed" ? j(i).aiChat.applyFailed : j(i).aiChat.error), 1)])) : A("", !0),
|
|
6348
|
-
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div",
|
|
6348
|
+
(j(u).suggestions.value?.length ?? 0) > 0 ? (f(), k("div", pc, [I("div", mc, [(f(!0), k(R, null, h(j(u).suggestions.value ?? [], (e, t) => (f(), k("button", {
|
|
6349
6349
|
key: t,
|
|
6350
6350
|
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"]),
|
|
6351
6351
|
style: {
|
|
@@ -6355,99 +6355,99 @@ var $s = {
|
|
|
6355
6355
|
"box-shadow": "var(--tpl-shadow)"
|
|
6356
6356
|
},
|
|
6357
6357
|
onClick: (t) => E(e)
|
|
6358
|
-
}, D(e), 11,
|
|
6358
|
+
}, D(e), 11, hc))), 128))])])) : A("", !0)
|
|
6359
6359
|
]),
|
|
6360
|
-
I("div",
|
|
6360
|
+
I("div", gc, [I("div", _c, [c(I("textarea", {
|
|
6361
6361
|
"onUpdate:modelValue": n[3] ||= (e) => d.value = e,
|
|
6362
6362
|
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)]",
|
|
6363
6363
|
placeholder: j(i).aiChat.inputPlaceholder,
|
|
6364
6364
|
disabled: j(u).isGenerating.value,
|
|
6365
6365
|
rows: "3",
|
|
6366
6366
|
onKeydown: te
|
|
6367
|
-
}, null, 40,
|
|
6367
|
+
}, null, 40, vc), [[ae, d.value]]), I("button", {
|
|
6368
6368
|
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)]",
|
|
6369
6369
|
disabled: !d.value.trim() || j(u).isGenerating.value,
|
|
6370
6370
|
onClick: ee
|
|
6371
6371
|
}, [V(j(ki), {
|
|
6372
6372
|
size: 16,
|
|
6373
6373
|
"stroke-width": 2
|
|
6374
|
-
})], 8,
|
|
6374
|
+
})], 8, yc)]), I("p", bc, D(j(i).aiMenu.disclaimer), 1)])
|
|
6375
6375
|
])) : A("", !0)]),
|
|
6376
6376
|
_: 1
|
|
6377
6377
|
}));
|
|
6378
6378
|
}
|
|
6379
|
-
}),
|
|
6380
|
-
function
|
|
6379
|
+
}), Sc = /* @__PURE__ */ e({ default: () => Cc }), Cc = /*#__PURE__*/ Gi(xc, [["__scopeId", "data-v-a55e4bff"]]), wc = 6e4, Tc = 36e5, Ec = 864e5;
|
|
6380
|
+
function Dc(e, t, n, r) {
|
|
6381
6381
|
let i = new Date(e).getTime();
|
|
6382
6382
|
if (Number.isNaN(i)) return null;
|
|
6383
6383
|
let a = Date.now() - i;
|
|
6384
6384
|
if (a < -6e4) return null;
|
|
6385
|
-
let o = Math.floor(a /
|
|
6385
|
+
let o = Math.floor(a / wc), s = Math.floor(a / Tc), c = Math.floor(a / Ec);
|
|
6386
6386
|
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));
|
|
6387
6387
|
}
|
|
6388
6388
|
//#endregion
|
|
6389
6389
|
//#region src/cloud/components/CommentsSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
6390
|
-
var
|
|
6390
|
+
var Oc = {
|
|
6391
6391
|
key: 0,
|
|
6392
6392
|
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)]"
|
|
6393
|
-
},
|
|
6393
|
+
}, kc = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Ac = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]" }, jc = {
|
|
6394
6394
|
key: 0,
|
|
6395
6395
|
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)]"
|
|
6396
|
-
},
|
|
6396
|
+
}, Mc = { class: "tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-2" }, Nc = { class: "tpl:flex-1 tpl:overflow-y-auto" }, Pc = {
|
|
6397
6397
|
key: 0,
|
|
6398
6398
|
class: "tpl:flex tpl:h-full tpl:items-center tpl:justify-center"
|
|
6399
|
-
},
|
|
6399
|
+
}, Fc = {
|
|
6400
6400
|
key: 1,
|
|
6401
6401
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:px-6 tpl:text-center"
|
|
6402
|
-
},
|
|
6402
|
+
}, Ic = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Lc = {
|
|
6403
6403
|
key: 2,
|
|
6404
6404
|
class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-3"
|
|
6405
|
-
},
|
|
6405
|
+
}, Rc = { class: "tpl-comment-card tpl:rounded-lg tpl:border tpl:px-3.5 tpl:py-3" }, zc = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, Bc = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, Vc = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Hc = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, Uc = {
|
|
6406
6406
|
key: 0,
|
|
6407
6407
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6408
|
-
},
|
|
6408
|
+
}, Wc = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, Gc = ["title", "onClick"], Kc = ["title", "onClick"], qc = ["title", "onClick"], Jc = {
|
|
6409
6409
|
key: 0,
|
|
6410
6410
|
class: "tpl:mt-1 tpl:flex tpl:items-center tpl:gap-1 tpl:text-[10px] tpl:text-[var(--tpl-primary)]"
|
|
6411
|
-
},
|
|
6411
|
+
}, Yc = {
|
|
6412
6412
|
key: 0,
|
|
6413
6413
|
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)]"
|
|
6414
|
-
},
|
|
6414
|
+
}, Xc = ["onClick"], Zc = {
|
|
6415
6415
|
key: 2,
|
|
6416
6416
|
class: "tpl:mt-2"
|
|
6417
|
-
},
|
|
6417
|
+
}, Qc = ["onKeydown"], $c = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, el = ["disabled", "onClick"], tl = {
|
|
6418
6418
|
key: 3,
|
|
6419
6419
|
class: "tpl:mt-1.5 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6420
|
-
},
|
|
6420
|
+
}, nl = {
|
|
6421
6421
|
key: 4,
|
|
6422
6422
|
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)]"
|
|
6423
|
-
},
|
|
6423
|
+
}, rl = { class: "tpl:flex-1" }, il = ["onClick"], al = {
|
|
6424
6424
|
key: 5,
|
|
6425
6425
|
class: "tpl:mt-2 tpl:flex tpl:items-center tpl:gap-2"
|
|
6426
|
-
},
|
|
6426
|
+
}, ol = ["title", "onClick"], sl = ["onClick"], cl = {
|
|
6427
6427
|
key: 0,
|
|
6428
6428
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6429
|
-
},
|
|
6429
|
+
}, ll = { class: "tpl:flex tpl:items-start tpl:justify-between tpl:gap-2" }, ul = { class: "tpl:flex tpl:items-center tpl:gap-1.5" }, dl = { class: "tpl:text-xs tpl:font-semibold tpl:text-[var(--tpl-text)]" }, fl = { class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]" }, pl = {
|
|
6430
6430
|
key: 0,
|
|
6431
6431
|
class: "tpl:text-[10px] tpl:italic tpl:text-[var(--tpl-text-dim)]"
|
|
6432
|
-
},
|
|
6432
|
+
}, ml = { class: "tpl:flex tpl:items-center tpl:gap-0.5" }, hl = ["title", "onClick"], gl = ["title", "onClick"], _l = {
|
|
6433
6433
|
key: 0,
|
|
6434
6434
|
class: "tpl:mt-1.5"
|
|
6435
|
-
},
|
|
6435
|
+
}, vl = ["onKeydown"], yl = { class: "tpl:mt-1.5 tpl:flex tpl:gap-1.5" }, bl = ["disabled", "onClick"], xl = {
|
|
6436
6436
|
key: 1,
|
|
6437
6437
|
class: "tpl:mt-1 tpl:text-xs tpl:leading-relaxed tpl:whitespace-pre-wrap tpl:text-[var(--tpl-text)]"
|
|
6438
|
-
},
|
|
6438
|
+
}, Sl = {
|
|
6439
6439
|
key: 2,
|
|
6440
6440
|
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)]"
|
|
6441
|
-
},
|
|
6441
|
+
}, Cl = { class: "tpl:flex-1" }, wl = ["onClick"], Tl = {
|
|
6442
6442
|
key: 0,
|
|
6443
6443
|
class: "tpl-comment-replies tpl:ml-5 tpl:pl-3 tpl:pt-2"
|
|
6444
|
-
},
|
|
6444
|
+
}, El = { class: "tpl:flex tpl:items-end tpl:gap-2" }, Dl = ["placeholder", "onKeydown"], Ol = { class: "tpl:flex tpl:shrink-0 tpl:flex-col tpl:gap-1" }, kl = ["disabled", "onClick"], Al = { class: "tpl:border-t tpl:p-3 tpl:border-[var(--tpl-border)]" }, jl = {
|
|
6445
6445
|
key: 0,
|
|
6446
6446
|
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)]"
|
|
6447
|
-
},
|
|
6447
|
+
}, Ml = {
|
|
6448
6448
|
key: 1,
|
|
6449
6449
|
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)]"
|
|
6450
|
-
},
|
|
6450
|
+
}, Nl = ["placeholder", "disabled"], Pl = ["disabled"], Fl = /*@__PURE__*/ B({
|
|
6451
6451
|
__name: "CommentsSidebar",
|
|
6452
6452
|
props: { visible: { type: Boolean } },
|
|
6453
6453
|
emits: ["close", "filterBlock"],
|
|
@@ -6520,7 +6520,7 @@ var kc = {
|
|
|
6520
6520
|
return e.author_identifier === T.value;
|
|
6521
6521
|
}
|
|
6522
6522
|
function ve(e) {
|
|
6523
|
-
return
|
|
6523
|
+
return Dc(e, o.snapshotHistory) ?? e;
|
|
6524
6524
|
}
|
|
6525
6525
|
function ye(e) {
|
|
6526
6526
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), fe());
|
|
@@ -6547,14 +6547,14 @@ var kc = {
|
|
|
6547
6547
|
"leave-from-class": "tpl:translate-x-0",
|
|
6548
6548
|
"leave-to-class": "tpl:translate-x-full"
|
|
6549
6549
|
}, {
|
|
6550
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6551
|
-
I("div",
|
|
6550
|
+
default: b(() => [e.visible ? (f(), k("div", Oc, [
|
|
6551
|
+
I("div", kc, [I("div", Ac, [
|
|
6552
6552
|
V(j(Si), {
|
|
6553
6553
|
size: 13,
|
|
6554
6554
|
"stroke-width": 2
|
|
6555
6555
|
}),
|
|
6556
6556
|
I("span", null, D(j(o).comments.title), 1),
|
|
6557
|
-
j(u).unresolvedCount.value > 0 ? (f(), k("span",
|
|
6557
|
+
j(u).unresolvedCount.value > 0 ? (f(), k("span", jc, D(j(u).unresolvedCount.value), 1)) : A("", !0)
|
|
6558
6558
|
]), I("button", {
|
|
6559
6559
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
6560
6560
|
onClick: n[0] ||= (e) => i("close")
|
|
@@ -6562,7 +6562,7 @@ var kc = {
|
|
|
6562
6562
|
size: 14,
|
|
6563
6563
|
"stroke-width": 2
|
|
6564
6564
|
})])]),
|
|
6565
|
-
I("div",
|
|
6565
|
+
I("div", Mc, [
|
|
6566
6566
|
I("button", {
|
|
6567
6567
|
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" : ""]),
|
|
6568
6568
|
onClick: n[1] ||= (e) => M("unresolved")
|
|
@@ -6577,24 +6577,24 @@ var kc = {
|
|
|
6577
6577
|
onClick: n[3] ||= (e) => M("block", j(s).state.selectedBlockId ?? void 0)
|
|
6578
6578
|
}, D(j(o).comments.filterBlock), 3)) : A("", !0)
|
|
6579
6579
|
]),
|
|
6580
|
-
I("div",
|
|
6580
|
+
I("div", Nc, [j(u).isLoading.value ? (f(), k("div", Pc, [V(j(xi), {
|
|
6581
6581
|
class: "tpl-spinner tpl:text-[var(--tpl-text-muted)]",
|
|
6582
6582
|
size: 24,
|
|
6583
6583
|
"stroke-width": 2
|
|
6584
|
-
})])) : re.value.length === 0 ? (f(), k("div",
|
|
6584
|
+
})])) : re.value.length === 0 ? (f(), k("div", Fc, [V(j(Si), {
|
|
6585
6585
|
size: 32,
|
|
6586
6586
|
"stroke-width": 1.5,
|
|
6587
6587
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6588
|
-
}), I("p",
|
|
6588
|
+
}), I("p", Ic, D(d.value === "all" ? j(o).comments.noCommentsHint : j(o).comments.noComments), 1)])) : (f(), k("div", Lc, [(f(!0), k(R, null, h(re.value, (e) => (f(), k("div", {
|
|
6589
6589
|
key: e.id,
|
|
6590
6590
|
class: "tpl-comment-thread"
|
|
6591
6591
|
}, [
|
|
6592
|
-
I("div",
|
|
6593
|
-
I("div",
|
|
6594
|
-
I("span",
|
|
6595
|
-
I("span",
|
|
6596
|
-
e.updated_at === e.created_at ? A("", !0) : (f(), k("span",
|
|
6597
|
-
]), I("div",
|
|
6592
|
+
I("div", Rc, [
|
|
6593
|
+
I("div", zc, [I("div", Bc, [
|
|
6594
|
+
I("span", Vc, D(_e(e) ? j(o).comments.ownedByYou : e.author_name), 1),
|
|
6595
|
+
I("span", Hc, D(ve(e.created_at)), 1),
|
|
6596
|
+
e.updated_at === e.created_at ? A("", !0) : (f(), k("span", Uc, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6597
|
+
]), I("div", Wc, [
|
|
6598
6598
|
I("button", {
|
|
6599
6599
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6600
6600
|
title: e.resolved_at ? j(o).comments.unresolve : j(o).comments.resolve,
|
|
@@ -6604,7 +6604,7 @@ var kc = {
|
|
|
6604
6604
|
"stroke-width": 2,
|
|
6605
6605
|
class: "tpl-resolve-icon",
|
|
6606
6606
|
style: L({ color: e.resolved_at ? "var(--tpl-primary)" : void 0 })
|
|
6607
|
-
}, null, 8, ["style"])], 8,
|
|
6607
|
+
}, null, 8, ["style"])], 8, Gc),
|
|
6608
6608
|
_e(e) ? (f(), k("button", {
|
|
6609
6609
|
key: 0,
|
|
6610
6610
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
@@ -6613,7 +6613,7 @@ var kc = {
|
|
|
6613
6613
|
}, [V(j(wi), {
|
|
6614
6614
|
size: 12,
|
|
6615
6615
|
"stroke-width": 2
|
|
6616
|
-
})], 8,
|
|
6616
|
+
})], 8, Kc)) : A("", !0),
|
|
6617
6617
|
_e(e) ? (f(), k("button", {
|
|
6618
6618
|
key: 1,
|
|
6619
6619
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
@@ -6622,45 +6622,45 @@ var kc = {
|
|
|
6622
6622
|
}, [V(j(Fi), {
|
|
6623
6623
|
size: 12,
|
|
6624
6624
|
"stroke-width": 2
|
|
6625
|
-
})], 8,
|
|
6625
|
+
})], 8, qc)) : A("", !0)
|
|
6626
6626
|
])]),
|
|
6627
6627
|
V(ie, { name: "tpl-resolve" }, {
|
|
6628
|
-
default: b(() => [e.resolved_at ? (f(), k("div",
|
|
6628
|
+
default: b(() => [e.resolved_at ? (f(), k("div", Jc, [V(j(ni), {
|
|
6629
6629
|
size: 10,
|
|
6630
6630
|
"stroke-width": 2.5
|
|
6631
6631
|
}), I("span", null, D(j(a)(j(o).comments.resolvedBy, { name: e.resolved_by_name ?? "" })), 1)])) : A("", !0)]),
|
|
6632
6632
|
_: 2
|
|
6633
6633
|
}, 1024),
|
|
6634
|
-
e.block_id && te(e.block_id) ? (f(), k("span",
|
|
6634
|
+
e.block_id && te(e.block_id) ? (f(), k("span", Yc, D(j(o).comments.missingBlock), 1)) : e.block_id ? (f(), k("button", {
|
|
6635
6635
|
key: 1,
|
|
6636
6636
|
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)]",
|
|
6637
6637
|
onClick: (t) => j(s).selectBlock(e.block_id ?? "")
|
|
6638
|
-
}, " Block ", 8,
|
|
6639
|
-
y.value === e.id ? (f(), k("div",
|
|
6638
|
+
}, " Block ", 8, Xc)) : A("", !0),
|
|
6639
|
+
y.value === e.id ? (f(), k("div", Zc, [c(I("textarea", {
|
|
6640
6640
|
"onUpdate:modelValue": n[4] ||= (e) => x.value = e,
|
|
6641
6641
|
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)]",
|
|
6642
6642
|
rows: "3",
|
|
6643
6643
|
onKeydown: (t) => xe(t, e.id)
|
|
6644
|
-
}, null, 40,
|
|
6644
|
+
}, null, 40, Qc), [[ae, x.value]]), I("div", $c, [I("button", {
|
|
6645
6645
|
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)]",
|
|
6646
6646
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6647
6647
|
onClick: (t) => me(e.id)
|
|
6648
|
-
}, D(j(o).comments.save), 9,
|
|
6648
|
+
}, D(j(o).comments.save), 9, el), I("button", {
|
|
6649
6649
|
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)]",
|
|
6650
6650
|
onClick: n[5] ||= (e) => B()
|
|
6651
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6652
|
-
w.value === e.id ? (f(), k("div",
|
|
6653
|
-
I("span",
|
|
6651
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", tl, D(e.body), 1)),
|
|
6652
|
+
w.value === e.id ? (f(), k("div", nl, [
|
|
6653
|
+
I("span", rl, D(j(o).comments.deleteConfirm), 1),
|
|
6654
6654
|
I("button", {
|
|
6655
6655
|
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)]",
|
|
6656
6656
|
onClick: (t) => he(e.id)
|
|
6657
|
-
}, D(j(o).comments.delete), 9,
|
|
6657
|
+
}, D(j(o).comments.delete), 9, il),
|
|
6658
6658
|
I("button", {
|
|
6659
6659
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6660
6660
|
onClick: n[6] ||= (e) => de()
|
|
6661
6661
|
}, D(j(o).comments.cancel), 1)
|
|
6662
6662
|
])) : A("", !0),
|
|
6663
|
-
y.value !== e.id && w.value !== e.id ? (f(), k("div",
|
|
6663
|
+
y.value !== e.id && w.value !== e.id ? (f(), k("div", al, [I("button", {
|
|
6664
6664
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6665
6665
|
title: j(o).comments.reply,
|
|
6666
6666
|
onClick: (t) => se(e.id)
|
|
@@ -6668,7 +6668,7 @@ var kc = {
|
|
|
6668
6668
|
size: 13,
|
|
6669
6669
|
"stroke-width": 2,
|
|
6670
6670
|
class: "tpl:text-[var(--tpl-primary)]"
|
|
6671
|
-
})], 8,
|
|
6671
|
+
})], 8, ol), (e.replies?.length ?? 0) > 0 ? (f(), k("button", {
|
|
6672
6672
|
key: 0,
|
|
6673
6673
|
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)]",
|
|
6674
6674
|
onClick: (t) => oe(e.id)
|
|
@@ -6680,18 +6680,18 @@ var kc = {
|
|
|
6680
6680
|
key: 1,
|
|
6681
6681
|
size: 11,
|
|
6682
6682
|
"stroke-width": 2
|
|
6683
|
-
})), 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,
|
|
6683
|
+
})), 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, sl)) : A("", !0)])) : A("", !0)
|
|
6684
6684
|
]),
|
|
6685
6685
|
V(ie, { name: "tpl-replies" }, {
|
|
6686
|
-
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div",
|
|
6686
|
+
default: b(() => [S.value.has(e.id) && (e.replies?.length ?? 0) > 0 ? (f(), k("div", cl, [(f(!0), k(R, null, h(e.replies, (t, r) => (f(), k("div", {
|
|
6687
6687
|
key: t.id,
|
|
6688
6688
|
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" : ""])
|
|
6689
6689
|
}, [
|
|
6690
|
-
I("div",
|
|
6691
|
-
I("span",
|
|
6692
|
-
I("span",
|
|
6693
|
-
t.updated_at === t.created_at ? A("", !0) : (f(), k("span",
|
|
6694
|
-
]), I("div",
|
|
6690
|
+
I("div", ll, [I("div", ul, [
|
|
6691
|
+
I("span", dl, D(_e(t) ? j(o).comments.ownedByYou : t.author_name), 1),
|
|
6692
|
+
I("span", fl, D(ve(t.created_at)), 1),
|
|
6693
|
+
t.updated_at === t.created_at ? A("", !0) : (f(), k("span", pl, " (" + D(j(o).comments.edited) + ") ", 1))
|
|
6694
|
+
]), I("div", ml, [_e(t) ? (f(), k("button", {
|
|
6695
6695
|
key: 0,
|
|
6696
6696
|
class: "tpl-comment-action tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6697
6697
|
title: j(o).comments.edit,
|
|
@@ -6699,7 +6699,7 @@ var kc = {
|
|
|
6699
6699
|
}, [V(j(wi), {
|
|
6700
6700
|
size: 11,
|
|
6701
6701
|
"stroke-width": 2
|
|
6702
|
-
})], 8,
|
|
6702
|
+
})], 8, hl)) : A("", !0), _e(t) ? (f(), k("button", {
|
|
6703
6703
|
key: 1,
|
|
6704
6704
|
class: "tpl-comment-action tpl-comment-delete tpl:rounded tpl:p-1 tpl:transition-colors tpl:duration-150",
|
|
6705
6705
|
title: j(o).comments.delete,
|
|
@@ -6707,26 +6707,26 @@ var kc = {
|
|
|
6707
6707
|
}, [V(j(Fi), {
|
|
6708
6708
|
size: 11,
|
|
6709
6709
|
"stroke-width": 2
|
|
6710
|
-
})], 8,
|
|
6711
|
-
y.value === t.id ? (f(), k("div",
|
|
6710
|
+
})], 8, gl)) : A("", !0)])]),
|
|
6711
|
+
y.value === t.id ? (f(), k("div", _l, [c(I("textarea", {
|
|
6712
6712
|
"onUpdate:modelValue": n[7] ||= (e) => x.value = e,
|
|
6713
6713
|
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)]",
|
|
6714
6714
|
rows: "2",
|
|
6715
6715
|
onKeydown: (e) => xe(e, t.id)
|
|
6716
|
-
}, null, 40,
|
|
6716
|
+
}, null, 40, vl), [[ae, x.value]]), I("div", yl, [I("button", {
|
|
6717
6717
|
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)]",
|
|
6718
6718
|
disabled: !x.value.trim() || j(u).isSubmitting.value,
|
|
6719
6719
|
onClick: (e) => me(t.id)
|
|
6720
|
-
}, D(j(o).comments.save), 9,
|
|
6720
|
+
}, D(j(o).comments.save), 9, bl), I("button", {
|
|
6721
6721
|
class: "tpl:rounded-md tpl:px-2.5 tpl:py-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6722
6722
|
onClick: n[8] ||= (e) => B()
|
|
6723
|
-
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p",
|
|
6724
|
-
w.value === t.id ? (f(), k("div",
|
|
6725
|
-
I("span",
|
|
6723
|
+
}, D(j(o).comments.cancel), 1)])])) : (f(), k("p", xl, D(t.body), 1)),
|
|
6724
|
+
w.value === t.id ? (f(), k("div", Sl, [
|
|
6725
|
+
I("span", Cl, D(j(o).comments.deleteConfirm), 1),
|
|
6726
6726
|
I("button", {
|
|
6727
6727
|
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)]",
|
|
6728
6728
|
onClick: (e) => he(t.id)
|
|
6729
|
-
}, D(j(o).comments.delete), 9,
|
|
6729
|
+
}, D(j(o).comments.delete), 9, wl),
|
|
6730
6730
|
I("button", {
|
|
6731
6731
|
class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]",
|
|
6732
6732
|
onClick: n[9] ||= (e) => de()
|
|
@@ -6736,20 +6736,20 @@ var kc = {
|
|
|
6736
6736
|
_: 2
|
|
6737
6737
|
}, 1024),
|
|
6738
6738
|
V(ie, { name: "tpl-replies" }, {
|
|
6739
|
-
default: b(() => [_.value === e.id ? (f(), k("div",
|
|
6739
|
+
default: b(() => [_.value === e.id ? (f(), k("div", Tl, [I("div", El, [c(I("textarea", {
|
|
6740
6740
|
"onUpdate:modelValue": n[10] ||= (e) => v.value = e,
|
|
6741
6741
|
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)]",
|
|
6742
6742
|
placeholder: j(o).comments.replyPlaceholder,
|
|
6743
6743
|
rows: "2",
|
|
6744
6744
|
onKeydown: (t) => be(t, e.id)
|
|
6745
|
-
}, null, 40,
|
|
6745
|
+
}, null, 40, Dl), [[ae, v.value]]), I("div", Ol, [I("button", {
|
|
6746
6746
|
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)]",
|
|
6747
6747
|
disabled: !v.value.trim() || j(u).isSubmitting.value,
|
|
6748
6748
|
onClick: (t) => pe(e.id)
|
|
6749
6749
|
}, [V(j(ki), {
|
|
6750
6750
|
size: 14,
|
|
6751
6751
|
"stroke-width": 2
|
|
6752
|
-
})], 8,
|
|
6752
|
+
})], 8, kl), I("button", {
|
|
6753
6753
|
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)]",
|
|
6754
6754
|
onClick: n[11] ||= (e) => ce()
|
|
6755
6755
|
}, [V(j(Bi), {
|
|
@@ -6759,7 +6759,7 @@ var kc = {
|
|
|
6759
6759
|
_: 2
|
|
6760
6760
|
}, 1024)
|
|
6761
6761
|
]))), 128))]))]),
|
|
6762
|
-
I("div",
|
|
6762
|
+
I("div", Al, [ne.value ? (f(), k("div", jl, D(j(o).comments.saveTemplateFirst), 1)) : (f(), k("div", Ml, [c(I("textarea", {
|
|
6763
6763
|
ref_key: "newCommentInput",
|
|
6764
6764
|
ref: ee,
|
|
6765
6765
|
"onUpdate:modelValue": n[12] ||= (e) => g.value = e,
|
|
@@ -6768,7 +6768,7 @@ var kc = {
|
|
|
6768
6768
|
disabled: j(u).isSubmitting.value,
|
|
6769
6769
|
rows: "2",
|
|
6770
6770
|
onKeydown: ye
|
|
6771
|
-
}, null, 40,
|
|
6771
|
+
}, null, 40, Nl), [[ae, g.value]]), I("button", {
|
|
6772
6772
|
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)]",
|
|
6773
6773
|
disabled: !g.value.trim() || j(u).isSubmitting.value,
|
|
6774
6774
|
onClick: fe
|
|
@@ -6781,33 +6781,33 @@ var kc = {
|
|
|
6781
6781
|
key: 1,
|
|
6782
6782
|
size: 16,
|
|
6783
6783
|
"stroke-width": 2
|
|
6784
|
-
}))], 8,
|
|
6784
|
+
}))], 8, Pl)]))])
|
|
6785
6785
|
])) : A("", !0)]),
|
|
6786
6786
|
_: 1
|
|
6787
6787
|
}));
|
|
6788
6788
|
}
|
|
6789
|
-
}),
|
|
6789
|
+
}), Il = /* @__PURE__ */ e({ default: () => Ll }), Ll = /*#__PURE__*/ Gi(Fl, [["__scopeId", "data-v-d204f573"]]), Rl = {
|
|
6790
6790
|
key: 0,
|
|
6791
6791
|
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)]"
|
|
6792
|
-
},
|
|
6792
|
+
}, zl = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Bl = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Vl = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Hl = {
|
|
6793
6793
|
key: 0,
|
|
6794
6794
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
6795
|
-
},
|
|
6795
|
+
}, Ul = { class: "tpl:flex tpl:w-full tpl:flex-col tpl:items-center tpl:gap-3" }, Wl = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Gl = {
|
|
6796
6796
|
key: 1,
|
|
6797
6797
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
6798
|
-
},
|
|
6798
|
+
}, Kl = { class: "tpl:flex tpl:gap-1 tpl:rounded-[var(--tpl-radius-sm)] tpl:p-1 tpl:bg-[var(--tpl-bg-hover)]" }, ql = {
|
|
6799
6799
|
key: 0,
|
|
6800
6800
|
class: "tpl:flex tpl:flex-col tpl:gap-2"
|
|
6801
|
-
},
|
|
6801
|
+
}, Jl = { class: "tpl:relative tpl:overflow-hidden tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)]" }, Yl = ["src", "alt"], Xl = {
|
|
6802
6802
|
key: 1,
|
|
6803
6803
|
class: "tpl:flex tpl:h-32 tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-2"
|
|
6804
|
-
},
|
|
6804
|
+
}, Zl = { class: "tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, Ql = { class: "tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]" }, $l = { class: "tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, eu = ["accept"], tu = { class: "tpl:flex tpl:flex-col tpl:gap-1.5" }, nu = { class: "tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, ru = ["placeholder"], iu = {
|
|
6805
6805
|
key: 0,
|
|
6806
6806
|
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)]"
|
|
6807
|
-
},
|
|
6807
|
+
}, au = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, ou = { class: "tpl:flex tpl:gap-2" }, su = {
|
|
6808
6808
|
key: 1,
|
|
6809
6809
|
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)]"
|
|
6810
|
-
},
|
|
6810
|
+
}, cu = ["disabled"], lu = { class: "tpl:m-0 tpl:pt-1 tpl:text-center tpl:text-[11px] tpl:text-[var(--tpl-text-dim)]" }, uu = /*@__PURE__*/ B({
|
|
6811
6811
|
__name: "DesignReferenceSidebar",
|
|
6812
6812
|
props: {
|
|
6813
6813
|
visible: { type: Boolean },
|
|
@@ -6815,7 +6815,7 @@ var kc = {
|
|
|
6815
6815
|
},
|
|
6816
6816
|
emits: ["close", "apply"],
|
|
6817
6817
|
setup(e, { emit: t }) {
|
|
6818
|
-
let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o =
|
|
6818
|
+
let n = e, r = t, { t: i } = ta(), a = J(zn, "DesignReferenceSidebar"), o = js({
|
|
6819
6819
|
authManager: J(mr, "DesignReferenceSidebar"),
|
|
6820
6820
|
getTemplateId: () => a.state.template?.id ?? null,
|
|
6821
6821
|
onApply: (e) => r("apply", e)
|
|
@@ -6887,7 +6887,7 @@ var kc = {
|
|
|
6887
6887
|
"leave-from-class": "tpl:translate-x-0",
|
|
6888
6888
|
"leave-to-class": "tpl:translate-x-full"
|
|
6889
6889
|
}, {
|
|
6890
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
6890
|
+
default: b(() => [e.visible ? (f(), k("div", Rl, [I("div", zl, [I("div", Bl, [V(j(vi), {
|
|
6891
6891
|
size: 13,
|
|
6892
6892
|
"stroke-width": 2
|
|
6893
6893
|
}), I("span", null, D(j(i).designReference.title), 1)]), I("button", {
|
|
@@ -6896,8 +6896,8 @@ var kc = {
|
|
|
6896
6896
|
}, [V(j(Bi), {
|
|
6897
6897
|
size: 14,
|
|
6898
6898
|
"stroke-width": 2
|
|
6899
|
-
})])]), I("div",
|
|
6900
|
-
I("div",
|
|
6899
|
+
})])]), I("div", Vl, [j(o).isGenerating.value ? (f(), k("div", Hl, [I("div", Ul, [V(Yi), I("p", Wl, D(j(i).designReference.generating), 1)])])) : (f(), k("div", Gl, [
|
|
6900
|
+
I("div", Kl, [I("button", {
|
|
6901
6901
|
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",
|
|
6902
6902
|
style: L({
|
|
6903
6903
|
backgroundColor: l.value === "image" ? "var(--tpl-bg)" : "transparent",
|
|
@@ -6920,16 +6920,16 @@ var kc = {
|
|
|
6920
6920
|
size: 12,
|
|
6921
6921
|
"stroke-width": 2
|
|
6922
6922
|
}), z(" " + D(j(i).designReference.uploadPdf), 1)], 4)]),
|
|
6923
|
-
I("div", null, [u.value ? (f(), k("div",
|
|
6923
|
+
I("div", null, [u.value ? (f(), k("div", ql, [I("div", Jl, [p.value ? (f(), k("img", {
|
|
6924
6924
|
key: 0,
|
|
6925
6925
|
src: p.value,
|
|
6926
6926
|
alt: u.value.name,
|
|
6927
6927
|
class: "tpl:h-auto tpl:max-h-48 tpl:w-full tpl:object-contain"
|
|
6928
|
-
}, null, 8,
|
|
6928
|
+
}, null, 8, Yl)) : (f(), k("div", Xl, [V(j(hi), {
|
|
6929
6929
|
size: 32,
|
|
6930
6930
|
"stroke-width": 1.5,
|
|
6931
6931
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6932
|
-
}), I("span",
|
|
6932
|
+
}), I("span", Zl, D(u.value.name), 1)])), I("button", {
|
|
6933
6933
|
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)]",
|
|
6934
6934
|
onClick: x
|
|
6935
6935
|
}, [V(j(Bi), {
|
|
@@ -6952,8 +6952,8 @@ var kc = {
|
|
|
6952
6952
|
"stroke-width": 1.5,
|
|
6953
6953
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
6954
6954
|
}),
|
|
6955
|
-
I("span",
|
|
6956
|
-
I("span",
|
|
6955
|
+
I("span", Ql, D(j(i).designReference.dropHint), 1),
|
|
6956
|
+
I("span", $l, D(l.value === "image" ? j(i).designReference.acceptedImages : j(i).designReference.acceptedPdf), 1)
|
|
6957
6957
|
], 36)), I("input", {
|
|
6958
6958
|
ref_key: "fileInput",
|
|
6959
6959
|
ref: s,
|
|
@@ -6961,14 +6961,14 @@ var kc = {
|
|
|
6961
6961
|
class: "tpl:hidden",
|
|
6962
6962
|
accept: l.value === "image" ? "image/png,image/jpeg,image/webp" : "application/pdf",
|
|
6963
6963
|
onChange: v
|
|
6964
|
-
}, null, 40,
|
|
6965
|
-
I("div",
|
|
6964
|
+
}, null, 40, eu)]),
|
|
6965
|
+
I("div", tu, [I("label", nu, D(j(i).designReference.promptLabel), 1), c(I("textarea", {
|
|
6966
6966
|
"onUpdate:modelValue": n[4] ||= (e) => d.value = e,
|
|
6967
6967
|
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"]]),
|
|
6968
6968
|
placeholder: j(i).designReference.promptPlaceholder,
|
|
6969
6969
|
rows: "3"
|
|
6970
|
-
}, null, 8,
|
|
6971
|
-
m.value ? (f(), k("div",
|
|
6970
|
+
}, null, 8, ru), [[ae, d.value]])]),
|
|
6971
|
+
m.value ? (f(), k("div", iu, [I("p", au, D(j(i).designReference.replaceWarning), 1), I("div", ou, [I("button", {
|
|
6972
6972
|
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)]",
|
|
6973
6973
|
style: { "background-color": "transparent" },
|
|
6974
6974
|
onClick: E
|
|
@@ -6976,7 +6976,7 @@ var kc = {
|
|
|
6976
6976
|
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)]",
|
|
6977
6977
|
onClick: T
|
|
6978
6978
|
}, D(j(i).designReference.replaceConfirm), 1)])])) : A("", !0),
|
|
6979
|
-
j(o).error.value ? (f(), k("div",
|
|
6979
|
+
j(o).error.value ? (f(), k("div", su, [V(j(si), {
|
|
6980
6980
|
size: 14,
|
|
6981
6981
|
"stroke-width": 2,
|
|
6982
6982
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -6989,32 +6989,32 @@ var kc = {
|
|
|
6989
6989
|
}, [V(j(vi), {
|
|
6990
6990
|
size: 16,
|
|
6991
6991
|
"stroke-width": 2
|
|
6992
|
-
}), z(" " + D(j(i).designReference.generate), 1)], 8,
|
|
6993
|
-
I("p",
|
|
6992
|
+
}), z(" " + D(j(i).designReference.generate), 1)], 8, cu)),
|
|
6993
|
+
I("p", lu, D(j(i).aiMenu.disclaimer), 1)
|
|
6994
6994
|
]))])])) : A("", !0)]),
|
|
6995
6995
|
_: 1
|
|
6996
6996
|
}));
|
|
6997
6997
|
}
|
|
6998
|
-
}),
|
|
6998
|
+
}), du = /* @__PURE__ */ e({ default: () => fu }), fu = /*#__PURE__*/ Gi(uu, [["__scopeId", "data-v-bdbf8d0d"]]), pu = ["disabled", "title"], mu = ["title"], hu = {
|
|
6999
6999
|
key: 0,
|
|
7000
7000
|
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)]",
|
|
7001
7001
|
style: {
|
|
7002
7002
|
"backdrop-filter": "blur(8px)",
|
|
7003
7003
|
"-webkit-backdrop-filter": "blur(8px)"
|
|
7004
7004
|
}
|
|
7005
|
-
},
|
|
7005
|
+
}, gu = { 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)]" }, _u = {
|
|
7006
7006
|
key: 0,
|
|
7007
7007
|
class: "tpl:flex tpl:items-center tpl:justify-center tpl:py-8"
|
|
7008
|
-
},
|
|
7008
|
+
}, vu = {
|
|
7009
7009
|
key: 1,
|
|
7010
7010
|
class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
|
|
7011
|
-
},
|
|
7011
|
+
}, yu = {
|
|
7012
7012
|
key: 2,
|
|
7013
7013
|
class: "tpl:max-h-64 tpl:overflow-y-auto"
|
|
7014
|
-
},
|
|
7014
|
+
}, bu = ["disabled", "onClick"], xu = { class: "tpl:flex tpl:flex-col tpl:gap-0.5" }, Su = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Cu = {
|
|
7015
7015
|
key: 0,
|
|
7016
7016
|
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)]"
|
|
7017
|
-
},
|
|
7017
|
+
}, wu = ["disabled", "title"], Tu = /*@__PURE__*/ B({
|
|
7018
7018
|
__name: "SnapshotHistory",
|
|
7019
7019
|
props: {
|
|
7020
7020
|
snapshots: {},
|
|
@@ -7042,7 +7042,7 @@ var kc = {
|
|
|
7042
7042
|
t !== -1 && (c.value = t, r("navigate", n.snapshots[t])), o.value = !1;
|
|
7043
7043
|
}
|
|
7044
7044
|
function _(e) {
|
|
7045
|
-
let t =
|
|
7045
|
+
let t = Dc(e, a.snapshotHistory, i, 7);
|
|
7046
7046
|
return t === null ? new Date(e).toLocaleDateString(void 0, {
|
|
7047
7047
|
month: "short",
|
|
7048
7048
|
day: "numeric",
|
|
@@ -7065,7 +7065,7 @@ var kc = {
|
|
|
7065
7065
|
}, [V(j(ii), {
|
|
7066
7066
|
size: 14,
|
|
7067
7067
|
"stroke-width": 2
|
|
7068
|
-
})], 8,
|
|
7068
|
+
})], 8, pu),
|
|
7069
7069
|
I("button", {
|
|
7070
7070
|
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)]",
|
|
7071
7071
|
title: j(a).snapshotHistory.tooltip,
|
|
@@ -7077,19 +7077,19 @@ var kc = {
|
|
|
7077
7077
|
class: F(["tpl:transition-transform tpl:duration-150", { "tpl:rotate-180": o.value }]),
|
|
7078
7078
|
size: 10,
|
|
7079
7079
|
"stroke-width": 2
|
|
7080
|
-
}, null, 8, ["class"])], 8,
|
|
7080
|
+
}, null, 8, ["class"])], 8, mu),
|
|
7081
7081
|
V(ie, { name: "tpl-dropdown" }, {
|
|
7082
|
-
default: b(() => [o.value ? (f(), k("div",
|
|
7082
|
+
default: b(() => [o.value ? (f(), k("div", hu, [I("div", gu, D(j(a).snapshotHistory.dropdownTitle), 1), e.isLoading ? (f(), k("div", _u, [V(j(xi), {
|
|
7083
7083
|
class: "tpl:animate-spin tpl:text-[var(--tpl-primary)]",
|
|
7084
7084
|
size: 20,
|
|
7085
7085
|
"stroke-width": 2
|
|
7086
|
-
})])) : e.snapshots.length === 0 ? (f(), k("div",
|
|
7086
|
+
})])) : e.snapshots.length === 0 ? (f(), k("div", vu, D(j(a).snapshotHistory.noSnapshots), 1)) : (f(), k("div", yu, [(f(!0), k(R, null, h(e.snapshots, (t) => (f(), k("button", {
|
|
7087
7087
|
key: t.id,
|
|
7088
7088
|
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)]",
|
|
7089
7089
|
style: { "background-color": "transparent" },
|
|
7090
7090
|
disabled: e.isRestoring,
|
|
7091
7091
|
onClick: (e) => g(t.id)
|
|
7092
|
-
}, [I("div",
|
|
7092
|
+
}, [I("div", xu, [I("div", Su, [I("span", null, D(_(t.created_at)), 1), t.is_autosave ? (f(), k("span", Cu, D(j(a).snapshotHistory.auto), 1)) : A("", !0)])])], 8, bu))), 128))]))])) : A("", !0)]),
|
|
7093
7093
|
_: 1
|
|
7094
7094
|
}),
|
|
7095
7095
|
I("button", {
|
|
@@ -7100,66 +7100,66 @@ var kc = {
|
|
|
7100
7100
|
}, [V(j(ai), {
|
|
7101
7101
|
size: 14,
|
|
7102
7102
|
"stroke-width": 2
|
|
7103
|
-
})], 8,
|
|
7103
|
+
})], 8, wu)
|
|
7104
7104
|
], 512));
|
|
7105
7105
|
}
|
|
7106
|
-
}),
|
|
7106
|
+
}), Eu = /* @__PURE__ */ e({ default: () => Du }), Du = Tu;
|
|
7107
7107
|
//#endregion
|
|
7108
7108
|
//#region src/cloud/utils/scoringStyles.ts
|
|
7109
|
-
function
|
|
7109
|
+
function Ou(e) {
|
|
7110
7110
|
return e >= 80 ? "var(--tpl-success)" : e >= 60 ? "var(--tpl-warning)" : "var(--tpl-danger)";
|
|
7111
7111
|
}
|
|
7112
|
-
function
|
|
7112
|
+
function ku(e) {
|
|
7113
7113
|
return e >= 80 ? "var(--tpl-success-light)" : e >= 60 ? "var(--tpl-warning-light)" : "var(--tpl-danger-light)";
|
|
7114
7114
|
}
|
|
7115
|
-
function
|
|
7115
|
+
function Au(e) {
|
|
7116
7116
|
return e === "high" ? "var(--tpl-danger)" : e === "medium" ? "var(--tpl-warning)" : "var(--tpl-text-muted)";
|
|
7117
7117
|
}
|
|
7118
|
-
function
|
|
7118
|
+
function ju(e) {
|
|
7119
7119
|
return e === "high" ? "var(--tpl-danger-light)" : e === "medium" ? "var(--tpl-warning-light)" : "var(--tpl-bg-hover)";
|
|
7120
7120
|
}
|
|
7121
7121
|
//#endregion
|
|
7122
7122
|
//#region src/cloud/components/TemplateScoringPanel.vue?vue&type=script&setup=true&lang.ts
|
|
7123
|
-
var
|
|
7123
|
+
var Mu = {
|
|
7124
7124
|
key: 0,
|
|
7125
7125
|
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)]"
|
|
7126
|
-
},
|
|
7126
|
+
}, Nu = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-4 tpl:py-3" }, Pu = { class: "tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-primary)]" }, Fu = { class: "tpl:flex tpl:items-center tpl:gap-1" }, Iu = ["title"], Lu = { class: "tpl:flex-1 tpl:overflow-y-auto tpl:p-4" }, Ru = {
|
|
7127
7127
|
key: 0,
|
|
7128
7128
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7129
|
-
},
|
|
7129
|
+
}, zu = { class: "tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Bu = {
|
|
7130
7130
|
key: 1,
|
|
7131
7131
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7132
|
-
},
|
|
7132
|
+
}, Vu = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, Hu = {
|
|
7133
7133
|
key: 2,
|
|
7134
7134
|
class: "tpl:flex tpl:flex-col tpl:gap-4"
|
|
7135
|
-
},
|
|
7135
|
+
}, Uu = { class: "tpl:text-xs tpl:font-medium tpl:uppercase tpl:tracking-wider tpl:text-[var(--tpl-text-muted)]" }, Wu = {
|
|
7136
7136
|
key: 0,
|
|
7137
7137
|
class: "tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
7138
|
-
},
|
|
7138
|
+
}, Gu = {
|
|
7139
7139
|
key: 0,
|
|
7140
7140
|
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)]"
|
|
7141
|
-
},
|
|
7141
|
+
}, Ku = ["onClick"], qu = { class: "tpl:flex-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)]" }, Ju = {
|
|
7142
7142
|
key: 0,
|
|
7143
7143
|
class: "tpl:text-[10px] tpl:text-[var(--tpl-text-dim)]"
|
|
7144
|
-
},
|
|
7144
|
+
}, Yu = {
|
|
7145
7145
|
key: 0,
|
|
7146
7146
|
class: "tpl:border-t tpl:border-[var(--tpl-border)]"
|
|
7147
|
-
},
|
|
7147
|
+
}, Xu = {
|
|
7148
7148
|
key: 0,
|
|
7149
7149
|
class: "tpl:px-3 tpl:py-3 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]"
|
|
7150
|
-
},
|
|
7150
|
+
}, Zu = { class: "tpl:flex tpl:items-start tpl:gap-2" }, Qu = { class: "tpl:flex-1 tpl:min-w-0" }, $u = { class: "tpl:flex tpl:items-start tpl:gap-1.5" }, ed = { class: "tpl:text-xs tpl:leading-snug tpl:text-[var(--tpl-text)]" }, td = {
|
|
7151
7151
|
key: 0,
|
|
7152
7152
|
class: "tpl:mt-1 tpl:text-[11px] tpl:leading-snug tpl:text-[var(--tpl-text-dim)]"
|
|
7153
|
-
},
|
|
7153
|
+
}, nd = {
|
|
7154
7154
|
key: 1,
|
|
7155
7155
|
class: "tpl:mt-2 tpl:flex tpl:justify-center"
|
|
7156
|
-
},
|
|
7156
|
+
}, rd = ["disabled", "onClick"], id = {
|
|
7157
7157
|
key: 0,
|
|
7158
7158
|
class: "tpl:mt-1.5 tpl:text-[11px] tpl:text-[var(--tpl-danger)]"
|
|
7159
|
-
},
|
|
7159
|
+
}, ad = {
|
|
7160
7160
|
key: 3,
|
|
7161
7161
|
class: "tpl:flex tpl:h-full tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-3 tpl:text-center"
|
|
7162
|
-
},
|
|
7162
|
+
}, od = { class: "tpl:max-w-[240px] tpl:text-sm tpl:text-[var(--tpl-text-muted)]" }, sd = { 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)]" }, cd = /*@__PURE__*/ B({
|
|
7163
7163
|
__name: "TemplateScoringPanel",
|
|
7164
7164
|
props: { visible: { type: Boolean } },
|
|
7165
7165
|
emits: ["close"],
|
|
@@ -7210,10 +7210,10 @@ var Nu = {
|
|
|
7210
7210
|
"leave-from-class": "tpl:translate-x-0",
|
|
7211
7211
|
"leave-to-class": "tpl:translate-x-full"
|
|
7212
7212
|
}, {
|
|
7213
|
-
default: b(() => [e.visible ? (f(), k("div",
|
|
7213
|
+
default: b(() => [e.visible ? (f(), k("div", Mu, [I("div", Nu, [I("div", Pu, [V(j(ji), {
|
|
7214
7214
|
size: 13,
|
|
7215
7215
|
"stroke-width": 2
|
|
7216
|
-
}), I("span", null, D(j(i).scoring.title), 1)]), I("div",
|
|
7216
|
+
}), I("span", null, D(j(i).scoring.title), 1)]), I("div", Fu, [j(o).scoringResult.value && !j(o).isScoring.value ? (f(), k("button", {
|
|
7217
7217
|
key: 0,
|
|
7218
7218
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7219
7219
|
title: j(i).scoring.rescore,
|
|
@@ -7221,19 +7221,19 @@ var Nu = {
|
|
|
7221
7221
|
}, [V(j(Di), {
|
|
7222
7222
|
size: 14,
|
|
7223
7223
|
"stroke-width": 2
|
|
7224
|
-
})], 8,
|
|
7224
|
+
})], 8, Iu)) : A("", !0), I("button", {
|
|
7225
7225
|
class: "tpl:rounded-md tpl:p-0.5 tpl:transition-colors tpl:duration-150 tpl:text-[var(--tpl-text-muted)]",
|
|
7226
7226
|
onClick: n[1] ||= (e) => r("close")
|
|
7227
7227
|
}, [V(j(Bi), {
|
|
7228
7228
|
size: 14,
|
|
7229
7229
|
"stroke-width": 2
|
|
7230
|
-
})])])]), I("div",
|
|
7230
|
+
})])])]), I("div", Lu, [j(o).isScoring.value ? (f(), k("div", Ru, [I("p", zu, D(j(i).scoring.scoring), 1), V(Yi, { class: "tpl:w-3/4" })])) : j(o).error.value && !j(o).scoringResult.value ? (f(), k("div", Bu, [
|
|
7231
7231
|
V(j(si), {
|
|
7232
7232
|
size: 32,
|
|
7233
7233
|
"stroke-width": 1.5,
|
|
7234
7234
|
class: "tpl:text-[var(--tpl-danger)]"
|
|
7235
7235
|
}),
|
|
7236
|
-
I("p",
|
|
7236
|
+
I("p", Vu, D(j(i).scoring.error), 1),
|
|
7237
7237
|
I("button", {
|
|
7238
7238
|
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)]",
|
|
7239
7239
|
onClick: n[2] ||= (e) => m()
|
|
@@ -7241,19 +7241,19 @@ var Nu = {
|
|
|
7241
7241
|
size: 12,
|
|
7242
7242
|
"stroke-width": 2
|
|
7243
7243
|
}), z(" " + D(j(i).scoring.rescore), 1)])
|
|
7244
|
-
])) : j(o).scoringResult.value ? (f(), k("div",
|
|
7244
|
+
])) : j(o).scoringResult.value ? (f(), k("div", Hu, [
|
|
7245
7245
|
I("div", {
|
|
7246
7246
|
class: "tpl:flex tpl:flex-col tpl:items-center tpl:gap-2 tpl:rounded-[var(--tpl-radius)] tpl:p-5",
|
|
7247
|
-
style: L({ backgroundColor: j(
|
|
7247
|
+
style: L({ backgroundColor: j(ku)(j(o).scoringResult.value.score) })
|
|
7248
7248
|
}, [
|
|
7249
7249
|
I("span", {
|
|
7250
7250
|
class: "tpl:text-4xl tpl:font-bold tpl:tabular-nums",
|
|
7251
|
-
style: L({ color: j(
|
|
7251
|
+
style: L({ color: j(Ou)(j(o).scoringResult.value.score) })
|
|
7252
7252
|
}, D(j(o).scoringResult.value.score), 5),
|
|
7253
|
-
I("span",
|
|
7254
|
-
_() > 0 ? (f(), k("span",
|
|
7253
|
+
I("span", Uu, D(j(i).scoring.overallScore), 1),
|
|
7254
|
+
_() > 0 ? (f(), k("span", Wu, D(_()) + " " + D(j(i).scoring.findings), 1)) : A("", !0)
|
|
7255
7255
|
], 4),
|
|
7256
|
-
j(o).fixError.value ? (f(), k("div",
|
|
7256
|
+
j(o).fixError.value ? (f(), k("div", Gu, [V(j(si), {
|
|
7257
7257
|
size: 14,
|
|
7258
7258
|
"stroke-width": 2,
|
|
7259
7259
|
class: "tpl:mt-0.5 tpl:shrink-0"
|
|
@@ -7268,40 +7268,40 @@ var Nu = {
|
|
|
7268
7268
|
(f(), N(d(p[e]), {
|
|
7269
7269
|
size: 14,
|
|
7270
7270
|
"stroke-width": 2,
|
|
7271
|
-
style: L({ color: j(
|
|
7271
|
+
style: L({ color: j(Ou)(j(o).scoringResult.value.categories[e].score) })
|
|
7272
7272
|
}, null, 8, ["style"])),
|
|
7273
|
-
I("span",
|
|
7273
|
+
I("span", qu, D(j(i).scoring.categories[e]), 1),
|
|
7274
7274
|
I("span", {
|
|
7275
7275
|
class: "tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-xs tpl:font-semibold tpl:tabular-nums",
|
|
7276
7276
|
style: L({
|
|
7277
|
-
color: j(
|
|
7278
|
-
backgroundColor: j(
|
|
7277
|
+
color: j(Ou)(j(o).scoringResult.value.categories[e].score),
|
|
7278
|
+
backgroundColor: j(ku)(j(o).scoringResult.value.categories[e].score)
|
|
7279
7279
|
})
|
|
7280
7280
|
}, D(j(o).scoringResult.value.categories[e].score), 5),
|
|
7281
|
-
j(o).scoringResult.value.categories[e].findings.length > 0 ? (f(), k("span",
|
|
7281
|
+
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),
|
|
7282
7282
|
V(j(ri), {
|
|
7283
7283
|
size: 12,
|
|
7284
7284
|
"stroke-width": 2,
|
|
7285
7285
|
class: F(["tpl:transition-transform tpl:duration-200 tpl:text-[var(--tpl-text-dim)]", c.value[e] ? "tpl:rotate-0" : "tpl:-rotate-90"])
|
|
7286
7286
|
}, null, 8, ["class"])
|
|
7287
|
-
], 8,
|
|
7287
|
+
], 8, Ku), c.value[e] ? (f(), k("div", Yu, [j(o).scoringResult.value.categories[e].findings.length === 0 ? (f(), k("div", Xu, 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", {
|
|
7288
7288
|
key: e.id,
|
|
7289
7289
|
class: "tpl:border-t tpl:px-3 tpl:py-2.5 first:tpl:border-t-0 tpl:border-[var(--tpl-border-light)]"
|
|
7290
|
-
}, [I("div",
|
|
7290
|
+
}, [I("div", Zu, [(f(), N(d(j(e.severity === "high" ? si : e.severity === "medium" ? Ii : bi)), {
|
|
7291
7291
|
size: 13,
|
|
7292
7292
|
"stroke-width": 2,
|
|
7293
7293
|
class: "tpl:mt-0.5 tpl:shrink-0",
|
|
7294
|
-
style: L({ color: j(
|
|
7295
|
-
}, null, 8, ["style"])), I("div",
|
|
7296
|
-
I("div",
|
|
7294
|
+
style: L({ color: j(Au)(e.severity) })
|
|
7295
|
+
}, null, 8, ["style"])), I("div", Qu, [
|
|
7296
|
+
I("div", $u, [I("span", {
|
|
7297
7297
|
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",
|
|
7298
7298
|
style: L({
|
|
7299
|
-
color: j(
|
|
7300
|
-
backgroundColor: j(
|
|
7299
|
+
color: j(Au)(e.severity),
|
|
7300
|
+
backgroundColor: j(ju)(e.severity)
|
|
7301
7301
|
})
|
|
7302
|
-
}, D(j(i).scoring.severity[e.severity]), 5), I("span",
|
|
7303
|
-
e.suggestion ? (f(), k("p",
|
|
7304
|
-
e.blockId ? (f(), k("div",
|
|
7302
|
+
}, D(j(i).scoring.severity[e.severity]), 5), I("span", ed, D(e.message), 1)]),
|
|
7303
|
+
e.suggestion ? (f(), k("p", td, D(e.suggestion), 1)) : A("", !0),
|
|
7304
|
+
e.blockId ? (f(), k("div", nd, [I("button", {
|
|
7305
7305
|
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)]",
|
|
7306
7306
|
style: { "background-color": "transparent" },
|
|
7307
7307
|
disabled: j(o).fixingFindingId.value !== null,
|
|
@@ -7315,27 +7315,27 @@ var Nu = {
|
|
|
7315
7315
|
key: 1,
|
|
7316
7316
|
size: 11,
|
|
7317
7317
|
"stroke-width": 2
|
|
7318
|
-
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8,
|
|
7318
|
+
})), z(" " + D(j(o).fixingFindingId.value === e.id ? j(i).scoring.fixing : j(i).scoring.fix), 1)], 8, rd), j(o).fixError.value ? (f(), k("p", id, D(j(o).fixError.value), 1)) : A("", !0)])) : A("", !0)
|
|
7319
7319
|
])])]))), 128))])) : A("", !0)])), 64))
|
|
7320
|
-
])) : (f(), k("div",
|
|
7320
|
+
])) : (f(), k("div", ad, [V(j(ji), {
|
|
7321
7321
|
size: 32,
|
|
7322
7322
|
"stroke-width": 1.5,
|
|
7323
7323
|
class: "tpl:text-[var(--tpl-text-dim)]"
|
|
7324
|
-
}), I("p",
|
|
7324
|
+
}), I("p", od, D(j(i).scoring.emptyState), 1)])), I("p", sd, D(j(i).aiMenu.disclaimer), 1)])])) : A("", !0)]),
|
|
7325
7325
|
_: 1
|
|
7326
7326
|
}));
|
|
7327
7327
|
}
|
|
7328
|
-
}),
|
|
7328
|
+
}), ld = /* @__PURE__ */ e({ default: () => ud }), ud = /*#__PURE__*/ Gi(cd, [["__scopeId", "data-v-c23c73d4"]]), dd = ["aria-busy"], fd = {
|
|
7329
7329
|
id: "tpl-test-email-title",
|
|
7330
7330
|
class: "tpl:mb-4 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
|
|
7331
|
-
},
|
|
7331
|
+
}, pd = { class: "tpl:mb-3" }, md = { class: "tpl:mb-1.5 tpl:block tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text-muted)]" }, hd = ["value"], gd = ["disabled"], _d = ["value"], vd = {
|
|
7332
7332
|
key: 0,
|
|
7333
7333
|
role: "alert",
|
|
7334
7334
|
class: "tpl:mb-3 tpl:text-xs tpl:text-[var(--tpl-danger)]"
|
|
7335
|
-
},
|
|
7335
|
+
}, yd = { class: "tpl:flex tpl:justify-end tpl:gap-2" }, bd = ["disabled"], xd = ["disabled"], Sd = {
|
|
7336
7336
|
key: 0,
|
|
7337
7337
|
class: "tpl:flex tpl:items-center tpl:gap-1.5"
|
|
7338
|
-
},
|
|
7338
|
+
}, Cd = { key: 1 }, wd = /*@__PURE__*/ B({
|
|
7339
7339
|
__name: "TestEmailModal",
|
|
7340
7340
|
props: {
|
|
7341
7341
|
visible: { type: Boolean },
|
|
@@ -7358,7 +7358,7 @@ var Nu = {
|
|
|
7358
7358
|
function l(e) {
|
|
7359
7359
|
e.key === "Enter" && !e.shiftKey && (e.preventDefault(), o()), e.key === "Escape" && s();
|
|
7360
7360
|
}
|
|
7361
|
-
return (t, n) => (f(), N(
|
|
7361
|
+
return (t, n) => (f(), N(fs, {
|
|
7362
7362
|
visible: e.visible,
|
|
7363
7363
|
onClose: s,
|
|
7364
7364
|
onKeydown: l
|
|
@@ -7374,14 +7374,14 @@ var Nu = {
|
|
|
7374
7374
|
"box-shadow": "var(--tpl-shadow-xl)"
|
|
7375
7375
|
}
|
|
7376
7376
|
}, [
|
|
7377
|
-
I("h3",
|
|
7378
|
-
I("div",
|
|
7377
|
+
I("h3", fd, D(j(i).testEmail.title), 1),
|
|
7378
|
+
I("div", pd, [I("label", md, D(j(i).testEmail.recipientLabel), 1), e.allowedEmails.length === 1 ? (f(), k("input", {
|
|
7379
7379
|
key: 0,
|
|
7380
7380
|
type: "text",
|
|
7381
7381
|
value: a.value,
|
|
7382
7382
|
disabled: "",
|
|
7383
7383
|
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)]"
|
|
7384
|
-
}, null, 8,
|
|
7384
|
+
}, null, 8, hd)) : c((f(), k("select", {
|
|
7385
7385
|
key: 1,
|
|
7386
7386
|
"onUpdate:modelValue": n[0] ||= (e) => a.value = e,
|
|
7387
7387
|
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)]",
|
|
@@ -7389,29 +7389,29 @@ var Nu = {
|
|
|
7389
7389
|
}, [(f(!0), k(R, null, h(e.allowedEmails, (e) => (f(), k("option", {
|
|
7390
7390
|
key: e,
|
|
7391
7391
|
value: e
|
|
7392
|
-
}, D(e), 9,
|
|
7393
|
-
e.error ? (f(), k("p",
|
|
7394
|
-
I("div",
|
|
7392
|
+
}, D(e), 9, _d))), 128))], 8, gd)), [[w, a.value]])]),
|
|
7393
|
+
e.error ? (f(), k("p", vd, D(e.error), 1)) : A("", !0),
|
|
7394
|
+
I("div", yd, [I("button", {
|
|
7395
7395
|
type: "button",
|
|
7396
7396
|
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 }]),
|
|
7397
7397
|
disabled: e.isSending,
|
|
7398
7398
|
onClick: s
|
|
7399
|
-
}, D(j(i).testEmail.cancel), 11,
|
|
7399
|
+
}, D(j(i).testEmail.cancel), 11, bd), I("button", {
|
|
7400
7400
|
type: "button",
|
|
7401
7401
|
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)]",
|
|
7402
7402
|
disabled: !a.value || e.isSending,
|
|
7403
7403
|
onClick: o
|
|
7404
|
-
}, [e.isSending ? (f(), k("span",
|
|
7404
|
+
}, [e.isSending ? (f(), k("span", Sd, [V(j(xi), {
|
|
7405
7405
|
class: "tpl:animate-spin",
|
|
7406
7406
|
size: 12,
|
|
7407
7407
|
"stroke-width": 2
|
|
7408
|
-
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span",
|
|
7409
|
-
], 8,
|
|
7408
|
+
}), z(" " + D(j(i).testEmail.sending), 1)])) : (f(), k("span", Cd, D(j(i).testEmail.send), 1))], 8, xd)])
|
|
7409
|
+
], 8, dd)]),
|
|
7410
7410
|
_: 1
|
|
7411
7411
|
}, 8, ["visible"]));
|
|
7412
7412
|
}
|
|
7413
|
-
}),
|
|
7413
|
+
}), Td = /* @__PURE__ */ e({ default: () => Ed }), Ed = wd;
|
|
7414
7414
|
//#endregion
|
|
7415
|
-
export { la as $, ue as $n, Un as $t,
|
|
7415
|
+
export { la as $, ue as $n, Un as $t, ls as A, St as An, li as At, uo as B, we as Bn, hr as Bt, bs as C, Ot as Cn, bi as Ct, ms as D, yt as Dn, fi as Dt, ps as E, Ct as En, pi as Et, Fo as F, W as Fn, X as Ft, Ia as G, Se as Gn, lr as Gt, eo as H, Te as Hn, mr as Ht, Mo as I, We as In, Wr as It, Oa as J, ge as Jn, Hn as Jt, Fa as K, Ce as Kn, yr as Kt, Oo as L, ye as Ln, jr as Lt, Zo as M, lt as Mn, ai as Mt, Go as N, ct as Nn, ri as Nt, fs as O, ht as On, di as Ot, Ho as P, st as Pn, ni as Pt, pa as Q, fe as Qn, zn as Qt, Eo as R, De as Rn, wr as Rt, xs as S, Lt as Sn, xi as St, Z as T, xt as Tn, vi as Tt, Xa as U, _e as Un, Kn as Ut, lo as V, ve as Vn, cr as Vt, Ra as W, he as Wn, qn as Wt, _a as X, pe as Xn, Xn as Xt, ya as Y, xe as Yn, Jn as Yt, ha as Z, de as Zn, sr as Zt, Ns as _, An as _n, ki as _t, Il as a, _r as an, ta as at, ks as b, ln as bn, Ci as bt, Xs as c, Wn as cn, Wi as ct, Us as d, J as dn, Ii as dt, ir as en, ca as et, Hs as f, vn as fn, Fi as ft, Rs as g, Nn as gn, Ai as gt, zs as h, q as hn, ji as ht, du as i, Yn as in, ea as it, ss as j, ut as jn, si as jt, us as k, mt as kn, ui as kt, Gs as l, Rn as ln, Bi as lt, Bs as m, Dn as mn, Ni as mt, ld as n, Qn as nn, ra as nt, Sc as o, vr as on, Qi as ot, Vs as p, En as pn, Pi as pt, Aa as q, Ee as qn, gr as qt, Eu as r, or as rn, na as rt, Zs as s, dr as sn, Gi as st, Td as t, tr as tn, ia as tt, Ws as u, Gn as un, Ri as ut, Ms as v, on as vn, Di as vt, $ as w, dt as wn, yi as wt, Ts as x, un as xn, Si as xt, As as y, an as yn, wi as yt, fo as z, be as zn, Y as zt };
|
|
7416
7416
|
|
|
7417
|
-
//# sourceMappingURL=features-
|
|
7417
|
+
//# sourceMappingURL=features-Bo7H8WNI.js.map
|