UNPKG

@atlaskit/adf-schema

Version:

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

88 lines (84 loc) 3.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.layoutColumnWithLocalId = exports.layoutColumn = void 0; var _nodeTypes = require("../../next-schema/generated/nodeTypes"); var _uuid = require("../../utils/uuid"); var _experiments = require("@atlaskit/tmp-editor-statsig/experiments"); /** * @name layoutColumn_node */ var layoutColumn = exports.layoutColumn = (0, _nodeTypes.layoutColumn)({ parseDOM: [{ context: 'layoutColumn//', tag: 'div[data-layout-column]', skip: true }, { tag: 'div[data-layout-column]', getAttrs: function getAttrs(domNode) { // eslint-disable-next-line @atlaskit/editor/no-as-casting var dom = domNode; return { width: Number(dom.getAttribute('data-column-width')) || undefined }; } }], toDOM: function toDOM(node) { var attrs = { 'data-layout-column': 'true' }; var width = node.attrs.width; if (width) { var baseStyle = "flex-basis: ".concat(width, "%"); var columnWidthVar = (0, _experiments.editorExperiment)('platform_editor_layout_column_resize_handle', true) ? "; --column-width: ".concat(width, "%") : ''; attrs['style'] = baseStyle + columnWidthVar; attrs['data-column-width'] = "".concat(width); } // We need to apply a attribute to the inner most child to help // ProseMirror identify its boundaries better. var contentAttrs = { 'data-layout-content': 'true' }; return ['div', attrs, ['div', contentAttrs, 0]]; } }); var layoutColumnWithLocalId = exports.layoutColumnWithLocalId = (0, _nodeTypes.layoutColumn)({ parseDOM: [{ context: 'layoutColumn//', tag: 'div[data-layout-column]', skip: true }, { tag: 'div[data-layout-column]', getAttrs: function getAttrs(domNode) { // eslint-disable-next-line @atlaskit/editor/no-as-casting var dom = domNode; return { width: Number(dom.getAttribute('data-column-width')) || undefined, localId: _uuid.uuid.generate() }; } }], toDOM: function toDOM(node) { var _node$attrs; var attrs = { 'data-layout-column': 'true' }; if ((node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : _node$attrs.localId) !== undefined) { attrs['data-local-id'] = node.attrs.localId; } var width = node.attrs.width; if (width) { var baseStyle = "flex-basis: ".concat(width, "%"); var columnWidthVar = (0, _experiments.editorExperiment)('platform_editor_layout_column_resize_handle', true) ? "; --column-width: ".concat(width, "%") : ''; attrs['style'] = baseStyle + columnWidthVar; attrs['data-column-width'] = "".concat(width); } // We need to apply a attribute to the inner most child to help // ProseMirror identify its boundaries better. var contentAttrs = { 'data-layout-content': 'true' }; return ['div', attrs, ['div', contentAttrs, 0]]; } });