@pie-element/shared-editor-runtime 0.1.1-next.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/browser/dist-86k79VvK.js +1829 -0
- package/dist/browser/dist-86k79VvK.js.map +1 -0
- package/dist/browser/dist-BiHYI9ZI.js +3508 -0
- package/dist/browser/dist-BiHYI9ZI.js.map +1 -0
- package/dist/browser/dist-BzUsSMiM.js +933 -0
- package/dist/browser/dist-BzUsSMiM.js.map +1 -0
- package/dist/browser/dist-DlTupuCB.js +8000 -0
- package/dist/browser/dist-DlTupuCB.js.map +1 -0
- package/dist/browser/dist-DyMj6m6j.js +996 -0
- package/dist/browser/dist-DyMj6m6j.js.map +1 -0
- package/dist/browser/prosemirror-state/index.js +2 -0
- package/dist/browser/tiptap-core/index.js +2 -0
- package/dist/browser/tiptap-extension-character-count/index.js +7 -0
- package/dist/browser/tiptap-extension-character-count/index.js.map +1 -0
- package/dist/browser/tiptap-extension-image/index.js +133 -0
- package/dist/browser/tiptap-extension-image/index.js.map +1 -0
- package/dist/browser/tiptap-extension-list-item/index.js +7 -0
- package/dist/browser/tiptap-extension-list-item/index.js.map +1 -0
- package/dist/browser/tiptap-extension-placeholder/index.js +7 -0
- package/dist/browser/tiptap-extension-placeholder/index.js.map +1 -0
- package/dist/browser/tiptap-extension-subscript/index.js +37 -0
- package/dist/browser/tiptap-extension-subscript/index.js.map +1 -0
- package/dist/browser/tiptap-extension-superscript/index.js +37 -0
- package/dist/browser/tiptap-extension-superscript/index.js.map +1 -0
- package/dist/browser/tiptap-extension-table/index.js +2 -0
- package/dist/browser/tiptap-extension-table-cell/index.js +7 -0
- package/dist/browser/tiptap-extension-table-cell/index.js.map +1 -0
- package/dist/browser/tiptap-extension-table-header/index.js +7 -0
- package/dist/browser/tiptap-extension-table-header/index.js.map +1 -0
- package/dist/browser/tiptap-extension-table-row/index.js +7 -0
- package/dist/browser/tiptap-extension-table-row/index.js.map +1 -0
- package/dist/browser/tiptap-extension-text-align/index.js +49 -0
- package/dist/browser/tiptap-extension-text-align/index.js.map +1 -0
- package/dist/browser/tiptap-extension-text-style/index.js +166 -0
- package/dist/browser/tiptap-extension-text-style/index.js.map +1 -0
- package/dist/browser/tiptap-extensions/index.js +2 -0
- package/dist/browser/tiptap-pm-state/index.js +2 -0
- package/dist/browser/tiptap-starter-kit/index.js +1642 -0
- package/dist/browser/tiptap-starter-kit/index.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist-BzUsSMiM.js","names":[],"sources":["../../../../../node_modules/.bun/@tiptap+extension-list@3.31.3+9ea2bbe04937c6bd/node_modules/@tiptap/extension-list/dist/index.js"],"sourcesContent":["import { t as __exportAll } from \"./rolldown-runtime-D7D4PA-g.js\";\nimport { Extension, Node, getNodeAtPosition, getNodeType, getPreviousBlockSibling, getRenderedAttributes, isAtEndOfNode, isAtStartOfNode, isNodeActive, mergeAttributes, parseIndentedBlocks, renderNestedMarkdownContent, wrappingInputRule } from \"@tiptap/core\";\nimport { Fragment } from \"@tiptap/pm/model\";\nimport { Plugin, TextSelection } from \"@tiptap/pm/state\";\n//#region src/bullet-list/bullet-list.ts\nconst ListItemName$1 = \"listItem\";\nconst TextStyleName$1 = \"textStyle\";\n/**\n* Matches a bullet list to a dash or asterisk.\n*/\nconst bulletListInputRegex = /^\\s*([-+*])\\s$/;\n/**\n* This extension allows you to create bullet lists.\n* This requires the ListItem extension\n* @see https://tiptap.dev/api/nodes/bullet-list\n* @see https://tiptap.dev/api/nodes/list-item.\n*/\nconst BulletList = Node.create({\n\tname: \"bulletList\",\n\taddOptions() {\n\t\treturn {\n\t\t\titemTypeName: \"listItem\",\n\t\t\tHTMLAttributes: {},\n\t\t\tkeepMarks: false,\n\t\t\tkeepAttributes: false\n\t\t};\n\t},\n\tgroup: \"block list\",\n\tcontent() {\n\t\treturn `${this.options.itemTypeName}+`;\n\t},\n\tparseHTML() {\n\t\treturn [{ tag: \"ul\" }];\n\t},\n\trenderHTML({ HTMLAttributes }) {\n\t\treturn [\n\t\t\t\"ul\",\n\t\t\tmergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n\t\t\t0\n\t\t];\n\t},\n\tmarkdownTokenName: \"list\",\n\tparseMarkdown: (token, helpers) => {\n\t\tif (token.type !== \"list\" || token.ordered) return [];\n\t\treturn {\n\t\t\ttype: \"bulletList\",\n\t\t\tcontent: token.items ? helpers.parseChildren(token.items) : []\n\t\t};\n\t},\n\trenderMarkdown: (node, h) => {\n\t\tif (!node.content) return \"\";\n\t\treturn h.renderChildren(node.content, \"\\n\");\n\t},\n\tmarkdownOptions: { indentsContent: true },\n\taddCommands() {\n\t\treturn { toggleBulletList: () => ({ commands, chain }) => {\n\t\t\tif (this.options.keepAttributes) return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName$1, this.editor.getAttributes(TextStyleName$1)).run();\n\t\t\treturn commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n\t\t} };\n\t},\n\taddKeyboardShortcuts() {\n\t\treturn { \"Mod-Shift-8\": () => this.editor.commands.toggleBulletList() };\n\t},\n\taddInputRules() {\n\t\tlet inputRule = wrappingInputRule({\n\t\t\tfind: bulletListInputRegex,\n\t\t\ttype: this.type\n\t\t});\n\t\tif (this.options.keepMarks || this.options.keepAttributes) inputRule = wrappingInputRule({\n\t\t\tfind: bulletListInputRegex,\n\t\t\ttype: this.type,\n\t\t\tkeepMarks: this.options.keepMarks,\n\t\t\tkeepAttributes: this.options.keepAttributes,\n\t\t\tgetAttributes: () => {\n\t\t\t\treturn this.editor.getAttributes(TextStyleName$1);\n\t\t\t},\n\t\t\teditor: this.editor\n\t\t});\n\t\treturn [inputRule];\n\t}\n});\n//#endregion\n//#region src/helpers/getBranchingNestedListAtCursor.ts\n/**\n* Resolves a branching nested list immediately after the cursor when the selection is\n* collapsed at the end of a textblock inside a list item.\n*\n* @param state - The editor state to inspect.\n* @param itemName - The list item node name (for example `listItem` or `taskItem`).\n* @param wrapperNames - List wrapper node names (for example `bulletList` and `orderedList`).\n* @returns Resolved positions and nodes for hoisting, or `null` when not applicable.\n*\n* @example\n* ```ts\n* const context = getBranchingNestedListAtCursor(editor.state, 'listItem', [\n* 'bulletList',\n* 'orderedList',\n* ])\n*\n* if (context) {\n* // cursor is at the end of Item 1 before a branching nested sublist\n* }\n* ```\n*/\nconst getBranchingNestedListAtCursor = (state, itemName, wrapperNames) => {\n\tconst { selection } = state;\n\tif (!selection.empty) return null;\n\tconst { $from } = selection;\n\tif (!$from.parent.isTextblock) return null;\n\tif ($from.parentOffset !== $from.parent.content.size) return null;\n\tlet listItemDepth = -1;\n\tfor (let depth = $from.depth; depth > 0; depth -= 1) if ($from.node(depth).type.name === itemName) {\n\t\tlistItemDepth = depth;\n\t\tbreak;\n\t}\n\tif (listItemDepth < 0) return null;\n\tconst listItem = $from.node(listItemDepth);\n\tconst indexInListItem = $from.index(listItemDepth);\n\tif (indexInListItem + 1 >= listItem.childCount) return null;\n\tconst nextChild = listItem.child(indexInListItem + 1);\n\tif (!wrapperNames.includes(nextChild.type.name)) return null;\n\tconst itemType = state.schema.nodes[itemName];\n\tlet hasBranching = false;\n\tnextChild.forEach((child) => {\n\t\tif (child.type === itemType && child.childCount > 1) hasBranching = true;\n\t});\n\tif (!hasBranching) return null;\n\tconst nodeAfter = state.doc.resolve($from.after()).nodeAfter;\n\tif (!nodeAfter || !wrapperNames.includes(nodeAfter.type.name)) return null;\n\tconst items = [];\n\tnodeAfter.forEach((child) => {\n\t\titems.push(child);\n\t});\n\tif (items.length === 0) return null;\n\treturn {\n\t\tlistItemDepth,\n\t\tnestedList: nodeAfter,\n\t\tnestedListPos: $from.after(),\n\t\tinsertPos: $from.after(listItemDepth),\n\t\titems\n\t};\n};\n//#endregion\n//#region src/helpers/hoistBranchingNestedList.ts\n/**\n* Hoists all list items from a branching nested list after the cursor into the parent list.\n*\n* Use this when `joinForward` cannot restructure a nested list that contains list items\n* with sublists (see issue #6906).\n*\n* @param state - The editor state to transform.\n* @param dispatch - Optional dispatch function for the transaction.\n* @param itemName - The list item node name (for example `listItem` or `taskItem`).\n* @param wrapperNames - List wrapper node names (for example `bulletList` and `orderedList`).\n* @returns `true` when the nested list was hoisted, otherwise `false`.\n*\n* @example\n* ```ts\n* // Cursor at the end of \"Item 1\" before a nested list with branching items.\n* hoistBranchingNestedList(editor.state, editor.view.dispatch, 'listItem', [\n* 'bulletList',\n* 'orderedList',\n* ])\n* ```\n*/\nconst hoistBranchingNestedList = (state, dispatch, itemName, wrapperNames) => {\n\tconst context = getBranchingNestedListAtCursor(state, itemName, wrapperNames);\n\tif (!context) return false;\n\tconst { selection } = state;\n\tconst { nestedList, nestedListPos, insertPos, items } = context;\n\tconst tr = state.tr;\n\ttr.delete(nestedListPos, nestedListPos + nestedList.nodeSize);\n\tconst mappedInsertPos = tr.mapping.map(insertPos);\n\ttr.insert(mappedInsertPos, Fragment.from(items));\n\ttr.setSelection(selection.map(tr.doc, tr.mapping));\n\tif (dispatch) dispatch(tr);\n\treturn true;\n};\n//#endregion\n//#region src/helpers/handleDeleteBranchingNestedList.ts\n/**\n* Handles Delete for a list item when a branching nested sublist follows the cursor.\n*\n* @param editor - The editor instance whose state should be updated.\n* @param itemName - The list item node name (for example `listItem` or `taskItem`).\n* @param wrapperNames - List wrapper node names (for example `bulletList` and `orderedList`).\n* @returns `true` when the nested list was hoisted, otherwise `false`.\n*\n* @example\n* ```ts\n* Delete: () =>\n* handleDeleteBranchingNestedList(editor, 'listItem', ['bulletList', 'orderedList']),\n* ```\n*/\nconst handleDeleteBranchingNestedList = (editor, itemName, wrapperNames) => {\n\treturn hoistBranchingNestedList(editor.state, editor.view.dispatch, itemName, wrapperNames);\n};\n//#endregion\n//#region src/helpers/createBranchingListDeleteKeymap.ts\n/**\n* Creates a high-priority keymap extension that handles Delete for branching nested lists.\n* Kept separate from the list item node so Enter/Tab shortcuts keep their default priority.\n*/\nconst createBranchingListDeleteKeymap = (itemName, wrapperNames) => {\n\treturn Extension.create({\n\t\tname: `${itemName}BranchingDeleteKeymap`,\n\t\tpriority: 101,\n\t\taddKeyboardShortcuts() {\n\t\t\tconst handleDelete = () => handleDeleteBranchingNestedList(this.editor, itemName, wrapperNames);\n\t\t\treturn {\n\t\t\t\tDelete: handleDelete,\n\t\t\t\t\"Mod-Delete\": handleDelete\n\t\t\t};\n\t\t}\n\t});\n};\n//#endregion\n//#region src/ordered-list/roman.ts\nconst ROMAN_NUMERALS = [\n\t[1e3, \"m\"],\n\t[900, \"cm\"],\n\t[500, \"d\"],\n\t[400, \"cd\"],\n\t[100, \"c\"],\n\t[90, \"xc\"],\n\t[50, \"l\"],\n\t[40, \"xl\"],\n\t[10, \"x\"],\n\t[9, \"ix\"],\n\t[5, \"v\"],\n\t[4, \"iv\"],\n\t[1, \"i\"]\n];\nconst ALPHA_NUMERALS = \"abcdefghijklmnopqrstuvwxyz\";\n/**\n* Marker segment for ordered list lines: numeric, roman, or 1–2 letter alpha.\n* Roman is matched before alpha so \"iii\" is roman; invalid romans like \"aa\" fall through to alpha.\n*/\nconst ORDERED_LIST_MARKER_PATTERN = String.raw`\\d+|[ivxlcdmIVXLCDM]+|${\"[a-zA-Z]{1,2}\"}`;\n/**\n* Convert a number to lowercase roman numerals.\n* @example toRoman(1) // 'i'\n* @example toRoman(4) // 'iv'\n*/\nfunction toRoman(num) {\n\tlet remaining = num;\n\tlet result = \"\";\n\tfor (const [value, numeral] of ROMAN_NUMERALS) while (remaining >= value) {\n\t\tresult += numeral;\n\t\tremaining -= value;\n\t}\n\treturn result;\n}\n/**\n* Convert a number to uppercase roman numerals.\n* @example toRomanUpper(1) // 'I'\n* @example toRomanUpper(4) // 'IV'\n*/\nfunction toRomanUpper(num) {\n\treturn toRoman(num).toUpperCase();\n}\nfunction fromRoman(roman) {\n\tconst lower = roman.toLowerCase();\n\tlet index = 0;\n\tlet result = 0;\n\twhile (index < lower.length) {\n\t\tlet matched = false;\n\t\tfor (const [value, numeral] of ROMAN_NUMERALS) if (lower.startsWith(numeral, index)) {\n\t\t\tresult += value;\n\t\t\tindex += numeral.length;\n\t\t\tmatched = true;\n\t\t\tbreak;\n\t\t}\n\t\tif (!matched) return 0;\n\t}\n\treturn result;\n}\nfunction isValidRoman(marker) {\n\tif (!/^[ivxlcdmIVXLCDM]+$/.test(marker)) return false;\n\tconst value = fromRoman(marker);\n\tif (value <= 0) return false;\n\treturn (marker === marker.toLowerCase() ? toRoman(value) : toRomanUpper(value)) === marker;\n}\nfunction fromAlpha(marker) {\n\tconst lower = marker.toLowerCase();\n\tif (lower.length === 1) return lower.charCodeAt(0) - \"a\".charCodeAt(0) + 1;\n\tif (lower.length === 2) {\n\t\tconst first = lower.charCodeAt(0) - \"a\".charCodeAt(0);\n\t\tconst second = lower.charCodeAt(1) - \"a\".charCodeAt(0);\n\t\treturn (first + 1) * 26 + second + 1;\n\t}\n\treturn 0;\n}\nfunction toRomanAlpha(num) {\n\tif (num <= 26) return ALPHA_NUMERALS[num - 1];\n\tconst first = Math.floor((num - 1) / 26) - 1;\n\tconst second = (num - 1) % 26;\n\tif (first < 0) return ALPHA_NUMERALS[second];\n\treturn ALPHA_NUMERALS[first] + ALPHA_NUMERALS[second];\n}\n/**\n* Extract the list marker type from a marker string.\n* Supports \"1\", \"a\", \"A\", \"i\", \"I\" marker styles.\n*\n* @param marker The text content of the list marker (e.g. \"a\", \"1\", \"iii\", \"b\")\n* @returns The normalized type string, or undefined for default numeric type\n*/\nfunction detectMarkerType(marker) {\n\tif (!marker || /^\\d+$/.test(marker)) return;\n\tif (isValidRoman(marker)) return marker === marker.toLowerCase() ? \"i\" : \"I\";\n\tif (/^[a-z]{1,2}$/.test(marker)) return \"a\";\n\tif (/^[A-Z]{1,2}$/.test(marker)) return \"A\";\n}\n/**\n* Convert a list marker string to its numeric start position.\n*\n* @param marker The text content of the list marker (e.g. \"3\", \"b\", \"II\")\n* @returns The 1-based start value for the ordered list\n*/\nfunction markerToStart(marker) {\n\tif (/^\\d+$/.test(marker)) return parseInt(marker, 10);\n\tconst type = detectMarkerType(marker);\n\tif (type === \"i\" || type === \"I\") return fromRoman(marker);\n\tif (type === \"a\" || type === \"A\") {\n\t\tconst start = fromAlpha(marker);\n\t\treturn start > 0 ? start : 1;\n\t}\n\tconst parsed = parseInt(marker, 10);\n\treturn Number.isNaN(parsed) ? 1 : parsed;\n}\nfunction startToMarker(type, start) {\n\tif (type === \"numeric\") return String(start);\n\tswitch (type) {\n\t\tcase \"a\": return toRomanAlpha(start);\n\t\tcase \"A\": return toRomanAlpha(start).toUpperCase();\n\t\tcase \"i\": return toRoman(start);\n\t\tcase \"I\": return toRomanUpper(start);\n\t\tdefault: return String(start);\n\t}\n}\n/**\n* Returns true when all markers share the same style and increment by 1.\n* Style is inferred from the first marker so ambiguous letters (e.g. \"c\", \"i\")\n* are not re-classified differently on later lines.\n*/\nfunction areOrderedListMarkersSequential(markers) {\n\tvar _detectMarkerType;\n\tif (markers.length === 0) return false;\n\tconst firstType = (_detectMarkerType = detectMarkerType(markers[0])) !== null && _detectMarkerType !== void 0 ? _detectMarkerType : \"numeric\";\n\tconst firstStart = markerToStart(markers[0]);\n\tif (firstStart < 1) return false;\n\tfor (let i = 0; i < markers.length; i++) {\n\t\tconst expected = startToMarker(firstType, firstStart + i);\n\t\tif (markers[i] !== expected) return false;\n\t}\n\treturn true;\n}\n/**\n* Parse a list marker into HTML ordered-list attrs (type + start).\n*/\nfunction parseListMarker(marker) {\n\treturn {\n\t\ttype: detectMarkerType(marker),\n\t\tstart: markerToStart(marker)\n\t};\n}\n/**\n* Build orderedList node attrs from the first list item marker.\n*/\nfunction buildOrderedListAttrsFromMarker(marker) {\n\tconst { type, start } = parseListMarker(marker);\n\tconst attrs = {};\n\tif (type) attrs.type = type;\n\tif (start !== 1) attrs.start = start;\n\treturn attrs;\n}\n/**\n* Returns the list marker prefix for a given item at a given index.\n*\n* @param type The list type attribute (e.g. \"a\", \"A\", \"i\", \"I\", null/undefined for default)\n* @param index The zero-based index of the list item\n* @param separator The separator to use (default: \". \")\n* @returns The marker string (e.g. \"a. \", \"I. \", \"1. \")\n*/\nfunction getListMarker(type, index, separator = \". \") {\n\tconst position = index + 1;\n\tif (!type || type === \"1\") return `${position}${separator}`;\n\tswitch (type) {\n\t\tcase \"a\": return `${toRomanAlpha(position)}${separator}`;\n\t\tcase \"A\": return `${toRomanAlpha(position).toUpperCase()}${separator}`;\n\t\tcase \"i\": return `${toRoman(position)}${separator}`;\n\t\tcase \"I\": return `${toRomanUpper(position)}${separator}`;\n\t\tdefault: return `${position}${separator}`;\n\t}\n}\n//#endregion\n//#region src/item/list-item.ts\nfunction isSameLineOrderedListToken(token) {\n\tvar _token$tokens, _token$tokens2;\n\tconst nestedToken = (_token$tokens = token.tokens) === null || _token$tokens === void 0 ? void 0 : _token$tokens[0];\n\treturn Boolean(token.text && ((_token$tokens2 = token.tokens) === null || _token$tokens2 === void 0 ? void 0 : _token$tokens2.length) === 1 && (nestedToken === null || nestedToken === void 0 ? void 0 : nestedToken.type) === \"list\" && nestedToken.ordered && nestedToken.raw === token.text);\n}\nfunction parseSameLineOrderedListText(text, helpers) {\n\tif (helpers.tokenizeInline) return helpers.parseInline(helpers.tokenizeInline(text));\n\treturn helpers.parseInline([{\n\t\ttype: \"text\",\n\t\traw: text,\n\t\ttext\n\t}]);\n}\n/**\n* This extension allows you to create list items.\n* @see https://www.tiptap.dev/api/nodes/list-item\n*/\nconst ListItem = Node.create({\n\tname: \"listItem\",\n\taddOptions() {\n\t\treturn {\n\t\t\tHTMLAttributes: {},\n\t\t\tbulletListTypeName: \"bulletList\",\n\t\t\torderedListTypeName: \"orderedList\"\n\t\t};\n\t},\n\tcontent: \"paragraph block*\",\n\tdefining: true,\n\tparseHTML() {\n\t\treturn [{ tag: \"li\" }];\n\t},\n\trenderHTML({ HTMLAttributes }) {\n\t\treturn [\n\t\t\t\"li\",\n\t\t\tmergeAttributes(this.options.HTMLAttributes, HTMLAttributes),\n\t\t\t0\n\t\t];\n\t},\n\tmarkdownTokenName: \"list_item\",\n\tparseMarkdown: (token, helpers) => {\n\t\tvar _helpers$parseBlockCh;\n\t\tif (token.type !== \"list_item\") return [];\n\t\tconst parseBlockChildren = (_helpers$parseBlockCh = helpers.parseBlockChildren) !== null && _helpers$parseBlockCh !== void 0 ? _helpers$parseBlockCh : helpers.parseChildren;\n\t\tlet content = [];\n\t\tif (token.tokens && token.tokens.length > 0) {\n\t\t\tif (isSameLineOrderedListToken(token)) return {\n\t\t\t\ttype: \"listItem\",\n\t\t\t\tcontent: [{\n\t\t\t\t\ttype: \"paragraph\",\n\t\t\t\t\tcontent: parseSameLineOrderedListText(token.text || \"\", helpers)\n\t\t\t\t}]\n\t\t\t};\n\t\t\tif (token.tokens.some((t) => t.type === \"paragraph\")) content = parseBlockChildren(token.tokens);\n\t\t\telse {\n\t\t\t\tconst firstToken = token.tokens[0];\n\t\t\t\tif (firstToken && firstToken.type === \"text\" && firstToken.tokens && firstToken.tokens.length > 0) {\n\t\t\t\t\tcontent = [{\n\t\t\t\t\t\ttype: \"paragraph\",\n\t\t\t\t\t\tcontent: helpers.parseInline(firstToken.tokens)\n\t\t\t\t\t}];\n\t\t\t\t\tif (token.tokens.length > 1) {\n\t\t\t\t\t\tconst additionalContent = parseBlockChildren(token.tokens.slice(1));\n\t\t\t\t\t\tcontent.push(...additionalContent);\n\t\t\t\t\t}\n\t\t\t\t} else content = parseBlockChildren(token.tokens);\n\t\t\t}\n\t\t}\n\t\tif (content.length === 0) content = [{\n\t\t\ttype: \"paragraph\",\n\t\t\tcontent: []\n\t\t}];\n\t\treturn {\n\t\t\ttype: \"listItem\",\n\t\t\tcontent\n\t\t};\n\t},\n\trenderMarkdown: (node, h, ctx) => {\n\t\treturn renderNestedMarkdownContent(node, h, (context) => {\n\t\t\tif (context.parentType === \"bulletList\") return \"- \";\n\t\t\tif (context.parentType === \"orderedList\") {\n\t\t\t\tvar _context$meta, _context$meta2;\n\t\t\t\tconst start = ((_context$meta = context.meta) === null || _context$meta === void 0 || (_context$meta = _context$meta.parentAttrs) === null || _context$meta === void 0 ? void 0 : _context$meta.start) || 1;\n\t\t\t\treturn getListMarker((_context$meta2 = context.meta) === null || _context$meta2 === void 0 || (_context$meta2 = _context$meta2.parentAttrs) === null || _context$meta2 === void 0 ? void 0 : _context$meta2.type, start - 1 + (context.index || 0), \". \");\n\t\t\t}\n\t\t\treturn \"- \";\n\t\t}, ctx, { alignNestedToPrefix: (ctx === null || ctx === void 0 ? void 0 : ctx.parentType) === \"orderedList\" });\n\t},\n\taddExtensions() {\n\t\treturn [createBranchingListDeleteKeymap(this.name, [this.options.bulletListTypeName, this.options.orderedListTypeName])];\n\t},\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\tEnter: () => this.editor.commands.splitListItem(this.name),\n\t\t\tTab: () => this.editor.commands.sinkListItem(this.name),\n\t\t\t\"Shift-Tab\": () => this.editor.commands.liftListItem(this.name)\n\t\t};\n\t}\n});\n//#endregion\n//#region src/keymap/listHelpers/findListItemPos.ts\nconst findListItemPos = (typeOrName, state) => {\n\tconst { $from } = state.selection;\n\tconst nodeType = getNodeType(typeOrName, state.schema);\n\tlet currentNode = null;\n\tlet currentDepth = $from.depth;\n\tlet currentPos = $from.pos;\n\tlet targetDepth = null;\n\twhile (currentDepth > 0 && targetDepth === null) {\n\t\tcurrentNode = $from.node(currentDepth);\n\t\tif (currentNode.type === nodeType) targetDepth = currentDepth;\n\t\telse {\n\t\t\tcurrentDepth -= 1;\n\t\t\tcurrentPos -= 1;\n\t\t}\n\t}\n\tif (targetDepth === null) return null;\n\treturn {\n\t\t$pos: state.doc.resolve(currentPos),\n\t\tdepth: targetDepth\n\t};\n};\n//#endregion\n//#region src/keymap/listHelpers/getNextListDepth.ts\nconst getNextListDepth = (typeOrName, state) => {\n\tconst listItemPos = findListItemPos(typeOrName, state);\n\tif (!listItemPos) return false;\n\tconst [, depth] = getNodeAtPosition(state, typeOrName, listItemPos.$pos.pos + 4);\n\treturn depth;\n};\n//#endregion\n//#region src/keymap/listHelpers/hasListBefore.ts\nconst hasListBefore = (editorState, name, parentListTypes) => {\n\tconst { $anchor } = editorState.selection;\n\tconst previousNodePos = Math.max(0, $anchor.pos - 2);\n\tconst previousNode = editorState.doc.resolve(previousNodePos).node();\n\tif (!previousNode || !parentListTypes.includes(previousNode.type.name)) return false;\n\treturn true;\n};\n//#endregion\n//#region src/keymap/listHelpers/handleBackspace.ts\nconst handleBackspace = (editor, name, parentListTypes) => {\n\tif (editor.commands.undoInputRule()) return true;\n\tif (editor.state.selection.from !== editor.state.selection.to) return false;\n\tif (!isNodeActive(editor.state, name) && hasListBefore(editor.state, name, parentListTypes)) {\n\t\tconst { $anchor } = editor.state.selection;\n\t\tconst $listPos = editor.state.doc.resolve($anchor.before() - 1);\n\t\tconst listDescendants = [];\n\t\t$listPos.node().descendants((node, pos) => {\n\t\t\tif (node.type.name === name) listDescendants.push({\n\t\t\t\tnode,\n\t\t\t\tpos\n\t\t\t});\n\t\t});\n\t\tconst lastItem = listDescendants.at(-1);\n\t\tif (!lastItem) return false;\n\t\tconst $lastItemPos = editor.state.doc.resolve($listPos.start() + lastItem.pos + 1);\n\t\treturn editor.chain().cut({\n\t\t\tfrom: $anchor.start() - 1,\n\t\t\tto: $anchor.end() + 1\n\t\t}, $lastItemPos.end()).joinForward().run();\n\t}\n\tif (!isNodeActive(editor.state, name)) return false;\n\tif (!isAtStartOfNode(editor.state)) return false;\n\tconst { $from } = editor.state.selection;\n\tconst itemDepth = $from.depth - 1;\n\tif ($from.node(itemDepth).type !== editor.schema.nodes[name] || $from.index(itemDepth) !== 0) return false;\n\treturn editor.chain().liftListItem(name).run();\n};\n//#endregion\n//#region src/keymap/listHelpers/nextListIsDeeper.ts\nconst nextListIsDeeper = (typeOrName, state) => {\n\tconst listDepth = getNextListDepth(typeOrName, state);\n\tconst listItemPos = findListItemPos(typeOrName, state);\n\tif (!listItemPos || !listDepth) return false;\n\tif (listDepth > listItemPos.depth) return true;\n\treturn false;\n};\n//#endregion\n//#region src/keymap/listHelpers/nextListIsHigher.ts\nconst nextListIsHigher = (typeOrName, state) => {\n\tconst listDepth = getNextListDepth(typeOrName, state);\n\tconst listItemPos = findListItemPos(typeOrName, state);\n\tif (!listItemPos || !listDepth) return false;\n\tif (listDepth < listItemPos.depth) return true;\n\treturn false;\n};\n//#endregion\n//#region src/keymap/listHelpers/handleDelete.ts\nconst handleDelete = (editor, name) => {\n\tif (!isNodeActive(editor.state, name)) return false;\n\tif (!isAtEndOfNode(editor.state, name)) return false;\n\tconst { selection } = editor.state;\n\tconst { $from, $to } = selection;\n\tif (!selection.empty && $from.sameParent($to)) return false;\n\tif (nextListIsDeeper(name, editor.state)) return editor.chain().focus(editor.state.selection.from + 4).lift(name).joinBackward().run();\n\tif (nextListIsHigher(name, editor.state)) return editor.chain().joinForward().joinBackward().run();\n\treturn editor.commands.joinItemForward();\n};\n//#endregion\n//#region src/keymap/listHelpers/handleTab.ts\nconst handleTab = (editor, name, parentListTypes) => {\n\tconst { state } = editor;\n\tconst { selection } = state;\n\tif (!selection.empty) return false;\n\tconst { $from } = selection;\n\tif ($from.parentOffset !== 0) return false;\n\tif (!$from.parent.isTextblock) return false;\n\tif (isNodeActive(state, name)) return false;\n\tconst previous = getPreviousBlockSibling($from);\n\tif (!previous || !parentListTypes.includes(previous.type.name)) return false;\n\tconst lastItem = previous.lastChild;\n\tif (!lastItem || lastItem.type.name !== name) return false;\n\tconst block = $from.parent;\n\tif (!lastItem.canReplace(lastItem.childCount, lastItem.childCount, Fragment.from(block))) return false;\n\tconst blockStart = $from.before();\n\tconst blockEnd = $from.after();\n\tconst insideLastItemEnd = blockStart - 2;\n\treturn editor.commands.command(({ tr, dispatch }) => {\n\t\tif (dispatch) {\n\t\t\ttr.delete(blockStart, blockEnd).insert(insideLastItemEnd, Fragment.from(block));\n\t\t\ttr.setSelection(TextSelection.create(tr.doc, insideLastItemEnd + 1));\n\t\t\ttr.scrollIntoView();\n\t\t}\n\t\treturn true;\n\t});\n};\n//#endregion\n//#region src/keymap/listHelpers/hasListItemAfter.ts\nconst hasListItemAfter = (typeOrName, state) => {\n\tvar _$targetPos$nodeAfter;\n\tconst { $anchor } = state.selection;\n\tconst $targetPos = state.doc.resolve($anchor.pos - $anchor.parentOffset - 2);\n\tif ($targetPos.index() === $targetPos.parent.childCount - 1) return false;\n\tif (((_$targetPos$nodeAfter = $targetPos.nodeAfter) === null || _$targetPos$nodeAfter === void 0 ? void 0 : _$targetPos$nodeAfter.type.name) !== typeOrName) return false;\n\treturn true;\n};\n//#endregion\n//#region src/keymap/listHelpers/hasListItemBefore.ts\nconst hasListItemBefore = (typeOrName, state) => {\n\tvar _$targetPos$nodeBefor;\n\tconst { $anchor } = state.selection;\n\tconst $targetPos = state.doc.resolve($anchor.pos - 2);\n\tif ($targetPos.index() === 0) return false;\n\tif (((_$targetPos$nodeBefor = $targetPos.nodeBefore) === null || _$targetPos$nodeBefor === void 0 ? void 0 : _$targetPos$nodeBefor.type.name) !== typeOrName) return false;\n\treturn true;\n};\n//#endregion\n//#region src/keymap/listHelpers/listItemHasSubList.ts\nconst listItemHasSubList = (typeOrName, state, node) => {\n\tif (!node) return false;\n\tconst nodeType = getNodeType(typeOrName, state.schema);\n\tlet hasSubList = false;\n\tnode.descendants((child) => {\n\t\tif (child.type === nodeType) hasSubList = true;\n\t});\n\treturn hasSubList;\n};\n//#endregion\n//#region src/keymap/listHelpers/index.ts\nvar listHelpers_exports = /* @__PURE__ */ __exportAll({\n\tfindListItemPos: () => findListItemPos,\n\tgetNextListDepth: () => getNextListDepth,\n\thandleBackspace: () => handleBackspace,\n\thandleDelete: () => handleDelete,\n\thandleTab: () => handleTab,\n\thasListBefore: () => hasListBefore,\n\thasListItemAfter: () => hasListItemAfter,\n\thasListItemBefore: () => hasListItemBefore,\n\tlistItemHasSubList: () => listItemHasSubList,\n\tnextListIsDeeper: () => nextListIsDeeper,\n\tnextListIsHigher: () => nextListIsHigher\n});\n//#endregion\n//#region src/keymap/list-keymap.ts\n/**\n* This extension registers custom keymaps to change the behaviour of the backspace and delete keys.\n* By default Prosemirror keyhandling will always lift or sink items so paragraphs are joined into\n* the adjacent or previous list item. This extension will prevent this behaviour and instead will\n* try to join paragraphs from two list items into a single list item.\n* @see https://www.tiptap.dev/api/extensions/list-keymap\n*/\nconst ListKeymap = Extension.create({\n\tname: \"listKeymap\",\n\taddOptions() {\n\t\treturn { listTypes: [{\n\t\t\titemName: \"listItem\",\n\t\t\twrapperNames: [\"bulletList\", \"orderedList\"]\n\t\t}, {\n\t\t\titemName: \"taskItem\",\n\t\t\twrapperNames: [\"taskList\"]\n\t\t}] };\n\t},\n\taddKeyboardShortcuts() {\n\t\treturn {\n\t\t\tDelete: ({ editor }) => {\n\t\t\t\tlet handled = false;\n\t\t\t\tthis.options.listTypes.forEach(({ itemName }) => {\n\t\t\t\t\tif (editor.state.schema.nodes[itemName] === void 0) return;\n\t\t\t\t\tif (handleDelete(editor, itemName)) handled = true;\n\t\t\t\t});\n\t\t\t\treturn handled;\n\t\t\t},\n\t\t\t\"Mod-Delete\": ({ editor }) => {\n\t\t\t\tlet handled = false;\n\t\t\t\tthis.options.listTypes.forEach(({ itemName }) => {\n\t\t\t\t\tif (editor.state.schema.nodes[itemName] === void 0) return;\n\t\t\t\t\tif (handleDelete(editor, itemName)) handled = true;\n\t\t\t\t});\n\t\t\t\treturn handled;\n\t\t\t},\n\t\t\tBackspace: ({ editor }) => {\n\t\t\t\tlet handled = false;\n\t\t\t\tthis.options.listTypes.forEach(({ itemName, wrapperNames }) => {\n\t\t\t\t\tif (editor.state.schema.nodes[itemName] === void 0) return;\n\t\t\t\t\tif (handleBackspace(editor, itemName, wrapperNames)) handled = true;\n\t\t\t\t});\n\t\t\t\treturn handled;\n\t\t\t},\n\t\t\t\"Mod-Backspace\": ({ editor }) => {\n\t\t\t\tlet handled = false;\n\t\t\t\tthis.options.listTypes.forEach(({ itemName, wrapperNames }) => {\n\t\t\t\t\tif (editor.state.schema.nodes[itemName] === void 0) return;\n\t\t\t\t\tif (handleBackspace(editor, itemName, wrapperNames)) handled = true;\n\t\t\t\t});\n\t\t\t\treturn handled;\n\t\t\t},\n\t\t\tTab: ({ editor }) => {\n\t\t\t\tfor (const { itemName, wrapperNames } of this.options.listTypes) {\n\t\t\t\t\tif (editor.state.schema.nodes[itemName] === void 0) continue;\n\t\t\t\t\tif (handleTab(editor, itemName, wrapperNames)) return true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t}\n\t\t};\n\t}\n});\n//#endregion\n//#region src/ordered-list/utils.ts\n/**\n* Matches an ordered list item line with optional leading whitespace.\n* Captures: (1) indentation spaces, (2) item marker (number, letter, or roman numeral),\n* (3) separator (. or )), (4) content after marker\n*\n* Examples: \"1. Item\", \" a) Nested item\", \" I. Roman item\", \"iii. Another\", \"aa. Item 27\"\n*/\nconst ORDERED_LIST_ITEM_REGEX = new RegExp(`^(\\\\s*)(${ORDERED_LIST_MARKER_PATTERN})([.)])\\\\s+(.*)$`);\n/**\n* Matches any line that starts with whitespace (indented content).\n* Used to identify continuation content that belongs to a list item.\n*/\nconst INDENTED_LINE_REGEX = /^\\s/;\n/**\n* This are blocks that can interrupt a paragraph, so a line starting with one of\n* them can never be lazy continuation text of a list item\n*/\nconst PARAGRAPH_INTERRUPTERS = {\n\theading: /^#{1,6}(?:\\s|$)/,\n\tbulletItem: /^[-+*]\\s+/,\n\tcodeFence: /^(?:```|~~~)/,\n\tblockMath: /^\\$\\$/,\n\tthematicBreak: /^(?:(?:-[ \\t]*){3,}|(?:_[ \\t]*){3,}|(?:\\*[ \\t]*){3,})$/\n};\nfunction isOrderedListMarkerLine(line) {\n\treturn ORDERED_LIST_ITEM_REGEX.test(line.trimStart());\n}\nfunction isBlockContentLine(line) {\n\tconst trimmedLine = line.trimStart();\n\treturn PARAGRAPH_INTERRUPTERS.bulletItem.test(trimmedLine) || isOrderedListMarkerLine(trimmedLine) || PARAGRAPH_INTERRUPTERS.heading.test(trimmedLine) || PARAGRAPH_INTERRUPTERS.thematicBreak.test(trimmedLine) && !trimmedLine.startsWith(\"-\") || /^>\\s?/.test(trimmedLine) || PARAGRAPH_INTERRUPTERS.codeFence.test(trimmedLine) || PARAGRAPH_INTERRUPTERS.blockMath.test(trimmedLine);\n}\nfunction interruptsLazyContinuation(line) {\n\treturn Object.values(PARAGRAPH_INTERRUPTERS).some((pattern) => pattern.test(line));\n}\nfunction splitItemContent(contentLines) {\n\tconst paragraphLines = [];\n\tconst blockLines = [];\n\tlet reachedBlockBoundary = false;\n\tcontentLines.forEach((line) => {\n\t\tif (reachedBlockBoundary) {\n\t\t\tblockLines.push(line);\n\t\t\treturn;\n\t\t}\n\t\tif (line.trim() === \"\") {\n\t\t\treachedBlockBoundary = true;\n\t\t\tblockLines.push(line);\n\t\t\treturn;\n\t\t}\n\t\tif (paragraphLines.length > 0 && isBlockContentLine(line)) {\n\t\t\treachedBlockBoundary = true;\n\t\t\tblockLines.push(line);\n\t\t\treturn;\n\t\t}\n\t\tparagraphLines.push(line);\n\t});\n\treturn {\n\t\tparagraphLines,\n\t\tblockLines\n\t};\n}\n/**\n* Collects all ordered list items from lines, parsing them into a flat array\n* with indentation information. Stops collecting continuation content when\n* encountering nested list items, allowing them to be processed separately.\n*\n* @param lines - Array of source lines to parse\n* @returns Tuple of [listItems array, number of lines consumed]\n*/\nfunction collectOrderedListItems(lines) {\n\tconst listItems = [];\n\tlet currentLineIndex = 0;\n\tlet consumed = 0;\n\twhile (currentLineIndex < lines.length) {\n\t\tconst line = lines[currentLineIndex];\n\t\tconst match = line.match(ORDERED_LIST_ITEM_REGEX);\n\t\tif (!match) break;\n\t\tconst [, indent, marker, _separator, content] = match;\n\t\tconst indentLevel = indent.length;\n\t\tconst number = parseInt(marker, 10);\n\t\tconst markerType = isNaN(number) ? detectMarkerType(marker) : void 0;\n\t\tconst itemNumber = isNaN(number) ? markerToStart(marker) : number;\n\t\tconst itemContentLines = [content];\n\t\tlet nextLineIndex = currentLineIndex + 1;\n\t\tconst itemLines = [line];\n\t\tlet sawBlankLine = false;\n\t\twhile (nextLineIndex < lines.length) {\n\t\t\tconst nextLine = lines[nextLineIndex];\n\t\t\tif (nextLine.match(ORDERED_LIST_ITEM_REGEX)) break;\n\t\t\tif (nextLine.trim() === \"\") {\n\t\t\t\titemLines.push(nextLine);\n\t\t\t\titemContentLines.push(\"\");\n\t\t\t\tsawBlankLine = true;\n\t\t\t\tnextLineIndex += 1;\n\t\t\t} else if (nextLine.match(INDENTED_LINE_REGEX)) {\n\t\t\t\tconst leadingWhitespace = nextLine.length - nextLine.trimStart().length;\n\t\t\t\tconst contentIndent = indentLevel + marker.length + 1;\n\t\t\t\titemLines.push(nextLine);\n\t\t\t\titemContentLines.push(nextLine.slice(Math.min(leadingWhitespace, contentIndent)));\n\t\t\t\tnextLineIndex += 1;\n\t\t\t} else {\n\t\t\t\tif (sawBlankLine || interruptsLazyContinuation(nextLine)) break;\n\t\t\t\titemLines.push(nextLine);\n\t\t\t\titemContentLines.push(nextLine);\n\t\t\t\tnextLineIndex += 1;\n\t\t\t}\n\t\t}\n\t\tlistItems.push({\n\t\t\tindent: indentLevel,\n\t\t\tnumber: itemNumber,\n\t\t\ttype: markerType,\n\t\t\tcontent: itemContentLines.join(\"\\n\").trim(),\n\t\t\tcontentLines: itemContentLines,\n\t\t\traw: itemLines.join(\"\\n\")\n\t\t});\n\t\tconsumed = nextLineIndex;\n\t\tcurrentLineIndex = nextLineIndex;\n\t}\n\treturn [listItems, consumed];\n}\nconst PLAIN_TEXT_ORDERED_LIST_LINE_REGEX = new RegExp(`^(${ORDERED_LIST_MARKER_PATTERN})([.)])\\\\s+(.+)$`);\n/**\n* Parse plain-text pasted ordered list lines into JSONContent, or null if not a typed list.\n*/\nfunction parsePlainTextOrderedListPaste(text) {\n\tconst lines = text.split(\"\\n\").filter((l) => l.trim().length > 0);\n\tif (lines.length === 0) return null;\n\tconst parsedItems = [];\n\tfor (const line of lines) {\n\t\tconst match = line.trim().match(PLAIN_TEXT_ORDERED_LIST_LINE_REGEX);\n\t\tif (!match) return null;\n\t\tparsedItems.push({\n\t\t\tmarker: match[1],\n\t\t\tcontent: match[3]\n\t\t});\n\t}\n\tif (!areOrderedListMarkersSequential(parsedItems.map((item) => item.marker))) return null;\n\treturn {\n\t\ttype: \"orderedList\",\n\t\tattrs: buildOrderedListAttrsFromMarker(parsedItems[0].marker),\n\t\tcontent: parsedItems.map((item) => ({\n\t\t\ttype: \"listItem\",\n\t\t\tcontent: [{\n\t\t\t\ttype: \"paragraph\",\n\t\t\t\tcontent: [{\n\t\t\t\t\ttype: \"text\",\n\t\t\t\t\ttext: item.content\n\t\t\t\t}]\n\t\t\t}]\n\t\t}))\n\t};\n}\n/**\n* Recursively builds a nested structure from a flat array of list items\n* based on their indentation levels. Creates proper markdown tokens with\n* nested lists where appropriate.\n*\n* @param items - Flat array of list items with indentation info\n* @param baseIndent - The indentation level to process at this recursion level\n* @param lexer - Markdown lexer for parsing inline and block content\n* @returns Array of list_item tokens with proper nesting\n*/\nfunction buildNestedStructure(items, baseIndent, lexer) {\n\tconst result = [];\n\tlet currentIndex = 0;\n\twhile (currentIndex < items.length) {\n\t\tconst item = items[currentIndex];\n\t\tif (item.indent === baseIndent) {\n\t\t\tconst { paragraphLines, blockLines } = splitItemContent(item.contentLines);\n\t\t\tconst mainText = paragraphLines.join(\"\\n\").trim();\n\t\t\tconst tokens = [];\n\t\t\tif (mainText) tokens.push({\n\t\t\t\ttype: \"paragraph\",\n\t\t\t\traw: mainText,\n\t\t\t\ttokens: lexer.inlineTokens(mainText)\n\t\t\t});\n\t\t\tconst additionalContent = blockLines.join(\"\\n\").trim();\n\t\t\tif (additionalContent) {\n\t\t\t\tconst blockTokens = lexer.blockTokens(additionalContent);\n\t\t\t\ttokens.push(...blockTokens);\n\t\t\t}\n\t\t\tlet lookAheadIndex = currentIndex + 1;\n\t\t\tconst nestedItems = [];\n\t\t\twhile (lookAheadIndex < items.length && items[lookAheadIndex].indent > baseIndent) {\n\t\t\t\tnestedItems.push(items[lookAheadIndex]);\n\t\t\t\tlookAheadIndex += 1;\n\t\t\t}\n\t\t\tif (nestedItems.length > 0) {\n\t\t\t\tconst nestedListItems = buildNestedStructure(nestedItems, Math.min(...nestedItems.map((nestedItem) => nestedItem.indent)), lexer);\n\t\t\t\ttokens.push({\n\t\t\t\t\ttype: \"list\",\n\t\t\t\t\tordered: true,\n\t\t\t\t\tstart: nestedItems[0].number,\n\t\t\t\t\ttypeMarker: nestedItems[0].type,\n\t\t\t\t\titems: nestedListItems,\n\t\t\t\t\traw: nestedItems.map((nestedItem) => nestedItem.raw).join(\"\\n\")\n\t\t\t\t});\n\t\t\t}\n\t\t\tresult.push({\n\t\t\t\ttype: \"list_item\",\n\t\t\t\traw: item.raw,\n\t\t\t\ttokens\n\t\t\t});\n\t\t\tcurrentIndex = lookAheadIndex;\n\t\t} else currentIndex += 1;\n\t}\n\treturn result;\n}\n/**\n* Parses markdown list item tokens into Tiptap JSONContent structure,\n* ensuring text content is properly wrapped in paragraph nodes.\n*\n* @param items - Array of markdown tokens representing list items\n* @param helpers - Markdown parse helpers for recursive parsing\n* @returns Array of listItem JSONContent nodes\n*/\nfunction parseListItems(items, helpers) {\n\treturn items.map((item) => {\n\t\tif (item.type !== \"list_item\") return helpers.parseChildren([item])[0];\n\t\tconst content = [];\n\t\tif (item.tokens && item.tokens.length > 0) item.tokens.forEach((itemToken) => {\n\t\t\tif (itemToken.type === \"paragraph\" || itemToken.type === \"list\" || itemToken.type === \"blockquote\" || itemToken.type === \"code\") content.push(...helpers.parseChildren([itemToken]));\n\t\t\telse if (itemToken.type === \"text\" && itemToken.tokens) {\n\t\t\t\tconst inlineContent = helpers.parseChildren([itemToken]);\n\t\t\t\tcontent.push({\n\t\t\t\t\ttype: \"paragraph\",\n\t\t\t\t\tcontent: inlineContent\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst parsed = helpers.parseChildren([itemToken]);\n\t\t\t\tif (parsed.length > 0) content.push(...parsed);\n\t\t\t}\n\t\t});\n\t\treturn {\n\t\t\ttype: \"listItem\",\n\t\t\tcontent\n\t\t};\n\t});\n}\n//#endregion\n//#region src/ordered-list/ordered-list.ts\nconst ListItemName = \"listItem\";\nconst TextStyleName = \"textStyle\";\n/**\n* Matches an ordered list to a 1. on input (or any number followed by a dot).\n*/\nconst orderedListInputRegex = /^(\\d+)\\.\\s$/;\n/**\n* Maps CSS list-style-type values to HTML type attribute values.\n* Google Docs and Word often use CSS instead of the HTML type attribute.\n*/\nfunction cssListStyleTypeToHtmlType(style) {\n\tconst match = style.match(/list-style-type\\s*:\\s*([^;]+)/i);\n\tif (!match) return null;\n\tswitch (match[1].trim().toLowerCase()) {\n\t\tcase \"upper-roman\": return \"I\";\n\t\tcase \"lower-roman\": return \"i\";\n\t\tcase \"upper-alpha\":\n\t\tcase \"upper-latin\": return \"A\";\n\t\tcase \"lower-alpha\":\n\t\tcase \"lower-latin\": return \"a\";\n\t\tdefault: return null;\n\t}\n}\n/**\n* This extension allows you to create ordered lists.\n* This requires the ListItem extension\n* @see https://www.tiptap.dev/api/nodes/ordered-list\n* @see https://www.tiptap.dev/api/nodes/list-item\n*/\nconst OrderedList = Node.create({\n\tname: \"orderedList\",\n\taddOptions() {\n\t\treturn {\n\t\t\titemTypeName: \"listItem\",\n\t\t\tHTMLAttributes: {},\n\t\t\tkeepMarks: false,\n\t\t\tkeepAttributes: false\n\t\t};\n\t},\n\tgroup: \"block list\",\n\tcontent() {\n\t\treturn `${this.options.itemTypeName}+`;\n\t},\n\taddAttributes() {\n\t\treturn {\n\t\t\tstart: {\n\t\t\t\tdefault: 1,\n\t\t\t\tparseHTML: (element) => {\n\t\t\t\t\treturn element.hasAttribute(\"start\") ? parseInt(element.getAttribute(\"start\") || \"\", 10) : 1;\n\t\t\t\t}\n\t\t\t},\n\t\t\ttype: {\n\t\t\t\tdefault: null,\n\t\t\t\tparseHTML: (element) => {\n\t\t\t\t\tconst htmlType = element.getAttribute(\"type\");\n\t\t\t\t\tif (htmlType) return htmlType;\n\t\t\t\t\tconst style = element.getAttribute(\"style\");\n\t\t\t\t\tif (style) {\n\t\t\t\t\t\tconst mappedFromOl = cssListStyleTypeToHtmlType(style);\n\t\t\t\t\t\tif (mappedFromOl) return mappedFromOl;\n\t\t\t\t\t}\n\t\t\t\t\tconst firstLi = element.querySelector(\"li\");\n\t\t\t\t\tif (firstLi) {\n\t\t\t\t\t\tconst liStyle = firstLi.getAttribute(\"style\");\n\t\t\t\t\t\tif (liStyle) {\n\t\t\t\t\t\t\tconst mappedFromLi = cssListStyleTypeToHtmlType(liStyle);\n\t\t\t\t\t\t\tif (mappedFromLi) return mappedFromLi;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t},\n\tparseHTML() {\n\t\treturn [{ tag: \"ol\" }];\n\t},\n\trenderHTML({ HTMLAttributes }) {\n\t\tconst { start, type, ...attributesWithoutType } = HTMLAttributes;\n\t\tconst attrs = mergeAttributes(this.options.HTMLAttributes, attributesWithoutType);\n\t\tif (start !== 1) attrs.start = start;\n\t\tif (type && type !== \"1\") attrs.type = type;\n\t\treturn [\n\t\t\t\"ol\",\n\t\t\tattrs,\n\t\t\t0\n\t\t];\n\t},\n\tmarkdownTokenName: \"list\",\n\tparseMarkdown: (token, helpers) => {\n\t\tif (token.type !== \"list\" || !token.ordered) return [];\n\t\tconst startValue = token.start || 1;\n\t\tconst typeValue = token.typeMarker;\n\t\tconst content = token.items ? parseListItems(token.items, helpers) : [];\n\t\tconst attrs = {};\n\t\tif (startValue !== 1) attrs.start = startValue;\n\t\tif (typeValue) attrs.type = typeValue;\n\t\tif (Object.keys(attrs).length > 0) return {\n\t\t\ttype: \"orderedList\",\n\t\t\tattrs,\n\t\t\tcontent\n\t\t};\n\t\treturn {\n\t\t\ttype: \"orderedList\",\n\t\t\tcontent\n\t\t};\n\t},\n\trenderMarkdown: (node, h) => {\n\t\tif (!node.content) return \"\";\n\t\treturn h.renderChildren(node.content, \"\\n\");\n\t},\n\tmarkdownTokenizer: {\n\t\tname: \"orderedList\",\n\t\tlevel: \"block\",\n\t\tstart: () => -1,\n\t\ttokenize: (src, _tokens, lexer) => {\n\t\t\tvar _listItems$, _listItems$2;\n\t\t\tconst lines = src.split(\"\\n\");\n\t\t\tconst [listItems, consumed] = collectOrderedListItems(lines);\n\t\t\tif (listItems.length === 0) return;\n\t\t\tconst items = buildNestedStructure(listItems, listItems[0].indent, lexer);\n\t\t\tif (items.length === 0) return;\n\t\t\treturn {\n\t\t\t\ttype: \"list\",\n\t\t\t\tordered: true,\n\t\t\t\tstart: ((_listItems$ = listItems[0]) === null || _listItems$ === void 0 ? void 0 : _listItems$.number) || 1,\n\t\t\t\ttypeMarker: (_listItems$2 = listItems[0]) === null || _listItems$2 === void 0 ? void 0 : _listItems$2.type,\n\t\t\t\titems,\n\t\t\t\traw: lines.slice(0, consumed).join(\"\\n\")\n\t\t\t};\n\t\t}\n\t},\n\tmarkdownOptions: { indentsContent: true },\n\taddCommands() {\n\t\treturn { toggleOrderedList: () => ({ commands, chain }) => {\n\t\t\tif (this.options.keepAttributes) return chain().toggleList(this.name, this.options.itemTypeName, this.options.keepMarks).updateAttributes(ListItemName, this.editor.getAttributes(TextStyleName)).run();\n\t\t\treturn commands.toggleList(this.name, this.options.itemTypeName, this.options.keepMarks);\n\t\t} };\n\t},\n\taddKeyboardShortcuts() {\n\t\treturn { \"Mod-Shift-7\": () => this.editor.commands.toggleOrderedList() };\n\t},\n\taddProseMirrorPlugins() {\n\t\treturn [new Plugin({ props: { handlePaste: (view, event) => {\n\t\t\tvar _event$clipboardData, _event$clipboardData2;\n\t\t\tconst html = (_event$clipboardData = event.clipboardData) === null || _event$clipboardData === void 0 ? void 0 : _event$clipboardData.getData(\"text/html\");\n\t\t\tif (html === null || html === void 0 ? void 0 : html.trim()) return false;\n\t\t\tconst text = (_event$clipboardData2 = event.clipboardData) === null || _event$clipboardData2 === void 0 ? void 0 : _event$clipboardData2.getData(\"text/plain\");\n\t\t\tif (!text) return false;\n\t\t\tconst orderedListContent = parsePlainTextOrderedListPaste(text);\n\t\t\tif (!orderedListContent) return false;\n\t\t\ttry {\n\t\t\t\tconst orderedListNode = view.state.schema.nodeFromJSON(orderedListContent);\n\t\t\t\tconst tr = view.state.tr.replaceSelectionWith(orderedListNode);\n\t\t\t\tview.dispatch(tr);\n\t\t\t\treturn true;\n\t\t\t} catch {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} } })];\n\t},\n\taddInputRules() {\n\t\tconst joinPredicate = (match, node) => {\n\t\t\treturn (!node.attrs.type || node.attrs.type === \"1\") && node.childCount + node.attrs.start === +match[1];\n\t\t};\n\t\tlet inputRule = wrappingInputRule({\n\t\t\tfind: orderedListInputRegex,\n\t\t\ttype: this.type,\n\t\t\tgetAttributes: (match) => ({ start: +match[1] }),\n\t\t\tjoinPredicate\n\t\t});\n\t\tif (this.options.keepMarks || this.options.keepAttributes) inputRule = wrappingInputRule({\n\t\t\tfind: orderedListInputRegex,\n\t\t\ttype: this.type,\n\t\t\tkeepMarks: this.options.keepMarks,\n\t\t\tkeepAttributes: this.options.keepAttributes,\n\t\t\tgetAttributes: (match) => ({\n\t\t\t\tstart: +match[1],\n\t\t\t\t...this.editor.getAttributes(TextStyleName)\n\t\t\t}),\n\t\t\tjoinPredicate,\n\t\t\teditor: this.editor\n\t\t});\n\t\treturn [inputRule];\n\t}\n});\n//#endregion\n//#region src/task-item/task-item.ts\n/**\n* Matches a task item to a - [ ] on input.\n*/\nconst inputRegex = /^\\s*(\\[([( |x])?\\])\\s$/;\n/**\n* Hides the checkbox label visually while keeping it in the accessibility tree.\n*/\nconst visuallyHiddenStyle = \"position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0\";\nconst getCheckboxLabel = (node, checked, a11y) => {\n\tvar _a11y$checkboxLabel;\n\treturn (a11y === null || a11y === void 0 || (_a11y$checkboxLabel = a11y.checkboxLabel) === null || _a11y$checkboxLabel === void 0 ? void 0 : _a11y$checkboxLabel.call(a11y, node, checked)) || `Task item checkbox for ${node.textContent || \"empty task item\"}`;\n};\n/**\n* This extension allows you to create task items.\n* @see https://www.tiptap.dev/api/nodes/task-item\n*/\nconst TaskItem = Node.create({\n\tname: \"taskItem\",\n\taddOptions() {\n\t\treturn {\n\t\t\tnested: false,\n\t\t\tHTMLAttributes: {},\n\t\t\ttaskListTypeName: \"taskList\",\n\t\t\ta11y: void 0\n\t\t};\n\t},\n\tcontent() {\n\t\treturn this.options.nested ? \"paragraph block*\" : \"paragraph+\";\n\t},\n\tdefining: true,\n\taddAttributes() {\n\t\treturn { checked: {\n\t\t\tdefault: false,\n\t\t\tkeepOnSplit: false,\n\t\t\tparseHTML: (element) => {\n\t\t\t\tconst dataChecked = element.getAttribute(\"data-checked\");\n\t\t\t\treturn dataChecked === \"\" || dataChecked === \"true\";\n\t\t\t},\n\t\t\trenderHTML: (attributes) => ({ \"data-checked\": attributes.checked })\n\t\t} };\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: `li[data-type=\"${this.name}\"]`,\n\t\t\tpriority: 51,\n\t\t\tcontentElement: (element) => {\n\t\t\t\tvar _element$querySelecto;\n\t\t\t\treturn (_element$querySelecto = element.querySelector(\"div\")) !== null && _element$querySelecto !== void 0 ? _element$querySelecto : element;\n\t\t\t}\n\t\t}];\n\t},\n\trenderHTML({ node, HTMLAttributes }) {\n\t\treturn [\n\t\t\t\"li\",\n\t\t\tmergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { \"data-type\": this.name }),\n\t\t\t[\n\t\t\t\t\"label\",\n\t\t\t\t[\"input\", {\n\t\t\t\t\ttype: \"checkbox\",\n\t\t\t\t\tchecked: node.attrs.checked ? \"checked\" : null\n\t\t\t\t}],\n\t\t\t\t[\"span\"]\n\t\t\t],\n\t\t\t[\"div\", 0]\n\t\t];\n\t},\n\tparseMarkdown: (token, h) => {\n\t\tconst content = [];\n\t\tif (token.tokens && token.tokens.length > 0) content.push(h.createNode(\"paragraph\", {}, h.parseInline(token.tokens)));\n\t\telse if (token.text) content.push(h.createNode(\"paragraph\", {}, [h.createNode(\"text\", { text: token.text })]));\n\t\telse content.push(h.createNode(\"paragraph\", {}, []));\n\t\tif (token.nestedTokens && token.nestedTokens.length > 0) {\n\t\t\tconst nestedContent = h.parseChildren(token.nestedTokens);\n\t\t\tcontent.push(...nestedContent);\n\t\t}\n\t\treturn h.createNode(\"taskItem\", { checked: token.checked || false }, content);\n\t},\n\trenderMarkdown: (node, h) => {\n\t\tvar _node$attrs;\n\t\tconst prefix = `- [${((_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.checked) ? \"x\" : \" \"}] `;\n\t\treturn renderNestedMarkdownContent(node, h, prefix);\n\t},\n\taddExtensions() {\n\t\tif (!this.options.nested) return [];\n\t\treturn [createBranchingListDeleteKeymap(this.name, [this.options.taskListTypeName])];\n\t},\n\taddKeyboardShortcuts() {\n\t\tconst shortcuts = {\n\t\t\tEnter: () => this.editor.commands.splitListItem(this.name),\n\t\t\t\"Shift-Tab\": () => this.editor.commands.liftListItem(this.name)\n\t\t};\n\t\tif (!this.options.nested) return shortcuts;\n\t\treturn {\n\t\t\t...shortcuts,\n\t\t\tTab: () => this.editor.commands.sinkListItem(this.name)\n\t\t};\n\t},\n\taddNodeView() {\n\t\treturn ({ node, HTMLAttributes, getPos, editor }) => {\n\t\t\tconst listItem = document.createElement(\"li\");\n\t\t\tconst checkboxWrapper = document.createElement(\"label\");\n\t\t\tconst checkboxStyler = document.createElement(\"span\");\n\t\t\tconst checkbox = document.createElement(\"input\");\n\t\t\tconst content = document.createElement(\"div\");\n\t\t\tcheckboxStyler.style.cssText = visuallyHiddenStyle;\n\t\t\tconst updateA11Y = (currentNode) => {\n\t\t\t\tconst label = getCheckboxLabel(currentNode, currentNode.attrs.checked, this.options.a11y);\n\t\t\t\tcheckbox.setAttribute(\"aria-label\", label);\n\t\t\t\tcheckboxStyler.textContent = label;\n\t\t\t};\n\t\t\tupdateA11Y(node);\n\t\t\tcheckboxWrapper.contentEditable = \"false\";\n\t\t\tcheckbox.type = \"checkbox\";\n\t\t\tcheckbox.addEventListener(\"mousedown\", (event) => event.preventDefault());\n\t\t\tcheckbox.addEventListener(\"change\", (event) => {\n\t\t\t\tif (!editor.isEditable && !this.options.onReadOnlyChecked) {\n\t\t\t\t\tcheckbox.checked = !checkbox.checked;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { checked } = event.target;\n\t\t\t\tif (editor.isEditable && typeof getPos === \"function\") editor.chain().focus(void 0, { scrollIntoView: false }).command(({ tr }) => {\n\t\t\t\t\tconst position = getPos();\n\t\t\t\t\tif (typeof position !== \"number\") return false;\n\t\t\t\t\tconst currentNode = tr.doc.nodeAt(position);\n\t\t\t\t\ttr.setNodeMarkup(position, void 0, {\n\t\t\t\t\t\t...currentNode === null || currentNode === void 0 ? void 0 : currentNode.attrs,\n\t\t\t\t\t\tchecked\n\t\t\t\t\t});\n\t\t\t\t\treturn true;\n\t\t\t\t}).run();\n\t\t\t\tif (!editor.isEditable && this.options.onReadOnlyChecked) {\n\t\t\t\t\tif (!this.options.onReadOnlyChecked(node, checked)) checkbox.checked = !checkbox.checked;\n\t\t\t\t}\n\t\t\t});\n\t\t\tObject.entries(this.options.HTMLAttributes).forEach(([key, value]) => {\n\t\t\t\tlistItem.setAttribute(key, value);\n\t\t\t});\n\t\t\tlistItem.dataset.checked = node.attrs.checked;\n\t\t\tcheckbox.checked = node.attrs.checked;\n\t\t\tcheckboxWrapper.append(checkbox, checkboxStyler);\n\t\t\tlistItem.append(checkboxWrapper, content);\n\t\t\tObject.entries(HTMLAttributes).forEach(([key, value]) => {\n\t\t\t\tlistItem.setAttribute(key, value);\n\t\t\t});\n\t\t\tlet prevRenderedAttributeKeys = new Set(Object.keys(HTMLAttributes));\n\t\t\treturn {\n\t\t\t\tdom: listItem,\n\t\t\t\tcontentDOM: content,\n\t\t\t\tupdate: (updatedNode) => {\n\t\t\t\t\tif (updatedNode.type !== this.type) return false;\n\t\t\t\t\tlistItem.dataset.checked = updatedNode.attrs.checked;\n\t\t\t\t\tcheckbox.checked = updatedNode.attrs.checked;\n\t\t\t\t\tupdateA11Y(updatedNode);\n\t\t\t\t\tconst extensionAttributes = editor.extensionManager.attributes;\n\t\t\t\t\tconst newHTMLAttributes = getRenderedAttributes(updatedNode, extensionAttributes);\n\t\t\t\t\tconst newKeys = new Set(Object.keys(newHTMLAttributes));\n\t\t\t\t\tconst staticAttrs = this.options.HTMLAttributes;\n\t\t\t\t\tprevRenderedAttributeKeys.forEach((key) => {\n\t\t\t\t\t\tif (!newKeys.has(key)) {\n\t\t\t\t\t\t\tif (key in staticAttrs) listItem.setAttribute(key, staticAttrs[key]);\n\t\t\t\t\t\t\telse listItem.removeAttribute(key);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tObject.entries(newHTMLAttributes).forEach(([key, value]) => {\n\t\t\t\t\t\tif (value === null || value === void 0) {\n\t\t\t\t\t\t\tif (key in staticAttrs) listItem.setAttribute(key, staticAttrs[key]);\n\t\t\t\t\t\t\telse listItem.removeAttribute(key);\n\t\t\t\t\t\t} else listItem.setAttribute(key, value);\n\t\t\t\t\t});\n\t\t\t\t\tprevRenderedAttributeKeys = newKeys;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t};\n\t\t};\n\t},\n\taddInputRules() {\n\t\treturn [wrappingInputRule({\n\t\t\tfind: inputRegex,\n\t\t\ttype: this.type,\n\t\t\tgetAttributes: (match) => ({ checked: match[match.length - 1] === \"x\" })\n\t\t})];\n\t}\n});\n//#endregion\n//#region src/task-list/task-list.ts\n/**\n* This extension allows you to create task lists.\n* @see https://www.tiptap.dev/api/nodes/task-list\n*/\nconst TaskList = Node.create({\n\tname: \"taskList\",\n\taddOptions() {\n\t\treturn {\n\t\t\titemTypeName: \"taskItem\",\n\t\t\tHTMLAttributes: {}\n\t\t};\n\t},\n\tgroup: \"block list\",\n\tcontent() {\n\t\treturn `${this.options.itemTypeName}+`;\n\t},\n\tparseHTML() {\n\t\treturn [{\n\t\t\ttag: `ul[data-type=\"${this.name}\"]`,\n\t\t\tpriority: 51\n\t\t}];\n\t},\n\trenderHTML({ HTMLAttributes }) {\n\t\treturn [\n\t\t\t\"ul\",\n\t\t\tmergeAttributes(this.options.HTMLAttributes, HTMLAttributes, { \"data-type\": this.name }),\n\t\t\t0\n\t\t];\n\t},\n\tparseMarkdown: (token, h) => {\n\t\treturn h.createNode(\"taskList\", {}, h.parseChildren(token.items || []));\n\t},\n\trenderMarkdown: (node, h) => {\n\t\tif (!node.content) return \"\";\n\t\treturn h.renderChildren(node.content, \"\\n\");\n\t},\n\tmarkdownTokenizer: {\n\t\tname: \"taskList\",\n\t\tlevel: \"block\",\n\t\tstart(src) {\n\t\t\tvar _src$match;\n\t\t\tconst index = (_src$match = src.match(/^\\s*[-+*]\\s+\\[([ xX])\\]\\s+/)) === null || _src$match === void 0 ? void 0 : _src$match.index;\n\t\t\treturn index !== void 0 ? index : -1;\n\t\t},\n\t\ttokenize(src, tokens, lexer) {\n\t\t\tconst parseTaskListContent = (content) => {\n\t\t\t\tconst nestedResult = parseIndentedBlocks(content, {\n\t\t\t\t\titemPattern: /^(\\s*)([-+*])\\s+\\[([ xX])\\]\\s+(.*)$/,\n\t\t\t\t\textractItemData: (match) => ({\n\t\t\t\t\t\tindentLevel: match[1].length,\n\t\t\t\t\t\tmainContent: match[4],\n\t\t\t\t\t\tchecked: match[3].toLowerCase() === \"x\"\n\t\t\t\t\t}),\n\t\t\t\t\tcreateToken: (data, nestedTokens) => ({\n\t\t\t\t\t\ttype: \"taskItem\",\n\t\t\t\t\t\traw: \"\",\n\t\t\t\t\t\tmainContent: data.mainContent,\n\t\t\t\t\t\tindentLevel: data.indentLevel,\n\t\t\t\t\t\tchecked: data.checked,\n\t\t\t\t\t\ttext: data.mainContent,\n\t\t\t\t\t\ttokens: lexer.inlineTokens(data.mainContent),\n\t\t\t\t\t\tnestedTokens\n\t\t\t\t\t}),\n\t\t\t\t\tcustomNestedParser: parseTaskListContent\n\t\t\t\t}, lexer);\n\t\t\t\tif (nestedResult) {\n\t\t\t\t\tconst taskListToken = {\n\t\t\t\t\t\ttype: \"taskList\",\n\t\t\t\t\t\traw: nestedResult.raw,\n\t\t\t\t\t\titems: nestedResult.items\n\t\t\t\t\t};\n\t\t\t\t\tconst remainder = content.slice(nestedResult.raw.length);\n\t\t\t\t\tif (remainder.trim()) return [taskListToken, ...lexer.blockTokens(remainder)];\n\t\t\t\t\treturn [taskListToken];\n\t\t\t\t}\n\t\t\t\treturn lexer.blockTokens(content);\n\t\t\t};\n\t\t\tconst result = parseIndentedBlocks(src, {\n\t\t\t\titemPattern: /^(\\s*)([-+*])\\s+\\[([ xX])\\]\\s+(.*)$/,\n\t\t\t\textractItemData: (match) => ({\n\t\t\t\t\tindentLevel: match[1].length,\n\t\t\t\t\tmainContent: match[4],\n\t\t\t\t\tchecked: match[3].toLowerCase() === \"x\"\n\t\t\t\t}),\n\t\t\t\tcreateToken: (data, nestedTokens) => ({\n\t\t\t\t\ttype: \"taskItem\",\n\t\t\t\t\traw: \"\",\n\t\t\t\t\tmainContent: data.mainContent,\n\t\t\t\t\tindentLevel: data.indentLevel,\n\t\t\t\t\tchecked: data.checked,\n\t\t\t\t\ttext: data.mainContent,\n\t\t\t\t\ttokens: lexer.inlineTokens(data.mainContent),\n\t\t\t\t\tnestedTokens\n\t\t\t\t}),\n\t\t\t\tcustomNestedParser: parseTaskListContent\n\t\t\t}, lexer);\n\t\t\tif (!result) return;\n\t\t\treturn {\n\t\t\t\ttype: \"taskList\",\n\t\t\t\traw: result.raw,\n\t\t\t\titems: result.items\n\t\t\t};\n\t\t}\n\t},\n\tmarkdownOptions: { indentsContent: true },\n\taddCommands() {\n\t\treturn { toggleTaskList: () => ({ commands }) => {\n\t\t\treturn commands.toggleList(this.name, this.options.itemTypeName);\n\t\t} };\n\t},\n\taddKeyboardShortcuts() {\n\t\treturn { \"Mod-Shift-9\": () => this.editor.commands.toggleTaskList() };\n\t}\n});\n//#endregion\n//#region src/kit/index.ts\n/**\n* The table kit is a collection of table editor extensions.\n*\n* It’s a good starting point for building your own table in Tiptap.\n*/\nconst ListKit = Extension.create({\n\tname: \"listKit\",\n\taddExtensions() {\n\t\tconst extensions = [];\n\t\tif (this.options.bulletList !== false) extensions.push(BulletList.configure(this.options.bulletList));\n\t\tif (this.options.listItem !== false) extensions.push(ListItem.configure(this.options.listItem));\n\t\tif (this.options.listKeymap !== false) extensions.push(ListKeymap.configure(this.options.listKeymap));\n\t\tif (this.options.orderedList !== false) extensions.push(OrderedList.configure(this.options.orderedList));\n\t\tif (this.options.taskItem !== false) extensions.push(TaskItem.configure(this.options.taskItem));\n\t\tif (this.options.taskList !== false) extensions.push(TaskList.configure(this.options.taskList));\n\t\treturn extensions;\n\t}\n});\n//#endregion\nexport { BulletList, ListItem, ListKeymap, ListKit, ORDERED_LIST_MARKER_PATTERN, OrderedList, TaskItem, TaskList, areOrderedListMarkersSequential, buildOrderedListAttrsFromMarker, bulletListInputRegex, detectMarkerType, getListMarker, inputRegex, listHelpers_exports as listHelpers, markerToStart, orderedListInputRegex, parseListMarker, parsePlainTextOrderedListPaste, toRoman, toRomanUpper };\n\n//# sourceMappingURL=index.js.map"],"x_google_ignoreList":[0],"mappings":"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"}
|