init multi-tab-node

This commit is contained in:
Salihu
2026-08-06 22:02:02 +01:00
parent 38380211a5
commit 1e2184c021
12 changed files with 537 additions and 0 deletions
@@ -0,0 +1,42 @@
import { mergeAttributes, Node } from "@tiptap/core";
export interface TabLabelOptions {
HTMLAttributes: Record<string, unknown>;
}
export const TabLabel = Node.create<TabLabelOptions>({
name: "tabLabel",
content: "inline*",
defining: true,
selectable: false,
addOptions() {
return {
HTMLAttributes: {},
};
},
parseHTML() {
return [
{
tag: `div[data-type="${this.name}"]`,
},
];
},
renderHTML({ HTMLAttributes }) {
return [
"div",
mergeAttributes(
{
"data-type": this.name,
hidden: "hidden",
"aria-hidden": "true",
},
this.options.HTMLAttributes,
HTMLAttributes,
),
0,
];
},
});