From 2984b36a00ef3fab37cb31048a892bb794b591ea Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Mon, 8 Jan 2024 23:49:52 +0100 Subject: [PATCH 1/6] Added option to customize placeholders --- packages/core/src/editor/Block.css | 32 +--- packages/core/src/editor/BlockNoteEditor.ts | 15 ++ .../core/src/editor/BlockNoteExtensions.ts | 13 +- .../Placeholder/PlaceholderExtension.ts | 139 ++++++++++-------- packages/react/src/editor/styles.css | 2 +- 5 files changed, 103 insertions(+), 98 deletions(-) diff --git a/packages/core/src/editor/Block.css b/packages/core/src/editor/Block.css index 8d3980cd2..be652ff48 100644 --- a/packages/core/src/editor/Block.css +++ b/packages/core/src/editor/Block.css @@ -302,43 +302,15 @@ NESTED BLOCKS /* PLACEHOLDERS*/ -.bn-is-empty .bn-inline-content:before, -.bn-is-filter .bn-inline-content:before { +.bn-block-content[data-placeholder] .bn-inline-content:before { /*float: left; */ - content: ""; pointer-events: none; height: 0; /* width: 0; */ position: absolute; font-style: italic; -} - -/* TODO: would be nicer if defined from code */ - -.bn-block-content.bn-is-empty.bn-has-anchor .bn-inline-content:before { - content: "Enter text or type '/' for commands"; -} - -.bn-block-content.bn-is-filter.bn-has-anchor .bn-inline-content:before { - content: "Type to filter"; -} - -.bn-block-content[data-content-type="heading"].bn-is-empty - .bn-inline-content:before { - content: "Heading"; -} - -.bn-block-content[data-content-type="bulletListItem"].bn-is-empty - .bn-inline-content:before, -.bn-block-content[data-content-type="numberedListItem"].bn-is-empty - .bn-inline-content:before { - content: "List"; -} -.bn-is-empty - .bn-block-content[data-content-type="captionedImage"] - .bn-inline-content:before { - content: "Caption"; + content: var(--placeholder); } /* TEXT COLORS */ diff --git a/packages/core/src/editor/BlockNoteEditor.ts b/packages/core/src/editor/BlockNoteEditor.ts index 38d2a8564..5992954b6 100644 --- a/packages/core/src/editor/BlockNoteEditor.ts +++ b/packages/core/src/editor/BlockNoteEditor.ts @@ -77,6 +77,20 @@ export type BlockNoteEditorOptions< > = { // TODO: Figure out if enableBlockNoteExtensions/disableHistoryExtension are needed and document them. enableBlockNoteExtensions: boolean; + + /** + * Determines if/what placeholder should be rendered for a given block. + * @param block The block to render a placeholder for. + * @param containsCursor Whether the text cursor is inside the block. + * @param isFilter Whether the block was created using the add block button. + * @return The placeholder string, or `undefined` if one should not be rendered. + */ + placeholder: ( + block: Block, + containsCursor: boolean, + isFilter: boolean + ) => string | undefined; + /** * * (couldn't fix any type, see https://github.com/TypeCellOS/BlockNote/pull/191#discussion_r1210708771) @@ -301,6 +315,7 @@ export class BlockNoteEditor< const extensions = getBlockNoteExtensions({ editor: this, + placeholder: newOptions.placeholder, domAttributes: newOptions.domAttributes || {}, blockSchema: this.blockSchema, blockSpecs: newOptions.blockSpecs, diff --git a/packages/core/src/editor/BlockNoteExtensions.ts b/packages/core/src/editor/BlockNoteExtensions.ts index ec2277e5b..2d2477cd1 100644 --- a/packages/core/src/editor/BlockNoteExtensions.ts +++ b/packages/core/src/editor/BlockNoteExtensions.ts @@ -21,6 +21,7 @@ import { TrailingNode } from "../extensions/TrailingNode/TrailingNodeExtension"; import UniqueID from "../extensions/UniqueID/UniqueID"; import { BlockContainer, BlockGroup, Doc } from "../pm-nodes"; import { + Block, BlockNoteDOMAttributes, BlockSchema, BlockSpecs, @@ -39,6 +40,11 @@ export const getBlockNoteExtensions = < S extends StyleSchema >(opts: { editor: BlockNoteEditor; + placeholder?: ( + block: Block, + containsCursor: boolean, + isFilter: boolean + ) => string | undefined; domAttributes: Partial; blockSchema: BSchema; blockSpecs: BlockSpecs; @@ -66,8 +72,11 @@ export const getBlockNoteExtensions = < // DropCursor, Placeholder.configure({ - includeChildren: true, - showOnlyCurrent: false, + editor: opts.editor, + // TODO: This shorthand is kind of ugly + ...(opts.placeholder !== undefined + ? { placeholder: opts.placeholder } + : {}), }), UniqueID.configure({ types: ["blockContainer"], diff --git a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts index 4bfa6ec41..25d2d84c1 100644 --- a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts +++ b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts @@ -1,8 +1,10 @@ -import { Editor, Extension } from "@tiptap/core"; -import { Node as ProsemirrorNode } from "prosemirror-model"; +import { Extension } from "@tiptap/core"; import { Plugin, PluginKey } from "prosemirror-state"; import { Decoration, DecorationSet } from "prosemirror-view"; import { slashMenuPluginKey } from "../SlashMenu/SlashMenuPlugin"; +import { nodeToBlock } from "../../api/nodeConversions/nodeConversions"; +import type { BlockNoteEditor } from "../../editor/BlockNoteEditor"; +import { Block } from "../../schema"; const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`); @@ -14,21 +16,12 @@ const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`); * */ export interface PlaceholderOptions { - emptyEditorClass: string; - emptyNodeClass: string; - isFilterClass: string; - hasAnchorClass: string; - placeholder: - | ((PlaceholderProps: { - editor: Editor; - node: ProsemirrorNode; - pos: number; - hasAnchor: boolean; - }) => string) - | string; - showOnlyWhenEditable: boolean; - showOnlyCurrent: boolean; - includeChildren: boolean; + editor: BlockNoteEditor | undefined; + placeholder: ( + block: Block, + containsCursor: boolean, + isFilter: boolean + ) => string | undefined; } export const Placeholder = Extension.create({ @@ -36,14 +29,29 @@ export const Placeholder = Extension.create({ addOptions() { return { - emptyEditorClass: "bn-is-editor-empty", - emptyNodeClass: "bn-is-empty", - isFilterClass: "bn-is-filter", - hasAnchorClass: "bn-has-anchor", - placeholder: "Write something …", - showOnlyWhenEditable: true, - showOnlyCurrent: true, - includeChildren: false, + editor: undefined, + placeholder: (block, containsCursor, isFilter) => { + if (block.type === "heading") { + return "Heading"; + } + + if ( + block.type === "bulletListItem" || + block.type === "numberedListItem" + ) { + return "List"; + } + + if (isFilter) { + return "Filter blocks"; + } + + if (containsCursor) { + return 'Type "/" for commands'; + } + + return undefined; + }, }; }, @@ -56,8 +64,7 @@ export const Placeholder = Extension.create({ const { doc, selection } = state; // Get state of slash menu const menuState = slashMenuPluginKey.getState(state); - const active = - this.editor.isEditable || !this.options.showOnlyWhenEditable; + const active = this.editor.isEditable; const { anchor } = selection; const decorations: Decoration[] = []; @@ -66,25 +73,48 @@ export const Placeholder = Extension.create({ } doc.descendants((node, pos) => { - const hasAnchor = anchor >= pos && anchor <= pos + node.nodeSize; - const isEmpty = !node.isLeaf && !node.childCount; - - if ((hasAnchor || !this.options.showOnlyCurrent) && isEmpty) { - const classes = [this.options.emptyNodeClass]; + if ( + node.type.spec.group !== "blockContent" || + node.type.spec.content === "" + ) { + return true; + } - // TODO: Doesn't work? - if (this.editor.isEmpty) { - classes.push(this.options.emptyEditorClass); - } + const isEmpty = !node.isLeaf && !node.childCount; - if (hasAnchor) { - classes.push(this.options.hasAnchorClass); + if (isEmpty) { + const blockContainer = state.doc.resolve(pos).node(); + const block = nodeToBlock( + blockContainer, + this.options.editor!.blockSchema, + this.options.editor!.inlineContentSchema, + this.options.editor!.styleSchema, + this.options.editor!.blockCache + ); + + const containsCursor = + anchor >= pos && anchor <= pos + node.nodeSize; + const isFilter = + menuState?.triggerCharacter === "" && menuState?.active; + + const placeholder = this.options.placeholder( + block, + containsCursor, + isFilter + ); + + if (placeholder !== undefined) { + // Because we cannot set a decoration on the inline content + // element itself (it's only counted as a distinct node in the + // DOM, not in the PM schema), this is a hack to get the + // placeholder value inside CSS. + const decoration = Decoration.node(pos, pos + node.nodeSize, { + style: `--placeholder: '${placeholder}'`, + "data-placeholder": "", + }); + decorations.push(decoration); } - // If slash menu is of drag type and active, show the filter placeholder - if (menuState?.triggerCharacter === "" && menuState?.active) { - classes.push(this.options.isFilterClass); - } // using widget, didn't work (caret position bug) // const decoration = Decoration.widget( // pos + 1, @@ -95,31 +125,10 @@ export const Placeholder = Extension.create({ // }, // { side: 0 } - // Code that sets variables / classes - // const ph = - // typeof this.options.placeholder === "function" - // ? this.options.placeholder({ - // editor: this.editor, - // node, - // pos, - // hasAnchor, - // }) - // : this.options.placeholder; - // const decoration = Decoration.node(pos, pos + node.nodeSize, { - // class: classes.join(" "), - // style: `--placeholder:'${ph.replaceAll("'", "\\'")}';`, - // "data-placeholder": ph, - // }); - - // Latest version, only set isEmpty and hasAnchor, rest is done via CSS - - const decoration = Decoration.node(pos, pos + node.nodeSize, { - class: classes.join(" "), - }); - decorations.push(decoration); + return false; } - return this.options.includeChildren; + return true; }); return DecorationSet.create(doc, decorations); diff --git a/packages/react/src/editor/styles.css b/packages/react/src/editor/styles.css index 17a584c57..d8ca9cc9e 100644 --- a/packages/react/src/editor/styles.css +++ b/packages/react/src/editor/styles.css @@ -237,7 +237,7 @@ } /* Placeholder styling */ -.bn-is-empty .bn-inline-content:before, .bn-is-filter .bn-inline-content:before { +.bn-block-content[data-placeholder] .bn-inline-content:before { color: var(--bn-colors-side-menu); } From 059e50090781a45f23f3e5c4c865793a69c2d558 Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Wed, 10 Jan 2024 17:07:48 +0100 Subject: [PATCH 2/6] Slightly adjusted default placeholders --- .../Placeholder/PlaceholderExtension.ts | 4 ++-- .../dark-drag-handle-menu-chromium-linux.png | Bin 13811 -> 13828 bytes .../dark-drag-handle-menu-firefox-linux.png | Bin 28069 -> 28284 bytes .../dark-drag-handle-menu-webkit-linux.png | Bin 29373 -> 29437 bytes .../dark-image-toolbar-chromium-linux.png | Bin 15451 -> 15452 bytes .../dark-image-toolbar-firefox-linux.png | Bin 30568 -> 30587 bytes .../dark-image-toolbar-webkit-linux.png | Bin 33505 -> 33555 bytes .../dark-side-menu-chromium-linux.png | Bin 10295 -> 10325 bytes .../dark-side-menu-firefox-linux.png | Bin 23844 -> 24048 bytes .../dark-side-menu-webkit-linux.png | Bin 23165 -> 23240 bytes 10 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts index 25d2d84c1..36a4c8aa0 100644 --- a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts +++ b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts @@ -43,11 +43,11 @@ export const Placeholder = Extension.create({ } if (isFilter) { - return "Filter blocks"; + return "Type to filter"; } if (containsCursor) { - return 'Type "/" for commands'; + return 'Enter text or type "/" for commands'; } return undefined; diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-chromium-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-chromium-linux.png index ccdb394fc57c4ea559c7bbc84ea4962bbf5382bc..056de61ccb8f4e8ca2f0bd1d00ab97bc25f695d0 100644 GIT binary patch literal 13828 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-firefox-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-firefox-linux.png index 17ae132865c9ef9f4af5a5fd2bda885f3d6c0b2b..79430f918182007ab570637d8d327a649809b38b 100644 GIT binary patch literal 28284 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 literal 28069 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

ov3PbOT|HO$;N>BEEXg;g$=bwuU43}Yl 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-webkit-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-drag-handle-menu-webkit-linux.png index ddef0416bb1ec02c22b414a5532ed7aab6d9139f..981e6b7417e28f641c43c757ee0843f69824f82e 100644 GIT binary patch literal 29437 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 z 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-image-toolbar-chromium-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-image-toolbar-chromium-linux.png index 80f7df74ab1d6ecbce7bb9a666cd45ef0e6f14ae..51df51faffc3461d2a96a550abb36e6518540d6e 100644 GIT binary patch literal 15452 zcmeHudo+~m`}Z^0v`eX7Z7QMNnL$bnY^{(}<_5M!pdjELW%0GiK&vW0`eO;f==lWca zD+lbX=g(a}7sIgmHoyON5W{|eZ{^<4QG^#(c;^v#!37+&{uRq=Q2&NuTA0mmyAFrM z^E*lL&VeUnG7;af+B4wN!V9ae{P@#q#l?Ts?4BQzbYX73ma67UhqT|luN~Q(%)J() zef5X4=}mJ@-|y8sKK#b^gSEESJ8Ug3`lrtqetfhhvO{kTiN?{i@GL5B`)e)V^G+U% z*S&?xPc$~*862vO3mxReAJUGk<-&R}?9yR_Ci&U#6sg!8^vw_JFgbX!jQo*;emvkN zr-fdZ-2dO+Zk{j1C?}8Sp0e>R`j%ok)pIBG>y`DnryEm}G=9P`{+-GjD`G1am~4t# z8FaK^NB8wQng#h;l){qzY0kQ_QN)FoelPO#d;8Pr4S_8#u~}JJNg4~_bB<@uoEiN< zjo3z;Zc06f$6GX2;O72{DJa&Ba%;y%sAN-}BN=M_Nf=fhG5C@m?vqv2|GX~F!0TC* z+!BfvB@!1fkXi8aR_RI-KgU?i&oc<09>1<(Mtl|}kCk7`_i4YEnn={}O{`ui? zl12lCI5WaTADT-kr|8QsR9kpWRj*;0SN!eAlJ(rlZYs+o)@6HB1%`cD>rDKXTqr0L zUnZ)_KR>L^y=gME5EtoK=K%K|DHVj%&yDEWG?<;}qe!g&uqaq6 z4A`C>{39%`wJ31lfC>)7=6ZD&1zMRYJi-(#(dlf^$1Oy!bN6Ek@IsMWjKN=FkIMgR zZ)X=JX<(L%N(Wp7HH+;{w`j2py&B>>hy$7Oqt0+0WeZPCPWeLQRkBTP*wiSFqzk{i ztZ9JZ6hGXtH=nwyVd4EL1Gi!x{JP@KG79!Xkf2o5dkBuOHt}{yvx6g-X(1h$x<>v=}xF{1!cXRzSqplfhvU?KOO(C0e~i3*mK(l62bbgT8qQ?)1q3;DUV6E)i%>8=T40mEW_ z!uf-~#e@0hgMx-)2H`xi34ROUGmnyzlBNR+ornB5g9V(#gK2jU*_#Dg7KGMrE;#k^ zsSUc!=)HoHwIVi&@bjjl*^NZ1*~HPZksE|l+?p8Uo?BLnV7@r&MDwTkbD`EiHzef zwePI6twH zkAl?L6juMV|4}r?{_J27t!5)C zm>&!W=_vHWOZpwh){{rq8}~iBI0|>rH}GnxL#uG|Ele(Iuu?I*o7b>YXY=OG&3+M+ z6`Bn$!JRRww1}c2woEFJ^%g`76y$o=KZp-#Fpe_`_RV_r^{TUf^;$i#5OR(`P=_hB z&SOg_3V4GAGKuQZf+vTUjVJ3lkQpSxMTg(>q ze%z;5|0&a{v7^J;MKBLP`73)o#fbaan{JzScyDxxR7huOO1m^CLdv9BEqEUvpF-*M zKx1p`eGx+@31ynFZ!gt3(qnBg{m0(qgQ)Z~j^_MgA#P*&10Jrk@ob2X)1jAa6@&{& z>8!jn&Ch2;Hu$13T9s4LO|>v@aS3(_OehTC^{Pm}s1VP}#%QuI0G3x_gWmXo5u!Py zPw#5Yso&vJh1PT^GB^AwMXmCMeJf?!Xp`LO0Xq2|OC}MJE%H3;YvPRqqSpw*cqVtA zGMAE!2<&)kjnFl`_y9Y@3l5)F8u@nAx(c|HH#n0wwr$_O&IZ<}*s(kAbgtoqCIS46K_VdPu)F?nCWP$6%k^^*yE1-&b4UNzri>H2a%yN!Hby2SuF>>u}Yxb(e>-JYY`{T*;MgEd$p-uG0Ln-|6 z5~#B0Qt8YXYrT!`t1lPKnfZR*m1aa+NFT8_4%S0Vn{@m@3k>2Wl7?)e>mC^D0MYdM z;k~`RBP0WOo&%le@ZiCNXjQLC;ivFpP6P-w{zT?y%2_z z8X;dI*HpLWxZm+zm0dhkyXVI8m^D*TB41pSq8pVMc~)Yuwz-mQOV^2hhaYn#ipy5AbjEbJTpocPDWkyc^@Wa*?i;6leCmZQcv_TZ#167dL}na%W-96k z82e^V-s$KX>e0)h(F#hqn~xQpKkW%*{O2!-G^iTY{ z&Mv-Hz$_JJ66)K$Xr+ypEIzllBcy3+YB~kwd{O@-=0+g4x3jl5S*a}nVrc>u(aJJb z(kjqq+JMOF*+RvAR#sLEO!(O@Y*{8DTnG3VpH(*9f9BB)h_bt0wD9c# zyoS!xlIiK`{SUYM9AGMAn0^za@h*L&0Uo|I0_lJYP3-z|-~DDaq6i>REqZ9ZcW#7a zI>WheD++V~NG=uOFdW?Fzpy#_bB0RB8j>{LWN$;dBb1j=2-G_^fS2ujvgbz43ON6| z`&-JWyq30XZX~9Eo)}f?@`J@c@3`F`SUFZiKDHrd z@5b2LVrM0+)o5J0+C|jos2jW6l5(QKfr7i7Q})JHFx(=k)M@GHh%YKK6N{Z}ZEXQ2 z6~p#peA@J9$6yXsw{&H5YZQc7VmByw^$?6+!vc(^sHjNe16{<}vUs7}(VsBf^y$%_ z>eHuBhgMIDE*q7s8XO!1*%si*N=*3U$sP|N#n9o`N{wuGV%nk9-uZ+Ot4gXSZKRv& z_4VzQsVNpY@!q|AYpT)qKDU%@2j<*sZEc+xKG9|hiQW9WW2hAVprqH3UY%n55Oq-+ z?tNu9UfkIv)>AAs@hYue3Pj*Flz4`0MW}g|BY{q`{YwU&I-rlpHUu>K|fBwaB zUpY)Z>9BTke*X5CFJGSa_TFc0&9pPX)%QRdDD#LflS8@w4n{EN2(`o1a?CcX~UB`kCpFZ95FN_Dd(DT<~ zyDBLBJD}{I78V*KHjVB<_>7cfrc=RHGL}s{{pX**gE)ZbKhG19XpJqKEGb;nk%&xgjH8`*)(q1_T5|pBnu95{lta|G>Z) zUM9ph2UcERcIStAKlel`X;c9T9CKm6e}4;9@;1=jndY)wk6NNBnGoaC)ZEO?VQQr7 z5`29d9&%=SO((xxJXYxMA^hzt1T}8k>4S#Yr%#_2yf;z8__l$8fu{)sdnnNwuD_7O z{~AWYlvU&)6%RMajQo455_Cgy-I+K0S$Edk+mT45zW#3Z%tzWK282&eCz&$;oSP z+_=%q@ji2ATEYh5b#w3VfQBq+>C9UQofQh*-jHJ9C#T?I_AaHBcj42irKP1s896yy zU{&>FEDO9OyyKPM6yy`De<##Vb9M*_(V_7Yd()BMgi|!qP$6pfg4APtP$qoC*Kty`q~*wJ&sTSQ*@L8)^e? zxYkCZ^XNX1`-fE|nQ3Wh zmo2eJN429A9DSi*m(wcW_bgsU&&xA_ix2rd+~IdJu(amH8&L23kx3BJqQ9d+wpRbW zXth7UPfA&txeX%d^XJd^^gW^49XfPq`HB?=0ljtc{xuupb_VwQ(inO%KB(OUOtUR? z&f3GA8sm92J^Le#PG>cx9SQ)c#HGkD_}$fXzZ%vmbNCgH&y%?J>z}}`GFO#jdM5yu zY@*$%Wm^#yoJ~Q!>;w>cVfDO|-^C z<=aF<^?3q$9?LoTPM1b@L~;`e4DfW$pk6-%&oGCuO}*2Lxc%hjPHoiMqPQaAiF!X^ zW!Tys)ax7r?9d4*065*XmS5U*$r4l3*y}+a#VJ|}bh>j%0N{XAW?92d$JoGb;82}y z&mUY$NKHyw1-CG%m;3X~nZ1xxt|48Q`bTRrL2s_Mz8UteT@kxn3D|THZgep1a4Gkl z+I>|E0>6KT!hcwV&zSFKe;)^QFTY@i7M$aX{u6wo8t$mw2t79p#IbySf{RP5yVloV zFzh1T|M|}p$2Z1UByJ06Be0buP2x3Q)?JXd%n9W1iWgQ%nY^=ZT5~Anl;PK>WQUD= zy!06hQKJAA(|I}+YTdK$K5&H8evifYdn*ITC7ec=40YmL;hkM1X{y+S`MUvzwak z(xLs)8_2%LB1^~O481>L)L~gXSvqA50IW1Ph0j8N9*d6%)h!+Ws8L{4(lwtn6UKyU zp-=n-AtyJKaxWW(KuzC{~3GN~wvsD_m< zoNP)p=bj{$Qx-yO0sv}x&@)#-c7e!EqG>x~9jXmKoJYUUZ}+W5*r*=VdIABlFIY>E zClRq!W56twa-MJhUW8hqh?#CpKpZohgN}}|1*L;N$ZLT1_}->t(U<0_PK3-rHxRqn zZpSKsg90{j;1Q!TG6>xx)k1O_tfE_pJ(8j{YV0FM@5G0VR>xV8BcPyZXzjDL_X^DYd%nAec-@Q&S1lyPVwNDo6P9u{yo93x6sipYW7W&tkedWML^ zFhW-1n^ooI6sW{{WJ84U-8J{w-jJ0HkE%mK%!Vx`C8Z;PWrp~#Y=)~R7>y5HPYd&x zA}>~^0SJCHzm2;SyXp%M>H$f2Qg_=ji`2Wj?US9kmd{6m-21PiC z^#K+0jn>!1rFKD#C>6`1*$+ zGB+K6v7w;De;-mFXQ3Ak9U(s?gw{HZUeuh?g7ZQafd3RX)(goCCZ06-k|Z%?+(lW^ zm|{DS!++qNW#i=J6x}maEXZnjgUDrp#msR3KnPk^yd4nP;F|{Y+p(eq6DZCrF%Ixq zMR<#HVG$O&YYSN#rs;h7D7S{};^Oj+&)*N44*JAKP(3S6f=)4Su58QqaYD`w!b(^< zQY6TcS;69*?UV}+6DyQ@ph?gdg`KuTsvOTxty z8d3WRokfO#z5rd#*ekf821^K>)C=Z~y=xdA)YVoXb&U^x0G2@#^{tBV9m0ThLZ}s2T~kS6h4bRNY2;4UW3MzyF|<6Ufu$uNTf5o7H3*8plR@Nwdn;Rw$>~1>7pf2emdR$Cq4$x`pFb0wAD#UC;`FhS5I-sh z>6`?OVxq8ro1r21(ZvP*eloa%KPOz|0k|1wL~u19y-hs@5weLEmGI2WDz}|!dZt08 zr=?Y=y9%EpD?@&=Uu0IQvOW=F2#Vy+8d!quP7{+cx@?->EZVG>$jJi%p#)Y|b~voe zjoiCQf+;`Ol=NAnJAgGSn&p4EW=CPbSPnHjgXusT`+CU?`H3YV+~R^VVdj(woRNgY z0O&i=;=$vTY5`B~k1i2+3K~{LsYlafGdyro;Jj^73a>%3l`YH)cF<%54SwF_QnU@h zUTkG$<=wr>@qwR?H7`3Sjz-5iGdW`B8(x2vPj|m*ybfx@CR!aD0AsLMp9@A{Tmk@3 z?Qz!>AD#8zkdZSA4zUTyH4dF^1S1_8P;vRAX|5hQu2zp>%1a1#ZGff&6kIaMRX{o~ zDH!mD%%XzMASc~oelA$1DNvI}>=1Y1$;G9Tdd`fkZprYQ89)wqIH%D!^YnT~YxP** zmgb(QxEv-b=F~Sk;uE0%PtMHTtYSKB$sWFJbXZdsLl0X^1LX4u_Y=h3YNT{Dz#-a2 zws6ft#)DU4s3+9}sLLprbaZ&ABW$dGs?XZu!Ij19Q=kGZrmF2nyESF6h%(MhJ*S5X zKs<_E8;~d8`ul5Ou;!SMR>&wJz_d)ZF(zu%pNc6zaP(hvt0to;a(l$gB<#i$W=SRq z3_&|b8ibgFH^S6p;gr;GL3tk0bIvh=V_CN4a44h zuHz89HyJfNAh7lwKYo1L8D$0f2yonco}^+VT)q{LCJA8nT0ML%xet>r{zott%$uxQ32~Q@tEclnyZh_}4igtZ|Jl%hnExpRR(KA3qz~%j zUx;-u4Q7ZqHw&<(vY8N{<4#V8V5(GExd(5DxnVK2T$HpgUp7a8VtfmNo1fFrU}vxx zbGrp)gZc;Pv{$ZNX=SF4O}NX!31mRd1qQCWBVX?JoKCm*^5Pv(k*7#t)LX6*0Q1LI z6Mg_LWG&c9@b%xBF{-&ifw6ezqCzxMGP@`HM35ZOEt~urVaB|>@z7`?D_j?fb=muz za8O(L_!1Q5HLYPwZP{hTG03uII~;3_JDPgmVu9RPNYCuEcS z&iuAKFE4;Qlg*sw`#5Mh&`=sI#V1f7y~y*0)-X}s@9m;Epj-{Gp;3<-o`r{~A+6Pz zYR>|^$vfBe28|7DwgN(ybgvXt^;F*h3VpE2`ISDT1s;I8dL%LO43KRLvT>cw^5x6@KiaJK0Q^S9GuB9x zzL-9WVTy&W(f$~wJ{LU;a2Y1-`U(gD8|_RsBZ-JW8I4Zv9gY<&NI zI5*#dINpbh+W1XX+$8Uyy%Er!ost3v5!r?db8b5#DStU~iN7Edg>8kNo zcPbZYA)rTSzv$fYMtjaitN|t-U@6z5mJCH4=*CS7Ge7gxgrMWnZ#3yfG$1!5RDWdrO+)KG=StJ8mlo(53NhhEheCKB@l<%J^O^6hVA)21372GY-*-~ zs&kruqH_?i*XAQ^3{9P$-|lCh6Q)*JZzHjqlt;ywh2X1!iz#hSwY=jqSsI@NZ9MHoiEo{q_5 z%GuDW_ujVFsBULZ?z*Oh`L&-n*MKK>zhsBWIWPo`rIX$1R3{j&fUh%Z!Wc6_ zv#tnHFxlvdHC5w%OHuKlo@>bt7}U-3CVIGmHu-ivOye1i1H@Vc~Zsy#0n?e>9a25R$%0_U1=rtGLf5c6e70wOE=o*q7N z1);<*m3JIQr_yPy$`^y=Jq}$G;{`Y5`Zvy$XY~d0P!7C(8!f738@-1 zg2xNO(BvBxdht*Znm($%ZwW;YMEHwQbER4~d@1aUyk-@8GzE2|J4%AVI4ne~1W@sM zec=a`l<+tOYSRAMh$DK^CrLvAlcziD0$HP(SVBU=x4ypL!QF!hBexGRGvrJy#^k%}>c+YFc9>#XGg>ZnJqPCl!~mjskcsKFU`WKJXBBBXI{WSZdGqnR z&~o-CRTLitCmvKdxFwsxdNvzcVMaV3#BcrJzG5jDkj-<9k4}G%fCNHYN0kCKjT%|> z7!bEMmRF-g=Z_Sj?1B;U)AV%j_my+Rd9it{PFMya5hU-Sji`lXp<)Hk!VBd6GGqT! zfV1d93$SDn-9guweDHMY*j>2;%J2XSru-O&W^f**Jw&~wveA>RoL7GCG|}KtNhr`F z#3ZDeM_&8S+R%&`Hop};2eH6x{5{}|XR6N3y;?5#*QXCKl`#EyG)b~@gVj&<8ZqL~ z-1}M7)<03&qVeCnpEp$j*CD5Oww0tu2-A}^mSg4Fzo4~5+CJP4?SSvH{u9bYU>TyR zmz9|^MmbRrlNDgG|LEbJR(IGKJS~J(TnN|2=rBSn*GNxKM+Q1DI5syEJPfdZ(e?ht z^#4#lI`=|njs7moGU+bp1<)BF@ZnJY(F7B}fM$T1D+q1$77SVx6ezgE+A*kM0-X_s z$q!$hL%}MJrX41}!*4*^WMBY9h=p6X9H!V{$rs>S88EtXQybllVOKNhk`jqU`S4nJ zdT4d2#iV0I)+TydjuS@t9 zo(weFR_OiEOdW!(_Ay5u)3b*TJH;;H0SK8~>zQC04TR@+xE1qOuE(!C#N6Qgv5@TbEm9^ zk&Yd`LI!Ic4N<^pfNP1k$b}+HTF4$_z4e|7a^>dFpld-cI@lc3>VZvvoIZOtgRQ;l zTyPZbS|nC+5u0=1K=Q#fW?d;8mn{yJY3C_GJ#7WQ@Lzd?jDLPx9#Z7+=pJGsC~w&9 zvn(_g@h@~P#bNU9!Q!DB%^_qSgPcNxW$5+lK(-;{F~Jje#8Ymlf8m!M%4(0^E5ID_ zk@!kkF-w}BmWBpgsBMN51P$Du`O}#8z>x(iLmF6dQ4tX&gqxc%v6LgB2FGAWe$OLa+z{X9VaF@P80O&xi+rKUM2&nK zxzh`Z@ZuBErDE+x+2XFUm^nuah33kyw#vUxV!%Ue5R7x3vNxP?#a$jh?}8=;O)&DL z+FR(PHT;N(a(0w#E(OznMPz*uM5vwf&~%9twuCFXamO`cnCE56S_*Q?df>uCVqc>) zwX_J%s}VdBh8&f$)Ti6o?6O9_1yob{m%ag0N{l2}WEH8y8_9fIzE>?HBM&};>6=2K z{qU*fk|pSrgSxSY;9TbicY2Kor58R(I>>3LL3oScJ2OWbVN_o%-$-d|0E?cEfy`r6xsU{Y72tr z@FQZrz(tqj@5985C?F5sK zQ>7#Yz6PfAM>a`~AKpj6^ROifI8?Y$A4_rKov%Z-)%{*s><^tNJ5_U0_KIdo~ zUeKTYWvI3&$^tf_RyLbR^lOn%ofP;|k4Ha=k=Il=IiQ23P>0t;^6Rv;?A}?#EQib{ zeQ9sbEqg;-I7i>~ZcSMlPI*P?6Bj{TSm|msub93{4qA)p?;zrAyGC-#`7IF*+R0e?<7--~Mm;58w0r zdoulBJrVyMxW1Fc|64?sGJ^P)ih%2Gw-`dRvNvt_Fx z!)-svRWR}I|3l(iaI^ob<1RP*UmxE;_&qo%SH5S?_v%1-@Etn7!z0Rr@7(eKA3w^; XH?U6J4c%*r4$x+|-EUdHx?T7;Io;dq literal 15451 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-image-toolbar-webkit-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-image-toolbar-webkit-linux.png index a92b3d26f030d57b805a12fbcfca8738e58e3e75..0d70f857c8459fa8a0ee0dabf2b1c33b543eb899 100644 GIT binary patch literal 33555 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-chromium-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-chromium-linux.png index 57585454bbb5a03e848d5422522e2f8bba9bd3c7..05e83c4ee39af6bb44e23e94aef3c1b89e93610d 100644 GIT binary patch literal 10325 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 E0oM7lt^fc4 literal 10295 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 diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-firefox-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-firefox-linux.png index 5a4485a39a8ef5bce06d4bc15b0ef1dfe62dfc8b..f2db7999e299c32ee1b528585e491e14cb7d2f5f 100644 GIT binary patch literal 24048 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 Dt3)My diff --git a/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-webkit-linux.png b/tests/src/end-to-end/theming/theming.test.ts-snapshots/dark-side-menu-webkit-linux.png index 3be013d31e2e9964cd3d394dfccab47bbfc2f6c7..c2c79840a9f743d88a5a29755157077ba21ee46a 100644 GIT binary patch literal 23240 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 Qt$mu8FKDahoHGmj9~uk)0ssI2 literal 23165 zcmeHvc|4T;_xDwVl4v6l+PKLUi4dt!5f!(6EhW3``?yIeqEeRZxshbg&Wt4qF-i7i z$U63Yn=$j8tM2dfd|%J=*YEfH{`bsvzg{)X%=MYibw203&-=X3dEHNLXsEL6I=l-( z5SFV~F5f~B^yQ8urtR?8k=xH6!(R-y)l@GdRP?{3%Jc{X;X|%oR?_x}o9>@-)?V{f zoKJbJqx<|h+dd|>?MKCv%(!f?+@9aj87AQN(}I5{R4(34_PX3KF-3zKwyMPAA|J1C zg~TUmC3)SJF+FeC+y9Vl=xL5^LqeR}US7Cz@#5Onc^OLmHU<6qP+11 z<&tBSiE{#TUt=Vd*lc?~3c}9NYfvfji|e-EuaU3e71~0trw;$~&uB(j|9?KZeG%FH z`(3vE+s%Hz@{eXi=zhQa^bk4p`xPHQebw(*$myd9!|#`mcWx8^{px}`(|=>hT~5Xb zLSO7apbQ4G?%|Q|>gnkj7#Qg6lsJKF{^BbIqA{G7_cQKn3(n=SEjrP({+UNenr*RGj(j=t_R@wVIAT!DA} zQ`L~&7wmVluxu?UQkOI_n_A6S`09nY0|yR}*XtE2^%!#f+qZ9xI=5HdI)O0oF^Za0 ztoPXD#GiBK?+ik>B>Z@$x0pJGqu5-(em$Fcn_0tNgf6#BBSC&63bPRPzGNG#Yl7c#uTJ;+#n*pz>tUoh#M$6cc$mf@{ znGv&{oIE@f5{~Lk6oW72UN)-qT5+I^IXrsw$jO)qQG1LW@~>Ocq%Lb_Wo4CSqbr#$ za4Y(eS2|7ct_Km}qmlj$W-p8?JQjjDOb&5zHT~XF$omf;rc=Td^4ZQHA(t4%k&qF% zBkK27zExFKY5FZj80l`Sx|K`^zu-t(or#xoA1HMe`2Fl77p$y^mWjSP=m}gz9xEP! zCwj!Huzq2a8TKHo9~c$h&6or#!T1vkn)1jiaZwGTc+oEj9vkz5(n29G*AI*g*w zH=nCfJn8-GZa$ydj_B>{>Fwnh5_WZUJ*AtyJ7DnhGp-{?j)XX>z!&|ktZi(XTz4YE zJHb)eFJUm$V{xe&85yOe=a>SV$6G}F5F>5vk5+AIPoF*oFDkIa?_p)dyU-0P6vLa} zzkfF@wl^+wvBHMw8yJ+`YkmW7Ei5c>N!uIY{Cu%t5D0w^?Bj{5$OU9~)$Kz^jx@XO zWX{abU##OW6&4lULoG;69gTM%AQFi&6o!H#`~EU8g`2FQNvYGQJC4-fhi5vyWQkd| zynFZVcuRaQ4ugqo7CLn*(Py!NkLkOjYFnTCwYs{xa<>_4YwM>8rG8tRR5G6Wby-GO zpFkQ|d!Ly(*H^lfNZm+8UD)4>lasUIU(X!PSnfU-R@2YN^fV;IeQu!Afq*4Ch}&f9 z<|K?oc4iyLl86^s70HfQuQq)7@+CtneQYXvX%zc@1}k)roo9J7J>>&>2}gfsw19(E zVsmkGgRS39BWdUu7;Ju56B98k687SMeeH;>%l))^^M-5u5r6*qrxM%5VMaIt35apC zY_M)kcP$aN+SJ&{z`&4JP;K;Z+x+_aIig@jzj})uEW3qmsg-Us2Al2CW7vp4b#yw~ z+jl5AQpg*%!K}fWdstYSbKN38-rorJz+42t^w+;KQidQNgDkA9gpvoxhZ|;RXRE8L zt?b2Z&h12I$A1j{o3RDSk_FUfnL1fs6Uo5=)Lx2Qvv2y3uC7B0_wDTBiCDH>1V8uL zKH|(wv#SU^P}P<)VDZvm)n9bPe(y_{E-~)mj&5Zr*stsoQc8c{<9l*)aza9avK;YD zziwf_Zr#_KKohFVOG^uC#)%#`cXzytDN_JoCtsYf8G@p;c+AP9 zZDu^n%gYrDpSfbC9Yn>%=BB3Pd^cS_TW7EJnYlrL1@ax@<(-?HeA5~R2cJ{1c#Vyo zk(Ec@d)4;(_2#tevEaAY)YR(h>%G0b@p0#z!C1@234WWzw6wGd#gLE?>ShjA)`y$N zVo|>%+qn0~j{`hsUtjCT`jQ%7pAyhai0j*oyNT~9v;j~wGB!58b<64Jrzdztsyr#N z;6mZ(_&9EJGPA)#f++x9>W$Ir(}Sn5Yn5{c4;)xtTf=Rw_70toS3cbxl$vc&2yiA0 zkFh$_tD9qT-gD8y)Rge5SFEP4FW0gwLQ_3~Qk=H@0KzQ^Q`498(_lL%r(VSa228v!ztW9eAv zDnWlYLK$Mk9LnzIxrQsUY>C^b<)u8&+d4+r6vQX^z3A=j)l5`~_jTIfw#m-P0YA9| zc=q7I!r-8pp{o%%7_TDFFu@s|0@({0{A)P4mKcugB+B(w z`@w?;fL?6$a5Ve(@0aY6wmvdDIq9|7ARukmbD&cD#*G_Vzpk4%UnF=am#d#WhZtgg zHo(|_Lc~!29nZ5 z48Ymv&!5Z6%3u-6ra9Ke#>Um@?)`RbLLwq?p4PUuK5PB%QY=8zE==$A-!`apu!zb~ za9HW^J-U<>$nTr?@7x)#3*i8NVPIrbQ&TIp?cT?r*jr?0V`s;bg1vlffta4ipfulg zCmcKnP!BxsU4(E-aSj$sfsgiZS(cZV%gM@KPoY$ufnLCr@he zr03^5EsZrRvH5JRbk5Aoa27rb3$yR}n30;Anv*jZjv?RC)YKGu{XRR}-pWc)SolMB z_CTfgT0JjDej~TQ!{)C0$d?y)>cjd)Z1)5tWoL_$lde-%KA&HUpAKYIV48KZgDnF> zUAc6r7Cq2}%JlT{&6O#@X??7Z=bbxuBw~bxgnA$mW2kEw%M3rFX5x2q8OFLB_y06VNxiRyu3U(b?_K6nG7!=GyANx>$+!J$Pzxj$TBRR?JJd3 ze**^u$E2#F(%970nPnKI&JS#wM@Qn!nOCQglDBVvmJ_z@A*9*pAt2@^CJu3P1Cz10 zwg%w*ipNt|i*Z|@xg6A&no%&2PlB8}pY)~)85H-p!XE+2s|VJDoxY6{HN}#*<}kSY zdXZE>+Xm9j;&(c)F` zSuY(=$jr<<^~WDw0Eu32**mnfwSRp3Hoq~RSX@*z;JkP6OF)MkKmYN5>uWfw@1{`~ks|_tsb3N=A93Xbc=p;HfzaBzw^CbMdl_t)V^AohsE7fl zj0nC8Ss;}C3yX7F1Ik3AqNEiR{3gC7Hx!lM;nenmNC<@}?*;F);Z3`&Ud$JZ7Z?A{u}{K~xvuaEda*OcN|gRN(hvctzX%Vn`$2E7#xW*v0sr-DD93sH1Zp6=-lCcA0!y%_R(6Ot zp5>maiCS)6?XY98CPpF1RRLq}qC7W|PVacuoarwp>6XF51ev(6Mlb5}V002oY0LUWEel z+DGEGU{pL<{Y=R1{8Oh+0q~CRdvY0QKTwJ9T5)_#kVi385+OL87Z_HkFUR<8pg@nd zb-kJ!0r1RSSXf^ezPZXyuOw4{#)mu_Wy*8T>BKe6rLCZv7wK~5#j;doCLCjUYDs)t~XhQ&lhxdUE9SR9dY9Q^X)IHw)K&dzQqb&q$OfUZP} zLk~CskX_)bZEXdRxI%;KNhDHRy1nHYH>iCdHHAXN$PBB1k>cb%7yC+`p@g{lS@YDd z6KdTCJTd8aT@qS$)X>0Sz;itQ{)0}Ut+*Dj1@mx&V=vY-ahsXKh7^eKW~QBQyPuo- zuC%}MHEaEu&8bFwWam@e&k^tU^N9e^BDCh9kmfW?&&&=E4pvoN(AU@Zy0x!;35?d_ zB{RCcot?gVV`-e%dpeJg34k3RFUKKzgPUH-#%8J^Lcmg2-A&GYR``!UfIU*7mQS;l zoSB-MnwiOZ_wEltLBT)%xI%SiAHU6@BrYSPXJVq@xpM+=4KSZU=^KHN*vb;4fUMiU zm;`bHSsTu5bE3^`PqBk&4asleXB}9wx$|^^X>Z@aCfvjy(eUKSleGbFhsMx(a9`DM z9u|s&*Lg81-t%5Ai`Z6zuNpxH=d3+}u-jXwfp%vZm1@Mi{GC~-7zR0RHyJmv(p#Oe>= z;W*PgU4t!~S1Jj$bOXe9XP&=jy*ArVv>AdB1N8GIV13&NW@&GQMal(9fwjI`89!nq zEz|l=SAEvRgJu`@D3!ZNIfm&S&gTYu@ zS_1b5#tihQmc0R}51*JXO-3RFGzUcH6Dn+1eA?r%NiHW2J1dN4wsQEXgil}OmMn*~z`ySaACp9Ol`z)I z#>S?WZS6;f7H4JCi;3gno`~b}R4^neztwI_PTmV(J~JXH0`myUR+r}%+iu>xdHQbG z^W@A-8Y z9ryObJE4@)`M+yxYqj{#Lmj`Hce=Ykz^LX-$nrzM4`5!KMz>-sgQT8|7x2r8#E&Fd{}SwXRsf!N`h*!bM7HS)&NlAMTCQ(^N=R(Oj-ibLJTd(Xx$g$f-y zIyx7`2SH=}y1 z0~syP5G4<*c^0?(GVj_|QzDx}k|a%kzkF;j18duXXSEfU=iBlw6e@#j=h}2;LnMOr zA?-p$iK!(?L~X0OnE`r2)5|GFYOh@M-eaPWN-yJ#udw6EVc+Xv1-uAPj zKSq|DYZ#%H3!RJsTLeM%0qR_fH_0K=Cbrj5ajQVgpcy2OArq~l#jC7oZhHY^9+3#HS~qiZNEDszrULns3?bipzF|Gh z#lwSrFsuUA*k(k3fB#J(H#DUkM*7;@rBarqzm#payASfhkbF}pOFmvS>;3y(ZDHV5 z7DVF^lyJ6vu#{zgS9ArCysPFAeKq)YzNN7*nYjv@?uQ+j4Q3^{jo;#d?Vh9sSFzLN0Z#lECfKBkt0^WLD# zoZ}HO{$)Jgcwd!rvHQ*4rs!U{%;(My`tYE15ew?iMEcGQ?a2<Nmogu`Lv)e~*{mu=414IL`Ty1@B===e ztdC%OB`VzIJXRxg{`@nDHH`b*%e_lq^Ad=>76UdRZkVwc%bIumOaX9Yk*{7|UKm#o zDIG7ZVdP9XFZr;*Ads&FG~5v_v5C6Szs0s4p;t0789<9BJ|-`3?{spNN^tXH`fJF` zAwNyZTm+wHjCqjmC4&G6wZ-k*KQnW%ZwSXNIkV$>4S7>zyYUI;N;WMNg|8GTsqlIr zy?(^hC=kv7hk?`J6BRMTpPwx!_W$_t~|RMP`aU`vkL4L$RQ|GYEhzv zA3vVh_k@M(EF`VlZgmzMTbKDNUyEN-QmP(njs;7B8-EsLAG)pbJ<5MifEhf=kXI3) zJMmRrFfgg-sYR+ho+ozqv`M}%?ZfJW*f6wAfUV)ZF0b`J96Tl{>h3#2Tty!4V}>0O3=Ly&|W&ySgBM^Qg}?;fm2~ z4H^$n4eepH$}uXv^{bhn_7`fI`fuNEtUgEvU1{^}K>lbMpGKU2~0&o`*5m910BP~r3L9mvmyOqmd zMMe(T#iCUm`O+R4%e-U5_Q!`XQW3K-C_!g&=H)>2YKvS(h^zJ}bFQlQFd@dzLhB8x%E5%kB^ z)zzTv4Fygl?#hXpKbz%bWz*C#5e*iHKA@7@1H@79()ysi`_UM61yCl2h8t8{nwm}t z3&$SvIW@^WumTU!;x!`}S%R9Ks3Kb8v$6P!3v7g(K8`T>Gpc`lHG6vxVgfbydeVmvwv9)?>NQ2BW52FY zT_|rK!olg2J)&wyR1?I-vv)5U; z!(p_xw(>DePEAQ_>~-s&1+u^t0F`+lBkR5Cav2Uu(En=eYoMYFK1yg!QBBeIXzYO& zlhA7~z)mQVUQn#<>}CLDDJ?N_A z-xU>PIl_jX0{KBXGL*W7~iHeFToOrNjRbbP;Z-}@e6dY&mdbB|z?Ctf2+N5F15kSi7>B~S! zr(nT*-T6>`{;Ufj;`^M1?{;OJ6BmDe8j;zxde*k<2HZv<5C#T#Qj?X~K%awx9f+rt zn3w}T;k;pyE!xO{ML_(ToSdwwa)8RPa&16OlW*+qy_t(YR=*q%f7rAa?t)7txC~Ak zMRw3Z;69)d*Lm7K@wfA#*#n^CJMuy`fUm34+uhmO8FCL)jS#6&P1NqGgR??ezthqh z1bpZ-keh3(GSbrpwk}@RHw3Q(^%r_ZrqJ>O6kSc|%7JxmW?+6J9NVll;{e3F~L^r5Ebt3}D>nfsO0C3H-?5D3zPxO;5egCfL zKF=g1WiC(=nVBUIbAzE!C@n8kYgx{cl0$nHf`a-Ok+cS@caz_5R8O z*gI%BYxaIyRRJZfA6j)_*^)0*;6ra6ND#(!jC+<>R|o7q&i_TnXyUU_XCV=z&JWGa zq2(xketxLAw!l_|nf>T!z^8CD=T!sDG5vM#&A(;=QXHk30zk{{hYSghvB{;bbq4W} zy?2IBk|_YFgkwWn0~Z*_o#5*ZyN5~)m@@c4gI+q^h?ckn4CXgYMxh}nXn1%S>Iszl z%Wrd$g##gX=olK3erRd#K&6DGpzB}xyErLn(5Krlyj(h0A38S0bru9 zrzayT3$0df07Rfd_e}4c(|Z-d`9vi$LC#%NEt@k)57 zD+pSN=(pA;)d>a#s9Xjz5tN__^5-NZB-ZHeeNjMUUIFu0P@tgVW9=grV4RTM8Z4YF zEdI{P$pP&O$|ZL>(#0Qflt(dS>$`VHg&7e1Y&2x(!oo`E@Ic0g7#y0T1C((keos{d z$b@dhkmgAcpJbY(XC@{l96&pVN*tsfU|!lnQZh1K0|S1GBMsnOj#(>$?$figl=d9I zLf5Gd;2fY|%7Zir0SjA5Nf`!BrBxNJpY)C`@>2`=k+0?OMUfhPRA>)lIuFMH0m(5G znhdp(uBk78o!Ib(DfuVIkYYK(na+c4roX&6FYkec#Yhy6d^b`mqP7|Q!f&-8vH7m& znH3s4jvkVQFg>vbb5PeDQ$YZ@`#M^{y$_Df{T@}@L4;&VM5vrH;wxpg+7&uozx zEhkp{ghN{*hWuF?yO+ND$$o*qaj;KBegf24aa|xp()N8{JOHod3@FP9TvdT5W7L1= zGW5)0PN6AsNh;Y*325X2Xm+u%6c!bYm9e91M4v+YJ%Qlce@iPt_<}xVrUEM*gB8F_ zyYugYnMrGN_<=79ru(fqP*o4Q2W<499=%>QMVGjp#Mik4$vtr*q5-1BNH@>l%gbxP zWB6HftTbrYYbz`93cj*;ZuWWGBWtCQpMrV)Jb>%~N|mh$9Kn(Vz_) zg$h~PgAFYeN%}A~fFO|%Yiep>IH2k!AHraES{QU^Aid1Kks!rDK!SwiSvjgKe&)ClN3_GU;P&c@pjwE%Qv;)bayj%k}CDD|qU z^%oO&L?!`}ffuFS$^f?krq843Cr{2(c4Pg7n1LFq-1hC;a~NOH+XuE6egvG5N6t;S z^G~F}1xR-yl{_xlp9wtz0(FbPk;DymFn)(Nh7q#S{N@9d^*y?*;*U3kEabE6=$U zL8%6x5Z;4MU%Z5Q66|~pGYAZ&qV({&*-a3*0XcBV$wy&oBlpAv*zv^&Qyc}xTORzf zF`{RSAr)gzZS62?ML%7DoQ}3#K}c)YrJd63A$1rwa;a_;vr2pMY%$gP5wbwVbYK42^ymkbynv>DhFA*a)Ytv%)}2h&no7 z(OcoU)a!t&1OdW`V>^5&_lDba*FuM(gWW*IIdtPAdfN~C_Z{No{54mDZkUUk`|Gb} zIkLnbqfY53Z1pRWYZaqO%ojAEYWV9#Jh@{mnVWe0ke z28do6oaM*>47;G7IX_sfm99|;mCVWtbd$!){(#&3y`lR75*knlfFc5jsG#i`{%h(8 zZvTCqe(`TJR;>TCS*ZWB=znayinio`Zd8qCOPVc_|LMFV&53AEL~|l&S^T%Ag=x`4 ziym6^{MVyr9W&ki7uvF@;=@dN`=stg$?N{@{|xqzLq7rbyAuWseqG{6 z(HaW9`04+d^sjn|{4@O@%~tj6BidqM2Aa*lzi6(3(838O&1tBC(7+KvXbFXuH&KQ_ z;~F%20B%5|2cXT<*fxzGKrGPc!T%5RAZzEXTm(6M82$eOpox&ih`zzt}E z35^k(!deifCi2< za75vN)_J2zYp5U4=mCu$pngE32Q+#BZa||4G Date: Wed, 24 Jan 2024 12:57:15 +0100 Subject: [PATCH 3/6] check emptyness with css --- packages/core/src/editor/Block.css | 21 +- .../Placeholder/PlaceholderExtension.ts | 84 +-- packages/react/src/editor/styles.css | 573 +++++++++--------- 3 files changed, 328 insertions(+), 350 deletions(-) diff --git a/packages/core/src/editor/Block.css b/packages/core/src/editor/Block.css index be652ff48..92d92e74f 100644 --- a/packages/core/src/editor/Block.css +++ b/packages/core/src/editor/Block.css @@ -302,7 +302,8 @@ NESTED BLOCKS /* PLACEHOLDERS*/ -.bn-block-content[data-placeholder] .bn-inline-content:before { +.bn-block-content[data-is-empty-and-focused] + .bn-inline-content:has(> .ProseMirror-trailingBreak):before { /*float: left; */ pointer-events: none; height: 0; @@ -310,9 +311,25 @@ NESTED BLOCKS position: absolute; font-style: italic; - content: var(--placeholder); + content: "empty and focused"; /* TODO: make customizable */ + + color: var(--bn-colors-side-menu); /* TODO: should this be here? */ } +.bn-block-content .bn-inline-content:has(> .ProseMirror-trailingBreak):before { + /*float: left; */ + pointer-events: none; + height: 0; + /* width: 0; */ + position: absolute; + font-style: italic; + + content: "empty"; /* TODO: make customizable */ + color: var(--bn-colors-side-menu); /* TODO: should this be here? */ +} + +/* TODO: should this be here? */ + /* TEXT COLORS */ [data-text-color="gray"] { color: #9b9a97; diff --git a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts index 36a4c8aa0..a7ce39b45 100644 --- a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts +++ b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts @@ -1,10 +1,9 @@ import { Extension } from "@tiptap/core"; import { Plugin, PluginKey } from "prosemirror-state"; import { Decoration, DecorationSet } from "prosemirror-view"; -import { slashMenuPluginKey } from "../SlashMenu/SlashMenuPlugin"; -import { nodeToBlock } from "../../api/nodeConversions/nodeConversions"; import type { BlockNoteEditor } from "../../editor/BlockNoteEditor"; import { Block } from "../../schema"; +import { slashMenuPluginKey } from "../SlashMenu/SlashMenuPlugin"; const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`); @@ -60,78 +59,37 @@ export const Placeholder = Extension.create({ new Plugin({ key: PLUGIN_KEY, props: { + // TODO: maybe also add placeholder for empty document ("e.g.: start writing..") decorations: (state) => { const { doc, selection } = state; - // Get state of slash menu + + // TODO: fix slash menu ("type to filter") const menuState = slashMenuPluginKey.getState(state); + const active = this.editor.isEditable; - const { anchor } = selection; - const decorations: Decoration[] = []; if (!active) { return; } - doc.descendants((node, pos) => { - if ( - node.type.spec.group !== "blockContent" || - node.type.spec.content === "" - ) { - return true; - } - - const isEmpty = !node.isLeaf && !node.childCount; - - if (isEmpty) { - const blockContainer = state.doc.resolve(pos).node(); - const block = nodeToBlock( - blockContainer, - this.options.editor!.blockSchema, - this.options.editor!.inlineContentSchema, - this.options.editor!.styleSchema, - this.options.editor!.blockCache - ); - - const containsCursor = - anchor >= pos && anchor <= pos + node.nodeSize; - const isFilter = - menuState?.triggerCharacter === "" && menuState?.active; - - const placeholder = this.options.placeholder( - block, - containsCursor, - isFilter - ); - - if (placeholder !== undefined) { - // Because we cannot set a decoration on the inline content - // element itself (it's only counted as a distinct node in the - // DOM, not in the PM schema), this is a hack to get the - // placeholder value inside CSS. - const decoration = Decoration.node(pos, pos + node.nodeSize, { - style: `--placeholder: '${placeholder}'`, - "data-placeholder": "", - }); - decorations.push(decoration); - } - - // using widget, didn't work (caret position bug) - // const decoration = Decoration.widget( - // pos + 1, - // () => { - // const el = document.createElement("span"); - // el.innerText = "hello"; - // return el; - // }, - // { side: 0 } - - return false; - } - - return true; + if (!selection.empty) { + return; + } + + const $pos = selection.$anchor; + const node = $pos.parent; + + if (node.content.size > 0) { + return null; + } + + const before = $pos.before(); + + const dec = Decoration.node(before, before + node.nodeSize, { + "data-is-empty-and-focused": "true", }); - return DecorationSet.create(doc, decorations); + return DecorationSet.create(doc, [dec]); }, }, }), diff --git a/packages/react/src/editor/styles.css b/packages/react/src/editor/styles.css index d8ca9cc9e..f472dfaa2 100644 --- a/packages/react/src/editor/styles.css +++ b/packages/react/src/editor/styles.css @@ -4,545 +4,548 @@ /* Default theme params */ .bn-container { - /* TODO: Do we want this? If yes, we should probably have a similar + /* TODO: Do we want this? If yes, we should probably have a similar shorthand in the Theme object */ - --bn-colors-text: #3F3F3F; - --bn-colors-background: #FFFFFF; - - --bn-colors-editor-text: var(--bn-colors-text); - --bn-colors-editor-background: var(--bn-colors-background); - --bn-colors-menu-text: var(--bn-colors-text); - --bn-colors-menu-background: var(--bn-colors-background); - --bn-colors-tooltip-text: var(--bn-colors-text); - --bn-colors-tooltip-background: #EFEFEF; - --bn-colors-hovered-text: var(--bn-colors-text); - --bn-colors-hovered-background: #EFEFEF; - --bn-colors-selected-text: #FFFFFF; - --bn-colors-selected-background: var(--bn-colors-text); - --bn-colors-disabled-text: #AFAFAF; - --bn-colors-disabled-background: #EFEFEF; - - --bn-colors-shadow: #CFCFCF; - --bn-colors-border: #EFEFEF; - --bn-colors-side-menu: #CFCFCF; - - --bn-colors-highlights-gray-text: #9b9a97; - --bn-colors-highlights-gray-background: #ebeced; - --bn-colors-highlights-brown-text: #64473a; - --bn-colors-highlights-brown-background: #e9e5e3; - --bn-colors-highlights-red-text: #e03e3e; - --bn-colors-highlights-red-background: #fbe4e4; - --bn-colors-highlights-orange-text: #d9730d; - --bn-colors-highlights-orange-background: #f6e9d9; - --bn-colors-highlights-yellow-text: #dfab01; - --bn-colors-highlights-yellow-background: #fbf3db; - --bn-colors-highlights-green-text: #4d6461; - --bn-colors-highlights-green-background: #ddedea; - --bn-colors-highlights-blue-text: #0b6e99; - --bn-colors-highlights-blue-background: #ddebf1; - --bn-colors-highlights-purple-text: #6940a5; - --bn-colors-highlights-purple-background: #eae4f2; - --bn-colors-highlights-pink-text: #ad1a72; - --bn-colors-highlights-pink-background: #f4dfeb; - - --bn-font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - --bn-border-radius: 6px; - - /* Derived values */ - --bn-shadow-medium: 0 4px 12px var(--bn-colors-shadow); - --bn-shadow-light: 0 2px 6px var(--bn-colors-border); - --bn-border: 1px solid var(--bn-colors-border); - --bn-border-radius-small: max(var(--bn-border-radius) - 2px, 1px); - --bn-border-radius-medium: var(--bn-border-radius); - --bn-border-radius-large: max(var(--bn-border-radius) + 2px, 1px); + --bn-colors-text: #3f3f3f; + --bn-colors-background: #ffffff; + + --bn-colors-editor-text: var(--bn-colors-text); + --bn-colors-editor-background: var(--bn-colors-background); + --bn-colors-menu-text: var(--bn-colors-text); + --bn-colors-menu-background: var(--bn-colors-background); + --bn-colors-tooltip-text: var(--bn-colors-text); + --bn-colors-tooltip-background: #efefef; + --bn-colors-hovered-text: var(--bn-colors-text); + --bn-colors-hovered-background: #efefef; + --bn-colors-selected-text: #ffffff; + --bn-colors-selected-background: var(--bn-colors-text); + --bn-colors-disabled-text: #afafaf; + --bn-colors-disabled-background: #efefef; + + --bn-colors-shadow: #cfcfcf; + --bn-colors-border: #efefef; + --bn-colors-side-menu: #cfcfcf; + + --bn-colors-highlights-gray-text: #9b9a97; + --bn-colors-highlights-gray-background: #ebeced; + --bn-colors-highlights-brown-text: #64473a; + --bn-colors-highlights-brown-background: #e9e5e3; + --bn-colors-highlights-red-text: #e03e3e; + --bn-colors-highlights-red-background: #fbe4e4; + --bn-colors-highlights-orange-text: #d9730d; + --bn-colors-highlights-orange-background: #f6e9d9; + --bn-colors-highlights-yellow-text: #dfab01; + --bn-colors-highlights-yellow-background: #fbf3db; + --bn-colors-highlights-green-text: #4d6461; + --bn-colors-highlights-green-background: #ddedea; + --bn-colors-highlights-blue-text: #0b6e99; + --bn-colors-highlights-blue-background: #ddebf1; + --bn-colors-highlights-purple-text: #6940a5; + --bn-colors-highlights-purple-background: #eae4f2; + --bn-colors-highlights-pink-text: #ad1a72; + --bn-colors-highlights-pink-background: #f4dfeb; + + --bn-font-family: "Inter", "SF Pro Display", -apple-system, BlinkMacSystemFont, + "Open Sans", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", + "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; + --bn-border-radius: 6px; + + /* Derived values */ + --bn-shadow-medium: 0 4px 12px var(--bn-colors-shadow); + --bn-shadow-light: 0 2px 6px var(--bn-colors-border); + --bn-border: 1px solid var(--bn-colors-border); + --bn-border-radius-small: max(var(--bn-border-radius) - 2px, 1px); + --bn-border-radius-medium: var(--bn-border-radius); + --bn-border-radius-large: max(var(--bn-border-radius) + 2px, 1px); } .bn-container[data-color-scheme="dark"] { - --bn-colors-text: #CFCFCF; - --bn-colors-background: #1F1F1F; - - --bn-colors-tooltip-background: #161616; - --bn-colors-hovered-background: #161616; - --bn-colors-selected-text: #CFCFCF; - --bn-colors-selected-background: #0F0F0F; - --bn-colors-disabled-text: #3F3F3F; - --bn-colors-disabled-background: #161616; - - --bn-colors-shadow: #0F0F0F; - --bn-colors-border: #161616; - --bn-colors-side-menu: #7F7F7F; - - --bn-colors-highlights-gray-text: #bebdb8; - --bn-colors-highlights-gray-background: #9b9a97; - --bn-colors-highlights-brown-text: #8e6552; - --bn-colors-highlights-brown-background: #64473a; - --bn-colors-highlights-red-text: #ec4040; - --bn-colors-highlights-red-background: #be3434; - --bn-colors-highlights-orange-text: #e3790d; - --bn-colors-highlights-orange-background: #b7600a; - --bn-colors-highlights-yellow-text: #dfab01; - --bn-colors-highlights-yellow-background: #b58b00; - --bn-colors-highlights-green-text: #6b8b87; - --bn-colors-highlights-green-background: #4d6461; - --bn-colors-highlights-blue-text: #0e87bc; - --bn-colors-highlights-blue-background: #0b6e99; - --bn-colors-highlights-purple-text: #8552d7; - --bn-colors-highlights-purple-background: #6940a5; - --bn-colors-highlights-pink-text: #da208f; - --bn-colors-highlights-pink-background: #ad1a72; + --bn-colors-text: #cfcfcf; + --bn-colors-background: #1f1f1f; + + --bn-colors-tooltip-background: #161616; + --bn-colors-hovered-background: #161616; + --bn-colors-selected-text: #cfcfcf; + --bn-colors-selected-background: #0f0f0f; + --bn-colors-disabled-text: #3f3f3f; + --bn-colors-disabled-background: #161616; + + --bn-colors-shadow: #0f0f0f; + --bn-colors-border: #161616; + --bn-colors-side-menu: #7f7f7f; + + --bn-colors-highlights-gray-text: #bebdb8; + --bn-colors-highlights-gray-background: #9b9a97; + --bn-colors-highlights-brown-text: #8e6552; + --bn-colors-highlights-brown-background: #64473a; + --bn-colors-highlights-red-text: #ec4040; + --bn-colors-highlights-red-background: #be3434; + --bn-colors-highlights-orange-text: #e3790d; + --bn-colors-highlights-orange-background: #b7600a; + --bn-colors-highlights-yellow-text: #dfab01; + --bn-colors-highlights-yellow-background: #b58b00; + --bn-colors-highlights-green-text: #6b8b87; + --bn-colors-highlights-green-background: #4d6461; + --bn-colors-highlights-blue-text: #0e87bc; + --bn-colors-highlights-blue-background: #0b6e99; + --bn-colors-highlights-purple-text: #8552d7; + --bn-colors-highlights-purple-background: #6940a5; + --bn-colors-highlights-pink-text: #da208f; + --bn-colors-highlights-pink-background: #ad1a72; } .bn-container * { - font-family: var(--bn-font-family); + font-family: var(--bn-font-family); } /* Mantine base styles*/ /* Mantine Badge component base styles */ .bn-container .mantine-Badge-root { - background-color: var(--bn-colors-tooltip-background); - color: var(--bn-colors-tooltip-text); + background-color: var(--bn-colors-tooltip-background); + color: var(--bn-colors-tooltip-text); } /* Mantine FileInput component base styles */ .bn-container .mantine-FileInput-input { - align-items: center; - background-color: var(--bn-colors-menu-background); - border: none; - border-radius: 4px; - color: var(--bn-colors-menu-text); - display: flex; - flex-direction: row; - justify-content: center; + align-items: center; + background-color: var(--bn-colors-menu-background); + border: none; + border-radius: 4px; + color: var(--bn-colors-menu-text); + display: flex; + flex-direction: row; + justify-content: center; } .bn-container .mantine-FileInput-input:hover { - background-color: var(--bn-colors-hovered-background); + background-color: var(--bn-colors-hovered-background); } .bn-container .mantine-FileInput-wrapper { - border: solid var(--bn-colors-border) 1px; - border-radius: 4px; + border: solid var(--bn-colors-border) 1px; + border-radius: 4px; } .bn-container .mantine-InputPlaceholder-placeholder { - color: var(--bn-colors-menu-text); - font-weight: 600; + color: var(--bn-colors-menu-text); + font-weight: 600; } /* Mantine Menu component base styles */ .bn-container .mantine-Menu-dropdown { - background-color: var(--bn-colors-menu-background); - border: var(--bn-border); - border-radius: var(--bn-border-radius-medium); - box-shadow: var(--bn-shadow-medium); - box-sizing: border-box; - color: var(--bn-colors-menu-text); - overflow-y: scroll; - padding: 2px; + background-color: var(--bn-colors-menu-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-medium); + box-shadow: var(--bn-shadow-medium); + box-sizing: border-box; + color: var(--bn-colors-menu-text); + overflow-y: scroll; + padding: 2px; } .bn-container .mantine-Menu-label { - background-color: var(--bn-colors-menu-background); - color: var(--bn-colors-menu-text); + background-color: var(--bn-colors-menu-background); + color: var(--bn-colors-menu-text); } .bn-container .mantine-Menu-item { - background-color: var(--bn-colors-menu-background); - border: none; - border-radius: var(--bn-border-radius-small); - color: var(--bn-colors-menu-text); + background-color: var(--bn-colors-menu-background); + border: none; + border-radius: var(--bn-border-radius-small); + color: var(--bn-colors-menu-text); } .bn-container .mantine-Menu-item[data-hovered] { - background-color: var(--bn-colors-hovered-background); - border: none; - color: var(--bn-colors-hovered-text); + background-color: var(--bn-colors-hovered-background); + border: none; + color: var(--bn-colors-hovered-text); } /* Mantine Popover component base styles */ .mantine-Popover-dropdown { - background-color: transparent; - border: none; - border-radius: 0; - box-shadow: none; - padding: 0; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + padding: 0; } /* Mantine Tabs component base styles */ .bn-container .mantine-Tabs-root { - width: 100%; - background-color: var(--bn-colors-menu-background); + width: 100%; + background-color: var(--bn-colors-menu-background); } .bn-container .mantine-Tabs-list:before { - border-color: var(--bn-colors-hovered-background); + border-color: var(--bn-colors-hovered-background); } .bn-container .mantine-Tabs-tab { - color: var(--bn-colors-menu-text); - border-color: var(--bn-colors-hovered-background); + color: var(--bn-colors-menu-text); + border-color: var(--bn-colors-hovered-background); } .bn-container .mantine-Tabs-tab:hover { - background-color: var(--bn-colors-hovered-background); - border-color: var(--bn-colors-hovered-background); - color: var(--bn-colors-hovered-text); + background-color: var(--bn-colors-hovered-background); + border-color: var(--bn-colors-hovered-background); + color: var(--bn-colors-hovered-text); } .bn-container .mantine-Tabs-tab[data-active], .bn-container .mantine-Tabs-tab[data-active]:hover { - border-color: var(--bn-colors-menu-text); - color: var(--bn-colors-menu-text); + border-color: var(--bn-colors-menu-text); + color: var(--bn-colors-menu-text); } .bn-container .mantine-Tabs-panel { - padding: 8px; + padding: 8px; } /* Mantine TextInput component base styles */ .bn-container .mantine-TextInput-input { - background-color: var(--bn-colors-menu-background); - border: solid var(--bn-colors-border) 1px; - border-radius: 4px; - color: var(--bn-colors-menu-text); - height: 32px; + background-color: var(--bn-colors-menu-background); + border: solid var(--bn-colors-border) 1px; + border-radius: 4px; + color: var(--bn-colors-menu-text); + height: 32px; } /* Mantine Tooltip component base styles */ .mantine-Tooltip-tooltip { - background-color: transparent; - border: none; - border-radius: 0; - box-shadow: none; - padding: 0; + background-color: transparent; + border: none; + border-radius: 0; + box-shadow: none; + padding: 0; } - /* Editor body styling */ /* Editor styling */ .bn-editor { - background-color: var(--bn-colors-editor-background); - border-radius: var(--bn-border-radius-large); - color: var(--bn-colors-editor-text); - font-family: var(--bn-font-family); + background-color: var(--bn-colors-editor-background); + border-radius: var(--bn-border-radius-large); + color: var(--bn-colors-editor-text); + font-family: var(--bn-font-family); } /* Indent line styling */ .bn-block-group -.bn-block-group -.bn-block-outer:not([data-prev-depth-changed])::before { - border-left: 1px solid var(--bn-colors-side-menu) -} - -/* Placeholder styling */ -.bn-block-content[data-placeholder] .bn-inline-content:before { - color: var(--bn-colors-side-menu); + .bn-block-group + .bn-block-outer:not([data-prev-depth-changed])::before { + border-left: 1px solid var(--bn-colors-side-menu); } /* Highlight color styling */ [data-text-color="gray"] { - color: var(--bn-colors-highlights-gray-text); + color: var(--bn-colors-highlights-gray-text); } [data-text-color="brown"] { - color: var(--bn-colors-highlights-brown-text); + color: var(--bn-colors-highlights-brown-text); } [data-text-color="red"] { - color: var(--bn-colors-highlights-red-text); + color: var(--bn-colors-highlights-red-text); } [data-text-color="orange"] { - color: var(--bn-colors-highlights-orange-text); + color: var(--bn-colors-highlights-orange-text); } [data-text-color="yellow"] { - color: var(--bn-colors-highlights-yellow-text); + color: var(--bn-colors-highlights-yellow-text); } [data-text-color="green"] { - color: var(--bn-colors-highlights-green-text); + color: var(--bn-colors-highlights-green-text); } [data-text-color="blue"] { - color: var(--bn-colors-highlights-blue-text); + color: var(--bn-colors-highlights-blue-text); } [data-text-color="purple"] { - color: var(--bn-colors-highlights-purple-text); + color: var(--bn-colors-highlights-purple-text); } [data-text-color="pink"] { - color: var(--bn-colors-highlights-pink-text); + color: var(--bn-colors-highlights-pink-text); } [data-background-color="gray"] { - background-color: var(--bn-colors-highlights-gray-background); + background-color: var(--bn-colors-highlights-gray-background); } [data-background-color="brown"] { - background-color: var(--bn-colors-highlights-brown-background); + background-color: var(--bn-colors-highlights-brown-background); } [data-background-color="red"] { - background-color: var(--bn-colors-highlights-red-background); + background-color: var(--bn-colors-highlights-red-background); } [data-background-color="orange"] { - background-color: var(--bn-colors-highlights-orange-background); + background-color: var(--bn-colors-highlights-orange-background); } [data-background-color="yellow"] { - background-color: var(--bn-colors-highlights-yellow-background); + background-color: var(--bn-colors-highlights-yellow-background); } [data-background-color="green"] { - background-color: var(--bn-colors-highlights-green-background); + background-color: var(--bn-colors-highlights-green-background); } [data-background-color="blue"] { - background-color: var(--bn-colors-highlights-blue-background); + background-color: var(--bn-colors-highlights-blue-background); } [data-background-color="purple"] { - background-color: var(--bn-colors-highlights-purple-background); + background-color: var(--bn-colors-highlights-purple-background); } [data-background-color="pink"] { - background-color: var(--bn-colors-highlights-pink-background); + background-color: var(--bn-colors-highlights-pink-background); } /* UI element styling */ /* Toolbar styling */ .bn-container .bn-toolbar { - background-color: var(--bn-colors-menu-background); - border: var(--bn-border); - border-radius: var(--bn-border-radius-medium); - box-shadow: var(--bn-shadow-medium); - flex-wrap: nowrap; - gap: 2px; - padding: 2px; - width: fit-content; + background-color: var(--bn-colors-menu-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-medium); + box-shadow: var(--bn-shadow-medium); + flex-wrap: nowrap; + gap: 2px; + padding: 2px; + width: fit-content; } .bn-container .bn-toolbar .mantine-Button-root, .bn-container .bn-toolbar .mantine-ActionIcon-root { - background-color: var(--bn-colors-menu-background); - border: none; - border-radius: var(--bn-border-radius-small); - color: var(--bn-colors-menu-text); + background-color: var(--bn-colors-menu-background); + border: none; + border-radius: var(--bn-border-radius-small); + color: var(--bn-colors-menu-text); } .bn-container .bn-toolbar .mantine-Button-root:hover, .bn-container .bn-toolbar .mantine-ActionIcon-root:hover { - background-color: var(--bn-colors-hovered-background); - border: none; - color: var(--bn-colors-hovered-text); + background-color: var(--bn-colors-hovered-background); + border: none; + color: var(--bn-colors-hovered-text); } .bn-container .bn-toolbar .mantine-Button-root[data-selected], .bn-container .bn-toolbar .mantine-ActionIcon-root[data-selected] { - background-color: var(--bn-colors-selected-background); - border: none; - color: var(--bn-colors-selected-text); + background-color: var(--bn-colors-selected-background); + border: none; + color: var(--bn-colors-selected-text); } .bn-container .bn-toolbar .mantine-Button-root[data-disabled], .bn-container .bn-toolbar .mantine-ActionIcon-root[data-disabled] { - background-color: var(--bn-colors-disabled-background); - border: none; - color: var(--bn-colors-disabled-text); + background-color: var(--bn-colors-disabled-background); + border: none; + color: var(--bn-colors-disabled-text); } .bn-container .bn-toolbar .mantine-Menu-dropdown .mantine-Menu-item { - font-size: 12px; - height: 30px; + font-size: 12px; + height: 30px; } .bn-container .bn-toolbar .mantine-Menu-dropdown .mantine-Menu-item:hover { - background-color: var(--bn-colors-hovered-background); + background-color: var(--bn-colors-hovered-background); } .bn-container .bn-toolbar .bn-embed-image-button { - border: solid var(--bn-colors-border) 1px; - border-radius: var(--bn-border-radius-small); - height: 32px; - width: 60%; + border: solid var(--bn-colors-border) 1px; + border-radius: var(--bn-border-radius-small); + height: 32px; + width: 60%; } .bn-container .bn-toolbar-input-dropdown { - background-color: var(--bn-colors-menu-background); - border: var(--bn-border); - border-radius: var(--bn-border-radius-medium); - box-shadow: var(--bn-shadow-medium); - color: var(--bn-colors-menu-text); - gap: 4px; - min-width: 145px; - padding: 2px; + background-color: var(--bn-colors-menu-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-medium); + box-shadow: var(--bn-shadow-medium); + color: var(--bn-colors-menu-text); + gap: 4px; + min-width: 145px; + padding: 2px; } .bn-container .bn-toolbar-input-dropdown .mantine-Group-root { - flex-wrap: nowrap; + flex-wrap: nowrap; } .bn-container .bn-toolbar-input-dropdown .mantine-TextInput-root, .bn-container .bn-toolbar-input-dropdown .mantine-FileInput-root { - width: 300px; + width: 300px; } .bn-container .bn-toolbar-input-dropdown .mantine-TextInput-wrapper, .bn-container .bn-toolbar-input-dropdown .mantine-FileInput-wrapper { - padding: 0; - border-radius: 4px; + padding: 0; + border-radius: 4px; } .bn-container .bn-toolbar-input-dropdown .mantine-TextInput-wrapper:hover { - background-color: var(--bn-colors-hovered-background); + background-color: var(--bn-colors-hovered-background); } .bn-container .bn-toolbar-input-dropdown .mantine-TextInput-input, .bn-container .bn-toolbar-input-dropdown .mantine-FileInput-input { - border: none; - font-size: 12px; + border: none; + font-size: 12px; } .bn-container .bn-toolbar-input-dropdown .mantine-FileInput-input:hover { - background-color: var(--bn-colors-hovered-background); + background-color: var(--bn-colors-hovered-background); } -.bn-container .bn-toolbar-input-dropdown -.mantine-FileInput-section[data-position="left"] { - color: var(--bn-colors-menu-text); +.bn-container + .bn-toolbar-input-dropdown + .mantine-FileInput-section[data-position="left"] { + color: var(--bn-colors-menu-text); } .bn-container .bn-toolbar-input-dropdown .mantine-FileInput-placeholder { - color: var(--bn-colors-menu-text); + color: var(--bn-colors-menu-text); } .bn-container .bn-image-toolbar { - width: 500px + width: 500px; } .bn-container .bn-image-toolbar .bn-upload-image-panel > div { - align-items: stretch; - display: flex; - flex-direction: column; - gap: 8px; + align-items: stretch; + display: flex; + flex-direction: column; + gap: 8px; } .bn-container -.bn-image-toolbar -.bn-upload-image-panel -> div -> .mantine-Text-root { - text-align: center; + .bn-image-toolbar + .bn-upload-image-panel + > div + > .mantine-Text-root { + text-align: center; } .bn-container .bn-image-toolbar .bn-embed-image-panel > div { - align-items: center; - display: flex; - flex-direction: column; - gap: 8px; - width: 100%; + align-items: center; + display: flex; + flex-direction: column; + gap: 8px; + width: 100%; } -.bn-container .bn-image-toolbar .bn-embed-image-panel > div .mantine-TextInput-root { - width: 100%; +.bn-container + .bn-image-toolbar + .bn-embed-image-panel + > div + .mantine-TextInput-root { + width: 100%; } /* Slash Menu styling*/ .bn-container .bn-slash-menu { - max-height: 100%; - position: relative; + max-height: 100%; + position: relative; } .bn-container .bn-slash-menu .mantine-Menu-item { - height: 52px; + height: 52px; } .bn-container .bn-slash-menu .mantine-Menu-itemSection { - color: var(--bn-colors-tooltip-text); + color: var(--bn-colors-tooltip-text); } .bn-container .bn-slash-menu .mantine-Menu-itemSection[data-position="left"] { - background-color: var(--bn-colors-tooltip-background); - border-radius: var(--bn-border-radius-small); - padding: 8px; + background-color: var(--bn-colors-tooltip-background); + border-radius: var(--bn-border-radius-small); + padding: 8px; } .bn-container .bn-slash-menu .mantine-Menu-itemLabel { - padding-right: 16px; + padding-right: 16px; } .bn-container .bn-slash-menu .mantine-Menu-itemLabel .mantine-Stack-root { - gap: 0; + gap: 0; } /* Side Menu & Drag Handle styling */ .bn-container .bn-side-menu { - background-color: transparent; + background-color: transparent; } .bn-container .bn-side-menu .mantine-UnstyledButton-root { - background-color: transparent; - color: var(--bn-colors-side-menu); + background-color: transparent; + color: var(--bn-colors-side-menu); } .bn-container .bn-side-menu .mantine-UnstyledButton-root:hover { - background-color: var(--bn-colors-hovered-background); + background-color: var(--bn-colors-hovered-background); } .bn-container .bn-drag-handle { - height: 24px; - width: 24px; + height: 24px; + width: 24px; } /* Table Handle styling */ .bn-container .bn-table-handle { - align-items: center; - background-color: var(--bn-colors-menu-background); - border: var(--bn-border); - border-radius: var(--bn-border-radius-small); - box-shadow: var(--bn-shadow-light); - color: var(--bn-colors-side-menu); - cursor: pointer; - display: flex; - justify-content: center; - overflow: visible; + align-items: center; + background-color: var(--bn-colors-menu-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-small); + box-shadow: var(--bn-shadow-light); + color: var(--bn-colors-side-menu); + cursor: pointer; + display: flex; + justify-content: center; + overflow: visible; } .bn-container .bn-table-handle > svg { - margin-inline: -4px; + margin-inline: -4px; } -.bn-container .bn-table-handle:hover, .bn-container .bn-table-handle-dragging { - background-color: var(--bn-colors-hovered-background); +.bn-container .bn-table-handle:hover, +.bn-container .bn-table-handle-dragging { + background-color: var(--bn-colors-hovered-background); } /* Drag Handle & Table Handle Menu styling */ -.bn-container .bn-drag-handle-menu, .bn-container .bn-table-handle-menu { - overflow: visible; +.bn-container .bn-drag-handle-menu, +.bn-container .bn-table-handle-menu { + overflow: visible; } .bn-container .bn-drag-handle-menu .mantine-Menu-item, .bn-container .bn-table-handle-menu .mantine-Menu-item { - color: var(--bn-colors-menu-text); - font-size: 12px; - height: 30px; + color: var(--bn-colors-menu-text); + font-size: 12px; + height: 30px; } /* Tooltip styling */ .bn-container .bn-tooltip { - background-color: var(--bn-colors-tooltip-background); - border: var(--bn-border); - border-radius: var(--bn-border-radius-medium); - box-shadow: var(--bn-shadow-medium); - color: var(--bn-colors-tooltip-text); - padding: 4px 10px; - text-align: center; + background-color: var(--bn-colors-tooltip-background); + border: var(--bn-border); + border-radius: var(--bn-border-radius-medium); + box-shadow: var(--bn-shadow-medium); + color: var(--bn-colors-tooltip-text); + padding: 4px 10px; + text-align: center; } /* Color Icon styling */ .bn-container .bn-color-icon { - align-items: center; - border: var(--bn-border); - border-radius: var(--bn-border-radius-small); - display: flex; - justify-content: center; + align-items: center; + border: var(--bn-border); + border-radius: var(--bn-border-radius-small); + display: flex; + justify-content: center; } /* Tick styling */ .bn-container .bn-tick-icon { - padding-left: 8px; + padding-left: 8px; } .bn-container .bn-tick-space { - padding: 0; - width: 20px; + padding: 0; + width: 20px; } From e7c653b321d1ad10f692ca066ef1e31836a57f69 Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Wed, 24 Jan 2024 15:30:23 +0100 Subject: [PATCH 4/6] Added editor options to customize placeholders via CSS --- packages/core/src/editor/Block.css | 21 +--- packages/core/src/editor/BlockNoteEditor.ts | 20 ++- .../core/src/editor/BlockNoteExtensions.ts | 15 +-- .../Placeholder/PlaceholderExtension.ts | 119 +++++++++++++----- packages/react/src/editor/styles.css | 5 + 5 files changed, 111 insertions(+), 69 deletions(-) diff --git a/packages/core/src/editor/Block.css b/packages/core/src/editor/Block.css index 92d92e74f..6017adeac 100644 --- a/packages/core/src/editor/Block.css +++ b/packages/core/src/editor/Block.css @@ -301,31 +301,14 @@ NESTED BLOCKS } /* PLACEHOLDERS*/ - -.bn-block-content[data-is-empty-and-focused] - .bn-inline-content:has(> .ProseMirror-trailingBreak):before { - /*float: left; */ - pointer-events: none; - height: 0; - /* width: 0; */ - position: absolute; - font-style: italic; - - content: "empty and focused"; /* TODO: make customizable */ - - color: var(--bn-colors-side-menu); /* TODO: should this be here? */ -} - -.bn-block-content .bn-inline-content:has(> .ProseMirror-trailingBreak):before { +/* TODO: Move to extension? */ +.bn-inline-content:has(> .ProseMirror-trailingBreak):before { /*float: left; */ pointer-events: none; height: 0; /* width: 0; */ position: absolute; font-style: italic; - - content: "empty"; /* TODO: make customizable */ - color: var(--bn-colors-side-menu); /* TODO: should this be here? */ } /* TODO: should this be here? */ diff --git a/packages/core/src/editor/BlockNoteEditor.ts b/packages/core/src/editor/BlockNoteEditor.ts index 5992954b6..53ec54eb7 100644 --- a/packages/core/src/editor/BlockNoteEditor.ts +++ b/packages/core/src/editor/BlockNoteEditor.ts @@ -78,18 +78,14 @@ export type BlockNoteEditorOptions< // TODO: Figure out if enableBlockNoteExtensions/disableHistoryExtension are needed and document them. enableBlockNoteExtensions: boolean; - /** - * Determines if/what placeholder should be rendered for a given block. - * @param block The block to render a placeholder for. - * @param containsCursor Whether the text cursor is inside the block. - * @param isFilter Whether the block was created using the add block button. - * @return The placeholder string, or `undefined` if one should not be rendered. - */ - placeholder: ( - block: Block, - containsCursor: boolean, - isFilter: boolean - ) => string | undefined; + placeholder: Record< + string | "default" | "addBlock", + | string + | { + placeholder: string; + mustBeFocused: boolean; + } + >; /** * diff --git a/packages/core/src/editor/BlockNoteExtensions.ts b/packages/core/src/editor/BlockNoteExtensions.ts index 2d2477cd1..186bcfe3a 100644 --- a/packages/core/src/editor/BlockNoteExtensions.ts +++ b/packages/core/src/editor/BlockNoteExtensions.ts @@ -21,7 +21,6 @@ import { TrailingNode } from "../extensions/TrailingNode/TrailingNodeExtension"; import UniqueID from "../extensions/UniqueID/UniqueID"; import { BlockContainer, BlockGroup, Doc } from "../pm-nodes"; import { - Block, BlockNoteDOMAttributes, BlockSchema, BlockSpecs, @@ -40,11 +39,14 @@ export const getBlockNoteExtensions = < S extends StyleSchema >(opts: { editor: BlockNoteEditor; - placeholder?: ( - block: Block, - containsCursor: boolean, - isFilter: boolean - ) => string | undefined; + placeholder?: Record< + string | "default" | "addBlock", + | string + | { + placeholder: string; + mustBeFocused: boolean; + } + >; domAttributes: Partial; blockSchema: BSchema; blockSpecs: BlockSpecs; @@ -72,7 +74,6 @@ export const getBlockNoteExtensions = < // DropCursor, Placeholder.configure({ - editor: opts.editor, // TODO: This shorthand is kind of ugly ...(opts.placeholder !== undefined ? { placeholder: opts.placeholder } diff --git a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts index a7ce39b45..21116d500 100644 --- a/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts +++ b/packages/core/src/extensions/Placeholder/PlaceholderExtension.ts @@ -1,8 +1,6 @@ import { Extension } from "@tiptap/core"; import { Plugin, PluginKey } from "prosemirror-state"; import { Decoration, DecorationSet } from "prosemirror-view"; -import type { BlockNoteEditor } from "../../editor/BlockNoteEditor"; -import { Block } from "../../schema"; import { slashMenuPluginKey } from "../SlashMenu/SlashMenuPlugin"; const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`); @@ -15,12 +13,14 @@ const PLUGIN_KEY = new PluginKey(`blocknote-placeholder`); * */ export interface PlaceholderOptions { - editor: BlockNoteEditor | undefined; - placeholder: ( - block: Block, - containsCursor: boolean, - isFilter: boolean - ) => string | undefined; + placeholder: Record< + string | "default" | "addBlock", + | string + | { + placeholder: string; + mustBeFocused: boolean; + } + >; } export const Placeholder = Extension.create({ @@ -28,33 +28,85 @@ export const Placeholder = Extension.create({ addOptions() { return { - editor: undefined, - placeholder: (block, containsCursor, isFilter) => { - if (block.type === "heading") { - return "Heading"; - } - - if ( - block.type === "bulletListItem" || - block.type === "numberedListItem" - ) { - return "List"; - } - - if (isFilter) { - return "Type to filter"; - } - - if (containsCursor) { - return 'Enter text or type "/" for commands'; - } - - return undefined; + placeholder: { + default: "Enter text or type '/' for commands", + addBlock: "Type to filter", + heading: { + placeholder: "Heading", + mustBeFocused: false, + }, + bulletListItem: { + placeholder: "List", + mustBeFocused: false, + }, + numberedListItem: { + placeholder: "List", + mustBeFocused: false, + }, }, }; }, addProseMirrorPlugins() { + const styleEl = document.createElement("style"); + + // Append