{"version":3,"file":"index.mjs","sources":["../../../../../../../../packages/components/editor/src/plugins/component/index.ts"],"sourcesContent":["import { Node, mergeAttributes } from '@tiptap/core'\nimport { VueNodeViewRenderer } from '@tiptap/vue-3'\n\nimport { Component } from './component'\n\nexport default Node.create({\n  name: 'component',\n\n  group: 'inline',\n\n  inline: true,\n\n  addAttributes() {\n    return {\n      props: {\n        default: null,\n        parseHTML: (element) => {\n          const attributes: Record<string, string> = {}\n          for (const attr of element.attributes) {\n            attributes[attr.name] = attr.value\n          }\n          attributes['template'] = element.innerHTML\n          return attributes\n        },\n        renderHTML: (attributes) => {\n          return attributes.props || {}\n        },\n      },\n    }\n  },\n\n  parseHTML() {\n    return [\n      {\n        tag: 'component',\n      },\n    ]\n  },\n\n  renderHTML({ HTMLAttributes }) {\n    const attrs = { ...HTMLAttributes }\n    delete attrs.template\n    return ['component', mergeAttributes(attrs)]\n  },\n\n  addNodeView() {\n    return VueNodeViewRenderer(Component as any)\n  },\n})\n"],"names":["Component"],"mappings":";;;;AAKA,gBAAe,KAAK,MAAO,CAAA;AAAA,EACzB,IAAM,EAAA,WAAA;AAAA,EAEN,KAAO,EAAA,QAAA;AAAA,EAEP,MAAQ,EAAA,IAAA;AAAA,EAER,aAAgB,GAAA;AACd,IAAO,OAAA;AAAA,MACL,KAAO,EAAA;AAAA,QACL,OAAS,EAAA,IAAA;AAAA,QACT,SAAA,EAAW,CAAC,OAAY,KAAA;AACtB,UAAA,MAAM,aAAqC,EAAC,CAAA;AAC5C,UAAW,KAAA,MAAA,IAAA,IAAQ,QAAQ,UAAY,EAAA;AACrC,YAAW,UAAA,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,KAAA,CAAA;AAAA,WAC/B;AACA,UAAA,UAAA,CAAW,cAAc,OAAQ,CAAA,SAAA,CAAA;AACjC,UAAO,OAAA,UAAA,CAAA;AAAA,SACT;AAAA,QACA,UAAA,EAAY,CAAC,UAAe,KAAA;AAC1B,UAAO,OAAA,UAAA,CAAW,SAAS,EAAC,CAAA;AAAA,SAC9B;AAAA,OACF;AAAA,KACF,CAAA;AAAA,GACF;AAAA,EAEA,SAAY,GAAA;AACV,IAAO,OAAA;AAAA,MACL;AAAA,QACE,GAAK,EAAA,WAAA;AAAA,OACP;AAAA,KACF,CAAA;AAAA,GACF;AAAA,EAEA,UAAA,CAAW,EAAE,cAAA,EAAkB,EAAA;AAC7B,IAAM,MAAA,KAAA,GAAQ,EAAE,GAAG,cAAe,EAAA,CAAA;AAClC,IAAA,OAAO,KAAM,CAAA,QAAA,CAAA;AACb,IAAA,OAAO,CAAC,WAAA,EAAa,eAAgB,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,GAC7C;AAAA,EAEA,WAAc,GAAA;AACZ,IAAA,OAAO,oBAAoBA,WAAgB,CAAA,CAAA;AAAA,GAC7C;AACF,CAAC,CAAA;;;;"}