From 2900bb6ec8692a3c054a990aa8c83cc7e777728c Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 10:07:39 +0530
Subject: [PATCH 01/11] Fix countup, add the top padding for the icon by
default
---
...class-responsive-block-editor-addons-frontend-styles.php | 2 +-
src/blocks/count-up/attributes.js | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/classes/class-responsive-block-editor-addons-frontend-styles.php b/classes/class-responsive-block-editor-addons-frontend-styles.php
index ad5a5d323..5e8837d0d 100644
--- a/classes/class-responsive-block-editor-addons-frontend-styles.php
+++ b/classes/class-responsive-block-editor-addons-frontend-styles.php
@@ -14875,7 +14875,7 @@ public static function get_responsive_block_count_up_default_attributes() {
'contentTextDecoration' => '',
'headingTextDecoration' => '',
'dateTextDecoration' => '',
- 'countupTopPadding' => '',
+ 'countupTopPadding' => 30,
'countupTopPaddingMobile' => '',
'countupTopPaddingTablet' => '',
'countupBottomPadding' => '',
diff --git a/src/blocks/count-up/attributes.js b/src/blocks/count-up/attributes.js
index 48239e013..5dedec799 100644
--- a/src/blocks/count-up/attributes.js
+++ b/src/blocks/count-up/attributes.js
@@ -7,7 +7,7 @@ for (var i = 1; i <= ITEM_COUNT; i++) {
icon: "lightbulb",
title: __("Title ", "responsive-block-editor-addons") + i,
amount: "1234",
- features: "",
+ features: __("Description ", "responsive-block-editor-addons") + i,
});
}
@@ -591,5 +591,9 @@ const attributes = {
type: "number",
default: '',
},
+ countupTopPadding: {
+ type: "number",
+ default: 30,
+ }
};
export default attributes;
From 3b45beda3bd142a1c5158cf1c389483fad90337c Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 13:12:04 +0530
Subject: [PATCH 02/11] Fix border radius is not working on card cta
---
...ve-block-editor-addons-frontend-styles.php | 25 ++++++++-
src/blocks/card/attributes.js | 52 +++++++++++++++++--
src/blocks/card/components/editor-styles.js | 27 ++++++++--
3 files changed, 96 insertions(+), 8 deletions(-)
diff --git a/classes/class-responsive-block-editor-addons-frontend-styles.php b/classes/class-responsive-block-editor-addons-frontend-styles.php
index 5e8837d0d..cef7ca493 100644
--- a/classes/class-responsive-block-editor-addons-frontend-styles.php
+++ b/classes/class-responsive-block-editor-addons-frontend-styles.php
@@ -5189,7 +5189,10 @@ public static function get_responsive_block_card_css( $attr, $id ) {
'margin-left' => self::get_css_value( $attr['ctaButtonLeftMargin'], 'px' ),
'margin-right' => self::get_css_value( $attr['ctaButtonRightMargin'], 'px' ),
'border-style' => 'empty' !== $attr['butborderStyle'] && 'none' !== $attr['ctaBorderStyle'] ? $attr['butborderStyle'] : $attr['ctaBorderStyle'], // For compatibility with v1.3.2.
- 'border-radius' => 999 !== $attr['butborderRadius'] && 2 === $attr['ctaBorderRadius'] ? self::get_css_value( $attr['butborderRadius'], 'px' ) : self::get_css_value( $attr['ctaBorderRadius'], 'px' ), // For compatibility with v1.3.2.
+ 'border-top-left-radius' => self::get_css_value( $attr['ctaBlockTopRadius'], 'px' ),
+ 'border-top-right-radius' => self::get_css_value( $attr['ctaBlockRightRadius'], 'px' ),
+ 'border-bottom-left-radius' => self::get_css_value( $attr['ctaBlockBottomRadius'], 'px' ),
+ 'border-bottom-right-radius' => self::get_css_value( $attr['ctaBlockLeftRadius'], 'px' ),
'border-width' => 999 !== $attr['butborderWidth'] && 1 === $attr['ctaBorderWidth'] ? self::get_css_value( $attr['butborderWidth'], 'px' ) : self::get_css_value( $attr['ctaBorderWidth'], 'px' ), // For compatibility with v1.3.2.
'background-image' => $flag ? '' : $updated_button_background_color,
'border-color' => $attr['ctaBorderColor'],
@@ -5233,6 +5236,10 @@ public static function get_responsive_block_card_css( $attr, $id ) {
'margin-bottom' => self::get_css_value( $attr['ctaButtonBottomMarginMobile'], 'px' ),
'margin-left' => self::get_css_value( $attr['ctaButtonLeftMarginMobile'], 'px' ),
'margin-right' => self::get_css_value( $attr['ctaButtonRightMarginMobile'], 'px' ),
+ 'border-top-left-radius' => self::get_css_value( $attr['ctaBlockTopRadiusMobile'], 'px' ),
+ 'border-top-right-radius' => self::get_css_value( $attr['ctaBlockRightRadiusMobile'], 'px' ),
+ 'border-bottom-left-radius' => self::get_css_value( $attr['ctaBlockBottomRadiusMobile'], 'px' ),
+ 'border-bottom-right-radius' => self::get_css_value( $attr['ctaBlockLeftRadiusMobile'], 'px' ),
),
' .wp-block-responsive-block-editor-addons-card-item' => array(
'border-top-left-radius' => self::get_css_value( $attr['blockTopRadiusMobile'], 'px' ),
@@ -5286,6 +5293,10 @@ public static function get_responsive_block_card_css( $attr, $id ) {
'margin-bottom' => self::get_css_value( $attr['ctaButtonBottomMarginTablet'], 'px' ),
'margin-left' => self::get_css_value( $attr['ctaButtonLeftMarginTablet'], 'px' ),
'margin-right' => self::get_css_value( $attr['ctaButtonRightMarginTablet'], 'px' ),
+ 'border-top-left-radius' => self::get_css_value( $attr['ctaBlockTopRadiusTablet'], 'px' ),
+ 'border-top-right-radius' => self::get_css_value( $attr['ctaBlockRightRadiusTablet'], 'px' ),
+ 'border-bottom-left-radius' => self::get_css_value( $attr['ctaBlockBottomRadiusTablet'], 'px' ),
+ 'border-bottom-right-radius' => self::get_css_value( $attr['ctaBlockLeftRadiusTablet'], 'px' ),
),
' .wp-block-responsive-block-editor-addons-card-item' => array(
'border-top-left-radius' => self::get_css_value( $attr['blockTopRadiusTablet'], 'px' ),
@@ -5585,6 +5596,18 @@ public static function get_responsive_block_card_default_attributes() {
'backgroundImageTwoId' => null,
'backgroundImageThreeId' => null,
'backgroundImageFourId' => null,
+ 'ctaBlockTopRadius' => 0,
+ 'ctaBlockRightRadius' => 0,
+ 'ctaBlockBottomRadius' => 0,
+ 'ctaBlockLeftRadius' => 0,
+ 'ctaBlockTopRadiusMobile' => 0,
+ 'ctaBlockRightRadiusMobile' => 0,
+ 'ctaBlockBottomRadiusMobile' => 0,
+ 'ctaBlockLeftRadiusMobile' => 0,
+ 'ctaBlockTopRadiusTablet' => 0,
+ 'ctaBlockRightRadiusTablet' => 0,
+ 'ctaBlockBottomRadiusTablet' => 0,
+ 'ctaBlockLeftRadiusTablet' => 0,
);
}
diff --git a/src/blocks/card/attributes.js b/src/blocks/card/attributes.js
index c8ef36098..cb1188af0 100644
--- a/src/blocks/card/attributes.js
+++ b/src/blocks/card/attributes.js
@@ -359,10 +359,6 @@ const attributes = {
type: "number",
default: 1,
},
- ctaBorderRadius: {
- type: "number",
- default: 2,
- },
ctaBorderStyle: {
type: "string",
default: "none",
@@ -1063,5 +1059,53 @@ const attributes = {
backgroundImageTwoId: { type: "number", default: null },
backgroundImageThreeId: { type: "number", default: null },
backgroundImageFourId: { type: "number", default: null },
+ ctaBlockTopRadius: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockRightRadius: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockBottomRadius: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockLeftRadius: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockTopRadiusMobile: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockRightRadiusMobile: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockBottomRadiusMobile: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockLeftRadiusMobile: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockTopRadiusTablet: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockRightRadiusTablet: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockBottomRadiusTablet: {
+ type: "number",
+ default: 0,
+ },
+ ctaBlockLeftRadiusTablet: {
+ type: "number",
+ default: 0,
+ },
};
export default attributes;
diff --git a/src/blocks/card/components/editor-styles.js b/src/blocks/card/components/editor-styles.js
index 599edf9db..6d69b51f2 100644
--- a/src/blocks/card/components/editor-styles.js
+++ b/src/blocks/card/components/editor-styles.js
@@ -250,6 +250,18 @@ function EditorStyles(props) {
contentTextDecoration,
subTextDecoration,
headingTextDecoration,
+ ctaBlockTopRadius,
+ ctaBlockRightRadius,
+ ctaBlockBottomRadius,
+ ctaBlockLeftRadius,
+ ctaBlockTopRadiusMobile,
+ ctaBlockRightRadiusMobile,
+ ctaBlockBottomRadiusMobile,
+ ctaBlockLeftRadiusMobile,
+ ctaBlockTopRadiusTablet,
+ ctaBlockRightRadiusTablet,
+ ctaBlockBottomRadiusTablet,
+ ctaBlockLeftRadiusTablet,
} = props.attributes;
var boxShadowPositionCSS = boxShadowPosition;
@@ -482,9 +494,10 @@ function EditorStyles(props) {
"margin-right": generateCSSUnit(ctaButtonRightMargin, "px"),
"border-style": butborderStyle !== "empty" && ctaBorderStyle === "none" ? butborderStyle : ctaBorderStyle ? ctaBorderStyle : "none", //For compatibility with v1.3.2.
"border-color": ctaBorderColor,
- "border-radius": butborderRadius !== 999 && ctaBorderRadius === 2 ? generateCSSUnit(butborderRadius, "px") : ctaBorderRadius //For compatibility with v1.3.2.
- ? generateCSSUnit(ctaBorderRadius, "px")
- : "",
+ "border-top-left-radius": generateCSSUnit(ctaBlockTopRadius, "px"),
+ "border-top-right-radius": generateCSSUnit(ctaBlockRightRadius, "px"),
+ "border-bottom-left-radius": generateCSSUnit(ctaBlockBottomRadius, "px"),
+ "border-bottom-right-radius": generateCSSUnit(ctaBlockLeftRadius, "px"),
"border-width": butborderWidth !== 999 && ctaBorderWidth === 1 ? generateCSSUnit(butborderWidth, "px") : ctaBorderWidth //For compatibility with v1.3.2.
? generateCSSUnit(ctaBorderWidth, "px")
: "0px",
@@ -527,6 +540,10 @@ function EditorStyles(props) {
"margin-bottom": generateCSSUnit(ctaButtonBottomMarginMobile, "px"),
"margin-left": generateCSSUnit(ctaButtonLeftMarginMobile, "px"),
"margin-right": generateCSSUnit(ctaButtonRightMarginMobile, "px"),
+ "border-top-left-radius": generateCSSUnit(ctaBlockTopRadiusMobile, "px"),
+ "border-top-right-radius": generateCSSUnit(ctaBlockRightRadiusMobile, "px"),
+ "border-bottom-left-radius": generateCSSUnit(ctaBlockBottomRadiusMobile, "px"),
+ "border-bottom-right-radius": generateCSSUnit(ctaBlockLeftRadiusMobile, "px"),
},
" .wp-block-responsive-block-editor-addons-card-item": {
"border-top-left-radius": generateCSSUnit(blockTopRadiusMobile, "px"),
@@ -579,6 +596,10 @@ function EditorStyles(props) {
"margin-bottom": generateCSSUnit(ctaButtonBottomMarginTablet, "px"),
"margin-left": generateCSSUnit(ctaButtonLeftMarginTablet, "px"),
"margin-right": generateCSSUnit(ctaButtonRightMarginTablet, "px"),
+ "border-top-left-radius": generateCSSUnit(ctaBlockTopRadiusTablet, "px"),
+ "border-top-right-radius": generateCSSUnit(ctaBlockRightRadiusTablet, "px"),
+ "border-bottom-left-radius": generateCSSUnit(ctaBlockBottomRadiusTablet, "px"),
+ "border-bottom-right-radius": generateCSSUnit(ctaBlockLeftRadiusTablet, "px"),
},
" .wp-block-responsive-block-editor-addons-card-item": {
"border-top-left-radius": generateCSSUnit(blockTopRadiusTablet, "px"),
From 34dd1c2bba5d06e3e4b0a5a959c5a670e31400ec Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 15:25:50 +0530
Subject: [PATCH 03/11] Fix the overlay issue in the testimonial slider
---
.../class-responsive-block-editor-addons-frontend-styles.php | 4 ++--
src/blocks/testimonial-slider/attributes.js | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/classes/class-responsive-block-editor-addons-frontend-styles.php b/classes/class-responsive-block-editor-addons-frontend-styles.php
index cef7ca493..dfd95e796 100644
--- a/classes/class-responsive-block-editor-addons-frontend-styles.php
+++ b/classes/class-responsive-block-editor-addons-frontend-styles.php
@@ -13475,11 +13475,11 @@ public static function get_responsive_block_testimonial_slider_css( $attr, $id )
$imgopacity = $attr['opacity'] / 100;
+ $updated_background_image = 'url(' . $attr['backgroundImage'] . ')';
$background_image_effect = '';
- $updated_background_image = '';
$color_type = '';
- if ( 'color' === $attr['overlayType'] || '' === $attr['overlayType'] || 'none' === $attr['overlayType'] ) {
+ if ( 'color' === $attr['overlayType'] ) {
$color_type = self::hex_to_rgba(
$attr['backgroundImageColor'],
$imgopacity
diff --git a/src/blocks/testimonial-slider/attributes.js b/src/blocks/testimonial-slider/attributes.js
index 78c5cc15f..8606d8543 100644
--- a/src/blocks/testimonial-slider/attributes.js
+++ b/src/blocks/testimonial-slider/attributes.js
@@ -890,7 +890,6 @@ const attributes = {
},
overlayType: {
type: "string",
- default: "color",
},
gradientOverlayColor1: {
type: "string",
From 1e3f8b1f7462ef7eafb7e53b8d3244bba1d7dc71 Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 15:37:44 +0530
Subject: [PATCH 04/11] Remove hardcoded cpts and add default row gap in post
grid
---
src/blocks/post-grid/components/edit.js | 8 --------
src/blocks/post-grid/index.php | 6 +++---
src/blocks/section/styles/styles.editor.scss | 3 +--
3 files changed, 4 insertions(+), 13 deletions(-)
diff --git a/src/blocks/post-grid/components/edit.js b/src/blocks/post-grid/components/edit.js
index 2f332f0e0..ce2a30e9e 100755
--- a/src/blocks/post-grid/components/edit.js
+++ b/src/blocks/post-grid/components/edit.js
@@ -129,14 +129,6 @@ class LatestPostsBlock extends Component {
const postTypeOptions = [
{ value: "post", label: __("Post", "responsive-block-editor-addons") },
{ value: "page", label: __("Page", "responsive-block-editor-addons") },
- {
- value: "sfwd-courses",
- label: __("Courses", "responsive-block-editor-addons"),
- },
- {
- value: "sfwd-lessons",
- label: __("Lessons", "responsive-block-editor-addons"),
- },
];
if (!hasPosts) {
diff --git a/src/blocks/post-grid/index.php b/src/blocks/post-grid/index.php
index b715662c1..ebea281f0 100755
--- a/src/blocks/post-grid/index.php
+++ b/src/blocks/post-grid/index.php
@@ -877,15 +877,15 @@ function responsive_block_editor_addons_register_block_core_latest_posts() {
),
'rowGap' => array(
'type' => 'number',
- 'default' => '',
+ 'default' => 20,
),
'rowGapTablet' => array(
'type' => 'number',
- 'default' => '',
+ 'default' => 20,
),
'rowGapMobile' => array(
'type' => 'number',
- 'default' => '',
+ 'default' => 20,
),
'blockBorderWidth' => array(
'type' => 'number',
diff --git a/src/blocks/section/styles/styles.editor.scss b/src/blocks/section/styles/styles.editor.scss
index f54b19520..ffac152a4 100644
--- a/src/blocks/section/styles/styles.editor.scss
+++ b/src/blocks/section/styles/styles.editor.scss
@@ -325,8 +325,7 @@
.rbea-tab-radio-control-wrapper {
.rbea-tab-radio-options{
display: grid;
- grid-template-columns: repeat(2, 1fr);
- grid-template-rows: repeat(2, 1fr);
+ grid-template-columns: repeat(2, 1fr);
gap: 0;
box-shadow: inset 0 0 0 0.5px #C9C8C8;
border-radius: 6px;
From c8d247c8e2ebb0b0e4b50f73fa3710c5c5a2ee74 Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 16:30:40 +0530
Subject: [PATCH 05/11] Fix feature grid button color issue
---
...ve-block-editor-addons-frontend-styles.php | 28 +++++++++----------
src/blocks/feature-grid/attributes.js | 5 +++-
.../feature-grid/components/inspector.js | 10 +------
3 files changed, 19 insertions(+), 24 deletions(-)
diff --git a/classes/class-responsive-block-editor-addons-frontend-styles.php b/classes/class-responsive-block-editor-addons-frontend-styles.php
index dfd95e796..c332bde76 100644
--- a/classes/class-responsive-block-editor-addons-frontend-styles.php
+++ b/classes/class-responsive-block-editor-addons-frontend-styles.php
@@ -20723,13 +20723,13 @@ public static function get_responsive_block_feature_grid_default_attributes() {
'ctaBackColor' => '',
'ctaHoverColor' => '',
'ctaHoverBackColor' => '',
- 'buttonbackgroundType' => 'color',
+ 'buttonbackgroundType' => '',
'buttoncolorLocation1' => 0,
'buttoncolorLocation2' => 100,
'buttongradientDirection' => 90,
'buttonbackgroundColor1' => '',
'buttonbackgroundColor2' => '#fff',
- 'buttonHbackgroundType' => 'color',
+ 'buttonHbackgroundType' => '',
'buttonHcolorLocation1' => 0,
'buttonHcolorLocation2' => 100,
'buttonHgradientDirection' => 90,
@@ -20837,18 +20837,18 @@ public static function get_responsive_block_feature_grid_default_attributes() {
'titleTypographyColor' => '',
'descTypographyColor' => '',
- 'ctaButtonTopPadding' => '',
- 'ctaButtonBottomPadding' => '',
- 'ctaButtonLeftPadding' => '',
- 'ctaButtonRightPadding' => '',
- 'ctaButtonTopPaddingTablet' => '',
- 'ctaButtonBottomPaddingTablet' => '',
- 'ctaButtonRightPaddingTablet' => '',
- 'ctaButtonLeftPaddingTablet' => '',
- 'ctaButtonTopPaddingMobile' => '',
- 'ctaButtonBottomPaddingMobile' => '',
- 'ctaButtonLeftPaddingMobile' => '',
- 'ctaButtonRightPaddingMobile' => '',
+ 'ctaButtonTopPadding' => 15,
+ 'ctaButtonBottomPadding' => 15,
+ 'ctaButtonLeftPadding' => 30,
+ 'ctaButtonRightPadding' => 30,
+ 'ctaButtonTopPaddingTablet' => 15,
+ 'ctaButtonBottomPaddingTablet' => 15,
+ 'ctaButtonRightPaddingTablet' => 30,
+ 'ctaButtonLeftPaddingTablet' => 30,
+ 'ctaButtonTopPaddingMobile' => 15,
+ 'ctaButtonBottomPaddingMobile' => 15,
+ 'ctaButtonLeftPaddingMobile' => 30,
+ 'ctaButtonRightPaddingMobile' => 30,
'ctaBlockTopRadius' => '',
'ctaBlockRightRadius' => '',
diff --git a/src/blocks/feature-grid/attributes.js b/src/blocks/feature-grid/attributes.js
index 2ab0a4648..b79e69283 100644
--- a/src/blocks/feature-grid/attributes.js
+++ b/src/blocks/feature-grid/attributes.js
@@ -328,7 +328,6 @@ const attributes = {
},
buttonHbackgroundType: {
type: "string",
- default: "color",
},
buttonHcolorLocation1: {
type: "number",
@@ -697,15 +696,19 @@ const attributes = {
},
ctaButtonTopPadding: {
type: "number",
+ default: 15,
},
ctaButtonBottomPadding: {
type: "number",
+ default: 15,
},
ctaButtonLeftPadding: {
type: "number",
+ default: 30,
},
ctaButtonRightPadding: {
type: "number",
+ default: 30,
},
ctaButtonTopPaddingTablet: {
type: "number",
diff --git a/src/blocks/feature-grid/components/inspector.js b/src/blocks/feature-grid/components/inspector.js
index d13388e1d..b22451158 100644
--- a/src/blocks/feature-grid/components/inspector.js
+++ b/src/blocks/feature-grid/components/inspector.js
@@ -705,14 +705,12 @@ export default class Inspector extends Component {
setAttributes({
ctaColor: "#333",
ctaBackColor: "#3f46ae",
- ctaHoverColor: "#fff",
+ ctaHoverColor: "#333",
ctaHoverBackColor: "#3f46ae",
ctaBorderColor: "#333",
ctaBorderStyle: "none",
ctaBorderRadius: 0,
ctaBorderWidth: 2,
- ctaHpadding: 30,
- ctaVpadding: 15,
descSpace: 40,
});
}
@@ -726,10 +724,6 @@ export default class Inspector extends Component {
ctaBorderStyle: "solid",
ctaBorderWidth: 2,
descSpace: 40,
- ctaButtonTopPadding: 15,
- ctaButtonBottomPadding: 15,
- ctaButtonLeftPadding: 30,
- ctaButtonRightPadding: 30,
ctaBlockTopRadius: 5,
ctaBlockRightRadius: 5,
ctaBlockBottomRadius: 5,
@@ -746,8 +740,6 @@ export default class Inspector extends Component {
ctaBorderStyle: "",
ctaBorderRadius: "",
ctaBorderWidth: "",
- ctaHpadding: "",
- ctaVpadding: "",
});
}
}}
From edff7291fc2a4427cfb59328f7660521457e2c0c Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 17:07:30 +0530
Subject: [PATCH 06/11] Fix the missing image issue in the popup block
---
src/blocks/popup/components/edit.js | 4 ++--
src/blocks/popup/components/inspector.js | 2 +-
src/blocks/popup/styles/styles.editor.scss | 1 +
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/blocks/popup/components/edit.js b/src/blocks/popup/components/edit.js
index 4aefbb11e..f50f15896 100644
--- a/src/blocks/popup/components/edit.js
+++ b/src/blocks/popup/components/edit.js
@@ -165,8 +165,8 @@ class Edit extends Component {
}
- {popupTriggerType === 'image' && popupImageTrigger == undefined && Please Select Image
}
- {popupTriggerType === 'image' && popupImageTrigger != undefined &&
this.setState({ isModalOpen: true })} className="responsive-block-editor-addons-popup-modal-trigger responsive-popup-trigger-anchor responsive-block-editor-addons-popup-image-trigger" src={popupImageTrigger} alt="popupImageTrigger" data-trigger-id={`trigger-${block_id}`}/>}
+ {popupTriggerType === 'image' && (popupImageTrigger == undefined || popupImageTrigger === '') && Please Select Image
}
+ {popupTriggerType === 'image' && (popupImageTrigger != undefined && popupImageTrigger !== '') &&
this.setState({ isModalOpen: true })} className="responsive-block-editor-addons-popup-modal-trigger responsive-popup-trigger-anchor responsive-block-editor-addons-popup-image-trigger" src={popupImageTrigger} alt="popupImageTrigger" data-trigger-id={`trigger-${block_id}`}/>}
diff --git a/src/blocks/popup/components/inspector.js b/src/blocks/popup/components/inspector.js
index 208c34393..f41a76258 100644
--- a/src/blocks/popup/components/inspector.js
+++ b/src/blocks/popup/components/inspector.js
@@ -75,7 +75,7 @@ export default class Inspector extends Component {
const { popupImageTrigger } = this.props.attributes;
if (!media || !media.url) {
- setAttributes({ popupImageTrigger: null });
+ setAttributes({ popupImageTrigger: undefined });
return;
}
diff --git a/src/blocks/popup/styles/styles.editor.scss b/src/blocks/popup/styles/styles.editor.scss
index bb2b10ed9..57925a69d 100644
--- a/src/blocks/popup/styles/styles.editor.scss
+++ b/src/blocks/popup/styles/styles.editor.scss
@@ -13,6 +13,7 @@
.responsive-popup-trigger-anchor {
cursor: pointer;
+ pointer-events: auto;
}
}
From c0e922b2db694aba10eff081ca18403309ddfe42 Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 17:50:55 +0530
Subject: [PATCH 07/11] Skip the post types of elementor
---
includes/class-responsive-block-editor-addons.php | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/includes/class-responsive-block-editor-addons.php b/includes/class-responsive-block-editor-addons.php
index 41e5c6763..c94789e10 100755
--- a/includes/class-responsive-block-editor-addons.php
+++ b/includes/class-responsive-block-editor-addons.php
@@ -650,6 +650,14 @@ public static function get_post_types() {
continue;
}
+ if ( 'e-floating-buttons' === $post_type->name ) {
+ continue;
+ }
+
+ if ( 'elementor_library' === $post_type->name ) {
+ continue;
+ }
+
$options[] = array(
'value' => $post_type->name,
'label' => $post_type->label,
From 3aa2c4bd4132e1d78cfad8ea7af95bbb084c4f5d Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Wed, 6 May 2026 18:14:52 +0530
Subject: [PATCH 08/11] Hide Button Typography when inherit from theme is on in
call to action block
---
src/blocks/call-to-action/components/inspector.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/blocks/call-to-action/components/inspector.js b/src/blocks/call-to-action/components/inspector.js
index ab688a6ce..d0c3205df 100644
--- a/src/blocks/call-to-action/components/inspector.js
+++ b/src/blocks/call-to-action/components/inspector.js
@@ -699,7 +699,7 @@ export default class Inspector extends Component {
{...this.props}
/>
)}
- {resctaType === "button" && (
+ {resctaType === "button" && !inheritFromTheme && (
Date: Thu, 7 May 2026 10:34:54 +0530
Subject: [PATCH 09/11] Fix the typography issue of filterable tabs in image
gallery
---
...ve-block-editor-addons-frontend-styles.php | 21 +++++++++++++------
src/blocks/gallery-masonry/block.json | 5 ++---
2 files changed, 17 insertions(+), 9 deletions(-)
diff --git a/classes/class-responsive-block-editor-addons-frontend-styles.php b/classes/class-responsive-block-editor-addons-frontend-styles.php
index c332bde76..81e5d0164 100644
--- a/classes/class-responsive-block-editor-addons-frontend-styles.php
+++ b/classes/class-responsive-block-editor-addons-frontend-styles.php
@@ -7244,7 +7244,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-weight' => ( isset( $attr['filterTabTypographyFontWeight'] ) && '' !== $attr['filterTabTypographyFontWeight'] ) ? $attr['filterTabTypographyFontWeight'] : '',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight'] : '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ) : '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration'=> isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
),
' .gallery-filter-wrapper .gallery-filter-button' => array(
@@ -7268,7 +7268,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-style' => isset( $attr['filterTabTypographyFontStyle'] ) ? $attr['filterTabTypographyFontStyle'] : 'normal',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight'] : '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ) : '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration' => isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
),
' .gallery-filter-wrapper .gallery-filter-button:hover, .gallery-filter-wrapper .gallery-filter-button.is-active' => array(
@@ -7315,7 +7315,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-weight' => ( isset( $attr['filterTabTypographyFontWeight'] ) && '' !== $attr['filterTabTypographyFontWeight'] ) ? $attr['filterTabTypographyFontWeight'] : '',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight'] : '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ) : '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration'=> isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
),
' .gallery-filter-wrapper .gallery-filter-button' => array(
@@ -7324,7 +7324,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-weight' => ( isset( $attr['filterTabTypographyFontWeight'] ) && '' !== $attr['filterTabTypographyFontWeight'] ) ? $attr['filterTabTypographyFontWeight']: '',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight']: '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ): '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration' => isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
'padding-top' => ( $v = self::get_css_value( ( isset( $attr['filterTabTopPaddingMobile'] ) && $attr['filterTabTopPaddingMobile'] !== '' ) ? $attr['filterTabTopPaddingMobile'] : ( ( isset( $attr['filterTabTopPadding'] ) && $attr['filterTabTopPadding'] !== '' ) ? $attr['filterTabTopPadding'] : 7 ), 'px' ) ) ? $v : '',
'padding-right' => ( $v = self::get_css_value( ( isset( $attr['filterTabRightPaddingMobile'] ) && $attr['filterTabRightPaddingMobile'] !== '' ) ? $attr['filterTabRightPaddingMobile'] : ( ( isset( $attr['filterTabRightPadding'] ) && $attr['filterTabRightPadding'] !== '' ) ? $attr['filterTabRightPadding'] : 7 ), 'px' ) ) ? $v : '',
@@ -7385,7 +7385,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-weight' => ( isset( $attr['filterTabTypographyFontWeight'] ) && '' !== $attr['filterTabTypographyFontWeight'] ) ? $attr['filterTabTypographyFontWeight'] : '',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight'] : '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ) : '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration'=> isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
),
' .gallery-filter-wrapper .gallery-filter-button' => array(
@@ -7394,7 +7394,7 @@ public static function get_responsive_block_gallery_masonry_css( $attr, $id ) {
'font-weight' => ( isset( $attr['filterTabTypographyFontWeight'] ) && '' !== $attr['filterTabTypographyFontWeight'] ) ? $attr['filterTabTypographyFontWeight'] : '',
'line-height' => ( isset( $attr['filterTabTypographyLineHeight'] ) && '' !== $attr['filterTabTypographyLineHeight'] ) ? $attr['filterTabTypographyLineHeight'] : '',
'letter-spacing' => ( isset( $attr['filterTabTypographyLetterSpacing'] ) && '' !== $attr['filterTabTypographyLetterSpacing'] ) ? self::get_css_value( $attr['filterTabTypographyLetterSpacing'], 'px' ) : '',
- 'text-transform' => isset( $attr['filterTabTypographyTextTransform'] ) ? $attr['filterTabTypographyTextTransform'] : '',
+ 'text-transform' => $attr['filterTabTypographyTextTransform'],
'text-decoration' => isset( $attr['filterTabTypographyTextDecoration'] ) ? $attr['filterTabTypographyTextDecoration'] : '',
'padding-top' => '' !== ( $v = self::get_css_value( ( isset( $attr['filterTabTopPaddingTablet'] ) && $attr['filterTabTopPaddingTablet'] !== '' ) ? $attr['filterTabTopPaddingTablet'] : ( ( isset( $attr['filterTabTopPadding'] ) && $attr['filterTabTopPadding'] !== '' ) ? $attr['filterTabTopPadding'] : 7 ), 'px' ) ) ? $v : '',
'padding-right' => '' !== ( $v = self::get_css_value( ( isset( $attr['filterTabRightPaddingTablet'] ) && $attr['filterTabRightPaddingTablet'] !== '' ) ? $attr['filterTabRightPaddingTablet'] : ( ( isset( $attr['filterTabRightPadding'] ) && $attr['filterTabRightPadding'] !== '' ) ? $attr['filterTabRightPadding'] : 7 ), 'px' ) ) ? $v : '',
@@ -7473,6 +7473,15 @@ public static function get_responsive_block_gallery_masonry_block_default_attrib
'customHeight' => '',
'columnsize' => 3,
'filterTabRightPaddingMobile' => 30,
+ 'filterTabTypographyFontFamily' => '',
+ 'filterTabTypographyFontSize' => 14,
+ 'filterTabTypographyFontSizeTablet' => '',
+ 'filterTabTypographyFontSizeMobile' => '',
+ 'filterTabTypographyFontWeight' => 400,
+ 'filterTabTypographyLineHeight' => 1.5,
+ 'filterTabTypographyLetterSpacing' => 0,
+ 'filterTabTypographyTextTransform' => 'none',
+ 'filterTabTypographyTextDecoration' => '',
);
}
diff --git a/src/blocks/gallery-masonry/block.json b/src/blocks/gallery-masonry/block.json
index 289580fc9..e65955ca7 100644
--- a/src/blocks/gallery-masonry/block.json
+++ b/src/blocks/gallery-masonry/block.json
@@ -176,8 +176,7 @@
"default": "left"
},
"filterTabTypographyFontFamily": {
- "type": "string",
- "default": "Abel"
+ "type": "string"
},
"filterTabTypographyFontSize": {
"type": "number",
@@ -203,7 +202,7 @@
},
"filterTabTypographyTextTransform": {
"type": "string",
- "default": "none"
+ "default": ""
},
"filterTabTypographyTextDecoration": {
"type": "string",
From 46036883dafa62f731e7fa345c12abffa3d57a07 Mon Sep 17 00:00:00 2001
From: Tejas Sonawane
Date: Thu, 7 May 2026 12:13:02 +0530
Subject: [PATCH 10/11] Fix the modal spacing in image hotspot
---
src/blocks/image-hotspot/components/inspector.js | 4 ----
src/blocks/image-hotspot/styles/styles.editor.scss | 9 ++++++++-
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/src/blocks/image-hotspot/components/inspector.js b/src/blocks/image-hotspot/components/inspector.js
index 3d77c0e39..e3d178440 100644
--- a/src/blocks/image-hotspot/components/inspector.js
+++ b/src/blocks/image-hotspot/components/inspector.js
@@ -436,10 +436,6 @@ class Inspector extends Component {
-
Date: Thu, 7 May 2026 14:36:34 +0530
Subject: [PATCH 11/11] Fix the multiple tab content is visible initially
---
src/blocks/tabs/components/edit.js | 24 +++++++-
src/blocks/tabs/components/inspector.js | 16 -----
src/blocks/tabs/tabs-child/components/edit.js | 61 +++++++++++++------
3 files changed, 64 insertions(+), 37 deletions(-)
diff --git a/src/blocks/tabs/components/edit.js b/src/blocks/tabs/components/edit.js
index c8dda6a84..b4a95e199 100644
--- a/src/blocks/tabs/components/edit.js
+++ b/src/blocks/tabs/components/edit.js
@@ -61,6 +61,13 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
if (null !== element && undefined !== element) {
element.innerHTML = EditorStyles(this.props);
}
+
+ // Reset tab order whenever innerBlocks change
+ if (prevProps.innerBlocksCount !== this.props.innerBlocksCount) {
+ setTimeout(() => {
+ this.props.resetTabOrder();
+ }, 0);
+ }
}
componentDidMount() {
@@ -77,8 +84,12 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
this.props.clientId
);
document.head.appendChild($style);
- this.updateTabTitle();
- this.props.resetTabOrder();
+
+ // Delay initialization to ensure innerBlocks are mounted
+ setTimeout(() => {
+ this.props.resetTabOrder();
+ this.updateTabTitle();
+ }, 50);
}
updateTabsTitle(header, index) {
@@ -310,8 +321,12 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
export default compose(
withSelect( ( select, props ) => {
const { getDeviceType } = select( 'core/editor' );
+ const { getBlock } = select( 'core/block-editor' );
+ const block = getBlock( props.clientId );
+
return {
deviceType: getDeviceType(),
+ innerBlocksCount: block ? block.innerBlocks.length : 0,
}
}),
withDispatch( (dispatch, { clientId }, { select }) => {
@@ -326,6 +341,8 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
return {
resetTabOrder() {
+ if (!block || !block.innerBlocks) return;
+
times( block.innerBlocks.length, n => {
updateBlockAttributes( block.innerBlocks[ n ].clientId, {
id: n,
@@ -333,6 +350,8 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
} );
},
updateActiveTab(activeTab) {
+ if (!block) return;
+
updateBlockAttributes( block.clientId, {
activeTab: activeTab,
} );
@@ -341,7 +360,6 @@ const { withDispatch, select, dispatch, withSelect } = wp.data;
activeTab: activeTab,
} );
} );
- this.resetTabOrder();
},
moveTab( tabId, newIndex ) {
moveBlockToPosition( tabId, clientId, clientId, parseInt( newIndex ) );
diff --git a/src/blocks/tabs/components/inspector.js b/src/blocks/tabs/components/inspector.js
index 17fbb603d..97058c58f 100644
--- a/src/blocks/tabs/components/inspector.js
+++ b/src/blocks/tabs/components/inspector.js
@@ -652,22 +652,6 @@ export default class Inspector extends Component {
)}
-
-
-
diff --git a/src/blocks/tabs/tabs-child/components/edit.js b/src/blocks/tabs/tabs-child/components/edit.js
index 7d5bcf96d..e33fab3f9 100644
--- a/src/blocks/tabs/tabs-child/components/edit.js
+++ b/src/blocks/tabs/tabs-child/components/edit.js
@@ -29,16 +29,33 @@
const { getBlockRootClientId, getBlockAttributes } = !wp.blockEditor ? select( 'core/editor' ) : select( 'core/block-editor' );
const rootBlockId = getBlockRootClientId( clientId );
const rootBlockAttrs = getBlockAttributes( rootBlockId );
- setAttributes( { block_id: this.props.clientId } )
- setAttributes( { activeTab: rootBlockAttrs?.tabActiveFrontend} )
- // Apply parent style if newly inserted
- if (rootBlockAttrs !== null && rootBlockAttrs.needUpdate !== false) {
- Object.keys(rootBlockAttrs).map((attribute) => {
- attributes[attribute] = rootBlockAttrs[attribute];
- });
+ setAttributes( { block_id: this.props.clientId } );
+
+ // Set activeTab from parent immediately
+ if (rootBlockAttrs) {
+ const parentActiveTab = typeof rootBlockAttrs.activeTab !== 'undefined'
+ ? rootBlockAttrs.activeTab
+ : 0;
+ setAttributes( { activeTab: parentActiveTab } );
+
+ // Apply parent style if newly inserted
+ if (rootBlockAttrs.needUpdate !== false) {
+ Object.keys(rootBlockAttrs).forEach((attribute) => {
+ if (attributes.hasOwnProperty(attribute)) {
+ attributes[attribute] = rootBlockAttrs[attribute];
+ }
+ });
+ }
+ }
+ }
+
+ componentDidUpdate(prevProps) {
+ // Sync activeTab when it changes from parent
+ if (prevProps.attributes.activeTab !== this.props.attributes.activeTab) {
+ // ActiveTab updated, component will re-render automatically
}
- }
+ }
render() {
// Setup the attributes
@@ -51,18 +68,26 @@
className,
setAttributes,
} = this.props;
+
+ // Handle undefined id (before resetTabOrder runs)
+ const tabId = typeof id !== 'undefined' ? id : -1;
+ const shouldDisplay = tabId === activeTab;
return [
-
-
+
];
}
- }
+ }
\ No newline at end of file