gotcha-feedback 1.2.0 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,14 +1,14 @@
1
- import {createContext,useState,useMemo,useEffect,useCallback,useRef,useContext}from'react';import {jsx,jsxs}from'react/jsx-runtime';import {createPortal}from'react-dom';var Eo="https://gotcha.cx/api/v1";var j={ANONYMOUS_ID:"gotcha_anonymous_id",OFFLINE_QUEUE:"gotcha_offline_queue",HIDDEN_UNTIL:"gotcha_hidden",VISIT_COUNT:"gotcha_visits"},te={POSITION:"top-right",SIZE:"md",THEME:"light",SHOW_ON_HOVER:true,TOUCH_BEHAVIOR:"always-visible",SUBMIT_TEXT:"Submit",THANK_YOU_MESSAGE:"Gotcha!"},Ne={MAX_RETRIES:2,BASE_DELAY_MS:500,MAX_DELAY_MS:5e3};function re(e){if(typeof window>"u")return null;try{return localStorage.getItem(e)}catch{return null}}function ne(e,r){if(!(typeof window>"u"))try{localStorage.setItem(e,r);}catch{}}function se(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=Math.random()*16|0;return (e==="x"?r:r&3|8).toString(16)})}function He(){let e=re(j.ANONYMOUS_ID);if(e)return e;let r=`anon_${se()}`;return ne(j.ANONYMOUS_ID,r),r}var Oe=[],We=false;function To(e,r){let o={message:e.slice(0,200),source:r?.slice(0,200),timestamp:Date.now()};Oe.push(o),Oe.length>10&&Oe.shift();}function ko(e){To(e.message,e.filename);}function Ao(e){let r=e.reason instanceof Error?e.reason.message:String(e.reason);To(r);}function Co(){typeof window>"u"||We||(window.addEventListener("error",ko),window.addEventListener("unhandledrejection",Ao),We=true);}function Fo(){typeof window>"u"||!We||(window.removeEventListener("error",ko),window.removeEventListener("unhandledrejection",Ao),We=false);}function Ro(){return [...Oe].reverse()}function Bo(){return typeof window>"u"?{}:{url:window.location.origin+window.location.pathname,userAgent:navigator.userAgent,viewport:{width:window.innerWidth,height:window.innerHeight},language:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenResolution:{width:screen.width,height:screen.height},recentErrors:Ro()}}var At=50,Ct=10080*60*1e3;function Be(){let e=re(j.OFFLINE_QUEUE);if(!e)return [];try{let r=JSON.parse(e),o=Date.now();return r.filter(t=>o-t.queuedAt<Ct)}catch{return []}}function _e(e){ne(j.OFFLINE_QUEUE,JSON.stringify(e));}function eo(e,r="create"){let o=Be();o.length>=At||(o.push({id:se(),payload:e,type:r,queuedAt:Date.now(),retries:0}),_e(o));}function Mo(e){let r=Be().filter(o=>o.id!==e);_e(r);}function Go(){return Be()}function Lo(){return Be().length}function Io(e){let r=Be().map(o=>o.id===e?{...o,retries:o.retries+1}:o);_e(r.filter(o=>o.retries<=5));}var xe={maxRetries:Ne.MAX_RETRIES,baseDelayMs:Ne.BASE_DELAY_MS,maxDelayMs:Ne.MAX_DELAY_MS};async function Me(e,r,o=xe,t=false){let n=null;for(let d=0;d<=o.maxRetries;d++){try{t&&d>0&&console.log(`[Gotcha] Retry attempt ${d}/${o.maxRetries}`);let a=await fetch(e,r);if(a.status>=400&&a.status<500&&a.status!==429||a.ok)return a;n=new Error(`HTTP ${a.status}`);}catch(a){n=a,t&&console.log(`[Gotcha] Network error: ${n.message}`);}if(d<o.maxRetries){let a=Math.min(o.baseDelayMs*Math.pow(2,d),o.maxDelayMs);await new Promise(c=>setTimeout(c,a));}}throw n}function Do(e){let{apiKey:r,baseUrl:o=Eo,debug:t=false}=e,n=false,d={"Content-Type":"application/json",Authorization:`Bearer ${r}`};async function a(c,u,s){let l=`${o}${u}`,p=se();t&&console.log(`[Gotcha] ${c} ${u}`,s);let i=await Me(l,{method:c,headers:{...d,"Idempotency-Key":p},body:s?JSON.stringify(s):void 0},xe,t),m;try{m=await i.json();}catch{throw {code:"PARSE_ERROR",message:"Invalid response from server",status:i.status}}if(!i.ok){let b=m.error;throw t&&console.error(`[Gotcha] Error: ${b.code} - ${b.message}`),b}return t&&console.log("[Gotcha] Response:",m),m}return {async submitResponse(c){let u=c.user||{};u.id||(u.id=He());let s={...c,user:u,context:Bo(),...c.isBug?{isBug:true}:{}};if(typeof navigator<"u"&&!navigator.onLine)return eo(s,"create"),{id:se(),status:"queued",createdAt:new Date().toISOString()};try{return await a("POST","/responses",s)}catch(l){if(l instanceof TypeError&&typeof navigator<"u"&&!navigator.onLine)return eo(s,"create"),{id:se(),status:"queued",createdAt:new Date().toISOString()};throw l}},async checkExistingResponse(c,u){let s=`${o}/responses/check?elementId=${encodeURIComponent(c)}&userId=${encodeURIComponent(u)}`;t&&console.log("[Gotcha] GET /responses/check");let l=await Me(s,{method:"GET",headers:d},xe,t),p=await l.json();if(!l.ok){let i=p.error;throw t&&console.error(`[Gotcha] Error: ${i.code} - ${i.message}`),i}return p.exists?(t&&console.log("[Gotcha] Found existing response:",p.response),p.response):null},async updateResponse(c,u,s){let l=`${o}/responses/${c}${s?`?userId=${encodeURIComponent(s)}`:""}`;t&&console.log(`[Gotcha] PATCH /responses/${c}`,u);let p=await Me(l,{method:"PATCH",headers:d,body:JSON.stringify(u)},xe,t),i=await p.json();if(!p.ok){let m=i.error;throw t&&console.error(`[Gotcha] Error: ${m.code} - ${m.message}`),m}return t&&console.log("[Gotcha] Response updated:",i),i},async getScore(c){let u=`${o}/scores/${encodeURIComponent(c)}`;t&&console.log(`[Gotcha] GET /scores/${c}`);let s=await Me(u,{method:"GET",headers:d},xe,t),l=await s.json();if(!s.ok){let p=l.error;throw t&&console.error(`[Gotcha] Error: ${p.code} - ${p.message}`),p}return t&&console.log("[Gotcha] Score:",l),l},async flagAsBug(c){let u=`${o}/responses/${encodeURIComponent(c)}/bug`;t&&console.log(`[Gotcha] POST /responses/${c}/bug`);let s=await Me(u,{method:"POST",headers:d},xe,t),l=await s.json();if(!s.ok){let p=l.error;throw t&&console.error(`[Gotcha] Error: ${p.code} - ${p.message}`),p}return t&&console.log("[Gotcha] Bug flagged:",l),l},async flushQueue(){if(!n){n=true;try{let c=Go();for(let u of c)try{if(u.type==="update"&&u.payload.responseId){let{responseId:s,...l}=u.payload;await a("PATCH",`/responses/${s}`,l);}else await a("POST","/responses",u.payload);Mo(u.id);}catch{Io(u.id);}}finally{n=false;}}},getQueueLength:Lo,getBaseUrl(){return o}}}var Ft=new Set(["__proto__","constructor","prototype"]);function ge(e,r){let o={...e};for(let t of Object.keys(r)){if(Ft.has(t))continue;let n=r[t];n!=null&&typeof n=="object"&&!Array.isArray(n)?o[t]=ge(e[t]??{},n):n!==void 0&&(o[t]=n);}return o}var Rt=Array(11).fill("#1A1714"),Bt=Array(11).fill("#F2EEE6"),Po="'Gotcha Fraunces', 'Fraunces 144', 'Fraunces', Georgia, 'Iowan Old Style', Charter, 'Source Serif Pro', serif",zo="-apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",oo={colors:{primary:"#1A1714",primaryHover:"#2A2622",primaryText:"#FAF8F4",background:"#FAF8F4",backgroundGradient:"#FAF8F4",surface:"#FAF8F4",surfaceHover:"#F2EEE6",text:"#1A1714",textSecondary:"#6B6660",textDisabled:"#A8A098",border:"#E8E3DA",borderFocus:"#1A1714",success:"#6B8E6B",successSurface:"rgba(107,142,107,0.08)",error:"#B85A3F",errorSurface:"rgba(184,90,63,0.06)",errorBorder:"rgba(184,90,63,0.18)",warning:"#D4532A",warningActive:"#B8451F",warningSurface:"rgba(212,83,42,0.06)",warningBorder:"rgba(212,83,42,0.22)",starFilled:"#1A1714",starEmpty:"#C9C2B6",voteUp:"#1A1714",voteUpSurface:"#FAF8F4",voteUpBorder:"#E8E3DA",voteDown:"#1A1714",voteDownSurface:"#FAF8F4",voteDownBorder:"#E8E3DA",npsColors:Rt,buttonBackground:"#1A1714",buttonBackgroundHover:"#2A2622",buttonBackgroundDisabled:"#E8E3DA",buttonColor:"#FAF8F4",buttonColorDisabled:"#A8A098",buttonBorder:"none",buttonShadow:"none",backdropColor:"rgba(26,23,20,0.32)",closeButton:"#6B6660",closeButtonHover:"#1A1714",closeButtonBg:"rgba(26,23,20,0.04)",glassBackground:"#FAF8F4",glassBorder:"1px solid #E8E3DA",glassColor:"#1A1714",glassShadow:"0 1px 2px rgba(26,23,20,0.04), 0 12px 32px -8px rgba(26,23,20,0.12)",glassHoverShadow:"0 2px 4px rgba(26,23,20,0.06), 0 16px 40px -8px rgba(26,23,20,0.16)",inputBackground:"transparent",inputBackgroundFocus:"transparent",inputBorder:"#E8E3DA",inputBorderFocus:"#1A1714",inputFocusRing:"transparent",pollBorder:"#E8E3DA",pollSelectedBorder:"#D4532A",pollBackground:"#FAF8F4",pollSelectedBackground:"#FAF8F4",pollColor:"#1A1714",pollSelectedColor:"#1A1714",pollCheckBorder:"#C9C2B6",pollCheckSelectedBorder:"#1A1714",pollCheckSelectedBg:"#1A1714"},typography:{fontFamily:zo,fontFamilyDisplay:Po,fontSize:{xs:11,sm:13,md:15,lg:17},fontWeight:{normal:400,medium:500,semibold:600,bold:700}},borders:{radius:{sm:6,md:10,lg:14,full:"999px"},width:1},shadows:{sm:"0 1px 2px rgba(26,23,20,0.04)",md:"0 2px 4px rgba(26,23,20,0.06), 0 8px 20px -6px rgba(26,23,20,0.08)",lg:"0 2px 4px rgba(26,23,20,0.06), 0 16px 40px -8px rgba(26,23,20,0.12)",modal:"0 2px 4px rgba(26,23,20,0.06), 0 24px 64px -12px rgba(26,23,20,0.18)",button:"0 1px 2px rgba(26,23,20,0.04), 0 12px 32px -8px rgba(26,23,20,0.12)"},animation:{duration:{fast:"0.18s",normal:"0.24s",slow:"0.32s"},easing:{default:"cubic-bezier(0.22, 0.61, 0.36, 1)",spring:"cubic-bezier(0.22, 0.61, 0.36, 1)"}}},to={colors:{primary:"#F2EEE6",primaryHover:"#FAF8F4",primaryText:"#141210",background:"#1A1714",backgroundGradient:"#1A1714",surface:"#1A1714",surfaceHover:"#221E1A",text:"#F2EEE6",textSecondary:"#9A928A",textDisabled:"#5A5449",border:"#2A2622",borderFocus:"#F2EEE6",success:"#8FAE8F",successSurface:"rgba(143,174,143,0.1)",error:"#D17560",errorSurface:"rgba(209,117,96,0.06)",errorBorder:"rgba(209,117,96,0.22)",warning:"#DC6340",warningActive:"#E8704A",warningSurface:"rgba(220,99,64,0.08)",warningBorder:"rgba(220,99,64,0.28)",starFilled:"#F2EEE6",starEmpty:"#4A433A",voteUp:"#F2EEE6",voteUpSurface:"#1A1714",voteUpBorder:"#2A2622",voteDown:"#F2EEE6",voteDownSurface:"#1A1714",voteDownBorder:"#2A2622",npsColors:Bt,buttonBackground:"#F2EEE6",buttonBackgroundHover:"#FAF8F4",buttonBackgroundDisabled:"#2A2622",buttonColor:"#141210",buttonColorDisabled:"#5A5449",buttonBorder:"none",buttonShadow:"none",backdropColor:"rgba(0,0,0,0.52)",closeButton:"#9A928A",closeButtonHover:"#F2EEE6",closeButtonBg:"rgba(242,238,230,0.06)",glassBackground:"#1A1714",glassBorder:"1px solid #2A2622",glassColor:"#F2EEE6",glassShadow:"0 2px 4px rgba(0,0,0,0.4), 0 16px 40px -8px rgba(0,0,0,0.5)",glassHoverShadow:"0 4px 8px rgba(0,0,0,0.45), 0 20px 48px -8px rgba(0,0,0,0.55)",inputBackground:"transparent",inputBackgroundFocus:"transparent",inputBorder:"#2A2622",inputBorderFocus:"#F2EEE6",inputFocusRing:"transparent",pollBorder:"#2A2622",pollSelectedBorder:"#DC6340",pollBackground:"#1A1714",pollSelectedBackground:"#1A1714",pollColor:"#F2EEE6",pollSelectedColor:"#F2EEE6",pollCheckBorder:"#3A342E",pollCheckSelectedBorder:"#F2EEE6",pollCheckSelectedBg:"#F2EEE6"},typography:{fontFamily:zo,fontFamilyDisplay:Po,fontSize:{xs:11,sm:13,md:15,lg:17},fontWeight:{normal:400,medium:500,semibold:600,bold:700}},borders:{radius:{sm:6,md:10,lg:14,full:"999px"},width:1},shadows:{sm:"0 1px 2px rgba(0,0,0,0.3)",md:"0 2px 4px rgba(0,0,0,0.35), 0 8px 20px -6px rgba(0,0,0,0.4)",lg:"0 2px 4px rgba(0,0,0,0.4), 0 16px 40px -8px rgba(0,0,0,0.5)",modal:"0 2px 4px rgba(0,0,0,0.4), 0 24px 64px -12px rgba(0,0,0,0.6)",button:"0 1px 2px rgba(0,0,0,0.3), 0 12px 32px -8px rgba(0,0,0,0.45)"},animation:{duration:{fast:"0.18s",normal:"0.24s",slow:"0.32s"},easing:{default:"cubic-bezier(0.22, 0.61, 0.36, 1)",spring:"cubic-bezier(0.22, 0.61, 0.36, 1)"}}};function Mt(e,r){return ge(e==="dark"?to:oo,r)}function ae(e,r,o){let n=(e==="auto"||e==="custom"?r:e)==="dark"?ge({},to):ge({},oo);return o&&(n=ge(n,o)),n}var Gt="Gotcha Fraunces",Lt="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",Uo=`
1
+ import {createContext,useState,useMemo,useEffect,useCallback,useRef,useContext}from'react';import {jsx,jsxs}from'react/jsx-runtime';import {createPortal}from'react-dom';var Fo="https://gotcha.cx/api/v1";var j={ANONYMOUS_ID:"gotcha_anonymous_id",OFFLINE_QUEUE:"gotcha_offline_queue",HIDDEN_UNTIL:"gotcha_hidden",VISIT_COUNT:"gotcha_visits"},se={POSITION:"top-right",SIZE:"md",THEME:"light",SHOW_ON_HOVER:true,TOUCH_BEHAVIOR:"always-visible",SUBMIT_TEXT:"Submit",THANK_YOU_MESSAGE:"Gotcha!"},Xe={MAX_RETRIES:2,BASE_DELAY_MS:500,MAX_DELAY_MS:5e3};function ie(e){if(typeof window>"u")return null;try{return localStorage.getItem(e)}catch{return null}}function ae(e,r){if(!(typeof window>"u"))try{localStorage.setItem(e,r);}catch{}}function le(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let r=Math.random()*16|0;return (e==="x"?r:r&3|8).toString(16)})}function Qe(){let e=ie(j.ANONYMOUS_ID);if(e)return e;let r=`anon_${le()}`;return ae(j.ANONYMOUS_ID,r),r}var Ke=[],Ve=false;function Ro(e,r){let o={message:e.slice(0,200),source:r?.slice(0,200),timestamp:Date.now()};Ke.push(o),Ke.length>10&&Ke.shift();}function Bo(e){Ro(e.message,e.filename);}function Mo(e){let r=e.reason instanceof Error?e.reason.message:String(e.reason);Ro(r);}function Go(){typeof window>"u"||Ve||(window.addEventListener("error",Bo),window.addEventListener("unhandledrejection",Mo),Ve=true);}function Lo(){typeof window>"u"||!Ve||(window.removeEventListener("error",Bo),window.removeEventListener("unhandledrejection",Mo),Ve=false);}function Do(){return [...Ke].reverse()}function Io(){return typeof window>"u"?{}:{url:window.location.origin+window.location.pathname,userAgent:navigator.userAgent,viewport:{width:window.innerWidth,height:window.innerHeight},language:navigator.language,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,screenResolution:{width:screen.width,height:screen.height},recentErrors:Do()}}var Dt=50,It=10080*60*1e3;function Ie(){let e=ie(j.OFFLINE_QUEUE);if(!e)return [];try{let r=JSON.parse(e),o=Date.now();return r.filter(t=>o-t.queuedAt<It)}catch{return []}}function ro(e){ae(j.OFFLINE_QUEUE,JSON.stringify(e));}function no(e,r="create"){let o=Ie();o.length>=Dt||(o.push({id:le(),payload:e,type:r,queuedAt:Date.now(),retries:0}),ro(o));}function Po(e){let r=Ie().filter(o=>o.id!==e);ro(r);}function zo(){return Ie()}function Uo(){return Ie().length}function No(e){let r=Ie().map(o=>o.id===e?{...o,retries:o.retries+1}:o);ro(r.filter(o=>o.retries<=5));}var Ee={maxRetries:Xe.MAX_RETRIES,baseDelayMs:Xe.BASE_DELAY_MS,maxDelayMs:Xe.MAX_DELAY_MS};async function Pe(e,r,o=Ee,t=false){let n=null;for(let d=0;d<=o.maxRetries;d++){try{t&&d>0&&console.log(`[Gotcha] Retry attempt ${d}/${o.maxRetries}`);let i=await fetch(e,r);if(i.status>=400&&i.status<500&&i.status!==429||i.ok)return i;n=new Error(`HTTP ${i.status}`);}catch(i){n=i,t&&console.log(`[Gotcha] Network error: ${n.message}`);}if(d<o.maxRetries){let i=Math.min(o.baseDelayMs*Math.pow(2,d),o.maxDelayMs);await new Promise(c=>setTimeout(c,i));}}throw n}function Ho(e){let{apiKey:r,baseUrl:o=Fo,debug:t=false}=e,n=false,d={"Content-Type":"application/json",Authorization:`Bearer ${r}`};async function i(c,u,s){let l=`${o}${u}`,p=le();t&&console.log(`[Gotcha] ${c} ${u}`,s);let a=await Pe(l,{method:c,headers:{...d,"Idempotency-Key":p},body:s?JSON.stringify(s):void 0},Ee,t),g;try{g=await a.json();}catch{throw {code:"PARSE_ERROR",message:"Invalid response from server",status:a.status}}if(!a.ok){let y=g.error;throw t&&console.error(`[Gotcha] Error: ${y.code} - ${y.message}`),y}return t&&console.log("[Gotcha] Response:",g),g}return {async submitResponse(c){let u=c.user||{};u.id||(u.id=Qe());let s={...c,user:u,context:Io(),...c.isBug?{isBug:true}:{}};if(typeof navigator<"u"&&!navigator.onLine)return no(s,"create"),{id:le(),status:"queued",createdAt:new Date().toISOString()};try{return await i("POST","/responses",s)}catch(l){if(l instanceof TypeError&&typeof navigator<"u"&&!navigator.onLine)return no(s,"create"),{id:le(),status:"queued",createdAt:new Date().toISOString()};throw l}},async checkExistingResponse(c,u){let s=`${o}/responses/check?elementId=${encodeURIComponent(c)}&userId=${encodeURIComponent(u)}`;t&&console.log("[Gotcha] GET /responses/check");let l=await Pe(s,{method:"GET",headers:d},Ee,t),p=await l.json();if(!l.ok){let a=p.error;throw t&&console.error(`[Gotcha] Error: ${a.code} - ${a.message}`),a}return p.exists?(t&&console.log("[Gotcha] Found existing response:",p.response),p.response):null},async updateResponse(c,u,s){let l=`${o}/responses/${c}${s?`?userId=${encodeURIComponent(s)}`:""}`;t&&console.log(`[Gotcha] PATCH /responses/${c}`,u);let p=await Pe(l,{method:"PATCH",headers:d,body:JSON.stringify(u)},Ee,t),a=await p.json();if(!p.ok){let g=a.error;throw t&&console.error(`[Gotcha] Error: ${g.code} - ${g.message}`),g}return t&&console.log("[Gotcha] Response updated:",a),a},async getScore(c){let u=`${o}/scores/${encodeURIComponent(c)}`;t&&console.log(`[Gotcha] GET /scores/${c}`);let s=await Pe(u,{method:"GET",headers:d},Ee,t),l=await s.json();if(!s.ok){let p=l.error;throw t&&console.error(`[Gotcha] Error: ${p.code} - ${p.message}`),p}return t&&console.log("[Gotcha] Score:",l),l},async flagAsBug(c){let u=`${o}/responses/${encodeURIComponent(c)}/bug`;t&&console.log(`[Gotcha] POST /responses/${c}/bug`);let s=await Pe(u,{method:"POST",headers:d},Ee,t),l=await s.json();if(!s.ok){let p=l.error;throw t&&console.error(`[Gotcha] Error: ${p.code} - ${p.message}`),p}return t&&console.log("[Gotcha] Bug flagged:",l),l},async flushQueue(){if(!n){n=true;try{let c=zo();for(let u of c)try{if(u.type==="update"&&u.payload.responseId){let{responseId:s,...l}=u.payload;await i("PATCH",`/responses/${s}`,l);}else await i("POST","/responses",u.payload);Po(u.id);}catch{No(u.id);}}finally{n=false;}}},getQueueLength:Uo,getBaseUrl(){return o}}}var Pt=new Set(["__proto__","constructor","prototype"]);function he(e,r){let o={...e};for(let t of Object.keys(r)){if(Pt.has(t))continue;let n=r[t];n!=null&&typeof n=="object"&&!Array.isArray(n)?o[t]=he(e[t]??{},n):n!==void 0&&(o[t]=n);}return o}var zt=Array(11).fill("#1A1714"),Ut=Array(11).fill("#F2EEE6"),Oo="'Gotcha Fraunces', 'Fraunces 144', 'Fraunces', Georgia, 'Iowan Old Style', Charter, 'Source Serif Pro', serif",Wo="-apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",so={colors:{primary:"#1A1714",primaryHover:"#2A2622",primaryText:"#FAF8F4",background:"#FAF8F4",backgroundGradient:"#FAF8F4",surface:"#FAF8F4",surfaceHover:"#F2EEE6",text:"#1A1714",textSecondary:"#6B6660",textDisabled:"#A8A098",border:"#E8E3DA",borderFocus:"#1A1714",success:"#6B8E6B",successSurface:"rgba(107,142,107,0.08)",error:"#B85A3F",errorSurface:"rgba(184,90,63,0.06)",errorBorder:"rgba(184,90,63,0.18)",warning:"#D4532A",warningActive:"#B8451F",warningSurface:"rgba(212,83,42,0.06)",warningBorder:"rgba(212,83,42,0.22)",starFilled:"#1A1714",starEmpty:"#C9C2B6",voteUp:"#1A1714",voteUpSurface:"#FAF8F4",voteUpBorder:"#E8E3DA",voteDown:"#1A1714",voteDownSurface:"#FAF8F4",voteDownBorder:"#E8E3DA",npsColors:zt,buttonBackground:"#1A1714",buttonBackgroundHover:"#2A2622",buttonBackgroundDisabled:"#E8E3DA",buttonColor:"#FAF8F4",buttonColorDisabled:"#A8A098",buttonBorder:"none",buttonShadow:"none",backdropColor:"rgba(26,23,20,0.32)",closeButton:"#6B6660",closeButtonHover:"#1A1714",closeButtonBg:"rgba(26,23,20,0.04)",glassBackground:"#FAF8F4",glassBorder:"1px solid #E8E3DA",glassColor:"#1A1714",glassShadow:"0 1px 2px rgba(26,23,20,0.04), 0 12px 32px -8px rgba(26,23,20,0.12)",glassHoverShadow:"0 2px 4px rgba(26,23,20,0.06), 0 16px 40px -8px rgba(26,23,20,0.16)",inputBackground:"transparent",inputBackgroundFocus:"transparent",inputBorder:"#E8E3DA",inputBorderFocus:"#1A1714",inputFocusRing:"transparent",pollBorder:"#E8E3DA",pollSelectedBorder:"#D4532A",pollBackground:"#FAF8F4",pollSelectedBackground:"#FAF8F4",pollColor:"#1A1714",pollSelectedColor:"#1A1714",pollCheckBorder:"#C9C2B6",pollCheckSelectedBorder:"#1A1714",pollCheckSelectedBg:"#1A1714"},typography:{fontFamily:Wo,fontFamilyDisplay:Oo,fontSize:{xs:11,sm:13,md:15,lg:17},fontWeight:{normal:400,medium:500,semibold:600,bold:700}},borders:{radius:{sm:6,md:10,lg:14,full:"999px"},width:1},shadows:{sm:"0 1px 2px rgba(26,23,20,0.04)",md:"0 2px 4px rgba(26,23,20,0.06), 0 8px 20px -6px rgba(26,23,20,0.08)",lg:"0 2px 4px rgba(26,23,20,0.06), 0 16px 40px -8px rgba(26,23,20,0.12)",modal:"0 2px 4px rgba(26,23,20,0.06), 0 24px 64px -12px rgba(26,23,20,0.18)",button:"0 1px 2px rgba(26,23,20,0.04), 0 12px 32px -8px rgba(26,23,20,0.12)"},animation:{duration:{fast:"0.18s",normal:"0.24s",slow:"0.32s"},easing:{default:"cubic-bezier(0.22, 0.61, 0.36, 1)",spring:"cubic-bezier(0.22, 0.61, 0.36, 1)"}}},io={colors:{primary:"#F2EEE6",primaryHover:"#FAF8F4",primaryText:"#141210",background:"#1A1714",backgroundGradient:"#1A1714",surface:"#1A1714",surfaceHover:"#221E1A",text:"#F2EEE6",textSecondary:"#9A928A",textDisabled:"#5A5449",border:"#2A2622",borderFocus:"#F2EEE6",success:"#8FAE8F",successSurface:"rgba(143,174,143,0.1)",error:"#D17560",errorSurface:"rgba(209,117,96,0.06)",errorBorder:"rgba(209,117,96,0.22)",warning:"#DC6340",warningActive:"#E8704A",warningSurface:"rgba(220,99,64,0.08)",warningBorder:"rgba(220,99,64,0.28)",starFilled:"#F2EEE6",starEmpty:"#4A433A",voteUp:"#F2EEE6",voteUpSurface:"#1A1714",voteUpBorder:"#2A2622",voteDown:"#F2EEE6",voteDownSurface:"#1A1714",voteDownBorder:"#2A2622",npsColors:Ut,buttonBackground:"#F2EEE6",buttonBackgroundHover:"#FAF8F4",buttonBackgroundDisabled:"#2A2622",buttonColor:"#141210",buttonColorDisabled:"#5A5449",buttonBorder:"none",buttonShadow:"none",backdropColor:"rgba(0,0,0,0.52)",closeButton:"#9A928A",closeButtonHover:"#F2EEE6",closeButtonBg:"rgba(242,238,230,0.06)",glassBackground:"#1A1714",glassBorder:"1px solid #2A2622",glassColor:"#F2EEE6",glassShadow:"0 2px 4px rgba(0,0,0,0.4), 0 16px 40px -8px rgba(0,0,0,0.5)",glassHoverShadow:"0 4px 8px rgba(0,0,0,0.45), 0 20px 48px -8px rgba(0,0,0,0.55)",inputBackground:"transparent",inputBackgroundFocus:"transparent",inputBorder:"#2A2622",inputBorderFocus:"#F2EEE6",inputFocusRing:"transparent",pollBorder:"#2A2622",pollSelectedBorder:"#DC6340",pollBackground:"#1A1714",pollSelectedBackground:"#1A1714",pollColor:"#F2EEE6",pollSelectedColor:"#F2EEE6",pollCheckBorder:"#3A342E",pollCheckSelectedBorder:"#F2EEE6",pollCheckSelectedBg:"#F2EEE6"},typography:{fontFamily:Wo,fontFamilyDisplay:Oo,fontSize:{xs:11,sm:13,md:15,lg:17},fontWeight:{normal:400,medium:500,semibold:600,bold:700}},borders:{radius:{sm:6,md:10,lg:14,full:"999px"},width:1},shadows:{sm:"0 1px 2px rgba(0,0,0,0.3)",md:"0 2px 4px rgba(0,0,0,0.35), 0 8px 20px -6px rgba(0,0,0,0.4)",lg:"0 2px 4px rgba(0,0,0,0.4), 0 16px 40px -8px rgba(0,0,0,0.5)",modal:"0 2px 4px rgba(0,0,0,0.4), 0 24px 64px -12px rgba(0,0,0,0.6)",button:"0 1px 2px rgba(0,0,0,0.3), 0 12px 32px -8px rgba(0,0,0,0.45)"},animation:{duration:{fast:"0.18s",normal:"0.24s",slow:"0.32s"},easing:{default:"cubic-bezier(0.22, 0.61, 0.36, 1)",spring:"cubic-bezier(0.22, 0.61, 0.36, 1)"}}};function Nt(e,r){return he(e==="dark"?io:so,r)}function ce(e,r,o){let n=(e==="auto"||e==="custom"?r:e)==="dark"?he({},io):he({},so);return o&&(n=he(n,o)),n}var Ht="Gotcha Fraunces",Ot="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",Yo=`
2
2
  @font-face {
3
- font-family: '${Gt}';
3
+ font-family: '${Ht}';
4
4
  font-weight: 400;
5
5
  font-style: normal;
6
6
  font-display: block;
7
- src: url(data:font/woff2;base64,${Lt}) format('woff2');
7
+ src: url(data:font/woff2;base64,${Ot}) format('woff2');
8
8
  }
9
- `;var No="gotcha-styles";function we(e){return e.replace(/[{}<>;@\\]/g,"")}function It(e){let r=we(e.animation.easing.default),o=we(e.animation.duration.normal),t=we(e.animation.duration.fast),n=we(e.typography.fontFamily),d=we(e.colors.textDisabled),a=we(e.colors.borderFocus);return `
9
+ `;var qo="gotcha-styles";function Te(e){return e.replace(/[{}<>;@\\]/g,"")}function Wt(e){let r=Te(e.animation.easing.default),o=Te(e.animation.duration.normal),t=Te(e.animation.duration.fast),n=Te(e.typography.fontFamily),d=Te(e.colors.textDisabled),i=Te(e.colors.borderFocus);return `
10
10
  /* \u2500\u2500 Embedded Fraunces 144 SemiBold (OFL, subsetted to ASCII) \u2500\u2500 */
11
- ${Uo}
11
+ ${Yo}
12
12
  /* \u2500\u2500 Gotcha keyframes (editorial) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
13
13
 
14
14
  @keyframes gotcha-fade-up {
@@ -76,7 +76,7 @@ ${Uo}
76
76
 
77
77
  [data-gotcha] button:focus-visible {
78
78
  outline: none;
79
- box-shadow: 0 0 0 2px ${a};
79
+ box-shadow: 0 0 0 2px ${i};
80
80
  }
81
81
 
82
82
  .gotcha-root textarea::placeholder {
@@ -131,6 +131,6 @@ ${Uo}
131
131
  opacity: 1 !important;
132
132
  }
133
133
  }
134
- `.trim()}function Ye(e){if(typeof document>"u")return;let r=document.getElementById(No);r||(r=document.createElement("style"),r.id=No,document.head.appendChild(r)),r.textContent=It(e);}var Oo=createContext(null),Ut={};function Nt({apiKey:e,children:r,baseUrl:o,debug:t=false,disabled:n=false,defaultUser:d,defaultUserEmail:a,themeConfig:c}){let[u,s]=useState(null);o&&!o.startsWith("https://")&&!o.startsWith("/")&&!o.includes("localhost")&&console.warn("[Gotcha] baseUrl should use HTTPS in production:",o);let l=useMemo(()=>Do({apiKey:e,baseUrl:o,debug:t}),[e,o,t]),p=useMemo(()=>d??Ut,[JSON.stringify(d)]);useEffect(()=>{let y=ae("light","light",c);Ye(y);},[c]),useEffect(()=>(Co(),()=>Fo()),[]),useEffect(()=>{l.flushQueue();let y=()=>l.flushQueue();return window.addEventListener("online",y),()=>window.removeEventListener("online",y)},[l]);let i=useCallback(y=>{s(y);},[]),m=useCallback(()=>{s(null);},[]),b=useMemo(()=>({client:l,disabled:n,defaultUser:p,defaultUserEmail:a,debug:t,activeModalId:u,openModal:i,closeModal:m,themeConfig:c}),[l,n,p,a,t,u,i,m,c]);return jsx(Oo.Provider,{value:b,children:r})}function P(){let e=useContext(Oo);if(!e)throw new Error("useGotchaContext must be used within a GotchaProvider");return e}function Yt(e,r){let o=new Date(e).getTime();if(isNaN(o))return true;let t=Date.now()-o,n=r*24*60*60*1e3;return t>=n}function Wo(e){let{client:r,defaultUser:o}=P(),[t,n]=useState(false),[d,a]=useState(false),[c,u]=useState(null),[s,l]=useState(null);return useEffect(()=>{process.env.NODE_ENV!=="production"&&e.cooldownDays&&!e.onePerUser&&console.warn("[Gotcha] cooldownDays has no effect without onePerUser=true");let i=e.user?.id||o?.id;if(!i||!e.onePerUser){l(null);return}let m=false;return (async()=>{a(true);try{let y=await r.checkExistingResponse(e.elementId,i);m||(y&&e.cooldownDays&&e.cooldownDays>0&&Yt(y.createdAt,e.cooldownDays)?l(null):l(y));}catch{m||l(null);}finally{m||a(false);}})(),()=>{m=true;}},[r,e.elementId,e.user?.id,o?.id,e.onePerUser,e.cooldownDays]),{submit:useCallback(async i=>{n(true),u(null);try{let m=e.user?.id||o?.id,b;return e.onePerUser&&s&&m?b=await r.updateResponse(s.id,{content:i.content,title:i.title,rating:i.rating,vote:i.vote,pollSelected:i.pollSelected},m):b=await r.submitResponse({elementId:e.elementId,mode:e.mode,content:i.content,title:i.title,rating:i.rating,vote:i.vote,pollOptions:e.pollOptions,pollSelected:i.pollSelected,isBug:i.isBug,screenshot:i.screenshot,user:{...o,...e.user},userEmail:e.userEmail}),e.onePerUser&&l({id:b.id,mode:e.mode,content:i.content??null,title:i.title??null,rating:i.rating??null,vote:i.vote??null,pollSelected:i.pollSelected??null,createdAt:b.createdAt}),e.onSuccess?.(b),b}catch(m){let b=m instanceof Error?m.message:"Something went wrong";throw u(b),e.onError?.(m instanceof Error?m:new Error(b)),m}finally{n(false);}},[r,o,e,s]),isLoading:t,isCheckingExisting:d,error:c,existingResponse:s,isEditing:!!s,clearError:()=>u(null)}}function qo(e,r){return `${j.HIDDEN_UNTIL}_${e}_${r}`}function Yo(e,r,o){if(!o||o<=0)return false;let t=qo(e,r),n=re(t);return n?new Date(n).getTime()>Date.now():false}function Xo(e){let{elementId:r,userId:o,hideAfterSubmitDays:t}=e,n=useMemo(()=>o||He(),[o]),[d,a]=useState(()=>Yo(r,n,t));useEffect(()=>{a(Yo(r,n,t));},[r,n,t]);let c=useCallback(()=>{if(!t||t<=0)return;let u=qo(r,n),s=new Date(Date.now()+t*24*60*60*1e3);ne(u,s.toISOString()),a(true);},[r,n,t]);return {isHidden:d,markHidden:c}}function Vt(e){return `${j.VISIT_COUNT}_${e}`}function Ko(e){let{elementId:r,showAfterSeconds:o,showAfterScrollPercent:t,showAfterVisits:n}=e,d=o!=null||t!=null||n!=null,[a,c]=useState(!o),[u,s]=useState(!t),[l]=useState(()=>{if(!n)return true;let p=Vt(r),m=parseInt(re(p)||"0",10)+1;return ne(p,String(m)),m>=n});return useEffect(()=>{if(!o||o<=0)return;let p=Date.now(),i=o*1e3,m=()=>{Date.now()-p>=i?c(true):b=setTimeout(m,Math.min(1e3,i-(Date.now()-p)));},b=setTimeout(m,Math.min(1e3,i));return ()=>clearTimeout(b)},[o]),useEffect(()=>{if(!t||t<=0)return;let p=()=>{let i=document.documentElement.scrollHeight,m=window.innerHeight;if(i<=m){s(true);return}(window.scrollY+m)/i*100>=t&&s(true);};if(p(),!u)return window.addEventListener("scroll",p,{passive:true}),()=>window.removeEventListener("scroll",p)},[t,u]),{conditionsMet:!d||a&&u&&l}}function Xe(...e){return e.filter(Boolean).join(" ")}var W=()=>typeof window>"u"?false:"ontouchstart"in window||navigator.maxTouchPoints>0,Vo=(e,r)=>{let o={sm:{desktop:24,mobile:28},md:{desktop:32,mobile:34},lg:{desktop:40,mobile:40}};return r?o[e].mobile:o[e].desktop};function jt(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function Zo({size:e,theme:r,customStyles:o,showOnHover:t,touchBehavior:n,onClick:d,isOpen:a,isParentHovered:c=false,animated:u=true,queuedCount:s=0}){let[l,p]=useState(false),[i,m]=useState(false),[b,y]=useState(jt),[g,f]=useState(false),[E,w]=useState(false),[C,v]=useState(false),{themeConfig:k}=P();useEffect(()=>{if(p(W()),typeof window>"u")return;let V=window.matchMedia("(prefers-color-scheme: dark)"),de=ye=>y(ye.matches?"dark":"light");return V.addEventListener("change",de),()=>V.removeEventListener("change",de)},[]);let T=a?true:!l&&t?c:l&&n==="tap-to-reveal"?i:true;useEffect(()=>{if(T&&!C){let V=setTimeout(()=>v(true),320);return ()=>clearTimeout(V)}},[T,C]);let U=()=>{if(l&&n==="tap-to-reveal"&&!i){m(true);return}d();},N=Vo(e,l),A=useMemo(()=>ae(r,b,k),[r,b,k]),F=a?A.colors.warning:A.colors.border,M=a?A.colors.warning:A.colors.glassColor,H=()=>T?E?"scale(0.97)":"scale(1)":"scale(0.96)",Y=E?"80ms":"160ms",S=A.animation.easing.default,O=g&&!a?A.colors.surfaceHover:A.colors.glassBackground,ke={position:"relative",width:N,height:N,borderRadius:A.borders.radius.full,border:`1px solid ${F}`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",background:O,color:M,boxShadow:g?A.colors.glassHoverShadow:A.colors.glassShadow,transition:C?`transform ${Y} ${S}, background-color 180ms ${S}, box-shadow 180ms ${S}, border-color 240ms ${S}, color 240ms ${S}`:`opacity 320ms ${S}, transform 320ms ${S}`,opacity:T?1:0,transform:H(),pointerEvents:T?"auto":"none",...o?.button};return jsxs("button",{type:"button",onClick:U,onMouseEnter:()=>f(true),onMouseLeave:()=>{f(false),w(false);},onMouseDown:()=>w(true),onMouseUp:()=>w(false),onTouchStart:()=>w(true),onTouchEnd:()=>w(false),style:ke,className:Xe("gotcha-button",a&&"gotcha-button--open"),"aria-label":"Give feedback on this feature","aria-expanded":a,"aria-haspopup":"dialog",children:[jsx(Jt,{size:N*.62,color:M,fontFamilyDisplay:A.typography.fontFamilyDisplay,animated:u&&!C}),s>0&&jsx("span",{"aria-label":`${s} queued`,style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:"50%",backgroundColor:A.colors.warning,border:`1.5px solid ${A.colors.background}`}})]})}function Jt({size:e,color:r,fontFamilyDisplay:o,animated:t}){let[n,d]=useState(false);return useEffect(()=>{d(true);},[]),jsx("span",{"aria-hidden":"true",style:{fontFamily:o,fontWeight:400,fontSize:e,fontStyle:"normal",lineHeight:1,color:r,transform:"translateY(1px) translateZ(0)",willChange:"transform",letterSpacing:"normal",userSelect:"none",display:"inline-block",opacity:t?n?1:0:1,transition:t?"opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1) 120ms":"none"},children:"G"})}function Jo({src:e,onRemove:r,resolvedTheme:o}){let[t,n]=useState(false),[d,a]=useState(false);useEffect(()=>{n(W());},[]);let c=(()=>{if(!e.startsWith("data:"))return null;let u=e.indexOf(",");if(u<0)return null;let s=e.slice(u+1);return Math.round(s.length*3/4/1024)})();return jsxs("div",{style:{marginTop:12},children:[jsxs("div",{style:{position:"relative",borderRadius:o.borders.radius.sm,overflow:"hidden",border:`1px solid ${o.colors.border}`,padding:4,background:o.colors.background},children:[jsx("img",{src:e,alt:"Screenshot attached to the feedback",style:{display:"block",width:"100%",maxHeight:140,objectFit:"cover",borderRadius:Math.max(0,o.borders.radius.sm-2)}}),jsx("button",{type:"button",onClick:r,onMouseEnter:()=>a(true),onMouseLeave:()=>a(false),"aria-label":"Remove screenshot",style:{position:"absolute",top:8,right:8,width:t?32:24,height:t?32:24,borderRadius:"50%",border:`1px solid ${d?o.colors.error:o.colors.border}`,backgroundColor:d?o.colors.error:o.colors.background,color:d?o.colors.primaryText:o.colors.textSecondary,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:`all ${o.animation.duration.fast} ${o.animation.easing.default}`},children:jsx("svg",{width:10,height:10,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M1 1L13 13M1 13L13 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),jsxs("p",{style:{margin:"6px 0 0",fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontSize:10,letterSpacing:"0.08em",textTransform:"uppercase",color:o.colors.textSecondary},children:["screenshot.png",c!=null?` \xB7 ${c} KB`:""]})]})}function _o({resolvedTheme:e,placeholder:r,submitText:o,isLoading:t,onSubmit:n,customStyles:d,initialValues:a,isEditing:c=false,showText:u=true,showRating:s=true,enableBugFlag:l=false,bugFlagLabel:p,enableScreenshot:i=false}){let[m,b]=useState(a?.content||""),[y,g]=useState(a?.rating??null),[f,E]=useState(false),[w,C]=useState(false),[v,k]=useState(null),[T,U]=useState(false),[N,A]=useState(false);useEffect(()=>{C(W());},[]),useEffect(()=>{a?.content!==void 0&&b(a.content||""),a?.rating!==void 0&&g(a.rating??null);},[a?.content,a?.rating]);let F=u&&s?m.trim().length>0||y!==null:u?m.trim().length>0:s?y!==null:false,M=async()=>{U(true),A(false);try{let{captureScreenshot:S}=await import('./screenshot-KDHUL63V.mjs'),O=await S();O?k(O):A(!0);}catch{A(true);}finally{U(false);}},H=S=>{S.preventDefault(),!(!F||t)&&n({content:u&&m.trim()?m.trim():void 0,rating:s&&y!==null?y:void 0,isBug:f||void 0,screenshot:v||void 0});},Y={width:"100%",padding:w?"12px 0":"10px 0",border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:w?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:w?96:80,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55,...d?.input};return jsxs("form",{onSubmit:H,children:[s&&jsx("div",{style:{marginBottom:u?w?18:16:0,...u?{}:{display:"flex",justifyContent:"center",padding:"6px 0"}},children:jsx(er,{value:y,onChange:g,theme:e,isTouch:w,large:!u})}),u&&jsx("textarea",{value:m,onChange:S=>b(S.target.value),placeholder:r||"Share your thoughts\u2026",maxLength:5e3,style:Y,disabled:t,"aria-label":"Your feedback",onFocus:S=>{S.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:S=>{S.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),l&&jsxs("button",{type:"button",role:"switch","aria-checked":f,onClick:()=>E(!f),style:{display:"flex",alignItems:"center",gap:10,width:"100%",marginTop:16,padding:w?"12px 12px":"10px 12px",border:`1px solid ${f?e.colors.warningBorder:e.colors.border}`,borderRadius:e.borders.radius.sm,backgroundColor:f?e.colors.warningSurface:"transparent",cursor:"pointer",transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`,fontFamily:e.typography.fontFamily,...d?.bugFlag},children:[jsx("span",{"aria-hidden":"true",style:{width:14,height:14,borderRadius:3,border:`1px solid ${f?e.colors.warningActive:e.colors.border}`,backgroundColor:f?e.colors.warning:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},children:f&&jsx("svg",{width:8,height:8,viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M2 5L4 7L8 3",stroke:e.colors.primaryText,strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),jsx("span",{style:{fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.normal,color:f?e.colors.text:e.colors.textSecondary,letterSpacing:"0",textAlign:"left",flex:1},children:f?"Reported as an issue":p||"Report an issue"})]}),l&&i&&f&&!v&&jsxs("button",{type:"button",onClick:M,disabled:T,style:{display:"flex",alignItems:"center",gap:8,width:"100%",marginTop:8,padding:"9px 12px",border:`1px solid ${e.colors.border}`,borderRadius:e.borders.radius.sm,backgroundColor:"transparent",cursor:T?"progress":"pointer",fontFamily:e.typography.fontFamily,fontSize:e.typography.fontSize.xs,letterSpacing:"0.06em",textTransform:"uppercase",color:e.colors.textSecondary,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},onMouseEnter:S=>{S.currentTarget.style.borderColor=e.colors.inputBorderFocus,S.currentTarget.style.color=e.colors.text;},onMouseLeave:S=>{S.currentTarget.style.borderColor=e.colors.border,S.currentTarget.style.color=e.colors.textSecondary;},children:[jsxs("svg",{width:12,height:12,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),jsx("circle",{cx:"12",cy:"10",r:"3"}),jsx("path",{d:"M2 17l4-4 3 3 4-4 9 9"})]}),T?"Capturing\u2026":"Attach screenshot"]}),N&&jsxs("div",{role:"alert",style:{marginTop:8,padding:"6px 0 6px 10px",borderLeft:`2px solid ${e.colors.error}`,fontSize:e.typography.fontSize.xs,color:e.colors.text,fontFamily:e.typography.fontFamily,display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[jsx("span",{children:"Screenshot capture unavailable."}),jsx("button",{type:"button",onClick:M,style:{background:"none",border:"none",padding:0,color:e.colors.text,fontFamily:e.typography.fontFamily,fontSize:e.typography.fontSize.xs,textDecoration:"underline",textDecorationColor:e.colors.border,textUnderlineOffset:3,cursor:"pointer"},children:"Try again"})]}),l&&i&&f&&v&&jsx(Jo,{src:v,onRemove:()=>k(null),resolvedTheme:e}),jsx("button",{type:"submit",disabled:t||!F,style:{width:"100%",padding:w?"14px 16px":"11px 16px",marginTop:18,border:"none",borderRadius:e.borders.radius.sm,backgroundColor:F?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:F?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||!F?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal",...d?.submitButton},onMouseEnter:S=>{S.currentTarget.disabled||(S.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:S=>{S.currentTarget.disabled||(S.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?c?"Updating\u2026":"Sending\u2026":c?"Update":o})]})}function er({value:e,onChange:r,theme:o,isTouch:t,large:n=false}){let[d,a]=useState(null),c=n?t?34:28:t?26:20,u=n?8:6,s=n?t?6:4:t?6:2,l=p=>d!==null&&d>=p?`${(p-1)*30}ms`:"0ms";return jsx("div",{style:{display:"flex",gap:u},role:"group","aria-label":"Rating",onMouseLeave:()=>a(null),children:[1,2,3,4,5].map(p=>{let i=(d??e??0)>=p;return jsx("button",{type:"button",onClick:()=>r(p),onMouseEnter:()=>a(p),"aria-label":`Rate ${p} out of 5`,"aria-pressed":e===p,style:{background:"none",border:"none",cursor:"pointer",padding:s,color:i?o.colors.starFilled:o.colors.starEmpty,transition:`color 180ms ${o.animation.easing.default}`,transitionDelay:l(p),outline:"none",WebkitTapHighlightColor:"transparent"},children:jsx("svg",{width:c,height:c,viewBox:"0 0 24 24",fill:i?"currentColor":"none",stroke:"currentColor",strokeWidth:i?0:1.5,strokeLinejoin:"round",children:jsx("path",{d:"M12 3.5L14.472 8.506L20 9.308L16 13.205L16.944 18.706L12 16.107L7.056 18.706L8 13.205L4 9.308L9.528 8.506L12 3.5Z"})})},p)})})}function et({resolvedTheme:e,isLoading:r,onSubmit:o,initialVote:t,isEditing:n=false,labels:d}){let[a,c]=useState(false),[u,s]=useState(t||null),[l,p]=useState(t||null);useEffect(()=>{c(W());},[]),useEffect(()=>{t!==void 0&&(p(t),s(t));},[t]),useEffect(()=>{!r&&!n&&s(null);},[r,n]);let i=g=>{s(g),o({vote:g});},m=a?24:20,b=g=>{let f=l===g,E=g==="up"?e.colors.voteUp:e.colors.voteDown,w=g==="up"?e.colors.voteUpSurface:e.colors.voteDownSurface,C=g==="up"?e.colors.voteUpBorder:e.colors.voteDownBorder;return {flex:1,minWidth:0,padding:a?"14px 18px":"11px 16px",border:`1px solid ${f?E:C}`,borderRadius:e.borders.radius.full,background:f?E:w,color:f?e.colors.primaryText:e.colors.text,fontSize:a?15:13,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:r?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}, border-color ${e.animation.duration.fast} ${e.animation.easing.default}, color ${e.animation.duration.fast} ${e.animation.easing.default}`,display:"flex",alignItems:"center",justifyContent:"center",gap:a?10:8,outline:"none"}},y=(g,f)=>d?.[g]?d[g]:g==="up"?f?"Liked":"Like":f?"Disliked":"Dislike";return jsx("div",{style:{display:"flex",gap:a?12:10},role:"group","aria-label":"Vote",children:["up","down"].map(g=>{let f=l===g,E=r&&u===g,w=y(g,f),C=E?`${w}, submitting`:w,v=g==="up"?e.colors.voteUpBorder:e.colors.voteDownBorder;return jsxs("button",{type:"button",onClick:()=>i(g),disabled:r,style:b(g),"aria-label":C,"aria-pressed":f,onMouseEnter:k=>{r||f||(k.currentTarget.style.borderColor=e.colors.inputBorderFocus);},onMouseLeave:k=>{f||(k.currentTarget.style.borderColor=v);},children:[g==="up"?jsx(or,{size:m}):jsx(tr,{size:m}),jsx("span",{style:{fontStyle:E?"italic":"normal"},children:E?n?"Updating\u2026":"Sending\u2026":w})]},g)})})}function or({size:e=20}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"})})}function tr({size:e=20}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"})})}function tt({resolvedTheme:e,options:r,allowMultiple:o,isLoading:t,onSubmit:n,initialSelected:d,isEditing:a=false}){let[c,u]=useState(d||[]),[s,l]=useState(false),[p,i]=useState(null);useEffect(()=>{l(W());},[]),useEffect(()=>{d&&u(d);},[d]);let m=g=>{t||u(o?f=>f.includes(g)?f.filter(E=>E!==g):[...f,g]:f=>f.includes(g)?[]:[g]);},b=()=>{c.length===0||t||n({pollSelected:c});},y=s?"14px 14px":"12px 14px";return jsxs("div",{children:[jsx("ul",{role:"group","aria-label":o?"Select one or more options":"Select an option",style:{listStyle:"none",margin:0,padding:0,borderTop:`1px solid ${e.colors.border}`},children:r.map((g,f)=>{let E=c.includes(g),w=p===f;return jsxs("li",{style:{borderBottom:`1px solid ${e.colors.border}`,position:"relative",animation:`gotcha-fade-up ${e.animation.duration.normal} ${e.animation.easing.default} both`,animationDelay:`${f*.04}s`},children:[E&&jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:8,bottom:8,width:2,backgroundColor:e.colors.pollSelectedBorder}}),jsxs("button",{type:"button",onClick:()=>m(g),onMouseEnter:()=>i(f),onMouseLeave:()=>i(null),disabled:t,"aria-pressed":E,style:{display:"flex",alignItems:"center",gap:12,width:"100%",padding:y,paddingLeft:E?16:14,border:"none",background:w&&!E?e.colors.surfaceHover:"transparent",color:e.colors.text,fontSize:s?15:e.typography.fontSize.md,fontWeight:E?e.typography.fontWeight.medium:e.typography.fontWeight.normal,fontFamily:e.typography.fontFamily,cursor:t?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,textAlign:"left",letterSpacing:"0",outline:"none"},children:[jsx("span",{style:{flex:1},children:g}),jsx("span",{"aria-hidden":"true",style:{width:14,height:14,borderRadius:o?3:"50%",border:`1px solid ${E?e.colors.pollCheckSelectedBorder:e.colors.pollCheckBorder}`,backgroundColor:E?e.colors.pollCheckSelectedBg:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},children:E&&jsx("svg",{width:8,height:8,viewBox:"0 0 10 10",fill:"none",children:jsx("path",{d:"M2 5L4 7L8 3",stroke:e.colors.primaryText,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]},g)})}),jsx("button",{type:"button",onClick:b,disabled:t||c.length===0,style:{width:"100%",marginTop:18,padding:s?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:c.length===0?e.colors.buttonBackgroundDisabled:e.colors.buttonBackground,color:c.length===0?e.colors.buttonColorDisabled:e.colors.buttonColor,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||c.length===0?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal"},onMouseEnter:g=>{g.currentTarget.disabled||(g.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:g=>{g.currentTarget.disabled||(g.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?a?"Updating\u2026":"Sending\u2026":a?"Update":"Submit"})]})}function nt({size:e=16,color:r="currentColor"}){let t=2*Math.PI*9,n=t*.25;return jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Loading",style:{animation:"gotcha-spin 1.1s linear infinite",transformOrigin:"center"},children:[jsx("circle",{cx:"12",cy:"12",r:9,stroke:r,strokeOpacity:"0.18",strokeWidth:"1.25",fill:"none"}),jsx("circle",{cx:"12",cy:"12",r:9,stroke:r,strokeWidth:"1.25",strokeLinecap:"round",fill:"none",strokeDasharray:`${n} ${t}`,strokeDashoffset:"0"})]})}function at({resolvedTheme:e,submitText:r,isLoading:o,onSubmit:t,customStyles:n,showFollowUp:d=true,followUpPlaceholder:a,lowLabel:c="Not likely",highLabel:u="Very likely",initialValues:s,isEditing:l=false}){let[p,i]=useState(s?.rating??null),[m,b]=useState(s?.content||""),[y,g]=useState(false),[f,E]=useState(null);useEffect(()=>{g(W());},[]),useEffect(()=>{s?.rating!==void 0&&i(s.rating??null),s?.content!==void 0&&b(s.content||"");},[s?.rating,s?.content]);let w=p!==null;return jsxs("form",{onSubmit:v=>{v.preventDefault(),!(!w||o)&&t({rating:p??void 0,content:d&&m.trim()?m.trim():void 0});},children:[jsx("div",{style:{position:"relative",display:"flex",gap:y?4:5,justifyContent:"center"},role:"group","aria-label":"NPS Score",onMouseLeave:()=>E(null),children:Array.from({length:11},(v,k)=>{let T=p===k,U=f===k;return jsx("button",{type:"button",onClick:()=>i(k),onMouseEnter:()=>E(k),"aria-label":`Score ${k} out of 10`,"aria-pressed":T,style:{flex:1,minWidth:0,aspectRatio:"1",borderRadius:e.borders.radius.sm,border:`1px solid ${T?e.colors.buttonBackground:U?e.colors.inputBorderFocus:e.colors.border}`,backgroundColor:T?e.colors.buttonBackground:"transparent",color:T?e.colors.buttonColor:e.colors.text,fontSize:15,fontWeight:T?e.typography.fontWeight.medium:e.typography.fontWeight.normal,fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontVariantNumeric:"tabular-nums",cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}, border-color ${e.animation.duration.fast} ${e.animation.easing.default}, color ${e.animation.duration.fast} ${e.animation.easing.default}`,outline:"none",...n?.npsButton,...T?n?.npsButtonSelected:{}},children:k},k)})}),jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:12,padding:"0 2px",...n?.npsLabels},children:[c,u].map(v=>jsx("span",{style:{fontFamily:e.typography.fontFamily,fontSize:11,color:e.colors.text,fontWeight:e.typography.fontWeight.medium,letterSpacing:"0.14em",textTransform:"uppercase"},children:v},v))}),d&&p!==null&&jsx("textarea",{value:m,onChange:v=>b(v.target.value),placeholder:a||"What's the main reason for your score?",maxLength:5e3,style:{width:"100%",padding:y?"12px 0":"10px 0",marginTop:18,border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:y?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:y?72:56,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55,animation:`gotcha-expand-in ${e.animation.duration.normal} ${e.animation.easing.default} both`,overflow:"hidden",...n?.input},disabled:o,"aria-label":"Follow-up feedback",onFocus:v=>{v.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:v=>{v.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),jsx("button",{type:"submit",disabled:o||!w,style:{width:"100%",marginTop:18,padding:y?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:w?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:w?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:o||!w?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:o?"italic":"normal",...n?.submitButton},onMouseEnter:v=>{v.currentTarget.disabled||(v.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:v=>{v.currentTarget.disabled||(v.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:o?l?"Updating\u2026":"Sending\u2026":l?"Update":r})]})}function lt({resolvedTheme:e,promptText:r,placeholder:o,isLoading:t,onSubmit:n}){let[d,a]=useState(""),[c,u]=useState(false);return useEffect(()=>{u(W());},[]),jsxs("form",{onSubmit:l=>{l.preventDefault(),!(!d.trim()||t)&&n(d.trim());},children:[jsx("p",{style:{margin:"0 0 14px 0",fontFamily:e.typography.fontFamilyDisplay,fontSize:c?17:16,fontStyle:"italic",color:e.colors.text,lineHeight:1.45,letterSpacing:"-0.01em"},children:r}),jsx("textarea",{value:d,onChange:l=>a(l.target.value),placeholder:o||"Tell us more\u2026",maxLength:5e3,disabled:t,"aria-label":"Follow-up feedback",style:{width:"100%",padding:c?"12px 0":"10px 0",border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:c?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:c?96:72,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55},onFocus:l=>{l.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:l=>{l.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),jsx("button",{type:"submit",disabled:t||!d.trim(),style:{width:"100%",marginTop:16,padding:c?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:d.trim()?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:d.trim()?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||!d.trim()?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal"},onMouseEnter:l=>{l.currentTarget.disabled||(l.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:l=>{l.currentTarget.disabled||(l.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?"Sending\u2026":"Submit"})]})}var cr={feedback:"Feedback",vote:"Vote",poll:"Poll",nps:"Rate"};function dr(e,r){switch(e){case "vote":return "What do you think?";case "poll":return "Cast your vote.";case "nps":return r||"How likely are you to recommend us?";default:return "What do you think of this feature?"}}var ur=4e3;function dt({mode:e,theme:r,customStyles:o,promptText:t,placeholder:n,submitText:d,thankYouMessage:a,isLoading:c,isCheckingExisting:u=false,isSubmitted:s,phase:l="form",followUpConfig:p,followUpLoading:i=false,onFollowUpSubmit:m,error:b,existingResponse:y,isEditing:g=false,showText:f=true,showRating:E=true,voteLabels:w,options:C,allowMultiple:v=false,npsQuestion:k,npsFollowUp:T=true,npsFollowUpPlaceholder:U,npsLowLabel:N,npsHighLabel:A,enableBugFlag:F=false,bugFlagLabel:M,enableScreenshot:H=false,onSubmit:Y,onClose:S,anchorRect:O,useFixedPosition:ke=false,isMobile:V}){let de=useRef(null),ye=useRef(null),Ae=useRef(S);Ae.current=S;let[Le,je]=useState(false),z=V??Le,[Ie,De]=useState("light"),{themeConfig:_}=P();useEffect(()=>{if(typeof window>"u")return;let I=window.matchMedia("(prefers-color-scheme: dark)"),Q=D=>De(D.matches?"dark":"light");Q(I);let q=D=>Q(D);I.addEventListener("change",q);let K=[()=>I.removeEventListener("change",q)];if(V===void 0){let D=window.matchMedia("(max-width: 1023px)"),J=()=>je(D.matches);J(),D.addEventListener("change",J),K.push(()=>D.removeEventListener("change",J));}return ()=>{for(let D of K)D();}},[V]);let h=useMemo(()=>ae(r,Ie,_),[r,Ie,_]);useEffect(()=>{Ye(h);},[h]);let Ce=typeof window>"u"||!O?false:window.innerHeight-O.bottom<340;useEffect(()=>{let I=de.current;if(!I)return;ye.current?.focus();let Q=q=>{if(q.key==="Escape"){Ae.current();return}if(q.key==="Tab"){let K=I.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),D=K[0],J=K[K.length-1];q.shiftKey&&document.activeElement===D?(q.preventDefault(),J?.focus()):!q.shiftKey&&document.activeElement===J&&(q.preventDefault(),D?.focus());}};return document.addEventListener("keydown",Q),()=>document.removeEventListener("keydown",Q)},[]);let ue=t||dr(e,k),Je=cr[e],pe=e==="nps"?420:e==="poll"?400:360,Pe=z?"gotcha-modal-enter-center":Ce?"gotcha-modal-enter-above":"gotcha-modal-enter",Z=typeof window<"u"?window.innerHeight:0,me={padding:0,borderRadius:h.borders.radius.lg,background:h.colors.background,color:h.colors.text,boxShadow:h.shadows.modal,border:`${h.borders.width}px solid ${h.colors.border}`,fontFamily:h.typography.fontFamily,textAlign:"left",overflow:"hidden"},$e=z?{...me,position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100vw - 32px)",maxWidth:pe,zIndex:9999,...o?.modal}:ke&&O&&Z?(()=>{let I=window.innerWidth,Q=24,K=O.left+O.width/2-pe/2,D=Math.max(Q,Math.min(K,I-pe-Q));return {...me,position:"fixed",left:D,width:pe,zIndex:99999,...Ce?{bottom:Z-O.top+10}:{top:O.bottom+10},...o?.modal}})():{...me,position:"absolute",left:"50%",width:pe,zIndex:9999,...Ce?{bottom:"100%",marginBottom:10,transform:"translateX(-50%)"}:{top:"100%",marginTop:10,transform:"translateX(-50%)"},...o?.modal},ee=I=>z?{}:{animation:`gotcha-fade-up ${h.animation.duration.normal} ${h.animation.easing.default} both`,animationDelay:`${I*.04}s`},ze=z?"20px 24px 24px":"20px 28px 24px";return jsxs("div",{ref:de,role:"dialog","aria-modal":"true","aria-label":s?"Feedback submitted":void 0,"aria-labelledby":s?void 0:"gotcha-modal-title","data-gotcha":true,style:$e,className:Xe("gotcha-modal","gotcha-root",Pe),children:[!s&&jsxs("header",{style:{padding:z?"20px 24px 16px":"22px 28px 16px",borderBottom:`${h.borders.width}px solid ${h.colors.border}`,position:"relative"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,...ee(0)},children:[jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:16,height:1,backgroundColor:h.colors.warning}}),jsx("span",{style:{fontFamily:h.typography.fontFamily,fontSize:10,fontWeight:h.typography.fontWeight.medium,letterSpacing:"0.16em",textTransform:"uppercase",color:h.colors.textSecondary},children:Je})]}),jsx("h2",{id:"gotcha-modal-title",style:{margin:0,paddingRight:z?52:44,fontFamily:h.typography.fontFamilyDisplay,fontSize:z?22:20,fontWeight:h.typography.fontWeight.normal,letterSpacing:"-0.01em",lineHeight:1.25,color:h.colors.text,...ee(1),...o?.title},children:ue}),jsx("button",{ref:ye,type:"button",onClick:S,"aria-label":"Close feedback form",style:{position:"absolute",top:z?14:16,right:z?14:18,width:z?44:32,height:z?44:32,border:"none",background:"transparent",outline:"none",cursor:"pointer",color:h.colors.closeButton,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:h.borders.radius.sm,transition:`color ${h.animation.duration.fast} ${h.animation.easing.default}`,...o?.closeButton},onMouseEnter:I=>{I.currentTarget.style.color=h.colors.closeButtonHover;},onMouseLeave:I=>{I.currentTarget.style.color=h.colors.closeButton;},children:jsx("svg",{width:12,height:12,viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M1 1L11 11M1 11L11 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),jsxs("div",{style:{padding:s?0:ze,position:"relative"},children:[b&&!s&&jsxs("div",{role:"alert",style:{padding:"2px 0 2px 14px",marginBottom:16,borderLeft:`2px solid ${h.colors.error}`,color:h.colors.text,fontSize:h.typography.fontSize.sm,lineHeight:1.55,...ee(2),...o?.errorMessage},children:[b,jsx("span",{style:{color:h.colors.textSecondary},children:" \u2014 try again?"})]}),s&&jsxs("div",{style:{padding:z?"32px 24px 28px":"36px 28px 28px",textAlign:"center",position:"relative"},children:[jsx("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",style:{display:"block",margin:"0 auto 14px",...o?.successIcon},children:jsx("path",{d:"M10 20.5L17 27.5L31 13.5",stroke:h.colors.success,strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",style:{strokeDasharray:30,strokeDashoffset:30,animation:`gotcha-check-draw 320ms ${h.animation.easing.default} forwards`}})}),jsx("p",{style:{margin:0,fontFamily:h.typography.fontFamilyDisplay,fontSize:22,fontWeight:h.typography.fontWeight.normal,letterSpacing:"-0.01em",color:h.colors.text,...o?.successMessage},children:a}),jsx("p",{style:{margin:"8px 0 0",fontFamily:h.typography.fontFamily,fontSize:h.typography.fontSize.sm,color:h.colors.textSecondary,fontStyle:"italic"},children:"We\u2019ll close this in a moment."}),jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:1,right:1,bottom:1,height:1,backgroundColor:h.colors.success,transformOrigin:"left center",animation:`gotcha-progress ${ur}ms linear forwards`}})]}),l==="followUp"&&p&&m&&!s&&jsx("div",{style:ee(2),children:jsx(lt,{resolvedTheme:h,promptText:p.promptText,placeholder:p.placeholder,isLoading:i,onSubmit:m})}),l==="form"&&u&&jsx("div",{style:{display:"flex",justifyContent:"center",padding:"24px 0",...ee(2)},children:jsx(nt,{size:20,color:h.colors.textSecondary})}),l==="form"&&!u&&!s&&jsxs("div",{style:ee(2),children:[e==="feedback"&&jsx(_o,{resolvedTheme:h,placeholder:n,submitText:d,isLoading:c,onSubmit:Y,customStyles:o,initialValues:y?{content:y.content,rating:y.rating}:void 0,isEditing:g,showText:f,showRating:E,enableBugFlag:F,bugFlagLabel:M,enableScreenshot:H}),e==="vote"&&jsx(et,{resolvedTheme:h,isLoading:c,onSubmit:Y,initialVote:y?.vote||void 0,isEditing:g,labels:w}),e==="nps"&&jsx(at,{resolvedTheme:h,submitText:d,isLoading:c,onSubmit:Y,showFollowUp:T,followUpPlaceholder:U,lowLabel:N,highLabel:A,customStyles:o,initialValues:y?{rating:y.rating,content:y.content}:void 0,isEditing:g}),e==="poll"&&C&&C.length>0&&jsx(tt,{resolvedTheme:h,options:C,allowMultiple:v,isLoading:c,onSubmit:Y,initialSelected:y?.pollSelected||void 0,isEditing:g})]})]}),jsx("div",{"aria-live":"polite",className:"sr-only",style:{position:"absolute",left:-9999},children:s?"Thank you. Your feedback has been submitted.":b?`Error: ${b}`:""})]})}function mr({elementId:e,user:r,userEmail:o,mode:t="feedback",showText:n=true,showRating:d=true,voteLabels:a,options:c,allowMultiple:u=false,npsQuestion:s,npsFollowUp:l=true,npsFollowUpPlaceholder:p,npsLowLabel:i,npsHighLabel:m,enableBugFlag:b=false,bugFlagLabel:y,enableScreenshot:g=false,onePerUser:f=false,cooldownDays:E,hideAfterSubmitDays:w,showAfterSeconds:C,showAfterScrollPercent:v,showAfterVisits:k,followUp:T,animated:U=true,position:N=te.POSITION,size:A=te.SIZE,theme:F=te.THEME,customStyles:M,visible:H=true,showOnHover:Y=te.SHOW_ON_HOVER,touchBehavior:S=te.TOUCH_BEHAVIOR,promptText:O,placeholder:ke,submitText:V=te.SUBMIT_TEXT,thankYouMessage:de=te.THANK_YOU_MESSAGE,onSubmit:ye,onOpen:Ae,onClose:Le,onError:je}){let{disabled:z,activeModalId:Ie,openModal:De,closeModal:_,defaultUser:h,defaultUserEmail:Ce,client:ue}=P(),{conditionsMet:Je}=Ko({elementId:e,showAfterSeconds:C,showAfterScrollPercent:v,showAfterVisits:k}),{isHidden:vo,markHidden:pe}=Xo({elementId:e,userId:r?.id||h?.id,hideAfterSubmitDays:w}),[Pe,Z]=useState("form"),[me,$e]=useState(null),[ee,ze]=useState(false),[I,Q]=useState(0),[q,K]=useState(false),[D,J]=useState(null),[X,mt]=useState(false),[gt,ft]=useState(false),ve=useRef(null),Fe=useRef(),Re=useRef(null);useEffect(()=>{if(ft(true),typeof window>"u")return;let x=window.matchMedia("(max-width: 1023px)"),G=()=>mt(x.matches);return G(),x.addEventListener("change",G),()=>{x.removeEventListener("change",G),clearTimeout(Fe.current);}},[]),useEffect(()=>{Q(ue.getQueueLength());let x=()=>{setTimeout(()=>Q(ue.getQueueLength()),2e3);};return window.addEventListener("online",x),()=>window.removeEventListener("online",x)},[ue]);let oe=Ie===e;useEffect(()=>{if(!oe||X)return;let x=0,G=()=>{x||(x=requestAnimationFrame(()=>{x=0;let Se=ve.current;if(!Se)return;let Ue=Se.querySelector("button");J((Ue??Se).getBoundingClientRect());}));};return window.addEventListener("resize",G),window.addEventListener("scroll",G,{passive:true}),()=>{x&&cancelAnimationFrame(x),window.removeEventListener("resize",G),window.removeEventListener("scroll",G);}},[oe,X]),useEffect(()=>{oe||(Z("form"),clearTimeout(Fe.current));},[oe]),useEffect(()=>{if(!oe||!X)return;let x=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=x;}},[oe,X]),useEffect(()=>{if(!Y)return;let x=ve.current;if(!x)return;let G=x.parentElement;if(!G)return;let Se=()=>K(true),Ue=()=>K(false);return G.addEventListener("mouseenter",Se),G.addEventListener("mouseleave",Ue),()=>{G.removeEventListener("mouseenter",Se),G.removeEventListener("mouseleave",Ue);}},[Y]);let{submit:So,isLoading:ht,isCheckingExisting:bt,error:yt,existingResponse:vt,isEditing:xo}=Wo({elementId:e,mode:t,pollOptions:c,user:r,userEmail:o??Ce,onePerUser:f,cooldownDays:E,onSuccess:x=>{$e(x.id),w&&pe(),ye?.(x),T&&Re.current&&(T.ratingThreshold!=null&&Re.current.rating!=null&&Re.current.rating<=T.ratingThreshold||T.onNegativeVote&&Re.current.vote==="down")&&t!=="poll"?Z("followUp"):(Z("success"),Fe.current=setTimeout(()=>{_(),Z("form");},4e3));},onError:x=>{console.warn("[Gotcha] Submission failed:",x instanceof Error?x.message:x),je?.(x);}}),St=useCallback(()=>{if(ve.current){let x=ve.current.querySelector("button");J((x??ve.current).getBoundingClientRect());}De(e),Ae?.();},[e,De,Ae]),wo=useCallback(()=>{clearTimeout(Fe.current),_(),Z("form"),Le?.();},[_,Le]),xt=useCallback(x=>{Re.current={rating:x.rating,vote:x.vote},So(x);},[So]),wt=useCallback(async x=>{if(me){ze(true);try{await ue.updateResponse(me,{content:x});}catch(G){console.warn("[Gotcha] Follow-up submission failed:",G instanceof Error?G.message:G);}finally{ze(false),Z("success"),Fe.current=setTimeout(()=>{_(),Z("form");},4e3);}}},[me,_,ue]),Et=f&&xo?"Update":V;if(z||!H||vo||!Je)return null;let Tt={"top-right":{position:"absolute",top:0,right:0,transform:"translate(50%, -50%)"},"top-left":{position:"absolute",top:0,left:0,transform:"translate(-50%, -50%)"},"bottom-right":{position:"absolute",bottom:0,right:0,transform:"translate(50%, 50%)"},"bottom-left":{position:"absolute",bottom:0,left:0,transform:"translate(-50%, 50%)"},inline:{position:"relative",display:"inline-flex"}},kt={mode:t,theme:F,customStyles:M,promptText:O,placeholder:ke,submitText:Et,thankYouMessage:de,isLoading:ht,isCheckingExisting:f&&bt,isSubmitted:Pe==="success",phase:Pe,followUpConfig:T,followUpLoading:ee,onFollowUpSubmit:wt,error:yt,existingResponse:f?vt:null,isEditing:f&&xo,showText:n,showRating:d,voteLabels:a,options:c,allowMultiple:u,npsQuestion:s,npsFollowUp:l,npsFollowUpPlaceholder:p,npsLowLabel:i,npsHighLabel:m,enableBugFlag:b,bugFlagLabel:y,enableScreenshot:g,onSubmit:xt,onClose:wo,anchorRect:D||void 0,useFixedPosition:!X,isMobile:X};return jsxs("div",{ref:ve,style:{...Tt[N],zIndex:"auto"},className:"gotcha-container","data-gotcha-element":e,children:[jsx(Zo,{size:A,theme:F,customStyles:M,showOnHover:Y,touchBehavior:S,onClick:St,isOpen:oe,isParentHovered:q,animated:U,queuedCount:I}),oe&&gt&&createPortal(jsx("div",{role:"presentation",onClick:X?wo:void 0,style:{position:"fixed",inset:0,zIndex:99999,backgroundColor:X?"rgba(26,23,20,0.32)":"transparent",backdropFilter:X?"blur(8px)":"none",WebkitBackdropFilter:X?"blur(8px)":"none",pointerEvents:X?"auto":"none",transition:"background-color 180ms cubic-bezier(0.22, 0.61, 0.36, 1)"},children:jsx("div",{onClick:X?x=>x.stopPropagation():void 0,style:{pointerEvents:"auto"},children:jsx(dt,{...kt})})}),document.body)]})}function ut({elementId:e,refreshInterval:r}){let{client:o}=P(),[t,n]=useState(null),[d,a]=useState(true),[c,u]=useState(null);return useEffect(()=>{let s=false,l=async()=>{try{let i=await o.getScore(e);s||(n(i),u(null));}catch(i){s||u(i instanceof Error?i.message:"Failed to load score");}finally{s||a(false);}};l();let p;return r&&r>0&&(p=setInterval(l,r)),()=>{s=true,p&&clearInterval(p);}},[o,e,r]),{score:t,isLoading:d,error:c}}var vr={sm:{fontSize:11,ratingFontSize:13,starSize:13,gap:5,pillPx:8,pillPy:4,barHeight:3,iconSize:12},md:{fontSize:12.5,ratingFontSize:15,starSize:15,gap:6,pillPx:10,pillPy:5,barHeight:4,iconSize:14},lg:{fontSize:14,ratingFontSize:18,starSize:18,gap:8,pillPx:12,pillPy:6,barHeight:5,iconSize:16}};function Sr({rating:e,size:r,filledColor:o,emptyColor:t}){let n=`gotcha-star-clip-${Math.random().toString(36).slice(2,8)}`,d=[];for(let a=1;a<=5;a++){let c=Math.min(1,Math.max(0,e-(a-1))),u=`${n}-${a}`;d.push(jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",style:{display:"block"},children:[jsx("defs",{children:jsx("clipPath",{id:u,children:jsx("rect",{x:"0",y:"0",width:24*c,height:"24"})})}),jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:t}),jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:o,clipPath:`url(#${u})`})]},a));}return jsx("span",{style:{display:"inline-flex",gap:Math.max(1,r*.08),alignItems:"center"},children:d})}function xr({rate:e,height:r,filledColor:o,trackColor:t}){return jsx("span",{style:{display:"inline-block",width:48,height:r,borderRadius:r,backgroundColor:t,overflow:"hidden",verticalAlign:"middle"},children:jsx("span",{style:{display:"block",width:`${e}%`,height:"100%",borderRadius:r,background:o,transition:"width 0.6s cubic-bezier(0.4, 0, 0.2, 1)"}})})}function wr({size:e,color:r}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",style:{display:"block"},children:jsx("path",{d:"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"})})}function Er({elementId:e,variant:r="stars",showCount:o=true,size:t="md",theme:n="auto",refreshInterval:d,style:a}){let{score:c,isLoading:u}=ut({elementId:e,refreshInterval:d}),[s,l]=useState("light");useEffect(()=>{if(typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");l(F.matches?"dark":"light");let M=H=>l(H.matches?"dark":"light");return F.addEventListener("change",M),()=>F.removeEventListener("change",M)},[]);let{themeConfig:p}=P(),i=useMemo(()=>ae(n,s,p),[n,s,p]);if(u||!c)return null;let m=vr[t],b=i.colors.text,y=i.colors.textDisabled,g=i.colors.starFilled,f=i.colors.starEmpty,E=i.colors.voteUp,w=i.colors.starEmpty,C={display:"inline-flex",alignItems:"center",gap:m.gap,fontFamily:i.typography.fontFamily,lineHeight:1,WebkitFontSmoothing:"antialiased",...a},v={fontFamily:i.typography.fontFamily,fontSize:m.ratingFontSize,fontWeight:700,color:b,fontVariantNumeric:"tabular-nums",letterSpacing:"-0.01em",lineHeight:1},k={fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontSize:Math.max(9,m.fontSize-1),color:y,fontWeight:400,letterSpacing:"0.1em",textTransform:"uppercase"},T=(F,M)=>{let H=F===1?M:`${M}s`;return `${F.toLocaleString()} ${H}`};if(r==="votes"){let{voteCount:F,positiveRate:M}=c,H=F.up+F.down;return H===0?null:jsxs("span",{style:C,children:[jsx(wr,{size:m.iconSize,color:E}),jsxs("span",{style:{...v,color:E},children:[M,"%"]}),jsx(xr,{rate:M??0,height:m.barHeight,filledColor:E,trackColor:w}),o&&jsx("span",{style:k,children:T(H,"vote")})]})}let{averageRating:U,totalResponses:N}=c;if(U===null||N===0)return null;let A=U.toFixed(1);return r==="compact"?jsxs("span",{style:C,children:[jsx("svg",{width:m.starSize,height:m.starSize,viewBox:"0 0 24 24",style:{display:"block",flexShrink:0},children:jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:g})}),jsx("span",{style:v,children:A}),o&&jsxs("span",{style:k,children:["(",N.toLocaleString(),")"]})]}):r==="number"?jsxs("span",{style:C,children:[jsx("span",{style:v,children:A}),jsx("span",{style:{...k,marginLeft:2},children:"/ 5"}),o&&jsxs("span",{style:{...k,marginLeft:2},children:["(",T(N,"response"),")"]})]}):jsxs("span",{style:C,children:[jsx(Sr,{rating:U,size:m.starSize,filledColor:g,emptyColor:f}),jsx("span",{style:v,children:A}),o&&jsxs("span",{style:k,children:["(",T(N,"response"),")"]})]})}function Tr(){let{client:e,disabled:r,defaultUser:o,debug:t,openModal:n,closeModal:d,activeModalId:a}=P();return {client:e,disabled:r,defaultUser:o,debug:t,submitFeedback:e.submitResponse.bind(e),openModal:n,closeModal:d,activeModalId:a}}function kr(e){let{activeModalId:r,openModal:o,closeModal:t}=P(),n=useCallback(()=>o(e),[o,e]),d=useCallback(()=>t(),[t]);return {open:n,close:d,isOpen:r===e}}
135
- export{mr as Gotcha,Nt as GotchaProvider,Er as GotchaScore,Mt as createTheme,Tr as useGotcha,kr as useGotchaTrigger};//# sourceMappingURL=index.mjs.map
134
+ `.trim()}function Ze(e){if(typeof document>"u")return;let r=document.getElementById(qo);r||(r=document.createElement("style"),r.id=qo,document.head.appendChild(r)),r.textContent=Wt(e);}var Qo=createContext(null),Qt={};function Kt({apiKey:e,children:r,baseUrl:o,debug:t=false,disabled:n=false,defaultUser:d,defaultUserEmail:i,themeConfig:c}){let[u,s]=useState(null);o&&!o.startsWith("https://")&&!o.startsWith("/")&&!o.includes("localhost")&&console.warn("[Gotcha] baseUrl should use HTTPS in production:",o);let l=useMemo(()=>Ho({apiKey:e,baseUrl:o,debug:t}),[e,o,t]),p=useMemo(()=>d??Qt,[JSON.stringify(d)]);useEffect(()=>{let v=ce("light","light",c);Ze(v);},[c]),useEffect(()=>(Go(),()=>Lo()),[]),useEffect(()=>{l.flushQueue();let v=()=>l.flushQueue();return window.addEventListener("online",v),()=>window.removeEventListener("online",v)},[l]);let a=useCallback(v=>{s(v);},[]),g=useCallback(()=>{s(null);},[]),y=useMemo(()=>({client:l,disabled:n,defaultUser:p,defaultUserEmail:i,debug:t,activeModalId:u,openModal:a,closeModal:g,themeConfig:c}),[l,n,p,i,t,u,a,g,c]);return jsx(Qo.Provider,{value:y,children:r})}function P(){let e=useContext(Qo);if(!e)throw new Error("useGotchaContext must be used within a GotchaProvider");return e}function Jt(e,r){let o=new Date(e).getTime();if(isNaN(o))return true;let t=Date.now()-o,n=r*24*60*60*1e3;return t>=n}function Ko(e){let{client:r,defaultUser:o}=P(),[t,n]=useState(false),[d,i]=useState(false),[c,u]=useState(null),[s,l]=useState(null);return useEffect(()=>{process.env.NODE_ENV!=="production"&&e.cooldownDays&&!e.onePerUser&&console.warn("[Gotcha] cooldownDays has no effect without onePerUser=true");let a=e.user?.id||o?.id;if(!a||!e.onePerUser){l(null);return}let g=false;return (async()=>{i(true);try{let v=await r.checkExistingResponse(e.elementId,a);g||(v&&e.cooldownDays&&e.cooldownDays>0&&Jt(v.createdAt,e.cooldownDays)?l(null):l(v));}catch{g||l(null);}finally{g||i(false);}})(),()=>{g=true;}},[r,e.elementId,e.user?.id,o?.id,e.onePerUser,e.cooldownDays]),{submit:useCallback(async a=>{n(true),u(null);try{let g=e.user?.id||o?.id,y;return e.onePerUser&&s&&g?y=await r.updateResponse(s.id,{content:a.content,title:a.title,rating:a.rating,vote:a.vote,pollSelected:a.pollSelected},g):y=await r.submitResponse({elementId:e.elementId,mode:e.mode,content:a.content,title:a.title,rating:a.rating,vote:a.vote,pollOptions:e.pollOptions,pollSelected:a.pollSelected,isBug:a.isBug,screenshot:a.screenshot,user:{...o,...e.user},userEmail:e.userEmail}),e.onePerUser&&l({id:y.id,mode:e.mode,content:a.content??null,title:a.title??null,rating:a.rating??null,vote:a.vote??null,pollSelected:a.pollSelected??null,createdAt:y.createdAt}),e.onSuccess?.(y),y}catch(g){let y=g instanceof Error?g.message:"Something went wrong";throw u(y),e.onError?.(g instanceof Error?g:new Error(y)),g}finally{n(false);}},[r,o,e,s]),isLoading:t,isCheckingExisting:d,error:c,existingResponse:s,isEditing:!!s,clearError:()=>u(null)}}function Zo(e,r){return `${j.HIDDEN_UNTIL}_${e}_${r}`}function Vo(e,r,o){if(!o||o<=0)return false;let t=Zo(e,r),n=ie(t);return n?new Date(n).getTime()>Date.now():false}function jo(e){let{elementId:r,userId:o,hideAfterSubmitDays:t}=e,n=useMemo(()=>o||Qe(),[o]),[d,i]=useState(()=>Vo(r,n,t));useEffect(()=>{i(Vo(r,n,t));},[r,n,t]);let c=useCallback(()=>{if(!t||t<=0)return;let u=Zo(r,n),s=new Date(Date.now()+t*24*60*60*1e3);ae(u,s.toISOString()),i(true);},[r,n,t]);return {isHidden:d,markHidden:c}}function tr(e){return `${j.VISIT_COUNT}_${e}`}function $o(e){let{elementId:r,showAfterSeconds:o,showAfterScrollPercent:t,showAfterVisits:n}=e,d=o!=null||t!=null||n!=null,[i,c]=useState(!o),[u,s]=useState(!t),[l]=useState(()=>{if(!n)return true;let p=tr(r),g=parseInt(ie(p)||"0",10)+1;return ae(p,String(g)),g>=n});return useEffect(()=>{if(!o||o<=0)return;let p=Date.now(),a=o*1e3,g=()=>{Date.now()-p>=a?c(true):y=setTimeout(g,Math.min(1e3,a-(Date.now()-p)));},y=setTimeout(g,Math.min(1e3,a));return ()=>clearTimeout(y)},[o]),useEffect(()=>{if(!t||t<=0)return;let p=()=>{let a=document.documentElement.scrollHeight,g=window.innerHeight;if(a<=g){s(true);return}(window.scrollY+g)/a*100>=t&&s(true);};if(p(),!u)return window.addEventListener("scroll",p,{passive:true}),()=>window.removeEventListener("scroll",p)},[t,u]),{conditionsMet:!d||i&&u&&l}}function Je(...e){return e.filter(Boolean).join(" ")}var W=()=>typeof window>"u"?false:"ontouchstart"in window||navigator.maxTouchPoints>0,_o=(e,r)=>{let o={sm:{desktop:24,mobile:28},md:{desktop:32,mobile:34},lg:{desktop:40,mobile:40}};return r?o[e].mobile:o[e].desktop};function nr(){return typeof window>"u"?"light":window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function et({size:e,theme:r,customStyles:o,showOnHover:t,touchBehavior:n,onClick:d,isOpen:i,isParentHovered:c=false,animated:u=true,queuedCount:s=0}){let[l,p]=useState(false),[a,g]=useState(false),[y,v]=useState(nr),[m,f]=useState(false),[E,S]=useState(false),[C,x]=useState(false),{themeConfig:k}=P();useEffect(()=>{if(p(W()),typeof window>"u")return;let K=window.matchMedia("(prefers-color-scheme: dark)"),pe=Se=>v(Se.matches?"dark":"light");return K.addEventListener("change",pe),()=>K.removeEventListener("change",pe)},[]);let T=i?true:!l&&t?c:l&&n==="tap-to-reveal"?a:true;useEffect(()=>{if(T&&!C){let K=setTimeout(()=>x(true),320);return ()=>clearTimeout(K)}},[T,C]);let U=()=>{if(l&&n==="tap-to-reveal"&&!a){g(true);return}d();},N=_o(e,l),A=useMemo(()=>ce(r,y,k),[r,y,k]),F=i?A.colors.warning:A.colors.border,M=i?A.colors.warning:A.colors.glassColor,H=()=>T?E?"scale(0.97)":"scale(1)":"scale(0.96)",q=E?"80ms":"160ms",w=A.animation.easing.default,O=m&&!i?A.colors.surfaceHover:A.colors.glassBackground,Fe={position:"relative",width:N,height:N,borderRadius:A.borders.radius.full,border:`1px solid ${F}`,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",background:O,color:M,boxShadow:m?A.colors.glassHoverShadow:A.colors.glassShadow,transition:C?`transform ${q} ${w}, background-color 180ms ${w}, box-shadow 180ms ${w}, border-color 240ms ${w}, color 240ms ${w}`:`opacity 320ms ${w}, transform 320ms ${w}`,opacity:T?1:0,transform:H(),pointerEvents:T?"auto":"none",...o?.button};return jsxs("button",{type:"button",onClick:U,onMouseEnter:()=>f(true),onMouseLeave:()=>{f(false),S(false);},onMouseDown:()=>S(true),onMouseUp:()=>S(false),onTouchStart:()=>S(true),onTouchEnd:()=>S(false),style:Fe,className:Je("gotcha-button",i&&"gotcha-button--open"),"aria-label":"Give feedback on this feature","aria-expanded":i,"aria-haspopup":"dialog",children:[jsx(sr,{size:N*.62,color:M,fontFamilyDisplay:A.typography.fontFamilyDisplay,animated:u&&!C}),s>0&&jsx("span",{"aria-label":`${s} queued`,style:{position:"absolute",top:-2,right:-2,width:8,height:8,borderRadius:"50%",backgroundColor:A.colors.warning,border:`1.5px solid ${A.colors.background}`}})]})}function sr({size:e,color:r,fontFamilyDisplay:o,animated:t}){let[n,d]=useState(false);return useEffect(()=>{d(true);},[]),jsx("span",{"aria-hidden":"true",style:{fontFamily:o,fontWeight:400,fontSize:e,fontStyle:"normal",lineHeight:1,color:r,transform:"translateY(1px) translateZ(0)",willChange:"transform",letterSpacing:"normal",userSelect:"none",display:"inline-block",opacity:t?n?1:0:1,transition:t?"opacity 240ms cubic-bezier(0.22, 0.61, 0.36, 1) 120ms":"none"},children:"G"})}function tt({src:e,onRemove:r,resolvedTheme:o}){let[t,n]=useState(false),[d,i]=useState(false);useEffect(()=>{n(W());},[]);let c=(()=>{if(!e.startsWith("data:"))return null;let u=e.indexOf(",");if(u<0)return null;let s=e.slice(u+1);return Math.round(s.length*3/4/1024)})();return jsxs("div",{style:{marginTop:12},children:[jsxs("div",{style:{position:"relative",borderRadius:o.borders.radius.sm,overflow:"hidden",border:`1px solid ${o.colors.border}`,padding:4,background:o.colors.background},children:[jsx("img",{src:e,alt:"Screenshot attached to the feedback",style:{display:"block",width:"100%",maxHeight:140,objectFit:"cover",borderRadius:Math.max(0,o.borders.radius.sm-2)}}),jsx("button",{type:"button",onClick:r,onMouseEnter:()=>i(true),onMouseLeave:()=>i(false),"aria-label":"Remove screenshot",style:{position:"absolute",top:8,right:8,width:t?32:24,height:t?32:24,borderRadius:"50%",border:`1px solid ${d?o.colors.error:o.colors.border}`,backgroundColor:d?o.colors.error:o.colors.background,color:d?o.colors.primaryText:o.colors.textSecondary,cursor:"pointer",display:"flex",alignItems:"center",justifyContent:"center",transition:`all ${o.animation.duration.fast} ${o.animation.easing.default}`},children:jsx("svg",{width:10,height:10,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M1 1L13 13M1 13L13 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),jsxs("p",{style:{margin:"6px 0 0",fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontSize:10,letterSpacing:"0.08em",textTransform:"uppercase",color:o.colors.textSecondary},children:["screenshot.png",c!=null?` \xB7 ${c} KB`:""]})]})}function nt({resolvedTheme:e,placeholder:r,submitText:o,isLoading:t,onSubmit:n,customStyles:d,initialValues:i,isEditing:c=false,showText:u=true,showRating:s=true,enableBugFlag:l=false,bugFlagLabel:p,enableScreenshot:a=false}){let[g,y]=useState(i?.content||""),[v,m]=useState(i?.rating??null),[f,E]=useState(false),[S,C]=useState(false),[x,k]=useState(null),[T,U]=useState(false),[N,A]=useState(false);useEffect(()=>{C(W());},[]),useEffect(()=>{i?.content!==void 0&&y(i.content||""),i?.rating!==void 0&&m(i.rating??null);},[i?.content,i?.rating]);let F=u&&s?g.trim().length>0||v!==null:u?g.trim().length>0:s?v!==null:false,M=async()=>{U(true),A(false);try{let{captureScreenshot:w}=await import('./screenshot-KDHUL63V.mjs'),O=await w();O?k(O):A(!0);}catch{A(true);}finally{U(false);}},H=w=>{w.preventDefault(),!(!F||t)&&n({content:u&&g.trim()?g.trim():void 0,rating:s&&v!==null?v:void 0,isBug:f||void 0,screenshot:x||void 0});},q={width:"100%",padding:S?"12px 0":"10px 0",border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:S?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:S?96:80,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55,...d?.input};return jsxs("form",{onSubmit:H,children:[s&&jsx("div",{style:{marginBottom:u?S?18:16:0,...u?{}:{display:"flex",justifyContent:"center",padding:"6px 0"}},children:jsx(lr,{value:v,onChange:m,theme:e,isTouch:S,large:!u})}),u&&jsx("textarea",{value:g,onChange:w=>y(w.target.value),placeholder:r||"Share your thoughts\u2026",maxLength:5e3,style:q,disabled:t,"aria-label":"Your feedback",onFocus:w=>{w.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:w=>{w.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),l&&jsxs("button",{type:"button",role:"switch","aria-checked":f,onClick:()=>E(!f),style:{display:"flex",alignItems:"center",gap:10,width:"100%",marginTop:16,padding:S?"12px 12px":"10px 12px",border:`1px solid ${f?e.colors.warningBorder:e.colors.border}`,borderRadius:e.borders.radius.sm,backgroundColor:f?e.colors.warningSurface:"transparent",cursor:"pointer",transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`,fontFamily:e.typography.fontFamily,...d?.bugFlag},children:[jsx("span",{"aria-hidden":"true",style:{width:14,height:14,borderRadius:3,border:`1px solid ${f?e.colors.warningActive:e.colors.border}`,backgroundColor:f?e.colors.warning:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},children:f&&jsx("svg",{width:8,height:8,viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:jsx("path",{d:"M2 5L4 7L8 3",stroke:e.colors.primaryText,strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round"})})}),jsx("span",{style:{fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.normal,color:f?e.colors.text:e.colors.textSecondary,letterSpacing:"0",textAlign:"left",flex:1},children:f?"Reported as an issue":p||"Report an issue"})]}),l&&a&&f&&!x&&jsxs("button",{type:"button",onClick:M,disabled:T,style:{display:"flex",alignItems:"center",gap:8,width:"100%",marginTop:8,padding:"9px 12px",border:`1px solid ${e.colors.border}`,borderRadius:e.borders.radius.sm,backgroundColor:"transparent",cursor:T?"progress":"pointer",fontFamily:e.typography.fontFamily,fontSize:e.typography.fontSize.xs,letterSpacing:"0.06em",textTransform:"uppercase",color:e.colors.textSecondary,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},onMouseEnter:w=>{w.currentTarget.style.borderColor=e.colors.inputBorderFocus,w.currentTarget.style.color=e.colors.text;},onMouseLeave:w=>{w.currentTarget.style.borderColor=e.colors.border,w.currentTarget.style.color=e.colors.textSecondary;},children:[jsxs("svg",{width:12,height:12,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",children:[jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),jsx("circle",{cx:"12",cy:"10",r:"3"}),jsx("path",{d:"M2 17l4-4 3 3 4-4 9 9"})]}),T?"Capturing\u2026":"Attach screenshot"]}),N&&jsxs("div",{role:"alert",style:{marginTop:8,padding:"6px 0 6px 10px",borderLeft:`2px solid ${e.colors.error}`,fontSize:e.typography.fontSize.xs,color:e.colors.text,fontFamily:e.typography.fontFamily,display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"},children:[jsx("span",{children:"Screenshot capture unavailable."}),jsx("button",{type:"button",onClick:M,style:{background:"none",border:"none",padding:0,color:e.colors.text,fontFamily:e.typography.fontFamily,fontSize:e.typography.fontSize.xs,textDecoration:"underline",textDecorationColor:e.colors.border,textUnderlineOffset:3,cursor:"pointer"},children:"Try again"})]}),l&&a&&f&&x&&jsx(tt,{src:x,onRemove:()=>k(null),resolvedTheme:e}),jsx("button",{type:"submit",disabled:t||!F,style:{width:"100%",padding:S?"14px 16px":"11px 16px",marginTop:18,border:"none",borderRadius:e.borders.radius.sm,backgroundColor:F?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:F?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||!F?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal",...d?.submitButton},onMouseEnter:w=>{w.currentTarget.disabled||(w.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:w=>{w.currentTarget.disabled||(w.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?c?"Updating\u2026":"Sending\u2026":c?"Update":o})]})}function lr({value:e,onChange:r,theme:o,isTouch:t,large:n=false}){let[d,i]=useState(null),c=n?t?34:28:t?26:20,u=n?8:6,s=n?t?6:4:t?6:2,l=p=>d!==null&&d>=p?`${(p-1)*30}ms`:"0ms";return jsx("div",{style:{display:"flex",gap:u},role:"group","aria-label":"Rating",onMouseLeave:()=>i(null),children:[1,2,3,4,5].map(p=>{let a=(d??e??0)>=p;return jsx("button",{type:"button",onClick:()=>r(p),onMouseEnter:()=>i(p),"aria-label":`Rate ${p} out of 5`,"aria-pressed":e===p,style:{background:"none",border:"none",cursor:"pointer",padding:s,color:a?o.colors.starFilled:o.colors.starEmpty,transition:`color 180ms ${o.animation.easing.default}`,transitionDelay:l(p),outline:"none",WebkitTapHighlightColor:"transparent"},children:jsx("svg",{width:c,height:c,viewBox:"0 0 24 24",fill:a?"currentColor":"none",stroke:"currentColor",strokeWidth:a?0:1.5,strokeLinejoin:"round",children:jsx("path",{d:"M12 3.5L14.472 8.506L20 9.308L16 13.205L16.944 18.706L12 16.107L7.056 18.706L8 13.205L4 9.308L9.528 8.506L12 3.5Z"})})},p)})})}function st({resolvedTheme:e,isLoading:r,onSubmit:o,initialVote:t,isEditing:n=false,labels:d}){let[i,c]=useState(false),[u,s]=useState(t||null),[l,p]=useState(t||null);useEffect(()=>{c(W());},[]),useEffect(()=>{t!==void 0&&(p(t),s(t));},[t]),useEffect(()=>{!r&&!n&&s(null);},[r,n]);let a=m=>{s(m),o({vote:m});},g=i?24:20,y=m=>{let f=l===m,E=m==="up"?e.colors.voteUp:e.colors.voteDown,S=m==="up"?e.colors.voteUpSurface:e.colors.voteDownSurface,C=m==="up"?e.colors.voteUpBorder:e.colors.voteDownBorder;return {flex:1,minWidth:0,padding:i?"14px 18px":"11px 16px",border:`1px solid ${f?E:C}`,borderRadius:e.borders.radius.full,background:f?E:S,color:f?e.colors.primaryText:e.colors.text,fontSize:i?15:13,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:r?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}, border-color ${e.animation.duration.fast} ${e.animation.easing.default}, color ${e.animation.duration.fast} ${e.animation.easing.default}`,display:"flex",alignItems:"center",justifyContent:"center",gap:i?10:8,outline:"none"}},v=(m,f)=>d?.[m]?d[m]:m==="up"?f?"Liked":"Like":f?"Disliked":"Dislike";return jsx("div",{style:{display:"flex",gap:i?12:10},role:"group","aria-label":"Vote",children:["up","down"].map(m=>{let f=l===m,E=r&&u===m,S=v(m,f),C=E?`${S}, submitting`:S,x=m==="up"?e.colors.voteUpBorder:e.colors.voteDownBorder;return jsxs("button",{type:"button",onClick:()=>a(m),disabled:r,style:y(m),"aria-label":C,"aria-pressed":f,onMouseEnter:k=>{r||f||(k.currentTarget.style.borderColor=e.colors.inputBorderFocus);},onMouseLeave:k=>{f||(k.currentTarget.style.borderColor=x);},children:[m==="up"?jsx(cr,{size:g}):jsx(dr,{size:g}),jsx("span",{style:{fontStyle:E?"italic":"normal"},children:E?n?"Updating\u2026":"Sending\u2026":S})]},m)})})}function cr({size:e=20}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"})})}function dr({size:e=20}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",children:jsx("path",{d:"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17"})})}function at({resolvedTheme:e,options:r,allowMultiple:o,isLoading:t,onSubmit:n,initialSelected:d,isEditing:i=false}){let[c,u]=useState(d||[]),[s,l]=useState(false),[p,a]=useState(null);useEffect(()=>{l(W());},[]),useEffect(()=>{d&&u(d);},[d]);let g=m=>{t||u(o?f=>f.includes(m)?f.filter(E=>E!==m):[...f,m]:f=>f.includes(m)?[]:[m]);},y=()=>{c.length===0||t||n({pollSelected:c});},v=s?"14px 14px":"12px 14px";return jsxs("div",{children:[jsx("ul",{role:"group","aria-label":o?"Select one or more options":"Select an option",style:{listStyle:"none",margin:0,padding:0,borderTop:`1px solid ${e.colors.border}`},children:r.map((m,f)=>{let E=c.includes(m),S=p===f;return jsxs("li",{style:{borderBottom:`1px solid ${e.colors.border}`,position:"relative",animation:`gotcha-fade-up ${e.animation.duration.normal} ${e.animation.easing.default} both`,animationDelay:`${f*.04}s`},children:[E&&jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:0,top:8,bottom:8,width:2,backgroundColor:e.colors.pollSelectedBorder}}),jsxs("button",{type:"button",onClick:()=>g(m),onMouseEnter:()=>a(f),onMouseLeave:()=>a(null),disabled:t,"aria-pressed":E,style:{display:"flex",alignItems:"center",gap:12,width:"100%",padding:v,paddingLeft:E?16:14,border:"none",background:S&&!E?e.colors.surfaceHover:"transparent",color:e.colors.text,fontSize:s?15:e.typography.fontSize.md,fontWeight:E?e.typography.fontWeight.medium:e.typography.fontWeight.normal,fontFamily:e.typography.fontFamily,cursor:t?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,textAlign:"left",letterSpacing:"0",outline:"none"},children:[jsx("span",{style:{flex:1},children:m}),jsx("span",{"aria-hidden":"true",style:{width:14,height:14,borderRadius:o?3:"50%",border:`1px solid ${E?e.colors.pollCheckSelectedBorder:e.colors.pollCheckBorder}`,backgroundColor:E?e.colors.pollCheckSelectedBg:"transparent",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,transition:`all ${e.animation.duration.fast} ${e.animation.easing.default}`},children:E&&jsx("svg",{width:8,height:8,viewBox:"0 0 10 10",fill:"none",children:jsx("path",{d:"M2 5L4 7L8 3",stroke:e.colors.primaryText,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]})]},m)})}),jsx("button",{type:"button",onClick:y,disabled:t||c.length===0,style:{width:"100%",marginTop:18,padding:s?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:c.length===0?e.colors.buttonBackgroundDisabled:e.colors.buttonBackground,color:c.length===0?e.colors.buttonColorDisabled:e.colors.buttonColor,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||c.length===0?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal"},onMouseEnter:m=>{m.currentTarget.disabled||(m.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:m=>{m.currentTarget.disabled||(m.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?i?"Updating\u2026":"Sending\u2026":i?"Update":"Submit"})]})}function ct({size:e=16,color:r="currentColor"}){let t=2*Math.PI*9,n=t*.25;return jsxs("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",role:"img","aria-label":"Loading",style:{animation:"gotcha-spin 1.1s linear infinite",transformOrigin:"center"},children:[jsx("circle",{cx:"12",cy:"12",r:9,stroke:r,strokeOpacity:"0.18",strokeWidth:"1.25",fill:"none"}),jsx("circle",{cx:"12",cy:"12",r:9,stroke:r,strokeWidth:"1.25",strokeLinecap:"round",fill:"none",strokeDasharray:`${n} ${t}`,strokeDashoffset:"0"})]})}function ut({resolvedTheme:e,submitText:r,isLoading:o,onSubmit:t,customStyles:n,showFollowUp:d=true,followUpPlaceholder:i,lowLabel:c="Not likely",highLabel:u="Very likely",initialValues:s,isEditing:l=false}){let[p,a]=useState(s?.rating??null),[g,y]=useState(s?.content||""),[v,m]=useState(false),[f,E]=useState(null);useEffect(()=>{m(W());},[]),useEffect(()=>{s?.rating!==void 0&&a(s.rating??null),s?.content!==void 0&&y(s.content||"");},[s?.rating,s?.content]);let S=p!==null;return jsxs("form",{onSubmit:x=>{x.preventDefault(),!(!S||o)&&t({rating:p??void 0,content:d&&g.trim()?g.trim():void 0});},children:[jsx("div",{style:{position:"relative",display:"flex",gap:v?4:5,justifyContent:"center"},role:"group","aria-label":"NPS Score",onMouseLeave:()=>E(null),children:Array.from({length:11},(x,k)=>{let T=p===k,U=f===k;return jsx("button",{type:"button",onClick:()=>a(k),onMouseEnter:()=>E(k),"aria-label":`Score ${k} out of 10`,"aria-pressed":T,style:{flex:1,minWidth:0,aspectRatio:"1",borderRadius:e.borders.radius.sm,border:`1px solid ${T?e.colors.buttonBackground:U?e.colors.inputBorderFocus:e.colors.border}`,backgroundColor:T?e.colors.buttonBackground:"transparent",color:T?e.colors.buttonColor:e.colors.text,fontSize:15,fontWeight:T?e.typography.fontWeight.medium:e.typography.fontWeight.normal,fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontVariantNumeric:"tabular-nums",cursor:"pointer",padding:0,display:"flex",alignItems:"center",justifyContent:"center",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}, border-color ${e.animation.duration.fast} ${e.animation.easing.default}, color ${e.animation.duration.fast} ${e.animation.easing.default}`,outline:"none",...n?.npsButton,...T?n?.npsButtonSelected:{}},children:k},k)})}),jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginTop:12,padding:"0 2px",...n?.npsLabels},children:[c,u].map(x=>jsx("span",{style:{fontFamily:e.typography.fontFamily,fontSize:11,color:e.colors.text,fontWeight:e.typography.fontWeight.medium,letterSpacing:"0.14em",textTransform:"uppercase"},children:x},x))}),d&&p!==null&&jsx("textarea",{value:g,onChange:x=>y(x.target.value),placeholder:i||"What's the main reason for your score?",maxLength:5e3,style:{width:"100%",padding:v?"12px 0":"10px 0",marginTop:18,border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:v?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:v?72:56,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55,animation:`gotcha-expand-in ${e.animation.duration.normal} ${e.animation.easing.default} both`,overflow:"hidden",...n?.input},disabled:o,"aria-label":"Follow-up feedback",onFocus:x=>{x.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:x=>{x.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),jsx("button",{type:"submit",disabled:o||!S,style:{width:"100%",marginTop:18,padding:v?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:S?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:S?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:o||!S?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:o?"italic":"normal",...n?.submitButton},onMouseEnter:x=>{x.currentTarget.disabled||(x.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:x=>{x.currentTarget.disabled||(x.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:o?l?"Updating\u2026":"Sending\u2026":l?"Update":r})]})}function gt({resolvedTheme:e,promptText:r,placeholder:o,isLoading:t,onSubmit:n}){let[d,i]=useState(""),[c,u]=useState(false);return useEffect(()=>{u(W());},[]),jsxs("form",{onSubmit:l=>{l.preventDefault(),!(!d.trim()||t)&&n(d.trim());},children:[jsx("p",{style:{margin:"0 0 14px 0",fontFamily:e.typography.fontFamilyDisplay,fontSize:c?17:16,fontStyle:"italic",color:e.colors.text,lineHeight:1.45,letterSpacing:"-0.01em"},children:r}),jsx("textarea",{value:d,onChange:l=>i(l.target.value),placeholder:o||"Tell us more\u2026",maxLength:5e3,disabled:t,"aria-label":"Follow-up feedback",style:{width:"100%",padding:c?"12px 0":"10px 0",border:"none",borderBottom:`1px solid ${e.colors.inputBorder}`,borderRadius:0,backgroundColor:"transparent",color:e.colors.text,fontSize:c?e.typography.fontSize.lg:e.typography.fontSize.md,resize:"none",minHeight:c?96:72,fontFamily:e.typography.fontFamily,outline:"none",transition:`border-color ${e.animation.duration.fast} ${e.animation.easing.default}`,lineHeight:1.55},onFocus:l=>{l.currentTarget.style.borderBottomColor=e.colors.inputBorderFocus;},onBlur:l=>{l.currentTarget.style.borderBottomColor=e.colors.inputBorder;}}),jsx("button",{type:"submit",disabled:t||!d.trim(),style:{width:"100%",marginTop:16,padding:c?"14px 16px":"11px 16px",border:"none",borderRadius:e.borders.radius.sm,backgroundColor:d.trim()?e.colors.buttonBackground:e.colors.buttonBackgroundDisabled,color:d.trim()?e.colors.buttonColor:e.colors.buttonColorDisabled,fontSize:e.typography.fontSize.sm,fontWeight:e.typography.fontWeight.medium,fontFamily:e.typography.fontFamily,cursor:t||!d.trim()?"not-allowed":"pointer",transition:`background-color ${e.animation.duration.fast} ${e.animation.easing.default}`,fontStyle:t?"italic":"normal"},onMouseEnter:l=>{l.currentTarget.disabled||(l.currentTarget.style.backgroundColor=e.colors.buttonBackgroundHover);},onMouseLeave:l=>{l.currentTarget.disabled||(l.currentTarget.style.backgroundColor=e.colors.buttonBackground);},children:t?"Sending\u2026":"Submit"})]})}var br={feedback:"Feedback",vote:"Vote",poll:"Poll",nps:"Rate"};function yr(e,r){switch(e){case "vote":return "What do you think?";case "poll":return "Cast your vote.";case "nps":return r||"How likely are you to recommend us?";default:return "What do you think of this feature?"}}var vr=4e3;function ft({mode:e,theme:r,customStyles:o,promptText:t,placeholder:n,submitText:d,thankYouMessage:i,isLoading:c,isCheckingExisting:u=false,isSubmitted:s,phase:l="form",followUpConfig:p,followUpLoading:a=false,onFollowUpSubmit:g,error:y,existingResponse:v,isEditing:m=false,showText:f=true,showRating:E=true,voteLabels:S,options:C,allowMultiple:x=false,npsQuestion:k,npsFollowUp:T=true,npsFollowUpPlaceholder:U,npsLowLabel:N,npsHighLabel:A,enableBugFlag:F=false,bugFlagLabel:M,enableScreenshot:H=false,onSubmit:q,onClose:w,anchorRect:O,useFixedPosition:Fe=false,isMobile:K}){let pe=useRef(null),Se=useRef(null),Re=useRef(w);Re.current=w;let[Ue,oo]=useState(false),z=K??Ue,[Ne,He]=useState("light"),{themeConfig:J}=P();useEffect(()=>{if(typeof window>"u")return;let L=window.matchMedia("(prefers-color-scheme: dark)"),V=I=>He(I.matches?"dark":"light");V(L);let Y=I=>V(I);L.addEventListener("change",Y);let Z=[()=>L.removeEventListener("change",Y)];if(K===void 0){let I=window.matchMedia("(max-width: 1023px)"),te=()=>oo(I.matches);te(),I.addEventListener("change",te),Z.push(()=>I.removeEventListener("change",te));}return ()=>{for(let I of Z)I();}},[K]);let h=useMemo(()=>ce(r,Ne,J),[r,Ne,J]);useEffect(()=>{Ze(h);},[h]);let Be=typeof window>"u"||!O?false:window.innerHeight-O.bottom<340;useEffect(()=>{let L=pe.current;if(!L)return;Se.current?.focus();let V=Y=>{if(Y.key==="Escape"){Re.current();return}if(Y.key==="Tab"){let Z=L.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'),I=Z[0],te=Z[Z.length-1];Y.shiftKey&&document.activeElement===I?(Y.preventDefault(),te?.focus()):!Y.shiftKey&&document.activeElement===te&&(Y.preventDefault(),I?.focus());}};return document.addEventListener("keydown",V),()=>document.removeEventListener("keydown",V)},[]);let ge=t||yr(e,k),Oe=br[e],me=e==="nps"?420:e==="poll"?400:360,We=z?"gotcha-modal-enter-center":Be?"gotcha-modal-enter-above":"gotcha-modal-enter",Me=typeof window<"u"?window.innerHeight:0,Q={padding:0,borderRadius:h.borders.radius.lg,background:h.colors.background,color:h.colors.text,boxShadow:h.shadows.modal,border:`${h.borders.width}px solid ${h.colors.border}`,fontFamily:h.typography.fontFamily,textAlign:"left",overflow:"hidden"},Ge=z?{...Q,position:"fixed",left:"50%",top:"50%",transform:"translate(-50%, -50%)",width:"calc(100vw - 32px)",maxWidth:me,zIndex:9999,...o?.modal}:Fe&&O&&Me?(()=>{let L=window.innerWidth,V=24,Z=O.left+O.width/2-me/2,I=Math.max(V,Math.min(Z,L-me-V));return {...Q,position:"fixed",left:I,width:me,zIndex:99999,...Be?{bottom:Me-O.top+10}:{top:O.bottom+10},...o?.modal}})():{...Q,position:"absolute",left:"50%",width:me,zIndex:9999,...Be?{bottom:"100%",marginBottom:10,transform:"translateX(-50%)"}:{top:"100%",marginTop:10,transform:"translateX(-50%)"},...o?.modal},oe=L=>z?{}:{animation:`gotcha-fade-up ${h.animation.duration.normal} ${h.animation.easing.default} both`,animationDelay:`${L*.04}s`},to=z?"20px 24px 24px":"20px 28px 24px";return jsxs("div",{ref:pe,role:"dialog","aria-modal":"true","aria-label":s?"Feedback submitted":void 0,"aria-labelledby":s?void 0:"gotcha-modal-title","data-gotcha":true,style:Ge,className:Je("gotcha-modal","gotcha-root",We),children:[!s&&jsxs("header",{style:{padding:z?"20px 24px 16px":"22px 28px 16px",borderBottom:`${h.borders.width}px solid ${h.colors.border}`,position:"relative"},children:[jsxs("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:10,...oe(0)},children:[jsx("span",{"aria-hidden":"true",style:{display:"inline-block",width:16,height:1,backgroundColor:h.colors.warning}}),jsx("span",{style:{fontFamily:h.typography.fontFamily,fontSize:10,fontWeight:h.typography.fontWeight.medium,letterSpacing:"0.16em",textTransform:"uppercase",color:h.colors.textSecondary},children:Oe})]}),jsx("h2",{id:"gotcha-modal-title",style:{margin:0,paddingRight:z?52:44,fontFamily:h.typography.fontFamilyDisplay,fontSize:z?22:20,fontWeight:h.typography.fontWeight.normal,letterSpacing:"-0.01em",lineHeight:1.25,color:h.colors.text,...oe(1),...o?.title},children:ge}),jsx("button",{ref:Se,type:"button",onClick:w,"aria-label":"Close feedback form",style:{position:"absolute",top:z?14:16,right:z?14:18,width:z?44:32,height:z?44:32,border:"none",background:"transparent",outline:"none",cursor:"pointer",color:h.colors.closeButton,display:"flex",alignItems:"center",justifyContent:"center",borderRadius:h.borders.radius.sm,transition:`color ${h.animation.duration.fast} ${h.animation.easing.default}`,...o?.closeButton},onMouseEnter:L=>{L.currentTarget.style.color=h.colors.closeButtonHover;},onMouseLeave:L=>{L.currentTarget.style.color=h.colors.closeButton;},children:jsx("svg",{width:12,height:12,viewBox:"0 0 12 12",fill:"none",children:jsx("path",{d:"M1 1L11 11M1 11L11 1",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})})})]}),jsxs("div",{style:{padding:s?0:to,position:"relative"},children:[y&&!s&&jsxs("div",{role:"alert",style:{padding:"2px 0 2px 14px",marginBottom:16,borderLeft:`2px solid ${h.colors.error}`,color:h.colors.text,fontSize:h.typography.fontSize.sm,lineHeight:1.55,...oe(2),...o?.errorMessage},children:[y,jsx("span",{style:{color:h.colors.textSecondary},children:" \u2014 try again?"})]}),s&&jsxs("div",{style:{padding:z?"32px 24px 28px":"36px 28px 28px",textAlign:"center",position:"relative"},children:[jsx("svg",{width:"40",height:"40",viewBox:"0 0 40 40",fill:"none",style:{display:"block",margin:"0 auto 14px",...o?.successIcon},children:jsx("path",{d:"M10 20.5L17 27.5L31 13.5",stroke:h.colors.success,strokeWidth:"1.75",strokeLinecap:"round",strokeLinejoin:"round",style:{strokeDasharray:30,strokeDashoffset:30,animation:`gotcha-check-draw 320ms ${h.animation.easing.default} forwards`}})}),jsx("p",{style:{margin:0,fontFamily:h.typography.fontFamilyDisplay,fontSize:22,fontWeight:h.typography.fontWeight.normal,letterSpacing:"-0.01em",color:h.colors.text,...o?.successMessage},children:i}),jsx("p",{style:{margin:"8px 0 0",fontFamily:h.typography.fontFamily,fontSize:h.typography.fontSize.sm,color:h.colors.textSecondary,fontStyle:"italic"},children:"We\u2019ll close this in a moment."}),jsx("span",{"aria-hidden":"true",style:{position:"absolute",left:1,right:1,bottom:1,height:1,backgroundColor:h.colors.success,transformOrigin:"left center",animation:`gotcha-progress ${vr}ms linear forwards`}})]}),l==="followUp"&&p&&g&&!s&&jsx("div",{style:oe(2),children:jsx(gt,{resolvedTheme:h,promptText:p.promptText,placeholder:p.placeholder,isLoading:a,onSubmit:g})}),l==="form"&&u&&jsx("div",{style:{display:"flex",justifyContent:"center",padding:"24px 0",...oe(2)},children:jsx(ct,{size:20,color:h.colors.textSecondary})}),l==="form"&&!u&&!s&&jsxs("div",{style:oe(2),children:[e==="feedback"&&jsx(nt,{resolvedTheme:h,placeholder:n,submitText:d,isLoading:c,onSubmit:q,customStyles:o,initialValues:v?{content:v.content,rating:v.rating}:void 0,isEditing:m,showText:f,showRating:E,enableBugFlag:F,bugFlagLabel:M,enableScreenshot:H}),e==="vote"&&jsx(st,{resolvedTheme:h,isLoading:c,onSubmit:q,initialVote:v?.vote||void 0,isEditing:m,labels:S}),e==="nps"&&jsx(ut,{resolvedTheme:h,submitText:d,isLoading:c,onSubmit:q,showFollowUp:T,followUpPlaceholder:U,lowLabel:N,highLabel:A,customStyles:o,initialValues:v?{rating:v.rating,content:v.content}:void 0,isEditing:m}),e==="poll"&&C&&C.length>0&&jsx(at,{resolvedTheme:h,options:C,allowMultiple:x,isLoading:c,onSubmit:q,initialSelected:v?.pollSelected||void 0,isEditing:m})]})]}),jsx("div",{"aria-live":"polite",className:"sr-only",style:{position:"absolute",left:-9999},children:s?"Thank you. Your feedback has been submitted.":y?`Error: ${y}`:""})]})}function Sr({elementId:e,user:r,userEmail:o,mode:t="feedback",showText:n=true,showRating:d=true,voteLabels:i,options:c,allowMultiple:u=false,npsQuestion:s,npsFollowUp:l=true,npsFollowUpPlaceholder:p,npsLowLabel:a,npsHighLabel:g,enableBugFlag:y=false,bugFlagLabel:v,enableScreenshot:m=false,onePerUser:f=false,cooldownDays:E,hideAfterSubmitDays:S,showAfterSeconds:C,showAfterScrollPercent:x,showAfterVisits:k,followUp:T,animated:U=true,position:N=se.POSITION,size:A=se.SIZE,theme:F=se.THEME,customStyles:M,visible:H=true,showOnHover:q=se.SHOW_ON_HOVER,touchBehavior:w=se.TOUCH_BEHAVIOR,promptText:O,placeholder:Fe,submitText:K=se.SUBMIT_TEXT,thankYouMessage:pe=se.THANK_YOU_MESSAGE,onSubmit:Se,onOpen:Re,onClose:Ue,onError:oo}){let{disabled:z,activeModalId:Ne,openModal:He,closeModal:J,defaultUser:h,defaultUserEmail:Be,client:ge,debug:Oe}=P(),{conditionsMet:Eo}=$o({elementId:e,showAfterSeconds:C,showAfterScrollPercent:x,showAfterVisits:k}),{isHidden:me,markHidden:We}=jo({elementId:e,userId:r?.id||h?.id,hideAfterSubmitDays:S}),[Me,Q]=useState("form"),[Ge,oe]=useState(null),[to,L]=useState(false),[V,Y]=useState(0),[Z,I]=useState(false),[te,To]=useState(null),[X,vt]=useState(false),[ko,St]=useState(false),xe=useRef(null),Le=useRef(),xt=useRef(null),De=useRef(null),[fe,Ye]=useState(null);useEffect(()=>{if(St(true),typeof window>"u")return;let b=window.matchMedia("(max-width: 1023px)"),G=()=>vt(b.matches);return G(),b.addEventListener("change",G),()=>{b.removeEventListener("change",G),clearTimeout(Le.current);}},[]),useEffect(()=>{Y(ge.getQueueLength());let b=()=>{setTimeout(()=>Y(ge.getQueueLength()),2e3);};return window.addEventListener("online",b),()=>window.removeEventListener("online",b)},[ge]);let re=Ne===e;useEffect(()=>{if(!re||X)return;let b=0,G=()=>{b||(b=requestAnimationFrame(()=>{b=0;let ne=xe.current;if(!ne)return;let we=ne.querySelector("button");To((we??ne).getBoundingClientRect());}));};return window.addEventListener("resize",G),window.addEventListener("scroll",G,{passive:true}),()=>{b&&cancelAnimationFrame(b),window.removeEventListener("resize",G),window.removeEventListener("scroll",G);}},[re,X]),useEffect(()=>{re||(Q("form"),clearTimeout(Le.current));},[re]),useEffect(()=>{if(!re||!X)return;let b=document.body.style.overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=b;}},[re,X]),useEffect(()=>{if(!q)return;let b=xe.current;if(!b)return;let G=b.parentElement;if(!G)return;let ne=()=>I(true),we=()=>I(false);return G.addEventListener("mouseenter",ne),G.addEventListener("mouseleave",we),()=>{G.removeEventListener("mouseenter",ne),G.removeEventListener("mouseleave",we);}},[q]);let{submit:qe,isLoading:wt,isCheckingExisting:Et,error:Tt,existingResponse:kt,isEditing:Ao}=Ko({elementId:e,mode:t,pollOptions:c,user:r,userEmail:o??Be,onePerUser:f,cooldownDays:E,onSuccess:b=>{oe(b.id),Se?.(b),Ye(null),De.current=null;},onError:b=>{console.warn("[Gotcha] Submission failed:",b instanceof Error?b.message:b),oo?.(b),De.current&&Ye({message:b instanceof Error?b.message:"Something went wrong",retrying:false});}}),At=useCallback(()=>{if(xe.current){let b=xe.current.querySelector("button");To((b??xe.current).getBoundingClientRect());}He(e),Re?.();},[e,He,Re]),Co=useCallback(()=>{clearTimeout(Le.current),J(),Q("form"),Ue?.();},[J,Ue]),Ct=useCallback(b=>{xt.current={rating:b.rating,vote:b.vote},De.current=b,T&&(T.ratingThreshold!=null&&b.rating!=null&&b.rating<=T.ratingThreshold||T.onNegativeVote&&b.vote==="down")&&t!=="poll"?Q("followUp"):(Q("success"),Le.current=setTimeout(()=>{J(),Q("form");},4e3)),S&&We();let ne=typeof performance<"u"?performance.now():Date.now();qe(b).catch(()=>{}).finally(()=>{if(Oe){let we=(typeof performance<"u"?performance.now():Date.now())-ne;console.log(`[Gotcha] Server ack in ${we.toFixed(0)}ms`);}});},[qe,T,t,S,We,J,Oe]),Ft=useCallback(()=>{let b=De.current;!b||!fe||fe.retrying||(Ye({...fe,retrying:true}),qe(b).catch(()=>{}));},[fe,qe]),Rt=useCallback(()=>{Ye(null),De.current=null;},[]),Bt=useCallback(async b=>{if(Ge){L(true);try{await ge.updateResponse(Ge,{content:b});}catch(G){console.warn("[Gotcha] Follow-up submission failed:",G instanceof Error?G.message:G);}finally{L(false),Q("success"),Le.current=setTimeout(()=>{J(),Q("form");},4e3);}}},[Ge,J,ge]),Mt=f&&Ao?"Update":K;if(z||!H||me||!Eo)return null;let Gt={"top-right":{position:"absolute",top:0,right:0,transform:"translate(50%, -50%)"},"top-left":{position:"absolute",top:0,left:0,transform:"translate(-50%, -50%)"},"bottom-right":{position:"absolute",bottom:0,right:0,transform:"translate(50%, 50%)"},"bottom-left":{position:"absolute",bottom:0,left:0,transform:"translate(-50%, 50%)"},inline:{position:"relative",display:"inline-flex"}},Lt={mode:t,theme:F,customStyles:M,promptText:O,placeholder:Fe,submitText:Mt,thankYouMessage:pe,isLoading:wt,isCheckingExisting:f&&Et,isSubmitted:Me==="success",phase:Me,followUpConfig:T,followUpLoading:to,onFollowUpSubmit:Bt,error:Tt,existingResponse:f?kt:null,isEditing:f&&Ao,showText:n,showRating:d,voteLabels:i,options:c,allowMultiple:u,npsQuestion:s,npsFollowUp:l,npsFollowUpPlaceholder:p,npsLowLabel:a,npsHighLabel:g,enableBugFlag:y,bugFlagLabel:v,enableScreenshot:m,onSubmit:Ct,onClose:Co,anchorRect:te||void 0,useFixedPosition:!X,isMobile:X};return jsxs("div",{ref:xe,style:{...Gt[N],zIndex:"auto"},className:"gotcha-container","data-gotcha-element":e,children:[jsx(et,{size:A,theme:F,customStyles:M,showOnHover:q,touchBehavior:w,onClick:At,isOpen:re,isParentHovered:Z,animated:U,queuedCount:V}),fe&&ko&&createPortal(jsx(xr,{message:fe.message,retrying:fe.retrying,onRetry:Ft,onDismiss:Rt}),document.body),re&&ko&&createPortal(jsx("div",{role:"presentation",onClick:X?Co:void 0,style:{position:"fixed",inset:0,zIndex:99999,backgroundColor:X?"rgba(26,23,20,0.32)":"transparent",backdropFilter:X?"blur(8px)":"none",WebkitBackdropFilter:X?"blur(8px)":"none",pointerEvents:X?"auto":"none",transition:"background-color 180ms cubic-bezier(0.22, 0.61, 0.36, 1)"},children:jsx("div",{onClick:X?b=>b.stopPropagation():void 0,style:{pointerEvents:"auto"},children:jsx(ft,{...Lt})})}),document.body)]})}function xr({message:e,retrying:r,onRetry:o,onDismiss:t}){return jsxs("div",{role:"status","aria-live":"polite",className:"editorial",style:{position:"fixed",bottom:16,right:16,zIndex:99998,maxWidth:360,borderRadius:6,border:"1px solid rgba(155, 58, 46, 0.35)",backgroundColor:"#FAF8F4",boxShadow:"0 4px 16px rgba(26, 23, 20, 0.12)",padding:"14px 16px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Inter', 'Segoe UI', Roboto, sans-serif",color:"#1A1714",animation:"gotcha-fade-up 240ms cubic-bezier(0.22, 0.61, 0.36, 1)"},children:[jsx("div",{style:{fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, 'Courier New', monospace",fontSize:10,textTransform:"uppercase",letterSpacing:"0.18em",color:"#9B3A2E",marginBottom:6},children:"Couldn\u2019t save"}),jsx("p",{style:{margin:0,fontSize:13,lineHeight:1.55,color:"#1A1714"},children:e||"Your feedback didn\u2019t reach us. Retry?"}),jsxs("div",{style:{marginTop:12,display:"flex",gap:8},children:[jsx("button",{type:"button",onClick:o,disabled:r,style:{backgroundColor:"#1A1714",color:"#FAF8F4",border:"none",borderRadius:4,padding:"6px 14px",fontSize:12,fontWeight:500,cursor:r?"default":"pointer",opacity:r?.6:1,transition:"opacity 180ms"},children:r?"Retrying\u2026":"Retry"}),jsx("button",{type:"button",onClick:t,style:{backgroundColor:"transparent",color:"#6B655D",border:"1px solid #E8E2D9",borderRadius:4,padding:"6px 14px",fontSize:12,cursor:"pointer",transition:"color 180ms"},children:"Dismiss"})]})]})}function bt({elementId:e,refreshInterval:r}){let{client:o}=P(),[t,n]=useState(null),[d,i]=useState(true),[c,u]=useState(null);return useEffect(()=>{let s=false,l=async()=>{try{let a=await o.getScore(e);s||(n(a),u(null));}catch(a){s||u(a instanceof Error?a.message:"Failed to load score");}finally{s||i(false);}};l();let p;return r&&r>0&&(p=setInterval(l,r)),()=>{s=true,p&&clearInterval(p);}},[o,e,r]),{score:t,isLoading:d,error:c}}var Ar={sm:{fontSize:11,ratingFontSize:13,starSize:13,gap:5,pillPx:8,pillPy:4,barHeight:3,iconSize:12},md:{fontSize:12.5,ratingFontSize:15,starSize:15,gap:6,pillPx:10,pillPy:5,barHeight:4,iconSize:14},lg:{fontSize:14,ratingFontSize:18,starSize:18,gap:8,pillPx:12,pillPy:6,barHeight:5,iconSize:16}};function Cr({rating:e,size:r,filledColor:o,emptyColor:t}){let n=`gotcha-star-clip-${Math.random().toString(36).slice(2,8)}`,d=[];for(let i=1;i<=5;i++){let c=Math.min(1,Math.max(0,e-(i-1))),u=`${n}-${i}`;d.push(jsxs("svg",{width:r,height:r,viewBox:"0 0 24 24",style:{display:"block"},children:[jsx("defs",{children:jsx("clipPath",{id:u,children:jsx("rect",{x:"0",y:"0",width:24*c,height:"24"})})}),jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:t}),jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:o,clipPath:`url(#${u})`})]},i));}return jsx("span",{style:{display:"inline-flex",gap:Math.max(1,r*.08),alignItems:"center"},children:d})}function Fr({rate:e,height:r,filledColor:o,trackColor:t}){return jsx("span",{style:{display:"inline-block",width:48,height:r,borderRadius:r,backgroundColor:t,overflow:"hidden",verticalAlign:"middle"},children:jsx("span",{style:{display:"block",width:`${e}%`,height:"100%",borderRadius:r,background:o,transition:"width 0.6s cubic-bezier(0.4, 0, 0.2, 1)"}})})}function Rr({size:e,color:r}){return jsx("svg",{width:e,height:e,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",style:{display:"block"},children:jsx("path",{d:"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3"})})}function Br({elementId:e,variant:r="stars",showCount:o=true,size:t="md",theme:n="auto",refreshInterval:d,style:i}){let{score:c,isLoading:u}=bt({elementId:e,refreshInterval:d}),[s,l]=useState("light");useEffect(()=>{if(typeof window>"u")return;let F=window.matchMedia("(prefers-color-scheme: dark)");l(F.matches?"dark":"light");let M=H=>l(H.matches?"dark":"light");return F.addEventListener("change",M),()=>F.removeEventListener("change",M)},[]);let{themeConfig:p}=P(),a=useMemo(()=>ce(n,s,p),[n,s,p]);if(u||!c)return null;let g=Ar[t],y=a.colors.text,v=a.colors.textDisabled,m=a.colors.starFilled,f=a.colors.starEmpty,E=a.colors.voteUp,S=a.colors.starEmpty,C={display:"inline-flex",alignItems:"center",gap:g.gap,fontFamily:a.typography.fontFamily,lineHeight:1,WebkitFontSmoothing:"antialiased",...i},x={fontFamily:a.typography.fontFamily,fontSize:g.ratingFontSize,fontWeight:700,color:y,fontVariantNumeric:"tabular-nums",letterSpacing:"-0.01em",lineHeight:1},k={fontFamily:"ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Consolas, 'Liberation Mono', monospace",fontSize:Math.max(9,g.fontSize-1),color:v,fontWeight:400,letterSpacing:"0.1em",textTransform:"uppercase"},T=(F,M)=>{let H=F===1?M:`${M}s`;return `${F.toLocaleString()} ${H}`};if(r==="votes"){let{voteCount:F,positiveRate:M}=c,H=F.up+F.down;return H===0?null:jsxs("span",{style:C,children:[jsx(Rr,{size:g.iconSize,color:E}),jsxs("span",{style:{...x,color:E},children:[M,"%"]}),jsx(Fr,{rate:M??0,height:g.barHeight,filledColor:E,trackColor:S}),o&&jsx("span",{style:k,children:T(H,"vote")})]})}let{averageRating:U,totalResponses:N}=c;if(U===null||N===0)return null;let A=U.toFixed(1);return r==="compact"?jsxs("span",{style:C,children:[jsx("svg",{width:g.starSize,height:g.starSize,viewBox:"0 0 24 24",style:{display:"block",flexShrink:0},children:jsx("path",{d:"M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z",fill:m})}),jsx("span",{style:x,children:A}),o&&jsxs("span",{style:k,children:["(",N.toLocaleString(),")"]})]}):r==="number"?jsxs("span",{style:C,children:[jsx("span",{style:x,children:A}),jsx("span",{style:{...k,marginLeft:2},children:"/ 5"}),o&&jsxs("span",{style:{...k,marginLeft:2},children:["(",T(N,"response"),")"]})]}):jsxs("span",{style:C,children:[jsx(Cr,{rating:U,size:g.starSize,filledColor:m,emptyColor:f}),jsx("span",{style:x,children:A}),o&&jsxs("span",{style:k,children:["(",T(N,"response"),")"]})]})}function Mr(){let{client:e,disabled:r,defaultUser:o,debug:t,openModal:n,closeModal:d,activeModalId:i}=P();return {client:e,disabled:r,defaultUser:o,debug:t,submitFeedback:e.submitResponse.bind(e),openModal:n,closeModal:d,activeModalId:i}}function Gr(e){let{activeModalId:r,openModal:o,closeModal:t}=P(),n=useCallback(()=>o(e),[o,e]),d=useCallback(()=>t(),[t]);return {open:n,close:d,isOpen:r===e}}
135
+ export{Sr as Gotcha,Kt as GotchaProvider,Br as GotchaScore,Nt as createTheme,Mr as useGotcha,Gr as useGotchaTrigger};//# sourceMappingURL=index.mjs.map
136
136
  //# sourceMappingURL=index.mjs.map