@responsive-email/react-email
Version:
A utility for writing responsive email templates with react-email
2 lines • 2.14 kB
JavaScript
Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _react = require('react'); var _react2 = _interopRequireDefault(_react);function C(t){return e=>{let s=_react2.default.Children.toArray(e.children),d=s.filter(t).map(n=>_nullishCoalesce(n.props.span, () => (1)));d.length>3&&console.warn("You've exceeded the recommended 3-column limit in your email template. Consider sticking to a maximum of 3 columns for best practice.");let a=d.reduce((n,r)=>n+r,0),m=_nullishCoalesce(e.paddingLeft, () => (0)),c=_nullishCoalesce(e.paddingLeft, () => (0)),u=(_nullishCoalesce(e.maxWidth, () => (600-m-c)))/a;return _react2.default.createElement("table",{align:"center",width:"100%",border:0,cellPadding:"0",cellSpacing:"0",role:"presentation",...e,style:{textAlign:"center",fontSize:0,...e.style}},_react2.default.createElement("tbody",null,_react2.default.createElement("tr",null,_react2.default.createElement("td",{style:{padding:`${_nullishCoalesce(e.paddingTop, () => (0))}px ${_nullishCoalesce(e.paddingRight, () => (0))}px ${_nullishCoalesce(e.paddingBottom, () => (0))}px ${_nullishCoalesce(e.paddingLeft, () => (0))}px`}},s.map((n,r)=>{if(t(n)){let i=n.props,g=_nullishCoalesce(i.span, () => (1));return _react2.default.createElement("table",{key:r,align:"center",width:"100%",border:0,cellPadding:"0",cellSpacing:"0",role:"presentation",...i,style:{maxWidth:u*g,display:"inline-block",verticalAlign:"top",fontSize:16,boxSizing:"border-box",...i.style}},_react2.default.createElement("tbody",null,_react2.default.createElement("tr",null,_react2.default.createElement("td",{...i.tdProps},i.children))))}return n})))))}}function l(){let t=e=>_react2.default.createElement(_react2.default.Fragment,null);return{isResponsiveColumn:e=>_react2.default.isValidElement(e)&&e.type===t,component:t}}var{isResponsiveColumn:B,component:W}=l();exports.a = C; exports.b = B; exports.c = W;
//# sourceMappingURL=chunk-QS4UAGED.js.map
;