@templatical/editor 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AiChatSidebar-XBj5Rw2l.js +214 -0
- package/dist/AiFeatureMenu-my1mZ9DL.js +63 -0
- package/dist/CloudEditor-BVjgKwq3.js +940 -0
- package/dist/CollaboratorBar-BZq_Gv38.js +91 -0
- package/dist/CommentsSidebar-D9oxqO6l.js +439 -0
- package/dist/DesignReferenceSidebar-CyHq4SWt.js +272 -0
- package/dist/LoadingTrack-vK8W2PJf.js +10 -0
- package/dist/ModuleBrowserModal-Cus2Hdwl.js +205 -0
- package/dist/ModulePreviewCanvas-DaByXKY_.js +106 -0
- package/dist/ParagraphEditor-BSyk5B6S.js +670 -0
- package/dist/RichTextEditorContent-BRpjJ6SV.js +133 -0
- package/dist/SaveModuleDialog-BIZBQrd8.js +122 -0
- package/dist/SnapshotHistory-Ds1-QNbx.js +126 -0
- package/dist/TemplateScoringPanel-C8XSk_Ys.js +249 -0
- package/dist/TestEmailModal-CCVfaFgV.js +94 -0
- package/dist/TitleEditor-V4qaEULF.js +167 -0
- package/dist/TplModal-LT3FXlgs.js +44 -0
- package/dist/_plugin-vue_export-helper-B1-bu7yR.js +47 -0
- package/dist/blockTypeIcons-BujoY5Dl.js +126 -0
- package/dist/cdn/chunks/ParagraphEditor-BkJQO-ZW.js +3 -0
- package/dist/cdn/chunks/ParagraphEditor-BkJQO-ZW.js.map +1 -0
- package/dist/cdn/chunks/RichTextEditorContent-UGQorJm_.js +2 -0
- package/dist/cdn/chunks/RichTextEditorContent-UGQorJm_.js.map +1 -0
- package/dist/cdn/chunks/TitleEditor-CC3Adjai.js +3 -0
- package/dist/cdn/chunks/TitleEditor-CC3Adjai.js.map +1 -0
- package/dist/cdn/chunks/dist-0UheN8rK.js +1 -0
- package/dist/cdn/chunks/dist-55mmbGQ9.js +1 -0
- package/dist/cdn/chunks/dist-B31mxKyP.js +1 -0
- package/dist/cdn/chunks/dist-B5JI9nIg.js +1 -0
- package/dist/cdn/chunks/dist-B93vLKhU.js +1 -0
- package/dist/cdn/chunks/dist-BDt3FJvj.js +1 -0
- package/dist/cdn/chunks/dist-BJRuFHmi.js +1 -0
- package/dist/cdn/chunks/dist-BKSzrf0L.js +1 -0
- package/dist/cdn/chunks/dist-BL8c5gYQ.js +1 -0
- package/dist/cdn/chunks/dist-CYThWMP5.js +1 -0
- package/dist/cdn/chunks/dist-DxZbPJYt.js +1 -0
- package/dist/cdn/chunks/draggable-ClUwYCFL.js +17 -0
- package/dist/cdn/chunks/draggable-ClUwYCFL.js.map +1 -0
- package/dist/cdn/chunks/emojiData-6fVLNqeH.js +2 -0
- package/dist/cdn/chunks/emojiData-6fVLNqeH.js.map +1 -0
- package/dist/cdn/chunks/extensions-BfjbWqOx.js +2 -0
- package/dist/cdn/chunks/extensions-BfjbWqOx.js.map +1 -0
- package/dist/cdn/chunks/icons-vmLJTaJk.js +2 -0
- package/dist/cdn/chunks/icons-vmLJTaJk.js.map +1 -0
- package/dist/cdn/chunks/rolldown-runtime-BakkzWXw.js +1 -0
- package/dist/cdn/chunks/styleConstants-UTJ94gco.js +2 -0
- package/dist/cdn/chunks/styleConstants-UTJ94gco.js.map +1 -0
- package/dist/cdn/chunks/tiptap-Cya4P9CN.js +145 -0
- package/dist/cdn/chunks/tiptap-Cya4P9CN.js.map +1 -0
- package/dist/cdn/chunks/useEditorCore-DRhPKq_z.js +2 -0
- package/dist/cdn/chunks/useEditorCore-DRhPKq_z.js.map +1 -0
- package/dist/cdn/chunks/useMergeTag-CBSlcqnk.js +2 -0
- package/dist/cdn/chunks/useMergeTag-CBSlcqnk.js.map +1 -0
- package/dist/cdn/editor.css +1 -0
- package/dist/cdn/editor.js +2 -0
- package/dist/cdn/editor.js.map +1 -0
- package/dist/check-B7kDuZmP.js +7 -0
- package/dist/chevron-down-DJLW2Q9Z.js +7 -0
- package/dist/circle-alert-E2vYPs5r.js +25 -0
- package/dist/clock-lWIIQA3C.js +12 -0
- package/dist/de-B4Ob4vCo.js +682 -0
- package/dist/dist-4LiM9FDd.js +35 -0
- package/dist/dist-Bu7veieH.js +776 -0
- package/dist/dist-C1BIRHCQ.js +61 -0
- package/dist/dist-CG-vEqSU.js +314 -0
- package/dist/dist-C_ymrGFi.js +10625 -0
- package/dist/dist-ChAGLpWo.js +35 -0
- package/dist/dist-DNjZKe2Z.js +513 -0
- package/dist/dist-D_HQYSY-.js +189 -0
- package/dist/dist-DkypH7qG.js +5 -0
- package/dist/dist-DmOE-Ubp.js +74 -0
- package/dist/dist-DrvKRSU6.js +47 -0
- package/dist/dist-Dxnd0GRf.js +5 -0
- package/dist/dist-DysAFIPy.js +2054 -0
- package/dist/emojiData-BfWQS72m.js +17 -0
- package/dist/en-YXsspZJG.js +682 -0
- package/dist/extensions-BA4NshZQ.js +420 -0
- package/dist/formatRelativeTime-DX3FgqN9.js +8 -0
- package/dist/i18n-ikyi28RU.js +23 -0
- package/dist/image-up-X4xIq4ea.js +23 -0
- package/dist/keys-8B5MFafK.js +4 -0
- package/dist/liquid.browser-BemTg3sZ.js +3272 -0
- package/dist/loader-circle-BTQQxC3l.js +7 -0
- package/dist/message-circle-Blgm6V_h.js +7 -0
- package/dist/refresh-cw-Bb4PEeW1.js +44 -0
- package/dist/scan-line-7lZPfOdm.js +25 -0
- package/dist/send-C0ltAQrv.js +10 -0
- package/dist/shield-check-f-qv4RKs.js +10 -0
- package/dist/sparkles-KhBCGlqB.js +23 -0
- package/dist/styleConstants-CgtFM9hQ.js +43 -0
- package/dist/styles-hQgJKM4i.js +3406 -0
- package/dist/templatical-editor.css +2 -1
- package/dist/templatical-editor.js +242 -9
- package/dist/templatical-editor.umd.cjs +112 -524
- package/dist/timeouts-CmBrLeZA.js +4 -0
- package/dist/trash-2-OwjZ-guZ.js +25 -0
- package/dist/triangle-alert-DOSRIUYZ.js +17 -0
- package/dist/useEditorCore-DVp5qmtC.js +5552 -0
- package/dist/useI18n-DzH4KXDk.js +17 -0
- package/dist/useMergeTag-D9zQVE-e.js +33 -0
- package/dist/x-CGlq2XQe.js +10 -0
- package/package.json +30 -20
- package/dist/AiChatSidebar-0vx9TP5B.js +0 -305
- package/dist/AiFeatureMenu-CI-v74ND.js +0 -69
- package/dist/CloudEditor-Wdfv_9xn.js +0 -1132
- package/dist/CollaboratorBar-B3uV4Wtw.js +0 -89
- package/dist/CommentsSidebar-PVUlloyB.js +0 -655
- package/dist/DesignReferenceSidebar-DAlAWrxU.js +0 -351
- package/dist/ModuleBrowserModal-1JEcChd8.js +0 -323
- package/dist/ModulePreviewCanvas-Cdp484Ae.js +0 -169
- package/dist/SaveModuleDialog-eNyr3XKn.js +0 -168
- package/dist/SnapshotHistory-D-ZiIj1v.js +0 -169
- package/dist/TemplateScoringPanel-DSZPo15C.js +0 -385
- package/dist/TestEmailModal-Cwre5elw.js +0 -128
- package/dist/TextEditor-BuUOIByX.js +0 -780
- package/dist/de-BWIAblxs.js +0 -685
- package/dist/en-cYyUzNV1.js +0 -685
- package/dist/index-0tWUczNu.js +0 -47
- package/dist/index-4okvXjqk.js +0 -41
- package/dist/index-BSc6h5zo.js +0 -967
- package/dist/index-CrvwWlhN.js +0 -41
- package/dist/index-D-iD-7lO.js +0 -10961
- package/dist/index-D-ygXbc8.js +0 -2452
- package/dist/index-DbrWKz-e.js +0 -1415
- package/dist/index-DeUeHy6g.js +0 -422
- package/dist/index-Ude6e9RU.js +0 -41
- package/dist/index-ZQzHBwkr.js +0 -12767
- package/dist/liquid.browser-CeNxS2GL.js +0 -3493
- package/dist/loader-circle-tM9j2mRh.js +0 -13
- package/dist/shield-check-Ngi9jAQc.js +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RichTextEditorContent-UGQorJm_.js","names":[],"sources":["../../../src/components/blocks/RichTextLinkDialog.vue","../../../src/components/blocks/RichTextLinkDialog.vue","../../../src/components/blocks/RichTextEditorContent.vue","../../../src/components/blocks/RichTextEditorContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables/useI18n\";\nimport { X } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\n\ndefineProps<{\n visible: boolean;\n isEditingLink: boolean;\n}>();\n\nconst linkUrl = defineModel<string>(\"linkUrl\", { required: true });\nconst dialogRef = defineModel<HTMLElement | null>(\"dialogRef\", {\n required: true,\n});\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n (e: \"insert\"): void;\n (e: \"remove\"): void;\n (e: \"keydown\", event: KeyboardEvent): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY);\nconst tplUiTheme = inject(UI_THEME_KEY);\n\nconst { t } = useI18n();\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div\n v-if=\"visible\"\n :data-tpl-theme=\"tplUiTheme\"\n class=\"tpl tpl-link-dialog tpl:fixed tpl:inset-0 tpl:z-modal tpl:flex tpl:items-center tpl:justify-center\"\n :style=\"themeStyles\"\n @click.self=\"emit('close')\"\n >\n <div\n :ref=\"(el) => (dialogRef = el as HTMLElement | null)\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"tpl-link-dialog-title\"\n class=\"tpl:w-[400px] tpl:overflow-hidden tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-lg\"\n >\n <div\n class=\"tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-5 tpl:py-4\"\n >\n <h4\n id=\"tpl-link-dialog-title\"\n class=\"tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]\"\n >\n {{\n isEditingLink ? t.linkDialog.editLink : t.linkDialog.insertLink\n }}\n </h4>\n <button\n type=\"button\"\n :aria-label=\"t.linkDialog.cancel\"\n class=\"tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-[var(--tpl-text-muted)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]\"\n @click=\"emit('close')\"\n >\n <X :size=\"16\" :stroke-width=\"2\" />\n </button>\n </div>\n <div class=\"tpl:p-5\">\n <div class=\"tpl:mb-4 tpl:last:mb-0\">\n <label\n class=\"tpl:mb-1.5 tpl:block tpl:text-xs tpl:font-medium tpl:tracking-wide tpl:text-[var(--tpl-text-muted)] tpl:uppercase\"\n >{{ t.linkDialog.urlLabel }}</label\n >\n <input\n v-model=\"linkUrl\"\n type=\"url\"\n class=\"tpl:w-full tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2.5 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:outline-none tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]\"\n :placeholder=\"t.linkDialog.urlPlaceholder\"\n autofocus\n @keydown=\"emit('keydown', $event)\"\n />\n </div>\n </div>\n <div\n class=\"tpl:flex tpl:items-center tpl:justify-between tpl:border-t tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:px-5 tpl:py-4\"\n >\n <button\n v-if=\"isEditingLink\"\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-danger)] tpl:bg-transparent tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:text-[var(--tpl-danger)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-danger-light)]\"\n @click=\"emit('remove')\"\n >\n {{ t.linkDialog.removeLink }}\n </button>\n <div class=\"tpl:ml-auto tpl:flex tpl:gap-2\">\n <button\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-transparent tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]\"\n @click=\"emit('close')\"\n >\n {{ t.linkDialog.cancel }}\n </button>\n <button\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border-none tpl:bg-[var(--tpl-primary)] tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-primary-hover)] tpl:text-[var(--tpl-bg)]\"\n @click=\"emit('insert')\"\n >\n {{\n isEditingLink\n ? t.linkDialog.updateLink\n : t.linkDialog.insertLink\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </Teleport>\n</template>\n","<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables/useI18n\";\nimport { X } from \"@lucide/vue\";\nimport { inject } from \"vue\";\nimport { THEME_STYLES_KEY, UI_THEME_KEY } from \"../../keys\";\n\ndefineProps<{\n visible: boolean;\n isEditingLink: boolean;\n}>();\n\nconst linkUrl = defineModel<string>(\"linkUrl\", { required: true });\nconst dialogRef = defineModel<HTMLElement | null>(\"dialogRef\", {\n required: true,\n});\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n (e: \"insert\"): void;\n (e: \"remove\"): void;\n (e: \"keydown\", event: KeyboardEvent): void;\n}>();\n\nconst themeStyles = inject(THEME_STYLES_KEY);\nconst tplUiTheme = inject(UI_THEME_KEY);\n\nconst { t } = useI18n();\n</script>\n\n<template>\n <Teleport to=\"body\">\n <div\n v-if=\"visible\"\n :data-tpl-theme=\"tplUiTheme\"\n class=\"tpl tpl-link-dialog tpl:fixed tpl:inset-0 tpl:z-modal tpl:flex tpl:items-center tpl:justify-center\"\n :style=\"themeStyles\"\n @click.self=\"emit('close')\"\n >\n <div\n :ref=\"(el) => (dialogRef = el as HTMLElement | null)\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"tpl-link-dialog-title\"\n class=\"tpl:w-[400px] tpl:overflow-hidden tpl:rounded-lg tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-lg\"\n >\n <div\n class=\"tpl:flex tpl:items-center tpl:justify-between tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-5 tpl:py-4\"\n >\n <h4\n id=\"tpl-link-dialog-title\"\n class=\"tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]\"\n >\n {{\n isEditingLink ? t.linkDialog.editLink : t.linkDialog.insertLink\n }}\n </h4>\n <button\n type=\"button\"\n :aria-label=\"t.linkDialog.cancel\"\n class=\"tpl:flex tpl:size-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded tpl:border-none tpl:bg-transparent tpl:p-0 tpl:text-[var(--tpl-text-muted)] tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]\"\n @click=\"emit('close')\"\n >\n <X :size=\"16\" :stroke-width=\"2\" />\n </button>\n </div>\n <div class=\"tpl:p-5\">\n <div class=\"tpl:mb-4 tpl:last:mb-0\">\n <label\n class=\"tpl:mb-1.5 tpl:block tpl:text-xs tpl:font-medium tpl:tracking-wide tpl:text-[var(--tpl-text-muted)] tpl:uppercase\"\n >{{ t.linkDialog.urlLabel }}</label\n >\n <input\n v-model=\"linkUrl\"\n type=\"url\"\n class=\"tpl:w-full tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:px-3 tpl:py-2.5 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-150 tpl:outline-none tpl:placeholder:text-[var(--tpl-text-dim)] tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[0_0_0_3px_var(--tpl-primary-light)]\"\n :placeholder=\"t.linkDialog.urlPlaceholder\"\n autofocus\n @keydown=\"emit('keydown', $event)\"\n />\n </div>\n </div>\n <div\n class=\"tpl:flex tpl:items-center tpl:justify-between tpl:border-t tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-elevated)] tpl:px-5 tpl:py-4\"\n >\n <button\n v-if=\"isEditingLink\"\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-danger)] tpl:bg-transparent tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:text-[var(--tpl-danger)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-danger-light)]\"\n @click=\"emit('remove')\"\n >\n {{ t.linkDialog.removeLink }}\n </button>\n <div class=\"tpl:ml-auto tpl:flex tpl:gap-2\">\n <button\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border tpl:border-[var(--tpl-border)] tpl:bg-transparent tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]\"\n @click=\"emit('close')\"\n >\n {{ t.linkDialog.cancel }}\n </button>\n <button\n type=\"button\"\n class=\"tpl:inline-flex tpl:cursor-pointer tpl:items-center tpl:rounded-md tpl:border-none tpl:bg-[var(--tpl-primary)] tpl:px-4 tpl:py-2 tpl:text-[13px] tpl:font-medium tpl:transition-all tpl:duration-150 tpl:hover:bg-[var(--tpl-primary-hover)] tpl:text-[var(--tpl-bg)]\"\n @click=\"emit('insert')\"\n >\n {{\n isEditingLink\n ? t.linkDialog.updateLink\n : t.linkDialog.insertLink\n }}\n </button>\n </div>\n </div>\n </div>\n </div>\n </Teleport>\n</template>\n","<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables/useI18n\";\nimport type { Editor } from \"@tiptap/vue-3\";\nimport type { Component } from \"vue\";\n\ndefineProps<{\n editor: Editor | null;\n editorContent: Component | null;\n isLoading: boolean;\n initError: string | null;\n}>();\n\nconst emit = defineEmits<{\n (e: \"retry\"): void;\n}>();\n\nconst { t } = useI18n();\n</script>\n\n<template>\n <div\n v-if=\"isLoading\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:border-[var(--tpl-primary)] tpl:p-2\"\n >\n <div class=\"tpl:animate-pulse tpl:text-[var(--tpl-text-dim)]\">\n {{ t.errors.editorLoading }}\n </div>\n </div>\n <div\n v-else-if=\"initError\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:p-2 tpl:text-center tpl:text-xs tpl:border-[var(--tpl-danger)] tpl:text-[var(--tpl-text-muted)]\"\n >\n {{ t.errors.editorLoadFailed }}\n <button\n class=\"tpl:ml-1 tpl:cursor-pointer tpl:border-none tpl:bg-transparent tpl:p-0 tpl:underline tpl:text-[var(--tpl-primary)]\"\n @click=\"emit('retry')\"\n >\n {{ t.errors.retry }}\n </button>\n </div>\n <component\n :is=\"editorContent\"\n v-else-if=\"editorContent && editor\"\n :editor=\"editor as Editor\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:border-[var(--tpl-primary)] tpl:p-2\"\n />\n</template>\n","<script setup lang=\"ts\">\nimport { useI18n } from \"../../composables/useI18n\";\nimport type { Editor } from \"@tiptap/vue-3\";\nimport type { Component } from \"vue\";\n\ndefineProps<{\n editor: Editor | null;\n editorContent: Component | null;\n isLoading: boolean;\n initError: string | null;\n}>();\n\nconst emit = defineEmits<{\n (e: \"retry\"): void;\n}>();\n\nconst { t } = useI18n();\n</script>\n\n<template>\n <div\n v-if=\"isLoading\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:border-[var(--tpl-primary)] tpl:p-2\"\n >\n <div class=\"tpl:animate-pulse tpl:text-[var(--tpl-text-dim)]\">\n {{ t.errors.editorLoading }}\n </div>\n </div>\n <div\n v-else-if=\"initError\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:p-2 tpl:text-center tpl:text-xs tpl:border-[var(--tpl-danger)] tpl:text-[var(--tpl-text-muted)]\"\n >\n {{ t.errors.editorLoadFailed }}\n <button\n class=\"tpl:ml-1 tpl:cursor-pointer tpl:border-none tpl:bg-transparent tpl:p-0 tpl:underline tpl:text-[var(--tpl-primary)]\"\n @click=\"emit('retry')\"\n >\n {{ t.errors.retry }}\n </button>\n </div>\n <component\n :is=\"editorContent\"\n v-else-if=\"editorContent && editor\"\n :editor=\"editor as Editor\"\n class=\"tpl-text-editable tpl:min-h-[1.5em] tpl:rounded tpl:border tpl:border-dashed tpl:border-[var(--tpl-primary)] tpl:p-2\"\n />\n</template>\n"],"mappings":"msCAWA,IAAM,EAAU,EAAmB,EAAC,UAA8B,CAC5D,EAAY,EAA+B,EAAC,YAEhD,CAEI,EAAO,EAOP,EAAc,EAAO,EAAiB,CACtC,EAAa,EAAO,EAAa,CAEjC,CAAE,KAAM,GAAS,mBAIrB,EAqFW,EAAA,CArFD,GAAG,OAAM,CAAA,CAET,EAAA,SAAA,GAAA,CADR,EAmFM,MAAA,OAjFH,iBAAgB,EAAA,EAAU,CAC3B,MAAM,qGACL,MAAK,EAAE,EAAA,EAAW,CAAA,CAClB,QAAK,AAAA,EAAA,KAAA,EAAA,GAAO,EAAI,QAAA,CAAA,CAAA,OAAA,CAAA,GAEjB,EA2EM,MAAA,CA1EH,IAAM,GAAQ,EAAA,MAAY,EAC3B,KAAK,SACL,aAAW,OACX,kBAAgB,wBAChB,MAAM,oIAEN,EAmBM,MAnBN,EAmBM,CAhBJ,EAOK,KAPL,EAOK,EAFD,EAAA,cAAgB,EAAA,EAAC,CAAC,WAAW,SAAW,EAAA,EAAC,CAAC,WAAW,WAAU,CAAA,EAAA,CAGnE,EAOS,SAAA,CANP,KAAK,SACJ,aAAY,EAAA,EAAC,CAAC,WAAW,OAC1B,MAAM,yOACL,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAA,GAEZ,EAAkC,EAAA,EAAA,CAAA,CAA9B,KAAM,GAAK,eAAc,YAGjC,EAeM,MAfN,EAeM,CAdJ,EAaM,MAbN,EAaM,CAZJ,EAGC,QAHD,EAGC,EADK,EAAA,EAAC,CAAC,WAAW,SAAQ,CAAA,EAAA,CAAA,EAE3B,EAOE,QAAA,mCANgB,MAAA,EAChB,KAAK,MACL,MAAM,oVACL,YAAa,EAAA,EAAC,CAAC,WAAW,eAC3B,UAAA,GACC,UAAO,AAAA,EAAA,KAAA,GAAE,EAAI,UAAY,EAAM,iBALvB,EAAA,MAAO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAStB,EA+BM,MA/BN,EA+BM,CA3BI,EAAA,eAAA,GAAA,CADR,EAOS,SAAA,OALP,KAAK,SACL,MAAM,4RACL,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,SAAA,IAET,EAAA,EAAC,CAAC,WAAW,WAAU,CAAA,EAAA,EAAA,EAAA,GAAA,GAAA,CAE5B,EAmBM,MAnBN,EAmBM,CAlBJ,EAMS,SAAA,CALP,KAAK,SACL,MAAM,6TACL,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAA,IAET,EAAA,EAAC,CAAC,WAAW,OAAM,CAAA,EAAA,CAExB,EAUS,SAAA,CATP,KAAK,SACL,MAAM,wQACL,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,SAAA,IAGV,EAAA,cAAkC,EAAA,EAAC,CAAC,WAAW,WAA+B,EAAA,EAAC,CAAC,WAAW,WAAU,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,ojBE9FrH,IAAM,EAAO,EAIP,CAAE,KAAM,GAAS,cAKb,EAAA,WAAA,GAAA,CADR,EAOM,MAPN,EAOM,CAHJ,EAEM,MAFN,EAEM,EADD,EAAA,EAAC,CAAC,OAAO,cAAa,CAAA,EAAA,CAAA,CAAA,EAIhB,EAAA,WAAA,GAAA,CADb,EAWM,MAXN,EAWM,CAAA,EAAA,EAPD,EAAA,EAAC,CAAC,OAAO,iBAAgB,CAAG,IAC/B,EAAA,CAAA,EAKS,SAAA,CAJP,MAAM,qHACL,QAAK,AAAA,EAAA,KAAA,GAAE,EAAI,QAAA,IAET,EAAA,EAAC,CAAC,OAAO,MAAK,CAAA,EAAA,CAAA,CAAA,EAKR,EAAA,eAAiB,EAAA,QAAA,GAAA,CAF9B,EAKE,EAJK,EAAA,cAAa,CAAA,OAEjB,OAAQ,EAAA,OACT,MAAM"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["chunks/dist-BKSzrf0L.js","chunks/tiptap-Cya4P9CN.js","chunks/icons-vmLJTaJk.js","chunks/draggable-ClUwYCFL.js","chunks/rolldown-runtime-BakkzWXw.js","chunks/dist-B5JI9nIg.js","chunks/dist-0UheN8rK.js","chunks/extensions-BfjbWqOx.js","chunks/useMergeTag-CBSlcqnk.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{F as e,G as t,K as n,W as r,c as i,d as a,f as o,g as s,h as c,m as l,p as u,q as d,s as f,u as p,w as m,y as h}from"./draggable-ClUwYCFL.js";import{_ as g,f as _,g as v,h as y,u as b}from"./icons-vmLJTaJk.js";import{c as x,n as S,u as C}from"./useMergeTag-CBSlcqnk.js";import{r as w,t as T}from"./useEditorCore-DRhPKq_z.js";import{n as E,t as ee}from"./RichTextEditorContent-UGQorJm_.js";var D={class:`tpl-text-editor-wrapper tpl:relative`},O=[`data-tpl-theme`,`aria-label`],k=[`aria-label`,`title`],A=[`aria-label`,`title`],j=[`aria-label`,`title`],M={key:0,class:`tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]`},N=[`aria-label`,`title`],P={key:1,class:`tpl:flex tpl:items-center tpl:gap-2 tpl:px-2 tpl:text-xs tpl:text-[var(--tpl-text-dim)]`},F=s({__name:`TitleEditor`,props:{block:{},toolbarPosition:{}},emits:[`done`],setup(s,{emit:F}){let I=s,L=F,R=h(x),z=h(C),{t:B}=S(),{editor:V,EditorContent:H,isLoading:U,initError:W,retry:G,showLinkDialog:K,linkUrl:q,linkDialogRef:J,mergeTagEnabled:Y,openLinkDialog:X,insertLink:Z,removeLink:Q,closeLinkDialog:te,handleLinkKeydown:ne,handleAddMergeTag:$}=T({blockId:()=>I.block.id,blockContent:()=>I.block.content,onDone:()=>L(`done`),editorName:`TitleEditor`,async loadExtensions({mergeTags:e,syntax:t}){let[{Editor:n,EditorContent:r},{default:i},{default:a},{MergeTagNode:o,LogicMergeTagNode:s}]=await Promise.all([w(()=>import(`./dist-BKSzrf0L.js`),__vite__mapDeps([0,1,2,3,4])),w(()=>import(`./dist-B5JI9nIg.js`),__vite__mapDeps([5,1,2,3,4])),w(()=>import(`./dist-0UheN8rK.js`),__vite__mapDeps([6,1,2,3,4])),w(()=>import(`./extensions-BfjbWqOx.js`),__vite__mapDeps([7,2,3,4,1,8]))]);return{TiptapEditor:n,EC:r,extensions:[i.configure({heading:!1,codeBlock:!1,blockquote:!1,horizontalRule:!1,bulletList:!1,orderedList:!1,listItem:!1,strike:!1}),a.configure({openOnClick:!1,HTMLAttributes:{target:`_blank`,rel:`noopener noreferrer`}}),o.configure({mergeTags:e,syntax:t}),s.configure({syntax:t})]}}});return(h,x)=>(m(),u(`div`,D,[(m(),a(i,{to:`body`},[p(`div`,{"data-tpl-theme":r(z),role:`toolbar`,"aria-label":r(B).titleEditor.toolbar,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`,style:n({...r(R),top:`${s.toolbarPosition.top}px`,left:`${s.toolbarPosition.left}px`,transform:`translateY(-100%)`})},[!r(U)&&r(V)?(m(),u(f,{key:0},[p(`button`,{type:`button`,class:t([`tpl-text-toolbar-btn`,{"tpl-text-toolbar-btn--active":r(V)?.isActive(`bold`)}]),"aria-label":r(B).titleEditor.bold,title:r(B).titleEditor.bold,onClick:x[0]||=e=>r(V)?.chain().focus().toggleBold().run()},[c(r(g),{size:16,"stroke-width":2.5})],10,k),p(`button`,{type:`button`,class:t([`tpl-text-toolbar-btn`,{"tpl-text-toolbar-btn--active":r(V)?.isActive(`italic`)}]),"aria-label":r(B).titleEditor.italic,title:r(B).titleEditor.italic,onClick:x[1]||=e=>r(V)?.chain().focus().toggleItalic().run()},[c(r(v),{size:16,"stroke-width":2})],10,A),x[6]||=p(`span`,{class:`tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]`,"aria-hidden":`true`},null,-1),p(`button`,{type:`button`,class:t([`tpl-text-toolbar-btn`,{"tpl-text-toolbar-btn--active":r(V)?.isActive(`link`)}]),"aria-label":r(B).titleEditor.addLink,title:r(B).titleEditor.addLink,onClick:x[2]||=(...e)=>r(X)&&r(X)(...e)},[c(r(y),{size:16,"stroke-width":2})],10,j),r(Y)?(m(),u(`span`,M)):o(``,!0),r(Y)?(m(),u(`button`,{key:1,type:`button`,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)]`,"aria-label":r(B).mergeTag.add,title:r(B).mergeTag.add,onClick:x[3]||=(...e)=>r($)&&r($)(...e)},[c(r(b),{size:16,"stroke-width":2}),l(` `+d(r(B).mergeTag.add),1)],8,N)):o(``,!0)],64)):(m(),u(`div`,P,[c(r(_),{class:`tpl-spinner`,size:14,"stroke-width":2}),l(` `+d(r(B).errors.editorLoading),1)]))],12,O)])),c(ee,{editor:r(V),"editor-content":r(H),"is-loading":r(U),"init-error":r(W),onRetry:r(G)},null,8,[`editor`,`editor-content`,`is-loading`,`init-error`,`onRetry`]),c(E,{visible:r(K),"is-editing-link":r(V)?.isActive(`link`)??!1,"dialog-ref":r(J),"onUpdate:dialogRef":x[4]||=t=>e(J)?J.value=t:null,"link-url":r(q),"onUpdate:linkUrl":x[5]||=t=>e(q)?q.value=t:null,onClose:r(te),onInsert:r(Z),onRemove:r(Q),onKeydown:r(ne)},null,8,[`visible`,`is-editing-link`,`dialog-ref`,`link-url`,`onClose`,`onInsert`,`onRemove`,`onKeydown`])]))}});export{F as default};
|
|
3
|
+
//# sourceMappingURL=TitleEditor-CC3Adjai.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"mappings":";y1BAUA,IAAM,EAAQ,EAKR,EAAO,EAIP,EAAc,EAAO,EAAiB,CACtC,EAAa,EAAO,EAAa,CAEjC,CAAE,KAAM,GAAS,CAEjB,CACJ,SACA,gBACA,YACA,YACA,QACA,iBACA,UACA,gBACA,kBACA,iBACA,aACA,aACA,mBACA,qBACA,qBACE,EAAkB,CACpB,YAAe,EAAM,MAAM,GAC3B,iBAAoB,EAAM,MAAM,QAChC,WAAc,EAAK,OAAO,CAC1B,WAAY,cACZ,MAAM,eAAe,CAAE,YAAW,UAAU,CAC1C,GAAM,CACJ,CAAE,OAAQ,EAAc,cAAe,GACvC,CAAE,QAAS,GACX,CAAE,QAAS,GACX,CAAE,eAAc,sBACd,MAAM,QAAQ,IAAI,OACpB,OAAO,0DACP,OAAO,0DACP,OAAO,0DACP,OAAO,4DACR,CAAC,CAEF,MAAO,CACL,eACA,KACA,WAAY,CACV,EAAW,UAAU,CACnB,QAAS,GACT,UAAW,GACX,WAAY,GACZ,eAAgB,GAChB,WAAY,GACZ,YAAa,GACb,SAAU,GACV,OAAQ,GACT,CAAC,CACF,EAAQ,UAAU,CAChB,YAAa,GACb,eAAgB,CACd,OAAQ,SACR,IAAK,sBACN,CACF,CAAC,CACF,EAAa,UAAU,CAAE,YAAW,SAAQ,CAAC,CAC7C,EAAkB,UAAU,CAAE,SAAQ,CAAC,CACxC,CACF,EAEJ,CAAC,mBAIA,EAwGM,MAxGN,EAwGM,MAvGJ,EAmFW,GAnFD,GAAG,OAAM,EACjB,EAiFM,OAhFH,iBAAgB,IAAU,CAC3B,KAAK,UACJ,aAAY,IAAC,CAAC,YAAY,QAC3B,MAAM,mMACL,MAAK,MAAiB,IAAW,QAAoB,kBAAgB,IAAG,YAAyB,kBAAgB,KAAI,uCAOrG,IAAS,EAAI,IAAM,MAApC,EA4DW,WA1DT,EAWS,UAVP,KAAK,SACL,MAAK,GAAC,uBAAsB,gCAC4B,IAAM,EAAE,SAAQ,WAGvE,aAAY,IAAC,CAAC,YAAY,KAC1B,MAAO,IAAC,CAAC,YAAY,KACrB,QAAK,UAAE,IAAM,EAAE,OAAK,CAAG,OAAK,CAAG,YAAU,CAAG,KAAG,GAEhD,EAAuC,MAAhC,KAAM,GAAK,eAAc,aAGlC,EAWS,UAVP,KAAK,SACL,MAAK,GAAC,uBAAsB,gCAC4B,IAAM,EAAE,SAAQ,aAGvE,aAAY,IAAC,CAAC,YAAY,OAC1B,MAAO,IAAC,CAAC,YAAY,OACrB,QAAK,UAAE,IAAM,EAAE,OAAK,CAAG,OAAK,CAAG,cAAY,CAAG,KAAG,GAElD,EAAuC,MAA9B,KAAM,GAAK,eAAc,kBAEpC,EAGQ,QAFN,MAAM,yDACN,cAAY,iBAGd,EAWS,UAVP,KAAK,SACL,MAAK,GAAC,uBAAsB,gCAC4B,IAAM,EAAE,SAAQ,WAGvE,aAAY,IAAC,CAAC,YAAY,QAC1B,MAAO,IAAC,CAAC,YAAY,QACrB,QAAK,eAAE,gBAAc,GAEtB,EAAqC,MAA9B,KAAM,GAAK,eAAc,WAI1B,IAAe,MADvB,EAGQ,OAHR,EAGQ,WAEA,IAAe,MADvB,EAUS,gBARP,KAAK,SACL,MAAM,+QACL,aAAY,IAAC,CAAC,SAAS,IACvB,MAAO,IAAC,CAAC,SAAS,IAClB,QAAK,eAAE,gBAAiB,GAEzB,EAAyC,MAA9B,KAAM,GAAK,eAAc,MAAK,IACzC,EAAG,IAAC,CAAC,SAAS,IAAG,+BAInB,EAKM,MALN,EAKM,CAFJ,EAAiE,MAAnD,MAAM,cAAe,KAAM,GAAK,eAAc,MAAK,IACjE,EAAG,IAAC,CAAC,OAAO,cAAa,iBAMjC,EAME,IALC,OAAQ,IAAM,CACd,iBAAgB,IAAa,CAC7B,aAAY,IAAS,CACrB,aAAY,IAAS,CACrB,QAAO,IAAK,0EAGf,EASE,GARC,QAAS,IAAc,CACvB,kBAAiB,IAAM,EAAE,SAAQ,YAC1B,aAAY,IAAa,oDACzB,WAAU,IAAO,kDACxB,QAAO,KAAe,CACtB,SAAQ,IAAU,CAClB,SAAQ,IAAU,CAClB,UAAS,KAAiB","names":[],"ignoreList":[],"sources":["../../../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 \"@templatical/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);\nconst tplUiTheme = inject(UI_THEME_KEY);\n\nconst { t } = useI18n();\n\nconst {\n editor,\n EditorContent,\n isLoading,\n initError,\n retry,\n showLinkDialog,\n linkUrl,\n linkDialogRef,\n mergeTagEnabled,\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({ mergeTags, syntax }) {\n const [\n { Editor: TiptapEditor, EditorContent: EC },\n { default: StarterKit },\n { default: LinkExt },\n { MergeTagNode, 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 ],\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=\"mergeTagEnabled\"\n class=\"tpl:mx-1.5 tpl:h-6 tpl:w-px tpl:bg-[var(--tpl-border)]\"\n ></span>\n <button\n v-if=\"mergeTagEnabled\"\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"],"file":"TitleEditor-CC3Adjai.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,E as t,T as n,w as r}from"./tiptap-Cya4P9CN.js";export{e as Link,r as default,n as isAllowedUri,t as pasteRegex};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as e,h as t}from"./tiptap-Cya4P9CN.js";export{t as Underline,e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,j as t}from"./tiptap-Cya4P9CN.js";export{e as FontFamily,t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as e,p as t}from"./tiptap-Cya4P9CN.js";export{t as StarterKit,e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as e,v as t}from"./tiptap-Cya4P9CN.js";export{e as TextAlign,t as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{F as e,I as t,L as n,N as r,P as i,R as a,z as o}from"./tiptap-Cya4P9CN.js";export{r as BackgroundColor,i as Color,e as FontFamily,t as FontSize,n as LineHeight,a as TextStyle,o as TextStyleKit};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{M as e,P as t}from"./tiptap-Cya4P9CN.js";export{t as Color,e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{$ as ee,$t as te,An as ne,At as e,B as t,Bn as n,Bt as r,Cn as i,Ct as a,Dn as o,Dt as s,En as c,Et as l,Fn as u,Ft as d,G as f,Gn as p,Gt as m,H as h,Hn as g,Ht as _,In as v,It as y,J as b,Jn as x,Jt as S,K as C,Kn as w,Kt as T,Ln as E,Lt as D,Mn as O,Mt as k,Nn as A,Nt as j,On as M,Ot as N,Pn as P,Pt as F,Q as I,Qn as L,Qt as R,Rn as z,Rt as B,Sn as V,St as H,Tn as U,Tt as W,U as G,Un as K,Ut as q,V as J,Vn as Y,Vt as X,W as Z,Wn as re,Wt as ie,X as ae,Xn as oe,Xt as se,Y as ce,Yn as le,Yt as ue,Z as de,Zn as fe,Zt as pe,_n as me,_t as he,a as ge,an as _e,at as ve,bn as ye,bt as Q,c as be,cn as xe,ct as Se,d as Ce,dn as we,dt as Te,en as Ee,et as De,f as Oe,fn as ke,ft as Ae,gn as je,gt as Me,hn as Ne,ht as Pe,i as Fe,in as Ie,it as Le,jn as Re,jt as ze,kn as Be,kt as Ve,l as He,ln as Ue,lt as We,mn as Ge,mt as Ke,n as qe,nn as Je,nt as Ye,o as Xe,on as Ze,ot as Qe,pn as $e,pt as et,q as tt,qn as nt,qt as rt,r as it,rn as at,rt as ot,s as st,sn as ct,st as lt,t as ut,tn as $,tt as dt,u as ft,un as pt,ut as mt,vn as ht,vt as gt,wn as _t,wt as vt,xn as yt,xt as bt,yn as xt,yt as St,zn as Ct,zt as wt}from"./tiptap-Cya4P9CN.js";export{t as CommandManager,ut as Editor,qe as EditorContent,J as Extendable,h as Extension,G as Fragment,Z as InputRule,f as MappablePosition,C as Mark,tt as MarkView,it as MarkViewContent,b as Node,ce as NodePos,ae as NodeView,Fe as NodeViewContent,ge as NodeViewWrapper,de as PasteRule,I as ResizableNodeView,ee as ResizableNodeview,De as Tracker,Xe as VueMarkView,st as VueMarkViewRenderer,be as VueNodeViewRenderer,He as VueRenderer,dt as callOrReturn,Ye as canInsertNode,ot as cancelPositionCheck,Le as combineTransactionSteps,ve as commands,Qe as createAtomBlockMarkdownSpec,lt as createBlockMarkdownSpec,Se as createChainableState,We as createDocument,$ as createElement,$ as h,mt as createInlineMarkdownSpec,Te as createMappablePosition,Ae as createNodeFromContent,et as createStyleTag,Ke as decodeHtmlEntities,Pe as defaultBlockAt,Me as deleteProps,he as elementFromString,gt as encodeHtmlEntities,St as escapeForRegEx,Q as extensions,bt as findChildren,H as findChildrenInRange,a as findDuplicates,vt as findParentNode,W as findParentNodeClosestToPos,l as flattenExtensions,s as fromString,N as generateHTML,Ve as generateJSON,e as generateText,ze as getAttributes,k as getAttributesFromExtensions,j as getChangedRanges,F as getDebugJSON,d as getExtensionField,y as getHTMLFromFragment,D as getMarkAttributes,B as getMarkRange,wt as getMarkType,r as getMarksBetween,X as getNodeAtPosition,_ as getNodeAttributes,q as getNodeType,ie as getRenderedAttributes,m as getSchema,T as getSchemaByResolvedExtensions,rt as getSchemaTypeByName,S as getSchemaTypeNameByName,ue as getSplittedAttributes,se as getText,pe as getTextBetween,R as getTextContentFromNodes,te as getTextSerializersFromSchema,Ee as getUpdatedPosition,Je as injectExtensionAttributesToParseRule,at as inputRulesPlugin,Ie as isActive,_e as isAndroid,Ze as isAtEndOfNode,ct as isAtStartOfNode,xe as isEmptyObject,Ue as isExtensionRulesEnabled,pt as isFirefox,we as isFunction,ke as isList,$e as isMacOS,Ge as isMarkActive,Ne as isNodeActive,je as isNodeEmpty,me as isNodeSelection,ht as isNumber,xt as isPlainObject,ye as isRegExp,yt as isSafari,V as isString,i as isTextSelection,_t as isiOS,U as markInputRule,c as markPasteRule,ft as markViewProps,o as markdown,M as mergeAttributes,Be as mergeDeep,ne as minMax,Re as nodeInputRule,O as nodePasteRule,Ce as nodeViewProps,A as objectIncludes,P as parseAttributes,u as parseIndentedBlocks,v as pasteRulesPlugin,E as posToDOMRect,z as removeDuplicates,Ct as renderNestedMarkdownContent,n as resolveExtensions,Y as resolveFocusPosition,g as rewriteUnknownContent,K as schedulePositionCheck,re as selectionToInsertionEnd,p as serializeAttributes,w as sortExtensions,nt as splitExtensions,x as textInputRule,le as textPasteRule,oe as textblockTypeInputRule,fe as updateMarkViewAttributes,Oe as useEditor,L as wrappingInputRule};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{S as e,x as t}from"./tiptap-Cya4P9CN.js";export{t as Subscript,e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,D as t,O as n,k as r}from"./tiptap-Cya4P9CN.js";export{t as Highlight,n as default,r as inputRegex,e as pasteRegex};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as e,y as t}from"./tiptap-Cya4P9CN.js";export{t as Superscript,e as default};
|