{"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;;"}