Skip to content

Instantly share code, notes, and snippets.

@reza-ebrahimi
Forked from amk221/placeholder.css
Created April 9, 2023 09:39
Show Gist options
  • Save reza-ebrahimi/9d11904e3df64dcd1fb13c1db10e1d56 to your computer and use it in GitHub Desktop.
Save reza-ebrahimi/9d11904e3df64dcd1fb13c1db10e1d56 to your computer and use it in GitHub Desktop.
Prosemirror placeholder plugin approach
.ProseMirror[data-placeholder]::before {
color: global.$placeholder-colour;
position: absolute;
content: attr(data-placeholder);
pointer-events: none;
}
import { Plugin } from 'prosemirror-state';
export default function placeholder(text) {
const update = (view) => {
if (view.state.doc.textContent) {
view.dom.removeAttribute('data-placeholder');
} else {
view.dom.setAttribute('data-placeholder', text);
}
};
return new Plugin({
view(view) {
update(view);
return { update };
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment