react-email-builder
Version:
A simple React drag and drop email builder.
42 lines (41 loc) • 1.7 kB
JavaScript
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.imageBlock = void 0;
const react_1 = __importDefault(require("react"));
const Icon_1 = require("../../components/Icon");
const ImageBlock_1 = require("./ImageBlock");
const ImageBlockEditor_1 = require("./ImageBlockEditor");
const mjml_1 = require("../../utils/mjml");
const utils_1 = require("../../utils");
function imageBlock() {
return {
type: 'image',
name: 'Image',
icon: react_1.default.createElement(Icon_1.Icon, { name: 'image' }),
createBlock: (base) => {
const block = base;
block.attrs = { width: 580, align: 'center' };
return block;
},
blockComponent: ImageBlock_1.ImageBlock,
editorComponent: ImageBlockEditor_1.ImageBlockEditor,
renderMJML: (block) => {
const { attrs } = block;
const fillParent = attrs.full !== 'no';
return (0, mjml_1.renderTag)('mj-image', {
attrs: (0, mjml_1.createBlockAttrs)(block, {
['fluid-on-mobile']: fillParent ? 'true' : null,
src: attrs.src ? (0, utils_1.normalizeUrl)(attrs.src) : null,
align: attrs.align || 'center',
width: fillParent ? null : (attrs.width || 0) + 'px',
href: attrs.href ? (0, utils_1.normalizeUrl)(attrs.href) : null,
alt: attrs.alt || null
})
});
}
};
}
exports.imageBlock = imageBlock;
;