@@ -315,9 +535,5 @@
}
}
}
- .buttons {
- display: flex;
- align-items: center;
- }
}
diff --git a/packages/text-editor/src/components/TextEditor.svelte b/packages/text-editor/src/components/TextEditor.svelte
index 39a8f884c7..42289a5343 100644
--- a/packages/text-editor/src/components/TextEditor.svelte
+++ b/packages/text-editor/src/components/TextEditor.svelte
@@ -23,6 +23,7 @@
import textEditorPlugin from '../plugin'
import { FormatMode } from '../types'
import { defaultExtensions } from './extensions'
+ import { Level } from '@tiptap/extension-heading'
export let content: string = ''
export let placeholder: IntlString = textEditorPlugin.string.EditorPlaceholder
@@ -55,8 +56,8 @@
export function insertText (text: string): void {
editor.commands.insertContent(text as HTMLContent)
}
- export function checkIsActive (formatMode: FormatMode) {
- return editor.isActive(formatMode)
+ export function checkIsActive (formatMode: FormatMode, attributes?: {} | undefined) {
+ return editor.isActive(formatMode, attributes)
}
export function toggleBold () {
editor.commands.toggleBold()
@@ -94,9 +95,41 @@
export function toggleCodeBlock () {
editor.commands.toggleCodeBlock()
}
- let needFocus = false
+ export function toggleHeading (attributes: { level: Level }) {
+ editor.commands.toggleHeading(attributes)
+ }
+ export function addColumnBefore () {
+ editor.commands.addColumnBefore()
+ }
+ export function addColumnAfter () {
+ editor.commands.addColumnAfter()
+ }
+ export function deleteColumn () {
+ editor.commands.deleteColumn()
+ }
+ export function addRowBefore () {
+ editor.commands.addRowBefore()
+ }
+ export function addRowAfter () {
+ editor.commands.addRowAfter()
+ }
+ export function deleteRow () {
+ editor.commands.deleteRow()
+ }
+ export function deleteTable () {
+ editor.commands.deleteTable()
+ }
+ export function insertTable (options?: { rows?: number; cols?: number; withHeaderRow?: boolean }) {
+ editor.commands.insertTable({
+ cols: options?.cols ?? 2,
+ rows: options?.rows ?? 1,
+ withHeaderRow: options?.withHeaderRow
+ })
+ }
+ let needFocus = false
let focused = false
+
export function focus (): void {
needFocus = true
}
@@ -164,6 +197,7 @@
content = editor.getHTML()
isEmpty = editor.isEmpty
dispatch('value', content)
+ dispatch('update', content)
},
onSelectionUpdate: () => dispatch('selection-update')
})
diff --git a/packages/text-editor/src/components/extensions.ts b/packages/text-editor/src/components/extensions.ts
index 2e3172da47..8f83a2ae13 100644
--- a/packages/text-editor/src/components/extensions.ts
+++ b/packages/text-editor/src/components/extensions.ts
@@ -60,3 +60,66 @@ export const defaultExtensions = [
...tableExtensions,
...taskListExtensions
]
+
+export const mInsertTable = [
+ {
+ label: '2x2',
+ rows: 2,
+ cols: 2,
+ header: false
+ },
+ {
+ label: '3x3',
+ rows: 3,
+ cols: 3,
+ header: false
+ },
+ {
+ label: '2x1',
+ rows: 2,
+ cols: 1,
+ header: false
+ },
+ {
+ label: '5x5',
+ rows: 5,
+ cols: 5,
+ header: false
+ },
+ {
+ label: '1x2',
+ rows: 1,
+ cols: 2,
+ header: false
+ },
+ {
+ label: 'Headed 2x2',
+ rows: 2,
+ cols: 2,
+ header: true
+ },
+ {
+ label: 'Headed 3x3',
+ rows: 3,
+ cols: 3,
+ header: true
+ },
+ {
+ label: 'Headed 2x1',
+ rows: 2,
+ cols: 1,
+ header: true
+ },
+ {
+ label: 'Headed 5x5',
+ rows: 5,
+ cols: 5,
+ header: true
+ },
+ {
+ label: 'Headed 1x2',
+ rows: 1,
+ cols: 2,
+ header: true
+ }
+]
diff --git a/packages/theme/styles/_layouts.scss b/packages/theme/styles/_layouts.scss
index 89ae064916..768813118f 100644
--- a/packages/theme/styles/_layouts.scss
+++ b/packages/theme/styles/_layouts.scss
@@ -404,6 +404,7 @@ input.search {
.mx-3 { margin: 0 .75rem; }
.mx-10 { margin: 0 2.5rem; }
.mx-auto { margin: 0 auto; }
+.my-2 { margin: .5rem 0; }
.my-4 { margin: 1rem 0; }
.pl-1 { padding-left: .25rem; }
diff --git a/packages/theme/styles/prose.scss b/packages/theme/styles/prose.scss
index 8a29758812..c68c5b6648 100644
--- a/packages/theme/styles/prose.scss
+++ b/packages/theme/styles/prose.scss
@@ -24,6 +24,7 @@ table.proseTable {
td,
th {
min-width: 1rem;
+ height: 2rem;
border: 1px solid var(--button-border-hover);
padding: .25rem .5rem;
vertical-align: top;
diff --git a/packages/ui/src/components/CircleButton.svelte b/packages/ui/src/components/CircleButton.svelte
index 86f7647cfd..78c2879bac 100644
--- a/packages/ui/src/components/CircleButton.svelte
+++ b/packages/ui/src/components/CircleButton.svelte
@@ -25,8 +25,6 @@
export let id: string | undefined = undefined
-/** eslint-disable a11y-click-events-have-key-events */
-
attach()}
/>
{#if attachments.size}
-