Make mermaid toolbar invisible in preview mode

Signed-off-by: Émile Ré <emile@getprobo.com>
This commit is contained in:
Émile Ré
2026-04-01 16:56:13 +04:00
parent 9bbcba68c0
commit 84adb5409d
2 changed files with 16 additions and 3 deletions

View File

@@ -95,7 +95,7 @@ function MermaidBlock({ node }: { node: ReactNodeViewProps["node"] }) {
return ( return (
<NodeViewWrapper> <NodeViewWrapper>
<div className="mermaid-block"> <div className={`mermaid-block ${mode === "code" ? "editing" : ""}`}>
<div className="mermaid-toolbar"> <div className="mermaid-toolbar">
<button <button
type="button" type="button"

View File

@@ -97,7 +97,16 @@
} }
.mermaid-block { .mermaid-block {
@apply my-4 border border-border-mid rounded-lg overflow-hidden; @apply my-4 rounded-lg relative
border border-transparent transition-colors;
&:hover, &.editing {
@apply border-border-mid;
}
&:not(.editing) {
caret-color: transparent;
}
pre { pre {
@apply my-0 rounded-none border-none; @apply my-0 rounded-none border-none;
@@ -105,7 +114,11 @@
} }
.mermaid-toolbar { .mermaid-toolbar {
@apply flex gap-1 px-2 py-1.5 bg-subtle border-b border-border-mid; @apply flex gap-1 p-1.5 absolute top-0 right-0 z-10 opacity-0 pointer-events-none transition-opacity;
.mermaid-block:hover &, .mermaid-block.editing & {
@apply opacity-100 pointer-events-auto;
}
} }
.mermaid-toolbar-btn { .mermaid-toolbar-btn {