@commversion/libs 0.18.3 → 0.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}function n(e,n){if(t(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(t(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function r(e){var r=n(e,`string`);return t(r)==`symbol`?r:r+``}function i(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?a(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var s={whatsapp:{label:`WhatsApp`,icon:`<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 509 511.514"><path fill="#fff" d="M434.762 74.334C387.553 26.81 323.245 0 256.236 0h-.768C115.795.001 2.121 113.696 2.121 253.456l.001.015a253.516 253.516 0 0033.942 126.671L0 511.514l134.373-35.269a253.416 253.416 0 00121.052 30.9h.003.053C395.472 507.145 509 393.616 509 253.626c0-67.225-26.742-131.727-74.252-179.237l.014-.055zM255.555 464.453c-37.753 0-74.861-10.22-107.293-29.479l-7.72-4.602-79.741 20.889 21.207-77.726-4.984-7.975c-21.147-33.606-32.415-72.584-32.415-112.308 0-116.371 94.372-210.743 210.741-210.743 56.011 0 109.758 22.307 149.277 61.98a210.93 210.93 0 0161.744 149.095c0 116.44-94.403 210.869-210.844 210.869h.028zm115.583-157.914c-6.363-3.202-37.474-18.472-43.243-20.593-5.769-2.121-10.01-3.202-14.315 3.203-4.305 6.404-16.373 20.593-20.063 24.855-3.69 4.263-7.401 4.815-13.679 1.612-6.278-3.202-26.786-9.883-50.899-31.472a192.748 192.748 0 01-35.411-43.867c-3.712-6.363-.404-9.777 2.82-12.873 3.224-3.096 6.363-7.381 9.48-11.092a41.58 41.58 0 006.357-10.597 11.678 11.678 0 00-.508-11.09c-1.718-3.18-14.444-34.357-19.534-47.06-5.09-12.703-10.37-10.603-14.272-10.901-3.902-.297-7.911-.19-12.089-.19a23.322 23.322 0 00-16.964 7.911c-5.707 6.298-22.1 21.673-22.1 52.849s22.671 61.249 25.852 65.532c3.182 4.284 44.663 68.227 108.288 95.649 15.099 6.489 26.891 10.392 36.053 13.403a87.504 87.504 0 0025.216 3.718c4.905 0 9.82-.416 14.65-1.237 12.174-1.782 37.453-15.291 42.776-30.073s5.303-27.57 3.711-30.093c-1.591-2.524-5.704-4.369-12.088-7.615l-.038.021z"/></svg>`,backgroundColor:`#25D366`,prefilledmessage:`Hi, I'd like to learn more.`,mobile:{enabled:!1,url:`https://wa.me/{number}[?text={prefilledmessage}]`},desktop:{enabled:!1,url:`https://web.whatsapp.com/send?phone={number}[&text={prefilledmessage}]`}},sms:{label:`SMS`,icon:`<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#fff"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 13H6v-2h2v2zm5 0h-2v-2h2v2zm5 0h-2v-2h2v2z"/></svg>`,backgroundColor:`#3478F6`,prefilledmessage:`Hi, I'd like to learn more.`,mobile:{enabled:!1,url:`sms:{number}[?body={prefilledmessage}]`},desktop:{enabled:!1,url:`sms:{number}[?body={prefilledmessage}]`},popover:{title:`Text us — we're available 24/7`,description:`US numbers only. Msg & carrier rates may apply. Reply STOP to opt out.`,buttonLabel:`Start Conversation`}}},c=new Set([`prefilledmessage`]),l=new Map,u=new Map,d=new Map,f=new Set,p=new Set;function m(e,t){let n=u.get(e);n||(n=new Set,u.set(e,n)),n.add(t)}function h(e){let t=u.get(e);if(t)for(let e of t)e.isConnected||t.delete(e)}function g(e,t,n){return t?e?`${e} (ref ${t})`:(p.has(n)||(p.add(n),console.warn(`[lc-channel-widgets] ${n}Config.defaultMessage is empty; emitting bare ref`)),`(ref ${t})`):e||``}function _(e,t){var n,r;let i=((n=window.commversion)==null?void 0:n[`${e}Config`])||void 0;if(i&&t&&i.buttonMessages){let e=i.buttonMessages[t];if(typeof e==`string`)return e}if(i&&typeof i.defaultMessage==`string`)return i.defaultMessage;let a=(r=s[e])==null?void 0:r.prefilledmessage;return typeof a==`string`?a:``}function v(e){var t;let n=e.__lcChannelType,r=d.get(n);if(!(r!=null&&r.urlTemplate)){e.href=`#`;return}let i=g((t=e.__lcBaseMessage)==null?``:t,l.get(n),n),a=o(o({},r.channelData),{},{prefilledmessage:i});e.href=ee(r.urlTemplate,a)}function y(e){window.dispatchEvent(new CustomEvent(`commversion:channel-clicked`,{detail:{channel:e}}))}function b(){let e=Array.from(f);e.length!==0&&window.dispatchEvent(new CustomEvent(`commversion:channels-registered`,{detail:{channels:e}}))}function x(e){var t;let n=((t=window.commversion)==null?void 0:t[`${e.type}Config`])||void 0;if(n!=null&&n.buttonMessages)for(let t of Object.keys(n.buttonMessages)){let n;try{n=document.querySelectorAll(t)}catch(e){console.warn(`[lc-channel-widgets] invalid buttonMessages selector "${t}":`,e);continue}n.forEach(n=>{if(!n.__lcChannelAttached){if(!(n instanceof HTMLAnchorElement)){console.warn(`[lc-channel-widgets] buttonMessages selector "${t}" matched non-<a> element; skipping`);return}n.__lcChannelAttached=e.type,n.__lcChannelType=e.type,n.__lcBaseMessage=_(e.type,t),n.setAttribute(`target`,`_blank`),n.setAttribute(`rel`,`noopener noreferrer`),v(n),m(e.type,n),n.addEventListener(`click`,()=>y(e.type))}})}}window.addEventListener(`commversion:attribution-ready`,()=>{b()}),window.addEventListener(`commversion:shortcode-resolved`,e=>{let{channel:t,shortCode:n}=e.detail||{};if(!t||typeof n!=`string`)return;l.set(t,n),h(t);let r=u.get(t);if(r)for(let e of r)v(e)}),window.addEventListener(`commversion:shortcode-failed`,()=>{});function ee(e,t){return e.replace(/\[([^\]]*)\]/g,(e,n)=>{for(let[,e]of n.matchAll(/\{(\w+)\}/g)){let n=t[e];if(n==null||n===``)return``}return n}).replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];if(r==null)return``;let i=String(r);return c.has(n)?encodeURIComponent(i):i})}var S=e=>e&&typeof e.enabled==`boolean`?{enabled:e.enabled}:{},te=e=>e===!0?!0:e&&typeof e==`object`?e.enabled===!0:!1,C={title:60,description:140,buttonLabel:24},ne=(e,t)=>{if(!e||e===!0||typeof e!=`object`)return{};let n={};return Object.keys(C).forEach(r=>{if(typeof e[r]!=`string`)return;let i=C[r];if(i!=null&&e[r].length>i){console.warn(`[lc-channel-widgets] ${t} popover.${r} exceeds ${i} chars (got ${e[r].length}); using registry default`);return}n[r]=e[r]}),n};function re(e,t){if(!e||typeof e.type!=`string`)return null;let n=s[e.type];if(!n)return null;let r=n[t]||{};return{type:e.type,label:n.label,icon:n.icon,backgroundColor:n.backgroundColor,mobile:o(o({},n.mobile),S(e.mobile)),desktop:o(o({},n.desktop),S(e.desktop)),popover:n.popover&&te(e.popover)?o(o({},n.popover),ne(e.popover,e.type)):void 0,urlTemplate:r.url||``,channelData:e}}var ie=`screen and (max-width: 992px) and (pointer: coarse)`,ae=()=>window.matchMedia(ie).matches?`mobile`:`desktop`,w=[];function T(){for(let e=w.length-1;e>=0;e--){let t=w[e];t!=null&&t.parentNode&&t.remove(),w.splice(e,1)}}var E=!1;function oe(){E||(E=!0,document.addEventListener(`click`,e=>{for(let t of w)t.__isOpen&&!t.contains(e.target)&&J(t)}))}function se(){if(window.__lcHistoryPatched)return;window.__lcHistoryPatched=!0,window.__lcLastUrl=window.__lcLastUrl||location.href;let e=e=>{let t=window.__lcLastUrl,n=location.href,r=t!==n;window.__lcLastUrl=n,!(!r&&e!==`popstate`)&&window.dispatchEvent(new Event(`lc:locationchange`))},t=history.pushState;typeof t==`function`&&(history.pushState=function(...n){let r=t.apply(this,n);return e(`pushState`),r});let n=history.replaceState;typeof n==`function`&&(history.replaceState=function(...t){let r=n.apply(this,t);return e(`replaceState`),r}),window.addEventListener(`popstate`,()=>e(`popstate`)),window.addEventListener(`hashchange`,()=>e(`hashchange`))}function D(e){var t;if(document.__lcVisibilityBound&&!e)return!0;if(typeof((t=window.LiveChatWidget)==null?void 0:t.on)!=`function`)return!1;let n=document.__lcVisibilityCb;if(n&&typeof window.LiveChatWidget.off==`function`)try{window.LiveChatWidget.off(`visibility_changed`,n)}catch(e){}let r=e=>{var t,n,r,i;let a=document.__lcStack;a!=null&&a.isConnected&&(e&&typeof e.visibility==`string`&&(a.__lcVisibility=e.visibility),(t=(n=document).__lcCurrentRebind)==null||t.call(n),(r=(i=document).__lcCurrentSync)==null||r.call(i))};return window.LiveChatWidget.on(`visibility_changed`,r),document.__lcVisibilityCb=r,document.__lcVisibilityBound=!0,!0}function ce(e){if(D(e)||document.__lcVisibilityPolling)return;document.__lcVisibilityPolling=!0;let t=0,n=setInterval(()=>{(D(e)||++t>=200)&&(clearInterval(n),document.__lcVisibilityPolling=!1)},200)}function O(){document.__lcBodyMutationObs||typeof MutationObserver>`u`||(document.__lcBodyMutationObs=new MutationObserver(e=>{let t=document.__lcStack;if(t){for(let{removedNodes:r}of e)if(!(!r||r.length===0))for(let e of r){var n;if(e.nodeType===1&&(e===t||(n=e.contains)!=null&&n.call(e,t))){let e=document.__lcChannelWidgetsConfig;e&&j(e);return}}}}),document.__lcBodyMutationObs.observe(document.body,{childList:!0,subtree:!0}))}var k=null,A=null;function j(e){A=e,!k&&(k=setTimeout(()=>{k=null;let e=A;A=null,$(e)},100))}var M=`#chat-widget-minimized`,N=`#chat-overlay-container`,le=`#chat-overlay-button`,ue=[M,N],P=15,F=100,I=150;function L(e){return{width:e.width,height:e.height,fromLeft:e.left,fromRight:window.innerWidth-e.right,fromTop:e.top,fromBottom:window.innerHeight-e.bottom}}function R(e){let t=e.fromLeft<=e.fromRight,n=e.fromTop<=e.fromBottom,r=t?e.fromLeft:window.innerWidth-e.fromRight-e.width,i=n?e.fromTop:window.innerHeight-e.fromBottom-e.height;return{left:r,top:i,right:r+e.width,bottom:i+e.height,width:e.width,height:e.height}}var z=60;function B(e){let t=window.innerWidth-e.right<=e.left,n=e.bottom,r=n-z,i=t?e.right:e.left+z;return{left:i-z,right:i,top:r,bottom:n,width:z,height:z}}var V=200,H=150;function U(e,t,{interval:n=V,maxRetries:r=H}={}){let i=0,a=setInterval(()=>{let n=document.querySelector(e);if(n){clearInterval(a),t(n);return}++i>=r&&clearInterval(a)},n)}function W(){if(document.getElementById(`lc-channel-widgets-style`))return;let e=document.createElement(`style`);e.id=`lc-channel-widgets-style`,e.textContent=`
1
+ var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){"@babel/helpers - typeof";return t=typeof Symbol==`function`&&typeof Symbol.iterator==`symbol`?function(e){return typeof e}:function(e){return e&&typeof Symbol==`function`&&e.constructor===Symbol&&e!==Symbol.prototype?`symbol`:typeof e},t(e)}function n(e,n){if(t(e)!=`object`||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var i=r.call(e,n||`default`);if(t(i)!=`object`)return i;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(n===`string`?String:Number)(e)}function r(e){var r=n(e,`string`);return t(r)==`symbol`?r:r+``}function i(e,t,n){return(t=r(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?a(Object(n),!0).forEach(function(t){i(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):a(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var s={whatsapp:{label:`WhatsApp`,icon:`<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" shape-rendering="geometricPrecision" text-rendering="geometricPrecision" image-rendering="optimizeQuality" fill-rule="evenodd" clip-rule="evenodd" viewBox="0 0 509 511.514"><path fill="#fff" d="M434.762 74.334C387.553 26.81 323.245 0 256.236 0h-.768C115.795.001 2.121 113.696 2.121 253.456l.001.015a253.516 253.516 0 0033.942 126.671L0 511.514l134.373-35.269a253.416 253.416 0 00121.052 30.9h.003.053C395.472 507.145 509 393.616 509 253.626c0-67.225-26.742-131.727-74.252-179.237l.014-.055zM255.555 464.453c-37.753 0-74.861-10.22-107.293-29.479l-7.72-4.602-79.741 20.889 21.207-77.726-4.984-7.975c-21.147-33.606-32.415-72.584-32.415-112.308 0-116.371 94.372-210.743 210.741-210.743 56.011 0 109.758 22.307 149.277 61.98a210.93 210.93 0 0161.744 149.095c0 116.44-94.403 210.869-210.844 210.869h.028zm115.583-157.914c-6.363-3.202-37.474-18.472-43.243-20.593-5.769-2.121-10.01-3.202-14.315 3.203-4.305 6.404-16.373 20.593-20.063 24.855-3.69 4.263-7.401 4.815-13.679 1.612-6.278-3.202-26.786-9.883-50.899-31.472a192.748 192.748 0 01-35.411-43.867c-3.712-6.363-.404-9.777 2.82-12.873 3.224-3.096 6.363-7.381 9.48-11.092a41.58 41.58 0 006.357-10.597 11.678 11.678 0 00-.508-11.09c-1.718-3.18-14.444-34.357-19.534-47.06-5.09-12.703-10.37-10.603-14.272-10.901-3.902-.297-7.911-.19-12.089-.19a23.322 23.322 0 00-16.964 7.911c-5.707 6.298-22.1 21.673-22.1 52.849s22.671 61.249 25.852 65.532c3.182 4.284 44.663 68.227 108.288 95.649 15.099 6.489 26.891 10.392 36.053 13.403a87.504 87.504 0 0025.216 3.718c4.905 0 9.82-.416 14.65-1.237 12.174-1.782 37.453-15.291 42.776-30.073s5.303-27.57 3.711-30.093c-1.591-2.524-5.704-4.369-12.088-7.615l-.038.021z"/></svg>`,backgroundColor:`#25D366`,prefilledmessage:`Hi, I'd like to learn more.`,mobile:{enabled:!1,url:`https://wa.me/{number}[?text={prefilledmessage}]`},desktop:{enabled:!1,url:`https://web.whatsapp.com/send?phone={number}[&text={prefilledmessage}]`}},sms:{label:`SMS`,icon:`<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#fff"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM8 13H6v-2h2v2zm5 0h-2v-2h2v2zm5 0h-2v-2h2v2z"/></svg>`,backgroundColor:`#3478F6`,prefilledmessage:`Hi, I'd like to learn more.`,mobile:{enabled:!1,url:`sms:{number}[?body={prefilledmessage}]`},desktop:{enabled:!1,url:`sms:{number}[?body={prefilledmessage}]`},popover:{title:`Text us — we're available 24/7`,description:`US numbers only. Msg & carrier rates may apply. Reply STOP to opt out.`,buttonLabel:`Start Conversation`}}},c=new Set([`prefilledmessage`]),l=e=>typeof e==`string`&&/^https?:\/\//i.test(e),u=new Map,d=new Map,f=new Map,p=new Set,m=new Set;function h(e,t){let n=d.get(e);n||(n=new Set,d.set(e,n)),n.add(t)}function g(e){let t=d.get(e);if(t)for(let e of t)e.isConnected||t.delete(e)}function _(e,t,n){return t?e?`${e} (ref ${t})`:(m.has(n)||(m.add(n),console.warn(`[lc-channel-widgets] ${n}Config.defaultMessage is empty; emitting bare ref`)),`(ref ${t})`):e||``}function v(e,t){var n,r;let i=((n=window.commversion)==null?void 0:n[`${e}Config`])||void 0;if(i&&t&&i.buttonMessages){let e=i.buttonMessages[t];if(typeof e==`string`)return e}if(i&&typeof i.defaultMessage==`string`)return i.defaultMessage;let a=(r=s[e])==null?void 0:r.prefilledmessage;return typeof a==`string`?a:``}function y(e){var t;let n=e.__lcChannelType,r=f.get(n);if(!(r!=null&&r.urlTemplate)){e.href=`#`;return}let i=_((t=e.__lcBaseMessage)==null?``:t,u.get(n),n),a=o(o({},r.channelData),{},{prefilledmessage:i});e.href=te(r.urlTemplate,a)}function b(e){window.dispatchEvent(new CustomEvent(`commversion:channel-clicked`,{detail:{channel:e}}))}function x(){let e=Array.from(p);e.length!==0&&window.dispatchEvent(new CustomEvent(`commversion:channels-registered`,{detail:{channels:e}}))}function ee(e){var t;let n=((t=window.commversion)==null?void 0:t[`${e.type}Config`])||void 0;if(n!=null&&n.buttonMessages)for(let t of Object.keys(n.buttonMessages)){let n;try{n=document.querySelectorAll(t)}catch(e){console.warn(`[lc-channel-widgets] invalid buttonMessages selector "${t}":`,e);continue}n.forEach(n=>{if(!n.__lcChannelAttached){if(!(n instanceof HTMLAnchorElement)){console.warn(`[lc-channel-widgets] buttonMessages selector "${t}" matched non-<a> element; skipping`);return}n.__lcChannelAttached=e.type,S(n,e,t)}})}}function S(e,t,n){l(t.urlTemplate)&&(e.setAttribute(`target`,`_blank`),e.setAttribute(`rel`,`noopener noreferrer`)),e.__lcChannelType=t.type,e.__lcBaseMessage=v(t.type,n),y(e),h(t.type,e),e.addEventListener(`click`,()=>b(t.type))}window.addEventListener(`commversion:attribution-ready`,()=>{x()}),window.addEventListener(`commversion:shortcode-resolved`,e=>{let{channel:t,shortCode:n}=e.detail||{};if(!t||typeof n!=`string`)return;u.set(t,n),g(t);let r=d.get(t);if(r)for(let e of r)y(e)}),window.addEventListener(`commversion:shortcode-failed`,()=>{});function te(e,t){return e.replace(/\[([^\]]*)\]/g,(e,n)=>{for(let[,e]of n.matchAll(/\{(\w+)\}/g)){let n=t[e];if(n==null||n===``)return``}return n}).replace(/\{(\w+)\}/g,(e,n)=>{let r=t[n];if(r==null)return``;let i=String(r);return c.has(n)?encodeURIComponent(i):i})}var C=e=>e&&typeof e.enabled==`boolean`?{enabled:e.enabled}:{},ne=e=>e===!0?!0:e&&typeof e==`object`?e.enabled===!0:!1,w={title:60,description:140,buttonLabel:24},re=(e,t)=>{if(!e||e===!0||typeof e!=`object`)return{};let n={};return Object.keys(w).forEach(r=>{if(typeof e[r]!=`string`)return;let i=w[r];if(i!=null&&e[r].length>i){console.warn(`[lc-channel-widgets] ${t} popover.${r} exceeds ${i} chars (got ${e[r].length}); using registry default`);return}n[r]=e[r]}),n};function ie(e,t){if(!e||typeof e.type!=`string`)return null;let n=s[e.type];if(!n)return null;let r=n[t]||{};return{type:e.type,label:n.label,icon:n.icon,backgroundColor:n.backgroundColor,mobile:o(o({},n.mobile),C(e.mobile)),desktop:o(o({},n.desktop),C(e.desktop)),popover:n.popover&&ne(e.popover)?o(o({},n.popover),re(e.popover,e.type)):void 0,urlTemplate:r.url||``,channelData:e}}var ae=`screen and (max-width: 992px) and (pointer: coarse)`,oe=()=>window.matchMedia(ae).matches?`mobile`:`desktop`,T=[];function E(){for(let e=T.length-1;e>=0;e--){let t=T[e];t!=null&&t.parentNode&&t.remove(),T.splice(e,1)}}var D=new Set;function O(e,t){D.has(e)||(D.add(e),document.addEventListener(e,t))}function se(){O(`click`,e=>{for(let t of T)t.__isOpen&&!t.contains(e.target)&&q(t,{restoreFocus:!1})})}function ce(){O(`keydown`,e=>{if(e.key===`Escape`){for(let e of T)if(e.__isOpen){q(e);return}}})}var le=0;function k(e,t){if(!e)return;let n=t?`true`:`false`;e.getAttribute(`aria-expanded`)!==n&&e.setAttribute(`aria-expanded`,n)}function ue(){if(window.__lcHistoryPatched)return;window.__lcHistoryPatched=!0,window.__lcLastUrl=window.__lcLastUrl||location.href;let e=e=>{let t=window.__lcLastUrl,n=location.href,r=t!==n;window.__lcLastUrl=n,!(!r&&e!==`popstate`)&&window.dispatchEvent(new Event(`lc:locationchange`))},t=history.pushState;typeof t==`function`&&(history.pushState=function(...n){let r=t.apply(this,n);return e(`pushState`),r});let n=history.replaceState;typeof n==`function`&&(history.replaceState=function(...t){let r=n.apply(this,t);return e(`replaceState`),r}),window.addEventListener(`popstate`,()=>e(`popstate`)),window.addEventListener(`hashchange`,()=>e(`hashchange`))}function A(e){var t;if(document.__lcVisibilityBound&&!e)return!0;if(typeof((t=window.LiveChatWidget)==null?void 0:t.on)!=`function`)return!1;let n=document.__lcVisibilityCb;if(n&&typeof window.LiveChatWidget.off==`function`)try{window.LiveChatWidget.off(`visibility_changed`,n)}catch(e){}let r=e=>{var t,n,r,i;let a=document.__lcStack;a!=null&&a.isConnected&&(e&&typeof e.visibility==`string`&&(a.__lcVisibility=e.visibility),(t=(n=document).__lcCurrentRebind)==null||t.call(n),(r=(i=document).__lcCurrentSync)==null||r.call(i))};return window.LiveChatWidget.on(`visibility_changed`,r),document.__lcVisibilityCb=r,document.__lcVisibilityBound=!0,!0}function j(e){if(A(e)||document.__lcVisibilityPolling)return;document.__lcVisibilityPolling=!0;let t=0,n=setInterval(()=>{(A(e)||++t>=200)&&(clearInterval(n),document.__lcVisibilityPolling=!1)},200)}function de(){document.__lcBodyMutationObs||typeof MutationObserver>`u`||(document.__lcBodyMutationObs=new MutationObserver(e=>{let t=document.__lcStack;if(t){for(let{removedNodes:r}of e)if(!(!r||r.length===0))for(let e of r){var n;if(e.nodeType===1&&(e===t||(n=e.contains)!=null&&n.call(e,t))){let e=document.__lcChannelWidgetsConfig;e&&P(e);return}}}}),document.__lcBodyMutationObs.observe(document.body,{childList:!0,subtree:!0}))}var M=null,N=null;function P(e){N=e,!M&&(M=setTimeout(()=>{M=null;let e=N;N=null,$(e)},100))}var F=`#chat-widget-minimized`,I=`#chat-overlay-container`,fe=`#chat-overlay-button`,pe=[F,I],L=15,R=100,z=150;function me(e){return{width:e.width,height:e.height,fromLeft:e.left,fromRight:window.innerWidth-e.right,fromTop:e.top,fromBottom:window.innerHeight-e.bottom}}function B(e){let t=e.fromLeft<=e.fromRight,n=e.fromTop<=e.fromBottom,r=t?e.fromLeft:window.innerWidth-e.fromRight-e.width,i=n?e.fromTop:window.innerHeight-e.fromBottom-e.height;return{left:r,top:i,right:r+e.width,bottom:i+e.height,width:e.width,height:e.height}}var V=60;function he(e){let t=window.innerWidth-e.right<=e.left,n=e.bottom,r=n-V,i=t?e.right:e.left+V;return{left:i-V,right:i,top:r,bottom:n,width:V,height:V}}var ge=200,_e=150;function H(e,t,{interval:n=ge,maxRetries:r=_e}={}){let i=0,a=setInterval(()=>{let n=document.querySelector(e);if(n){clearInterval(a),t(n);return}++i>=r&&clearInterval(a)},n)}function U(){if(document.getElementById(`lc-channel-widgets-style`))return;let e=document.createElement(`style`);e.id=`lc-channel-widgets-style`,e.textContent=`
2
2
  .lc-channel-stack {
3
3
  position: fixed;
4
4
  top: 0;
@@ -58,6 +58,15 @@ var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{va
58
58
  justify-content: center;
59
59
  align-items: center;
60
60
  border-radius: 50%;
61
+ /* Resets for the popover-trigger variant which is a native <button>:
62
+ inline style.backgroundColor (set per element) overrides the
63
+ transparent default, so visual output is identical for both the
64
+ <a> (non-popover) and <button> (popover) paths. */
65
+ border: 0;
66
+ padding: 0;
67
+ background: transparent;
68
+ font: inherit;
69
+ appearance: none;
61
70
  }
62
71
 
63
72
  .lc-channel-icon {
@@ -111,6 +120,19 @@ var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{va
111
120
  font-weight: 600;
112
121
  cursor: pointer;
113
122
  }
123
+ /* Host pages commonly style \`a:hover { color: ... }\` with specificity
124
+ (0,1,1), which outranks a plain class selector (0,1,0) — that's why
125
+ the popover button would flip to the host's link color on hover.
126
+ Pinning every anchor state on the class (specificity 0,2,0) keeps the
127
+ button white regardless of the host stylesheet. */
128
+ .lc-channel-popover-button:link,
129
+ .lc-channel-popover-button:visited,
130
+ .lc-channel-popover-button:hover,
131
+ .lc-channel-popover-button:active,
132
+ .lc-channel-popover-button:focus {
133
+ color: #fff;
134
+ text-decoration: none;
135
+ }
114
136
  .lc-channel-popover-close {
115
137
  position: absolute;
116
138
  top: 6px;
@@ -119,9 +141,34 @@ var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{va
119
141
  border: none;
120
142
  font-size: 18px;
121
143
  line-height: 1;
122
- color: #888;
144
+ /* #888 against #fff is only 3.54:1 — passes 1.4.11 non-text contrast
145
+ but fails 1.4.3 (text 4.5:1). Treating the × as a text glyph, #555
146
+ lifts contrast to ~7.5:1 and clears AA with comfortable margin. */
147
+ color: #555;
123
148
  cursor: pointer;
124
- padding: 4px 6px;
149
+ padding: 6px 8px;
150
+ /* WCAG 2.5.8 Target Size (Minimum) — guarantee ≥24×24 CSS px hit area
151
+ regardless of the × glyph's intrinsic width. */
152
+ min-width: 24px;
153
+ min-height: 24px;
154
+ }
155
+ /* WCAG 2.4.7 Focus Visible — explicit rings so users don't rely on
156
+ per-browser defaults that may have low contrast against our colored
157
+ backgrounds. White ring contrasts the channel buttons (#128C45,
158
+ #0A4FCC both clear 3:1 vs white). Dark ring contrasts the close
159
+ button (which sits on the white popover bg). The CTA inset ring
160
+ avoids overlapping the rounded popover edge. */
161
+ .lc-channel-button:focus-visible {
162
+ outline: 2px solid #fff;
163
+ outline-offset: 2px;
164
+ }
165
+ .lc-channel-popover-button:focus-visible {
166
+ outline: 2px solid #fff;
167
+ outline-offset: -4px;
168
+ }
169
+ .lc-channel-popover-close:focus-visible {
170
+ outline: 2px solid #1a1a1a;
171
+ outline-offset: 2px;
125
172
  }
126
173
  /* Directional arrow. 12px square rotated 45° so half sits outside
127
174
  the popover as a triangular tip. Inline left/top is set per open
@@ -142,4 +189,4 @@ var lcChannelWidgets=(function(e){Object.defineProperty(e,Symbol.toStringTag,{va
142
189
  top: -6px;
143
190
  box-shadow: -3px -3px 6px rgba(0, 0, 0, 0.06);
144
191
  }
145
- `,document.head.appendChild(e)}function de(e,t){if(typeof e!=`string`||e.length===0)return null;if(/^(data:|https?:\/\/)/.test(e)){let n=document.createElement(`img`);return n.className=`lc-channel-icon`,n.alt=t||``,n.src=e,n}let n=document.createElement(`span`);n.className=`lc-channel-icon`,n.setAttribute(`aria-hidden`,`true`),n.innerHTML=e;let r=n.querySelector(`svg`);return r&&(r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.style.display=`block`),n}function G(e,t,n){let r=e.left+e.width/2,i=e.top-n-12,a=`bottom`;i<8&&(i=e.bottom+12,a=`top`),i+n>window.innerHeight-8&&(i=window.innerHeight-n-8),i<8&&(i=8);let o=r-t/2;o<8&&(o=8),o+t>window.innerWidth-8&&(o=window.innerWidth-t-8);let s=Math.max(18,t-18),c=Math.max(18,Math.min(s,r-o));return{tx:o,ty:i,arrowSide:a,arrowOffset:c}}function K(e,t,n){e.__appliedArrowSide!==t&&(e.classList.remove(`lc-channel-popover--arrow-top`,`lc-channel-popover--arrow-bottom`),e.classList.add(`lc-channel-popover--arrow-${t}`),e.__appliedArrowSide=t),e.__arrowEl.style.left=`${n-6}px`}function q(e){let t=e.getBoundingClientRect(),n=t.width>0?t.width:e.__cachedWidth,r=t.height>0?t.height:e.__cachedHeight,i=G(e.__trigger.getBoundingClientRect(),n,r);e.style.transform=`translate3d(${i.tx}px,${i.ty}px,0)`,K(e,i.arrowSide,i.arrowOffset)}function J(e){e.__isOpen=!1,e.style.opacity=`0`,e.style.pointerEvents=`none`,requestAnimationFrame(()=>{e.setAttribute(`aria-hidden`,`true`)})}function fe(e){w.forEach(t=>{t!==e&&t.__isOpen&&J(t)}),e.__cachedTransform?(e.style.transform=e.__cachedTransform,e.__arrowSide&&e.__arrowEl&&K(e,e.__arrowSide,e.__arrowOffset)):e.__trigger&&q(e),e.style.opacity=`1`,e.style.pointerEvents=`auto`,requestAnimationFrame(()=>{e.removeAttribute(`aria-hidden`)}),e.__isOpen=!0}function pe(e){let t=e.popover,n=document.createElement(`div`);if(n.className=`lc-channel-popover`,n.dataset.popoverChannelId=e.type,t.title){let e=document.createElement(`h3`);e.className=`lc-channel-popover-title`,e.textContent=t.title,n.appendChild(e)}if(t.description){let e=document.createElement(`p`);e.className=`lc-channel-popover-description`,e.textContent=t.description,n.appendChild(e)}let r=document.createElement(`a`);r.className=`lc-channel-popover-button`,r.setAttribute(`target`,`_blank`),r.setAttribute(`rel`,`noopener noreferrer`),r.style.textDecoration=`none`,r.style.display=`block`,r.style.textAlign=`center`,r.style.boxSizing=`border-box`,r.textContent=t.buttonLabel||`Start Conversation`,r.style.backgroundColor=e.backgroundColor||`#1a1a1a`,r.__lcChannelType=e.type,r.__lcBaseMessage=_(e.type),v(r),m(e.type,r),r.addEventListener(`click`,t=>{t.stopPropagation(),y(e.type),J(n)}),n.appendChild(r);let i=document.createElement(`button`);i.type=`button`,i.className=`lc-channel-popover-close`,i.setAttribute(`aria-label`,`Close`),i.textContent=`×`,i.onclick=e=>{e.stopPropagation(),J(n)},n.appendChild(i);let a=document.createElement(`div`);a.className=`lc-channel-popover-arrow`,n.appendChild(a),n.__arrowEl=a,n.__isOpen=!1,n.style.opacity=`0`,n.style.pointerEvents=`none`,n.setAttribute(`aria-hidden`,`true`),n.style.transform=`translate3d(0,0,0)`,document.body.appendChild(n);let o=n.getBoundingClientRect();return n.__cachedWidth=o.width>0?o.width:280,n.__cachedHeight=o.height,w.push(n),oe(),n}function Y(e){let t=!!e.popover,n=document.createElement(t?`div`:`a`);n.className=`lc-channel-button`,n.dataset.channelId=e.type,e.label&&n.setAttribute(`aria-label`,e.label),e.backgroundColor&&(n.style.backgroundColor=e.backgroundColor);let r=t?pe(e):null;n.__popoverEl=r,r&&(r.__trigger=n),t?n.onclick=e=>{e.stopPropagation(),r.__isOpen?J(r):fe(r)}:(n.setAttribute(`target`,`_blank`),n.setAttribute(`rel`,`noopener noreferrer`),n.style.textDecoration=`none`,n.__lcChannelType=e.type,n.__lcBaseMessage=_(e.type),v(n),m(e.type,n),n.addEventListener(`click`,()=>y(e.type)));let i=de(e.icon,e.label||e.type);return i&&n.appendChild(i),n}function me(e,t){let n=e==null?void 0:e[t];return n&&typeof n.enabled==`boolean`?n.enabled:t===`mobile`}function X(e,t){let n=Math.max(e.width,e.height),r=Math.min(n,t);return{measured:n,buttonSize:r,iconSize:Math.round(r*.5)}}function Z(e,t){let n=[];return e.forEach(e=>{let r=re(e,t);if(!r){console.warn(`[lc-channel-widgets] unknown or invalid channel — skipping:`,e);return}d.set(r.type,r),f.add(r.type),x(r),me(r,t)&&n.push(r)}),b(),n}function he(e){let{deviceType:t,chatWidgetSelector:n,channels:r,bubbleSelector:i}=e,a=e[t];if(!document.querySelector(n))return;let o=()=>document.querySelector(n),s=Z(r,t);if(s.length===0)return;W();let c=document.body.querySelector(`:scope > .lc-channel-stack`);c||(T(),c=document.createElement(`div`),c.className=`lc-channel-stack lc-channel-stack--horizontal`,c.style.gap=a.gap,c.setAttribute(`role`,`group`),c.setAttribute(`aria-label`,`Contact channels`),document.body.appendChild(c)),document.__lcStack=c,s.forEach(e=>{c.querySelector(`[data-channel-id="${CSS.escape(e.type)}"]`)||c.appendChild(Y(e))});let l=Number.parseInt(a.gapBelow,10)||8,u=()=>{let e=o();for(let t of i){let n=(e==null?void 0:e.querySelector(t))||document.querySelector(t);if(!n)continue;let r=n.getBoundingClientRect();if(r.width>0&&r.height>0)return r}return null},d=()=>{let e=o(),t=[];for(let n of i){let r=e?e.querySelector(n):null,i=document.querySelector(n);r&&!t.includes(r)&&t.push(r),i&&i!==r&&!t.includes(i)&&t.push(i)}return e&&!t.includes(e)&&t.push(e),t},f=`minimized`;try{var p,m;let e=(p=window.LiveChatWidget)==null||(m=p.get)==null||(m=m.call(p,`state`))==null?void 0:m.visibility;typeof e==`string`&&(f=e)}catch(e){}c.__lcVisibility=f;let h=()=>{let e=u();e&&c.__lcVisibility===`minimized`&&e.width<=F&&e.height<=F&&window.innerHeight-e.bottom<=I&&(document.__lcBubbleAnchor=L(e));let n=null,r=null;if(c.__lcVisibility===`minimized`)e&&(n=e,r=e);else if(c.__lcVisibility===`maximized`&&t!==`mobile`){let e=o();if(e){let t=e.getBoundingClientRect();t.width>0&&t.height>0&&(n=t,r=document.__lcBubbleAnchor?R(document.__lcBubbleAnchor):B(t))}}if(!n||!r){for(let e of w)e.__isOpen&&J(e);c.style.display=`none`;return}c.style.display=`flex`;let{buttonSize:i,iconSize:a}=X(r,t===`mobile`?60:40),s=c.__lcLastButtonSize!==i;s&&(c.style.setProperty(`--lc-channel-size`,`${i}px`),c.style.setProperty(`--lc-channel-icon-size`,`${a}px`),c.__lcCachedDims=null,c.__lcLastButtonSize=i);let d=c.children.length,f=c.__lcLastButtonCount!==d;f&&(c.__lcCachedDims=null);let p=c.__lcCachedDims||c.getBoundingClientRect();c.__lcCachedDims=p,c.__lcLastButtonCount=d;let m,h;if(t===`mobile`){let e=r,t=Math.min(e.height,e.width,80),n=e.left<window.innerWidth-e.right?e.left+t/2:e.right-t/2,i=p.width/2;n-i<8&&(n=i+8),n+i>window.innerWidth-8&&(n=window.innerWidth-i-8),m=n-p.width/2,h=e.bottom+l-P}else{let e=n.left+n.width/2<window.innerWidth/2,t=p.height/2,i=r.top+r.height/2;i-t<8&&(i=t+8),i+t>window.innerHeight-8&&(i=window.innerHeight-t-8);let a=-t,o,s;e?(o=n.right+l,o+p.width>window.innerWidth-8&&(o=window.innerWidth-p.width-8),s=0):(o=n.left-l,o-p.width<8&&(o=p.width+8),s=-p.width),m=o+s,h=i+a}let g=`translate(${m}px, ${h}px)`;g===c.__lcLastTransform&&!s&&!f||(c.style.transform=g,c.__lcLastTransform=g,c.__lcTransitionActivated||requestAnimationFrame(()=>{c.classList.add(`lc-stack-ready`),c.__lcTransitionActivated=!0}),c.querySelectorAll(`.lc-channel-button`).forEach(e=>{let t=m+e.offsetLeft,n=h+e.offsetTop,r=e.offsetWidth,i=e.offsetHeight;if(e.__cachedRect={left:t,top:n,right:t+r,bottom:n+i,width:r,height:i},e.__popoverEl){let t=e.__popoverEl,{tx:n,ty:r,arrowSide:i,arrowOffset:a}=G(e.__cachedRect,t.__cachedWidth,t.__cachedHeight),o=`translate3d(${n}px,${r}px,0)`;t.__cachedTransform=o,t.__arrowSide=i,t.__arrowOffset=a,t.__isOpen&&(t.style.transform=o,K(t,i,a))}}))},g=0,_=()=>{g||(g=requestAnimationFrame(()=>{g=0,h()}))};h(),document.__lcCurrentSync=_,document.__lcWindowListenersBound||(window.addEventListener(`resize`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)}),window.addEventListener(`orientationchange`,()=>{var e,t;document.__lcBubbleAnchor=null,(e=(t=document).__lcCurrentSync)==null||e.call(t)}),window.visualViewport&&(window.visualViewport.addEventListener(`resize`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)}),window.visualViewport.addEventListener(`scroll`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)})),window.addEventListener(`scroll`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)},!0),document.__lcWindowListenersBound=!0),typeof ResizeObserver<`u`&&!c.__lcResizeObserved&&(new ResizeObserver(_).observe(c),c.__lcResizeObserved=!0);let v=()=>{let e=d();if(e.length===0)return;let t=c.__lcObservedBubbles||[];e.length===t.length&&e.every((e,n)=>e===t[n])||(c.__lcBubbleObserver&&c.__lcBubbleObserver.disconnect(),c.__lcObservedBubbles=e,typeof ResizeObserver<`u`&&(c.__lcBubbleObserver=new ResizeObserver(_),e.forEach(e=>c.__lcBubbleObserver.observe(e))))};v(),(!c.__lcObservedBubbles||c.__lcObservedBubbles.length===0)&&i.forEach(e=>{U(e,()=>{v(),h()})}),document.__lcCurrentRebind=v,document.__lcVisibilityBound=!1,ce(!0)}function ge(e){if(e.style.right&&e.style.right!==`auto`)return`right`;if(e.style.left&&e.style.left!==`auto`)return`left`;let t=window.getComputedStyle(e);return t.right===`auto`?t.left===`auto`?`right`:`left`:`right`}function _e(){document.__lcPopoverVvBound||window.visualViewport&&(document.__lcPopoverVvBound=!0,window.visualViewport.addEventListener(`resize`,()=>{for(let e of w)e.__isOpen&&e.__trigger&&q(e)}))}function Q(e,t,n){if(!e||e.querySelector(`:scope > .lc-channel-stack--in-lc`))return;e.style.overflow=`unset`;let r=document.createElement(`div`);r.className=`lc-channel-stack lc-channel-stack--horizontal lc-channel-stack--in-lc`,r.setAttribute(`role`,`group`),r.setAttribute(`aria-label`,`Contact channels`),r.style.gap=n.mobile.gap;let i=ge(e),a=Number.parseInt(n.mobile.gapBelow,10),o=Number.isFinite(a)?a:0,s=Number.parseInt(n.mobile.gapSide,10),c=Number.isFinite(s)?s:8;if(i===`left`?(r.style.left=`${c}px`,r.style.right=`auto`):(r.style.right=`${c}px`,r.style.left=`auto`),t.forEach(e=>{r.appendChild(Y(e))}),e.appendChild(r),typeof ResizeObserver>`u`)return;let l=()=>e.querySelector(M)||e.querySelector(le),u=t=>{r.style.marginTop=``;let n=()=>{let n=t.getBoundingClientRect(),{measured:i,buttonSize:a,iconSize:s}=X(n,60);if(i===0){r.style.display=`none`;return}r.style.display=`flex`,r.style.setProperty(`--lc-channel-size`,`${a}px`),r.style.setProperty(`--lc-channel-icon-size`,`${s}px`);let c=e.getBoundingClientRect();r.style.top=`${n.bottom-c.top+o}px`};n(),new ResizeObserver(n).observe(t)},d=l();if(d){u(d);return}r.style.top=`100%`,r.style.marginTop=`${o}px`;let f=!1,p=()=>{if(f)return;let t=l();if(t){f=!0,m.disconnect(),u(t);return}let{measured:n,buttonSize:i,iconSize:a}=X(e.getBoundingClientRect(),60);n!==0&&(r.style.setProperty(`--lc-channel-size`,`${i}px`),r.style.setProperty(`--lc-channel-icon-size`,`${a}px`))},m=new ResizeObserver(p);p(),f||m.observe(e)}function ve(e){let t=Z(e.channels,`mobile`);t.length!==0&&(W(),_e(),U(e.chatWidgetSelector,n=>{Q(n,t,e),U(N,n=>Q(n,t,e),{interval:200,maxRetries:15})}))}function $(e={}){let t=e.channelWidgetsConfig||{},n={chatWidgetSelector:t.chatWidgetSelector||`#chat-widget-container`,bubbleSelector:ue,channels:Array.isArray(t.channels)?t.channels:[],mobile:o(o({},{gap:`4px`,gapBelow:`0px`,gapSide:`8px`}),t.mobile),desktop:o(o({},{gap:`8px`,gapBelow:`8px`}),t.desktop)},r=ae();if(n.deviceType=r,n.channels.length===0)return;document.__lcChannelWidgetsConfig=e,r===`mobile`?ve(n):U(n.chatWidgetSelector,()=>{he(n),O()});let i=()=>{document.__lcBubbleAnchor=null,document.__lcVisibilityBound=!1,T();let e=document.__lcChannelWidgetsConfig;e&&j(e)};document.__lcChannelWidgetsSpaBound||(se(),window.addEventListener(`lc:locationchange`,i),document.__lcChannelWidgetsSpaBound=!0),document.__lcChannelWidgetsTurbolinksBound||(document.addEventListener(`turbolinks:load`,i),document.__lcChannelWidgetsTurbolinksBound=!0)}return window.commversion=window.commversion||{},window.LiveChatWidget.on(`ready`,()=>$(window.commversion)),e.lcAddChannelWidgets=$,e})({});
192
+ `,document.head.appendChild(e)}function ve(e,t){if(typeof e!=`string`||e.length===0)return null;if(/^(data:|https?:\/\/)/.test(e)){let n=document.createElement(`img`);return n.className=`lc-channel-icon`,n.alt=t||``,n.src=e,n}let n=document.createElement(`span`);n.className=`lc-channel-icon`,n.setAttribute(`aria-hidden`,`true`),n.innerHTML=e;let r=n.querySelector(`svg`);return r&&(r.setAttribute(`width`,`100%`),r.setAttribute(`height`,`100%`),r.style.display=`block`),n}function W(e,t,n){let r=e.left+e.width/2,i=e.top-n-12,a=`bottom`;i<8&&(i=e.bottom+12,a=`top`),i+n>window.innerHeight-8&&(i=window.innerHeight-n-8),i<8&&(i=8);let o=r-t/2;o<8&&(o=8),o+t>window.innerWidth-8&&(o=window.innerWidth-t-8);let s=Math.max(18,t-18),c=Math.max(18,Math.min(s,r-o));return{tx:o,ty:i,arrowSide:a,arrowOffset:c}}function G(e,t,n){e.__appliedArrowSide!==t&&(e.classList.remove(`lc-channel-popover--arrow-top`,`lc-channel-popover--arrow-bottom`),e.classList.add(`lc-channel-popover--arrow-${t}`),e.__appliedArrowSide=t),e.__arrowEl.style.left=`${n-6}px`}function K(e){let t=e.getBoundingClientRect(),n=t.width>0?t.width:e.__cachedWidth,r=t.height>0?t.height:e.__cachedHeight,i=W(e.__trigger.getBoundingClientRect(),n,r);e.style.transform=`translate3d(${i.tx}px,${i.ty}px,0)`,G(e,i.arrowSide,i.arrowOffset)}function q(e,{restoreFocus:t=!0}={}){e.__isOpen&&(e.__isOpen=!1,e.style.opacity=`0`,e.style.pointerEvents=`none`,requestAnimationFrame(()=>{var n;e.setAttribute(`aria-hidden`,`true`),k(e.__trigger,!1),t&&(n=e.__trigger)!=null&&n.isConnected&&e.__trigger.focus({preventScroll:!0})}))}function J({restoreFocus:e=!0}={}){for(let t of T)t.__isOpen&&q(t,{restoreFocus:e})}function ye(e){T.forEach(t=>{t!==e&&t.__isOpen&&q(t)}),e.__cachedTransform?(e.style.transform=e.__cachedTransform,e.__arrowSide&&e.__arrowEl&&G(e,e.__arrowSide,e.__arrowOffset)):e.__trigger&&K(e),e.style.opacity=`1`,e.style.pointerEvents=`auto`,requestAnimationFrame(()=>{var t;e.removeAttribute(`aria-hidden`),k(e.__trigger,!0),(t=e.__cta)==null||t.focus({preventScroll:!0})}),e.__isOpen=!0}function be(e){let t=e.popover,n=document.createElement(`div`);n.className=`lc-channel-popover`,n.dataset.popoverChannelId=e.type,n.setAttribute(`role`,`dialog`),n.setAttribute(`aria-modal`,`false`);let r=`lc-channel-popover-${e.type}-${++le}`;if(n.id=r,t.title){let e=document.createElement(`h3`);e.className=`lc-channel-popover-title`,e.id=`${r}-title`,e.textContent=t.title,n.appendChild(e),n.setAttribute(`aria-labelledby`,e.id)}if(t.description){let e=document.createElement(`p`);e.className=`lc-channel-popover-description`,e.id=`${r}-desc`,e.textContent=t.description,n.appendChild(e),n.setAttribute(`aria-describedby`,e.id)}let i=document.createElement(`a`);i.className=`lc-channel-popover-button`,i.style.textDecoration=`none`,i.style.display=`block`,i.style.textAlign=`center`,i.style.boxSizing=`border-box`,i.textContent=t.buttonLabel||`Start Conversation`,i.style.backgroundColor=e.backgroundColor||`#1a1a1a`,S(i,e),i.addEventListener(`click`,e=>{e.stopPropagation(),q(n)}),n.appendChild(i),n.__cta=i;let a=document.createElement(`button`);a.type=`button`,a.className=`lc-channel-popover-close`,a.setAttribute(`aria-label`,`Close`),a.textContent=`×`,a.onclick=e=>{e.stopPropagation(),q(n)},n.appendChild(a);let o=document.createElement(`div`);o.className=`lc-channel-popover-arrow`,n.appendChild(o),n.__arrowEl=o,n.__isOpen=!1,n.style.opacity=`0`,n.style.pointerEvents=`none`,n.setAttribute(`aria-hidden`,`true`),n.style.transform=`translate3d(0,0,0)`,document.body.appendChild(n);let s=n.getBoundingClientRect();return n.__cachedWidth=s.width>0?s.width:280,n.__cachedHeight=s.height,T.push(n),se(),ce(),n}function Y(e){let t=!!e.popover,n=document.createElement(t?`button`:`a`);n.className=`lc-channel-button`,n.dataset.channelId=e.type,t&&(n.type=`button`,n.setAttribute(`aria-haspopup`,`dialog`),k(n,!1)),e.label&&n.setAttribute(`aria-label`,e.label),e.backgroundColor&&(n.style.backgroundColor=e.backgroundColor);let r=t?be(e):null;n.__popoverEl=r,r&&(r.__trigger=n),t?n.onclick=e=>{e.stopPropagation(),r.__isOpen?q(r):ye(r)}:(n.style.textDecoration=`none`,S(n,e));let i=ve(e.icon,e.label||e.type);return i&&n.appendChild(i),n}function xe(e,t){let n=e==null?void 0:e[t];return n&&typeof n.enabled==`boolean`?n.enabled:t===`mobile`}function X(e,t){let n=Math.max(e.width,e.height),r=Math.min(n,t);return{measured:n,buttonSize:r,iconSize:Math.round(r*.5)}}function Z(e,t){let n=[];return e.forEach(e=>{let r=ie(e,t);if(!r){console.warn(`[lc-channel-widgets] unknown or invalid channel — skipping:`,e);return}f.set(r.type,r),p.add(r.type),ee(r),xe(r,t)&&n.push(r)}),x(),n}function Se(e){let{deviceType:t,chatWidgetSelector:n,channels:r,bubbleSelector:i}=e,a=e[t];if(!document.querySelector(n))return;let o=()=>document.querySelector(n),s=Z(r,t);if(s.length===0)return;U();let c=document.body.querySelector(`:scope > .lc-channel-stack`);c||(E(),c=document.createElement(`div`),c.className=`lc-channel-stack lc-channel-stack--horizontal`,c.style.gap=a.gap,c.setAttribute(`role`,`group`),c.setAttribute(`aria-label`,`Contact channels`),document.body.appendChild(c)),document.__lcStack=c,s.forEach(e=>{c.querySelector(`[data-channel-id="${CSS.escape(e.type)}"]`)||c.appendChild(Y(e))});let l=Number.parseInt(a.gapBelow,10)||8,u=()=>{let e=o();for(let t of i){let n=(e==null?void 0:e.querySelector(t))||document.querySelector(t);if(!n)continue;let r=n.getBoundingClientRect();if(r.width>0&&r.height>0)return r}return null},d=()=>{let e=o(),t=[];for(let n of i){let r=e?e.querySelector(n):null,i=document.querySelector(n);r&&!t.includes(r)&&t.push(r),i&&i!==r&&!t.includes(i)&&t.push(i)}return e&&!t.includes(e)&&t.push(e),t},f=`minimized`;try{var p,m;let e=(p=window.LiveChatWidget)==null||(m=p.get)==null||(m=m.call(p,`state`))==null?void 0:m.visibility;typeof e==`string`&&(f=e)}catch(e){}c.__lcVisibility=f;let h=()=>{let e=u();e&&c.__lcVisibility===`minimized`&&e.width<=R&&e.height<=R&&window.innerHeight-e.bottom<=z&&(document.__lcBubbleAnchor=me(e));let n=null,r=null;if(c.__lcVisibility===`minimized`)e&&(n=e,r=e);else if(c.__lcVisibility===`maximized`&&t!==`mobile`){let e=o();if(e){let t=e.getBoundingClientRect();t.width>0&&t.height>0&&(n=t,r=document.__lcBubbleAnchor?B(document.__lcBubbleAnchor):he(t))}}if(!n||!r){J({restoreFocus:!1}),c.style.display=`none`;return}c.style.display=`flex`;let{buttonSize:i,iconSize:a}=X(r,t===`mobile`?60:40),s=c.__lcLastButtonSize!==i;s&&(c.style.setProperty(`--lc-channel-size`,`${i}px`),c.style.setProperty(`--lc-channel-icon-size`,`${a}px`),c.__lcCachedDims=null,c.__lcLastButtonSize=i);let d=c.children.length,f=c.__lcLastButtonCount!==d;f&&(c.__lcCachedDims=null);let p=c.__lcCachedDims||c.getBoundingClientRect();c.__lcCachedDims=p,c.__lcLastButtonCount=d;let m,h;if(t===`mobile`){let e=r,t=Math.min(e.height,e.width,80),n=e.left<window.innerWidth-e.right?e.left+t/2:e.right-t/2,i=p.width/2;n-i<8&&(n=i+8),n+i>window.innerWidth-8&&(n=window.innerWidth-i-8),m=n-p.width/2,h=e.bottom+l-L}else{let e=n.left+n.width/2<window.innerWidth/2,t=p.height/2,i=r.top+r.height/2;i-t<8&&(i=t+8),i+t>window.innerHeight-8&&(i=window.innerHeight-t-8);let a=-t,o,s;e?(o=n.right+l,o+p.width>window.innerWidth-8&&(o=window.innerWidth-p.width-8),s=0):(o=n.left-l,o-p.width<8&&(o=p.width+8),s=-p.width),m=o+s,h=i+a}let g=`translate(${m}px, ${h}px)`;g===c.__lcLastTransform&&!s&&!f||(c.style.transform=g,c.__lcLastTransform=g,c.__lcTransitionActivated||requestAnimationFrame(()=>{c.classList.add(`lc-stack-ready`),c.__lcTransitionActivated=!0}),c.querySelectorAll(`.lc-channel-button`).forEach(e=>{let t=m+e.offsetLeft,n=h+e.offsetTop,r=e.offsetWidth,i=e.offsetHeight;if(e.__cachedRect={left:t,top:n,right:t+r,bottom:n+i,width:r,height:i},e.__popoverEl){let t=e.__popoverEl,{tx:n,ty:r,arrowSide:i,arrowOffset:a}=W(e.__cachedRect,t.__cachedWidth,t.__cachedHeight),o=`translate3d(${n}px,${r}px,0)`;t.__cachedTransform=o,t.__arrowSide=i,t.__arrowOffset=a,t.__isOpen&&(t.style.transform=o,G(t,i,a))}}))},g=0,_=()=>{g||(g=requestAnimationFrame(()=>{g=0,h()}))};h(),document.__lcCurrentSync=_,document.__lcWindowListenersBound||(window.addEventListener(`resize`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)}),window.addEventListener(`orientationchange`,()=>{var e,t;document.__lcBubbleAnchor=null,(e=(t=document).__lcCurrentSync)==null||e.call(t)}),window.visualViewport&&(window.visualViewport.addEventListener(`resize`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)}),window.visualViewport.addEventListener(`scroll`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)})),window.addEventListener(`scroll`,()=>{var e,t;return(e=(t=document).__lcCurrentSync)==null?void 0:e.call(t)},!0),document.__lcWindowListenersBound=!0),typeof ResizeObserver<`u`&&!c.__lcResizeObserved&&(new ResizeObserver(_).observe(c),c.__lcResizeObserved=!0);let v=()=>{let e=d();if(e.length===0)return;let t=c.__lcObservedBubbles||[];e.length===t.length&&e.every((e,n)=>e===t[n])||(c.__lcBubbleObserver&&c.__lcBubbleObserver.disconnect(),c.__lcObservedBubbles=e,typeof ResizeObserver<`u`&&(c.__lcBubbleObserver=new ResizeObserver(_),e.forEach(e=>c.__lcBubbleObserver.observe(e))))};v(),(!c.__lcObservedBubbles||c.__lcObservedBubbles.length===0)&&i.forEach(e=>{H(e,()=>{v(),h()})}),document.__lcCurrentRebind=v,document.__lcVisibilityBound=!1,j(!0)}function Ce(e){if(e.style.right&&e.style.right!==`auto`)return`right`;if(e.style.left&&e.style.left!==`auto`)return`left`;let t=window.getComputedStyle(e);return t.right===`auto`?t.left===`auto`?`right`:`left`:`right`}function we(){document.__lcPopoverVvBound||window.visualViewport&&(document.__lcPopoverVvBound=!0,window.visualViewport.addEventListener(`resize`,()=>{for(let e of T)e.__isOpen&&e.__trigger&&K(e)}))}function Q(e,t,n){if(!e||e.querySelector(`:scope > .lc-channel-stack--in-lc`))return;e.style.overflow=`unset`;let r=document.createElement(`div`);r.className=`lc-channel-stack lc-channel-stack--horizontal lc-channel-stack--in-lc`,r.setAttribute(`role`,`group`),r.setAttribute(`aria-label`,`Contact channels`),r.style.gap=n.mobile.gap;let i=Ce(e),a=Number.parseInt(n.mobile.gapBelow,10),o=Number.isFinite(a)?a:0,s=Number.parseInt(n.mobile.gapSide,10),c=Number.isFinite(s)?s:8;if(i===`left`?(r.style.left=`${c}px`,r.style.right=`auto`):(r.style.right=`${c}px`,r.style.left=`auto`),t.forEach(e=>{r.appendChild(Y(e))}),e.appendChild(r),typeof ResizeObserver>`u`)return;let l=()=>e.querySelector(F)||e.querySelector(fe),u=t=>{r.style.marginTop=``;let n=()=>{let n=t.getBoundingClientRect(),{measured:i,buttonSize:a,iconSize:s}=X(n,60);if(i===0){J({restoreFocus:!1}),r.style.display=`none`;return}r.style.display=`flex`,r.style.setProperty(`--lc-channel-size`,`${a}px`),r.style.setProperty(`--lc-channel-icon-size`,`${s}px`);let c=e.getBoundingClientRect();r.style.top=`${n.bottom-c.top+o}px`};n(),new ResizeObserver(n).observe(t)},d=l();if(d){u(d);return}r.style.top=`100%`,r.style.marginTop=`${o}px`;let f=!1,p=()=>{if(f)return;let t=l();if(t){f=!0,m.disconnect(),u(t);return}let{measured:n,buttonSize:i,iconSize:a}=X(e.getBoundingClientRect(),60);n!==0&&(r.style.setProperty(`--lc-channel-size`,`${i}px`),r.style.setProperty(`--lc-channel-icon-size`,`${a}px`))},m=new ResizeObserver(p);p(),f||m.observe(e)}function Te(e){let t=Z(e.channels,`mobile`);t.length!==0&&(U(),we(),H(e.chatWidgetSelector,n=>{Q(n,t,e),H(I,n=>Q(n,t,e),{interval:200,maxRetries:15})}))}function $(e={}){let t=e.channelWidgetsConfig||{},n={chatWidgetSelector:t.chatWidgetSelector||`#chat-widget-container`,bubbleSelector:pe,channels:Array.isArray(t.channels)?t.channels:[],mobile:o(o({},{gap:`4px`,gapBelow:`0px`,gapSide:`8px`}),t.mobile),desktop:o(o({},{gap:`8px`,gapBelow:`8px`}),t.desktop)},r=oe();if(n.deviceType=r,n.channels.length===0)return;document.__lcChannelWidgetsConfig=e,r===`mobile`?Te(n):H(n.chatWidgetSelector,()=>{Se(n),de()});let i=()=>{document.__lcBubbleAnchor=null,document.__lcVisibilityBound=!1,E();let e=document.__lcChannelWidgetsConfig;e&&P(e)};document.__lcChannelWidgetsSpaBound||(ue(),window.addEventListener(`lc:locationchange`,i),document.__lcChannelWidgetsSpaBound=!0),document.__lcChannelWidgetsTurbolinksBound||(document.addEventListener(`turbolinks:load`,i),document.__lcChannelWidgetsTurbolinksBound=!0)}return window.commversion=window.commversion||{},window.LiveChatWidget.on(`ready`,()=>$(window.commversion)),e.lcAddChannelWidgets=$,e})({});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commversion/libs",
3
- "version": "0.18.3",
3
+ "version": "0.18.4",
4
4
  "license": "UNLICENSED",
5
5
  "author": "Commversion",
6
6
  "type": "module",
@@ -31,3 +31,4 @@ overrides:
31
31
  brace-expansion@>=4.0.0 <5.0.6: ^5.0.6
32
32
  postcss@<8.5.10: ^8.5.10
33
33
  ws@>=8.0.0 <8.20.1: ^8.20.1
34
+ shell-quote@>=1.1.0 <1.8.4: ^1.8.4