@usero/sdk 1.1.1 → 1.1.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/dist/plugins/session-replay.cjs +2 -1
- package/dist/plugins/session-replay.cjs.map +1 -1
- package/dist/plugins/session-replay.d.cts +5 -0
- package/dist/plugins/session-replay.d.ts +5 -0
- package/dist/plugins/session-replay.js +2 -1
- package/dist/plugins/session-replay.js.map +1 -1
- package/dist/plugins/user-test.cjs +18 -3
- package/dist/plugins/user-test.cjs.map +1 -1
- package/dist/plugins/user-test.d.cts +5 -0
- package/dist/plugins/user-test.d.ts +5 -0
- package/dist/plugins/user-test.js +18 -3
- package/dist/plugins/user-test.js.map +1 -1
- package/dist/react.cjs +51 -1
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +5 -0
- package/dist/react.d.ts +5 -0
- package/dist/react.js +51 -1
- package/dist/react.js.map +1 -1
- package/dist/usero.iife.js +22 -22
- package/dist/usero.iife.js.map +1 -1
- package/dist/vanilla.cjs +51 -1
- package/dist/vanilla.cjs.map +1 -1
- package/dist/vanilla.d.cts +5 -0
- package/dist/vanilla.d.ts +5 -0
- package/dist/vanilla.js +51 -1
- package/dist/vanilla.js.map +1 -1
- package/package.json +1 -1
package/dist/usero.iife.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Usero=(function(exports){'use strict';var
|
|
1
|
+
var Usero=(function(exports){'use strict';var De={1:"\u{1F61E}",2:"\u{1F610}",3:"\u{1F60A}",4:"\u{1F929}"},Z={1:"Needs work",2:"It's okay",3:"Pretty good",4:"Amazing!"},He={1:"linear-gradient(135deg,#ff6b6b14,#ff6b6b1f)",2:"linear-gradient(135deg,#9ca3af0f,#9ca3af1a)",3:"linear-gradient(135deg,#3b82f614,#3b82f61f)",4:"linear-gradient(135deg,#f59e0b14,#f59e0b1f)"},j="https://usero.io",be={primary:"#2563eb",background:"#ffffff",text:"#374151",border:"#e5e7eb",shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},ee={primary:"#2563eb",background:"#1f2937",text:"#f9fafb",border:"#374151",shadow:"0 10px 15px -3px rgba(0, 0, 0, 0.3), 0 4px 6px -2px rgba(0, 0, 0, 0.2)"};function dt(e={}){return {...be,...e}}function ct(e){return typeof e=="object"&&e!==null&&"error"in e}function ut(e){if(typeof e!="object"||e===null)return {success:false,error:"Invalid response"};let n=e,r=n.success===true,s=typeof n.error=="string"?n.error:void 0,d=n.screenshot,o;if(typeof d=="object"&&d!==null){let a=d;typeof a.fileName=="string"&&typeof a.url=="string"&&typeof a.fileSize=="number"&&typeof a.mimeType=="string"&&(o={fileName:a.fileName,url:a.url,fileSize:a.fileSize,mimeType:a.mimeType,width:typeof a.width=="number"?a.width:void 0,height:typeof a.height=="number"?a.height:void 0});}return {success:r,error:s,screenshot:o}}var te=class{constructor(n=j){this.baseUrl=n.replace(/\/$/,"");}async submitFeedback(n){try{let r=await fetch(`${this.baseUrl}/api/feedback`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(n),signal:AbortSignal.timeout(1e4)});if(!r.ok){let o=`HTTP ${r.status}: ${r.statusText}`;try{let a=await r.json();ct(a)&&typeof a.error=="string"&&(o=a.error);}catch{}throw new Error(o)}let s=await r.json(),d=typeof s=="object"&&s!==null&&"message"in s&&typeof s.message=="string"?s.message:"Feedback submitted successfully";return {success:!0,data:s,message:d}}catch(r){return {success:false,error:r instanceof Error?r.message:"An unexpected error occurred"}}}async uploadScreenshot(n,r){let s=new FormData;s.append("screenshot",n),s.append("clientId",r);let d=await fetch(`${this.baseUrl}/api/screenshots`,{method:"POST",body:s,signal:AbortSignal.timeout(3e4)}),o={success:false};try{let a=await d.json();o=ut(a);}catch{}if(!d.ok||!o.success||!o.screenshot){let a=o.error??`HTTP ${d.status}: ${d.statusText}`;throw new Error(a)}return o.screenshot}ping(){fetch(`${this.baseUrl}/api/ping`,{signal:AbortSignal.timeout(5e3)}).catch(()=>{});}};function ft(e){if(e.startsWith("#")||typeof document>"u")return e;let r=document.createElement("canvas").getContext("2d");return r?(r.fillStyle=e,r.fillStyle):e}function he(e){let n=ft(e);if(!n.startsWith("#")||n.length<7)return n;let r=parseInt(n.slice(1,3),16),s=parseInt(n.slice(3,5),16),d=parseInt(n.slice(5,7),16),o=Math.max(0,r-60),a=Math.min(255,s+40),v=Math.min(255,d+20);return `#${[o,a,v].map(P=>P.toString(16).padStart(2,"0")).join("")}`}var ye="usero:anonymous-id",Ne="usero:session-replay:sdk-session-id",q=null,ne=null,ve=null,xe=null,re=null;function we(){if(typeof crypto<"u"&&typeof crypto.randomUUID=="function")return crypto.randomUUID();let e=new Uint8Array(16);if(typeof crypto<"u"&&typeof crypto.getRandomValues=="function")crypto.getRandomValues(e);else for(let r=0;r<e.length;r+=1)e[r]=Math.floor(Math.random()*256);let n="";for(let r of e)n+=r.toString(16).padStart(2,"0");return n}function pt(e){if(typeof window>"u")return null;try{return window.localStorage?.getItem(e)??null}catch{return null}}function We(e,n){if(!(typeof window>"u"))try{window.localStorage?.setItem(e,n);}catch{}}function gt(e){if(typeof window>"u")return null;try{return window.sessionStorage?.getItem(e)??null}catch{return null}}function mt(e,n){if(!(typeof window>"u"))try{window.sessionStorage?.setItem(e,n);}catch{}}function Se(){if(q)return q;let e=pt(ye);if(e&&/^[a-z0-9-]{8,}$/i.test(e))return q=e,e;let n=we();return We(ye,n),q=n,n}function bt(){let e=we();return q=e,We(ye,e),re=null,ve=null,e}function Be(){if(ne)return ne;let e=gt(Ne);if(e&&/^[a-z0-9-]{8,}$/i.test(e))return ne=e,e;let n=we();return mt(Ne,n),ne=n,n}function _e(){return ve}function je(e){xe===null&&(xe=e);}function qe(){return xe}function ht(e,n){let r=n.traits??{},d=Object.keys(r).sort().map(o=>[o,r[o]??null]);return JSON.stringify([e,n.id,n.email??null,n.displayName??null,d])}async function Ke(e,n){let r=Se();ve=n.id;let s=ht(r,n);if(s===re)return false;let d=`${e.apiUrl.replace(/\/$/,"")}/api/identify`,o=JSON.stringify({clientId:e.clientId,anonymousId:r,externalUserId:n.id,email:n.email,displayName:n.displayName,traits:n.traits});if(typeof document<"u"&&document.visibilityState==="hidden"&&typeof navigator<"u"&&typeof navigator.sendBeacon=="function")try{let a=new Blob([o],{type:"application/json"});if(navigator.sendBeacon(d,a))return re=s,!0}catch{}try{let a=await fetch(d,{method:"POST",headers:{"Content-Type":"application/json"},body:o,keepalive:!0});if(!a.ok)return !0;try{let v=await a.json();v&&v.accepted===!0&&(re=s);}catch{}return !0}catch{return false}}function Ge(){bt();}function Ve(e){let n=`[usero:${e}]`;return {debug:(...r)=>{typeof console<"u"&&console.debug(n,...r);},info:(...r)=>{typeof console<"u"&&console.info(n,...r);},warn:(...r)=>{typeof console<"u"&&console.warn(n,...r);},error:(...r)=>{typeof console<"u"&&console.error(n,...r);}}}function Je(e){let n=[],r=e.rating!=null,s=!!e.comment?.trim();return !r&&!s&&n.push("Add rating or comment"),r&&e.rating!==void 0&&![1,2,3,4].includes(e.rating)&&n.push("Invalid rating"),s&&e.comment!==void 0&&(e.comment.length>1e3&&n.push("Comment too long"),/<script[^>]*>.*?<\/script>/gi.test(e.comment)&&n.push("Invalid comment")),{isValid:n.length===0,errors:n}}var Ye=`
|
|
2
2
|
@keyframes spin {
|
|
3
3
|
0% { transform: rotate(0deg); }
|
|
4
4
|
100% { transform: rotate(360deg); }
|
|
@@ -423,52 +423,52 @@ var Usero=(function(exports){'use strict';var Me={1:"\u{1F61E}",2:"\u{1F610}",3:
|
|
|
423
423
|
.fb-el { font-size: 11px !important; }
|
|
424
424
|
.fb-sub { padding: 12px 20px !important; font-size: 16px !important; }
|
|
425
425
|
}
|
|
426
|
-
`;function
|
|
427
|
-
<div class="${["fb-ec",
|
|
428
|
-
<button type="button" class="fb-eb" data-rating="${l}" role="radio" aria-checked="${
|
|
429
|
-
<div class="fb-ei"><span role="img" aria-label="${Z[l]}">${
|
|
426
|
+
`;function yt(){return typeof window>"u"||typeof window.matchMedia!="function"?ee:window.matchMedia("(prefers-color-scheme: dark)").matches?ee:window.matchMedia("(prefers-color-scheme: light)").matches?be:ee}function ke(e){let n=yt();return e?{...n,...e}:n}var Xe="feedback_user_email";function T(e){return e.replace(/[&<>"']/g,n=>{switch(n){case "&":return "&";case "<":return "<";case ">":return ">";case '"':return """;case "'":return "'";default:return n}})}function xt(e,n){let r=e;for(let s of n){if(!s||typeof s!="object")continue;let{metadata:d,...o}=s;r={...r,...o},d&&typeof d=="object"&&(r.metadata={...r.metadata??{},...d});}return r}function vt(){if(typeof window>"u")return "";try{return window.localStorage.getItem(Xe)??""}catch{return ""}}function wt(e){try{window.localStorage.setItem(Xe,e);}catch{}}function Nt(e){if(typeof document>"u")return {destroy:()=>{},open:()=>{},close:()=>{},update:()=>{},whenReady:()=>Promise.resolve(),identify:()=>{}};let{clientId:n,baseUrl:r}=e;if(!n||n.length<3){let t=new Error("Invalid config. Contact admin.");return e.onError?.(t),{destroy:()=>{},open:()=>{},close:()=>{},update:()=>{},whenReady:()=>Promise.resolve(),identify:()=>{}}}let s=e.position??"right",d=e.theme,o=ke(d),a=e.title??"Share Feedback",v=e.placeholder??"Tell us what you think... (optional)",P=e.showEmailOption??true,K=e.showScreenshotOption??true,Ee=e.environment,oe=e.metadata,Ue=e.onSubmit,ie=e.onError,Te=e.onOpen,$e=e.onClose,G=e.getUser,V=e.user,se=new te(r),Qe={apiUrl:r??j,clientId:n},J=null,ae,le,de;function R(t){let i=t??null;if(i){if(i.id===J&&i.traits===ae&&i.email===le&&i.displayName===de)return;Ke(Qe,i),J=i.id,ae=i.traits,le=i.email,de=i.displayName;}else J!==null&&(Ge(),J=null,ae=void 0,le=void 0,de=void 0);}function ce(){if(G)try{R(G()??null);}catch{}}e.user!==void 0?R(e.user):G&&ce();let Y=e.plugins??[],ue=new Map,X=new Map,fe=[];for(let t of Y){let i={clientId:n,baseUrl:r??j,logger:Ve(t.name),getStore:()=>ue.get(t.name),setStore:g=>{ue.set(t.name,g);},resolveUser:()=>{N||(V!==void 0?R(V):ce());},getSdkSessionId:()=>Be(),getAnonymousId:()=>Se(),getUserId:()=>_e(),getReplayStartMs:()=>qe(),publishReplayStartMs:g=>je(g)};if(X.set(t.name,i),t.onInit){let g=(async()=>{try{await t.onInit?.(i);}catch(F){i.logger.error("onInit threw",F);}})();fe.push(g);}}let Ze=fe.length===0?Promise.resolve():Promise.all(fe).then(()=>{}),m=false,Q=false,M,w="",S=false,A=vt(),k=false,b=null,f=[],L=false,h=null,C=3,et=10*1024*1024,$=document.createElement("div");$.setAttribute("data-usero-widget",""),$.style.cssText="all: initial;",document.body.appendChild($);let O=$.attachShadow({mode:"open"});function tt(){ce();}function Ie(t){try{window.dispatchEvent(new CustomEvent("usero:shadow-update",{detail:{host:$,root:O,reason:t}}));}catch{}}Ie("mount");let Fe=document.createElement("style");Fe.textContent=Ye,O.appendChild(Fe);let E=document.createElement("button"),z=document.createElement("div"),c=document.createElement("div");O.appendChild(E),O.appendChild(z),O.appendChild(c);function nt(t){b=t,p();}function Pe(){m||(m=true,Q=true,M=void 0,w="",S=false,b=null,f=[],h=null,L=false,se.ping(),tt(),Te?.(),p(),Ie("panel-open"));}async function rt(t){if(h=null,!t.type.startsWith("image/")){h="Image files only",p();return}if(t.size>et){h="Max 10MB",p();return}if(f.length>=C){h=`Max ${C} screenshots`,p();return}L=true,p();try{let i=await se.uploadScreenshot(t,n);f=[...f,i];}catch(i){h=i instanceof Error?i.message:"Upload failed";}finally{L=false,p();}}function ot(t){f=f.filter((i,g)=>g!==t),p();}function D(){m&&(m=false,$e?.(),p());}async function Re(){if(k)return;k=true,b=null,p();let t={rating:M,comment:w.trim()||void 0,userEmail:S?A:void 0,screenshots:f.length>0?f:void 0,metadata:{pageUrl:window.location.href,pageTitle:document.title||"Untitled Page",referrer:document.referrer||void 0,timestamp:Date.now()}},i={clientId:n,rating:t.rating,comment:t.comment,userEmail:t.userEmail,pageUrl:t.metadata.pageUrl,pageTitle:t.metadata.pageTitle,referrer:t.metadata.referrer,environment:Ee};f.length>0&&(i.screenshots=f),oe!==void 0&&(i.metadata=oe);let g=Je(i);if(!g.isValid){k=false,nt({type:"error",text:g.errors.join(", ")});return}let F=i;if(Y.length>0){let x=Y.map(async W=>{if(!W.onFeedbackSubmit)return;let U=X.get(W.name);if(U)try{return await W.onFeedbackSubmit(U,i)}catch(pe){U.logger.error("onFeedbackSubmit threw",pe);return}}),y=await Promise.all(x);F=xt(i,y);}try{let x=await se.submitFeedback(F);if(x.success)S&&A&&wt(A),Ue?.(t),M=void 0,w="",S=!1,f=[],h=null,b={type:"success",text:"Thank you!"};else {let y=x.error??"Error occurred. Try again.";ie?.(new Error(y)),b={type:"error",text:y};}}catch(x){let y=x instanceof Error?x.message:"Error occurred. Try again.";ie?.(new Error(y)),b={type:"error",text:y};}finally{k=false,p();}}function it(){E.className=`fb-btn fb-btn--${s} ${m?"fb-btn--open":""}`,E.setAttribute("aria-label","Open feedback"),E.type="button",E.style.background=`linear-gradient(135deg, ${o.primary}, ${he(o.primary)})`,E.innerHTML=m?'<span style="font-size:20px;">\u2715</span>':"";}function st(){z.className="fb-backdrop",z.style.display=m?"block":"none",z.setAttribute("aria-label","Close modal");}function at(){c.className=`fb-pnl-base fb-pnl--${s} ${m?"fb-pnl--open":"fb-pnl--closed"}`,c.style.backgroundColor=o.background,s==="right"?(c.style.borderLeft=`1px solid ${o.border}`,c.style.borderRight=""):(c.style.borderRight=`1px solid ${o.border}`,c.style.borderLeft=""),c.setAttribute("role","dialog"),c.setAttribute("aria-modal","true"),c.setAttribute("aria-labelledby","usero-feedback-title");let t=1e3-w.length,i=t<50,g=[1,2,3,4].map(l=>{let u=M===l,me=He[l];return `
|
|
427
|
+
<div class="${["fb-ec",u&&"fb-ec--sel"].filter(Boolean).join(" ")}" style="background:${me}">
|
|
428
|
+
<button type="button" class="fb-eb" data-rating="${l}" role="radio" aria-checked="${u}" aria-label="${l}: ${Z[l]}" style="color:${o.text}">
|
|
429
|
+
<div class="fb-ei"><span role="img" aria-label="${Z[l]}">${De[l]}</span></div>
|
|
430
430
|
<div class="fb-el" style="color:${o.text}">${Z[l]}</div>
|
|
431
431
|
</button>
|
|
432
432
|
</div>
|
|
433
|
-
`}).join(""),
|
|
433
|
+
`}).join(""),F=b?`<div class="fb-msg fb-msg--header ${b.type==="success"?"fb-msg--ok":"fb-msg--err"}">${b.type==="success"?"\u2713":"\u26A0"} ${T(b.text)}</div>`:"",x=K?(()=>{let l=f.length>=C,u=L||l;return `
|
|
434
434
|
<input type="file" accept="image/*" data-role="screenshot-input" style="display:none;" aria-label="Choose screenshot" />
|
|
435
|
-
<button type="button" class="fb-upb ${
|
|
436
|
-
${
|
|
435
|
+
<button type="button" class="fb-upb ${u?"fb-upb--dis":""}" data-role="screenshot-pick" ${u?"disabled":""} style="border:1px solid ${o.border};color:${o.text};">
|
|
436
|
+
${L?'<span class="fb-ups"></span> Uploading...':"\u{1F4F7} Add screenshot"}
|
|
437
437
|
</button>
|
|
438
|
-
`})():"",y=K?(()=>{let l=
|
|
438
|
+
`})():"",y=K?(()=>{let l=f.length>=C,u=f.map((lt,ze)=>`
|
|
439
439
|
<div class="fb-sp">
|
|
440
|
-
<img src="${T(
|
|
441
|
-
<button type="button" class="fb-sr" data-role="screenshot-remove" data-index="${
|
|
440
|
+
<img src="${T(lt.url)}" alt="Screenshot ${ze+1}" class="fb-si" />
|
|
441
|
+
<button type="button" class="fb-sr" data-role="screenshot-remove" data-index="${ze}" aria-label="Remove screenshot">\u2715</button>
|
|
442
442
|
</div>
|
|
443
|
-
`).join(""),me=h?`<div class="fb-upe">\u26A0 ${T(h)}</div>`:"",
|
|
443
|
+
`).join(""),me=h?`<div class="fb-upe">\u26A0 ${T(h)}</div>`:"",Oe=l?`<div class="fb-sl">Max ${C}</div>`:"";return h||f.length>0||l?`<div class="fb-up-extras">${me}${f.length>0?`<div class="fb-ss">${u}</div>`:""}${Oe}</div>`:""})():"",W=P?`
|
|
444
444
|
<div class="fb-email">
|
|
445
445
|
<label class="fb-email-lbl" style="color:${o.text}">
|
|
446
|
-
<input type="checkbox" class="fb-email-cb" data-role="share-email" ${
|
|
446
|
+
<input type="checkbox" class="fb-email-cb" data-role="share-email" ${S?"checked":""} aria-label="Share email" />
|
|
447
447
|
<span>Share my email</span>
|
|
448
448
|
</label>
|
|
449
|
-
${
|
|
449
|
+
${S?`<input type="email" class="fb-email-inp" data-role="email-input" value="${T(A)}" placeholder="your.email@example.com" aria-label="Email" maxlength="254" autocomplete="email" style="border:1px solid ${o.border};color:${o.text};background-color:${o.background};" />`:""}
|
|
450
450
|
</div>
|
|
451
|
-
`:"",U=
|
|
451
|
+
`:"",U=k,pe=`background:linear-gradient(135deg, ${o.primary}, ${he(o.primary)});color:#ffffff;${U?"opacity:0.6;cursor:not-allowed;":""}`;c.innerHTML=`
|
|
452
452
|
<div class="fb-cnt">
|
|
453
453
|
<div class="fb-hdr" style="border-bottom:1px solid ${o.border}">
|
|
454
454
|
<h2 id="usero-feedback-title" class="fb-ttl" style="color:${o.text}">${T(a)}</h2>
|
|
455
|
-
${
|
|
455
|
+
${F}
|
|
456
456
|
<button class="fb-close-btn" data-role="close" style="color:${o.text}" aria-label="Close" type="button">\u2715</button>
|
|
457
457
|
</div>
|
|
458
458
|
<form data-role="form">
|
|
459
|
-
<div class="fb-es" role="radiogroup" aria-label="Rate experience">${
|
|
459
|
+
<div class="fb-es" role="radiogroup" aria-label="Rate experience">${g}</div>
|
|
460
460
|
<textarea class="fb-ta" data-role="comment" placeholder="${T(v)}" aria-label="Comments" maxlength="1000" rows="2" style="border:1px solid ${o.border};color:${o.text};background-color:${o.background};">${T(w)}</textarea>
|
|
461
461
|
<div class="fb-toolrow">
|
|
462
462
|
${x}
|
|
463
463
|
<div class="fb-charcount${i?" fb-charcount--low":""}" data-role="charcount" style="color:${i?"#dc2626":o.text};opacity:${i?1:.6};">${t} chars remaining</div>
|
|
464
464
|
</div>
|
|
465
465
|
${y?`<div class="fb-up">${y}</div>`:""}
|
|
466
|
-
${
|
|
467
|
-
<button class="fb-sub ${U?"fb-sub--dis":""}" type="submit" aria-label="Submit" ${U?"disabled":""} style="${
|
|
468
|
-
${
|
|
469
|
-
${
|
|
466
|
+
${W}
|
|
467
|
+
<button class="fb-sub ${U?"fb-sub--dis":""}" type="submit" aria-label="Submit" ${U?"disabled":""} style="${pe}">
|
|
468
|
+
${k?'<span class="fb-spin"></span>':""}
|
|
469
|
+
${k?"Submitting...":"Send Feedback \u{1F680}"}
|
|
470
470
|
</button>
|
|
471
471
|
</form>
|
|
472
472
|
</div>
|
|
473
|
-
`,c.querySelector('form[data-role="form"]')?.addEventListener("submit",l=>{l.preventDefault(),
|
|
473
|
+
`,c.querySelector('form[data-role="form"]')?.addEventListener("submit",l=>{l.preventDefault(),Re();}),c.querySelector('button[data-role="close"]')?.addEventListener("click",D),c.querySelectorAll("button[data-rating]").forEach(l=>{l.addEventListener("click",()=>{let u=l.dataset.rating;(u==="1"||u==="2"||u==="3"||u==="4")&&(M=Number(u),Q=true,p());});});let B=c.querySelector('textarea[data-role="comment"]');B&&(Q&&(Q=false,requestAnimationFrame(()=>B.focus({preventScroll:true}))),B.addEventListener("input",()=>{if(B.value.length<=1e3){w=B.value;let l=c.querySelector('[data-role="charcount"]');if(l){let u=1e3-w.length;l.textContent=`${u} chars remaining`,l.style.color=u<50?"#dc2626":o.text,l.style.opacity=u<50?"1":"0.6";}}}));let Ce=c.querySelector('input[data-role="share-email"]');Ce?.addEventListener("change",()=>{S=Ce.checked,p();});let ge=c.querySelector('input[data-role="email-input"]');ge?.addEventListener("input",()=>{ge.value.length<=254&&(A=ge.value);});let _=c.querySelector('input[data-role="screenshot-input"]');c.querySelector('button[data-role="screenshot-pick"]')?.addEventListener("click",()=>{_?.click();}),_?.addEventListener("change",()=>{let l=_.files?.[0];l&&rt(l).finally(()=>{_&&(_.value="");});}),c.querySelectorAll('button[data-role="screenshot-remove"]').forEach(l=>{l.addEventListener("click",()=>{let u=Number(l.dataset.index);Number.isInteger(u)&&ot(u);});});}function p(){it(),st(),at();}E.addEventListener("click",()=>{m?D():Pe();}),z.addEventListener("click",D);let Me=t=>{m&&(t.key==="Escape"&&D(),t.key==="Enter"&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),Re()));};document.addEventListener("keydown",Me);let I=null,H=null;function Ae(){I&&H&&I.removeEventListener("change",H),I=null,H=null;}function Le(){I||typeof window>"u"||typeof window.matchMedia!="function"||(I=window.matchMedia("(prefers-color-scheme: dark)"),H=()=>{d===void 0&&(o=ke(void 0),p());},I.addEventListener("change",H));}d===void 0&&Le(),p();let N=false;return {destroy:()=>{if(!N){N=true,document.removeEventListener("keydown",Me),Ae();for(let t of Y){if(!t.onDestroy)continue;let i=X.get(t.name);if(i)try{t.onDestroy(i);}catch(g){i.logger.error("onDestroy threw",g);}}ue.clear(),X.clear(),$.remove();}},open:Pe,close:D,whenReady:()=>Ze,identify:t=>{N||(V=t,R(t));},update:t=>{if(N)return;let i=false;t.position!==void 0&&t.position!==s&&(s=t.position,i=true),"theme"in t&&(d=t.theme,o=ke(d),d===void 0?Le():Ae(),i=true),t.title!==void 0&&t.title!==a&&(a=t.title,i=true),t.placeholder!==void 0&&t.placeholder!==v&&(v=t.placeholder,i=true),t.showEmailOption!==void 0&&t.showEmailOption!==P&&(P=t.showEmailOption,i=true),t.showScreenshotOption!==void 0&&t.showScreenshotOption!==K&&(K=t.showScreenshotOption,i=true),"environment"in t&&(Ee=t.environment),"metadata"in t&&(oe=t.metadata),"onSubmit"in t&&(Ue=t.onSubmit),"onError"in t&&(ie=t.onError),"onOpen"in t&&(Te=t.onOpen),"onClose"in t&&($e=t.onClose),"getUser"in t&&(G=t.getUser),"user"in t&&(V=t.user,R(t.user)),i&&p();}}}exports.DARK_THEME=ee;exports.DEFAULT_THEME=be;exports.initUseroFeedbackWidget=Nt;exports.mergePluginPatches=xt;exports.mergeTheme=dt;exports.resolveTheme=ke;return exports;})({});//# sourceMappingURL=usero.iife.js.map
|
|
474
474
|
//# sourceMappingURL=usero.iife.js.map
|