Plugin Directory

Changeset 3407069


Ignore:
Timestamp:
12/01/2025 05:09:09 PM (4 months ago)
Author:
appwavedev
Message:

Release version 1.0.7: Added language and embedded props support, updated all widget props implementation

Location:
bettercx-widget
Files:
26 added
6 edited
21 copied

Legend:

Unmodified
Added
Removed
  • bettercx-widget/tags/1.0.7/assets/bettercx-widget.esm.js

    r3402632 r3407069  
    1 import{p as e,g as a,b as t}from"./p-BTuzHDoC.js";export{s as setNonce}from"./p-BTuzHDoC.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),t([["p-73aa3697",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-43f268bb",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],state:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));
     1import{p as e,g as a,b as n}from"./p-BnsX22WT.js";export{s as setNonce}from"./p-BnsX22WT.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),n([["p-72aa52b9",[[257,"bcx-chat-list",{apiService:[16,"api-service"],language:[1],theme:[1],chats:[32],selectedChatId:[32],messages:[32],isLoading:[32],isLoadingMore:[32],hasMore:[32],currentPage:[32],error:[32]},null,{language:["onLanguageChange"]}],[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],theme:[1],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-b1c0a8b9",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],embedded:[4],state:[32],timeUpdateTrigger:[32],isDropdownOpen:[32],isFullscreen:[32],showChatList:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"],theme:["onThemeChange"],language:["onLanguageChange"]}]]]],e))));
  • bettercx-widget/tags/1.0.7/assets/bettercx-widget.js

    r3374403 r3407069  
    118118    var start = function() {
    119119      // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
    120       var url = new URL('./p-B7XTg7r_.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
     120      var url = new URL('./p-V8up-zPo.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
    121121      System.import(url.href);
    122122    };
  • bettercx-widget/tags/1.0.7/assets/index.esm.js

    r3402632 r3407069  
    1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-Be7T8ATp.js";import"./p-BTuzHDoC.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}
     1export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-DUC3FSL1.js";import"./p-BnsX22WT.js";import"./p-BU1bGO0l.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}
  • bettercx-widget/tags/1.0.7/bettercx-widget.php

    r3402632 r3407069  
    44 * Plugin URI: https://wordpress.org/plugins/bettercx-widget/
    55 * Description: Professional AI-powered chat widget for BetterCX platform. Seamlessly integrate intelligent customer support into any website with full WordPress compatibility. Fully functional out of the box with no trial limitations.
    6  * Version: 1.0.6
     6 * Version: 1.0.7
    77 * Author: BetterCX
    88 * Author URI: https://bettercx.ai
     
    1616 *
    1717 * @package BetterCX_Widget
    18  * @version 1.0.6
     18 * @version 1.0.7
    1919 * @author BetterCX
    2020 * @license GPLv2+
     
    3737
    3838// Define plugin constants
    39 define('BETTERCX_WIDGET_VERSION', '1.0.6');
     39define('BETTERCX_WIDGET_VERSION', '1.0.7');
    4040define('BETTERCX_WIDGET_PLUGIN_FILE', __FILE__);
    4141define('BETTERCX_WIDGET_PLUGIN_DIR', plugin_dir_path(__FILE__));
     
    166166            'theme' => 'auto',
    167167            'position' => 'right',
     168            'language' => 'auto',
     169            'embedded' => false,
    168170            'debug' => false,
    169171            'auto_init' => true,
     
    237239            'theme' => sanitize_text_field($this->settings['theme']),
    238240            'position' => sanitize_text_field($this->settings['position']),
     241            'language' => sanitize_text_field($this->settings['language']),
     242            'embedded' => (bool) $this->settings['embedded'],
    239243            'debug' => (bool) $this->settings['debug'],
    240244            'autoInit' => (bool) $this->settings['auto_init'],
     
    398402
    399403        add_settings_field(
     404            'language',
     405            __('Language', 'bettercx-widget'),
     406            array($this, 'language_field_callback'),
     407            'bettercx-widget',
     408            'bettercx_widget_appearance'
     409        );
     410
     411        add_settings_field(
    400412            'show_credits',
    401413            __('Show Credits', 'bettercx-widget'),
     
    418430            __('Auto Initialize', 'bettercx-widget'),
    419431            array($this, 'auto_init_field_callback'),
     432            'bettercx-widget',
     433            'bettercx_widget_advanced'
     434        );
     435
     436        add_settings_field(
     437            'embedded',
     438            __('Embedded Mode', 'bettercx-widget'),
     439            array($this, 'embedded_field_callback'),
    420440            'bettercx-widget',
    421441            'bettercx_widget_advanced'
     
    503523        }
    504524
     525        if (isset($input['language'])) {
     526            $allowed_languages = array('auto', 'pl', 'en');
     527            $sanitized['language'] = in_array($input['language'], $allowed_languages) ? $input['language'] : 'auto';
     528        }
     529
     530        $sanitized['embedded'] = isset($input['embedded']) ? (bool) $input['embedded'] : false;
    505531        $sanitized['debug'] = isset($input['debug']) ? (bool) $input['debug'] : false;
    506532        $sanitized['auto_init'] = isset($input['auto_init']) ? (bool) $input['auto_init'] : true;
     
    538564            'theme' => $this->settings['theme'],
    539565            'position' => $this->settings['position'],
     566            'language' => $this->settings['language'],
     567            'embedded' => $this->settings['embedded'] ? 'true' : 'false',
    540568            'debug' => $this->settings['debug'] ? 'true' : 'false',
    541569            'auto_init' => $this->settings['auto_init'] ? 'true' : 'false',
     
    617645                'theme' => true,
    618646                'position' => true,
     647                'language' => true,
     648                'embedded' => true,
    619649                'debug' => true,
    620650                'auto-init' => true,
     
    859889    }
    860890
     891    public function language_field_callback() {
     892        $value = isset($this->settings['language']) ? $this->settings['language'] : 'auto';
     893        $languages = array(
     894            'auto' => esc_html__('Auto (detect from website)', 'bettercx-widget'),
     895            'pl' => esc_html__('Polish', 'bettercx-widget'),
     896            'en' => esc_html__('English', 'bettercx-widget'),
     897        );
     898
     899        echo '<select name="bettercx_widget_settings[language]">';
     900        foreach ($languages as $key => $label) {
     901            echo '<option value="' . esc_attr($key) . '" ' . selected($value, $key, false) . '>' . esc_html($label) . '</option>';
     902        }
     903        echo '</select>';
     904        echo '<p class="description">' . esc_html__('Select the language for the widget interface.', 'bettercx-widget') . '</p>';
     905    }
     906
    861907    public function show_credits_field_callback() {
    862908        $value = isset($this->settings['show_credits']) ? $this->settings['show_credits'] : false;
     
    875921        echo '<input type="checkbox" name="bettercx_widget_settings[auto_init]" value="1" ' . checked($value, true, false) . ' />';
    876922        echo '<p class="description">' . esc_html__('Automatically initialize the widget when the page loads.', 'bettercx-widget') . '</p>';
     923    }
     924
     925    public function embedded_field_callback() {
     926        $value = isset($this->settings['embedded']) ? $this->settings['embedded'] : false;
     927        echo '<input type="checkbox" name="bettercx_widget_settings[embedded]" value="1" ' . checked($value, true, false) . ' />';
     928        echo '<p class="description">' . esc_html__('Enable embedded mode for iframe or embedded contexts.', 'bettercx-widget') . '</p>';
    877929    }
    878930
  • bettercx-widget/tags/1.0.7/readme.txt

    r3402632 r3407069  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 1.0.6
     7Stable tag: 1.0.7
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    244244
    245245== Changelog ==
     246
     247= 1.0.7 =
     248* Added support for language prop (auto, pl, en) with automatic detection
     249* Added support for embedded mode prop for iframe/embedded contexts
     250* Updated all widget props to match latest Stencil component implementation
     251* Enhanced admin panel with language and embedded mode settings
     252* Improved widget configuration and prop handling
    246253
    247254= 1.0.6 =
     
    311318== Upgrade Notice ==
    312319
     320= 1.0.7 =
     321Update: Added language and embedded mode support. All widget props now fully implemented and configurable through admin panel.
     322
    313323= 1.0.6 =
    314324Important update: Enhanced trigger messages system with URL-based matching. Fixed mobile and desktop click issues on the ping message close button. Improved overall reliability and user experience.
     
    561571
    562572= Version =
    563 1.0.6
     5731.0.7
    564574
    565575= Minimum WordPress Version =
     
    576586
    577587= Stable Tag =
    578 1.0.6
     5881.0.7
    579589
    580590= Development Version =
    581 1.0.6
     5911.0.7
    582592
    583593= Requires at least =
  • bettercx-widget/trunk/assets/bettercx-widget.esm.js

    r3402632 r3407069  
    1 import{p as e,g as a,b as t}from"./p-BTuzHDoC.js";export{s as setNonce}from"./p-BTuzHDoC.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),t([["p-73aa3697",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-43f268bb",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],state:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));
     1import{p as e,g as a,b as n}from"./p-BnsX22WT.js";export{s as setNonce}from"./p-BnsX22WT.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),n([["p-72aa52b9",[[257,"bcx-chat-list",{apiService:[16,"api-service"],language:[1],theme:[1],chats:[32],selectedChatId:[32],messages:[32],isLoading:[32],isLoadingMore:[32],hasMore:[32],currentPage:[32],error:[32]},null,{language:["onLanguageChange"]}],[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],theme:[1],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-b1c0a8b9",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],embedded:[4],state:[32],timeUpdateTrigger:[32],isDropdownOpen:[32],isFullscreen:[32],showChatList:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"],theme:["onThemeChange"],language:["onLanguageChange"]}]]]],e))));
  • bettercx-widget/trunk/assets/bettercx-widget.js

    r3374403 r3407069  
    118118    var start = function() {
    119119      // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL
    120       var url = new URL('./p-B7XTg7r_.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
     120      var url = new URL('./p-V8up-zPo.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));
    121121      System.import(url.href);
    122122    };
  • bettercx-widget/trunk/assets/index.esm.js

    r3402632 r3407069  
    1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-Be7T8ATp.js";import"./p-BTuzHDoC.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}
     1export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-DUC3FSL1.js";import"./p-BnsX22WT.js";import"./p-BU1bGO0l.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}
  • bettercx-widget/trunk/bettercx-widget.php

    r3402632 r3407069  
    44 * Plugin URI: https://wordpress.org/plugins/bettercx-widget/
    55 * Description: Professional AI-powered chat widget for BetterCX platform. Seamlessly integrate intelligent customer support into any website with full WordPress compatibility. Fully functional out of the box with no trial limitations.
    6  * Version: 1.0.6
     6 * Version: 1.0.7
    77 * Author: BetterCX
    88 * Author URI: https://bettercx.ai
     
    1616 *
    1717 * @package BetterCX_Widget
    18  * @version 1.0.6
     18 * @version 1.0.7
    1919 * @author BetterCX
    2020 * @license GPLv2+
     
    3737
    3838// Define plugin constants
    39 define('BETTERCX_WIDGET_VERSION', '1.0.6');
     39define('BETTERCX_WIDGET_VERSION', '1.0.7');
    4040define('BETTERCX_WIDGET_PLUGIN_FILE', __FILE__);
    4141define('BETTERCX_WIDGET_PLUGIN_DIR', plugin_dir_path(__FILE__));
     
    166166            'theme' => 'auto',
    167167            'position' => 'right',
     168            'language' => 'auto',
     169            'embedded' => false,
    168170            'debug' => false,
    169171            'auto_init' => true,
     
    237239            'theme' => sanitize_text_field($this->settings['theme']),
    238240            'position' => sanitize_text_field($this->settings['position']),
     241            'language' => sanitize_text_field($this->settings['language']),
     242            'embedded' => (bool) $this->settings['embedded'],
    239243            'debug' => (bool) $this->settings['debug'],
    240244            'autoInit' => (bool) $this->settings['auto_init'],
     
    398402
    399403        add_settings_field(
     404            'language',
     405            __('Language', 'bettercx-widget'),
     406            array($this, 'language_field_callback'),
     407            'bettercx-widget',
     408            'bettercx_widget_appearance'
     409        );
     410
     411        add_settings_field(
    400412            'show_credits',
    401413            __('Show Credits', 'bettercx-widget'),
     
    418430            __('Auto Initialize', 'bettercx-widget'),
    419431            array($this, 'auto_init_field_callback'),
     432            'bettercx-widget',
     433            'bettercx_widget_advanced'
     434        );
     435
     436        add_settings_field(
     437            'embedded',
     438            __('Embedded Mode', 'bettercx-widget'),
     439            array($this, 'embedded_field_callback'),
    420440            'bettercx-widget',
    421441            'bettercx_widget_advanced'
     
    503523        }
    504524
     525        if (isset($input['language'])) {
     526            $allowed_languages = array('auto', 'pl', 'en');
     527            $sanitized['language'] = in_array($input['language'], $allowed_languages) ? $input['language'] : 'auto';
     528        }
     529
     530        $sanitized['embedded'] = isset($input['embedded']) ? (bool) $input['embedded'] : false;
    505531        $sanitized['debug'] = isset($input['debug']) ? (bool) $input['debug'] : false;
    506532        $sanitized['auto_init'] = isset($input['auto_init']) ? (bool) $input['auto_init'] : true;
     
    538564            'theme' => $this->settings['theme'],
    539565            'position' => $this->settings['position'],
     566            'language' => $this->settings['language'],
     567            'embedded' => $this->settings['embedded'] ? 'true' : 'false',
    540568            'debug' => $this->settings['debug'] ? 'true' : 'false',
    541569            'auto_init' => $this->settings['auto_init'] ? 'true' : 'false',
     
    617645                'theme' => true,
    618646                'position' => true,
     647                'language' => true,
     648                'embedded' => true,
    619649                'debug' => true,
    620650                'auto-init' => true,
     
    859889    }
    860890
     891    public function language_field_callback() {
     892        $value = isset($this->settings['language']) ? $this->settings['language'] : 'auto';
     893        $languages = array(
     894            'auto' => esc_html__('Auto (detect from website)', 'bettercx-widget'),
     895            'pl' => esc_html__('Polish', 'bettercx-widget'),
     896            'en' => esc_html__('English', 'bettercx-widget'),
     897        );
     898
     899        echo '<select name="bettercx_widget_settings[language]">';
     900        foreach ($languages as $key => $label) {
     901            echo '<option value="' . esc_attr($key) . '" ' . selected($value, $key, false) . '>' . esc_html($label) . '</option>';
     902        }
     903        echo '</select>';
     904        echo '<p class="description">' . esc_html__('Select the language for the widget interface.', 'bettercx-widget') . '</p>';
     905    }
     906
    861907    public function show_credits_field_callback() {
    862908        $value = isset($this->settings['show_credits']) ? $this->settings['show_credits'] : false;
     
    875921        echo '<input type="checkbox" name="bettercx_widget_settings[auto_init]" value="1" ' . checked($value, true, false) . ' />';
    876922        echo '<p class="description">' . esc_html__('Automatically initialize the widget when the page loads.', 'bettercx-widget') . '</p>';
     923    }
     924
     925    public function embedded_field_callback() {
     926        $value = isset($this->settings['embedded']) ? $this->settings['embedded'] : false;
     927        echo '<input type="checkbox" name="bettercx_widget_settings[embedded]" value="1" ' . checked($value, true, false) . ' />';
     928        echo '<p class="description">' . esc_html__('Enable embedded mode for iframe or embedded contexts.', 'bettercx-widget') . '</p>';
    877929    }
    878930
  • bettercx-widget/trunk/readme.txt

    r3402632 r3407069  
    55Tested up to: 6.8
    66Requires PHP: 7.4
    7 Stable tag: 1.0.6
     7Stable tag: 1.0.7
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
     
    244244
    245245== Changelog ==
     246
     247= 1.0.7 =
     248* Added support for language prop (auto, pl, en) with automatic detection
     249* Added support for embedded mode prop for iframe/embedded contexts
     250* Updated all widget props to match latest Stencil component implementation
     251* Enhanced admin panel with language and embedded mode settings
     252* Improved widget configuration and prop handling
    246253
    247254= 1.0.6 =
     
    311318== Upgrade Notice ==
    312319
     320= 1.0.7 =
     321Update: Added language and embedded mode support. All widget props now fully implemented and configurable through admin panel.
     322
    313323= 1.0.6 =
    314324Important update: Enhanced trigger messages system with URL-based matching. Fixed mobile and desktop click issues on the ping message close button. Improved overall reliability and user experience.
     
    561571
    562572= Version =
    563 1.0.6
     5731.0.7
    564574
    565575= Minimum WordPress Version =
     
    576586
    577587= Stable Tag =
    578 1.0.6
     5881.0.7
    579589
    580590= Development Version =
    581 1.0.6
     5911.0.7
    582592
    583593= Requires at least =
Note: See TracChangeset for help on using the changeset viewer.