@aswin.dev/editor 0.7.2 → 0.7.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/{AccessibilityPanel-EmQ19wiS.js → AccessibilityPanel-COL6Wm7p.js} +1 -1
- package/dist/{AiChatSidebar-DeB0w_32.js → AiChatSidebar-DM2ri7KX.js} +9 -9
- package/dist/{AiFeatureMenu-DoLD5Cde.js → AiFeatureMenu-BrZBJ0R5.js} +5 -5
- package/dist/{BlockA11yBadge-DkNbDvJA.js → BlockA11yBadge-Qs6HtXid.js} +1 -1
- package/dist/{CloudEditor-zo9PjjvY.js → CloudEditor-BRpzzfQn.js} +327 -290
- package/dist/{CollaboratorBar-BsXMY-8e.js → CollaboratorBar-DsRXj3Kn.js} +2 -2
- package/dist/{CommentsSidebar-DIWIa4rS.js → CommentsSidebar-DE6ZsM4D.js} +15 -16
- package/dist/CountdownBlock-Ba3T-i2X.js +1536 -0
- package/dist/CountdownToolbar-B9IAZzeV.js +194 -0
- package/dist/{DesignReferenceSidebar-RDlnhL-6.js → DesignReferenceSidebar-B1iw3Bb7.js} +5 -5
- package/dist/{LoadingTrack-BJ59h9ok.js → LoadingTrack-Ba2pfF57.js} +1 -1
- package/dist/{ModuleBrowserModal-b7HbpByz.js → ModuleBrowserModal-DVnd1dqR.js} +7 -7
- package/dist/{ModulePreviewCanvas-D__YlOLS.js → ModulePreviewCanvas-D9jBAoBQ.js} +47 -42
- package/dist/{ParagraphEditor-B1aYPO-6.js → ParagraphEditor-CO3V0H_V.js} +25 -25
- package/dist/{RichTextEditorContent-BmEVMrkJ.js → RichTextEditorContent-CrqPQdnk.js} +1 -1
- package/dist/{SaveModuleDialog-ClovqI6h.js → SaveModuleDialog-CboNFwIA.js} +3 -3
- package/dist/{NumberWithSuffix-Ca3vNY84.js → SlidingPillSelect-DfcBdJqN.js} +123 -107
- package/dist/{SnapshotHistory-DoqtH0cw.js → SnapshotHistory-C26pvPre.js} +5 -5
- package/dist/{TemplateScoringPanel-DQv2ZAiL.js → TemplateScoringPanel-CS7o62zS.js} +7 -7
- package/dist/{TestEmailModal-iIeYJYsj.js → TestEmailModal-B4OoUWb_.js} +3 -3
- package/dist/{TitleEditor-CTDIwRF_.js → TitleEditor-DU_QWG_m.js} +7 -7
- package/dist/{TplModal-CBq1J1pG.js → TplModal-Dr6Do8oU.js} +1 -1
- package/dist/blockTypeIcons-cRDr36gk.js +189 -0
- package/dist/bundle-stats.json +7 -7
- package/dist/cdn/chunks/{AccessibilityPanel-BeU8nz7A.js → AccessibilityPanel-Csd47zqI.js} +9 -9
- package/dist/cdn/chunks/{AccessibilityPanel-BeU8nz7A.js.map → AccessibilityPanel-Csd47zqI.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-B2mhscyP.js → AiFeatureMenu-BlnZF5pf.js} +6 -6
- package/dist/cdn/chunks/{AiFeatureMenu-B2mhscyP.js.map → AiFeatureMenu-BlnZF5pf.js.map} +1 -1
- package/dist/cdn/chunks/{BlockA11yBadge-C4g77gF0.js → BlockA11yBadge-VY8NqI9n.js} +3 -3
- package/dist/cdn/chunks/{BlockA11yBadge-C4g77gF0.js.map → BlockA11yBadge-VY8NqI9n.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-Btyr0b0_.js → CloudEditor-D0TrKlva.js} +250 -213
- package/dist/cdn/chunks/CloudEditor-D0TrKlva.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-YBiIjiRh.js → CollaboratorBar-BhMNTI_h.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-YBiIjiRh.js.map → CollaboratorBar-BhMNTI_h.js.map} +1 -1
- package/dist/cdn/chunks/CountdownToolbar-DsP6O1fl.js +196 -0
- package/dist/cdn/chunks/CountdownToolbar-DsP6O1fl.js.map +1 -0
- package/dist/cdn/chunks/{ModuleBrowserModal-C2CDWKW6.js → ModuleBrowserModal-CpYPeiKv.js} +7 -7
- package/dist/cdn/chunks/{ModuleBrowserModal-C2CDWKW6.js.map → ModuleBrowserModal-CpYPeiKv.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-Drt8Evai.js → ModulePreviewCanvas-BIYYnqUq.js} +51 -47
- package/dist/cdn/chunks/ModulePreviewCanvas-BIYYnqUq.js.map +1 -0
- package/dist/cdn/chunks/{ParagraphEditor-BA1WbHI7.js → ParagraphEditor-ZV5SYYw8.js} +47 -47
- package/dist/cdn/chunks/{ParagraphEditor-BA1WbHI7.js.map → ParagraphEditor-ZV5SYYw8.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-BtWCA_Oc.js → RichTextEditorContent-Dx05ETtt.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-BtWCA_Oc.js.map → RichTextEditorContent-Dx05ETtt.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-AwL0tkCV.js → SaveModuleDialog-DJEEK7Wb.js} +23 -23
- package/dist/cdn/chunks/{SaveModuleDialog-AwL0tkCV.js.map → SaveModuleDialog-DJEEK7Wb.js.map} +1 -1
- package/dist/cdn/chunks/{NumberWithSuffix-Ty1bp9vB.js → SlidingPillSelect-BhPCkqVu.js} +132 -116
- package/dist/cdn/chunks/SlidingPillSelect-BhPCkqVu.js.map +1 -0
- package/dist/cdn/chunks/{TitleEditor-DbSyeixS.js → TitleEditor-fu1A87Ld.js} +21 -21
- package/dist/cdn/chunks/{TitleEditor-DbSyeixS.js.map → TitleEditor-fu1A87Ld.js.map} +1 -1
- package/dist/cdn/chunks/blockTypeIcons-CJirTS-q.js +25 -0
- package/dist/cdn/chunks/blockTypeIcons-CJirTS-q.js.map +1 -0
- package/dist/cdn/chunks/{de-RQrZR56a.js → de-BPHtelu7.js} +1 -1
- package/dist/cdn/chunks/{de-RQrZR56a.js.map → de-BPHtelu7.js.map} +1 -1
- package/dist/cdn/chunks/{de-Ce-LbJ2J.js → de-BRDqJwJe.js} +1 -1
- package/dist/cdn/chunks/{de-Ce-LbJ2J.js.map → de-BRDqJwJe.js.map} +1 -1
- package/dist/cdn/chunks/{de-_tooy3Q8.js → de-BsYijc0r.js} +120 -4
- package/dist/cdn/chunks/de-BsYijc0r.js.map +1 -0
- package/dist/cdn/chunks/{emojiData-EMFlj6FJ.js → emojiData-DUHzsh4j.js} +1 -1
- package/dist/cdn/chunks/{emojiData-EMFlj6FJ.js.map → emojiData-DUHzsh4j.js.map} +1 -1
- package/dist/cdn/chunks/{en-DiCWK5fG.js → en-Cdj_Ikl1.js} +1 -1
- package/dist/cdn/chunks/{en-DiCWK5fG.js.map → en-Cdj_Ikl1.js.map} +1 -1
- package/dist/cdn/chunks/{en-CNqLoIm9.js → en-DMu9hPIC.js} +120 -4
- package/dist/cdn/chunks/en-DMu9hPIC.js.map +1 -0
- package/dist/cdn/chunks/{en-Bl1ecfRF.js → en-DejwuJhw.js} +1 -1
- package/dist/cdn/chunks/{en-Bl1ecfRF.js.map → en-DejwuJhw.js.map} +1 -1
- package/dist/cdn/chunks/{extensions-BVKQw_sp.js → extensions-BbFKsjyT.js} +20 -20
- package/dist/cdn/chunks/{extensions-BVKQw_sp.js.map → extensions-BbFKsjyT.js.map} +1 -1
- package/dist/cdn/chunks/{features-DIBEo4xl.js → features-uApxwJMz.js} +3401 -1520
- package/dist/cdn/chunks/features-uApxwJMz.js.map +1 -0
- package/dist/cdn/chunks/{icons-C1Gg-ov-.js → icons-DZb4EX9m.js} +128 -60
- package/dist/cdn/chunks/icons-DZb4EX9m.js.map +1 -0
- package/dist/cdn/chunks/{liquid.browser-lQbkge2E.js → liquid.browser-CllF-us3.js} +1 -1
- package/dist/cdn/chunks/{liquid.browser-lQbkge2E.js.map → liquid.browser-CllF-us3.js.map} +1 -1
- package/dist/cdn/chunks/{media-library-BTF_Ko70.js → media-library-B3g52j8R.js} +838 -822
- package/dist/cdn/chunks/media-library-B3g52j8R.js.map +1 -0
- package/dist/cdn/chunks/{pusher-CDbNlZBE.js → pusher-i7-OBujc.js} +1 -1
- package/dist/cdn/chunks/{pusher-CDbNlZBE.js.map → pusher-i7-OBujc.js.map} +1 -1
- package/dist/cdn/chunks/{quality-C5AmotmP.js → quality-Ug5lFGHP.js} +301 -301
- package/dist/cdn/chunks/{quality-C5AmotmP.js.map → quality-Ug5lFGHP.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-D0L44Vlp.js → renderer-jXCdXjV-.js} +12 -12
- package/dist/cdn/chunks/{renderer-D0L44Vlp.js.map → renderer-jXCdXjV-.js.map} +1 -1
- package/dist/cdn/chunks/{src-RKexlYjA.js → src-FMtH5ZvJ.js} +9 -9
- package/dist/cdn/chunks/{src-RKexlYjA.js.map → src-FMtH5ZvJ.js.map} +1 -1
- package/dist/cdn/chunks/{styleConstants-PgmvNBzQ.js → styleConstants-DfcU8u_r.js} +1 -1
- package/dist/cdn/chunks/{styleConstants-PgmvNBzQ.js.map → styleConstants-DfcU8u_r.js.map} +1 -1
- package/dist/cdn/chunks/{styles-CQR6ed13.js → styles-Co9vw4ag.js} +2401 -1339
- package/dist/cdn/chunks/styles-Co9vw4ag.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-CDzAbF2j.js → tiptap-qXOh0vzV.js} +2 -2
- package/dist/cdn/chunks/{tiptap-CDzAbF2j.js.map → tiptap-qXOh0vzV.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +93 -64
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{cloud-DJG4tb4_.js → cloud-COUuu_KE.js} +1 -1
- package/dist/{de-2LEvILeZ.js → de-CR1qAkAm.js} +119 -3
- package/dist/{dist-BSJvAvH3.js → dist-BUzw1buG.js} +1 -1
- package/dist/{dist-b-XUqAoF.js → dist-BZyY-SS4.js} +1 -1
- package/dist/{dist-Df4ie7vZ.js → dist-BadNx4qo.js} +1 -1
- package/dist/{dist-wfAedlzi.js → dist-BesOh2mk.js} +1 -1
- package/dist/{dist-kZfaVUpW.js → dist-Bz3M4RXG.js} +3 -3
- package/dist/{dist-BvPgo-UK.js → dist-C3T2AKtB.js} +1 -1
- package/dist/{dist-CPVBKMmd.js → dist-C9ckKEZL.js} +1 -1
- package/dist/{dist-DxOoemkW.js → dist-CBItRG-Z.js} +1 -1
- package/dist/{dist-BeFnymxK.js → dist-COSzWQUs.js} +1 -1
- package/dist/{dist-Bmir0gYb.js → dist-DP82Y0rs.js} +254 -136
- package/dist/{dist-CivF9P8b.js → dist-Djgi0A6k.js} +92 -77
- package/dist/{dist-BHAeXaUY.js → dist-DtiDUrX-.js} +1 -1
- package/dist/{dist-HEQ52gTJ.js → dist-Dzt5foyL.js} +1 -1
- package/dist/{en-D2RU2Poj.js → en-jbnp1n6M.js} +119 -3
- package/dist/{extensions-BQ1xXx3d.js → extensions-Bg22D6c8.js} +12 -12
- package/dist/index.d.ts +10 -10
- package/dist/{pencil-BZJPNYWR.js → pencil-Bpimrzzw.js} +5 -2
- package/dist/style.css +1 -1
- package/dist/{styles-CavWjvol.js → styles-DgL0UYj0.js} +2321 -1236
- package/dist/templatical-editor.js +149 -120
- package/dist/{useEditorCore-BGnzcT7p.js → useEditorCore-CSlYQZWx.js} +3890 -3666
- package/dist/useMergeTag-BVL3A4OO.js +34 -0
- package/package.json +7 -7
- package/dist/CountdownBlock-BCi7-DAM.js +0 -92
- package/dist/CountdownToolbar-BuS8p5ju.js +0 -210
- package/dist/blockTypeIcons-QkC6f5UE.js +0 -140
- package/dist/cdn/chunks/CloudEditor-Btyr0b0_.js.map +0 -1
- package/dist/cdn/chunks/CountdownBlock-B06UZoWe.js +0 -93
- package/dist/cdn/chunks/CountdownBlock-B06UZoWe.js.map +0 -1
- package/dist/cdn/chunks/CountdownToolbar-C9XZr33O.js +0 -212
- package/dist/cdn/chunks/CountdownToolbar-C9XZr33O.js.map +0 -1
- package/dist/cdn/chunks/ModulePreviewCanvas-Drt8Evai.js.map +0 -1
- package/dist/cdn/chunks/NumberWithSuffix-Ty1bp9vB.js.map +0 -1
- package/dist/cdn/chunks/blockTypeIcons-pQIkxJzc.js +0 -23
- package/dist/cdn/chunks/blockTypeIcons-pQIkxJzc.js.map +0 -1
- package/dist/cdn/chunks/de-_tooy3Q8.js.map +0 -1
- package/dist/cdn/chunks/en-CNqLoIm9.js.map +0 -1
- package/dist/cdn/chunks/features-DIBEo4xl.js.map +0 -1
- package/dist/cdn/chunks/icons-C1Gg-ov-.js.map +0 -1
- package/dist/cdn/chunks/media-library-BTF_Ko70.js.map +0 -1
- package/dist/cdn/chunks/styles-CQR6ed13.js.map +0 -1
- package/dist/check-DJrpDKO_.js +0 -7
- package/dist/useMergeTag-CfuZq2fF.js +0 -34
- /package/dist/{_plugin-vue_export-helper-Bwh4ceeO.js → _plugin-vue_export-helper-BVAJ4lgT.js} +0 -0
- /package/dist/{clock-ik2pRJKG.js → clock-Ba4p3rJM.js} +0 -0
- /package/dist/{de-D2npYjrZ.js → de-GOtR9DwW.js} +0 -0
- /package/dist/{dist-DvHLtWVP.js → dist-DXa1uAMh.js} +0 -0
- /package/dist/{emojiData-DvQBBzmO.js → emojiData-DrBuvEoP.js} +0 -0
- /package/dist/{en-ib-4h3_o.js → en-dFFQVzNn.js} +0 -0
- /package/dist/{formatRelativeTime-CFDZnEIs.js → formatRelativeTime-BhhO8yCl.js} +0 -0
- /package/dist/{liquid.browser-7Rv0QDiO.js → liquid.browser-BvCyLQII.js} +0 -0
- /package/dist/{scan-line-DlghmhNf.js → scan-line-CzfFJO1o.js} +0 -0
- /package/dist/{send-DDdhIRj8.js → send-D2eSo4GH.js} +0 -0
- /package/dist/{shield-check-OSQ-JVTX.js → shield-check-jkpgcC0-.js} +0 -0
- /package/dist/{sparkles-BN4a-CoF.js → sparkles-Chm5CZfb.js} +0 -0
- /package/dist/{styleConstants-wWRbcuEK.js → styleConstants-34eUKPOZ.js} +0 -0
- /package/dist/{text-align-start-D1weisjS.js → text-align-start-CzBnJsW8.js} +0 -0
- /package/dist/{trash-2-CMWvQ5KX.js → trash-2-CtK2apEH.js} +0 -0
- /package/dist/{triangle-alert-DyidRNX_.js → triangle-alert-KpDVNbpn.js} +0 -0
- /package/dist/{undo-2-Cg8I7obC.js → undo-2-m1EUDbUg.js} +0 -0
- /package/dist/{useCloudI18n-BTTNBk5i.js → useCloudI18n-DOKSZql1.js} +0 -0
- /package/dist/{x-CgIhNcT9.js → x-BkaOMosX.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { C as e, D as t, P as n, X as r, _ as i, b as a, ct as o, dt as s, f as c, ft as l, g as u, h as d, p as f, ut as p, v as m, x as h } from "./draggable-C-1_gch3.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { n as T, t as E } from "./RichTextEditorContent-
|
|
2
|
+
import { Ct as g, Q as _, Vt as v, ln as y, un as b } from "./features-uApxwJMz.js";
|
|
3
|
+
import { $ as x, T as S, X as C, ft as w } from "./icons-DZb4EX9m.js";
|
|
4
|
+
import { n as T, t as E } from "./RichTextEditorContent-Dx05ETtt.js";
|
|
5
5
|
//#region src/components/blocks/TitleEditor.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme", "aria-label"], O = ["aria-label", "title"], k = ["aria-label", "title"], A = ["aria-label", "title"], j = {
|
|
7
7
|
key: 0,
|
|
@@ -17,17 +17,17 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
17
17
|
},
|
|
18
18
|
emits: ["done"],
|
|
19
19
|
setup(e, { emit: P }) {
|
|
20
|
-
let F = e, I = P, L = t(
|
|
20
|
+
let F = e, I = P, L = t(y, null), R = t(b, null), { t: z } = v(), { editor: B, EditorContent: V, isLoading: H, initError: U, retry: W, showLinkDialog: G, linkUrl: K, linkDialogRef: q, canRequestMergeTag: J, openLinkDialog: Y, insertLink: X, removeLink: Z, closeLinkDialog: Q, handleLinkKeydown: te, handleAddMergeTag: $ } = _({
|
|
21
21
|
blockId: () => F.block.id,
|
|
22
22
|
blockContent: () => F.block.content,
|
|
23
23
|
onDone: () => I("done"),
|
|
24
24
|
editorName: "TitleEditor",
|
|
25
25
|
async loadExtensions({ mergeTags: e, syntax: t, triggerChar: n, autocompleteEnabled: r, suggestionEmptyText: i }) {
|
|
26
26
|
let [{ Editor: a, EditorContent: o }, { default: s }, { default: c }, { MergeTagNode: l, MergeTagSuggestion: u, LogicMergeTagNode: d }] = await Promise.all([
|
|
27
|
-
import("./tiptap-
|
|
28
|
-
import("./tiptap-
|
|
29
|
-
import("./tiptap-
|
|
30
|
-
import("./extensions-
|
|
27
|
+
import("./tiptap-qXOh0vzV.js").then((e) => e.i),
|
|
28
|
+
import("./tiptap-qXOh0vzV.js").then((e) => e.a),
|
|
29
|
+
import("./tiptap-qXOh0vzV.js").then((e) => e.u),
|
|
30
|
+
import("./extensions-BbFKsjyT.js")
|
|
31
31
|
]);
|
|
32
32
|
return {
|
|
33
33
|
TiptapEditor: a,
|
|
@@ -64,7 +64,7 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
64
64
|
};
|
|
65
65
|
}
|
|
66
66
|
});
|
|
67
|
-
return (t,
|
|
67
|
+
return (t, _) => (n(), m("div", ee, [
|
|
68
68
|
(n(), u(f, { to: "body" }, [d("div", {
|
|
69
69
|
"data-tpl-theme": o(R),
|
|
70
70
|
role: "toolbar",
|
|
@@ -82,7 +82,7 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
82
82
|
class: p(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": o(B)?.isActive("bold") }]),
|
|
83
83
|
"aria-label": o(z).titleEditor.bold,
|
|
84
84
|
title: o(z).titleEditor.bold,
|
|
85
|
-
onClick:
|
|
85
|
+
onClick: _[0] ||= (e) => o(B)?.chain().focus().toggleBold().run()
|
|
86
86
|
}, [h(o(w), {
|
|
87
87
|
size: 16,
|
|
88
88
|
"stroke-width": 2.5
|
|
@@ -92,12 +92,12 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
92
92
|
class: p(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": o(B)?.isActive("italic") }]),
|
|
93
93
|
"aria-label": o(z).titleEditor.italic,
|
|
94
94
|
title: o(z).titleEditor.italic,
|
|
95
|
-
onClick:
|
|
96
|
-
}, [h(o(
|
|
95
|
+
onClick: _[1] ||= (e) => o(B)?.chain().focus().toggleItalic().run()
|
|
96
|
+
}, [h(o(x), {
|
|
97
97
|
size: 16,
|
|
98
98
|
"stroke-width": 2
|
|
99
99
|
})], 10, k),
|
|
100
|
-
|
|
100
|
+
_[6] ||= d("span", {
|
|
101
101
|
class: "tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]",
|
|
102
102
|
"aria-hidden": "true"
|
|
103
103
|
}, null, -1),
|
|
@@ -106,8 +106,8 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
106
106
|
class: p(["tpl-text-toolbar-btn", { "tpl-text-toolbar-btn--active": o(B)?.isActive("link") }]),
|
|
107
107
|
"aria-label": o(z).titleEditor.addLink,
|
|
108
108
|
title: o(z).titleEditor.addLink,
|
|
109
|
-
onClick:
|
|
110
|
-
}, [h(o(
|
|
109
|
+
onClick: _[2] ||= (...e) => o(Y) && o(Y)(...e)
|
|
110
|
+
}, [h(o(C), {
|
|
111
111
|
size: 16,
|
|
112
112
|
"stroke-width": 2
|
|
113
113
|
})], 10, A),
|
|
@@ -118,12 +118,12 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
118
118
|
class: "tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)]",
|
|
119
119
|
"aria-label": o(z).mergeTag.add,
|
|
120
120
|
title: o(z).mergeTag.add,
|
|
121
|
-
onClick:
|
|
122
|
-
}, [h(o(
|
|
121
|
+
onClick: _[3] ||= (...e) => o($) && o($)(...e)
|
|
122
|
+
}, [h(o(S), {
|
|
123
123
|
size: 16,
|
|
124
124
|
"stroke-width": 2
|
|
125
125
|
}), a(" " + l(o(z).mergeTag.add), 1)], 8, M)) : i("", !0)
|
|
126
|
-
], 64)) : (n(), m("div", N, [h(o(
|
|
126
|
+
], 64)) : (n(), m("div", N, [h(o(g), {
|
|
127
127
|
class: "tpl-spinner",
|
|
128
128
|
size: 14,
|
|
129
129
|
"stroke-width": 2
|
|
@@ -145,9 +145,9 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
145
145
|
visible: o(G),
|
|
146
146
|
"is-editing-link": o(B)?.isActive("link") ?? !1,
|
|
147
147
|
"dialog-ref": o(q),
|
|
148
|
-
"onUpdate:dialogRef":
|
|
148
|
+
"onUpdate:dialogRef": _[4] ||= (e) => r(q) ? q.value = e : null,
|
|
149
149
|
"link-url": o(K),
|
|
150
|
-
"onUpdate:linkUrl":
|
|
150
|
+
"onUpdate:linkUrl": _[5] ||= (e) => r(K) ? K.value = e : null,
|
|
151
151
|
onClose: o(Q),
|
|
152
152
|
onInsert: o(X),
|
|
153
153
|
onRemove: o(Z),
|
|
@@ -168,4 +168,4 @@ var ee = { class: "tpl-text-editor-wrapper tpl:relative" }, D = ["data-tpl-theme
|
|
|
168
168
|
//#endregion
|
|
169
169
|
export { P as default };
|
|
170
170
|
|
|
171
|
-
//# sourceMappingURL=TitleEditor-
|
|
171
|
+
//# sourceMappingURL=TitleEditor-fu1A87Ld.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TitleEditor-DbSyeixS.js","names":[],"sources":["../../../src/components/blocks/TitleEditor.vue","../../../src/components/blocks/TitleEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables\";\nimport { useRichTextEditor } from \"../../composables/useRichTextEditor\";\nimport type { TitleBlock as TitleBlockType } from \"@aswin.dev/types\";\nimport { Bold, Italic, Link, LoaderCircle, ScanLine } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\nimport RichTextLinkDialog from \"./RichTextLinkDialog.vue\";\nimport RichTextEditorContent from \"./RichTextEditorContent.vue\";\n\nconst props = defineProps<{\n block: TitleBlockType;\n toolbarPosition: { top: number; left: number };\n}>();\n\nconst emit = defineEmits<{\n (e: \"done\"): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY, null);\nconst tplUiTheme = inject(UI_THEME_KEY, null);\n\nconst { t } = useI18n();\n\nconst {\n editor,\n EditorContent,\n isLoading,\n initError,\n retry,\n showLinkDialog,\n linkUrl,\n linkDialogRef,\n canRequestMergeTag,\n openLinkDialog,\n insertLink,\n removeLink,\n closeLinkDialog,\n handleLinkKeydown,\n handleAddMergeTag,\n} = useRichTextEditor({\n blockId: () => props.block.id,\n blockContent: () => props.block.content,\n onDone: () => emit(\"done\"),\n editorName: \"TitleEditor\",\n async loadExtensions({\n mergeTags,\n syntax,\n triggerChar,\n autocompleteEnabled,\n suggestionEmptyText,\n }) {\n const [\n { Editor: TiptapEditor, EditorContent: EC },\n { default: StarterKit },\n { default: LinkExt },\n { MergeTagNode, MergeTagSuggestion, LogicMergeTagNode },\n ] = await Promise.all([\n import(\"@tiptap/vue-3\"),\n import(\"@tiptap/starter-kit\"),\n import(\"@tiptap/extension-link\"),\n import(\"../../extensions\"),\n ]);\n\n return {\n TiptapEditor,\n EC,\n extensions: [\n StarterKit.configure({\n heading: false,\n codeBlock: false,\n blockquote: false,\n horizontalRule: false,\n bulletList: false,\n orderedList: false,\n listItem: false,\n strike: false,\n }),\n LinkExt.configure({\n openOnClick: false,\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n }),\n MergeTagNode.configure({ mergeTags, syntax }),\n LogicMergeTagNode.configure({ syntax }),\n ...(autocompleteEnabled && triggerChar && mergeTags.length > 0\n ? [\n MergeTagSuggestion.configure({\n mergeTags,\n char: triggerChar,\n emptyText: suggestionEmptyText,\n }),\n ]\n : []),\n ],\n };\n },\n});\n</script>\n\n<template>\n <div class=\"tpl-text-editor-wrapper tpl:relative\">\n <Teleport to=\"body\">\n <div\n :data-tpl-theme=\"tplUiTheme\"\n role=\"toolbar\"\n :aria-label=\"t.titleEditor.toolbar\"\n class=\"tpl tpl-text-toolbar tpl:fixed tpl:z-popover tpl:flex tpl:items-center tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-lg\"\n :style=\"{\n ...themeStyles,\n top: `${toolbarPosition.top}px`,\n left: `${toolbarPosition.left}px`,\n transform: 'translateY(-100%)',\n }\"\n >\n <template v-if=\"!isLoading && editor\">\n <!-- Bold -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('bold'),\n }\"\n :aria-label=\"t.titleEditor.bold\"\n :title=\"t.titleEditor.bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"\n >\n <Bold :size=\"16\" :stroke-width=\"2.5\" />\n </button>\n <!-- Italic -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('italic'),\n }\"\n :aria-label=\"t.titleEditor.italic\"\n :title=\"t.titleEditor.italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"\n >\n <Italic :size=\"16\" :stroke-width=\"2\" />\n </button>\n <span\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n aria-hidden=\"true\"\n ></span>\n <!-- Link -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('link'),\n }\"\n :aria-label=\"t.titleEditor.addLink\"\n :title=\"t.titleEditor.addLink\"\n @click=\"openLinkDialog\"\n >\n <Link :size=\"16\" :stroke-width=\"2\" />\n </button>\n <!-- Add Merge Tag -->\n <span\n v-if=\"canRequestMergeTag\"\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n ></span>\n <button\n v-if=\"canRequestMergeTag\"\n type=\"button\"\n class=\"tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)]\"\n :aria-label=\"t.mergeTag.add\"\n :title=\"t.mergeTag.add\"\n @click=\"handleAddMergeTag\"\n >\n <ScanLine :size=\"16\" :stroke-width=\"2\" />\n {{ t.mergeTag.add }}\n </button>\n </template>\n <template v-else>\n <div\n class=\"tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]\"\n >\n <LoaderCircle class=\"tpl-spinner\" :size=\"14\" :stroke-width=\"2\" />\n {{ t.errors.editorLoading }}\n </div>\n </template>\n </div>\n </Teleport>\n\n <RichTextEditorContent\n :editor=\"editor\"\n :editor-content=\"EditorContent\"\n :is-loading=\"isLoading\"\n :init-error=\"initError\"\n @retry=\"retry\"\n />\n\n <RichTextLinkDialog\n :visible=\"showLinkDialog\"\n :is-editing-link=\"editor?.isActive('link') ?? false\"\n v-model:dialog-ref=\"linkDialogRef\"\n v-model:link-url=\"linkUrl\"\n @close=\"closeLinkDialog\"\n @insert=\"insertLink\"\n @remove=\"removeLink\"\n @keydown=\"handleLinkKeydown\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables\";\nimport { useRichTextEditor } from \"../../composables/useRichTextEditor\";\nimport type { TitleBlock as TitleBlockType } from \"@aswin.dev/types\";\nimport { Bold, Italic, Link, LoaderCircle, ScanLine } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\nimport RichTextLinkDialog from \"./RichTextLinkDialog.vue\";\nimport RichTextEditorContent from \"./RichTextEditorContent.vue\";\n\nconst props = defineProps<{\n block: TitleBlockType;\n toolbarPosition: { top: number; left: number };\n}>();\n\nconst emit = defineEmits<{\n (e: \"done\"): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY, null);\nconst tplUiTheme = inject(UI_THEME_KEY, null);\n\nconst { t } = useI18n();\n\nconst {\n editor,\n EditorContent,\n isLoading,\n initError,\n retry,\n showLinkDialog,\n linkUrl,\n linkDialogRef,\n canRequestMergeTag,\n openLinkDialog,\n insertLink,\n removeLink,\n closeLinkDialog,\n handleLinkKeydown,\n handleAddMergeTag,\n} = useRichTextEditor({\n blockId: () => props.block.id,\n blockContent: () => props.block.content,\n onDone: () => emit(\"done\"),\n editorName: \"TitleEditor\",\n async loadExtensions({\n mergeTags,\n syntax,\n triggerChar,\n autocompleteEnabled,\n suggestionEmptyText,\n }) {\n const [\n { Editor: TiptapEditor, EditorContent: EC },\n { default: StarterKit },\n { default: LinkExt },\n { MergeTagNode, MergeTagSuggestion, LogicMergeTagNode },\n ] = await Promise.all([\n import(\"@tiptap/vue-3\"),\n import(\"@tiptap/starter-kit\"),\n import(\"@tiptap/extension-link\"),\n import(\"../../extensions\"),\n ]);\n\n return {\n TiptapEditor,\n EC,\n extensions: [\n StarterKit.configure({\n heading: false,\n codeBlock: false,\n blockquote: false,\n horizontalRule: false,\n bulletList: false,\n orderedList: false,\n listItem: false,\n strike: false,\n }),\n LinkExt.configure({\n openOnClick: false,\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n }),\n MergeTagNode.configure({ mergeTags, syntax }),\n LogicMergeTagNode.configure({ syntax }),\n ...(autocompleteEnabled && triggerChar && mergeTags.length > 0\n ? [\n MergeTagSuggestion.configure({\n mergeTags,\n char: triggerChar,\n emptyText: suggestionEmptyText,\n }),\n ]\n : []),\n ],\n };\n },\n});\n</script>\n\n<template>\n <div class=\"tpl-text-editor-wrapper tpl:relative\">\n <Teleport to=\"body\">\n <div\n :data-tpl-theme=\"tplUiTheme\"\n role=\"toolbar\"\n :aria-label=\"t.titleEditor.toolbar\"\n class=\"tpl tpl-text-toolbar tpl:fixed tpl:z-popover tpl:flex tpl:items-center tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-lg\"\n :style=\"{\n ...themeStyles,\n top: `${toolbarPosition.top}px`,\n left: `${toolbarPosition.left}px`,\n transform: 'translateY(-100%)',\n }\"\n >\n <template v-if=\"!isLoading && editor\">\n <!-- Bold -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('bold'),\n }\"\n :aria-label=\"t.titleEditor.bold\"\n :title=\"t.titleEditor.bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"\n >\n <Bold :size=\"16\" :stroke-width=\"2.5\" />\n </button>\n <!-- Italic -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('italic'),\n }\"\n :aria-label=\"t.titleEditor.italic\"\n :title=\"t.titleEditor.italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"\n >\n <Italic :size=\"16\" :stroke-width=\"2\" />\n </button>\n <span\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n aria-hidden=\"true\"\n ></span>\n <!-- Link -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('link'),\n }\"\n :aria-label=\"t.titleEditor.addLink\"\n :title=\"t.titleEditor.addLink\"\n @click=\"openLinkDialog\"\n >\n <Link :size=\"16\" :stroke-width=\"2\" />\n </button>\n <!-- Add Merge Tag -->\n <span\n v-if=\"canRequestMergeTag\"\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n ></span>\n <button\n v-if=\"canRequestMergeTag\"\n type=\"button\"\n class=\"tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)]\"\n :aria-label=\"t.mergeTag.add\"\n :title=\"t.mergeTag.add\"\n @click=\"handleAddMergeTag\"\n >\n <ScanLine :size=\"16\" :stroke-width=\"2\" />\n {{ t.mergeTag.add }}\n </button>\n </template>\n <template v-else>\n <div\n class=\"tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]\"\n >\n <LoaderCircle class=\"tpl-spinner\" :size=\"14\" :stroke-width=\"2\" />\n {{ t.errors.editorLoading }}\n </div>\n </template>\n </div>\n </Teleport>\n\n <RichTextEditorContent\n :editor=\"editor\"\n :editor-content=\"EditorContent\"\n :is-loading=\"isLoading\"\n :init-error=\"initError\"\n @retry=\"retry\"\n />\n\n <RichTextLinkDialog\n :visible=\"showLinkDialog\"\n :is-editing-link=\"editor?.isActive('link') ?? false\"\n v-model:dialog-ref=\"linkDialogRef\"\n v-model:link-url=\"linkUrl\"\n @close=\"closeLinkDialog\"\n @insert=\"insertLink\"\n @remove=\"removeLink\"\n @keydown=\"handleLinkKeydown\"\n />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;EAUA,IAAM,IAAQ,GAKR,IAAO,GAIP,IAAc,EAAO,GAAkB,KAAK,EAC5C,IAAa,EAAO,GAAc,KAAK,EAEvC,EAAE,SAAM,GAAS,EAEjB,EACJ,WACA,kBACA,cACA,cACA,UACA,mBACA,YACA,kBACA,uBACA,mBACA,eACA,eACA,oBACA,uBACA,yBACE,EAAkB;GACpB,eAAe,EAAM,MAAM;GAC3B,oBAAoB,EAAM,MAAM;GAChC,cAAc,EAAK,OAAO;GAC1B,YAAY;GACZ,MAAM,eAAe,EACnB,cACA,WACA,gBACA,wBACA,0BACC;IACD,IAAM,CACJ,EAAE,QAAQ,GAAc,eAAe,KACvC,EAAE,SAAS,KACX,EAAE,SAAS,KACX,EAAE,iBAAc,uBAAoB,0BAClC,MAAM,QAAQ,IAAI;KACpB,OAAO,wBAAA,MAAA,MAAA,EAAA,EAAA;KACP,OAAO,wBAAA,MAAA,MAAA,EAAA,EAAA;KACP,OAAO,wBAAA,MAAA,MAAA,EAAA,EAAA;KACP,OAAO;KACR,CAAC;AAEF,WAAO;KACL;KACA;KACA,YAAY;MACV,EAAW,UAAU;OACnB,SAAS;OACT,WAAW;OACX,YAAY;OACZ,gBAAgB;OAChB,YAAY;OACZ,aAAa;OACb,UAAU;OACV,QAAQ;OACT,CAAC;MACF,EAAQ,UAAU;OAChB,aAAa;OACb,gBAAgB;QACd,QAAQ;QACR,KAAK;QACN;OACF,CAAC;MACF,EAAa,UAAU;OAAE;OAAW;OAAQ,CAAC;MAC7C,EAAkB,UAAU,EAAE,WAAQ,CAAC;MACvC,GAAI,KAAuB,KAAe,EAAU,SAAS,IACzD,CACE,EAAmB,UAAU;OAC3B;OACA,MAAM;OACN,WAAW;OACZ,CAAC,CACJ,GACA,EAAE;MACP;KACF;;GAEJ,CAAC;yBAIA,EAwGM,OAxGN,IAwGM;SAvGJ,EAmFW,GAAA,EAnFD,IAAG,QAAM,EAAA,CACjB,EAiFM,OAAA;IAhFH,kBAAgB,EAAA,EAAU;IAC3B,MAAK;IACJ,cAAY,EAAA,EAAC,CAAC,YAAY;IAC3B,OAAM;IACL,OAAK,EAAA;QAAiB,EAAA,EAAW;aAAoB,EAAA,gBAAgB,IAAG;cAAyB,EAAA,gBAAgB,KAAI;;;QAOrG,EAAA,EAAS,IAAI,EAAA,EAAM,IAAA,GAAA,EAApC,EA4DW,GAAA,EAAA,KAAA,GAAA,EAAA;IA1DT,EAWS,UAAA;KAVP,MAAK;KACL,OAAK,EAAA,CAAC,wBAAsB,EAAA,gCAC4B,EAAA,EAAM,EAAE,SAAQ,OAAA,EAAA,CAAA,CAAA;KAGvE,cAAY,EAAA,EAAC,CAAC,YAAY;KAC1B,OAAO,EAAA,EAAC,CAAC,YAAY;KACrB,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,EAAM,EAAE,OAAK,CAAG,OAAK,CAAG,YAAU,CAAG,KAAG;QAEhD,EAAuC,EAAA,EAAA,EAAA;KAAhC,MAAM;KAAK,gBAAc;;IAGlC,EAWS,UAAA;KAVP,MAAK;KACL,OAAK,EAAA,CAAC,wBAAsB,EAAA,gCAC4B,EAAA,EAAM,EAAE,SAAQ,SAAA,EAAA,CAAA,CAAA;KAGvE,cAAY,EAAA,EAAC,CAAC,YAAY;KAC1B,OAAO,EAAA,EAAC,CAAC,YAAY;KACrB,SAAK,AAAA,EAAA,QAAA,MAAE,EAAA,EAAM,EAAE,OAAK,CAAG,OAAK,CAAG,cAAY,CAAG,KAAG;QAElD,EAAuC,EAAA,EAAA,EAAA;KAA9B,MAAM;KAAK,gBAAc;;aAEpC,EAGQ,QAAA;KAFN,OAAM;KACN,eAAY;;IAGd,EAWS,UAAA;KAVP,MAAK;KACL,OAAK,EAAA,CAAC,wBAAsB,EAAA,gCAC4B,EAAA,EAAM,EAAE,SAAQ,OAAA,EAAA,CAAA,CAAA;KAGvE,cAAY,EAAA,EAAC,CAAC,YAAY;KAC1B,OAAO,EAAA,EAAC,CAAC,YAAY;KACrB,SAAK,AAAA,EAAA,QAAA,GAAA,MAAE,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,GAAA,EAAc;QAEtB,EAAqC,EAAA,EAAA,EAAA;KAA9B,MAAM;KAAK,gBAAc;;IAI1B,EAAA,EAAkB,IAAA,GAAA,EAD1B,EAGQ,QAHR,EAGQ,IAAA,EAAA,IAAA,GAAA;IAEA,EAAA,EAAkB,IAAA,GAAA,EAD1B,EAUS,UAAA;;KARP,MAAK;KACL,OAAM;KACL,cAAY,EAAA,EAAC,CAAC,SAAS;KACvB,OAAO,EAAA,EAAC,CAAC,SAAS;KAClB,SAAK,AAAA,EAAA,QAAA,GAAA,MAAE,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,GAAA,EAAiB;QAEzB,EAAyC,EAAA,EAAA,EAAA;KAA9B,MAAM;KAAK,gBAAc;UAAK,MACzC,EAAG,EAAA,EAAC,CAAC,SAAS,IAAG,EAAA,EAAA,CAAA,EAAA,GAAA,EAAA,IAAA,EAAA,IAAA,GAAA;mBAInB,EAKM,OALN,GAKM,CAFJ,EAAiE,EAAA,EAAA,EAAA;IAAnD,OAAM;IAAe,MAAM;IAAK,gBAAc;SAAK,MACjE,EAAG,EAAA,EAAC,CAAC,OAAO,cAAa,EAAA,EAAA,CAAA,CAAA,EAAA,EAAA,IAAA,EAAA,CAAA,CAAA;GAMjC,EAME,GAAA;IALC,QAAQ,EAAA,EAAM;IACd,kBAAgB,EAAA,EAAa;IAC7B,cAAY,EAAA,EAAS;IACrB,cAAY,EAAA,EAAS;IACrB,SAAO,EAAA,EAAK;;;;;;;;GAGf,EASE,GAAA;IARC,SAAS,EAAA,EAAc;IACvB,mBAAiB,EAAA,EAAM,EAAE,SAAQ,OAAA,IAAA;IAC1B,cAAY,EAAA,EAAa;mDAAA,QAAA,IAAA;IACzB,YAAU,EAAA,EAAO;iDAAA,QAAA,IAAA;IACxB,SAAO,EAAA,EAAe;IACtB,UAAQ,EAAA,EAAU;IAClB,UAAQ,EAAA,EAAU;IAClB,WAAS,EAAA,GAAiB"}
|
|
1
|
+
{"version":3,"file":"TitleEditor-fu1A87Ld.js","names":[],"sources":["../../../src/components/blocks/TitleEditor.vue","../../../src/components/blocks/TitleEditor.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables\";\nimport { useRichTextEditor } from \"../../composables/useRichTextEditor\";\nimport type { TitleBlock as TitleBlockType } from \"@aswin.dev/types\";\nimport { Bold, Italic, Link, LoaderCircle, ScanLine } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\nimport RichTextLinkDialog from \"./RichTextLinkDialog.vue\";\nimport RichTextEditorContent from \"./RichTextEditorContent.vue\";\n\nconst props = defineProps<{\n block: TitleBlockType;\n toolbarPosition: { top: number; left: number };\n}>();\n\nconst emit = defineEmits<{\n (e: \"done\"): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY, null);\nconst tplUiTheme = inject(UI_THEME_KEY, null);\n\nconst { t } = useI18n();\n\nconst {\n editor,\n EditorContent,\n isLoading,\n initError,\n retry,\n showLinkDialog,\n linkUrl,\n linkDialogRef,\n canRequestMergeTag,\n openLinkDialog,\n insertLink,\n removeLink,\n closeLinkDialog,\n handleLinkKeydown,\n handleAddMergeTag,\n} = useRichTextEditor({\n blockId: () => props.block.id,\n blockContent: () => props.block.content,\n onDone: () => emit(\"done\"),\n editorName: \"TitleEditor\",\n async loadExtensions({\n mergeTags,\n syntax,\n triggerChar,\n autocompleteEnabled,\n suggestionEmptyText,\n }) {\n const [\n { Editor: TiptapEditor, EditorContent: EC },\n { default: StarterKit },\n { default: LinkExt },\n { MergeTagNode, MergeTagSuggestion, LogicMergeTagNode },\n ] = await Promise.all([\n import(\"@tiptap/vue-3\"),\n import(\"@tiptap/starter-kit\"),\n import(\"@tiptap/extension-link\"),\n import(\"../../extensions\"),\n ]);\n\n return {\n TiptapEditor,\n EC,\n extensions: [\n StarterKit.configure({\n heading: false,\n codeBlock: false,\n blockquote: false,\n horizontalRule: false,\n bulletList: false,\n orderedList: false,\n listItem: false,\n strike: false,\n }),\n LinkExt.configure({\n openOnClick: false,\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n }),\n MergeTagNode.configure({ mergeTags, syntax }),\n LogicMergeTagNode.configure({ syntax }),\n ...(autocompleteEnabled && triggerChar && mergeTags.length > 0\n ? [\n MergeTagSuggestion.configure({\n mergeTags,\n char: triggerChar,\n emptyText: suggestionEmptyText,\n }),\n ]\n : []),\n ],\n };\n },\n});\n</script>\n\n<template>\n <div class=\"tpl-text-editor-wrapper tpl:relative\">\n <Teleport to=\"body\">\n <div\n :data-tpl-theme=\"tplUiTheme\"\n role=\"toolbar\"\n :aria-label=\"t.titleEditor.toolbar\"\n class=\"tpl tpl-text-toolbar tpl:fixed tpl:z-popover tpl:flex tpl:items-center tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-lg\"\n :style=\"{\n ...themeStyles,\n top: `${toolbarPosition.top}px`,\n left: `${toolbarPosition.left}px`,\n transform: 'translateY(-100%)',\n }\"\n >\n <template v-if=\"!isLoading && editor\">\n <!-- Bold -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('bold'),\n }\"\n :aria-label=\"t.titleEditor.bold\"\n :title=\"t.titleEditor.bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"\n >\n <Bold :size=\"16\" :stroke-width=\"2.5\" />\n </button>\n <!-- Italic -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('italic'),\n }\"\n :aria-label=\"t.titleEditor.italic\"\n :title=\"t.titleEditor.italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"\n >\n <Italic :size=\"16\" :stroke-width=\"2\" />\n </button>\n <span\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n aria-hidden=\"true\"\n ></span>\n <!-- Link -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('link'),\n }\"\n :aria-label=\"t.titleEditor.addLink\"\n :title=\"t.titleEditor.addLink\"\n @click=\"openLinkDialog\"\n >\n <Link :size=\"16\" :stroke-width=\"2\" />\n </button>\n <!-- Add Merge Tag -->\n <span\n v-if=\"canRequestMergeTag\"\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n ></span>\n <button\n v-if=\"canRequestMergeTag\"\n type=\"button\"\n class=\"tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)]\"\n :aria-label=\"t.mergeTag.add\"\n :title=\"t.mergeTag.add\"\n @click=\"handleAddMergeTag\"\n >\n <ScanLine :size=\"16\" :stroke-width=\"2\" />\n {{ t.mergeTag.add }}\n </button>\n </template>\n <template v-else>\n <div\n class=\"tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]\"\n >\n <LoaderCircle class=\"tpl-spinner\" :size=\"14\" :stroke-width=\"2\" />\n {{ t.errors.editorLoading }}\n </div>\n </template>\n </div>\n </Teleport>\n\n <RichTextEditorContent\n :editor=\"editor\"\n :editor-content=\"EditorContent\"\n :is-loading=\"isLoading\"\n :init-error=\"initError\"\n @retry=\"retry\"\n />\n\n <RichTextLinkDialog\n :visible=\"showLinkDialog\"\n :is-editing-link=\"editor?.isActive('link') ?? false\"\n v-model:dialog-ref=\"linkDialogRef\"\n v-model:link-url=\"linkUrl\"\n @close=\"closeLinkDialog\"\n @insert=\"insertLink\"\n @remove=\"removeLink\"\n @keydown=\"handleLinkKeydown\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables\";\nimport { useRichTextEditor } from \"../../composables/useRichTextEditor\";\nimport type { TitleBlock as TitleBlockType } from \"@aswin.dev/types\";\nimport { Bold, Italic, Link, LoaderCircle, ScanLine } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\nimport RichTextLinkDialog from \"./RichTextLinkDialog.vue\";\nimport RichTextEditorContent from \"./RichTextEditorContent.vue\";\n\nconst props = defineProps<{\n block: TitleBlockType;\n toolbarPosition: { top: number; left: number };\n}>();\n\nconst emit = defineEmits<{\n (e: \"done\"): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY, null);\nconst tplUiTheme = inject(UI_THEME_KEY, null);\n\nconst { t } = useI18n();\n\nconst {\n editor,\n EditorContent,\n isLoading,\n initError,\n retry,\n showLinkDialog,\n linkUrl,\n linkDialogRef,\n canRequestMergeTag,\n openLinkDialog,\n insertLink,\n removeLink,\n closeLinkDialog,\n handleLinkKeydown,\n handleAddMergeTag,\n} = useRichTextEditor({\n blockId: () => props.block.id,\n blockContent: () => props.block.content,\n onDone: () => emit(\"done\"),\n editorName: \"TitleEditor\",\n async loadExtensions({\n mergeTags,\n syntax,\n triggerChar,\n autocompleteEnabled,\n suggestionEmptyText,\n }) {\n const [\n { Editor: TiptapEditor, EditorContent: EC },\n { default: StarterKit },\n { default: LinkExt },\n { MergeTagNode, MergeTagSuggestion, LogicMergeTagNode },\n ] = await Promise.all([\n import(\"@tiptap/vue-3\"),\n import(\"@tiptap/starter-kit\"),\n import(\"@tiptap/extension-link\"),\n import(\"../../extensions\"),\n ]);\n\n return {\n TiptapEditor,\n EC,\n extensions: [\n StarterKit.configure({\n heading: false,\n codeBlock: false,\n blockquote: false,\n horizontalRule: false,\n bulletList: false,\n orderedList: false,\n listItem: false,\n strike: false,\n }),\n LinkExt.configure({\n openOnClick: false,\n HTMLAttributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n },\n }),\n MergeTagNode.configure({ mergeTags, syntax }),\n LogicMergeTagNode.configure({ syntax }),\n ...(autocompleteEnabled && triggerChar && mergeTags.length > 0\n ? [\n MergeTagSuggestion.configure({\n mergeTags,\n char: triggerChar,\n emptyText: suggestionEmptyText,\n }),\n ]\n : []),\n ],\n };\n },\n});\n</script>\n\n<template>\n <div class=\"tpl-text-editor-wrapper tpl:relative\">\n <Teleport to=\"body\">\n <div\n :data-tpl-theme=\"tplUiTheme\"\n role=\"toolbar\"\n :aria-label=\"t.titleEditor.toolbar\"\n class=\"tpl tpl-text-toolbar tpl:fixed tpl:z-popover tpl:flex tpl:items-center tpl:gap-1 tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2 tpl:shadow-lg\"\n :style=\"{\n ...themeStyles,\n top: `${toolbarPosition.top}px`,\n left: `${toolbarPosition.left}px`,\n transform: 'translateY(-100%)',\n }\"\n >\n <template v-if=\"!isLoading && editor\">\n <!-- Bold -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('bold'),\n }\"\n :aria-label=\"t.titleEditor.bold\"\n :title=\"t.titleEditor.bold\"\n @click=\"editor?.chain().focus().toggleBold().run()\"\n >\n <Bold :size=\"16\" :stroke-width=\"2.5\" />\n </button>\n <!-- Italic -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('italic'),\n }\"\n :aria-label=\"t.titleEditor.italic\"\n :title=\"t.titleEditor.italic\"\n @click=\"editor?.chain().focus().toggleItalic().run()\"\n >\n <Italic :size=\"16\" :stroke-width=\"2\" />\n </button>\n <span\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n aria-hidden=\"true\"\n ></span>\n <!-- Link -->\n <button\n type=\"button\"\n class=\"tpl-text-toolbar-btn\"\n :class=\"{\n 'tpl-text-toolbar-btn--active': editor?.isActive('link'),\n }\"\n :aria-label=\"t.titleEditor.addLink\"\n :title=\"t.titleEditor.addLink\"\n @click=\"openLinkDialog\"\n >\n <Link :size=\"16\" :stroke-width=\"2\" />\n </button>\n <!-- Add Merge Tag -->\n <span\n v-if=\"canRequestMergeTag\"\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n ></span>\n <button\n v-if=\"canRequestMergeTag\"\n type=\"button\"\n class=\"tpl:flex tpl:h-8 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded tpl:border-none tpl:bg-transparent tpl:px-2.5 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-active)]\"\n :aria-label=\"t.mergeTag.add\"\n :title=\"t.mergeTag.add\"\n @click=\"handleAddMergeTag\"\n >\n <ScanLine :size=\"16\" :stroke-width=\"2\" />\n {{ t.mergeTag.add }}\n </button>\n </template>\n <template v-else>\n <div\n class=\"tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]\"\n >\n <LoaderCircle class=\"tpl-spinner\" :size=\"14\" :stroke-width=\"2\" />\n {{ t.errors.editorLoading }}\n </div>\n </template>\n </div>\n </Teleport>\n\n <RichTextEditorContent\n :editor=\"editor\"\n :editor-content=\"EditorContent\"\n :is-loading=\"isLoading\"\n :init-error=\"initError\"\n @retry=\"retry\"\n />\n\n <RichTextLinkDialog\n :visible=\"showLinkDialog\"\n :is-editing-link=\"editor?.isActive('link') ?? false\"\n v-model:dialog-ref=\"linkDialogRef\"\n v-model:link-url=\"linkUrl\"\n @close=\"closeLinkDialog\"\n @insert=\"insertLink\"\n @remove=\"removeLink\"\n @keydown=\"handleLinkKeydown\"\n />\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { At as e, Tt as t, gt as n, pt as r, xt as i } from "./features-uApxwJMz.js";
|
|
2
|
+
import { M as a, R as o, U as s, c, ct as l, et as u, j as d, k as f, o as p, ot as m, s as h } from "./icons-DZb4EX9m.js";
|
|
3
|
+
//#region src/utils/blockTypeIcons.ts
|
|
4
|
+
var g = {
|
|
5
|
+
section: m,
|
|
6
|
+
title: u,
|
|
7
|
+
paragraph: a,
|
|
8
|
+
image: t,
|
|
9
|
+
button: f,
|
|
10
|
+
input: c,
|
|
11
|
+
divider: s,
|
|
12
|
+
video: d,
|
|
13
|
+
social: n,
|
|
14
|
+
menu: i,
|
|
15
|
+
table: r,
|
|
16
|
+
spacer: o,
|
|
17
|
+
countdown: p,
|
|
18
|
+
form: l,
|
|
19
|
+
discountCoupon: h,
|
|
20
|
+
html: e
|
|
21
|
+
};
|
|
22
|
+
//#endregion
|
|
23
|
+
export { g as t };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=blockTypeIcons-CJirTS-q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockTypeIcons-CJirTS-q.js","names":[],"sources":["../../../src/utils/blockTypeIcons.ts"],"sourcesContent":["import {\n ClipboardList,\n Code,\n Columns3,\n Heading,\n Image,\n Minus,\n MoveVertical,\n Navigation,\n Pilcrow,\n Play,\n RectangleHorizontal,\n Share2,\n Table,\n TextCursor,\n Ticket,\n Timer,\n} from \"@lucide/vue\";\nimport type { Component } from \"vue\";\n\nexport const blockTypeIcons: Record<string, Component> = {\n section: Columns3,\n title: Heading,\n paragraph: Pilcrow,\n image: Image,\n button: RectangleHorizontal,\n input: TextCursor,\n divider: Minus,\n video: Play,\n social: Share2,\n menu: Navigation,\n table: Table,\n spacer: MoveVertical,\n countdown: Timer,\n form: ClipboardList,\n discountCoupon: Ticket,\n html: Code,\n};\n"],"mappings":";;;AAoBA,IAAa,IAA4C;CACvD,SAAS;CACT,OAAO;CACP,WAAW;CACX,OAAO;CACP,QAAQ;CACR,OAAO;CACP,SAAS;CACT,OAAO;CACP,QAAQ;CACR,MAAM;CACN,OAAO;CACP,QAAQ;CACR,WAAW;CACX,MAAM;CACN,gBAAgB;CAChB,MAAM;CACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-RQrZR56a.js","names":[],"sources":["../../../src/i18n/locales/cloud/de.ts"],"sourcesContent":["import type en from \"./en\";\n\nconst de: typeof en = {\n loading: {\n initializing: \"Initialisieren...\",\n },\n error: {\n title: \"Etwas ist schiefgelaufen\",\n defaultMessage:\n \"Der Editor konnte keine Verbindung zu Templatical herstellen. Überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es erneut.\",\n authFailed:\n \"Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihre Anmeldedaten.\",\n templateNotFound:\n \"Die angeforderte Vorlage konnte nicht gefunden werden. Bitte überprüfen Sie die Vorlagen-ID.\",\n retry: \"Erneut versuchen\",\n },\n header: {\n title: \"Templatical\",\n unsaved: \"Nicht gespeichert\",\n saving: \"Speichern...\",\n saved: \"Gespeichert\",\n saveFailed: \"Speichern fehlgeschlagen\",\n save: \"Speichern\",\n templatesUsed: \"{used}/{max} Vorlagen verwendet\",\n },\n snapshotPreview: {\n message: \"Sie sehen einen früheren Snapshot dieser Vorlage.\",\n cancel: \"Abbrechen\",\n restore: \"Diesen Snapshot wiederherstellen\",\n },\n snapshotHistory: {\n tooltip: \"Versionsverlauf\",\n dropdownTitle: \"Versionsverlauf\",\n noSnapshots: \"Noch keine Versionen\",\n auto: \"auto\",\n justNow: \"Gerade eben\",\n minutesAgo: \"vor {minutes} Min.\",\n hoursAgo: \"vor {hours} Std.\",\n daysAgo: \"vor {days} Tagen\",\n olderSnapshot: \"Ältere Version\",\n newerSnapshot: \"Neuere Version\",\n },\n testEmail: {\n title: \"Test-E-Mail senden\",\n recipientLabel: \"Empfänger\",\n send: \"Senden\",\n sending: \"Wird gesendet...\",\n cancel: \"Abbrechen\",\n success: \"Test-E-Mail erfolgreich gesendet\",\n button: \"Test\",\n },\n aiRewrite: {\n title: \"KI-Umschreibung\",\n tone: \"Tonalität\",\n length: \"Länge\",\n clarity: \"Klarheit\",\n professional: \"Professionell\",\n casual: \"Locker\",\n friendly: \"Freundlich\",\n urgent: \"Dringend\",\n persuasive: \"Überzeugend\",\n shorter: \"Kürzer\",\n longer: \"Länger\",\n summarize: \"Zusammenfassen\",\n simplify: \"Vereinfachen\",\n fixGrammar: \"Grammatik korrigieren\",\n improveReadability: \"Lesbarkeit verbessern\",\n customInstruction: \"Eigene Anweisung\",\n customPlaceholder: \"Beschreiben Sie die gewünschte Umschreibung...\",\n rewrite: \"Umschreiben\",\n rewriting: \"Wird umgeschrieben...\",\n undo: \"Rückgängig\",\n redo: \"Wiederholen\",\n refine: \"Weiter verfeinern\",\n error: \"Text konnte nicht umgeschrieben werden\",\n },\n aiChat: {\n title: \"KI-Assistent\",\n button: \"KI\",\n inputPlaceholder: \"Beschreiben Sie Ihre E-Mail-Vorlage...\",\n send: \"Senden\",\n generating: \"Wird generiert...\",\n applied: \"Änderungen auf Vorlage angewendet.\",\n applyFailed:\n \"Änderungen konnten nicht auf die Vorlage angewendet werden. Bitte versuchen Sie es erneut.\",\n revert: \"Änderungen rückgängig\",\n reapply: \"Änderungen erneut anwenden\",\n error: \"Vorlage konnte nicht generiert werden\",\n clear: \"Chat leeren\",\n placeholder:\n \"Beschreiben Sie die E-Mail-Vorlage, die Sie erstellen möchten, oder bitten Sie um Änderungen an der aktuellen.\",\n loadingHistory: \"Konversation wird geladen...\",\n },\n scoring: {\n button: \"Bewertung\",\n title: \"Vorlagenbewertung\",\n rescore: \"Neu bewerten\",\n scoring: \"Vorlage wird analysiert...\",\n overallScore: \"Gesamtbewertung\",\n categories: {\n spam: \"Spam-Risiko\",\n readability: \"Lesbarkeit\",\n accessibility: \"Barrierefreiheit\",\n bestPractices: \"Best Practices\",\n },\n severity: {\n high: \"Hoch\",\n medium: \"Mittel\",\n low: \"Niedrig\",\n },\n fix: \"Mit KI beheben\",\n fixing: \"Wird behoben...\",\n fixed: \"Behoben\",\n findings: \"Ergebnisse\",\n noFindings: \"Keine Probleme gefunden\",\n error: \"Vorlage konnte nicht analysiert werden\",\n fixError: \"Korrektur konnte nicht angewendet werden\",\n emptyState:\n \"Bewerten Sie Ihre Vorlage, um umsetzbare Rückmeldungen zu Spam-Risiko, Lesbarkeit, Barrierefreiheit und Best Practices zu erhalten.\",\n },\n aiMenu: {\n aiAssistant: \"KI-Assistent\",\n aiAssistantDesc:\n \"Mit KI chatten, um Ihre Vorlage zu erstellen oder zu ändern\",\n designToTemplate: \"Design zu Vorlage\",\n designToTemplateDesc: \"Vorlage aus einem Bild oder PDF generieren\",\n templateScore: \"Vorlagenbewertung\",\n templateScoreDesc: \"Qualität, Spam-Risiko und Barrierefreiheit analysieren\",\n disclaimer:\n \"KI kann Fehler machen. Bitte überprüfen Sie die Ergebnisse vor der Genehmigung.\",\n },\n comments: {\n title: \"Kommentare\",\n placeholder: \"Kommentar schreiben...\",\n replyPlaceholder: \"Antwort schreiben...\",\n reply: \"Antworten\",\n resolve: \"Lösen\",\n unresolve: \"Wiedereröffnen\",\n resolved: \"Gelöst\",\n delete: \"Löschen\",\n edit: \"Bearbeiten\",\n cancel: \"Abbrechen\",\n save: \"Speichern\",\n noComments: \"Noch keine Kommentare\",\n noCommentsHint:\n \"Starten Sie eine Konversation, indem Sie einen Kommentar zur Vorlage oder einem bestimmten Block hinzufügen.\",\n addComment: \"Kommentar hinzufügen\",\n deleteConfirm: \"Diesen Kommentar löschen?\",\n filterAll: \"Alle\",\n filterUnresolved: \"Ungelöst\",\n filterBlock: \"Dieser Block\",\n ownedByYou: \"Sie\",\n edited: \"bearbeitet\",\n resolvedBy: \"Gelöst von {name}\",\n replyOne: \"{count} Antwort\",\n replyMany: \"{count} Antworten\",\n missingBlock: \"Fehlender Block\",\n saveTemplateFirst:\n \"Speichern Sie die Vorlage, bevor Sie diesen Block kommentieren.\",\n button: \"Kommentare\",\n },\n collaboration: {\n connected: \"Zusammenarbeit aktiv\",\n disconnected: \"Zusammenarbeit getrennt\",\n reconnecting: \"Verbindung wird wiederhergestellt...\",\n blockLockedBy: \"Wird bearbeitet von {name}\",\n usersOnline: \"{count} Benutzer online\",\n },\n modules: {\n title: \"Gespeicherte Module\",\n saveAsModule: \"Als Modul speichern\",\n moduleName: \"Modulname\",\n moduleNamePlaceholder: \"z.B. Header, Footer, CTA...\",\n selectBlocks: \"Blöcke auswählen\",\n save: \"Modul speichern\",\n saving: \"Wird gespeichert...\",\n cancel: \"Abbrechen\",\n noModules: \"Noch keine gespeicherten Module\",\n noModulesHint:\n \"Speichern Sie Blöcke aus Ihren Vorlagen, um sie später wiederzuverwenden.\",\n search: \"Module suchen...\",\n insert: \"Einfügen\",\n delete: \"Löschen\",\n deleteConfirm: \"Dieses Modul löschen?\",\n blockCount: \"{count} Block/Blöcke\",\n browse: \"Module durchsuchen\",\n selectToPreview: \"Modul auswählen für Vorschau\",\n insertAtBeginning: \"Am Anfang\",\n insertAfterBlock: \"Nach {block}\",\n insertAtEnd: \"Am Ende\",\n insertPosition: \"Einfügeposition\",\n close: \"Schließen\",\n },\n designReference: {\n title: \"Designvorlage\",\n button: \"Design\",\n uploadImage: \"Bild\",\n uploadPdf: \"PDF\",\n dropHint: \"Datei hierher ziehen oder klicken zum Durchsuchen\",\n acceptedImages: \"PNG, JPG, WebP (max. 10 MB)\",\n acceptedPdf: \"PDF (max. 10 MB)\",\n promptLabel: \"Anweisungen (optional)\",\n promptPlaceholder:\n \"Beschreiben Sie Anpassungen oder Wünsche für die generierte Vorlage...\",\n generate: \"Aus Design generieren\",\n generating: \"Design wird analysiert und Vorlage generiert...\",\n replaceWarning:\n \"Die Generierung aus einer Designvorlage ersetzt den vorhandenen Vorlageninhalt.\",\n replaceConfirm: \"Ersetzen und generieren\",\n replaceCancel: \"Abbrechen\",\n error: \"Vorlage konnte nicht aus Design generiert werden\",\n fileTooLarge: \"Datei ist zu groß. Maximale Größe ist 10 MB.\",\n invalidFileType:\n \"Dieser Dateityp wird nicht unterstützt. Laden Sie eine PNG-, JPG-, WebP- oder PDF-Datei hoch.\",\n },\n\n saveGate: {\n title: \"Barrierefreiheitsfehler blockieren das Speichern\",\n body: \"Ihr Plan blockiert das Speichern, solange Fehler bestehen. Beheben Sie die folgenden Punkte oder speichern Sie trotzdem.\",\n cancel: \"Prüfen und beheben\",\n confirm: \"Trotzdem speichern\",\n },\n};\n\nexport default de;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"de-BPHtelu7.js","names":[],"sources":["../../../src/i18n/locales/cloud/de.ts"],"sourcesContent":["import type en from \"./en\";\n\nconst de: typeof en = {\n loading: {\n initializing: \"Initialisieren...\",\n },\n error: {\n title: \"Etwas ist schiefgelaufen\",\n defaultMessage:\n \"Der Editor konnte keine Verbindung zu Templatical herstellen. Überprüfen Sie Ihre Netzwerkverbindung und versuchen Sie es erneut.\",\n authFailed:\n \"Authentifizierung fehlgeschlagen. Bitte überprüfen Sie Ihre Anmeldedaten.\",\n templateNotFound:\n \"Die angeforderte Vorlage konnte nicht gefunden werden. Bitte überprüfen Sie die Vorlagen-ID.\",\n retry: \"Erneut versuchen\",\n },\n header: {\n title: \"Templatical\",\n unsaved: \"Nicht gespeichert\",\n saving: \"Speichern...\",\n saved: \"Gespeichert\",\n saveFailed: \"Speichern fehlgeschlagen\",\n save: \"Speichern\",\n templatesUsed: \"{used}/{max} Vorlagen verwendet\",\n },\n snapshotPreview: {\n message: \"Sie sehen einen früheren Snapshot dieser Vorlage.\",\n cancel: \"Abbrechen\",\n restore: \"Diesen Snapshot wiederherstellen\",\n },\n snapshotHistory: {\n tooltip: \"Versionsverlauf\",\n dropdownTitle: \"Versionsverlauf\",\n noSnapshots: \"Noch keine Versionen\",\n auto: \"auto\",\n justNow: \"Gerade eben\",\n minutesAgo: \"vor {minutes} Min.\",\n hoursAgo: \"vor {hours} Std.\",\n daysAgo: \"vor {days} Tagen\",\n olderSnapshot: \"Ältere Version\",\n newerSnapshot: \"Neuere Version\",\n },\n testEmail: {\n title: \"Test-E-Mail senden\",\n recipientLabel: \"Empfänger\",\n send: \"Senden\",\n sending: \"Wird gesendet...\",\n cancel: \"Abbrechen\",\n success: \"Test-E-Mail erfolgreich gesendet\",\n button: \"Test\",\n },\n aiRewrite: {\n title: \"KI-Umschreibung\",\n tone: \"Tonalität\",\n length: \"Länge\",\n clarity: \"Klarheit\",\n professional: \"Professionell\",\n casual: \"Locker\",\n friendly: \"Freundlich\",\n urgent: \"Dringend\",\n persuasive: \"Überzeugend\",\n shorter: \"Kürzer\",\n longer: \"Länger\",\n summarize: \"Zusammenfassen\",\n simplify: \"Vereinfachen\",\n fixGrammar: \"Grammatik korrigieren\",\n improveReadability: \"Lesbarkeit verbessern\",\n customInstruction: \"Eigene Anweisung\",\n customPlaceholder: \"Beschreiben Sie die gewünschte Umschreibung...\",\n rewrite: \"Umschreiben\",\n rewriting: \"Wird umgeschrieben...\",\n undo: \"Rückgängig\",\n redo: \"Wiederholen\",\n refine: \"Weiter verfeinern\",\n error: \"Text konnte nicht umgeschrieben werden\",\n },\n aiChat: {\n title: \"KI-Assistent\",\n button: \"KI\",\n inputPlaceholder: \"Beschreiben Sie Ihre E-Mail-Vorlage...\",\n send: \"Senden\",\n generating: \"Wird generiert...\",\n applied: \"Änderungen auf Vorlage angewendet.\",\n applyFailed:\n \"Änderungen konnten nicht auf die Vorlage angewendet werden. Bitte versuchen Sie es erneut.\",\n revert: \"Änderungen rückgängig\",\n reapply: \"Änderungen erneut anwenden\",\n error: \"Vorlage konnte nicht generiert werden\",\n clear: \"Chat leeren\",\n placeholder:\n \"Beschreiben Sie die E-Mail-Vorlage, die Sie erstellen möchten, oder bitten Sie um Änderungen an der aktuellen.\",\n loadingHistory: \"Konversation wird geladen...\",\n },\n scoring: {\n button: \"Bewertung\",\n title: \"Vorlagenbewertung\",\n rescore: \"Neu bewerten\",\n scoring: \"Vorlage wird analysiert...\",\n overallScore: \"Gesamtbewertung\",\n categories: {\n spam: \"Spam-Risiko\",\n readability: \"Lesbarkeit\",\n accessibility: \"Barrierefreiheit\",\n bestPractices: \"Best Practices\",\n },\n severity: {\n high: \"Hoch\",\n medium: \"Mittel\",\n low: \"Niedrig\",\n },\n fix: \"Mit KI beheben\",\n fixing: \"Wird behoben...\",\n fixed: \"Behoben\",\n findings: \"Ergebnisse\",\n noFindings: \"Keine Probleme gefunden\",\n error: \"Vorlage konnte nicht analysiert werden\",\n fixError: \"Korrektur konnte nicht angewendet werden\",\n emptyState:\n \"Bewerten Sie Ihre Vorlage, um umsetzbare Rückmeldungen zu Spam-Risiko, Lesbarkeit, Barrierefreiheit und Best Practices zu erhalten.\",\n },\n aiMenu: {\n aiAssistant: \"KI-Assistent\",\n aiAssistantDesc:\n \"Mit KI chatten, um Ihre Vorlage zu erstellen oder zu ändern\",\n designToTemplate: \"Design zu Vorlage\",\n designToTemplateDesc: \"Vorlage aus einem Bild oder PDF generieren\",\n templateScore: \"Vorlagenbewertung\",\n templateScoreDesc: \"Qualität, Spam-Risiko und Barrierefreiheit analysieren\",\n disclaimer:\n \"KI kann Fehler machen. Bitte überprüfen Sie die Ergebnisse vor der Genehmigung.\",\n },\n comments: {\n title: \"Kommentare\",\n placeholder: \"Kommentar schreiben...\",\n replyPlaceholder: \"Antwort schreiben...\",\n reply: \"Antworten\",\n resolve: \"Lösen\",\n unresolve: \"Wiedereröffnen\",\n resolved: \"Gelöst\",\n delete: \"Löschen\",\n edit: \"Bearbeiten\",\n cancel: \"Abbrechen\",\n save: \"Speichern\",\n noComments: \"Noch keine Kommentare\",\n noCommentsHint:\n \"Starten Sie eine Konversation, indem Sie einen Kommentar zur Vorlage oder einem bestimmten Block hinzufügen.\",\n addComment: \"Kommentar hinzufügen\",\n deleteConfirm: \"Diesen Kommentar löschen?\",\n filterAll: \"Alle\",\n filterUnresolved: \"Ungelöst\",\n filterBlock: \"Dieser Block\",\n ownedByYou: \"Sie\",\n edited: \"bearbeitet\",\n resolvedBy: \"Gelöst von {name}\",\n replyOne: \"{count} Antwort\",\n replyMany: \"{count} Antworten\",\n missingBlock: \"Fehlender Block\",\n saveTemplateFirst:\n \"Speichern Sie die Vorlage, bevor Sie diesen Block kommentieren.\",\n button: \"Kommentare\",\n },\n collaboration: {\n connected: \"Zusammenarbeit aktiv\",\n disconnected: \"Zusammenarbeit getrennt\",\n reconnecting: \"Verbindung wird wiederhergestellt...\",\n blockLockedBy: \"Wird bearbeitet von {name}\",\n usersOnline: \"{count} Benutzer online\",\n },\n modules: {\n title: \"Gespeicherte Module\",\n saveAsModule: \"Als Modul speichern\",\n moduleName: \"Modulname\",\n moduleNamePlaceholder: \"z.B. Header, Footer, CTA...\",\n selectBlocks: \"Blöcke auswählen\",\n save: \"Modul speichern\",\n saving: \"Wird gespeichert...\",\n cancel: \"Abbrechen\",\n noModules: \"Noch keine gespeicherten Module\",\n noModulesHint:\n \"Speichern Sie Blöcke aus Ihren Vorlagen, um sie später wiederzuverwenden.\",\n search: \"Module suchen...\",\n insert: \"Einfügen\",\n delete: \"Löschen\",\n deleteConfirm: \"Dieses Modul löschen?\",\n blockCount: \"{count} Block/Blöcke\",\n browse: \"Module durchsuchen\",\n selectToPreview: \"Modul auswählen für Vorschau\",\n insertAtBeginning: \"Am Anfang\",\n insertAfterBlock: \"Nach {block}\",\n insertAtEnd: \"Am Ende\",\n insertPosition: \"Einfügeposition\",\n close: \"Schließen\",\n },\n designReference: {\n title: \"Designvorlage\",\n button: \"Design\",\n uploadImage: \"Bild\",\n uploadPdf: \"PDF\",\n dropHint: \"Datei hierher ziehen oder klicken zum Durchsuchen\",\n acceptedImages: \"PNG, JPG, WebP (max. 10 MB)\",\n acceptedPdf: \"PDF (max. 10 MB)\",\n promptLabel: \"Anweisungen (optional)\",\n promptPlaceholder:\n \"Beschreiben Sie Anpassungen oder Wünsche für die generierte Vorlage...\",\n generate: \"Aus Design generieren\",\n generating: \"Design wird analysiert und Vorlage generiert...\",\n replaceWarning:\n \"Die Generierung aus einer Designvorlage ersetzt den vorhandenen Vorlageninhalt.\",\n replaceConfirm: \"Ersetzen und generieren\",\n replaceCancel: \"Abbrechen\",\n error: \"Vorlage konnte nicht aus Design generiert werden\",\n fileTooLarge: \"Datei ist zu groß. Maximale Größe ist 10 MB.\",\n invalidFileType:\n \"Dieser Dateityp wird nicht unterstützt. Laden Sie eine PNG-, JPG-, WebP- oder PDF-Datei hoch.\",\n },\n\n saveGate: {\n title: \"Barrierefreiheitsfehler blockieren das Speichern\",\n body: \"Ihr Plan blockiert das Speichern, solange Fehler bestehen. Beheben Sie die folgenden Punkte oder speichern Sie trotzdem.\",\n cancel: \"Prüfen und beheben\",\n confirm: \"Trotzdem speichern\",\n },\n};\n\nexport default de;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"de-
|
|
1
|
+
{"version":3,"file":"de-BRDqJwJe.js","names":[],"sources":["../../../../media-library/src/i18n/locales/de.ts"],"sourcesContent":["import type en from \"./en\";\n\nconst de: typeof en = {\n mediaLibrary: {\n title: \"Medienbibliothek\",\n searchPlaceholder: \"Dateien suchen...\",\n allFiles: \"Alle Dateien\",\n filterAll: \"Alle Typen\",\n filterImages: \"Bilder\",\n filterDocuments: \"Dokumente\",\n filterVideos: \"Videos\",\n filterAudio: \"Audio\",\n newFolder: \"Neuer Ordner\",\n folderName: \"Ordnername\",\n noFiles: \"Keine Dateien gefunden\",\n dropOrClick: \"Dateien hierher ziehen oder klicken zum Hochladen\",\n acceptedFormats: \"Bilder, PDF, Video, Audio, Dokumente (max. 10 MB)\",\n uploading: \"Wird hochgeladen...\",\n uploadingProgress: \"{current} von {total} wird hochgeladen...\",\n selectImage: \"Bild auswählen\",\n selectFile: \"Datei auswählen\",\n deleteSelected: \"Löschen\",\n copyUrl: \"URL kopieren\",\n copied: \"Kopiert!\",\n browseMedia: \"Medienbibliothek durchsuchen\",\n renameFolder: \"Ordner umbenennen\",\n addSubfolder: \"Unterordner hinzufügen\",\n subfolderName: \"Unterordnername\",\n sortNewest: \"Neueste zuerst\",\n sortOldest: \"Älteste zuerst\",\n sortNameAsc: \"Name A-Z\",\n sortNameDesc: \"Name Z-A\",\n sortSizeAsc: \"Kleinste zuerst\",\n sortSizeDesc: \"Größte zuerst\",\n moveSelected: \"Verschieben\",\n moveToRoot: \"Alle Dateien\",\n currentFolder: \"(aktuell)\",\n confirmDelete: \"Bestätigen?\",\n renameFile: \"Umbenennen\",\n editFile: \"Datei bearbeiten\",\n fileName: \"Dateiname\",\n altText: \"Alternativtext\",\n altTextPlaceholder: \"Bildbeschreibung für Barrierefreiheit\",\n saveChanges: \"Speichern\",\n cancel: \"Abbrechen\",\n frequentlyUsed: \"Häufig verwendet\",\n deleteWarningTitle: \"Datei löschen\",\n deleteWarningMessage:\n \"Sind Sie sicher? Diese Aktion kann nicht rückgängig gemacht werden.\",\n deleteWarningUsageNote:\n \"Die folgenden Dateien werden in Vorlagen verwendet. Das Löschen kann diese Vorlagen beschädigen.\",\n deleteAnyway: \"Löschen\",\n usedInTemplates: \"In {count} Vorlage(n) verwendet\",\n viewGrid: \"Rasteransicht\",\n viewList: \"Listenansicht\",\n showFolders: \"Ordner anzeigen\",\n hideFolders: \"Ordner ausblenden\",\n importFromUrl: \"Von URL importieren\",\n importUrlPlaceholder: \"https://example.com/image.jpg\",\n import: \"Importieren\",\n importing: \"Wird importiert...\",\n importError: \"Import von URL fehlgeschlagen\",\n conversionLabel: \"Groesse\",\n conversionOriginal: \"Original\",\n conversionSmall: \"Klein (150px)\",\n conversionMedium: \"Mittel (600px)\",\n conversionLarge: \"Gross (1200px)\",\n replaceFile: \"Datei ersetzen\",\n replaceWarningTitle: \"Datei ersetzen\",\n replaceWarningMessage:\n \"Sie sind dabei, diese Datei zu ersetzen. Die Ersatzdatei muss dieselbe Dateierweiterung haben ({extension}).\",\n replaceWarningUsageNote:\n \"Diese Datei wird in {count} Vorlage(n) verwendet. Das Ersetzen aktualisiert alle Verweise.\",\n replaceSelectFile: \"Ersatzdatei auswählen\",\n replace: \"Ersetzen\",\n replacing: \"Wird ersetzt...\",\n replaceError: \"Ersetzen der Datei fehlgeschlagen\",\n saving: \"Wird gespeichert...\",\n cropAspectRatio: \"Seitenverhältnis\",\n cropFree: \"Frei\",\n cropSquare: \"1:1\",\n cropLandscape43: \"4:3\",\n cropLandscape169: \"16:9\",\n cropOriginal: \"Original\",\n cropMaxWidth: \"Max. Breite\",\n cropMaxHeight: \"Max. Höhe\",\n cropOutputSize: \"Ausgabegröße\",\n cropPixels: \"px\",\n cropOptional: \"(optional)\",\n storageTooltip: \"{used} von {total} verwendet ({remaining} verfügbar)\",\n },\n};\n\nexport default de;\n"],"mappings":";AAEA,IAAM,IAAgB,EACpB,cAAc;CACZ,OAAO;CACP,mBAAmB;CACnB,UAAU;CACV,WAAW;CACX,cAAc;CACd,iBAAiB;CACjB,cAAc;CACd,aAAa;CACb,WAAW;CACX,YAAY;CACZ,SAAS;CACT,aAAa;CACb,iBAAiB;CACjB,WAAW;CACX,mBAAmB;CACnB,aAAa;CACb,YAAY;CACZ,gBAAgB;CAChB,SAAS;CACT,QAAQ;CACR,aAAa;CACb,cAAc;CACd,cAAc;CACd,eAAe;CACf,YAAY;CACZ,YAAY;CACZ,aAAa;CACb,cAAc;CACd,aAAa;CACb,cAAc;CACd,cAAc;CACd,YAAY;CACZ,eAAe;CACf,eAAe;CACf,YAAY;CACZ,UAAU;CACV,UAAU;CACV,SAAS;CACT,oBAAoB;CACpB,aAAa;CACb,QAAQ;CACR,gBAAgB;CAChB,oBAAoB;CACpB,sBACE;CACF,wBACE;CACF,cAAc;CACd,iBAAiB;CACjB,UAAU;CACV,UAAU;CACV,aAAa;CACb,aAAa;CACb,eAAe;CACf,sBAAsB;CACtB,QAAQ;CACR,WAAW;CACX,aAAa;CACb,iBAAiB;CACjB,oBAAoB;CACpB,iBAAiB;CACjB,kBAAkB;CAClB,iBAAiB;CACjB,aAAa;CACb,qBAAqB;CACrB,uBACE;CACF,yBACE;CACF,mBAAmB;CACnB,SAAS;CACT,WAAW;CACX,cAAc;CACd,QAAQ;CACR,iBAAiB;CACjB,UAAU;CACV,YAAY;CACZ,iBAAiB;CACjB,kBAAkB;CAClB,cAAc;CACd,cAAc;CACd,eAAe;CACf,gBAAgB;CAChB,YAAY;CACZ,cAAc;CACd,gBAAgB;CACjB,EACF"}
|
|
@@ -57,7 +57,9 @@ var e = {
|
|
|
57
57
|
html: "HTML",
|
|
58
58
|
menu: "Menü",
|
|
59
59
|
table: "Tabelle",
|
|
60
|
-
countdown: "Countdown"
|
|
60
|
+
countdown: "Countdown",
|
|
61
|
+
form: "Formular",
|
|
62
|
+
discountCoupon: "Rabattcode"
|
|
61
63
|
},
|
|
62
64
|
sidebar: {
|
|
63
65
|
content: "Inhalt",
|
|
@@ -252,6 +254,106 @@ var e = {
|
|
|
252
254
|
fixedWidth: "Feste Breite",
|
|
253
255
|
placeholderColor: "Platzhalterfarbe"
|
|
254
256
|
},
|
|
257
|
+
form: {
|
|
258
|
+
tabs: {
|
|
259
|
+
sync: "Sync",
|
|
260
|
+
fields: "Felder",
|
|
261
|
+
button: "Button",
|
|
262
|
+
terms: "Bedingungen"
|
|
263
|
+
},
|
|
264
|
+
sync: { heading: "Wähle deine Marketing-Plattform" },
|
|
265
|
+
fieldTypes: {
|
|
266
|
+
firstName: "Vorname",
|
|
267
|
+
lastName: "Nachname",
|
|
268
|
+
email: "E-Mail",
|
|
269
|
+
phone: "Telefon"
|
|
270
|
+
},
|
|
271
|
+
fields: {
|
|
272
|
+
addField: "Feld hinzufügen",
|
|
273
|
+
noMoreFields: "Alle Feldtypen hinzugefügt",
|
|
274
|
+
cancel: "Abbrechen",
|
|
275
|
+
remove: "Feld entfernen",
|
|
276
|
+
label: "Beschriftung",
|
|
277
|
+
labelPlaceholder: "Wie ist deine E-Mail?",
|
|
278
|
+
optional: "optional",
|
|
279
|
+
placeholder: "Platzhalter",
|
|
280
|
+
name: "Feldname",
|
|
281
|
+
required: "Feld ist erforderlich",
|
|
282
|
+
blockExisting: "Bekannte E-Mails sperren",
|
|
283
|
+
blockExistingHint: "Verhindert die Anmeldung mit bereits gesammelten E-Mail-Adressen.",
|
|
284
|
+
blockExistingAll: "Über alle Kampagnen prüfen",
|
|
285
|
+
blockExistingThis: "Nur diese Kampagne prüfen",
|
|
286
|
+
errorMessage: "Fehlermeldung"
|
|
287
|
+
},
|
|
288
|
+
button: {
|
|
289
|
+
submitText: "Absende-Button",
|
|
290
|
+
actionOnClick: "Aktion beim Klick",
|
|
291
|
+
url: "Seiten-URL",
|
|
292
|
+
position: "Anordnung",
|
|
293
|
+
oneLine: "Eine Zeile",
|
|
294
|
+
twoLines: "Zwei Zeilen",
|
|
295
|
+
background: "Hintergrund",
|
|
296
|
+
textColor: "Textfarbe",
|
|
297
|
+
borderRadius: "Eckenradius"
|
|
298
|
+
},
|
|
299
|
+
buttonActions: {
|
|
300
|
+
nextStep: "Nächsten Schritt anzeigen",
|
|
301
|
+
closePopup: "Popup schließen",
|
|
302
|
+
loadPage: "Neue Seite laden",
|
|
303
|
+
none: "Nichts tun"
|
|
304
|
+
},
|
|
305
|
+
terms: {
|
|
306
|
+
enable: "Bedingungen anzeigen",
|
|
307
|
+
content: "Inhalt der Bedingungen",
|
|
308
|
+
htmlHint: "HTML ist erlaubt. Nutze Links und Kleingedrucktes nach Bedarf."
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
discountCoupon: {
|
|
312
|
+
description: "Gewinnen Sie Kunden mit einem Rabattcode für das Abonnement.",
|
|
313
|
+
modeNone: "Kein Rabatt",
|
|
314
|
+
modeAuto: "Rabattcode",
|
|
315
|
+
modeManual: "Shopify-Rabatt manuell eingeben",
|
|
316
|
+
autoHint: "Für jedes Abonnement einen einmaligen, nicht wiederverwendbaren Code erzeugen.",
|
|
317
|
+
selectType: "Typ wählen",
|
|
318
|
+
types: {
|
|
319
|
+
percentageOff: "Prozent rabatt",
|
|
320
|
+
fixedAmount: "Fester Betrag",
|
|
321
|
+
freeShipping: "Kostenloser Versand"
|
|
322
|
+
},
|
|
323
|
+
value: "Wert",
|
|
324
|
+
currencyCode: "Währung",
|
|
325
|
+
expiration: "Ablauf des Rabatts festlegen",
|
|
326
|
+
expirationDaysSuffix: "Tage",
|
|
327
|
+
tagCustomer: "Gesendeten Rabattcode als Tag beim Kunden hinzufügen",
|
|
328
|
+
combinations: "Kombinationen",
|
|
329
|
+
combineProduct: "Produktrabatte",
|
|
330
|
+
combineOrder: "Bestellrabatte",
|
|
331
|
+
combineShipping: "Versandrabatte",
|
|
332
|
+
manualPlaceholder: "Rabattcode",
|
|
333
|
+
manualFooterLead: "Rabatt erstellen",
|
|
334
|
+
manualFooterTail: " in deinem Shopify-Admin und gib ihn oben ein.",
|
|
335
|
+
manualBlankError: "Dieses Feld darf nicht leer sein",
|
|
336
|
+
confirmationTextLabel: "Bestätigungstext",
|
|
337
|
+
afterClickLabel: "Nach dem Klick",
|
|
338
|
+
afterClickNone: "Nichts tun",
|
|
339
|
+
afterClickLoadPage: "Zu URL wechseln",
|
|
340
|
+
afterClickCloseCampaign: "Kampagne schließen",
|
|
341
|
+
afterClickNextStep: "Nächsten Schritt anzeigen",
|
|
342
|
+
afterClickPageUrl: "Seiten-URL",
|
|
343
|
+
afterClickUrlPlaceholder: "https://...",
|
|
344
|
+
previewNoDiscount: "Kein Rabatt",
|
|
345
|
+
previewPercentage: "{value} % Rabatt",
|
|
346
|
+
previewFixed: "{value} {currency} Rabatt",
|
|
347
|
+
previewAutoUnique: "Einmaliger Code pro Abonnement",
|
|
348
|
+
previewManualPrefix: "Code:",
|
|
349
|
+
previewManualUnset: "Shopify-Rabattcode eingeben",
|
|
350
|
+
previewExpires: "Läuft nach {days} Tag(en) ab",
|
|
351
|
+
previewTag: "Kunde mit Code taggen",
|
|
352
|
+
previewCombinations: "Kombinierbar mit Produkt- / Bestell- / Versandrabatten",
|
|
353
|
+
previewSampleCode: "THANKYOU20",
|
|
354
|
+
copyCode: "Code kopieren",
|
|
355
|
+
copyCodeFlash: "Kopiert"
|
|
356
|
+
},
|
|
255
357
|
divider: {
|
|
256
358
|
style: "Stil",
|
|
257
359
|
solid: "Durchgehend",
|
|
@@ -363,7 +465,14 @@ var e = {
|
|
|
363
465
|
expiredImageUrl: "Ablaufbild-URL",
|
|
364
466
|
hideOnExpiry: "Bei Ablauf ausblenden",
|
|
365
467
|
setDate: "Legen Sie ein Zieldatum im Einstellungsbereich fest",
|
|
366
|
-
hidden: "Ausgeblendet (abgelaufen)"
|
|
468
|
+
hidden: "Ausgeblendet (abgelaufen)",
|
|
469
|
+
style: "Stil",
|
|
470
|
+
layout: "Layout",
|
|
471
|
+
animationSpeed: "Animationsgeschwindigkeit",
|
|
472
|
+
accentColor: "Akzentfarbe",
|
|
473
|
+
cardGap: "Kartenabstand",
|
|
474
|
+
cardRadius: "Eckenradius",
|
|
475
|
+
enableHoverFx: "Hover-Effekte aktivieren"
|
|
367
476
|
},
|
|
368
477
|
customBlocks: {
|
|
369
478
|
definitionNotFound: "Unbekannter Blocktyp — dieser Block ist nicht registriert",
|
|
@@ -425,6 +534,8 @@ var e = {
|
|
|
425
534
|
contentPadding: "Innenabstand",
|
|
426
535
|
appearance: "Erscheinungsbild",
|
|
427
536
|
backgroundColor: "Hintergrundfarbe",
|
|
537
|
+
backgroundOpacity: "Hintergrundtransparenz",
|
|
538
|
+
backgroundShadow: "Hintergrundschatten",
|
|
428
539
|
fontFamily: "Schriftfamilie",
|
|
429
540
|
preheaderText: "Preheader-Text",
|
|
430
541
|
preheaderTextPlaceholder: "Vorschautext, der nach der Betreffzeile im Posteingang angezeigt wird...",
|
|
@@ -480,7 +591,9 @@ var e = {
|
|
|
480
591
|
stepActions: "Schrittaktionen",
|
|
481
592
|
rename: "Umbenennen",
|
|
482
593
|
delete: "Löschen",
|
|
483
|
-
renamePrompt: "Schrittname"
|
|
594
|
+
renamePrompt: "Schrittname",
|
|
595
|
+
unreachableLabel: "Nicht erreichbarer Schritt",
|
|
596
|
+
unreachableTooltip: "Dieser Schritt ist nicht erreichbar. Auf dem vorherigen Schritt ist keine Schaltfläche und kein Formular mit „Nächsten Schritt anzeigen“ (oder gleichwertig) eingestellt, die bzw. das hierher führt."
|
|
484
597
|
}
|
|
485
598
|
},
|
|
486
599
|
mediaLibrary: {
|
|
@@ -689,6 +802,9 @@ var e = {
|
|
|
689
802
|
backgroundImageOnly: "Nur Bild (Chrome des Inhalts ausblenden)",
|
|
690
803
|
options: "Optionen",
|
|
691
804
|
useOverlay: "Overlay verwenden",
|
|
805
|
+
overlayBlur: "Hintergrund-Unschärfe",
|
|
806
|
+
overlayBlurHint: "Verwischt den Bereich hinter dem Popup. Auf 0 ziehen für einen scharfen Hintergrund.",
|
|
807
|
+
overlayImageOpacity: "Deckkraft des Overlay-Bilds",
|
|
692
808
|
overlayImage: "Overlay-Bild",
|
|
693
809
|
overlayImagePanelAriaLabel: "Overlay-Bild hochladen",
|
|
694
810
|
overlayImageDropLineBefore: "Bild hierher ziehen oder ",
|
|
@@ -768,4 +884,4 @@ var e = {
|
|
|
768
884
|
//#endregion
|
|
769
885
|
export { e as default };
|
|
770
886
|
|
|
771
|
-
//# sourceMappingURL=de-
|
|
887
|
+
//# sourceMappingURL=de-BsYijc0r.js.map
|