ngx-tiptap
Version:
Angular bindings for tiptap v2
46 lines • 5.26 kB
JavaScript
import { Directive, Input } from '@angular/core';
import { BubbleMenuPlugin } from '@tiptap/extension-bubble-menu';
import * as i0 from "@angular/core";
export class BubbleMenuDirective {
constructor(elRef) {
this.elRef = elRef;
this.pluginKey = 'NgxTiptapBubbleMenu';
this.tippyOptions = {};
this.shouldShow = null;
}
ngOnInit() {
if (!this.editor) {
throw new Error('Required: Input `editor`');
}
this.editor.registerPlugin(BubbleMenuPlugin({
pluginKey: this.pluginKey,
editor: this.editor,
element: this.elRef.nativeElement,
tippyOptions: this.tippyOptions,
shouldShow: this.shouldShow,
updateDelay: this.updateDelay,
}));
}
ngOnDestroy() {
this.editor.unregisterPlugin(this.pluginKey);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: BubbleMenuDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.4", type: BubbleMenuDirective, selector: "tiptap-bubble-menu[editor], [tiptapBubbleMenu][editor]", inputs: { pluginKey: "pluginKey", editor: "editor", tippyOptions: "tippyOptions", shouldShow: "shouldShow", updateDelay: "updateDelay" }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: BubbleMenuDirective, decorators: [{
type: Directive,
args: [{
selector: 'tiptap-bubble-menu[editor], [tiptapBubbleMenu][editor]',
}]
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { pluginKey: [{
type: Input
}], editor: [{
type: Input
}], tippyOptions: [{
type: Input
}], shouldShow: [{
type: Input
}], updateDelay: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnViYmxlLW1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRpcHRhcC9zcmMvbGliL2J1YmJsZS1tZW51LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFaEYsT0FBTyxFQUFFLGdCQUFnQixFQUF5QixNQUFNLCtCQUErQixDQUFDOztBQUt4RixNQUFNLE9BQU8sbUJBQW1CO0lBTzlCLFlBQW9CLEtBQThCO1FBQTlCLFVBQUssR0FBTCxLQUFLLENBQXlCO1FBTnpDLGNBQVMsR0FBdUMscUJBQXFCLENBQUM7UUFFdEUsaUJBQVksR0FBMEMsRUFBRSxDQUFDO1FBQ3pELGVBQVUsR0FBd0MsSUFBSSxDQUFDO0lBR1YsQ0FBQztJQUV2RCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDO1lBQzFDLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUztZQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUNqQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0ExQlUsbUJBQW1CO2tHQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHdEQUF3RDtpQkFDbkU7K0VBRVUsU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IEJ1YmJsZU1lbnVQbHVnaW4sIEJ1YmJsZU1lbnVQbHVnaW5Qcm9wcyB9IGZyb20gJ0B0aXB0YXAvZXh0ZW5zaW9uLWJ1YmJsZS1tZW51JztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndGlwdGFwLWJ1YmJsZS1tZW51W2VkaXRvcl0sIFt0aXB0YXBCdWJibGVNZW51XVtlZGl0b3JdJyxcbn0pXG5leHBvcnQgY2xhc3MgQnViYmxlTWVudURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgcGx1Z2luS2V5OiBCdWJibGVNZW51UGx1Z2luUHJvcHNbJ3BsdWdpbktleSddID0gJ05neFRpcHRhcEJ1YmJsZU1lbnUnO1xuICBASW5wdXQoKSBlZGl0b3IhOiBFZGl0b3I7XG4gIEBJbnB1dCgpIHRpcHB5T3B0aW9uczogQnViYmxlTWVudVBsdWdpblByb3BzWyd0aXBweU9wdGlvbnMnXSA9IHt9O1xuICBASW5wdXQoKSBzaG91bGRTaG93OiBCdWJibGVNZW51UGx1Z2luUHJvcHNbJ3Nob3VsZFNob3cnXSA9IG51bGw7XG4gIEBJbnB1dCgpIHVwZGF0ZURlbGF5OiBCdWJibGVNZW51UGx1Z2luUHJvcHNbJ3VwZGF0ZURlbGF5J107XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lZGl0b3IpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQ6IElucHV0IGBlZGl0b3JgJyk7XG4gICAgfVxuXG4gICAgdGhpcy5lZGl0b3IucmVnaXN0ZXJQbHVnaW4oQnViYmxlTWVudVBsdWdpbih7XG4gICAgICBwbHVnaW5LZXk6IHRoaXMucGx1Z2luS2V5LFxuICAgICAgZWRpdG9yOiB0aGlzLmVkaXRvcixcbiAgICAgIGVsZW1lbnQ6IHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCxcbiAgICAgIHRpcHB5T3B0aW9uczogdGhpcy50aXBweU9wdGlvbnMsXG4gICAgICBzaG91bGRTaG93OiB0aGlzLnNob3VsZFNob3csXG4gICAgICB1cGRhdGVEZWxheTogdGhpcy51cGRhdGVEZWxheSxcbiAgICB9KSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmVkaXRvci51bnJlZ2lzdGVyUGx1Z2luKHRoaXMucGx1Z2luS2V5KTtcbiAgfVxufVxuIl19