diff --git a/assets/js/src/form_editor/blocks/input_styles_settings.jsx b/assets/js/src/form_editor/blocks/input_styles_settings.jsx
index 943589f9a6..f70d720b15 100644
--- a/assets/js/src/form_editor/blocks/input_styles_settings.jsx
+++ b/assets/js/src/form_editor/blocks/input_styles_settings.jsx
@@ -1,10 +1,13 @@
import React, { useState } from 'react';
import MailPoet from 'mailpoet';
import {
+ ColorIndicator,
+ ColorPalette,
Panel,
PanelBody,
ToggleControl,
} from '@wordpress/components';
+import { useSelect } from '@wordpress/data';
import { partial } from 'underscore';
import PropTypes from 'prop-types';
@@ -14,6 +17,16 @@ const InputStylesSettings = ({
}) => {
const [localStyles, setStyles] = useState(styles);
+ const { settingsColors } = useSelect(
+ (select) => {
+ const { getSettings } = select('core/block-editor');
+ return {
+ settingsColors: getSettings().colors,
+ };
+ },
+ []
+ );
+
const updateStyles = (property, value) => {
const updated = { ...localStyles };
updated[property] = value;
@@ -35,6 +48,24 @@ const InputStylesSettings = ({
/>
{!localStyles.inheritFromTheme ? (
<>
+
+
+ {MailPoet.I18n.t('formSettingsStylesBackgroundColor')}
+ {
+ styles.backgroundColor !== undefined
+ && (
+
+ )
+ }
+
+
+
{
return mappedStyles;
}
mappedStyles.bold = styles.bold ? '1' : '0';
+ if (has(styles, 'backgroundColor') && styles.backgroundColor) {
+ mappedStyles.background_color = styles.backgroundColor;
+ }
return mappedStyles;
};
diff --git a/assets/js/src/form_editor/store/form_body_to_blocks.jsx b/assets/js/src/form_editor/store/form_body_to_blocks.jsx
index f7dc6847fc..62d8cc10b4 100644
--- a/assets/js/src/form_editor/store/form_body_to_blocks.jsx
+++ b/assets/js/src/form_editor/store/form_body_to_blocks.jsx
@@ -39,6 +39,9 @@ const mapBlockStyles = (styles) => {
}
mappedStyles.inheritFromTheme = false;
mappedStyles.bold = styles.bold === '1';
+ if (has(styles, 'background_color') && styles.background_color) {
+ mappedStyles.backgroundColor = styles.background_color;
+ }
return mappedStyles;
};
diff --git a/tests/javascript/form_editor/store/blocks_to_form_body.spec.js b/tests/javascript/form_editor/store/blocks_to_form_body.spec.js
index 17f3f64592..ca1957fd0d 100644
--- a/tests/javascript/form_editor/store/blocks_to_form_body.spec.js
+++ b/tests/javascript/form_editor/store/blocks_to_form_body.spec.js
@@ -83,6 +83,7 @@ describe('Blocks to Form Body', () => {
fullWidth: false,
inheritFromTheme: false,
bold: true,
+ backgroundColor: '#aaaaaa',
},
},
};
@@ -96,6 +97,7 @@ describe('Blocks to Form Body', () => {
expect(inputWithCustomStyles.styles).to.eql({
full_width: '0',
bold: '1',
+ background_color: '#aaaaaa',
});
});
diff --git a/tests/javascript/form_editor/store/form_body_to_blocks.spec.js b/tests/javascript/form_editor/store/form_body_to_blocks.spec.js
index 1a8f00e308..99d6f29e93 100644
--- a/tests/javascript/form_editor/store/form_body_to_blocks.spec.js
+++ b/tests/javascript/form_editor/store/form_body_to_blocks.spec.js
@@ -132,6 +132,7 @@ describe('Form Body To Blocks', () => {
const customTextStyles = {
full_width: '0',
bold: '1',
+ background_color: '#ffffff',
};
const map = formBodyToBlocksFactory(colorDefinitions, [customFieldText]);
@@ -147,6 +148,7 @@ describe('Form Body To Blocks', () => {
fullWidth: false,
inheritFromTheme: false,
bold: true,
+ backgroundColor: '#ffffff',
});
});