import type { Extensions } from '@tiptap/core'
import { Bold } from '@tiptap/extension-bold'
import { BulletList } from '@tiptap/extension-bullet-list'
import { Document } from '@tiptap/extension-document'
import { Heading } from '@tiptap/extension-heading'
import { History } from '@tiptap/extension-history'
import { Italic } from '@tiptap/extension-italic'
import { ListItem } from '@tiptap/extension-list-item'
import { Paragraph } from '@tiptap/extension-paragraph'
import { Text } from '@tiptap/extension-text'
import { TextDirection } from 'tiptap-text-direction'

/** Swappable extension set — replaces the default toolbar extensions when provided. */
export interface EditorExtensionConfig {
  extensions: Extensions
}

/** Production-proven default set (no StarterKit). */
export function createDefaultExtensions(): Extensions {
  return [
    Document,
    Paragraph,
    Text,
    History,
    Bold,
    Italic,
    Heading.configure({ levels: [1, 2] }),
    BulletList,
    ListItem,
    TextDirection.configure({ types: ['heading', 'paragraph'] }),
  ]
}
