@dialpad/dialtone
Version:
Dialpad's Dialtone design system monorepo
1 lines • 1.93 kB
Source Map (JSON)
{"version":3,"file":"channel.cjs","sources":["../../../../../components/rich_text_editor/extensions/channels/channel.js"],"sourcesContent":["import Mention from '@tiptap/extension-mention';\nimport { mergeAttributes } from '@tiptap/core';\nimport { VueNodeViewRenderer } from '@tiptap/vue-3';\nimport { PluginKey } from '@tiptap/pm/state';\n\n// Channel Mention component\nimport ChannelComponent from './ChannelComponent.vue';\n\nexport const ChannelPlugin = Mention.extend({\n name: 'channel',\n\n addNodeView () {\n return VueNodeViewRenderer(ChannelComponent);\n },\n\n parseHTML () {\n return [\n {\n tag: 'channel-component',\n },\n ];\n },\n\n addAttributes () {\n return {\n name: {\n default: '',\n },\n id: {\n default: '',\n },\n locked: {\n default: false,\n },\n };\n },\n\n renderText ({ node }) {\n return `#${node.attrs.id}`;\n },\n\n renderHTML ({ HTMLAttributes }) {\n return ['channel-component', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes)];\n },\n\n}).configure({\n suggestion: {\n char: '#',\n pluginKey: new PluginKey('channelSuggestion'),\n },\n});\n"],"names":["VueNodeViewRenderer","ChannelComponent","mergeAttributes","PluginKey"],"mappings":";;;;;;;AAQY,MAAC,gBAAgB,QAAQ,OAAO;AAAA,EAC1C,MAAM;AAAA,EAEN,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,IAAI;AAAA,QACF,SAAS;AAAA,MACV;AAAA,MACD,QAAQ;AAAA,QACN,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;;"}