@perspective-ai/sdk 1.7.0 → 1.7.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.
@@ -1,4 +1,4 @@
1
- "use strict";var Perspective=(()=>{var je=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var zt=(e,r)=>{for(var t in r)je(e,t,{get:r[t],enumerable:!0})},Gt=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of jt(r))!Kt.call(e,o)&&o!==t&&je(e,o,{get:()=>r[o],enumerable:!(n=Vt(r,o))||n.enumerable});return e};var Yt=e=>Gt(je({},"__esModule",{value:!0}),e);var Nr={};zt(Nr,{autoInit:()=>Fe,configure:()=>ze,createChatBubble:()=>tt,createFloatBubble:()=>ke,createFullpage:()=>Be,createWidget:()=>_e,default:()=>Dr,destroy:()=>Bt,destroyAll:()=>$t,getConfig:()=>Ge,init:()=>ne,mount:()=>nt,openPopup:()=>De,openSlider:()=>Ne});var se="1.7.0",ve={RESIZE:1,THEME_SYNC:2,ANON_ID:4,SCROLLBAR_STYLES:8,EMBED_AUTH:16},ht=ve.RESIZE|ve.THEME_SYNC|ve.ANON_ID|ve.SCROLLBAR_STYLES|ve.EMBED_AUTH,Z={embed:"embed",embedType:"embed_type",theme:"theme"},D={primary:"brand.primary",secondary:"brand.secondary",bg:"brand.bg",text:"brand.text",darkPrimary:"brand.dark.primary",darkSecondary:"brand.dark.secondary",darkBg:"brand.dark.bg",darkText:"brand.dark.text"},Ke=new Set([...Object.values(Z),...Object.values(D)]),E={widget:"data-perspective-widget",popup:"data-perspective-popup",slider:"data-perspective-slider",float:"data-perspective-float",chat:"data-perspective-chat",fullpage:"data-perspective-fullpage",params:"data-perspective-params",brand:"data-perspective-brand",brandDark:"data-perspective-brand-dark",theme:"data-perspective-theme",noStyle:"data-perspective-no-style",autoOpen:"data-perspective-auto-open",showOnce:"data-perspective-show-once",disableClose:"data-perspective-disable-close",launcherIcon:"data-perspective-launcher-icon",launcherStyle:"data-perspective-launcher-style",launcherClass:"data-perspective-launcher-class",disableJsonLdAttribution:"data-perspective-disable-jsonld-attribution"},T={init:"perspective:init",ready:"perspective:ready",resize:"perspective:resize",submit:"perspective:submit",close:"perspective:close",error:"perspective:error",redirect:"perspective:redirect",anonId:"perspective:anon-id",injectStyles:"perspective:inject-styles",themeChange:"perspective:theme-change",authRequest:"perspective:auth-request",authSignout:"perspective:auth-signout",authComplete:"perspective:auth-complete",authCancelled:"perspective:auth-cancelled",popupAuthComplete:"perspective:popup-auth-complete",requestScrollbarStyles:"perspective:request-scrollbar-styles"},bt={SDK_OUTDATED:"SDK_OUTDATED",INVALID_RESEARCH:"INVALID_RESEARCH",UNKNOWN:"UNKNOWN"},vt={true:"true",false:"false"},I={dark:"dark",light:"light",system:"system"};var W={anonId:"perspective-anon-id",triggerShown:"perspective-trigger-shown",embedAuthToken:"perspective-embed-auth-token",embedState:"perspective-embed-state"};var Wt="https://getperspective.ai",we={};function ze(e){we={...we,...e}}function Ge(){return{...we}}function g(){return typeof window<"u"&&typeof document<"u"}function yt(e){try{return new URL(e).origin}catch{return e}}function M(e){if(e)return yt(e);if(we.host)return yt(we.host);if(g()){let r=wt();if(r)return r}return Wt}var ye=null;function wt(){if(ye!==null)return ye;if(!g())return null;let e=document.currentScript;if(e!=null&&e.src)try{return ye=new URL(e.src).origin,ye}catch{}return ye="",null}g()&&wt();var ie={primaryColor:"#7c3aed",textColor:"#ffffff",darkPrimaryColor:"#a78bfa",darkTextColor:"#ffffff"},qt=3e3,Ye=new Map,Re=new Map;function Jt(e,r){return`${M(r)}::${e}`}async function Et(e,r){let t=Jt(e,r);if(Ye.has(t))return Ye.get(t);if(Re.has(t))return Re.get(t);let n=(async()=>{try{let o=M(r),i=new AbortController,s=setTimeout(()=>i.abort(),qt),a=await fetch(`${o}/api/v1/embed/config/${e}`,{signal:i.signal});if(clearTimeout(s),!a.ok)return ie;let l=await a.json();return Ye.set(t,l),l}catch{return ie}finally{Re.delete(t)}})();return Re.set(t,n),n}function xt(e){let r=e.trim();if(r.startsWith("timeout:")){let t=parseInt(r.slice(8),10);if(isNaN(t)||t<0)throw new Error(`Invalid timeout delay: "${e}"`);return{type:"timeout",delay:t}}if(r==="timeout")return{type:"timeout",delay:5e3};if(r==="exit-intent")return{type:"exit-intent"};throw new Error(`Unknown trigger type: "${e}". Expected "timeout:<ms>" or "exit-intent".`)}function We(e,r){if(e.type==="timeout"){let n=setTimeout(r,e.delay);return()=>clearTimeout(n)}if(e.type==="exit-intent"){let n=o=>{o.clientY<=0&&(r(),document.removeEventListener("mouseleave",n))};return document.addEventListener("mouseleave",n),()=>document.removeEventListener("mouseleave",n)}let t=e;throw new Error(`Unknown trigger type: ${t.type}`)}function Ct(e){return`${W.triggerShown}:${e}`}function St(e){if(!e)return"session";let r=e.trim();return r==="visitor"?"visitor":r==="false"?!1:"session"}function qe(e,r){if(r===!1)return!0;try{return(r==="visitor"?localStorage:sessionStorage).getItem(Ct(e))===null}catch{return!0}}function Je(e,r){if(r!==!1)try{(r==="visitor"?localStorage:sessionStorage).setItem(Ct(e),"1")}catch{}}function R(...e){return e.map(r=>(r||"").split(" ")).flat().filter(Boolean).join(" ")}function O(e){return e&&e!==I.system?`perspective-${e}-theme`:void 0}function X(e){return e===I.dark?!0:e===I.light||!g()?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function kt(e){return X(e)?"dark":"light"}function Tt(e){let r=e.trim();if(!r)return;let t=r.startsWith("#")?r:`#${r}`;if(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t))return t;let n=t.slice(1).replace(/[^0-9a-fA-F]/g,"");if(n.length>=6)return`#${n.slice(0,6)}`;if(n.length>=3)return`#${n.slice(0,3)}`}function Qt(e){if(!e||typeof e!="string")return!1;if(e.startsWith("/")&&!e.startsWith("//")||e.startsWith("?")||e.startsWith("#"))return!0;try{let r=new URL(e,window.location.origin),t=r.protocol.toLowerCase(),n=r.hostname.toLowerCase();return t==="https:"||t==="http:"&&(n==="localhost"||n==="127.0.0.1")}catch{return!1}}function Zt(e){var r;try{let t=e.split(".");if(t.length!==3)return null;let n=t[1].replace(/-/g,"+").replace(/_/g,"/");return((r=JSON.parse(atob(n)).data)==null?void 0:r.expiresAt)??null}catch{return null}}function Ze(e){return`${W.embedAuthToken}:${e}`}function Xt(e){if(!g())return null;try{let r=Ze(e),t=localStorage.getItem(r);if(!t)return null;let n=Zt(t);return n&&n>Date.now()?t:(localStorage.removeItem(r),null)}catch{return null}}function er(e,r){if(g())try{localStorage.setItem(Ze(e),r)}catch{}}function tr(e){if(g())try{localStorage.removeItem(Ze(e))}catch{}}function rr(){if(!g())return"";try{let e=localStorage.getItem(W.anonId);return e||(e=crypto.randomUUID(),localStorage.setItem(W.anonId,e)),e}catch{return crypto.randomUUID()}}function nr(){if(!g())return{};let e={},r=new URLSearchParams(window.location.search);for(let[t,n]of r.entries())Ke.has(t)||(e[t]=n);return e}function or(e,r,t,n,o,i){let s=new URL(`${t}/interview/${e}`);if(s.searchParams.set(Z.embed,vt.true),s.searchParams.set(Z.embedType,r==="float"?"chat":r),g()){let p=window.matchMedia("(prefers-color-scheme: dark)").matches;i&&i!==I.system?s.searchParams.set(Z.theme,i):s.searchParams.set(Z.theme,p?I.dark:I.light)}else s.searchParams.set(Z.theme,i||I.light);let a=nr();for(let[p,u]of Object.entries(a))s.searchParams.set(p,u);let l=(p,u)=>{if(!u)return;let d=Tt(u);d&&s.searchParams.set(p,d)};if(o!=null&&o.light&&(l(D.primary,o.light.primary),l(D.secondary,o.light.secondary),l(D.bg,o.light.bg),l(D.text,o.light.text)),o!=null&&o.dark&&(l(D.darkPrimary,o.dark.primary),l(D.darkSecondary,o.dark.secondary),l(D.darkBg,o.dark.bg),l(D.darkText,o.dark.text)),n)for(let[p,u]of Object.entries(n))Ke.has(p)||s.searchParams.set(p,u);return s.toString()}var sr=new Set(["hideProgress","hideGreeting","hideBranding","enableFullScreen"]);function N(e){let r=e==null?void 0:e.appearance;if(!r)return;let t={};return r.hideProgress!==void 0&&(t.hideProgress=r.hideProgress?"true":"false"),r.hideGreeting!==void 0&&(t.hideGreeting=r.hideGreeting?"true":"false"),r.hideBranding!==void 0&&(t.hideBranding=r.hideBranding?"true":"false"),r.enableFullScreen!==void 0&&(t.enableFullScreen=r.enableFullScreen?"true":"false"),Object.keys(t).length>0?t:void 0}function B(e,r,t,n,o,i,s){if(!g())return{};let a=document.createElement("iframe");if(a.src=or(e,r,t,n,o,i),s&&Object.keys(s).length>0){let l=new URL(a.src);for(let[p,u]of Object.entries(s))sr.has(p)&&l.searchParams.set(p,u);a.src=l.toString()}return a.setAttribute("allow","microphone; camera"),a.setAttribute("allowfullscreen","true"),a.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation"),a.setAttribute("data-perspective","true"),a.setAttribute("title","Powered by Perspective AI concierge"),a.style.cssText="border:none;",a}function $(e,r,t,n,o){if(!g())return()=>{};let i=null,s=a=>{var l,p,u,d,m,b;if(a.origin===n&&a.source===t.contentWindow&&typeof((l=a.data)==null?void 0:l.type)=="string"&&a.data.type.startsWith("perspective:")&&a.data.researchId===e)switch(a.data.type){case T.ready:{Xe(t,n),ee(t,n,{type:T.anonId,anonId:rr()}),ee(t,n,{type:T.init,version:se,features:ht,researchId:e,hasCloseButton:(o==null?void 0:o.hasCloseButton)??!1});let c=Xt(e);c&&(ee(t,n,{type:T.authComplete,token:c,researchId:e}),(p=r.onAuth)==null||p.call(r,{researchId:e,token:c})),(u=r.onReady)==null||u.call(r);break}case T.resize:o!=null&&o.skipResize||(t.style.height=`${a.data.height}px`);break;case T.submit:(d=r.onSubmit)==null||d.call(r,{researchId:e});break;case T.close:(m=r.onClose)==null||m.call(r);break;case T.error:{let c=new Error(a.data.error);c.code=a.data.code||"UNKNOWN",c.code===bt.SDK_OUTDATED?console.error("[Perspective] SDK version outdated. Please update @perspective-ai/sdk to the latest version.",c.message):console.error("[Perspective] Embed error:",c.message),(b=r.onError)==null||b.call(r,c);break}case T.redirect:{let c=a.data.url;if(!Qt(c)){console.warn("[Perspective] Blocked unsafe redirect URL:",c);return}r.onNavigate?r.onNavigate(c):window.location.href=c;break}case T.authRequest:{let{authUrl:c}=a.data;if(!c||typeof c!="string")return;let f=new URL(n).origin;try{if(new URL(c).origin!==f){console.warn("[Perspective] Blocked auth URL with unexpected origin:",c);return}}catch{console.warn("[Perspective] Blocked malformed auth URL:",c);return}i==null||i();let v=`${c}&return_url=${encodeURIComponent(window.location.href)}`,C=500,k=700,H=(window.screen.width-C)/2+(window.screenLeft??window.screenX??0),L=(window.screen.height-k)/2+(window.screenTop??window.screenY??0),w=`width=${C},height=${k},top=${L},left=${H},menubar=no,toolbar=no,location=no,status=no,scrollbars=yes`,h=window.open(v,"perspective-auth",w)??window.open(v,"_blank"),Me=P=>{var Q;er(e,P),ee(t,n,{type:T.authComplete,token:P,researchId:e}),(Q=r.onAuth)==null||Q.call(r,{researchId:e,token:P})},me=()=>{clearInterval(Ve),window.removeEventListener("message",ue),i=null},ue=P=>{var He,Pe;if(P.source!==h||((He=P.data)==null?void 0:He.type)!==T.popupAuthComplete||P.origin!==f)return;let Q=(Pe=P.data)==null?void 0:Pe.token;Q&&Me(Q),me()};window.addEventListener("message",ue);let Ve=h?setInterval(()=>{h.closed&&(me(),ee(t,n,{type:T.authCancelled,researchId:e}))},500):void 0;i=me;break}case T.authSignout:{tr(e);try{let c=new URL(n).origin,f=window.open(`${c}/embed-auth/signout`,"perspective-signout","width=1,height=1,top=0,left=0");f&&setTimeout(()=>{try{f.close()}catch{}},3e3)}catch{}break}}};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s),i==null||i()}}function ee(e,r,t){var n;g()&&((n=e.contentWindow)==null||n.postMessage(t,r))}var Ee=new Map;function U(e,r){return Ee.set(e,r),()=>{Ee.delete(e),Ee.size===0&&dr()}}function ir(){if(!g())return"";let r=window.matchMedia("(prefers-color-scheme: dark)").matches?"hsl(217 33% 17%)":"hsl(240 6% 90%)";return`
1
+ "use strict";var Perspective=(()=>{var je=Object.defineProperty;var Vt=Object.getOwnPropertyDescriptor;var jt=Object.getOwnPropertyNames;var Kt=Object.prototype.hasOwnProperty;var zt=(e,r)=>{for(var t in r)je(e,t,{get:r[t],enumerable:!0})},Gt=(e,r,t,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of jt(r))!Kt.call(e,o)&&o!==t&&je(e,o,{get:()=>r[o],enumerable:!(n=Vt(r,o))||n.enumerable});return e};var Yt=e=>Gt(je({},"__esModule",{value:!0}),e);var Nr={};zt(Nr,{autoInit:()=>Fe,configure:()=>ze,createChatBubble:()=>tt,createFloatBubble:()=>ke,createFullpage:()=>Be,createWidget:()=>_e,default:()=>Dr,destroy:()=>Bt,destroyAll:()=>$t,getConfig:()=>Ge,init:()=>ne,mount:()=>nt,openPopup:()=>De,openSlider:()=>Ne});var se="1.7.1",ve={RESIZE:1,THEME_SYNC:2,ANON_ID:4,SCROLLBAR_STYLES:8,EMBED_AUTH:16},ht=ve.RESIZE|ve.THEME_SYNC|ve.ANON_ID|ve.SCROLLBAR_STYLES|ve.EMBED_AUTH,Z={embed:"embed",embedType:"embed_type",theme:"theme"},D={primary:"brand.primary",secondary:"brand.secondary",bg:"brand.bg",text:"brand.text",darkPrimary:"brand.dark.primary",darkSecondary:"brand.dark.secondary",darkBg:"brand.dark.bg",darkText:"brand.dark.text"},Ke=new Set([...Object.values(Z),...Object.values(D)]),w={widget:"data-perspective-widget",popup:"data-perspective-popup",slider:"data-perspective-slider",float:"data-perspective-float",chat:"data-perspective-chat",fullpage:"data-perspective-fullpage",params:"data-perspective-params",brand:"data-perspective-brand",brandDark:"data-perspective-brand-dark",theme:"data-perspective-theme",noStyle:"data-perspective-no-style",autoOpen:"data-perspective-auto-open",showOnce:"data-perspective-show-once",disableClose:"data-perspective-disable-close",launcherIcon:"data-perspective-launcher-icon",launcherStyle:"data-perspective-launcher-style",launcherClass:"data-perspective-launcher-class",disableJsonLdAttribution:"data-perspective-disable-jsonld-attribution"},T={init:"perspective:init",ready:"perspective:ready",resize:"perspective:resize",submit:"perspective:submit",close:"perspective:close",error:"perspective:error",redirect:"perspective:redirect",anonId:"perspective:anon-id",injectStyles:"perspective:inject-styles",themeChange:"perspective:theme-change",authRequest:"perspective:auth-request",authSignout:"perspective:auth-signout",authComplete:"perspective:auth-complete",authCancelled:"perspective:auth-cancelled",popupAuthComplete:"perspective:popup-auth-complete",requestScrollbarStyles:"perspective:request-scrollbar-styles"},bt={SDK_OUTDATED:"SDK_OUTDATED",INVALID_RESEARCH:"INVALID_RESEARCH",UNKNOWN:"UNKNOWN"},vt={true:"true",false:"false"},I={dark:"dark",light:"light",system:"system"};var W={anonId:"perspective-anon-id",triggerShown:"perspective-trigger-shown",embedAuthToken:"perspective-embed-auth-token",embedState:"perspective-embed-state"};var Wt="https://getperspective.ai",Ee={};function ze(e){Ee={...Ee,...e}}function Ge(){return{...Ee}}function g(){return typeof window<"u"&&typeof document<"u"}function yt(e){try{return new URL(e).origin}catch{return e}}function M(e){if(e)return yt(e);if(Ee.host)return yt(Ee.host);if(g()){let r=Et();if(r)return r}return Wt}var ye=null;function Et(){if(ye!==null)return ye;if(!g())return null;let e=document.currentScript;if(e!=null&&e.src)try{return ye=new URL(e.src).origin,ye}catch{}return ye="",null}g()&&Et();var ie={primaryColor:"#7c3aed",textColor:"#ffffff",darkPrimaryColor:"#a78bfa",darkTextColor:"#ffffff"},qt=3e3,Ye=new Map,Re=new Map;function Jt(e,r){return`${M(r)}::${e}`}async function wt(e,r){let t=Jt(e,r);if(Ye.has(t))return Ye.get(t);if(Re.has(t))return Re.get(t);let n=(async()=>{try{let o=M(r),i=new AbortController,s=setTimeout(()=>i.abort(),qt),a=await fetch(`${o}/api/v1/embed/config/${e}`,{signal:i.signal});if(clearTimeout(s),!a.ok)return ie;let l=await a.json();return Ye.set(t,l),l}catch{return ie}finally{Re.delete(t)}})();return Re.set(t,n),n}function xt(e){let r=e.trim();if(r.startsWith("timeout:")){let t=parseInt(r.slice(8),10);if(isNaN(t)||t<0)throw new Error(`Invalid timeout delay: "${e}"`);return{type:"timeout",delay:t}}if(r==="timeout")return{type:"timeout",delay:5e3};if(r==="exit-intent")return{type:"exit-intent"};throw new Error(`Unknown trigger type: "${e}". Expected "timeout:<ms>" or "exit-intent".`)}function We(e,r){if(e.type==="timeout"){let n=setTimeout(r,e.delay);return()=>clearTimeout(n)}if(e.type==="exit-intent"){let n=o=>{o.clientY<=0&&(r(),document.removeEventListener("mouseleave",n))};return document.addEventListener("mouseleave",n),()=>document.removeEventListener("mouseleave",n)}let t=e;throw new Error(`Unknown trigger type: ${t.type}`)}function Ct(e){return`${W.triggerShown}:${e}`}function St(e){if(!e)return"session";let r=e.trim();return r==="visitor"?"visitor":r==="false"?!1:"session"}function qe(e,r){if(r===!1)return!0;try{return(r==="visitor"?localStorage:sessionStorage).getItem(Ct(e))===null}catch{return!0}}function Je(e,r){if(r!==!1)try{(r==="visitor"?localStorage:sessionStorage).setItem(Ct(e),"1")}catch{}}function R(...e){return e.map(r=>(r||"").split(" ")).flat().filter(Boolean).join(" ")}function O(e){return e&&e!==I.system?`perspective-${e}-theme`:void 0}function X(e){return e===I.dark?!0:e===I.light||!g()?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function kt(e){return X(e)?"dark":"light"}function Tt(e){let r=e.trim();if(!r)return;let t=r.startsWith("#")?r:`#${r}`;if(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(t))return t;let n=t.slice(1).replace(/[^0-9a-fA-F]/g,"");if(n.length>=6)return`#${n.slice(0,6)}`;if(n.length>=3)return`#${n.slice(0,3)}`}function Qt(e){if(!e||typeof e!="string")return!1;if(e.startsWith("/")&&!e.startsWith("//")||e.startsWith("?")||e.startsWith("#"))return!0;try{let r=new URL(e,window.location.origin),t=r.protocol.toLowerCase(),n=r.hostname.toLowerCase();return t==="https:"||t==="http:"&&(n==="localhost"||n==="127.0.0.1")}catch{return!1}}function Zt(e){var r;try{let t=e.split(".");if(t.length!==3)return null;let n=t[1].replace(/-/g,"+").replace(/_/g,"/");return((r=JSON.parse(atob(n)).data)==null?void 0:r.expiresAt)??null}catch{return null}}function Ze(e){return`${W.embedAuthToken}:${e}`}function Xt(e){if(!g())return null;try{let r=Ze(e),t=localStorage.getItem(r);if(!t)return null;let n=Zt(t);return n&&n>Date.now()?t:(localStorage.removeItem(r),null)}catch{return null}}function er(e,r){if(g())try{localStorage.setItem(Ze(e),r)}catch{}}function tr(e){if(g())try{localStorage.removeItem(Ze(e))}catch{}}function rr(){if(!g())return"";try{let e=localStorage.getItem(W.anonId);return e||(e=crypto.randomUUID(),localStorage.setItem(W.anonId,e)),e}catch{return crypto.randomUUID()}}function nr(){if(!g())return{};let e={},r=new URLSearchParams(window.location.search);for(let[t,n]of r.entries())Ke.has(t)||(e[t]=n);return e}function or(e,r,t,n,o,i){let s=new URL(`${t}/interview/${e}`);if(s.searchParams.set(Z.embed,vt.true),s.searchParams.set(Z.embedType,r==="float"?"chat":r),g()){let p=window.matchMedia("(prefers-color-scheme: dark)").matches;i&&i!==I.system?s.searchParams.set(Z.theme,i):s.searchParams.set(Z.theme,p?I.dark:I.light)}else s.searchParams.set(Z.theme,i||I.light);let a=nr();for(let[p,u]of Object.entries(a))s.searchParams.set(p,u);let l=(p,u)=>{if(!u)return;let d=Tt(u);d&&s.searchParams.set(p,d)};if(o!=null&&o.light&&(l(D.primary,o.light.primary),l(D.secondary,o.light.secondary),l(D.bg,o.light.bg),l(D.text,o.light.text)),o!=null&&o.dark&&(l(D.darkPrimary,o.dark.primary),l(D.darkSecondary,o.dark.secondary),l(D.darkBg,o.dark.bg),l(D.darkText,o.dark.text)),n)for(let[p,u]of Object.entries(n))Ke.has(p)||s.searchParams.set(p,u);return s.toString()}var sr=new Set(["hideProgress","hideGreeting","hideBranding","enableFullScreen"]);function N(e){let r=e==null?void 0:e.appearance;if(!r)return;let t={};return r.hideProgress!==void 0&&(t.hideProgress=r.hideProgress?"true":"false"),r.hideGreeting!==void 0&&(t.hideGreeting=r.hideGreeting?"true":"false"),r.hideBranding!==void 0&&(t.hideBranding=r.hideBranding?"true":"false"),r.enableFullScreen!==void 0&&(t.enableFullScreen=r.enableFullScreen?"true":"false"),Object.keys(t).length>0?t:void 0}function B(e,r,t,n,o,i,s){if(!g())return{};let a=document.createElement("iframe");if(a.src=or(e,r,t,n,o,i),s&&Object.keys(s).length>0){let l=new URL(a.src);for(let[p,u]of Object.entries(s))sr.has(p)&&l.searchParams.set(p,u);a.src=l.toString()}return a.setAttribute("allow","microphone; camera"),a.setAttribute("allowfullscreen","true"),a.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation"),a.setAttribute("data-perspective","true"),a.setAttribute("title","Powered by Perspective AI concierge"),a.style.cssText="border:none;",a}function $(e,r,t,n,o){if(!g())return()=>{};let i=null,s=a=>{var l,p,u,d,m,b;if(a.origin===n&&a.source===t.contentWindow&&typeof((l=a.data)==null?void 0:l.type)=="string"&&a.data.type.startsWith("perspective:")&&a.data.researchId===e)switch(a.data.type){case T.ready:{Xe(t,n),ee(t,n,{type:T.anonId,anonId:rr()}),ee(t,n,{type:T.init,version:se,features:ht,researchId:e,hasCloseButton:(o==null?void 0:o.hasCloseButton)??!1});let c=Xt(e);c&&(ee(t,n,{type:T.authComplete,token:c,researchId:e}),(p=r.onAuth)==null||p.call(r,{researchId:e,token:c})),(u=r.onReady)==null||u.call(r);break}case T.resize:o!=null&&o.skipResize||(t.style.height=`${a.data.height}px`);break;case T.submit:(d=r.onSubmit)==null||d.call(r,{researchId:e});break;case T.close:(m=r.onClose)==null||m.call(r);break;case T.error:{let c=new Error(a.data.error);c.code=a.data.code||"UNKNOWN",c.code===bt.SDK_OUTDATED?console.error("[Perspective] SDK version outdated. Please update @perspective-ai/sdk to the latest version.",c.message):console.error("[Perspective] Embed error:",c.message),(b=r.onError)==null||b.call(r,c);break}case T.redirect:{let c=a.data.url;if(!Qt(c)){console.warn("[Perspective] Blocked unsafe redirect URL:",c);return}r.onNavigate?r.onNavigate(c):window.location.href=c;break}case T.authRequest:{let{authUrl:c}=a.data;if(!c||typeof c!="string")return;let f=new URL(n).origin;try{if(new URL(c).origin!==f){console.warn("[Perspective] Blocked auth URL with unexpected origin:",c);return}}catch{console.warn("[Perspective] Blocked malformed auth URL:",c);return}i==null||i();let v=`${c}&return_url=${encodeURIComponent(window.location.href)}`,C=500,k=700,H=(window.screen.width-C)/2+(window.screenLeft??window.screenX??0),L=(window.screen.height-k)/2+(window.screenTop??window.screenY??0),E=`width=${C},height=${k},top=${L},left=${H},menubar=no,toolbar=no,location=no,status=no,scrollbars=yes`,h=window.open(v,"perspective-auth",E)??window.open(v,"_blank"),Me=P=>{var Q;er(e,P),ee(t,n,{type:T.authComplete,token:P,researchId:e}),(Q=r.onAuth)==null||Q.call(r,{researchId:e,token:P})},me=()=>{clearInterval(Ve),window.removeEventListener("message",ue),i=null},ue=P=>{var He,Pe;if(P.source!==h||((He=P.data)==null?void 0:He.type)!==T.popupAuthComplete||P.origin!==f)return;let Q=(Pe=P.data)==null?void 0:Pe.token;Q&&Me(Q),me()};window.addEventListener("message",ue);let Ve=h?setInterval(()=>{h.closed&&(me(),ee(t,n,{type:T.authCancelled,researchId:e}))},500):void 0;i=me;break}case T.authSignout:{tr(e);try{let c=new URL(n).origin,f=window.open(`${c}/embed-auth/signout`,"perspective-signout","width=1,height=1,top=0,left=0");f&&setTimeout(()=>{try{f.close()}catch{}},3e3)}catch{}break}}};return window.addEventListener("message",s),()=>{window.removeEventListener("message",s),i==null||i()}}function ee(e,r,t){var n;g()&&((n=e.contentWindow)==null||n.postMessage(t,r))}var we=new Map;function U(e,r){return we.set(e,r),()=>{we.delete(e),we.size===0&&dr()}}function ir(){if(!g())return"";let r=window.matchMedia("(prefers-color-scheme: dark)").matches?"hsl(217 33% 17%)":"hsl(240 6% 90%)";return`
2
2
  * {
3
3
  scrollbar-width: thin;
4
4
  scrollbar-color: ${r} transparent;
@@ -19,7 +19,7 @@
19
19
  *::-webkit-scrollbar-thumb:hover {
20
20
  background-color: color-mix(in srgb, ${r} 80%, currentColor);
21
21
  }
22
- `}function Xe(e,r){let t=ir();ee(e,r,{type:T.injectStyles,styles:t})}function ar(){if(!g())return;let e=window.matchMedia("(prefers-color-scheme: dark)").matches;Ee.forEach((r,t)=>{let n={type:T.themeChange,theme:e?I.dark:I.light};ee(t,r,n),Xe(t,r)})}var ae=null,xe=null,le=null,Qe=!1;function lr(){ae||!g()||(xe=window.matchMedia("(prefers-color-scheme: dark)"),ae=()=>ar(),xe.addEventListener("change",ae))}function pr(){ae&&xe&&(xe.removeEventListener("change",ae),ae=null,xe=null)}function cr(){!g()||le||(lr(),le=e=>{var r,t;if((t=(r=e.data)==null?void 0:r.type)!=null&&t.startsWith("perspective:")&&e.data.type===T.requestScrollbarStyles){let o=Array.from(document.querySelectorAll("iframe[data-perspective]")).find(i=>i.contentWindow===e.source);if(o){let i=Ee.get(o);i&&e.origin===i&&Xe(o,i)}}},window.addEventListener("message",le))}function dr(){le&&(window.removeEventListener("message",le),le=null),pr(),Qe=!1}function F(){Qe||(Qe=!0,cr())}var At={light:{bg:"#ffffff",shimmer:"rgba(0, 0, 0, 0.06)",shimmerHighlight:"rgba(0, 0, 0, 0.10)",border:"rgba(0, 0, 0, 0.08)"},dark:{bg:"#02040a",shimmer:"rgba(255, 255, 255, 0.08)",shimmerHighlight:"rgba(255, 255, 255, 0.13)",border:"rgba(255, 255, 255, 0.08)"}};function mr(e){var i,s;let t=kt(e==null?void 0:e.theme)==="dark",n=t?(i=e==null?void 0:e.brand)==null?void 0:i.dark:(s=e==null?void 0:e.brand)==null?void 0:s.light,o=t?At.dark:At.light;return{bg:(n==null?void 0:n.bg)||o.bg,shimmer:o.shimmer,shimmerHighlight:o.shimmerHighlight,border:o.border}}var Lt=!1;function ur(){if(Lt||!g())return;Lt=!0;let e=document.createElement("style");e.id="perspective-shimmer-keyframes",e.textContent=`
22
+ `}function Xe(e,r){let t=ir();ee(e,r,{type:T.injectStyles,styles:t})}function ar(){if(!g())return;let e=window.matchMedia("(prefers-color-scheme: dark)").matches;we.forEach((r,t)=>{let n={type:T.themeChange,theme:e?I.dark:I.light};ee(t,r,n),Xe(t,r)})}var ae=null,xe=null,le=null,Qe=!1;function lr(){ae||!g()||(xe=window.matchMedia("(prefers-color-scheme: dark)"),ae=()=>ar(),xe.addEventListener("change",ae))}function pr(){ae&&xe&&(xe.removeEventListener("change",ae),ae=null,xe=null)}function cr(){!g()||le||(lr(),le=e=>{var r,t;if((t=(r=e.data)==null?void 0:r.type)!=null&&t.startsWith("perspective:")&&e.data.type===T.requestScrollbarStyles){let o=Array.from(document.querySelectorAll("iframe[data-perspective]")).find(i=>i.contentWindow===e.source);if(o){let i=we.get(o);i&&e.origin===i&&Xe(o,i)}}},window.addEventListener("message",le))}function dr(){le&&(window.removeEventListener("message",le),le=null),pr(),Qe=!1}function F(){Qe||(Qe=!0,cr())}var At={light:{bg:"#ffffff",shimmer:"rgba(0, 0, 0, 0.06)",shimmerHighlight:"rgba(0, 0, 0, 0.10)",border:"rgba(0, 0, 0, 0.08)"},dark:{bg:"#02040a",shimmer:"rgba(255, 255, 255, 0.08)",shimmerHighlight:"rgba(255, 255, 255, 0.13)",border:"rgba(255, 255, 255, 0.08)"}};function mr(e){var i,s;let t=kt(e==null?void 0:e.theme)==="dark",n=t?(i=e==null?void 0:e.brand)==null?void 0:i.dark:(s=e==null?void 0:e.brand)==null?void 0:s.light,o=t?At.dark:At.light;return{bg:(n==null?void 0:n.bg)||o.bg,shimmer:o.shimmer,shimmerHighlight:o.shimmerHighlight,border:o.border}}var Lt=!1;function ur(){if(Lt||!g())return;Lt=!0;let e=document.createElement("style");e.id="perspective-shimmer-keyframes",e.textContent=`
23
23
  @keyframes perspective-shimmer {
24
24
  0% { background-position: -400px 0; }
25
25
  100% { background-position: 400px 0; }
@@ -461,5 +461,5 @@
461
461
  <path d="M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1"/>
462
462
  </svg>`;var te=`<svg xmlns="http://www.w3.org/2000/svg" class="lucide-x" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
463
463
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
464
- </svg>`;var re="https://getperspective.ai",gr={"@context":"https://schema.org","@graph":[{"@type":"SoftwareApplication","@id":`${re}/#widget`,name:"Perspective AI",description:"AI-powered customer research interview widget",url:re,applicationCategory:"BusinessApplication",softwareVersion:se,provider:{"@id":`${re}/#organization`},aggregateRating:{"@type":"AggregateRating",ratingValue:"5",bestRating:"5",worstRating:"1",ratingCount:7,reviewCount:7}},{"@type":"Organization","@id":`${re}/#organization`,name:"Perspective AI",url:re}]};function hr(){if(!g()||document.querySelector("script[data-perspective-jsonld]"))return;let e=document.createElement("script");e.type="application/ld+json",e.setAttribute("data-perspective-jsonld",""),e.textContent=JSON.stringify(gr),document.body.appendChild(e)}function et(){g()&&(window.PerspectiveAI||(window.PerspectiveAI=Object.freeze({version:se,provider:"Perspective AI",url:re})))}function j(e,r,t){g()&&(e.setAttribute("data-perspective-version",se),e.setAttribute("data-perspective-type",r),e.parentNode&&e.parentNode.insertBefore(document.createComment(` Powered by Perspective AI \u2014 ${re} `),e),t!=null&&t.disableJsonLdAttribution||hr(),et())}var Oe=new WeakMap;function br(e,r){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:r,iframe:null,container:null}}function vr(e,r){let t=e.querySelector(".perspective-embed-root"),n=e.querySelector("iframe[data-perspective]"),o=!1,i=()=>{if(!o){if(o=!0,n){let s=Oe.get(n);s&&(s.cleanup(),s.unregister(),Oe.delete(n))}t==null||t.remove()}};return{unmount:i,update:()=>{},destroy:i,researchId:r,type:"widget",iframe:n,container:e}}function _e(e,r){var b,c,f;let{researchId:t}=r;if(!g()||!e)return br(t,"widget");if(e.querySelector("iframe[data-perspective]"))return vr(e,t);let n=M(r.host);V(),F();let o=document.createElement("div");o.className=R("perspective-embed-root",O(r.theme)),o.style.cssText="position:relative;width:100%;height:100%;min-height:500px;";let i=_({theme:r.theme,brand:r.brand,appearance:(c=(b=r._apiConfig)==null?void 0:b.embedSettings)==null?void 0:c.appearance});o.appendChild(i);let s=N((f=r._apiConfig)==null?void 0:f.embedSettings),a=B(t,"widget",n,r.params,r.brand,r.theme,s);a.style.width="100%",a.style.height="100%",a.style.minHeight="500px",a.style.opacity="0",a.style.transition="opacity 0.3s ease",o.appendChild(a),e.appendChild(o),j(o,"widget",r);let l={...r},p=$(t,{get onReady(){return()=>{var v;i.style.opacity="0",a.style.opacity="1",setTimeout(()=>i.remove(),300),(v=l.onReady)==null||v.call(l)}},get onSubmit(){return l.onSubmit},get onNavigate(){return l.onNavigate},get onClose(){return l.onClose},get onError(){return l.onError}},a,n,{skipResize:!0}),u=U(a,n);Oe.set(a,{cleanup:p,unregister:u,wrapper:o});let d=!1,m=()=>{d||(d=!0,p(),u(),Oe.delete(a),o.remove())};return{unmount:m,update:v=>{l={...l,...v}},destroy:m,researchId:t,type:"widget",iframe:a,container:e}}function Rt({researchId:e,type:r,host:t}){return`${W.embedState}:${M(t)}:${r}:${e}`}function Ce(e){if(!g())return null;try{let r=sessionStorage.getItem(Rt(e));if(!r)return null;let t=JSON.parse(r);return typeof t.open=="boolean"?t.open:null}catch{return null}}function pe(e){if(g())try{let r={v:1,open:e.open};sessionStorage.setItem(Rt(e),JSON.stringify(r))}catch{}}function yr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"popup",iframe:null,container:null}}function De(e){var k,H,L;let{researchId:r}=e;if(!g())return yr(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-overlay perspective-embed-root",O(e.theme));let o=document.createElement("div");o.className="perspective-modal";let i=document.createElement("button");i.className="perspective-close",i.innerHTML=te,i.setAttribute("aria-label","Close"),e.disableClose&&(i.style.display="none");let s=_({theme:e.theme,brand:e.brand,appearance:(H=(k=e._apiConfig)==null?void 0:k.embedSettings)==null?void 0:H.appearance});s.style.borderRadius="16px";let a=N((L=e._apiConfig)==null?void 0:L.embedSettings),l=B(r,"popup",t,e.params,e.brand,e.theme,a);l.style.opacity="0",l.style.transition="opacity 0.3s ease",o.appendChild(i),o.appendChild(s),o.appendChild(l),n.appendChild(o),document.body.appendChild(n),j(n,"popup",e);let p={...e},u=!0,d=null,m=w=>{pe({researchId:r,type:"popup",host:e.host,open:w})},b=U(l,t);m(!0);let c=()=>{var w;u&&(u=!1,d==null||d(),b(),n.remove(),document.removeEventListener("keydown",C),(w=p.onClose)==null||w.call(p))},f=()=>{m(!1),c()},v=()=>{c()};d=$(r,{get onReady(){return()=>{var w;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(w=p.onReady)==null||w.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return f},get onError(){return p.onError}},l,t,{skipResize:!0,hasCloseButton:!e.disableClose});let C=w=>{w.key==="Escape"&&f()};return e.disableClose||(i.addEventListener("click",f),n.addEventListener("click",w=>{w.target===n&&f()}),document.addEventListener("keydown",C)),{unmount:v,update:w=>{p={...p,...w}},destroy:f,researchId:r,type:"popup",iframe:l,container:n}}function wr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"slider",iframe:null,container:null}}function Ne(e){var k,H,L;let{researchId:r}=e;if(!g())return wr(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-slider-backdrop perspective-embed-root",O(e.theme));let o=document.createElement("div");o.className=R("perspective-slider perspective-embed-root",O(e.theme));let i=document.createElement("button");i.className="perspective-close",i.innerHTML=te,i.setAttribute("aria-label","Close"),e.disableClose&&(i.style.display="none");let s=_({theme:e.theme,brand:e.brand,appearance:(H=(k=e._apiConfig)==null?void 0:k.embedSettings)==null?void 0:H.appearance}),a=N((L=e._apiConfig)==null?void 0:L.embedSettings),l=B(r,"slider",t,e.params,e.brand,e.theme,a);l.style.opacity="0",l.style.transition="opacity 0.3s ease",o.appendChild(i),o.appendChild(s),o.appendChild(l),document.body.appendChild(n),document.body.appendChild(o),j(o,"slider",e);let p={...e},u=!0,d=null,m=w=>{pe({researchId:r,type:"slider",host:e.host,open:w})},b=U(l,t);m(!0);let c=()=>{var w;u&&(u=!1,d==null||d(),b(),o.remove(),n.remove(),document.removeEventListener("keydown",C),(w=p.onClose)==null||w.call(p))},f=()=>{m(!1),c()},v=()=>{c()};d=$(r,{get onReady(){return()=>{var w;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(w=p.onReady)==null||w.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return f},get onError(){return p.onError}},l,t,{skipResize:!0,hasCloseButton:!e.disableClose});let C=w=>{w.key==="Escape"&&f()};return e.disableClose||(i.addEventListener("click",f),n.addEventListener("click",f),document.addEventListener("keydown",C)),{unmount:v,update:w=>{p={...p,...w}},destroy:f,researchId:r,type:"slider",iframe:l,container:o}}function Ot(e,r){if(!r)return e;let t=e.launcher??{};return{...e,launcher:{...t,...r,style:{...t.style,...r.style}}}}var Er=2e3,xr=3e3,Cr=40,Sr="Have a question? I'm here to help.";function kr(e){let r=Array.isArray(e)?e:e?[e]:[],t=r.includes("VOICE"),n=r.includes("TEXT");return t&&n?"both":n?"text":"voice"}function Tr(e){var r,t;return e.channel??((r=e._apiConfig)==null?void 0:r.allowedChannels)??((t=e._apiConfig)==null?void 0:t.channel)??void 0}function Ar(e){var n;let r=e.welcomeMessage??((n=e._apiConfig)==null?void 0:n.welcomeMessage),t=typeof r=="string"?r.trim():"";return t.length>0?t:Sr}function Lr(e){return kr(Tr(e))==="text"?Pt:Ht}function _t(e,r){let t=document.createElement("img");return t.src=e,t.alt="",t.style.width="100%",t.style.height="100%",t.style.objectFit="cover",t.style.borderRadius="inherit",t.onerror=()=>{let n=t.parentElement;n&&(t.remove(),n.innerHTML=r)},t}function Se(e,r){var o,i;let t=((o=r.launcher)==null?void 0:o.icon)??"default",n=Lr(r);if(t==="default"){e.innerHTML=n;return}if(t==="avatar"){let s=(i=r._apiConfig)==null?void 0:i.avatarUrl;s?(e.innerHTML="",e.appendChild(_t(s,n))):e.innerHTML=n;return}if(typeof t=="object"&&t!==null){if("url"in t){e.innerHTML="",e.appendChild(_t(t.url,n));return}if("svg"in t){e.innerHTML=t.svg;return}}e.innerHTML=n}function Ir(e){let r=e.currentTime,t=e.createOscillator(),n=e.createGain();t.type="sine",t.frequency.setValueAtTime(880,r),t.frequency.setValueAtTime(1175,r+.1),n.gain.setValueAtTime(.15,r),n.gain.linearRampToValueAtTime(.18,r+.1),n.gain.exponentialRampToValueAtTime(.001,r+.6),t.connect(n).connect(e.destination),t.start(r),t.stop(r+.65);let o=e.createOscillator(),i=e.createGain();o.type="sine",o.frequency.setValueAtTime(1175,r+.15),o.frequency.setValueAtTime(1400,r+.25),i.gain.setValueAtTime(0,r),i.gain.setValueAtTime(.12,r+.15),i.gain.exponentialRampToValueAtTime(.001,r+.55),o.connect(i).connect(e.destination),o.start(r+.15),o.stop(r+.6)}function Mr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},open:()=>{},close:()=>{},toggle:()=>{},isOpen:!1,researchId:e,type:"float",iframe:null,container:null}}function ke(e){var it,at,lt,pt,ct,dt;let{researchId:r,_apiConfig:t,theme:n,brand:o}=e;if(!g())return Mr(r);let i=M(e.host);V(),F();let s=document.createElement("button");if(s.className=R("perspective-float-bubble perspective-embed-root",O(e.theme)),Se(s,e),s.setAttribute("aria-label","Open chat"),s.setAttribute("data-perspective","float-bubble"),t||o){let x=X(n)?((it=o==null?void 0:o.dark)==null?void 0:it.primary)??(t==null?void 0:t.darkPrimaryColor)??"#a78bfa":((at=o==null?void 0:o.light)==null?void 0:at.primary)??(t==null?void 0:t.primaryColor)??"#7c3aed";s.style.setProperty("--perspective-float-bg",x),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${x}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${x}80`),s.style.backgroundColor=x,s.style.boxShadow=`0 4px 12px ${x}66`}let a=Ot(e,(lt=t==null?void 0:t.embedSettings)==null?void 0:lt.launcher);if(a!==e&&Se(s,a),(pt=a.launcher)!=null&&pt.style&&Object.assign(s.style,a.launcher.style),(ct=a.launcher)!=null&&ct.className)for(let y of a.launcher.className.split(/\s+/).filter(Boolean))s.classList.add(y);document.body.appendChild(s),j(s,"float",e),((dt=e.launcher)==null?void 0:dt.icon)==="avatar"&&!(t!=null&&t.avatarUrl)&&fetch(`${i}/api/v1/embed/config/${r}`).then(y=>y.ok?y.json():null).then(y=>{y!=null&&y.avatarUrl&&(h={...h,_apiConfig:{...h._apiConfig,...y}},m||Se(s,h))}).catch(()=>{});let l=null,p=null,u=null,d=null,m=!1,b=null,c=null,f=null,v=null,C=!1,k=!1,H=[],L=y=>{pe({researchId:r,type:"float",host:e.host,open:y})},w=Ce({researchId:r,type:"float",host:e.host})===!0,h={...a},Me=()=>{Se(s,h),s.setAttribute("aria-label","Open chat"),s.classList.remove("perspective-float-bubble-open")},me=()=>{s.innerHTML=te,s.setAttribute("aria-label","Close chat"),s.classList.add("perspective-float-bubble-open")},ue=()=>{for(let y of H)window.clearTimeout(y);H=[],c!==null&&(window.clearInterval(c),c=null)},Ve=()=>{f==null||f.remove(),f=null},P=()=>{c!==null&&(window.clearInterval(c),c=null),b==null||b.remove(),b=null,Ve()},Q=()=>{f||m||(f=document.createElement("span"),f.className="perspective-float-notification-dot",s.appendChild(f))},He=()=>{try{let y=window.AudioContext||window.webkitAudioContext;if(!y)return;v||(v=new y),v.state==="suspended"&&v.resume(),Ir(v)}catch{}},Pe=y=>{if(P(),m)return;let x=document.createElement("div");x.className=R("perspective-float-teaser perspective-embed-root",O(h.theme));let G=document.createElement("div");G.className="perspective-float-teaser-message";let Y=document.createElement("span");G.appendChild(Y),x.appendChild(G),x.addEventListener("click",()=>fe()),document.body.appendChild(x),b=x,Q();let K=0;c=window.setInterval(()=>{K+=1,Y.textContent=y.slice(0,K),K>=y.length&&c!==null&&(window.clearInterval(c),c=null)},Cr)},ot=()=>{if(C||k||m)return;C=!0;let y=window.setTimeout(()=>{m||k||He()},Er),x=window.setTimeout(()=>{m||k||Pe(Ar(h))},xr);H.push(y,x)},fe=()=>{var Y,K,ge;if(m)return;m=!0,L(!0),ue(),P(),l=document.createElement("div"),l.className=R("perspective-float-window perspective-embed-root",O(h.theme));let y=document.createElement("button");y.className="perspective-close",y.innerHTML=te,y.setAttribute("aria-label","Close chat"),y.addEventListener("click",()=>oe());let x=_({theme:h.theme,brand:h.brand,appearance:(K=(Y=h._apiConfig)==null?void 0:Y.embedSettings)==null?void 0:K.appearance});x.style.borderRadius="16px";let G=N((ge=h._apiConfig)==null?void 0:ge.embedSettings);p=B(r,"float",i,h.params,h.brand,h.theme,G),p.style.opacity="0",p.style.transition="opacity 0.3s ease",l.appendChild(y),l.appendChild(x),l.appendChild(p),document.body.appendChild(l),u=$(r,{get onReady(){return()=>{var he;x.style.opacity="0",p.style.opacity="1",setTimeout(()=>x.remove(),300),(he=h.onReady)==null||he.call(h)}},get onSubmit(){return h.onSubmit},get onNavigate(){return h.onNavigate},get onClose(){return oe},get onError(){return h.onError}},p,i,{skipResize:!0,hasCloseButton:!0}),p&&(d=U(p,i)),me()},oe=y=>{var x;m&&((y==null?void 0:y.persistState)!==!1&&L(!1),m=!1,u==null||u(),d==null||d(),l==null||l.remove(),l=null,p=null,u=null,d=null,Me(),(x=h.onClose)==null||x.call(h))};s.addEventListener("click",()=>{m?oe():fe()});let st=()=>{ue(),P(),oe({persistState:!1}),s.remove(),v==null||v.close(),v=null},Ft=()=>{L(!1),st()};return w?(C=!0,fe()):ot(),{unmount:st,update:y=>{var G,Y,K,ge,he,mt,ut,ft,gt;h={...h,...y};let x=h._apiConfig;if(x||h.brand){let be=X(h.theme)?((Y=(G=h.brand)==null?void 0:G.dark)==null?void 0:Y.primary)??(x==null?void 0:x.darkPrimaryColor)??"#a78bfa":((ge=(K=h.brand)==null?void 0:K.light)==null?void 0:ge.primary)??(x==null?void 0:x.primaryColor)??"#7c3aed";(mt=(he=h.launcher)==null?void 0:he.style)!=null&&mt.backgroundColor||(s.style.setProperty("--perspective-float-bg",be),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${be}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${be}80`),s.style.backgroundColor=be,s.style.boxShadow=`0 4px 12px ${be}66`)}h=Ot(h,(ft=(ut=h._apiConfig)==null?void 0:ut.embedSettings)==null?void 0:ft.launcher),Se(s,h),(gt=h.launcher)!=null&&gt.style&&Object.assign(s.style,h.launcher.style),m||Me(),ot()},destroy:Ft,open:fe,close:oe,toggle:()=>{m?oe():fe()},get isOpen(){return m},researchId:r,type:"float",get iframe(){return p},container:s}}var tt=ke;function Hr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"fullpage",iframe:null,container:null}}function Be(e){var d,m,b;let{researchId:r}=e;if(!g())return Hr(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-embed-root perspective-fullpage",O(e.theme));let o=_({theme:e.theme,brand:e.brand,appearance:(m=(d=e._apiConfig)==null?void 0:d.embedSettings)==null?void 0:m.appearance});n.appendChild(o);let i=N((b=e._apiConfig)==null?void 0:b.embedSettings),s=B(r,"fullpage",t,e.params,e.brand,e.theme,i);s.style.opacity="0",s.style.transition="opacity 0.3s ease",n.appendChild(s),document.body.appendChild(n),j(n,"fullpage",e);let a={...e},l=null,p=U(s,t),u=()=>{var c;l==null||l(),p(),n.remove(),(c=a.onClose)==null||c.call(a)};return l=$(r,{get onReady(){return()=>{var c;o.style.opacity="0",s.style.opacity="1",setTimeout(()=>o.remove(),300),(c=a.onReady)==null||c.call(a)}},get onSubmit(){return a.onSubmit},get onNavigate(){return a.onNavigate},get onClose(){return u},get onError(){return a.onError}},s,t,{skipResize:!0}),{unmount:u,update:c=>{a={...a,...c}},destroy:u,researchId:r,type:"fullpage",iframe:s,container:n}}var S=new Map,J=new Map,A=new Map,Ie=0,de=new Map;function q(e,r,t){return Ie!==r||(de.get(e)??0)!==t}function rt(e,r,t){var p,u;let n=(p=r.embedSettings)==null?void 0:p.autoTrigger;if(!(n!=null&&n.trigger))return;let o=n.trigger==="timeout"?{type:"timeout",delay:n.delay??5e3}:{type:"exit-intent"},i=n.showOnce==="false"?!1:n.showOnce??"session";if(!qe(e,i))return;(u=A.get(e))==null||u();let s=Ie,a=de.get(e)??0,l=We(o,()=>{A.delete(e),!q(e,s,a)&&(Je(e,i),t())});A.set(e,l)}var Ue=new Map,Le=null,z=Et;function $e(e,r,t){e.hasAttribute(E.noStyle)||(Ue.set(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}),Nt(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}))}function Nt(e,r){var l,p,u,d;let{themeConfig:t,theme:n,brand:o}=r,i=X(n),s=i?((l=o==null?void 0:o.dark)==null?void 0:l.primary)??t.darkPrimaryColor:((p=o==null?void 0:o.light)==null?void 0:p.primary)??t.primaryColor,a=i?((u=o==null?void 0:o.dark)==null?void 0:u.text)??t.darkTextColor:((d=o==null?void 0:o.light)==null?void 0:d.text)??t.textColor;e.style.backgroundColor=s,e.style.color=a,e.style.padding="10px 20px",e.style.border="none",e.style.borderRadius="8px",e.style.fontWeight="500",e.style.cursor="pointer"}function Pr(){Ue.forEach((e,r)=>{document.contains(r)?Nt(r,e):Ue.delete(r)})}var ce=null;function Rr(){ce||!g()||(Le=window.matchMedia("(prefers-color-scheme: dark)"),ce=()=>Pr(),Le.addEventListener("change",ce))}function Or(){ce&&Le&&(Le.removeEventListener("change",ce),ce=null,Le=null)}function Te(e){let r=e.getAttribute(E.params);if(!r)return;let t={};for(let n of r.split(",")){let[o,...i]=n.trim().split("=");o&&(t[o.trim()]=i.join("=").trim())}return Object.keys(t).length>0?t:void 0}function Dt(e){if(!e)return;let r={};for(let t of e.split(",")){let[n,...o]=t.trim().split("=");if(n&&o.length>0){let i=o.join("=").trim();if(i){let s=n.trim();(s==="primary"||s==="secondary"||s==="bg"||s==="text")&&(r[s]=i)}}}return Object.keys(r).length>0?r:void 0}function Ae(e){let r=Dt(e.getAttribute(E.brand)),t=Dt(e.getAttribute(E.brandDark)),n=e.getAttribute(E.theme),o={};return(r||t)&&(o.brand={},r&&(o.brand.light=r),t&&(o.brand.dark=t)),(n===I.dark||n===I.light||n===I.system)&&(o.theme=n),o}function _r(e){let r=e.getAttribute(E.launcherIcon),t=e.getAttribute(E.launcherStyle),n=e.getAttribute(E.launcherClass);if(!r&&!t&&!n)return;let o={};if(r&&(r.startsWith("http")||r.startsWith("/")?o.icon={url:r}:(r==="avatar"||r==="default")&&(o.icon=r)),t){let i={};for(let s of t.split(";")){let a=s.indexOf(":");if(a===-1)continue;let l=s.slice(0,a).trim(),p=s.slice(a+1).trim();if(l&&p){let u=l.replace(/-([a-z])/g,(d,m)=>m.toUpperCase());i[u]=p}}Object.keys(i).length>0&&(o.style=i)}return n&&(o.className=n),o}function ne(e){let{researchId:r}=e,t=e.type==="chat"?"float":e.type??"widget";S.has(r)&&(S.get(r).unmount(),S.delete(r));let n;switch(t){case"popup":n=De(e);break;case"slider":n=Ne(e);break;case"float":n=ke(e);break;case"fullpage":n=Be(e);break;default:throw new Error(`Unknown embed type "${t}". Valid types: popup, slider, float, fullpage (use init()), or widget (use mount()).`)}return S.set(r,n),n}function nt(e,r){let{researchId:t}=r,n=r.type==="chat"?"float":r.type??"widget",o=typeof e=="string"?document.querySelector(e):e;if(!o)throw new Error(`Container not found: ${e}`);S.has(t)&&(S.get(t).unmount(),S.delete(t));let i;if(n==="widget")i=_e(o,r);else return i=ne({...r,type:n}),i;return S.set(t,i),i}function Bt(e){var n;let r=S.get(e);r&&(r.destroy(),S.delete(e));let t=J.get(e);t&&(t.cancelled=!0,t.skeleton.remove(),J.delete(e)),(n=A.get(e))==null||n(),A.delete(e),de.set(e,(de.get(e)??0)+1)}function $t(){Ie++,S.forEach(e=>e.unmount()),S.clear(),J.forEach(e=>{e.cancelled=!0,e.skeleton.remove()}),J.clear(),A.forEach(e=>e()),A.clear(),Ue.clear(),Or(),g()&&document.querySelectorAll("[data-perspective-initialized]").forEach(e=>e.removeAttribute("data-perspective-initialized"))}function Fe(){if(!g())return;Rr(),document.querySelectorAll(`[${E.widget}]`).forEach(t=>{let n=t.getAttribute(E.widget);if(n&&!S.has(n)){let o=Te(t),i=Ae(t),s=_({theme:i.theme,brand:i.brand});s.style.position="relative",s.style.minHeight="500px",t.appendChild(s);let a={cancelled:!1,skeleton:s};J.set(n,a),z(n).then(l=>{J.delete(n),s.remove(),!(a.cancelled||!t.isConnected||S.has(n))&&nt(t,{researchId:n,type:"widget",params:o,...i,disableJsonLdAttribution:t.hasAttribute(E.disableJsonLdAttribution),_apiConfig:l})})}}),document.querySelectorAll(`[${E.fullpage}]`).forEach(t=>{let n=t.getAttribute(E.fullpage);if(n&&!S.has(n)){let o=Te(t),i=Ae(t),s=_({theme:i.theme,brand:i.brand});s.style.position="fixed",s.style.inset="0",s.style.zIndex="2147483647",document.body.appendChild(s);let a={cancelled:!1,skeleton:s};J.set(n,a),z(n).then(l=>{J.delete(n),s.remove(),!(a.cancelled||!t.isConnected||S.has(n))&&ne({researchId:n,type:"fullpage",params:o,...i,disableJsonLdAttribution:t.hasAttribute(E.disableJsonLdAttribution),_apiConfig:l})})}}),document.querySelectorAll(`[${E.popup}]`).forEach(t=>{var c,f;if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let n=t.getAttribute(E.popup);if(!n)return;let o=Te(t),i=Ae(t),s=t.getAttribute(E.autoOpen),a=t.hasAttribute(E.disableClose),l=Ce({researchId:n,type:"popup"}),p,u=t.hasAttribute(E.disableJsonLdAttribution),d=()=>ne({researchId:n,type:"popup",params:o,disableClose:a,disableJsonLdAttribution:u,...i,...p&&{_apiConfig:p}}),m=Ie,b=de.get(n)??0;if(s){if(l===!0)z(n).then(v=>{q(n,m,b)||(p=v,d())});else if(l!==!1)try{let v=xt(s),C=St(t.getAttribute(E.showOnce));if(qe(n,C)){(c=A.get(n))==null||c();let k=z(n);k.then(L=>{q(n,m,b)||(p=L,rt(n,L,d))});let H=We(v,()=>{A.delete(n),k.then(L=>{var w,h;q(n,m,b)||(p=L,(h=(w=L.embedSettings)==null?void 0:w.autoTrigger)!=null&&h.trigger||(Je(n,C),d()))})});A.set(n,H)}}catch(v){console.warn("[Perspective]",v.message)}}else z(n).then(C=>{p=C,$e(t,C,i),!q(n,m,b)&&(S.has(n)||rt(n,C,d))}),$e(t,ie,i),t.addEventListener("click",C=>{var k;C.preventDefault(),(k=A.get(n))==null||k(),A.delete(n),d()}),l===!0&&((f=A.get(n))==null||f(),A.delete(n),z(n).then(C=>{q(n,m,b)||(p=C,d())}))}),document.querySelectorAll(`[${E.slider}]`).forEach(t=>{var o;if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let n=t.getAttribute(E.slider);if(n){let i=Te(t),s=Ae(t),a=t.hasAttribute(E.disableClose),l=Ce({researchId:n,type:"slider"}),p,u=t.hasAttribute(E.disableJsonLdAttribution),d=()=>ne({researchId:n,type:"slider",params:i,disableClose:a,disableJsonLdAttribution:u,...s,...p&&{_apiConfig:p}}),m=Ie,b=de.get(n)??0;z(n).then(f=>{p=f,$e(t,f,s),!q(n,m,b)&&(S.has(n)||rt(n,f,d))}),$e(t,ie,s),t.addEventListener("click",f=>{var v;f.preventDefault(),(v=A.get(n))==null||v(),A.delete(n),d()}),l===!0&&((o=A.get(n))==null||o(),A.delete(n),z(n).then(f=>{q(n,m,b)||(p=f,d())}))}});let e=`[${E.float}], [${E.chat}]`,r=document.querySelector(e);if(r){let t=r.getAttribute(E.float)||r.getAttribute(E.chat);if(t&&!S.has(t)){let n=Te(r),o=Ae(r),i=_r(r),s=ne({researchId:t,type:"float",params:n,disableJsonLdAttribution:r.hasAttribute(E.disableJsonLdAttribution),...o,...i&&{launcher:i},_apiConfig:ie});z(t).then(a=>{var p,u,d,m,b;let l=document.querySelector('[data-perspective="float-bubble"]');if(l&&!r.hasAttribute(E.noStyle)&&!((p=i==null?void 0:i.style)!=null&&p.backgroundColor)){let f=X(o.theme)?((d=(u=o.brand)==null?void 0:u.dark)==null?void 0:d.primary)??a.darkPrimaryColor:((b=(m=o.brand)==null?void 0:m.light)==null?void 0:b.primary)??a.primaryColor;l.style.setProperty("--perspective-float-bg",f),l.style.setProperty("--perspective-float-shadow",`0 4px 12px ${f}66`),l.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${f}80`),l.style.backgroundColor=f,l.style.boxShadow=`0 4px 12px ${f}66`}if(s.type==="float"&&S.get(t)===s){let c=a.channel??a.allowedChannels??void 0;s.update({channel:c,welcomeMessage:a.welcomeMessage,_apiConfig:a})}})}}}var Ut={configure:ze,getConfig:Ge,init:ne,mount:nt,destroy:Bt,destroyAll:$t,autoInit:Fe,createWidget:_e,openPopup:De,openSlider:Ne,createFloatBubble:ke,createFullpage:Be,createChatBubble:tt};if(g()&&!window.__PERSPECTIVE_SDK_INITIALIZED__){window.__PERSPECTIVE_SDK_INITIALIZED__=!0;let e=document.currentScript;e!=null&&e.parentNode&&e.parentNode.insertBefore(document.createComment(" Powered by Perspective AI \u2014 https://getperspective.ai "),e),et(),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Fe,{once:!0}):Fe(),window.Perspective=Ut}var Dr=Ut;return Yt(Nr);})();
464
+ </svg>`;var re="https://getperspective.ai",gr={"@context":"https://schema.org","@graph":[{"@type":"SoftwareApplication","@id":`${re}/#widget`,name:"Perspective AI",description:"Rigid forms cause drop-off, weaken qualification, and strip away context. Perspective uses adaptive AI to turn forms into conversations that capture structured data and trigger automation.",url:re,applicationCategory:"BusinessApplication",softwareVersion:se,provider:{"@id":`${re}/#organization`},aggregateRating:{"@type":"AggregateRating",ratingValue:"5",bestRating:"5",worstRating:"1",ratingCount:7,reviewCount:7}},{"@type":"Organization","@id":`${re}/#organization`,name:"Perspective AI",url:re}]};function hr(){if(!g()||document.querySelector("script[data-perspective-jsonld]"))return;let e=document.createElement("script");e.type="application/ld+json",e.setAttribute("data-perspective-jsonld",""),e.textContent=JSON.stringify(gr),document.body.appendChild(e)}function et(){g()&&(window.PerspectiveAI||(window.PerspectiveAI=Object.freeze({version:se,provider:"Perspective AI",url:re})))}function j(e,r,t){g()&&(e.setAttribute("data-perspective-version",se),e.setAttribute("data-perspective-type",r),e.parentNode&&e.parentNode.insertBefore(document.createComment(` Powered by Perspective AI \u2014 ${re} `),e),t!=null&&t.disableJsonLdAttribution||hr(),et())}var Oe=new WeakMap;function br(e,r){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:r,iframe:null,container:null}}function vr(e,r){let t=e.querySelector(".perspective-embed-root"),n=e.querySelector("iframe[data-perspective]"),o=!1,i=()=>{if(!o){if(o=!0,n){let s=Oe.get(n);s&&(s.cleanup(),s.unregister(),Oe.delete(n))}t==null||t.remove()}};return{unmount:i,update:()=>{},destroy:i,researchId:r,type:"widget",iframe:n,container:e}}function _e(e,r){var b,c,f;let{researchId:t}=r;if(!g()||!e)return br(t,"widget");if(e.querySelector("iframe[data-perspective]"))return vr(e,t);let n=M(r.host);V(),F();let o=document.createElement("div");o.className=R("perspective-embed-root",O(r.theme)),o.style.cssText="position:relative;width:100%;height:100%;min-height:500px;";let i=_({theme:r.theme,brand:r.brand,appearance:(c=(b=r._apiConfig)==null?void 0:b.embedSettings)==null?void 0:c.appearance});o.appendChild(i);let s=N((f=r._apiConfig)==null?void 0:f.embedSettings),a=B(t,"widget",n,r.params,r.brand,r.theme,s);a.style.width="100%",a.style.height="100%",a.style.minHeight="500px",a.style.opacity="0",a.style.transition="opacity 0.3s ease",o.appendChild(a),e.appendChild(o),j(o,"widget",r);let l={...r},p=$(t,{get onReady(){return()=>{var v;i.style.opacity="0",a.style.opacity="1",setTimeout(()=>i.remove(),300),(v=l.onReady)==null||v.call(l)}},get onSubmit(){return l.onSubmit},get onNavigate(){return l.onNavigate},get onClose(){return l.onClose},get onError(){return l.onError}},a,n,{skipResize:!0}),u=U(a,n);Oe.set(a,{cleanup:p,unregister:u,wrapper:o});let d=!1,m=()=>{d||(d=!0,p(),u(),Oe.delete(a),o.remove())};return{unmount:m,update:v=>{l={...l,...v}},destroy:m,researchId:t,type:"widget",iframe:a,container:e}}function Rt({researchId:e,type:r,host:t}){return`${W.embedState}:${M(t)}:${r}:${e}`}function Ce(e){if(!g())return null;try{let r=sessionStorage.getItem(Rt(e));if(!r)return null;let t=JSON.parse(r);return typeof t.open=="boolean"?t.open:null}catch{return null}}function pe(e){if(g())try{let r={v:1,open:e.open};sessionStorage.setItem(Rt(e),JSON.stringify(r))}catch{}}function yr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"popup",iframe:null,container:null}}function De(e){var k,H,L;let{researchId:r}=e;if(!g())return yr(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-overlay perspective-embed-root",O(e.theme));let o=document.createElement("div");o.className="perspective-modal";let i=document.createElement("button");i.className="perspective-close",i.innerHTML=te,i.setAttribute("aria-label","Close"),e.disableClose&&(i.style.display="none");let s=_({theme:e.theme,brand:e.brand,appearance:(H=(k=e._apiConfig)==null?void 0:k.embedSettings)==null?void 0:H.appearance});s.style.borderRadius="16px";let a=N((L=e._apiConfig)==null?void 0:L.embedSettings),l=B(r,"popup",t,e.params,e.brand,e.theme,a);l.style.opacity="0",l.style.transition="opacity 0.3s ease",o.appendChild(i),o.appendChild(s),o.appendChild(l),n.appendChild(o),document.body.appendChild(n),j(n,"popup",e);let p={...e},u=!0,d=null,m=E=>{pe({researchId:r,type:"popup",host:e.host,open:E})},b=U(l,t);m(!0);let c=()=>{var E;u&&(u=!1,d==null||d(),b(),n.remove(),document.removeEventListener("keydown",C),(E=p.onClose)==null||E.call(p))},f=()=>{m(!1),c()},v=()=>{c()};d=$(r,{get onReady(){return()=>{var E;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(E=p.onReady)==null||E.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return f},get onError(){return p.onError}},l,t,{skipResize:!0,hasCloseButton:!e.disableClose});let C=E=>{E.key==="Escape"&&f()};return e.disableClose||(i.addEventListener("click",f),n.addEventListener("click",E=>{E.target===n&&f()}),document.addEventListener("keydown",C)),{unmount:v,update:E=>{p={...p,...E}},destroy:f,researchId:r,type:"popup",iframe:l,container:n}}function Er(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"slider",iframe:null,container:null}}function Ne(e){var k,H,L;let{researchId:r}=e;if(!g())return Er(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-slider-backdrop perspective-embed-root",O(e.theme));let o=document.createElement("div");o.className=R("perspective-slider perspective-embed-root",O(e.theme));let i=document.createElement("button");i.className="perspective-close",i.innerHTML=te,i.setAttribute("aria-label","Close"),e.disableClose&&(i.style.display="none");let s=_({theme:e.theme,brand:e.brand,appearance:(H=(k=e._apiConfig)==null?void 0:k.embedSettings)==null?void 0:H.appearance}),a=N((L=e._apiConfig)==null?void 0:L.embedSettings),l=B(r,"slider",t,e.params,e.brand,e.theme,a);l.style.opacity="0",l.style.transition="opacity 0.3s ease",o.appendChild(i),o.appendChild(s),o.appendChild(l),document.body.appendChild(n),document.body.appendChild(o),j(o,"slider",e);let p={...e},u=!0,d=null,m=E=>{pe({researchId:r,type:"slider",host:e.host,open:E})},b=U(l,t);m(!0);let c=()=>{var E;u&&(u=!1,d==null||d(),b(),o.remove(),n.remove(),document.removeEventListener("keydown",C),(E=p.onClose)==null||E.call(p))},f=()=>{m(!1),c()},v=()=>{c()};d=$(r,{get onReady(){return()=>{var E;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(E=p.onReady)==null||E.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return f},get onError(){return p.onError}},l,t,{skipResize:!0,hasCloseButton:!e.disableClose});let C=E=>{E.key==="Escape"&&f()};return e.disableClose||(i.addEventListener("click",f),n.addEventListener("click",f),document.addEventListener("keydown",C)),{unmount:v,update:E=>{p={...p,...E}},destroy:f,researchId:r,type:"slider",iframe:l,container:o}}function Ot(e,r){if(!r)return e;let t=e.launcher??{};return{...e,launcher:{...t,...r,style:{...t.style,...r.style}}}}var wr=2e3,xr=3e3,Cr=40,Sr="Have a question? I'm here to help.";function kr(e){let r=Array.isArray(e)?e:e?[e]:[],t=r.includes("VOICE"),n=r.includes("TEXT");return t&&n?"both":n?"text":"voice"}function Tr(e){var r,t;return e.channel??((r=e._apiConfig)==null?void 0:r.allowedChannels)??((t=e._apiConfig)==null?void 0:t.channel)??void 0}function Ar(e){var n;let r=e.welcomeMessage??((n=e._apiConfig)==null?void 0:n.welcomeMessage),t=typeof r=="string"?r.trim():"";return t.length>0?t:Sr}function Lr(e){return kr(Tr(e))==="text"?Pt:Ht}function _t(e,r){let t=document.createElement("img");return t.src=e,t.alt="",t.style.width="100%",t.style.height="100%",t.style.objectFit="cover",t.style.borderRadius="inherit",t.onerror=()=>{let n=t.parentElement;n&&(t.remove(),n.innerHTML=r)},t}function Se(e,r){var o,i;let t=((o=r.launcher)==null?void 0:o.icon)??"default",n=Lr(r);if(t==="default"){e.innerHTML=n;return}if(t==="avatar"){let s=(i=r._apiConfig)==null?void 0:i.avatarUrl;s?(e.innerHTML="",e.appendChild(_t(s,n))):e.innerHTML=n;return}if(typeof t=="object"&&t!==null){if("url"in t){e.innerHTML="",e.appendChild(_t(t.url,n));return}if("svg"in t){e.innerHTML=t.svg;return}}e.innerHTML=n}function Ir(e){let r=e.currentTime,t=e.createOscillator(),n=e.createGain();t.type="sine",t.frequency.setValueAtTime(880,r),t.frequency.setValueAtTime(1175,r+.1),n.gain.setValueAtTime(.15,r),n.gain.linearRampToValueAtTime(.18,r+.1),n.gain.exponentialRampToValueAtTime(.001,r+.6),t.connect(n).connect(e.destination),t.start(r),t.stop(r+.65);let o=e.createOscillator(),i=e.createGain();o.type="sine",o.frequency.setValueAtTime(1175,r+.15),o.frequency.setValueAtTime(1400,r+.25),i.gain.setValueAtTime(0,r),i.gain.setValueAtTime(.12,r+.15),i.gain.exponentialRampToValueAtTime(.001,r+.55),o.connect(i).connect(e.destination),o.start(r+.15),o.stop(r+.6)}function Mr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},open:()=>{},close:()=>{},toggle:()=>{},isOpen:!1,researchId:e,type:"float",iframe:null,container:null}}function ke(e){var it,at,lt,pt,ct,dt;let{researchId:r,_apiConfig:t,theme:n,brand:o}=e;if(!g())return Mr(r);let i=M(e.host);V(),F();let s=document.createElement("button");if(s.className=R("perspective-float-bubble perspective-embed-root",O(e.theme)),Se(s,e),s.setAttribute("aria-label","Open chat"),s.setAttribute("data-perspective","float-bubble"),t||o){let x=X(n)?((it=o==null?void 0:o.dark)==null?void 0:it.primary)??(t==null?void 0:t.darkPrimaryColor)??"#a78bfa":((at=o==null?void 0:o.light)==null?void 0:at.primary)??(t==null?void 0:t.primaryColor)??"#7c3aed";s.style.setProperty("--perspective-float-bg",x),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${x}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${x}80`),s.style.backgroundColor=x,s.style.boxShadow=`0 4px 12px ${x}66`}let a=Ot(e,(lt=t==null?void 0:t.embedSettings)==null?void 0:lt.launcher);if(a!==e&&Se(s,a),(pt=a.launcher)!=null&&pt.style&&Object.assign(s.style,a.launcher.style),(ct=a.launcher)!=null&&ct.className)for(let y of a.launcher.className.split(/\s+/).filter(Boolean))s.classList.add(y);document.body.appendChild(s),j(s,"float",e),((dt=e.launcher)==null?void 0:dt.icon)==="avatar"&&!(t!=null&&t.avatarUrl)&&fetch(`${i}/api/v1/embed/config/${r}`).then(y=>y.ok?y.json():null).then(y=>{y!=null&&y.avatarUrl&&(h={...h,_apiConfig:{...h._apiConfig,...y}},m||Se(s,h))}).catch(()=>{});let l=null,p=null,u=null,d=null,m=!1,b=null,c=null,f=null,v=null,C=!1,k=!1,H=[],L=y=>{pe({researchId:r,type:"float",host:e.host,open:y})},E=Ce({researchId:r,type:"float",host:e.host})===!0,h={...a},Me=()=>{Se(s,h),s.setAttribute("aria-label","Open chat"),s.classList.remove("perspective-float-bubble-open")},me=()=>{s.innerHTML=te,s.setAttribute("aria-label","Close chat"),s.classList.add("perspective-float-bubble-open")},ue=()=>{for(let y of H)window.clearTimeout(y);H=[],c!==null&&(window.clearInterval(c),c=null)},Ve=()=>{f==null||f.remove(),f=null},P=()=>{c!==null&&(window.clearInterval(c),c=null),b==null||b.remove(),b=null,Ve()},Q=()=>{f||m||(f=document.createElement("span"),f.className="perspective-float-notification-dot",s.appendChild(f))},He=()=>{try{let y=window.AudioContext||window.webkitAudioContext;if(!y)return;v||(v=new y),v.state==="suspended"&&v.resume(),Ir(v)}catch{}},Pe=y=>{if(P(),m)return;let x=document.createElement("div");x.className=R("perspective-float-teaser perspective-embed-root",O(h.theme));let G=document.createElement("div");G.className="perspective-float-teaser-message";let Y=document.createElement("span");G.appendChild(Y),x.appendChild(G),x.addEventListener("click",()=>fe()),document.body.appendChild(x),b=x,Q();let K=0;c=window.setInterval(()=>{K+=1,Y.textContent=y.slice(0,K),K>=y.length&&c!==null&&(window.clearInterval(c),c=null)},Cr)},ot=()=>{if(C||k||m)return;C=!0;let y=window.setTimeout(()=>{m||k||He()},wr),x=window.setTimeout(()=>{m||k||Pe(Ar(h))},xr);H.push(y,x)},fe=()=>{var Y,K,ge;if(m)return;m=!0,L(!0),ue(),P(),l=document.createElement("div"),l.className=R("perspective-float-window perspective-embed-root",O(h.theme));let y=document.createElement("button");y.className="perspective-close",y.innerHTML=te,y.setAttribute("aria-label","Close chat"),y.addEventListener("click",()=>oe());let x=_({theme:h.theme,brand:h.brand,appearance:(K=(Y=h._apiConfig)==null?void 0:Y.embedSettings)==null?void 0:K.appearance});x.style.borderRadius="16px";let G=N((ge=h._apiConfig)==null?void 0:ge.embedSettings);p=B(r,"float",i,h.params,h.brand,h.theme,G),p.style.opacity="0",p.style.transition="opacity 0.3s ease",l.appendChild(y),l.appendChild(x),l.appendChild(p),document.body.appendChild(l),u=$(r,{get onReady(){return()=>{var he;x.style.opacity="0",p.style.opacity="1",setTimeout(()=>x.remove(),300),(he=h.onReady)==null||he.call(h)}},get onSubmit(){return h.onSubmit},get onNavigate(){return h.onNavigate},get onClose(){return oe},get onError(){return h.onError}},p,i,{skipResize:!0,hasCloseButton:!0}),p&&(d=U(p,i)),me()},oe=y=>{var x;m&&((y==null?void 0:y.persistState)!==!1&&L(!1),m=!1,u==null||u(),d==null||d(),l==null||l.remove(),l=null,p=null,u=null,d=null,Me(),(x=h.onClose)==null||x.call(h))};s.addEventListener("click",()=>{m?oe():fe()});let st=()=>{ue(),P(),oe({persistState:!1}),s.remove(),v==null||v.close(),v=null},Ft=()=>{L(!1),st()};return E?(C=!0,fe()):ot(),{unmount:st,update:y=>{var G,Y,K,ge,he,mt,ut,ft,gt;h={...h,...y};let x=h._apiConfig;if(x||h.brand){let be=X(h.theme)?((Y=(G=h.brand)==null?void 0:G.dark)==null?void 0:Y.primary)??(x==null?void 0:x.darkPrimaryColor)??"#a78bfa":((ge=(K=h.brand)==null?void 0:K.light)==null?void 0:ge.primary)??(x==null?void 0:x.primaryColor)??"#7c3aed";(mt=(he=h.launcher)==null?void 0:he.style)!=null&&mt.backgroundColor||(s.style.setProperty("--perspective-float-bg",be),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${be}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${be}80`),s.style.backgroundColor=be,s.style.boxShadow=`0 4px 12px ${be}66`)}h=Ot(h,(ft=(ut=h._apiConfig)==null?void 0:ut.embedSettings)==null?void 0:ft.launcher),Se(s,h),(gt=h.launcher)!=null&&gt.style&&Object.assign(s.style,h.launcher.style),m||Me(),ot()},destroy:Ft,open:fe,close:oe,toggle:()=>{m?oe():fe()},get isOpen(){return m},researchId:r,type:"float",get iframe(){return p},container:s}}var tt=ke;function Hr(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"fullpage",iframe:null,container:null}}function Be(e){var d,m,b;let{researchId:r}=e;if(!g())return Hr(r);let t=M(e.host);V(),F();let n=document.createElement("div");n.className=R("perspective-embed-root perspective-fullpage",O(e.theme));let o=_({theme:e.theme,brand:e.brand,appearance:(m=(d=e._apiConfig)==null?void 0:d.embedSettings)==null?void 0:m.appearance});n.appendChild(o);let i=N((b=e._apiConfig)==null?void 0:b.embedSettings),s=B(r,"fullpage",t,e.params,e.brand,e.theme,i);s.style.opacity="0",s.style.transition="opacity 0.3s ease",n.appendChild(s),document.body.appendChild(n),j(n,"fullpage",e);let a={...e},l=null,p=U(s,t),u=()=>{var c;l==null||l(),p(),n.remove(),(c=a.onClose)==null||c.call(a)};return l=$(r,{get onReady(){return()=>{var c;o.style.opacity="0",s.style.opacity="1",setTimeout(()=>o.remove(),300),(c=a.onReady)==null||c.call(a)}},get onSubmit(){return a.onSubmit},get onNavigate(){return a.onNavigate},get onClose(){return u},get onError(){return a.onError}},s,t,{skipResize:!0}),{unmount:u,update:c=>{a={...a,...c}},destroy:u,researchId:r,type:"fullpage",iframe:s,container:n}}var S=new Map,J=new Map,A=new Map,Ie=0,de=new Map;function q(e,r,t){return Ie!==r||(de.get(e)??0)!==t}function rt(e,r,t){var p,u;let n=(p=r.embedSettings)==null?void 0:p.autoTrigger;if(!(n!=null&&n.trigger))return;let o=n.trigger==="timeout"?{type:"timeout",delay:n.delay??5e3}:{type:"exit-intent"},i=n.showOnce==="false"?!1:n.showOnce??"session";if(!qe(e,i))return;(u=A.get(e))==null||u();let s=Ie,a=de.get(e)??0,l=We(o,()=>{A.delete(e),!q(e,s,a)&&(Je(e,i),t())});A.set(e,l)}var Ue=new Map,Le=null,z=wt;function $e(e,r,t){e.hasAttribute(w.noStyle)||(Ue.set(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}),Nt(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}))}function Nt(e,r){var l,p,u,d;let{themeConfig:t,theme:n,brand:o}=r,i=X(n),s=i?((l=o==null?void 0:o.dark)==null?void 0:l.primary)??t.darkPrimaryColor:((p=o==null?void 0:o.light)==null?void 0:p.primary)??t.primaryColor,a=i?((u=o==null?void 0:o.dark)==null?void 0:u.text)??t.darkTextColor:((d=o==null?void 0:o.light)==null?void 0:d.text)??t.textColor;e.style.backgroundColor=s,e.style.color=a,e.style.padding="10px 20px",e.style.border="none",e.style.borderRadius="8px",e.style.fontWeight="500",e.style.cursor="pointer"}function Pr(){Ue.forEach((e,r)=>{document.contains(r)?Nt(r,e):Ue.delete(r)})}var ce=null;function Rr(){ce||!g()||(Le=window.matchMedia("(prefers-color-scheme: dark)"),ce=()=>Pr(),Le.addEventListener("change",ce))}function Or(){ce&&Le&&(Le.removeEventListener("change",ce),ce=null,Le=null)}function Te(e){let r=e.getAttribute(w.params);if(!r)return;let t={};for(let n of r.split(",")){let[o,...i]=n.trim().split("=");o&&(t[o.trim()]=i.join("=").trim())}return Object.keys(t).length>0?t:void 0}function Dt(e){if(!e)return;let r={};for(let t of e.split(",")){let[n,...o]=t.trim().split("=");if(n&&o.length>0){let i=o.join("=").trim();if(i){let s=n.trim();(s==="primary"||s==="secondary"||s==="bg"||s==="text")&&(r[s]=i)}}}return Object.keys(r).length>0?r:void 0}function Ae(e){let r=Dt(e.getAttribute(w.brand)),t=Dt(e.getAttribute(w.brandDark)),n=e.getAttribute(w.theme),o={};return(r||t)&&(o.brand={},r&&(o.brand.light=r),t&&(o.brand.dark=t)),(n===I.dark||n===I.light||n===I.system)&&(o.theme=n),o}function _r(e){let r=e.getAttribute(w.launcherIcon),t=e.getAttribute(w.launcherStyle),n=e.getAttribute(w.launcherClass);if(!r&&!t&&!n)return;let o={};if(r&&(r.startsWith("http")||r.startsWith("/")?o.icon={url:r}:(r==="avatar"||r==="default")&&(o.icon=r)),t){let i={};for(let s of t.split(";")){let a=s.indexOf(":");if(a===-1)continue;let l=s.slice(0,a).trim(),p=s.slice(a+1).trim();if(l&&p){let u=l.replace(/-([a-z])/g,(d,m)=>m.toUpperCase());i[u]=p}}Object.keys(i).length>0&&(o.style=i)}return n&&(o.className=n),o}function ne(e){let{researchId:r}=e,t=e.type==="chat"?"float":e.type??"widget";S.has(r)&&(S.get(r).unmount(),S.delete(r));let n;switch(t){case"popup":n=De(e);break;case"slider":n=Ne(e);break;case"float":n=ke(e);break;case"fullpage":n=Be(e);break;default:throw new Error(`Unknown embed type "${t}". Valid types: popup, slider, float, fullpage (use init()), or widget (use mount()).`)}return S.set(r,n),n}function nt(e,r){let{researchId:t}=r,n=r.type==="chat"?"float":r.type??"widget",o=typeof e=="string"?document.querySelector(e):e;if(!o)throw new Error(`Container not found: ${e}`);S.has(t)&&(S.get(t).unmount(),S.delete(t));let i;if(n==="widget")i=_e(o,r);else return i=ne({...r,type:n}),i;return S.set(t,i),i}function Bt(e){var n;let r=S.get(e);r&&(r.destroy(),S.delete(e));let t=J.get(e);t&&(t.cancelled=!0,t.skeleton.remove(),J.delete(e)),(n=A.get(e))==null||n(),A.delete(e),de.set(e,(de.get(e)??0)+1)}function $t(){Ie++,S.forEach(e=>e.unmount()),S.clear(),J.forEach(e=>{e.cancelled=!0,e.skeleton.remove()}),J.clear(),A.forEach(e=>e()),A.clear(),Ue.clear(),Or(),g()&&document.querySelectorAll("[data-perspective-initialized]").forEach(e=>e.removeAttribute("data-perspective-initialized"))}function Fe(){if(!g())return;Rr(),document.querySelectorAll(`[${w.widget}]`).forEach(t=>{let n=t.getAttribute(w.widget);if(n&&!S.has(n)){let o=Te(t),i=Ae(t),s=_({theme:i.theme,brand:i.brand});s.style.position="relative",s.style.minHeight="500px",t.appendChild(s);let a={cancelled:!1,skeleton:s};J.set(n,a),z(n).then(l=>{J.delete(n),s.remove(),!(a.cancelled||!t.isConnected||S.has(n))&&nt(t,{researchId:n,type:"widget",params:o,...i,disableJsonLdAttribution:t.hasAttribute(w.disableJsonLdAttribution),_apiConfig:l})})}}),document.querySelectorAll(`[${w.fullpage}]`).forEach(t=>{let n=t.getAttribute(w.fullpage);if(n&&!S.has(n)){let o=Te(t),i=Ae(t),s=_({theme:i.theme,brand:i.brand});s.style.position="fixed",s.style.inset="0",s.style.zIndex="2147483647",document.body.appendChild(s);let a={cancelled:!1,skeleton:s};J.set(n,a),z(n).then(l=>{J.delete(n),s.remove(),!(a.cancelled||!t.isConnected||S.has(n))&&ne({researchId:n,type:"fullpage",params:o,...i,disableJsonLdAttribution:t.hasAttribute(w.disableJsonLdAttribution),_apiConfig:l})})}}),document.querySelectorAll(`[${w.popup}]`).forEach(t=>{var c,f;if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let n=t.getAttribute(w.popup);if(!n)return;let o=Te(t),i=Ae(t),s=t.getAttribute(w.autoOpen),a=t.hasAttribute(w.disableClose),l=Ce({researchId:n,type:"popup"}),p,u=t.hasAttribute(w.disableJsonLdAttribution),d=()=>ne({researchId:n,type:"popup",params:o,disableClose:a,disableJsonLdAttribution:u,...i,...p&&{_apiConfig:p}}),m=Ie,b=de.get(n)??0;if(s){if(l===!0)z(n).then(v=>{q(n,m,b)||(p=v,d())});else if(l!==!1)try{let v=xt(s),C=St(t.getAttribute(w.showOnce));if(qe(n,C)){(c=A.get(n))==null||c();let k=z(n);k.then(L=>{q(n,m,b)||(p=L,rt(n,L,d))});let H=We(v,()=>{A.delete(n),k.then(L=>{var E,h;q(n,m,b)||(p=L,(h=(E=L.embedSettings)==null?void 0:E.autoTrigger)!=null&&h.trigger||(Je(n,C),d()))})});A.set(n,H)}}catch(v){console.warn("[Perspective]",v.message)}}else z(n).then(C=>{p=C,$e(t,C,i),!q(n,m,b)&&(S.has(n)||rt(n,C,d))}),$e(t,ie,i),t.addEventListener("click",C=>{var k;C.preventDefault(),(k=A.get(n))==null||k(),A.delete(n),d()}),l===!0&&((f=A.get(n))==null||f(),A.delete(n),z(n).then(C=>{q(n,m,b)||(p=C,d())}))}),document.querySelectorAll(`[${w.slider}]`).forEach(t=>{var o;if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let n=t.getAttribute(w.slider);if(n){let i=Te(t),s=Ae(t),a=t.hasAttribute(w.disableClose),l=Ce({researchId:n,type:"slider"}),p,u=t.hasAttribute(w.disableJsonLdAttribution),d=()=>ne({researchId:n,type:"slider",params:i,disableClose:a,disableJsonLdAttribution:u,...s,...p&&{_apiConfig:p}}),m=Ie,b=de.get(n)??0;z(n).then(f=>{p=f,$e(t,f,s),!q(n,m,b)&&(S.has(n)||rt(n,f,d))}),$e(t,ie,s),t.addEventListener("click",f=>{var v;f.preventDefault(),(v=A.get(n))==null||v(),A.delete(n),d()}),l===!0&&((o=A.get(n))==null||o(),A.delete(n),z(n).then(f=>{q(n,m,b)||(p=f,d())}))}});let e=`[${w.float}], [${w.chat}]`,r=document.querySelector(e);if(r){let t=r.getAttribute(w.float)||r.getAttribute(w.chat);if(t&&!S.has(t)){let n=Te(r),o=Ae(r),i=_r(r),s=ne({researchId:t,type:"float",params:n,disableJsonLdAttribution:r.hasAttribute(w.disableJsonLdAttribution),...o,...i&&{launcher:i},_apiConfig:ie});z(t).then(a=>{var p,u,d,m,b;let l=document.querySelector('[data-perspective="float-bubble"]');if(l&&!r.hasAttribute(w.noStyle)&&!((p=i==null?void 0:i.style)!=null&&p.backgroundColor)){let f=X(o.theme)?((d=(u=o.brand)==null?void 0:u.dark)==null?void 0:d.primary)??a.darkPrimaryColor:((b=(m=o.brand)==null?void 0:m.light)==null?void 0:b.primary)??a.primaryColor;l.style.setProperty("--perspective-float-bg",f),l.style.setProperty("--perspective-float-shadow",`0 4px 12px ${f}66`),l.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${f}80`),l.style.backgroundColor=f,l.style.boxShadow=`0 4px 12px ${f}66`}if(s.type==="float"&&S.get(t)===s){let c=a.channel??a.allowedChannels??void 0;s.update({channel:c,welcomeMessage:a.welcomeMessage,_apiConfig:a})}})}}}var Ut={configure:ze,getConfig:Ge,init:ne,mount:nt,destroy:Bt,destroyAll:$t,autoInit:Fe,createWidget:_e,openPopup:De,openSlider:Ne,createFloatBubble:ke,createFullpage:Be,createChatBubble:tt};if(g()&&!window.__PERSPECTIVE_SDK_INITIALIZED__){window.__PERSPECTIVE_SDK_INITIALIZED__=!0;let e=document.currentScript;e!=null&&e.parentNode&&e.parentNode.insertBefore(document.createComment(" Powered by Perspective AI \u2014 https://getperspective.ai "),e),et(),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",Fe,{once:!0}):Fe(),window.Perspective=Ut}var Dr=Ut;return Yt(Nr);})();
465
465
  //# sourceMappingURL=perspective.global.js.map