UNPKG

redraft

Version:

Renders the result of Draft.js convertToRaw using provided callbacks, works well with React

35 lines (32 loc) 1.12 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); /** * Returns a single style object provided styleArray and stylesMap */ var reduceStyles = function reduceStyles(styleArray, stylesMap) { return styleArray.map(function (style) { return stylesMap[style]; }).reduce(function (prev, next) { var mergedStyles = {}; if (next !== undefined) { var key = 'text-decoration' in next ? 'text-decoration' : 'textDecoration'; if (next[key] !== prev[key]) { // .trim() is necessary for IE9/10/11 and Edge mergedStyles[key] = [prev[key], next[key]].join(' ').trim(); } } return Object.assign(prev, next, mergedStyles); }, {}); }; /** * Returns a styleRenderer from a customStyleMap and a wrapper callback (Component) */ var createStyleRenderer = function createStyleRenderer(wrapper, stylesMap) { return function (children, styleArray, params) { var style = reduceStyles(styleArray, stylesMap); return wrapper(Object.assign({}, { children: children }, params, { style: style })); }; }; exports.default = createStyleRenderer;