function NewElement( props ) {
try {
const { createElement } = wp.react;
const { element } = props;
const data = element.data;
const { ElementWrapper } = window.yaymailData.shared.core_components;
const { useShortcode } = window.yaymailData.shared.hooks;
const { doShortcode } = useShortcode();
const title = doShortcode(data.title || '');
const content = doShortcode(data.content || '');
const titleColor = data.title_color?.default_value || '#000000';
const titleFontSize = data.title_font_size?.default_value || '16px';
const wrapperStyles = {
'background-color': data.background_color ?? 'transparent',
'padding-top': data.padding?.top + 'px' ?? 0,
'padding-right': data.padding?.right + 'px' ?? 0,
'padding-bottom': data.padding?.bottom + 'px' ?? 0,
'padding-left': data.padding?.left + 'px' ?? 0,
'font-family': data.font_family ?? 'initial',
};
return createElement(
ElementWrapper,
{
element,
className: 'new_element-wrapper',
style: wrapperStyles,
},
createElement(
'div',
{ className: 'new_element-container' },
createElement(
'h2',
{
style: {
color: titleColor,
fontSize: titleFontSize,
},
},
title,
),
createElement('div', { className: 'new_element-content' }, content),
),
);
} catch (error) {
return createElement('div', { className: 'error' }, 'Error loading element');
}
}
export default NewElement;