@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
47 lines (46 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const Mention = require("@tiptap/extension-mention");
const core = require("@tiptap/core");
const vue3 = require("@tiptap/vue-3");
const state = require("@tiptap/pm/state");
const ChannelComponent = require("./ChannelComponent.vue.cjs");
const ChannelPlugin = Mention.extend({
name: "channel",
addNodeView() {
return vue3.VueNodeViewRenderer(ChannelComponent.default);
},
parseHTML() {
return [
{
tag: "channel-component"
}
];
},
addAttributes() {
return {
name: {
default: ""
},
id: {
default: ""
},
locked: {
default: false
}
};
},
renderText({ node }) {
return `#${node.attrs.id}`;
},
renderHTML({ HTMLAttributes }) {
return ["channel-component", core.mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];
}
}).configure({
suggestion: {
char: "#",
pluginKey: new state.PluginKey("channelSuggestion")
}
});
exports.ChannelPlugin = ChannelPlugin;
//# sourceMappingURL=channel.cjs.map