: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
className: "block-editor-block-variation-picker__skip",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
onClick: () => onSelect(),
children: (0,external_wp_i18n_namespaceObject.__)('Skip')
/* harmony default export */ const block_variation_picker = (BlockVariationPicker);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/constants.js
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/setup-toolbar.js
}) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: "block-editor-block-pattern-setup__actions",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
onClick: onBlockPatternSelect,
children: (0,external_wp_i18n_namespaceObject.__)('Choose')
const CarouselNavigation = ({
}) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: "block-editor-block-pattern-setup__navigation",
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
label: (0,external_wp_i18n_namespaceObject.__)('Previous pattern'),
disabled: activeSlide === 0,
__experimentalIsFocusable: true
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
label: (0,external_wp_i18n_namespaceObject.__)('Next pattern'),
disabled: activeSlide === totalSlides - 1,
__experimentalIsFocusable: true
const isCarouselView = viewMode === VIEWMODES.carousel;
const displayControls = /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: "block-editor-block-pattern-setup__display-controls",
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
icon: stretch_full_width,
label: (0,external_wp_i18n_namespaceObject.__)('Carousel view'),
onClick: () => setViewMode(VIEWMODES.carousel),
isPressed: isCarouselView
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
label: (0,external_wp_i18n_namespaceObject.__)('Grid view'),
onClick: () => setViewMode(VIEWMODES.grid),
isPressed: viewMode === VIEWMODES.grid
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: "block-editor-block-pattern-setup__toolbar",
children: [isCarouselView && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(CarouselNavigation, {
handlePrevious: handlePrevious,
activeSlide: activeSlide,
}), displayControls, isCarouselView && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Actions, {
onBlockPatternSelect: onBlockPatternSelect
/* harmony default export */ const setup_toolbar = (SetupToolbar);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/use-patterns-setup.js
function usePatternsSetup(clientId, blockName, filterPatternsFn) {
return (0,external_wp_data_namespaceObject.useSelect)(select => {
__experimentalGetAllowedPatterns
const rootClientId = getBlockRootClientId(clientId);
return __experimentalGetAllowedPatterns(rootClientId).filter(filterPatternsFn);
return getPatternsByBlockTypes(blockName, rootClientId);
}, [clientId, blockName, filterPatternsFn]);
/* harmony default export */ const use_patterns_setup = (usePatternsSetup);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-pattern-setup/index.js
CompositeV2: block_pattern_setup_Composite,
CompositeItemV2: block_pattern_setup_CompositeItem,
useCompositeStoreV2: block_pattern_setup_useCompositeStore
} = unlock(external_wp_components_namespaceObject.privateApis);
const compositeStore = block_pattern_setup_useCompositeStore();
const containerClass = 'block-editor-block-pattern-setup__container';
if (viewMode === VIEWMODES.carousel) {
const slideClass = new Map([[activeSlide, 'active-slide'], [activeSlide - 1, 'previous-slide'], [activeSlide + 1, 'next-slide']]);
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: "block-editor-block-pattern-setup__carousel",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: containerClass,
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: "carousel-container",
children: patterns.map((pattern, index) => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(BlockPatternSlide, {
active: index === activeSlide,
className: slideClass.get(index) || '',
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: "block-editor-block-pattern-setup__grid",
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_pattern_setup_Composite, {
className: containerClass,
"aria-label": (0,external_wp_i18n_namespaceObject.__)('Patterns list'),
children: patterns.map(pattern => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_pattern_setup_BlockPattern, {
onSelect: onBlockPatternSelect,
function block_pattern_setup_BlockPattern({
const baseClassName = 'block-editor-block-pattern-setup-list';
const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(block_pattern_setup_BlockPattern, `${baseClassName}__item-description`);
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: `${baseClassName}__list-item`,
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)(block_pattern_setup_CompositeItem, {
render: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
"aria-describedby": description ? descriptionId : undefined,
"aria-label": pattern.title,
className: `${baseClassName}__item`
id: `${baseClassName}__pattern__${pattern.name}`,
onClick: () => onSelect(blocks),
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_preview, {
viewportWidth: viewportWidth
}), showTitles && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: `${baseClassName}__item-title`,
}), !!description && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, {
function BlockPatternSlide({
const descriptionId = (0,external_wp_compose_namespaceObject.useInstanceId)(BlockPatternSlide, 'block-editor-block-pattern-setup-list__item-description');
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: `pattern-slide ${className}`,
"aria-describedby": description ? descriptionId : undefined,
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_preview, {
}), !!description && /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, {
const BlockPatternSetup = ({
initialViewMode = VIEWMODES.carousel,
const [viewMode, setViewMode] = (0,external_wp_element_namespaceObject.useState)(initialViewMode);
const [activeSlide, setActiveSlide] = (0,external_wp_element_namespaceObject.useState)(0);
} = (0,external_wp_data_namespaceObject.useDispatch)(store);
const patterns = use_patterns_setup(clientId, blockName, filterPatternsFn);
const onBlockPatternSelectDefault = blocks => {
const clonedBlocks = blocks.map(block => (0,external_wp_blocks_namespaceObject.cloneBlock)(block));
replaceBlock(clientId, clonedBlocks);
const onPatternSelectCallback = onBlockPatternSelect || onBlockPatternSelectDefault;
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_ReactJSXRuntime_namespaceObject.Fragment, {
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("div", {
className: `block-editor-block-pattern-setup view-mode-${viewMode}`,
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(SetupContent, {
activeSlide: activeSlide,
onBlockPatternSelect: onPatternSelectCallback,
}), /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(setup_toolbar, {
setViewMode: setViewMode,
activeSlide: activeSlide,
totalSlides: patterns.length,
setActiveSlide(active => Math.min(active + 1, patterns.length - 1));
setActiveSlide(active => Math.max(active - 1, 0));
onBlockPatternSelect: () => {
onPatternSelectCallback(patterns[activeSlide].blocks);
/* harmony default export */ const block_pattern_setup = (BlockPatternSetup);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/block-variation-transforms/index.js
function VariationsButtons({
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsxs)("fieldset", {
children: [/*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.VisuallyHidden, {
children: (0,external_wp_i18n_namespaceObject.__)('Transform to variation')
}), variations.map(variation => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.Button, {
icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_icon, {
isPressed: selectedValue === variation.name,
label: selectedValue === variation.name ? variation.title : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block variation */
(0,external_wp_i18n_namespaceObject.__)('Transform to %s'), variation.title),
onClick: () => onSelectVariation(variation.name),
"aria-label": variation.title,
function VariationsDropdown({
const selectOptions = variations.map(({
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.DropdownMenu, {
label: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'),
text: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'),
position: 'bottom center',
className: `${className}__popover`
children: () => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
className: `${className}__container`,
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuGroup, {
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.MenuItemsChoice, {
onSelect: onSelectVariation
function VariationsToggleGroupControl({
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalToggleGroupControl, {
label: (0,external_wp_i18n_namespaceObject.__)('Transform to variation'),
hideLabelFromVision: true,
onChange: onSelectVariation,
__next40pxDefaultSize: true,
__nextHasNoMarginBottom: true,
children: variations.map(variation => /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_components_namespaceObject.__experimentalToggleGroupControlOptionIcon, {
icon: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(block_icon, {
label: selectedValue === variation.name ? variation.title : (0,external_wp_i18n_namespaceObject.sprintf)( /* translators: %s: Name of the block variation */
(0,external_wp_i18n_namespaceObject.__)('Transform to %s'), variation.title)
function __experimentalBlockVariationTransforms({
} = (0,external_wp_data_namespaceObject.useDispatch)(store);
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
} = select(external_wp_blocks_namespaceObject.store);
const name = blockClientId && getBlockName(blockClientId);
activeBlockVariation: getActiveBlockVariation(name, getBlockAttributes(blockClientId)),
variations: name && getBlockVariations(name, 'transform')
const selectedValue = activeBlockVariation?.name;
// Check if each variation has a unique icon.
const hasUniqueIcons = (0,external_wp_element_namespaceObject.useMemo)(() => {
const variationIcons = new Set();
variations.forEach(variation => {
variationIcons.add(variation.icon?.src || variation.icon);
return variationIcons.size === variations.length;
const onSelectVariation = variationName => {
updateBlockAttributes(blockClientId, {
}) => name === variationName).attributes
// Skip rendering if there are no variations
if (!variations?.length) {
const baseClass = 'block-editor-block-variation-transforms';
// Show buttons if there are more than 5 variations because the ToggleGroupControl does not wrap
const showButtons = variations.length > 5;
const ButtonComponent = showButtons ? VariationsButtons : VariationsToggleGroupControl;
const Component = hasUniqueIcons ? ButtonComponent : VariationsDropdown;
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Component, {
onSelectVariation: onSelectVariation,
selectedValue: selectedValue,
/* harmony default export */ const block_variation_transforms = (__experimentalBlockVariationTransforms);
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/components/color-palette/with-color-context.js
/* harmony default export */ const with_color_context = ((0,external_wp_compose_namespaceObject.createHigherOrderComponent)(WrappedComponent => {
const [colorsFeature, enableCustomColors] = use_settings_useSettings('color.palette', 'color.custom');