UNPKG

last-draft-js-plugins

Version:
68 lines (51 loc) 2.27 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.Embed = undefined; var _draftJs = require('draft-js'); var _decorateComponentWithProps = require('decorate-component-with-props'); var _decorateComponentWithProps2 = _interopRequireDefault(_decorateComponentWithProps); var _addEmbed = require('./modifiers/addEmbed'); var _addEmbed2 = _interopRequireDefault(_addEmbed); var _embed = require('./embed'); var _embed2 = _interopRequireDefault(_embed); var _embedStyles = { "embed": "draftJsEmbedPlugin__embed__DJdZR", "embedWrapper": "draftJsEmbedPlugin__embedWrapper__1GiCv", }; var _embedStyles2 = _interopRequireDefault(_embedStyles); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var defaultTheme = { embedStyles: _embedStyles2.default }; /* * Copyright (c) 2016, Globo.com (https://github.com/globocom) * Copyright (c) 2016, vace.nz (https://github.com/vacenz) * Copyright (c) 2016, Nik Graf (https://www.draft-js-plugins.com) * * License: MIT */ exports.default = function () { var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var theme = config.theme ? config.theme : defaultTheme; var Embed = config.EmbedComponent || _embed2.default; if (config.decorator) { Embed = config.decorator(Embed); } var ThemedEmbed = (0, _decorateComponentWithProps2.default)(Embed, { theme: theme }); return { blockRendererFn: function blockRendererFn(block) { if (block.getType() === 'atomic') { var entity = _draftJs.Entity.get(block.getEntityAt(0)); var type = entity.getType(); if (type === 'embed') { return { component: ThemedEmbed, editable: false }; } } return null; }, addEmbed: _addEmbed2.default }; }; var Embed = exports.Embed = _embed2.default;