Plugin Directory

Changeset 3378125


Ignore:
Timestamp:
10/14/2025 11:57:59 AM (6 months ago)
Author:
appwavedev
Message:

Update to version 1.0.2 - Fix mobile click blocking issue

  • Fixed widget host element covering full screen on mobile when chat is closed
  • Widget now only covers full screen when chat is open (.bcx-widget--open)
  • Updated mobile CSS to allow clicking other elements when chat is closed
  • Maintains full-screen chat experience when opened
  • Updated all plugin assets with the fix
Location:
bettercx-widget/trunk
Files:
5 added
5 edited

Legend:

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

    r3374403 r3378125  
    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-60f346f7",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}]]],["p-6885dee3",[[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],state:[32],language:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));
     1import{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-60f346f7",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}]]],["p-a6ca0260",[[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],state:[32],language:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));
  • bettercx-widget/trunk/assets/index.esm.js

    r3374403 r3378125  
    1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-I2OgTEnz.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-CH5038gf.js";import"./p-BTuzHDoC.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}
  • bettercx-widget/trunk/assets/p-B7XTg7r_.system.js

    r3374403 r3378125  
    1 var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,u){function a(e){try{o(r.next(e))}catch(e){u(e)}}function c(e){try{o(r["throw"](e))}catch(e){u(e)}}function o(e){e.done?n(e.value):i(e.value).then(a,c)}o((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(u[0]&1)throw u[1];return u[1]},trys:[],ops:[]},r,i,u,a;return a={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(e){return function(t){return o([e,t])}}function o(c){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,c[0]&&(n=0)),n)try{if(r=1,i&&(u=c[0]&2?i["return"]:c[0]?i["throw"]||((u=i["return"])&&u.call(i),0):i.next)&&!(u=u.call(i,c[1])).done)return u;if(i=0,u)c=[c[0]&2,u.value];switch(c[0]){case 0:case 1:u=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;i=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(u=n.trys,u=u.length>0&&u[u.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!u||c[1]>u[0]&&c[1]<u[3])){n.label=c[1];break}if(c[0]===6&&n.label<u[1]){n.label=u[1];u=c;break}if(u&&n.label<u[2]){n.label=u[2];n.ops.push(c);break}if(u[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];i=0}finally{r=u=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-eV7FkxIV.system.js"],(function(e,t){"use strict";var n,r,i;return{setters:[function(t){n=t.p;r=t.g;i=t.b;e("setNonce",t.s)}],execute:function(){var e=this;var u=function(){var e=t.meta.url;var r={};if(e!==""){r.resourcesUrl=new URL(".",e).href}return n(r)};u().then((function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:e.sent();return[2,i([["p-295a94dc.system",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}]]],["p-b74ecaef.system",[[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],state:[32],language:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],t)]}}))}))}))}}}));
     1var __awaiter=this&&this.__awaiter||function(e,t,n,r){function i(e){return e instanceof n?e:new n((function(t){t(e)}))}return new(n||(n=Promise))((function(n,a){function u(e){try{o(r.next(e))}catch(e){a(e)}}function c(e){try{o(r["throw"](e))}catch(e){a(e)}}function o(e){e.done?n(e.value):i(e.value).then(u,c)}o((r=r.apply(e,t||[])).next())}))};var __generator=this&&this.__generator||function(e,t){var n={label:0,sent:function(){if(a[0]&1)throw a[1];return a[1]},trys:[],ops:[]},r,i,a,u;return u={next:c(0),throw:c(1),return:c(2)},typeof Symbol==="function"&&(u[Symbol.iterator]=function(){return this}),u;function c(e){return function(t){return o([e,t])}}function o(c){if(r)throw new TypeError("Generator is already executing.");while(u&&(u=0,c[0]&&(n=0)),n)try{if(r=1,i&&(a=c[0]&2?i["return"]:c[0]?i["throw"]||((a=i["return"])&&a.call(i),0):i.next)&&!(a=a.call(i,c[1])).done)return a;if(i=0,a)c=[c[0]&2,a.value];switch(c[0]){case 0:case 1:a=c;break;case 4:n.label++;return{value:c[1],done:false};case 5:n.label++;i=c[1];c=[0];continue;case 7:c=n.ops.pop();n.trys.pop();continue;default:if(!(a=n.trys,a=a.length>0&&a[a.length-1])&&(c[0]===6||c[0]===2)){n=0;continue}if(c[0]===3&&(!a||c[1]>a[0]&&c[1]<a[3])){n.label=c[1];break}if(c[0]===6&&n.label<a[1]){n.label=a[1];a=c;break}if(a&&n.label<a[2]){n.label=a[2];n.ops.push(c);break}if(a[2])n.ops.pop();n.trys.pop();continue}c=t.call(e,n)}catch(e){c=[6,e];i=0}finally{r=a=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}};System.register(["./p-eV7FkxIV.system.js"],(function(e,t){"use strict";var n,r,i;return{setters:[function(t){n=t.p;r=t.g;i=t.b;e("setNonce",t.s)}],execute:function(){var e=this;var a=function(){var e=t.meta.url;var r={};if(e!==""){r.resourcesUrl=new URL(".",e).href}return n(r)};a().then((function(t){return __awaiter(e,void 0,void 0,(function(){return __generator(this,(function(e){switch(e.label){case 0:return[4,r()];case 1:e.sent();return[2,i([["p-295a94dc.system",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}]]],["p-8cab92ea.system",[[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],state:[32],language:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],t)]}}))}))}))}}}));
  • bettercx-widget/trunk/bettercx-widget.php

    r3374405 r3378125  
    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.1
     6 * Version: 1.0.2
    77 * Author: BetterCX
    88 * Author URI: https://bettercx.ai
     
    1616 *
    1717 * @package BetterCX_Widget
    18  * @version 1.0.1
     18 * @version 1.0.2
    1919 * @author BetterCX
    2020 * @license GPLv2+
     
    3737
    3838// Define plugin constants
    39 define('BETTERCX_WIDGET_VERSION', '1.0.0');
     39define('BETTERCX_WIDGET_VERSION', '1.0.2');
    4040define('BETTERCX_WIDGET_PLUGIN_FILE', __FILE__);
    4141define('BETTERCX_WIDGET_PLUGIN_DIR', plugin_dir_path(__FILE__));
  • bettercx-widget/trunk/src/components/bettercx-widget/bettercx-widget.scss

    r3374403 r3378125  
    969969    --bcx-widget-chat-height: 100vh;
    970970
    971     /* Position with safe areas */
     971    /* Position with safe areas - only cover full screen when chat is open */
     972    bottom: var(--bcx-space-6);
     973    right: var(--bcx-space-6);
     974    left: auto;
     975    top: auto;
     976
     977    /* Ensure widget never goes off-screen */
     978    max-width: 100vw;
     979    max-height: 100vh;
     980  }
     981
     982  /* When chat is open, cover full screen */
     983  :host(.bcx-widget--open) {
    972984    bottom: 0;
    973985    right: 0;
    974986    left: 0;
    975987    top: 0;
    976 
    977     /* Ensure widget never goes off-screen */
    978     max-width: 100vw;
    979     max-height: 100vh;
    980988  }
    981989
     
    10371045  }
    10381046
     1047  /* Left position variant - only cover full screen when chat is open */
     1048  :host(.bcx-widget--left) {
     1049    bottom: var(--bcx-space-6);
     1050    right: auto;
     1051    left: var(--bcx-space-6);
     1052    top: auto;
     1053  }
     1054
     1055  :host(.bcx-widget--left.bcx-widget--open) {
     1056    bottom: 0;
     1057    right: 0;
     1058    left: 0;
     1059    top: 0;
     1060  }
     1061
    10391062  :host(.bcx-widget--left) .bcx-widget__toggle {
    10401063    right: auto !important;
Note: See TracChangeset for help on using the changeset viewer.