From 686788054e4b9a0b463b806bd6ec8f85ecb19517 Mon Sep 17 00:00:00 2001 From: Soare Robert Daniel Date: Tue, 27 Sep 2022 14:08:34 +0300 Subject: [PATCH 1/5] fix: make End Action as Pro Only --- src/blocks/blocks/countdown/inspector.js | 123 ++++++++-------------- src/pro/blocks/countdown/index.tsx | 125 +++++++++++++++++++++++ src/pro/blocks/index.js | 1 + 3 files changed, 170 insertions(+), 79 deletions(-) create mode 100644 src/pro/blocks/countdown/index.tsx diff --git a/src/blocks/blocks/countdown/inspector.js b/src/blocks/blocks/countdown/inspector.js index 3574af563..90b9160b0 100644 --- a/src/blocks/blocks/countdown/inspector.js +++ b/src/blocks/blocks/countdown/inspector.js @@ -31,6 +31,8 @@ import { __experimentalGetSettings } from '@wordpress/date'; +import { applyFilters } from '@wordpress/hooks'; + /** * Internal dependencies */ @@ -63,7 +65,7 @@ const defaultFontSizes = [ const fontWeights = [ '', '100', '200', '300', '400', '500', '600', '700', '800', '900' ].map( x => ({ label: x ? x : 'Default', value: x }) ); -const onExpireHelpMsg = ( behaviour ) => { +export const onExpireHelpMsgCountdown = ( behaviour ) => { switch ( behaviour ) { case 'redirectLink': return __( 'Redirect the user to another URL, when the countdown reaches 0', 'otter-blocks' ); @@ -76,7 +78,7 @@ const onExpireHelpMsg = ( behaviour ) => { } }; -const countdownMoveHelpMsg = ( mode ) => { +export const countdownMoveHelpMsgCountdown = ( mode ) => { switch ( mode ) { case 'timer': return __( 'A fixed amount of time for each browser session (Evergreen Countdown)', 'otter-blocks' ); @@ -87,6 +89,44 @@ const countdownMoveHelpMsg = ( mode ) => { } }; +const ProFeatures = ({ children }) => ( + + {}} + options={[ + { + label: __( 'No action', 'otter-blocks' ), + value: '' + }, + { + label: __( 'Hide the Countdown', 'otter-blocks' ), + value: 'hide' + }, + { + label: __( 'Redirect to link', 'otter-blocks' ), + value: 'redirectLink' + } + ]} + help={ onExpireHelpMsgCountdown( ) } + disabled + /> + + {}} + disabled + /> + + { children } + +); + /** * * @param {import('./types.js').CountdownInspectorProps} props @@ -173,7 +213,7 @@ const Inspector = ({ value: 'interval' } ]} - help={ countdownMoveHelpMsg( attributes.mode )} + help={ countdownMoveHelpMsgCountdown( attributes.mode )} /> { @@ -364,82 +404,7 @@ const Inspector = ({ - - { - if ( 'redirectLink' === behaviour ) { - setAttributes({ behaviour, redirectLink: undefined }); - } else { - setAttributes({ behaviour }); - } - }} - options={[ - { - label: __( 'No action', 'otter-blocks' ), - value: '' - }, - { - label: __( 'Hide the Countdown', 'otter-blocks' ), - value: 'hide' - }, - ...( 'timer' === attributes.mode ? [{ - label: __( 'Restart the Countdown', 'otter-blocks' ), - value: 'restart' - }] : []), - { - label: __( 'Redirect to link', 'otter-blocks' ), - value: 'redirectLink' - } - ]} - help={ onExpireHelpMsg( attributes.behaviour ) } - /> - - { - 'redirectLink' === attributes.behaviour && ( - setAttributes({ redirectLink })} - /> - ) - } - - { - if ( value ) { - setAttributes({ onEndAction: 'all' }); - } else { - setAttributes({ onEndAction: undefined }); - } - }} - /> - - { - attributes?.onEndAction && ( - -

- { __( 'Paste the following code in the block that you want to show up or hide (in the same page) when the countdown end. Select the block, go to Inspector > Advanced, and paste into the field "Additional CSS class"', 'otter-blocks' ) } -

-

{ __( 'Show trigger', 'otter-blocks' ) }

- - { `o-countdown-trigger-on-end-${ attributes.id?.split( '-' ).pop()} o-cntdn-bhv-show` } - -

{ __( 'Hide trigger', 'otter-blocks' ) }

- - { `o-countdown-trigger-on-end-${ attributes.id?.split( '-' ).pop()} o-cntdn-bhv-hide` } - -
- ) - } - -
+ { applyFilters( 'otter.countdown.controls', ProFeatures, { attributes: attributes, setAttributes: setAttributes }) } , { + attributes, + setAttributes +}: CountdownInspectorProps ) => { + + if ( ! Boolean( window?.otterPro?.isActive ) ) { + return ( + + {/** @ts-ignore */} + + + ); + } + + return ( + + { + if ( 'redirectLink' === behaviour ) { + setAttributes({ behaviour, redirectLink: undefined }); + } else { + setAttributes({ behaviour }); + } + }} + options={[ + { + label: __( 'No action', 'otter-blocks' ), + value: '' + }, + { + label: __( 'Hide the Countdown', 'otter-blocks' ), + value: 'hide' + }, + ...( 'timer' === attributes.mode ? [{ + label: __( 'Restart the Countdown', 'otter-blocks' ), + value: 'restart' + }] : []), + { + label: __( 'Redirect to link', 'otter-blocks' ), + value: 'redirectLink' + } + ]} + help={ onExpireHelpMsgCountdown( attributes.behaviour ) } + /> + + { + 'redirectLink' === attributes.behaviour && ( + setAttributes({ redirectLink })} + /> + ) + } + + { + if ( value ) { + setAttributes({ onEndAction: 'all' }); + } else { + setAttributes({ onEndAction: undefined }); + } + }} + /> + + { + attributes?.onEndAction && ( + +

+ { __( 'Paste the following code in the block that you want to show up or hide (in the same page) when the countdown end. Select the block, go to Inspector > Advanced, and paste into the field "Additional CSS class"', 'otter-blocks' ) } +

+

{ __( 'Show trigger', 'otter-blocks' ) }

+ + { `o-countdown-trigger-on-end-${ attributes.id?.split( '-' ).pop()} o-cntdn-bhv-show` } + +

{ __( 'Hide trigger', 'otter-blocks' ) }

+ + { `o-countdown-trigger-on-end-${ attributes.id?.split( '-' ).pop()} o-cntdn-bhv-hide` } + +
+ ) + } + +
+ ); +}; + +addFilter( 'otter.countdown.controls', 'themeisle-gutenberg/countdown-controls', CountdownProFeatures ); diff --git a/src/pro/blocks/index.js b/src/pro/blocks/index.js index c392a69af..ac5f0884c 100644 --- a/src/pro/blocks/index.js +++ b/src/pro/blocks/index.js @@ -5,3 +5,4 @@ import './add-to-cart-button/index.js'; import './business-hours/index.js'; import './review-comparison/index.js'; import './woo-comparison/index.js'; +import './countdown/index'; From 6f6caea68a7063c09e6fa073141f932129cf3ec8 Mon Sep 17 00:00:00 2001 From: Soare Robert Daniel Date: Tue, 27 Sep 2022 14:34:27 +0300 Subject: [PATCH 2/5] chore: move Timer and Interval to Pro --- src/blocks/blocks/countdown/inspector.js | 100 ++++++++++++----------- src/pro/blocks/countdown/index.tsx | 66 ++++++++++++++- 2 files changed, 116 insertions(+), 50 deletions(-) diff --git a/src/blocks/blocks/countdown/inspector.js b/src/blocks/blocks/countdown/inspector.js index 90b9160b0..f6965ad64 100644 --- a/src/blocks/blocks/countdown/inspector.js +++ b/src/blocks/blocks/countdown/inspector.js @@ -85,11 +85,60 @@ export const countdownMoveHelpMsgCountdown = ( mode ) => { case 'interval': return __( 'The countdown will be active only between the Start Date and the End Date', 'otter-blocks' ); default: - return __( 'A universal deadline for all visitors', 'otter-blocks' ); + return __( 'An universal deadline for all visitors', 'otter-blocks' ); } }; -const ProFeatures = ({ children }) => ( +const NonProFeaturesSettings = ({ attributes, setAttributes }) => ( + { + const attrs = { + mode: value ? value : undefined + }; + + if ( ! value ) { + attrs.date = undefined; + } + + if ( 'timer' !== value ) { + attrs.timer = undefined; + if ( 'restart' === attributes.behaviour ) { + attrs.behaviour = undefined; + } + } + + if ( 'interval' !== value ) { + attrs.startInterval = undefined; + attrs.endInterval = undefined; + } + + setAttributes( attrs ); + } + } + options={[ + { + label: __( 'Static', 'otter-blocks' ), + value: '' + }, + { + label: __( 'Evergeen (Pro)', 'otter-blocks' ), + value: 'timer', + disabled: true + }, + { + label: __( 'Interval (Pro)', 'otter-blocks' ), + value: 'interval', + disabled: true + } + ]} + help={ countdownMoveHelpMsgCountdown( attributes.mode )} + /> +); + +const TemplateProFeaturesEnd = ({ children }) => ( - { - - const attrs = { - mode: value ? value : undefined - }; + { applyFilters( 'otter.countdown.controls.settings', , { attributes: attributes, setAttributes: setAttributes }) } - if ( ! value ) { - attrs.date = undefined; - } - - if ( 'timer' !== value ) { - attrs.timer = undefined; - if ( 'restart' === attributes.behaviour ) { - attrs.behaviour = undefined; - } - } - - if ( 'interval' !== value ) { - attrs.startInterval = undefined; - attrs.endInterval = undefined; - } - - setAttributes( attrs ); - } - - } - options={[ - { - label: __( 'Static', 'otter-blocks' ), - value: '' - }, - { - label: __( 'Evergeen', 'otter-blocks' ), - value: 'timer' - }, - { - label: __( 'Interval', 'otter-blocks' ), - value: 'interval' - } - ]} - help={ countdownMoveHelpMsgCountdown( attributes.mode )} - /> { attributes.mode === undefined && ( @@ -404,7 +410,7 @@ const Inspector = ({ - { applyFilters( 'otter.countdown.controls', ProFeatures, { attributes: attributes, setAttributes: setAttributes }) } + { applyFilters( 'otter.countdown.controls.end', TemplateProFeaturesEnd, { attributes: attributes, setAttributes: setAttributes }) } , { +const CountdownProFeaturesSettings = ( Template: React.FC<{}>, { attributes, setAttributes }: CountdownInspectorProps ) => { + if ( ! Boolean( window?.otterPro?.isActive ) ) { + return ( + + { Template } + + ); + } + + return ( + { + + const attrs: any = { + mode: value ? value : undefined + }; + + if ( ! value ) { + attrs.date = undefined; + } + + if ( 'timer' !== value ) { + attrs.timer = undefined; + if ( 'restart' === attributes.behaviour ) { + attrs.behaviour = undefined; + } + } + + if ( 'interval' !== value ) { + attrs.startInterval = undefined; + attrs.endInterval = undefined; + } + + setAttributes( attrs ); + } + + } + options={[ + { + label: __( 'Static', 'otter-blocks' ), + value: '' + }, + { + label: __( 'Evergeen', 'otter-blocks' ), + value: 'timer' + }, + { + label: __( 'Interval', 'otter-blocks' ), + value: 'interval' + } + ]} + help={ countdownMoveHelpMsgCountdown( attributes.mode )} + /> + ); +}; + + +const CountdownProFeaturesEnd = ( Template: React.FC<{}>, { attributes, setAttributes }: CountdownInspectorProps ) => { @@ -122,4 +181,5 @@ const CountdownProFeatures = ( Template: React.FC<{}>, { ); }; -addFilter( 'otter.countdown.controls', 'themeisle-gutenberg/countdown-controls', CountdownProFeatures ); +addFilter( 'otter.countdown.controls.settings', 'themeisle-gutenberg/countdown-controls', CountdownProFeaturesSettings ); +addFilter( 'otter.countdown.controls.end', 'themeisle-gutenberg/countdown-controls', CountdownProFeaturesEnd ); From 57a545e9c5b17611ef66529ff6292b8f8d7ba58e Mon Sep 17 00:00:00 2001 From: Soare Robert Daniel Date: Tue, 27 Sep 2022 15:16:16 +0300 Subject: [PATCH 3/5] chore: upsell button --- src/blocks/blocks/countdown/inspector.js | 29 ++++++++++++++++-------- src/pro/blocks/countdown/index.tsx | 19 ++++++---------- 2 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/blocks/blocks/countdown/inspector.js b/src/blocks/blocks/countdown/inspector.js index f6965ad64..f2580cca9 100644 --- a/src/blocks/blocks/countdown/inspector.js +++ b/src/blocks/blocks/countdown/inspector.js @@ -21,7 +21,8 @@ import { SelectControl, __experimentalUnitControl as UnitContol, TextControl, - BaseControl + BaseControl, + ExternalLink } from '@wordpress/components'; import { useSelect } from '@wordpress/data'; @@ -37,8 +38,9 @@ import { applyFilters } from '@wordpress/hooks'; * Internal dependencies */ import ResponsiveControl from '../../components/responsive-control/index.js'; -import { mergeBoxDefaultValues, removeBoxDefaultValues, buildResponsiveSetAttributes, buildResponsiveGetAttributes, objectCleaner } from '../../helpers/helper-functions.js'; +import { mergeBoxDefaultValues, removeBoxDefaultValues, buildResponsiveSetAttributes, buildResponsiveGetAttributes, objectCleaner, setUtm } from '../../helpers/helper-functions.js'; import { Fragment } from '@wordpress/element'; +import Notice from '../../components/notice/index.js'; const defaultFontSizes = [ { @@ -138,11 +140,8 @@ const NonProFeaturesSettings = ({ attributes, setAttributes }) => ( /> ); -const TemplateProFeaturesEnd = ({ children }) => ( - +const TemplateProFeaturesEnd = () => ( + ( disabled /> - { children } - + { ! Boolean( window.themeisleGutenberg?.hasPro ) && ( + {__( 'Get more options with Otter Pro.', 'otter-blocks' )}} + variant="upsell" instructions={undefined} /> + ) } + ); /** @@ -410,7 +413,13 @@ const Inspector = ({ - { applyFilters( 'otter.countdown.controls.end', TemplateProFeaturesEnd, { attributes: attributes, setAttributes: setAttributes }) } + + { applyFilters( 'otter.countdown.controls.end', , { attributes: attributes, setAttributes: setAttributes }) } + + , { if ( ! Boolean( window?.otterPro?.isActive ) ) { return ( - {/** @ts-ignore */} - + { Template } + ); } return ( - + , { ) } - + ); }; From 920ae85ae29e9ec11d2495c939517c58ff27e4d7 Mon Sep 17 00:00:00 2001 From: Hardeep Asrani Date: Tue, 27 Sep 2022 18:27:06 +0530 Subject: [PATCH 4/5] Minor changes --- src/blocks/blocks/countdown/inspector.js | 90 +++++++++++++----------- src/pro/blocks/countdown/index.tsx | 10 +-- 2 files changed, 51 insertions(+), 49 deletions(-) diff --git a/src/blocks/blocks/countdown/inspector.js b/src/blocks/blocks/countdown/inspector.js index f2580cca9..daa1a89bb 100644 --- a/src/blocks/blocks/countdown/inspector.js +++ b/src/blocks/blocks/countdown/inspector.js @@ -92,52 +92,60 @@ export const countdownMoveHelpMsgCountdown = ( mode ) => { }; const NonProFeaturesSettings = ({ attributes, setAttributes }) => ( - { - const attrs = { - mode: value ? value : undefined - }; - - if ( ! value ) { - attrs.date = undefined; - } + + { + const attrs = { + mode: value ? value : undefined + }; + + if ( ! value ) { + attrs.date = undefined; + } - if ( 'timer' !== value ) { - attrs.timer = undefined; - if ( 'restart' === attributes.behaviour ) { - attrs.behaviour = undefined; + if ( 'timer' !== value ) { + attrs.timer = undefined; + if ( 'restart' === attributes.behaviour ) { + attrs.behaviour = undefined; + } } - } - if ( 'interval' !== value ) { - attrs.startInterval = undefined; - attrs.endInterval = undefined; - } + if ( 'interval' !== value ) { + attrs.startInterval = undefined; + attrs.endInterval = undefined; + } - setAttributes( attrs ); - } - } - options={[ - { - label: __( 'Static', 'otter-blocks' ), - value: '' - }, - { - label: __( 'Evergeen (Pro)', 'otter-blocks' ), - value: 'timer', - disabled: true - }, - { - label: __( 'Interval (Pro)', 'otter-blocks' ), - value: 'interval', - disabled: true + setAttributes( attrs ); + } } - ]} - help={ countdownMoveHelpMsgCountdown( attributes.mode )} - /> + options={[ + { + label: __( 'Static', 'otter-blocks' ), + value: '' + }, + { + label: __( 'Evergeen (Pro)', 'otter-blocks' ), + value: 'timer', + disabled: true + }, + { + label: __( 'Interval (Pro)', 'otter-blocks' ), + value: 'interval', + disabled: true + } + ]} + help={ countdownMoveHelpMsgCountdown( attributes.mode )} + /> + + { ! Boolean( window.themeisleGutenberg?.hasPro ) && ( + {__( 'Get more options with Otter Pro.', 'otter-blocks' )}} + variant="upsell" instructions={undefined} /> + ) } + ); const TemplateProFeaturesEnd = () => ( diff --git a/src/pro/blocks/countdown/index.tsx b/src/pro/blocks/countdown/index.tsx index 8dd50b905..471fa4a32 100644 --- a/src/pro/blocks/countdown/index.tsx +++ b/src/pro/blocks/countdown/index.tsx @@ -4,21 +4,15 @@ import { __ } from '@wordpress/i18n'; import { - PanelBody, ToggleControl, - RangeControl, - Dropdown, - Button, - DateTimePicker, - FontSizePicker, SelectControl, - TextControl, - BaseControl + TextControl } from '@wordpress/components'; import { Fragment } from '@wordpress/element'; import { addFilter } from '@wordpress/hooks'; + import { CountdownInspectorProps } from '../../../blocks/blocks/countdown/types'; import { countdownMoveHelpMsgCountdown, onExpireHelpMsgCountdown } from '../../../blocks/blocks/countdown/inspector'; const { Notice } = window.otterComponents; From 48a5b0abb624545f2ce1d0d9bd4648cba6324612 Mon Sep 17 00:00:00 2001 From: "themeisle[bot]" Date: Tue, 27 Sep 2022 13:17:56 +0000 Subject: [PATCH 5/5] chore(release): 2.0.16 ##### [Version 2.0.16](https://github.com/Codeinwp/otter-blocks/compare/v2.0.15...v2.0.16) (2022-09-27) - Minor fixes. --- CHANGELOG.md | 4 ++++ composer.json | 2 +- otter-blocks.php | 4 ++-- package-lock.json | 2 +- package.json | 2 +- plugins/blocks-animation/blocks-animation.php | 2 +- plugins/blocks-css/blocks-css.php | 2 +- plugins/otter-pro/otter-pro.php | 4 ++-- readme.md | 7 +++++++ readme.txt | 7 +++++++ 10 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dff0d011e..20e946b25 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +##### [Version 2.0.16](https://github.com/Codeinwp/otter-blocks/compare/v2.0.15...v2.0.16) (2022-09-27) + +- Minor fixes. + ##### [Version 2.0.15](https://github.com/Codeinwp/otter-blocks/compare/v2.0.14...v2.0.15) (2022-09-27) - Icon Block Enhancements diff --git a/composer.json b/composer.json index 380d7c6c8..eb81b739b 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "codeinwp/otter-blocks", "description": "A set of awesome Gutenberg Blocks by ThemeIsle.", "type": "wordpress-plugin", - "version": "2.0.15", + "version": "2.0.16", "require-dev": { "squizlabs/php_codesniffer": "^3.3", "wp-coding-standards/wpcs": "^1", diff --git a/otter-blocks.php b/otter-blocks.php index ca6d476aa..e99d8c661 100644 --- a/otter-blocks.php +++ b/otter-blocks.php @@ -7,7 +7,7 @@ * Plugin Name: Otter – Page Builder Blocks & Extensions for Gutenberg * Plugin URI: https://themeisle.com/plugins/otter-blocks * Description: Create beautiful and attracting posts, pages, and landing pages with Otter – Page Builder Blocks & Extensions for Gutenberg. Otter comes with dozens of Gutenberg blocks that are all you need to build beautiful pages. - * Version: 2.0.15 + * Version: 2.0.16 * Author: ThemeIsle * Author URI: https://themeisle.com * License: GPL-2.0+ @@ -26,7 +26,7 @@ define( 'OTTER_BLOCKS_BASEFILE', __FILE__ ); define( 'OTTER_BLOCKS_URL', plugins_url( '/', __FILE__ ) ); define( 'OTTER_BLOCKS_PATH', dirname( __FILE__ ) ); -define( 'OTTER_BLOCKS_VERSION', '2.0.15' ); +define( 'OTTER_BLOCKS_VERSION', '2.0.16' ); define( 'OTTER_BLOCKS_PRO_SUPPORT', true ); define( 'OTTER_BLOCKS_SHOW_NOTICES', false ); diff --git a/package-lock.json b/package-lock.json index 9555f013d..ccdcb75e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "otter-blocks", - "version": "2.0.15", + "version": "2.0.16", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25e7f7bf8..9b044cebc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "otter-blocks", - "version": "2.0.15", + "version": "2.0.16", "description": "Otter – Page Builder Blocks & Extensions for Gutenberg", "scripts": { "build": "npm-run-all --parallel prod:*", diff --git a/plugins/blocks-animation/blocks-animation.php b/plugins/blocks-animation/blocks-animation.php index 3c78eb21a..a1de315cf 100644 --- a/plugins/blocks-animation/blocks-animation.php +++ b/plugins/blocks-animation/blocks-animation.php @@ -10,7 +10,7 @@ * Plugin Name: Blocks Animation: CSS Animations for Gutenberg Blocks * Plugin URI: https://github.com/Codeinwp/otter-blocks * Description: Blocks Animation allows you to add CSS Animations to all of your Gutenberg blocks in the most elegent way. - * Version: 2.0.15 + * Version: 2.0.16 * Author: ThemeIsle * Author URI: https://themeisle.com * License: GPL-3.0+ diff --git a/plugins/blocks-css/blocks-css.php b/plugins/blocks-css/blocks-css.php index 6bb43fea9..e15895f75 100644 --- a/plugins/blocks-css/blocks-css.php +++ b/plugins/blocks-css/blocks-css.php @@ -10,7 +10,7 @@ * Plugin Name: Blocks CSS: CSS Editor for Gutenberg Blocks * Plugin URI: https://github.com/Codeinwp/otter-blocks * Description: Blocks CSS allows you add custom CSS to your Blocks straight from the Block Editor (Gutenberg). - * Version: 2.0.15 + * Version: 2.0.16 * Author: ThemeIsle * Author URI: https://themeisle.com * License: GPL-3.0+ diff --git a/plugins/otter-pro/otter-pro.php b/plugins/otter-pro/otter-pro.php index c3b1b07ed..76dbfcfb6 100644 --- a/plugins/otter-pro/otter-pro.php +++ b/plugins/otter-pro/otter-pro.php @@ -7,7 +7,7 @@ * Plugin Name: Otter Pro * Plugin URI: https://themeisle.com/plugins/otter-blocks * Description: Create beautiful and attracting posts, pages, and landing pages with Otter – Page Builder Blocks & Extensions for Gutenberg. Otter comes with dozens of Gutenberg blocks that are all you need to build beautiful pages. - * Version: 2.0.15 + * Version: 2.0.16 * Author: ThemeIsle * Author URI: https://themeisle.com * License: GPL-2.0+ @@ -28,7 +28,7 @@ define( 'OTTER_PRO_PATH', dirname( __FILE__ ) ); define( 'OTTER_PRO_BUILD_URL', plugins_url( '/', __FILE__ ) . 'build/pro/' ); define( 'OTTER_PRO_BUILD_PATH', dirname( __FILE__ ) . '/build/pro/' ); -define( 'OTTER_PRO_VERSION', '2.0.15' ); +define( 'OTTER_PRO_VERSION', '2.0.16' ); require_once dirname( __FILE__ ) . '/autoloader.php'; $autoloader = new \ThemeIsle\OtterPro\Autoloader(); diff --git a/readme.md b/readme.md index 98ab68b57..b742fb5c5 100644 --- a/readme.md +++ b/readme.md @@ -193,6 +193,13 @@ You can check Otter documentation [here](https://docs.themeisle.com/article/1478 ## Changelog ## +##### [Version 2.0.16](https://github.com/Codeinwp/otter-blocks/compare/v2.0.15...v2.0.16) (2022-09-27) + +- Minor fixes. + + + + ##### [Version 2.0.15](https://github.com/Codeinwp/otter-blocks/compare/v2.0.14...v2.0.15) (2022-09-27) - Icon Block Enhancements diff --git a/readme.txt b/readme.txt index 9c4ac90c3..6aadba45f 100644 --- a/readme.txt +++ b/readme.txt @@ -193,6 +193,13 @@ You can check Otter documentation [here](https://docs.themeisle.com/article/1478 == Changelog == +##### [Version 2.0.16](https://github.com/Codeinwp/otter-blocks/compare/v2.0.15...v2.0.16) (2022-09-27) + +- Minor fixes. + + + + ##### [Version 2.0.15](https://github.com/Codeinwp/otter-blocks/compare/v2.0.14...v2.0.15) (2022-09-27) - Icon Block Enhancements