@perspective-ai/sdk 1.1.2 → 1.1.3

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 ie=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var Ge=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},We=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of je(t))!Ye.call(e,n)&&n!==r&&ie(e,n,{get:()=>t[n],enumerable:!(o=Ve(t,n))||o.enumerable});return e};var qe=e=>We(ie({},"__esModule",{value:!0}),e);var yt={};Ge(yt,{autoInit:()=>ae,configure:()=>pe,createChatBubble:()=>fe,createFloatBubble:()=>V,createFullpage:()=>oe,createWidget:()=>ee,default:()=>vt,destroy:()=>Ue,destroyAll:()=>Ke,getConfig:()=>ce,init:()=>R,mount:()=>be,openPopup:()=>te,openSlider:()=>re});var xe="1.1.2",Q={RESIZE:1,THEME_SYNC:2,ANON_ID:4,SCROLLBAR_STYLES:8},ke=Q.RESIZE|Q.THEME_SYNC|Q.ANON_ID|Q.SCROLLBAR_STYLES,_={embed:"embed",embedType:"embed_type",theme:"theme"},C={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"},le=new Set([...Object.values(_),...Object.values(C)]),h={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"},y={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",requestScrollbarStyles:"perspective:request-scrollbar-styles"},Se={SDK_OUTDATED:"SDK_OUTDATED",INVALID_RESEARCH:"INVALID_RESEARCH",UNKNOWN:"UNKNOWN"},Ce={true:"true",false:"false"},b={dark:"dark",light:"light",system:"system"};var $={anonId:"perspective-anon-id",triggerShown:"perspective-trigger-shown"};function Te(e){let t=e.trim();if(t.startsWith("timeout:")){let r=parseInt(t.slice(8),10);if(isNaN(r)||r<0)throw new Error(`Invalid timeout delay: "${e}"`);return{type:"timeout",delay:r}}if(t==="timeout")return{type:"timeout",delay:5e3};if(t==="exit-intent")return{type:"exit-intent"};throw new Error(`Unknown trigger type: "${e}". Expected "timeout:<ms>" or "exit-intent".`)}function Le(e,t){if(e.type==="timeout"){let o=setTimeout(t,e.delay);return()=>clearTimeout(o)}if(e.type==="exit-intent"){let o=n=>{n.clientY<=0&&(t(),document.removeEventListener("mouseleave",o))};return document.addEventListener("mouseleave",o),()=>document.removeEventListener("mouseleave",o)}let r=e;throw new Error(`Unknown trigger type: ${r.type}`)}function Ae(e){return`${$.triggerShown}:${e}`}function Me(e){if(!e)return"session";let t=e.trim();return t==="visitor"?"visitor":t==="false"?!1:"session"}function He(e,t){if(t===!1)return!0;try{return(t==="visitor"?localStorage:sessionStorage).getItem(Ae(e))===null}catch{return!0}}function Ie(e,t){if(t!==!1)try{(t==="visitor"?localStorage:sessionStorage).setItem(Ae(e),"1")}catch{}}var Qe="https://getperspective.ai",U={};function pe(e){U={...U,...e}}function ce(){return{...U}}function m(){return typeof window<"u"&&typeof document<"u"}function Re(e){try{return new URL(e).origin}catch{return e}}function E(e){if(e)return Re(e);if(U.host)return Re(U.host);if(m()){let t=_e();if(t)return t}return Qe}var F=null;function _e(){if(F!==null)return F;if(!m())return null;let e=document.currentScript;if(e!=null&&e.src)try{return F=new URL(e.src).origin,F}catch{}return F="",null}m()&&_e();function w(...e){return e.map(t=>(t||"").split(" ")).flat().filter(Boolean).join(" ")}function x(e){return e&&e!==b.system?`perspective-${e}-theme`:void 0}function O(e){return e===b.dark?!0:e===b.light||!m()?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function De(e){return O(e)?"dark":"light"}function Oe(e){let t=e.trim();if(!t)return;let r=t.startsWith("#")?t:`#${t}`;if(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(r))return r;let o=r.slice(1).replace(/[^0-9a-fA-F]/g,"");if(o.length>=6)return`#${o.slice(0,6)}`;if(o.length>=3)return`#${o.slice(0,3)}`}function Ne(e,t){let r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!r||!r[1]||!r[2]||!r[3])return`rgba(118, 41, 200, ${t})`;let o=parseInt(r[1],16),n=parseInt(r[2],16),a=parseInt(r[3],16);return`rgba(${o}, ${n}, ${a}, ${t})`}function Ze(e){if(!e||typeof e!="string")return!1;try{let t=new URL(e,window.location.origin),r=t.protocol.toLowerCase(),o=t.hostname.toLowerCase();return r==="https:"||r==="http:"&&(o==="localhost"||o==="127.0.0.1")}catch{return!1}}function Xe(){if(!m())return"";try{let e=localStorage.getItem($.anonId);return e||(e=crypto.randomUUID(),localStorage.setItem($.anonId,e)),e}catch{return crypto.randomUUID()}}function Je(){if(!m())return{};let e={},t=new URLSearchParams(window.location.search);for(let[r,o]of t.entries())le.has(r)||(e[r]=o);return e}function et(e,t,r,o,n,a){let s=new URL(`${r}/interview/${e}`);if(s.searchParams.set(_.embed,Ce.true),s.searchParams.set(_.embedType,t==="float"?"chat":t),m()){let d=window.matchMedia("(prefers-color-scheme: dark)").matches;a&&a!==b.system?s.searchParams.set(_.theme,a):s.searchParams.set(_.theme,d?b.dark:b.light)}else s.searchParams.set(_.theme,a||b.light);let l=Je();for(let[d,c]of Object.entries(l))s.searchParams.set(d,c);let i=(d,c)=>{if(!c)return;let f=Oe(c);f&&s.searchParams.set(d,f)};if(n!=null&&n.light&&(i(C.primary,n.light.primary),i(C.secondary,n.light.secondary),i(C.bg,n.light.bg),i(C.text,n.light.text)),n!=null&&n.dark&&(i(C.darkPrimary,n.dark.primary),i(C.darkSecondary,n.dark.secondary),i(C.darkBg,n.dark.bg),i(C.darkText,n.dark.text)),o)for(let[d,c]of Object.entries(o))le.has(d)||s.searchParams.set(d,c);return s.toString()}function T(e,t,r,o,n,a){if(!m())return{};let s=document.createElement("iframe");return s.src=et(e,t,r,o,n,a),s.setAttribute("allow","microphone; camera"),s.setAttribute("allowfullscreen","true"),s.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation"),s.setAttribute("data-perspective","true"),s.style.cssText="border:none;",s}function L(e,t,r,o,n){if(!m())return()=>{};let a=s=>{var l,i,d,c,f;if(s.origin===o&&s.source===r.contentWindow&&typeof((l=s.data)==null?void 0:l.type)=="string"&&s.data.type.startsWith("perspective:")&&s.data.researchId===e)switch(s.data.type){case y.ready:me(r,o),Z(r,o,{type:y.anonId,anonId:Xe()}),Z(r,o,{type:y.init,version:xe,features:ke,researchId:e}),(i=t.onReady)==null||i.call(t);break;case y.resize:n!=null&&n.skipResize||(r.style.height=`${s.data.height}px`);break;case y.submit:(d=t.onSubmit)==null||d.call(t,{researchId:e});break;case y.close:(c=t.onClose)==null||c.call(t);break;case y.error:{let g=new Error(s.data.error);g.code=s.data.code||"UNKNOWN",g.code===Se.SDK_OUTDATED?console.error("[Perspective] SDK version outdated. Please update @perspective-ai/sdk to the latest version.",g.message):console.error("[Perspective] Embed error:",g.message),(f=t.onError)==null||f.call(t,g);break}case y.redirect:let p=s.data.url;if(!Ze(p)){console.warn("[Perspective] Blocked unsafe redirect URL:",p);return}t.onNavigate?t.onNavigate(p):window.location.href=p;break}};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)}function Z(e,t,r){var o;m()&&((o=e.contentWindow)==null||o.postMessage(r,t))}var K=new Map;function A(e,t){return K.set(e,t),()=>{K.delete(e),K.size===0&&at()}}function tt(){if(!m())return"";let t=window.matchMedia("(prefers-color-scheme: dark)").matches?"hsl(217 33% 17%)":"hsl(240 6% 90%)";return`
1
+ "use strict";var Perspective=(()=>{var ie=Object.defineProperty;var Ve=Object.getOwnPropertyDescriptor;var je=Object.getOwnPropertyNames;var Ye=Object.prototype.hasOwnProperty;var We=(e,t)=>{for(var r in t)ie(e,r,{get:t[r],enumerable:!0})},Ge=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of je(t))!Ye.call(e,n)&&n!==r&&ie(e,n,{get:()=>t[n],enumerable:!(o=Ve(t,n))||o.enumerable});return e};var qe=e=>Ge(ie({},"__esModule",{value:!0}),e);var yt={};We(yt,{autoInit:()=>ae,configure:()=>pe,createChatBubble:()=>fe,createFloatBubble:()=>V,createFullpage:()=>oe,createWidget:()=>ee,default:()=>vt,destroy:()=>Ue,destroyAll:()=>Ke,getConfig:()=>ce,init:()=>R,mount:()=>be,openPopup:()=>te,openSlider:()=>re});var xe="1.1.3",Q={RESIZE:1,THEME_SYNC:2,ANON_ID:4,SCROLLBAR_STYLES:8},ke=Q.RESIZE|Q.THEME_SYNC|Q.ANON_ID|Q.SCROLLBAR_STYLES,_={embed:"embed",embedType:"embed_type",theme:"theme"},C={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"},le=new Set([...Object.values(_),...Object.values(C)]),h={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"},y={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",requestScrollbarStyles:"perspective:request-scrollbar-styles"},Se={SDK_OUTDATED:"SDK_OUTDATED",INVALID_RESEARCH:"INVALID_RESEARCH",UNKNOWN:"UNKNOWN"},Ce={true:"true",false:"false"},b={dark:"dark",light:"light",system:"system"};var $={anonId:"perspective-anon-id",triggerShown:"perspective-trigger-shown"};function Te(e){let t=e.trim();if(t.startsWith("timeout:")){let r=parseInt(t.slice(8),10);if(isNaN(r)||r<0)throw new Error(`Invalid timeout delay: "${e}"`);return{type:"timeout",delay:r}}if(t==="timeout")return{type:"timeout",delay:5e3};if(t==="exit-intent")return{type:"exit-intent"};throw new Error(`Unknown trigger type: "${e}". Expected "timeout:<ms>" or "exit-intent".`)}function Le(e,t){if(e.type==="timeout"){let o=setTimeout(t,e.delay);return()=>clearTimeout(o)}if(e.type==="exit-intent"){let o=n=>{n.clientY<=0&&(t(),document.removeEventListener("mouseleave",o))};return document.addEventListener("mouseleave",o),()=>document.removeEventListener("mouseleave",o)}let r=e;throw new Error(`Unknown trigger type: ${r.type}`)}function Ae(e){return`${$.triggerShown}:${e}`}function Me(e){if(!e)return"session";let t=e.trim();return t==="visitor"?"visitor":t==="false"?!1:"session"}function He(e,t){if(t===!1)return!0;try{return(t==="visitor"?localStorage:sessionStorage).getItem(Ae(e))===null}catch{return!0}}function Ie(e,t){if(t!==!1)try{(t==="visitor"?localStorage:sessionStorage).setItem(Ae(e),"1")}catch{}}var Qe="https://getperspective.ai",U={};function pe(e){U={...U,...e}}function ce(){return{...U}}function m(){return typeof window<"u"&&typeof document<"u"}function Re(e){try{return new URL(e).origin}catch{return e}}function E(e){if(e)return Re(e);if(U.host)return Re(U.host);if(m()){let t=_e();if(t)return t}return Qe}var F=null;function _e(){if(F!==null)return F;if(!m())return null;let e=document.currentScript;if(e!=null&&e.src)try{return F=new URL(e.src).origin,F}catch{}return F="",null}m()&&_e();function w(...e){return e.map(t=>(t||"").split(" ")).flat().filter(Boolean).join(" ")}function x(e){return e&&e!==b.system?`perspective-${e}-theme`:void 0}function O(e){return e===b.dark?!0:e===b.light||!m()?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function De(e){return O(e)?"dark":"light"}function Oe(e){let t=e.trim();if(!t)return;let r=t.startsWith("#")?t:`#${t}`;if(/^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$/.test(r))return r;let o=r.slice(1).replace(/[^0-9a-fA-F]/g,"");if(o.length>=6)return`#${o.slice(0,6)}`;if(o.length>=3)return`#${o.slice(0,3)}`}function Ne(e,t){let r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!r||!r[1]||!r[2]||!r[3])return`rgba(118, 41, 200, ${t})`;let o=parseInt(r[1],16),n=parseInt(r[2],16),a=parseInt(r[3],16);return`rgba(${o}, ${n}, ${a}, ${t})`}function Ze(e){if(!e||typeof e!="string")return!1;if(e.startsWith("/")&&!e.startsWith("//")||e.startsWith("?")||e.startsWith("#"))return!0;try{let t=new URL(e,window.location.origin),r=t.protocol.toLowerCase(),o=t.hostname.toLowerCase();return r==="https:"||r==="http:"&&(o==="localhost"||o==="127.0.0.1")}catch{return!1}}function Xe(){if(!m())return"";try{let e=localStorage.getItem($.anonId);return e||(e=crypto.randomUUID(),localStorage.setItem($.anonId,e)),e}catch{return crypto.randomUUID()}}function Je(){if(!m())return{};let e={},t=new URLSearchParams(window.location.search);for(let[r,o]of t.entries())le.has(r)||(e[r]=o);return e}function et(e,t,r,o,n,a){let s=new URL(`${r}/interview/${e}`);if(s.searchParams.set(_.embed,Ce.true),s.searchParams.set(_.embedType,t==="float"?"chat":t),m()){let d=window.matchMedia("(prefers-color-scheme: dark)").matches;a&&a!==b.system?s.searchParams.set(_.theme,a):s.searchParams.set(_.theme,d?b.dark:b.light)}else s.searchParams.set(_.theme,a||b.light);let l=Je();for(let[d,c]of Object.entries(l))s.searchParams.set(d,c);let i=(d,c)=>{if(!c)return;let f=Oe(c);f&&s.searchParams.set(d,f)};if(n!=null&&n.light&&(i(C.primary,n.light.primary),i(C.secondary,n.light.secondary),i(C.bg,n.light.bg),i(C.text,n.light.text)),n!=null&&n.dark&&(i(C.darkPrimary,n.dark.primary),i(C.darkSecondary,n.dark.secondary),i(C.darkBg,n.dark.bg),i(C.darkText,n.dark.text)),o)for(let[d,c]of Object.entries(o))le.has(d)||s.searchParams.set(d,c);return s.toString()}function T(e,t,r,o,n,a){if(!m())return{};let s=document.createElement("iframe");return s.src=et(e,t,r,o,n,a),s.setAttribute("allow","microphone; camera"),s.setAttribute("allowfullscreen","true"),s.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation"),s.setAttribute("data-perspective","true"),s.style.cssText="border:none;",s}function L(e,t,r,o,n){if(!m())return()=>{};let a=s=>{var l,i,d,c,f;if(s.origin===o&&s.source===r.contentWindow&&typeof((l=s.data)==null?void 0:l.type)=="string"&&s.data.type.startsWith("perspective:")&&s.data.researchId===e)switch(s.data.type){case y.ready:me(r,o),Z(r,o,{type:y.anonId,anonId:Xe()}),Z(r,o,{type:y.init,version:xe,features:ke,researchId:e}),(i=t.onReady)==null||i.call(t);break;case y.resize:n!=null&&n.skipResize||(r.style.height=`${s.data.height}px`);break;case y.submit:(d=t.onSubmit)==null||d.call(t,{researchId:e});break;case y.close:(c=t.onClose)==null||c.call(t);break;case y.error:{let g=new Error(s.data.error);g.code=s.data.code||"UNKNOWN",g.code===Se.SDK_OUTDATED?console.error("[Perspective] SDK version outdated. Please update @perspective-ai/sdk to the latest version.",g.message):console.error("[Perspective] Embed error:",g.message),(f=t.onError)==null||f.call(t,g);break}case y.redirect:let p=s.data.url;if(!Ze(p)){console.warn("[Perspective] Blocked unsafe redirect URL:",p);return}t.onNavigate?t.onNavigate(p):window.location.href=p;break}};return window.addEventListener("message",a),()=>window.removeEventListener("message",a)}function Z(e,t,r){var o;m()&&((o=e.contentWindow)==null||o.postMessage(r,t))}var K=new Map;function A(e,t){return K.set(e,t),()=>{K.delete(e),K.size===0&&at()}}function tt(){if(!m())return"";let t=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: ${t} transparent;
@@ -402,5 +402,5 @@
402
402
  <path stroke-linecap="round" stroke-linejoin="round" d="M12 18.75a6 6 0 006-6v-1.5m-6 7.5a6 6 0 01-6-6v-1.5m6 7.5v3.75m-3.75 0h7.5M12 15.75a3 3 0 01-3-3V4.5a3 3 0 116 0v8.25a3 3 0 01-3 3z" />
403
403
  </svg>`;var D=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
404
404
  <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
405
- </svg>`;var J=new WeakMap;function pt(e,t){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:t,iframe:null,container:null}}function ct(e,t){let r=e.querySelector(".perspective-embed-root"),o=e.querySelector("iframe[data-perspective]"),n=!1,a=()=>{if(!n){if(n=!0,o){let s=J.get(o);s&&(s.cleanup(),s.unregister(),J.delete(o))}r==null||r.remove()}};return{unmount:a,update:()=>{},destroy:a,researchId:t,type:"widget",iframe:o,container:e}}function ee(e,t){let{researchId:r}=t;if(!m()||!e)return pt(r,"widget");if(e.querySelector("iframe[data-perspective]"))return ct(e,r);let o=E(t.host);I(),M();let n=document.createElement("div");n.className=w("perspective-embed-root",x(t.theme)),n.style.cssText="position:relative;width:100%;height:100%;min-height:500px;";let a=H({theme:t.theme,brand:t.brand});n.appendChild(a);let s=T(r,"widget",o,t.params,t.brand,t.theme);s.style.width="100%",s.style.height="100%",s.style.minHeight="500px",s.style.opacity="0",s.style.transition="opacity 0.3s ease",n.appendChild(s),e.appendChild(n);let l={...t},i=L(r,{get onReady(){return()=>{var p;a.style.opacity="0",s.style.opacity="1",setTimeout(()=>a.remove(),300),(p=l.onReady)==null||p.call(l)}},get onSubmit(){return l.onSubmit},get onNavigate(){return l.onNavigate},get onClose(){return l.onClose},get onError(){return l.onError}},s,o,{skipResize:!0}),d=A(s,o);J.set(s,{cleanup:i,unregister:d,wrapper:n});let c=!1,f=()=>{c||(c=!0,i(),d(),J.delete(s),n.remove())};return{unmount:f,update:p=>{l={...l,...p}},destroy:f,researchId:r,type:"widget",iframe:s,container:e}}function dt(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"popup",iframe:null,container:null}}function te(e){let{researchId:t}=e;if(!m())return dt(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-overlay perspective-embed-root",x(e.theme));let n=document.createElement("div");n.className="perspective-modal";let a=document.createElement("button");a.className="perspective-close",a.innerHTML=D,a.setAttribute("aria-label","Close");let s=H({theme:e.theme,brand:e.brand});s.style.borderRadius="16px";let l=T(t,"popup",r,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",n.appendChild(a),n.appendChild(s),n.appendChild(l),o.appendChild(n),document.body.appendChild(o);let i={...e},d=!0,c=null,f=A(l,r),p=()=>{var u;d&&(d=!1,c==null||c(),f(),o.remove(),document.removeEventListener("keydown",g),(u=i.onClose)==null||u.call(i))};c=L(t,{get onReady(){return()=>{var u;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(u=i.onReady)==null||u.call(i)}},get onSubmit(){return i.onSubmit},get onNavigate(){return i.onNavigate},get onClose(){return p},get onError(){return i.onError}},l,r,{skipResize:!0}),a.addEventListener("click",p),o.addEventListener("click",u=>{u.target===o&&p()});let g=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",g),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:t,type:"popup",iframe:l,container:o}}function mt(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"slider",iframe:null,container:null}}function re(e){let{researchId:t}=e;if(!m())return mt(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-slider-backdrop perspective-embed-root",x(e.theme));let n=document.createElement("div");n.className=w("perspective-slider perspective-embed-root",x(e.theme));let a=document.createElement("button");a.className="perspective-close",a.innerHTML=D,a.setAttribute("aria-label","Close");let s=H({theme:e.theme,brand:e.brand}),l=T(t,"slider",r,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",n.appendChild(a),n.appendChild(s),n.appendChild(l),document.body.appendChild(o),document.body.appendChild(n);let i={...e},d=!0,c=null,f=A(l,r),p=()=>{var u;d&&(d=!1,c==null||c(),f(),n.remove(),o.remove(),document.removeEventListener("keydown",g),(u=i.onClose)==null||u.call(i))};c=L(t,{get onReady(){return()=>{var u;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(u=i.onReady)==null||u.call(i)}},get onSubmit(){return i.onSubmit},get onNavigate(){return i.onNavigate},get onClose(){return p},get onError(){return i.onError}},l,r,{skipResize:!0}),a.addEventListener("click",p),o.addEventListener("click",p);let g=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",g),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:t,type:"slider",iframe:l,container:n}}function ut(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},open:()=>{},close:()=>{},toggle:()=>{},isOpen:!1,researchId:e,type:"float",iframe:null,container:null}}function V(e){var ye,Ee;let{researchId:t,_themeConfig:r,theme:o,brand:n}=e;if(!m())return ut(t);let a=E(e.host);I(),M();let s=document.createElement("button");if(s.className=w("perspective-float-bubble perspective-embed-root",x(e.theme)),s.innerHTML=ue,s.setAttribute("aria-label","Open chat"),s.setAttribute("data-perspective","float-bubble"),r||n){let S=O(o)?((ye=n==null?void 0:n.dark)==null?void 0:ye.primary)??(r==null?void 0:r.darkPrimaryColor)??"#a78bfa":((Ee=n==null?void 0:n.light)==null?void 0:Ee.primary)??(r==null?void 0:r.primaryColor)??"#7c3aed";s.style.setProperty("--perspective-float-bg",S),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${S}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${S}80`),s.style.backgroundColor=S,s.style.boxShadow=`0 4px 12px ${S}66`}document.body.appendChild(s);let l=null,i=null,d=null,c=null,f=!1,p={...e},g=()=>{if(f)return;f=!0,l=document.createElement("div"),l.className=w("perspective-float-window perspective-embed-root",x(p.theme));let k=document.createElement("button");k.className="perspective-close",k.innerHTML=D,k.setAttribute("aria-label","Close chat"),k.addEventListener("click",u);let S=H({theme:p.theme,brand:p.brand});S.style.borderRadius="16px",i=T(t,"float",a,p.params,p.brand,p.theme),i.style.opacity="0",i.style.transition="opacity 0.3s ease",l.appendChild(k),l.appendChild(S),l.appendChild(i),document.body.appendChild(l),d=L(t,{get onReady(){return()=>{var we;S.style.opacity="0",i.style.opacity="1",setTimeout(()=>S.remove(),300),(we=p.onReady)==null||we.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return u},get onError(){return p.onError}},i,a,{skipResize:!0}),i&&(c=A(i,a)),s.innerHTML=D,s.setAttribute("aria-label","Close chat")},u=()=>{var k;f&&(f=!1,d==null||d(),c==null||c(),l==null||l.remove(),l=null,i=null,d=null,c=null,s.innerHTML=ue,s.setAttribute("aria-label","Open chat"),(k=p.onClose)==null||k.call(p))};s.addEventListener("click",()=>{f?u():g()});let ve=()=>{u(),s.remove()};return{unmount:ve,update:k=>{p={...p,...k}},destroy:ve,open:g,close:u,toggle:()=>{f?u():g()},get isOpen(){return f},researchId:t,type:"float",get iframe(){return i},container:s}}var fe=V;function ft(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"fullpage",iframe:null,container:null}}function oe(e){let{researchId:t}=e;if(!m())return ft(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-embed-root perspective-fullpage",x(e.theme));let n=H({theme:e.theme,brand:e.brand});o.appendChild(n);let a=T(t,"fullpage",r,e.params,e.brand,e.theme);a.style.opacity="0",a.style.transition="opacity 0.3s ease",o.appendChild(a),document.body.appendChild(o);let s={...e},l=null,i=A(a,r),d=()=>{var c;l==null||l(),i(),o.remove(),(c=s.onClose)==null||c.call(s)};return l=L(t,{get onReady(){return()=>{var c;n.style.opacity="0",a.style.opacity="1",setTimeout(()=>n.remove(),300),(c=s.onReady)==null||c.call(s)}},get onSubmit(){return s.onSubmit},get onNavigate(){return s.onNavigate},get onClose(){return d},get onError(){return s.onError}},a,r,{skipResize:!0}),{unmount:d,update:c=>{s={...s,...c}},destroy:d,researchId:t,type:"fullpage",iframe:a,container:o}}var v=new Map,G=new Map,he=new Map,se=new Map,W=null,q={primaryColor:"#7c3aed",textColor:"#ffffff",darkPrimaryColor:"#a78bfa",darkTextColor:"#ffffff"};async function ge(e){if(he.has(e))return he.get(e);try{let t=E(),r=await fetch(`${t}/api/v1/embed/config/${e}`);if(!r.ok)return q;let o=await r.json();return he.set(e,o),o}catch{return q}}function ne(e,t,r){e.hasAttribute(h.noStyle)||(se.set(e,{themeConfig:t,theme:r==null?void 0:r.theme,brand:r==null?void 0:r.brand}),Fe(e,{themeConfig:t,theme:r==null?void 0:r.theme,brand:r==null?void 0:r.brand}))}function Fe(e,t){var i,d,c,f;let{themeConfig:r,theme:o,brand:n}=t,a=O(o),s=a?((i=n==null?void 0:n.dark)==null?void 0:i.primary)??r.darkPrimaryColor:((d=n==null?void 0:n.light)==null?void 0:d.primary)??r.primaryColor,l=a?((c=n==null?void 0:n.dark)==null?void 0:c.text)??r.darkTextColor:((f=n==null?void 0:n.light)==null?void 0:f.text)??r.textColor;e.style.backgroundColor=s,e.style.color=l,e.style.padding="10px 20px",e.style.border="none",e.style.borderRadius="8px",e.style.fontWeight="500",e.style.cursor="pointer"}function ht(){se.forEach((e,t)=>{document.contains(t)?Fe(t,e):se.delete(t)})}var B=null;function gt(){B||!m()||(W=window.matchMedia("(prefers-color-scheme: dark)"),B=()=>ht(),W.addEventListener("change",B))}function bt(){B&&W&&(W.removeEventListener("change",B),B=null,W=null)}function j(e){let t=e.getAttribute(h.params);if(!t)return;let r={};for(let o of t.split(",")){let[n,...a]=o.trim().split("=");n&&(r[n.trim()]=a.join("=").trim())}return Object.keys(r).length>0?r:void 0}function $e(e){if(!e)return;let t={};for(let r of e.split(",")){let[o,...n]=r.trim().split("=");if(o&&n.length>0){let a=n.join("=").trim();if(a){let s=o.trim();(s==="primary"||s==="secondary"||s==="bg"||s==="text")&&(t[s]=a)}}}return Object.keys(t).length>0?t:void 0}function Y(e){let t=$e(e.getAttribute(h.brand)),r=$e(e.getAttribute(h.brandDark)),o=e.getAttribute(h.theme),n={};return(t||r)&&(n.brand={},t&&(n.brand.light=t),r&&(n.brand.dark=r)),(o===b.dark||o===b.light||o===b.system)&&(n.theme=o),n}function R(e){let{researchId:t}=e,r=e.type==="chat"?"float":e.type??"widget";v.has(t)&&(v.get(t).unmount(),v.delete(t));let o;switch(r){case"popup":o=te(e);break;case"slider":o=re(e);break;case"float":o=V(e);break;case"fullpage":o=oe(e);break;default:throw new Error(`Unknown embed type "${r}". Valid types: popup, slider, float, fullpage (use init()), or widget (use mount()).`)}return v.set(t,o),o}function be(e,t){let{researchId:r}=t,o=t.type==="chat"?"float":t.type??"widget",n=typeof e=="string"?document.querySelector(e):e;if(!n)throw new Error(`Container not found: ${e}`);v.has(r)&&(v.get(r).unmount(),v.delete(r));let a;if(o==="widget")a=ee(n,t);else return a=R({...t,type:o}),a;return v.set(r,a),a}function Ue(e){let t=v.get(e);t&&(t.unmount(),v.delete(e))}function Ke(){v.forEach(e=>e.unmount()),v.clear(),G.forEach(e=>e()),G.clear(),se.clear(),bt()}function ae(){if(!m())return;gt(),document.querySelectorAll(`[${h.widget}]`).forEach(r=>{let o=r.getAttribute(h.widget);if(o&&!v.has(o)){let n=j(r),a=Y(r);be(r,{researchId:o,type:"widget",params:n,...a})}}),document.querySelectorAll(`[${h.fullpage}]`).forEach(r=>{let o=r.getAttribute(h.fullpage);if(o&&!v.has(o)){let n=j(r),a=Y(r);R({researchId:o,type:"fullpage",params:n,...a})}}),document.querySelectorAll(`[${h.popup}]`).forEach(r=>{var l;if(r.hasAttribute("data-perspective-initialized"))return;r.setAttribute("data-perspective-initialized","true");let o=r.getAttribute(h.popup);if(!o)return;let n=j(r),a=Y(r),s=r.getAttribute(h.autoOpen);if(s)try{let i=Te(s),d=Me(r.getAttribute(h.showOnce));if(He(o,d)){(l=G.get(o))==null||l();let c=Le(i,()=>{G.delete(o),Ie(o,d),R({researchId:o,type:"popup",params:n,...a})});G.set(o,c)}}catch(i){console.warn("[Perspective]",i.message)}else ne(r,q,a),r.addEventListener("click",i=>{i.preventDefault(),R({researchId:o,type:"popup",params:n,...a})}),ge(o).then(i=>{ne(r,i,a)})}),document.querySelectorAll(`[${h.slider}]`).forEach(r=>{if(r.hasAttribute("data-perspective-initialized"))return;r.setAttribute("data-perspective-initialized","true");let o=r.getAttribute(h.slider);if(o){let n=j(r),a=Y(r);ne(r,q,a),r.addEventListener("click",s=>{s.preventDefault(),R({researchId:o,type:"slider",params:n,...a})}),ge(o).then(s=>{ne(r,s,a)})}});let e=`[${h.float}], [${h.chat}]`,t=document.querySelector(e);if(t){let r=t.getAttribute(h.float)||t.getAttribute(h.chat);if(r&&!v.has(r)){let o=j(t),n=Y(t);R({researchId:r,type:"float",params:o,...n,_themeConfig:q}),ge(r).then(a=>{var l,i,d,c;let s=document.querySelector('[data-perspective="float-bubble"]');if(s&&!t.hasAttribute(h.noStyle)){let p=O(n.theme)?((i=(l=n.brand)==null?void 0:l.dark)==null?void 0:i.primary)??a.darkPrimaryColor:((c=(d=n.brand)==null?void 0:d.light)==null?void 0:c.primary)??a.primaryColor;s.style.setProperty("--perspective-float-bg",p),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${p}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${p}80`),s.style.backgroundColor=p,s.style.boxShadow=`0 4px 12px ${p}66`}})}}}var ze={configure:pe,getConfig:ce,init:R,mount:be,destroy:Ue,destroyAll:Ke,autoInit:ae,createWidget:ee,openPopup:te,openSlider:re,createFloatBubble:V,createFullpage:oe,createChatBubble:fe};m()&&!window.__PERSPECTIVE_SDK_INITIALIZED__&&(window.__PERSPECTIVE_SDK_INITIALIZED__=!0,document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ae,{once:!0}):ae(),window.Perspective=ze);var vt=ze;return qe(yt);})();
405
+ </svg>`;var J=new WeakMap;function pt(e,t){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:t,iframe:null,container:null}}function ct(e,t){let r=e.querySelector(".perspective-embed-root"),o=e.querySelector("iframe[data-perspective]"),n=!1,a=()=>{if(!n){if(n=!0,o){let s=J.get(o);s&&(s.cleanup(),s.unregister(),J.delete(o))}r==null||r.remove()}};return{unmount:a,update:()=>{},destroy:a,researchId:t,type:"widget",iframe:o,container:e}}function ee(e,t){let{researchId:r}=t;if(!m()||!e)return pt(r,"widget");if(e.querySelector("iframe[data-perspective]"))return ct(e,r);let o=E(t.host);I(),M();let n=document.createElement("div");n.className=w("perspective-embed-root",x(t.theme)),n.style.cssText="position:relative;width:100%;height:100%;min-height:500px;";let a=H({theme:t.theme,brand:t.brand});n.appendChild(a);let s=T(r,"widget",o,t.params,t.brand,t.theme);s.style.width="100%",s.style.height="100%",s.style.minHeight="500px",s.style.opacity="0",s.style.transition="opacity 0.3s ease",n.appendChild(s),e.appendChild(n);let l={...t},i=L(r,{get onReady(){return()=>{var p;a.style.opacity="0",s.style.opacity="1",setTimeout(()=>a.remove(),300),(p=l.onReady)==null||p.call(l)}},get onSubmit(){return l.onSubmit},get onNavigate(){return l.onNavigate},get onClose(){return l.onClose},get onError(){return l.onError}},s,o,{skipResize:!0}),d=A(s,o);J.set(s,{cleanup:i,unregister:d,wrapper:n});let c=!1,f=()=>{c||(c=!0,i(),d(),J.delete(s),n.remove())};return{unmount:f,update:p=>{l={...l,...p}},destroy:f,researchId:r,type:"widget",iframe:s,container:e}}function dt(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"popup",iframe:null,container:null}}function te(e){let{researchId:t}=e;if(!m())return dt(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-overlay perspective-embed-root",x(e.theme));let n=document.createElement("div");n.className="perspective-modal";let a=document.createElement("button");a.className="perspective-close",a.innerHTML=D,a.setAttribute("aria-label","Close");let s=H({theme:e.theme,brand:e.brand});s.style.borderRadius="16px";let l=T(t,"popup",r,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",n.appendChild(a),n.appendChild(s),n.appendChild(l),o.appendChild(n),document.body.appendChild(o);let i={...e},d=!0,c=null,f=A(l,r),p=()=>{var u;d&&(d=!1,c==null||c(),f(),o.remove(),document.removeEventListener("keydown",g),(u=i.onClose)==null||u.call(i))};c=L(t,{get onReady(){return()=>{var u;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(u=i.onReady)==null||u.call(i)}},get onSubmit(){return i.onSubmit},get onNavigate(){return i.onNavigate},get onClose(){return p},get onError(){return i.onError}},l,r,{skipResize:!0}),a.addEventListener("click",p),o.addEventListener("click",u=>{u.target===o&&p()});let g=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",g),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:t,type:"popup",iframe:l,container:o}}function mt(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"slider",iframe:null,container:null}}function re(e){let{researchId:t}=e;if(!m())return mt(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-slider-backdrop perspective-embed-root",x(e.theme));let n=document.createElement("div");n.className=w("perspective-slider perspective-embed-root",x(e.theme));let a=document.createElement("button");a.className="perspective-close",a.innerHTML=D,a.setAttribute("aria-label","Close");let s=H({theme:e.theme,brand:e.brand}),l=T(t,"slider",r,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",n.appendChild(a),n.appendChild(s),n.appendChild(l),document.body.appendChild(o),document.body.appendChild(n);let i={...e},d=!0,c=null,f=A(l,r),p=()=>{var u;d&&(d=!1,c==null||c(),f(),n.remove(),o.remove(),document.removeEventListener("keydown",g),(u=i.onClose)==null||u.call(i))};c=L(t,{get onReady(){return()=>{var u;s.style.opacity="0",l.style.opacity="1",setTimeout(()=>s.remove(),300),(u=i.onReady)==null||u.call(i)}},get onSubmit(){return i.onSubmit},get onNavigate(){return i.onNavigate},get onClose(){return p},get onError(){return i.onError}},l,r,{skipResize:!0}),a.addEventListener("click",p),o.addEventListener("click",p);let g=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",g),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:t,type:"slider",iframe:l,container:n}}function ut(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},open:()=>{},close:()=>{},toggle:()=>{},isOpen:!1,researchId:e,type:"float",iframe:null,container:null}}function V(e){var ye,Ee;let{researchId:t,_themeConfig:r,theme:o,brand:n}=e;if(!m())return ut(t);let a=E(e.host);I(),M();let s=document.createElement("button");if(s.className=w("perspective-float-bubble perspective-embed-root",x(e.theme)),s.innerHTML=ue,s.setAttribute("aria-label","Open chat"),s.setAttribute("data-perspective","float-bubble"),r||n){let S=O(o)?((ye=n==null?void 0:n.dark)==null?void 0:ye.primary)??(r==null?void 0:r.darkPrimaryColor)??"#a78bfa":((Ee=n==null?void 0:n.light)==null?void 0:Ee.primary)??(r==null?void 0:r.primaryColor)??"#7c3aed";s.style.setProperty("--perspective-float-bg",S),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${S}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${S}80`),s.style.backgroundColor=S,s.style.boxShadow=`0 4px 12px ${S}66`}document.body.appendChild(s);let l=null,i=null,d=null,c=null,f=!1,p={...e},g=()=>{if(f)return;f=!0,l=document.createElement("div"),l.className=w("perspective-float-window perspective-embed-root",x(p.theme));let k=document.createElement("button");k.className="perspective-close",k.innerHTML=D,k.setAttribute("aria-label","Close chat"),k.addEventListener("click",u);let S=H({theme:p.theme,brand:p.brand});S.style.borderRadius="16px",i=T(t,"float",a,p.params,p.brand,p.theme),i.style.opacity="0",i.style.transition="opacity 0.3s ease",l.appendChild(k),l.appendChild(S),l.appendChild(i),document.body.appendChild(l),d=L(t,{get onReady(){return()=>{var we;S.style.opacity="0",i.style.opacity="1",setTimeout(()=>S.remove(),300),(we=p.onReady)==null||we.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return u},get onError(){return p.onError}},i,a,{skipResize:!0}),i&&(c=A(i,a)),s.innerHTML=D,s.setAttribute("aria-label","Close chat")},u=()=>{var k;f&&(f=!1,d==null||d(),c==null||c(),l==null||l.remove(),l=null,i=null,d=null,c=null,s.innerHTML=ue,s.setAttribute("aria-label","Open chat"),(k=p.onClose)==null||k.call(p))};s.addEventListener("click",()=>{f?u():g()});let ve=()=>{u(),s.remove()};return{unmount:ve,update:k=>{p={...p,...k}},destroy:ve,open:g,close:u,toggle:()=>{f?u():g()},get isOpen(){return f},researchId:t,type:"float",get iframe(){return i},container:s}}var fe=V;function ft(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"fullpage",iframe:null,container:null}}function oe(e){let{researchId:t}=e;if(!m())return ft(t);let r=E(e.host);I(),M();let o=document.createElement("div");o.className=w("perspective-embed-root perspective-fullpage",x(e.theme));let n=H({theme:e.theme,brand:e.brand});o.appendChild(n);let a=T(t,"fullpage",r,e.params,e.brand,e.theme);a.style.opacity="0",a.style.transition="opacity 0.3s ease",o.appendChild(a),document.body.appendChild(o);let s={...e},l=null,i=A(a,r),d=()=>{var c;l==null||l(),i(),o.remove(),(c=s.onClose)==null||c.call(s)};return l=L(t,{get onReady(){return()=>{var c;n.style.opacity="0",a.style.opacity="1",setTimeout(()=>n.remove(),300),(c=s.onReady)==null||c.call(s)}},get onSubmit(){return s.onSubmit},get onNavigate(){return s.onNavigate},get onClose(){return d},get onError(){return s.onError}},a,r,{skipResize:!0}),{unmount:d,update:c=>{s={...s,...c}},destroy:d,researchId:t,type:"fullpage",iframe:a,container:o}}var v=new Map,W=new Map,he=new Map,se=new Map,G=null,q={primaryColor:"#7c3aed",textColor:"#ffffff",darkPrimaryColor:"#a78bfa",darkTextColor:"#ffffff"};async function ge(e){if(he.has(e))return he.get(e);try{let t=E(),r=await fetch(`${t}/api/v1/embed/config/${e}`);if(!r.ok)return q;let o=await r.json();return he.set(e,o),o}catch{return q}}function ne(e,t,r){e.hasAttribute(h.noStyle)||(se.set(e,{themeConfig:t,theme:r==null?void 0:r.theme,brand:r==null?void 0:r.brand}),Fe(e,{themeConfig:t,theme:r==null?void 0:r.theme,brand:r==null?void 0:r.brand}))}function Fe(e,t){var i,d,c,f;let{themeConfig:r,theme:o,brand:n}=t,a=O(o),s=a?((i=n==null?void 0:n.dark)==null?void 0:i.primary)??r.darkPrimaryColor:((d=n==null?void 0:n.light)==null?void 0:d.primary)??r.primaryColor,l=a?((c=n==null?void 0:n.dark)==null?void 0:c.text)??r.darkTextColor:((f=n==null?void 0:n.light)==null?void 0:f.text)??r.textColor;e.style.backgroundColor=s,e.style.color=l,e.style.padding="10px 20px",e.style.border="none",e.style.borderRadius="8px",e.style.fontWeight="500",e.style.cursor="pointer"}function ht(){se.forEach((e,t)=>{document.contains(t)?Fe(t,e):se.delete(t)})}var B=null;function gt(){B||!m()||(G=window.matchMedia("(prefers-color-scheme: dark)"),B=()=>ht(),G.addEventListener("change",B))}function bt(){B&&G&&(G.removeEventListener("change",B),B=null,G=null)}function j(e){let t=e.getAttribute(h.params);if(!t)return;let r={};for(let o of t.split(",")){let[n,...a]=o.trim().split("=");n&&(r[n.trim()]=a.join("=").trim())}return Object.keys(r).length>0?r:void 0}function $e(e){if(!e)return;let t={};for(let r of e.split(",")){let[o,...n]=r.trim().split("=");if(o&&n.length>0){let a=n.join("=").trim();if(a){let s=o.trim();(s==="primary"||s==="secondary"||s==="bg"||s==="text")&&(t[s]=a)}}}return Object.keys(t).length>0?t:void 0}function Y(e){let t=$e(e.getAttribute(h.brand)),r=$e(e.getAttribute(h.brandDark)),o=e.getAttribute(h.theme),n={};return(t||r)&&(n.brand={},t&&(n.brand.light=t),r&&(n.brand.dark=r)),(o===b.dark||o===b.light||o===b.system)&&(n.theme=o),n}function R(e){let{researchId:t}=e,r=e.type==="chat"?"float":e.type??"widget";v.has(t)&&(v.get(t).unmount(),v.delete(t));let o;switch(r){case"popup":o=te(e);break;case"slider":o=re(e);break;case"float":o=V(e);break;case"fullpage":o=oe(e);break;default:throw new Error(`Unknown embed type "${r}". Valid types: popup, slider, float, fullpage (use init()), or widget (use mount()).`)}return v.set(t,o),o}function be(e,t){let{researchId:r}=t,o=t.type==="chat"?"float":t.type??"widget",n=typeof e=="string"?document.querySelector(e):e;if(!n)throw new Error(`Container not found: ${e}`);v.has(r)&&(v.get(r).unmount(),v.delete(r));let a;if(o==="widget")a=ee(n,t);else return a=R({...t,type:o}),a;return v.set(r,a),a}function Ue(e){let t=v.get(e);t&&(t.unmount(),v.delete(e))}function Ke(){v.forEach(e=>e.unmount()),v.clear(),W.forEach(e=>e()),W.clear(),se.clear(),bt(),m()&&document.querySelectorAll("[data-perspective-initialized]").forEach(e=>e.removeAttribute("data-perspective-initialized"))}function ae(){if(!m())return;gt(),document.querySelectorAll(`[${h.widget}]`).forEach(r=>{let o=r.getAttribute(h.widget);if(o&&!v.has(o)){let n=j(r),a=Y(r);be(r,{researchId:o,type:"widget",params:n,...a})}}),document.querySelectorAll(`[${h.fullpage}]`).forEach(r=>{let o=r.getAttribute(h.fullpage);if(o&&!v.has(o)){let n=j(r),a=Y(r);R({researchId:o,type:"fullpage",params:n,...a})}}),document.querySelectorAll(`[${h.popup}]`).forEach(r=>{var l;if(r.hasAttribute("data-perspective-initialized"))return;r.setAttribute("data-perspective-initialized","true");let o=r.getAttribute(h.popup);if(!o)return;let n=j(r),a=Y(r),s=r.getAttribute(h.autoOpen);if(s)try{let i=Te(s),d=Me(r.getAttribute(h.showOnce));if(He(o,d)){(l=W.get(o))==null||l();let c=Le(i,()=>{W.delete(o),Ie(o,d),R({researchId:o,type:"popup",params:n,...a})});W.set(o,c)}}catch(i){console.warn("[Perspective]",i.message)}else ne(r,q,a),r.addEventListener("click",i=>{i.preventDefault(),R({researchId:o,type:"popup",params:n,...a})}),ge(o).then(i=>{ne(r,i,a)})}),document.querySelectorAll(`[${h.slider}]`).forEach(r=>{if(r.hasAttribute("data-perspective-initialized"))return;r.setAttribute("data-perspective-initialized","true");let o=r.getAttribute(h.slider);if(o){let n=j(r),a=Y(r);ne(r,q,a),r.addEventListener("click",s=>{s.preventDefault(),R({researchId:o,type:"slider",params:n,...a})}),ge(o).then(s=>{ne(r,s,a)})}});let e=`[${h.float}], [${h.chat}]`,t=document.querySelector(e);if(t){let r=t.getAttribute(h.float)||t.getAttribute(h.chat);if(r&&!v.has(r)){let o=j(t),n=Y(t);R({researchId:r,type:"float",params:o,...n,_themeConfig:q}),ge(r).then(a=>{var l,i,d,c;let s=document.querySelector('[data-perspective="float-bubble"]');if(s&&!t.hasAttribute(h.noStyle)){let p=O(n.theme)?((i=(l=n.brand)==null?void 0:l.dark)==null?void 0:i.primary)??a.darkPrimaryColor:((c=(d=n.brand)==null?void 0:d.light)==null?void 0:c.primary)??a.primaryColor;s.style.setProperty("--perspective-float-bg",p),s.style.setProperty("--perspective-float-shadow",`0 4px 12px ${p}66`),s.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${p}80`),s.style.backgroundColor=p,s.style.boxShadow=`0 4px 12px ${p}66`}})}}}var ze={configure:pe,getConfig:ce,init:R,mount:be,destroy:Ue,destroyAll:Ke,autoInit:ae,createWidget:ee,openPopup:te,openSlider:re,createFloatBubble:V,createFullpage:oe,createChatBubble:fe};m()&&!window.__PERSPECTIVE_SDK_INITIALIZED__&&(window.__PERSPECTIVE_SDK_INITIALIZED__=!0,document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ae,{once:!0}):ae(),window.Perspective=ze);var vt=ze;return qe(yt);})();
406
406
  //# sourceMappingURL=perspective.global.js.map