var u=Object.defineProperty;var f=(c,e,t)=>e in c?u(c,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):c[e]=t;var a=(c,e,t)=>f(c,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const d of o.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();class g{constructor(e){a(this,"iframe");a(this,"iframeWrap");a(this,"overlay");a(this,"localStoragePrefix","chatwidget_");a(this,"isWidgetOpen",!1);a(this,"isFrameLoaded",!1);a(this,"mobileScreenSize",650);a(this,"previousIsMobile",window.innerWidth<=this.mobileScreenSize);a(this,"cacheTest","test_active");a(this,"handleScreenSizeChange",()=>{const e=window.innerWidth<=this.mobileScreenSize;e!==this.previousIsMobile&&(this.previousIsMobile=e,this.sendScreenInfoMessage())});a(this,"receiveMessage",e=>{if(e.data.eventName==="chatButtonAnimation"&&this.iframeWrap)for(const t in e.data.body.styles)this.iframeWrap.style[t]=e.data.body.styles[t];if(e.data.eventName==="chatButtonClicked"&&this.iframeWrap){this.isWidgetOpen=typeof e.data.body.isWidgetOpen=="boolean"?e.data.body.isWidgetOpen:this.isWidgetOpen,this.isWidgetOpen?(document.documentElement.style.overflow=window.innerWidth{e.apply(this,i)},t)}}sendInitOptions(e){this.postMessage("initOptions",{popupText:e==null?void 0:e.popup_text,welcomeText:e==null?void 0:e.welcome_text,actionText:e==null?void 0:e.action_text})}sendScreenInfoMessage(){const e=window.innerWidth;this.postMessage("screenInfoMessage",{screenWidth:e})}sendParentUrlMessage(){const e=document.location.href;this.postMessage("parentUrlInfoMessage",{parentUrl:e})}sendWasClickedInfo(){this.postMessage("chatButtonWasClicked",{chatButtonWasClicked:this.getDataFromLocalStorage("chat_button_was_clicked")})}postMessage(e,t){var n;(n=this.iframe)!=null&&n.contentWindow&&this.iframe.contentWindow.postMessage({eventName:e,body:t},"*")}setDataToLocalStorage(e,t){localStorage.setItem(`${this.localStoragePrefix}${e}`,t)}getDataFromLocalStorage(e){return localStorage.getItem(`${this.localStoragePrefix}${e}`)}getRandomUUID(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,e=>(+e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+e/4).toString(16))}async fetchRequest(e,t,n){var l;const i=new URL(this.config.widgetBundleUrl),o=`${i.protocol}//${i.host}`,d=this.getRandomUUID(),r=await fetch(`${o}${e}`,{method:"POST",headers:{"X-RPC-Method":t,"Content-Type":"application/json","X-Request-Id":d},body:JSON.stringify({jsonrpc:"2.0",id:d,method:t,params:n})});if(!r.ok)throw new Error(`Запрос завершился с причиной: ${r.statusText}, код: ${r.status}`);const s=await r.json();if(r.status===200){if(!s.error)return s.result;if(s.error){let h;throw s.error.data?h=(l=s.error.data.errors[0])==null?void 0:l.message:h=s.error.message||"Произошла неизвестная ошибка",new Error(h)}}else throw new Error(`Запрос завершился со статусом: ${r.status} ${r.statusText}`);throw new Error("Произошла неизвестная ошибка при запросе")}openWidget(){this.iframeWrap&&this.isFrameLoaded&&this.postMessage("widgetOpenedFromParent",{isOpened:!0})}async mountWidget(){const e=window.location.href.split("?")[0];let t,n;try{t=await this.fetchRequest("/api/v1/jsonrpc/misc","get_init_options",{url:e})}catch(h){console.log(`Ошибка при получении начальных опций для виджета. Подробнее: ${h}`),n=!0}if(t&&typeof t.should_init=="boolean"&&!t.should_init||n)throw new Error("Произошла ошибка при инициализации виджета");window.addEventListener("message",this.receiveMessage);const o=this.debounce(this.handleScreenSizeChange,200);window.addEventListener("resize",o);const d=document.createElement("div");this.iframeWrap=d;const r=d.style;r.display="none",r.boxSizing="border-box",r.width="100px",r.height="100px",r.position="fixed",r.zIndex="9999",r.bottom="10px",r.right="25px",r.transition="width 0.6s cubic-bezier(0.4, 0, 0.2, 1)";const s=document.createElement("iframe");this.iframe=s;const l=s.style;l.boxSizing="border-box",l.width="100%",l.height="100%",l.border="0",l.margin="0",l.padding="0",d.appendChild(s),s.addEventListener("load",()=>{r.display="block",this.sendParentUrlMessage(),this.sendScreenInfoMessage(),this.sendWasClickedInfo(),this.sendInitOptions(t),this.isFrameLoaded=!0}),s.src=this.config.widgetBundleUrl,document.body.appendChild(d)}}(async()=>{const c=document.currentScript;let e;if(c&&(e=c.getAttribute("data-widget-url")),window.chatWidgetSDK||(window.chatWidgetSDK=new g({widgetBundleUrl:e||""})),document.readyState==="loading")document.addEventListener("DOMContentLoaded",async()=>{try{await window.chatWidgetSDK.mountWidget(),console.log("Точка Чат виджет инициализирован #1")}catch(t){console.error("Ошибка инициализации виджета Точка чат",t)}});else try{await window.chatWidgetSDK.mountWidget(),console.log("Точка Чат виджет инициализирован #2")}catch(t){console.error("Ошибка инициализации виджета Точка чат",t)}})();