diff --git a/src/extensions/media-group.ts b/src/extensions/media-group.ts new file mode 100644 index 0000000..2cf5a14 --- /dev/null +++ b/src/extensions/media-group.ts @@ -0,0 +1,19 @@ +import { Node } from '@tiptap/core'; + +export const MediaGroup = Node.create({ + name: 'mediaGroup', + group: 'block', + content: 'media+', + + parseHTML() { + return [ + { + tag: 'div[data-type="mediaGroup"]', + }, + ]; + }, + + renderHTML({ HTMLAttributes }) { + return ['div', { 'data-type': 'mediaGroup', ...HTMLAttributes }, 0]; + }, +}); diff --git a/src/index.tsx b/src/index.tsx index 5bfbe3d..39219c8 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -3,6 +3,7 @@ import { Em } from './extensions/em'; import { ExpandClient } from './extensions/expand/client'; import { InlineCard } from './extensions/inline-card'; import { Media } from './extensions/media'; +import { MediaGroup } from './extensions/media-group'; import { MediaSingleClient } from './extensions/media-single/client'; import { Mention } from './extensions/mention'; import { Panel } from './extensions/panel'; @@ -14,12 +15,13 @@ import { TextColor } from './extensions/text-color'; import { UndefinedNode } from './extensions/undefined'; export const Jira = { - MediaSingleClient, ExpandClient, DateNode, Em, InlineCard, Media, + MediaGroup, + MediaSingleClient, Mention, Panel, Rule, diff --git a/src/server.ts b/src/server.ts index 496847f..1d740c2 100644 --- a/src/server.ts +++ b/src/server.ts @@ -3,6 +3,7 @@ import { Em } from './extensions/em'; import { ExpandServer } from './extensions/expand/server'; import { InlineCard } from './extensions/inline-card'; import { Media } from './extensions/media'; +import { MediaGroup } from './extensions/media-group'; import { MediaSingleServer } from './extensions/media-single/server'; import { Mention } from './extensions/mention'; import { Panel } from './extensions/panel'; @@ -14,12 +15,13 @@ import { TextColor } from './extensions/text-color'; import { UndefinedNode } from './extensions/undefined'; export const Jira = { - MediaSingleServer, ExpandServer, DateNode, Em, InlineCard, Media, + MediaGroup, + MediaSingleServer, Mention, Panel, Rule,