: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
* @return {Object} React component.
var BackgroundPreview = function BackgroundPreview(_ref) {
var attributes = _ref.attributes,
onRemoveBackground = _ref.onRemoveBackground,
onPreviewClicked = _ref.onPreviewClicked;
var Button = wp.components.Button;
var _wpforms_gutenberg_fo = wpforms_gutenberg_form_selector,
strings = _wpforms_gutenberg_fo.strings;
return /*#__PURE__*/React.createElement("div", {
className: "wpforms-gutenberg-form-selector-background-preview"
}, /*#__PURE__*/React.createElement("style", null, "\n\t\t\t\t\t.wpforms-gutenberg-form-selector-background-preview-image {\n\t\t\t\t\t\t--wpforms-background-url: ".concat(attributes.backgroundUrl, ";\n\t\t\t\t\t}\n\t\t\t\t")), /*#__PURE__*/React.createElement("input", {
className: "wpforms-gutenberg-form-selector-background-preview-image",
onClick: onPreviewClicked,
onKeyDown: function onKeyDown(event) {
if (event.key === 'Enter' || event.key === ' ') {
}), /*#__PURE__*/React.createElement(Button, {
className: "is-destructive",
onClick: onRemoveBackground
}, strings.remove_image));
BackgroundPreview.propTypes = {
attributes: _propTypes.default.object.isRequired,
onRemoveBackground: _propTypes.default.func.isRequired,
onPreviewClicked: _propTypes.default.func.isRequired
var _default = exports.default = BackgroundPreview;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIkJhY2tncm91bmRQcmV2aWV3IiwiX3JlZiIsImF0dHJpYnV0ZXMiLCJvblJlbW92ZUJhY2tncm91bmQiLCJvblByZXZpZXdDbGlja2VkIiwiQnV0dG9uIiwid3AiLCJjb21wb25lbnRzIiwiX3dwZm9ybXNfZ3V0ZW5iZXJnX2ZvIiwid3Bmb3Jtc19ndXRlbmJlcmdfZm9ybV9zZWxlY3RvciIsInN0cmluZ3MiLCJSZWFjdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJjb25jYXQiLCJiYWNrZ3JvdW5kVXJsIiwib25DbGljayIsInRhYkluZGV4IiwidHlwZSIsIm9uS2V5RG93biIsImV2ZW50Iiwia2V5IiwiaXNTZWNvbmRhcnkiLCJyZW1vdmVfaW1hZ2UiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJvYmplY3QiLCJpc1JlcXVpcmVkIiwiZnVuYyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbImJhY2tncm91bmQtcHJldmlldy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWwgd3Bmb3Jtc19ndXRlbmJlcmdfZm9ybV9zZWxlY3RvciAqL1xuLyoganNoaW50IGVzMzogZmFsc2UsIGVzdmVyc2lvbjogNiAqL1xuXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG4vKipcbiAqIEBwYXJhbSBzdHJpbmdzLnJlbW92ZV9pbWFnZVxuICovXG5cbi8qKlxuICogUmVhY3QgY29tcG9uZW50IGZvciB0aGUgYmFja2dyb3VuZCBwcmV2aWV3LlxuICpcbiAqIEBzaW5jZSAxLjguOFxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSAgIHByb3BzICAgICAgICAgICAgICAgICAgICBDb21wb25lbnQgcHJvcHMuXG4gKiBAcGFyYW0ge09iamVjdH0gICBwcm9wcy5hdHRyaWJ1dGVzICAgICAgICAgQmxvY2sgYXR0cmlidXRlcy5cbiAqIEBwYXJhbSB7RnVuY3Rpb259IHByb3BzLm9uUmVtb3ZlQmFja2dyb3VuZCBGdW5jdGlvbiB0byByZW1vdmUgdGhlIGJhY2tncm91bmQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBwcm9wcy5vblByZXZpZXdDbGlja2VkICAgRnVuY3Rpb24gdG8gaGFuZGxlIHRoZSBwcmV2aWV3IGNsaWNrLlxuICpcbiAqIEByZXR1cm4ge09iamVjdH0gUmVhY3QgY29tcG9uZW50LlxuICovXG5jb25zdCBCYWNrZ3JvdW5kUHJldmlldyA9ICggeyBhdHRyaWJ1dGVzLCBvblJlbW92ZUJhY2tncm91bmQsIG9uUHJldmlld0NsaWNrZWQgfSApID0+IHtcblx0Y29uc3QgeyBCdXR0b24gfSA9IHdwLmNvbXBvbmVudHM7XG5cdGNvbnN0IHsgc3RyaW5ncyB9ID0gd3Bmb3Jtc19ndXRlbmJlcmdfZm9ybV9zZWxlY3RvcjtcblxuXHRyZXR1cm4gKFxuXHRcdDxkaXYgY2xhc3NOYW1lPVwid3Bmb3Jtcy1ndXRlbmJlcmctZm9ybS1zZWxlY3Rvci1iYWNrZ3JvdW5kLXByZXZpZXdcIj5cblx0XHRcdDxzdHlsZT5cblx0XHRcdFx0eyBgXG5cdFx0XHRcdFx0LndwZm9ybXMtZ3V0ZW5iZXJnLWZvcm0tc2VsZWN0b3ItYmFja2dyb3VuZC1wcmV2aWV3LWltYWdlIHtcblx0XHRcdFx0XHRcdC0td3Bmb3Jtcy1iYWNrZ3JvdW5kLXVybDogJHsgYXR0cmlidXRlcy5iYWNrZ3JvdW5kVXJsIH07XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRgIH1cblx0XHRcdDwvc3R5bGU+XG5cdFx0XHQ8aW5wdXRcblx0XHRcdFx0Y2xhc3NOYW1lPVwid3Bmb3Jtcy1ndXRlbmJlcmctZm9ybS1zZWxlY3Rvci1iYWNrZ3JvdW5kLXByZXZpZXctaW1hZ2VcIlxuXHRcdFx0XHRvbkNsaWNrPXsgb25QcmV2aWV3Q2xpY2tlZCB9XG5cdFx0XHRcdHRhYkluZGV4PXsgMCB9XG5cdFx0XHRcdHR5cGU9XCJidXR0b25cIlxuXHRcdFx0XHRvbktleURvd249e1xuXHRcdFx0XHRcdCggZXZlbnQgKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoIGV2ZW50LmtleSA9PT0gJ0VudGVyJyB8fCBldmVudC5rZXkgPT09ICcgJyApIHtcblx0XHRcdFx0XHRcdFx0b25QcmV2aWV3Q2xpY2tlZCgpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0PlxuXHRcdFx0PC9pbnB1dD5cblx0XHRcdDxCdXR0b25cblx0XHRcdFx0aXNTZWNvbmRhcnlcblx0XHRcdFx0Y2xhc3NOYW1lPVwiaXMtZGVzdHJ1Y3RpdmVcIlxuXHRcdFx0XHRvbkNsaWNrPXsgb25SZW1vdmVCYWNrZ3JvdW5kIH1cblx0XHRcdD5cblx0XHRcdFx0eyBzdHJpbmdzLnJlbW92ZV9pbWFnZSB9XG5cdFx0XHQ8L0J1dHRvbj5cblx0XHQ8L2Rpdj5cblx0KTtcbn07XG5cbkJhY2tncm91bmRQcmV2aWV3LnByb3BUeXBlcyA9IHtcblx0YXR0cmlidXRlczogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuXHRvblJlbW92ZUJhY2tncm91bmQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG5cdG9uUHJldmlld0NsaWNrZWQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBCYWNrZ3JvdW5kUHJldmlldztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsSUFBQUEsVUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQW1DLFNBQUFELHVCQUFBRSxHQUFBLFdBQUFBLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLEdBQUFELEdBQUEsS0FBQUUsT0FBQSxFQUFBRixHQUFBO0FBSG5DO0FBQ0E7O0FBSUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQU1HLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUFDLElBQUEsRUFBK0Q7RUFBQSxJQUF4REMsVUFBVSxHQUFBRCxJQUFBLENBQVZDLFVBQVU7SUFBRUMsa0JBQWtCLEdBQUFGLElBQUEsQ0FBbEJFLGtCQUFrQjtJQUFFQyxnQkFBZ0IsR0FBQUgsSUFBQSxDQUFoQkcsZ0JBQWdCO0VBQzdFLElBQVFDLE1BQU0sR0FBS0MsRUFBRSxDQUFDQyxVQUFVLENBQXhCRixNQUFNO0VBQ2QsSUFBQUcscUJBQUEsR0FBb0JDLCtCQUErQjtJQUEzQ0MsT0FBTyxHQUFBRixxQkFBQSxDQUFQRSxPQUFPO0VBRWYsb0JBQ0NDLEtBQUEsQ0FBQUMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBb0QsZ0JBQ2xFRixLQUFBLENBQUFDLGFBQUEsa0lBQUFFLE1BQUEsQ0FHZ0NaLFVBQVUsQ0FBQ2EsYUFBYSw2QkFHakQsQ0FBQyxlQUNSSixLQUFBLENBQUFDLGFBQUE7SUFDQ0MsU0FBUyxFQUFDLDBEQUEwRDtJQUNwRUcsT0FBTyxFQUFHWixnQkFBa0I7SUFDNUJhLFFBQVEsRUFBRyxDQUFHO0lBQ2RDLElBQUksRUFBQyxRQUFRO0lBQ2JDLFNBQVMsRUFDUixTQUFBQSxVQUFFQyxLQUFLLEVBQU07TUFDWixJQUFLQSxLQUFLLENBQUNDLEdBQUcsS0FBSyxPQUFPLElBQUlELEtBQUssQ0FBQ0MsR0FBRyxLQUFLLEdBQUcsRUFBRztRQUNqRGpCLGdCQUFnQixDQUFDLENBQUM7TUFDbkI7SUFDRDtFQUNBLENBRUssQ0FBQyxlQUNSTyxLQUFBLENBQUFDLGFBQUEsQ0FBQ1AsTUFBTTtJQUNOaUIsV0FBVztJQUNYVCxTQUFTLEVBQUMsZ0JBQWdCO0lBQzFCRyxPQUFPLEVBQUdiO0VBQW9CLEdBRTVCTyxPQUFPLENBQUNhLFlBQ0gsQ0FDSixDQUFDO0FBRVIsQ0FBQztBQUVEdkIsaUJBQWlCLENBQUN3QixTQUFTLEdBQUc7RUFDN0J0QixVQUFVLEVBQUV1QixrQkFBUyxDQUFDQyxNQUFNLENBQUNDLFVBQVU7RUFDdkN4QixrQkFBa0IsRUFBRXNCLGtCQUFTLENBQUNHLElBQUksQ0FBQ0QsVUFBVTtFQUM3Q3ZCLGdCQUFnQixFQUFFcUIsa0JBQVMsQ0FBQ0csSUFBSSxDQUFDRDtBQUNsQyxDQUFDO0FBQUMsSUFBQUUsUUFBQSxHQUFBQyxPQUFBLENBQUEvQixPQUFBLEdBRWFDLGlCQUFpQiJ9
},{"prop-types":6}],15:[function(require,module,exports){
Object.defineProperty(exports, "__esModule", {
exports.default = void 0;
var _backgroundPreview = _interopRequireDefault(require("./background-preview.js"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /* global wpforms_gutenberg_form_selector */ /* jshint es3: false, esversion: 6 */
* @param strings.background_styles
* @param strings.bottom_center
* @param strings.bottom_left
* @param strings.bottom_right
* @param strings.center_center
* @param strings.center_left
* @param strings.center_right
* @param strings.choose_image
* @param strings.image_url
* @param strings.media_library
* @param strings.no_repeat
* @param strings.repeat_x
* @param strings.repeat_y
* @param strings.select_background_image
* @param strings.select_image
* @param strings.stock_photo
* @param strings.top_center
* @param strings.top_left
* @param strings.top_right
* Gutenberg editor block.
* Background styles panel module.
var _default = exports.default = function () {
var _ref = wp.blockEditor || wp.editor,
PanelColorSettings = _ref.PanelColorSettings;
var _wp$components = wp.components,
SelectControl = _wp$components.SelectControl,
PanelBody = _wp$components.PanelBody,
Flex = _wp$components.Flex,
FlexBlock = _wp$components.FlexBlock,
__experimentalUnitControl = _wp$components.__experimentalUnitControl,
TextControl = _wp$components.TextControl,
Button = _wp$components.Button;
var _wp$element = wp.element,
useState = _wp$element.useState,
useEffect = _wp$element.useEffect;
* Localized data aliases.
var _wpforms_gutenberg_fo = wpforms_gutenberg_form_selector,
strings = _wpforms_gutenberg_fo.strings,
defaults = _wpforms_gutenberg_fo.defaults,
isPro = _wpforms_gutenberg_fo.isPro,
isLicenseActive = _wpforms_gutenberg_fo.isLicenseActive;
* Whether the background is selected.
var backgroundSelected = false;
* Public functions and properties.
* @return {Object} Block attributes.
getBlockAttributes: function getBlockAttributes() {
default: defaults.backgroundImage
default: defaults.backgroundPosition
default: defaults.backgroundRepeat
default: defaults.backgroundSizeMode
default: defaults.backgroundSize
default: defaults.backgroundWidth
default: defaults.backgroundHeight
default: defaults.backgroundColor
default: defaults.backgroundUrl
* Get Background Styles panel JSX code.
* @param {Object} props Block properties.
* @param {Object} handlers Block handlers.
* @param {Object} formSelectorCommon Block properties.
* @param {Object} stockPhotos Stock Photos module.
* @return {Object} Field styles JSX code.
getBackgroundStyles: function getBackgroundStyles(props, handlers, formSelectorCommon, stockPhotos) {
// eslint-disable-line max-lines-per-function, complexity
var _useState = useState(app._showBackgroundPreview(props)),
_useState2 = _slicedToArray(_useState, 2),
showBackgroundPreview = _useState2[0],
setShowBackgroundPreview = _useState2[1]; // eslint-disable-line react-hooks/rules-of-hooks
var _useState3 = useState(''),
_useState4 = _slicedToArray(_useState3, 2),
lastBgImage = _useState4[0],
setLastBgImage = _useState4[1]; // eslint-disable-line react-hooks/rules-of-hooks
var _useState5 = useState(isPro && isLicenseActive),
_useState6 = _slicedToArray(_useState5, 2),
isNotDisabled = _useState6[0],
_setIsNotDisabled = _useState6[1]; // eslint-disable-line react-hooks/rules-of-hooks, no-unused-vars
var _useState7 = useState(isPro),
_useState8 = _slicedToArray(_useState7, 2),
isProEnabled = _useState8[0],
_setIsProEnabled = _useState8[1]; // eslint-disable-line react-hooks/rules-of-hooks, no-unused-vars
var tabIndex = isNotDisabled ? 0 : -1;
var cssClass = formSelectorCommon.getPanelClass(props) + (isNotDisabled ? '' : ' wpforms-gutenberg-panel-disabled');
// eslint-disable-line react-hooks/rules-of-hooks
setShowBackgroundPreview(props.attributes.backgroundImage !== 'none' && props.attributes.backgroundUrl && props.attributes.backgroundUrl !== 'url()');
}, [backgroundSelected, props.attributes.backgroundImage, props.attributes.backgroundUrl]); // eslint-disable-line react-hooks/exhaustive-deps
return /*#__PURE__*/React.createElement(PanelBody, {
title: strings.background_styles
}, /*#__PURE__*/React.createElement("div", {
// eslint-disable-line jsx-a11y/no-static-element-interactions
className: "wpforms-gutenberg-form-selector-panel-body",
onClick: function onClick(event) {
return formSelectorCommon.education.showProModal('background', strings.background_styles);
formSelectorCommon.education.showLicenseModal('background', strings.background_styles, 'background-styles');
onKeyDown: function onKeyDown(event) {
return formSelectorCommon.education.showProModal('background', strings.background_styles);
formSelectorCommon.education.showLicenseModal('background', strings.background_styles, 'background-styles');
}, /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(SelectControl, {
value: props.attributes.backgroundImage,
label: strings.media_library,
label: strings.stock_photo,
onChange: function onChange(value) {
return app.setContainerBackgroundImageWrapper(props, handlers, value, lastBgImage, setLastBgImage);
})), /*#__PURE__*/React.createElement(FlexBlock, null, (props.attributes.backgroundImage !== 'none' || !isNotDisabled) && /*#__PURE__*/React.createElement(SelectControl, {
value: props.attributes.backgroundPosition,
label: strings.top_center,
label: strings.top_right,
label: strings.center_left,
label: strings.center_center,
label: strings.center_right,
label: strings.bottom_left,
label: strings.bottom_center,
label: strings.bottom_right,
disabled: props.attributes.backgroundImage === 'none' && isNotDisabled,
onChange: function onChange(value) {
return handlers.styleAttrChange('backgroundPosition', value);
}))), (props.attributes.backgroundImage !== 'none' || !isNotDisabled) && /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(SelectControl, {
value: props.attributes.backgroundRepeat,
label: strings.no_repeat,
disabled: props.attributes.backgroundImage === 'none' && isNotDisabled,
onChange: function onChange(value) {
return handlers.styleAttrChange('backgroundRepeat', value);
})), /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(SelectControl, {
value: props.attributes.backgroundSizeMode,
label: strings.dimensions,
disabled: props.attributes.backgroundImage === 'none' && isNotDisabled,
onChange: function onChange(value) {
return app.handleSizeFromDimensions(props, handlers, value);
}))), (props.attributes.backgroundSizeMode === 'dimensions' && props.attributes.backgroundImage !== 'none' || !isNotDisabled) && /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(__experimentalUnitControl, {
value: props.attributes.backgroundWidth,
isUnitSelectTabbable: isNotDisabled,
onChange: function onChange(value) {
return app.handleSizeFromWidth(props, handlers, value);
})), /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(__experimentalUnitControl, {
value: props.attributes.backgroundHeight,
isUnitSelectTabbable: isNotDisabled,
onChange: function onChange(value) {
return app.handleSizeFromHeight(props, handlers, value);
}))), (!showBackgroundPreview || props.attributes.backgroundUrl === 'url()') && (props.attributes.backgroundImage === 'library' && /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(Button, {
className: 'wpforms-gutenberg-form-selector-media-library-button',
onClick: app.openMediaLibrary.bind(null, props, handlers, setShowBackgroundPreview)
}, strings.choose_image))) || props.attributes.backgroundImage === 'stock' && /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement(Button, {
className: 'wpforms-gutenberg-form-selector-media-library-button',
onClick: stockPhotos === null || stockPhotos === void 0 ? void 0 : stockPhotos.openModal.bind(null, props, handlers, 'bg-styles', setShowBackgroundPreview)
}, strings.choose_image)))), (showBackgroundPreview && props.attributes.backgroundImage !== 'none' || props.attributes.backgroundUrl !== 'url()') && /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_backgroundPreview.default, {
attributes: props.attributes,
onRemoveBackground: function onRemoveBackground() {
app.onRemoveBackground(setShowBackgroundPreview, handlers, setLastBgImage);
onPreviewClicked: function onPreviewClicked() {
if (props.attributes.backgroundImage === 'library') {
return app.openMediaLibrary(props, handlers, setShowBackgroundPreview);
return stockPhotos === null || stockPhotos === void 0 ? void 0 : stockPhotos.openModal(props, handlers, 'bg-styles', setShowBackgroundPreview);
})), /*#__PURE__*/React.createElement(TextControl, {
label: strings.image_url,
value: props.attributes.backgroundImage !== 'none' && props.attributes.backgroundUrl,
className: 'wpforms-gutenberg-form-selector-image-url',
onChange: function onChange(value) {
return handlers.styleAttrChange('backgroundUrl', value);
onLoad: function onLoad(value) {
return props.attributes.backgroundImage !== 'none' && handlers.styleAttrChange('backgroundUrl', value);
}))), /*#__PURE__*/React.createElement(Flex, {
className: 'wpforms-gutenberg-form-selector-flex',
}, /*#__PURE__*/React.createElement(FlexBlock, null, /*#__PURE__*/React.createElement("div", {
className: "wpforms-gutenberg-form-selector-control-label"
}, strings.colors), /*#__PURE__*/React.createElement(PanelColorSettings, {
__experimentalIsRenderedInSidebar: true,
className: "wpforms-gutenberg-form-selector-color-panel",
value: props.attributes.backgroundColor,
onChange: function onChange(value) {
handlers.styleAttrChange('backgroundColor', value);
label: strings.background
* Open media library modal and handle image selection.
* @param {Object} props Block properties.
* @param {Object} handlers Block handlers.
* @param {Function} setShowBackgroundPreview Set show background preview.
openMediaLibrary: function openMediaLibrary(props, handlers, setShowBackgroundPreview) {
title: strings.select_background_image,
text: strings.select_image
frame.on('select', function () {
var attachment = frame.state().get('selection').first().toJSON();
var attribute = 'backgroundUrl';
var value = "url(".concat(attachment.url, ")");
setAttr[attribute] = value;
props.setAttributes(setAttr);
handlers.styleAttrChange('backgroundUrl', value);
setShowBackgroundPreview(true);
* Set container background image.
* @param {HTMLElement} container Container element.
* @param {string} value Value.
* @return {boolean} True if the value was set, false otherwise.
setContainerBackgroundImage: function setContainerBackgroundImage(container, value) {
container.style.setProperty("--wpforms-background-url", 'url()');
* Set container background image.
* @param {Object} props Block properties.
* @param {Object} handlers Block event handlers.
* @param {string} value Value.
* @param {string} lastBgImage Last background image.
* @param {Function} setLastBgImage Set last background image.
setContainerBackgroundImageWrapper: function setContainerBackgroundImageWrapper(props, handlers, value, lastBgImage, setLastBgImage) {
setLastBgImage(props.attributes.backgroundUrl);
props.attributes.backgroundUrl = 'url()';
handlers.styleAttrChange('backgroundUrl', 'url()');
} else if (lastBgImage) {
props.attributes.backgroundUrl = lastBgImage;
handlers.styleAttrChange('backgroundUrl', lastBgImage);
handlers.styleAttrChange('backgroundImage', value);