UNPKG

phx-react

Version:

PHX REACT

58 lines 1.81 kB
import { addClassNamesToElement } from '@lexical/utils'; import { ElementNode } from 'lexical'; export class LayoutContainerNode extends ElementNode { constructor(templateColumns, key) { super(key); this.__templateColumns = templateColumns; } static getType() { return 'layout-container'; } static clone(node) { return new LayoutContainerNode(node.__templateColumns, node.__key); } createDOM(config) { const dom = document.createElement('div'); dom.style.gridTemplateColumns = this.__templateColumns; if (typeof config.theme.layoutContainer === 'string') { addClassNamesToElement(dom, config.theme.layoutContainer); } return dom; } updateDOM(prevNode, dom) { if (prevNode.__templateColumns !== this.__templateColumns) { dom.style.gridTemplateColumns = this.__templateColumns; } return false; } static importDOM() { return {}; } static importJSON(json) { return $createLayoutContainerNode(json.templateColumns); } canBeEmpty() { return false; } exportJSON() { return { ...super.exportJSON(), templateColumns: this.__templateColumns, type: 'layout-container', version: 1, }; } getTemplateColumns() { return this.getLatest().__templateColumns; } setTemplateColumns(templateColumns) { this.getWritable().__templateColumns = templateColumns; } } export function $createLayoutContainerNode(templateColumns) { return new LayoutContainerNode(templateColumns); } export function $isLayoutContainerNode(node) { return node instanceof LayoutContainerNode; } //# sourceMappingURL=LayoutContainerNode.js.map