diff --git a/dist/grapesjs-mjml.min.js b/dist/grapesjs-mjml.min.js
index 27e94b2..bdc9b59 100644
--- a/dist/grapesjs-mjml.min.js
+++ b/dist/grapesjs-mjml.min.js
@@ -1,3010 +1,2 @@
-/*! grapesjs-mjml - 0.1.3 */
-!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["grapesjs-mjml"]=n():e["grapesjs-mjml"]=n()}("undefined"!=typeof self?self:this,function(){return function(e){function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}var t={};return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n(n.s=1)}([function(module,exports,__webpack_require__){!function(e,n){module.exports=n()}(window,function(){return function(e){function n(r){if(t[r])return t[r].exports;var a=t[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,n),a.l=!0,a.exports}var t={};return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var a in e)n.d(r,a,function(n){return e[n]}.bind(null,a));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="",n(n.s=0)}({"./index.js":/*!******************!*\
- !*** ./index.js ***!
- \******************/
-/*! exports provided: defaultSkeleton, components, dependencies, registerDependencies, registerComponent, BodyComponent, HeadComponent, default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ "./mjml/packages/mjml-core/src/index.js");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return mjml_core__WEBPACK_IMPORTED_MODULE_0__["components"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerComponent", function() { return mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "BodyComponent", function() { return mjml_core__WEBPACK_IMPORTED_MODULE_0__["BodyComponent"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "HeadComponent", function() { return mjml_core__WEBPACK_IMPORTED_MODULE_0__["HeadComponent"]; });\n\n/* harmony import */ var mjml_validator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mjml-validator */ "./mjml/packages/mjml-validator/src/index.js");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "dependencies", function() { return mjml_validator__WEBPACK_IMPORTED_MODULE_1__["dependencies"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerDependencies", function() { return mjml_validator__WEBPACK_IMPORTED_MODULE_1__["registerDependencies"]; });\n\n/* harmony import */ var mjml_core_helpers_skeleton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mjml-core/helpers/skeleton */ "./mjml/packages/mjml-core/src/helpers/skeleton.js");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "defaultSkeleton", function() { return mjml_core_helpers_skeleton__WEBPACK_IMPORTED_MODULE_2__["default"]; });\n\n/* harmony import */ var mjml_social__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mjml-social */ "./mjml/packages/mjml-social/src/index.js");\n/* harmony import */ var mjml_navbar__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! mjml-navbar */ "./mjml/packages/mjml-navbar/src/index.js");\n/* harmony import */ var mjml_carousel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! mjml-carousel */ "./mjml/packages/mjml-carousel/src/index.js");\n/* harmony import */ var mjml_accordion__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! mjml-accordion */ "./mjml/packages/mjml-accordion/src/index.js");\n\n\n\n\n\n\n\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-body */ "./mjml/packages/mjml-body/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head */ "./mjml/packages/mjml-head/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-attributes */ "./mjml/packages/mjml-head-attributes/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-breakpoint */ "./mjml/packages/mjml-head-breakpoint/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-font */ "./mjml/packages/mjml-head-font/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-preview */ "./mjml/packages/mjml-head-preview/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-style */ "./mjml/packages/mjml-head-style/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-head-title */ "./mjml/packages/mjml-head-title/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-hero */ "./mjml/packages/mjml-hero/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-button */ "./mjml/packages/mjml-button/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-column */ "./mjml/packages/mjml-column/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-divider */ "./mjml/packages/mjml-divider/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-group */ "./mjml/packages/mjml-group/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-image */ "./mjml/packages/mjml-image/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-raw */ "./mjml/packages/mjml-raw/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-section */ "./mjml/packages/mjml-section/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-spacer */ "./mjml/packages/mjml-spacer/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-text */ "./mjml/packages/mjml-text/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-table */ "./mjml/packages/mjml-table/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(__webpack_require__(/*! mjml-wrapper */ "./mjml/packages/mjml-wrapper/src/index.js").default);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_social__WEBPACK_IMPORTED_MODULE_3__["Social"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_social__WEBPACK_IMPORTED_MODULE_3__["SocialElement"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_navbar__WEBPACK_IMPORTED_MODULE_4__["Navbar"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_navbar__WEBPACK_IMPORTED_MODULE_4__["NavbarLink"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_accordion__WEBPACK_IMPORTED_MODULE_6__["Accordion"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_accordion__WEBPACK_IMPORTED_MODULE_6__["AccordionElement"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_accordion__WEBPACK_IMPORTED_MODULE_6__["AccordionText"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_accordion__WEBPACK_IMPORTED_MODULE_6__["AccordionTitle"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_carousel__WEBPACK_IMPORTED_MODULE_5__["Carousel"]);\nObject(mjml_core__WEBPACK_IMPORTED_MODULE_0__["registerComponent"])(mjml_carousel__WEBPACK_IMPORTED_MODULE_5__["CarouselImage"]);\nObject(mjml_validator__WEBPACK_IMPORTED_MODULE_1__["registerDependencies"])(__webpack_require__(/*! ./mjml/packages/mjml/src/dependencies */ "./mjml/packages/mjml/src/dependencies.js").default);\n\n/* harmony default export */ __webpack_exports__["default"] = (mjml_core__WEBPACK_IMPORTED_MODULE_0__["default"]);\n\n//# sourceURL=webpack://mjml/./index.js?')},"./mjml/packages/mjml-accordion/src/Accordion.js":/*!*******************************************************!*\
- !*** ./mjml/packages/mjml-accordion/src/Accordion.js ***!
- \*******************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjAccordion; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\nclass MjAccordion extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"BodyComponent\"] {\n constructor() {\n super(...arguments);\n\n this.headStyle = () => `\n noinput.mj-accordion-checkbox { display:block!important; }\n\n @media yahoo, only screen and (min-width:0) {\n .mj-accordion-element { display:block; }\n input.mj-accordion-checkbox, .mj-accordion-less { display:none!important; }\n input.mj-accordion-checkbox + * .mj-accordion-title { cursor:pointer; touch-action:manipulation; -webkit-user-select:none; -moz-user-select:none; user-select:none; }\n input.mj-accordion-checkbox + * .mj-accordion-content { overflow:hidden; display:none; }\n input.mj-accordion-checkbox + * .mj-accordion-more { display:block!important; }\n input.mj-accordion-checkbox:checked + * .mj-accordion-content { display:block; }\n input.mj-accordion-checkbox:checked + * .mj-accordion-more { display:none!important; }\n input.mj-accordion-checkbox:checked + * .mj-accordion-less { display:block!important; }\n }\n\n @goodbye { @gmail }\n `;\n }\n\n getStyles() {\n return {\n table: {\n width: '100%',\n 'border-collapse': 'collapse',\n border: this.getAttribute('border'),\n 'border-bottom': 'none',\n 'font-family': this.getAttribute('font-family')\n }\n };\n }\n\n render() {\n var childrenAttr = ['border', 'icon-align', 'icon-width', 'icon-height', 'icon-position', 'icon-wrapped-url', 'icon-wrapped-alt', 'icon-unwrapped-url', 'icon-unwrapped-alt'].reduce((res, val) => _objectSpread({}, res, {\n [val]: this.getAttribute(val)\n }), {});\n return `\n
\n ${this.hasGutter() ? this.renderGutter() : this.renderColumn()}\n
\n `;\n }\n\n}\nMjColumn.allowedAttributes = {\n 'background-color': 'color',\n border: 'string',\n 'border-bottom': 'string',\n 'border-left': 'string',\n 'border-radius': 'unit(px,%)',\n 'border-right': 'string',\n 'border-top': 'string',\n direction: 'enum(ltr,rtl)',\n 'padding-bottom': 'unit(px,%)',\n 'padding-left': 'unit(px,%)',\n 'padding-right': 'unit(px,%)',\n 'padding-top': 'unit(px,%)',\n padding: 'unit(px,%){1,4}',\n 'vertical-align': 'enum(top,bottom,middle)',\n width: 'unit(px,%)'\n};\nMjColumn.defaultAttributes = {\n direction: 'ltr',\n 'vertical-align': 'top'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-column/src/index.js?")},"./mjml/packages/mjml-core/src sync recursive":/*!******************************************!*\
- !*** ./mjml/packages/mjml-core/src sync ***!
- \******************************************/
-/*! no static exports found */
-function(module,exports){eval('function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module \'" + req + "\'");\n\te.code = \'MODULE_NOT_FOUND\';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = "./mjml/packages/mjml-core/src sync recursive";\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-core/src_sync?')},"./mjml/packages/mjml-core/src/components.js":/*!***************************************************!*\
- !*** ./mjml/packages/mjml-core/src/components.js ***!
- \***************************************************/
-/*! exports provided: registerComponent, initComponent, default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerComponent", function() { return registerComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initComponent", function() { return initComponent; });\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/kebabCase */ "./node_modules/lodash/kebabCase.js");\n/* harmony import */ var lodash_kebabCase__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_kebabCase__WEBPACK_IMPORTED_MODULE_0__);\n\nvar components = {};\nfunction registerComponent(Component) {\n components[lodash_kebabCase__WEBPACK_IMPORTED_MODULE_0___default()(Component.name)] = Component;\n}\nfunction initComponent(_ref) {\n var initialDatas = _ref.initialDatas,\n name = _ref.name;\n var Component = components[name];\n\n if (Component) {\n var component = new Component(initialDatas);\n\n if (component.headStyle) {\n component.context.addHeadSyle(name, component.headStyle);\n }\n\n if (component.componentHeadStyle) {\n component.context.addComponentHeadSyle(component.componentHeadStyle);\n }\n\n return component;\n }\n\n return null;\n}\n/* harmony default export */ __webpack_exports__["default"] = (components);\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-core/src/components.js?')},"./mjml/packages/mjml-core/src/createComponent.js":/*!********************************************************!*\
- !*** ./mjml/packages/mjml-core/src/createComponent.js ***!
- \********************************************************/
-/*! exports provided: BodyComponent, HeadComponent */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "BodyComponent", function() { return BodyComponent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "HeadComponent", function() { return HeadComponent; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mjml_parser_xml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mjml-parser-xml */ "./mjml/packages/mjml-parser-xml/src/index.js");\n/* harmony import */ var _helpers_shorthandParser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers/shorthandParser */ "./mjml/packages/mjml-core/src/helpers/shorthandParser.js");\n/* harmony import */ var _helpers_formatAttributes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./helpers/formatAttributes */ "./mjml/packages/mjml-core/src/helpers/formatAttributes.js");\n/* harmony import */ var _helpers_jsonToXML__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./helpers/jsonToXML */ "./mjml/packages/mjml-core/src/helpers/jsonToXML.js");\n/* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./components */ "./mjml/packages/mjml-core/src/components.js");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === \'function\') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\nclass Component {\n static getTagName() {\n return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["kebabCase"])(this.name);\n }\n\n static isRawElement() {\n return !!this.rawElement;\n }\n\n constructor() {\n var initialDatas = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _initialDatas$attribu = initialDatas.attributes,\n attributes = _initialDatas$attribu === void 0 ? {} : _initialDatas$attribu,\n _initialDatas$childre = initialDatas.children,\n children = _initialDatas$childre === void 0 ? [] : _initialDatas$childre,\n _initialDatas$content = initialDatas.content,\n content = _initialDatas$content === void 0 ? \'\' : _initialDatas$content,\n _initialDatas$context = initialDatas.context,\n context = _initialDatas$context === void 0 ? {} : _initialDatas$context,\n _initialDatas$props = initialDatas.props,\n props = _initialDatas$props === void 0 ? {} : _initialDatas$props,\n _initialDatas$globalA = initialDatas.globalAttributes,\n globalAttributes = _initialDatas$globalA === void 0 ? {} : _initialDatas$globalA;\n this.props = _objectSpread({}, props, {\n children,\n content\n });\n this.attributes = Object(_helpers_formatAttributes__WEBPACK_IMPORTED_MODULE_3__["default"])(_objectSpread({}, this.constructor.defaultAttributes, globalAttributes, attributes), this.constructor.allowedAttributes);\n this.context = context;\n return this;\n }\n\n getChildContext() {\n return this.context;\n }\n\n getAttribute(name) {\n return this.attributes[name];\n }\n\n getContent() {\n return this.props.content.trim();\n }\n\n renderMJML(mjml) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (typeof mjml === \'string\') {\n mjml = Object(mjml_parser_xml__WEBPACK_IMPORTED_MODULE_1__["default"])(mjml, _objectSpread({}, options, {\n components: _components__WEBPACK_IMPORTED_MODULE_5__["default"],\n ignoreIncludes: true\n }));\n }\n\n return this.context.processing(mjml, this.context);\n }\n\n}\n\nComponent.defaultAttributes = {};\nclass BodyComponent extends Component {\n // eslint-disable-next-line class-methods-use-this\n getStyles() {\n return {};\n }\n\n getShorthandAttrValue(attribute, direction) {\n var mjAttributeDirection = this.getAttribute(`${attribute}-${direction}`);\n var mjAttribute = this.getAttribute(attribute);\n\n if (mjAttributeDirection) {\n return parseInt(mjAttributeDirection, 10);\n }\n\n if (!mjAttribute) {\n return 0;\n }\n\n return Object(_helpers_shorthandParser__WEBPACK_IMPORTED_MODULE_2__["default"])(mjAttribute, direction);\n }\n\n getShorthandBorderValue(direction) {\n var borderDirection = direction && this.getAttribute(`border-${direction}`);\n var border = this.getAttribute(\'border\');\n return Object(_helpers_shorthandParser__WEBPACK_IMPORTED_MODULE_2__["borderParser"])(borderDirection || border || \'0\', 10);\n }\n\n getBoxWidths() {\n var containerWidth = this.context.containerWidth;\n var parsedWidth = parseInt(containerWidth, 10);\n var paddings = this.getShorthandAttrValue(\'padding\', \'right\') + this.getShorthandAttrValue(\'padding\', \'left\');\n var borders = this.getShorthandBorderValue(\'right\') + this.getShorthandBorderValue(\'left\');\n return {\n totalWidth: parsedWidth,\n borders,\n paddings,\n box: parsedWidth - paddings - borders\n };\n }\n\n htmlAttributes(attributes) {\n var specialAttributes = {\n style: v => this.styles(v),\n default: lodash__WEBPACK_IMPORTED_MODULE_0__["identity"]\n };\n return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["reduce"])(attributes, (output, v, name) => {\n var value = (specialAttributes[name] || specialAttributes.default)(v);\n\n if (!Object(lodash__WEBPACK_IMPORTED_MODULE_0__["isNil"])(value)) {\n return `${output} ${name}="${value}"`;\n }\n\n return output;\n }, \'\');\n }\n\n styles(styles) {\n var stylesObject;\n\n if (styles) {\n if (typeof styles === \'string\') {\n stylesObject = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["get"])(this.getStyles(), styles);\n } else {\n stylesObject = styles;\n }\n }\n\n return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["reduce"])(stylesObject, (output, value, name) => {\n if (!Object(lodash__WEBPACK_IMPORTED_MODULE_0__["isNil"])(value)) {\n return `${output}${name}:${value};`;\n }\n\n return output;\n }, \'\');\n }\n\n renderChildren(childrens) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$props = options.props,\n props = _options$props === void 0 ? {} : _options$props,\n _options$renderer = options.renderer,\n renderer = _options$renderer === void 0 ? component => component.render() : _options$renderer,\n _options$attributes = options.attributes,\n attributes = _options$attributes === void 0 ? {} : _options$attributes,\n _options$rawXML = options.rawXML,\n rawXML = _options$rawXML === void 0 ? false : _options$rawXML;\n childrens = childrens || this.props.children;\n\n if (rawXML) {\n return childrens.map(child => Object(_helpers_jsonToXML__WEBPACK_IMPORTED_MODULE_4__["default"])(child)).join(\'\\n\');\n }\n\n var sibling = childrens.length;\n var rawComponents = Object(lodash__WEBPACK_IMPORTED_MODULE_0__["filter"])(_components__WEBPACK_IMPORTED_MODULE_5__["default"], c => c.isRawElement());\n var nonRawSiblings = childrens.filter(child => !Object(lodash__WEBPACK_IMPORTED_MODULE_0__["find"])(rawComponents, c => c.getTagName() === child.tagName)).length;\n var output = \'\';\n var index = 0;\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__["forEach"])(childrens, children => {\n var component = Object(_components__WEBPACK_IMPORTED_MODULE_5__["initComponent"])({\n name: children.tagName,\n initialDatas: _objectSpread({}, children, {\n attributes: _objectSpread({}, attributes, children.attributes),\n context: this.getChildContext(),\n props: _objectSpread({}, props, {\n first: index === 0,\n index,\n last: index + 1 === sibling,\n sibling,\n nonRawSiblings\n })\n })\n });\n\n if (component !== null) {\n output += renderer(component);\n }\n\n index++; // eslint-disable-line no-plusplus\n });\n return output;\n }\n\n}\nclass HeadComponent extends Component {\n static getTagName() {\n return Object(lodash__WEBPACK_IMPORTED_MODULE_0__["kebabCase"])(this.name);\n }\n\n handlerChildren() {\n var childrens = this.props.children;\n return childrens.map(children => {\n var component = Object(_components__WEBPACK_IMPORTED_MODULE_5__["initComponent"])({\n name: children.tagName,\n initialDatas: _objectSpread({}, children, {\n context: this.getChildContext()\n })\n });\n\n if (!component) {\n // eslint-disable-next-line no-console\n console.error(`No matching component for tag : ${children.tagName}`);\n return null;\n }\n\n if (component.handler) {\n component.handler();\n }\n\n if (component.render) {\n return component.render();\n }\n\n return null;\n });\n }\n\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-core/src/createComponent.js?')},"./mjml/packages/mjml-core/src/helpers sync recursive":/*!**************************************************!*\
- !*** ./mjml/packages/mjml-core/src/helpers sync ***!
- \**************************************************/
-/*! no static exports found */
-function(module,exports){eval('function webpackEmptyContext(req) {\n\tvar e = new Error("Cannot find module \'" + req + "\'");\n\te.code = \'MODULE_NOT_FOUND\';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = "./mjml/packages/mjml-core/src/helpers sync recursive";\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-core/src/helpers_sync?')},"./mjml/packages/mjml-core/src/helpers/conditionalTag.js":/*!***************************************************************!*\
- !*** ./mjml/packages/mjml-core/src/helpers/conditionalTag.js ***!
- \***************************************************************/
-/*! exports provided: startConditionalTag, startMsoConditionalTag, endConditionalTag, startNegationConditionalTag, startMsoNegationConditionalTag, endNegationConditionalTag, default, msoConditionalTag */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startConditionalTag", function() { return startConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startMsoConditionalTag", function() { return startMsoConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "endConditionalTag", function() { return endConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startNegationConditionalTag", function() { return startNegationConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "startMsoNegationConditionalTag", function() { return startMsoNegationConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "endNegationConditionalTag", function() { return endNegationConditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return conditionalTag; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "msoConditionalTag", function() { return msoConditionalTag; });\nvar startConditionalTag = \'\x3c!--[if mso | IE]>\';\nvar startMsoConditionalTag = \'\x3c!--[if mso]>\';\nvar endConditionalTag = \'\x3c!--\x3e\';\nvar startMsoNegationConditionalTag = \'\x3c!--[if !mso>\x3c!--\x3e\';\nvar endNegationConditionalTag = \'\x3c!-- 1 && arguments[1] !== undefined ? arguments[1] : false;\n return `\n ${negation ? startNegationConditionalTag : startConditionalTag}\n ${content}\n ${negation ? endNegationConditionalTag : endConditionalTag}\n `;\n}\nfunction msoConditionalTag(content) {\n var negation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return `\n ${negation ? startMsoNegationConditionalTag : startMsoConditionalTag}\n ${content}\n ${negation ? endNegationConditionalTag : endConditionalTag}\n `;\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-core/src/helpers/conditionalTag.js?')},"./mjml/packages/mjml-core/src/helpers/fonts.js":/*!******************************************************!*\
- !*** ./mjml/packages/mjml-core/src/helpers/fonts.js ***!
- \******************************************************/
-/*! exports provided: buildFontsTags */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buildFontsTags", function() { return buildFontsTags; });\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/forEach */ "./node_modules/lodash/forEach.js");\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_forEach__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_map__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/map */ "./node_modules/lodash/map.js");\n/* harmony import */ var lodash_map__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_map__WEBPACK_IMPORTED_MODULE_1__);\n\n // eslint-disable-next-line import/prefer-default-export\n\nfunction buildFontsTags(content, inlineStyle) {\n var fonts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var toImport = [];\n lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default()(fonts, (url, name) => {\n var regex = new RegExp(`"[^"]*font-family:[^"]*${name}[^"]*"`, \'gmi\');\n var inlineRegex = new RegExp(`font-family:[^;}]*${name}`, \'gmi\');\n\n if (content.match(regex) || inlineStyle.some(s => s.match(inlineRegex))) {\n toImport.push(url);\n }\n });\n\n if (toImport.length > 0) {\n return `\n \x3c!--[if !mso]>\x3c!--\x3e\n ${lodash_map__WEBPACK_IMPORTED_MODULE_1___default()(toImport, url => `\n \x3c!--[if mso | IE]>\n
\n \n component.constructor.isRawElement() ? component.render() : `\n \x3c!--[if mso | IE]>\n \n \n | \n \n
\n
\n \n `;\n }\n\n}\nMjGroup.allowedAttributes = {\n 'background-color': 'color',\n direction: 'enum(ltr,rtl)',\n 'vertical-align': 'enum(top,bottom,middle)',\n width: 'unit(px,%)'\n};\nMjGroup.defaultAttributes = {\n direction: 'ltr'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-group/src/index.js?")},"./mjml/packages/mjml-head-attributes/src/index.js":/*!*********************************************************!*\
- !*** ./mjml/packages/mjml-head-attributes/src/index.js ***!
- \*********************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjAttributes; });\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/forEach */ \"./node_modules/lodash/forEach.js\");\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_forEach__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/omit */ \"./node_modules/lodash/omit.js\");\n/* harmony import */ var lodash_omit__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_omit__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/reduce */ \"./node_modules/lodash/reduce.js\");\n/* harmony import */ var lodash_reduce__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_reduce__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\nclass MjAttributes extends mjml_core__WEBPACK_IMPORTED_MODULE_3__[\"HeadComponent\"] {\n handler() {\n var add = this.context.add;\n var children = this.props.children;\n lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default()(children, child => {\n var tagName = child.tagName,\n attributes = child.attributes,\n children = child.children;\n\n if (tagName === 'mj-class') {\n add('classes', attributes.name, lodash_omit__WEBPACK_IMPORTED_MODULE_1___default()(attributes, ['name']));\n add('classesDefault', attributes.name, lodash_reduce__WEBPACK_IMPORTED_MODULE_2___default()(children, (acc, _ref) => {\n var tagName = _ref.tagName,\n attributes = _ref.attributes;\n return _objectSpread({}, acc, {\n [tagName]: attributes\n });\n }, {}));\n } else {\n add('defaultAttributes', tagName, attributes);\n }\n });\n }\n\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-attributes/src/index.js?")},"./mjml/packages/mjml-head-breakpoint/src/index.js":/*!*********************************************************!*\
- !*** ./mjml/packages/mjml-head-breakpoint/src/index.js ***!
- \*********************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjBreakpoint; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n\nclass MjBreakpoint extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"HeadComponent\"] {\n handler() {\n var add = this.context.add;\n add('breakpoint', this.getAttribute('width'));\n }\n\n}\nMjBreakpoint.endingTag = true;\nMjBreakpoint.allowedAttributes = {\n width: 'unit(px)'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-breakpoint/src/index.js?")},"./mjml/packages/mjml-head-font/src/index.js":/*!***************************************************!*\
- !*** ./mjml/packages/mjml-head-font/src/index.js ***!
- \***************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjFont; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n\nclass MjFont extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"HeadComponent\"] {\n handler() {\n var add = this.context.add;\n add('fonts', this.getAttribute('name'), this.getAttribute('href'));\n }\n\n}\nMjFont.tagOmission = true;\nMjFont.allowedAttributes = {\n name: 'string',\n href: 'string'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-font/src/index.js?")},"./mjml/packages/mjml-head-preview/src/index.js":/*!******************************************************!*\
- !*** ./mjml/packages/mjml-head-preview/src/index.js ***!
- \******************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MjPreview; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ "./mjml/packages/mjml-core/src/index.js");\n\nclass MjPreview extends mjml_core__WEBPACK_IMPORTED_MODULE_0__["HeadComponent"] {\n handler() {\n var add = this.context.add;\n add(\'preview\', this.getContent());\n }\n\n}\nMjPreview.endingTag = true;\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-preview/src/index.js?')},"./mjml/packages/mjml-head-style/src/index.js":/*!****************************************************!*\
- !*** ./mjml/packages/mjml-head-style/src/index.js ***!
- \****************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjStyle; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n\nclass MjStyle extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"HeadComponent\"] {\n handler() {\n var add = this.context.add;\n add(this.getAttribute('inline') === 'inline' ? 'inlineStyle' : 'style', this.getContent());\n }\n\n}\nMjStyle.endingTag = true;\nMjStyle.allowedAttributes = {\n inline: 'string'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-style/src/index.js?")},"./mjml/packages/mjml-head-title/src/index.js":/*!****************************************************!*\
- !*** ./mjml/packages/mjml-head-title/src/index.js ***!
- \****************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MjTitle; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ "./mjml/packages/mjml-core/src/index.js");\n\nclass MjTitle extends mjml_core__WEBPACK_IMPORTED_MODULE_0__["HeadComponent"] {\n handler() {\n var add = this.context.add;\n add(\'title\', this.getContent());\n }\n\n}\nMjTitle.endingTag = true;\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head-title/src/index.js?')},"./mjml/packages/mjml-head/src/index.js":/*!**********************************************!*\
- !*** ./mjml/packages/mjml-head/src/index.js ***!
- \**********************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MjHead; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ "./mjml/packages/mjml-core/src/index.js");\n\nclass MjHead extends mjml_core__WEBPACK_IMPORTED_MODULE_0__["HeadComponent"] {\n handler() {\n return this.handlerChildren();\n }\n\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-head/src/index.js?')},"./mjml/packages/mjml-hero/src/index.js":/*!**********************************************!*\
- !*** ./mjml/packages/mjml-hero/src/index.js ***!
- \**********************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjHero; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mjml_core_lib_helpers_widthParser__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mjml-core/lib/helpers/widthParser */ \"./mjml/packages/mjml-core/src/helpers/widthParser.js\");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\nvar makeBackgroundString = Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"flow\"])(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"identity\"]), Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"join\"])(' '));\nclass MjHero extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"BodyComponent\"] {\n constructor() {\n super(...arguments);\n\n this.getBackground = () => makeBackgroundString([this.getAttribute('background-color'), ...(this.getAttribute('background-url') ? [`url(${this.getAttribute('background-url')})`, 'no-repeat', `${this.getAttribute('background-position')} / cover`] : [])]);\n }\n\n getChildContext() {\n // Refactor -- removePaddingFor(width, ['padding', 'inner-padding'])\n var containerWidth = this.context.containerWidth;\n var paddingSize = this.getShorthandAttrValue('padding', 'left') + this.getShorthandAttrValue('padding', 'right');\n var currentContainerWidth = `${parseFloat(containerWidth)}px`;\n\n var _widthParser = Object(mjml_core_lib_helpers_widthParser__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(currentContainerWidth, {\n parseFloatToInt: false\n }),\n unit = _widthParser.unit,\n parsedWidth = _widthParser.parsedWidth;\n\n if (unit === '%') {\n currentContainerWidth = `${parseFloat(containerWidth) * parsedWidth / 100 - paddingSize}px`;\n } else {\n currentContainerWidth = `${parsedWidth - paddingSize}px`;\n }\n\n return _objectSpread({}, this.context, {\n containerWidth: currentContainerWidth\n });\n }\n\n getStyles() {\n var containerWidth = this.context.containerWidth;\n var backgroundRatio = Math.round(parseInt(this.getAttribute('background-height'), 10) / parseInt(this.getAttribute('background-width'), 10) * 100);\n return {\n div: {\n margin: '0 auto',\n 'max-width': containerWidth\n },\n table: {\n width: '100%'\n },\n tr: {\n 'vertical-align': 'top'\n },\n 'td-fluid': {\n width: `0.01%`,\n 'padding-bottom': `${backgroundRatio}%`,\n 'mso-padding-bottom-alt': '0'\n },\n hero: {\n background: this.getBackground(),\n 'background-position': this.getAttribute('background-position'),\n 'background-repeat': 'no-repeat',\n padding: this.getAttribute('padding'),\n 'padding-top': this.getAttribute('padding-top'),\n 'padding-left': this.getAttribute('padding-left'),\n 'padding-right': this.getAttribute('padding-right'),\n 'padding-bottom': this.getAttribute('padding-bottom'),\n 'vertical-align': this.getAttribute('vertical-align')\n },\n 'outlook-table': {\n width: containerWidth\n },\n 'outlook-td': {\n 'line-height': 0,\n 'font-size': 0,\n 'mso-line-height-rule': 'exactly'\n },\n 'outlook-inner-table': {\n width: containerWidth\n },\n 'outlook-image': {\n border: '0',\n height: this.getAttribute('background-height'),\n 'mso-position-horizontal': 'center',\n position: 'absolute',\n top: 0,\n width: this.getAttribute('background-width'),\n 'z-index': '-3'\n },\n 'outlook-inner-td': {\n 'background-color': this.getAttribute('inner-background-color'),\n padding: this.getAttribute('inner-padding'),\n 'padding-top': this.getAttribute('inner-padding-top'),\n 'padding-left': this.getAttribute('inner-padding-left'),\n 'padding-right': this.getAttribute('inner-padding-right'),\n 'padding-bottom': this.getAttribute('inner-padding-bottom')\n },\n 'inner-table': {\n width: '100%',\n margin: '0px'\n },\n 'inner-div': {\n 'background-color': this.getAttribute('inner-background-color'),\n float: this.getAttribute('align'),\n margin: '0px auto',\n width: this.getAttribute('width')\n }\n };\n }\n\n renderContent() {\n var containerWidth = this.context.containerWidth;\n var children = this.props.children;\n return `\n \x3c!--[if mso | IE]>\n
\n \n \n \n \n \n \n \n ${this.renderChildren(children, {\n renderer: component => // eslint-disable-line no-confusing-arrow\n component.constructor.isRawElement() ? component.render() : `\n \n \n ${component.render()}\n | \n \n `\n })}\n \n | \n \n \n \n \x3c!--[if mso | IE]>\n | \n
\n
\n \n
\n ${this.renderContent()}\n | \n
| \n `;\n\n case 'fixed-height':\n default:\n var height = parseInt(this.getAttribute('height'), 10) - this.getShorthandAttrValue('padding', 'top') - this.getShorthandAttrValue('padding', 'bottom');\n return `\n
\n ${this.renderContent()}\n | \n `;\n }\n /* eslint-enable no-alert, no-case-declarations */\n\n }\n\n render() {\n var containerWidth = this.context.containerWidth;\n return `\n \x3c!--[if mso | IE]>\n
\n \n \n \n \n \n \n ${this.renderMode()}\n \n \n \n \x3c!--[if mso | IE]>\n | \n
\n
\n `\n @media only screen and (max-width:${breakpoint}) {\n table.full-width-mobile { width: 100% !important; }\n td.full-width-mobile { width: auto !important; }\n }\n `;\n }\n\n getStyles() {\n var width = this.getContentWidth();\n var fullWidth = this.getAttribute('full-width') === 'full-width';\n\n var _widthParser = Object(mjml_core_lib_helpers_widthParser__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(width),\n parsedWidth = _widthParser.parsedWidth,\n unit = _widthParser.unit;\n\n return {\n img: {\n border: this.getAttribute('border'),\n 'border-left': this.getAttribute('left'),\n 'border-right': this.getAttribute('right'),\n 'border-top': this.getAttribute('top'),\n 'border-bottom': this.getAttribute('bottom'),\n 'border-radius': this.getAttribute('border-radius'),\n display: 'block',\n outline: 'none',\n 'text-decoration': 'none',\n height: this.getAttribute('height'),\n 'min-width': fullWidth ? '100%' : null,\n width: '100%',\n 'max-width': fullWidth ? '100%' : null\n },\n td: {\n width: fullWidth ? null : `${parsedWidth}${unit}`\n },\n table: {\n 'min-width': fullWidth ? '100%' : null,\n 'max-width': fullWidth ? '100%' : null,\n width: fullWidth ? `${parsedWidth}${unit}` : null,\n 'border-collapse': 'collapse',\n 'border-spacing': '0px'\n }\n };\n }\n\n getContentWidth() {\n var width = this.getAttribute('width') ? parseInt(this.getAttribute('width'), 10) : Infinity;\n\n var _this$getBoxWidths = this.getBoxWidths(),\n box = _this$getBoxWidths.box;\n\n return lodash_min__WEBPACK_IMPORTED_MODULE_0___default()([box, width]);\n }\n\n renderImage() {\n var height = this.getAttribute('height');\n var img = `\n
\n `;\n\n if (this.getAttribute('href')) {\n return `\n
\n ${img}\n \n `;\n }\n\n return img;\n }\n\n render() {\n return `\n
\n \n \n \n ${this.renderImage()}\n | \n
\n \n
\n `;\n }\n\n}\nMjImage.tagOmission = true;\nMjImage.allowedAttributes = {\n alt: 'string',\n href: 'string',\n name: 'string',\n src: 'string',\n srcset: 'string',\n title: 'string',\n rel: 'string',\n align: 'enum(left,center,right)',\n border: 'string',\n 'border-bottom': 'string',\n 'border-left': 'string',\n 'border-right': 'string',\n 'border-top': 'string',\n 'border-radius': 'unit(px,%){1,4}',\n 'container-background-color': 'color',\n 'fluid-on-mobile': 'boolean',\n padding: 'unit(px,%){1,4}',\n 'padding-bottom': 'unit(px,%)',\n 'padding-left': 'unit(px,%)',\n 'padding-right': 'unit(px,%)',\n 'padding-top': 'unit(px,%)',\n target: 'string',\n width: 'unit(px)',\n height: 'unit(px)'\n};\nMjImage.defaultAttributes = {\n align: 'center',\n border: '0',\n height: 'auto',\n padding: '10px 25px',\n target: '_blank'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-image/src/index.js?")},"./mjml/packages/mjml-migrate/src/config.js":/*!**************************************************!*\
- !*** ./mjml/packages/mjml-migrate/src/config.js ***!
- \**************************************************/
-/*! no static exports found */
-function(module,exports){eval("var unavailableTags = ['mj-html', 'mj-invoice', 'mj-list', 'mj-location'];\nvar attributesWithUnit = ['background-size', 'border-radius', 'border-width', 'cellpadding', 'cellspacing', 'font-size', 'height', 'icon-height', 'ico-padding', 'ico-padding-bottom', 'ico-font-size', 'ico-line-height', 'ico-padding-left', 'ico-padding-right', 'ico-padding-top', 'icon-size', 'icon-width', 'inner-padding', 'letter-spacing', 'padding', 'padding-bottom', 'padding-left', 'padding-right', 'padding-left', 'tb-border-radius', 'tb-width', 'width'];\nmodule.exports = {\n unavailableTags,\n attributesWithUnit\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-migrate/src/config.js?")},"./mjml/packages/mjml-migrate/src/migrate.js":/*!***************************************************!*\
- !*** ./mjml/packages/mjml-migrate/src/migrate.js ***!
- \***************************************************/
-/*! exports provided: default, handleMjml3 */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return migrate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleMjml3\", function() { return handleMjml3; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var mjml_parser_xml__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! mjml-parser-xml */ \"./mjml/packages/mjml-parser-xml/src/index.js\");\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n/* harmony import */ var js_beautify__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! js-beautify */ \"./node_modules/js-beautify/js/index.js\");\n/* harmony import */ var js_beautify__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(js_beautify__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./config */ \"./mjml/packages/mjml-migrate/src/config.js\");\n/* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_config__WEBPACK_IMPORTED_MODULE_4__);\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n/* eslint-disable no-console */\n\n\n\n\n\nvar beautifyOptions = {\n indent_size: 2,\n wrap_attributes_indent_size: 2,\n max_preserve_newline: 0,\n preserve_newlines: false\n};\n\nfunction removeContainerTag(bodyTag) {\n if (bodyTag.children[0].tagName === 'mj-container') {\n bodyTag.attributes = bodyTag.children[0].attributes;\n bodyTag.children = bodyTag.children[0].children;\n }\n\n return bodyTag;\n}\n\nvar listAttributes = tag => tag.attributes;\n\nfunction addPx(value) {\n if (!isNaN(value)) {\n return `${value}px`;\n }\n\n return value;\n}\n\nfunction fixUnits(attribute, value) {\n var length = _config__WEBPACK_IMPORTED_MODULE_4__[\"attributesWithUnit\"].length;\n\n for (var i = 0; i < length; i += 1) {\n if (_config__WEBPACK_IMPORTED_MODULE_4__[\"attributesWithUnit\"][i] === attribute) {\n return addPx(value);\n }\n }\n\n return value;\n}\n\nfunction cleanAttributes(attributes) {\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(attributes).forEach(key => {\n attributes[key] = fixUnits(key, attributes[key]);\n });\n return attributes;\n}\n\nvar DEFAULT_SOCIAL_DISPLAY = 'facebook twitter google';\n\nfunction migrateSocialSyntax(socialTag) {\n var listAllNetworks = tag => {\n var attributes = (tag.attributes.display || DEFAULT_SOCIAL_DISPLAY).split(' ');\n delete tag.attributes.display;\n return attributes;\n };\n\n var attributes = listAttributes(socialTag);\n var networks = listAllNetworks(socialTag);\n socialTag.children = []; // migrate all attributes to their child attributes\n\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(networks).forEach(network => {\n var nameMigrated = networks[network].replace(':url', '-noshare').replace(':share', '');\n var nameWithoutOpts = nameMigrated.replace('-noshare', '');\n socialTag.children.push({\n tagName: `mj-social-element`,\n attributes: {\n name: nameMigrated\n },\n content: attributes[`${nameWithoutOpts}-content`] || ''\n });\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(attributes).forEach(attribute => {\n if (attribute.match(nameWithoutOpts) && !attribute.match('content')) {\n socialTag.children[network].attributes[attribute.replace(`${nameWithoutOpts}-`, '')] = socialTag.attributes[attribute];\n delete socialTag.attributes[attribute];\n }\n });\n }); // delete all content attributes from the root tag after they've been migrated\n\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(attributes).forEach(attribute => {\n if (attribute.match('content')) {\n delete attributes[attribute];\n }\n });\n return socialTag;\n}\n\nfunction migrateNavbarSyntax(navbarTag) {\n navbarTag.tagName = 'mj-section';\n navbarTag.attributes['full-width'] = 'full-width';\n return navbarTag;\n}\n\nfunction migrateHeroSyntax(heroTag) {\n var child = Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"find\"])(heroTag.children, {\n tagName: 'mj-hero-content'\n });\n return _objectSpread({}, heroTag, {\n children: child.children,\n attributes: _objectSpread({}, heroTag.attributes, child.attributes)\n });\n}\n\nfunction isSupportedTag(tag) {\n return _config__WEBPACK_IMPORTED_MODULE_4__[\"unavailableTags\"].indexOf(tag) === -1;\n}\n\nfunction loopThrough(tree) {\n Object(lodash__WEBPACK_IMPORTED_MODULE_0__[\"keys\"])(tree).forEach(key => {\n if (key === 'children') {\n for (var i = 0; i < tree.children.length; i += 1) {\n if (isSupportedTag(tree.children[i].tagName)) {\n switch (tree.children[i].tagName) {\n case 'mj-body':\n tree.children[i] = removeContainerTag(tree.children[i]);\n break;\n\n case 'mj-social':\n tree.children[i] = migrateSocialSyntax(tree.children[i]);\n break;\n\n case 'mj-navbar':\n tree.children[i] = migrateNavbarSyntax(tree.children[i]);\n break;\n\n case 'mj-inline-links':\n tree.children[i].tagName = 'mj-navbar';\n break;\n\n case 'mj-link':\n tree.children[i].tagName = 'mj-navbar-link';\n break;\n\n case 'mj-hero':\n tree.children[i] = migrateHeroSyntax(tree.children[i]);\n break;\n // no default\n }\n\n tree.children[i].attributes = cleanAttributes(tree.children[i].attributes);\n loopThrough(tree.children[i]);\n } else {\n console.error(`Ignoring unsupported tag : ${tree.children[i].tagName} on line ${tree.children[i].line}`);\n delete tree.children[i];\n }\n }\n }\n });\n return tree;\n}\n\nfunction checkV3Through(node) {\n if (node.tagName === 'mj-container') return true;\n if (!node.children || !node.children.length) return false;\n return node.children.some(checkV3Through);\n}\n\nvar jsonToXML = (_ref) => {\n var tagName = _ref.tagName,\n attributes = _ref.attributes,\n children = _ref.children,\n content = _ref.content;\n var subNode = children && children.length > 0 ? children.map(jsonToXML).join('\\n') : content || '';\n var stringAttrs = Object.keys(attributes).map(attr => `${attr}=\"${attributes[attr]}\"`).join(' ');\n return `<${tagName}${stringAttrs === '' ? '>' : ` ${stringAttrs}>`}${subNode}${tagName}>`;\n};\n\nfunction migrate(input) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var beautify = options.beautify;\n if (typeof input === 'object') return loopThrough(input);\n var mjmlJson = Object(mjml_parser_xml__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(input, {\n components: mjml_core__WEBPACK_IMPORTED_MODULE_2__[\"components\"],\n ignoreIncludes: true\n });\n loopThrough(mjmlJson);\n return beautify ? Object(js_beautify__WEBPACK_IMPORTED_MODULE_3__[\"html\"])(jsonToXML(mjmlJson), beautifyOptions) : jsonToXML(mjmlJson);\n}\nfunction handleMjml3(mjml) {\n var isV3Synthax = checkV3Through(mjml);\n if (!isV3Synthax) return mjml;\n console.error('MJML v3 syntax detected, migrating to MJML v4 syntax. Use mjml -m to get the migrated MJML.');\n return migrate(mjml);\n}\n/* eslint-enable no-console */\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-migrate/src/migrate.js?")},"./mjml/packages/mjml-navbar/src/Navbar.js":/*!*************************************************!*\
- !*** ./mjml/packages/mjml-navbar/src/Navbar.js ***!
- \*************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjNavbar; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! crypto */ \"./node_modules/crypto-browserify/index.js\");\n/* harmony import */ var crypto__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(crypto__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mjml-core/lib/helpers/conditionalTag */ \"./mjml/packages/mjml-core/src/helpers/conditionalTag.js\");\n\n\n\nclass MjNavbar extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"BodyComponent\"] {\n constructor() {\n super(...arguments);\n\n this.headStyle = breakpoint => `\n noinput.mj-menu-checkbox { display:block!important; max-height:none!important; visibility:visible!important; }\n\n @media only screen and (max-width:${breakpoint}) {\n .mj-menu-checkbox[type=\"checkbox\"] ~ .mj-inline-links { display:none!important; }\n .mj-menu-checkbox[type=\"checkbox\"]:checked ~ .mj-inline-links,\n .mj-menu-checkbox[type=\"checkbox\"] ~ .mj-menu-trigger { display:block!important; max-width:none!important; max-height:none!important; font-size:inherit!important; }\n .mj-menu-checkbox[type=\"checkbox\"] ~ .mj-inline-links > a { display:block!important; }\n .mj-menu-checkbox[type=\"checkbox\"]:checked ~ .mj-menu-trigger .mj-menu-icon-close { display:block!important; }\n .mj-menu-checkbox[type=\"checkbox\"]:checked ~ .mj-menu-trigger .mj-menu-icon-open { display:none!important; }\n }\n `;\n }\n\n getStyles() {\n return {\n div: {\n align: this.getAttribute('align'),\n width: '100%'\n },\n label: {\n display: 'block',\n cursor: 'pointer',\n 'mso-hide': 'all',\n '-moz-user-select': 'none',\n 'user-select': 'none',\n align: this.getAttribute('ico-align'),\n color: this.getAttribute('ico-color'),\n 'font-size': this.getAttribute('ico-font-size'),\n 'font-family': this.getAttribute('ico-font-family'),\n 'text-transform': this.getAttribute('ico-text-transform'),\n 'text-decoration': this.getAttribute('ico-text-decoration'),\n 'line-height': this.getAttribute('ico-line-height'),\n 'padding-top': this.getAttribute('ico-padding-top'),\n 'padding-right': this.getAttribute('ico-padding-right'),\n 'padding-bottom': this.getAttribute('ico-padding-bottom'),\n 'padding-left': this.getAttribute('ico-padding-left'),\n padding: this.getAttribute('ico-padding')\n },\n trigger: {\n display: 'none',\n 'max-height': '0px',\n 'max-width': '0px',\n 'font-size': '0px',\n overflow: 'hidden'\n },\n icoOpen: {\n 'mso-hide': 'all'\n },\n icoClose: {\n display: 'none',\n 'mso-hide': 'all'\n }\n };\n }\n\n renderHamburger() {\n var key = crypto__WEBPACK_IMPORTED_MODULE_1___default.a.randomBytes(8).toString('hex');\n return `\n ${Object(mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__[\"msoConditionalTag\"])(`\n \n `, true)}\n
\n \n
\n `;\n }\n\n render() {\n return `\n ${this.getAttribute('hamburger') === 'hamburger' ? this.renderHamburger() : ''}\n
\n ${Object(mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(`\n
\n \n `)}\n ${this.renderChildren(this.props.children, {\n attributes: {\n navbarBaseUrl: this.getAttribute('base-url')\n }\n })}\n ${Object(mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(`\n
\n `)}\n
\n `;\n }\n\n}\nMjNavbar.allowedAttributes = {\n align: 'enum(left,center,right)',\n 'base-url': 'string',\n hamburger: 'string',\n 'ico-align': 'enum(left,center,right)',\n 'ico-open': 'string',\n 'ico-close': 'string',\n 'ico-color': 'color',\n 'ico-font-size': 'unit(px,%)',\n 'ico-font-family': 'string',\n 'ico-text-transform': 'string',\n 'ico-padding': 'unit(px,%){1,4}',\n 'ico-padding-left': 'unit(px,%)',\n 'ico-padding-top': 'unit(px,%)',\n 'ico-padding-right': 'unit(px,%)',\n 'ico-padding-bottom': 'unit(px,%)',\n 'ico-text-decoration': 'string',\n 'ico-line-height': 'unit(px,%)'\n};\nMjNavbar.defaultAttributes = {\n align: 'center',\n 'base-url': null,\n hamburger: null,\n 'ico-align': 'center',\n 'ico-open': '☰',\n 'ico-close': '⊗',\n 'ico-color': '#000000',\n 'ico-font-size': '30px',\n 'ico-font-family': 'Ubuntu, Helvetica, Arial, sans-serif',\n 'ico-text-transform': 'uppercase',\n 'ico-padding': '10px',\n 'ico-text-decoration': 'none',\n 'ico-line-height': '30px'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-navbar/src/Navbar.js?")},"./mjml/packages/mjml-navbar/src/NavbarLink.js":/*!*****************************************************!*\
- !*** ./mjml/packages/mjml-navbar/src/NavbarLink.js ***!
- \*****************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjNavbarLink; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! url */ \"./node_modules/url/url.js\");\n/* harmony import */ var url__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! mjml-core/lib/helpers/conditionalTag */ \"./mjml/packages/mjml-core/src/helpers/conditionalTag.js\");\n\n\n\nclass MjNavbarLink extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"BodyComponent\"] {\n getStyles() {\n return {\n a: {\n display: 'inline-block',\n color: this.getAttribute('color'),\n 'font-family': this.getAttribute('font-family'),\n 'font-size': this.getAttribute('font-size'),\n 'font-weight': this.getAttribute('font-weight'),\n 'line-height': this.getAttribute('line-height'),\n 'text-decoration': this.getAttribute('text-decoration'),\n 'text-transform': this.getAttribute('text-transform'),\n padding: this.getAttribute('padding'),\n 'padding-top': this.getAttribute('padding-top'),\n 'padding-left': this.getAttribute('padding-left'),\n 'padding-right': this.getAttribute('padding-right'),\n 'padding-bottom': this.getAttribute('padding-bottom')\n },\n td: {\n padding: this.getAttribute('padding'),\n 'padding-top': this.getAttribute('padding-top'),\n 'padding-left': this.getAttribute('padding-left'),\n 'padding-right': this.getAttribute('padding-right'),\n 'padding-bottom': this.getAttribute('padding-bottom')\n }\n };\n }\n\n renderContent() {\n var href = this.getAttribute('href');\n var navbarBaseUrl = this.getAttribute('navbarBaseUrl');\n var link = navbarBaseUrl ? url__WEBPACK_IMPORTED_MODULE_1___default.a.resolve(navbarBaseUrl, href) : href;\n var cssClass = this.getAttribute('css-class') ? ` ${this.getAttribute('css-class')}` : '';\n return `\n
\n ${this.getContent()}\n \n `;\n }\n\n render() {\n return `\n ${Object(mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(`\n
\n `)}\n ${this.renderContent()}\n ${Object(mjml_core_lib_helpers_conditionalTag__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(`\n | \n `)}\n `;\n }\n\n}\nMjNavbarLink.endingTag = true;\nMjNavbarLink.allowedAttributes = {\n color: 'color',\n 'font-family': 'string',\n 'font-size': 'unit(px)',\n 'font-weight': 'string',\n href: 'string',\n name: 'string',\n target: 'string',\n rel: 'string',\n 'line-height': 'unit(px,%)',\n 'padding-bottom': 'unit(px,%)',\n 'padding-left': 'unit(px,%)',\n 'padding-right': 'unit(px,%)',\n 'padding-top': 'unit(px,%)',\n padding: 'unit(px,%){1,4}',\n 'text-decoration': 'string',\n 'text-transform': 'string'\n};\nMjNavbarLink.defaultAttributes = {\n color: '#000000',\n 'font-family': 'Ubuntu, Helvetica, Arial, sans-serif',\n 'font-size': '13px',\n 'font-weight': 'normal',\n 'line-height': '22px',\n padding: '15px 10px',\n target: '_blank',\n 'text-decoration': 'none',\n 'text-transform': 'uppercase'\n};\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-navbar/src/NavbarLink.js?")},"./mjml/packages/mjml-navbar/src/index.js":/*!************************************************!*\
- !*** ./mjml/packages/mjml-navbar/src/index.js ***!
- \************************************************/
-/*! exports provided: Navbar, NavbarLink */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _Navbar__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Navbar */ "./mjml/packages/mjml-navbar/src/Navbar.js");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Navbar", function() { return _Navbar__WEBPACK_IMPORTED_MODULE_0__["default"]; });\n\n/* harmony import */ var _NavbarLink__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NavbarLink */ "./mjml/packages/mjml-navbar/src/NavbarLink.js");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "NavbarLink", function() { return _NavbarLink__WEBPACK_IMPORTED_MODULE_1__["default"]; });\n\n\n\n\n\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-navbar/src/index.js?')},"./mjml/packages/mjml-parser-xml/src/helpers/cleanNode.js":/*!****************************************************************!*\
- !*** ./mjml/packages/mjml-parser-xml/src/helpers/cleanNode.js ***!
- \****************************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return cleanNode; });\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash */ "./node_modules/lodash/lodash.js");\n/* harmony import */ var lodash__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction cleanNode(node) {\n delete node.parent; // Delete children if needed\n\n if (node.children && node.children.length) {\n lodash__WEBPACK_IMPORTED_MODULE_0___default.a.forEach(node.children, cleanNode);\n } else {\n delete node.children;\n } // Delete attributes if needed\n\n\n if (node.attributes && Object.keys(node.attributes).length === 0) {\n delete node.attributes;\n }\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-parser-xml/src/helpers/cleanNode.js?')},"./mjml/packages/mjml-parser-xml/src/helpers/convertBooleansOnAttrs.js":/*!*****************************************************************************!*\
- !*** ./mjml/packages/mjml-parser-xml/src/helpers/convertBooleansOnAttrs.js ***!
- \*****************************************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return convertBooleansOnAttrs; });\n/* harmony import */ var lodash_mapValues__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/mapValues */ "./node_modules/lodash/mapValues.js");\n/* harmony import */ var lodash_mapValues__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_mapValues__WEBPACK_IMPORTED_MODULE_0__);\n\n/**\n * Convert "true" and "false" string attributes values\n * to corresponding Booleans\n */\n\nfunction convertBooleansOnAttrs(attrs) {\n return lodash_mapValues__WEBPACK_IMPORTED_MODULE_0___default()(attrs, val => {\n if (val === \'true\') {\n return true;\n }\n\n if (val === \'false\') {\n return false;\n }\n\n return val;\n });\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-parser-xml/src/helpers/convertBooleansOnAttrs.js?')},"./mjml/packages/mjml-parser-xml/src/helpers/setEmptyAttributes.js":/*!*************************************************************************!*\
- !*** ./mjml/packages/mjml-parser-xml/src/helpers/setEmptyAttributes.js ***!
- \*************************************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return setEmptyAttributes; });\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! lodash/forEach */ "./node_modules/lodash/forEach.js");\n/* harmony import */ var lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(lodash_forEach__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction setEmptyAttributes(node) {\n if (!node.attributes) {\n node.attributes = {};\n }\n\n if (node.children) {\n lodash_forEach__WEBPACK_IMPORTED_MODULE_0___default()(node.children, setEmptyAttributes);\n }\n}\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-parser-xml/src/helpers/setEmptyAttributes.js?')},"./mjml/packages/mjml-parser-xml/src/index.js":/*!****************************************************!*\
- !*** ./mjml/packages/mjml-parser-xml/src/index.js ***!
- \****************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MJMLParser; });\n/* harmony import */ var htmlparser2__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! htmlparser2 */ "./node_modules/htmlparser2/lib/index.js");\n/* harmony import */ var htmlparser2__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(htmlparser2__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/isObject */ "./node_modules/lodash/isObject.js");\n/* harmony import */ var lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_isObject__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var lodash_findLastIndex__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash/findLastIndex */ "./node_modules/lodash/findLastIndex.js");\n/* harmony import */ var lodash_findLastIndex__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_findLastIndex__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_find__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash/find */ "./node_modules/lodash/find.js");\n/* harmony import */ var lodash_find__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(lodash_find__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! path */ "./node_modules/path-browserify/index.js");\n/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var fs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! fs */ "./mocks/fs.js");\n/* harmony import */ var lodash_fp_filter__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! lodash/fp/filter */ "./node_modules/lodash/fp/filter.js");\n/* harmony import */ var lodash_fp_filter__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_filter__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! lodash/fp/map */ "./node_modules/lodash/fp/map.js");\n/* harmony import */ var lodash_fp_map__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_map__WEBPACK_IMPORTED_MODULE_7__);\n/* harmony import */ var lodash_fp_flow__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! lodash/fp/flow */ "./node_modules/lodash/fp/flow.js");\n/* harmony import */ var lodash_fp_flow__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(lodash_fp_flow__WEBPACK_IMPORTED_MODULE_8__);\n/* harmony import */ var _helpers_cleanNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./helpers/cleanNode */ "./mjml/packages/mjml-parser-xml/src/helpers/cleanNode.js");\n/* harmony import */ var _helpers_convertBooleansOnAttrs__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./helpers/convertBooleansOnAttrs */ "./mjml/packages/mjml-parser-xml/src/helpers/convertBooleansOnAttrs.js");\n/* harmony import */ var _helpers_setEmptyAttributes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./helpers/setEmptyAttributes */ "./mjml/packages/mjml-parser-xml/src/helpers/setEmptyAttributes.js");\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === \'function\') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar indexesForNewLine = xml => {\n var regex = /\\n/gi;\n var indexes = [0];\n\n while (regex.exec(xml)) {\n indexes.push(regex.lastIndex);\n }\n\n return indexes;\n};\n\nvar isSelfClosing = (indexes, parser) => indexes.startIndex === parser.startIndex && indexes.endIndex === parser.endIndex;\n\nfunction MJMLParser(xml) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var includedIn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var _options$addEmptyAttr = options.addEmptyAttributes,\n addEmptyAttributes = _options$addEmptyAttr === void 0 ? true : _options$addEmptyAttr,\n _options$components = options.components,\n components = _options$components === void 0 ? {} : _options$components,\n _options$convertBoole = options.convertBooleans,\n convertBooleans = _options$convertBoole === void 0 ? true : _options$convertBoole,\n _options$keepComments = options.keepComments,\n keepComments = _options$keepComments === void 0 ? true : _options$keepComments,\n _options$filePath = options.filePath,\n filePath = _options$filePath === void 0 ? \'.\' : _options$filePath,\n _options$ignoreInclud = options.ignoreIncludes,\n ignoreIncludes = _options$ignoreInclud === void 0 ? false : _options$ignoreInclud;\n var endingTags = lodash_fp_flow__WEBPACK_IMPORTED_MODULE_8___default()(lodash_fp_filter__WEBPACK_IMPORTED_MODULE_6___default()(component => component.endingTag), lodash_fp_map__WEBPACK_IMPORTED_MODULE_7___default()(component => component.getTagName()))(_objectSpread({}, components));\n var cwd = filePath ? path__WEBPACK_IMPORTED_MODULE_4___default.a.dirname(filePath) : process.cwd();\n var mjml = null;\n var cur = null;\n var inInclude = !!includedIn.length;\n var inEndingTag = 0;\n var currentEndingTagIndexes = {\n startIndex: 0,\n endIndex: 0\n };\n\n var findTag = (tagName, tree) => lodash_find__WEBPACK_IMPORTED_MODULE_3___default()(tree.children, {\n tagName\n });\n\n var lineIndexes = indexesForNewLine(xml);\n\n var handleInclude = (file, line) => {\n var partialPath = path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(cwd, file);\n if (lodash_find__WEBPACK_IMPORTED_MODULE_3___default()(cur.includedIn, {\n file: partialPath\n })) throw new Error(`Circular inclusion detected on file : ${partialPath}`);\n var content;\n\n try {\n content = fs__WEBPACK_IMPORTED_MODULE_5__["default"].readFileSync(partialPath, \'utf8\');\n } catch (e) {\n var newNode = {\n line,\n file,\n absoluteFilePath: path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(cwd, filePath),\n parent: cur,\n tagName: \'mj-raw\',\n content: `\x3c!-- mj-include fails to read file : ${file} at ${partialPath} --\x3e`,\n children: []\n };\n cur.children.push(newNode);\n cur = newNode;\n return;\n }\n\n content = content.indexOf(\'
\') === -1 ? `${content}` : content;\n var partialMjml = MJMLParser(content, _objectSpread({}, options, {\n filePath: partialPath\n }), [...cur.includedIn, {\n file: cur.absoluteFilePath,\n line\n }]);\n\n var bindToTree = function bindToTree(children) {\n var tree = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cur;\n return children.map(c => _objectSpread({}, c, {\n parent: tree\n }));\n };\n\n if (partialMjml.tagName !== \'mjml\') {\n return;\n }\n\n var body = findTag(\'mj-body\', partialMjml);\n var head = findTag(\'mj-head\', partialMjml);\n\n if (body) {\n var boundChildren = bindToTree(body.children);\n cur.children = [...cur.children, ...boundChildren];\n cur = boundChildren[boundChildren.length - 1];\n }\n\n if (head) {\n var curHead = findTag(\'mj-head\', mjml);\n\n if (!curHead) {\n mjml.children.push({\n file: filePath,\n absoluteFilePath: path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(cwd, filePath),\n parent: mjml,\n tagName: \'mj-head\',\n children: []\n });\n curHead = findTag(\'mj-head\', mjml);\n }\n\n var _boundChildren = bindToTree(head.children, curHead);\n\n curHead.children = [...curHead.children, ..._boundChildren];\n cur = _boundChildren[_boundChildren.length - 1];\n }\n };\n\n var parser = new htmlparser2__WEBPACK_IMPORTED_MODULE_0___default.a.Parser({\n onopentag: (name, attrs) => {\n var isAnEndingTag = endingTags.indexOf(name) !== -1;\n\n if (inEndingTag > 0) {\n if (isAnEndingTag) inEndingTag += 1;\n return;\n }\n\n if (isAnEndingTag) {\n inEndingTag += 1;\n\n if (inEndingTag === 1) {\n // we\'re entering endingTag\n currentEndingTagIndexes.startIndex = parser.startIndex;\n currentEndingTagIndexes.endIndex = parser.endIndex;\n }\n }\n\n var line = lodash_findLastIndex__WEBPACK_IMPORTED_MODULE_2___default()(lineIndexes, i => i <= parser.startIndex) + 1;\n\n if (name === \'mj-include\' && !ignoreIncludes) {\n inInclude = true;\n handleInclude(decodeURIComponent(attrs.path), line);\n return;\n }\n\n if (convertBooleans) {\n // "true" and "false" will be converted to bools\n attrs = Object(_helpers_convertBooleansOnAttrs__WEBPACK_IMPORTED_MODULE_10__["default"])(attrs);\n }\n\n var newNode = {\n file: filePath,\n absoluteFilePath: path__WEBPACK_IMPORTED_MODULE_4___default.a.resolve(cwd, filePath),\n line,\n includedIn,\n parent: cur,\n tagName: name,\n attributes: attrs,\n children: []\n };\n\n if (cur) {\n cur.children.push(newNode);\n } else {\n mjml = newNode;\n }\n\n cur = newNode;\n },\n onclosetag: name => {\n if (endingTags.indexOf(name) !== -1) {\n inEndingTag -= 1;\n\n if (!inEndingTag) {\n // we\'re getting out of endingTag\n // if self-closing tag we don\'t get the content\n if (!isSelfClosing(currentEndingTagIndexes, parser)) {\n var partialVal = xml.substring(currentEndingTagIndexes.endIndex + 1, parser.endIndex).trim();\n var val = partialVal.substring(0, partialVal.lastIndexOf(`${name}`));\n if (val) cur.content = val.trim();\n }\n }\n }\n\n if (inEndingTag > 0) return;\n\n if (inInclude) {\n inInclude = false;\n }\n\n cur = cur && cur.parent || null;\n },\n ontext: text => {\n if (inEndingTag > 0) return;\n\n if (text && text.trim() && cur) {\n cur.content = `${cur && cur.content || \'\'}${text.trim()}`.trim();\n }\n },\n oncomment: data => {\n if (inEndingTag > 0) return;\n\n if (cur && keepComments) {\n cur.children.push({\n line: lodash_findLastIndex__WEBPACK_IMPORTED_MODULE_2___default()(lineIndexes, i => i <= parser.startIndex) + 1,\n tagName: \'mj-raw\',\n content: `\x3c!-- ${data.trim()} --\x3e`\n });\n }\n }\n }, {\n recognizeCDATA: true,\n decodeEntities: false,\n recognizeSelfClosing: true,\n lowerCaseAttributeNames: false\n });\n parser.write(xml);\n parser.end();\n\n if (!lodash_isObject__WEBPACK_IMPORTED_MODULE_1___default()(mjml)) {\n throw new Error(\'Parsing failed. Check your mjml.\');\n }\n\n Object(_helpers_cleanNode__WEBPACK_IMPORTED_MODULE_9__["default"])(mjml); // Assign "attributes" property if not set\n\n if (addEmptyAttributes) {\n Object(_helpers_setEmptyAttributes__WEBPACK_IMPORTED_MODULE_11__["default"])(mjml);\n }\n\n return mjml;\n}\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../node_modules/process/browser.js */ "./node_modules/process/browser.js")))\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-parser-xml/src/index.js?')},"./mjml/packages/mjml-raw/src/index.js":/*!*********************************************!*\
- !*** ./mjml/packages/mjml-raw/src/index.js ***!
- \*********************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval('__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return MjRaw; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ "./mjml/packages/mjml-core/src/index.js");\n\nclass MjRaw extends mjml_core__WEBPACK_IMPORTED_MODULE_0__["BodyComponent"] {\n render() {\n return this.getContent();\n }\n\n}\nMjRaw.endingTag = true;\nMjRaw.rawElement = true;\n\n//# sourceURL=webpack://mjml/./mjml/packages/mjml-raw/src/index.js?')},"./mjml/packages/mjml-section/src/index.js":/*!*************************************************!*\
- !*** ./mjml/packages/mjml-section/src/index.js ***!
- \*************************************************/
-/*! exports provided: default */
-function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MjSection; });\n/* harmony import */ var mjml_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! mjml-core */ \"./mjml/packages/mjml-core/src/index.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash/fp */ \"./node_modules/lodash/fp.js\");\n/* harmony import */ var lodash_fp__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_fp__WEBPACK_IMPORTED_MODULE_1__);\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n\n\nvar makeBackgroundString = Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"flow\"])(Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"filter\"])(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"identity\"]), Object(lodash_fp__WEBPACK_IMPORTED_MODULE_1__[\"join\"])(' '));\nclass MjSection extends mjml_core__WEBPACK_IMPORTED_MODULE_0__[\"BodyComponent\"] {\n constructor() {\n super(...arguments);\n\n this.getBackground = () => makeBackgroundString([this.getAttribute('background-color'), ...(this.hasBackground() ? [`url(${this.getAttribute('background-url')})`, `top center / ${this.getAttribute('background-size')}`, this.getAttribute('background-repeat')] : [])]);\n }\n\n getChildContext() {\n var _this$getBoxWidths = this.getBoxWidths(),\n box = _this$getBoxWidths.box;\n\n return _objectSpread({}, this.context, {\n containerWidth: `${box}px`\n });\n }\n\n getStyles() {\n var containerWidth = this.context.containerWidth;\n var fullWidth = this.isFullWidth();\n var background = this.getAttribute('background-url') ? {\n background: this.getBackground()\n } : {\n background: this.getAttribute('background-color'),\n 'background-color': this.getAttribute('background-color')\n };\n return {\n tableFullwidth: _objectSpread({}, fullWidth ? background : {}, {\n width: '100%',\n 'border-radius': this.getAttribute('border-radius')\n }),\n table: _objectSpread({}, fullWidth ? {} : background, {\n width: '100%',\n 'border-radius': this.getAttribute('border-radius')\n }),\n td: {\n border: this.getAttribute('border'),\n 'border-bottom': this.getAttribute('border-bottom'),\n 'border-left': this.getAttribute('border-left'),\n 'border-right': this.getAttribute('border-right'),\n 'border-top': this.getAttribute('border-top'),\n direction: this.getAttribute('direction'),\n 'font-size': '0px',\n padding: this.getAttribute('padding'),\n 'padding-bottom': this.getAttribute('padding-bottom'),\n 'padding-left': this.getAttribute('padding-left'),\n 'padding-right': this.getAttribute('padding-right'),\n 'padding-top': this.getAttribute('padding-top'),\n 'text-align': this.getAttribute('text-align'),\n 'vertical-align': this.getAttribute('vertical-align')\n },\n div: _objectSpread({}, fullWidth ? {} : background, {\n Margin: '0px auto',\n 'border-radius': this.getAttribute('border-radius'),\n 'max-width': containerWidth\n }),\n innerDiv: {\n 'line-height': '0',\n 'font-size': '0'\n }\n };\n }\n\n hasBackground() {\n return this.getAttribute('background-url') != null;\n }\n\n isFullWidth() {\n return this.getAttribute('full-width') === 'full-width';\n }\n\n renderBefore() {\n var containerWidth = this.context.containerWidth;\n return `\n \x3c!--[if mso | IE]>\n \n \n \n component.constructor.isRawElement() ? component.render() : `\n \x3c!--[if mso | IE]>\n \n \n | \n \n
\n \n \n \n \n \n \n \n \n ${hasBackground ? `` : ''}\n
\n \n \n \n \x3c!--[if mso | IE]>\n \n \n |
\n \n
\n ${hasBackground ? '
' : ''}\n \n `;\n }\n\n renderFullWidth() {\n var content = this.hasBackground() ? this.renderWithBackground(`\n ${this.renderBefore()}\n ${this.renderSection()}\n ${this.renderAfter()}\n `) : `\n ${this.renderBefore()}\n ${this.renderSection()}\n ${this.renderAfter()}\n `;\n return `\n