UNPKG

@atlaskit/editor-plugin-extension

Version:

editor-plugin-extension plugin for @atlaskit/editor-core

35 lines (34 loc) • 1.45 kB
import { getBreakoutWidth } from '@atlaskit/editor-common/extensibility/get-breakout-width'; import { akEditorCalculatedWideLayoutWidth, akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles/constants'; var extensionPresetWidths = { default: akEditorDefaultLayoutWidth, wide: akEditorCalculatedWideLayoutWidth, 'full-width': akEditorFullWidthLayoutWidth }; export var getExtensionPresetWidth = function getExtensionPresetWidth(layout) { return extensionPresetWidths[layout]; }; /** * getExtensionLayout tries to match the breakout mark's width (if any) to an extension layout preset. * @returns the layout preset if the breakout width matches, null if there is no match, or * the node's layout attribute if there is no breakout width. */ export var getExtensionLayout = function getExtensionLayout(node) { var _node$attrs$layout = node.attrs.layout, layout = _node$attrs$layout === void 0 ? 'default' : _node$attrs$layout; var breakoutWidth = getBreakoutWidth(node.marks); if (breakoutWidth !== undefined) { if (breakoutWidth === extensionPresetWidths.default) { return 'default'; } if (breakoutWidth === extensionPresetWidths.wide) { return 'wide'; } if (breakoutWidth === extensionPresetWidths['full-width']) { return 'full-width'; } return null; } // if there is no breakout width, return the node's layout attribute return layout; };