Merge branch 'main' of github.com:ueberdosis/tiptap-next into main
This commit is contained in:
@@ -19,7 +19,7 @@ You don’t have to use it, but we prepared a `@tiptap/vue-starter-kit` which in
|
||||
| [BulletList](/api/extensions/bullet-list) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-bullet-list/) |
|
||||
| [Code](/api/extensions/code) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-code/) |
|
||||
| [Document](/api/extensions/document) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-document/) |
|
||||
| [HardBreak](/api/extensions/hard-break) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-hard-break/) |
|
||||
| [HardBreak](/api/extensions/hard-break) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-hard-break/) |
|
||||
| [Heading](/api/extensions/heading) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-heading/) |
|
||||
| [History](/api/extensions/history) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-history/) |
|
||||
| [HorizontalRule](/api/extensions/horizontal-rule) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-horizontal-rule/) |
|
||||
@@ -27,9 +27,9 @@ You don’t have to use it, but we prepared a `@tiptap/vue-starter-kit` which in
|
||||
| [Link](/api/extensions/link) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-link/) |
|
||||
| [OrderedList](/api/extensions/ordered-list) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-ordered-list/) |
|
||||
| [Paragraph](/api/extensions/paragraph) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-paragraph/) |
|
||||
| [Strike](/api/extensions/strike) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-strike/) |
|
||||
| [Strike](/api/extensions/strike) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-strike/) |
|
||||
| [Text](/api/extensions/text) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-text/) |
|
||||
| [Underline](/api/extensions/underline) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-underline/) |
|
||||
| [Underline](/api/extensions/underline) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-underline/) |
|
||||
|
||||
<!-- | [CodeBlock](/api/extensions/code-block) | Yes | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packages/extension-code-block/) -->
|
||||
<!-- | [CodeBlockHighlight](/api/extensions/code-block-highlight) | – | [GitHub](https://github.com/ueberdosis/tiptap-next/blob/main/packagescode-block-highlight/extension-/) -->
|
||||
|
||||
38
packages/extension-hard-break/index.ts
Normal file
38
packages/extension-hard-break/index.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
import { Node } from '@tiptap/core'
|
||||
import { chainCommands, exitCode } from 'prosemirror-commands'
|
||||
|
||||
declare module '@tiptap/core/src/Editor' {
|
||||
interface Editor {
|
||||
hardBreak(): Editor,
|
||||
}
|
||||
}
|
||||
|
||||
export default new Node()
|
||||
.name('hardBreak')
|
||||
.schema(() => ({
|
||||
inline: true,
|
||||
group: 'inline',
|
||||
selectable: false,
|
||||
parseDOM: [
|
||||
{ tag: 'br' },
|
||||
],
|
||||
toDOM: () => ['br'],
|
||||
}))
|
||||
.commands(({ editor, type }) => ({
|
||||
hardBreak: next => () => {
|
||||
const { state, view } = editor
|
||||
const { dispatch } = view
|
||||
|
||||
chainCommands(exitCode, () => {
|
||||
dispatch(state.tr.replaceSelectionWith(type.create()).scrollIntoView())
|
||||
return true
|
||||
})(state, dispatch, view)
|
||||
|
||||
next()
|
||||
},
|
||||
}))
|
||||
.keys(({ editor }) => ({
|
||||
'Mod-Enter': () => editor.hardBreak(),
|
||||
'Shift-Enter': () => editor.hardBreak(),
|
||||
}))
|
||||
.create()
|
||||
18
packages/extension-hard-break/package.json
Normal file
18
packages/extension-hard-break/package.json
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"name": "@tiptap/extension-hardbreak",
|
||||
"version": "1.0.0",
|
||||
"source": "index.ts",
|
||||
"main": "dist/tiptap-extension-hardbreak.js",
|
||||
"umd:main": "dist/tiptap-extension-hardbreak.umd.js",
|
||||
"module": "dist/tiptap-extension-hardbreak.mjs",
|
||||
"unpkg": "dist/tiptap-extension-hardbreak.js",
|
||||
"jsdelivr": "dist/tiptap-extension-hardbreak.js",
|
||||
"files": [
|
||||
"src",
|
||||
"dist"
|
||||
],
|
||||
"peerDependencies": {
|
||||
"@tiptap/core": "2.x",
|
||||
"prosemirror-commands": "^1.1.3"
|
||||
}
|
||||
}
|
||||
@@ -7,6 +7,9 @@ import Italic from '@tiptap/extension-italic'
|
||||
import Code from '@tiptap/extension-code'
|
||||
import CodeBlock from '@tiptap/extension-codeblock'
|
||||
import Heading from '@tiptap/extension-heading'
|
||||
import HardBreak from '@tiptap/extension-hard-break'
|
||||
import Strike from '@tiptap/extension-strike'
|
||||
import Underline from '@tiptap/extension-underline'
|
||||
|
||||
export default function defaultExtensions() {
|
||||
return [
|
||||
@@ -19,5 +22,8 @@ export default function defaultExtensions() {
|
||||
Code(),
|
||||
CodeBlock(),
|
||||
Heading(),
|
||||
HardBreak(),
|
||||
Strike(),
|
||||
Underline(),
|
||||
]
|
||||
}
|
||||
@@ -9,6 +9,9 @@ import Italic from '@tiptap/extension-italic'
|
||||
import Code from '@tiptap/extension-code'
|
||||
import CodeBlock from '@tiptap/extension-codeblock'
|
||||
import Heading from '@tiptap/extension-heading'
|
||||
import HardBreak from '@tiptap/extension-hard-break'
|
||||
import Strike from '@tiptap/extension-strike'
|
||||
import Underline from '@tiptap/extension-underline'
|
||||
|
||||
export function defaultExtensions() {
|
||||
return [
|
||||
@@ -21,5 +24,8 @@ export function defaultExtensions() {
|
||||
Code(),
|
||||
CodeBlock(),
|
||||
Heading(),
|
||||
HardBreak(),
|
||||
Strike(),
|
||||
Underline(),
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user