From c55ffda2d7270aa4303f1fc736d08ba7993acc42 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Thu, 5 Sep 2024 05:30:02 +0100 Subject: [PATCH] feat: initialise platejs editor --- bun.lockb | Bin 472832 -> 546144 bytes cspell.config.yaml | 9 +- package.json | 47 ++++ src/app/notebook/[id]/page.tsx | 9 + src/editor/index.tsx | 26 ++ src/editor/plugins/autoformat-rules.ts | 341 +++++++++++++++++++++++++ src/editor/plugins/index.tsx | 231 +++++++++++++++++ src/editor/ui/components.tsx | 55 ++++ src/editor/ui/editor.tsx | 88 +++++++ 9 files changed, 803 insertions(+), 3 deletions(-) create mode 100644 src/app/notebook/[id]/page.tsx create mode 100644 src/editor/index.tsx create mode 100644 src/editor/plugins/autoformat-rules.ts create mode 100644 src/editor/plugins/index.tsx create mode 100644 src/editor/ui/components.tsx create mode 100644 src/editor/ui/editor.tsx diff --git a/bun.lockb b/bun.lockb index 6c3130b0bbfdafc49fbb27a2ac157fd1e6d30a54..14045345ea3cdcd876fec755cf393feff3117e25 100755 GIT binary patch delta 137696 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 AYXATM delta 90543 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 + + + ); +} diff --git a/src/editor/index.tsx b/src/editor/index.tsx new file mode 100644 index 00000000..c731f80d --- /dev/null +++ b/src/editor/index.tsx @@ -0,0 +1,26 @@ +'use client'; + +import { createPlateEditor, Plate } from '@udecode/plate-common/react'; +import { Editor } from './ui/editor'; +import { createPlateUI } from './ui/components'; +import { plugins } from './plugins'; + +export const PlateEditor = () => { + const editor = createPlateEditor({ + plugins, + override: { + components: createPlateUI(), + }, + }); + + return ( + + + + ); +}; diff --git a/src/editor/plugins/autoformat-rules.ts b/src/editor/plugins/autoformat-rules.ts new file mode 100644 index 00000000..ef273f79 --- /dev/null +++ b/src/editor/plugins/autoformat-rules.ts @@ -0,0 +1,341 @@ +import { + autoformatArrow, + autoformatLegal, + autoformatLegalHtml, + autoformatMath, + autoformatPunctuation, + autoformatSmartQuotes, +} from '@udecode/plate-autoformat'; +import { + BoldPlugin, + CodePlugin, + ItalicPlugin, + StrikethroughPlugin, + SubscriptPlugin, + SuperscriptPlugin, + UnderlinePlugin, +} from '@udecode/plate-basic-marks/react'; +import { BlockquotePlugin } from '@udecode/plate-block-quote/react'; +import { + CodeBlockPlugin, + CodeLinePlugin, + insertEmptyCodeBlock, +} from '@udecode/plate-code-block'; +import { + getParentNode, + insertNodes, + isBlock, + isElement, + isType, + ParagraphPlugin, + setNodes, +} from '@udecode/plate-common'; +import { HEADING_KEYS } from '@udecode/plate-heading'; +import { HighlightPlugin } from '@udecode/plate-highlight/react'; +import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; +import { + INDENT_LIST_KEYS, + ListStyleType, + toggleIndentList, +} from '@udecode/plate-indent-list'; +import { toggleList, unwrapList } from '@udecode/plate-list'; +import { + BulletedListPlugin, + ListItemPlugin, + NumberedListPlugin, + TodoListPlugin, +} from '@udecode/plate-list/react'; +import { openNextToggles, TogglePlugin } from '@udecode/plate-toggle/react'; + +import type { + AutoformatBlockRule, + AutoformatRule, +} from '@udecode/plate-autoformat'; +import type { SlateEditor } from '@udecode/plate-common'; +import type { TTodoListItemElement } from '@udecode/plate-list'; + +export const preFormat: AutoformatBlockRule['preFormat'] = (editor) => { + unwrapList(editor); +}; + +export const format = (editor: SlateEditor, customFormatting: () => void) => { + if (editor.selection) { + const parentEntry = getParentNode(editor, editor.selection); + + if (!parentEntry) { + return; + } + + const [node] = parentEntry; + + if ( + isElement(node) && + !isType(editor, node, CodeBlockPlugin.key) && + !isType(editor, node, CodeLinePlugin.key) + ) { + customFormatting(); + } + } +}; + +export const formatList = (editor: SlateEditor, elementType: string) => { + format(editor, () => + toggleList(editor, { + type: elementType, + }), + ); +}; + +export const autoformatMarks: AutoformatRule[] = [ + { + match: '***', + mode: 'mark', + type: [BoldPlugin.key, ItalicPlugin.key], + }, + { + match: '__**', + mode: 'mark', + type: [UnderlinePlugin.key, BoldPlugin.key], + }, + { + match: '__*', + mode: 'mark', + type: [UnderlinePlugin.key, ItalicPlugin.key], + }, + { + match: '___***', + mode: 'mark', + type: [UnderlinePlugin.key, BoldPlugin.key, ItalicPlugin.key], + }, + { + match: '**', + mode: 'mark', + type: BoldPlugin.key, + }, + { + match: '__', + mode: 'mark', + type: UnderlinePlugin.key, + }, + { + match: '*', + mode: 'mark', + type: ItalicPlugin.key, + }, + { + match: '_', + mode: 'mark', + type: ItalicPlugin.key, + }, + { + match: '~~', + mode: 'mark', + type: StrikethroughPlugin.key, + }, + { + match: '^', + mode: 'mark', + type: SuperscriptPlugin.key, + }, + { + match: '~', + mode: 'mark', + type: SubscriptPlugin.key, + }, + { + match: '==', + mode: 'mark', + type: HighlightPlugin.key as string, + }, + { + match: '≡', + mode: 'mark', + type: HighlightPlugin.key as string, + }, + { + match: '`', + mode: 'mark', + type: CodePlugin.key, + }, +]; + +export const autoformatBlocks: AutoformatRule[] = [ + { + match: '# ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h1, + }, + { + match: '## ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h2, + }, + { + match: '### ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h3, + }, + { + match: '#### ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h4, + }, + { + match: '##### ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h5, + }, + { + match: '###### ', + mode: 'block', + preFormat, + type: HEADING_KEYS.h6, + }, + { + match: '> ', + mode: 'block', + preFormat, + type: BlockquotePlugin.key, + }, + { + format: (editor) => { + insertEmptyCodeBlock(editor, { + defaultType: ParagraphPlugin.key, + insertNodesOptions: { select: true }, + }); + }, + match: '```', + mode: 'block', + preFormat, + triggerAtBlockStart: false, + type: CodeBlockPlugin.key, + }, + { + match: '+ ', + mode: 'block', + preFormat: openNextToggles, + type: TogglePlugin.key, + }, + { + format: (editor) => { + setNodes(editor, { type: HorizontalRulePlugin.key }); + insertNodes(editor, { + children: [{ text: '' }], + type: ParagraphPlugin.key, + }); + }, + match: ['---', '—-', '___ '], + mode: 'block', + type: HorizontalRulePlugin.key, + }, +]; + +export const autoformatLists: AutoformatRule[] = [ + { + format: (editor) => { + formatList(editor, BulletedListPlugin.key); + }, + match: ['* ', '- '], + mode: 'block', + preFormat, + type: ListItemPlugin.key, + }, + { + format: (editor) => { + formatList(editor, NumberedListPlugin.key); + }, + match: ['^\\d+\\.$ ', '^\\d+\\)$ '], + matchByRegex: true, + mode: 'block', + preFormat, + type: ListItemPlugin.key, + }, + { + match: '[] ', + mode: 'block', + type: TodoListPlugin.key as string, + }, + { + format: (editor) => { + setNodes( + editor, + { checked: true, type: TodoListPlugin.key }, + { + match: (n) => isBlock(editor, n), + }, + ); + }, + match: '[x] ', + mode: 'block', + type: TodoListPlugin.key as string, + }, +]; + +export const autoformatIndentLists: AutoformatRule[] = [ + { + format: (editor) => { + toggleIndentList(editor, { + listStyleType: ListStyleType.Disc, + }); + }, + match: ['* ', '- '], + mode: 'block', + type: 'list', + }, + { + format: (editor) => { + toggleIndentList(editor, { + listStyleType: ListStyleType.Decimal, + }); + }, + match: ['^\\d+\\.$ ', '^\\d+\\)$ '], + matchByRegex: true, + mode: 'block', + type: 'list', + }, + { + format: (editor) => { + toggleIndentList(editor, { + listStyleType: INDENT_LIST_KEYS.todo, + }); + setNodes(editor, { + checked: false, + listStyleType: INDENT_LIST_KEYS.todo, + }); + }, + match: ['[] '], + mode: 'block', + type: 'list', + }, + { + format: (editor) => { + toggleIndentList(editor, { + listStyleType: INDENT_LIST_KEYS.todo, + }); + setNodes(editor, { + checked: true, + listStyleType: INDENT_LIST_KEYS.todo, + }); + }, + match: ['[x] '], + mode: 'block', + type: 'list', + }, +]; + +export const autoformatRules: AutoformatRule[] = [ + ...autoformatBlocks, + ...autoformatMarks, + ...autoformatSmartQuotes, + ...autoformatPunctuation, + ...autoformatLegal, + ...autoformatLegalHtml, + ...autoformatArrow, + ...autoformatMath, + ...autoformatIndentLists, +]; diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx new file mode 100644 index 00000000..c7fb4a80 --- /dev/null +++ b/src/editor/plugins/index.tsx @@ -0,0 +1,231 @@ +import { + BoldPlugin, + CodePlugin, + ItalicPlugin, + StrikethroughPlugin, + SubscriptPlugin, + SuperscriptPlugin, + UnderlinePlugin, +} from '@udecode/plate-basic-marks/react'; +import { AlignPlugin } from '@udecode/plate-alignment'; +import { autoformatRules } from './autoformat-rules'; +import { SelectOnBackspacePlugin } from '@udecode/plate-select'; +import { JuicePlugin } from '@udecode/plate-juice'; +import { DocxPlugin } from '@udecode/plate-docx'; +import { MarkdownPlugin } from '@udecode/plate-markdown'; +import { TabbablePlugin } from '@udecode/plate-tabbable'; +import { ResetNodePlugin } from '@udecode/plate-reset-node'; +import { ImagePlugin } from '@udecode/plate-media/react'; +import { ExitBreakPlugin, SoftBreakPlugin } from '@udecode/plate-break/react'; +import { AutoformatPlugin } from '@udecode/plate-autoformat'; +import { + isBlockAboveEmpty, + isSelectionAtBlockStart, + ParagraphPlugin, + someNode, +} from '@udecode/plate-common'; +import { NodeIdPlugin } from '@udecode/plate-node-id'; +import { BlockSelectionPlugin } from '@udecode/plate-selection/react'; +import { TrailingBlockPlugin } from '@udecode/plate-trailing-block'; +import { HEADING_LEVELS, HeadingPlugin } from '@udecode/plate-heading'; +import { IndentPlugin } from '@udecode/plate-indent'; +import { BlockquotePlugin } from '@udecode/plate-block-quote/react'; +import { + CodeBlockPlugin, + CodeLinePlugin, + CodeSyntaxPlugin, + isCodeBlockEmpty, + isSelectionAtCodeBlockStart, + unwrapCodeBlock, +} from '@udecode/plate-code-block'; +import { LineHeightPlugin } from '@udecode/plate-line-height'; +import { IndentListPlugin } from '@udecode/plate-indent-list'; +import { + TableCellHeaderPlugin, + TableCellPlugin, + TablePlugin, + TableRowPlugin, +} from '@udecode/plate-table'; +import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; +import { TodoListPlugin } from '@udecode/plate-list'; + +export const plugins = [ + // Nodes + HeadingPlugin, + BlockquotePlugin, + CodeBlockPlugin, + CodeLinePlugin, + CodeSyntaxPlugin, + HorizontalRulePlugin, + TablePlugin, + TableRowPlugin, + TableCellPlugin, + TableCellHeaderPlugin, + TodoListPlugin, + + // Basic Marks + BoldPlugin, + ItalicPlugin, + UnderlinePlugin, + StrikethroughPlugin, + CodePlugin, + SubscriptPlugin, + SuperscriptPlugin, + + // Block Style + AlignPlugin.configure({ + inject: { + targetPlugins: [ParagraphPlugin.key, ...HEADING_LEVELS], + }, + }), + IndentPlugin.configure({ + inject: { + targetPlugins: [ + ParagraphPlugin.key, + BlockquotePlugin.key, + CodeBlockPlugin.key, + ...HEADING_LEVELS, + ], + }, + }), + IndentListPlugin.configure({ + inject: { + targetPlugins: [ + ParagraphPlugin.key, + BlockquotePlugin.key, + CodeBlockPlugin.key, + ...HEADING_LEVELS, + ], + }, + }), + LineHeightPlugin.configure({ + inject: { + nodeProps: { + defaultNodeValue: 1.5, + validNodeValues: [1, 1.2, 1.5, 2, 3], + }, + targetPlugins: [ParagraphPlugin.key, ...HEADING_LEVELS], + }, + }), + + // Functionality + AutoformatPlugin.configure({ + options: { + rules: autoformatRules, + enableUndoOnDelete: true, + }, + }), + BlockSelectionPlugin, + ExitBreakPlugin.configure({ + options: { + rules: [ + { + hotkey: 'mod+enter', + }, + { + hotkey: 'mod+shift+enter', + before: true, + }, + { + hotkey: 'enter', + query: { + start: true, + end: true, + allow: HEADING_LEVELS, + }, + relative: true, + level: 1, + }, + ], + }, + }), + NodeIdPlugin, + ResetNodePlugin.configure({ + options: { + rules: [ + { + types: [BlockquotePlugin.key, TodoListPlugin.key], + defaultType: ParagraphPlugin.key, + hotkey: 'Enter', + predicate: isBlockAboveEmpty, + }, + { + types: [BlockquotePlugin.key, TodoListPlugin.key], + defaultType: ParagraphPlugin.key, + hotkey: 'Backspace', + predicate: isSelectionAtBlockStart, + }, + { + types: [CodeBlockPlugin.key], + defaultType: ParagraphPlugin.key, + onReset: unwrapCodeBlock, + hotkey: 'Enter', + predicate: isCodeBlockEmpty, + }, + { + types: [CodeBlockPlugin.key], + defaultType: ParagraphPlugin.key, + onReset: unwrapCodeBlock, + hotkey: 'Backspace', + predicate: isSelectionAtCodeBlockStart, + }, + ], + }, + }), + SelectOnBackspacePlugin.configure({ + options: { + query: { + allow: [ImagePlugin.key, HorizontalRulePlugin.key], + }, + }, + }), + SoftBreakPlugin.configure({ + options: { + rules: [ + { hotkey: 'shift+enter' }, + { + hotkey: 'enter', + query: { + allow: [ + CodeBlockPlugin.key, + BlockquotePlugin.key, + TableCellPlugin.key, + TableCellHeaderPlugin.key, + ], + }, + }, + ], + }, + }), + TabbablePlugin.configure(({ editor }) => ({ + options: { + query: () => { + if (isSelectionAtBlockStart(editor)) { + return false; + } + + return !someNode(editor, { + match: (n) => { + return !!( + n.type && + ([ + TablePlugin.key, + TodoListPlugin.key, + CodeBlockPlugin.key, + ].includes(n.type as string) || + n['listStyleType']) + ); + }, + }); + }, + }, + })), + TrailingBlockPlugin.configure({ + options: { type: ParagraphPlugin.key }, + }), + + // Deserialization + DocxPlugin, + MarkdownPlugin, + JuicePlugin, +]; diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx new file mode 100644 index 00000000..cc4dded8 --- /dev/null +++ b/src/editor/ui/components.tsx @@ -0,0 +1,55 @@ +import { withProps } from '@udecode/cn'; +import { + BoldPlugin, + CodePlugin, + ItalicPlugin, + StrikethroughPlugin, + SubscriptPlugin, + SuperscriptPlugin, + UnderlinePlugin, +} from '@udecode/plate-basic-marks/react'; +import type { NodeComponent } from '@udecode/plate-common/react'; +import { + ParagraphPlugin, + PlateElement, + PlateLeaf, +} from '@udecode/plate-common/react'; + +export const createPlateUI = () => { + const components: Record = { + [ParagraphPlugin.key]: withProps(PlateElement, { + as: 'p', + className: 'text-foreground-muted m-0 px-0 py-1', + }), + [BoldPlugin.key]: withProps(PlateLeaf, { + as: 'strong', + className: '!font-semibold text-foreground', + }), + [ItalicPlugin.key]: withProps(PlateLeaf, { + as: 'em', + className: 'text-foreground', + }), + [UnderlinePlugin.key]: withProps(PlateLeaf, { + as: 'u', + className: 'text-foreground', + }), + [StrikethroughPlugin.key]: withProps(PlateLeaf, { + as: 's', + className: 'text-foreground', + }), + [SubscriptPlugin.key]: withProps(PlateLeaf, { + as: 'sub', + className: 'text-foreground', + }), + [SuperscriptPlugin.key]: withProps(PlateLeaf, { + as: 'sup', + className: 'text-foreground', + }), + [CodePlugin.key]: withProps(PlateLeaf, { + as: 'code', + className: 'text-foreground bg-gray-subtle rounded-md px-1 py-0.5', + }), + }; + + return components; +}; diff --git a/src/editor/ui/editor.tsx b/src/editor/ui/editor.tsx new file mode 100644 index 00000000..e76181ab --- /dev/null +++ b/src/editor/ui/editor.tsx @@ -0,0 +1,88 @@ +import React from 'react'; +import { cn } from '@udecode/cn'; +import { PlateContent } from '@udecode/plate-common/react'; +import { cva } from 'class-variance-authority'; + +import type { PlateContentProps } from '@udecode/plate-common/react'; +import type { VariantProps } from 'class-variance-authority'; + +const editorVariants = cva( + cn( + 'relative overflow-x-auto whitespace-pre-wrap break-words', + 'min-h-[80px] w-full rounded-md text-sm ring-offset-background placeholder:text-foreground-muted focus-visible:outline-none', + '[&_[data-slate-placeholder]]:text-foreground-muted [&_[data-slate-placeholder]]:!opacity-100', + '[&_[data-slate-placeholder]]:top-[auto_!important]', + '[&_strong]:font-bold', + ), + { + defaultVariants: { + focusRing: true, + size: 'sm', + variant: 'outline', + }, + variants: { + disabled: { + true: 'cursor-not-allowed opacity-50', + }, + focusRing: { + false: '', + true: 'focus-visible:ring-2 focus-visible:ring-pink-solid-hover focus-visible:ring-offset-2', + }, + focused: { + true: 'ring-2 ring-pink-solid-hover ring-offset-2', + }, + size: { + md: 'text-base', + sm: 'text-sm', + }, + variant: { + ghost: '', + outline: 'border', + }, + }, + }, +); + +export type EditorProps = PlateContentProps & + VariantProps; + +const Editor = React.forwardRef( + ( + { + className, + disabled, + focusRing, + focused, + readOnly = false, + size = 'md', + variant, + ...props + }, + ref, + ) => { + return ( +

+ +
+ ); + }, +); +Editor.displayName = 'Editor'; + +export { Editor };