UNPKG

hemath

Version:

Build responsive Mautic Themes based on the Heml laungage

112 lines (95 loc) 3.13 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.A = exports.Li = exports.Ul = exports.Ol = exports.P = exports.H6 = exports.H5 = exports.H4 = exports.H3 = exports.H2 = exports.H1 = undefined; var _utils = require('@heml/utils'); var _utils2 = _interopRequireDefault(_utils); var _lodash = require('lodash'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var margin = _utils.cssGroups.margin, background = _utils.cssGroups.background, border = _utils.cssGroups.border, borderRadius = _utils.cssGroups.borderRadius, text = _utils.cssGroups.text, font = _utils.cssGroups.font; /** * create mergable text element * @param {String} name * @param {Object} element * @return {Object} */ // eslint-disable-line no-unused-vars function createTextElement(name) { var element = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var classToAdd = ''; var Tag = name; if (/^h\d$/i.test(name)) { classToAdd = 'header'; } else { classToAdd = 'text'; } return (0, _utils.createElement)(name, (0, _lodash.merge)({ attrs: true, rules: { [`.${name}.${classToAdd}`]: [{ '@pseudo': 'root' }, '@default', { display: _utils.transforms.trueHide() }, margin, background, border, borderRadius, text, font] }, render(attrs, contents) { attrs.class += ` ${classToAdd} ${name}`; return _utils2.default.renderElement( 'div', { 'data-slot-container': '1' }, _utils2.default.renderElement( 'div', { 'data-slot': 'text' }, _utils2.default.renderElement( Tag, attrs, contents ) ) ); } }, element)); } var H1 = createTextElement('h1'); var H2 = createTextElement('h2'); var H3 = createTextElement('h3'); var H4 = createTextElement('h4'); var H5 = createTextElement('h5'); var H6 = createTextElement('h6'); var P = createTextElement('p'); var Ol = createTextElement('ol'); var Ul = createTextElement('ul'); var Li = createTextElement('li'); var A = (0, _utils.createElement)('a', { attrs: true, defaultAttrs: { href: '#' }, rules: { '.a': [{ '@pseudo': 'root' }, { '@default': true }, { display: _utils.transforms.trueHide('inline') }, 'color', 'text-decoration'], '.a__text': [{ '@pseudo': 'text' }, 'color', 'text-decoration'] }, render(attrs, contents) { attrs.class += ' a'; return _utils2.default.renderElement( 'a', attrs, _utils2.default.renderElement( 'span', { 'class': 'a__text' }, contents ) ); } }); exports.H1 = H1; exports.H2 = H2; exports.H3 = H3; exports.H4 = H4; exports.H5 = H5; exports.H6 = H6; exports.P = P; exports.Ol = Ol; exports.Ul = Ul; exports.Li = Li; exports.A = A;