UNPKG

@atlaskit/adf-schema

Version:

Shared package that contains the ADF-schema (json) and ProseMirror node/mark specs

48 lines (46 loc) 1.43 kB
import { placeholder as placeholderFactory } from '../../next-schema/generated/nodeTypes'; import { uuid } from '../../utils/uuid'; /** * @name placeholder_node */ export var placeholder = placeholderFactory({ parseDOM: [{ tag: 'span[data-placeholder]', getAttrs: function getAttrs(dom) { return { text: dom.getAttribute('data-placeholder') || placeholder.attrs.text.default }; } }], toDOM: function toDOM(node) { var text = node.attrs.text; var attrs = { 'data-placeholder': text, // Needs to be edtiable for mobile to not close keyboard contenteditable: 'true' }; return ['span', attrs, text]; } }); export var placeholderWithLocalId = placeholderFactory({ parseDOM: [{ tag: 'span[data-placeholder]', getAttrs: function getAttrs(dom) { return { text: dom.getAttribute('data-placeholder') || placeholder.attrs.text.default, localId: uuid.generate() }; } }], toDOM: function toDOM(node) { var _node$attrs; var text = node.attrs.text; var attrs = { 'data-placeholder': text, // Needs to be edtiable for mobile to not close keyboard contenteditable: 'true', 'data-local-id': (node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) || undefined }; return ['span', attrs, text]; } });