From c55ffda2d7270aa4303f1fc736d08ba7993acc42 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Thu, 5 Sep 2024 05:30:02 +0100 Subject: [PATCH 01/11] 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 }; From 7ded8ada5f786624d971414b91e121fbce5aee42 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 8 Sep 2024 23:45:35 +0100 Subject: [PATCH 02/11] feat(editor): codeblocks, headings & forced layout --- bun.lockb | Bin 546144 -> 547464 bytes cspell.config.yaml | 4 + package.json | 3 + src/app/notebook/[id]/page.tsx | 2 +- src/editor/index.tsx | 37 ++- src/editor/plugins/index.tsx | 20 +- src/editor/ui/components.tsx | 34 ++- src/editor/ui/elements/blockquote.tsx | 24 ++ .../code-block/code-block-combobox.tsx | 211 +++++++++++++ .../ui/elements/code-block/code-block.css | 276 ++++++++++++++++++ .../elements/code-block/code-line-element.tsx | 9 + .../elements/code-block/code-syntax-leaf.tsx | 20 ++ src/editor/ui/elements/code-block/index.tsx | 39 +++ src/editor/ui/elements/heading.tsx | 47 +++ src/editor/ui/placeholder.tsx | 70 +++++ src/primitives/dialog.tsx | 122 ++++++++ src/primitives/icon.tsx | 16 +- 17 files changed, 917 insertions(+), 17 deletions(-) create mode 100644 src/editor/ui/elements/blockquote.tsx create mode 100644 src/editor/ui/elements/code-block/code-block-combobox.tsx create mode 100644 src/editor/ui/elements/code-block/code-block.css create mode 100644 src/editor/ui/elements/code-block/code-line-element.tsx create mode 100644 src/editor/ui/elements/code-block/code-syntax-leaf.tsx create mode 100644 src/editor/ui/elements/code-block/index.tsx create mode 100644 src/editor/ui/elements/heading.tsx create mode 100644 src/editor/ui/placeholder.tsx create mode 100644 src/primitives/dialog.tsx diff --git a/bun.lockb b/bun.lockb index 14045345ea3cdcd876fec755cf393feff3117e25..78976773a24b7c8c26f814a7827784af3fa380a1 100755 GIT binary patch delta 106292 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 delta 105591 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\C2f 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 IhJTR$|J%X`aR2}S diff --git a/cspell.config.yaml b/cspell.config.yaml index 3ce2824d..eb24003c 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -13,6 +13,7 @@ ignorePaths: - tsconfig.tsbuildinfo - branch_out words: + - ANTLR - Arcjet - callees - classname @@ -37,6 +38,8 @@ words: - packagejson - paralleldrive - Posthog + - prismjs + - protobuf - ratelimit - Registrator - serviceworker @@ -57,3 +60,4 @@ words: - udecode - Uploadthing - Upstash + - atrule diff --git a/package.json b/package.json index 64898d8a..7fb27b2c 100644 --- a/package.json +++ b/package.json @@ -61,6 +61,7 @@ "@paralleldrive/cuid2": "^2.2.2", "@radix-ui/colors": "^3.0.0", "@radix-ui/react-checkbox": "^1.1.1", + "@radix-ui/react-dialog": "^1.1.1", "@radix-ui/react-dropdown-menu": "^2.1.1", "@radix-ui/react-label": "^2.1.0", "@radix-ui/react-navigation-menu": "^1.2.0", @@ -137,6 +138,7 @@ "next": "14.2.8", "next-mdx-remote": "^5.0.0", "next-themes": "^0.3.0", + "prismjs": "^1.29.0", "react": "^18.3.1", "react-animate-height": "^3.2.3", "react-dom": "^18.3.1", @@ -171,6 +173,7 @@ "@types/eslint": "^9.6.1", "@types/eslint-config-prettier": "^6.11.3", "@types/node": "^22.5.4", + "@types/prismjs": "^1.26.4", "@types/react": "^18.3.5", "@types/react-dom": "^18.3.0", "commitizen": "^4.3.0", diff --git a/src/app/notebook/[id]/page.tsx b/src/app/notebook/[id]/page.tsx index 483e38fa..7dda303d 100644 --- a/src/app/notebook/[id]/page.tsx +++ b/src/app/notebook/[id]/page.tsx @@ -2,7 +2,7 @@ import { PlateEditor } from '@/editor'; export default function NotebookPage() { return ( -

+
); diff --git a/src/editor/index.tsx b/src/editor/index.tsx index c731f80d..ef0fccd7 100644 --- a/src/editor/index.tsx +++ b/src/editor/index.tsx @@ -1,12 +1,33 @@ 'use client'; -import { createPlateEditor, Plate } from '@udecode/plate-common/react'; +import { + createPlateEditor, + ParagraphPlugin, + Plate, +} from '@udecode/plate-common/react'; import { Editor } from './ui/editor'; import { createPlateUI } from './ui/components'; import { plugins } from './plugins'; +import { HEADING_KEYS } from '@udecode/plate-heading'; +import type { Value } from '@udecode/plate-common'; + +const initialValue = [ + { + type: HEADING_KEYS.h1, + children: [{ text: '' }], + }, + { + type: ParagraphPlugin.key, + children: [{ text: '' }], + }, +]; export const PlateEditor = () => { + const localValue = + typeof window !== 'undefined' && localStorage.getItem('editorContent'); + const editor = createPlateEditor({ + value: localValue ? (JSON.parse(localValue) as Value) : initialValue, plugins, override: { components: createPlateUI(), @@ -14,13 +35,13 @@ export const PlateEditor = () => { }); return ( - - + { + localStorage.setItem('editorContent', JSON.stringify(value)); + }} + > + ); }; diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx index c7fb4a80..3e8c73c1 100644 --- a/src/editor/plugins/index.tsx +++ b/src/editor/plugins/index.tsx @@ -27,9 +27,14 @@ import { 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 { + HEADING_KEYS, + HEADING_LEVELS, + HeadingPlugin, +} from '@udecode/plate-heading'; import { IndentPlugin } from '@udecode/plate-indent'; import { BlockquotePlugin } from '@udecode/plate-block-quote/react'; +import { NormalizeTypesPlugin } from '@udecode/plate-normalizers'; import { CodeBlockPlugin, CodeLinePlugin, @@ -48,12 +53,18 @@ import { } from '@udecode/plate-table'; import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; import { TodoListPlugin } from '@udecode/plate-list'; +import Prism from 'prismjs'; export const plugins = [ // Nodes HeadingPlugin, BlockquotePlugin, - CodeBlockPlugin, + CodeBlockPlugin.configure({ + options: { + syntax: true, + prism: Prism, + }, + }), CodeLinePlugin, CodeSyntaxPlugin, HorizontalRulePlugin, @@ -223,6 +234,11 @@ export const plugins = [ TrailingBlockPlugin.configure({ options: { type: ParagraphPlugin.key }, }), + NormalizeTypesPlugin.configure({ + options: { + rules: [{ path: [0], strictType: HEADING_KEYS.h1 }], + }, + }), // Deserialization DocxPlugin, diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index cc4dded8..6a82e571 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -14,12 +14,37 @@ import { PlateElement, PlateLeaf, } from '@udecode/plate-common/react'; +import { HEADING_KEYS } from '@udecode/plate-heading'; +import { HeadingElement } from './elements/heading'; +import { BlockquotePlugin } from '@udecode/plate-block-quote/react'; +import { BlockquoteElement } from './elements/blockquote'; +import { withPlaceholders } from './placeholder'; +import { + CodeBlockPlugin, + CodeLinePlugin, + CodeSyntaxPlugin, +} from '@udecode/plate-code-block/react'; +import { CodeBlockElement } from './elements/code-block'; +import { CodeLineElement } from './elements/code-block/code-line-element'; +import { CodeSyntaxLeaf } from './elements/code-block/code-syntax-leaf'; export const createPlateUI = () => { - const components: Record = { + const components: Record = withPlaceholders({ + [HEADING_KEYS.h1]: withProps(HeadingElement, { variant: 'h1' }), + [HEADING_KEYS.h2]: withProps(HeadingElement, { variant: 'h2' }), + [HEADING_KEYS.h3]: withProps(HeadingElement, { variant: 'h3' }), + [HEADING_KEYS.h4]: withProps(HeadingElement, { variant: 'h4' }), + [HEADING_KEYS.h5]: withProps(HeadingElement, { variant: 'h5' }), + [HEADING_KEYS.h6]: withProps(HeadingElement, { variant: 'h6' }), + + [BlockquotePlugin.key]: BlockquoteElement, + [CodeBlockPlugin.key]: CodeBlockElement, + [CodeLinePlugin.key]: CodeLineElement, + [CodeSyntaxPlugin.key]: CodeSyntaxLeaf, + [ParagraphPlugin.key]: withProps(PlateElement, { as: 'p', - className: 'text-foreground-muted m-0 px-0 py-1', + className: 'text-foreground-muted leading-7 m-0 px-0 py-2', }), [BoldPlugin.key]: withProps(PlateLeaf, { as: 'strong', @@ -47,9 +72,10 @@ export const createPlateUI = () => { }), [CodePlugin.key]: withProps(PlateLeaf, { as: 'code', - className: 'text-foreground bg-gray-subtle rounded-md px-1 py-0.5', + className: + 'text-foreground bg-gray-element border rounded-md px-1 py-0.5', }), - }; + }); return components; }; diff --git a/src/editor/ui/elements/blockquote.tsx b/src/editor/ui/elements/blockquote.tsx new file mode 100644 index 00000000..d0bb9cea --- /dev/null +++ b/src/editor/ui/elements/blockquote.tsx @@ -0,0 +1,24 @@ +'use client'; + +import React from 'react'; + +import { cn, withRef } from '@udecode/cn'; +import { PlateElement } from '@udecode/plate-common/react'; + +export const BlockquoteElement = withRef( + ({ children, className, ...props }, ref) => { + return ( + +
{children}
+
+ ); + }, +); diff --git a/src/editor/ui/elements/code-block/code-block-combobox.tsx b/src/editor/ui/elements/code-block/code-block-combobox.tsx new file mode 100644 index 00000000..a6ab81df --- /dev/null +++ b/src/editor/ui/elements/code-block/code-block-combobox.tsx @@ -0,0 +1,211 @@ +'use client'; + +import React, { useEffect, useState } from 'react'; +import Prism from 'prismjs'; + +import { Icon } from '@/primitives/icon'; + +import { Button } from '@/primitives/button'; +import { Popover, PopoverContent, PopoverTrigger } from '@/primitives/popover'; + +import 'prismjs/components/prism-antlr4.js'; +import 'prismjs/components/prism-bash.js'; +import 'prismjs/components/prism-c.js'; +import 'prismjs/components/prism-cmake.js'; +import 'prismjs/components/prism-coffeescript.js'; +import 'prismjs/components/prism-cpp.js'; +import 'prismjs/components/prism-csharp.js'; +import 'prismjs/components/prism-css.js'; +import 'prismjs/components/prism-dart.js'; +import 'prismjs/components/prism-django.js'; +import 'prismjs/components/prism-docker.js'; +import 'prismjs/components/prism-ejs.js'; +import 'prismjs/components/prism-erlang.js'; +import 'prismjs/components/prism-git.js'; +import 'prismjs/components/prism-go.js'; +import 'prismjs/components/prism-graphql.js'; +import 'prismjs/components/prism-groovy.js'; +import 'prismjs/components/prism-java.js'; +import 'prismjs/components/prism-javascript.js'; +import 'prismjs/components/prism-json.js'; +import 'prismjs/components/prism-jsx.js'; +import 'prismjs/components/prism-kotlin.js'; +import 'prismjs/components/prism-latex.js'; +import 'prismjs/components/prism-less.js'; +import 'prismjs/components/prism-lua.js'; +import 'prismjs/components/prism-makefile.js'; +import 'prismjs/components/prism-markdown.js'; +import 'prismjs/components/prism-matlab.js'; +import 'prismjs/components/prism-mermaid.js'; +import 'prismjs/components/prism-objectivec.js'; +import 'prismjs/components/prism-perl.js'; +import 'prismjs/components/prism-php.js'; +import 'prismjs/components/prism-powershell.js'; +import 'prismjs/components/prism-properties.js'; +import 'prismjs/components/prism-protobuf.js'; +import 'prismjs/components/prism-python.js'; +import 'prismjs/components/prism-r.js'; +import 'prismjs/components/prism-ruby.js'; +import 'prismjs/components/prism-sass.js'; +import 'prismjs/components/prism-scala.js'; +import 'prismjs/components/prism-scheme.js'; +import 'prismjs/components/prism-scss.js'; +import 'prismjs/components/prism-sql.js'; +import 'prismjs/components/prism-swift.js'; +import 'prismjs/components/prism-tsx.js'; +import 'prismjs/components/prism-typescript.js'; +import 'prismjs/components/prism-wasm.js'; +import 'prismjs/components/prism-yaml.js'; +import { ScrollArea } from '@/primitives/scroll-area'; +import { + useCodeBlockCombobox, + useCodeBlockComboboxState, +} from '@udecode/plate-code-block/react'; +import { cn } from '@/lib/utils'; +import { Input } from '@/primitives/input'; + +export { Prism }; + +const languages: { label: string; value: string }[] = [ + { label: 'Plain Text', value: 'text' }, + { label: 'Bash', value: 'bash' }, + { label: 'CSS', value: 'css' }, + { label: 'Git', value: 'git' }, + { label: 'GraphQL', value: 'graphql' }, + { label: 'HTML', value: 'html' }, + { label: 'JavaScript', value: 'javascript' }, + { label: 'JSON', value: 'json' }, + { label: 'JSX', value: 'jsx' }, + { label: 'Markdown', value: 'markdown' }, + { label: 'SQL', value: 'sql' }, + { label: 'SVG', value: 'svg' }, + { label: 'TSX', value: 'tsx' }, + { label: 'TypeScript', value: 'typescript' }, + { label: 'WebAssembly', value: 'wasm' }, + { label: 'ANTLR4', value: 'antlr4' }, + { label: 'C', value: 'c' }, + { label: 'CMake', value: 'cmake' }, + { label: 'CoffeeScript', value: 'coffeescript' }, + { label: 'C#', value: 'csharp' }, + { label: 'Dart', value: 'dart' }, + { label: 'Django', value: 'django' }, + { label: 'Docker', value: 'docker' }, + { label: 'EJS', value: 'ejs' }, + { label: 'Erlang', value: 'erlang' }, + { label: 'Go', value: 'go' }, + { label: 'Groovy', value: 'groovy' }, + { label: 'Java', value: 'java' }, + { label: 'Kotlin', value: 'kotlin' }, + { label: 'LaTeX', value: 'latex' }, + { label: 'Less', value: 'less' }, + { label: 'Lua', value: 'lua' }, + { label: 'Makefile', value: 'makefile' }, + { label: 'Markup', value: 'markup' }, + { label: 'MATLAB', value: 'matlab' }, + { label: 'Mermaid', value: 'mermaid' }, + { label: 'Objective-C', value: 'objectivec' }, + { label: 'Perl', value: 'perl' }, + { label: 'PHP', value: 'php' }, + { label: 'PowerShell', value: 'powershell' }, + { label: '.properties', value: 'properties' }, + { label: 'Protocol Buffers', value: 'protobuf' }, + { label: 'Python', value: 'python' }, + { label: 'R', value: 'r' }, + { label: 'Ruby', value: 'ruby' }, + { label: 'Sass (Sass)', value: 'sass' }, + { label: 'Scala', value: 'scala' }, + { label: 'Scheme', value: 'scheme' }, + { label: 'Sass (Scss)', value: 'scss' }, + { label: 'Shell', value: 'shell' }, + { label: 'Swift', value: 'swift' }, + { label: 'XML', value: 'xml' }, + { label: 'YAML', value: 'yaml' }, +]; + +export function CodeBlockCombobox() { + const state = useCodeBlockComboboxState(); + const { commandItemProps } = useCodeBlockCombobox(state); + + const [open, setOpen] = useState(false); + const [searchTerm, setSearchTerm] = useState(''); + const [filteredLanguages, setFilteredLanguages] = useState(languages); + + useEffect(() => { + const filtered = languages.filter((lang) => + lang.label.toLowerCase().includes(searchTerm.toLowerCase()), + ); + setFilteredLanguages(filtered); + }, [searchTerm]); + + if (state.readOnly) { + return null; + } + + const handleSelect = (value: string) => { + commandItemProps.onSelect(value); + setOpen(false); + }; + + const selectedLanguage = + languages.find((lang) => lang.value === state.value) ?? languages[0]; + + return ( + + + + + +
+ { + setSearchTerm(e.target.value); + }} + /> +
+ + {filteredLanguages.length === 0 ? ( +
+ No language found. +
+ ) : ( + filteredLanguages.map((language) => ( + + )) + )} +
+
+
+ ); +} diff --git a/src/editor/ui/elements/code-block/code-block.css b/src/editor/ui/elements/code-block/code-block.css new file mode 100644 index 00000000..0a521eb1 --- /dev/null +++ b/src/editor/ui/elements/code-block/code-block.css @@ -0,0 +1,276 @@ +pre[class*='language-'], +code[class*='language-'] { + color: #d4d4d4; + font-size: 13px; + text-shadow: none; + font-family: Menlo, Monaco, Consolas, 'Andale Mono', 'Ubuntu Mono', + 'Courier New', monospace; + direction: ltr; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + line-height: 1.5; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*='language-']::selection, +code[class*='language-']::selection, +pre[class*='language-'] *::selection, +code[class*='language-'] *::selection { + text-shadow: none; + background: #264f78; +} + +@media print { + pre[class*='language-'], + code[class*='language-'] { + text-shadow: none; + } +} + +pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + background: #1e1e1e; +} + +:not(pre) > code[class*='language-'] { + padding: 0.1em 0.3em; + border-radius: 0.3em; + color: #db4c69; + background: #1e1e1e; +} +/********************************************************* +* Tokens +*/ +.namespace { + opacity: 0.7; +} + +.token.doctype .token.doctype-tag { + color: #569cd6; +} + +.token.doctype .token.name { + color: #9cdcfe; +} + +.token.comment, +.token.prolog { + color: #6a9955; +} + +.token.punctuation, +.language-html .language-css .token.punctuation, +.language-html .language-javascript .token.punctuation { + color: #d4d4d4; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.inserted, +.token.unit { + color: #b5cea8; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.deleted { + color: #ce9178; +} + +.language-css .token.string.url { + text-decoration: underline; +} + +.token.operator, +.token.entity { + color: #d4d4d4; +} + +.token.operator.arrow { + color: #569cd6; +} + +.token.atrule { + color: #ce9178; +} + +.token.atrule .token.rule { + color: #c586c0; +} + +.token.atrule .token.url { + color: #9cdcfe; +} + +.token.atrule .token.url .token.function { + color: #dcdcaa; +} + +.token.atrule .token.url .token.punctuation { + color: #d4d4d4; +} + +.token.keyword { + color: #569cd6; +} + +.token.keyword.module, +.token.keyword.control-flow { + color: #c586c0; +} + +.token.function, +.token.function .token.maybe-class-name { + color: #dcdcaa; +} + +.token.regex { + color: #d16969; +} + +.token.important { + color: #569cd6; +} + +.token.italic { + font-style: italic; +} + +.token.constant { + color: #9cdcfe; +} + +.token.class-name, +.token.maybe-class-name { + color: #4ec9b0; +} + +.token.console { + color: #9cdcfe; +} + +.token.parameter { + color: #9cdcfe; +} + +.token.interpolation { + color: #9cdcfe; +} + +.token.punctuation.interpolation-punctuation { + color: #569cd6; +} + +.token.boolean { + color: #569cd6; +} + +.token.property, +.token.variable, +.token.imports .token.maybe-class-name, +.token.exports .token.maybe-class-name { + color: #9cdcfe; +} + +.token.selector { + color: #d7ba7d; +} + +.token.escape { + color: #d7ba7d; +} + +.token.tag { + color: #569cd6; +} + +.token.tag .token.punctuation { + color: #808080; +} + +.token.cdata { + color: #808080; +} + +.token.attr-name { + color: #9cdcfe; +} + +.token.attr-value, +.token.attr-value .token.punctuation { + color: #ce9178; +} + +.token.attr-value .token.punctuation.attr-equals { + color: #d4d4d4; +} + +.token.entity { + color: #569cd6; +} + +.token.namespace { + color: #4ec9b0; +} +/********************************************************* +* Language Specific +*/ + +pre[class*='language-javascript'], +code[class*='language-javascript'], +pre[class*='language-jsx'], +code[class*='language-jsx'], +pre[class*='language-typescript'], +code[class*='language-typescript'], +pre[class*='language-tsx'], +code[class*='language-tsx'] { + color: #9cdcfe; +} + +pre[class*='language-css'], +code[class*='language-css'] { + color: #ce9178; +} + +pre[class*='language-html'], +code[class*='language-html'] { + color: #d4d4d4; +} + +.language-regex .token.anchor { + color: #dcdcaa; +} + +.language-html .token.punctuation { + color: #808080; +} +/********************************************************* +* Line highlighting +*/ +pre[class*='language-'] > code[class*='language-'] { + position: relative; + z-index: 1; +} + +.line-highlight.line-highlight { + background: #f7ebc6; + box-shadow: inset 5px 0 0 #f7d87c; + z-index: 0; +} diff --git a/src/editor/ui/elements/code-block/code-line-element.tsx b/src/editor/ui/elements/code-block/code-line-element.tsx new file mode 100644 index 00000000..52ecca5f --- /dev/null +++ b/src/editor/ui/elements/code-block/code-line-element.tsx @@ -0,0 +1,9 @@ +'use client'; + +import React from 'react'; +import { withRef } from '@udecode/cn'; +import { PlateElement } from '@udecode/plate-common/react'; + +export const CodeLineElement = withRef((props, ref) => ( + +)); diff --git a/src/editor/ui/elements/code-block/code-syntax-leaf.tsx b/src/editor/ui/elements/code-block/code-syntax-leaf.tsx new file mode 100644 index 00000000..ab8e4161 --- /dev/null +++ b/src/editor/ui/elements/code-block/code-syntax-leaf.tsx @@ -0,0 +1,20 @@ +'use client'; + +import React from 'react'; +import { withRef } from '@udecode/cn'; +import { useCodeSyntaxLeaf } from '@udecode/plate-code-block/react'; +import { PlateLeaf } from '@udecode/plate-common/react'; + +export const CodeSyntaxLeaf = withRef( + ({ children, ...props }, ref) => { + const { leaf } = props; + + const { tokenProps } = useCodeSyntaxLeaf({ leaf }); + + return ( + + {children} + + ); + }, +); diff --git a/src/editor/ui/elements/code-block/index.tsx b/src/editor/ui/elements/code-block/index.tsx new file mode 100644 index 00000000..79a5988c --- /dev/null +++ b/src/editor/ui/elements/code-block/index.tsx @@ -0,0 +1,39 @@ +'use client'; + +import React from 'react'; + +import { cn, withRef } from '@udecode/cn'; +import { useCodeBlockElementState } from '@udecode/plate-code-block/react'; +import { PlateElement } from '@udecode/plate-common/react'; + +import { CodeBlockCombobox } from './code-block-combobox'; + +import './code-block.css'; + +export const CodeBlockElement = withRef( + ({ children, className, ...props }, ref) => { + const { element } = props; + const state = useCodeBlockElementState({ element }); + + return ( + +
+          {children}
+        
+ + {state.syntax && ( +
+ +
+ )} +
+ ); + }, +); diff --git a/src/editor/ui/elements/heading.tsx b/src/editor/ui/elements/heading.tsx new file mode 100644 index 00000000..b0e6df77 --- /dev/null +++ b/src/editor/ui/elements/heading.tsx @@ -0,0 +1,47 @@ +import React from 'react'; + +import { withRef, withVariants } from '@udecode/cn'; +import { PlateElement } from '@udecode/plate-common/react'; +import { cva } from 'class-variance-authority'; + +const headingVariants = cva('inline-block', { + variants: { + isFirstBlock: { + false: '', + true: '!mt-0', + }, + variant: { + h1: 'mb-4 mt-[1.4em] text-4xl font-semibold', + h2: 'mb-2 mt-[1.15em] text-3xl font-semibold tracking-tight', + h3: 'mb-1.5 mt-[1.15em] text-2xl font-semibold tracking-tight', + h4: 'mb-1 mt-[1.15em] text-xl font-semibold tracking-tight', + h5: 'mb-1 mt-[1.15em] text-lg font-semibold tracking-tight', + h6: 'mb-1 mt-[1.15em] text-base font-semibold tracking-tight', + }, + }, +}); + +const HeadingElementVariants = withVariants(PlateElement, headingVariants, [ + 'isFirstBlock', + 'variant', +]); + +export const HeadingElement = withRef( + ({ children, isFirstBlock, variant = 'h1', ...props }, ref) => { + const { editor, element } = props; + + const Element = variant ?? 'h1'; + + return ( + + {children} + + ); + }, +); diff --git a/src/editor/ui/placeholder.tsx b/src/editor/ui/placeholder.tsx new file mode 100644 index 00000000..5b010256 --- /dev/null +++ b/src/editor/ui/placeholder.tsx @@ -0,0 +1,70 @@ +import type { ReactElement } from 'react'; +import React from 'react'; +import { cn } from '@udecode/cn'; +import { + createNodeHOC, + createNodesHOC, + ParagraphPlugin, + usePlaceholderState, +} from '@udecode/plate-common/react'; +import { HEADING_KEYS } from '@udecode/plate-heading'; + +import type { + CreateHOCOptions, + NodeComponent, + PlaceholderProps, +} from '@udecode/plate-common/react'; + +interface CustomPlaceholderProps extends PlaceholderProps { + placeholder: string; + nodeProps?: Record; + children: ReactElement; +} + +export const Placeholder = (props: CustomPlaceholderProps) => { + const { children, nodeProps, placeholder } = props; + + const { enabled } = usePlaceholderState(props); + + return React.Children.map(children, (child: ReactElement) => { + return React.cloneElement(child, { + className: (child.props as { className: string }).className, + nodeProps: { + ...nodeProps, + className: cn( + enabled && + 'before:absolute before:cursor-text before:opacity-30 before:content-[attr(placeholder)]', + ), + placeholder, + }, + }); + }); +}; + +export const withPlaceholder = createNodeHOC(Placeholder); + +export const withPlaceholdersPrimitive: ( + components: Record, + options: + | CreateHOCOptions + | CreateHOCOptions[], +) => Record = createNodesHOC(Placeholder); + +export const withPlaceholders: ( + components: Record, +) => Record = (components) => + withPlaceholdersPrimitive(components, [ + { + hideOnBlur: true, + key: ParagraphPlugin.key, + placeholder: 'Type a paragraph', + query: { + maxLevel: 1, + }, + }, + { + hideOnBlur: false, + key: HEADING_KEYS.h1, + placeholder: 'Untitled', + }, + ]); diff --git a/src/primitives/dialog.tsx b/src/primitives/dialog.tsx new file mode 100644 index 00000000..988c9f64 --- /dev/null +++ b/src/primitives/dialog.tsx @@ -0,0 +1,122 @@ +'use client'; + +import * as React from 'react'; +import * as DialogPrimitive from '@radix-ui/react-dialog'; +import { X } from 'lucide-react'; + +import { cn } from '@/lib/utils'; + +const Dialog = DialogPrimitive.Root; + +const DialogTrigger = DialogPrimitive.Trigger; + +const DialogPortal = DialogPrimitive.Portal; + +const DialogClose = DialogPrimitive.Close; + +const DialogOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogOverlay.displayName = DialogPrimitive.Overlay.displayName; + +const DialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + + {children} + + + Close + + + +)); +DialogContent.displayName = DialogPrimitive.Content.displayName; + +const DialogHeader = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+); +DialogHeader.displayName = 'DialogHeader'; + +const DialogFooter = ({ + className, + ...props +}: React.HTMLAttributes) => ( +
+); +DialogFooter.displayName = 'DialogFooter'; + +const DialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogTitle.displayName = DialogPrimitive.Title.displayName; + +const DialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogDescription.displayName = DialogPrimitive.Description.displayName; + +export { + Dialog, + DialogPortal, + DialogOverlay, + DialogClose, + DialogTrigger, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +}; diff --git a/src/primitives/icon.tsx b/src/primitives/icon.tsx index 2ebd656f..c100715d 100644 --- a/src/primitives/icon.tsx +++ b/src/primitives/icon.tsx @@ -5,14 +5,26 @@ interface Props { color?: string; size?: number; strokeWidth?: number; + className?: string; } -export const Icon: React.FC = ({ name, color, size, strokeWidth }) => { +export const Icon: React.FC = ({ + name, + color, + size, + strokeWidth, + className, +}) => { // eslint-disable-next-line security/detect-object-injection const LucideIcon = icons[name]; return ( - + ); }; From 7c39a1a49ccd1fac858fc402ae3074442fb77219 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 8 Sep 2024 23:55:21 +0100 Subject: [PATCH 03/11] feat(editor): horizontal rule --- src/editor/ui/components.tsx | 5 +++++ src/editor/ui/elements/hr.tsx | 31 +++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 src/editor/ui/elements/hr.tsx diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index 6a82e571..4cbdc0b3 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -27,6 +27,8 @@ import { import { CodeBlockElement } from './elements/code-block'; import { CodeLineElement } from './elements/code-block/code-line-element'; import { CodeSyntaxLeaf } from './elements/code-block/code-syntax-leaf'; +import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; +import { HrElement } from './elements/hr'; export const createPlateUI = () => { const components: Record = withPlaceholders({ @@ -38,10 +40,13 @@ export const createPlateUI = () => { [HEADING_KEYS.h6]: withProps(HeadingElement, { variant: 'h6' }), [BlockquotePlugin.key]: BlockquoteElement, + [CodeBlockPlugin.key]: CodeBlockElement, [CodeLinePlugin.key]: CodeLineElement, [CodeSyntaxPlugin.key]: CodeSyntaxLeaf, + [HorizontalRulePlugin.key]: HrElement, + [ParagraphPlugin.key]: withProps(PlateElement, { as: 'p', className: 'text-foreground-muted leading-7 m-0 px-0 py-2', diff --git a/src/editor/ui/elements/hr.tsx b/src/editor/ui/elements/hr.tsx new file mode 100644 index 00000000..7ad101d9 --- /dev/null +++ b/src/editor/ui/elements/hr.tsx @@ -0,0 +1,31 @@ +import type { PropsWithChildren } from 'react'; +import React from 'react'; + +import { cn, withRef } from '@udecode/cn'; +import { PlateElement } from '@udecode/plate-common/react'; +import { useFocused, useSelected } from 'slate-react'; + +export const HrElement = withRef( + ({ className, nodeProps, ...props }, ref) => { + const { children } = props; + + const selected = useSelected(); + const focused = useFocused(); + + return ( + +
+
+
+ {children} +
+ ); + }, +); From d56ce55a7554235e409993029b11e367a1d38c71 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sat, 14 Sep 2024 14:39:11 +0100 Subject: [PATCH 04/11] chore: updates deps --- bun.lockb | Bin 547464 -> 536880 bytes package.json | 134 ++++++++++++------------- src/editor/plugins/autoformat-rules.ts | 6 +- src/editor/plugins/index.tsx | 39 ++++--- src/editor/ui/elements/hr.tsx | 7 +- 5 files changed, 91 insertions(+), 95 deletions(-) diff --git a/bun.lockb b/bun.lockb index 78976773a24b7c8c26f814a7827784af3fa380a1..b6b53cf7ef9346b4ce8175d864279b4e86205077 100755 GIT binary patch delta 117425 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

={Z|yA)7+OPCDOzX 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 - ({ className, nodeProps, ...props }, ref) => { - const { children } = props; - +export const HrElement = withRef( + ({ className, nodeProps, children, ...props }, ref) => { const selected = useSelected(); const focused = useFocused(); From 437720a67accdfd71cca53378878fbb9834b3ee9 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sat, 14 Sep 2024 15:56:20 +0100 Subject: [PATCH 05/11] fix: hydration mismatch --- src/app/notebook/[id]/page.tsx | 7 ++++++- src/editor/ui/components.tsx | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/app/notebook/[id]/page.tsx b/src/app/notebook/[id]/page.tsx index 7dda303d..16c21f80 100644 --- a/src/app/notebook/[id]/page.tsx +++ b/src/app/notebook/[id]/page.tsx @@ -1,4 +1,9 @@ -import { PlateEditor } from '@/editor'; +import dynamic from 'next/dynamic'; + +const PlateEditor = dynamic( + () => import('@/editor').then((res) => res.PlateEditor), + { ssr: false }, +); export default function NotebookPage() { return ( diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index 4cbdc0b3..a93c521d 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -49,7 +49,7 @@ export const createPlateUI = () => { [ParagraphPlugin.key]: withProps(PlateElement, { as: 'p', - className: 'text-foreground-muted leading-7 m-0 px-0 py-2', + className: 'text-foreground-muted leading-7 m-0 px-0', }), [BoldPlugin.key]: withProps(PlateLeaf, { as: 'strong', From 98df5535c1819ab13f24c00d3bab7914862098f7 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sat, 14 Sep 2024 16:02:09 +0100 Subject: [PATCH 06/11] feat: adds todo list items but it's not working in plate rn --- bun.lockb | Bin 536880 -> 536880 bytes src/editor/index.tsx | 1 + src/editor/ui/components.tsx | 3 ++ src/editor/ui/elements/todo-list.tsx | 42 +++++++++++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 src/editor/ui/elements/todo-list.tsx diff --git a/bun.lockb b/bun.lockb index b6b53cf7ef9346b4ce8175d864279b4e86205077..2a7afb52043276aa0077fba0f8f4957987faecad 100755 GIT binary patch delta 41 scmdn+NMXYxg@zW!7N!>F7M3ln&0*|J3}DdS6~+q0Y}>oS*q7Y`04OUBkpKVy delta 41 ucmdn+NMXYxg@zW!7N!>F7M3ln&0*|}afW(8*xnV!3dC&NyTaI)-2wnVO%B}v diff --git a/src/editor/index.tsx b/src/editor/index.tsx index ef0fccd7..ba7f1f9f 100644 --- a/src/editor/index.tsx +++ b/src/editor/index.tsx @@ -38,6 +38,7 @@ export const PlateEditor = () => { { + console.log(value); localStorage.setItem('editorContent', JSON.stringify(value)); }} > diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index a93c521d..c3ea2948 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -29,6 +29,8 @@ import { CodeLineElement } from './elements/code-block/code-line-element'; import { CodeSyntaxLeaf } from './elements/code-block/code-syntax-leaf'; import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; import { HrElement } from './elements/hr'; +import { TodoListPlugin } from '@udecode/plate-list/react'; +import { TodoListElement } from './elements/todo-list'; export const createPlateUI = () => { const components: Record = withPlaceholders({ @@ -46,6 +48,7 @@ export const createPlateUI = () => { [CodeSyntaxPlugin.key]: CodeSyntaxLeaf, [HorizontalRulePlugin.key]: HrElement, + [TodoListPlugin.key]: TodoListElement, [ParagraphPlugin.key]: withProps(PlateElement, { as: 'p', diff --git a/src/editor/ui/elements/todo-list.tsx b/src/editor/ui/elements/todo-list.tsx new file mode 100644 index 00000000..595a8b6e --- /dev/null +++ b/src/editor/ui/elements/todo-list.tsx @@ -0,0 +1,42 @@ +import React from 'react'; +import { cn, withRef } from '@udecode/cn'; +import { PlateElement } from '@udecode/plate-common/react'; +import { + useTodoListElement, + useTodoListElementState, +} from '@udecode/plate-list/react'; + +import { Checkbox } from '@/primitives/checkbox'; + +export const TodoListElement = withRef( + ({ children, className, ...props }, ref) => { + const { element } = props; + const state = useTodoListElementState({ element }); + const { checkboxProps } = useTodoListElement(state); + + return ( + +

+ +
+ + {children} + + + ); + }, +); From 45413bf1a2934e935a1cc4aa7b0e404d854a5ac0 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sat, 14 Sep 2024 16:24:17 +0100 Subject: [PATCH 07/11] feat(editor): links --- bun.lockb | Bin 536880 -> 536880 bytes src/editor/plugins/index.tsx | 5 + src/editor/ui/components.tsx | 3 + src/editor/ui/elements/link.tsx | 29 +++++ src/editor/ui/link-floating-toolbar.tsx | 159 ++++++++++++++++++++++++ src/primitives/input.tsx | 41 +++--- src/primitives/popover.tsx | 18 ++- 7 files changed, 236 insertions(+), 19 deletions(-) create mode 100644 src/editor/ui/elements/link.tsx create mode 100644 src/editor/ui/link-floating-toolbar.tsx diff --git a/bun.lockb b/bun.lockb index 2a7afb52043276aa0077fba0f8f4957987faecad..9e0d6ad816e04d331bb8db2be77757e8205f1a56 100755 GIT binary patch delta 58 zcmdn+NMXYxg@zW!7N!>F7M3ln&0*|}afW(8IK3;3^&}e;0|-oi$iXJso)^vv#BAI1 J!r2eq1OPMV5|01? delta 54 zcmdn+NMXYxg@zW!7N!>F7M3ln&0*|J3}7(5D~$CdJ7b)oo}r#WdsH|p5VLKM3TMA| F69Cs45X=Ao diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx index 58f165ab..6bd705d3 100644 --- a/src/editor/plugins/index.tsx +++ b/src/editor/plugins/index.tsx @@ -53,6 +53,8 @@ import { import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; import { TodoListPlugin } from '@udecode/plate-list/react'; import Prism from 'prismjs'; +import { LinkPlugin } from '@udecode/plate-link/react'; +import { LinkFloatingToolbar } from '../ui/link-floating-toolbar'; export const plugins = [ // Nodes @@ -72,6 +74,9 @@ export const plugins = [ TableCellPlugin, TableCellHeaderPlugin, TodoListPlugin, + LinkPlugin.configure({ + render: { afterEditable: () => }, + }), // Basic Marks BoldPlugin, diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index c3ea2948..3575488e 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -31,6 +31,8 @@ import { HorizontalRulePlugin } from '@udecode/plate-horizontal-rule/react'; import { HrElement } from './elements/hr'; import { TodoListPlugin } from '@udecode/plate-list/react'; import { TodoListElement } from './elements/todo-list'; +import { LinkPlugin } from '@udecode/plate-link/react'; +import { LinkElement } from './elements/link'; export const createPlateUI = () => { const components: Record = withPlaceholders({ @@ -49,6 +51,7 @@ export const createPlateUI = () => { [HorizontalRulePlugin.key]: HrElement, [TodoListPlugin.key]: TodoListElement, + [LinkPlugin.key]: LinkElement, [ParagraphPlugin.key]: withProps(PlateElement, { as: 'p', diff --git a/src/editor/ui/elements/link.tsx b/src/editor/ui/elements/link.tsx new file mode 100644 index 00000000..24cabc0e --- /dev/null +++ b/src/editor/ui/elements/link.tsx @@ -0,0 +1,29 @@ +import React from 'react'; +import { cn, withRef } from '@udecode/cn'; +import { PlateElement, useElement } from '@udecode/plate-common/react'; +import { useLink } from '@udecode/plate-link/react'; + +import type { TLinkElement } from '@udecode/plate-link'; + +export const LinkElement = withRef( + ({ children, className, ...props }, ref) => { + const element = useElement(); + const { props: linkProps } = useLink({ element }); + + return ( + )} + {...props} + > + {/* eslint-disable-next-line jsx-a11y/anchor-is-valid */} +
{children} + + ); + }, +); diff --git a/src/editor/ui/link-floating-toolbar.tsx b/src/editor/ui/link-floating-toolbar.tsx new file mode 100644 index 00000000..93222257 --- /dev/null +++ b/src/editor/ui/link-floating-toolbar.tsx @@ -0,0 +1,159 @@ +'use client'; + +import React from 'react'; +import { cn } from '@udecode/cn'; +import { useFormInputProps } from '@udecode/plate-common/react'; +import { flip, offset } from '@udecode/plate-floating'; +import { + FloatingLinkUrlInput, + LinkOpenButton, + useFloatingLinkEdit, + useFloatingLinkEditState, + useFloatingLinkInsert, + useFloatingLinkInsertState, +} from '@udecode/plate-link/react'; + +import { buttonVariants } from '@/primitives/button'; +import { inputVariants, Input } from '@/primitives/input'; +import { popoverVariants } from '@/primitives/popover'; +import { Separator } from '@/primitives/separator'; + +import type { UseVirtualFloatingOptions } from '@udecode/plate-floating'; +import type { LinkFloatingToolbarState } from '@udecode/plate-link/react'; +import { ExternalLinkIcon, LinkIcon, TextIcon, UnlinkIcon } from 'lucide-react'; + +const floatingOptions: UseVirtualFloatingOptions = { + middleware: [ + offset(12), + flip({ + fallbackPlacements: ['bottom-end', 'top-start', 'top-end'], + padding: 12, + }), + ], + placement: 'bottom-start', +}; + +export interface LinkFloatingToolbarProps { + state?: LinkFloatingToolbarState; +} + +export function LinkFloatingToolbar({ state }: LinkFloatingToolbarProps) { + const insertState = useFloatingLinkInsertState({ + ...state, + floatingOptions: { + ...floatingOptions, + ...state?.floatingOptions, + }, + }); + const { + hidden, + props: insertProps, + ref: insertRef, + textInputProps, + } = useFloatingLinkInsert(insertState); + + const editState = useFloatingLinkEditState({ + ...state, + floatingOptions: { + ...floatingOptions, + ...state?.floatingOptions, + }, + }); + const { + editButtonProps, + props: editProps, + ref: editRef, + unlinkButtonProps, + } = useFloatingLinkEdit(editState); + const inputProps = useFormInputProps({ + preventDefaultOnEnterKeydown: true, + }); + + if (hidden) { + return null; + } + + const input = ( +
+
+
+ +
+ + +
+ +
+
+ +
+ +
+
+ ); + + const editContent = editState.isEditing ? ( + input + ) : ( +
+ + + + + + + + + + + +
+ ); + + return ( + <> +
+ {input} +
+ +
+ {editContent} +
+ + ); +} diff --git a/src/primitives/input.tsx b/src/primitives/input.tsx index e9a21f8a..a4dc5183 100644 --- a/src/primitives/input.tsx +++ b/src/primitives/input.tsx @@ -1,24 +1,37 @@ import * as React from 'react'; import { cn } from '@/lib/utils'; +import type { VariantProps } from 'class-variance-authority'; +import { cva } from 'class-variance-authority'; export type InputProps = React.InputHTMLAttributes; -const Input = React.forwardRef( - ({ className, type, ...props }, ref) => { - return ( - - ); +const inputVariants = cva( + 'flex h-9 w-full rounded-md border-gray-subtle-border bg-gray-subtle px-3 py-1 text-sm shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-gray-solid focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50', + { + variants: { + variant: { + outline: + 'border focus-visible:ring-1 focus-visible:ring-pink-solid-hover', + ghost: '', + }, + }, }, ); + +const Input = React.forwardRef< + HTMLInputElement, + InputProps & VariantProps +>(({ className, type, variant = 'outline', ...props }, ref) => { + return ( + + ); +}); Input.displayName = 'Input'; -export { Input }; +export { Input, inputVariants }; diff --git a/src/primitives/popover.tsx b/src/primitives/popover.tsx index add93fdc..bf426782 100644 --- a/src/primitives/popover.tsx +++ b/src/primitives/popover.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import * as PopoverPrimitive from '@radix-ui/react-popover'; import { cn } from '@/lib/utils'; +import { cva } from 'class-variance-authority'; const Popover = PopoverPrimitive.Root; @@ -12,6 +13,10 @@ const PopoverTrigger = PopoverPrimitive.Trigger; const PopoverAnchor = PopoverPrimitive.Anchor; +const popoverVariants = cva( + 'z-50 w-72 rounded-md border bg-gray-subtle text-foreground-muted shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', +); + const PopoverContent = React.forwardRef< React.ElementRef, React.ComponentPropsWithoutRef @@ -21,14 +26,17 @@ const PopoverContent = React.forwardRef< ref={ref} align={align} sideOffset={sideOffset} - className={cn( - 'z-50 w-72 rounded-md border bg-gray-subtle text-foreground-muted shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', - className, - )} + className={cn(popoverVariants(), className)} {...props} /> )); PopoverContent.displayName = PopoverPrimitive.Content.displayName; -export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor }; +export { + Popover, + PopoverTrigger, + PopoverContent, + PopoverAnchor, + popoverVariants, +}; From 4caab0b0d93278cef16bec08ffaf2a68b46f69ce Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 15 Sep 2024 14:52:36 +0100 Subject: [PATCH 08/11] fix(editor): todo list --- src/editor/plugins/index.tsx | 10 +++++++++ src/editor/ui/elements/todo.tsx | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 src/editor/ui/elements/todo.tsx diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx index 6bd705d3..59a74059 100644 --- a/src/editor/plugins/index.tsx +++ b/src/editor/plugins/index.tsx @@ -55,6 +55,7 @@ import { TodoListPlugin } from '@udecode/plate-list/react'; import Prism from 'prismjs'; import { LinkPlugin } from '@udecode/plate-link/react'; import { LinkFloatingToolbar } from '../ui/link-floating-toolbar'; +import { TodoLi, TodoMarker } from '../ui/elements/todo'; export const plugins = [ // Nodes @@ -112,6 +113,15 @@ export const plugins = [ ...HEADING_LEVELS, ], }, + options: { + listStyleTypes: { + todo: { + liComponent: TodoLi, + markerComponent: TodoMarker, + type: 'todo', + }, + }, + }, }), LineHeightPlugin.configure({ inject: { diff --git a/src/editor/ui/elements/todo.tsx b/src/editor/ui/elements/todo.tsx new file mode 100644 index 00000000..e4d9f54c --- /dev/null +++ b/src/editor/ui/elements/todo.tsx @@ -0,0 +1,37 @@ +import type { PlateRenderElementProps } from '@udecode/plate-common/react'; + +import { cn } from '@udecode/cn'; +import { + useIndentTodoListElement, + useIndentTodoListElementState, +} from '@udecode/plate-indent-list/react'; + +import { Checkbox } from '@/primitives/checkbox'; + +export const TodoMarker = ({ + element, +}: Omit) => { + const state = useIndentTodoListElementState({ element }); + const { checkboxProps } = useIndentTodoListElement(state); + + return ( +
+ +
+ ); +}; + +export const TodoLi = ({ children, element }: PlateRenderElementProps) => { + return ( + + {children} + + ); +}; From 2124c6b3baf9d5b34e0eb0dad59d3897a3fe36fc Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 15 Sep 2024 15:02:42 +0100 Subject: [PATCH 09/11] feat(editor): highlights --- src/editor/plugins/index.tsx | 2 ++ src/editor/ui/components.tsx | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx index 59a74059..41287083 100644 --- a/src/editor/plugins/index.tsx +++ b/src/editor/plugins/index.tsx @@ -56,6 +56,7 @@ import Prism from 'prismjs'; import { LinkPlugin } from '@udecode/plate-link/react'; import { LinkFloatingToolbar } from '../ui/link-floating-toolbar'; import { TodoLi, TodoMarker } from '../ui/elements/todo'; +import { HighlightPlugin } from '@udecode/plate-highlight/react'; export const plugins = [ // Nodes @@ -87,6 +88,7 @@ export const plugins = [ CodePlugin, SubscriptPlugin, SuperscriptPlugin, + HighlightPlugin, // Block Style AlignPlugin.configure({ diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index 3575488e..d3a321e1 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -33,6 +33,7 @@ import { TodoListPlugin } from '@udecode/plate-list/react'; import { TodoListElement } from './elements/todo-list'; import { LinkPlugin } from '@udecode/plate-link/react'; import { LinkElement } from './elements/link'; +import { HighlightPlugin } from '@udecode/plate-highlight/react'; export const createPlateUI = () => { const components: Record = withPlaceholders({ @@ -86,6 +87,11 @@ export const createPlateUI = () => { className: 'text-foreground bg-gray-element border rounded-md px-1 py-0.5', }), + [HighlightPlugin.key]: withProps(PlateLeaf, { + as: 'mark', + className: + 'bg-yellow-500/10 text-yellow-500 [&>em]:text-yellow-500 [&>strong]:text-yellow-500 [&>u]:text-yellow-500 [&>s]:text-yellow-500 [&>sub]:text-yellow-500 [&>sup]:text-yellow-500', + }), }); return components; From bf48e1907745335fb329b6c85e924c14fdc4ed49 Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 15 Sep 2024 17:08:52 +0100 Subject: [PATCH 10/11] feat(editor): drag and drop blocks --- bun.lockb | Bin 536880 -> 537816 bytes cspell.config.yaml | 4 +- package.json | 3 + src/editor/index.tsx | 22 ++-- src/editor/plugins/index.tsx | 2 + src/editor/ui/components.tsx | 8 +- src/editor/ui/draggable.tsx | 174 +++++++++++++++++++++++++++++ src/editor/ui/editor.tsx | 2 +- src/editor/ui/with-draggables.tsx | 180 ++++++++++++++++++++++++++++++ src/primitives/tooltip.tsx | 38 +++++++ 10 files changed, 420 insertions(+), 13 deletions(-) create mode 100644 src/editor/ui/draggable.tsx create mode 100644 src/editor/ui/with-draggables.tsx create mode 100644 src/primitives/tooltip.tsx diff --git a/bun.lockb b/bun.lockb index 9e0d6ad816e04d331bb8db2be77757e8205f1a56..4bba695cea7de276e526349b55895eceb7b0f753 100755 GIT binary patch delta 103491 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 delta 103229 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[rUOBXGE^FNF>D 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 { }); return ( - { - console.log(value); - localStorage.setItem('editorContent', JSON.stringify(value)); - }} - > - - + + { + console.log(value); + localStorage.setItem('editorContent', JSON.stringify(value)); + }} + > + + + ); }; diff --git a/src/editor/plugins/index.tsx b/src/editor/plugins/index.tsx index 41287083..c447e767 100644 --- a/src/editor/plugins/index.tsx +++ b/src/editor/plugins/index.tsx @@ -18,6 +18,7 @@ import { ResetNodePlugin } from '@udecode/plate-reset-node/react'; import { ImagePlugin } from '@udecode/plate-media/react'; import { ExitBreakPlugin, SoftBreakPlugin } from '@udecode/plate-break/react'; import { AutoformatPlugin } from '@udecode/plate-autoformat/react'; +import { DndPlugin } from '@udecode/plate-dnd'; import { isBlockAboveEmpty, isSelectionAtBlockStart, @@ -167,6 +168,7 @@ export const plugins = [ }, }), NodeIdPlugin, + DndPlugin.configure({ options: { enableScroller: true } }), ResetNodePlugin.configure({ options: { rules: [ diff --git a/src/editor/ui/components.tsx b/src/editor/ui/components.tsx index d3a321e1..0d7e3f80 100644 --- a/src/editor/ui/components.tsx +++ b/src/editor/ui/components.tsx @@ -34,9 +34,10 @@ import { TodoListElement } from './elements/todo-list'; import { LinkPlugin } from '@udecode/plate-link/react'; import { LinkElement } from './elements/link'; import { HighlightPlugin } from '@udecode/plate-highlight/react'; +import { withDraggables } from './with-draggables'; export const createPlateUI = () => { - const components: Record = withPlaceholders({ + let components: Record = { [HEADING_KEYS.h1]: withProps(HeadingElement, { variant: 'h1' }), [HEADING_KEYS.h2]: withProps(HeadingElement, { variant: 'h2' }), [HEADING_KEYS.h3]: withProps(HeadingElement, { variant: 'h3' }), @@ -55,6 +56,7 @@ export const createPlateUI = () => { [LinkPlugin.key]: LinkElement, [ParagraphPlugin.key]: withProps(PlateElement, { + draggable: true, as: 'p', className: 'text-foreground-muted leading-7 m-0 px-0', }), @@ -92,7 +94,9 @@ export const createPlateUI = () => { className: 'bg-yellow-500/10 text-yellow-500 [&>em]:text-yellow-500 [&>strong]:text-yellow-500 [&>u]:text-yellow-500 [&>s]:text-yellow-500 [&>sub]:text-yellow-500 [&>sup]:text-yellow-500', }), - }); + }; + + components = withPlaceholders(withDraggables(components)); return components; }; diff --git a/src/editor/ui/draggable.tsx b/src/editor/ui/draggable.tsx new file mode 100644 index 00000000..0dc7ae2c --- /dev/null +++ b/src/editor/ui/draggable.tsx @@ -0,0 +1,174 @@ +'use client'; + +import React from 'react'; + +import type { ClassNames, TEditor } from '@udecode/plate-common'; +import type { DropTargetMonitor } from 'react-dnd'; + +import { cn, withRef } from '@udecode/cn'; +import { + type PlateElementProps, + useEditorRef, +} from '@udecode/plate-common/react'; +import { + type DragItemNode, + useDraggable, + useDraggableState, +} from '@udecode/plate-dnd'; +import { BlockSelectionPlugin } from '@udecode/plate-selection/react'; + +import { + Tooltip, + TooltipContent, + TooltipPortal, + TooltipProvider, + TooltipTrigger, +} from '@/primitives/tooltip'; +import { GripVerticalIcon } from 'lucide-react'; + +export interface DraggableProps + extends PlateElementProps, + ClassNames<{ + /** Block. */ + block: string; + + /** Block and gutter. */ + blockAndGutter: string; + + /** Block toolbar in the gutter. */ + blockToolbar: string; + + /** + * Block toolbar wrapper in the gutter left. It has the height of a line + * of the block. + */ + blockToolbarWrapper: string; + + blockWrapper: string; + + /** Button to dnd the block, in the block toolbar. */ + dragHandle: string; + + /** Icon of the drag button, in the drag icon. */ + dragIcon: string; + + /** Show a dropline above or below the block when dragging a block. */ + dropLine: string; + + /** Gutter at the left side of the editor. It has the height of the block */ + gutterLeft: string; + }> { + /** + * Intercepts the drop handling. If `false` is returned, the default drop + * behavior is called after. If `true` is returned, the default behavior is + * not called. + */ + onDropHandler?: ( + editor: TEditor, + props: { + id: string; + dragItem: DragItemNode; + monitor: DropTargetMonitor; + nodeRef: unknown; + }, + ) => boolean; + key: string; + keys: string[]; +} + +const DragHandle = () => { + const editor = useEditorRef(); + + return ( + + + + { + event.stopPropagation(); + event.preventDefault(); + }} + onMouseDown={() => { + editor + .getApi(BlockSelectionPlugin) + .blockSelection.resetSelectedIds(); + }} + /> + + + Drag to move + + + + ); +}; + +export const Draggable = withRef<'div', DraggableProps>( + ({ className, classNames = {}, children, element, onDropHandler }, ref) => { + const state = useDraggableState({ element, onDropHandler }); + const { dropLine, isDragging, isHovered } = state; + const { + droplineProps, + groupProps, + gutterLeftProps, + previewRef, + handleRef, + } = useDraggable(state); + + return ( +

+
+
+
+
+ {isHovered && } +
+
+
+
+ +
+ {children} + + {!!dropLine && ( +
+ )} +
+
+ ); + }, +); diff --git a/src/editor/ui/editor.tsx b/src/editor/ui/editor.tsx index e76181ab..b305ba8d 100644 --- a/src/editor/ui/editor.tsx +++ b/src/editor/ui/editor.tsx @@ -8,7 +8,7 @@ import type { VariantProps } from 'class-variance-authority'; const editorVariants = cva( cn( - 'relative overflow-x-auto whitespace-pre-wrap break-words', + 'relative 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]', diff --git a/src/editor/ui/with-draggables.tsx b/src/editor/ui/with-draggables.tsx new file mode 100644 index 00000000..0a2ee228 --- /dev/null +++ b/src/editor/ui/with-draggables.tsx @@ -0,0 +1,180 @@ +import type { FC } from 'react'; + +import { BlockquotePlugin } from '@udecode/plate-block-quote/react'; +import { CodeBlockPlugin } from '@udecode/plate-code-block/react'; +import type { NodeComponent } from '@udecode/plate-common/react'; +import { + ParagraphPlugin, + createNodesWithHOC, +} from '@udecode/plate-common/react'; +import { + type WithDraggableOptions, + withDraggable as withDraggablePrimitive, +} from '@udecode/plate-dnd'; +import { ExcalidrawPlugin } from '@udecode/plate-excalidraw/react'; +import { HEADING_KEYS } from '@udecode/plate-heading'; +import { ColumnPlugin } from '@udecode/plate-layout/react'; +import { + BulletedListPlugin, + NumberedListPlugin, +} from '@udecode/plate-list/react'; +import { + ImagePlugin, + MediaEmbedPlugin, + PlaceholderPlugin, +} from '@udecode/plate-media/react'; +import { TablePlugin } from '@udecode/plate-table/react'; +import { TogglePlugin } from '@udecode/plate-toggle/react'; + +import { type DraggableProps, Draggable } from './draggable'; + +interface MyDraggableOptions extends WithDraggableOptions { + keys?: string[]; + key?: string; +} + +export const withDraggable = ( + Component: FC, + options?: MyDraggableOptions>, +) => + withDraggablePrimitive>( + Draggable, + Component, + options, + ); + +export const withDraggablesPrimitive: ( + components: Record, + options: MyDraggableOptions< + Partial> + >[], +) => Record = createNodesWithHOC(withDraggable); + +export const withDraggables = (components: Record) => { + return withDraggablesPrimitive(components, [ + { + keys: [ + ParagraphPlugin.key, + BulletedListPlugin.key, + NumberedListPlugin.key, + ], + level: 0, + }, + { + key: HEADING_KEYS.h2, + draggableProps: { + classNames: { + block: 'pt-6', + blockToolbarWrapper: 'h-[1.3em]', + gutterLeft: 'px-0 pb-1 pt-7 text-[1.5em]', + }, + }, + }, + { + key: HEADING_KEYS.h3, + draggableProps: { + classNames: { + blockToolbarWrapper: 'h-[1.3em]', + gutterLeft: 'pt-6 px-0 pb-1 text-[1.25em]', + }, + }, + }, + { + keys: [HEADING_KEYS.h4, HEADING_KEYS.h5], + draggableProps: { + classNames: { + blockToolbarWrapper: 'h-[1.3em]', + gutterLeft: 'pt-[3px] px-0 pb-0 text-[1.1em]', + }, + }, + }, + { + keys: [ParagraphPlugin.key], + draggableProps: { + classNames: { + gutterLeft: 'pt-[3px] px-0 pb-0', + }, + }, + }, + { + keys: [HEADING_KEYS.h6, BulletedListPlugin.key, NumberedListPlugin.key], + draggableProps: { + classNames: { + gutterLeft: 'px-0 pb-0', + }, + }, + }, + { + key: BlockquotePlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'px-0 pb-0', + }, + }, + }, + { + key: CodeBlockPlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'px-0 pb-0', + }, + }, + }, + { + key: ImagePlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-0 px-0 pb-0', + }, + }, + }, + { + key: MediaEmbedPlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-0 px-0 pb-0', + }, + }, + }, + { + key: ExcalidrawPlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-0 px-0 pb-0', + }, + }, + }, + { + key: TogglePlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-0 px-0 pb-0', + }, + }, + }, + { + key: ColumnPlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-0 px-0 pb-0', + }, + }, + }, + { + key: PlaceholderPlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-3 px-0 pb-0', + }, + }, + }, + { + key: TablePlugin.key, + draggableProps: { + classNames: { + gutterLeft: 'pt-3 px-0 pb-0', + }, + }, + }, + ]); +}; diff --git a/src/primitives/tooltip.tsx b/src/primitives/tooltip.tsx new file mode 100644 index 00000000..b6e10d57 --- /dev/null +++ b/src/primitives/tooltip.tsx @@ -0,0 +1,38 @@ +'use client'; + +import * as React from 'react'; +import * as TooltipPrimitive from '@radix-ui/react-tooltip'; + +import { cn } from '@/lib/utils'; + +const TooltipProvider = TooltipPrimitive.Provider; + +const TooltipPortal = TooltipPrimitive.Portal; + +const Tooltip = TooltipPrimitive.Root; + +const TooltipTrigger = TooltipPrimitive.Trigger; + +const TooltipContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 4, ...props }, ref) => ( + +)); +TooltipContent.displayName = TooltipPrimitive.Content.displayName; + +export { + Tooltip, + TooltipTrigger, + TooltipContent, + TooltipProvider, + TooltipPortal, +}; From e53f7606e1ec44cf98dc067796d4531a91d7f19b Mon Sep 17 00:00:00 2001 From: Ahmed Elsakaan Date: Sun, 15 Sep 2024 18:20:10 +0100 Subject: [PATCH 11/11] refactor(editor): drag handle positioning --- src/editor/ui/draggable.tsx | 6 +- src/editor/ui/elements/blockquote.tsx | 2 +- src/editor/ui/with-draggables.tsx | 98 ++++----------------------- 3 files changed, 17 insertions(+), 89 deletions(-) diff --git a/src/editor/ui/draggable.tsx b/src/editor/ui/draggable.tsx index 0dc7ae2c..10523c0e 100644 --- a/src/editor/ui/draggable.tsx +++ b/src/editor/ui/draggable.tsx @@ -24,7 +24,7 @@ import { TooltipProvider, TooltipTrigger, } from '@/primitives/tooltip'; -import { GripVerticalIcon } from 'lucide-react'; +import { GripIcon } from 'lucide-react'; export interface DraggableProps extends PlateElementProps, @@ -83,7 +83,7 @@ const DragHandle = () => { - { event.stopPropagation(); @@ -137,7 +137,7 @@ export const Draggable = withRef<'div', DraggableProps>(
diff --git a/src/editor/ui/elements/blockquote.tsx b/src/editor/ui/elements/blockquote.tsx index d0bb9cea..8c979f90 100644 --- a/src/editor/ui/elements/blockquote.tsx +++ b/src/editor/ui/elements/blockquote.tsx @@ -11,7 +11,7 @@ export const BlockquoteElement = withRef( ) => { NumberedListPlugin.key, ], level: 0, - }, - { - key: HEADING_KEYS.h2, draggableProps: { classNames: { - block: 'pt-6', - blockToolbarWrapper: 'h-[1.3em]', - gutterLeft: 'px-0 pb-1 pt-7 text-[1.5em]', + gutterLeft: 'pt-[1px]', }, }, }, { - key: HEADING_KEYS.h3, - draggableProps: { - classNames: { - blockToolbarWrapper: 'h-[1.3em]', - gutterLeft: 'pt-6 px-0 pb-1 text-[1.25em]', - }, - }, - }, - { - keys: [HEADING_KEYS.h4, HEADING_KEYS.h5], - draggableProps: { - classNames: { - blockToolbarWrapper: 'h-[1.3em]', - gutterLeft: 'pt-[3px] px-0 pb-0 text-[1.1em]', - }, - }, - }, - { - keys: [ParagraphPlugin.key], - draggableProps: { - classNames: { - gutterLeft: 'pt-[3px] px-0 pb-0', - }, - }, - }, - { - keys: [HEADING_KEYS.h6, BulletedListPlugin.key, NumberedListPlugin.key], - draggableProps: { - classNames: { - gutterLeft: 'px-0 pb-0', - }, - }, - }, - { - key: BlockquotePlugin.key, - draggableProps: { - classNames: { - gutterLeft: 'px-0 pb-0', - }, - }, - }, - { - key: CodeBlockPlugin.key, - draggableProps: { - classNames: { - gutterLeft: 'px-0 pb-0', - }, - }, - }, - { - key: ImagePlugin.key, - draggableProps: { - classNames: { - gutterLeft: 'pt-0 px-0 pb-0', - }, - }, - }, - { - key: MediaEmbedPlugin.key, + key: HEADING_KEYS.h2, draggableProps: { classNames: { - gutterLeft: 'pt-0 px-0 pb-0', + gutterLeft: 'pt-9', }, }, }, { - key: ExcalidrawPlugin.key, + key: HEADING_KEYS.h3, draggableProps: { classNames: { - gutterLeft: 'pt-0 px-0 pb-0', + gutterLeft: 'pt-7', }, }, }, { - key: TogglePlugin.key, + key: HEADING_KEYS.h4, draggableProps: { classNames: { - gutterLeft: 'pt-0 px-0 pb-0', + gutterLeft: 'pt-6', }, }, }, { - key: ColumnPlugin.key, + key: HEADING_KEYS.h5, draggableProps: { classNames: { - gutterLeft: 'pt-0 px-0 pb-0', + gutterLeft: 'pt-[22px]', }, }, }, { - key: PlaceholderPlugin.key, + key: HEADING_KEYS.h6, draggableProps: { classNames: { - gutterLeft: 'pt-3 px-0 pb-0', + gutterLeft: 'pt-[17px]', }, }, }, { - key: TablePlugin.key, + keys: [BlockquotePlugin.key, CodeBlockPlugin.key], draggableProps: { classNames: { - gutterLeft: 'pt-3 px-0 pb-0', + gutterLeft: 'pt-[1px]', }, }, },