`)}
-
+
{contents} |
diff --git a/packages/heml-elements/src/Body.js b/packages/heml-elements/src/Body.js
index 82d2471..b38aa63 100644
--- a/packages/heml-elements/src/Body.js
+++ b/packages/heml-elements/src/Body.js
@@ -1,4 +1,4 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms, cssGroups } from '@heml/utils' // eslint-disable-line no-unused-vars
import Style from './Style'
import Preview from './Preview'
@@ -6,7 +6,7 @@ const {
background,
padding,
font,
- text } = utils.cssGroups
+ text } = cssGroups
export default createElement('body', {
unique: true,
@@ -20,7 +20,7 @@ export default createElement('body', {
'.body__content': [ { '@pseudo': 'content' }, padding, font, text ],
- '.preview': [ { 'background-color': utils.convertProp('color') } ]
+ '.preview': [ { 'background-color': transforms.convertProp('color') } ]
},
async render (attrs, contents) {
diff --git a/packages/heml-elements/src/Column.js b/packages/heml-elements/src/Column.js
index 72c0ffe..a8afb68 100644
--- a/packages/heml-elements/src/Column.js
+++ b/packages/heml-elements/src/Column.js
@@ -1,4 +1,4 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms, cssGroups } from '@heml/utils' // eslint-disable-line no-unused-vars
import Style from './Style'
const {
@@ -6,7 +6,7 @@ const {
box,
padding,
border,
- borderRadius } = utils.cssGroups
+ borderRadius } = cssGroups
const breakpoint = 600
@@ -17,7 +17,7 @@ export default createElement('column', {
containsText: true,
rules: {
- '.column': [ { '@pseudo': 'root' }, { display: utils.trueHide(undefined, true) }, background, box, padding, border, borderRadius, 'vertical-align' ]
+ '.column': [ { '@pseudo': 'root' }, { display: transforms.trueHide(undefined, true) }, background, box, padding, border, borderRadius, 'vertical-align' ]
},
render (attrs, contents) {
diff --git a/packages/heml-elements/src/Container.js b/packages/heml-elements/src/Container.js
index 4adf07d..8e807a8 100644
--- a/packages/heml-elements/src/Container.js
+++ b/packages/heml-elements/src/Container.js
@@ -1,13 +1,9 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms, cssGroups, condition } from '@heml/utils' // eslint-disable-line no-unused-vars
import Style from './Style'
const {
- condition,
trueHide,
- convertProp,
- ieAlignFallback,
- fallbackFor,
- cssGroups } = utils
+ ieAlignFallback } = transforms
const {
background,
@@ -26,7 +22,7 @@ export default createElement('container', {
rules: {
'.container': [ { '@pseudo': 'root' }, { display: trueHide('block') }, margin, width ],
- '.container__table__ie': [ { 'max-width': convertProp('width') }, { width: fallbackFor('max-width') }, { [margin]: ieAlignFallback } ],
+ '.container__table__ie': [ 'width', 'max-width', { [margin]: ieAlignFallback } ],
'.container__table': [ { '@pseudo': 'table' }, table ],
diff --git a/packages/heml-elements/src/Head.js b/packages/heml-elements/src/Head.js
index 4d4149b..b9852b9 100644
--- a/packages/heml-elements/src/Head.js
+++ b/packages/heml-elements/src/Head.js
@@ -33,6 +33,11 @@ export default createElement('head', {
`}
diff --git a/packages/heml-elements/src/Hr.js b/packages/heml-elements/src/Hr.js
new file mode 100644
index 0000000..e2dfa77
--- /dev/null
+++ b/packages/heml-elements/src/Hr.js
@@ -0,0 +1,55 @@
+import HEML, { createElement, transforms, cssGroups, condition } from '@heml/utils' // eslint-disable-line no-unused-vars
+import Style from './Style'
+
+const {
+ trueHide,
+ ieAlignFallback } = transforms
+
+const {
+ background,
+ margin,
+ padding,
+ border,
+ borderRadius,
+ width,
+ height,
+ table,
+ box } = cssGroups
+
+export default createElement('hr', {
+ children: false,
+
+ rules: {
+ '.hr': [ { '@pseudo': 'root' }, { display: trueHide() }, margin, width ],
+
+ '.hr__table__ie': [ 'width', 'max-width', { [margin]: ieAlignFallback } ],
+
+ '.hr__table': [ { '@pseudo': 'table' }, table ],
+
+ '.hr__row': [ { '@pseudo': 'row' } ],
+
+ '.hr__cell': [ { '@pseudo': 'cell' }, height, background, box, padding, border, borderRadius, 'vertical-align' ]
+ },
+
+ render (attrs, contents) {
+ attrs.class += ' hr'
+ return (
+
+ {condition('mso | IE', ` `)}
+
+ {condition('mso | IE', ` |
`)}
+
+
+ )
+ }
+})
diff --git a/packages/heml-elements/src/Img.js b/packages/heml-elements/src/Img.js
index 05ee784..f8b4159 100644
--- a/packages/heml-elements/src/Img.js
+++ b/packages/heml-elements/src/Img.js
@@ -1,4 +1,4 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms } from '@heml/utils' // eslint-disable-line no-unused-vars
import Style from './Style'
import { omit, has } from 'lodash'
import fs from 'fs-extra'
@@ -15,7 +15,7 @@ export default createElement('img', {
},
rules: {
- 'img': [ { '@pseudo': 'root' }, { display: utils.trueHide() }, '@default' ]
+ 'img': [ { '@pseudo': 'root' }, { display: transforms.trueHide() }, '@default' ]
},
async render (attrs, contents) {
diff --git a/packages/heml-elements/src/Preview.js b/packages/heml-elements/src/Preview.js
index 7502a56..8a49b99 100644
--- a/packages/heml-elements/src/Preview.js
+++ b/packages/heml-elements/src/Preview.js
@@ -14,6 +14,6 @@ export default createElement('preview', {
flush () {
const preview = Meta.get('preview')
- return preview ? {preview}{' '.repeat(100 - preview.length)} : ''
+ return preview ? {preview}{' '.repeat(200 - preview.length)} : ''
}
})
diff --git a/packages/heml-elements/src/Row.js b/packages/heml-elements/src/Row.js
index fdd4fdc..e17c473 100644
--- a/packages/heml-elements/src/Row.js
+++ b/packages/heml-elements/src/Row.js
@@ -1,14 +1,13 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms } from '@heml/utils' // eslint-disable-line no-unused-vars
import { sum, max, isUndefined } from 'lodash'
-const { margin } = utils.cssGroups
export default createElement('row', {
children: [ 'column' ],
rules: {
- '.row': [ { '@pseudo': 'root' }, { display: utils.trueHide('block') } ],
+ '.row': [ { '@pseudo': 'root' }, { display: transforms.trueHide('block') } ],
- '.row__table': [ { '@pseudo': 'table' }, margin ],
+ '.row__table': [ { '@pseudo': 'table' } ],
'.row__row': [ { '@pseudo': 'row' } ]
},
diff --git a/packages/heml-elements/src/Table.js b/packages/heml-elements/src/Table.js
index 625672c..f9111a0 100644
--- a/packages/heml-elements/src/Table.js
+++ b/packages/heml-elements/src/Table.js
@@ -1,10 +1,10 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms } from '@heml/utils' // eslint-disable-line no-unused-vars
const Table = createElement('table', {
attrs: true,
containsText: true,
rules: {
- '.table': [ { '@pseudo': 'root' }, '@default', { display: utils.trueHide('table') } ]
+ '.table': [ { '@pseudo': 'root' }, '@default', { display: transforms.trueHide('table') } ]
},
render (attrs, contents) {
diff --git a/packages/heml-elements/src/Typography.js b/packages/heml-elements/src/Typography.js
index 4aa785a..e29f1ad 100644
--- a/packages/heml-elements/src/Typography.js
+++ b/packages/heml-elements/src/Typography.js
@@ -1,9 +1,9 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms, cssGroups } from '@heml/utils' // eslint-disable-line no-unused-vars
import { merge } from 'lodash'
const {
margin, background, border, borderRadius, text, font
-} = utils.cssGroups
+} = cssGroups
/**
* create mergable text element
@@ -12,19 +12,22 @@ const {
* @return {Object}
*/
function createTextElement (name, element = {}) {
+ let classToAdd = ''
+ const Tag = name
+
+ if (/^h\d$/i.test(name)) {
+ classToAdd = 'header'
+ } else {
+ classToAdd = 'text'
+ }
+
return createElement(name, merge({
attrs: true,
rules: {
- [`${name}`]: [ { '@pseudo': 'root' }, '@default', { display: utils.trueHide() }, margin, background, border, borderRadius, text, font ]
+ [`.${name}.${classToAdd}`]: [ { '@pseudo': 'root' }, '@default', { display: transforms.trueHide() }, margin, background, border, borderRadius, text, font ]
},
render (attrs, contents) {
- const Tag = name
-
- if (/^h\d$/i.test(name)) {
- attrs.class += ' header'
- } else {
- attrs.class += ' text'
- }
+ attrs.class += ` ${classToAdd} ${name}`
return {contents}
}
@@ -47,7 +50,7 @@ const A = createElement('a', {
defaultAttrs: { href: '#' },
rules: {
- '.a': [ { '@pseudo': 'root' }, { '@default': true }, { display: utils.trueHide('inline') }, 'color', 'text-decoration' ],
+ '.a': [ { '@pseudo': 'root' }, { '@default': true }, { display: transforms.trueHide('inline') }, 'color', 'text-decoration' ],
'.a__text': [ { '@pseudo': 'text' }, 'color', 'text-decoration' ]
},
diff --git a/packages/heml-elements/src/button.js b/packages/heml-elements/src/button.js
index 1815deb..494be72 100644
--- a/packages/heml-elements/src/button.js
+++ b/packages/heml-elements/src/button.js
@@ -1,4 +1,4 @@
-import HEML, { createElement, utils } from '@heml/utils' // eslint-disable-line no-unused-vars
+import HEML, { createElement, transforms, cssGroups } from '@heml/utils' // eslint-disable-line no-unused-vars
import { omit, pick } from 'lodash'
import Style from './Style'
@@ -13,7 +13,7 @@ const {
table,
text,
font,
- box } = utils.cssGroups
+ box } = cssGroups
export default createElement('button', {
attrs: [ 'href', 'target' ],
@@ -23,7 +23,7 @@ export default createElement('button', {
rules: {
'.button': [
- { '@pseudo': 'root' }, { display: utils.trueHide('block') } ],
+ { '@pseudo': 'root' }, { display: transforms.trueHide('block') } ],
'.button__table': [
{ '@pseudo': 'table' }, margin, table ],
|