@blockslides/extension-kit 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -49,6 +49,7 @@ var import_extension_details2 = require("@blockslides/extension-details");
49
49
  var import_extension_details3 = require("@blockslides/extension-details");
50
50
  var import_extension_file_handler = require("@blockslides/extension-file-handler");
51
51
  var import_extension_font_family = require("@blockslides/extension-font-family");
52
+ var import_extension_text_style = require("@blockslides/extension-text-style");
52
53
  var import_extension_hard_break = require("@blockslides/extension-hard-break");
53
54
  var import_extension_heading = require("@blockslides/extension-heading");
54
55
  var import_extension_highlight = require("@blockslides/extension-highlight");
@@ -70,7 +71,7 @@ var import_extension_table = require("@blockslides/extension-table");
70
71
  var import_extension_table_of_contents = require("@blockslides/extension-table-of-contents");
71
72
  var import_extension_text = require("@blockslides/extension-text");
72
73
  var import_extension_text_align = require("@blockslides/extension-text-align");
73
- var import_extension_text_style = require("@blockslides/extension-text-style");
74
+ var import_extension_text_style2 = require("@blockslides/extension-text-style");
74
75
  var import_extension_typography = require("@blockslides/extension-typography");
75
76
  var import_extension_underline = require("@blockslides/extension-underline");
76
77
  var import_extension_unique_id = require("@blockslides/extension-unique-id");
@@ -81,6 +82,7 @@ var import_extension_column = require("@blockslides/extension-column");
81
82
  var import_extension_select_within_slide = require("@blockslides/extension-select-within-slide");
82
83
  var import_extension_add_slide_button = require("@blockslides/extension-add-slide-button");
83
84
  var import_extension_bubble_menu = require("@blockslides/extension-bubble-menu");
85
+ var import_extension_bubble_menu_preset = require("@blockslides/extension-bubble-menu-preset");
84
86
  var import_extension_floating_menu = require("@blockslides/extension-floating-menu");
85
87
  var import_extensions = require("@blockslides/extensions");
86
88
  var ExtensionKit = import_core.Extension.create({
@@ -124,7 +126,12 @@ var ExtensionKit = import_core.Extension.create({
124
126
  extensions.push(import_extension_superscript.Superscript.configure(this.options.superscript || {}));
125
127
  }
126
128
  if (this.options.textStyle !== false) {
127
- extensions.push(import_extension_text_style.TextStyle.configure(this.options.textStyle || {}));
129
+ extensions.push(import_extension_text_style2.TextStyle.configure(this.options.textStyle || {}));
130
+ }
131
+ if (this.options.backgroundColor !== false) {
132
+ extensions.push(
133
+ import_extension_text_style.BackgroundColor.configure(this.options.backgroundColor || {})
134
+ );
128
135
  }
129
136
  if (this.options.color !== false) {
130
137
  extensions.push(import_extension_color.Color.configure(this.options.color || {}));
@@ -132,6 +139,12 @@ var ExtensionKit = import_core.Extension.create({
132
139
  if (this.options.fontFamily !== false) {
133
140
  extensions.push(import_extension_font_family.FontFamily.configure(this.options.fontFamily || {}));
134
141
  }
142
+ if (this.options.fontSize !== false) {
143
+ extensions.push(import_extension_text_style.FontSize.configure(this.options.fontSize || {}));
144
+ }
145
+ if (this.options.lineHeight !== false) {
146
+ extensions.push(import_extension_text_style.LineHeight.configure(this.options.lineHeight || {}));
147
+ }
135
148
  if (this.options.highlight !== false) {
136
149
  extensions.push(import_extension_highlight.Highlight.configure(this.options.highlight || {}));
137
150
  }
@@ -216,6 +229,11 @@ var ExtensionKit = import_core.Extension.create({
216
229
  if (this.options.placeholder !== false) {
217
230
  extensions.push(import_extension_placeholder.Placeholder.configure(this.options.placeholder || {}));
218
231
  }
232
+ if (this.options.bubbleMenuPreset !== false) {
233
+ extensions.push(
234
+ import_extension_bubble_menu_preset.BubbleMenuPreset.configure(this.options.bubbleMenuPreset || {})
235
+ );
236
+ }
219
237
  if (this.options.bubbleMenu !== false) {
220
238
  extensions.push(import_extension_bubble_menu.BubbleMenu.configure(this.options.bubbleMenu || {}));
221
239
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/extension-kit.ts"],"sourcesContent":["import { ExtensionKit } from \"./extension-kit.js\";\n\nexport { ExtensionKit } from \"./extension-kit.js\";\nexport type { ExtensionKitOptions } from \"./extension-kit.js\";\nexport default ExtensionKit;\n","import { Extension } from \"@blockslides/core\";\n\n// Import all extensions\nimport type { BlockquoteOptions } from \"@blockslides/extension-blockquote\";\nimport { Blockquote } from \"@blockslides/extension-blockquote\";\nimport type { BoldOptions } from \"@blockslides/extension-bold\";\nimport { Bold } from \"@blockslides/extension-bold\";\nimport type { CodeOptions } from \"@blockslides/extension-code\";\nimport { Code } from \"@blockslides/extension-code\";\nimport type { CodeBlockOptions } from \"@blockslides/extension-code-block\";\nimport { CodeBlock } from \"@blockslides/extension-code-block\";\nimport type { ColorOptions } from \"@blockslides/extension-color\";\nimport { Color } from \"@blockslides/extension-color\";\nimport { Document } from \"@blockslides/extension-document\";\nimport AssetDocument from \"@blockslides/extension-asset-document\";\nimport { Details } from \"@blockslides/extension-details\";\nimport { DetailsContent } from \"@blockslides/extension-details\";\nimport { DetailsSummary } from \"@blockslides/extension-details\";\nimport type { FileHandlerOptions } from \"@blockslides/extension-file-handler\";\nimport { FileHandler } from \"@blockslides/extension-file-handler\";\nimport type { FontFamilyOptions } from \"@blockslides/extension-font-family\";\nimport { FontFamily } from \"@blockslides/extension-font-family\";\nimport type { HardBreakOptions } from \"@blockslides/extension-hard-break\";\nimport { HardBreak } from \"@blockslides/extension-hard-break\";\nimport type { HeadingOptions } from \"@blockslides/extension-heading\";\nimport { Heading } from \"@blockslides/extension-heading\";\nimport type { HighlightOptions } from \"@blockslides/extension-highlight\";\nimport { Highlight } from \"@blockslides/extension-highlight\";\nimport type { HorizontalRuleOptions } from \"@blockslides/extension-horizontal-rule\";\nimport { HorizontalRule } from \"@blockslides/extension-horizontal-rule\";\nimport type { ImageOptions } from \"@blockslides/extension-image\";\nimport { Image } from \"@blockslides/extension-image\";\nimport type { ItalicOptions } from \"@blockslides/extension-italic\";\nimport { Italic } from \"@blockslides/extension-italic\";\nimport type { LinkOptions } from \"@blockslides/extension-link\";\nimport { Link } from \"@blockslides/extension-link\";\nimport type {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@blockslides/extension-list\";\nimport type { ImageBlockOptions } from \"@blockslides/extension-image-block\";\nimport { ImageBlock } from \"@blockslides/extension-image-block\";\nimport {\n BulletList,\n ListItem,\n ListKeymap,\n OrderedList,\n} from \"@blockslides/extension-list\";\nimport type { MathematicsOptions } from \"@blockslides/extension-mathematics\";\nimport { Mathematics } from \"@blockslides/extension-mathematics\";\nimport type { MarkdownExtensionOptions } from \"@blockslides/markdown\";\nimport { Markdown } from \"@blockslides/markdown\";\nimport type { NodeRangeOptions } from \"@blockslides/extension-node-range\";\nimport { NodeRange } from \"@blockslides/extension-node-range\";\nimport type { ParagraphOptions } from \"@blockslides/extension-paragraph\";\nimport { Paragraph } from \"@blockslides/extension-paragraph\";\nimport type { PlaceholderOptions } from \"@blockslides/extension-placeholder\";\nimport { Placeholder } from \"@blockslides/extension-placeholder\";\nimport type { StrikeOptions } from \"@blockslides/extension-strike\";\nimport { Strike } from \"@blockslides/extension-strike\";\nimport type { SubscriptExtensionOptions } from \"@blockslides/extension-subscript\";\nimport { Subscript } from \"@blockslides/extension-subscript\";\nimport type { SuperscriptExtensionOptions } from \"@blockslides/extension-superscript\";\nimport { Superscript } from \"@blockslides/extension-superscript\";\nimport type { TableOptions } from \"@blockslides/extension-table\";\nimport {\n Table,\n TableCell,\n TableHeader,\n TableRow,\n} from \"@blockslides/extension-table\";\nimport type { TableOfContentsOptions } from \"@blockslides/extension-table-of-contents\";\nimport { TableOfContents } from \"@blockslides/extension-table-of-contents\";\nimport { Text } from \"@blockslides/extension-text\";\nimport type { TextAlignOptions } from \"@blockslides/extension-text-align\";\nimport { TextAlign } from \"@blockslides/extension-text-align\";\nimport type { TextStyleOptions } from \"@blockslides/extension-text-style\";\nimport { TextStyle } from \"@blockslides/extension-text-style\";\nimport type { TypographyOptions } from \"@blockslides/extension-typography\";\nimport { Typography } from \"@blockslides/extension-typography\";\nimport type { UnderlineOptions } from \"@blockslides/extension-underline\";\nimport { Underline } from \"@blockslides/extension-underline\";\nimport { UniqueID } from \"@blockslides/extension-unique-id\";\nimport type { UniqueIDOptions } from \"@blockslides/extension-unique-id\";\nimport type { YoutubeOptions } from \"@blockslides/extension-youtube\";\nimport { Youtube } from \"@blockslides/extension-youtube\";\nimport { Slide } from \"@blockslides/extension-slide\";\nimport type { SlideOptions } from \"@blockslides/extension-slide\";\nimport { Row } from \"@blockslides/extension-row\";\nimport { Column } from \"@blockslides/extension-column\";\nimport { SelectWithinSlide } from \"@blockslides/extension-select-within-slide\";\nimport type { AddSlideButtonOptions } from \"@blockslides/extension-add-slide-button\";\nimport { AddSlideButton } from \"@blockslides/extension-add-slide-button\";\nimport type { BubbleMenuOptions } from \"@blockslides/extension-bubble-menu\";\nimport { BubbleMenu } from \"@blockslides/extension-bubble-menu\";\nimport type { FloatingMenuOptions } from \"@blockslides/extension-floating-menu\";\nimport { FloatingMenu } from \"@blockslides/extension-floating-menu\";\nimport type {\n DropcursorOptions,\n TrailingNodeOptions,\n UndoRedoOptions,\n} from \"@blockslides/extensions\";\nimport {\n Dropcursor,\n Gapcursor,\n TrailingNode,\n UndoRedo,\n} from \"@blockslides/extensions\";\n\n/**\n * ExtensionKit Options Interface\n *\n * Each extension can be:\n * - undefined (default): Extension will be included with default options\n * - false: Extension will be excluded\n * - Partial<ExtensionOptions>: Extension will be included with custom options\n */\nexport interface ExtensionKitOptions {\n /**\n * Select which top-level document node to use.\n * 'slide' => default slideshow doc (slide+)\n * 'asset' => asset doc (block+)\n * @default 'slide'\n */\n topLevelDoc?: \"slide\" | \"asset\";\n /**\n * Add slide button extension\n * @default {}\n * @example addSlideButton: false\n * @example addSlideButton: { content: '➕', buttonStyle: { width: '64px' } }\n */\n addSlideButton?: Partial<AddSlideButtonOptions> | false;\n\n /**\n * Blockquote extension\n * @default {}\n * @example blockquote: false\n * @example blockquote: { HTMLAttributes: { class: 'my-blockquote' } }\n */\n blockquote?: Partial<BlockquoteOptions> | false;\n\n /**\n * Bold extension\n * @default {}\n * @example bold: false\n * @example bold: { HTMLAttributes: { class: 'font-bold' } }\n */\n bold?: Partial<BoldOptions> | false;\n\n /**\n * Bubble menu extension\n * @default {}\n * @example bubbleMenu: false\n */\n bubbleMenu?: Partial<BubbleMenuOptions> | false;\n\n /**\n * Bullet list extension\n * @default {}\n * @example bulletList: false\n * @example bulletList: { HTMLAttributes: { class: 'list-disc' } }\n */\n bulletList?: Partial<BulletListOptions> | false;\n\n /**\n * Inline code extension\n * @default {}\n * @example code: false\n */\n code?: Partial<CodeOptions> | false;\n\n /**\n * Code block extension\n * @default {}\n * @example codeBlock: false\n * @example codeBlock: { defaultLanguage: 'javascript' }\n */\n codeBlock?: Partial<CodeBlockOptions> | false;\n\n /**\n * Text color extension\n * @default {}\n * @example color: false\n * @example color: { types: ['textStyle'] }\n */\n color?: Partial<ColorOptions> | false;\n\n /**\n * Details/Summary (collapsible) extension\n * @default {}\n * @example details: false\n */\n details?: false;\n\n /**\n * Document extension (root node)\n * @default {}\n * @example document: false\n */\n document?: false;\n\n /**\n * Drop cursor extension\n * @default {}\n * @example dropcursor: false\n * @example dropcursor: { color: '#3b82f6', width: 2 }\n */\n dropcursor?: Partial<DropcursorOptions> | false;\n\n /**\n * File handler extension (drag & drop, paste)\n * @default {}\n * @example fileHandler: false\n */\n fileHandler?: Partial<FileHandlerOptions> | false;\n\n /**\n * Floating menu extension\n * @default {}\n * @example floatingMenu: false\n */\n floatingMenu?: Partial<FloatingMenuOptions> | false;\n\n /**\n * Font family extension\n * @default {}\n * @example fontFamily: false\n * @example fontFamily: { types: ['textStyle'] }\n */\n fontFamily?: Partial<FontFamilyOptions> | false;\n\n /**\n * Gap cursor extension\n * @default {}\n * @example gapcursor: false\n */\n gapcursor?: false;\n\n /**\n * Hard break extension\n * @default {}\n * @example hardBreak: false\n */\n hardBreak?: Partial<HardBreakOptions> | false;\n\n /**\n * Heading extension\n * @default {}\n * @example heading: false\n * @example heading: { levels: [1, 2, 3] }\n */\n heading?: Partial<HeadingOptions> | false;\n\n /**\n * Text highlight extension\n * @default {}\n * @example highlight: false\n * @example highlight: { multicolor: true }\n */\n highlight?: Partial<HighlightOptions> | false;\n\n /**\n * Horizontal rule extension\n * @default {}\n * @example horizontalRule: false\n */\n horizontalRule?: Partial<HorizontalRuleOptions> | false;\n\n /**\n * Image extension\n * @default {}\n * @example image: false\n * @example image: { inline: true, allowBase64: true }\n */\n image?: Partial<ImageOptions> | false;\n\n /**\n * Italic extension\n * @default {}\n * @example italic: false\n */\n italic?: Partial<ItalicOptions> | false;\n\n /**\n * Link extension\n * @default {}\n * @example link: false\n * @example link: { openOnClick: false, linkOnPaste: true }\n */\n link?: Partial<LinkOptions> | false;\n\n /**\n * List item extension\n * @default {}\n * @example listItem: false\n */\n listItem?: Partial<ListItemOptions> | false;\n\n /**\n * List keymap extension\n * @default {}\n * @example listKeymap: false\n */\n listKeymap?: Partial<ListKeymapOptions> | false;\n\n /**\n * Mathematics extension (LaTeX/KaTeX)\n * @default {}\n * @example mathematics: false\n */\n mathematics?: Partial<MathematicsOptions> | false;\n\n /**\n * Image block extension\n * @default {}\n * @example imageBlock: false\n */\n imageBlock?: Partial<ImageBlockOptions> | false;\n\n /**\n * Markdown extension (parse/serialize markdown)\n * @default {}\n * @example markdown: false\n */\n markdown?: Partial<MarkdownExtensionOptions> | false;\n\n /**\n * Node range extension\n * @default {}\n * @example nodeRange: false\n */\n nodeRange?: Partial<NodeRangeOptions> | false;\n\n /**\n * Ordered list extension\n * @default {}\n * @example orderedList: false\n */\n orderedList?: Partial<OrderedListOptions> | false;\n\n /**\n * Paragraph extension\n * @default {}\n * @example paragraph: false\n */\n paragraph?: Partial<ParagraphOptions> | false;\n\n /**\n * Placeholder extension\n * @default {}\n * @example placeholder: false\n * @example placeholder: { placeholder: 'Start typing...' }\n */\n placeholder?: Partial<PlaceholderOptions> | false;\n\n /**\n * Slide extension\n * @default {}\n * @example slide: false\n * @example slide: { renderMode: 'fixed' }\n */\n slide?: Partial<SlideOptions> | false;\n\n /**\n * Select-within-slide keyboard shortcut override\n * @default {}\n * @example selectWithinSlide: false\n */\n selectWithinSlide?: false;\n\n /**\n * Strike-through extension\n * @default {}\n * @example strike: false\n */\n strike?: Partial<StrikeOptions> | false;\n\n /**\n * Subscript extension\n * @default {}\n * @example subscript: false\n */\n subscript?: Partial<SubscriptExtensionOptions> | false;\n\n /**\n * Superscript extension\n * @default {}\n * @example superscript: false\n */\n superscript?: Partial<SuperscriptExtensionOptions> | false;\n\n /**\n * Table extension\n * @default {}\n * @example table: false\n * @example table: { resizable: true, cellMinWidth: 50 }\n */\n table?: Partial<TableOptions> | false;\n\n /**\n * Table of contents extension\n * @default {}\n * @example tableOfContents: false\n */\n tableOfContents?: Partial<TableOfContentsOptions> | false;\n\n /**\n * Text extension (base text node)\n * @default {}\n * @example text: false\n */\n text?: false;\n\n /**\n * Text align extension\n * @default {}\n * @example textAlign: false\n * @example textAlign: { types: ['heading', 'paragraph'], alignments: ['left', 'center', 'right'] }\n */\n textAlign?: Partial<TextAlignOptions> | false;\n\n /**\n * Text style extension\n * @default {}\n * @example textStyle: false\n */\n textStyle?: Partial<TextStyleOptions> | false;\n\n /**\n * Typography extension (smart quotes, dashes, etc.)\n * @default {}\n * @example typography: false\n */\n typography?: Partial<TypographyOptions> | false;\n\n /**\n * Underline extension\n * @default {}\n * @example underline: false\n */\n underline?: Partial<UnderlineOptions> | false;\n\n /**\n * Undo/Redo extension\n * @default {}\n * @example undoRedo: false\n */\n undoRedo?: Partial<UndoRedoOptions> | false;\n\n /**\n * Unique ID extension\n * @default {}\n * @example uniqueId: false\n */\n uniqueId?: Partial<UniqueIDOptions> | false;\n\n /**\n * Trailing node extension\n * @default {}\n * @example trailingNode: false\n */\n trailingNode?: Partial<TrailingNodeOptions> | false;\n\n /**\n * YouTube extension\n * @default {}\n * @example youtube: false\n * @example youtube: { width: 640, height: 480 }\n */\n youtube?: Partial<YoutubeOptions> | false;\n}\n\n/**\n * ExtensionKit - A comprehensive bundle of all available extensions\n *\n * This extension allows you to easily configure which extensions to include\n * in your editor and customize their options.\n *\n * @example\n * ```typescript\n * const editor = useSlideEditor({\n * extensions: [\n * ExtensionKit.configure({\n * document: false,\n * heading: { levels: [1, 2, 3] },\n * link: { openOnClick: false },\n * codeBlock: false,\n * })\n * ]\n * })\n * ```\n */\nexport const ExtensionKit = Extension.create<ExtensionKitOptions>({\n name: \"extensionKit\",\n\n addExtensions() {\n const extensions = [];\n\n // Core extensions\n if (this.options.document !== false) {\n const docType = this.options.topLevelDoc ?? \"slide\";\n if (docType === \"asset\") {\n extensions.push(AssetDocument);\n } else {\n extensions.push(Document.configure({}));\n }\n }\n\n if (this.options.text !== false) {\n extensions.push(Text.configure(this.options.text || {}));\n }\n\n if (this.options.paragraph !== false) {\n extensions.push(Paragraph.configure(this.options.paragraph || {}));\n }\n\n // Text formatting extensions\n if (this.options.bold !== false) {\n extensions.push(Bold.configure(this.options.bold || {}));\n }\n\n if (this.options.italic !== false) {\n extensions.push(Italic.configure(this.options.italic || {}));\n }\n\n if (this.options.underline !== false) {\n extensions.push(Underline.configure(this.options.underline || {}));\n }\n\n if (this.options.strike !== false) {\n extensions.push(Strike.configure(this.options.strike || {}));\n }\n\n if (this.options.code !== false) {\n extensions.push(Code.configure(this.options.code || {}));\n }\n\n if (this.options.subscript !== false) {\n extensions.push(Subscript.configure(this.options.subscript || {}));\n }\n\n if (this.options.superscript !== false) {\n extensions.push(Superscript.configure(this.options.superscript || {}));\n }\n\n // Text style extensions\n if (this.options.textStyle !== false) {\n extensions.push(TextStyle.configure(this.options.textStyle || {}));\n }\n\n if (this.options.color !== false) {\n extensions.push(Color.configure(this.options.color || {}));\n }\n\n if (this.options.fontFamily !== false) {\n extensions.push(FontFamily.configure(this.options.fontFamily || {}));\n }\n\n if (this.options.highlight !== false) {\n extensions.push(Highlight.configure(this.options.highlight || {}));\n }\n\n if (this.options.textAlign !== false) {\n extensions.push(TextAlign.configure(this.options.textAlign || {}));\n }\n\n // Block extensions\n if (this.options.heading !== false) {\n extensions.push(Heading.configure(this.options.heading || {}));\n }\n\n if (this.options.blockquote !== false) {\n extensions.push(Blockquote.configure(this.options.blockquote || {}));\n }\n\n if (this.options.codeBlock !== false) {\n extensions.push(CodeBlock.configure(this.options.codeBlock || {}));\n }\n\n if (this.options.horizontalRule !== false) {\n extensions.push(\n HorizontalRule.configure(this.options.horizontalRule || {})\n );\n }\n\n // List extensions\n if (this.options.bulletList !== false) {\n extensions.push(BulletList.configure(this.options.bulletList || {}));\n }\n\n if (this.options.orderedList !== false) {\n extensions.push(OrderedList.configure(this.options.orderedList || {}));\n }\n\n if (this.options.listItem !== false) {\n extensions.push(ListItem.configure(this.options.listItem || {}));\n }\n\n if (this.options.listKeymap !== false) {\n extensions.push(ListKeymap.configure(this.options.listKeymap || {}));\n }\n\n // Media extensions\n if (this.options.image !== false) {\n extensions.push(Image.configure(this.options.image || {}));\n }\n\n if (this.options.youtube !== false) {\n extensions.push(Youtube.configure(this.options.youtube || {}));\n }\n\n // Interactive extensions\n if (this.options.link !== false) {\n extensions.push(Link.configure(this.options.link || {}));\n }\n\n if (this.options.details !== false) {\n extensions.push(Details.configure(this.options.details || {}));\n extensions.push(DetailsContent.configure({}));\n extensions.push(DetailsSummary.configure({}));\n }\n\n // Table extensions\n if (this.options.table !== false) {\n extensions.push(Table.configure(this.options.table || {}));\n extensions.push(TableRow.configure({}));\n extensions.push(TableHeader.configure({}));\n extensions.push(TableCell.configure({}));\n }\n\n if (this.options.tableOfContents !== false) {\n extensions.push(\n TableOfContents.configure(this.options.tableOfContents || {})\n );\n }\n\n // Special content extensions\n if (this.options.mathematics !== false) {\n extensions.push(Mathematics.configure(this.options.mathematics || {}));\n }\n\n if (this.options.markdown !== false) {\n extensions.push(Markdown.configure(this.options.markdown || {}));\n }\n\n if (this.options.imageBlock !== false) {\n extensions.push(ImageBlock.configure(this.options.imageBlock || {}));\n } \n\n // Editor behavior extensions\n if (this.options.hardBreak !== false) {\n extensions.push(HardBreak.configure(this.options.hardBreak || {}));\n }\n\n if (this.options.dropcursor !== false) {\n extensions.push(Dropcursor.configure(this.options.dropcursor || {}));\n }\n\n if (this.options.gapcursor !== false) {\n extensions.push(Gapcursor.configure(this.options.gapcursor || {}));\n }\n\n if (this.options.undoRedo !== false) {\n extensions.push(UndoRedo.configure(this.options.undoRedo || {}));\n }\n\n if (this.options.trailingNode !== false) {\n extensions.push(TrailingNode.configure(this.options.trailingNode || {}));\n }\n\n // UI extensions\n if (this.options.placeholder !== false) {\n extensions.push(Placeholder.configure(this.options.placeholder || {}));\n }\n\n if (this.options.bubbleMenu !== false) {\n extensions.push(BubbleMenu.configure(this.options.bubbleMenu || {}));\n }\n\n if (this.options.floatingMenu !== false) {\n extensions.push(FloatingMenu.configure(this.options.floatingMenu || {}));\n }\n\n // Utility extensions\n if (this.options.fileHandler !== false) {\n extensions.push(FileHandler.configure(this.options.fileHandler || {}));\n }\n\n if (this.options.nodeRange !== false) {\n extensions.push(NodeRange.configure(this.options.nodeRange || {}));\n }\n\n if (this.options.typography !== false) {\n extensions.push(Typography.configure(this.options.typography || {}));\n }\n\n if (this.options.uniqueId !== false) {\n extensions.push(UniqueID.configure(this.options.uniqueId || {}));\n }\n\n // Slide-specific extensions\n if (this.options.slide !== false) {\n extensions.push(Slide.configure(this.options.slide || {}));\n }\n\n if (this.options.selectWithinSlide !== false) {\n extensions.push(SelectWithinSlide);\n }\n\n extensions.push(Row.configure({}));\n extensions.push(Column.configure({}));\n\n if (this.options.addSlideButton !== false) {\n extensions.push(\n AddSlideButton.configure(this.options.addSlideButton || {})\n );\n }\n\n return extensions;\n },\n});\n"],"mappings":"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","names":["import_extension_details","AssetDocument"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/extension-kit.ts"],"sourcesContent":["import { ExtensionKit } from \"./extension-kit.js\";\n\nexport { ExtensionKit } from \"./extension-kit.js\";\nexport type { ExtensionKitOptions } from \"./extension-kit.js\";\nexport default ExtensionKit;\n","import { Extension } from \"@blockslides/core\";\n\n// Import all extensions\nimport type { BlockquoteOptions } from \"@blockslides/extension-blockquote\";\nimport { Blockquote } from \"@blockslides/extension-blockquote\";\nimport type { BoldOptions } from \"@blockslides/extension-bold\";\nimport { Bold } from \"@blockslides/extension-bold\";\nimport type { CodeOptions } from \"@blockslides/extension-code\";\nimport { Code } from \"@blockslides/extension-code\";\nimport type { CodeBlockOptions } from \"@blockslides/extension-code-block\";\nimport { CodeBlock } from \"@blockslides/extension-code-block\";\nimport type { ColorOptions } from \"@blockslides/extension-color\";\nimport { Color } from \"@blockslides/extension-color\";\nimport { Document } from \"@blockslides/extension-document\";\nimport AssetDocument from \"@blockslides/extension-asset-document\";\nimport { Details } from \"@blockslides/extension-details\";\nimport { DetailsContent } from \"@blockslides/extension-details\";\nimport { DetailsSummary } from \"@blockslides/extension-details\";\nimport type { FileHandlerOptions } from \"@blockslides/extension-file-handler\";\nimport { FileHandler } from \"@blockslides/extension-file-handler\";\nimport type { FontFamilyOptions } from \"@blockslides/extension-font-family\";\nimport { FontFamily } from \"@blockslides/extension-font-family\";\nimport type {\n BackgroundColorOptions,\n FontSizeOptions,\n LineHeightOptions,\n} from \"@blockslides/extension-text-style\";\nimport { BackgroundColor, FontSize, LineHeight } from \"@blockslides/extension-text-style\";\nimport type { HardBreakOptions } from \"@blockslides/extension-hard-break\";\nimport { HardBreak } from \"@blockslides/extension-hard-break\";\nimport type { HeadingOptions } from \"@blockslides/extension-heading\";\nimport { Heading } from \"@blockslides/extension-heading\";\nimport type { HighlightOptions } from \"@blockslides/extension-highlight\";\nimport { Highlight } from \"@blockslides/extension-highlight\";\nimport type { HorizontalRuleOptions } from \"@blockslides/extension-horizontal-rule\";\nimport { HorizontalRule } from \"@blockslides/extension-horizontal-rule\";\nimport type { ImageOptions } from \"@blockslides/extension-image\";\nimport { Image } from \"@blockslides/extension-image\";\nimport type { ItalicOptions } from \"@blockslides/extension-italic\";\nimport { Italic } from \"@blockslides/extension-italic\";\nimport type { LinkOptions } from \"@blockslides/extension-link\";\nimport { Link } from \"@blockslides/extension-link\";\nimport type {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@blockslides/extension-list\";\nimport type { ImageBlockOptions } from \"@blockslides/extension-image-block\";\nimport { ImageBlock } from \"@blockslides/extension-image-block\";\nimport {\n BulletList,\n ListItem,\n ListKeymap,\n OrderedList,\n} from \"@blockslides/extension-list\";\nimport type { MathematicsOptions } from \"@blockslides/extension-mathematics\";\nimport { Mathematics } from \"@blockslides/extension-mathematics\";\nimport type { MarkdownExtensionOptions } from \"@blockslides/markdown\";\nimport { Markdown } from \"@blockslides/markdown\";\nimport type { NodeRangeOptions } from \"@blockslides/extension-node-range\";\nimport { NodeRange } from \"@blockslides/extension-node-range\";\nimport type { ParagraphOptions } from \"@blockslides/extension-paragraph\";\nimport { Paragraph } from \"@blockslides/extension-paragraph\";\nimport type { PlaceholderOptions } from \"@blockslides/extension-placeholder\";\nimport { Placeholder } from \"@blockslides/extension-placeholder\";\nimport type { StrikeOptions } from \"@blockslides/extension-strike\";\nimport { Strike } from \"@blockslides/extension-strike\";\nimport type { SubscriptExtensionOptions } from \"@blockslides/extension-subscript\";\nimport { Subscript } from \"@blockslides/extension-subscript\";\nimport type { SuperscriptExtensionOptions } from \"@blockslides/extension-superscript\";\nimport { Superscript } from \"@blockslides/extension-superscript\";\nimport type { TableOptions } from \"@blockslides/extension-table\";\nimport {\n Table,\n TableCell,\n TableHeader,\n TableRow,\n} from \"@blockslides/extension-table\";\nimport type { TableOfContentsOptions } from \"@blockslides/extension-table-of-contents\";\nimport { TableOfContents } from \"@blockslides/extension-table-of-contents\";\nimport { Text } from \"@blockslides/extension-text\";\nimport type { TextAlignOptions } from \"@blockslides/extension-text-align\";\nimport { TextAlign } from \"@blockslides/extension-text-align\";\nimport type { TextStyleOptions } from \"@blockslides/extension-text-style\";\nimport { TextStyle } from \"@blockslides/extension-text-style\";\nimport type { TypographyOptions } from \"@blockslides/extension-typography\";\nimport { Typography } from \"@blockslides/extension-typography\";\nimport type { UnderlineOptions } from \"@blockslides/extension-underline\";\nimport { Underline } from \"@blockslides/extension-underline\";\nimport { UniqueID } from \"@blockslides/extension-unique-id\";\nimport type { UniqueIDOptions } from \"@blockslides/extension-unique-id\";\nimport type { YoutubeOptions } from \"@blockslides/extension-youtube\";\nimport { Youtube } from \"@blockslides/extension-youtube\";\nimport { Slide } from \"@blockslides/extension-slide\";\nimport type { SlideOptions } from \"@blockslides/extension-slide\";\nimport { Row } from \"@blockslides/extension-row\";\nimport { Column } from \"@blockslides/extension-column\";\nimport { SelectWithinSlide } from \"@blockslides/extension-select-within-slide\";\nimport type { AddSlideButtonOptions } from \"@blockslides/extension-add-slide-button\";\nimport { AddSlideButton } from \"@blockslides/extension-add-slide-button\";\nimport type { BubbleMenuOptions } from \"@blockslides/extension-bubble-menu\";\nimport { BubbleMenu } from \"@blockslides/extension-bubble-menu\";\nimport type { BubbleMenuPresetOptions } from \"@blockslides/extension-bubble-menu-preset\";\nimport { BubbleMenuPreset } from \"@blockslides/extension-bubble-menu-preset\";\nimport type { FloatingMenuOptions } from \"@blockslides/extension-floating-menu\";\nimport { FloatingMenu } from \"@blockslides/extension-floating-menu\";\nimport type {\n DropcursorOptions,\n TrailingNodeOptions,\n UndoRedoOptions,\n} from \"@blockslides/extensions\";\nimport {\n Dropcursor,\n Gapcursor,\n TrailingNode,\n UndoRedo,\n} from \"@blockslides/extensions\";\n\n/**\n * ExtensionKit Options Interface\n *\n * Each extension can be:\n * - undefined (default): Extension will be included with default options\n * - false: Extension will be excluded\n * - Partial<ExtensionOptions>: Extension will be included with custom options\n */\nexport interface ExtensionKitOptions {\n /**\n * Select which top-level document node to use.\n * 'slide' => default slideshow doc (slide+)\n * 'asset' => asset doc (block+)\n * @default 'slide'\n */\n topLevelDoc?: \"slide\" | \"asset\";\n /**\n * Add slide button extension\n * @default {}\n * @example addSlideButton: false\n * @example addSlideButton: { content: '➕', buttonStyle: { width: '64px' } }\n */\n addSlideButton?: Partial<AddSlideButtonOptions> | false;\n\n /**\n * Blockquote extension\n * @default {}\n * @example blockquote: false\n * @example blockquote: { HTMLAttributes: { class: 'my-blockquote' } }\n */\n blockquote?: Partial<BlockquoteOptions> | false;\n\n /**\n * Bold extension\n * @default {}\n * @example bold: false\n * @example bold: { HTMLAttributes: { class: 'font-bold' } }\n */\n bold?: Partial<BoldOptions> | false;\n\n /**\n * Bubble menu extension\n * @default {}\n * @example bubbleMenu: false\n */\n bubbleMenu?: Partial<BubbleMenuOptions> | false;\n\n /**\n * Bubble menu preset (text+image dual-mode toolbar)\n * @default {}\n * @example bubbleMenuPreset: false\n * @example bubbleMenuPreset: { items: ['bold', 'italic'] }\n */\n bubbleMenuPreset?: Partial<BubbleMenuPresetOptions> | false;\n\n /**\n * Bullet list extension\n * @default {}\n * @example bulletList: false\n * @example bulletList: { HTMLAttributes: { class: 'list-disc' } }\n */\n bulletList?: Partial<BulletListOptions> | false;\n\n /**\n * Inline code extension\n * @default {}\n * @example code: false\n */\n code?: Partial<CodeOptions> | false;\n\n /**\n * Code block extension\n * @default {}\n * @example codeBlock: false\n * @example codeBlock: { defaultLanguage: 'javascript' }\n */\n codeBlock?: Partial<CodeBlockOptions> | false;\n\n /**\n * Text color extension\n * @default {}\n * @example color: false\n * @example color: { types: ['textStyle'] }\n */\n color?: Partial<ColorOptions> | false;\n\n /**\n * Background color extension\n * @default {}\n * @example backgroundColor: false\n */\n backgroundColor?: Partial<BackgroundColorOptions> | false;\n\n /**\n * Details/Summary (collapsible) extension\n * @default {}\n * @example details: false\n */\n details?: false;\n\n /**\n * Document extension (root node)\n * @default {}\n * @example document: false\n */\n document?: false;\n\n /**\n * Drop cursor extension\n * @default {}\n * @example dropcursor: false\n * @example dropcursor: { color: '#3b82f6', width: 2 }\n */\n dropcursor?: Partial<DropcursorOptions> | false;\n\n /**\n * File handler extension (drag & drop, paste)\n * @default {}\n * @example fileHandler: false\n */\n fileHandler?: Partial<FileHandlerOptions> | false;\n\n /**\n * Floating menu extension\n * @default {}\n * @example floatingMenu: false\n */\n floatingMenu?: Partial<FloatingMenuOptions> | false;\n\n /**\n * Font family extension\n * @default {}\n * @example fontFamily: false\n * @example fontFamily: { types: ['textStyle'] }\n */\n fontFamily?: Partial<FontFamilyOptions> | false;\n\n /**\n * Font size extension\n * @default {}\n * @example fontSize: false\n */\n fontSize?: Partial<FontSizeOptions> | false;\n\n /**\n * Line height extension\n * @default {}\n * @example lineHeight: false\n */\n lineHeight?: Partial<LineHeightOptions> | false;\n\n /**\n * Gap cursor extension\n * @default {}\n * @example gapcursor: false\n */\n gapcursor?: false;\n\n /**\n * Hard break extension\n * @default {}\n * @example hardBreak: false\n */\n hardBreak?: Partial<HardBreakOptions> | false;\n\n /**\n * Heading extension\n * @default {}\n * @example heading: false\n * @example heading: { levels: [1, 2, 3] }\n */\n heading?: Partial<HeadingOptions> | false;\n\n /**\n * Text highlight extension\n * @default {}\n * @example highlight: false\n * @example highlight: { multicolor: true }\n */\n highlight?: Partial<HighlightOptions> | false;\n\n /**\n * Horizontal rule extension\n * @default {}\n * @example horizontalRule: false\n */\n horizontalRule?: Partial<HorizontalRuleOptions> | false;\n\n /**\n * Image extension\n * @default {}\n * @example image: false\n * @example image: { inline: true, allowBase64: true }\n */\n image?: Partial<ImageOptions> | false;\n\n /**\n * Italic extension\n * @default {}\n * @example italic: false\n */\n italic?: Partial<ItalicOptions> | false;\n\n /**\n * Link extension\n * @default {}\n * @example link: false\n * @example link: { openOnClick: false, linkOnPaste: true }\n */\n link?: Partial<LinkOptions> | false;\n\n /**\n * List item extension\n * @default {}\n * @example listItem: false\n */\n listItem?: Partial<ListItemOptions> | false;\n\n /**\n * List keymap extension\n * @default {}\n * @example listKeymap: false\n */\n listKeymap?: Partial<ListKeymapOptions> | false;\n\n /**\n * Mathematics extension (LaTeX/KaTeX)\n * @default {}\n * @example mathematics: false\n */\n mathematics?: Partial<MathematicsOptions> | false;\n\n /**\n * Image block extension\n * @default {}\n * @example imageBlock: false\n */\n imageBlock?: Partial<ImageBlockOptions> | false;\n\n /**\n * Markdown extension (parse/serialize markdown)\n * @default {}\n * @example markdown: false\n */\n markdown?: Partial<MarkdownExtensionOptions> | false;\n\n /**\n * Node range extension\n * @default {}\n * @example nodeRange: false\n */\n nodeRange?: Partial<NodeRangeOptions> | false;\n\n /**\n * Ordered list extension\n * @default {}\n * @example orderedList: false\n */\n orderedList?: Partial<OrderedListOptions> | false;\n\n /**\n * Paragraph extension\n * @default {}\n * @example paragraph: false\n */\n paragraph?: Partial<ParagraphOptions> | false;\n\n /**\n * Placeholder extension\n * @default {}\n * @example placeholder: false\n * @example placeholder: { placeholder: 'Start typing...' }\n */\n placeholder?: Partial<PlaceholderOptions> | false;\n\n /**\n * Slide extension\n * @default {}\n * @example slide: false\n * @example slide: { renderMode: 'fixed' }\n */\n slide?: Partial<SlideOptions> | false;\n\n /**\n * Select-within-slide keyboard shortcut override\n * @default {}\n * @example selectWithinSlide: false\n */\n selectWithinSlide?: false;\n\n /**\n * Strike-through extension\n * @default {}\n * @example strike: false\n */\n strike?: Partial<StrikeOptions> | false;\n\n /**\n * Subscript extension\n * @default {}\n * @example subscript: false\n */\n subscript?: Partial<SubscriptExtensionOptions> | false;\n\n /**\n * Superscript extension\n * @default {}\n * @example superscript: false\n */\n superscript?: Partial<SuperscriptExtensionOptions> | false;\n\n /**\n * Table extension\n * @default {}\n * @example table: false\n * @example table: { resizable: true, cellMinWidth: 50 }\n */\n table?: Partial<TableOptions> | false;\n\n /**\n * Table of contents extension\n * @default {}\n * @example tableOfContents: false\n */\n tableOfContents?: Partial<TableOfContentsOptions> | false;\n\n /**\n * Text extension (base text node)\n * @default {}\n * @example text: false\n */\n text?: false;\n\n /**\n * Text align extension\n * @default {}\n * @example textAlign: false\n * @example textAlign: { types: ['heading', 'paragraph'], alignments: ['left', 'center', 'right'] }\n */\n textAlign?: Partial<TextAlignOptions> | false;\n\n /**\n * Text style extension\n * @default {}\n * @example textStyle: false\n */\n textStyle?: Partial<TextStyleOptions> | false;\n\n /**\n * Typography extension (smart quotes, dashes, etc.)\n * @default {}\n * @example typography: false\n */\n typography?: Partial<TypographyOptions> | false;\n\n /**\n * Underline extension\n * @default {}\n * @example underline: false\n */\n underline?: Partial<UnderlineOptions> | false;\n\n /**\n * Undo/Redo extension\n * @default {}\n * @example undoRedo: false\n */\n undoRedo?: Partial<UndoRedoOptions> | false;\n\n /**\n * Unique ID extension\n * @default {}\n * @example uniqueId: false\n */\n uniqueId?: Partial<UniqueIDOptions> | false;\n\n /**\n * Trailing node extension\n * @default {}\n * @example trailingNode: false\n */\n trailingNode?: Partial<TrailingNodeOptions> | false;\n\n /**\n * YouTube extension\n * @default {}\n * @example youtube: false\n * @example youtube: { width: 640, height: 480 }\n */\n youtube?: Partial<YoutubeOptions> | false;\n}\n\n/**\n * ExtensionKit - A comprehensive bundle of all available extensions\n *\n * This extension allows you to easily configure which extensions to include\n * in your editor and customize their options.\n *\n * @example\n * ```typescript\n * const editor = useSlideEditor({\n * extensions: [\n * ExtensionKit.configure({\n * document: false,\n * heading: { levels: [1, 2, 3] },\n * link: { openOnClick: false },\n * codeBlock: false,\n * })\n * ]\n * })\n * ```\n */\nexport const ExtensionKit = Extension.create<ExtensionKitOptions>({\n name: \"extensionKit\",\n\n addExtensions() {\n const extensions = [];\n\n // Core extensions\n if (this.options.document !== false) {\n const docType = this.options.topLevelDoc ?? \"slide\";\n if (docType === \"asset\") {\n extensions.push(AssetDocument);\n } else {\n extensions.push(Document.configure({}));\n }\n }\n\n if (this.options.text !== false) {\n extensions.push(Text.configure(this.options.text || {}));\n }\n\n if (this.options.paragraph !== false) {\n extensions.push(Paragraph.configure(this.options.paragraph || {}));\n }\n\n // Text formatting extensions\n if (this.options.bold !== false) {\n extensions.push(Bold.configure(this.options.bold || {}));\n }\n\n if (this.options.italic !== false) {\n extensions.push(Italic.configure(this.options.italic || {}));\n }\n\n if (this.options.underline !== false) {\n extensions.push(Underline.configure(this.options.underline || {}));\n }\n\n if (this.options.strike !== false) {\n extensions.push(Strike.configure(this.options.strike || {}));\n }\n\n if (this.options.code !== false) {\n extensions.push(Code.configure(this.options.code || {}));\n }\n\n if (this.options.subscript !== false) {\n extensions.push(Subscript.configure(this.options.subscript || {}));\n }\n\n if (this.options.superscript !== false) {\n extensions.push(Superscript.configure(this.options.superscript || {}));\n }\n\n // Text style extensions\n if (this.options.textStyle !== false) {\n extensions.push(TextStyle.configure(this.options.textStyle || {}));\n }\n\n if (this.options.backgroundColor !== false) {\n extensions.push(\n BackgroundColor.configure(this.options.backgroundColor || {})\n );\n }\n\n if (this.options.color !== false) {\n extensions.push(Color.configure(this.options.color || {}));\n }\n\n if (this.options.fontFamily !== false) {\n extensions.push(FontFamily.configure(this.options.fontFamily || {}));\n }\n\n if (this.options.fontSize !== false) {\n extensions.push(FontSize.configure(this.options.fontSize || {}));\n }\n\n if (this.options.lineHeight !== false) {\n extensions.push(LineHeight.configure(this.options.lineHeight || {}));\n }\n\n if (this.options.highlight !== false) {\n extensions.push(Highlight.configure(this.options.highlight || {}));\n }\n\n if (this.options.textAlign !== false) {\n extensions.push(TextAlign.configure(this.options.textAlign || {}));\n }\n\n // Block extensions\n if (this.options.heading !== false) {\n extensions.push(Heading.configure(this.options.heading || {}));\n }\n\n if (this.options.blockquote !== false) {\n extensions.push(Blockquote.configure(this.options.blockquote || {}));\n }\n\n if (this.options.codeBlock !== false) {\n extensions.push(CodeBlock.configure(this.options.codeBlock || {}));\n }\n\n if (this.options.horizontalRule !== false) {\n extensions.push(\n HorizontalRule.configure(this.options.horizontalRule || {})\n );\n }\n\n // List extensions\n if (this.options.bulletList !== false) {\n extensions.push(BulletList.configure(this.options.bulletList || {}));\n }\n\n if (this.options.orderedList !== false) {\n extensions.push(OrderedList.configure(this.options.orderedList || {}));\n }\n\n if (this.options.listItem !== false) {\n extensions.push(ListItem.configure(this.options.listItem || {}));\n }\n\n if (this.options.listKeymap !== false) {\n extensions.push(ListKeymap.configure(this.options.listKeymap || {}));\n }\n\n // Media extensions\n if (this.options.image !== false) {\n extensions.push(Image.configure(this.options.image || {}));\n }\n\n if (this.options.youtube !== false) {\n extensions.push(Youtube.configure(this.options.youtube || {}));\n }\n\n // Interactive extensions\n if (this.options.link !== false) {\n extensions.push(Link.configure(this.options.link || {}));\n }\n\n if (this.options.details !== false) {\n extensions.push(Details.configure(this.options.details || {}));\n extensions.push(DetailsContent.configure({}));\n extensions.push(DetailsSummary.configure({}));\n }\n\n // Table extensions\n if (this.options.table !== false) {\n extensions.push(Table.configure(this.options.table || {}));\n extensions.push(TableRow.configure({}));\n extensions.push(TableHeader.configure({}));\n extensions.push(TableCell.configure({}));\n }\n\n if (this.options.tableOfContents !== false) {\n extensions.push(\n TableOfContents.configure(this.options.tableOfContents || {})\n );\n }\n\n // Special content extensions\n if (this.options.mathematics !== false) {\n extensions.push(Mathematics.configure(this.options.mathematics || {}));\n }\n\n if (this.options.markdown !== false) {\n extensions.push(Markdown.configure(this.options.markdown || {}));\n }\n\n if (this.options.imageBlock !== false) {\n extensions.push(ImageBlock.configure(this.options.imageBlock || {}));\n } \n\n // Editor behavior extensions\n if (this.options.hardBreak !== false) {\n extensions.push(HardBreak.configure(this.options.hardBreak || {}));\n }\n\n if (this.options.dropcursor !== false) {\n extensions.push(Dropcursor.configure(this.options.dropcursor || {}));\n }\n\n if (this.options.gapcursor !== false) {\n extensions.push(Gapcursor.configure(this.options.gapcursor || {}));\n }\n\n if (this.options.undoRedo !== false) {\n extensions.push(UndoRedo.configure(this.options.undoRedo || {}));\n }\n\n if (this.options.trailingNode !== false) {\n extensions.push(TrailingNode.configure(this.options.trailingNode || {}));\n }\n\n // UI extensions\n if (this.options.placeholder !== false) {\n extensions.push(Placeholder.configure(this.options.placeholder || {}));\n }\n\n if (this.options.bubbleMenuPreset !== false) {\n extensions.push(\n BubbleMenuPreset.configure(this.options.bubbleMenuPreset || {})\n );\n }\n\n if (this.options.bubbleMenu !== false) {\n extensions.push(BubbleMenu.configure(this.options.bubbleMenu || {}));\n }\n\n if (this.options.floatingMenu !== false) {\n extensions.push(FloatingMenu.configure(this.options.floatingMenu || {}));\n }\n\n // Utility extensions\n if (this.options.fileHandler !== false) {\n extensions.push(FileHandler.configure(this.options.fileHandler || {}));\n }\n\n if (this.options.nodeRange !== false) {\n extensions.push(NodeRange.configure(this.options.nodeRange || {}));\n }\n\n if (this.options.typography !== false) {\n extensions.push(Typography.configure(this.options.typography || {}));\n }\n\n if (this.options.uniqueId !== false) {\n extensions.push(UniqueID.configure(this.options.uniqueId || {}));\n }\n\n // Slide-specific extensions\n if (this.options.slide !== false) {\n extensions.push(Slide.configure(this.options.slide || {}));\n }\n\n if (this.options.selectWithinSlide !== false) {\n extensions.push(SelectWithinSlide);\n }\n\n extensions.push(Row.configure({}));\n extensions.push(Column.configure({}));\n\n if (this.options.addSlideButton !== false) {\n extensions.push(\n AddSlideButton.configure(this.options.addSlideButton || {})\n );\n }\n\n return extensions;\n },\n});\n"],"mappings":"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","names":["import_extension_details","import_extension_text_style","AssetDocument"]}
package/dist/index.d.cts CHANGED
@@ -6,6 +6,7 @@ import { CodeBlockOptions } from '@blockslides/extension-code-block';
6
6
  import { ColorOptions } from '@blockslides/extension-color';
7
7
  import { FileHandlerOptions } from '@blockslides/extension-file-handler';
8
8
  import { FontFamilyOptions } from '@blockslides/extension-font-family';
9
+ import { BackgroundColorOptions, FontSizeOptions, LineHeightOptions, TextStyleOptions } from '@blockslides/extension-text-style';
9
10
  import { HardBreakOptions } from '@blockslides/extension-hard-break';
10
11
  import { HeadingOptions } from '@blockslides/extension-heading';
11
12
  import { HighlightOptions } from '@blockslides/extension-highlight';
@@ -26,7 +27,6 @@ import { SuperscriptExtensionOptions } from '@blockslides/extension-superscript'
26
27
  import { TableOptions } from '@blockslides/extension-table';
27
28
  import { TableOfContentsOptions } from '@blockslides/extension-table-of-contents';
28
29
  import { TextAlignOptions } from '@blockslides/extension-text-align';
29
- import { TextStyleOptions } from '@blockslides/extension-text-style';
30
30
  import { TypographyOptions } from '@blockslides/extension-typography';
31
31
  import { UnderlineOptions } from '@blockslides/extension-underline';
32
32
  import { UniqueIDOptions } from '@blockslides/extension-unique-id';
@@ -34,6 +34,7 @@ import { YoutubeOptions } from '@blockslides/extension-youtube';
34
34
  import { SlideOptions } from '@blockslides/extension-slide';
35
35
  import { AddSlideButtonOptions } from '@blockslides/extension-add-slide-button';
36
36
  import { BubbleMenuOptions } from '@blockslides/extension-bubble-menu';
37
+ import { BubbleMenuPresetOptions } from '@blockslides/extension-bubble-menu-preset';
37
38
  import { FloatingMenuOptions } from '@blockslides/extension-floating-menu';
38
39
  import { DropcursorOptions, UndoRedoOptions, TrailingNodeOptions } from '@blockslides/extensions';
39
40
 
@@ -80,6 +81,13 @@ interface ExtensionKitOptions {
80
81
  * @example bubbleMenu: false
81
82
  */
82
83
  bubbleMenu?: Partial<BubbleMenuOptions> | false;
84
+ /**
85
+ * Bubble menu preset (text+image dual-mode toolbar)
86
+ * @default {}
87
+ * @example bubbleMenuPreset: false
88
+ * @example bubbleMenuPreset: { items: ['bold', 'italic'] }
89
+ */
90
+ bubbleMenuPreset?: Partial<BubbleMenuPresetOptions> | false;
83
91
  /**
84
92
  * Bullet list extension
85
93
  * @default {}
@@ -107,6 +115,12 @@ interface ExtensionKitOptions {
107
115
  * @example color: { types: ['textStyle'] }
108
116
  */
109
117
  color?: Partial<ColorOptions> | false;
118
+ /**
119
+ * Background color extension
120
+ * @default {}
121
+ * @example backgroundColor: false
122
+ */
123
+ backgroundColor?: Partial<BackgroundColorOptions> | false;
110
124
  /**
111
125
  * Details/Summary (collapsible) extension
112
126
  * @default {}
@@ -145,6 +159,18 @@ interface ExtensionKitOptions {
145
159
  * @example fontFamily: { types: ['textStyle'] }
146
160
  */
147
161
  fontFamily?: Partial<FontFamilyOptions> | false;
162
+ /**
163
+ * Font size extension
164
+ * @default {}
165
+ * @example fontSize: false
166
+ */
167
+ fontSize?: Partial<FontSizeOptions> | false;
168
+ /**
169
+ * Line height extension
170
+ * @default {}
171
+ * @example lineHeight: false
172
+ */
173
+ lineHeight?: Partial<LineHeightOptions> | false;
148
174
  /**
149
175
  * Gap cursor extension
150
176
  * @default {}
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import { CodeBlockOptions } from '@blockslides/extension-code-block';
6
6
  import { ColorOptions } from '@blockslides/extension-color';
7
7
  import { FileHandlerOptions } from '@blockslides/extension-file-handler';
8
8
  import { FontFamilyOptions } from '@blockslides/extension-font-family';
9
+ import { BackgroundColorOptions, FontSizeOptions, LineHeightOptions, TextStyleOptions } from '@blockslides/extension-text-style';
9
10
  import { HardBreakOptions } from '@blockslides/extension-hard-break';
10
11
  import { HeadingOptions } from '@blockslides/extension-heading';
11
12
  import { HighlightOptions } from '@blockslides/extension-highlight';
@@ -26,7 +27,6 @@ import { SuperscriptExtensionOptions } from '@blockslides/extension-superscript'
26
27
  import { TableOptions } from '@blockslides/extension-table';
27
28
  import { TableOfContentsOptions } from '@blockslides/extension-table-of-contents';
28
29
  import { TextAlignOptions } from '@blockslides/extension-text-align';
29
- import { TextStyleOptions } from '@blockslides/extension-text-style';
30
30
  import { TypographyOptions } from '@blockslides/extension-typography';
31
31
  import { UnderlineOptions } from '@blockslides/extension-underline';
32
32
  import { UniqueIDOptions } from '@blockslides/extension-unique-id';
@@ -34,6 +34,7 @@ import { YoutubeOptions } from '@blockslides/extension-youtube';
34
34
  import { SlideOptions } from '@blockslides/extension-slide';
35
35
  import { AddSlideButtonOptions } from '@blockslides/extension-add-slide-button';
36
36
  import { BubbleMenuOptions } from '@blockslides/extension-bubble-menu';
37
+ import { BubbleMenuPresetOptions } from '@blockslides/extension-bubble-menu-preset';
37
38
  import { FloatingMenuOptions } from '@blockslides/extension-floating-menu';
38
39
  import { DropcursorOptions, UndoRedoOptions, TrailingNodeOptions } from '@blockslides/extensions';
39
40
 
@@ -80,6 +81,13 @@ interface ExtensionKitOptions {
80
81
  * @example bubbleMenu: false
81
82
  */
82
83
  bubbleMenu?: Partial<BubbleMenuOptions> | false;
84
+ /**
85
+ * Bubble menu preset (text+image dual-mode toolbar)
86
+ * @default {}
87
+ * @example bubbleMenuPreset: false
88
+ * @example bubbleMenuPreset: { items: ['bold', 'italic'] }
89
+ */
90
+ bubbleMenuPreset?: Partial<BubbleMenuPresetOptions> | false;
83
91
  /**
84
92
  * Bullet list extension
85
93
  * @default {}
@@ -107,6 +115,12 @@ interface ExtensionKitOptions {
107
115
  * @example color: { types: ['textStyle'] }
108
116
  */
109
117
  color?: Partial<ColorOptions> | false;
118
+ /**
119
+ * Background color extension
120
+ * @default {}
121
+ * @example backgroundColor: false
122
+ */
123
+ backgroundColor?: Partial<BackgroundColorOptions> | false;
110
124
  /**
111
125
  * Details/Summary (collapsible) extension
112
126
  * @default {}
@@ -145,6 +159,18 @@ interface ExtensionKitOptions {
145
159
  * @example fontFamily: { types: ['textStyle'] }
146
160
  */
147
161
  fontFamily?: Partial<FontFamilyOptions> | false;
162
+ /**
163
+ * Font size extension
164
+ * @default {}
165
+ * @example fontSize: false
166
+ */
167
+ fontSize?: Partial<FontSizeOptions> | false;
168
+ /**
169
+ * Line height extension
170
+ * @default {}
171
+ * @example lineHeight: false
172
+ */
173
+ lineHeight?: Partial<LineHeightOptions> | false;
148
174
  /**
149
175
  * Gap cursor extension
150
176
  * @default {}
package/dist/index.js CHANGED
@@ -12,6 +12,7 @@ import { DetailsContent } from "@blockslides/extension-details";
12
12
  import { DetailsSummary } from "@blockslides/extension-details";
13
13
  import { FileHandler } from "@blockslides/extension-file-handler";
14
14
  import { FontFamily } from "@blockslides/extension-font-family";
15
+ import { BackgroundColor, FontSize, LineHeight } from "@blockslides/extension-text-style";
15
16
  import { HardBreak } from "@blockslides/extension-hard-break";
16
17
  import { Heading } from "@blockslides/extension-heading";
17
18
  import { Highlight } from "@blockslides/extension-highlight";
@@ -54,6 +55,7 @@ import { Column } from "@blockslides/extension-column";
54
55
  import { SelectWithinSlide } from "@blockslides/extension-select-within-slide";
55
56
  import { AddSlideButton } from "@blockslides/extension-add-slide-button";
56
57
  import { BubbleMenu } from "@blockslides/extension-bubble-menu";
58
+ import { BubbleMenuPreset } from "@blockslides/extension-bubble-menu-preset";
57
59
  import { FloatingMenu } from "@blockslides/extension-floating-menu";
58
60
  import {
59
61
  Dropcursor,
@@ -104,12 +106,23 @@ var ExtensionKit = Extension.create({
104
106
  if (this.options.textStyle !== false) {
105
107
  extensions.push(TextStyle.configure(this.options.textStyle || {}));
106
108
  }
109
+ if (this.options.backgroundColor !== false) {
110
+ extensions.push(
111
+ BackgroundColor.configure(this.options.backgroundColor || {})
112
+ );
113
+ }
107
114
  if (this.options.color !== false) {
108
115
  extensions.push(Color.configure(this.options.color || {}));
109
116
  }
110
117
  if (this.options.fontFamily !== false) {
111
118
  extensions.push(FontFamily.configure(this.options.fontFamily || {}));
112
119
  }
120
+ if (this.options.fontSize !== false) {
121
+ extensions.push(FontSize.configure(this.options.fontSize || {}));
122
+ }
123
+ if (this.options.lineHeight !== false) {
124
+ extensions.push(LineHeight.configure(this.options.lineHeight || {}));
125
+ }
113
126
  if (this.options.highlight !== false) {
114
127
  extensions.push(Highlight.configure(this.options.highlight || {}));
115
128
  }
@@ -194,6 +207,11 @@ var ExtensionKit = Extension.create({
194
207
  if (this.options.placeholder !== false) {
195
208
  extensions.push(Placeholder.configure(this.options.placeholder || {}));
196
209
  }
210
+ if (this.options.bubbleMenuPreset !== false) {
211
+ extensions.push(
212
+ BubbleMenuPreset.configure(this.options.bubbleMenuPreset || {})
213
+ );
214
+ }
197
215
  if (this.options.bubbleMenu !== false) {
198
216
  extensions.push(BubbleMenu.configure(this.options.bubbleMenu || {}));
199
217
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/extension-kit.ts","../src/index.ts"],"sourcesContent":["import { Extension } from \"@blockslides/core\";\n\n// Import all extensions\nimport type { BlockquoteOptions } from \"@blockslides/extension-blockquote\";\nimport { Blockquote } from \"@blockslides/extension-blockquote\";\nimport type { BoldOptions } from \"@blockslides/extension-bold\";\nimport { Bold } from \"@blockslides/extension-bold\";\nimport type { CodeOptions } from \"@blockslides/extension-code\";\nimport { Code } from \"@blockslides/extension-code\";\nimport type { CodeBlockOptions } from \"@blockslides/extension-code-block\";\nimport { CodeBlock } from \"@blockslides/extension-code-block\";\nimport type { ColorOptions } from \"@blockslides/extension-color\";\nimport { Color } from \"@blockslides/extension-color\";\nimport { Document } from \"@blockslides/extension-document\";\nimport AssetDocument from \"@blockslides/extension-asset-document\";\nimport { Details } from \"@blockslides/extension-details\";\nimport { DetailsContent } from \"@blockslides/extension-details\";\nimport { DetailsSummary } from \"@blockslides/extension-details\";\nimport type { FileHandlerOptions } from \"@blockslides/extension-file-handler\";\nimport { FileHandler } from \"@blockslides/extension-file-handler\";\nimport type { FontFamilyOptions } from \"@blockslides/extension-font-family\";\nimport { FontFamily } from \"@blockslides/extension-font-family\";\nimport type { HardBreakOptions } from \"@blockslides/extension-hard-break\";\nimport { HardBreak } from \"@blockslides/extension-hard-break\";\nimport type { HeadingOptions } from \"@blockslides/extension-heading\";\nimport { Heading } from \"@blockslides/extension-heading\";\nimport type { HighlightOptions } from \"@blockslides/extension-highlight\";\nimport { Highlight } from \"@blockslides/extension-highlight\";\nimport type { HorizontalRuleOptions } from \"@blockslides/extension-horizontal-rule\";\nimport { HorizontalRule } from \"@blockslides/extension-horizontal-rule\";\nimport type { ImageOptions } from \"@blockslides/extension-image\";\nimport { Image } from \"@blockslides/extension-image\";\nimport type { ItalicOptions } from \"@blockslides/extension-italic\";\nimport { Italic } from \"@blockslides/extension-italic\";\nimport type { LinkOptions } from \"@blockslides/extension-link\";\nimport { Link } from \"@blockslides/extension-link\";\nimport type {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@blockslides/extension-list\";\nimport type { ImageBlockOptions } from \"@blockslides/extension-image-block\";\nimport { ImageBlock } from \"@blockslides/extension-image-block\";\nimport {\n BulletList,\n ListItem,\n ListKeymap,\n OrderedList,\n} from \"@blockslides/extension-list\";\nimport type { MathematicsOptions } from \"@blockslides/extension-mathematics\";\nimport { Mathematics } from \"@blockslides/extension-mathematics\";\nimport type { MarkdownExtensionOptions } from \"@blockslides/markdown\";\nimport { Markdown } from \"@blockslides/markdown\";\nimport type { NodeRangeOptions } from \"@blockslides/extension-node-range\";\nimport { NodeRange } from \"@blockslides/extension-node-range\";\nimport type { ParagraphOptions } from \"@blockslides/extension-paragraph\";\nimport { Paragraph } from \"@blockslides/extension-paragraph\";\nimport type { PlaceholderOptions } from \"@blockslides/extension-placeholder\";\nimport { Placeholder } from \"@blockslides/extension-placeholder\";\nimport type { StrikeOptions } from \"@blockslides/extension-strike\";\nimport { Strike } from \"@blockslides/extension-strike\";\nimport type { SubscriptExtensionOptions } from \"@blockslides/extension-subscript\";\nimport { Subscript } from \"@blockslides/extension-subscript\";\nimport type { SuperscriptExtensionOptions } from \"@blockslides/extension-superscript\";\nimport { Superscript } from \"@blockslides/extension-superscript\";\nimport type { TableOptions } from \"@blockslides/extension-table\";\nimport {\n Table,\n TableCell,\n TableHeader,\n TableRow,\n} from \"@blockslides/extension-table\";\nimport type { TableOfContentsOptions } from \"@blockslides/extension-table-of-contents\";\nimport { TableOfContents } from \"@blockslides/extension-table-of-contents\";\nimport { Text } from \"@blockslides/extension-text\";\nimport type { TextAlignOptions } from \"@blockslides/extension-text-align\";\nimport { TextAlign } from \"@blockslides/extension-text-align\";\nimport type { TextStyleOptions } from \"@blockslides/extension-text-style\";\nimport { TextStyle } from \"@blockslides/extension-text-style\";\nimport type { TypographyOptions } from \"@blockslides/extension-typography\";\nimport { Typography } from \"@blockslides/extension-typography\";\nimport type { UnderlineOptions } from \"@blockslides/extension-underline\";\nimport { Underline } from \"@blockslides/extension-underline\";\nimport { UniqueID } from \"@blockslides/extension-unique-id\";\nimport type { UniqueIDOptions } from \"@blockslides/extension-unique-id\";\nimport type { YoutubeOptions } from \"@blockslides/extension-youtube\";\nimport { Youtube } from \"@blockslides/extension-youtube\";\nimport { Slide } from \"@blockslides/extension-slide\";\nimport type { SlideOptions } from \"@blockslides/extension-slide\";\nimport { Row } from \"@blockslides/extension-row\";\nimport { Column } from \"@blockslides/extension-column\";\nimport { SelectWithinSlide } from \"@blockslides/extension-select-within-slide\";\nimport type { AddSlideButtonOptions } from \"@blockslides/extension-add-slide-button\";\nimport { AddSlideButton } from \"@blockslides/extension-add-slide-button\";\nimport type { BubbleMenuOptions } from \"@blockslides/extension-bubble-menu\";\nimport { BubbleMenu } from \"@blockslides/extension-bubble-menu\";\nimport type { FloatingMenuOptions } from \"@blockslides/extension-floating-menu\";\nimport { FloatingMenu } from \"@blockslides/extension-floating-menu\";\nimport type {\n DropcursorOptions,\n TrailingNodeOptions,\n UndoRedoOptions,\n} from \"@blockslides/extensions\";\nimport {\n Dropcursor,\n Gapcursor,\n TrailingNode,\n UndoRedo,\n} from \"@blockslides/extensions\";\n\n/**\n * ExtensionKit Options Interface\n *\n * Each extension can be:\n * - undefined (default): Extension will be included with default options\n * - false: Extension will be excluded\n * - Partial<ExtensionOptions>: Extension will be included with custom options\n */\nexport interface ExtensionKitOptions {\n /**\n * Select which top-level document node to use.\n * 'slide' => default slideshow doc (slide+)\n * 'asset' => asset doc (block+)\n * @default 'slide'\n */\n topLevelDoc?: \"slide\" | \"asset\";\n /**\n * Add slide button extension\n * @default {}\n * @example addSlideButton: false\n * @example addSlideButton: { content: '➕', buttonStyle: { width: '64px' } }\n */\n addSlideButton?: Partial<AddSlideButtonOptions> | false;\n\n /**\n * Blockquote extension\n * @default {}\n * @example blockquote: false\n * @example blockquote: { HTMLAttributes: { class: 'my-blockquote' } }\n */\n blockquote?: Partial<BlockquoteOptions> | false;\n\n /**\n * Bold extension\n * @default {}\n * @example bold: false\n * @example bold: { HTMLAttributes: { class: 'font-bold' } }\n */\n bold?: Partial<BoldOptions> | false;\n\n /**\n * Bubble menu extension\n * @default {}\n * @example bubbleMenu: false\n */\n bubbleMenu?: Partial<BubbleMenuOptions> | false;\n\n /**\n * Bullet list extension\n * @default {}\n * @example bulletList: false\n * @example bulletList: { HTMLAttributes: { class: 'list-disc' } }\n */\n bulletList?: Partial<BulletListOptions> | false;\n\n /**\n * Inline code extension\n * @default {}\n * @example code: false\n */\n code?: Partial<CodeOptions> | false;\n\n /**\n * Code block extension\n * @default {}\n * @example codeBlock: false\n * @example codeBlock: { defaultLanguage: 'javascript' }\n */\n codeBlock?: Partial<CodeBlockOptions> | false;\n\n /**\n * Text color extension\n * @default {}\n * @example color: false\n * @example color: { types: ['textStyle'] }\n */\n color?: Partial<ColorOptions> | false;\n\n /**\n * Details/Summary (collapsible) extension\n * @default {}\n * @example details: false\n */\n details?: false;\n\n /**\n * Document extension (root node)\n * @default {}\n * @example document: false\n */\n document?: false;\n\n /**\n * Drop cursor extension\n * @default {}\n * @example dropcursor: false\n * @example dropcursor: { color: '#3b82f6', width: 2 }\n */\n dropcursor?: Partial<DropcursorOptions> | false;\n\n /**\n * File handler extension (drag & drop, paste)\n * @default {}\n * @example fileHandler: false\n */\n fileHandler?: Partial<FileHandlerOptions> | false;\n\n /**\n * Floating menu extension\n * @default {}\n * @example floatingMenu: false\n */\n floatingMenu?: Partial<FloatingMenuOptions> | false;\n\n /**\n * Font family extension\n * @default {}\n * @example fontFamily: false\n * @example fontFamily: { types: ['textStyle'] }\n */\n fontFamily?: Partial<FontFamilyOptions> | false;\n\n /**\n * Gap cursor extension\n * @default {}\n * @example gapcursor: false\n */\n gapcursor?: false;\n\n /**\n * Hard break extension\n * @default {}\n * @example hardBreak: false\n */\n hardBreak?: Partial<HardBreakOptions> | false;\n\n /**\n * Heading extension\n * @default {}\n * @example heading: false\n * @example heading: { levels: [1, 2, 3] }\n */\n heading?: Partial<HeadingOptions> | false;\n\n /**\n * Text highlight extension\n * @default {}\n * @example highlight: false\n * @example highlight: { multicolor: true }\n */\n highlight?: Partial<HighlightOptions> | false;\n\n /**\n * Horizontal rule extension\n * @default {}\n * @example horizontalRule: false\n */\n horizontalRule?: Partial<HorizontalRuleOptions> | false;\n\n /**\n * Image extension\n * @default {}\n * @example image: false\n * @example image: { inline: true, allowBase64: true }\n */\n image?: Partial<ImageOptions> | false;\n\n /**\n * Italic extension\n * @default {}\n * @example italic: false\n */\n italic?: Partial<ItalicOptions> | false;\n\n /**\n * Link extension\n * @default {}\n * @example link: false\n * @example link: { openOnClick: false, linkOnPaste: true }\n */\n link?: Partial<LinkOptions> | false;\n\n /**\n * List item extension\n * @default {}\n * @example listItem: false\n */\n listItem?: Partial<ListItemOptions> | false;\n\n /**\n * List keymap extension\n * @default {}\n * @example listKeymap: false\n */\n listKeymap?: Partial<ListKeymapOptions> | false;\n\n /**\n * Mathematics extension (LaTeX/KaTeX)\n * @default {}\n * @example mathematics: false\n */\n mathematics?: Partial<MathematicsOptions> | false;\n\n /**\n * Image block extension\n * @default {}\n * @example imageBlock: false\n */\n imageBlock?: Partial<ImageBlockOptions> | false;\n\n /**\n * Markdown extension (parse/serialize markdown)\n * @default {}\n * @example markdown: false\n */\n markdown?: Partial<MarkdownExtensionOptions> | false;\n\n /**\n * Node range extension\n * @default {}\n * @example nodeRange: false\n */\n nodeRange?: Partial<NodeRangeOptions> | false;\n\n /**\n * Ordered list extension\n * @default {}\n * @example orderedList: false\n */\n orderedList?: Partial<OrderedListOptions> | false;\n\n /**\n * Paragraph extension\n * @default {}\n * @example paragraph: false\n */\n paragraph?: Partial<ParagraphOptions> | false;\n\n /**\n * Placeholder extension\n * @default {}\n * @example placeholder: false\n * @example placeholder: { placeholder: 'Start typing...' }\n */\n placeholder?: Partial<PlaceholderOptions> | false;\n\n /**\n * Slide extension\n * @default {}\n * @example slide: false\n * @example slide: { renderMode: 'fixed' }\n */\n slide?: Partial<SlideOptions> | false;\n\n /**\n * Select-within-slide keyboard shortcut override\n * @default {}\n * @example selectWithinSlide: false\n */\n selectWithinSlide?: false;\n\n /**\n * Strike-through extension\n * @default {}\n * @example strike: false\n */\n strike?: Partial<StrikeOptions> | false;\n\n /**\n * Subscript extension\n * @default {}\n * @example subscript: false\n */\n subscript?: Partial<SubscriptExtensionOptions> | false;\n\n /**\n * Superscript extension\n * @default {}\n * @example superscript: false\n */\n superscript?: Partial<SuperscriptExtensionOptions> | false;\n\n /**\n * Table extension\n * @default {}\n * @example table: false\n * @example table: { resizable: true, cellMinWidth: 50 }\n */\n table?: Partial<TableOptions> | false;\n\n /**\n * Table of contents extension\n * @default {}\n * @example tableOfContents: false\n */\n tableOfContents?: Partial<TableOfContentsOptions> | false;\n\n /**\n * Text extension (base text node)\n * @default {}\n * @example text: false\n */\n text?: false;\n\n /**\n * Text align extension\n * @default {}\n * @example textAlign: false\n * @example textAlign: { types: ['heading', 'paragraph'], alignments: ['left', 'center', 'right'] }\n */\n textAlign?: Partial<TextAlignOptions> | false;\n\n /**\n * Text style extension\n * @default {}\n * @example textStyle: false\n */\n textStyle?: Partial<TextStyleOptions> | false;\n\n /**\n * Typography extension (smart quotes, dashes, etc.)\n * @default {}\n * @example typography: false\n */\n typography?: Partial<TypographyOptions> | false;\n\n /**\n * Underline extension\n * @default {}\n * @example underline: false\n */\n underline?: Partial<UnderlineOptions> | false;\n\n /**\n * Undo/Redo extension\n * @default {}\n * @example undoRedo: false\n */\n undoRedo?: Partial<UndoRedoOptions> | false;\n\n /**\n * Unique ID extension\n * @default {}\n * @example uniqueId: false\n */\n uniqueId?: Partial<UniqueIDOptions> | false;\n\n /**\n * Trailing node extension\n * @default {}\n * @example trailingNode: false\n */\n trailingNode?: Partial<TrailingNodeOptions> | false;\n\n /**\n * YouTube extension\n * @default {}\n * @example youtube: false\n * @example youtube: { width: 640, height: 480 }\n */\n youtube?: Partial<YoutubeOptions> | false;\n}\n\n/**\n * ExtensionKit - A comprehensive bundle of all available extensions\n *\n * This extension allows you to easily configure which extensions to include\n * in your editor and customize their options.\n *\n * @example\n * ```typescript\n * const editor = useSlideEditor({\n * extensions: [\n * ExtensionKit.configure({\n * document: false,\n * heading: { levels: [1, 2, 3] },\n * link: { openOnClick: false },\n * codeBlock: false,\n * })\n * ]\n * })\n * ```\n */\nexport const ExtensionKit = Extension.create<ExtensionKitOptions>({\n name: \"extensionKit\",\n\n addExtensions() {\n const extensions = [];\n\n // Core extensions\n if (this.options.document !== false) {\n const docType = this.options.topLevelDoc ?? \"slide\";\n if (docType === \"asset\") {\n extensions.push(AssetDocument);\n } else {\n extensions.push(Document.configure({}));\n }\n }\n\n if (this.options.text !== false) {\n extensions.push(Text.configure(this.options.text || {}));\n }\n\n if (this.options.paragraph !== false) {\n extensions.push(Paragraph.configure(this.options.paragraph || {}));\n }\n\n // Text formatting extensions\n if (this.options.bold !== false) {\n extensions.push(Bold.configure(this.options.bold || {}));\n }\n\n if (this.options.italic !== false) {\n extensions.push(Italic.configure(this.options.italic || {}));\n }\n\n if (this.options.underline !== false) {\n extensions.push(Underline.configure(this.options.underline || {}));\n }\n\n if (this.options.strike !== false) {\n extensions.push(Strike.configure(this.options.strike || {}));\n }\n\n if (this.options.code !== false) {\n extensions.push(Code.configure(this.options.code || {}));\n }\n\n if (this.options.subscript !== false) {\n extensions.push(Subscript.configure(this.options.subscript || {}));\n }\n\n if (this.options.superscript !== false) {\n extensions.push(Superscript.configure(this.options.superscript || {}));\n }\n\n // Text style extensions\n if (this.options.textStyle !== false) {\n extensions.push(TextStyle.configure(this.options.textStyle || {}));\n }\n\n if (this.options.color !== false) {\n extensions.push(Color.configure(this.options.color || {}));\n }\n\n if (this.options.fontFamily !== false) {\n extensions.push(FontFamily.configure(this.options.fontFamily || {}));\n }\n\n if (this.options.highlight !== false) {\n extensions.push(Highlight.configure(this.options.highlight || {}));\n }\n\n if (this.options.textAlign !== false) {\n extensions.push(TextAlign.configure(this.options.textAlign || {}));\n }\n\n // Block extensions\n if (this.options.heading !== false) {\n extensions.push(Heading.configure(this.options.heading || {}));\n }\n\n if (this.options.blockquote !== false) {\n extensions.push(Blockquote.configure(this.options.blockquote || {}));\n }\n\n if (this.options.codeBlock !== false) {\n extensions.push(CodeBlock.configure(this.options.codeBlock || {}));\n }\n\n if (this.options.horizontalRule !== false) {\n extensions.push(\n HorizontalRule.configure(this.options.horizontalRule || {})\n );\n }\n\n // List extensions\n if (this.options.bulletList !== false) {\n extensions.push(BulletList.configure(this.options.bulletList || {}));\n }\n\n if (this.options.orderedList !== false) {\n extensions.push(OrderedList.configure(this.options.orderedList || {}));\n }\n\n if (this.options.listItem !== false) {\n extensions.push(ListItem.configure(this.options.listItem || {}));\n }\n\n if (this.options.listKeymap !== false) {\n extensions.push(ListKeymap.configure(this.options.listKeymap || {}));\n }\n\n // Media extensions\n if (this.options.image !== false) {\n extensions.push(Image.configure(this.options.image || {}));\n }\n\n if (this.options.youtube !== false) {\n extensions.push(Youtube.configure(this.options.youtube || {}));\n }\n\n // Interactive extensions\n if (this.options.link !== false) {\n extensions.push(Link.configure(this.options.link || {}));\n }\n\n if (this.options.details !== false) {\n extensions.push(Details.configure(this.options.details || {}));\n extensions.push(DetailsContent.configure({}));\n extensions.push(DetailsSummary.configure({}));\n }\n\n // Table extensions\n if (this.options.table !== false) {\n extensions.push(Table.configure(this.options.table || {}));\n extensions.push(TableRow.configure({}));\n extensions.push(TableHeader.configure({}));\n extensions.push(TableCell.configure({}));\n }\n\n if (this.options.tableOfContents !== false) {\n extensions.push(\n TableOfContents.configure(this.options.tableOfContents || {})\n );\n }\n\n // Special content extensions\n if (this.options.mathematics !== false) {\n extensions.push(Mathematics.configure(this.options.mathematics || {}));\n }\n\n if (this.options.markdown !== false) {\n extensions.push(Markdown.configure(this.options.markdown || {}));\n }\n\n if (this.options.imageBlock !== false) {\n extensions.push(ImageBlock.configure(this.options.imageBlock || {}));\n } \n\n // Editor behavior extensions\n if (this.options.hardBreak !== false) {\n extensions.push(HardBreak.configure(this.options.hardBreak || {}));\n }\n\n if (this.options.dropcursor !== false) {\n extensions.push(Dropcursor.configure(this.options.dropcursor || {}));\n }\n\n if (this.options.gapcursor !== false) {\n extensions.push(Gapcursor.configure(this.options.gapcursor || {}));\n }\n\n if (this.options.undoRedo !== false) {\n extensions.push(UndoRedo.configure(this.options.undoRedo || {}));\n }\n\n if (this.options.trailingNode !== false) {\n extensions.push(TrailingNode.configure(this.options.trailingNode || {}));\n }\n\n // UI extensions\n if (this.options.placeholder !== false) {\n extensions.push(Placeholder.configure(this.options.placeholder || {}));\n }\n\n if (this.options.bubbleMenu !== false) {\n extensions.push(BubbleMenu.configure(this.options.bubbleMenu || {}));\n }\n\n if (this.options.floatingMenu !== false) {\n extensions.push(FloatingMenu.configure(this.options.floatingMenu || {}));\n }\n\n // Utility extensions\n if (this.options.fileHandler !== false) {\n extensions.push(FileHandler.configure(this.options.fileHandler || {}));\n }\n\n if (this.options.nodeRange !== false) {\n extensions.push(NodeRange.configure(this.options.nodeRange || {}));\n }\n\n if (this.options.typography !== false) {\n extensions.push(Typography.configure(this.options.typography || {}));\n }\n\n if (this.options.uniqueId !== false) {\n extensions.push(UniqueID.configure(this.options.uniqueId || {}));\n }\n\n // Slide-specific extensions\n if (this.options.slide !== false) {\n extensions.push(Slide.configure(this.options.slide || {}));\n }\n\n if (this.options.selectWithinSlide !== false) {\n extensions.push(SelectWithinSlide);\n }\n\n extensions.push(Row.configure({}));\n extensions.push(Column.configure({}));\n\n if (this.options.addSlideButton !== false) {\n extensions.push(\n AddSlideButton.configure(this.options.addSlideButton || {})\n );\n }\n\n return extensions;\n },\n});\n","import { ExtensionKit } from \"./extension-kit.js\";\n\nexport { ExtensionKit } from \"./extension-kit.js\";\nexport type { ExtensionKitOptions } from \"./extension-kit.js\";\nexport default ExtensionKit;\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../src/extension-kit.ts","../src/index.ts"],"sourcesContent":["import { Extension } from \"@blockslides/core\";\n\n// Import all extensions\nimport type { BlockquoteOptions } from \"@blockslides/extension-blockquote\";\nimport { Blockquote } from \"@blockslides/extension-blockquote\";\nimport type { BoldOptions } from \"@blockslides/extension-bold\";\nimport { Bold } from \"@blockslides/extension-bold\";\nimport type { CodeOptions } from \"@blockslides/extension-code\";\nimport { Code } from \"@blockslides/extension-code\";\nimport type { CodeBlockOptions } from \"@blockslides/extension-code-block\";\nimport { CodeBlock } from \"@blockslides/extension-code-block\";\nimport type { ColorOptions } from \"@blockslides/extension-color\";\nimport { Color } from \"@blockslides/extension-color\";\nimport { Document } from \"@blockslides/extension-document\";\nimport AssetDocument from \"@blockslides/extension-asset-document\";\nimport { Details } from \"@blockslides/extension-details\";\nimport { DetailsContent } from \"@blockslides/extension-details\";\nimport { DetailsSummary } from \"@blockslides/extension-details\";\nimport type { FileHandlerOptions } from \"@blockslides/extension-file-handler\";\nimport { FileHandler } from \"@blockslides/extension-file-handler\";\nimport type { FontFamilyOptions } from \"@blockslides/extension-font-family\";\nimport { FontFamily } from \"@blockslides/extension-font-family\";\nimport type {\n BackgroundColorOptions,\n FontSizeOptions,\n LineHeightOptions,\n} from \"@blockslides/extension-text-style\";\nimport { BackgroundColor, FontSize, LineHeight } from \"@blockslides/extension-text-style\";\nimport type { HardBreakOptions } from \"@blockslides/extension-hard-break\";\nimport { HardBreak } from \"@blockslides/extension-hard-break\";\nimport type { HeadingOptions } from \"@blockslides/extension-heading\";\nimport { Heading } from \"@blockslides/extension-heading\";\nimport type { HighlightOptions } from \"@blockslides/extension-highlight\";\nimport { Highlight } from \"@blockslides/extension-highlight\";\nimport type { HorizontalRuleOptions } from \"@blockslides/extension-horizontal-rule\";\nimport { HorizontalRule } from \"@blockslides/extension-horizontal-rule\";\nimport type { ImageOptions } from \"@blockslides/extension-image\";\nimport { Image } from \"@blockslides/extension-image\";\nimport type { ItalicOptions } from \"@blockslides/extension-italic\";\nimport { Italic } from \"@blockslides/extension-italic\";\nimport type { LinkOptions } from \"@blockslides/extension-link\";\nimport { Link } from \"@blockslides/extension-link\";\nimport type {\n BulletListOptions,\n ListItemOptions,\n ListKeymapOptions,\n OrderedListOptions,\n} from \"@blockslides/extension-list\";\nimport type { ImageBlockOptions } from \"@blockslides/extension-image-block\";\nimport { ImageBlock } from \"@blockslides/extension-image-block\";\nimport {\n BulletList,\n ListItem,\n ListKeymap,\n OrderedList,\n} from \"@blockslides/extension-list\";\nimport type { MathematicsOptions } from \"@blockslides/extension-mathematics\";\nimport { Mathematics } from \"@blockslides/extension-mathematics\";\nimport type { MarkdownExtensionOptions } from \"@blockslides/markdown\";\nimport { Markdown } from \"@blockslides/markdown\";\nimport type { NodeRangeOptions } from \"@blockslides/extension-node-range\";\nimport { NodeRange } from \"@blockslides/extension-node-range\";\nimport type { ParagraphOptions } from \"@blockslides/extension-paragraph\";\nimport { Paragraph } from \"@blockslides/extension-paragraph\";\nimport type { PlaceholderOptions } from \"@blockslides/extension-placeholder\";\nimport { Placeholder } from \"@blockslides/extension-placeholder\";\nimport type { StrikeOptions } from \"@blockslides/extension-strike\";\nimport { Strike } from \"@blockslides/extension-strike\";\nimport type { SubscriptExtensionOptions } from \"@blockslides/extension-subscript\";\nimport { Subscript } from \"@blockslides/extension-subscript\";\nimport type { SuperscriptExtensionOptions } from \"@blockslides/extension-superscript\";\nimport { Superscript } from \"@blockslides/extension-superscript\";\nimport type { TableOptions } from \"@blockslides/extension-table\";\nimport {\n Table,\n TableCell,\n TableHeader,\n TableRow,\n} from \"@blockslides/extension-table\";\nimport type { TableOfContentsOptions } from \"@blockslides/extension-table-of-contents\";\nimport { TableOfContents } from \"@blockslides/extension-table-of-contents\";\nimport { Text } from \"@blockslides/extension-text\";\nimport type { TextAlignOptions } from \"@blockslides/extension-text-align\";\nimport { TextAlign } from \"@blockslides/extension-text-align\";\nimport type { TextStyleOptions } from \"@blockslides/extension-text-style\";\nimport { TextStyle } from \"@blockslides/extension-text-style\";\nimport type { TypographyOptions } from \"@blockslides/extension-typography\";\nimport { Typography } from \"@blockslides/extension-typography\";\nimport type { UnderlineOptions } from \"@blockslides/extension-underline\";\nimport { Underline } from \"@blockslides/extension-underline\";\nimport { UniqueID } from \"@blockslides/extension-unique-id\";\nimport type { UniqueIDOptions } from \"@blockslides/extension-unique-id\";\nimport type { YoutubeOptions } from \"@blockslides/extension-youtube\";\nimport { Youtube } from \"@blockslides/extension-youtube\";\nimport { Slide } from \"@blockslides/extension-slide\";\nimport type { SlideOptions } from \"@blockslides/extension-slide\";\nimport { Row } from \"@blockslides/extension-row\";\nimport { Column } from \"@blockslides/extension-column\";\nimport { SelectWithinSlide } from \"@blockslides/extension-select-within-slide\";\nimport type { AddSlideButtonOptions } from \"@blockslides/extension-add-slide-button\";\nimport { AddSlideButton } from \"@blockslides/extension-add-slide-button\";\nimport type { BubbleMenuOptions } from \"@blockslides/extension-bubble-menu\";\nimport { BubbleMenu } from \"@blockslides/extension-bubble-menu\";\nimport type { BubbleMenuPresetOptions } from \"@blockslides/extension-bubble-menu-preset\";\nimport { BubbleMenuPreset } from \"@blockslides/extension-bubble-menu-preset\";\nimport type { FloatingMenuOptions } from \"@blockslides/extension-floating-menu\";\nimport { FloatingMenu } from \"@blockslides/extension-floating-menu\";\nimport type {\n DropcursorOptions,\n TrailingNodeOptions,\n UndoRedoOptions,\n} from \"@blockslides/extensions\";\nimport {\n Dropcursor,\n Gapcursor,\n TrailingNode,\n UndoRedo,\n} from \"@blockslides/extensions\";\n\n/**\n * ExtensionKit Options Interface\n *\n * Each extension can be:\n * - undefined (default): Extension will be included with default options\n * - false: Extension will be excluded\n * - Partial<ExtensionOptions>: Extension will be included with custom options\n */\nexport interface ExtensionKitOptions {\n /**\n * Select which top-level document node to use.\n * 'slide' => default slideshow doc (slide+)\n * 'asset' => asset doc (block+)\n * @default 'slide'\n */\n topLevelDoc?: \"slide\" | \"asset\";\n /**\n * Add slide button extension\n * @default {}\n * @example addSlideButton: false\n * @example addSlideButton: { content: '➕', buttonStyle: { width: '64px' } }\n */\n addSlideButton?: Partial<AddSlideButtonOptions> | false;\n\n /**\n * Blockquote extension\n * @default {}\n * @example blockquote: false\n * @example blockquote: { HTMLAttributes: { class: 'my-blockquote' } }\n */\n blockquote?: Partial<BlockquoteOptions> | false;\n\n /**\n * Bold extension\n * @default {}\n * @example bold: false\n * @example bold: { HTMLAttributes: { class: 'font-bold' } }\n */\n bold?: Partial<BoldOptions> | false;\n\n /**\n * Bubble menu extension\n * @default {}\n * @example bubbleMenu: false\n */\n bubbleMenu?: Partial<BubbleMenuOptions> | false;\n\n /**\n * Bubble menu preset (text+image dual-mode toolbar)\n * @default {}\n * @example bubbleMenuPreset: false\n * @example bubbleMenuPreset: { items: ['bold', 'italic'] }\n */\n bubbleMenuPreset?: Partial<BubbleMenuPresetOptions> | false;\n\n /**\n * Bullet list extension\n * @default {}\n * @example bulletList: false\n * @example bulletList: { HTMLAttributes: { class: 'list-disc' } }\n */\n bulletList?: Partial<BulletListOptions> | false;\n\n /**\n * Inline code extension\n * @default {}\n * @example code: false\n */\n code?: Partial<CodeOptions> | false;\n\n /**\n * Code block extension\n * @default {}\n * @example codeBlock: false\n * @example codeBlock: { defaultLanguage: 'javascript' }\n */\n codeBlock?: Partial<CodeBlockOptions> | false;\n\n /**\n * Text color extension\n * @default {}\n * @example color: false\n * @example color: { types: ['textStyle'] }\n */\n color?: Partial<ColorOptions> | false;\n\n /**\n * Background color extension\n * @default {}\n * @example backgroundColor: false\n */\n backgroundColor?: Partial<BackgroundColorOptions> | false;\n\n /**\n * Details/Summary (collapsible) extension\n * @default {}\n * @example details: false\n */\n details?: false;\n\n /**\n * Document extension (root node)\n * @default {}\n * @example document: false\n */\n document?: false;\n\n /**\n * Drop cursor extension\n * @default {}\n * @example dropcursor: false\n * @example dropcursor: { color: '#3b82f6', width: 2 }\n */\n dropcursor?: Partial<DropcursorOptions> | false;\n\n /**\n * File handler extension (drag & drop, paste)\n * @default {}\n * @example fileHandler: false\n */\n fileHandler?: Partial<FileHandlerOptions> | false;\n\n /**\n * Floating menu extension\n * @default {}\n * @example floatingMenu: false\n */\n floatingMenu?: Partial<FloatingMenuOptions> | false;\n\n /**\n * Font family extension\n * @default {}\n * @example fontFamily: false\n * @example fontFamily: { types: ['textStyle'] }\n */\n fontFamily?: Partial<FontFamilyOptions> | false;\n\n /**\n * Font size extension\n * @default {}\n * @example fontSize: false\n */\n fontSize?: Partial<FontSizeOptions> | false;\n\n /**\n * Line height extension\n * @default {}\n * @example lineHeight: false\n */\n lineHeight?: Partial<LineHeightOptions> | false;\n\n /**\n * Gap cursor extension\n * @default {}\n * @example gapcursor: false\n */\n gapcursor?: false;\n\n /**\n * Hard break extension\n * @default {}\n * @example hardBreak: false\n */\n hardBreak?: Partial<HardBreakOptions> | false;\n\n /**\n * Heading extension\n * @default {}\n * @example heading: false\n * @example heading: { levels: [1, 2, 3] }\n */\n heading?: Partial<HeadingOptions> | false;\n\n /**\n * Text highlight extension\n * @default {}\n * @example highlight: false\n * @example highlight: { multicolor: true }\n */\n highlight?: Partial<HighlightOptions> | false;\n\n /**\n * Horizontal rule extension\n * @default {}\n * @example horizontalRule: false\n */\n horizontalRule?: Partial<HorizontalRuleOptions> | false;\n\n /**\n * Image extension\n * @default {}\n * @example image: false\n * @example image: { inline: true, allowBase64: true }\n */\n image?: Partial<ImageOptions> | false;\n\n /**\n * Italic extension\n * @default {}\n * @example italic: false\n */\n italic?: Partial<ItalicOptions> | false;\n\n /**\n * Link extension\n * @default {}\n * @example link: false\n * @example link: { openOnClick: false, linkOnPaste: true }\n */\n link?: Partial<LinkOptions> | false;\n\n /**\n * List item extension\n * @default {}\n * @example listItem: false\n */\n listItem?: Partial<ListItemOptions> | false;\n\n /**\n * List keymap extension\n * @default {}\n * @example listKeymap: false\n */\n listKeymap?: Partial<ListKeymapOptions> | false;\n\n /**\n * Mathematics extension (LaTeX/KaTeX)\n * @default {}\n * @example mathematics: false\n */\n mathematics?: Partial<MathematicsOptions> | false;\n\n /**\n * Image block extension\n * @default {}\n * @example imageBlock: false\n */\n imageBlock?: Partial<ImageBlockOptions> | false;\n\n /**\n * Markdown extension (parse/serialize markdown)\n * @default {}\n * @example markdown: false\n */\n markdown?: Partial<MarkdownExtensionOptions> | false;\n\n /**\n * Node range extension\n * @default {}\n * @example nodeRange: false\n */\n nodeRange?: Partial<NodeRangeOptions> | false;\n\n /**\n * Ordered list extension\n * @default {}\n * @example orderedList: false\n */\n orderedList?: Partial<OrderedListOptions> | false;\n\n /**\n * Paragraph extension\n * @default {}\n * @example paragraph: false\n */\n paragraph?: Partial<ParagraphOptions> | false;\n\n /**\n * Placeholder extension\n * @default {}\n * @example placeholder: false\n * @example placeholder: { placeholder: 'Start typing...' }\n */\n placeholder?: Partial<PlaceholderOptions> | false;\n\n /**\n * Slide extension\n * @default {}\n * @example slide: false\n * @example slide: { renderMode: 'fixed' }\n */\n slide?: Partial<SlideOptions> | false;\n\n /**\n * Select-within-slide keyboard shortcut override\n * @default {}\n * @example selectWithinSlide: false\n */\n selectWithinSlide?: false;\n\n /**\n * Strike-through extension\n * @default {}\n * @example strike: false\n */\n strike?: Partial<StrikeOptions> | false;\n\n /**\n * Subscript extension\n * @default {}\n * @example subscript: false\n */\n subscript?: Partial<SubscriptExtensionOptions> | false;\n\n /**\n * Superscript extension\n * @default {}\n * @example superscript: false\n */\n superscript?: Partial<SuperscriptExtensionOptions> | false;\n\n /**\n * Table extension\n * @default {}\n * @example table: false\n * @example table: { resizable: true, cellMinWidth: 50 }\n */\n table?: Partial<TableOptions> | false;\n\n /**\n * Table of contents extension\n * @default {}\n * @example tableOfContents: false\n */\n tableOfContents?: Partial<TableOfContentsOptions> | false;\n\n /**\n * Text extension (base text node)\n * @default {}\n * @example text: false\n */\n text?: false;\n\n /**\n * Text align extension\n * @default {}\n * @example textAlign: false\n * @example textAlign: { types: ['heading', 'paragraph'], alignments: ['left', 'center', 'right'] }\n */\n textAlign?: Partial<TextAlignOptions> | false;\n\n /**\n * Text style extension\n * @default {}\n * @example textStyle: false\n */\n textStyle?: Partial<TextStyleOptions> | false;\n\n /**\n * Typography extension (smart quotes, dashes, etc.)\n * @default {}\n * @example typography: false\n */\n typography?: Partial<TypographyOptions> | false;\n\n /**\n * Underline extension\n * @default {}\n * @example underline: false\n */\n underline?: Partial<UnderlineOptions> | false;\n\n /**\n * Undo/Redo extension\n * @default {}\n * @example undoRedo: false\n */\n undoRedo?: Partial<UndoRedoOptions> | false;\n\n /**\n * Unique ID extension\n * @default {}\n * @example uniqueId: false\n */\n uniqueId?: Partial<UniqueIDOptions> | false;\n\n /**\n * Trailing node extension\n * @default {}\n * @example trailingNode: false\n */\n trailingNode?: Partial<TrailingNodeOptions> | false;\n\n /**\n * YouTube extension\n * @default {}\n * @example youtube: false\n * @example youtube: { width: 640, height: 480 }\n */\n youtube?: Partial<YoutubeOptions> | false;\n}\n\n/**\n * ExtensionKit - A comprehensive bundle of all available extensions\n *\n * This extension allows you to easily configure which extensions to include\n * in your editor and customize their options.\n *\n * @example\n * ```typescript\n * const editor = useSlideEditor({\n * extensions: [\n * ExtensionKit.configure({\n * document: false,\n * heading: { levels: [1, 2, 3] },\n * link: { openOnClick: false },\n * codeBlock: false,\n * })\n * ]\n * })\n * ```\n */\nexport const ExtensionKit = Extension.create<ExtensionKitOptions>({\n name: \"extensionKit\",\n\n addExtensions() {\n const extensions = [];\n\n // Core extensions\n if (this.options.document !== false) {\n const docType = this.options.topLevelDoc ?? \"slide\";\n if (docType === \"asset\") {\n extensions.push(AssetDocument);\n } else {\n extensions.push(Document.configure({}));\n }\n }\n\n if (this.options.text !== false) {\n extensions.push(Text.configure(this.options.text || {}));\n }\n\n if (this.options.paragraph !== false) {\n extensions.push(Paragraph.configure(this.options.paragraph || {}));\n }\n\n // Text formatting extensions\n if (this.options.bold !== false) {\n extensions.push(Bold.configure(this.options.bold || {}));\n }\n\n if (this.options.italic !== false) {\n extensions.push(Italic.configure(this.options.italic || {}));\n }\n\n if (this.options.underline !== false) {\n extensions.push(Underline.configure(this.options.underline || {}));\n }\n\n if (this.options.strike !== false) {\n extensions.push(Strike.configure(this.options.strike || {}));\n }\n\n if (this.options.code !== false) {\n extensions.push(Code.configure(this.options.code || {}));\n }\n\n if (this.options.subscript !== false) {\n extensions.push(Subscript.configure(this.options.subscript || {}));\n }\n\n if (this.options.superscript !== false) {\n extensions.push(Superscript.configure(this.options.superscript || {}));\n }\n\n // Text style extensions\n if (this.options.textStyle !== false) {\n extensions.push(TextStyle.configure(this.options.textStyle || {}));\n }\n\n if (this.options.backgroundColor !== false) {\n extensions.push(\n BackgroundColor.configure(this.options.backgroundColor || {})\n );\n }\n\n if (this.options.color !== false) {\n extensions.push(Color.configure(this.options.color || {}));\n }\n\n if (this.options.fontFamily !== false) {\n extensions.push(FontFamily.configure(this.options.fontFamily || {}));\n }\n\n if (this.options.fontSize !== false) {\n extensions.push(FontSize.configure(this.options.fontSize || {}));\n }\n\n if (this.options.lineHeight !== false) {\n extensions.push(LineHeight.configure(this.options.lineHeight || {}));\n }\n\n if (this.options.highlight !== false) {\n extensions.push(Highlight.configure(this.options.highlight || {}));\n }\n\n if (this.options.textAlign !== false) {\n extensions.push(TextAlign.configure(this.options.textAlign || {}));\n }\n\n // Block extensions\n if (this.options.heading !== false) {\n extensions.push(Heading.configure(this.options.heading || {}));\n }\n\n if (this.options.blockquote !== false) {\n extensions.push(Blockquote.configure(this.options.blockquote || {}));\n }\n\n if (this.options.codeBlock !== false) {\n extensions.push(CodeBlock.configure(this.options.codeBlock || {}));\n }\n\n if (this.options.horizontalRule !== false) {\n extensions.push(\n HorizontalRule.configure(this.options.horizontalRule || {})\n );\n }\n\n // List extensions\n if (this.options.bulletList !== false) {\n extensions.push(BulletList.configure(this.options.bulletList || {}));\n }\n\n if (this.options.orderedList !== false) {\n extensions.push(OrderedList.configure(this.options.orderedList || {}));\n }\n\n if (this.options.listItem !== false) {\n extensions.push(ListItem.configure(this.options.listItem || {}));\n }\n\n if (this.options.listKeymap !== false) {\n extensions.push(ListKeymap.configure(this.options.listKeymap || {}));\n }\n\n // Media extensions\n if (this.options.image !== false) {\n extensions.push(Image.configure(this.options.image || {}));\n }\n\n if (this.options.youtube !== false) {\n extensions.push(Youtube.configure(this.options.youtube || {}));\n }\n\n // Interactive extensions\n if (this.options.link !== false) {\n extensions.push(Link.configure(this.options.link || {}));\n }\n\n if (this.options.details !== false) {\n extensions.push(Details.configure(this.options.details || {}));\n extensions.push(DetailsContent.configure({}));\n extensions.push(DetailsSummary.configure({}));\n }\n\n // Table extensions\n if (this.options.table !== false) {\n extensions.push(Table.configure(this.options.table || {}));\n extensions.push(TableRow.configure({}));\n extensions.push(TableHeader.configure({}));\n extensions.push(TableCell.configure({}));\n }\n\n if (this.options.tableOfContents !== false) {\n extensions.push(\n TableOfContents.configure(this.options.tableOfContents || {})\n );\n }\n\n // Special content extensions\n if (this.options.mathematics !== false) {\n extensions.push(Mathematics.configure(this.options.mathematics || {}));\n }\n\n if (this.options.markdown !== false) {\n extensions.push(Markdown.configure(this.options.markdown || {}));\n }\n\n if (this.options.imageBlock !== false) {\n extensions.push(ImageBlock.configure(this.options.imageBlock || {}));\n } \n\n // Editor behavior extensions\n if (this.options.hardBreak !== false) {\n extensions.push(HardBreak.configure(this.options.hardBreak || {}));\n }\n\n if (this.options.dropcursor !== false) {\n extensions.push(Dropcursor.configure(this.options.dropcursor || {}));\n }\n\n if (this.options.gapcursor !== false) {\n extensions.push(Gapcursor.configure(this.options.gapcursor || {}));\n }\n\n if (this.options.undoRedo !== false) {\n extensions.push(UndoRedo.configure(this.options.undoRedo || {}));\n }\n\n if (this.options.trailingNode !== false) {\n extensions.push(TrailingNode.configure(this.options.trailingNode || {}));\n }\n\n // UI extensions\n if (this.options.placeholder !== false) {\n extensions.push(Placeholder.configure(this.options.placeholder || {}));\n }\n\n if (this.options.bubbleMenuPreset !== false) {\n extensions.push(\n BubbleMenuPreset.configure(this.options.bubbleMenuPreset || {})\n );\n }\n\n if (this.options.bubbleMenu !== false) {\n extensions.push(BubbleMenu.configure(this.options.bubbleMenu || {}));\n }\n\n if (this.options.floatingMenu !== false) {\n extensions.push(FloatingMenu.configure(this.options.floatingMenu || {}));\n }\n\n // Utility extensions\n if (this.options.fileHandler !== false) {\n extensions.push(FileHandler.configure(this.options.fileHandler || {}));\n }\n\n if (this.options.nodeRange !== false) {\n extensions.push(NodeRange.configure(this.options.nodeRange || {}));\n }\n\n if (this.options.typography !== false) {\n extensions.push(Typography.configure(this.options.typography || {}));\n }\n\n if (this.options.uniqueId !== false) {\n extensions.push(UniqueID.configure(this.options.uniqueId || {}));\n }\n\n // Slide-specific extensions\n if (this.options.slide !== false) {\n extensions.push(Slide.configure(this.options.slide || {}));\n }\n\n if (this.options.selectWithinSlide !== false) {\n extensions.push(SelectWithinSlide);\n }\n\n extensions.push(Row.configure({}));\n extensions.push(Column.configure({}));\n\n if (this.options.addSlideButton !== false) {\n extensions.push(\n AddSlideButton.configure(this.options.addSlideButton || {})\n );\n }\n\n return extensions;\n },\n});\n","import { ExtensionKit } from \"./extension-kit.js\";\n\nexport { ExtensionKit } from \"./extension-kit.js\";\nexport type { ExtensionKitOptions } from \"./extension-kit.js\";\nexport default ExtensionKit;\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@blockslides/extension-kit",
3
3
  "description": "Complete extension kit for blockslides - includes all available extensions with configurable options",
4
- "version": "0.4.3",
4
+ "version": "0.5.0",
5
5
  "homepage": "https://github.com/keivanmojmali/blockslides",
6
6
  "keywords": [
7
7
  "blockslides",
@@ -30,52 +30,52 @@
30
30
  "dist/**"
31
31
  ],
32
32
  "dependencies": {
33
- "@blockslides/core": "0.1.0",
34
- "@blockslides/extension-asset-document": "0.1.0",
35
- "@blockslides/extension-blockquote": "0.1.0",
33
+ "@blockslides/core": "0.2.0",
34
+ "@blockslides/extension-add-slide-button": "0.2.0",
36
35
  "@blockslides/extension-bubble-menu": "0.1.0",
37
- "@blockslides/extension-add-slide-button": "0.1.0",
36
+ "@blockslides/extension-blockquote": "0.1.0",
37
+ "@blockslides/extension-code-block": "0.1.0",
38
+ "@blockslides/extension-asset-document": "0.1.0",
38
39
  "@blockslides/extension-code": "0.1.0",
39
- "@blockslides/extension-bold": "0.1.0",
40
+ "@blockslides/extension-code-block-lowlight": "0.1.0",
40
41
  "@blockslides/extension-color": "0.1.0",
41
- "@blockslides/extension-column": "0.1.4",
42
42
  "@blockslides/extension-document": "0.1.0",
43
- "@blockslides/extension-code-block-lowlight": "0.1.0",
44
- "@blockslides/extension-details": "0.1.0",
45
- "@blockslides/extension-code-block": "0.1.0",
43
+ "@blockslides/extension-floating-menu": "0.1.0",
44
+ "@blockslides/extension-file-handler": "0.1.0",
46
45
  "@blockslides/extension-font-family": "0.1.0",
47
- "@blockslides/extension-hard-break": "0.1.0",
48
- "@blockslides/extension-heading": "0.1.0",
46
+ "@blockslides/extension-column": "0.1.4",
49
47
  "@blockslides/extension-highlight": "0.1.0",
48
+ "@blockslides/extension-bold": "0.1.0",
49
+ "@blockslides/extension-details": "0.1.0",
50
50
  "@blockslides/extension-horizontal-rule": "0.1.0",
51
51
  "@blockslides/extension-image": "0.1.0",
52
- "@blockslides/extension-floating-menu": "0.1.0",
53
- "@blockslides/extension-file-handler": "0.1.0",
54
- "@blockslides/extension-mathematics": "0.1.0",
55
- "@blockslides/extension-italic": "0.1.0",
56
52
  "@blockslides/extension-link": "0.1.0",
57
53
  "@blockslides/extension-list": "0.1.0",
54
+ "@blockslides/extension-heading": "0.1.0",
55
+ "@blockslides/extension-mathematics": "0.1.0",
58
56
  "@blockslides/extension-node-range": "0.1.0",
59
- "@blockslides/extension-row": "0.1.1",
57
+ "@blockslides/extension-hard-break": "0.1.0",
60
58
  "@blockslides/extension-paragraph": "0.1.0",
61
- "@blockslides/extension-placeholder": "0.1.0",
59
+ "@blockslides/extension-italic": "0.1.0",
62
60
  "@blockslides/extension-image-block": "0.1.0",
61
+ "@blockslides/extension-slide": "0.3.0",
62
+ "@blockslides/extension-strike": "0.1.0",
63
63
  "@blockslides/extension-select-within-slide": "0.1.0",
64
+ "@blockslides/extension-row": "0.1.1",
64
65
  "@blockslides/extension-subscript": "0.1.0",
65
- "@blockslides/extension-slide": "0.2.1",
66
- "@blockslides/extension-table-of-contents": "0.1.0",
67
- "@blockslides/extension-superscript": "0.1.0",
66
+ "@blockslides/extension-table": "0.1.0",
67
+ "@blockslides/extension-text": "0.1.0",
68
+ "@blockslides/extension-placeholder": "0.1.0",
68
69
  "@blockslides/extension-text-align": "0.1.0",
69
70
  "@blockslides/extension-text-style": "0.1.0",
70
- "@blockslides/extension-strike": "0.1.0",
71
- "@blockslides/extension-text": "0.1.0",
72
- "@blockslides/extension-table": "0.1.0",
73
- "@blockslides/extension-unique-id": "0.1.0",
74
- "@blockslides/extension-typography": "0.1.0",
71
+ "@blockslides/extension-table-of-contents": "0.1.0",
75
72
  "@blockslides/extension-underline": "0.1.0",
76
- "@blockslides/extension-youtube": "0.1.0",
73
+ "@blockslides/extension-unique-id": "0.1.0",
77
74
  "@blockslides/extensions": "0.1.0",
78
- "@blockslides/markdown": "0.1.0"
75
+ "@blockslides/extension-typography": "0.1.0",
76
+ "@blockslides/extension-superscript": "0.1.0",
77
+ "@blockslides/markdown": "0.1.0",
78
+ "@blockslides/extension-youtube": "0.1.0"
79
79
  },
80
80
  "repository": {
81
81
  "type": "git",