@perspective-ai/sdk 1.0.0-alpha.2
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.
- package/README.md +333 -0
- package/dist/browser.cjs +1939 -0
- package/dist/browser.cjs.map +1 -0
- package/dist/browser.d.cts +213 -0
- package/dist/browser.d.ts +213 -0
- package/dist/browser.js +1900 -0
- package/dist/browser.js.map +1 -0
- package/dist/cdn/perspective.global.js +406 -0
- package/dist/cdn/perspective.global.js.map +1 -0
- package/dist/constants.cjs +142 -0
- package/dist/constants.cjs.map +1 -0
- package/dist/constants.d.cts +104 -0
- package/dist/constants.d.ts +104 -0
- package/dist/constants.js +127 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.cjs +1596 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +155 -0
- package/dist/index.d.ts +155 -0
- package/dist/index.js +1579 -0
- package/dist/index.js.map +1 -0
- package/package.json +83 -0
- package/src/browser.test.ts +388 -0
- package/src/browser.ts +509 -0
- package/src/config.test.ts +81 -0
- package/src/config.ts +95 -0
- package/src/constants.ts +214 -0
- package/src/float.test.ts +332 -0
- package/src/float.ts +231 -0
- package/src/fullpage.test.ts +224 -0
- package/src/fullpage.ts +126 -0
- package/src/iframe.test.ts +1037 -0
- package/src/iframe.ts +421 -0
- package/src/index.ts +61 -0
- package/src/loading.ts +90 -0
- package/src/popup.test.ts +344 -0
- package/src/popup.ts +157 -0
- package/src/slider.test.ts +277 -0
- package/src/slider.ts +158 -0
- package/src/styles.ts +395 -0
- package/src/types.ts +148 -0
- package/src/utils.test.ts +162 -0
- package/src/utils.ts +86 -0
- package/src/widget.test.ts +375 -0
- package/src/widget.ts +195 -0
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
"use strict";var Perspective=(()=>{var ne=Object.defineProperty;var Oe=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var Ue=Object.prototype.hasOwnProperty;var Fe=(e,r)=>{for(var t in r)ne(e,t,{get:r[t],enumerable:!0})},$e=(e,r,t,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of Be(r))!Ue.call(e,a)&&a!==t&&ne(e,a,{get:()=>r[a],enumerable:!(o=Oe(r,a))||o.enumerable});return e};var ze=e=>$e(ne({},"__esModule",{value:!0}),e);var mt={};Fe(mt,{autoInit:()=>ae,configure:()=>le,createChatBubble:()=>ue,createFloatBubble:()=>K,createFullpage:()=>te,createWidget:()=>X,default:()=>ct,destroy:()=>De,destroyAll:()=>Pe,getConfig:()=>pe,init:()=>D,mount:()=>be,openPopup:()=>J,openSlider:()=>ee});var we="1.0.0",W={RESIZE:1,THEME_SYNC:2,ANON_ID:4,SCROLLBAR_STYLES:8},xe=W.RESIZE|W.THEME_SYNC|W.ANON_ID|W.SCROLLBAR_STYLES,R={email:"email",name:"name",returnUrl:"returnUrl",voice:"voice",scroll:"scroll",hideProgress:"hideProgress",hideGreeting:"hideGreeting",hideBranding:"hideBranding",mode:"mode",invite:"invite",embed:"embed",embedType:"embed_type",theme:"theme"},b={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"},se=["utm_source","utm_medium","utm_campaign","utm_term","utm_content"],ke=new Set([R.embed,R.embedType,R.theme,b.primary,b.secondary,b.bg,b.text,b.darkPrimary,b.darkSecondary,b.darkBg,b.darkText,...se]),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"},E={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"};var Ce={disabled:"0",enabled:"1",true:"true",false:"false"},g={dark:"dark",light:"light",system:"system"};var ie={anonId:"perspective-anon-id"};var Ke="https://getperspective.ai",F={};function le(e){F={...F,...e}}function pe(){return{...F}}function m(){return typeof window<"u"&&typeof document<"u"}function Se(e){try{return new URL(e).origin}catch{return e}}function w(e){if(e)return Se(e);if(F.host)return Se(F.host);if(m()){let r=Te();if(r)return r}return Ke}var U=null;function Te(){if(U!==null)return U;if(!m())return null;let e=document.currentScript;if(e!=null&&e.src)try{return U=new URL(e.src).origin,U}catch{}return U="",null}m()&&Te();function x(...e){return e.map(r=>(r||"").split(" ")).flat().filter(Boolean).join(" ")}function k(e){return e&&e!==g.system?`perspective-${e}-theme`:void 0}function P(e){return e===g.dark?!0:e===g.light||!m()?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function Le(e){return P(e)?"dark":"light"}function Ae(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 o=t.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 Me(e,r){let t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t||!t[1]||!t[2]||!t[3])return`rgba(118, 41, 200, ${r})`;let o=parseInt(t[1],16),a=parseInt(t[2],16),s=parseInt(t[3],16);return`rgba(${o}, ${a}, ${s}, ${r})`}function Ve(e){if(!e||typeof e!="string")return!1;try{let r=new URL(e,window.location.origin),t=r.protocol.toLowerCase(),o=r.hostname.toLowerCase();return t==="https:"||t==="http:"&&(o==="localhost"||o==="127.0.0.1")}catch{return!1}}function je(){if(!m())return"";try{let e=localStorage.getItem(ie.anonId);return e||(e=crypto.randomUUID(),localStorage.setItem(ie.anonId,e)),e}catch{return crypto.randomUUID()}}function Ye(){if(!m())return{};let e={},r=new URLSearchParams(window.location.search);for(let t of se){let o=r.get(t);o&&(e[t]=o)}return e}function Ge(e,r,t,o,a,s){let n=new URL(`${t}/interview/${e}`);if(n.searchParams.set(R.embed,Ce.true),n.searchParams.set(R.embedType,r==="float"?"chat":r),m()){let c=window.matchMedia("(prefers-color-scheme: dark)").matches;s&&s!==g.system?n.searchParams.set(R.theme,s):n.searchParams.set(R.theme,c?g.dark:g.light)}else n.searchParams.set(R.theme,s||g.light);let l=Ye();for(let[c,d]of Object.entries(l))n.searchParams.set(c,d);let i=(c,d)=>{if(!d)return;let f=Ae(d);f&&n.searchParams.set(c,f)};if(a!=null&&a.light&&(i(b.primary,a.light.primary),i(b.secondary,a.light.secondary),i(b.bg,a.light.bg),i(b.text,a.light.text)),a!=null&&a.dark&&(i(b.darkPrimary,a.dark.primary),i(b.darkSecondary,a.dark.secondary),i(b.darkBg,a.dark.bg),i(b.darkText,a.dark.text)),o)for(let[c,d]of Object.entries(o))ke.has(c)||n.searchParams.set(c,d);return n.toString()}function T(e,r,t,o,a,s){if(!m())return{};let n=document.createElement("iframe");return n.src=Ge(e,r,t,o,a,s),n.setAttribute("allow","microphone; camera"),n.setAttribute("allowfullscreen","true"),n.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms allow-popups allow-modals allow-top-navigation"),n.setAttribute("data-perspective","true"),n.style.cssText="border:none;",n}function L(e,r,t,o,a){if(!m())return()=>{};let s=n=>{var l,i,c,d,f;if(n.origin===o&&n.source===t.contentWindow&&typeof((l=n.data)==null?void 0:l.type)=="string"&&n.data.type.startsWith("perspective:")&&n.data.researchId===e)switch(n.data.type){case E.ready:ce(t,o),q(t,o,{type:E.anonId,anonId:je()}),q(t,o,{type:E.init,version:we,features:xe,researchId:e}),(i=r.onReady)==null||i.call(r);break;case E.resize:a!=null&&a.skipResize||(t.style.height=`${n.data.height}px`);break;case E.submit:(c=r.onSubmit)==null||c.call(r,{researchId:e});break;case E.close:(d=r.onClose)==null||d.call(r);break;case E.error:let p=new Error(n.data.error);p.code=n.data.code||"UNKNOWN",(f=r.onError)==null||f.call(r,p);break;case E.redirect:let y=n.data.url;if(!Ve(y)){console.warn("[Perspective] Blocked unsafe redirect URL:",y);return}r.onNavigate?r.onNavigate(y):window.location.href=y;break}};return window.addEventListener("message",s),()=>window.removeEventListener("message",s)}function q(e,r,t){var o;m()&&((o=e.contentWindow)==null||o.postMessage(t,r))}var $=new Map;function A(e,r){return $.set(e,r),()=>{$.delete(e),$.size===0&&Je()}}function We(){if(!m())return"";let r=window.matchMedia("(prefers-color-scheme: dark)").matches?"hsl(217 33% 17%)":"hsl(240 6% 90%)";return`
|
|
2
|
+
* {
|
|
3
|
+
scrollbar-width: thin;
|
|
4
|
+
scrollbar-color: ${r} transparent;
|
|
5
|
+
}
|
|
6
|
+
*::-webkit-scrollbar {
|
|
7
|
+
width: 10px;
|
|
8
|
+
height: 10px;
|
|
9
|
+
}
|
|
10
|
+
*::-webkit-scrollbar-track {
|
|
11
|
+
background: transparent;
|
|
12
|
+
}
|
|
13
|
+
*::-webkit-scrollbar-thumb {
|
|
14
|
+
background-color: ${r};
|
|
15
|
+
border-radius: 9999px;
|
|
16
|
+
border: 2px solid transparent;
|
|
17
|
+
background-clip: padding-box;
|
|
18
|
+
}
|
|
19
|
+
*::-webkit-scrollbar-thumb:hover {
|
|
20
|
+
background-color: color-mix(in srgb, ${r} 80%, currentColor);
|
|
21
|
+
}
|
|
22
|
+
`}function ce(e,r){let t=We();q(e,r,{type:E.injectStyles,styles:t})}function qe(){if(!m())return;let e=window.matchMedia("(prefers-color-scheme: dark)").matches;$.forEach((r,t)=>{let o={type:E.themeChange,theme:e?g.dark:g.light};q(t,r,o),ce(t,r)})}var N=null,z=null,O=null,de=!1;function Qe(){N||!m()||(z=window.matchMedia("(prefers-color-scheme: dark)"),N=()=>qe(),z.addEventListener("change",N))}function Ze(){N&&z&&(z.removeEventListener("change",N),N=null,z=null)}function Xe(){!m()||O||(Qe(),O=e=>{var r,t;if((t=(r=e.data)==null?void 0:r.type)!=null&&t.startsWith("perspective:")&&e.data.type===E.requestScrollbarStyles){let a=Array.from(document.querySelectorAll("iframe[data-perspective]")).find(s=>s.contentWindow===e.source);if(a){let s=$.get(a);s&&e.origin===s&&ce(a,s)}}},window.addEventListener("message",O))}function Je(){O&&(window.removeEventListener("message",O),O=null),Ze(),de=!1}function M(){de||(de=!0,Xe())}var Q={light:{bg:"#ffffff",primary:"#7629C8"},dark:{bg:"#02040a",primary:"#B170FF"}};function et(e){var a,s;let t=Le(e==null?void 0:e.theme)==="dark",o=t?(a=e==null?void 0:e.brand)==null?void 0:a.dark:(s=e==null?void 0:e.brand)==null?void 0:s.light;return{bg:(o==null?void 0:o.bg)||(t?Q.dark.bg:Q.light.bg),primary:(o==null?void 0:o.primary)||(t?Q.dark.primary:Q.light.primary)}}function H(e){if(!m())return{remove:()=>{},style:{}};let r=et(e),t=document.createElement("div");t.className="perspective-loading",t.style.cssText=`
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: 0;
|
|
25
|
+
left: 0;
|
|
26
|
+
right: 0;
|
|
27
|
+
bottom: 0;
|
|
28
|
+
display: flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
background: ${r.bg};
|
|
32
|
+
transition: opacity 0.3s ease;
|
|
33
|
+
z-index: 1;
|
|
34
|
+
`;let o=document.createElement("div");return o.style.cssText=`
|
|
35
|
+
width: 2.5rem;
|
|
36
|
+
height: 2.5rem;
|
|
37
|
+
border: 3px solid ${Me(r.primary,.15)};
|
|
38
|
+
border-top-color: ${r.primary};
|
|
39
|
+
border-radius: 50%;
|
|
40
|
+
animation: perspective-spin 0.8s linear infinite;
|
|
41
|
+
`,t.appendChild(o),t}var He=!1,tt=`
|
|
42
|
+
--perspective-overlay-bg: rgba(0, 0, 0, 0.5);
|
|
43
|
+
--perspective-modal-bg: #ffffff;
|
|
44
|
+
--perspective-modal-text: #151B23;
|
|
45
|
+
--perspective-close-bg: rgba(0, 0, 0, 0.1);
|
|
46
|
+
--perspective-close-text: #666666;
|
|
47
|
+
--perspective-close-hover-bg: rgba(0, 0, 0, 0.2);
|
|
48
|
+
--perspective-close-hover-text: #333333;
|
|
49
|
+
--perspective-border: hsl(240 6% 90%);
|
|
50
|
+
`,Ie=`
|
|
51
|
+
--perspective-overlay-bg: rgba(0, 0, 0, 0.7);
|
|
52
|
+
--perspective-modal-bg: #02040a;
|
|
53
|
+
--perspective-modal-text: #ffffff;
|
|
54
|
+
--perspective-close-bg: rgba(255, 255, 255, 0.1);
|
|
55
|
+
--perspective-close-text: #a0a0a0;
|
|
56
|
+
--perspective-close-hover-bg: rgba(255, 255, 255, 0.2);
|
|
57
|
+
--perspective-close-hover-text: #ffffff;
|
|
58
|
+
--perspective-border: hsl(217 33% 17%);
|
|
59
|
+
`;function I(){if(!m()||He)return;He=!0;let e=document.createElement("style");e.id="perspective-embed-styles",e.textContent=`
|
|
60
|
+
/* Theme-aware color variables */
|
|
61
|
+
.perspective-embed-root, .perspective-light-theme {
|
|
62
|
+
${tt}
|
|
63
|
+
--perspective-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
64
|
+
--perspective-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
65
|
+
--perspective-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
66
|
+
--perspective-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
|
67
|
+
--perspective-radius: 1.2rem;
|
|
68
|
+
--perspective-radius-sm: calc(var(--perspective-radius) - 4px);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* Dark theme */
|
|
72
|
+
.perspective-dark-theme {
|
|
73
|
+
${Ie}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* System dark mode support */
|
|
77
|
+
@media (prefers-color-scheme: dark) {
|
|
78
|
+
.perspective-embed-root:not(.perspective-light-theme) {
|
|
79
|
+
${Ie}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/* Scrollbar styling */
|
|
84
|
+
.perspective-modal,
|
|
85
|
+
.perspective-slider,
|
|
86
|
+
.perspective-float-window,
|
|
87
|
+
.perspective-chat-window {
|
|
88
|
+
scrollbar-width: thin;
|
|
89
|
+
scrollbar-color: var(--perspective-border) transparent;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.perspective-modal::-webkit-scrollbar,
|
|
93
|
+
.perspective-slider::-webkit-scrollbar,
|
|
94
|
+
.perspective-float-window::-webkit-scrollbar,
|
|
95
|
+
.perspective-chat-window::-webkit-scrollbar {
|
|
96
|
+
width: 10px;
|
|
97
|
+
height: 10px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.perspective-modal::-webkit-scrollbar-track,
|
|
101
|
+
.perspective-slider::-webkit-scrollbar-track,
|
|
102
|
+
.perspective-float-window::-webkit-scrollbar-track,
|
|
103
|
+
.perspective-chat-window::-webkit-scrollbar-track {
|
|
104
|
+
background: transparent;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.perspective-modal::-webkit-scrollbar-thumb,
|
|
108
|
+
.perspective-slider::-webkit-scrollbar-thumb,
|
|
109
|
+
.perspective-float-window::-webkit-scrollbar-thumb,
|
|
110
|
+
.perspective-chat-window::-webkit-scrollbar-thumb {
|
|
111
|
+
background-color: var(--perspective-border);
|
|
112
|
+
border-radius: 9999px;
|
|
113
|
+
border: 2px solid transparent;
|
|
114
|
+
background-clip: padding-box;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.perspective-modal::-webkit-scrollbar-thumb:hover,
|
|
118
|
+
.perspective-slider::-webkit-scrollbar-thumb:hover,
|
|
119
|
+
.perspective-float-window::-webkit-scrollbar-thumb:hover,
|
|
120
|
+
.perspective-chat-window::-webkit-scrollbar-thumb:hover {
|
|
121
|
+
background-color: color-mix(in srgb, var(--perspective-border) 80%, currentColor);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Overlay for popup/modal */
|
|
125
|
+
.perspective-overlay {
|
|
126
|
+
position: fixed;
|
|
127
|
+
inset: 0;
|
|
128
|
+
background: var(--perspective-overlay-bg);
|
|
129
|
+
display: flex;
|
|
130
|
+
align-items: center;
|
|
131
|
+
justify-content: center;
|
|
132
|
+
z-index: 9999;
|
|
133
|
+
animation: perspective-fade-in 0.2s ease-out;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
@keyframes perspective-fade-in {
|
|
137
|
+
from { opacity: 0; }
|
|
138
|
+
to { opacity: 1; }
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
@keyframes perspective-spin {
|
|
142
|
+
to { transform: rotate(360deg); }
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* Modal container */
|
|
146
|
+
.perspective-modal {
|
|
147
|
+
position: relative;
|
|
148
|
+
width: 90%;
|
|
149
|
+
max-width: 600px;
|
|
150
|
+
height: 80vh;
|
|
151
|
+
max-height: 700px;
|
|
152
|
+
background: var(--perspective-modal-bg);
|
|
153
|
+
color: var(--perspective-modal-text);
|
|
154
|
+
border-radius: var(--perspective-radius);
|
|
155
|
+
overflow: hidden;
|
|
156
|
+
box-shadow: var(--perspective-shadow-xl);
|
|
157
|
+
animation: perspective-slide-up 0.3s ease-out;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
@keyframes perspective-slide-up {
|
|
161
|
+
from {
|
|
162
|
+
opacity: 0;
|
|
163
|
+
transform: translateY(20px) scale(0.95);
|
|
164
|
+
}
|
|
165
|
+
to {
|
|
166
|
+
opacity: 1;
|
|
167
|
+
transform: translateY(0) scale(1);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.perspective-modal iframe {
|
|
172
|
+
width: 100%;
|
|
173
|
+
height: 100%;
|
|
174
|
+
border: none;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
/* Close button */
|
|
178
|
+
.perspective-close {
|
|
179
|
+
position: absolute;
|
|
180
|
+
top: 1rem;
|
|
181
|
+
right: 1.5rem;
|
|
182
|
+
width: 2rem;
|
|
183
|
+
height: 2rem;
|
|
184
|
+
border: none;
|
|
185
|
+
background: var(--perspective-close-bg);
|
|
186
|
+
color: var(--perspective-close-text);
|
|
187
|
+
border-radius: 50%;
|
|
188
|
+
cursor: pointer;
|
|
189
|
+
display: flex;
|
|
190
|
+
align-items: center;
|
|
191
|
+
justify-content: center;
|
|
192
|
+
font-size: 1rem;
|
|
193
|
+
z-index: 10;
|
|
194
|
+
transition: background-color 0.2s ease, color 0.2s ease;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.perspective-close:hover {
|
|
198
|
+
background: var(--perspective-close-hover-bg);
|
|
199
|
+
color: var(--perspective-close-hover-text);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.perspective-close:focus-visible {
|
|
203
|
+
outline: 2px solid currentColor;
|
|
204
|
+
outline-offset: 2px;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
.perspective-close svg {
|
|
208
|
+
width: 1rem;
|
|
209
|
+
height: 1rem;
|
|
210
|
+
stroke-width: 2;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/* Slider drawer */
|
|
214
|
+
.perspective-slider {
|
|
215
|
+
position: fixed;
|
|
216
|
+
top: 0;
|
|
217
|
+
right: 0;
|
|
218
|
+
width: 100%;
|
|
219
|
+
max-width: 450px;
|
|
220
|
+
height: 100%;
|
|
221
|
+
background: var(--perspective-modal-bg);
|
|
222
|
+
color: var(--perspective-modal-text);
|
|
223
|
+
box-shadow: var(--perspective-shadow-xl);
|
|
224
|
+
z-index: 9999;
|
|
225
|
+
animation: perspective-slide-in 0.3s ease-out;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
@keyframes perspective-slide-in {
|
|
229
|
+
from { transform: translateX(100%); }
|
|
230
|
+
to { transform: translateX(0); }
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.perspective-slider iframe {
|
|
234
|
+
width: 100%;
|
|
235
|
+
height: 100%;
|
|
236
|
+
border: none;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
.perspective-slider .perspective-close {
|
|
240
|
+
top: 1rem;
|
|
241
|
+
right: 2rem;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/* Slider backdrop */
|
|
245
|
+
.perspective-slider-backdrop {
|
|
246
|
+
position: fixed;
|
|
247
|
+
inset: 0;
|
|
248
|
+
background: var(--perspective-overlay-bg);
|
|
249
|
+
z-index: 9998;
|
|
250
|
+
animation: perspective-fade-in 0.2s ease-out;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* Float bubble (and legacy chat-bubble alias) */
|
|
254
|
+
.perspective-float-bubble,
|
|
255
|
+
.perspective-chat-bubble {
|
|
256
|
+
position: fixed;
|
|
257
|
+
bottom: 1.5rem;
|
|
258
|
+
right: 1.5rem;
|
|
259
|
+
width: 3.75rem;
|
|
260
|
+
height: 3.75rem;
|
|
261
|
+
border-radius: 50%;
|
|
262
|
+
background: var(--perspective-float-bg, var(--perspective-chat-bg, #7629C8));
|
|
263
|
+
color: white;
|
|
264
|
+
border: none;
|
|
265
|
+
cursor: pointer;
|
|
266
|
+
box-shadow: var(--perspective-float-shadow, var(--perspective-chat-shadow, 0 4px 12px rgba(118, 41, 200, 0.4)));
|
|
267
|
+
z-index: 9996;
|
|
268
|
+
display: flex;
|
|
269
|
+
align-items: center;
|
|
270
|
+
justify-content: center;
|
|
271
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
.perspective-float-bubble:hover,
|
|
275
|
+
.perspective-chat-bubble:hover {
|
|
276
|
+
transform: scale(1.05);
|
|
277
|
+
box-shadow: var(--perspective-float-shadow-hover, var(--perspective-chat-shadow-hover, 0 6px 16px rgba(118, 41, 200, 0.5)));
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
.perspective-float-bubble:focus-visible,
|
|
281
|
+
.perspective-chat-bubble:focus-visible {
|
|
282
|
+
outline: 2px solid currentColor;
|
|
283
|
+
outline-offset: 2px;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
.perspective-float-bubble svg,
|
|
287
|
+
.perspective-chat-bubble svg {
|
|
288
|
+
width: 1.75rem;
|
|
289
|
+
height: 1.75rem;
|
|
290
|
+
stroke-width: 2;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
/* Float window (and legacy chat-window alias) */
|
|
294
|
+
.perspective-float-window,
|
|
295
|
+
.perspective-chat-window {
|
|
296
|
+
position: fixed;
|
|
297
|
+
bottom: 6.25rem;
|
|
298
|
+
right: 1.5rem;
|
|
299
|
+
width: 380px;
|
|
300
|
+
height: calc(100vh - 8.75rem);
|
|
301
|
+
max-height: 600px;
|
|
302
|
+
background: var(--perspective-modal-bg);
|
|
303
|
+
color: var(--perspective-modal-text);
|
|
304
|
+
border-radius: var(--perspective-radius);
|
|
305
|
+
overflow: hidden;
|
|
306
|
+
box-shadow: var(--perspective-shadow-xl);
|
|
307
|
+
z-index: 9997;
|
|
308
|
+
animation: perspective-float-open 0.3s ease-out;
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
@keyframes perspective-float-open {
|
|
312
|
+
from {
|
|
313
|
+
opacity: 0;
|
|
314
|
+
transform: translateY(20px) scale(0.9);
|
|
315
|
+
}
|
|
316
|
+
to {
|
|
317
|
+
opacity: 1;
|
|
318
|
+
transform: translateY(0) scale(1);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.perspective-float-window iframe,
|
|
323
|
+
.perspective-chat-window iframe {
|
|
324
|
+
width: 100%;
|
|
325
|
+
height: 100%;
|
|
326
|
+
border: none;
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
.perspective-float-window .perspective-close,
|
|
330
|
+
.perspective-chat-window .perspective-close {
|
|
331
|
+
top: 1rem;
|
|
332
|
+
right: 1.5rem;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/* Fullpage */
|
|
336
|
+
.perspective-fullpage {
|
|
337
|
+
position: fixed;
|
|
338
|
+
inset: 0;
|
|
339
|
+
z-index: 9999;
|
|
340
|
+
background: var(--perspective-modal-bg);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
.perspective-fullpage iframe {
|
|
344
|
+
width: 100%;
|
|
345
|
+
height: 100%;
|
|
346
|
+
border: none;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/* Responsive */
|
|
350
|
+
@media (max-width: 640px) {
|
|
351
|
+
.perspective-modal {
|
|
352
|
+
width: 100%;
|
|
353
|
+
height: 100%;
|
|
354
|
+
max-width: none;
|
|
355
|
+
max-height: none;
|
|
356
|
+
border-radius: 0;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
.perspective-slider {
|
|
360
|
+
max-width: 100%;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
.perspective-float-window,
|
|
364
|
+
.perspective-chat-window {
|
|
365
|
+
width: calc(100% - 2rem);
|
|
366
|
+
right: 1rem;
|
|
367
|
+
bottom: 5.625rem;
|
|
368
|
+
height: calc(100vh - 7.5rem);
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
.perspective-float-bubble,
|
|
372
|
+
.perspective-chat-bubble {
|
|
373
|
+
bottom: 1rem;
|
|
374
|
+
right: 1rem;
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
@media (max-width: 450px) {
|
|
379
|
+
.perspective-float-window,
|
|
380
|
+
.perspective-chat-window {
|
|
381
|
+
width: calc(100% - 1rem);
|
|
382
|
+
right: 0.5rem;
|
|
383
|
+
bottom: 5rem;
|
|
384
|
+
height: calc(100vh - 6.5rem);
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.perspective-float-bubble,
|
|
388
|
+
.perspective-chat-bubble {
|
|
389
|
+
bottom: 0.75rem;
|
|
390
|
+
right: 0.75rem;
|
|
391
|
+
width: 3.5rem;
|
|
392
|
+
height: 3.5rem;
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.perspective-float-bubble svg,
|
|
396
|
+
.perspective-chat-bubble svg {
|
|
397
|
+
width: 1.5rem;
|
|
398
|
+
height: 1.5rem;
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
`,document.head.appendChild(e)}var me=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
|
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
|
+
</svg>`;var _=`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2">
|
|
404
|
+
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
|
405
|
+
</svg>`;var Z=new WeakMap;function rt(e,r){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:r,iframe:null,container:null}}function ot(e,r){let t=e.querySelector(".perspective-embed-root"),o=e.querySelector("iframe[data-perspective]"),a=!1,s=()=>{if(!a){if(a=!0,o){let n=Z.get(o);n&&(n.cleanup(),n.unregister(),Z.delete(o))}t==null||t.remove()}};return{unmount:s,update:()=>{},destroy:s,researchId:r,type:"widget",iframe:o,container:e}}function X(e,r){let{researchId:t}=r;if(!m()||!e)return rt(t,"widget");if(e.querySelector("iframe[data-perspective]"))return ot(e,t);let o=w(r.host);I(),M();let a=document.createElement("div");a.className=x("perspective-embed-root",k(r.theme)),a.style.cssText="position:relative;width:100%;height:100%;min-height:500px;";let s=H({theme:r.theme,brand:r.brand});a.appendChild(s);let n=T(t,"widget",o,r.params,r.brand,r.theme);n.style.width="100%",n.style.height="100%",n.style.minHeight="500px",n.style.opacity="0",n.style.transition="opacity 0.3s ease",a.appendChild(n),e.appendChild(a);let l={...r},i=L(t,{get onReady(){return()=>{var p;s.style.opacity="0",n.style.opacity="1",setTimeout(()=>s.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}},n,o,{skipResize:!0}),c=A(n,o);Z.set(n,{cleanup:i,unregister:c,wrapper:a});let d=!1,f=()=>{d||(d=!0,i(),c(),Z.delete(n),a.remove())};return{unmount:f,update:p=>{l={...l,...p}},destroy:f,researchId:t,type:"widget",iframe:n,container:e}}function at(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"popup",iframe:null,container:null}}function J(e){let{researchId:r}=e;if(!m())return at(r);let t=w(e.host);I(),M();let o=document.createElement("div");o.className=x("perspective-overlay perspective-embed-root",k(e.theme));let a=document.createElement("div");a.className="perspective-modal";let s=document.createElement("button");s.className="perspective-close",s.innerHTML=_,s.setAttribute("aria-label","Close");let n=H({theme:e.theme,brand:e.brand});n.style.borderRadius="16px";let l=T(r,"popup",t,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",a.appendChild(s),a.appendChild(n),a.appendChild(l),o.appendChild(a),document.body.appendChild(o);let i={...e},c=!0,d=null,f=A(l,t),p=()=>{var u;c&&(c=!1,d==null||d(),f(),o.remove(),document.removeEventListener("keydown",y),(u=i.onClose)==null||u.call(i))};d=L(r,{get onReady(){return()=>{var u;n.style.opacity="0",l.style.opacity="1",setTimeout(()=>n.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,t,{skipResize:!0}),s.addEventListener("click",p),o.addEventListener("click",u=>{u.target===o&&p()});let y=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",y),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:r,type:"popup",iframe:l,container:o}}function nt(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"slider",iframe:null,container:null}}function ee(e){let{researchId:r}=e;if(!m())return nt(r);let t=w(e.host);I(),M();let o=document.createElement("div");o.className=x("perspective-slider-backdrop perspective-embed-root",k(e.theme));let a=document.createElement("div");a.className=x("perspective-slider perspective-embed-root",k(e.theme));let s=document.createElement("button");s.className="perspective-close",s.innerHTML=_,s.setAttribute("aria-label","Close");let n=H({theme:e.theme,brand:e.brand}),l=T(r,"slider",t,e.params,e.brand,e.theme);l.style.opacity="0",l.style.transition="opacity 0.3s ease",a.appendChild(s),a.appendChild(n),a.appendChild(l),document.body.appendChild(o),document.body.appendChild(a);let i={...e},c=!0,d=null,f=A(l,t),p=()=>{var u;c&&(c=!1,d==null||d(),f(),a.remove(),o.remove(),document.removeEventListener("keydown",y),(u=i.onClose)==null||u.call(i))};d=L(r,{get onReady(){return()=>{var u;n.style.opacity="0",l.style.opacity="1",setTimeout(()=>n.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,t,{skipResize:!0}),s.addEventListener("click",p),o.addEventListener("click",p);let y=u=>{u.key==="Escape"&&p()};return document.addEventListener("keydown",y),{unmount:p,update:u=>{i={...i,...u}},destroy:p,researchId:r,type:"slider",iframe:l,container:a}}function st(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},open:()=>{},close:()=>{},toggle:()=>{},isOpen:!1,researchId:e,type:"float",iframe:null,container:null}}function K(e){var ve,ye;let{researchId:r,_themeConfig:t,theme:o,brand:a}=e;if(!m())return st(r);let s=w(e.host);I(),M();let n=document.createElement("button");if(n.className=x("perspective-float-bubble perspective-embed-root",k(e.theme)),n.innerHTML=me,n.setAttribute("aria-label","Open chat"),n.setAttribute("data-perspective","float-bubble"),t||a){let S=P(o)?((ve=a==null?void 0:a.dark)==null?void 0:ve.primary)??(t==null?void 0:t.darkPrimaryColor)??"#a78bfa":((ye=a==null?void 0:a.light)==null?void 0:ye.primary)??(t==null?void 0:t.primaryColor)??"#7c3aed";n.style.setProperty("--perspective-float-bg",S),n.style.setProperty("--perspective-float-shadow",`0 4px 12px ${S}66`),n.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${S}80`),n.style.backgroundColor=S,n.style.boxShadow=`0 4px 12px ${S}66`}document.body.appendChild(n);let l=null,i=null,c=null,d=null,f=!1,p={...e},y=()=>{if(f)return;f=!0,l=document.createElement("div"),l.className=x("perspective-float-window perspective-embed-root",k(p.theme));let C=document.createElement("button");C.className="perspective-close",C.innerHTML=_,C.setAttribute("aria-label","Close chat"),C.addEventListener("click",u);let S=H({theme:p.theme,brand:p.brand});S.style.borderRadius="16px",i=T(r,"float",s,p.params,p.brand,p.theme),i.style.opacity="0",i.style.transition="opacity 0.3s ease",l.appendChild(C),l.appendChild(S),l.appendChild(i),document.body.appendChild(l),c=L(r,{get onReady(){return()=>{var Ee;S.style.opacity="0",i.style.opacity="1",setTimeout(()=>S.remove(),300),(Ee=p.onReady)==null||Ee.call(p)}},get onSubmit(){return p.onSubmit},get onNavigate(){return p.onNavigate},get onClose(){return u},get onError(){return p.onError}},i,s,{skipResize:!0}),i&&(d=A(i,s)),n.innerHTML=_,n.setAttribute("aria-label","Close chat")},u=()=>{var C;f&&(f=!1,c==null||c(),d==null||d(),l==null||l.remove(),l=null,i=null,c=null,d=null,n.innerHTML=me,n.setAttribute("aria-label","Open chat"),(C=p.onClose)==null||C.call(p))};n.addEventListener("click",()=>{f?u():y()});let ge=()=>{u(),n.remove()};return{unmount:ge,update:C=>{p={...p,...C}},destroy:ge,open:y,close:u,toggle:()=>{f?u():y()},get isOpen(){return f},researchId:r,type:"float",get iframe(){return i},container:n}}var ue=K;function it(e){return{unmount:()=>{},update:()=>{},destroy:()=>{},researchId:e,type:"fullpage",iframe:null,container:null}}function te(e){let{researchId:r}=e;if(!m())return it(r);let t=w(e.host);I(),M();let o=document.createElement("div");o.className=x("perspective-embed-root perspective-fullpage",k(e.theme));let a=H({theme:e.theme,brand:e.brand});o.appendChild(a);let s=T(r,"fullpage",t,e.params,e.brand,e.theme);s.style.opacity="0",s.style.transition="opacity 0.3s ease",o.appendChild(s),document.body.appendChild(o);let n={...e},l=null,i=A(s,t),c=()=>{var d;l==null||l(),i(),o.remove(),(d=n.onClose)==null||d.call(n)};return l=L(r,{get onReady(){return()=>{var d;a.style.opacity="0",s.style.opacity="1",setTimeout(()=>a.remove(),300),(d=n.onReady)==null||d.call(n)}},get onSubmit(){return n.onSubmit},get onNavigate(){return n.onNavigate},get onClose(){return c},get onError(){return n.onError}},s,t,{skipResize:!0}),{unmount:c,update:d=>{n={...n,...d}},destroy:c,researchId:r,type:"fullpage",iframe:s,container:o}}var v=new Map,fe=new Map,oe=new Map,Y=null,G={primaryColor:"#7c3aed",textColor:"#ffffff",darkPrimaryColor:"#a78bfa",darkTextColor:"#ffffff"};async function he(e){if(fe.has(e))return fe.get(e);try{let r=w(),t=await fetch(`${r}/api/v1/embed/config/${e}`);if(!t.ok)return G;let o=await t.json();return fe.set(e,o),o}catch{return G}}function re(e,r,t){e.hasAttribute(h.noStyle)||(oe.set(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}),_e(e,{themeConfig:r,theme:t==null?void 0:t.theme,brand:t==null?void 0:t.brand}))}function _e(e,r){var i,c,d,f;let{themeConfig:t,theme:o,brand:a}=r,s=P(o),n=s?((i=a==null?void 0:a.dark)==null?void 0:i.primary)??t.darkPrimaryColor:((c=a==null?void 0:a.light)==null?void 0:c.primary)??t.primaryColor,l=s?((d=a==null?void 0:a.dark)==null?void 0:d.text)??t.darkTextColor:((f=a==null?void 0:a.light)==null?void 0:f.text)??t.textColor;e.style.backgroundColor=n,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 lt(){oe.forEach((e,r)=>{document.contains(r)?_e(r,e):oe.delete(r)})}var B=null;function pt(){B||!m()||(Y=window.matchMedia("(prefers-color-scheme: dark)"),B=()=>lt(),Y.addEventListener("change",B))}function dt(){B&&Y&&(Y.removeEventListener("change",B),B=null,Y=null)}function V(e){let r=e.getAttribute(h.params);if(!r)return;let t={};for(let o of r.split(",")){let[a,...s]=o.trim().split("=");a&&(t[a.trim()]=s.join("=").trim())}return Object.keys(t).length>0?t:void 0}function Re(e){if(!e)return;let r={};for(let t of e.split(",")){let[o,...a]=t.trim().split("=");if(o&&a.length>0){let s=a.join("=").trim();if(s){let n=o.trim();(n==="primary"||n==="secondary"||n==="bg"||n==="text")&&(r[n]=s)}}}return Object.keys(r).length>0?r:void 0}function j(e){let r=Re(e.getAttribute(h.brand)),t=Re(e.getAttribute(h.brandDark)),o=e.getAttribute(h.theme),a={};return(r||t)&&(a.brand={},r&&(a.brand.light=r),t&&(a.brand.dark=t)),(o===g.dark||o===g.light||o===g.system)&&(a.theme=o),a}function D(e){let{researchId:r}=e,t=e.type==="chat"?"float":e.type??"widget";v.has(r)&&(v.get(r).unmount(),v.delete(r));let o;switch(t){case"popup":o=J(e);break;case"slider":o=ee(e);break;case"float":o=K(e);break;case"fullpage":o=te(e);break;default:throw new Error(`Unknown embed type "${t}". Valid types: popup, slider, float, fullpage (use init()), or widget (use mount()).`)}return v.set(r,o),o}function be(e,r){let{researchId:t}=r,o=r.type==="chat"?"float":r.type??"widget",a=typeof e=="string"?document.querySelector(e):e;if(!a)throw new Error(`Container not found: ${e}`);v.has(t)&&(v.get(t).unmount(),v.delete(t));let s;if(o==="widget")s=X(a,r);else return s=D({...r,type:o}),s;return v.set(t,s),s}function De(e){let r=v.get(e);r&&(r.unmount(),v.delete(e))}function Pe(){v.forEach(e=>e.unmount()),v.clear(),oe.clear(),dt()}function ae(){if(!m())return;pt(),document.querySelectorAll(`[${h.widget}]`).forEach(t=>{let o=t.getAttribute(h.widget);if(o&&!v.has(o)){let a=V(t),s=j(t);be(t,{researchId:o,type:"widget",params:a,...s})}}),document.querySelectorAll(`[${h.fullpage}]`).forEach(t=>{let o=t.getAttribute(h.fullpage);if(o&&!v.has(o)){let a=V(t),s=j(t);D({researchId:o,type:"fullpage",params:a,...s})}}),document.querySelectorAll(`[${h.popup}]`).forEach(t=>{if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let o=t.getAttribute(h.popup);if(o){let a=V(t),s=j(t);re(t,G,s),t.addEventListener("click",n=>{n.preventDefault(),D({researchId:o,type:"popup",params:a,...s})}),he(o).then(n=>{re(t,n,s)})}}),document.querySelectorAll(`[${h.slider}]`).forEach(t=>{if(t.hasAttribute("data-perspective-initialized"))return;t.setAttribute("data-perspective-initialized","true");let o=t.getAttribute(h.slider);if(o){let a=V(t),s=j(t);re(t,G,s),t.addEventListener("click",n=>{n.preventDefault(),D({researchId:o,type:"slider",params:a,...s})}),he(o).then(n=>{re(t,n,s)})}});let e=`[${h.float}], [${h.chat}]`,r=document.querySelector(e);if(r){let t=r.getAttribute(h.float)||r.getAttribute(h.chat);if(t&&!v.has(t)){let o=V(r),a=j(r);D({researchId:t,type:"float",params:o,...a,_themeConfig:G}),he(t).then(s=>{var l,i,c,d;let n=document.querySelector('[data-perspective="float-bubble"]');if(n&&!r.hasAttribute(h.noStyle)){let p=P(a.theme)?((i=(l=a.brand)==null?void 0:l.dark)==null?void 0:i.primary)??s.darkPrimaryColor:((d=(c=a.brand)==null?void 0:c.light)==null?void 0:d.primary)??s.primaryColor;n.style.setProperty("--perspective-float-bg",p),n.style.setProperty("--perspective-float-shadow",`0 4px 12px ${p}66`),n.style.setProperty("--perspective-float-shadow-hover",`0 6px 16px ${p}80`),n.style.backgroundColor=p,n.style.boxShadow=`0 4px 12px ${p}66`}})}}}var Ne={configure:le,getConfig:pe,init:D,mount:be,destroy:De,destroyAll:Pe,autoInit:ae,createWidget:X,openPopup:J,openSlider:ee,createFloatBubble:K,createFullpage:te,createChatBubble:ue};m()&&!window.__PERSPECTIVE_SDK_INITIALIZED__&&(window.__PERSPECTIVE_SDK_INITIALIZED__=!0,document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ae,{once:!0}):ae(),window.Perspective=Ne);var ct=Ne;return ze(mt);})();
|
|
406
|
+
//# sourceMappingURL=perspective.global.js.map
|