@aswin.dev/editor 0.7.2 → 0.7.3
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-Dt5pvG5t.js} +9 -9
- package/dist/{AiFeatureMenu-DoLD5Cde.js → AiFeatureMenu-BipxcGap.js} +5 -5
- package/dist/{BlockA11yBadge-DkNbDvJA.js → BlockA11yBadge-Qs6HtXid.js} +1 -1
- package/dist/{CloudEditor-zo9PjjvY.js → CloudEditor-CnUX0IOW.js} +327 -290
- package/dist/{CollaboratorBar-BsXMY-8e.js → CollaboratorBar-NaaZTjbs.js} +2 -2
- package/dist/{CommentsSidebar-DIWIa4rS.js → CommentsSidebar-DE6ZsM4D.js} +15 -16
- package/dist/CountdownBlock-Ba3T-i2X.js +1536 -0
- package/dist/{CountdownToolbar-BuS8p5ju.js → CountdownToolbar-CbhSp_uq.js} +2 -2
- package/dist/{DesignReferenceSidebar-RDlnhL-6.js → DesignReferenceSidebar-CZg97bbj.js} +5 -5
- package/dist/{LoadingTrack-BJ59h9ok.js → LoadingTrack-Ba2pfF57.js} +1 -1
- package/dist/{ModuleBrowserModal-b7HbpByz.js → ModuleBrowserModal-D2EVdexc.js} +7 -7
- package/dist/{ModulePreviewCanvas-D__YlOLS.js → ModulePreviewCanvas-P3N-nxkU.js} +52 -47
- package/dist/{NumberWithSuffix-Ca3vNY84.js → NumberWithSuffix-CihczoAd.js} +2 -2
- package/dist/{ParagraphEditor-B1aYPO-6.js → ParagraphEditor-BbRuKhWv.js} +23 -23
- package/dist/{RichTextEditorContent-BmEVMrkJ.js → RichTextEditorContent-CrqPQdnk.js} +1 -1
- package/dist/{SaveModuleDialog-ClovqI6h.js → SaveModuleDialog-DLZa3m3O.js} +3 -3
- package/dist/{SnapshotHistory-DoqtH0cw.js → SnapshotHistory-Csg1_jXi.js} +5 -5
- package/dist/{TemplateScoringPanel-DQv2ZAiL.js → TemplateScoringPanel-CS7o62zS.js} +7 -7
- package/dist/{TestEmailModal-iIeYJYsj.js → TestEmailModal-m3okLbJz.js} +3 -3
- package/dist/{TitleEditor-CTDIwRF_.js → TitleEditor-CtJIS5ER.js} +7 -7
- package/dist/{TplModal-CBq1J1pG.js → TplModal-CQCrKeKP.js} +1 -1
- package/dist/{blockTypeIcons-QkC6f5UE.js → blockTypeIcons-Dah0pgt-.js} +50 -19
- package/dist/bundle-stats.json +7 -7
- package/dist/cdn/chunks/{AccessibilityPanel-BeU8nz7A.js → AccessibilityPanel-Bt_fD7QT.js} +8 -8
- package/dist/cdn/chunks/{AccessibilityPanel-BeU8nz7A.js.map → AccessibilityPanel-Bt_fD7QT.js.map} +1 -1
- package/dist/cdn/chunks/{AiFeatureMenu-B2mhscyP.js → AiFeatureMenu-Bn-0rgfr.js} +8 -8
- package/dist/cdn/chunks/{AiFeatureMenu-B2mhscyP.js.map → AiFeatureMenu-Bn-0rgfr.js.map} +1 -1
- package/dist/cdn/chunks/{BlockA11yBadge-C4g77gF0.js → BlockA11yBadge-Cj18Iw0p.js} +4 -4
- package/dist/cdn/chunks/{BlockA11yBadge-C4g77gF0.js.map → BlockA11yBadge-Cj18Iw0p.js.map} +1 -1
- package/dist/cdn/chunks/{CloudEditor-Btyr0b0_.js → CloudEditor-56lVcdot.js} +312 -275
- package/dist/cdn/chunks/CloudEditor-56lVcdot.js.map +1 -0
- package/dist/cdn/chunks/{CollaboratorBar-YBiIjiRh.js → CollaboratorBar-B7DCV3xp.js} +3 -3
- package/dist/cdn/chunks/{CollaboratorBar-YBiIjiRh.js.map → CollaboratorBar-B7DCV3xp.js.map} +1 -1
- package/dist/cdn/chunks/{CountdownToolbar-C9XZr33O.js → CountdownToolbar-BtaD3d3-.js} +4 -4
- package/dist/cdn/chunks/{CountdownToolbar-C9XZr33O.js.map → CountdownToolbar-BtaD3d3-.js.map} +1 -1
- package/dist/cdn/chunks/{ModuleBrowserModal-C2CDWKW6.js → ModuleBrowserModal-CiIY7ZGv.js} +7 -7
- package/dist/cdn/chunks/{ModuleBrowserModal-C2CDWKW6.js.map → ModuleBrowserModal-CiIY7ZGv.js.map} +1 -1
- package/dist/cdn/chunks/{ModulePreviewCanvas-Drt8Evai.js → ModulePreviewCanvas-M7_OGV2m.js} +55 -51
- package/dist/cdn/chunks/ModulePreviewCanvas-M7_OGV2m.js.map +1 -0
- package/dist/cdn/chunks/{NumberWithSuffix-Ty1bp9vB.js → NumberWithSuffix-DfVBnsgc.js} +3 -3
- package/dist/cdn/chunks/{NumberWithSuffix-Ty1bp9vB.js.map → NumberWithSuffix-DfVBnsgc.js.map} +1 -1
- package/dist/cdn/chunks/{ParagraphEditor-BA1WbHI7.js → ParagraphEditor-1XJOpiLX.js} +45 -45
- package/dist/cdn/chunks/{ParagraphEditor-BA1WbHI7.js.map → ParagraphEditor-1XJOpiLX.js.map} +1 -1
- package/dist/cdn/chunks/{RichTextEditorContent-BtWCA_Oc.js → RichTextEditorContent-C2q8sbp2.js} +4 -4
- package/dist/cdn/chunks/{RichTextEditorContent-BtWCA_Oc.js.map → RichTextEditorContent-C2q8sbp2.js.map} +1 -1
- package/dist/cdn/chunks/{SaveModuleDialog-AwL0tkCV.js → SaveModuleDialog-BNxh1jPT.js} +4 -4
- package/dist/cdn/chunks/{SaveModuleDialog-AwL0tkCV.js.map → SaveModuleDialog-BNxh1jPT.js.map} +1 -1
- package/dist/cdn/chunks/{TitleEditor-DbSyeixS.js → TitleEditor-IF7VzLTk.js} +13 -13
- package/dist/cdn/chunks/{TitleEditor-DbSyeixS.js.map → TitleEditor-IF7VzLTk.js.map} +1 -1
- package/dist/cdn/chunks/blockTypeIcons-tPBKQ8WC.js +24 -0
- package/dist/cdn/chunks/blockTypeIcons-tPBKQ8WC.js.map +1 -0
- package/dist/{de-2LEvILeZ.js → cdn/chunks/de-B05yW8Gi.js} +74 -3
- package/dist/cdn/chunks/de-B05yW8Gi.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/{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-CNqLoIm9.js → en-BII7695P.js} +73 -4
- package/dist/cdn/chunks/en-BII7695P.js.map +1 -0
- 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-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-B0eT-yjf.js} +22 -22
- package/dist/cdn/chunks/{extensions-BVKQw_sp.js.map → extensions-B0eT-yjf.js.map} +1 -1
- package/dist/cdn/chunks/{features-DIBEo4xl.js → features-BrvE2Fzv.js} +2934 -1170
- package/dist/cdn/chunks/features-BrvE2Fzv.js.map +1 -0
- package/dist/cdn/chunks/{icons-C1Gg-ov-.js → icons-C7wtAD8p.js} +111 -60
- package/dist/cdn/chunks/icons-C7wtAD8p.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-Cl5XuaKy.js} +676 -660
- package/dist/cdn/chunks/media-library-Cl5XuaKy.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-Va91a3N8.js} +40 -40
- package/dist/cdn/chunks/{quality-C5AmotmP.js.map → quality-Va91a3N8.js.map} +1 -1
- package/dist/cdn/chunks/{renderer-D0L44Vlp.js → renderer-si0Zgxeb.js} +17 -17
- package/dist/cdn/chunks/{renderer-D0L44Vlp.js.map → renderer-si0Zgxeb.js.map} +1 -1
- package/dist/cdn/chunks/{src-RKexlYjA.js → src-BLyYIbdZ.js} +10 -10
- package/dist/cdn/chunks/{src-RKexlYjA.js.map → src-BLyYIbdZ.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-C6BQLT9F.js} +2174 -1343
- package/dist/cdn/chunks/styles-C6BQLT9F.js.map +1 -0
- package/dist/cdn/chunks/{tiptap-CDzAbF2j.js → tiptap-D8whBv5F.js} +2 -2
- package/dist/cdn/chunks/{tiptap-CDzAbF2j.js.map → tiptap-D8whBv5F.js.map} +1 -1
- package/dist/cdn/editor.css +1 -1
- package/dist/cdn/editor.js +146 -117
- package/dist/cdn/editor.js.map +1 -1
- package/dist/{cloud-DJG4tb4_.js → cloud-BoS0J0vs.js} +1 -1
- package/dist/{cdn/chunks/de-_tooy3Q8.js → de-C74F9xK3.js} +72 -5
- 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-Bmir0gYb.js → dist-C2grMquk.js} +233 -139
- 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-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-B24jVTeO.js} +72 -3
- package/dist/{extensions-BQ1xXx3d.js → extensions-DsmjHqBF.js} +21 -21
- package/dist/index.d.ts +8 -8
- package/dist/{pencil-BZJPNYWR.js → pencil-Bpimrzzw.js} +5 -2
- package/dist/style.css +1 -1
- package/dist/{styles-CavWjvol.js → styles-BMFMtR9R.js} +2121 -1267
- package/dist/templatical-editor.js +149 -120
- package/dist/{useEditorCore-BGnzcT7p.js → useEditorCore-CtNAo0uy.js} +2331 -2202
- package/dist/useMergeTag-2vTcVpNo.js +34 -0
- package/package.json +7 -7
- package/dist/CountdownBlock-BCi7-DAM.js +0 -92
- 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/ModulePreviewCanvas-Drt8Evai.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 +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":"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"}
|
|
1
|
+
{"version":3,"file":"TitleEditor-IF7VzLTk.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,24 @@
|
|
|
1
|
+
import { bt as e, ft as t, ht as n, kt as r, wt as i } from "./features-BrvE2Fzv.js";
|
|
2
|
+
import { $ as a, A as o, H as s, L as c, O as l, at as u, j as d, o as f, s as p, st as m } from "./icons-C7wtAD8p.js";
|
|
3
|
+
//#region src/utils/blockTypeIcons.ts
|
|
4
|
+
var h = {
|
|
5
|
+
section: u,
|
|
6
|
+
title: a,
|
|
7
|
+
paragraph: d,
|
|
8
|
+
image: i,
|
|
9
|
+
button: l,
|
|
10
|
+
input: p,
|
|
11
|
+
divider: s,
|
|
12
|
+
video: o,
|
|
13
|
+
social: n,
|
|
14
|
+
menu: e,
|
|
15
|
+
table: t,
|
|
16
|
+
spacer: c,
|
|
17
|
+
countdown: f,
|
|
18
|
+
form: m,
|
|
19
|
+
html: r
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { h as t };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=blockTypeIcons-tPBKQ8WC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockTypeIcons-tPBKQ8WC.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 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 html: Code,\n};\n"],"mappings":";;;AAmBA,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,MAAM;CACP"}
|
|
@@ -57,7 +57,8 @@ var e = {
|
|
|
57
57
|
html: "HTML",
|
|
58
58
|
menu: "Menü",
|
|
59
59
|
table: "Tabelle",
|
|
60
|
-
countdown: "Countdown"
|
|
60
|
+
countdown: "Countdown",
|
|
61
|
+
form: "Formular"
|
|
61
62
|
},
|
|
62
63
|
sidebar: {
|
|
63
64
|
content: "Inhalt",
|
|
@@ -252,6 +253,60 @@ var e = {
|
|
|
252
253
|
fixedWidth: "Feste Breite",
|
|
253
254
|
placeholderColor: "Platzhalterfarbe"
|
|
254
255
|
},
|
|
256
|
+
form: {
|
|
257
|
+
tabs: {
|
|
258
|
+
sync: "Sync",
|
|
259
|
+
fields: "Felder",
|
|
260
|
+
button: "Button",
|
|
261
|
+
terms: "Bedingungen"
|
|
262
|
+
},
|
|
263
|
+
sync: { heading: "Wähle deine Marketing-Plattform" },
|
|
264
|
+
fieldTypes: {
|
|
265
|
+
firstName: "Vorname",
|
|
266
|
+
lastName: "Nachname",
|
|
267
|
+
email: "E-Mail",
|
|
268
|
+
phone: "Telefon"
|
|
269
|
+
},
|
|
270
|
+
fields: {
|
|
271
|
+
addField: "Feld hinzufügen",
|
|
272
|
+
noMoreFields: "Alle Feldtypen hinzugefügt",
|
|
273
|
+
cancel: "Abbrechen",
|
|
274
|
+
remove: "Feld entfernen",
|
|
275
|
+
label: "Beschriftung",
|
|
276
|
+
labelPlaceholder: "Wie ist deine E-Mail?",
|
|
277
|
+
optional: "optional",
|
|
278
|
+
placeholder: "Platzhalter",
|
|
279
|
+
name: "Feldname",
|
|
280
|
+
required: "Feld ist erforderlich",
|
|
281
|
+
blockExisting: "Bekannte E-Mails sperren",
|
|
282
|
+
blockExistingHint: "Verhindert die Anmeldung mit bereits gesammelten E-Mail-Adressen.",
|
|
283
|
+
blockExistingAll: "Über alle Kampagnen prüfen",
|
|
284
|
+
blockExistingThis: "Nur diese Kampagne prüfen",
|
|
285
|
+
errorMessage: "Fehlermeldung"
|
|
286
|
+
},
|
|
287
|
+
button: {
|
|
288
|
+
submitText: "Absende-Button",
|
|
289
|
+
actionOnClick: "Aktion beim Klick",
|
|
290
|
+
url: "Seiten-URL",
|
|
291
|
+
position: "Anordnung",
|
|
292
|
+
oneLine: "Eine Zeile",
|
|
293
|
+
twoLines: "Zwei Zeilen",
|
|
294
|
+
background: "Hintergrund",
|
|
295
|
+
textColor: "Textfarbe",
|
|
296
|
+
borderRadius: "Eckenradius"
|
|
297
|
+
},
|
|
298
|
+
buttonActions: {
|
|
299
|
+
nextStep: "Nächsten Schritt anzeigen",
|
|
300
|
+
closePopup: "Popup schließen",
|
|
301
|
+
loadPage: "Neue Seite laden",
|
|
302
|
+
none: "Nichts tun"
|
|
303
|
+
},
|
|
304
|
+
terms: {
|
|
305
|
+
enable: "Bedingungen anzeigen",
|
|
306
|
+
content: "Inhalt der Bedingungen",
|
|
307
|
+
htmlHint: "HTML ist erlaubt. Nutze Links und Kleingedrucktes nach Bedarf."
|
|
308
|
+
}
|
|
309
|
+
},
|
|
255
310
|
divider: {
|
|
256
311
|
style: "Stil",
|
|
257
312
|
solid: "Durchgehend",
|
|
@@ -363,7 +418,14 @@ var e = {
|
|
|
363
418
|
expiredImageUrl: "Ablaufbild-URL",
|
|
364
419
|
hideOnExpiry: "Bei Ablauf ausblenden",
|
|
365
420
|
setDate: "Legen Sie ein Zieldatum im Einstellungsbereich fest",
|
|
366
|
-
hidden: "Ausgeblendet (abgelaufen)"
|
|
421
|
+
hidden: "Ausgeblendet (abgelaufen)",
|
|
422
|
+
style: "Stil",
|
|
423
|
+
layout: "Layout",
|
|
424
|
+
animationSpeed: "Animationsgeschwindigkeit",
|
|
425
|
+
accentColor: "Akzentfarbe",
|
|
426
|
+
cardGap: "Kartenabstand",
|
|
427
|
+
cardRadius: "Eckenradius",
|
|
428
|
+
enableHoverFx: "Hover-Effekte aktivieren"
|
|
367
429
|
},
|
|
368
430
|
customBlocks: {
|
|
369
431
|
definitionNotFound: "Unbekannter Blocktyp — dieser Block ist nicht registriert",
|
|
@@ -425,6 +487,8 @@ var e = {
|
|
|
425
487
|
contentPadding: "Innenabstand",
|
|
426
488
|
appearance: "Erscheinungsbild",
|
|
427
489
|
backgroundColor: "Hintergrundfarbe",
|
|
490
|
+
backgroundOpacity: "Hintergrundtransparenz",
|
|
491
|
+
backgroundShadow: "Hintergrundschatten",
|
|
428
492
|
fontFamily: "Schriftfamilie",
|
|
429
493
|
preheaderText: "Preheader-Text",
|
|
430
494
|
preheaderTextPlaceholder: "Vorschautext, der nach der Betreffzeile im Posteingang angezeigt wird...",
|
|
@@ -480,7 +544,9 @@ var e = {
|
|
|
480
544
|
stepActions: "Schrittaktionen",
|
|
481
545
|
rename: "Umbenennen",
|
|
482
546
|
delete: "Löschen",
|
|
483
|
-
renamePrompt: "Schrittname"
|
|
547
|
+
renamePrompt: "Schrittname",
|
|
548
|
+
unreachableLabel: "Nicht erreichbarer Schritt",
|
|
549
|
+
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
550
|
}
|
|
485
551
|
},
|
|
486
552
|
mediaLibrary: {
|
|
@@ -689,6 +755,9 @@ var e = {
|
|
|
689
755
|
backgroundImageOnly: "Nur Bild (Chrome des Inhalts ausblenden)",
|
|
690
756
|
options: "Optionen",
|
|
691
757
|
useOverlay: "Overlay verwenden",
|
|
758
|
+
overlayBlur: "Hintergrund-Unschärfe",
|
|
759
|
+
overlayBlurHint: "Verwischt den Bereich hinter dem Popup. Auf 0 ziehen für einen scharfen Hintergrund.",
|
|
760
|
+
overlayImageOpacity: "Deckkraft des Overlay-Bilds",
|
|
692
761
|
overlayImage: "Overlay-Bild",
|
|
693
762
|
overlayImagePanelAriaLabel: "Overlay-Bild hochladen",
|
|
694
763
|
overlayImageDropLineBefore: "Bild hierher ziehen oder ",
|
|
@@ -767,3 +836,5 @@ var e = {
|
|
|
767
836
|
};
|
|
768
837
|
//#endregion
|
|
769
838
|
export { e as default };
|
|
839
|
+
|
|
840
|
+
//# sourceMappingURL=de-B05yW8Gi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de-B05yW8Gi.js","names":[],"sources":["../../../src/i18n/locales/de.ts"],"sourcesContent":["import type en from \"./en\";\n\nconst de: typeof en = {\n // Footer (OSS only)\n footer: {\n poweredBy: \"Erstellt mit\",\n openSource: \"Open Source\",\n },\n\n tour: {\n next: \"Weiter\",\n skip: \"Tour überspringen\",\n done: \"Verstanden!\",\n stepCounter: \"{current} von {total}\",\n defaults: {\n canvas: {\n title: \"Ihre E-Mail-Leinwand\",\n text: \"Hier nimmt Ihre E-Mail Gestalt an. Klicken Sie auf einen Block, um ihn auszuwählen und zu bearbeiten.\",\n },\n sidebar: {\n title: \"Block-Bibliothek\",\n text: \"Ziehen Sie Blöcke von hier auf die Leinwand, um Text, Bilder, Buttons und mehr hinzuzufügen.\",\n },\n rightSidebar: {\n title: \"Inhalt & Einstellungen\",\n text: \"Wählen Sie einen Block aus, um seinen Inhalt hier zu bearbeiten, oder wechseln Sie zu Einstellungen, um das gesamte Vorlagenlayout anzupassen.\",\n },\n },\n },\n\n // History (undo/redo)\n history: {\n undo: \"Rückgängig\",\n redo: \"Wiederholen\",\n collabWarning:\n \"Rückgängig machen kann die Änderungen anderer Mitarbeiter beeinflussen\",\n },\n\n // Viewport toggle\n viewport: {\n label: \"Ansichtsgröße\",\n desktop: \"Desktop\",\n tablet: \"Tablet\",\n mobile: \"Mobil\",\n },\n\n // Dark mode preview\n darkMode: {\n enable: \"Dunkelmodus-Vorschau\",\n disable: \"Hellmodus-Vorschau\",\n },\n\n // Preview mode\n previewMode: {\n enable: \"Vorschaumodus\",\n disable: \"Vorschau beenden\",\n },\n\n // Sidebar - Block types\n blocks: {\n section: \"Abschnitt\",\n image: \"Bild\",\n title: \"Titel\",\n paragraph: \"Absatz\",\n button: \"Schaltfläche\",\n input: \"Eingabefeld\",\n divider: \"Trennlinie\",\n video: \"Video\",\n social: \"Sozial\",\n spacer: \"Abstand\",\n html: \"HTML\",\n menu: \"Menü\",\n table: \"Tabelle\",\n countdown: \"Countdown\",\n form: \"Formular\",\n },\n\n // Right sidebar\n sidebar: {\n content: \"Inhalt\",\n settings: \"Einstellungen\",\n noSelection: \"Kein Element ausgewählt\",\n noSelectionHint:\n \"Wählen Sie einen Block auf der Leinwand aus, um ihn zu bearbeiten\",\n },\n\n // Toolbar - Common\n toolbar: {\n duplicate: \"Duplizieren\",\n delete: \"Löschen\",\n },\n\n // Title editor toolbar\n titleEditor: {\n toolbar: \"Titelformatierung\",\n bold: \"Fett (Strg+B)\",\n italic: \"Kursiv (Strg+I)\",\n addLink: \"Link hinzufügen\",\n },\n\n // Paragraph editor toolbar\n paragraphEditor: {\n toolbar: \"Textformatierung\",\n bold: \"Fett (Strg+B)\",\n italic: \"Kursiv (Strg+I)\",\n underline: \"Unterstrichen (Strg+U)\",\n strikethrough: \"Durchgestrichen\",\n subscript: \"Tiefgestellt\",\n superscript: \"Hochgestellt\",\n addLink: \"Link hinzufügen\",\n bulletList: \"Aufzählungsliste\",\n numberedList: \"Nummerierte Liste\",\n alignLeft: \"Linksbündig\",\n alignCenter: \"Zentriert\",\n alignRight: \"Rechtsbündig\",\n clearFormatting: \"Formatierung entfernen\",\n insertEmoji: \"Emoji einfügen\",\n fontFamily: \"Schriftart\",\n defaultFont: \"Standard\",\n fontSize: \"Schriftgröße\",\n defaultSize: \"Standard\",\n textColor: \"Textfarbe\",\n highlightColor: \"Hervorhebungsfarbe\",\n lineHeight: \"Zeilenhöhe\",\n letterSpacing: \"Zeichenabstand\",\n emojiItemLabel: \"Emoji {emoji} einfügen\",\n closeEmojiPicker: \"Emoji-Auswahl schließen\",\n },\n\n // Block actions (BlockWrapper)\n blockActions: {\n drag: \"Zum Sortieren ziehen oder Leertaste drücken, um mit der Tastatur zu verschieben\",\n dragLifted:\n \"{block} wird verschoben. Pfeiltasten zum Positionieren, Leer- oder Eingabetaste zum Ablegen, Esc zum Abbrechen.\",\n duplicate: \"Block duplizieren\",\n delete: \"Block löschen\",\n hiddenOnViewport: \"Ausgeblendet auf {viewport}\",\n saveAsModule: \"Als Modul speichern\",\n conditionToggle: \"Anzeigebedingung umschalten\",\n comments: \"Kommentare ({count})\",\n lifted: \"{block} angehoben. Position {position} von {total}.\",\n moved: \"{block} auf Position {position} von {total} verschoben.\",\n dropped: \"{block} auf Position {position} von {total} abgelegt.\",\n cancelled:\n \"Verschieben abgebrochen. {block} auf Position {position} zurückgesetzt.\",\n },\n\n // Toolbar - Section\n section: {\n dropHere: \"Blöcke hierher ziehen\",\n columns: \"Spalten\",\n column1: \"1 Spalte\",\n column2: \"2 Spalten\",\n column3: \"3 Spalten\",\n ratio12: \"1:2 Verhältnis\",\n ratio21: \"2:1 Verhältnis\",\n },\n\n // Text editor link dialog\n linkDialog: {\n editLink: \"Link bearbeiten\",\n insertLink: \"Link einfügen\",\n updateLink: \"Link aktualisieren\",\n removeLink: \"Link entfernen\",\n cancel: \"Abbrechen\",\n urlPlaceholder: \"https://beispiel.de\",\n urlLabel: \"URL\",\n },\n\n // Toolbar - Title\n title: {\n level: \"Überschriftenebene\",\n heading1: \"Überschrift 1 (36px)\",\n heading2: \"Überschrift 2 (28px)\",\n heading3: \"Überschrift 3 (22px)\",\n heading4: \"Überschrift 4 (18px)\",\n fontFamily: \"Schriftart\",\n inheritFont: \"Vorlagenschrift verwenden\",\n color: \"Farbe\",\n align: \"Ausrichtung\",\n alignLeft: \"Links\",\n alignCenter: \"Zentriert\",\n alignRight: \"Rechts\",\n },\n\n // Emoji picker\n emoji: {\n smileys: \"Smileys\",\n gestures: \"Gesten\",\n objects: \"Objekte\",\n },\n\n // Toolbar - Image\n image: {\n imageUrl: \"Bild-URL\",\n imageUrlPlaceholder: \"https://...\",\n altText: \"Alternativtext\",\n altTextPlaceholder: \"Bildbeschreibung\",\n width: \"Breite\",\n fullWidth: \"Volle Breite\",\n linkUrl: \"Link-URL\",\n openInNewTab: \"In neuem Tab öffnen\",\n placeholderUrl: \"Platzhalterbild\",\n placeholderUrlPlaceholder: \"https://... (nur zur Gestaltung)\",\n placeholderUrlTooltip:\n \"Da die Bild-URL ein Merge-Tag verwendet, können Sie hier ein echtes Bild angeben, um das Layout während der Gestaltung in der Vorschau anzuzeigen. Dies wird nicht in die endgültige Ausgabe aufgenommen.\",\n clickToAdd: \"Klicken Sie, um eine Bild-URL hinzuzufügen\",\n browseMedia: \"Medien durchsuchen\",\n decorative: \"Dekoratives Bild\",\n decorativeHint:\n \"Wird von Bildschirmlesern ignoriert. Nur für Abstandshalter und visuelle Verzierungen verwenden.\",\n },\n\n // Toolbar - Video\n video: {\n videoUrl: \"Video-URL\",\n videoUrlPlaceholder: \"https://youtube.com/...\",\n youtube: \"YouTube\",\n vimeo: \"Vimeo\",\n detected: \"Video erkannt — Vorschaubild wird automatisch generiert\",\n openInNewTab: \"In neuem Tab öffnen\",\n customThumbnail: \"Eigenes Vorschaubild\",\n optional: \"(optional)\",\n thumbnailPlaceholder: \"Automatisch aus Video-URL generiert\",\n altText: \"Alternativtext\",\n altTextPlaceholder: \"Videobeschreibung\",\n width: \"Breite\",\n fullWidth: \"Volle Breite\",\n placeholderUrl: \"Platzhalter-Thumbnail\",\n placeholderUrlPlaceholder: \"https://... (nur zur Gestaltung)\",\n placeholderUrlTooltip:\n \"Da die Video-URL ein Merge-Tag verwendet, können Sie hier ein echtes Thumbnail angeben, um das Layout während der Gestaltung in der Vorschau anzuzeigen. Dies wird nicht in die endgültige Ausgabe aufgenommen.\",\n addVideo: \"Video-URL hinzufügen\",\n },\n\n // Toolbar - Button\n button: {\n fontFamily: \"Schriftart\",\n inheritFont: \"Vorlagenschrift verwenden\",\n text: \"Text\",\n actionOnClick: \"Aktion beim Klick\",\n clickActionNone: \"Aktion wählen\",\n clickActionNextStep: \"Nächsten Schritt anzeigen\",\n clickActionPreviousStep: \"Vorherigen Schritt anzeigen\",\n clickActionLoadPage: \"Neue Seite laden\",\n clickActionScrollAnchor: \"Zum Anker scrollen\",\n clickActionClosePopup: \"Popup schließen\",\n url: \"URL\",\n pageUrl: \"Seiten-URL\",\n anchorId: \"Anker-ID\",\n anchorIdPlaceholder: \"abschnitt-id\",\n urlPlaceholder: \"https://...\",\n openInNewTab: \"In neuem Tab öffnen\",\n background: \"Hintergrund\",\n textColor: \"Textfarbe\",\n border: \"Rahmen\",\n borderColor: \"Rahmenfarbe\",\n borderWidth: \"Rahmenbreite\",\n borderSides: \"Seiten\",\n borderSidesLabels: {\n all: \"Alle Seiten\",\n top: \"Oben\",\n right: \"Rechts\",\n bottom: \"Unten\",\n left: \"Links\",\n },\n borderRadius: \"Eckenradius\",\n fontSize: \"Schriftgröße\",\n },\n\n // Toolbar - Input field\n input: {\n fieldType: \"Eingabetyp\",\n types: {\n text: \"Text\",\n email: \"E-Mail\",\n date: \"Datum\",\n },\n name: \"Feldname\",\n label: \"Beschriftung\",\n placeholder: \"Platzhalter\",\n defaultValue: \"Standardwert\",\n required: \"Pflichtfeld\",\n labelAppearance: \"Beschriftung – Darstellung\",\n labelMargin: \"Beschriftung – Außenabstand\",\n labelPadding: \"Beschriftung – Innenabstand\",\n fontFamily: \"Schriftart\",\n inheritFont: \"Vorlagenschrift verwenden\",\n fontWeight: \"Schriftstärke\",\n weightNormal: \"Normal\",\n weightBold: \"Fett\",\n alignLeft: \"Links\",\n alignCenter: \"Zentriert\",\n alignRight: \"Rechts\",\n inputAppearance: \"Eingabefeld – Darstellung\",\n inputMargin: \"Eingabe – Außenabstand\",\n inputPadding: \"Eingabe – Innenabstand\",\n fieldWidth: \"Breite\",\n fixedWidth: \"Feste Breite\",\n placeholderColor: \"Platzhalterfarbe\",\n },\n\n // Toolbar - Form (Mehrfeld-Anmeldung)\n form: {\n tabs: {\n sync: \"Sync\",\n fields: \"Felder\",\n button: \"Button\",\n terms: \"Bedingungen\",\n },\n sync: {\n heading: \"Wähle deine Marketing-Plattform\",\n },\n fieldTypes: {\n firstName: \"Vorname\",\n lastName: \"Nachname\",\n email: \"E-Mail\",\n phone: \"Telefon\",\n },\n fields: {\n addField: \"Feld hinzufügen\",\n noMoreFields: \"Alle Feldtypen hinzugefügt\",\n cancel: \"Abbrechen\",\n remove: \"Feld entfernen\",\n label: \"Beschriftung\",\n labelPlaceholder: \"Wie ist deine E-Mail?\",\n optional: \"optional\",\n placeholder: \"Platzhalter\",\n name: \"Feldname\",\n required: \"Feld ist erforderlich\",\n blockExisting: \"Bekannte E-Mails sperren\",\n blockExistingHint:\n \"Verhindert die Anmeldung mit bereits gesammelten E-Mail-Adressen.\",\n blockExistingAll: \"Über alle Kampagnen prüfen\",\n blockExistingThis: \"Nur diese Kampagne prüfen\",\n errorMessage: \"Fehlermeldung\",\n },\n button: {\n submitText: \"Absende-Button\",\n actionOnClick: \"Aktion beim Klick\",\n url: \"Seiten-URL\",\n position: \"Anordnung\",\n oneLine: \"Eine Zeile\",\n twoLines: \"Zwei Zeilen\",\n background: \"Hintergrund\",\n textColor: \"Textfarbe\",\n borderRadius: \"Eckenradius\",\n },\n buttonActions: {\n nextStep: \"Nächsten Schritt anzeigen\",\n closePopup: \"Popup schließen\",\n loadPage: \"Neue Seite laden\",\n none: \"Nichts tun\",\n },\n terms: {\n enable: \"Bedingungen anzeigen\",\n content: \"Inhalt der Bedingungen\",\n htmlHint:\n \"HTML ist erlaubt. Nutze Links und Kleingedrucktes nach Bedarf.\",\n },\n },\n\n // Toolbar - Divider\n divider: {\n style: \"Stil\",\n solid: \"Durchgehend\",\n dashed: \"Gestrichelt\",\n dotted: \"Gepunktet\",\n color: \"Farbe\",\n thickness: \"Stärke\",\n },\n\n // Toolbar - Social Icons\n social: {\n icons: \"Symbole\",\n addIcon: \"Symbol hinzufügen\",\n addIcons: \"Soziale Symbole hinzufügen\",\n removeIcon: \"Entfernen\",\n platform: \"Plattform\",\n url: \"URL\",\n urlPlaceholder: \"https://...\",\n style: \"Stil\",\n styleSolid: \"Gefüllt\",\n styleOutlined: \"Umrandet\",\n styleRounded: \"Abgerundet\",\n styleSquare: \"Eckig\",\n styleCircle: \"Rund\",\n size: \"Größe\",\n sizeSmall: \"K\",\n sizeMedium: \"M\",\n sizeLarge: \"G\",\n spacing: \"Abstand\",\n align: \"Ausrichtung\",\n platforms: {\n facebook: \"Facebook\",\n twitter: \"X (Twitter)\",\n instagram: \"Instagram\",\n linkedin: \"LinkedIn\",\n youtube: \"YouTube\",\n tiktok: \"TikTok\",\n pinterest: \"Pinterest\",\n email: \"E-Mail\",\n whatsapp: \"WhatsApp\",\n telegram: \"Telegram\",\n discord: \"Discord\",\n snapchat: \"Snapchat\",\n reddit: \"Reddit\",\n github: \"GitHub\",\n dribbble: \"Dribbble\",\n behance: \"Behance\",\n },\n },\n\n // Toolbar - Menu\n menu: {\n items: \"Menüpunkte\",\n addItem: \"Punkt hinzufügen\",\n removeItem: \"Entfernen\",\n text: \"Text\",\n url: \"URL\",\n urlPlaceholder: \"https://beispiel.de\",\n openInNewTab: \"In neuem Tab öffnen\",\n bold: \"Fett\",\n underline: \"Unterstrichen\",\n color: \"Farbe\",\n linkColor: \"Linkfarbe\",\n fontSize: \"Schriftgröße\",\n fontFamily: \"Schriftfamilie\",\n separator: \"Trennzeichen\",\n separatorColor: \"Trennzeichenfarbe\",\n spacing: \"Abstand\",\n textAlign: \"Ausrichtung\",\n addLinks: \"Menülinks hinzufügen\",\n },\n\n // Toolbar - Table\n table: {\n dimensions: \"Abmessungen\",\n rows: \"Zeilen\",\n columns: \"Spalten\",\n addRow: \"Zeile hinzufügen\",\n removeRow: \"Zeile entfernen\",\n addColumn: \"Spalte hinzufügen\",\n removeColumn: \"Spalte entfernen\",\n hasHeaderRow: \"Kopfzeile\",\n headerBackgroundColor: \"Kopfzeilen-Hintergrund\",\n noHeaderBg: \"Kein Hintergrund\",\n borderColor: \"Rahmenfarbe\",\n borderWidth: \"Rahmenbreite\",\n cellPadding: \"Zellenabstand\",\n fontFamily: \"Schriftart\",\n fontSize: \"Schriftgröße\",\n color: \"Textfarbe\",\n textAlign: \"Ausrichtung\",\n cellPlaceholder: \"Text eingeben...\",\n empty: \"Tabelle hinzufügen\",\n },\n\n // Toolbar - Spacer\n spacer: {\n height: \"Höhe\",\n },\n\n // Toolbar - Countdown\n countdown: {\n targetDate: \"Zieldatum\",\n timezone: \"Zeitzone\",\n display: \"Anzeige\",\n days: \"Tage\",\n hours: \"Stunden\",\n minutes: \"Minuten\",\n seconds: \"Sekunden\",\n separator: \"Trennzeichen\",\n fontFamily: \"Schriftart\",\n inheritFont: \"Standard\",\n digitFontSize: \"Zifferngröße\",\n digitColor: \"Ziffernfarbe\",\n labelColor: \"Beschriftungsfarbe\",\n labelFontSize: \"Beschriftungsgröße\",\n background: \"Hintergrund\",\n labels: \"Beschriftungen\",\n expiry: \"Ablaufnachricht\",\n expiredMessagePlaceholder: \"Dieses Angebot ist abgelaufen\",\n expiredImageUrl: \"Ablaufbild-URL\",\n hideOnExpiry: \"Bei Ablauf ausblenden\",\n setDate: \"Legen Sie ein Zieldatum im Einstellungsbereich fest\",\n hidden: \"Ausgeblendet (abgelaufen)\",\n style: \"Stil\",\n layout: \"Layout\",\n animationSpeed: \"Animationsgeschwindigkeit\",\n accentColor: \"Akzentfarbe\",\n cardGap: \"Kartenabstand\",\n cardRadius: \"Eckenradius\",\n enableHoverFx: \"Hover-Effekte aktivieren\",\n },\n\n // Custom Blocks\n customBlocks: {\n definitionNotFound:\n \"Unbekannter Blocktyp — dieser Block ist nicht registriert\",\n renderError:\n \"Dieser Block konnte nicht gerendert werden. Überprüfen Sie die Block-Vorlage auf Fehler.\",\n fields: {\n required: \"Pflichtfeld\",\n addItem: \"Element hinzufügen\",\n removeItem: \"Entfernen\",\n maxItemsReached: \"Maximale Anzahl erreicht\",\n minItemsRequired: \"Mindestens {count} Elemente erforderlich\",\n },\n toolbar: {\n noDefinition:\n \"Registrieren Sie diesen Blocktyp in Ihrer SDK-Konfiguration, um seine Eigenschaften zu bearbeiten\",\n },\n dataSource: {\n fetchButton: \"Inhalt laden\",\n changeButton: \"Ändern\",\n fetching: \"Wird geladen...\",\n readOnlyTooltip: \"Dieser Wert wird aus Ihrer Datenquelle geladen\",\n fetchError: \"Inhalt konnte nicht geladen werden\",\n },\n },\n\n // Toolbar - HTML\n html: {\n content: \"HTML-Inhalt\",\n preview: \"Benutzerdefinierter HTML-Block\",\n empty: \"HTML-Inhalt im Bereich hinzufügen\",\n sanitizationHint:\n \"Skripte und unsichere Elemente werden beim Export entfernt.\",\n },\n\n // Toolbar - Common block settings\n blockSettings: {\n spacing: \"Abstände\",\n padding: \"Innenabstand\",\n margin: \"Außenabstand\",\n background: \"Hintergrund\",\n color: \"Farbe\",\n display: \"Anzeige\",\n showOnDesktop: \"Auf Desktop anzeigen\",\n showOnTablet: \"Auf Tablet anzeigen\",\n showOnMobile: \"Auf Mobilgerät anzeigen\",\n hiddenOnDevice: \"Ausgeblendet auf {device}\",\n customCss: \"Benutzerdefiniertes CSS\",\n css: \"CSS\",\n cssPlaceholder: \"/* Benutzerdefinierte Stile */\",\n displayCondition: \"Anzeigebedingung\",\n selectCondition: \"Bedingung auswählen\",\n removeCondition: \"Bedingung entfernen\",\n noCondition: \"Immer sichtbar\",\n conditionApplied: \"Bedingung angewendet\",\n customCondition: \"Eigene Bedingung\",\n customConditionLabel: \"Bedingungsname\",\n customConditionBefore: \"Vorher (öffnende Logik)\",\n customConditionAfter: \"Nachher (schließende Logik)\",\n applyCondition: \"Anwenden\",\n cancelCondition: \"Abbrechen\",\n customBadge: \"Eigene\",\n restoreHiddenBlocks: \"Alle ausgeblendeten Blöcke anzeigen\",\n },\n\n // Template settings\n templateSettings: {\n layout: \"Layout\",\n widthPreset: \"Breitenvoreinstellung\",\n customWidth: \"Benutzerdefinierte Breite\",\n contentPadding: \"Innenabstand\",\n appearance: \"Erscheinungsbild\",\n backgroundColor: \"Hintergrundfarbe\",\n backgroundOpacity: \"Hintergrundtransparenz\",\n backgroundShadow: \"Hintergrundschatten\",\n fontFamily: \"Schriftfamilie\",\n preheaderText: \"Preheader-Text\",\n preheaderTextPlaceholder:\n \"Vorschautext, der nach der Betreffzeile im Posteingang angezeigt wird...\",\n preheaderTextHint:\n \"Dieser Text erscheint nach der Betreffzeile in der E-Mail-Vorschau. Unterstützt Merge-Tags.\",\n language: \"Sprache\",\n contentLocale: \"Inhaltssprache\",\n contentLocaleHint:\n \"BCP-47-Code (z. B. en, de, pt-BR). Setzt das lang-Attribut der gerenderten E-Mail, damit Screenreader den Inhalt korrekt aussprechen.\",\n tips: \"Tipps\",\n tip1: \"600px ist die Standardbreite für E-Mail-Vorlagen\",\n tip2: \"Verwenden Sie websichere Schriften für beste Kompatibilität\",\n tip3: \"Helle Hintergründe eignen sich am besten für die Lesbarkeit\",\n },\n\n // Spacing control\n spacingControl: {\n lockAll: \"Alle Seiten sperren\",\n unlock: \"Seiten entsperren\",\n top: \"Oben\",\n right: \"Rechts\",\n bottom: \"Unten\",\n left: \"Links\",\n decreaseTop: \"Oben verringern\",\n increaseTop: \"Oben erhöhen\",\n decreaseLeft: \"Links verringern\",\n increaseLeft: \"Links erhöhen\",\n decreaseRight: \"Rechts verringern\",\n increaseRight: \"Rechts erhöhen\",\n decreaseBottom: \"Unten verringern\",\n increaseBottom: \"Unten erhöhen\",\n },\n\n // Color Picker\n colorPicker: {\n pickColor: \"Farbe auswählen\",\n hexValue: \"Hex-Farbwert\",\n },\n\n // Merge-Tag\n mergeTag: {\n clickToEdit: \"Zum Bearbeiten klicken\",\n remove: \"Merge-Tag entfernen\",\n insert: \"Merge-Tag einfügen\",\n add: \"Merge-Tag hinzufügen\",\n editValue: \"Merge-Tag-Wert bearbeiten\",\n deleteMergeTag: \"Merge-Tag löschen\",\n suggestionEmpty: \"Keine passenden Merge-Tags\",\n },\n\n // Canvas\n canvas: {\n noBlocks: \"Noch keine Blöcke\",\n dragHint:\n \"Beginnen Sie von Grund auf, indem Sie Blöcke aus der Seitenleiste ziehen\",\n dropHere: \"Hier ablegen\",\n aiHintChat: \"oder lassen Sie\",\n aiHintChatSuffix: \"in Sekunden eine komplette Vorlage für Sie erstellen\",\n aiHintDesign:\n \"Haben Sie ein bestehendes Design? Laden Sie einen Screenshot, ein Bild oder PDF hoch und\",\n aiHintDesignSuffix: \"erstellt es sofort nach\",\n pages: {\n ariaStrip: \"Schritte\",\n addStep: \"Schritt hinzufügen\",\n stepActions: \"Schrittaktionen\",\n rename: \"Umbenennen\",\n delete: \"Löschen\",\n renamePrompt: \"Schrittname\",\n unreachableLabel: \"Nicht erreichbarer Schritt\",\n unreachableTooltip:\n \"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.\",\n },\n },\n\n // Media Library (cloud)\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: \"Diese Datei löschen?\",\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 \"Diese Datei wird dauerhaft gelöscht und kann nicht wiederhergestellt werden.\",\n deleteWarningUsageNote:\n \"Die folgenden Dateien werden in Vorlagen verwendet. Das Löschen kann diese Vorlagen beschädigen.\",\n deleteAnyway: \"Datei 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 // Seitenleiste & Popup-Leiste\n popupSidebar: {\n workspaceLabel: \"Popup-Editorwerkzeuge\",\n railNavLabel: \"Editorbereiche\",\n railDesign: \"Design\",\n railBlocks: \"Blöcke\",\n railDisplayRules: \"Anzeigeregeln\",\n railSchedule: \"Zeitplan\",\n placeholderDesign: \"Design-Einstellungen erscheinen hier.\",\n placeholderDisplayRules: \"Anzeigeregeln erscheinen hier.\",\n placeholderSchedule: \"Planungsoptionen erscheinen hier.\",\n },\n\n popupSchedule: {\n timeZone: \"Zeitzone\",\n startDate: \"Startdatum\",\n endDate: \"Enddatum\",\n startImmediate: \"Sofort\",\n endNone: \"Keines\",\n clearStartDate: \"Startdatum löschen\",\n clearEndDate: \"Enddatum löschen\",\n needHelp: \"Ich brauche Hilfe\",\n detailedSchedule: \"Detaillierter Zeitplan\",\n detailedScheduleHeading: \"Detaillierter Zeitplan\",\n removeSlot: \"Zeitfenster entfernen\",\n addTimeSlot: \"+ Zeitfenster hinzufügen\",\n calendarPrevMonth: \"Voriger Monat\",\n calendarNextMonth: \"Nächster Monat\",\n calendarToday: \"Heute\",\n calendarClear: \"Datum löschen\",\n calendarDialogLabel: \"Datum wählen\",\n dayLabels: {\n everyday: \"Täglich\",\n monday: \"Montag\",\n tuesday: \"Dienstag\",\n wednesday: \"Mittwoch\",\n thursday: \"Donnerstag\",\n friday: \"Freitag\",\n saturday: \"Samstag\",\n sunday: \"Sonntag\",\n },\n },\n\n popupDisplayRules: {\n debug: \"Debug\",\n tabTrigger: \"Trigger\",\n tabPages: \"Seiten\",\n tabAudience: \"Zielgruppe\",\n tabFrequency: \"Häufigkeit\",\n tabAdvanced: \"Erweitert\",\n placeholderSubtab: \"Dieser Bereich wird später ergänzt.\",\n triggerHeading: \"Trigger\",\n triggerIntro: \"Legen Sie fest, wann Besucher diese Kampagne sehen.\",\n triggerIntroSecondary:\n \"Mehrere Trigger können aktiv sein — es gilt die erste erfüllte Bedingung.\",\n learnMore: \"Mehr erfahren\",\n addTriggerConditions: \"Trigger-Bedingungen hinzufügen\",\n triggerShowOnlyAfter: \"Erst anzeigen nach\",\n triggerSecondsOnPage: \"Sekunden auf der Seite\",\n triggerPageViewsSuffix: \"Seitenaufrufen\",\n triggerAddRule: \"Regel hinzufügen\",\n triggerRemoveRuleAria: \"Seitenaufruf-Regel entfernen\",\n triggerOperatorGroupAria: \"Verzögerung und Seitenaufrufe verknüpfen\",\n operatorAndShort: \"UND\",\n operatorOrShort: \"ODER\",\n triggerDelaySeconds: \"Verzögerung (Sekunden)\",\n triggerPageViews: \"Mindest-Seitenaufrufe\",\n triggerOperator: \"Regeln verknüpfen mit\",\n operatorAnd: \"Alle (UND)\",\n operatorOr: \"Eine (ODER)\",\n triggerOnScrollUpLabel: \"Beim Hochscrollen auslösen\",\n triggerOnBackButtonLabel: \"Beim Zurück-Button des Browsers\",\n debugJsonTitle: \"Trigger-JSON (Embed-Form)\",\n debugJsonHint:\n \"Kurze Schlüssel (landing, exit, scroll, …) für Runtime und Integrationen. Im Editor weiterhin onLanding, onExit, …\",\n copyJson: \"JSON kopieren\",\n copyJsonDone: \"Kopiert\",\n debugJsonClose: \"Schließen\",\n scrollShowAfter: \"Einblenden nach\",\n scrollPercentSuffix: \"% der Ansicht\",\n clickHint:\n 'Fragment an den Link anhängen, um das Popup zu öffnen. Beispiel: <a href=\"#popup\"></a>',\n hoverPlaceholder: \"ID eines Elements\",\n help: \"Hilfe\",\n customEventLabel: \"Ereignisname\",\n customEventPlaceholder: \"meinPopupOpen\",\n triggerOnLandingTitle: \"Beim Laden\",\n triggerOnLandingDesc: \"Wenn ein Besucher eine Seite lädt.\",\n triggerOnExitTitle: \"Beim Verlassen (Exit Intent)\",\n triggerOnExitDesc:\n \"Wenn ein Besucher die Seite verlassen will — Popup vor dem Weggang zeigen.\",\n triggerOnScrollTitle: \"Beim Scrollen\",\n triggerOnScrollDesc: \"Wenn ein Besucher nach unten scrollt.\",\n triggerOnClickTitle: \"Beim Klick\",\n triggerOnClickDesc: \"Wenn ein Besucher einen Link anklickt.\",\n triggerOnHoverTitle: \"Beim Hover\",\n triggerOnHoverDesc: \"Wenn ein Besucher über ein Element fährt.\",\n triggerOnCustomTitle: \"Eigenes Ereignis\",\n triggerOnCustomDesc: \"Einen eigenen Trigger verwenden.\",\n },\n\n popupDesign: {\n tabStyle: \"Stil\",\n tabPosition: \"Position\",\n tabClosing: \"Schließen\",\n tabCss: \"CSS\",\n placeholderSubtab:\n \"CSS-Anpassungen werden in einem späteren Update ergänzt.\",\n standardSize: \"Standardgröße\",\n shapeHeading: \"Form des Panels\",\n shapeLabels: {\n normal: \"Normal\",\n circle: \"Kreis\",\n semiCircle: \"Halbkreis\",\n triangle: \"Dreieck\",\n pill: \"Pille\",\n hexagon: \"Hexagon\",\n diamond: \"Raute\",\n },\n panelAppearance: \"Darstellung des Panels\",\n panelColorHint:\n \"Die Volltonfüllung nutzt die Hintergrundfarbe der Vorlage unter Einstellungen.\",\n panelBackgroundOpacity: \"Deckkraft der Panel-Füllung\",\n contentScrimOpacity: \"Abdunklung über dem Inhalt\",\n backgroundImageUrl: \"URL des Hintergrundbilds\",\n backgroundImageFitHeading: \"Anpassung Hintergrundbild\",\n fitAuto: \"Automatisch (natürliches Seitenverhältnis)\",\n fitCover: \"Ausfüllen (Cover)\",\n fitContain: \"Einpassen (Contain)\",\n backgroundImageOnly: \"Nur Bild (Chrome des Inhalts ausblenden)\",\n options: \"Optionen\",\n useOverlay: \"Overlay verwenden\",\n overlayBlur: \"Hintergrund-Unschärfe\",\n overlayBlurHint:\n \"Verwischt den Bereich hinter dem Popup. Auf 0 ziehen für einen scharfen Hintergrund.\",\n overlayImageOpacity: \"Deckkraft des Overlay-Bilds\",\n overlayImage: \"Overlay-Bild\",\n overlayImagePanelAriaLabel: \"Overlay-Bild hochladen\",\n overlayImageDropLineBefore: \"Bild hierher ziehen oder \",\n overlayImageBrowse: \"durchsuchen\",\n overlayImageDropLineAfter: \".\",\n overlayImageFormats: \"JPEG, PNG, GIF, WebP, AVIF oder SVG.\",\n overlayImageDesktopPreview: \"Desktop-Vorschau Overlay\",\n overlayImageMobilePreview: \"Mobile Vorschau Overlay\",\n overlayImageCrop: \"Zuschneiden\",\n overlayImageReplace: \"Ersetzen\",\n overlayImageRemove: \"Entfernen\",\n backgroundImage: \"Hintergrundbild\",\n multiColumn: \"Mehrspaltiges Layout\",\n rtl: \"Rechts-nach-links aktivieren\",\n positionHeading: \"Wählen Sie, wo das Popup angezeigt wird\",\n displayAnimationHeading: \"Öffnungsanimation wählen\",\n animationSmooth: \"Sanft\",\n animationFadeIn: \"Einblenden\",\n animationSlideIn: \"Einschieben\",\n animationNone: \"Keine\",\n positionLabels: {\n topLeft: \"Oben links\",\n topCenter: \"Oben Mitte\",\n topRight: \"Oben rechts\",\n middleLeft: \"Mitte links\",\n center: \"Mitte\",\n middleRight: \"Mitte rechts\",\n bottomLeft: \"Unten links\",\n bottomCenter: \"Unten Mitte\",\n bottomRight: \"Unten rechts\",\n },\n closingDisplayCloseButton: \"Schließen-Schaltfläche anzeigen\",\n closingButtonPosition: \"Position der Schließen-Schaltfläche\",\n closingButtonPositionLeft: \"Links\",\n closingButtonPositionRight: \"Rechts\",\n closingOnOverlayClick: \"Schließen bei Klick auf Overlay\",\n sizeLabels: {\n small: \"Klein\",\n medium: \"Mittel\",\n large: \"Groß\",\n fullscreen: \"Vollbild\",\n fullHeight: \"Volle Höhe\",\n custom: \"Benutzerdefiniert\",\n },\n },\n\n sidebarNav: {\n browseModules: \"Gespeicherte Module durchsuchen\",\n expandSidebar: \"Block-Seitenleiste erweitern\",\n palette: \"Blockpalette\",\n insertBlock: \"{block}-Block einfügen\",\n },\n\n // Landmark-Bezeichnungen für Hilfstechnologien\n landmarks: {\n canvas: \"E-Mail-Leinwand\",\n blockToolbar: \"Blockeigenschaften\",\n rightSidebar: \"Blockeigenschaften und Vorlageneinstellungen\",\n reorderAnnouncements: \"Block-Neuanordnungsmeldungen\",\n },\n\n // Design Reference (cloud)\n errors: {\n editorLoading: \"Editor wird geladen...\",\n editorLoadFailed: \"Editor konnte nicht geladen werden.\",\n retry: \"Erneut versuchen\",\n },\n\n accessibility: {\n panelTitle: \"Barrierefreiheit\",\n panelTabLabel: \"Barrierefreiheit\",\n groupErrors: \"Fehler\",\n groupWarnings: \"Warnungen\",\n groupInfo: \"Hinweise\",\n jump: \"Zum Block springen\",\n fix: \"Beheben\",\n emptyState: \"Keine Probleme mit der Barrierefreiheit.\",\n badgeError: \"Hat Barrierefreiheitsfehler\",\n badgeWarning: \"Hat Barrierefreiheitswarnungen\",\n issueCountTooltip: \"{count} Barrierefreiheitsprobleme\",\n },\n};\n\nexport default de;\n"],"mappings":"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"}
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"emojiData-
|
|
1
|
+
{"version":3,"file":"emojiData-DUHzsh4j.js","names":[],"sources":["../../../src/composables/emojiData.ts"],"sourcesContent":["export type EmojiCategoryKey = \"smileys\" | \"gestures\" | \"objects\";\n\nexport interface EmojiCategory {\n key: EmojiCategoryKey;\n emojis: string[];\n}\n\nexport const emojiCategories: EmojiCategory[] = [\n {\n key: \"smileys\",\n emojis: [\n \"\\u{1F600}\",\n \"\\u{1F603}\",\n \"\\u{1F604}\",\n \"\\u{1F601}\",\n \"\\u{1F605}\",\n \"\\u{1F602}\",\n \"\\u{1F923}\",\n \"\\u{1F60A}\",\n \"\\u{1F607}\",\n \"\\u{1F642}\",\n \"\\u{1F609}\",\n \"\\u{1F60D}\",\n \"\\u{1F970}\",\n \"\\u{1F618}\",\n \"\\u{1F60B}\",\n \"\\u{1F60E}\",\n \"\\u{1F929}\",\n \"\\u{1F973}\",\n \"\\u{1F60F}\",\n \"\\u{1F622}\",\n \"\\u{1F62D}\",\n \"\\u{1F624}\",\n \"\\u{1F621}\",\n \"\\u{1F92F}\",\n \"\\u{1F631}\",\n \"\\u{1F914}\",\n \"\\u{1F92B}\",\n \"\\u{1F917}\",\n \"\\u{1FAE1}\",\n \"\\u{1F44B}\",\n ],\n },\n {\n key: \"gestures\",\n emojis: [\n \"\\u{1F44D}\",\n \"\\u{1F44E}\",\n \"\\u{1F44F}\",\n \"\\u{1F64C}\",\n \"\\u{1F91D}\",\n \"\\u270C\\uFE0F\",\n \"\\u{1F91E}\",\n \"\\u{1FAF6}\",\n \"\\u2764\\uFE0F\",\n \"\\u{1F9E1}\",\n \"\\u{1F49B}\",\n \"\\u{1F49A}\",\n \"\\u{1F499}\",\n \"\\u{1F49C}\",\n \"\\u{1F5A4}\",\n \"\\u{1F4AF}\",\n \"\\u2728\",\n \"\\u2B50\",\n \"\\u{1F31F}\",\n \"\\u{1F4AB}\",\n \"\\u{1F525}\",\n \"\\u{1F4A5}\",\n \"\\u{1F4AA}\",\n \"\\u{1F440}\",\n \"\\u{1F441}\\uFE0F\",\n \"\\u{1F389}\",\n \"\\u{1F38A}\",\n \"\\u{1F381}\",\n \"\\u{1F3C6}\",\n \"\\u{1F947}\",\n ],\n },\n {\n key: \"objects\",\n emojis: [\n \"\\u{1F4E7}\",\n \"\\u2709\\uFE0F\",\n \"\\u{1F4E8}\",\n \"\\u{1F4E9}\",\n \"\\u{1F4EC}\",\n \"\\u{1F4F1}\",\n \"\\u{1F4BB}\",\n \"\\u{1F5A5}\\uFE0F\",\n \"\\u{1F4CA}\",\n \"\\u{1F4C8}\",\n \"\\u{1F4C9}\",\n \"\\u{1F4C5}\",\n \"\\u{1F5D3}\\uFE0F\",\n \"\\u23F0\",\n \"\\u23F3\",\n \"\\u{1F4A1}\",\n \"\\u{1F514}\",\n \"\\u{1F4E2}\",\n \"\\u{1F3AF}\",\n \"\\u2705\",\n \"\\u274C\",\n \"\\u26A0\\uFE0F\",\n \"\\u{1F4B2}\",\n \"\\u{1F4B5}\",\n \"\\u{1F4B0}\",\n \"\\u{1F6D2}\",\n \"\\u{1F6CD}\\uFE0F\",\n \"\\u{1F4E6}\",\n \"\\u{1F680}\",\n \"\\u2708\\uFE0F\",\n ],\n },\n];\n"],"mappings":";AAOA,IAAa,IAAmC;CAC9C;EACE,KAAK;EACL,QAAQ,sHA+BP;EACF;CACD;EACE,KAAK;EACL,QAAQ,qHA+BP;EACF;CACD;EACE,KAAK;EACL,QAAQ,qHA+BP;EACF;CACF"}
|
|
@@ -57,7 +57,8 @@ var e = {
|
|
|
57
57
|
html: "HTML",
|
|
58
58
|
menu: "Menu",
|
|
59
59
|
table: "Table",
|
|
60
|
-
countdown: "Countdown"
|
|
60
|
+
countdown: "Countdown",
|
|
61
|
+
form: "Form"
|
|
61
62
|
},
|
|
62
63
|
sidebar: {
|
|
63
64
|
content: "Content",
|
|
@@ -252,6 +253,60 @@ var e = {
|
|
|
252
253
|
fixedWidth: "Fixed width",
|
|
253
254
|
placeholderColor: "Placeholder color"
|
|
254
255
|
},
|
|
256
|
+
form: {
|
|
257
|
+
tabs: {
|
|
258
|
+
sync: "Sync",
|
|
259
|
+
fields: "Fields",
|
|
260
|
+
button: "Button",
|
|
261
|
+
terms: "Terms"
|
|
262
|
+
},
|
|
263
|
+
sync: { heading: "Pick your marketing platform" },
|
|
264
|
+
fieldTypes: {
|
|
265
|
+
firstName: "First name",
|
|
266
|
+
lastName: "Last name",
|
|
267
|
+
email: "Email",
|
|
268
|
+
phone: "Phone"
|
|
269
|
+
},
|
|
270
|
+
fields: {
|
|
271
|
+
addField: "Add field",
|
|
272
|
+
noMoreFields: "All field types added",
|
|
273
|
+
cancel: "Cancel",
|
|
274
|
+
remove: "Remove field",
|
|
275
|
+
label: "Label",
|
|
276
|
+
labelPlaceholder: "What is your email?",
|
|
277
|
+
optional: "optional",
|
|
278
|
+
placeholder: "Placeholder",
|
|
279
|
+
name: "Field name",
|
|
280
|
+
required: "Field is required",
|
|
281
|
+
blockExisting: "Block existing emails",
|
|
282
|
+
blockExistingHint: "Prevent signing up with the emails you've already collected.",
|
|
283
|
+
blockExistingAll: "Check across all my campaigns",
|
|
284
|
+
blockExistingThis: "Check only this campaign",
|
|
285
|
+
errorMessage: "Error message"
|
|
286
|
+
},
|
|
287
|
+
button: {
|
|
288
|
+
submitText: "Submit button",
|
|
289
|
+
actionOnClick: "Action on click",
|
|
290
|
+
url: "Page URL",
|
|
291
|
+
position: "Position",
|
|
292
|
+
oneLine: "One line",
|
|
293
|
+
twoLines: "Two lines",
|
|
294
|
+
background: "Background",
|
|
295
|
+
textColor: "Text color",
|
|
296
|
+
borderRadius: "Border radius"
|
|
297
|
+
},
|
|
298
|
+
buttonActions: {
|
|
299
|
+
nextStep: "Show next step",
|
|
300
|
+
closePopup: "Close the popup",
|
|
301
|
+
loadPage: "Load new page",
|
|
302
|
+
none: "Do nothing"
|
|
303
|
+
},
|
|
304
|
+
terms: {
|
|
305
|
+
enable: "Show terms",
|
|
306
|
+
content: "Terms content",
|
|
307
|
+
htmlHint: "HTML is allowed. Use links and small print as needed."
|
|
308
|
+
}
|
|
309
|
+
},
|
|
255
310
|
divider: {
|
|
256
311
|
style: "Style",
|
|
257
312
|
solid: "Solid",
|
|
@@ -363,7 +418,14 @@ var e = {
|
|
|
363
418
|
expiredImageUrl: "Expired Image URL",
|
|
364
419
|
hideOnExpiry: "Hide when expired",
|
|
365
420
|
setDate: "Set a target date in the settings panel",
|
|
366
|
-
hidden: "Hidden (expired)"
|
|
421
|
+
hidden: "Hidden (expired)",
|
|
422
|
+
style: "Style",
|
|
423
|
+
layout: "Layout",
|
|
424
|
+
animationSpeed: "Animation Speed",
|
|
425
|
+
accentColor: "Accent Color",
|
|
426
|
+
cardGap: "Card Gap",
|
|
427
|
+
cardRadius: "Card Radius",
|
|
428
|
+
enableHoverFx: "Enable hover effects"
|
|
367
429
|
},
|
|
368
430
|
customBlocks: {
|
|
369
431
|
definitionNotFound: "Unknown block type — this block is not registered",
|
|
@@ -425,6 +487,8 @@ var e = {
|
|
|
425
487
|
contentPadding: "Padding",
|
|
426
488
|
appearance: "Appearance",
|
|
427
489
|
backgroundColor: "Background Color",
|
|
490
|
+
backgroundOpacity: "Background Opacity",
|
|
491
|
+
backgroundShadow: "Background Shadow",
|
|
428
492
|
fontFamily: "Font Family",
|
|
429
493
|
preheaderText: "Preheader Text",
|
|
430
494
|
preheaderTextPlaceholder: "Preview text shown after subject line in inbox...",
|
|
@@ -480,7 +544,9 @@ var e = {
|
|
|
480
544
|
stepActions: "Step actions",
|
|
481
545
|
rename: "Rename",
|
|
482
546
|
delete: "Delete",
|
|
483
|
-
renamePrompt: "Step name"
|
|
547
|
+
renamePrompt: "Step name",
|
|
548
|
+
unreachableLabel: "Unreachable step",
|
|
549
|
+
unreachableTooltip: "This step is unreachable. The previous step has no Button or Form block configured with “Show next step” (or equivalent) that leads here."
|
|
484
550
|
}
|
|
485
551
|
},
|
|
486
552
|
mediaLibrary: {
|
|
@@ -689,6 +755,9 @@ var e = {
|
|
|
689
755
|
backgroundImageOnly: "Image only (hide body chrome)",
|
|
690
756
|
options: "Options",
|
|
691
757
|
useOverlay: "Use overlay",
|
|
758
|
+
overlayBlur: "Background blur",
|
|
759
|
+
overlayBlurHint: "Blurs whatever is behind the popup. Drag to 0 for a sharp backdrop.",
|
|
760
|
+
overlayImageOpacity: "Overlay image opacity",
|
|
692
761
|
overlayImage: "Overlay image",
|
|
693
762
|
overlayImagePanelAriaLabel: "Overlay image upload",
|
|
694
763
|
overlayImageDropLineBefore: "Drag your image here or ",
|
|
@@ -768,4 +837,4 @@ var e = {
|
|
|
768
837
|
//#endregion
|
|
769
838
|
export { e as default };
|
|
770
839
|
|
|
771
|
-
//# sourceMappingURL=en-
|
|
840
|
+
//# sourceMappingURL=en-BII7695P.js.map
|