add multicolor option to highlight

This commit is contained in:
Philipp Kühn
2020-12-03 23:32:11 +01:00
parent bb8e6c8903
commit 81af92a85c
6 changed files with 14 additions and 7 deletions

View File

@@ -64,7 +64,7 @@ export default {
Document,
Paragraph,
Text,
Highlight,
Highlight.configure({ multicolor: true }),
],
content: `
<p>This isnt highlighted.</s></p>

View File

@@ -13,9 +13,10 @@ yarn add @tiptap/extension-highlight
```
## Settings
| Option | Type | Default | Description |
| -------------- | -------- | ------- | --------------------------------------------------------------------- |
| HTMLAttributes | `Object` | `{}` | Custom HTML attributes that should be added to the rendered HTML tag. |
| Option | Type | Default | Description |
| -------------- | --------- | ------- | --------------------------------------------------------------------- |
| multicolor | `Boolean` | `false` | Add support for multiple colors. |
| HTMLAttributes | `Object` | `{}` | Custom HTML attributes that should be added to the rendered HTML tag. |
## Commands
| Command | Options | Description |

View File

@@ -19,7 +19,7 @@ export interface ExtensionConfig<Options = any, Commands = {}> {
*/
addGlobalAttributes?: (this: {
options: Options,
}) => GlobalAttributes,
}) => GlobalAttributes | {},
/**
* Commands

View File

@@ -60,7 +60,7 @@ export interface MarkConfig<Options = any, Commands = {}> extends Overwrite<Exte
this: {
options: Options,
},
) => Attributes,
) => Attributes | {},
/**
* Commands

View File

@@ -95,7 +95,7 @@ export interface NodeConfig<Options = any, Commands = {}> extends Overwrite<Exte
this: {
options: Options,
},
) => Attributes,
) => Attributes | {},
/**
* Commands

View File

@@ -7,6 +7,7 @@ import {
} from '@tiptap/core'
export interface HighlightOptions {
multicolor: boolean,
HTMLAttributes: {
[key: string]: any
},
@@ -19,10 +20,15 @@ const Highlight = Mark.create({
name: 'highlight',
defaultOptions: <HighlightOptions>{
multicolor: false,
HTMLAttributes: {},
},
addAttributes() {
if (!this.options.multicolor) {
return {}
}
return {
color: {
default: null,