fix: Fixed check list indentation in Super notes
This commit is contained in:
@@ -2,7 +2,6 @@ import { FunctionComponent, UIEventHandler, useCallback, useState } from 'react'
|
|||||||
import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin'
|
import { RichTextPlugin } from '@lexical/react/LexicalRichTextPlugin'
|
||||||
import { ContentEditable } from '@lexical/react/LexicalContentEditable'
|
import { ContentEditable } from '@lexical/react/LexicalContentEditable'
|
||||||
import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin'
|
import { OnChangePlugin } from '@lexical/react/LexicalOnChangePlugin'
|
||||||
import { CheckListPlugin } from '@lexical/react/LexicalCheckListPlugin'
|
|
||||||
import { ClearEditorPlugin } from '@lexical/react/LexicalClearEditorPlugin'
|
import { ClearEditorPlugin } from '@lexical/react/LexicalClearEditorPlugin'
|
||||||
import { MarkdownShortcutPlugin } from '@lexical/react/LexicalMarkdownShortcutPlugin'
|
import { MarkdownShortcutPlugin } from '@lexical/react/LexicalMarkdownShortcutPlugin'
|
||||||
import { TablePlugin } from '@lexical/react/LexicalTablePlugin'
|
import { TablePlugin } from '@lexical/react/LexicalTablePlugin'
|
||||||
@@ -28,6 +27,7 @@ import { RemoveBrokenTablesPlugin } from './Plugins/TablePlugin'
|
|||||||
import TableActionMenuPlugin from './Plugins/TableCellActionMenuPlugin'
|
import TableActionMenuPlugin from './Plugins/TableCellActionMenuPlugin'
|
||||||
import ToolbarPlugin from './Plugins/ToolbarPlugin/ToolbarPlugin'
|
import ToolbarPlugin from './Plugins/ToolbarPlugin/ToolbarPlugin'
|
||||||
import { useMediaQuery, MutuallyExclusiveMediaQueryBreakpoints } from '@/Hooks/useMediaQuery'
|
import { useMediaQuery, MutuallyExclusiveMediaQueryBreakpoints } from '@/Hooks/useMediaQuery'
|
||||||
|
import { CheckListPlugin } from './Plugins/CheckListPlugin'
|
||||||
|
|
||||||
type BlocksEditorProps = {
|
type BlocksEditorProps = {
|
||||||
onChange?: (value: string, preview: string) => void
|
onChange?: (value: string, preview: string) => void
|
||||||
|
|||||||
@@ -303,14 +303,18 @@
|
|||||||
margin-right: 16px;
|
margin-right: 16px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.Lexical__checkList {
|
||||||
|
margin-left: 0;
|
||||||
|
.Lexical__nestedListItem & {
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.Lexical__listItem {
|
.Lexical__listItem {
|
||||||
margin: 0 0px;
|
margin: 0 0px;
|
||||||
}
|
}
|
||||||
.Lexical__listItemChecked,
|
.Lexical__listItemChecked,
|
||||||
.Lexical__listItemUnchecked {
|
.Lexical__listItemUnchecked {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin-left: 8px;
|
|
||||||
margin-right: 8px;
|
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
padding-right: 24px;
|
padding-right: 24px;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@@ -327,7 +331,7 @@
|
|||||||
width: 16px;
|
width: 16px;
|
||||||
height: 16px;
|
height: 16px;
|
||||||
left: 0;
|
left: 0;
|
||||||
top: 5px;
|
top: 7px;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
@@ -359,7 +363,7 @@
|
|||||||
border-style: solid;
|
border-style: solid;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
display: block;
|
display: block;
|
||||||
top: 7px;
|
top: 9px;
|
||||||
width: 5px;
|
width: 5px;
|
||||||
left: 6px;
|
left: 6px;
|
||||||
height: 10px;
|
height: 10px;
|
||||||
@@ -368,6 +372,9 @@
|
|||||||
}
|
}
|
||||||
.Lexical__nestedListItem {
|
.Lexical__nestedListItem {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
&.Lexical__listItemUnchecked {
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.Lexical__nestedListItem:before,
|
.Lexical__nestedListItem:before,
|
||||||
.Lexical__nestedListItem:after {
|
.Lexical__nestedListItem:after {
|
||||||
|
|||||||
@@ -0,0 +1,25 @@
|
|||||||
|
import { CheckListPlugin as LexicalCheckListPlugin } from '@lexical/react/LexicalCheckListPlugin'
|
||||||
|
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext'
|
||||||
|
import { ListNode } from '@lexical/list'
|
||||||
|
import { useEffect } from 'react'
|
||||||
|
|
||||||
|
export function CheckListPlugin() {
|
||||||
|
const [editor] = useLexicalComposerContext()
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
return editor.registerNodeTransform(ListNode, (node) => {
|
||||||
|
if (node.getListType() !== 'check') {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
editor.getEditorState().read(() => {
|
||||||
|
const element = editor.getElementByKey(node.getKey())
|
||||||
|
if (!element) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
element.classList.add('Lexical__checkList')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}, [editor])
|
||||||
|
|
||||||
|
return <LexicalCheckListPlugin />
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user