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