MCPcopy
hub / github.com/SparkPost/heml / createTextElement

Function createTextElement

packages/heml-elements/src/Typography.js:14–35  ·  view source on GitHub ↗

* create mergable text element * @param {String} name * @param {Object} element * @return {Object}

(name, element = {})

Source from the content-addressed store, hash-verified

12 * @return {Object}
13 */
14function createTextElement (name, element = {}) {
15 let classToAdd = ''
16 const Tag = name
17
18 if (/^h\d$/i.test(name)) {
19 classToAdd = 'header'
20 } else {
21 classToAdd = 'text'
22 }
23
24 return createElement(name, merge({
25 attrs: true,
26 rules: {
27 [`.${name}.${classToAdd}`]: [ { '@pseudo': 'root' }, '@default', { display: transforms.trueHide() }, margin, background, border, borderRadius, text, font ]
28 },
29 render (attrs, contents) {
30 attrs.class += ` ${classToAdd} ${name}`
31
32 return <Tag {...attrs}>{contents}</Tag>
33 }
34 }, element))
35}
36
37const H1 = createTextElement('h1')
38const H2 = createTextElement('h2')

Callers 1

Typography.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected