From 0887b69149bcc15e143726455e84f42729458895 Mon Sep 17 00:00:00 2001
From: Palanikannan1437 <73993394+Palanikannan1437@users.noreply.github.com>
Date: Fri, 8 Sep 2023 18:41:40 +0530
Subject: [PATCH 01/57] initialized tiptap component with common tailwind
config
---
packages/editor/package.json | 85 ++++
packages/editor/postcss.config.js | 9 +
packages/editor/src/README.md | 139 +++++++
packages/editor/src/index.tsx | 106 +++++
packages/editor/src/lib/utils.ts | 6 +
packages/editor/src/style/editor.css | 231 +++++++++++
.../editor/extensions/image/image-resize.tsx | 44 +++
.../editor/extensions/image/updated-image.tsx | 22 ++
.../editor/src/ui/editor/extensions/index.tsx | 150 +++++++
.../ui/editor/extensions/slash-command.tsx | 365 ++++++++++++++++++
.../ui/editor/extensions/table/table-cell.ts | 32 ++
.../editor/extensions/table/table-header.ts | 7 +
.../src/ui/editor/extensions/table/table.ts | 9 +
.../src/ui/editor/menus/bubble-menu/index.tsx | 121 ++++++
.../menus/bubble-menu/link-selector.tsx | 92 +++++
.../menus/bubble-menu/node-selector.tsx | 130 +++++++
.../bubble-menu/utils/link-validator.tsx | 11 +
.../table-menu/InsertBottomTableIcon.tsx | 16 +
.../menus/table-menu/InsertLeftTableIcon.tsx | 15 +
.../menus/table-menu/InsertRightTableIcon.tsx | 16 +
.../menus/table-menu/InsertTopTableIcon.tsx | 15 +
.../src/ui/editor/menus/table-menu/index.tsx | 143 +++++++
.../ui/editor/menus/table-menu/tooltip.tsx | 77 ++++
.../src/ui/editor/plugins/delete-image.tsx | 68 ++++
.../src/ui/editor/plugins/upload-image.tsx | 127 ++++++
packages/editor/src/ui/editor/props.tsx | 69 ++++
packages/editor/src/utils.ts | 6 +
packages/editor/tailwind.config.js | 6 +
packages/editor/tsconfig.json | 12 +
packages/editor/tsup.config.ts | 14 +
packages/tailwind-config/package.json | 15 +
packages/tailwind-config/tailwind.config.js | 206 ++++++++++
32 files changed, 2364 insertions(+)
create mode 100644 packages/editor/package.json
create mode 100644 packages/editor/postcss.config.js
create mode 100644 packages/editor/src/README.md
create mode 100644 packages/editor/src/index.tsx
create mode 100644 packages/editor/src/lib/utils.ts
create mode 100644 packages/editor/src/style/editor.css
create mode 100644 packages/editor/src/ui/editor/extensions/image/image-resize.tsx
create mode 100644 packages/editor/src/ui/editor/extensions/image/updated-image.tsx
create mode 100644 packages/editor/src/ui/editor/extensions/index.tsx
create mode 100644 packages/editor/src/ui/editor/extensions/slash-command.tsx
create mode 100644 packages/editor/src/ui/editor/extensions/table/table-cell.ts
create mode 100644 packages/editor/src/ui/editor/extensions/table/table-header.ts
create mode 100644 packages/editor/src/ui/editor/extensions/table/table.ts
create mode 100644 packages/editor/src/ui/editor/menus/bubble-menu/index.tsx
create mode 100644 packages/editor/src/ui/editor/menus/bubble-menu/link-selector.tsx
create mode 100644 packages/editor/src/ui/editor/menus/bubble-menu/node-selector.tsx
create mode 100644 packages/editor/src/ui/editor/menus/bubble-menu/utils/link-validator.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/InsertBottomTableIcon.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/InsertLeftTableIcon.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/InsertRightTableIcon.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/InsertTopTableIcon.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/index.tsx
create mode 100644 packages/editor/src/ui/editor/menus/table-menu/tooltip.tsx
create mode 100644 packages/editor/src/ui/editor/plugins/delete-image.tsx
create mode 100644 packages/editor/src/ui/editor/plugins/upload-image.tsx
create mode 100644 packages/editor/src/ui/editor/props.tsx
create mode 100644 packages/editor/src/utils.ts
create mode 100644 packages/editor/tailwind.config.js
create mode 100644 packages/editor/tsconfig.json
create mode 100644 packages/editor/tsup.config.ts
create mode 100644 packages/tailwind-config/package.json
create mode 100644 packages/tailwind-config/tailwind.config.js
diff --git a/packages/editor/package.json b/packages/editor/package.json
new file mode 100644
index 00000000000..21861559145
--- /dev/null
+++ b/packages/editor/package.json
@@ -0,0 +1,85 @@
+{
+ "name": "plane-editor",
+ "version": "0.0.1",
+ "description": "Rich Text Editor that powers Plane",
+ "main": "./dist/index.js",
+ "module": "./dist/index.mjs",
+ "types": "./dist/index.d.ts",
+ "files": [
+ "dist/**/*"
+ ],
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "import": "./dist/index.mjs",
+ "module": "./dist/index.mjs",
+ "require": "./dist/index.js"
+ }
+ },
+ "scripts": {
+ "build": "tsup",
+ "dev": "tsup --watch",
+ "check-types": "tsc --noEmit"
+ },
+ "peerDependencies": {
+ "react": "^18.2.0"
+ },
+ "dependencies": {
+ "@blueprintjs/popover2": "^2.0.10",
+ "@tiptap/core": "^2.1.7",
+ "@tiptap/extension-code-block-lowlight": "^2.0.4",
+ "@tiptap/extension-highlight": "^2.1.7",
+ "@tiptap/extension-horizontal-rule": "^2.1.7",
+ "@tiptap/extension-image": "^2.1.7",
+ "@tiptap/extension-link": "^2.1.7",
+ "@tiptap/extension-placeholder": "2.0.3",
+ "@tiptap/extension-table": "^2.1.6",
+ "@tiptap/extension-table-cell": "^2.1.6",
+ "@tiptap/extension-table-header": "^2.1.6",
+ "@tiptap/extension-table-row": "^2.1.6",
+ "@tiptap/extension-task-item": "^2.1.7",
+ "@tiptap/extension-task-list": "^2.1.7",
+ "@tiptap/extension-text-style": "^2.1.7",
+ "@tiptap/extension-underline": "^2.1.7",
+ "@tiptap/pm": "^2.1.7",
+ "@tiptap/react": "^2.1.7",
+ "@tiptap/starter-kit": "^2.1.7",
+ "@tiptap/suggestion": "^2.1.7",
+ "@types/node": "18.15.3",
+ "@types/react": "18.0.28",
+ "@types/react-dom": "18.0.11",
+ "clsx": "^1.2.1",
+ "eslint": "8.36.0",
+ "eslint-config-next": "13.2.4",
+ "eventsource-parser": "^0.1.0",
+ "lowlight": "^2.9.0",
+ "lucide-react": "^0.244.0",
+ "next": "12.3.2",
+ "next-themes": "^0.2.1",
+ "react": "18.2.0",
+ "react-dom": "18.2.0",
+ "react-markdown": "^8.0.7",
+ "sonner": "^0.7.0",
+ "tailwind-merge": "^1.14.0",
+ "tippy.js": "^6.3.7",
+ "tiptap-markdown": "^0.8.2",
+ "use-debounce": "^9.0.4"
+ },
+ "devDependencies": {
+ "@types/react": "^18.2.5",
+ "eslint": "^7.32.0",
+ "postcss": "^8.4.29",
+ "react": "^18.2.0",
+ "tailwind-config": "*",
+ "tsconfig": "*",
+ "tsup": "^7.2.0",
+ "typescript": "4.9.5"
+ },
+ "keywords": [
+ "editor",
+ "rich-text",
+ "markdown",
+ "nextjs",
+ "react"
+ ]
+}
diff --git a/packages/editor/postcss.config.js b/packages/editor/postcss.config.js
new file mode 100644
index 00000000000..07aa434b2bf
--- /dev/null
+++ b/packages/editor/postcss.config.js
@@ -0,0 +1,9 @@
+// If you want to use other PostCSS plugins, see the following:
+// https://tailwindcss.com/docs/using-with-preprocessors
+
+module.exports = {
+ plugins: {
+ tailwindcss: {},
+ autoprefixer: {},
+ },
+};
diff --git a/packages/editor/src/README.md b/packages/editor/src/README.md
new file mode 100644
index 00000000000..aa673e39f7d
--- /dev/null
+++ b/packages/editor/src/README.md
@@ -0,0 +1,139 @@
+
+
+ Plane's Editor
+
+
+
+ An open-source Notion-style WYSIWYG editor with AI-powered autocompletions. +
+ +
+
+
+
+
+
+
+ Introduction · + Installation · + Deploy Your Own · + Setting Up Locally · + Tech Stack · + Contributing · + License +
+,
+ command: ({ editor, range }: CommandProps) =>
+ editor.chain().focus().deleteRange(range).toggleCodeBlock().run(),
+ },
+ {
+ title: "Image",
+ description: "Upload an image from your computer.",
+ searchTerms: ["photo", "picture", "media"],
+ icon:
- - An open-source Notion-style WYSIWYG editor with AI-powered autocompletions. -
- -
-
-
-
-
-
-
- Introduction · - Installation · - Deploy Your Own · - Setting Up Locally · - Tech Stack · - Contributing · - License -
-,
- command: ({ editor, range }: CommandProps) =>
- editor.chain().focus().deleteRange(range).toggleCodeBlock().run(),
- },
- {
- title: "Image",
- description: "Upload an image from your computer.",
- searchTerms: ["photo", "picture", "media"],
- icon: ,
- command: ({ editor, range }: CommandProps) =>
- editor.chain().focus().deleteRange(range).toggleCodeBlock().run(),
- },
- {
- title: "Image",
- description: "Upload an image from your computer.",
- searchTerms: ["photo", "picture", "media"],
- icon: ,
+ command: ({ editor, range }: CommandProps) =>
+ editor.chain().focus().deleteRange(range).toggleCodeBlock().run(),
+ },
+ {
+ title: "Image",
+ description: "Upload an image from your computer.",
+ searchTerms: ["photo", "picture", "media"],
+ icon: