gitextract_vim4znp0/ ├── .editorconfig ├── .eslintignore ├── .eslintrc ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ └── workflows/ │ ├── build-documentation.yml │ ├── mjml-workflow.yml │ └── npm-publish.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── babel.config.js ├── doc/ │ ├── basic.md │ ├── body_components.md │ ├── community-components.md │ ├── community-contributions.md │ ├── components_1.md │ ├── components_2.md │ ├── config.json │ ├── create.md │ ├── ending-tags.md │ ├── getting_started.md │ ├── guide.md │ ├── head_components.md │ ├── install.md │ ├── mjml-bar-chart.md │ ├── mjml-chart.md │ ├── mjml-chartjs.md │ ├── mjml-mso-button.md │ ├── mjml-qr-code.md │ ├── ports.md │ ├── tooling.md │ └── using_mjml_in_json.md ├── lerna.json ├── package.json ├── packages/ │ ├── mjml/ │ │ ├── README.md │ │ ├── bin/ │ │ │ └── mjml │ │ ├── package.json │ │ ├── src/ │ │ │ └── index.js │ │ └── test/ │ │ ├── accordion-fontFamily.test.js │ │ ├── accordion-padding.test.js │ │ ├── accordionTitle-fontWeight.test.js │ │ ├── carousel-hoverSupported.test.js │ │ ├── column-border-radius.test.js │ │ ├── html-attributes.test.js │ │ ├── html-comments.test.js │ │ ├── lazy-head-style.test.js │ │ ├── navbar-ico-padding.test.js │ │ ├── social-align.test.js │ │ ├── social-icon-height.test.js │ │ ├── table-cellspacing.test.js │ │ ├── tableWidth.test.js │ │ ├── wrapper-border-radius.test.js │ │ └── wrapper-gap.test.js │ ├── mjml-accordion/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── Accordion.js │ │ ├── AccordionElement.js │ │ ├── AccordionText.js │ │ ├── AccordionTitle.js │ │ └── index.js │ ├── mjml-body/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-browser/ │ │ ├── README.md │ │ ├── browser-mocks/ │ │ │ ├── fs.js │ │ │ ├── path.js │ │ │ └── uglify-js.js │ │ ├── package.json │ │ └── webpack.config.js │ ├── mjml-button/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-carousel/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── Carousel.js │ │ ├── CarouselImage.js │ │ └── index.js │ ├── mjml-cli/ │ │ ├── README.md │ │ ├── bin/ │ │ │ └── mjml │ │ ├── package.json │ │ └── src/ │ │ ├── client.js │ │ ├── commands/ │ │ │ ├── outputToConsole.js │ │ │ ├── outputToFile.js │ │ │ ├── readFile.js │ │ │ ├── readStream.js │ │ │ └── watchFiles.js │ │ └── helpers/ │ │ ├── defaultOptions.js │ │ └── fileContext.js │ ├── mjml-column/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-core/ │ │ ├── README.md │ │ ├── package.json │ │ ├── src/ │ │ │ ├── components.js │ │ │ ├── createComponent.js │ │ │ ├── helpers/ │ │ │ │ ├── conditionalTag.js │ │ │ │ ├── fonts.js │ │ │ │ ├── formatAttributes.js │ │ │ │ ├── genRandomHexString.js │ │ │ │ ├── jsonToXML.js │ │ │ │ ├── makeLowerBreakpoint.js │ │ │ │ ├── mediaQueries.js │ │ │ │ ├── mergeOutlookConditionnals.js │ │ │ │ ├── minifyOutlookConditionnals.js │ │ │ │ ├── mjmlconfig.js │ │ │ │ ├── preview.js │ │ │ │ ├── shorthandParser.js │ │ │ │ ├── skeleton.js │ │ │ │ ├── styles.js │ │ │ │ ├── suffixCssClasses.js │ │ │ │ └── widthParser.js │ │ │ ├── index.js │ │ │ └── types/ │ │ │ ├── boolean.js │ │ │ ├── color.js │ │ │ ├── enum.js │ │ │ ├── helpers/ │ │ │ │ └── colors.js │ │ │ ├── index.js │ │ │ ├── integer.js │ │ │ ├── string.js │ │ │ ├── type.js │ │ │ └── unit.js │ │ └── tests/ │ │ ├── .eslintrc │ │ ├── index.js │ │ ├── jsonToXml-test.js │ │ ├── mergeOutlookConditionnals-test.js │ │ ├── minifyOutlookConditionnals-test.js │ │ ├── shorthandParser-test.js │ │ ├── skeleton-test.js │ │ └── widthParser-test.js │ ├── mjml-divider/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-group/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head/ │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-attributes/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-breakpoint/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-font/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-html-attributes/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-preview/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-style/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-head-title/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-hero/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-image/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-migrate/ │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── cli.js │ │ ├── config.js │ │ └── migrate.js │ ├── mjml-navbar/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── Navbar.js │ │ ├── NavbarLink.js │ │ └── index.js │ ├── mjml-parser-xml/ │ │ ├── package.json │ │ ├── src/ │ │ │ ├── helpers/ │ │ │ │ ├── cleanNode.js │ │ │ │ ├── convertBooleansOnAttrs.js │ │ │ │ └── setEmptyAttributes.js │ │ │ └── index.js │ │ └── test/ │ │ ├── incl.mjml │ │ ├── test-preprocessors.js │ │ ├── test-utils.js │ │ ├── test-values.js │ │ └── test.js │ ├── mjml-preset-core/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── dependencies.js │ │ └── index.js │ ├── mjml-raw/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-section/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-social/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── Social.js │ │ ├── SocialElement.js │ │ └── index.js │ ├── mjml-spacer/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-table/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-text/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ └── index.js │ ├── mjml-validator/ │ │ ├── README.md │ │ ├── package.json │ │ └── src/ │ │ ├── MJMLRulesCollection.js │ │ ├── dependencies.js │ │ ├── index.js │ │ └── rules/ │ │ ├── errorAttr.js │ │ ├── ruleError.js │ │ ├── validAttributes.js │ │ ├── validChildren.js │ │ ├── validTag.js │ │ └── validTypes.js │ └── mjml-wrapper/ │ ├── README.md │ ├── package.json │ └── src/ │ └── index.js ├── readme-ja.md ├── test.js └── type.js