{"version":3,"file":"taiga-ui-editor-extensions-starter-kit.mjs","sources":["../../../projects/editor/extensions/starter-kit/index.ts","../../../projects/editor/extensions/starter-kit/taiga-ui-editor-extensions-starter-kit.ts"],"sourcesContent":["import {TuiCustomEnter} from '@taiga-ui/editor/extensions/enter';\nimport {TuiHorizontalRule} from '@taiga-ui/editor/extensions/horizontal';\nimport {Extension, type KeyboardShortcutCommand} from '@tiptap/core';\nimport {Blockquote, type BlockquoteOptions} from '@tiptap/extension-blockquote';\nimport {Bold, type BoldOptions} from '@tiptap/extension-bold';\nimport {BulletList, type BulletListOptions} from '@tiptap/extension-bullet-list';\nimport {Code, type CodeOptions} from '@tiptap/extension-code';\nimport {CodeBlock, type CodeBlockOptions} from '@tiptap/extension-code-block';\nimport {Document} from '@tiptap/extension-document';\nimport {Dropcursor, type DropcursorOptions} from '@tiptap/extension-dropcursor';\nimport {Gapcursor} from '@tiptap/extension-gapcursor';\nimport {HardBreak, type HardBreakOptions} from '@tiptap/extension-hard-break';\nimport {Heading, type HeadingOptions} from '@tiptap/extension-heading';\nimport {History, type HistoryOptions} from '@tiptap/extension-history';\nimport {type HorizontalRuleOptions} from '@tiptap/extension-horizontal-rule';\nimport {Italic, type ItalicOptions} from '@tiptap/extension-italic';\nimport {ListItem, type ListItemOptions} from '@tiptap/extension-list-item';\nimport {OrderedList, type OrderedListOptions} from '@tiptap/extension-ordered-list';\nimport {Paragraph, type ParagraphOptions} from '@tiptap/extension-paragraph';\nimport {Placeholder, type PlaceholderOptions} from '@tiptap/extension-placeholder';\nimport {Strike, type StrikeOptions} from '@tiptap/extension-strike';\nimport {TaskItem, type TaskItemOptions} from '@tiptap/extension-task-item';\nimport {TaskList, type TaskListOptions} from '@tiptap/extension-task-list';\nimport {Text} from '@tiptap/extension-text';\n\nexport interface TuiStarterKitOptions {\n    blockquote: Partial<BlockquoteOptions> | false;\n    bold: Partial<BoldOptions> | false;\n    bulletList: Partial<BulletListOptions> | false;\n    code: Partial<CodeOptions> | false;\n    codeBlock: Partial<CodeBlockOptions> | false;\n    document: Partial<Record<string, unknown>> | false;\n    enter: Partial<Record<string, unknown>> | false;\n    dropcursor: Partial<DropcursorOptions> | false;\n    gapcursor: Partial<{allowGapCursor: true}> | false;\n    hardBreak: Partial<HardBreakOptions> | false;\n    heading: Partial<HeadingOptions> | false;\n    history: Partial<HistoryOptions> | false;\n    horizontalRule: Partial<HorizontalRuleOptions> | false;\n    italic: Partial<ItalicOptions> | false;\n    listItem: Partial<ListItemOptions> | false;\n    taskItem: Partial<TaskItemOptions> | false;\n    taskList: Partial<TaskListOptions> | false;\n    orderedList: Partial<OrderedListOptions> | false;\n    paragraph: Partial<ParagraphOptions> | false;\n    strike: Partial<StrikeOptions> | false;\n    placeholder: Partial<PlaceholderOptions> | false;\n    text: Partial<Record<string, unknown>> | false;\n}\n\n/**\n * @deprecated use {@link provideTuiEditor}\n */\nexport const TuiStarterKit = Extension.create<TuiStarterKitOptions>({\n    name: 'starterKit',\n\n    addExtensions() {\n        const extensions = [];\n\n        // note: in runtime it possibly be undefined\n        const options = this.options as Partial<TuiStarterKitOptions> | undefined;\n\n        if (options?.blockquote !== false) {\n            extensions.push(Blockquote.configure(options?.blockquote));\n        }\n\n        if (options?.bold !== false) {\n            extensions.push(Bold.configure(options?.bold));\n        }\n\n        if (options?.bulletList !== false) {\n            extensions.push(BulletList.configure(options?.bulletList));\n        }\n\n        if (options?.code !== false) {\n            extensions.push(Code.configure(options?.code));\n        }\n\n        if (options?.codeBlock !== false) {\n            extensions.push(CodeBlock.configure(options?.codeBlock));\n        }\n\n        if (options?.document !== false) {\n            extensions.push(Document.configure(options?.document));\n        }\n\n        if (options?.dropcursor !== false) {\n            extensions.push(Dropcursor.configure(options?.dropcursor));\n        }\n\n        if (options?.gapcursor !== false) {\n            extensions.push(\n                Gapcursor.configure({\n                    allowGapCursor: true,\n                    ...(options?.gapcursor || {}),\n                }),\n            );\n        }\n\n        if (options?.hardBreak !== false) {\n            extensions.push(HardBreak.configure(options?.hardBreak));\n        }\n\n        if (options?.heading !== false) {\n            extensions.push(\n                Heading.configure({\n                    levels: [1, 2, 3, 4, 5, 6],\n                    ...options?.heading,\n                }).extend({\n                    addKeyboardShortcuts(): Record<string, KeyboardShortcutCommand> {\n                        return this.options.levels.reduce(\n                            (items: any, level: any) => ({\n                                ...(items || {}),\n                                [`Mod-Alt-${level}`]: () =>\n                                    this.editor.commands.toggleHeading({level}),\n                            }),\n                            {},\n                        );\n                    },\n                }),\n            );\n        }\n\n        if (options?.history !== false) {\n            extensions.push(\n                History.configure({\n                    depth: 100,\n                    newGroupDelay: 500,\n                    ...options?.history,\n                }),\n            );\n        }\n\n        if (options?.horizontalRule !== false) {\n            extensions.push(TuiHorizontalRule.configure(options?.horizontalRule));\n        }\n\n        if (options?.italic !== false) {\n            extensions.push(Italic.configure(options?.italic));\n        }\n\n        if (options?.listItem !== false) {\n            extensions.push(ListItem.configure(options?.listItem));\n        }\n\n        if (options?.taskList !== false) {\n            extensions.push(TaskList.configure(options?.taskList));\n        }\n\n        if (options?.taskItem !== false) {\n            extensions.push(\n                TaskItem.configure({\n                    nested: true,\n                    ...options?.taskItem,\n                }),\n            );\n        }\n\n        if (options?.orderedList !== false) {\n            extensions.push(OrderedList.configure(options?.orderedList));\n        }\n\n        if (options?.paragraph !== false) {\n            extensions.push(Paragraph.configure(options?.paragraph));\n        }\n\n        if (options?.strike !== false) {\n            extensions.push(Strike.configure(options?.strike));\n        }\n\n        if (options?.text !== false) {\n            extensions.push(Text.configure(options?.text));\n        }\n\n        if (options?.placeholder !== false) {\n            extensions.push(\n                Placeholder.configure({\n                    emptyNodeClass: 't-editor-placeholder',\n                    includeChildren: true,\n                    showOnlyCurrent: true,\n                    showOnlyWhenEditable: true,\n                    placeholder: '',\n                    ...(options?.placeholder ?? {}),\n                }),\n            );\n        }\n\n        if (options?.enter !== false) {\n            extensions.push(TuiCustomEnter);\n        }\n\n        return extensions;\n    },\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkDA;;AAEG;AACU,MAAA,aAAa,GAAG,SAAS,CAAC,MAAM,CAAuB;AAChE,IAAA,IAAI,EAAE,YAAY;IAElB,aAAa,GAAA;QACT,MAAM,UAAU,GAAG,EAAE,CAAC;;AAGtB,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,OAAoD,CAAC;AAE1E,QAAA,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE;AAC/B,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE;AACzB,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE;AAC/B,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE;AACzB,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE;AAC9B,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE;AAC7B,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,UAAU,KAAK,KAAK,EAAE;AAC/B,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAC9D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE;AAC9B,YAAA,UAAU,CAAC,IAAI,CACX,SAAS,CAAC,SAAS,CAAC;AAChB,gBAAA,cAAc,EAAE,IAAI;AACpB,gBAAA,IAAI,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC;AAChC,aAAA,CAAC,CACL,CAAC;AACL,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE;AAC9B,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE;AAC5B,YAAA,UAAU,CAAC,IAAI,CACX,OAAO,CAAC,SAAS,CAAC;AACd,gBAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1B,GAAG,OAAO,EAAE,OAAO;aACtB,CAAC,CAAC,MAAM,CAAC;gBACN,oBAAoB,GAAA;AAChB,oBAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAC7B,CAAC,KAAU,EAAE,KAAU,MAAM;AACzB,wBAAA,IAAI,KAAK,IAAI,EAAE,CAAC;AAChB,wBAAA,CAAC,WAAW,KAAK,CAAA,CAAE,GAAG,MAClB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAC,KAAK,EAAC,CAAC;qBAClD,CAAC,EACF,EAAE,CACL,CAAC;iBACL;AACJ,aAAA,CAAC,CACL,CAAC;AACL,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,OAAO,KAAK,KAAK,EAAE;AAC5B,YAAA,UAAU,CAAC,IAAI,CACX,OAAO,CAAC,SAAS,CAAC;AACd,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,aAAa,EAAE,GAAG;gBAClB,GAAG,OAAO,EAAE,OAAO;AACtB,aAAA,CAAC,CACL,CAAC;AACL,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,cAAc,KAAK,KAAK,EAAE;AACnC,YAAA,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;AACzE,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,EAAE;AAC3B,YAAA,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE;AAC7B,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE;AAC7B,YAAA,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAC1D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE;AAC7B,YAAA,UAAU,CAAC,IAAI,CACX,QAAQ,CAAC,SAAS,CAAC;AACf,gBAAA,MAAM,EAAE,IAAI;gBACZ,GAAG,OAAO,EAAE,QAAQ;AACvB,aAAA,CAAC,CACL,CAAC;AACL,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE;AAChC,YAAA,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;AAChE,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,SAAS,KAAK,KAAK,EAAE;AAC9B,YAAA,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5D,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,MAAM,KAAK,KAAK,EAAE;AAC3B,YAAA,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AACtD,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,IAAI,KAAK,KAAK,EAAE;AACzB,YAAA,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,WAAW,KAAK,KAAK,EAAE;AAChC,YAAA,UAAU,CAAC,IAAI,CACX,WAAW,CAAC,SAAS,CAAC;AAClB,gBAAA,cAAc,EAAE,sBAAsB;AACtC,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,eAAe,EAAE,IAAI;AACrB,gBAAA,oBAAoB,EAAE,IAAI;AAC1B,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,IAAI,OAAO,EAAE,WAAW,IAAI,EAAE,CAAC;AAClC,aAAA,CAAC,CACL,CAAC;AACL,SAAA;AAED,QAAA,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,EAAE;AAC1B,YAAA,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACnC,SAAA;AAED,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ,CAAA;;ACjMD;;AAEG;;;;"}