@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
1 lines • 1.89 kB
Source Map (JSON)
{"version":3,"file":"mention.cjs","sources":["../../../../../components/rich_text_editor/extensions/mentions/mention.js"],"sourcesContent":["import Mention from '@tiptap/extension-mention';\nimport { mergeAttributes } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-2';\nimport { PluginKey } from '@tiptap/pm/state';\n\n// Mention component\nimport MentionComponent from './MentionComponent.vue';\n\nexport const MentionPlugin = Mention.extend({\n\n addNodeView () {\n return VueNodeViewRenderer(MentionComponent);\n },\n\n parseHTML () {\n return [\n {\n tag: 'mention-component',\n },\n ];\n },\n\n addAttributes () {\n return {\n name: {\n default: '',\n },\n avatarSrc: {\n default: '',\n },\n id: {\n default: '',\n },\n };\n },\n\n renderText ({ node }) {\n return `@${node.attrs.id}`;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['mention-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n}).configure({\n suggestion: {\n char: '@',\n pluginKey: new PluginKey('mentionSuggestion'),\n },\n});\n"],"names":["VueNodeViewRenderer","MentionComponent","mergeAttributes","PluginKey"],"mappings":";;;;;;;AAQY,MAAC,gBAAgB,QAAQ,OAAO;AAAA,EAE1C,cAAe;AACb,WAAOA,KAAAA,oBAAoBC,iBAAAA,OAAgB;AAAA,EAC5C;AAAA,EAED,YAAa;AACX,WAAO;AAAA,MACL;AAAA,QACE,KAAK;AAAA,MACN;AAAA,IACP;AAAA,EACG;AAAA,EAED,gBAAiB;AACf,WAAO;AAAA,MACL,MAAM;AAAA,QACJ,SAAS;AAAA,MACV;AAAA,MACD,WAAW;AAAA,QACT,SAAS;AAAA,MACV;AAAA,MACD,IAAI;AAAA,QACF,SAAS;AAAA,MACV;AAAA,IACP;AAAA,EACG;AAAA,EAED,WAAY,EAAE,QAAQ;AACpB,WAAO,IAAI,KAAK,MAAM,EAAE;AAAA,EACzB;AAAA,EAED,WAAY,EAAE,kBAAkB;AAC9B,WAAO,CAAC,qBAAqBC,qBAAgB,KAAK,QAAQ,gBAAgB,cAAc,CAAC;AAAA,EAC1F;AAEH,CAAC,EAAE,UAAU;AAAA,EACX,YAAY;AAAA,IACV,MAAM;AAAA,IACN,WAAW,IAAIC,MAAS,UAAC,mBAAmB;AAAA,EAC7C;AACH,CAAC;;"}