@moveo-ai/web-client 0.115.0 → 0.115.1-true.1

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.
@@ -6,7 +6,7 @@
6
6
 
7
7
  /*!
8
8
  *
9
- * @moveo-ai/web-client v0.115.0
9
+ * @moveo-ai/web-client v0.115.1-true.1
10
10
  * Copyright (c) Moveo.ai (TM)
11
11
  *
12
12
  */
package/dist/index.html CHANGED
@@ -11,7 +11,7 @@
11
11
  const widgetId = urlParams.get('widgetId');
12
12
 
13
13
  const script = document.createElement('script');
14
- script.src = 'iframe.min.js?ea6480509ce34abe8e68';
14
+ script.src = 'iframe.min.js?63f11b60283f22c7e281';
15
15
 
16
16
  script.onload = function () {
17
17
  if (widgetId) {
@@ -4,11 +4,11 @@
4
4
 
5
5
  body::before {
6
6
  background-image: url('/public/background.svg');
7
- }</style><script src="../audio-client.min.js?ea6480509ce34abe8e68"></script></head><body><div class="flex flex-row flex-wrap justify-between p-[10%] pb-0 mobile:flex-col mobile:items-center mobile:p-0 mobile:pt-[75px]"><div class="w-[510px] mb-9 mobile:flex mobile:flex-col mobile:items-center mobile:w-auto mobile:min-w-0"><p class="mt-0 mb-6 text-[42px] leading-[51px] font-bold mobile:text-center mobile:text-[28px] mobile:leading-[34px]"><span class="colored text-preview-muted">Preview</span> and <span class="colored text-preview-muted">Test</span><br/>your Webchat</p><p class="mb-9 text-2xl leading-[30px] font-normal mobile:text-center mobile:text-base mobile:leading-5 mobile:w-[280px]">Moveo.ai can help you build engaging conversational applications powered by Artificial Intelligence.</p><div class="flex flex-row justify-start"><button class="action_button hidden cursor-pointer" id="open-chat-button">Open Webchat</button> <button class="action_button hidden mobile:hidden cursor-pointer" id="close-chat-button">Close Webchat</button> <button class="action_button hidden cursor-pointer" id="render-chat-button">Render Webchat</button></div></div><div class="hidden box-border flex-initial w-[512px] h-[562px] min-w-[300px] mb-16 rounded-lg border-2 border-brand-background bg-white shadow-[2px_3px_6px_rgb(104_104_104/10%)] mobile:mx-[10%] mobile:w-4/5" id="embed-chat-container"><p class="mt-[10%] mx-7 mb-0 text-base leading-6 text-center" id="embed-text">The webchat will render in the html element of your choice. Render the webchat here, in order to preview other settings.</p><div class="hidden w-full h-full" id="embed-chat"></div></div></div><script>const queryString = window.location.search;
7
+ }</style><script src="../audio-client.min.js?63f11b60283f22c7e281"></script></head><body><div class="flex flex-row flex-wrap justify-between p-[10%] pb-0 mobile:flex-col mobile:items-center mobile:p-0 mobile:pt-[75px]"><div class="w-[510px] mb-9 mobile:flex mobile:flex-col mobile:items-center mobile:w-auto mobile:min-w-0"><p class="mt-0 mb-6 text-[42px] leading-[51px] font-bold mobile:text-center mobile:text-[28px] mobile:leading-[34px]"><span class="colored text-preview-muted">Preview</span> and <span class="colored text-preview-muted">Test</span><br/>your Webchat</p><p class="mb-9 text-2xl leading-[30px] font-normal mobile:text-center mobile:text-base mobile:leading-5 mobile:w-[280px]">Moveo.ai can help you build engaging conversational applications powered by Artificial Intelligence.</p><div class="flex flex-row justify-start"><button class="action_button hidden cursor-pointer" id="open-chat-button">Open Webchat</button> <button class="action_button hidden mobile:hidden cursor-pointer" id="close-chat-button">Close Webchat</button> <button class="action_button hidden cursor-pointer" id="render-chat-button">Render Webchat</button></div></div><div class="hidden box-border flex-initial w-[512px] h-[562px] min-w-[300px] mb-16 rounded-lg border-2 border-brand-background bg-white shadow-[2px_3px_6px_rgb(104_104_104/10%)] mobile:mx-[10%] mobile:w-4/5" id="embed-chat-container"><p class="mt-[10%] mx-7 mb-0 text-base leading-6 text-center" id="embed-text">The webchat will render in the html element of your choice. Render the webchat here, in order to preview other settings.</p><div class="hidden w-full h-full" id="embed-chat"></div></div></div><script>const queryString = window.location.search;
8
8
  const urlParams = new URLSearchParams(queryString);
9
9
 
10
10
  // Find web-client.min.js directly
11
- const webpackFiles = `../iframe.min.js?ea6480509ce34abe8e68,../web-client.min.js?ea6480509ce34abe8e68,../preview.css.min.js?ea6480509ce34abe8e68,../audio-client.min.js?ea6480509ce34abe8e68,../webrtc-client.min.js?ea6480509ce34abe8e68,../telnyx-client.min.js?ea6480509ce34abe8e68`.split(',');
11
+ const webpackFiles = `../iframe.min.js?63f11b60283f22c7e281,../web-client.min.js?63f11b60283f22c7e281,../preview.css.min.js?63f11b60283f22c7e281,../audio-client.min.js?63f11b60283f22c7e281,../webrtc-client.min.js?63f11b60283f22c7e281,../telnyx-client.min.js?63f11b60283f22c7e281`.split(',');
12
12
  const webClientFile = webpackFiles.find(file => file.includes('web-client.min.js'));
13
13
  const previewCssFile = webpackFiles.find(file => file.includes('preview.css.min.js'));
14
14
 
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @moveo-ai/web-client v0.115.0
3
+ * @moveo-ai/web-client v0.115.1-true.1
4
4
  * Copyright (c) Moveo.ai (TM)
5
5
  *
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @moveo-ai/web-client v0.115.0
3
+ * @moveo-ai/web-client v0.115.1-true.1
4
4
  * Copyright (c) Moveo.ai (TM)
5
5
  *
6
6
  */
@@ -1,2 +1,2 @@
1
1
  /*! For license information please see web-client.min.js.LICENSE.txt */
2
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("MoveoAI",[],t):"object"==typeof exports?exports.MoveoAI=t():e.MoveoAI=t()}(this,()=>(()=>{var e={1178(e,t,n){"use strict";var o=n(1601),i=n.n(o),s=n(6314),r=n.n(s)()(i());r.push([e.id,"/*\n * Applied to the iframe on the customer's own page, so the overrides below are\n * deliberate: the host stylesheet must not win.\n */\n.web-client-container {\n position: fixed;\n right: 0;\n bottom: 0;\n z-index: var(--moveo-z-index, 10022);\n max-height: 99%;\n cursor: pointer;\n}\n\n.web-client-container.embed {\n position: static;\n width: 100% !important;\n height: 100% !important;\n max-height: 100%;\n}\n\n/*\n * Full is the frame's viewport — the visitor's window only on a top-level\n * page. On a nested install the loader pins the panel to the visible band\n * through these two variables; unset, they resolve to the plain full frame.\n */\n.web-client-container.full {\n inset: var(--moveo-full-top, 0) 0 auto 0 !important;\n width: 100% !important;\n height: var(--moveo-full-height, 100%) !important;\n max-height: initial;\n}\n",""]);const a=r;n.d(t,["A",0,a])},6314(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,o,i,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(o)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(r[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);o&&r[d[0]]||(void 0!==s&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},1601(e){"use strict";e.exports=function(e){return e[1]}},7833(e,t,n){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let o=0,i=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(o++,"%c"===e&&(i=o))}),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(736)(t);const{formatters:o}=e.exports;o.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736(e,t,n){e.exports=function(e){function t(e){let n,i,s,r=null;function a(...e){if(!a.enabled)return;const o=a,i=Number(new Date),s=i-(n||i);o.diff=s,o.prev=n,o.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let r=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(n,i)=>{if("%%"===n)return"%";r++;const s=t.formatters[i];if("function"==typeof s){const t=e[r];n=s.call(o,t),e.splice(r,1),r--}return n}),t.formatArgs.call(o,e),(o.log||t.log).apply(o,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=o,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==r?r:(i!==t.namespaces&&(i=t.namespaces,s=t.enabled(e)),s),set:e=>{r=e}}),"function"==typeof t.init&&t.init(a),a}function o(e,n){const o=t(this.namespace+(void 0===n?":":n)+e);return o.log=this.log,o}function i(e,t){let n=0,o=0,i=-1,s=0;for(;n<e.length;)if(o<t.length&&(t[o]===e[n]||"*"===t[o]))"*"===t[o]?(i=o,s=n,o++):(n++,o++);else{if(-1===i)return!1;o=i+1,s++,n=s}for(;o<t.length&&"*"===t[o];)o++;return o===t.length}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(i(e,n))return!1;for(const n of t.names)if(i(e,n))return!0;return!1},t.humanize=n(6585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},6585(e){var t=1e3,n=60*t,o=60*n,i=24*o,s=7*i;function r(e,t,n,o){var i=t>=1.5*n;return Math.round(e/n)+" "+o+(i?"s":"")}e.exports=function(e,a){a=a||{};var c,l,d=typeof e;if("string"===d&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(r){var a=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*s;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===d&&isFinite(e))return a.long?(c=e,(l=Math.abs(c))>=i?r(c,l,i,"day"):l>=o?r(c,l,o,"hour"):l>=n?r(c,l,n,"minute"):l>=t?r(c,l,t,"second"):c+" ms"):function(e){var s=Math.abs(e);return s>=i?Math.round(e/i)+"d":s>=o?Math.round(e/o)+"h":s>=n?Math.round(e/n)+"m":s>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},4724(e,t,n){"use strict";n.r(t),n.d(t,{init:()=>ze});var o=n(7833),i=n.n(o);let s=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[e]];return t};const r=e=>{if("object"==typeof e&&null!==e){if("function"==typeof Object.getPrototypeOf){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}return"[object Object]"===Object.prototype.toString.call(e)}return!1},a=new Set(["__proto__","constructor","prototype","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString"]),c=(...e)=>e.reduce((e,t)=>{if(void 0===t)return e;if(Array.isArray(t))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(t).forEach(n=>{a.has(n)||(Array.isArray(e[n])&&Array.isArray(t[n])?e[n]=c.options.mergeArrays?c.options.uniqueArrayItems?Array.from(new Set(e[n].concat(t[n]))):[...e[n],...t[n]]:t[n]:r(e[n])&&r(t[n])?e[n]=c(e[n],t[n]):!r(e[n])&&r(t[n])?e[n]=c(t[n],void 0):e[n]=void 0===t[n]?c.options.allowUndefinedOverrides?t[n]:e[n]:t[n])}),e},{}),l={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};c.options=l,c.withOptions=(e,...t)=>{c.options=Object.assign(Object.assign({},l),e);const n=c(...t);return c.options=l,n};const d="https://channels-ws.moveo.ai",u=(Object.freeze({"bab4875e-0411-4ae1-9e98-19ea236d369b":"nbg","0ffdaef8-4ce9-4188-9fdd-4644e5062cf2":"alpha","0e614713-2e6b-4af2-8e9e-21c2a4617981":"fiserv"}),"https://web.moveo.ai"),h="https://web.dev.moveo.ai",m=()=>window.innerWidth<650||window.innerHeight<550&&window.innerWidth<1e3||(()=>{const{screen:e,matchMedia:t}=window;return!(!e||"function"!=typeof t)&&Math.min(e.width,e.height)<650&&t("(pointer: coarse)").matches})(),p=(e,t)=>{const n=t?.data?.type;if("string"!=typeof n||!n.startsWith(e))return null;const o=n.replace(e,""),i=t.data?.data;return{type:o,data:i}};var f,v=/bot|crawl|http|lighthouse|scan|search|spider/i;var g=function(e){return"string"==typeof(t=e)&&""!==t&&function(){if(f instanceof RegExp)return f;try{f=new RegExp(" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x7|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|upday/|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/","i")}catch(e){f=v}return f}().test(e);var t};const y=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},b="object"==typeof globalThis&&globalThis&&globalThis.Object===Object&&globalThis;var w="object"==typeof self&&self&&self.Object===Object&&self;const C=b||w||Function("return this")(),x=function(){return C.Date.now()};var E=/\s/;var I=/^\s+/;const M=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&E.test(e.charAt(t)););return t}(e)+1).replace(I,""):e},F=C.Symbol;var S=Object.prototype,A=S.hasOwnProperty,T=S.toString,k=F?F.toStringTag:void 0;var L=Object.prototype.toString;var O=F?F.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":O&&O in Object(e)?function(e){var t=A.call(e,k),n=e[k];try{e[k]=void 0;var o=!0}catch(e){}var i=T.call(e);return o&&(t?e[k]=n:delete e[k]),i}(e):function(e){return L.call(e)}(e)};var P=/^[-+]0x[0-9a-f]+$/i,H=/^0b[01]+$/i,$=/^0o[0-7]+$/i,z=parseInt;const _=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==j(e)}(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=M(e);var n=H.test(e);return n||$.test(e)?z(e.slice(2),n?2:8):P.test(e)?NaN:+e};var R=Math.max,B=Math.min;const U=function(e,t,n){var o,i,s,r,a,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=o,s=i;return o=i=void 0,l=t,r=e.apply(s,n)}function p(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=s}function f(){var e=x();if(p(e))return v(e);a=setTimeout(f,function(e){var n=t-(e-c);return u?B(n,s-(e-l)):n}(e))}function v(e){return a=void 0,h&&o?m(e):(o=i=void 0,r)}function g(){var e=x(),n=p(e);if(o=arguments,i=this,c=e,n){if(void 0===a)return function(e){return l=e,a=setTimeout(f,t),d?m(e):r}(c);if(u)return clearTimeout(a),a=setTimeout(f,t),m(c)}return void 0===a&&(a=setTimeout(f,t)),r}return t=_(t)||0,y(n)&&(d=!!n.leading,s=(u="maxWait"in n)?R(_(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),g.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=c=i=a=void 0},g.flush=function(){return void 0===a?r:v(x())},g},W=i()("moveo:safe-read"),N=(e,t)=>{try{return t()}catch(t){return void W("%s unreadable: %o",e,t)}},q=(e,t)=>{N(e,()=>{t()})},Q=e=>{if("string"==typeof e)return e.trim()||void 0},D=e=>{for(const t of Object.keys(e))void 0===e[t]&&delete e[t];return e},V=()=>window,J=()=>N("QuantumMetric scripts",()=>Array.from(document.querySelectorAll('script[src*="quantummetric"]')))??[],Y=()=>J().length>0,G=()=>N("QuantumMetricAPI.isOn",()=>{const e=V().QuantumMetricAPI;return"function"==typeof e?.isOn&&!0===e.isOn()})??!1,Z=/\/qscripts\/quantum-([a-z0-9-]+)\.js/,K=()=>{if(G())return N("QuantumMetric script src",()=>{for(const e of J()){const t=e.getAttribute("src")?.match(Z)?.[1];if(t)return t}})},X=[{name:"quantum-metric",isReady:()=>G(),isExpected:()=>Y(),readIdentity:()=>({qm_subscription:K()??null,qm_user_id:G()?N("QuantumMetricAPI.getUserID",()=>Q(V().QuantumMetricAPI?.getUserID?.())):Y()?null:void 0}),whenReady:e=>{let t,n=e;const o=()=>q("quantum-metric ready callback",()=>{n?.()}),i=()=>{n&&(t=o,q("QuantumMetricAPI.addEventListener('start')",()=>{V().QuantumMetricAPI?.addEventListener?.("start",o)}),q("QuantumMetricAPI.addEventListener('stop')",()=>{V().QuantumMetricAPI?.addEventListener?.("stop",o)}),o())};return N("QuantumMetricAPI",()=>V().QuantumMetricAPI)?i():q("QuantumMetricOnload",()=>{const e=V().QuantumMetricOnload;if(Array.isArray(e))e.push(i);else{if("function"==typeof e){const t=e;return void(V().QuantumMetricOnload=function(...e){return q("QuantumMetricOnload (ours)",i),t.apply(this,e)})}V().QuantumMetricOnload=[i]}}),()=>{n=null,t&&(q("QuantumMetricAPI.removeEventListener('start')",()=>{V().QuantumMetricAPI?.removeEventListener?.("start",t)}),q("QuantumMetricAPI.removeEventListener('stop')",()=>{V().QuantumMetricAPI?.removeEventListener?.("stop",t)}),t=void 0)}}}],ee=(e,t)=>N(`${e.name}.${t}`,()=>e[t]?.())??!1,te=e=>N(`input[name="${e}"]`,()=>{const t=document.querySelectorAll(`input[name="${CSS.escape(e)}"]`);for(const e of t){const t=Q(e.value);if(t)return t}}),ne="moveo_visitor_id",oe=e=>N(`document.cookie ${e}`,()=>{const t=`${e}=`,n=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(t));return Q(n?.slice(t.length))}),ie=new RegExp("^[A-Za-z0-9_-]{43}$"),se=/^[0-9a-f-]{36}$/,re=()=>{const{path:e,...t}=(e=>{const t={};for(const n of e)for(const[e,o]of Object.entries(n))void 0!==o&&""!==o&&void 0===t[e]&&(t[e]=o);return t})([D({qm_partner_id:te("partnerId"),qm_client_id:te("stdAppType"),qm_config_id:te("selectedConfig"),qm_page_template:(n="template",N(`meta[name="${n}"]`,()=>Q(document.querySelector(`meta[name="${CSS.escape(n)}"]`)?.content))),path:N("location.pathname",()=>Q(window.location.pathname))}),...X.map(e=>N(`${e.name}.readIdentity`,()=>e.readIdentity?.())??{})]);var n;const o=D(t),i=(()=>{const e=oe(ne);if(e&&(t=e,ie.test(t)||se.test(t)))return e;var t;const n=N("nanoid",()=>s(43));return n?(q("document.cookie write",()=>{document.cookie=`${ne}=${n}; path=/; max-age=34214400; SameSite=Lax; Secure`}),oe(ne)===n?n:void 0):void 0})(),r=i?{...o,user:{web_psid:i}}:o;return e?{...r,global:{client_path:e}}:r},ae="moveo:activity:locationchange",ce=Symbol.for("moveo.activity.history"),le=[ae,"popstate","hashchange"],de=[0,400];let ue=!1;const he=()=>{ue||(ue=!0,q("history patch",()=>{const e=window.history;e[ce]||(["pushState","replaceState"].forEach(t=>{const n=e[t];e[t]=function(...e){const t=n.apply(this,e);return q("location event",()=>{window.dispatchEvent(new Event(ae))}),t}}),e[ce]=!0)}))},me=e=>{he();const t=new Set,n=()=>{t.forEach(e=>window.clearTimeout(e)),t.clear(),de.forEach(n=>{const o=window.setTimeout(()=>{t.delete(o),e()},n);t.add(o)})};return le.forEach(e=>window.addEventListener(e,n)),()=>{le.forEach(e=>window.removeEventListener(e,n)),t.forEach(e=>window.clearTimeout(e)),t.clear()}},pe=i()("moveo:visible-band");var fe,ve,ge,ye,be;!function(e){e.Open="open",e.Resolved="closed",e.Expired="expired",e.Spam="spam",e.Trash="trash"}(fe||(fe={})),function(e){e.AnalyticsEvent="moveo-analytics-event",e.IframeLoaded="moveo-iframe-loaded",e.IframeError="moveo-iframe-error",e.WidgetLoaded="moveo-widget-loaded",e.WidgetError="moveo-widget-error",e.Opened="moveo-widget-opened",e.Closed="moveo-widget-closed",e.Resize="moveo-widget-resize",e.LocaleChanged="moveo-widget-locale-changed",e.SessionCreated="moveo-widget-session-created",e.SessionReconnected="moveo-widget-session-reconnected",e.SessionClosed="moveo-widget-session-closed",e.ConversationClosed="moveo-widget-conversation-closed",e.LinkClicked="moveo-widget-link-clicked",e.UserActivity="moveo-widget-user-activity",e.MemberLeave="moveo-widget-member-leave",e.ConversationUnreadMessages="moveo-conversation-unread-messages",e.ConversationNoUnreadMessages="moveo-conversation-no-unread-messages",e.UserWayInit="moveo-userway-init"}(ve||(ve={})),function(e){e.SetConfig="moveo-set-config",e.SetLocale="moveo-set-locale",e.SetCssVariables="moveo-set-css-variables",e.Open="moveo-open",e.Close="moveo-close",e.CloseConversation="moveo-close-conversation",e.SendMessage="moveo-send-message",e.ShowTeaserMessage="moveo-show-teaser-message",e.UpdateContext="moveo-update-context",e.UpdateHostContext="moveo-update-host-context",e.LoadSessionReplay="moveo-load-session-replay",e.HostScroll="moveo-host-scroll",e.HostLocation="moveo-host-location",e.WindowResize="moveo-resize",e.HostFrameBox="moveo-host-frame-box",e.SessionActivity="session-activity",e.UserWayDisabled="userway-disabled",e.UserWayEnabled="userway-enabled",e.LinkClicked="link-clicked"}(ge||(ge={})),function(e){e.Expired="expired",e.Survey="survey",e.Closing="closing",e.Resolved="closed",e.Inactivity="inactivity"}(ye||(ye={})),function(e){e.CloseButton="close-btn",e.EndSessionButton="end-btn",e.HeaderMenuButton="header-menu-btn",e.RestartButton="restart-btn",e.LauncherButton="launcher-btn",e.MessageInput="message-input",e.DisclaimerCheck="disclaimer-check",e.DisclaimerContainer="disclaimer-container",e.HeaderContainer="header-container",e.ImageButton="image-btn"}(be||(be={}));const we=["s2","s3","s4","s6","s7","s10","s12","s13","s14","s15","s16","s17","s19","s23"];class Ce{constructor({config:e}){this.detectUserway=()=>{we.forEach(e=>{document.addEventListener(`userway:feature_enabled_${e}`,()=>{const t=localStorage.getItem(`userway-${e}`)??"";this.sendEventToIframe({type:ge.UserWayEnabled,data:{eventType:e,value:t}})}),document.addEventListener(`userway:feature_disabled_${e}`,()=>{this.sendEventToIframe({type:ge.UserWayDisabled,data:{eventType:e}})})})},this.initUserway=()=>{const e={...localStorage};Object.keys(e).forEach(t=>{const n=(e[t],e[t]);if(t.includes("userway-s")&&(!isNaN(parseInt(n))||"true"===n)){const e=t.split("-")[1];"0"===n?this.sendEventToIframe({type:ge.UserWayDisabled,data:{eventType:e}}):this.sendEventToIframe({type:ge.UserWayEnabled,data:{eventType:e,value:n}})}})},this.detectMobile=()=>{this.sendEventToIframe({type:ge.WindowResize,data:{is_mobile:m(),width:window.innerWidth,height:window.innerHeight}}),this.sendFrameBox()},this.updateLastActivity=()=>{try{this.sendEventToIframe({type:ge.SessionActivity,data:"active"})}catch(e){this.log("Failed to report page activity",e)}},this.sendHostContext=()=>{if(this.stopHostContext)try{const e=re();if(0===Object.keys(e).length)return;const t=JSON.stringify(e);if(t===this.sentHostContext)return;this.sentHostContext=t,this.log("Host context:",e),this.updateHostContext(e)}catch(e){this.log("Failed to collect host context",e)}},this.sendSessionReplayHandoff=()=>{if(this.stopHostContext)try{const e=K();if(!e)return void(this.sentReplaySubscription=null);if(e===this.sentReplaySubscription)return;this.sentReplaySubscription=e,this.log("Session replay handoff:",e),this.sendEventToIframe({type:ge.LoadSessionReplay,data:{vendor:"quantum-metric",subscription:e}})}catch(e){this.log("Failed to hand off the session replay subscription",e)}},this.trackHostContext=()=>{const e=(e=>{const t=[];X.forEach(n=>{const o=N(`${n.name}.whenReady`,()=>n.whenReady?.(e));"function"==typeof o&&t.push(o)});const n=new Set(X.filter(e=>ee(e,"isExpected")&&!ee(e,"isReady")));let o;if(n.size>0){let t=Math.ceil(20);o=window.setInterval(()=>{t-=1,n.forEach(t=>{ee(t,"isReady")&&(n.delete(t),e())}),(0===n.size||t<=0)&&window.clearInterval(o)},500)}return()=>{window.clearInterval(o),t.forEach(e=>q("provider unsubscribe",e)),t.length=0}})(()=>{this.sendHostContext(),this.sendSessionReplayHandoff()}),t=me(this.sendHostContext);this.stopHostContext=()=>{e(),t()}},this.sendFrameBox=()=>{requestAnimationFrame(()=>{if(!this.iframe)return;const{width:e,height:t}=this.iframe.getBoundingClientRect();e&&t&&(this.frameHeight=t,this.placeInVisibleBand(),this.sendEventToIframe({type:ge.HostFrameBox,data:{width:e,height:t}}))})},this.placeInVisibleBand=()=>{const e=this.visibleBand;if(!this.iframe||!e||this.hostAlignedTop||"embed"===this.config.widget_position)return;if(this.iframe.classList.contains("full"))return void this.placeFullInBand(e);if(e.bottom>=window.innerHeight-1)return this.iframe.style.removeProperty("top"),this.iframe.style.removeProperty("bottom"),this.iframe.style.removeProperty("transition"),this.iframe.style.removeProperty("transform"),this.iframe.style.removeProperty("will-change"),void(this.placedTop=null);null==this.frameHeight&&(this.frameHeight=this.iframe.getBoundingClientRect().height);const t=Math.max(0,e.bottom-this.frameHeight);if(t!==this.placedTop){if(this.placedTop=t,e.exact)return this.iframe.style.top="0px",this.iframe.style.bottom="auto",this.iframe.style.willChange="transform",this.iframe.style.transition="none",void(this.iframe.style.transform=`translateY(${t}px)`);this.iframe.style.removeProperty("transform"),this.iframe.style.removeProperty("will-change"),this.iframe.style.transition="top 0.25s linear",this.iframe.style.top=`${t}px`,this.iframe.style.bottom="auto"}},this.placeFullInBand=e=>{e.top<=1&&e.bottom>=window.innerHeight-1?this.clearFullBandPin():(this.iframe.style.transition=e.exact?"":"top 0.25s linear, height 0.25s linear",this.iframe.style.setProperty("--moveo-full-top",`${e.top}px`),this.iframe.style.setProperty("--moveo-full-height",e.bottom-e.top+"px"))},this.clearFullBandPin=()=>{this.iframe.style.removeProperty("--moveo-full-top"),this.iframe.style.removeProperty("--moveo-full-height")},this.config=e,this.id=e.widgetId,this.isNested=!(N("window.top",()=>window===window.top)??1),this.initialized=!1,this.log=i()(`moveo:web-client:${this.id}`),this.iframe=this.createIframe(),this.stopHostContext=null,this.stopActivityTracking=null,this.scrollTracker=null,this.stopLocationTracking=null,this.sentHostContext=null,this.sentReplaySubscription=null,this.stopWindowListeners=null,this.widgetLoadedEvent=null,this.stopVisibleBand=null,this.visibleBand=null,this.hostAlignedTop=!1,this.frameHeight=null,this.placedTop=null}createIframe(){const e=document.createElement("iframe");return e.width="1px",e.height="1px",e.title="Moveo webchat",e.id=this.id,e.name=this.id,e.allow="geolocation; microphone; autoplay",e.style.border="0",e.classList.add("web-client-container"),"embed"===this.config.widget_position&&e.classList.add("embed"),e.setAttribute("src",(e=>{let t="";const n=document.querySelectorAll("script");n&&n.forEach(e=>{e.src?.includes(h)&&(t=h),e.src?.includes(u)&&(t=u),e.src?.match(/@moveo-ai\/web-client.*next/)&&(t="https://web-client.dev.moveo.ai")});const{origin:o}=window.location;return t||(t=o.match(/^https?:\/\/(localhost|127\.0\.0\.1|\[::1\])(:\d+)?$/)||o.match(/^https:\/\/([a-z0-9-]+\.)?web-7ii\.pages\.dev$/)||o.match(/web-client.*moveo-ai\.vercel\.app/)||o.match(/web.*moveo\.ai/)?o:u),`${t}?widgetId=${e}`})(this.id)),e}handleEvents(e,t){return n=>{const o=p(this.id,n);if(o)switch(o.type){case ve.IframeLoaded:this.sendEventToIframe({type:ge.SetConfig,data:this.config}),this.config.feature_flags?.fiserv_web_activity&&!this.stopHostContext&&this.trackHostContext(),this.sendHostContext(),this.sendSessionReplayHandoff();break;case ve.SessionCreated:case ve.SessionReconnected:this.sentHostContext=null,this.sendHostContext();break;case ve.IframeError:return this.stopInstrumentation(),this.stopWindowListeners?.(),this.stopWindowListeners=null,t(o.data);case ve.UserWayInit:this.initUserway(),this.detectUserway();break;case ve.WidgetLoaded:setTimeout(()=>{this.detectMobile(),e(this)},0),this.sentHostContext=null,this.sentReplaySubscription=null,this.sendHostContext(),this.sendSessionReplayHandoff(),this.widgetLoadedEvent={timestamp:(new Date).toISOString(),event:"widget_loaded",properties:{}};break;case ve.WidgetError:this.notify(o);break;case ve.Opened:(o.data.isFull||o.data.is_mobile||m())&&(this.iframe.classList.add("full"),this.placeInVisibleBand());break;case ve.Closed:(o.data.isFull||m())&&(this.iframe.classList.remove("full"),this.clearFullBandPin(),this.frameHeight=null,this.placeInVisibleBand());break;case ve.Resize:{this.iframe.style.width=o.data.width,this.iframe.style.height=o.data.height,this.iframe.style.left=o.data.left,null!=o.data.top&&(this.iframe.style.top=o.data.top,this.iframe.style.bottom="auto",this.hostAlignedTop=!0);const e=Number.parseFloat(o.data.height);Number.isFinite(e)&&e>0?(this.frameHeight=e,this.placeInVisibleBand()):this.frameHeight=null,this.sendFrameBox();break}default:this.log(`Unhandle event: ${o.type}`)}}}stopInstrumentation(){this.stopHostContext?.(),this.stopHostContext=null,this.stopActivityTracking?.(),this.stopActivityTracking=null,this.scrollTracker?.stop(),this.scrollTracker=null,this.stopLocationTracking?.(),this.stopLocationTracking=null,this.stopVisibleBand?.(),this.stopVisibleBand=null,this.visibleBand=null}resolveEmbedElement(){const e=this.config?.element||null;if("string"!=typeof e)return e;const t=document.getElementById(e);if(!t)throw new Error(`Element with id: ${e} not found`);return t}init(){return new Promise((e,t)=>{if(g(navigator.userAgent))throw new Error(`Widget ${this.id} was not initialized because user-agent is a bot`);if(this.initialized)throw new Error(`Widget ${this.id} was already initialized`);let n;n="embed"===this.config.widget_position?this.resolveEmbedElement():window.document.querySelector("body");const o=this.handleEvents(e,t),i=U(this.detectMobile,100);var s;window.addEventListener("message",o),window.addEventListener("resize",i),this.stopWindowListeners=()=>{window.removeEventListener("message",o),window.removeEventListener("resize",i)},n?.appendChild(this.iframe),this.stopActivityTracking=(e=>{const t=[],n=function(e,t,n){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return y(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),U(e,t,{leading:o,maxWait:t,trailing:i})}(e,3e3),o=(e,o)=>{window.addEventListener(e,n,o),t.push(()=>window.removeEventListener(e,n,o))},i={passive:!0};return o("load",i),o("mousemove",i),o("mousedown",i),o("touchstart",i),o("touchmove",i),o("click",i),o("keydown",i),o("scroll",{capture:!0,passive:!0}),()=>{t.forEach(e=>e()),t.length=0,n.cancel()}})(this.updateLastActivity),this.config.teaser&&(this.scrollTracker=(e=>{let t,n=!1;const o=()=>{n=!1,e(!1)},i=()=>{n||(n=!0,e(!0)),clearTimeout(t),t=setTimeout(o,1e3)},s={capture:!0,passive:!0};return window.addEventListener("scroll",i,s),{pulse:i,stop:()=>{window.removeEventListener("scroll",i,s),clearTimeout(t)}}})(e=>this.sendEventToIframe({type:ge.HostScroll,data:{scrolling:e}}))),this.config.teaser?.pages?.length&&(this.stopLocationTracking=me(()=>this.sendEventToIframe({type:ge.HostLocation,data:{href:window.location.href}}))),this.isNested&&"embed"!==this.config.widget_position&&(this.stopVisibleBand=(s=e=>{const t=null!=e&&(this.visibleBand?.top!==e.top||this.visibleBand?.bottom!==e.bottom);this.visibleBand=e,this.placeInVisibleBand(),t&&this.scrollTracker?.pulse()},N("visible band",()=>(e=>{const t=(()=>{const e=[];try{let t=window;for(;t!==t.parent;){if(!t.frameElement)return null;t=t.parent,t.innerHeight,e.push(t)}}catch{return null}return e})();if(!t||0===t.length)return null;const n=()=>{let e=0,t=window.innerHeight,n=0,o=window;for(;o!==o.parent;){const i=o.frameElement;if(!i)return null;n+=i.getBoundingClientRect().top+i.clientTop,o=o.parent,e=Math.max(e,-n),t=Math.min(t,o.innerHeight-n)}return t>e?{top:e,bottom:t,exact:!0}:null};let o=null;const i=()=>{const t=N("ancestor geometry",n)??null;!t||o&&o.top===t.top&&o.bottom===t.bottom||(o=t,e(t))},s={capture:!0,passive:!0};for(const e of t)e.addEventListener("scroll",i,s),e.addEventListener("resize",i);return window.addEventListener("resize",i),i(),()=>{window.removeEventListener("resize",i);for(const e of t)try{e.removeEventListener("scroll",i,s),e.removeEventListener("resize",i)}catch{}}})(s))||(N("visible band ladder",()=>(e=>{const t=document.createElement("div");t.style.cssText="position:absolute;top:0;left:0;width:0;height:0;pointer-events:none";const n=document.createElement("div");n.dataset.bandProbe="";const o=()=>{const e=t.parentNode;e?.removeChild(t);const n=N("document height",()=>Math.max(document.documentElement.scrollHeight,window.innerHeight));return e?.appendChild(t),n&&n>0?n:null},i=new Set;let s=null,r=0,a=600,c=!1;const l=new IntersectionObserver(t=>{for(const e of t){const t=Number(e.target.dataset.y);e.isIntersecting?i.add(t):i.delete(t);const n=e.rootBounds?.height;n&&(a=n)}C(),(()=>{if(c)return;if(0===i.size)return;const t=N("scrollY",()=>window.scrollY)??0;let n=1/0,o=-1/0;for(const e of i)e<n&&(n=e),e>o&&(o=e);n=Math.max(0,n-t),o-=t,o<=n||s&&s.top===n&&s.bottom===o||(s={top:n,bottom:o,exact:!1},e(s))})()},{root:null,threshold:0});let d=null,u=null,h=0,m=null;const p=new IntersectionObserver(t=>{const n=(e=>{const t=e.intersectionRect,n=e.boundingClientRect;if(!e.isIntersecting||!t||!n)return null;const o=N("scrollY",()=>window.scrollY)??0,i=t.top-n.top-o,s=t.bottom-n.top-o;if(!Number.isFinite(i)||!Number.isFinite(s)||s<=i)return null;const r=performance.now(),a=Number.isFinite(e.time)&&r-e.time>-5&&r-e.time<200?e.time:r;return{top:Math.max(0,i),bottom:s,at:a}})(t[t.length-1]);if(!n)return;c||(c=!0,pe("browser clips the probe; exact bands from here on"));const o=u?.top===n.top&&u.bottom===n.bottom;return o&&null!==g?void 0:null!==g?(d=n,void(v=performance.now()+500)):void(o&&s?.exact&&s.top===n.top&&s.bottom===n.bottom||(u={t:n.at,top:n.top,bottom:n.bottom},h=0,m=n.bottom,s={top:n.top,bottom:n.bottom,exact:!0},e(s),C()))},{root:null,threshold:0}),f=()=>{p.unobserve(n),p.observe(n)};let v=0,g=null,y=0,b=0;const w=()=>{g=null,q("visible band pump",()=>{const t=performance.now(),n=b?Math.min(50,t-b):16;if(b=t,null!==m&&(m+=h*n),d){y=0;const e=d;d=null,(e=>{const t=u;u={t:e.at,top:e.top,bottom:e.bottom};const n=t?e.at-t.t:0;if(!t||null===m||n<4||n>120)return m=e.bottom,void(h=0);let o=(e.bottom-t.bottom)/n;o=Math.max(h-.3*n,Math.min(h+.3*n,o)),h=0!==h&&Math.sign(o)!==Math.sign(h)||0===h?o:h+.4*(o-h),m+=.35*(e.bottom-m)})(e)}else if(y||(y=t),t-y>24/Math.max(.1,Math.abs(h))&&(h*=Math.exp(-n/50),Math.abs(h)<.02&&(h=0),0===h&&u&&null!==m&&(m+=(u.bottom-m)*(1-Math.exp(-n/40)),Math.abs(m-u.bottom)<.75&&(m=u.bottom))),u&&null!==m&&0!==h){const e=u.bottom+32*Math.sign(h);m=h>0?Math.min(m,e):Math.max(m,e)}if(null!==m&&u){const t=Math.max(-160,Math.min(160,8*h)),o=u.bottom-u.top;let i=m+t;if(s?.exact){const e=Math.abs(h)*n*1.75+6;i=Math.max(s.bottom-e,Math.min(s.bottom+e,i))}const r=(e=>{const t=Math.max(0,e.top+0);let n=e.bottom+0;const o=window.innerHeight-2;return e.bottom<=o&&n>o&&(n=o),n<=t?null:{top:t,bottom:n,exact:!0}})({top:Math.max(0,i-o),bottom:i});r&&((t,n)=>{s?.exact&&s.top===t&&s.bottom===n||(s={top:t,bottom:n,exact:!0},e(s))})(r.top,r.bottom)}t>=v||(f(),g=requestAnimationFrame(w))})},C=()=>{v=performance.now()+500,null===g&&"function"==typeof requestAnimationFrame&&(y=0,b=0,f(),g=requestAnimationFrame(w))},x=e=>{r=e;const o=((e,t)=>{const n=Math.max(16,Math.ceil(e/200)),o=Math.max(16,Math.floor(.5*t));return Math.max(Math.min(n,o),Math.ceil(e/2e3))})(r,a);t.replaceChildren(),i.clear(),n.style.cssText=`position:absolute;top:0;left:0;width:1px;height:${r}px;pointer-events:none`,t.appendChild(n);const s=e=>{const n=document.createElement("div");n.dataset.y=String(e),n.style.cssText=`position:absolute;top:${e}px;left:0;width:1px;height:1px`,t.appendChild(n)};let c=0;for(;c<r-1;c+=o)s(c);s(Math.max(0,r-1)),l.disconnect();for(const e of t.children)e!==n&&l.observe(e);p.disconnect(),p.observe(n)};let E=!1;const I=()=>{q("visible band rebuild",()=>{const e=E?o():null;null!==e&&e!==r&&x(e)})},M=()=>{q("visible band attach",()=>{(document.body??document.documentElement).appendChild(t),E=!0;const e=o();null!==e&&x(e)})};return document.body?M():document.addEventListener("DOMContentLoaded",M,{once:!0}),window.addEventListener("resize",I),()=>{null!==g&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(g),g=null,v=0,d=null,u=null,h=0,m=null,b=0,window.removeEventListener("resize",I),document.removeEventListener("DOMContentLoaded",M),l.disconnect(),p.disconnect(),t.remove(),i.clear(),s=null}})(s))??(()=>{})))),this.initialized=!0,this.detectMobile()})}sendEventToIframe(e){this.iframe&&this.iframe.contentWindow?(this.log(`Event to iframe: ${e.type}`,e),e.type===ge.SetConfig&&e.data?.element&&delete e.data.element,this.iframe.contentWindow.postMessage({...e,type:`${this.id}${e.type}`},"*")):this.log("Error: Cannot find iframe to send event")}notify(e){this.log(`notify ${e.type}:`,e)}notifyParent(e,t){window.addEventListener("message",n=>{const o=p(this.id,n);if(o&&(this.log(`Event from iframe: ${o.type}`,o),o.type===e)){if("data"in o&&"object"==typeof o.data&&null!==o.data&&"skipInstanceCallback"in o.data)return;t("data"in o?o.data:void 0)}})}openWindow(){this.sendEventToIframe({type:ge.Open})}async destroy(){var e;this.closeConversation({hide:!0}),this.stopInstrumentation(),await(e=4e3,new Promise(t=>setTimeout(t,e)));const t=document.getElementById(this.id);t&&(t.remove(),this.initialized=!1),this.stopWindowListeners?.(),this.stopWindowListeners=null,this.sentHostContext=null,this.sentReplaySubscription=null,this.widgetLoadedEvent=null}closeConversation({hide:e}){this.sendEventToIframe({type:ge.CloseConversation,data:{hide:e}})}closeWindow(){this.sendEventToIframe({type:ge.Close})}sendMessage(e){this.sendEventToIframe({type:ge.SendMessage,data:e})}showTeaserMessage(e){this.sendEventToIframe({type:ge.ShowTeaserMessage,data:e?{text:e}:void 0})}updateContext(e){this.sendEventToIframe({type:ge.UpdateContext,data:e})}updateHostContext(e){this.sendEventToIframe({type:ge.UpdateHostContext,data:e})}setCSSVariables(e){const t=e["--moveo-z-index"];void 0!==t&&this.iframe&&(t?this.iframe.style.setProperty("--moveo-z-index",t):this.iframe.style.removeProperty("--moveo-z-index")),this.sendEventToIframe({type:ge.SetCssVariables,data:e})}setLocale(e){this.sendEventToIframe({type:ge.SetLocale,data:e})}onSessionCreated(e){this.notifyParent(ve.SessionCreated,e)}onSessionClosed(e){this.notifyParent(ve.SessionClosed,e)}onConversationClosed(e){this.notifyParent(ve.ConversationClosed,e)}onSessionReconnected(e){this.notifyParent(ve.SessionReconnected,e)}onNoUnreadMessages(e){this.notifyParent(ve.ConversationNoUnreadMessages,e)}onUnreadMessages(e){this.notifyParent(ve.ConversationUnreadMessages,e)}onLinkClicked(e){this.notifyParent(ve.LinkClicked,e)}onUserActivity(e){this.notifyParent(ve.UserActivity,e)}onAnalyticsEvent(e){this.notifyParent(ve.AnalyticsEvent,e),this.widgetLoadedEvent&&e(this.widgetLoadedEvent)}onWebchatOpened(e){this.notifyParent(ve.Opened,e)}onWebchatClosed(e){this.notifyParent(ve.Closed,e)}onMemberLeave(e){this.notifyParent(ve.MemberLeave,e)}}var xe=n.cjs(function(e,t){var n=[];function o(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function i(e,t){for(var i={},r=[],a=0;a<e.length;a++){var c=e[a],l=t.base?c[0]+t.base:c[0],d=i[l]||0,u="".concat(l," ").concat(d);i[l]=d+1;var h=o(u),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==h)n[h].references++,n[h].updater(m);else{var p=s(m,t);t.byIndex=a,n.splice(a,0,{identifier:u,updater:p,references:1})}r.push(u)}return r}function s(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,t){var s=i(e=e||[],t=t||{});return function(e){e=e||[];for(var r=0;r<s.length;r++){var a=o(s[r]);n[a].references--}for(var c=i(e,t),l=0;l<s.length;l++){var d=o(s[l]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}s=c}}}),Ee=n.n(xe),Ie=n.cjs(function(e,t){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}}),Me=n.n(Ie),Fe=n.cjs(function(e,t){var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}}),Se=n.n(Fe),Ae=n.cjs(function(e,t){e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}}),Te=n.n(Ae),ke=n.cjs(function(e,t){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}),Le=n.n(ke),Oe=n.cjs(function(e,t){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}),je=n.n(Oe),Pe=n(1178),He={};He.styleTagTransform=je(),He.setAttributes=Te(),He.insert=Se().bind(null,"head"),He.domAPI=Me(),He.insertStyleElement=Le(),Ee()(Pe.A,He),Pe.A&&Pe.A.locals&&Pe.A.locals;let $e=i()("moveo:web-client");const ze=async e=>{await new Promise(e=>{if("complete"===document.readyState)return e();window.addEventListener("load",()=>e())});const t=await(async e=>{const t=`moveo-${s(5)}`,n=window.location.href;if($e=$e.extend(`:${t}`),!e?.integrationId)throw new Error("integrationId is required.\n Call MoveoAI.init({ integrationId: YOUR_INTEGRATION_HERE })");const o=await(async(e,t)=>{const n=t||d,o=await fetch(`${n}/v1/web/${e}`,{headers:{"Cache-Control":"no-cache"}}),i=await o.text();if(o.ok)return JSON.parse(i);throw new Error(`Error loading config from: ${n}/${e}`)})(e.integrationId,e.host);$e("Loaded integration configuration:",o);const{feature_flags:i,...r}=e;return void 0!==i&&$e("feature_flags is server-owned; the caller value is ignored"),{...c({...o},r),clientUrl:n,widgetId:t}})(e);if($e("Configuration:",t),"embed"===t.widget_position&&!t.element)throw new Error("element is not defined but required by embed widget");const n=new Ce({config:t});$e("Initializing");const o=await n.init();return $e("Initialized"),o}}};const t={};function n(o){const i=t[o];if(void 0!==i)return i.exports;const s=t[o]={id:o,exports:{}};return e[o](s,s.exports,n),s.exports}return n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{if(Array.isArray(t))for(var o=0;o<t.length;){var i=t[o++],s=t[o++];n.o(e,i)?0===s&&o++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[o++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},n.nc=void 0,n(4724)})());
2
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("MoveoAI",[],t):"object"==typeof exports?exports.MoveoAI=t():e.MoveoAI=t()}(this,()=>(()=>{var e={1178(e,t,n){"use strict";var o=n(1601),i=n.n(o),s=n(6314),r=n.n(s)()(i());r.push([e.id,"/*\n * Applied to the iframe on the customer's own page, so the overrides below are\n * deliberate: the host stylesheet must not win.\n */\n.web-client-container {\n position: fixed;\n right: 0;\n bottom: 0;\n z-index: var(--moveo-z-index, 10022);\n max-height: 99%;\n cursor: pointer;\n}\n\n.web-client-container.embed {\n position: static;\n width: 100% !important;\n height: 100% !important;\n max-height: 100%;\n}\n\n/*\n * Full is the frame's viewport — the visitor's window only on a top-level\n * page. On a nested install the loader pins the panel to the visible band\n * through these two variables; unset, they resolve to the plain full frame.\n */\n.web-client-container.full {\n inset: var(--moveo-full-top, 0) 0 auto 0 !important;\n width: 100% !important;\n height: var(--moveo-full-height, 100%) !important;\n max-height: initial;\n}\n",""]);const a=r;n.d(t,["A",0,a])},6314(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,o,i,s){"string"==typeof e&&(e=[[null,e,void 0]]);var r={};if(o)for(var a=0;a<this.length;a++){var c=this[a][0];null!=c&&(r[c]=!0)}for(var l=0;l<e.length;l++){var d=[].concat(e[l]);o&&r[d[0]]||(void 0!==s&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=s),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),i&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=i):d[4]="".concat(i)),t.push(d))}},t}},1601(e){"use strict";e.exports=function(e){return e[1]}},7833(e,t,n){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let o=0,i=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(o++,"%c"===e&&(i=o))}),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}return!e&&"undefined"!=typeof process&&"env"in process&&(e=process.env.DEBUG),e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=n(736)(t);const{formatters:o}=e.exports;o.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},736(e,t,n){e.exports=function(e){function t(e){let n,i,s,r=null;function a(...e){if(!a.enabled)return;const o=a,i=Number(new Date),s=i-(n||i);o.diff=s,o.prev=n,o.curr=i,n=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let r=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(n,i)=>{if("%%"===n)return"%";r++;const s=t.formatters[i];if("function"==typeof s){const t=e[r];n=s.call(o,t),e.splice(r,1),r--}return n}),t.formatArgs.call(o,e),(o.log||t.log).apply(o,e)}return a.namespace=e,a.useColors=t.useColors(),a.color=t.selectColor(e),a.extend=o,a.destroy=t.destroy,Object.defineProperty(a,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==r?r:(i!==t.namespaces&&(i=t.namespaces,s=t.enabled(e)),s),set:e=>{r=e}}),"function"==typeof t.init&&t.init(a),a}function o(e,n){const o=t(this.namespace+(void 0===n?":":n)+e);return o.log=this.log,o}function i(e,t){let n=0,o=0,i=-1,s=0;for(;n<e.length;)if(o<t.length&&(t[o]===e[n]||"*"===t[o]))"*"===t[o]?(i=o,s=n,o++):(n++,o++);else{if(-1===i)return!1;o=i+1,s++,n=s}for(;o<t.length&&"*"===t[o];)o++;return o===t.length}return t.debug=t,t.default=t,t.coerce=function(e){return e instanceof Error?e.stack||e.message:e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(i(e,n))return!1;for(const n of t.names)if(i(e,n))return!0;return!1},t.humanize=n(6585),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t}},6585(e){var t=1e3,n=60*t,o=60*n,i=24*o,s=7*i;function r(e,t,n,o){var i=t>=1.5*n;return Math.round(e/n)+" "+o+(i?"s":"")}e.exports=function(e,a){a=a||{};var c,l,d=typeof e;if("string"===d&&e.length>0)return function(e){if(!((e=String(e)).length>100)){var r=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(r){var a=parseFloat(r[1]);switch((r[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*a;case"weeks":case"week":case"w":return a*s;case"days":case"day":case"d":return a*i;case"hours":case"hour":case"hrs":case"hr":case"h":return a*o;case"minutes":case"minute":case"mins":case"min":case"m":return a*n;case"seconds":case"second":case"secs":case"sec":case"s":return a*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return a;default:return}}}}(e);if("number"===d&&isFinite(e))return a.long?(c=e,(l=Math.abs(c))>=i?r(c,l,i,"day"):l>=o?r(c,l,o,"hour"):l>=n?r(c,l,n,"minute"):l>=t?r(c,l,t,"second"):c+" ms"):function(e){var s=Math.abs(e);return s>=i?Math.round(e/i)+"d":s>=o?Math.round(e/o)+"h":s>=n?Math.round(e/n)+"m":s>=t?Math.round(e/t)+"s":e+"ms"}(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))}},4973(e,t,n){"use strict";n.r(t),n.d(t,{init:()=>Be});var o=n(7833),i=n.n(o);let s=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[63&n[e]];return t};const r=e=>{if("object"==typeof e&&null!==e){if("function"==typeof Object.getPrototypeOf){const t=Object.getPrototypeOf(e);return t===Object.prototype||null===t}return"[object Object]"===Object.prototype.toString.call(e)}return!1},a=new Set(["__proto__","constructor","prototype","toString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString"]),c=(...e)=>e.reduce((e,t)=>{if(void 0===t)return e;if(Array.isArray(t))throw new TypeError("Arguments provided to ts-deepmerge must be objects, not arrays.");return Object.keys(t).forEach(n=>{a.has(n)||(Array.isArray(e[n])&&Array.isArray(t[n])?e[n]=c.options.mergeArrays?c.options.uniqueArrayItems?Array.from(new Set(e[n].concat(t[n]))):[...e[n],...t[n]]:t[n]:r(e[n])&&r(t[n])?e[n]=c(e[n],t[n]):!r(e[n])&&r(t[n])?e[n]=c(t[n],void 0):e[n]=void 0===t[n]?c.options.allowUndefinedOverrides?t[n]:e[n]:t[n])}),e},{}),l={allowUndefinedOverrides:!0,mergeArrays:!0,uniqueArrayItems:!0};c.options=l,c.withOptions=(e,...t)=>{c.options=Object.assign(Object.assign({},l),e);const n=c(...t);return c.options=l,n};const d="https://channels-ws.moveo.ai",u=(Object.freeze({"bab4875e-0411-4ae1-9e98-19ea236d369b":"nbg","0ffdaef8-4ce9-4188-9fdd-4644e5062cf2":"alpha","0e614713-2e6b-4af2-8e9e-21c2a4617981":"fiserv"}),"https://web.moveo.ai"),h="https://web.dev.moveo.ai",m=[1e3,2e3],p=()=>window.innerWidth<650||window.innerHeight<550&&window.innerWidth<1e3||(()=>{const{screen:e,matchMedia:t}=window;return!(!e||"function"!=typeof t)&&Math.min(e.width,e.height)<650&&t("(pointer: coarse)").matches})(),f=(e,t)=>{const n=t?.data?.type;if("string"!=typeof n||!n.startsWith(e))return null;const o=n.replace(e,""),i=t.data?.data;return{type:o,data:i}};var v,g=/bot|crawl|http|lighthouse|scan|search|spider/i;var y=function(e){return"string"==typeof(t=e)&&""!==t&&function(){if(v instanceof RegExp)return v;try{v=new RegExp(" daum[ /]| deusu/|(?:^|[^g])news(?!sapphire)|(?<! channel/|google/)google(?!(?:wv|app|/google| pixel))|(?<! cu)bots?(?:\\b|_)|(?<!cam)scan|(?<!lib)http|24x7|;\\s\\w+;$|@[a-z][\\w-]+\\.|\\(\\)|\\.com\\b|\\b\\w+\\.ai|\\bbw/|\\bdlc\\b|\\bort/|\\bperl\\b|\\btime/|\\||^[<\\(;]|^[\\w \\.\\-\\(?:\\):%]+(?:/v?\\d+(?:\\.\\d+)?(?:\\.\\d{1,10})*?)?(?:,|$)|^[\\w\\-]+/[\\w]+$|^[^ ]{50,}$|^\\d+\\b|^\\w*search\\b|^\\w+/[\\w\\(\\)]*$|^\\w+/\\d\\.\\d\\s\\([\\w@]+\\)$|^active|^ad muncher|^amaya|^apache/|^avsdevicesdk/|^azure|^biglotron|^blackbox exporter|^bot|^clamav[ /]|^claude-code/|^client/|^cobweb/|^custom|^ddg[_-]android|^discourse|^dispatch/\\d|^downcast/|^duckduckgo|^email|^exodusmovement|^facebook|^getright/|^gozilla/|^hobbit|^hotzonu|^hwcdn/|^igetter/|^jeode/|^jetty/|^jigsaw|^microsoft bits|^movabletype|^mozilla/\\d\\.\\d\\s[\\w\\.-]+$|^mozilla/\\d\\.\\d\\s\\((?:compatible;)?(?:\\s?[\\w\\d-.]+\\/\\d+\\.\\d+)?\\)$|^navermailapp|^netsurf|^offline|^openai/|^owler|^php|^postman|^ps_daily/|^python|^rank|^read|^reed|^remove\\.bg/|^rest|^rss|^snapchat|^sora |^space bison|^stape/|^svn|^swcd |^taringa|^thumbor/|^track|^w3c|^webbandit/|^webcopier|^wget|^whatsapp|^wordpress|^xenu link sleuth|^yahoo|^yandex|^zdm/\\d|^zoom marketplace/|abuse|advisor|agent\\b|analyzer|archive|ask jeeves/teoma|attracta|audit|bluecoat drtr|browsex|burpcollaborator|capture|catch|check\\b|checker|chrome-lighthouse|chromeframe|classifier|cloudflare|collapsify\\b|convertify|cookiehubverify/|crawl|cursor/|cypress/|dareboost|datanyze|dejaclick|detect|discovery|dmbrowser|download|exaleadcloudview|feed|fetcher|firephp|foregenix|functionize|grab|hardenize\\b|headless|hotjar|httrack|hubspot marketing grader|ibisbrowser|infrawatch|insight|inspect|iplabel|java(?!;)|library|linkcheck|linktiger|mail\\.ru/|manager|manus-user/|marketgoo/|measure|monitor\\b|neustar wpm|node\\b|nutch|offbyone|openvas|optimize|pageburst|pagespeed|parser|phantomjs|pingdom|playwright|powermarks|preview|productfinder|prospectingstudio|proxy|ptst[ /]\\d|radar|readable/|retriever|rexx;|rigor|rss\\b|scrape|securityheaders|selenium|server|silktide|sindup/|sogou|sparkler/|speedcurve|spider|splash|statuscake|supercleaner|synapse|synthetic|testlocally|tools|torrent|transcoder|upday/|url|validator|virtuoso|wappalyzer|watchtowr|webglance|webkit2png|whatcms/|xtate/","i")}catch(e){v=g}return v}().test(e);var t};const b=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)},w="object"==typeof globalThis&&globalThis&&globalThis.Object===Object&&globalThis;var C="object"==typeof self&&self&&self.Object===Object&&self;const x=w||C||Function("return this")(),E=function(){return x.Date.now()};var M=/\s/;var S=/^\s+/;const I=function(e){return e?e.slice(0,function(e){for(var t=e.length;t--&&M.test(e.charAt(t)););return t}(e)+1).replace(S,""):e},T=x.Symbol;var F=Object.prototype,k=F.hasOwnProperty,A=F.toString,L=T?T.toStringTag:void 0;var O=Object.prototype.toString;var H=T?T.toStringTag:void 0;const j=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":H&&H in Object(e)?function(e){var t=k.call(e,L),n=e[L];try{e[L]=void 0;var o=!0}catch(e){}var i=A.call(e);return o&&(t?e[L]=n:delete e[L]),i}(e):function(e){return O.call(e)}(e)};var P=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,$=/^0o[0-7]+$/i,z=parseInt;const _=function(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return null!=e&&"object"==typeof e}(e)&&"[object Symbol]"==j(e)}(e))return NaN;if(b(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=b(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=I(e);var n=R.test(e);return n||$.test(e)?z(e.slice(2),n?2:8):P.test(e)?NaN:+e};var B=Math.max,U=Math.min;const W=function(e,t,n){var o,i,s,r,a,c,l=0,d=!1,u=!1,h=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function m(t){var n=o,s=i;return o=i=void 0,l=t,r=e.apply(s,n)}function p(e){var n=e-c;return void 0===c||n>=t||n<0||u&&e-l>=s}function f(){var e=E();if(p(e))return v(e);a=setTimeout(f,function(e){var n=t-(e-c);return u?U(n,s-(e-l)):n}(e))}function v(e){return a=void 0,h&&o?m(e):(o=i=void 0,r)}function g(){var e=E(),n=p(e);if(o=arguments,i=this,c=e,n){if(void 0===a)return function(e){return l=e,a=setTimeout(f,t),d?m(e):r}(c);if(u)return clearTimeout(a),a=setTimeout(f,t),m(c)}return void 0===a&&(a=setTimeout(f,t)),r}return t=_(t)||0,b(n)&&(d=!!n.leading,s=(u="maxWait"in n)?B(_(n.maxWait)||0,t):s,h="trailing"in n?!!n.trailing:h),g.cancel=function(){void 0!==a&&clearTimeout(a),l=0,o=c=i=a=void 0},g.flush=function(){return void 0===a?r:v(E())},g},N=i()("moveo:safe-read"),q=(e,t)=>{try{return t()}catch(t){return void N("%s unreadable: %o",e,t)}},Q=(e,t)=>{q(e,()=>{t()})},D=e=>{if("string"==typeof e)return e.trim()||void 0},V=e=>{for(const t of Object.keys(e))void 0===e[t]&&delete e[t];return e},J=()=>window,Y=()=>q("QuantumMetric scripts",()=>Array.from(document.querySelectorAll('script[src*="quantummetric"]')))??[],G=()=>Y().length>0,Z=()=>q("QuantumMetricAPI.isOn",()=>{const e=J().QuantumMetricAPI;return"function"==typeof e?.isOn&&!0===e.isOn()})??!1,K=/\/qscripts\/quantum-([a-z0-9-]+)\.js/,X=()=>{if(Z())return q("QuantumMetric script src",()=>{for(const e of Y()){const t=e.getAttribute("src")?.match(K)?.[1];if(t)return t}})},ee=[{name:"quantum-metric",isReady:()=>Z(),isExpected:()=>G(),readIdentity:()=>({qm_subscription:X()??null,qm_user_id:Z()?q("QuantumMetricAPI.getUserID",()=>D(J().QuantumMetricAPI?.getUserID?.())):G()?null:void 0}),whenReady:e=>{let t,n=e;const o=()=>Q("quantum-metric ready callback",()=>{n?.()}),i=()=>{n&&(t=o,Q("QuantumMetricAPI.addEventListener('start')",()=>{J().QuantumMetricAPI?.addEventListener?.("start",o)}),Q("QuantumMetricAPI.addEventListener('stop')",()=>{J().QuantumMetricAPI?.addEventListener?.("stop",o)}),o())};return q("QuantumMetricAPI",()=>J().QuantumMetricAPI)?i():Q("QuantumMetricOnload",()=>{const e=J().QuantumMetricOnload;if(Array.isArray(e))e.push(i);else{if("function"==typeof e){const t=e;return void(J().QuantumMetricOnload=function(...e){return Q("QuantumMetricOnload (ours)",i),t.apply(this,e)})}J().QuantumMetricOnload=[i]}}),()=>{n=null,t&&(Q("QuantumMetricAPI.removeEventListener('start')",()=>{J().QuantumMetricAPI?.removeEventListener?.("start",t)}),Q("QuantumMetricAPI.removeEventListener('stop')",()=>{J().QuantumMetricAPI?.removeEventListener?.("stop",t)}),t=void 0)}}}],te=(e,t)=>q(`${e.name}.${t}`,()=>e[t]?.())??!1,ne=e=>q(`input[name="${e}"]`,()=>{const t=document.querySelectorAll(`input[name="${CSS.escape(e)}"]`);for(const e of t){const t=D(e.value);if(t)return t}}),oe="moveo_visitor_id",ie=e=>q(`document.cookie ${e}`,()=>{const t=`${e}=`,n=document.cookie.split(";").map(e=>e.trim()).find(e=>e.startsWith(t));return D(n?.slice(t.length))}),se=new RegExp("^[A-Za-z0-9_-]{43}$"),re=/^[0-9a-f-]{36}$/,ae=()=>{const{path:e,...t}=(e=>{const t={};for(const n of e)for(const[e,o]of Object.entries(n))void 0!==o&&""!==o&&void 0===t[e]&&(t[e]=o);return t})([V({qm_partner_id:ne("partnerId"),qm_client_id:ne("stdAppType"),qm_config_id:ne("selectedConfig"),qm_page_template:(n="template",q(`meta[name="${n}"]`,()=>D(document.querySelector(`meta[name="${CSS.escape(n)}"]`)?.content))),path:q("location.pathname",()=>D(window.location.pathname))}),...ee.map(e=>q(`${e.name}.readIdentity`,()=>e.readIdentity?.())??{})]);var n;const o=V(t),i=(()=>{const e=ie(oe);if(e&&(t=e,se.test(t)||re.test(t)))return e;var t;const n=q("nanoid",()=>s(43));return n?(Q("document.cookie write",()=>{document.cookie=`${oe}=${n}; path=/; max-age=34214400; SameSite=Lax; Secure`}),ie(oe)===n?n:void 0):void 0})(),r=i?{...o,user:{web_psid:i}}:o;return e?{...r,global:{client_path:e}}:r},ce="moveo:activity:locationchange",le=Symbol.for("moveo.activity.history"),de=[ce,"popstate","hashchange"],ue=[0,400];let he=!1;const me=()=>{he||(he=!0,Q("history patch",()=>{const e=window.history;e[le]||(["pushState","replaceState"].forEach(t=>{const n=e[t];e[t]=function(...e){const t=n.apply(this,e);return Q("location event",()=>{window.dispatchEvent(new Event(ce))}),t}}),e[le]=!0)}))},pe=e=>{me();const t=new Set,n=()=>{t.forEach(e=>window.clearTimeout(e)),t.clear(),ue.forEach(n=>{const o=window.setTimeout(()=>{t.delete(o),e()},n);t.add(o)})};return de.forEach(e=>window.addEventListener(e,n)),()=>{de.forEach(e=>window.removeEventListener(e,n)),t.forEach(e=>window.clearTimeout(e)),t.clear()}},fe=Array.from({length:21},(e,t)=>t/20),ve=(e,{onChange:t,onResolved:n},o=600,i=m)=>{const s=e.filter(e=>"string"==typeof e?.id&&!!e.id);if("undefined"==typeof IntersectionObserver)return n(s.map(e=>({id:e.id,matched:null,selectors:e.match?.length??0}))),{stop:()=>{}};const r=new Map,a=new Map,c=new Map;let l,d=null,u=!1,h=null,p=!1;const f=e=>{d=e,t(e)},v=new IntersectionObserver(e=>{e.forEach(e=>{const{width:t,height:n}=e.intersectionRect;a.set(e.target,e.isIntersecting?t*n:0)}),(()=>{let e=null,t=0,n=0;a.forEach((o,i)=>{const s=r.get(i)??null;s===d&&(n=Math.max(n,o)),o>t&&(e=s,t=o)}),(e=>{if(e!==d)return u?void(h?.id!==e&&(h&&clearTimeout(h.timer),h={id:e,timer:setTimeout(()=>{h=null,f(e)},o)})):(u=!0,void f(e));h&&(clearTimeout(h.timer),h=null)})(t<=0?null:null!==d&&n>=t?d:e)})()},{threshold:fe}),g=(e,t)=>{const o=e.filter(e=>{const t=(e=>{for(let t=0;t<e.length;t+=1){const n=e[t],o="string"==typeof n&&n.trim()?q("section selector",()=>document.querySelector(n)):null;if(o)return{element:o,index:t}}return null})(Array.isArray(e.match)?e.match:[]);if(!t)return!0;c.set(e.id,t.index);const n=(e=>{const t=q("section band",()=>e.closest("section, article, [data-moveo-section]"));if(!t||t===e)return e;const n=q("document height",()=>document.documentElement?.scrollHeight)??0,o=q("band height",()=>t.getBoundingClientRect().height)??0;return n>0&&o>.5*n?e:t})(t.element);return r.has(n)||(r.set(n,e.id),v.observe(n)),!1});o.length>0&&t<i.length?l=setTimeout(()=>{l=void 0,g(o,t+1)},i[t]):p||n(s.map(e=>({id:e.id,matched:c.get(e.id)??null,selectors:Array.isArray(e.match)?e.match.length:0})))};return g(s,0),{stop:()=>{p=!0,v.disconnect(),clearTimeout(l),h&&(clearTimeout(h.timer),h=null)}}},ge=i()("moveo:visible-band");var ye,be,we,Ce,xe;!function(e){e.Open="open",e.Resolved="closed",e.Expired="expired",e.Spam="spam",e.Trash="trash"}(ye||(ye={})),function(e){e.AnalyticsEvent="moveo-analytics-event",e.IframeLoaded="moveo-iframe-loaded",e.IframeError="moveo-iframe-error",e.WidgetLoaded="moveo-widget-loaded",e.WidgetError="moveo-widget-error",e.Opened="moveo-widget-opened",e.Closed="moveo-widget-closed",e.Resize="moveo-widget-resize",e.LocaleChanged="moveo-widget-locale-changed",e.SessionCreated="moveo-widget-session-created",e.SessionReconnected="moveo-widget-session-reconnected",e.SessionClosed="moveo-widget-session-closed",e.ConversationClosed="moveo-widget-conversation-closed",e.LinkClicked="moveo-widget-link-clicked",e.UserActivity="moveo-widget-user-activity",e.MemberLeave="moveo-widget-member-leave",e.ConversationUnreadMessages="moveo-conversation-unread-messages",e.ConversationNoUnreadMessages="moveo-conversation-no-unread-messages",e.UserWayInit="moveo-userway-init"}(be||(be={})),function(e){e.SetConfig="moveo-set-config",e.SetLocale="moveo-set-locale",e.SetCssVariables="moveo-set-css-variables",e.Open="moveo-open",e.Close="moveo-close",e.CloseConversation="moveo-close-conversation",e.SendMessage="moveo-send-message",e.ShowTeaserMessage="moveo-show-teaser-message",e.UpdateContext="moveo-update-context",e.UpdateHostContext="moveo-update-host-context",e.LoadSessionReplay="moveo-load-session-replay",e.HostScroll="moveo-host-scroll",e.HostLocation="moveo-host-location",e.HostSection="moveo-host-section",e.HostSectionsResolved="moveo-host-sections-resolved",e.WindowResize="moveo-resize",e.HostFrameBox="moveo-host-frame-box",e.SessionActivity="session-activity",e.UserWayDisabled="userway-disabled",e.UserWayEnabled="userway-enabled",e.LinkClicked="link-clicked"}(we||(we={})),function(e){e.Expired="expired",e.Survey="survey",e.Closing="closing",e.Resolved="closed",e.Inactivity="inactivity"}(Ce||(Ce={})),function(e){e.CloseButton="close-btn",e.EndSessionButton="end-btn",e.HeaderMenuButton="header-menu-btn",e.RestartButton="restart-btn",e.LauncherButton="launcher-btn",e.MessageInput="message-input",e.DisclaimerCheck="disclaimer-check",e.DisclaimerContainer="disclaimer-container",e.HeaderContainer="header-container",e.ImageButton="image-btn"}(xe||(xe={}));const Ee=["s2","s3","s4","s6","s7","s10","s12","s13","s14","s15","s16","s17","s19","s23"];class Me{constructor({config:e}){this.detectUserway=()=>{Ee.forEach(e=>{document.addEventListener(`userway:feature_enabled_${e}`,()=>{const t=localStorage.getItem(`userway-${e}`)??"";this.sendEventToIframe({type:we.UserWayEnabled,data:{eventType:e,value:t}})}),document.addEventListener(`userway:feature_disabled_${e}`,()=>{this.sendEventToIframe({type:we.UserWayDisabled,data:{eventType:e}})})})},this.initUserway=()=>{const e={...localStorage};Object.keys(e).forEach(t=>{const n=(e[t],e[t]);if(t.includes("userway-s")&&(!isNaN(parseInt(n))||"true"===n)){const e=t.split("-")[1];"0"===n?this.sendEventToIframe({type:we.UserWayDisabled,data:{eventType:e}}):this.sendEventToIframe({type:we.UserWayEnabled,data:{eventType:e,value:n}})}})},this.detectMobile=()=>{this.sendEventToIframe({type:we.WindowResize,data:{is_mobile:p(),width:window.innerWidth,height:window.innerHeight}}),this.sendFrameBox()},this.updateLastActivity=()=>{try{this.sendEventToIframe({type:we.SessionActivity,data:"active"})}catch(e){this.log("Failed to report page activity",e)}},this.sendHostContext=()=>{if(this.stopHostContext)try{const e=ae();if(0===Object.keys(e).length)return;const t=JSON.stringify(e);if(t===this.sentHostContext)return;this.sentHostContext=t,this.log("Host context:",e),this.updateHostContext(e)}catch(e){this.log("Failed to collect host context",e)}},this.sendSessionReplayHandoff=()=>{if(this.stopHostContext)try{const e=X();if(!e)return void(this.sentReplaySubscription=null);if(e===this.sentReplaySubscription)return;this.sentReplaySubscription=e,this.log("Session replay handoff:",e),this.sendEventToIframe({type:we.LoadSessionReplay,data:{vendor:"quantum-metric",subscription:e}})}catch(e){this.log("Failed to hand off the session replay subscription",e)}},this.trackHostContext=()=>{const e=(e=>{const t=[];ee.forEach(n=>{const o=q(`${n.name}.whenReady`,()=>n.whenReady?.(e));"function"==typeof o&&t.push(o)});const n=new Set(ee.filter(e=>te(e,"isExpected")&&!te(e,"isReady")));let o;if(n.size>0){let t=Math.ceil(20);o=window.setInterval(()=>{t-=1,n.forEach(t=>{te(t,"isReady")&&(n.delete(t),e())}),(0===n.size||t<=0)&&window.clearInterval(o)},500)}return()=>{window.clearInterval(o),t.forEach(e=>Q("provider unsubscribe",e)),t.length=0}})(()=>{this.sendHostContext(),this.sendSessionReplayHandoff()}),t=pe(this.sendHostContext);this.stopHostContext=()=>{e(),t()}},this.trackSections=()=>{this.sectionTracker?.stop(),this.sectionTracker=null,this.sectionReport=null,this.hostSection=null,this.sendHostSection();const e=(e=>{const t=(window.location.href??"").toLowerCase();return e?.find(e=>{const n=e?.url?.trim().toLowerCase();return!!n&&t.includes(n)})})(this.config.teaser?.pages);e?.sections?.length&&(this.sectionTracker=ve(e.sections,{onChange:e=>{this.hostSection=e,this.sendHostSection()},onResolved:t=>{this.sectionReport={page:{id:e.id??null,url:e.url},sections:t},this.sendSectionReport()}}))},this.sendFrameBox=()=>{requestAnimationFrame(()=>{if(!this.iframe)return;const{width:e,height:t}=this.iframe.getBoundingClientRect();e&&t&&(this.frameHeight=t,this.placeInVisibleBand(),this.sendEventToIframe({type:we.HostFrameBox,data:{width:e,height:t}}))})},this.placeInVisibleBand=()=>{const e=this.visibleBand;if(!this.iframe||!e||this.hostAlignedTop||"embed"===this.config.widget_position)return;if(this.iframe.classList.contains("full"))return void this.placeFullInBand(e);if(e.bottom>=window.innerHeight-1)return this.iframe.style.removeProperty("top"),this.iframe.style.removeProperty("bottom"),this.iframe.style.removeProperty("transition"),this.iframe.style.removeProperty("transform"),this.iframe.style.removeProperty("will-change"),void(this.placedTop=null);null==this.frameHeight&&(this.frameHeight=this.iframe.getBoundingClientRect().height);const t=Math.max(0,e.bottom-this.frameHeight);if(t!==this.placedTop){if(this.placedTop=t,e.exact)return this.iframe.style.top="0px",this.iframe.style.bottom="auto",this.iframe.style.willChange="transform",this.iframe.style.transition="none",void(this.iframe.style.transform=`translateY(${t}px)`);this.iframe.style.removeProperty("transform"),this.iframe.style.removeProperty("will-change"),this.iframe.style.transition="top 0.25s linear",this.iframe.style.top=`${t}px`,this.iframe.style.bottom="auto"}},this.placeFullInBand=e=>{e.top<=1&&e.bottom>=window.innerHeight-1?this.clearFullBandPin():(this.iframe.style.transition=e.exact?"":"top 0.25s linear, height 0.25s linear",this.iframe.style.setProperty("--moveo-full-top",`${e.top}px`),this.iframe.style.setProperty("--moveo-full-height",e.bottom-e.top+"px"))},this.clearFullBandPin=()=>{this.iframe.style.removeProperty("--moveo-full-top"),this.iframe.style.removeProperty("--moveo-full-height")},this.config=e,this.id=e.widgetId,this.isNested=!(q("window.top",()=>window===window.top)??1),this.initialized=!1,this.log=i()(`moveo:web-client:${this.id}`),this.iframe=this.createIframe(),this.stopHostContext=null,this.stopActivityTracking=null,this.scrollTracker=null,this.stopLocationTracking=null,this.sectionTracker=null,this.hostSection=null,this.sectionReport=null,this.appMounted=!1,this.sentHostContext=null,this.sentReplaySubscription=null,this.stopWindowListeners=null,this.widgetLoadedEvent=null,this.stopVisibleBand=null,this.visibleBand=null,this.hostAlignedTop=!1,this.frameHeight=null,this.placedTop=null}createIframe(){const e=document.createElement("iframe");return e.width="1px",e.height="1px",e.title="Moveo webchat",e.id=this.id,e.name=this.id,e.allow="geolocation; microphone; autoplay",e.style.border="0",e.classList.add("web-client-container"),"embed"===this.config.widget_position&&e.classList.add("embed"),e.setAttribute("src",(e=>{let t="";const n=document.querySelectorAll("script");n&&n.forEach(e=>{e.src?.includes(h)&&(t=h),e.src?.includes(u)&&(t=u),e.src?.match(/@moveo-ai\/web-client.*next/)&&(t="https://web-client.dev.moveo.ai")});const{origin:o}=window.location;return t||(t=o.match(/^https?:\/\/(localhost|127\.0\.0\.1|\[::1\])(:\d+)?$/)||o.match(/^https:\/\/([a-z0-9-]+\.)?web-7ii\.pages\.dev$/)||o.match(/web-client.*moveo-ai\.vercel\.app/)||o.match(/web.*moveo\.ai/)?o:u),`${t}?widgetId=${e}`})(this.id)),e}handleEvents(e,t){return n=>{const o=f(this.id,n);if(o)switch(o.type){case be.IframeLoaded:this.sendEventToIframe({type:we.SetConfig,data:this.config}),this.config.feature_flags?.fiserv_web_activity&&!this.stopHostContext&&this.trackHostContext(),this.sendHostContext(),this.sendSessionReplayHandoff();break;case be.SessionCreated:case be.SessionReconnected:this.sentHostContext=null,this.sendHostContext();break;case be.IframeError:return this.stopInstrumentation(),this.stopWindowListeners?.(),this.stopWindowListeners=null,t(o.data);case be.UserWayInit:this.initUserway(),this.detectUserway();break;case be.WidgetLoaded:setTimeout(()=>{this.detectMobile(),e(this)},0),this.sentHostContext=null,this.sentReplaySubscription=null,this.sendHostContext(),this.sendSessionReplayHandoff(),this.appMounted=!0,this.sectionTracker&&this.sendHostSection(),this.sendSectionReport(),this.widgetLoadedEvent={timestamp:(new Date).toISOString(),event:"widget_loaded",properties:{}};break;case be.WidgetError:this.notify(o);break;case be.Opened:(o.data.isFull||o.data.is_mobile||p())&&(this.iframe.classList.add("full"),this.placeInVisibleBand());break;case be.Closed:(o.data.isFull||p())&&(this.iframe.classList.remove("full"),this.clearFullBandPin(),this.frameHeight=null,this.placeInVisibleBand());break;case be.Resize:{this.iframe.style.width=o.data.width,this.iframe.style.height=o.data.height,this.iframe.style.left=o.data.left,null!=o.data.top&&(this.iframe.style.top=o.data.top,this.iframe.style.bottom="auto",this.hostAlignedTop=!0);const e=Number.parseFloat(o.data.height);Number.isFinite(e)&&e>0?(this.frameHeight=e,this.placeInVisibleBand()):this.frameHeight=null,this.sendFrameBox();break}default:this.log(`Unhandle event: ${o.type}`)}}}sendHostSection(){this.appMounted&&this.sendEventToIframe({type:we.HostSection,data:{id:this.hostSection}})}sendSectionReport(){this.appMounted&&this.sectionReport&&(this.sendEventToIframe({type:we.HostSectionsResolved,data:this.sectionReport}),this.sectionReport=null)}stopInstrumentation(){this.stopHostContext?.(),this.stopHostContext=null,this.stopActivityTracking?.(),this.stopActivityTracking=null,this.scrollTracker?.stop(),this.scrollTracker=null,this.stopLocationTracking?.(),this.stopLocationTracking=null,this.sectionTracker?.stop(),this.sectionTracker=null,this.stopVisibleBand?.(),this.stopVisibleBand=null,this.visibleBand=null}resolveEmbedElement(){const e=this.config?.element||null;if("string"!=typeof e)return e;const t=document.getElementById(e);if(!t)throw new Error(`Element with id: ${e} not found`);return t}init(){return new Promise((e,t)=>{if(y(navigator.userAgent))throw new Error(`Widget ${this.id} was not initialized because user-agent is a bot`);if(this.initialized)throw new Error(`Widget ${this.id} was already initialized`);let n;n="embed"===this.config.widget_position?this.resolveEmbedElement():window.document.querySelector("body");const o=this.handleEvents(e,t),i=W(this.detectMobile,100);if(window.addEventListener("message",o),window.addEventListener("resize",i),this.stopWindowListeners=()=>{window.removeEventListener("message",o),window.removeEventListener("resize",i)},n?.appendChild(this.iframe),this.stopActivityTracking=(e=>{const t=[],n=function(e,t,n){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return b(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),W(e,t,{leading:o,maxWait:t,trailing:i})}(e,3e3),o=(e,o)=>{window.addEventListener(e,n,o),t.push(()=>window.removeEventListener(e,n,o))},i={passive:!0};return o("load",i),o("mousemove",i),o("mousedown",i),o("touchstart",i),o("touchmove",i),o("click",i),o("keydown",i),o("scroll",{capture:!0,passive:!0}),()=>{t.forEach(e=>e()),t.length=0,n.cancel()}})(this.updateLastActivity),this.config.teaser&&(this.scrollTracker=(e=>{let t,n=!1;const o=()=>{n=!1,e(!1)},i=()=>{n||(n=!0,e(!0)),clearTimeout(t),t=setTimeout(o,1e3)},s={capture:!0,passive:!0};return window.addEventListener("scroll",i,s),{pulse:i,stop:()=>{window.removeEventListener("scroll",i,s),clearTimeout(t)}}})(e=>this.sendEventToIframe({type:we.HostScroll,data:{scrolling:e}}))),this.config.teaser?.pages?.length){const e=(s=this.config.teaser.pages,!!s?.some(e=>!!e?.sections?.length));this.stopLocationTracking=pe(()=>{this.sendEventToIframe({type:we.HostLocation,data:{href:window.location.href}}),e&&this.trackSections()}),e&&this.trackSections()}var s,r;this.isNested&&"embed"!==this.config.widget_position&&(this.stopVisibleBand=(r=e=>{const t=null!=e&&(this.visibleBand?.top!==e.top||this.visibleBand?.bottom!==e.bottom);this.visibleBand=e,this.placeInVisibleBand(),t&&this.scrollTracker?.pulse()},q("visible band",()=>(e=>{const t=(()=>{const e=[];try{let t=window;for(;t!==t.parent;){if(!t.frameElement)return null;t=t.parent,t.innerHeight,e.push(t)}}catch{return null}return e})();if(!t||0===t.length)return null;const n=()=>{let e=0,t=window.innerHeight,n=0,o=window;for(;o!==o.parent;){const i=o.frameElement;if(!i)return null;n+=i.getBoundingClientRect().top+i.clientTop,o=o.parent,e=Math.max(e,-n),t=Math.min(t,o.innerHeight-n)}return t>e?{top:e,bottom:t,exact:!0}:null};let o=null;const i=()=>{const t=q("ancestor geometry",n)??null;!t||o&&o.top===t.top&&o.bottom===t.bottom||(o=t,e(t))},s={capture:!0,passive:!0};for(const e of t)e.addEventListener("scroll",i,s),e.addEventListener("resize",i);return window.addEventListener("resize",i),i(),()=>{window.removeEventListener("resize",i);for(const e of t)try{e.removeEventListener("scroll",i,s),e.removeEventListener("resize",i)}catch{}}})(r))||(q("visible band ladder",()=>(e=>{const t=document.createElement("div");t.style.cssText="position:absolute;top:0;left:0;width:0;height:0;pointer-events:none";const n=document.createElement("div");n.dataset.bandProbe="";const o=()=>{const e=t.parentNode;e?.removeChild(t);const n=q("document height",()=>Math.max(document.documentElement.scrollHeight,window.innerHeight));return e?.appendChild(t),n&&n>0?n:null},i=new Set;let s=null,r=0,a=600,c=!1;const l=new IntersectionObserver(t=>{for(const e of t){const t=Number(e.target.dataset.y);e.isIntersecting?i.add(t):i.delete(t);const n=e.rootBounds?.height;n&&(a=n)}C(),(()=>{if(c)return;if(0===i.size)return;const t=q("scrollY",()=>window.scrollY)??0;let n=1/0,o=-1/0;for(const e of i)e<n&&(n=e),e>o&&(o=e);n=Math.max(0,n-t),o-=t,o<=n||s&&s.top===n&&s.bottom===o||(s={top:n,bottom:o,exact:!1},e(s))})()},{root:null,threshold:0});let d=null,u=null,h=0,m=null;const p=new IntersectionObserver(t=>{const n=(e=>{const t=e.intersectionRect,n=e.boundingClientRect;if(!e.isIntersecting||!t||!n)return null;const o=q("scrollY",()=>window.scrollY)??0,i=t.top-n.top-o,s=t.bottom-n.top-o;if(!Number.isFinite(i)||!Number.isFinite(s)||s<=i)return null;const r=performance.now(),a=Number.isFinite(e.time)&&r-e.time>-5&&r-e.time<200?e.time:r;return{top:Math.max(0,i),bottom:s,at:a}})(t[t.length-1]);if(!n)return;c||(c=!0,ge("browser clips the probe; exact bands from here on"));const o=u?.top===n.top&&u.bottom===n.bottom;return o&&null!==g?void 0:null!==g?(d=n,void(v=performance.now()+500)):void(o&&s?.exact&&s.top===n.top&&s.bottom===n.bottom||(u={t:n.at,top:n.top,bottom:n.bottom},h=0,m=n.bottom,s={top:n.top,bottom:n.bottom,exact:!0},e(s),C()))},{root:null,threshold:0}),f=()=>{p.unobserve(n),p.observe(n)};let v=0,g=null,y=0,b=0;const w=()=>{g=null,Q("visible band pump",()=>{const t=performance.now(),n=b?Math.min(50,t-b):16;if(b=t,null!==m&&(m+=h*n),d){y=0;const e=d;d=null,(e=>{const t=u;u={t:e.at,top:e.top,bottom:e.bottom};const n=t?e.at-t.t:0;if(!t||null===m||n<4||n>120)return m=e.bottom,void(h=0);let o=(e.bottom-t.bottom)/n;o=Math.max(h-.3*n,Math.min(h+.3*n,o)),h=0!==h&&Math.sign(o)!==Math.sign(h)||0===h?o:h+.4*(o-h),m+=.35*(e.bottom-m)})(e)}else if(y||(y=t),t-y>24/Math.max(.1,Math.abs(h))&&(h*=Math.exp(-n/50),Math.abs(h)<.02&&(h=0),0===h&&u&&null!==m&&(m+=(u.bottom-m)*(1-Math.exp(-n/40)),Math.abs(m-u.bottom)<.75&&(m=u.bottom))),u&&null!==m&&0!==h){const e=u.bottom+32*Math.sign(h);m=h>0?Math.min(m,e):Math.max(m,e)}if(null!==m&&u){const t=Math.max(-160,Math.min(160,8*h)),o=u.bottom-u.top;let i=m+t;if(s?.exact){const e=Math.abs(h)*n*1.75+6;i=Math.max(s.bottom-e,Math.min(s.bottom+e,i))}const r=(e=>{const t=Math.max(0,e.top+0);let n=e.bottom+0;const o=window.innerHeight-2;return e.bottom<=o&&n>o&&(n=o),n<=t?null:{top:t,bottom:n,exact:!0}})({top:Math.max(0,i-o),bottom:i});r&&((t,n)=>{s?.exact&&s.top===t&&s.bottom===n||(s={top:t,bottom:n,exact:!0},e(s))})(r.top,r.bottom)}t>=v||(f(),g=requestAnimationFrame(w))})},C=()=>{v=performance.now()+500,null===g&&"function"==typeof requestAnimationFrame&&(y=0,b=0,f(),g=requestAnimationFrame(w))},x=e=>{r=e;const o=((e,t)=>{const n=Math.max(16,Math.ceil(e/200)),o=Math.max(16,Math.floor(.5*t));return Math.max(Math.min(n,o),Math.ceil(e/2e3))})(r,a);t.replaceChildren(),i.clear(),n.style.cssText=`position:absolute;top:0;left:0;width:1px;height:${r}px;pointer-events:none`,t.appendChild(n);const s=e=>{const n=document.createElement("div");n.dataset.y=String(e),n.style.cssText=`position:absolute;top:${e}px;left:0;width:1px;height:1px`,t.appendChild(n)};let c=0;for(;c<r-1;c+=o)s(c);s(Math.max(0,r-1)),l.disconnect();for(const e of t.children)e!==n&&l.observe(e);p.disconnect(),p.observe(n)};let E=!1;const M=()=>{Q("visible band rebuild",()=>{const e=E?o():null;null!==e&&e!==r&&x(e)})},S=()=>{Q("visible band attach",()=>{(document.body??document.documentElement).appendChild(t),E=!0;const e=o();null!==e&&x(e)})};return document.body?S():document.addEventListener("DOMContentLoaded",S,{once:!0}),window.addEventListener("resize",M),()=>{null!==g&&"function"==typeof cancelAnimationFrame&&cancelAnimationFrame(g),g=null,v=0,d=null,u=null,h=0,m=null,b=0,window.removeEventListener("resize",M),document.removeEventListener("DOMContentLoaded",S),l.disconnect(),p.disconnect(),t.remove(),i.clear(),s=null}})(r))??(()=>{})))),this.initialized=!0,this.detectMobile()})}sendEventToIframe(e){this.iframe&&this.iframe.contentWindow?(this.log(`Event to iframe: ${e.type}`,e),e.type===we.SetConfig&&e.data?.element&&delete e.data.element,this.iframe.contentWindow.postMessage({...e,type:`${this.id}${e.type}`},"*")):this.log("Error: Cannot find iframe to send event")}notify(e){this.log(`notify ${e.type}:`,e)}notifyParent(e,t){window.addEventListener("message",n=>{const o=f(this.id,n);if(o&&(this.log(`Event from iframe: ${o.type}`,o),o.type===e)){if("data"in o&&"object"==typeof o.data&&null!==o.data&&"skipInstanceCallback"in o.data)return;t("data"in o?o.data:void 0)}})}openWindow(){this.sendEventToIframe({type:we.Open})}async destroy(){var e;this.closeConversation({hide:!0}),this.stopInstrumentation(),await(e=4e3,new Promise(t=>setTimeout(t,e)));const t=document.getElementById(this.id);t&&(t.remove(),this.initialized=!1),this.stopWindowListeners?.(),this.stopWindowListeners=null,this.sentHostContext=null,this.sentReplaySubscription=null,this.widgetLoadedEvent=null,this.appMounted=!1,this.hostSection=null,this.sectionReport=null}closeConversation({hide:e}){this.sendEventToIframe({type:we.CloseConversation,data:{hide:e}})}closeWindow(){this.sendEventToIframe({type:we.Close})}sendMessage(e){this.sendEventToIframe({type:we.SendMessage,data:e})}showTeaserMessage(e){this.sendEventToIframe({type:we.ShowTeaserMessage,data:e?{text:e}:void 0})}updateContext(e){this.sendEventToIframe({type:we.UpdateContext,data:e})}updateHostContext(e){this.sendEventToIframe({type:we.UpdateHostContext,data:e})}setCSSVariables(e){const t=e["--moveo-z-index"];void 0!==t&&this.iframe&&(t?this.iframe.style.setProperty("--moveo-z-index",t):this.iframe.style.removeProperty("--moveo-z-index")),this.sendEventToIframe({type:we.SetCssVariables,data:e})}setLocale(e){this.sendEventToIframe({type:we.SetLocale,data:e})}onSessionCreated(e){this.notifyParent(be.SessionCreated,e)}onSessionClosed(e){this.notifyParent(be.SessionClosed,e)}onConversationClosed(e){this.notifyParent(be.ConversationClosed,e)}onSessionReconnected(e){this.notifyParent(be.SessionReconnected,e)}onNoUnreadMessages(e){this.notifyParent(be.ConversationNoUnreadMessages,e)}onUnreadMessages(e){this.notifyParent(be.ConversationUnreadMessages,e)}onLinkClicked(e){this.notifyParent(be.LinkClicked,e)}onUserActivity(e){this.notifyParent(be.UserActivity,e)}onAnalyticsEvent(e){this.notifyParent(be.AnalyticsEvent,e),this.widgetLoadedEvent&&e(this.widgetLoadedEvent)}onWebchatOpened(e){this.notifyParent(be.Opened,e)}onWebchatClosed(e){this.notifyParent(be.Closed,e)}onMemberLeave(e){this.notifyParent(be.MemberLeave,e)}}var Se=n.cjs(function(e,t){var n=[];function o(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function i(e,t){for(var i={},r=[],a=0;a<e.length;a++){var c=e[a],l=t.base?c[0]+t.base:c[0],d=i[l]||0,u="".concat(l," ").concat(d);i[l]=d+1;var h=o(u),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==h)n[h].references++,n[h].updater(m);else{var p=s(m,t);t.byIndex=a,n.splice(a,0,{identifier:u,updater:p,references:1})}r.push(u)}return r}function s(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,t){var s=i(e=e||[],t=t||{});return function(e){e=e||[];for(var r=0;r<s.length;r++){var a=o(s[r]);n[a].references--}for(var c=i(e,t),l=0;l<s.length;l++){var d=o(s[l]);0===n[d].references&&(n[d].updater(),n.splice(d,1))}s=c}}}),Ie=n.n(Se),Te=n.cjs(function(e,t){e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var s=n.sourceMap;s&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(s))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}}),Fe=n.n(Te),ke=n.cjs(function(e,t){var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}}),Ae=n.n(ke),Le=n.cjs(function(e,t){e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}}),Oe=n.n(Le),He=n.cjs(function(e,t){e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}),je=n.n(He),Pe=n.cjs(function(e,t){e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}),Re=n.n(Pe),$e=n(1178),ze={};ze.styleTagTransform=Re(),ze.setAttributes=Oe(),ze.insert=Ae().bind(null,"head"),ze.domAPI=Fe(),ze.insertStyleElement=je(),Ie()($e.A,ze),$e.A&&$e.A.locals&&$e.A.locals;let _e=i()("moveo:web-client");const Be=async e=>{await new Promise(e=>{if("complete"===document.readyState)return e();window.addEventListener("load",()=>e())});const t=await(async e=>{const t=`moveo-${s(5)}`,n=window.location.href;if(_e=_e.extend(`:${t}`),!e?.integrationId)throw new Error("integrationId is required.\n Call MoveoAI.init({ integrationId: YOUR_INTEGRATION_HERE })");const o=await(async(e,t)=>{const n=t||d,o=await fetch(`${n}/v1/web/${e}`,{headers:{"Cache-Control":"no-cache"}}),i=await o.text();if(o.ok)return JSON.parse(i);throw new Error(`Error loading config from: ${n}/${e}`)})(e.integrationId,e.host);_e("Loaded integration configuration:",o);const{feature_flags:i,...r}=e;void 0!==i&&_e("feature_flags is server-owned; the caller value is ignored");const{teaser:a,...l}=r;return{...c({...o},l),...void 0!==a&&{teaser:a},clientUrl:n,widgetId:t}})(e);if(_e("Configuration:",t),"embed"===t.widget_position&&!t.element)throw new Error("element is not defined but required by embed widget");const n=new Me({config:t});_e("Initializing");const o=await n.init();return _e("Initialized"),o}}};const t={};function n(o){const i=t[o];if(void 0!==i)return i.exports;const s=t[o]={id:o,exports:{}};return e[o](s,s.exports,n),s.exports}return n.n=e=>{const t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{if(Array.isArray(t))for(var o=0;o<t.length;){var i=t[o++],s=t[o++];n.o(e,i)?0===s&&o++:0===s?Object.defineProperty(e,i,{enumerable:!0,value:t[o++]}):Object.defineProperty(e,i,{enumerable:!0,get:s})}else for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.cjs=e=>{const t={exports:{}};return e.call(t.exports,t,t.exports),t.exports},n.nc=void 0,n(4973)})());
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @moveo-ai/web-client v0.115.0
3
+ * @moveo-ai/web-client v0.115.1-true.1
4
4
  * Copyright (c) Moveo.ai (TM)
5
5
  *
6
6
  */
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * @moveo-ai/web-client v0.115.0
3
+ * @moveo-ai/web-client v0.115.1-true.1
4
4
  * Copyright (c) Moveo.ai (TM)
5
5
  *
6
6
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moveo-ai/web-client",
3
- "version": "0.115.0",
3
+ "version": "0.115.1-true.1",
4
4
  "description": "Client side library to load the moveo chat widget and connect it with your agent",
5
5
  "main": "dist/web-client.min.js",
6
6
  "types": "web-client.d.ts",
package/web-client.d.ts CHANGED
@@ -18,6 +18,7 @@ export type AnalyticsEventName =
18
18
  | 'close_opening_message_click'
19
19
  | 'teaser_quick_reply_clicked'
20
20
  | 'teaser_composer_submitted'
21
+ | 'section_not_found'
21
22
  | 'download_conversation_clicked'
22
23
  | 'restart_conversation_clicked'
23
24
  | 'session_start'
@@ -178,6 +179,31 @@ export type TeaserConfig =
178
179
  /** Launcher only. */
179
180
  | { variant: 'none' };
180
181
 
182
+ /**
183
+ * One `sections[]` entry: a teaser, plus the part of the page it belongs to.
184
+ *
185
+ * A section is chosen at runtime by what the visitor is looking at, not by its
186
+ * position in the list, so the order here is presentational. The loader walks
187
+ * `match` in order and observes the first selector that matches anything on
188
+ * the page; durability is decided when the list is authored, by putting the
189
+ * strongest anchor first and a positional fallback last.
190
+ */
191
+ export type TeaserSection = TeaserConfig & {
192
+ /**
193
+ * Authored, and stable across a reorder of the list — it names the section
194
+ * in analytics, so deriving it from the position would break the history
195
+ * whenever someone moved a row.
196
+ */
197
+ id: string;
198
+ /**
199
+ * CSS selectors, strongest first. The first that matches wins, and a
200
+ * selector matching several elements resolves to the first in document
201
+ * order. Nothing but a selector is ever tried: no heading text, no CMS
202
+ * awareness.
203
+ */
204
+ match: string[];
205
+ };
206
+
181
207
  /**
182
208
  * One `pages[]` entry: a teaser, plus the URL it belongs to.
183
209
  *
@@ -185,7 +211,16 @@ export type TeaserConfig =
185
211
  * host page's URL, compared case-insensitively. Nothing is escaped and nothing
186
212
  * is compiled, so a stray `.` or `(` cannot change what matches or throw.
187
213
  */
188
- export type TeaserPage = TeaserConfig & { url: string };
214
+ export type TeaserPage = TeaserConfig & {
215
+ url: string;
216
+ /** Authored name for the page, so analytics can refer to it by more than its URL hint. */
217
+ id?: string | null;
218
+ /**
219
+ * A different teaser per part of this page. The section with the largest
220
+ * visible share of the viewport wins; none in view falls back to this entry.
221
+ */
222
+ sections?: TeaserSection[] | null;
223
+ };
189
224
 
190
225
  /**
191
226
  * The `teaser` block: the teaser the visitor gets, and optionally a different