diff --git a/resources/js/components/Bard.js b/resources/js/components/Bard.js index 0c9714b0fc2..d9b59ccb91a 100644 --- a/resources/js/components/Bard.js +++ b/resources/js/components/Bard.js @@ -1,24 +1,50 @@ import * as core from 'tiptap'; import * as commands from 'tiptap-commands'; import * as utils from 'tiptap-utils'; +import * as extensions from 'tiptap-extensions'; +import Link from './fieldtypes/bard/Link'; +import Image from './fieldtypes/bard/Image'; +import Subscript from './fieldtypes/bard/Subscript'; +import Superscript from './fieldtypes/bard/Superscript'; class Bard { constructor(instance) { this.instance = instance; this.extensionCallbacks = []; + this.extensionReplacementCallbacks = []; this.buttonCallbacks = []; } + /** @deprecated */ extend(callback) { + this.addExtension(callback); + } + + addExtension(callback) { this.extensionCallbacks.push(callback); } + replaceExtension(name, callback) { + this.extensionReplacementCallbacks.push({ name, callback }); + } + buttons(callback) { this.buttonCallbacks.push(callback); } get tiptap() { - return { core, commands, utils }; + return { + core, + commands, + utils, + extensions: { + ...extensions, + Link, + Image, + Subscript, + Superscript, + }, + }; } } diff --git a/resources/js/components/fieldtypes/bard/BardFieldtype.vue b/resources/js/components/fieldtypes/bard/BardFieldtype.vue index 0c87f5248f6..929855eef47 100644 --- a/resources/js/components/fieldtypes/bard/BardFieldtype.vue +++ b/resources/js/components/fieldtypes/bard/BardFieldtype.vue @@ -89,7 +89,7 @@