/*! For license information please see index.js.LICENSE.txt */ (()=>{var e={445:e=>{function t(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(t(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&t(e.slice(0,0))}(e)||!!e._isBuffer)}},500:(e,t)=>{var n;!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e="",t=0;t{var t={utf8:{stringToBytes:function(e){return t.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(t.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var t=[],n=0;n{var t,n;t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n={rotl:function(e,t){return e<>>32-t},rotr:function(e,t){return e<<32-t|e>>>t},endian:function(e){if(e.constructor==Number)return 16711935&n.rotl(e,8)|4278255360&n.rotl(e,24);for(var t=0;t0;e--)t.push(Math.floor(256*Math.random()));return t},bytesToWords:function(e){for(var t=[],n=0,a=0;n>>5]|=e[n]<<24-a%32;return t},wordsToBytes:function(e){for(var t=[],n=0;n<32*e.length;n+=8)t.push(e[n>>>5]>>>24-n%32&255);return t},bytesToHex:function(e){for(var t=[],n=0;n>>4).toString(16)),t.push((15&e[n]).toString(16));return t.join("")},hexToBytes:function(e){for(var t=[],n=0;n>>6*(3-o)&63)):n.push("=");return n.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var n=[],a=0,r=0;a>>6-2*r);return n}},e.exports=n},892:(e,t,n)=>{var a,r,o,s,l;a=n(635),r=n(539).utf8,o=n(445),s=n(539).bin,(l=function(e,t){e.constructor==String?e=t&&"binary"===t.encoding?s.stringToBytes(e):r.stringToBytes(e):o(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var n=a.bytesToWords(e),c=8*e.length,i=1732584193,p=-271733879,u=-1732584194,m=271733878,d=0;d>>24)|4278255360&(n[d]<<24|n[d]>>>8);n[c>>>5]|=128<>>9<<4)]=c;var f=l._ff,w=l._gg,_=l._hh,h=l._ii;for(d=0;d>>0,p=p+g>>>0,u=u+v>>>0,m=m+b>>>0}return a.endian([i,p,u,m])})._ff=function(e,t,n,a,r,o,s){var l=e+(t&n|~t&a)+(r>>>0)+s;return(l<>>32-o)+t},l._gg=function(e,t,n,a,r,o,s){var l=e+(t&a|n&~a)+(r>>>0)+s;return(l<>>32-o)+t},l._hh=function(e,t,n,a,r,o,s){var l=e+(t^n^a)+(r>>>0)+s;return(l<>>32-o)+t},l._ii=function(e,t,n,a,r,o,s){var l=e+(n^(t|~a))+(r>>>0)+s;return(l<>>32-o)+t},l._blocksize=16,l._digestsize=16,e.exports=function(e,t){if(null==e)throw new Error("Illegal argument "+e);var n=a.wordsToBytes(l(e,t));return t&&t.asBytes?n:t&&t.asString?s.bytesToString(n):a.bytesToHex(n)}}},t={};function n(a){var r=t[a];if(void 0!==r)return r.exports;var o=t[a]={exports:{}};return e[a](o,o.exports,n),o.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=window.wp.element;function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t{Object.prototype.hasOwnProperty.call(e,a)&&Object.prototype.hasOwnProperty.call(t,a)?!function(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}(e[a])||Array.isArray(e[a])?n[a]=t[a]:n[a]=c(e[a],t[a]):Object.prototype.hasOwnProperty.call(e,a)?n[a]=e[a]:Object.prototype.hasOwnProperty.call(t,a)&&(n[a]=t[a])}),n}const i=(0,e.createContext)(),p=(e,t)=>{const{contacts:n,contactId:a,storeName:r}=t.payload;switch(t.type){case"PERSIST_STATE":const o=s()(JSON.stringify(t.payload.contacts));return console.log(`Persisting state for store: ${r} with hash: ${o}`),((e,t,n=30)=>{let a=localStorage.getItem(e);if(a)a=JSON.parse(a),a.value=t;else{const e=new Date;a={value:t,expiration:new Date(e.getTime()+24*n*60*60*1e3).getTime()}}localStorage.setItem(e,JSON.stringify(a))})(r,{...e,contactsHash:s()(JSON.stringify(t.payload.contacts))}),e;case"HYDRATE_STATE":{const t=(e=>{const t=localStorage.getItem(e);if(t){const n=JSON.parse(t);return(new Date).getTime()>n.expiration?(localStorage.removeItem(e),null):n.value}return null})(r),a=s()(JSON.stringify(n));return console.log(`Hydrating state for store: ${r} with hash: ${a}`),t?t.contactsHash!==a?{...l,contactsHash:a}:(n.find(e=>e.id===t.contactId)||(t.contactId=null),{...t}):{...e,contactsHash:a}}case"SET_CONTACT_ID":{if(null===a)return{...e,contactId:null};const t=n.find(e=>e.id===a),r=t?.message||"",o=e.contactsConversation[a];return""===r||r===(o?.messageListArray?.[0]?.text||"")&&o?{...e,contactId:a}:c(e,{contactId:a,contactsConversation:{[a]:{messageListArray:[{id:"",source:"user",text:r,status:""}],threadOpenaiId:""}}})}}return e},u=()=>(0,e.useContext)(i),m=t=>{const{contacts:n,children:a}=t,[r,o]=(0,e.useReducer)(p,l),s="persist:qlwapp";return(0,e.useEffect)(()=>{o({type:"HYDRATE_STATE",payload:{contacts:n,storeName:s}})},[]),(0,e.useEffect)(()=>{o({type:"PERSIST_STATE",payload:{contacts:n,storeName:s}})},[r]),(0,e.createElement)(i.Provider,{value:{...r,...t,setContactId:e=>{o({type:"SET_CONTACT_ID",payload:{contacts:n,contactId:e,storeName:s}})}}},a)},d=window.wp.i18n,f=()=>(0,e.createElement)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},(0,e.createElement)("path",{d:"M20.563 22.104l-1.875 1.875-8-8 8-8 1.875 1.875-6.125 6.125z"})),w=({contact:t})=>{const{box:n}=u();return(0,e.createElement)("div",{className:"qlwapp__avatar"},(0,e.createElement)("div",{className:"qlwapp__avatar__container"},t?.avatar&&(0,e.createElement)("img",{src:t.avatar,alt:t.firstname,loading:"yes"===n.lazy_load&&"lazy"})))},_=({onClose:t,onPrevious:n})=>{const{contactId:a,box:r,contacts:o}=u(),s=o.find(e=>e.id===a);return(0,e.createElement)("div",{className:"qlwapp__header"},(0,e.createElement)("i",{className:"qlwapp__close",onClick:t},"×"),(0,e.createElement)("div",{className:"qlwapp__carousel"},(0,e.createElement)("div",{className:"qlwapp__carousel-slide"},r.header&&(0,e.createElement)("div",{className:"qlwapp__header-description",dangerouslySetInnerHTML:{__html:r.header}})),(0,e.createElement)("div",{className:"qlwapp__carousel-slide"},(0,e.createElement)("div",{className:"qlwapp__header-contact"},(0,e.createElement)("a",{className:"qlwapp__previous",onClick:n},(0,e.createElement)(f,null)),(0,e.createElement)("div",{className:"qlwapp__info"},(0,e.createElement)("span",{className:"qlwapp__name"},s?.firstname," ",s?.lastname),(0,e.createElement)("span",{className:"qlwapp__time"},s?.timefrom!==s?.timeto&&(0,d.sprintf)((0,d._x)("Available from %1$s to %2$s","wp-whatsapp-chat"),s?.timefrom,s?.timeto),s?.label&&` - ${s?.label}`)),(0,e.createElement)(w,{contact:s})))))},h=()=>(0,e.createElement)("svg",{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},(0,e.createElement)("path",{d:"M2.776 31.54c-1.954 1.036-3.144 0.122-2.658-2.038l2.066-9.17c0.246-1.086 1.318-2.068 2.432-2.2l12.39-1.44c3.296-0.38 3.308-0.996 0-1.374l-12.39-1.416c-1.1-0.126-2.18-1.080-2.424-2.17l-2.080-9.264c-0.486-2.146 0.704-3.046 2.662-2.006l25.7 13.658c1.956 1.038 1.96 2.72 0 3.76l-25.7 13.66z"}));function y(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}const g=()=>{const e=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),t=window.matchMedia("(pointer:coarse)");return t&&t.matches||e};function v(e){const t=(({type:e,group:t,phone:n,message:a})=>{const r=g()?"https://api.whatsapp.com/send":"https://web.whatsapp.com/send";if("group"===e){const e=(e=>{try{const t=new URL(e);if("chat.whatsapp.com"===t.hostname)return t.pathname.replace("/","");if("web.whatsapp.com"===t.hostname&&"/accept"===t.pathname)return t.searchParams.get("code")}catch(e){console.error("Invalid URL",e)}return null})(t);return g()?`https://chat.whatsapp.com/${e}`:`https://web.whatsapp.com/accept?code=${e}`}return`${r}?phone=${function(e){return(e=e.replace(/[^0-9]/g,"")).replace(/^0+/,"")}(n?.toString())}&text=${encodeURIComponent(y(a))}`})(e),n=new CustomEvent("qlwapp.click",{bubbles:!0,cancelable:!0});window.dispatchEvent(n),window.open(t,"_blank","noreferrer")}const b=()=>{const{box:t,contactId:n,contacts:a}=u(),o=a.find(e=>e.id===n),[s,l]=(0,e.useState)(""),c=(0,e.useRef)(),i=!s.trim(),p=e=>{e.preventDefault(),v({...o,message:s})};return(0,e.createElement)(e.Fragment,null,t.footer&&(0,e.createElement)("div",{className:"qlwapp__footer",dangerouslySetInnerHTML:{__html:t.footer}}),(0,e.createElement)("div",{className:"qlwapp__response"},(0,e.createElement)("pre",null,s),(0,e.createElement)("textarea",{ref:c,maxLength:"300",onChange:e=>{e.preventDefault(),l(e.target.value),((e=!1)=>{const t=c.current;t&&(t.style.height="",e||""!==!s||(t.style.height=`${t.scrollHeight}px`))})()},onKeyDown:e=>{e.shiftKey&&"Enter"===e.key||"Enter"!==e.key||i||p(e)},value:s,placeholder:t?.response,"aria-label":t?.response,tabIndex:"0"}),(0,e.createElement)("div",{className:"qlwapp__response__buttons"},(0,e.createElement)("i",{className:"qlwapp__reply--disabled qlwf-emoji",role:"button",tabIndex:"0",title:(0,d.__)("Add emoji","wp-whatsapp-chat")}),(0,e.createElement)("a",{className:r()("qlwapp__reply"),role:"button",tabIndex:"0",onClick:p,title:(0,d.__)("Send","wp-whatsapp-chat"),target:"blank"},(0,e.createElement)(h,null)))))};function E(e,t){return parseInt(e+t)}function T(e){let t=""+e.getMinutes();return 1===t.length&&(t="0"+t),e.getHours()+":"+t}const N=({timezone:e,timefrom:t,timeto:n,timedays:a})=>{const r=(({timedays:e})=>{const t=(new Date).getDay().toString();return e?.includes(t)||0===e?.length})({timedays:a}),o=function(e){let t=0;if(e.includes("UTC")){const n=e.replace(/UTC\+?/,"");isNaN(n)||(t=60*parseInt(n))}else try{const n=(new Date).toLocaleString("en-US",{timeZone:e});t=(new Date(n+" UTC")-new Date)/6e4}catch(e){return 0}return t}(e),s=new Date,l=new Date,c=new Date;let i=l.getTime(),p=s.getTime();if(t!==n){const e=-c.getTimezoneOffset()-(o||0);let a,u;a=E(t[0],t[1]),u=E(t[3],t[4]),l.setHours(a),l.setMinutes(u+e),i=l.getTime(),a=E(n[0],n[1]),u=E(n[3],n[4]),s.setHours(a),s.setMinutes(u+e),p=s.getTime(),i>p&&(i-=864e5);const m=i<=c.getTime()&&c.getTime()<=p;return{isAvailableNow:r&&m,isInAvailableDay:r,isInAvailableHour:m,timefrom:T(l),timeto:T(s)}}return{isAvailableNow:r,isInAvailableDay:r,isInAvailableHour:!0}};function x(e,t){return!!e.includes(parseInt(t))||!!e.includes(t.toString())}function S({timedays:e,timezone:t}){const n=function(e){try{let t=new Date;const n={weekday:"long"},a=function(e){const t=e.match(/^UTC([+-]\d{1,2})$/);return t?60*parseInt(t[1],10)*60*1e3:null}(e);if(null!==a){const e=new Date(t.getTime()+6e4*t.getTimezoneOffset()+a);n.timeZone="UTC",t=e}else n.timeZone=e;return{Sunday:0,Monday:1,Tuesday:2,Wednesday:3,Thursday:4,Friday:5,Saturday:6}[new Intl.DateTimeFormat("en-US",n).formatToParts(t).find(e=>"weekday"===e.type).value]}catch(e){return null}}(t);if(null===n)return!1;const a=[(0,d.__)("Sunday","wp-whatsapp-chat"),(0,d.__)("Monday","wp-whatsapp-chat"),(0,d.__)("Tuesday","wp-whatsapp-chat"),(0,d.__)("Wednesday","wp-whatsapp-chat"),(0,d.__)("Thursday","wp-whatsapp-chat"),(0,d.__)("Friday","wp-whatsapp-chat"),(0,d.__)("Saturday","wp-whatsapp-chat")];for(let t=n;t<=6;t++)if(x(e,t))return a[t];for(let t=0;t{const{isAvailableNow:a,isInAvailableDay:o,isInAvailableHour:s,timefrom:l,timeto:c}=N(t);if(!a&&"hidden"===t.visibility)return;const i=S(t);return(0,e.createElement)("a",{className:r()("qlwapp__contact",!a&&"qlwapp__contact--disabled"),onClick:n,role:"button",tabIndex:"0",target:"_blank"},(0,e.createElement)(w,{contact:t}),(0,e.createElement)("div",{className:"qlwapp__info"},(0,e.createElement)("span",{className:"qlwapp__label"},t?.label),(0,e.createElement)("span",{className:"qlwapp__name"},t?.firstname," ",t?.lastname),o?!s&&(0,e.createElement)("span",{className:"qlwapp__time"},(0,d.sprintf)((0,d._x)("Available from %1$s to %2$s","wp-whatsapp-chat"),l,c)):i&&(0,e.createElement)("span",{className:"qlwapp__time"},(0,d.sprintf)((0,d._x)("Available on %s","wp-whatsapp-chat"),i))))},A=({onClick:t})=>{const[,n]=(0,e.useTransition)(),{box:a,contacts:r,setContactId:o}=u(),s=e=>a=>{a.preventDefault(),e.chat?(t("qlwapp__modal--opening"),n(()=>{o(e.id)})):v(e)},l=()=>{const e=document.querySelector(".qlwapp__header")?.offsetHeight,t=a.footer?document.querySelector(".qlwapp__footer")?.offsetHeight:document.querySelector(".qlwapp__response")?.offsetHeight;let n=window.innerHeight-e-t;g()&&(n=.7*window.innerHeight-e-t),document.documentElement.style.setProperty("--qlwapp-scheme-box-height",`${n}px`)};return(0,e.useEffect)(()=>(window.addEventListener("resize",l()),window.addEventListener("load",l()),()=>{window.removeEventListener("resize",l()),window.removeEventListener("load",l())}),[]),(0,e.createElement)("div",{className:"qlwapp__contact-list"},r.length?r.map(t=>(0,e.createElement)(q,{key:t.id,contact:t,onClick:s(t)})):(0,e.createElement)("div",{className:"qlwapp__contact-list__empty"},(0,d.__)("No contacts found.","wp-whatsapp-chat")))},I=()=>(0,e.createElement)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 9 24 6"},(0,e.createElement)("circle",{cx:18,cy:12,r:0,fill:"currentColor"},(0,e.createElement)("animate",{attributeName:"r",begin:.67,calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"})),(0,e.createElement)("circle",{cx:12,cy:12,r:0,fill:"currentColor"},(0,e.createElement)("animate",{attributeName:"r",begin:.33,calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"})),(0,e.createElement)("circle",{cx:6,cy:12,r:0,fill:"currentColor"},(0,e.createElement)("animate",{attributeName:"r",begin:0,calcMode:"spline",dur:"1.5s",keySplines:"0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8;0.2 0.2 0.4 0.8",repeatCount:"indefinite",values:"0;2;0;0"}))),C=({text:t,status:n,source:a})=>(0,e.createElement)("div",{className:r()("qlwapp__message",a&&`qlwapp__message--${a}`,n&&`qlwapp__message--${n}`)},"waiting"===n?(0,e.createElement)("span",{className:"qlwapp__message--spinner"},(0,e.createElement)(I,null)):y(t)),O=()=>{const n=(0,e.useRef)(null),{contactId:a,contactsConversation:r}=u(),{messageListArray:o}=r[a];return(0,e.useEffect)(()=>{n.current&&o.length>0&&setTimeout(()=>{n.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[700])},[o]),(0,e.createElement)("div",{className:"qlwapp__message-list"},o.map(n=>(0,e.createElement)(C,t({key:n.id},n))),(0,e.createElement)("span",{ref:n}))},k=({handleBoxClose:t})=>{const{contactId:n,setContactId:a}=u(),[o,s]=(0,e.useState)(""),l=null!==n;return(0,e.createElement)("div",{className:r()("qlwapp__modal",l&&"qlwapp__modal--response",o)},(0,e.createElement)(_,{onClose:t,onPrevious:e=>{e.preventDefault(),s("qlwapp__modal--closing"),setTimeout(()=>{a(null),s("")},[300])}}),(0,e.createElement)("div",{className:"qlwapp__body"},(0,e.createElement)("div",{className:"qlwapp__carousel"},(0,e.createElement)("div",{className:"qlwapp__carousel-slide"},(0,e.createElement)(A,{onClick:s})),(0,e.createElement)("div",{className:"qlwapp__carousel-slide"},null!==n&&(0,e.createElement)(O,null)))),(0,e.createElement)(b,null))},D=t=>(0,e.createElement)(k,t),H=function({onClick:t}){const{button:n,box:a}=u(),{isAvailableNow:o,isInAvailableDay:s,isInAvailableHour:l,timefrom:c,timeto:i}=N(n);if(!o&&"hidden"===n.visibility)return;const p=S(n);return(0,e.createElement)("a",{className:r()("qlwapp__button",`qlwapp__button--${n.layout}`,!o&&"qlwapp__button--disabled"),role:"button",tabIndex:"0",onClick:e=>(e=>{e.preventDefault(),"yes"===n.box?t(e):(e=>{e.preventDefault(),v(n)})(e)})(e)},(0,e.createElement)("i",{className:r()("qlwapp__icon",n.icon)}),"bubble"===n.layout&&(0,e.createElement)("i",{className:"qlwapp__close"},"×"),n.text&&(0,e.createElement)("span",{className:"qlwapp__text"},n.text),s?!l&&(0,e.createElement)("span",{className:"qlwapp__time"},(0,d.sprintf)((0,d._x)("Available from %1$s to %2$s","wp-whatsapp-chat"),c,i)):p&&(0,e.createElement)("span",{className:"qlwapp__time"},(0,d.sprintf)((0,d._x)("Available on %s","wp-whatsapp-chat"),p)))},M=({children:t,containerRef:n,boxTransitionClass:a,isOpen:o})=>{const{button:s}=u(),l="yes"===s.rounded;return(0,e.createElement)("div",{ref:n,className:r()("qlwapp__container",`qlwapp__container--${s.position}`,l&&"qlwapp__container--rounded",a)},t)},$=e=>!("hide"===e||"desktop"===e&&g()||"mobile"===e&&!g()),B=(0,e.memo)(n=>{const{box:a,button:r,contacts:o}=n,s=(e=>e?(Array.isArray(e)||(e=Object.values(e)),e.filter(e=>$(e?.display?.devices)).sort((e,t)=>{const n=void 0!==e.order&&null!==e.order?e.order:Number.MAX_SAFE_INTEGER,a=void 0!==t.order&&null!==t.order?t.order:Number.MAX_SAFE_INTEGER;return n===a?0:n{f&&!w&&setTimeout(()=>{i(!0)},_)},[]);const h=e=>{e?.preventDefault(),u("qlwapp__container--closing"),function(e){let t="";{const e=new Date;e.setTime(e.getTime()+6048e5),t="; expires="+e.toUTCString()}document.cookie=e+"=true"+t+"; path=/"}(d),setTimeout(()=>{i(!1),u("")},300)};return(0,e.createElement)(m,t({},n,{contacts:s}),(0,e.createElement)(M,{boxTransitionClass:p,containerRef:l,isOpen:c},c&&(0,e.createElement)(D,{handleBoxClose:h}),(0,e.createElement)(H,{onClick:()=>{c?h():(i(!0),u("qlwapp__container--opening"),setTimeout(()=>{u("qlwapp__container--open")},300))}})))});document.addEventListener("DOMContentLoaded",()=>{document.querySelectorAll(".qlwapp").forEach(t=>{var n,a,r,o;const s=null!==(n=JSON.parse(t.getAttribute("data-display")))&&void 0!==n?n:{},l=null!==(a=JSON.parse(t.getAttribute("data-button")))&&void 0!==a?a:{},c=null!==(r=JSON.parse(t.getAttribute("data-box")))&&void 0!==r?r:{},i=null!==(o=JSON.parse(t.getAttribute("data-contacts")))&&void 0!==o?o:{};$(s?.devices)&&(void 0!==e.createRoot?(0,e.createRoot)(t).render((0,e.createElement)(B,{display:s,button:l,box:c,contacts:i})):(0,e.render)((0,e.createElement)(B,{display:s,button:l,box:c,contacts:i}),t))})})})()})();