From aba6657d7026cf59a41b9532b767c8e3058b1b03 Mon Sep 17 00:00:00 2001 From: Sven Adlung Date: Wed, 12 Jun 2024 11:52:54 +0200 Subject: [PATCH] docs: demos styling --- demos/setup/style.scss | 320 +++++++++++- demos/src/Commands/Cut/React/index.jsx | 16 +- demos/src/Commands/Cut/React/index.spec.js | 64 +-- demos/src/Commands/Cut/React/styles.scss | 107 ++-- .../Commands/InsertContent/React/index.jsx | 24 +- .../Commands/InsertContent/React/styles.scss | 107 ++-- .../React/index.jsx | 284 ++++++----- .../React/styles.scss | 107 ++-- .../AutolinkValidation/React/index.jsx | 36 +- .../AutolinkValidation/React/styles.scss | 121 +++-- demos/src/Examples/Book/React/index.jsx | 226 ++++----- demos/src/Examples/Book/React/styles.scss | 111 +++-- demos/src/Examples/Book/Vue/index.vue | 209 ++++---- demos/src/Examples/CSSModules/React/index.jsx | 48 +- .../src/Examples/CSSModules/React/styles.scss | 107 ++-- demos/src/Examples/CSSModules/Vue/index.vue | 113 +++-- .../React/CodeBlockComponent.scss | 20 +- .../CodeBlockLanguage/React/index.jsx | 14 +- .../CodeBlockLanguage/React/styles.scss | 18 +- .../Vue/CodeBlockComponent.vue | 16 +- .../Examples/CodeBlockLanguage/Vue/index.vue | 40 +- .../CollaborativeEditing/React/MenuBar.jsx | 14 +- .../CollaborativeEditing/Vue/MenuBar.vue | 14 +- .../Examples/Community/React/MentionList.jsx | 4 +- .../Examples/Community/React/MentionList.scss | 49 +- demos/src/Examples/Community/React/index.jsx | 9 +- .../Examples/Community/React/index.spec.js | 14 +- .../src/Examples/Community/React/styles.scss | 48 +- .../Examples/Community/Vue/MentionList.vue | 52 +- .../src/Examples/Community/Vue/index.spec.js | 14 +- demos/src/Examples/Community/Vue/index.vue | 49 +- .../Examples/CustomDocument/React/styles.scss | 125 ++++- .../src/Examples/CustomDocument/Vue/index.vue | 125 ++++- .../CustomParagraph/React/styles.scss | 107 +++- demos/src/Examples/Default/React/index.jsx | 330 ++++++------- .../src/Examples/Default/React/index.spec.js | 64 +-- demos/src/Examples/Default/React/styles.scss | 107 ++-- .../src/Examples/Default/Svelte/index.spec.js | 52 +- .../src/Examples/Default/Svelte/index.svelte | 67 +-- demos/src/Examples/Default/Svelte/styles.scss | 107 ++-- demos/src/Examples/Default/Vue/index.spec.js | 52 +- demos/src/Examples/Default/Vue/index.vue | 213 ++++---- demos/src/Examples/Drawing/Vue/Component.vue | 48 +- demos/src/Examples/Formatting/React/index.jsx | 82 ++-- .../Examples/Formatting/React/index.spec.js | 10 +- .../src/Examples/Formatting/React/styles.scss | 86 +++- .../src/Examples/Formatting/Vue/index.spec.js | 10 +- demos/src/Examples/Formatting/Vue/index.vue | 154 +++--- demos/src/Examples/Images/React/index.jsx | 10 +- demos/src/Examples/Images/React/index.spec.js | 2 +- demos/src/Examples/Images/React/styles.scss | 10 +- demos/src/Examples/Images/Vue/index.spec.js | 2 +- demos/src/Examples/Images/Vue/index.vue | 20 +- .../React/Component.jsx | 2 +- .../InteractivityComponent/React/styles.scss | 141 ++++-- .../InteractivityComponent/Vue/Component.vue | 48 +- .../InteractivityComponent/Vue/index.vue | 89 +++- .../React/Component.jsx | 6 +- .../React/index.spec.js | 12 +- .../React/styles.scss | 145 ++++-- .../Vue/Component.vue | 59 +-- .../Vue/index.vue | 89 +++- .../MarkdownShortcuts/React/index.jsx | 2 +- .../MarkdownShortcuts/React/styles.scss | 119 +++-- .../Examples/MarkdownShortcuts/Vue/index.vue | 82 +++- demos/src/Examples/Menus/React/index.jsx | 2 +- demos/src/Examples/Menus/React/styles.scss | 139 +++++- demos/src/Examples/Menus/Vue/index.vue | 135 +++++- demos/src/Examples/Minimal/React/index.jsx | 2 +- demos/src/Examples/Minimal/React/styles.scss | 4 +- demos/src/Examples/Minimal/Vue/index.vue | 6 +- demos/src/Examples/NodePos/React/index.jsx | 68 +-- .../src/Examples/NodePos/React/index.spec.js | 12 +- demos/src/Examples/NodePos/React/styles.scss | 102 +++- demos/src/Examples/Savvy/React/index.jsx | 2 +- demos/src/Examples/Savvy/React/styles.scss | 57 +-- demos/src/Examples/Savvy/Vue/index.vue | 53 +- demos/src/Examples/Tables/React/index.jsx | 154 +++--- demos/src/Examples/Tables/React/index.spec.js | 32 +- demos/src/Examples/Tables/React/styles.scss | 154 +++--- demos/src/Examples/Tables/Vue/index.spec.js | 32 +- demos/src/Examples/Tables/Vue/index.vue | 286 ++++++----- demos/src/Examples/Tasks/React/styles.scss | 53 +- demos/src/Examples/Tasks/Vue/index.vue | 53 +- demos/src/Experiments/All/Vue/index.vue | 456 ++++++++++++------ .../CollaborationAnnotation/Vue/index.spec.js | 10 +- .../CollaborationAnnotation/Vue/index.vue | 89 +++- .../Experiments/Commands/Vue/CommandsList.vue | 54 ++- .../Experiments/Commands/Vue/index.spec.js | 14 +- demos/src/Experiments/Commands/Vue/index.vue | 97 +++- .../Experiments/Commands/Vue/suggestion.js | 8 +- .../DestroyingEditor/Vue/index.vue | 102 +++- demos/src/Experiments/Embeds/Vue/index.vue | 13 +- .../ExtensionStorage/React/index.jsx | 6 +- .../ExtensionStorage/React/styles.scss | 6 +- .../ExtensionStorage/Vue/index.vue | 14 +- demos/src/Experiments/Figure/Vue/index.vue | 182 +++++-- .../Experiments/GenericFigure/Vue/index.vue | 248 +++++++--- .../GlobalDragHandle/Vue/index.vue | 12 +- .../IsolatingClear/React/index.jsx | 330 ++++++------- .../IsolatingClear/React/index.spec.js | 64 +-- .../IsolatingClear/React/styles.scss | 111 +++-- demos/src/Experiments/Linter/Vue/index.vue | 100 ++-- .../Experiments/MultipleEditors/Vue/index.vue | 154 +++--- .../OnUpdateRerender/React/index.jsx | 12 +- .../OnUpdateRerender/React/styles.scss | 4 +- .../OnUpdateRerender/Vue/TiptapComponent.vue | 2 +- .../OnUpdateRerender/Vue/index.vue | 19 +- demos/src/Experiments/Tailwind/JS/index.html | 2 +- .../Experiments/TrailingNode/Vue/index.vue | 87 +++- .../src/Extensions/BubbleMenu/React/index.jsx | 48 +- .../Extensions/BubbleMenu/React/styles.scss | 116 ++++- demos/src/Extensions/BubbleMenu/Vue/index.vue | 147 +++++- .../Extensions/CharacterCount/React/index.jsx | 41 +- .../CharacterCount/React/styles.scss | 22 +- .../Extensions/CharacterCount/Vue/index.vue | 63 ++- .../Collaboration/React/styles.scss | 24 +- .../Extensions/Collaboration/Vue/index.vue | 24 +- .../CollaborationCursor/React/styles.scss | 80 +-- .../CollaborationCursor/Vue/index.vue | 80 +-- demos/src/Extensions/Color/React/index.jsx | 132 ++--- .../Color}/React/styles.scss | 4 +- demos/src/Extensions/Color/Vue/index.vue | 74 +-- .../src/Extensions/Dropcursor/React/index.jsx | 2 +- .../Extensions/Dropcursor/React/styles.scss | 10 +- demos/src/Extensions/Dropcursor/Vue/index.vue | 14 +- .../Extensions/FloatingMenu/React/index.jsx | 46 +- .../Extensions/FloatingMenu/React/styles.scss | 114 ++++- .../src/Extensions/FloatingMenu/Vue/index.vue | 141 +++++- demos/src/Extensions/Focus/React/styles.scss | 41 +- demos/src/Extensions/Focus/Vue/index.vue | 39 +- .../src/Extensions/FontFamily/React/index.jsx | 121 ++--- .../Extensions/FontFamily/React/styles.scss | 17 +- demos/src/Extensions/FontFamily/Vue/index.vue | 52 +- .../src/Extensions/Gapcursor/React/index.jsx | 2 +- .../Extensions/Gapcursor/React/styles.scss | 10 +- demos/src/Extensions/Gapcursor/Vue/index.vue | 14 +- demos/src/Extensions/History/React/index.jsx | 22 +- .../src/Extensions/History/React/styles.scss | 6 + demos/src/Extensions/History/Vue/index.vue | 40 +- .../src/Extensions/ListKeymap/React/index.jsx | 52 +- .../Extensions/ListKeymap/React/styles.scss | 13 +- .../Extensions/Placeholder/React/styles.scss | 123 ++++- .../src/Extensions/Placeholder/Vue/index.vue | 123 ++++- .../src/Extensions/TextAlign/React/index.jsx | 60 +-- .../Extensions/TextAlign/React/styles.scss | 42 ++ demos/src/Extensions/TextAlign/Vue/index.vue | 81 +++- .../src/Extensions/Typography/React/index.jsx | 2 + .../Extensions/Typography/React/styles.scss | 6 + demos/src/Extensions/Typography/Vue/index.vue | 9 + .../GuideContent/ExportHTML/React/index.jsx | 44 +- .../GuideContent/ExportHTML/React/styles.scss | 104 ++-- .../src/GuideContent/ExportHTML/Vue/index.vue | 132 ++--- .../GuideContent/ExportJSON/React/index.jsx | 44 +- .../GuideContent/ExportJSON/React/styles.scss | 104 ++-- .../src/GuideContent/ExportJSON/Vue/index.vue | 132 ++--- .../src/GuideContent/ReadOnly/React/index.jsx | 18 +- .../GuideContent/ReadOnly/React/styles.scss | 108 ++++- demos/src/GuideContent/ReadOnly/Vue/index.vue | 109 ++++- .../GuideGettingStarted/VModel/Vue/Editor.vue | 94 ++++ .../GuideGettingStarted/VModel/Vue/index.vue | 44 +- .../GuideNodeViews/DragHandle/Vue/index.vue | 94 ++++ .../JavaScript/Vue/Extension.js | 3 +- .../GuideNodeViews/JavaScript/Vue/index.vue | 141 ++++-- .../JavaScriptContent/Vue/Extension.js | 4 +- .../JavaScriptContent/Vue/index.vue | 150 ++++-- .../ReactComponent/React/Component.jsx | 2 +- .../ReactComponent/React/styles.scss | 141 ++++-- .../ReactComponentContent/React/Component.jsx | 6 +- .../ReactComponentContent/React/styles.scss | 145 ++++-- .../TableOfContents/React/Component.jsx | 65 --- .../TableOfContents/React/Component.scss | 43 -- .../TableOfContents/React/TableOfContents.js | 41 -- .../TableOfContents/React/index.html | 0 .../TableOfContents/React/index.jsx | 32 -- .../TableOfContents/Vue/Component.vue | 127 ----- .../TableOfContents/Vue/TableOfContents.js | 43 -- .../TableOfContents/Vue/index.html | 0 .../TableOfContents/Vue/index.vue | 50 -- .../VueComponent/Vue/Component.vue | 48 +- .../GuideNodeViews/VueComponent/Vue/index.vue | 89 +++- .../VueComponentContent/Vue/Component.vue | 59 +-- .../VueComponentContent/Vue/index.vue | 89 +++- demos/src/Marks/Bold/React/index.jsx | 43 +- demos/src/Marks/Bold/React/styles.scss | 6 + demos/src/Marks/Bold/Vue/index.vue | 34 +- demos/src/Marks/Code/React/index.jsx | 41 +- demos/src/Marks/Code/React/styles.scss | 16 +- demos/src/Marks/Code/Vue/index.vue | 41 +- demos/src/Marks/Highlight/React/index.jsx | 100 ++-- demos/src/Marks/Highlight/React/styles.scss | 17 +- demos/src/Marks/Highlight/Vue/index.vue | 78 +-- demos/src/Marks/Italic/React/index.jsx | 43 +- demos/src/Marks/Italic/React/styles.scss | 6 + demos/src/Marks/Italic/Vue/index.vue | 34 +- demos/src/Marks/Link/React/index.jsx | 26 +- demos/src/Marks/Link/React/styles.scss | 30 +- demos/src/Marks/Link/Vue/index.vue | 48 +- demos/src/Marks/Strike/React/index.jsx | 43 +- demos/src/Marks/Strike/React/styles.scss | 6 + demos/src/Marks/Strike/Vue/index.vue | 25 +- demos/src/Marks/Subscript/React/index.jsx | 42 +- demos/src/Marks/Subscript/React/styles.scss | 6 + demos/src/Marks/Subscript/Vue/index.vue | 34 +- demos/src/Marks/Superscript/React/index.jsx | 42 +- demos/src/Marks/Superscript/React/styles.scss | 6 + demos/src/Marks/Superscript/Vue/index.vue | 34 +- demos/src/Marks/TextStyle/React/index.jsx | 2 + demos/src/Marks/TextStyle/React/styles.scss | 6 + demos/src/Marks/TextStyle/Vue/index.vue | 9 + demos/src/Marks/Underline/React/index.jsx | 42 +- demos/src/Marks/Underline/React/styles.scss | 6 + demos/src/Marks/Underline/Vue/index.vue | 34 +- demos/src/Nodes/Blockquote/React/index.jsx | 44 +- demos/src/Nodes/Blockquote/React/styles.scss | 7 +- demos/src/Nodes/Blockquote/Vue/index.vue | 32 +- demos/src/Nodes/BulletList/React/index.jsx | 52 +- demos/src/Nodes/BulletList/React/styles.scss | 13 +- demos/src/Nodes/BulletList/Vue/index.vue | 42 +- demos/src/Nodes/CodeBlock/React/index.jsx | 28 +- demos/src/Nodes/CodeBlock/React/styles.scss | 11 +- demos/src/Nodes/CodeBlock/Vue/index.vue | 36 +- .../Nodes/CodeBlockLowlight/React/index.jsx | 28 +- .../Nodes/CodeBlockLowlight/React/styles.scss | 12 +- .../src/Nodes/CodeBlockLowlight/Vue/index.vue | 46 +- demos/src/Nodes/Document/React/index.jsx | 2 + demos/src/Nodes/Document/React/styles.scss | 6 + demos/src/Nodes/Document/Vue/index.vue | 9 + demos/src/Nodes/HardBreak/React/index.jsx | 8 +- demos/src/Nodes/HardBreak/React/styles.scss | 6 + demos/src/Nodes/HardBreak/Vue/index.vue | 22 +- demos/src/Nodes/Heading/React/index.jsx | 42 +- demos/src/Nodes/Heading/React/styles.scss | 42 ++ demos/src/Nodes/Heading/Vue/index.vue | 70 ++- .../src/Nodes/HorizontalRule/React/index.jsx | 10 +- .../Nodes/HorizontalRule/React/styles.scss | 19 +- demos/src/Nodes/HorizontalRule/Vue/index.vue | 32 +- demos/src/Nodes/Image/React/index.jsx | 14 +- demos/src/Nodes/Image/React/styles.scss | 8 +- demos/src/Nodes/Image/Vue/index.vue | 26 +- demos/src/Nodes/ListItem/React/index.jsx | 64 +-- demos/src/Nodes/ListItem/React/styles.scss | 13 +- demos/src/Nodes/ListItem/Vue/index.vue | 48 +- demos/src/Nodes/Mention/React/MentionList.jsx | 4 +- .../src/Nodes/Mention/React/MentionList.scss | 46 +- demos/src/Nodes/Mention/React/index.jsx | 8 +- demos/src/Nodes/Mention/React/styles.scss | 20 +- demos/src/Nodes/Mention/Vue/MentionList.vue | 52 +- demos/src/Nodes/Mention/Vue/index.vue | 28 +- demos/src/Nodes/OrderedList/React/index.jsx | 52 +- demos/src/Nodes/OrderedList/React/styles.scss | 13 +- demos/src/Nodes/OrderedList/Vue/index.vue | 42 +- demos/src/Nodes/Paragraph/React/index.jsx | 2 + demos/src/Nodes/Paragraph/React/styles.scss | 6 + demos/src/Nodes/Paragraph/Vue/index.vue | 9 + demos/src/Nodes/Table/React/index.jsx | 80 +-- demos/src/Nodes/Table/React/styles.scss | 45 +- demos/src/Nodes/Table/Vue/index.vue | 172 +++---- demos/src/Nodes/TaskItem/React/index.jsx | 52 +- demos/src/Nodes/TaskItem/React/styles.scss | 59 ++- demos/src/Nodes/TaskItem/Vue/index.vue | 90 ++-- demos/src/Nodes/TaskList/React/index.jsx | 52 +- demos/src/Nodes/TaskList/React/styles.scss | 59 ++- demos/src/Nodes/TaskList/Vue/index.vue | 90 ++-- demos/src/Nodes/Text/React/index.jsx | 2 + demos/src/Nodes/Text/React/styles.scss | 6 + demos/src/Nodes/Text/Vue/index.vue | 9 + demos/src/Nodes/Youtube/React/index.jsx | 55 ++- demos/src/Nodes/Youtube/React/styles.scss | 80 +-- demos/src/Nodes/Youtube/Vue/index.vue | 135 ++---- demos/src/Overview/Installation/Vue/index.vue | 94 ++++ .../src/Tutorials/1-1-textarea/React/Note.tsx | 6 +- .../Tutorials/1-1-textarea/React/index.tsx | 11 +- .../Tutorials/1-1-textarea/React/styles.css | 3 - .../Tutorials/1-1-textarea/React/styles.scss | 68 +++ demos/src/Tutorials/1-1-textarea/Vue/Note.vue | 2 +- .../src/Tutorials/1-1-textarea/Vue/index.vue | 14 +- .../src/Tutorials/1-1-textarea/Vue/styles.css | 3 - .../Tutorials/1-1-textarea/Vue/styles.scss | 68 +++ demos/src/Tutorials/1-2-tiptap/React/Note.tsx | 4 +- .../src/Tutorials/1-2-tiptap/React/index.tsx | 11 +- .../src/Tutorials/1-2-tiptap/React/styles.css | 3 - .../Tutorials/1-2-tiptap/React/styles.scss | 160 ++++++ demos/src/Tutorials/1-2-tiptap/Vue/Note.vue | 4 +- demos/src/Tutorials/1-2-tiptap/Vue/index.vue | 12 +- demos/src/Tutorials/1-2-tiptap/Vue/styles.css | 3 - .../src/Tutorials/1-2-tiptap/Vue/styles.scss | 160 ++++++ .../Lexical-React/index.tsx | 5 +- demos/src/Tutorials/1-3-yjs/React/Note.tsx | 4 +- demos/src/Tutorials/1-3-yjs/React/index.tsx | 11 +- demos/src/Tutorials/1-3-yjs/React/styles.css | 3 - demos/src/Tutorials/1-3-yjs/React/styles.scss | 160 ++++++ demos/src/Tutorials/1-3-yjs/Vue/Note.vue | 4 +- demos/src/Tutorials/1-3-yjs/Vue/index.vue | 12 +- demos/src/Tutorials/1-3-yjs/Vue/styles.css | 3 - demos/src/Tutorials/1-3-yjs/Vue/styles.scss | 160 ++++++ .../1-3-yjs_lexical/Lexical-React/index.tsx | 5 +- demos/src/Tutorials/1-4-collab/React/Note.tsx | 6 +- .../src/Tutorials/1-4-collab/React/index.tsx | 11 +- .../src/Tutorials/1-4-collab/React/styles.css | 3 - .../Tutorials/1-4-collab/React/styles.scss | 160 ++++++ demos/src/Tutorials/1-4-collab/Vue/Note.vue | 6 +- demos/src/Tutorials/1-4-collab/Vue/index.vue | 8 +- demos/src/Tutorials/1-4-collab/Vue/styles.css | 3 - .../src/Tutorials/1-4-collab/Vue/styles.scss | 160 ++++++ docs/collaboration/getting-started/install.md | 6 +- docs/collaboration/install.md | 6 +- docs/guide/node-views/examples.md | 5 - docs/guide/node-views/react.md | 2 +- 309 files changed, 11469 insertions(+), 5716 deletions(-) rename demos/src/{GuideNodeViews/TableOfContents => Extensions/Color}/React/styles.scss (53%) create mode 100644 demos/src/Extensions/History/React/styles.scss create mode 100644 demos/src/Extensions/TextAlign/React/styles.scss create mode 100644 demos/src/Extensions/Typography/React/styles.scss delete mode 100644 demos/src/GuideNodeViews/TableOfContents/React/Component.jsx delete mode 100644 demos/src/GuideNodeViews/TableOfContents/React/Component.scss delete mode 100644 demos/src/GuideNodeViews/TableOfContents/React/TableOfContents.js delete mode 100644 demos/src/GuideNodeViews/TableOfContents/React/index.html delete mode 100644 demos/src/GuideNodeViews/TableOfContents/React/index.jsx delete mode 100644 demos/src/GuideNodeViews/TableOfContents/Vue/Component.vue delete mode 100644 demos/src/GuideNodeViews/TableOfContents/Vue/TableOfContents.js delete mode 100644 demos/src/GuideNodeViews/TableOfContents/Vue/index.html delete mode 100644 demos/src/GuideNodeViews/TableOfContents/Vue/index.vue create mode 100644 demos/src/Marks/Bold/React/styles.scss create mode 100644 demos/src/Marks/Italic/React/styles.scss create mode 100644 demos/src/Marks/Strike/React/styles.scss create mode 100644 demos/src/Marks/Subscript/React/styles.scss create mode 100644 demos/src/Marks/Superscript/React/styles.scss create mode 100644 demos/src/Marks/TextStyle/React/styles.scss create mode 100644 demos/src/Marks/Underline/React/styles.scss create mode 100644 demos/src/Nodes/Document/React/styles.scss create mode 100644 demos/src/Nodes/HardBreak/React/styles.scss create mode 100644 demos/src/Nodes/Heading/React/styles.scss create mode 100644 demos/src/Nodes/Paragraph/React/styles.scss create mode 100644 demos/src/Nodes/Text/React/styles.scss delete mode 100644 demos/src/Tutorials/1-1-textarea/React/styles.css create mode 100644 demos/src/Tutorials/1-1-textarea/React/styles.scss delete mode 100644 demos/src/Tutorials/1-1-textarea/Vue/styles.css create mode 100644 demos/src/Tutorials/1-1-textarea/Vue/styles.scss delete mode 100644 demos/src/Tutorials/1-2-tiptap/React/styles.css create mode 100644 demos/src/Tutorials/1-2-tiptap/React/styles.scss delete mode 100644 demos/src/Tutorials/1-2-tiptap/Vue/styles.css create mode 100644 demos/src/Tutorials/1-2-tiptap/Vue/styles.scss delete mode 100644 demos/src/Tutorials/1-3-yjs/React/styles.css create mode 100644 demos/src/Tutorials/1-3-yjs/React/styles.scss delete mode 100644 demos/src/Tutorials/1-3-yjs/Vue/styles.css create mode 100644 demos/src/Tutorials/1-3-yjs/Vue/styles.scss delete mode 100644 demos/src/Tutorials/1-4-collab/React/styles.css create mode 100644 demos/src/Tutorials/1-4-collab/React/styles.scss delete mode 100644 demos/src/Tutorials/1-4-collab/Vue/styles.css create mode 100644 demos/src/Tutorials/1-4-collab/Vue/styles.scss diff --git a/demos/setup/style.scss b/demos/setup/style.scss index f7509f871..b637b3410 100644 --- a/demos/setup/style.scss +++ b/demos/setup/style.scss @@ -1,4 +1,23 @@ -$colorBlack: #000; +/* Base HTML and global element styles*/ +:root { + --white: #FFF; + --black: #2E2B29; + --black-contrast: #110F0E; + --gray-1: rgba(61, 37, 20, 0.05); + --gray-2: rgba(61, 37, 20, 0.08); + --gray-3: rgba(61, 37, 20, 0.12); + --gray-4: rgba(53, 38, 28, 0.30); + --gray-5: rgba(28, 25, 23, 0.60); + --purple: #6A00F5; + --purple-contrast: #5800CC; + --purple-light: rgba(88, 5, 255, 0.05); + --yellow-contrast: #FACC15; + --yellow: rgba(250, 204, 21, 0.4); + --yellow-light: #FFFAE5; + --red: #FF5C33; + --red-light: #FFEBE5; + --shadow: 0px 12px 33px 0px rgba(0, 0, 0, 0.06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, 0.04); +} *, *::before, @@ -9,32 +28,46 @@ $colorBlack: #000; html { font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; line-height: 1.5; - -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; } body { - margin: 1rem; min-height: 10rem; + margin: 0; } +:first-child { + margin-top: 0; +} + +.tiptap { + caret-color: var(--purple); + margin: 1.5rem; + + &:focus { + outline: none; + } +} + +/* Custom scrollbar styles */ ::-webkit-scrollbar { - width: 14px; height: 14px; + width: 14px; } ::-webkit-scrollbar-track { - border: 4px solid transparent; background-clip: padding-box; - border-radius: 8px; background-color: transparent; + border: 4px solid transparent; + border-radius: 8px; } ::-webkit-scrollbar-thumb { - border: 4px solid rgba(0, 0, 0, 0); background-clip: padding-box; - border-radius: 8px; background-color: rgba(0, 0, 0, 0); + border: 4px solid rgba(0, 0, 0, 0); + border-radius: 8px; } :hover::-webkit-scrollbar-thumb { @@ -47,37 +80,276 @@ body { ::-webkit-scrollbar-button { display: none; - width: 0; height: 0; + width: 0; } ::-webkit-scrollbar-corner { background-color: transparent; } +/* Specific element and component styles */ button, input, -select { - font-size: inherit; +select, +textarea { + background: var(--gray-2); + border-radius: 0.5rem; + border: none; + color: var(--black); font-family: inherit; - color: black; - margin: 0.1rem; - border: 1px solid black; - border-radius: 0.3rem; - padding: 0.1rem 0.4rem; - background: white; - accent-color: black; + font-size: 0.875rem; + font-weight: 500; + line-height: 1.15; + margin: none; + padding: 0.375rem 0.625rem; + transition: all 0.2s cubic-bezier(0.65,0.05,0.36,1); + + &:hover { + background-color: var(--gray-3); + color: var(--black-contrast); + } &[disabled] { - opacity: 0.3; + background: var(--gray-1); + color: var(--gray-4); + } + + &:checked { + accent-color: var(--purple); + } + + &.primary { + background: var(--black); + color: var(--white); + + &:hover { + background-color: var(--black-contrast); + } + + &[disabled] { + background: var(--gray-1); + color: var(--gray-4); + } + } + + &.is-active { + background: var(--purple); + color: var(--white); + + &:hover { + background-color: var(--purple-contrast); + color: var(--white); + } } } -.tiptap:focus { - outline: none; +button:not([disabled]), +select:not([disabled]) { + cursor: pointer; } -.is-active { - background: black; - color: white; +input[type="text"], +textarea { + background-color: unset; + border: 1px solid var(--gray-3); + border-radius: 0.5rem; + color: var(--black); + + &::placeholder { + color: var(--gray-4); + } + + &:hover { + background-color: unset; + border-color: var(--gray-4); + } + + &:focus-visible, &:focus { + border-color: var(--purple); + outline: none; + } } + +select { + /* reset */ + appearance: none; + -webkit-appearance: none; + -moz-appearance: none; + background-image: url('data:image/svg+xml;utf8,'); + background-repeat: no-repeat; + background-position: right 0.1rem center; + background-size: 1.25rem 1.25rem; + padding-right: 1.25rem; + + &:focus { + outline: 0; + } +} + +form { + align-items: flex-start; + display: flex; + flex-direction: column; + gap: 0.25rem; +} + +.hint { + align-items: center; + background-color: var(--yellow-light); + border-radius: 0.5rem; + border: 1px solid var(--gray-2); + display: flex; + flex-direction: row; + font-size: 0.75rem; + gap: 0.5rem; + line-height: 1.15; + min-height: 1.75rem; + padding: 0.25rem 0.5rem; + + &.purple-spinner, + &.error { + justify-content: center; + text-align: center; + width: 100%; + } + + &.purple-spinner { + background-color: var(--purple-light); + + &::after { + content: ""; + background-image: url("data:image/svg+xml;utf8,"); + background-size: cover; + background-repeat: no-repeat; + background-position: center; + height: 1rem; + width: 1rem; + } + } + + &.error { + background-color: var(--red-light); + } +} + +.label, +.label-small, +.label-large { + color: var(--black); + font-size: 0.8125rem; + font-weight: 500; + line-height: 1.15; +} + +.label-small { + color: var(--gray-5); + font-size: 0.75rem; + font-weight: 400; +} + +.label-large { + font-size: 0.875rem; + font-weight: 700; +} + +hr { + border: none; + border-top: 1px solid var(--gray-3); + margin: 0; + width: 100%; +} + +/* Layout and structure */ +#app, +.container { + display: flex; + flex-direction: column; +} + +.button-group { + display: flex; + flex-wrap: wrap; + gap: 0.25rem; +} + +.control-group { + align-items: flex-start; + display: flex; + flex-direction: column; + gap: 1rem; + margin: 1.5rem; +} + +[data-node-view-wrapper] > .control-group { + margin: 1.5rem 0; +} + +.flex-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + gap: 1rem; + justify-content: space-between; + width: 100%; +} + +.switch-group { + align-items: center; + background: var(--gray-2); + border-radius: 0.5rem; + display: flex; + flex-direction: row; + flex-wrap: wrap; + flex: 0 1 auto; + justify-content: flex-start; + padding: 0.125rem; + + label { + align-items: center; + border-radius: 0.375rem; + color: var(--gray-5); + cursor: pointer; + display: flex; + flex-direction: row; + font-size: 0.75rem; + font-weight: 500; + gap: 0.25rem; + line-height: 1.15; + min-height: 1.5rem; + padding: 0 0.375rem; + transition: all 0.2s cubic-bezier(0.65,0.05,0.36,1); + + &:has(input:checked) { + background-color: var(--white); + color: var(--black-contrast); + } + + &:hover { + color: var(--black); + } + + input { + display: none; + margin: unset; + } + } +} + +.output-group { + background-color: var(--gray-1); + display: flex; + flex-direction: column; + font-family: 'JetBrainsMono', monospace; + font-size: 0.75rem; + gap: 1rem; + margin-top: 2.5rem; + padding: 1.5rem; + + label { + color: var(--black); + font-size: 0.875rem; + font-weight: 700; + line-height: 1.15; + } +} \ No newline at end of file diff --git a/demos/src/Commands/Cut/React/index.jsx b/demos/src/Commands/Cut/React/index.jsx index 3b5164055..66a871ec2 100644 --- a/demos/src/Commands/Cut/React/index.jsx +++ b/demos/src/Commands/Cut/React/index.jsx @@ -21,10 +21,12 @@ const MenuBar = ({ editor }) => { }, [editor]) return ( - <> - - - +
+
+ + +
+
) } @@ -49,7 +51,7 @@ export default () => { Hi there,

- this is a basic example of tiptap. Sure, there are all kind of basic text styles you’d probably expect from a text editor. But wait until you see the lists: + this is a basic example of Tiptap. Sure, there are all kind of basic text styles you’d probably expect from a text editor. But wait until you see the lists: