diff --git a/demos/src/Experiments/Details/Vue/details-summary.ts b/demos/src/Experiments/Details/Vue/details-summary.ts deleted file mode 100644 index 71819c7a..00000000 --- a/demos/src/Experiments/Details/Vue/details-summary.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { Node } from '@tiptap/core' - -export interface DetailsSummaryOptions { - HTMLAttributes: { - [key: string]: any - }, -} - -export default Node.create({ - name: 'detailsSummary', - - content: 'text*', - - marks: '', - - group: 'block', - - isolating: true, - - addOptions() { - return { - HTMLAttributes: {}, - } - }, - - parseHTML() { - return [{ - tag: 'summary', - }] - }, - - renderHTML() { - return ['summary', 0] - }, -}) diff --git a/demos/src/Experiments/Details/Vue/details.ts b/demos/src/Experiments/Details/Vue/details.ts deleted file mode 100644 index aa67c4c0..00000000 --- a/demos/src/Experiments/Details/Vue/details.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { Node, mergeAttributes } from '@tiptap/core' - -export interface DetailsOptions { - HTMLAttributes: { - [key: string]: any - }, -} - -declare module '@tiptap/core' { - interface Commands { - details: { - /** - * Set a details node - */ - setDetails: () => ReturnType, - /** - * Toggle a details node - */ - toggleDetails: () => ReturnType, - /** - * Unset a details node - */ - unsetDetails: () => ReturnType, - } - } -} - -export default Node.create({ - name: 'details', - - content: 'detailsSummary block+', - - group: 'block', - - // defining: true, - - addOptions() { - return { - HTMLAttributes: {}, - } - }, - - parseHTML() { - return [ - { - tag: 'details', - }, - { - tag: 'div[data-type="details"]', - }, - ] - }, - - renderHTML({ HTMLAttributes }) { - return ['details', mergeAttributes(this.options.HTMLAttributes, HTMLAttributes), 0] - }, - - addNodeView() { - return ({ HTMLAttributes }) => { - const item = document.createElement('div') - - item.setAttribute('data-type', 'details') - - const toggle = document.createElement('div') - - toggle.setAttribute('data-type', 'detailsToggle') - item.append(toggle) - - const content = document.createElement('div') - - content.setAttribute('data-type', 'detailsContent') - item.append(content) - - toggle.addEventListener('click', () => { - if (item.hasAttribute('open')) { - item.removeAttribute('open') - } else { - item.setAttribute('open', 'open') - } - }) - - Object.entries(HTMLAttributes).forEach(([key, value]) => { - item.setAttribute(key, value) - }) - - return { - dom: item, - contentDOM: content, - ignoreMutation: (mutation: MutationRecord) => { - return !item.contains(mutation.target) || item === mutation.target - }, - } - } - }, - - addCommands() { - return { - setDetails: () => ({ commands }) => { - // TODO: Doesn’t work - return commands.wrapIn('details') - }, - toggleDetails: () => ({ commands }) => { - // TODO: Doesn’t work - return commands.toggleWrap('details') - }, - unsetDetails: () => ({ commands }) => { - // TODO: Doesn’t work - return commands.lift('details') - }, - } - }, -}) diff --git a/demos/src/Experiments/Details/Vue/index.html b/demos/src/Experiments/Details/Vue/index.html deleted file mode 100644 index 0b54ad18..00000000 --- a/demos/src/Experiments/Details/Vue/index.html +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - -
- - - diff --git a/demos/src/Experiments/Details/Vue/index.vue b/demos/src/Experiments/Details/Vue/index.vue deleted file mode 100644 index 6e3f8e34..00000000 --- a/demos/src/Experiments/Details/Vue/index.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/docs/experiments.md b/docs/experiments.md index 7de117e3..50d28511 100644 --- a/docs/experiments.md +++ b/docs/experiments.md @@ -9,6 +9,5 @@ Congratulations! You’ve found our playground with a list of experiments. Be aw ## Experimental extensions * [@tiptap/extension-command-menu](/experiments/commands) * [@tiptap/extension-iframe](/experiments/embeds) -* [@tiptap/extension-toggle-list](/experiments/details) * [@tiptap/extension-trailing-node](/experiments/trailing-node) * [@tiptap/extension-figure](/experiments/figure)