/** * @module Blok/Full * Full bundle with Blok core + all built-in tools. * Use this for batteries-included setup (same as pre-modularization behavior). * * @example * import { Blok, defaultTools, defaultInlineTools } from '@bloklabs/core/full'; * * new Blok({ * holder: 'editor', * tools: defaultTools, * inlineTools: defaultInlineTools, * }); */ // Re-export everything from core // Import tools for defaultTools object import { BoldInlineTool as Bold } from './components/inline-tools/inline-tool-bold'; import { ItalicInlineTool as Italic } from './components/inline-tools/inline-tool-italic'; import { LinkInlineTool as Link } from './components/inline-tools/inline-tool-link'; import { MarkerInlineTool as Marker } from './components/inline-tools/inline-tool-marker'; import { UnderlineInlineTool as Underline } from './components/inline-tools/inline-tool-underline'; import { StrikethroughInlineTool as Strikethrough } from './components/inline-tools/inline-tool-strikethrough'; import { CodeInlineTool as InlineCode } from './components/inline-tools/inline-tool-code'; import { EquationInlineTool as Equation } from './components/inline-tools/inline-tool-equation'; import { ClearFormatInlineTool as ClearFormat } from './components/inline-tools/inline-tool-clear-format'; import { SupSubInlineTool as SupSub } from './components/inline-tools/inline-tool-sup-sub'; import { Header } from './tools/header'; import { ListItem as List } from './tools/list'; import { Paragraph } from './tools/paragraph'; import { Quote } from './tools/quote'; import { CalloutTool as Callout } from './tools/callout'; import { CodeTool as Code } from './tools/code'; import { ToggleItem as Toggle } from './tools/toggle'; export { Blok, version, DATA_ATTR, EMPTY_OUTPUT_DATA, createEmittedEchoWindow, equalsOutputData, isEmptyOutputData, normalizeOutputData, normalizeOutputBlocks, toRenderableData } from './blok'; // types/full.d.ts does `export * from './index'`, so the mutation-type // constants are typed here too and need the matching runtime binding. export { BlockAddedMutationType, BlockRemovedMutationType, BlockMovedMutationType, BlockChangedMutationType, } from './blok'; // Re-export all tools export { Paragraph, Header, List, Toggle, Bold, Italic, Link, Marker, Underline, Strikethrough, InlineCode, Equation, ClearFormat, SupSub, defaultBlockTools, defaultInlineTools, } from './tools'; /** * Default tools configuration matching pre-modularization behavior. * Includes Paragraph, Header, and List with inline toolbar enabled. */ export const defaultTools = { paragraph: { class: Paragraph, inlineToolbar: true, config: { preserveBlank: true }, }, header: { class: Header, inlineToolbar: true, }, list: { class: List, inlineToolbar: true, }, } as const; /** * All built-in tools including inline tools. * For users who want every tool available. * Note: Convert and Delete are internal tools and don't need to be configured. */ export const allTools = { ...defaultTools, quote: { class: Quote, inlineToolbar: true }, callout: { class: Callout, inlineToolbar: true }, code: { class: Code, inlineToolbar: false }, toggle: { class: Toggle, inlineToolbar: true }, bold: { class: Bold }, italic: { class: Italic }, underline: { class: Underline }, strikethrough: { class: Strikethrough }, inlineCode: { class: InlineCode }, equation: { class: Equation }, supSub: { class: SupSub }, link: { class: Link }, marker: { class: Marker }, clearFormat: { class: ClearFormat }, } as const;