: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
__experimentalFontFamily: true
__experimentalSkipSerialization: true,
padding: ['horizontal', 'vertical'],
__experimentalDefaultControls: {
__experimentalSkipSerialization: true
__experimentalSelector: '.wp-block-button__link'
const borderProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetBorderClassesAndStyles)(attributes);
const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes);
const spacingProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetSpacingClassesAndStyles)(attributes);
const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, borderProps.className, {
// For backwards compatibility add style that isn't provided via
'no-border-radius': style?.border?.radius === 0
// The use of a `title` attribute here is soft-deprecated, but still applied
// if it had already been assigned, for the sake of backward-compatibility.
// A title will no longer be assigned for new or updated button block links.
const wrapperClasses = dist_clsx(className, {
[`has-custom-width wp-block-button__width-${width}`]: width,
[`has-custom-font-size`]: fontSize || style?.typography?.fontSize
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
...external_wp_blockEditor_namespaceObject.useBlockProps.save({
className: wrapperClasses
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, {
className: buttonClasses,
migrate: migrate_font_family,
return style?.typography?.fontFamily;
const deprecated_deprecated = [v11, v10, {
__experimentalSkipSerialization: true,
__experimentalFontFamily: true
__experimentalSelector: '.wp-block-button__link'
return typeof style?.border?.radius === 'number';
const borderRadius = style?.border?.radius;
const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes);
const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, {
'no-border-radius': style?.border?.radius === 0
borderRadius: borderRadius ? borderRadius : undefined,
// The use of a `title` attribute here is soft-deprecated, but still applied
// if it had already been assigned, for the sake of backward-compatibility.
// A title will no longer be assigned for new or updated button block links.
const wrapperClasses = dist_clsx(className, {
[`has-custom-width wp-block-button__width-${width}`]: width,
[`has-custom-font-size`]: fontSize || style?.typography?.fontSize
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
...external_wp_blockEditor_namespaceObject.useBlockProps.save({
className: wrapperClasses
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, {
className: buttonClasses,
migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius)
__experimentalSkipSerialization: true
__experimentalSelector: '.wp-block-button__link'
const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes);
const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, {
'no-border-radius': borderRadius === 0
borderRadius: borderRadius ? borderRadius + 'px' : undefined,
// The use of a `title` attribute here is soft-deprecated, but still applied
// if it had already been assigned, for the sake of backward-compatibility.
// A title will no longer be assigned for new or updated button block links.
const wrapperClasses = dist_clsx(className, {
[`has-custom-width wp-block-button__width-${width}`]: width
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
...external_wp_blockEditor_namespaceObject.useBlockProps.save({
className: wrapperClasses
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, {
className: buttonClasses,
migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius)
__experimentalSkipSerialization: true
__experimentalSelector: '.wp-block-button__link'
const colorProps = (0,external_wp_blockEditor_namespaceObject.__experimentalGetColorClassesAndStyles)(attributes);
const buttonClasses = dist_clsx('wp-block-button__link', colorProps.className, {
'no-border-radius': borderRadius === 0
borderRadius: borderRadius ? borderRadius + 'px' : undefined,
// The use of a `title` attribute here is soft-deprecated, but still applied
// if it had already been assigned, for the sake of backward-compatibility.
// A title will no longer be assigned for new or updated button block links.
const wrapperClasses = dist_clsx(className, {
[`has-custom-width wp-block-button__width-${width}`]: width
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", {
...external_wp_blockEditor_namespaceObject.useBlockProps.save({
className: wrapperClasses
children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, {
className: buttonClasses,
migrate: (0,external_wp_compose_namespaceObject.compose)(migrate_font_family, migrateBorderRadius)
const buttonClasses = dist_clsx('wp-block-button__link', {
'no-border-radius': borderRadius === 0
borderRadius: borderRadius ? borderRadius + 'px' : undefined
return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(external_wp_blockEditor_namespaceObject.RichText.Content, {
className: buttonClasses,
migrate: migrateBorderRadius
isEligible: attributes => !!attributes.customTextColor || !!attributes.customBackgroundColor || !!attributes.customGradient || !!attributes.align,
migrate: (0,external_wp_compose_namespaceObject.compose)(migrateBorderRadius, migrateCustomColorsAndGradients, migrateAlign),