: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
if (typeof props.className === 'string') {
className = emotion_utils_browser_esm_getRegisteredStyles(cache.registered, classInterpolations, props.className);
} else if (props.className != null) {
className = props.className + " ";
var serialized = emotion_serialize_browser_esm_serializeStyles(styles.concat(classInterpolations), cache.registered, mergedProps);
className += cache.key + "-" + serialized.name;
if (targetClassName !== undefined) {
className += " " + targetClassName;
var finalShouldForwardProp = shouldUseAs && shouldForwardProp === undefined ? getDefaultShouldForwardProp(FinalTag) : defaultShouldForwardProp;
for (var _key in props) {
if (shouldUseAs && _key === 'as') continue;
finalShouldForwardProp(_key)) {
newProps[_key] = props[_key];
newProps.className = className;
return /*#__PURE__*/(0,external_React_.createElement)(external_React_.Fragment, null, /*#__PURE__*/(0,external_React_.createElement)(emotion_styled_base_browser_esm_Insertion, {
isStringTag: typeof FinalTag === 'string'
}), /*#__PURE__*/(0,external_React_.createElement)(FinalTag, newProps));
Styled.displayName = identifierName !== undefined ? identifierName : "Styled(" + (typeof baseTag === 'string' ? baseTag : baseTag.displayName || baseTag.name || 'Component') + ")";
Styled.defaultProps = tag.defaultProps;
Styled.__emotion_real = Styled;
Styled.__emotion_base = baseTag;
Styled.__emotion_styles = styles;
Styled.__emotion_forwardProp = shouldForwardProp;
Object.defineProperty(Styled, 'toString', {
value: function value() {
if (targetClassName === undefined && "production" !== 'production') {} // $FlowFixMe: coerce undefined to string
return "." + targetClassName;
Styled.withComponent = function (nextTag, nextOptions) {
return createStyled(nextTag, extends_extends({}, options, nextOptions, {
shouldForwardProp: composeShouldForwardProps(Styled, nextOptions, true)
})).apply(void 0, styles);
/* harmony default export */ const emotion_styled_base_browser_esm = (createStyled);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/dimensions-tool/width-height-tool.js
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
const SingleColumnToolsPanelItem = /*#__PURE__*/emotion_styled_base_browser_esm(external_wp_components_namespaceObject.__experimentalToolsPanelItem, true ? {
styles: "grid-column:span 1"
* @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit
* @typedef {Object} WidthHeightToolValue
* @property {string} [width] Width CSS value.
* @property {string} [height] Height CSS value.
* @callback WidthHeightToolOnChange
* @param {WidthHeightToolValue} nextValue Next dimensions value.
* @typedef {Object} WidthHeightToolProps
* @property {string} [panelId] ID of the panel that contains the controls.
* @property {WidthHeightToolValue} [value] Current dimensions values.
* @property {WidthHeightToolOnChange} [onChange] Callback to update the dimensions values.
* @property {WPUnitControlUnit[]} [units] Units options.
* @property {boolean} [isShownByDefault] Whether the panel is shown by default.
* Component that renders controls to edit the dimensions of an image or container.
* @param {WidthHeightToolProps} props The component props.
* @return {import('react').ReactElement} The width and height tool.
function WidthHeightTool({
var _value$width, _value$height;
// null, undefined, and 'auto' all represent the default value.
const width = value.width === 'auto' ? '' : (_value$width = value.width) !== null && _value$width !== void 0 ? _value$width : '';
const height = value.height === 'auto' ? '' : (_value$height = value.height) !== null && _value$height !== void 0 ? _value$height : '';
const onDimensionChange = dimension => nextDimension => {
// Empty strings or undefined may be passed and both represent removing the value.
delete nextValue[dimension];
nextValue[dimension] = nextDimension;
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(SingleColumnToolsPanelItem, {
label: (0,external_wp_i18n_namespaceObject.__)('Width'),
isShownByDefault: isShownByDefault,
hasValue: () => width !== '',
onDeselect: onDimensionChange('width'),
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalUnitControl, {
label: (0,external_wp_i18n_namespaceObject.__)('Width'),
placeholder: (0,external_wp_i18n_namespaceObject.__)('Auto'),
onChange: onDimensionChange('width'),
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(SingleColumnToolsPanelItem, {
label: (0,external_wp_i18n_namespaceObject.__)('Height'),
isShownByDefault: isShownByDefault,
hasValue: () => height !== '',
onDeselect: onDimensionChange('height'),
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalUnitControl, {
label: (0,external_wp_i18n_namespaceObject.__)('Height'),
placeholder: (0,external_wp_i18n_namespaceObject.__)('Auto'),
onChange: onDimensionChange('height'),
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/dimensions-tool/index.js
* @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps
* @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit
* @typedef {Object} Dimensions
* @property {string} [width] CSS width property.
* @property {string} [height] CSS height property.
* @property {string} [scale] CSS object-fit property.
* @property {string} [aspectRatio] CSS aspect-ratio property.
* @callback DimensionsControlsOnChange
* @param {Dimensions} nextValue
* @typedef {Object} DimensionsControlsProps
* @property {string} [panelId] ID of the panel that contains the controls.
* @property {Dimensions} [value] Current dimensions values.
* @property {DimensionsControlsOnChange} [onChange] Callback to update the dimensions values.
* @property {SelectControlProps[]} [aspectRatioOptions] Aspect ratio options.
* @property {SelectControlProps[]} [scaleOptions] Scale options.
* @property {WPUnitControlUnit[]} [unitsOptions] Units options.
* Component that renders controls to edit the dimensions of an image or container.
* @param {DimensionsControlsProps} props The component props.
* @return {Element} The dimensions controls.
function DimensionsTool({
// Default options handled by AspectRatioTool.
defaultAspectRatio = 'auto',
// Match CSS default value for aspect-ratio.
// Default options handled by ScaleTool.
// Match CSS default value for object-fit.
unitsOptions // Default options handled by UnitControl.
// Coerce undefined and CSS default values to be null.
const width = value.width === undefined || value.width === 'auto' ? null : value.width;
const height = value.height === undefined || value.height === 'auto' ? null : value.height;
const aspectRatio = value.aspectRatio === undefined || value.aspectRatio === 'auto' ? null : value.aspectRatio;
const scale = value.scale === undefined || value.scale === 'fill' ? null : value.scale;
// Keep track of state internally, so when the value is cleared by means
// other than directly editing that field, it's easier to restore the
const [lastScale, setLastScale] = (0,external_wp_element_namespaceObject.useState)(scale);
const [lastAspectRatio, setLastAspectRatio] = (0,external_wp_element_namespaceObject.useState)(aspectRatio);
// 'custom' is not a valid value for CSS aspect-ratio, but it is used in the
// dropdown to indicate that setting both the width and height is the same
// as a custom aspect ratio.
const aspectRatioValue = width && height ? 'custom' : lastAspectRatio;
const showScaleControl = aspectRatio || width && height;
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(external_ReactJSXRuntime_namespaceObject.Fragment, {
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(AspectRatioTool, {
options: aspectRatioOptions,
defaultValue: defaultAspectRatio,
onChange: nextAspectRatio => {
// 'auto' is CSS default, so it gets treated as null.
nextAspectRatio = nextAspectRatio === 'auto' ? null : nextAspectRatio;
setLastAspectRatio(nextAspectRatio);
delete nextValue.aspectRatio;
nextValue.aspectRatio = nextAspectRatio;
nextValue.scale = lastScale;
nextValue.scale = defaultScale;
setLastScale(defaultScale);
// Auto-update width and height.
if ('custom' !== nextAspectRatio && width && height) {
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(WidthHeightTool, {
// 'auto' is CSS default, so it gets treated as null.
nextWidth = nextWidth === 'auto' ? null : nextWidth;
nextHeight = nextHeight === 'auto' ? null : nextHeight;
nextValue.width = nextWidth;
nextValue.height = nextHeight;
// Auto-update aspectRatio.
if (nextWidth && nextHeight) {
delete nextValue.aspectRatio;
} else if (lastAspectRatio) {
nextValue.aspectRatio = lastAspectRatio;
// No setting defaultAspectRatio here, because
// aspectRatio is optional in this scenario,
if (!lastAspectRatio && !!nextWidth !== !!nextHeight) {
nextValue.scale = lastScale;
nextValue.scale = defaultScale;
setLastScale(defaultScale);
}), showScaleControl && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(ScaleTool, {
defaultValue: defaultScale,
// 'fill' is CSS default, so it gets treated as null.
nextScale = nextScale === 'fill' ? null : nextScale;
nextValue.scale = nextScale;
/* harmony default export */ const dimensions_tool = (DimensionsTool);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/resolution-tool/index.js
const DEFAULT_SIZE_OPTIONS = [{
label: (0,external_wp_i18n_namespaceObject._x)('Thumbnail', 'Image size option for resolution control'),
label: (0,external_wp_i18n_namespaceObject._x)('Medium', 'Image size option for resolution control'),
label: (0,external_wp_i18n_namespaceObject._x)('Large', 'Image size option for resolution control'),
label: (0,external_wp_i18n_namespaceObject._x)('Full Size', 'Image size option for resolution control'),
function ResolutionTool({
options = DEFAULT_SIZE_OPTIONS,
defaultValue = DEFAULT_SIZE_OPTIONS[0].value,
const displayValue = value !== null && value !== void 0 ? value : defaultValue;
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalToolsPanelItem, {
hasValue: () => displayValue !== defaultValue,
label: (0,external_wp_i18n_namespaceObject.__)('Resolution'),
onDeselect: () => onChange(defaultValue),
isShownByDefault: isShownByDefault,
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.SelectControl, {
label: (0,external_wp_i18n_namespaceObject.__)('Resolution'),
help: (0,external_wp_i18n_namespaceObject.__)('Select the size of the source image.'),
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/private-apis.js
* Private @wordpress/block-editor APIs.
...global_styles_namespaceObject,
ExperimentalBlockCanvas: ExperimentalBlockCanvas,
ExperimentalBlockEditorProvider: ExperimentalBlockEditorProvider,
getDuotoneFilter: getDuotoneFilter,
getRichTextValues: getRichTextValues,
PrivateInserter: ComposedPrivateInserter,
PrivateQuickInserter: QuickInserter,
extractWords: extractWords,
getNormalizedSearchTerms: getNormalizedSearchTerms,
normalizeString: normalizeString,
PrivateListView: PrivateListView,
ResizableBoxPopover: ResizableBoxPopover,
BlockInfo: block_info_slot_fill,
useHasBlockToolbar: useHasBlockToolbar,
cleanEmptyObject: utils_cleanEmptyObject,
useStyleOverride: useStyleOverride,
BlockQuickNavigation: BlockQuickNavigation,
LayoutStyle: LayoutStyle,
BlockRemovalWarningModal: BlockRemovalWarningModal,
useLayoutClasses: useLayoutClasses,
useLayoutStyles: useLayoutStyles,
DimensionsTool: dimensions_tool,
ResolutionTool: ResolutionTool,
TextAlignmentControl: TextAlignmentControl,
ReusableBlocksRenameHint: ReusableBlocksRenameHint,
useReusableBlocksRenameHint: useReusableBlocksRenameHint,
usesContextKey: usesContextKey,
useFlashEditableBlocks: useFlashEditableBlocks,
globalStylesDataKey: globalStylesDataKey,
selectBlockPatternsKey: selectBlockPatternsKey,