@sentientui/snippet 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -30,17 +30,25 @@ page is left exactly as it was.
30
30
  };
31
31
  </script>
32
32
  <script
33
- src="https://unpkg.com/@sentientui/snippet@0.17.2/dist/snippet.global.js"
33
+ src="https://unpkg.com/@sentientui/snippet/dist/snippet.global.js"
34
34
  defer
35
35
  crossorigin="anonymous"
36
36
  ></script>
37
37
  ```
38
38
 
39
- The version above is pinned to the current published release. To lock the file down, add your
40
- own Subresource Integrity hash computed from the published file
41
- (`openssl dgst -sha384 -binary dist/snippet.global.js | openssl base64 -A`) as an `integrity="sha384-…"`
42
- attribute, or self-host the file and skip the CDN entirely. Do **not** ship a placeholder
43
- `integrity` value a hash that doesn't match makes the browser refuse to run the script.
39
+ The URL above carries no version: unpkg resolves it to the latest release, so your site picks
40
+ up new snippet versions on its own and this tag is pasted once. That is the recommended setup,
41
+ and what the Shopify app embed and the dashboard's install page both hand out.
42
+
43
+ **Pinning instead.** Add `@<version>` to the package path
44
+ (`@sentientui/snippet@0.21.0/dist/snippet.global.js`) when you want a controlled rollout, or
45
+ when you want Subresource Integrity — an SRI hash is only possible on a pinned URL, since the
46
+ hash changes with every release. Compute it from the published file
47
+ (`openssl dgst -sha384 -binary dist/snippet.global.js | openssl base64 -A`) and pass it as
48
+ `integrity="sha384-…"`, or self-host the file and skip the CDN entirely. Do **not** ship a
49
+ placeholder `integrity` value — a hash that doesn't match makes the browser refuse to run the
50
+ script. A pinned tag is yours to update; the SentientUI dashboard flags the project when the
51
+ version it sees running falls behind.
44
52
 
45
53
  ```css
46
54
  #hero[data-tone='urgent'] .cta { font-weight: 700; }
@@ -1,2 +1,2 @@
1
- "use strict";var SentientSnippet=(()=>{var qe=Object.defineProperty;var rr=Object.getOwnPropertyDescriptor;var or=Object.getOwnPropertyNames,Rt=Object.getOwnPropertySymbols;var Dt=Object.prototype.hasOwnProperty,ir=Object.prototype.propertyIsEnumerable;var Pt=(e,t,n)=>t in e?qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,ne=(e,t)=>{for(var n in t||(t={}))Dt.call(t,n)&&Pt(e,n,t[n]);if(Rt)for(var n of Rt(t))ir.call(t,n)&&Pt(e,n,t[n]);return e};var Mt=(e,t)=>()=>(e&&(t=e(e=0)),t);var Bt=(e,t)=>{for(var n in t)qe(e,n,{get:t[n],enumerable:!0})},sr=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of or(t))!Dt.call(e,o)&&o!==n&&qe(e,o,{get:()=>t[o],enumerable:!(r=rr(t,o))||r.enumerable});return e};var ar=e=>sr(qe({},"__esModule",{value:!0}),e);var lr,cr,ur,Nt,dr,fr,$t,_,be,Te=Mt(()=>{"use strict";lr=Object.defineProperty,cr=Object.defineProperties,ur=Object.getOwnPropertyDescriptors,Nt=Object.getOwnPropertySymbols,dr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,$t=(e,t,n)=>t in e?lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||(t={}))dr.call(t,n)&&$t(e,n,t[n]);if(Nt)for(var n of Nt(t))fr.call(t,n)&&$t(e,n,t[n]);return e},be=(e,t)=>cr(e,ur(t))});var Yt={};Bt(Yt,{LOCAL_ENGINE_AVAILABLE:()=>br,createLocalEngine:()=>wr});function wr(e){throw new Error("[sentient] createLocalEngine is not available in production builds. The local engine only exists under the `development` export condition.")}var br,Xt=Mt(()=>{"use strict";br=!1});var Do={};Bt(Do,{applyPersonaAttributes:()=>nt,applyRegistrySlots:()=>it,applySlotArms:()=>ot,applySlotAttributes:()=>rt,parseEditorToken:()=>Zn,parsePersonaPreview:()=>tr,parsePreview:()=>er,parseSnippetConfig:()=>Ze,reapply:()=>Ot,run:()=>nr,version:()=>Et});Te();var pr=["buyer","researcher","deal_seeker","browser"];var gr={buyer:"Buyer",researcher:"Researcher",deal_seeker:"Deal seeker",browser:"Browser",unknown:"Unknown"};function Fe(e){return Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("|")}function Kt(e){if(e.length===0)return null;let t={};for(let n of e.split("|")){let r=n.indexOf("=");if(r<=0||r!==n.lastIndexOf("=")||r===n.length-1)return null;let o=n.slice(0,r);if(o in t)return null;t[o]=n.slice(r+1)}return t}function dt(e){var t,n,r;if(e.arms)return typeof e.baseline=="string"?e.baseline:(t=e.arms[0])!=null?t:"";if(e.baseline!==void 0&&typeof e.baseline=="object")return Fe(e.baseline);if(typeof e.baseline=="string")return e.baseline;let o={};for(let[l,i]of Object.entries((n=e.dims)!=null?n:{}))o[l]=(r=i[0])!=null?r:"";return Fe(o)}function jt(e,t){var n,r;return e.dims!=null?(r=(n=Kt(t))!=null?n:Kt(dt(e)))!=null?r:{}:t}function Gt(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t}function we(e){return e>=.3?e<.7?"medium":"high":"low"}var No=pr.map(e=>({key:e,displayName:gr[e]}));function We(e){return e?`_${e.slice(0,12)}`:""}var mr="_snt_uid";function Ut(e){return`${mr}${We(e)}`}var hr=["GPTBot","ChatGPT-User","OAI-SearchBot","ClaudeBot","Claude-User","Claude-SearchBot","PerplexityBot","Perplexity-User","Google-Extended","Applebot-Extended","Meta-ExternalAgent","Bytespider","CCBot","Amazonbot","cohere-ai","Diffbot"];function zt(e){return yr(e)!==null}function yr(e){var t;if(!e)return null;let n=e.toLowerCase();return(t=hr.find(r=>n.includes(r.toLowerCase())))!=null?t:null}function qt(e){let t=e.toLowerCase();return/ipad|tablet|playbook|kindle|silk/.test(t)?"tablet":/mobi|iphone|ipod|android.*mobile|phone/.test(t)?"mobile":"desktop"}function Ft(e,t){if(!e)return"direct";try{let n=new URL(e);if(t)try{if(new URL(t).host===n.host)return"direct"}catch(o){}let r=n.hostname.toLowerCase();return/(^|\.)(google|bing|duckduckgo|yahoo)\./.test(r)?"search":/(^|\.)(twitter\.com|x\.com|facebook\.com|linkedin\.com|reddit\.com|t\.co)$/.test(r)?"social":"referral"}catch(n){return"direct"}}function Wt(e){if(!e)return null;try{return new URL(e).hostname}catch(t){return null}}var vr=["gclid","gbraid","wbraid","fbclid","ttclid","msclkid","twclid","li_fat_id"];function Ht(e){let t={},n={};try{let r=typeof e=="string"||e instanceof URLSearchParams?new URLSearchParams(e):Object.entries(e).flatMap(([o,l])=>{let i=Array.isArray(l)?l[0]:l;return i===void 0?[]:[[o,i]]});for(let[o,l]of r)o.startsWith("utm_")?o in t||(t[o]=l):vr.includes(o)&&(o in n||(n[o]=l))}catch(r){}return{utmParams:t,clickIds:n}}function Jt(e){let t=e.getHours();return t<6?"night":t<12?"morning":t<18?"afternoon":"evening"}function ft(e){return _(_(_({id:e.id},e.arms?{arms:[...e.arms]}:{}),e.dims?{dims:Object.fromEntries(Object.entries(e.dims).map(([t,n])=>[t,[...n]]))}:{}),e.baseline!==void 0?{baseline:e.baseline}:{})}function pt(e){let t=ft(e);return jt(t,dt(t))}function Vt(e){return typeof e=="string"?e:Fe(e)}Te();function nn(){try{if(typeof crypto!="undefined"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch(e){}try{if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t="";for(let n=0;n<16;n++)t+=e[n].toString(16).padStart(2,"0"),(n===3||n===5||n===7||n===9)&&(t+="-");return t}}catch(e){}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Sr="_snt_uid",Ar=365,He="_snt_uid";function xr(){return nn()}function Zt(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):null}catch(t){return null}}function kr(e,t,n){try{document.cookie=`${e}=${encodeURIComponent(t)}; max-age=${n}; SameSite=strict; path=/`}catch(r){}}function gt(e){try{return localStorage.getItem(e)}catch(t){return null}}function Qt(e,t){try{return localStorage.setItem(e,t),!0}catch(n){return!1}}function en(e){try{return sessionStorage.getItem(e)}catch(t){return null}}function Er(e,t){try{return sessionStorage.setItem(e,t),!0}catch(n){return!1}}function Cr(e){try{sessionStorage.removeItem(e)}catch(t){}}function _r(e){try{return document.cookie=`${e}_probe=1; max-age=1; SameSite=strict; path=/`,document.cookie.indexOf(`${e}_probe=1`)!==-1}catch(t){return!1}}function Ir(e){try{localStorage.removeItem(e)}catch(t){}}function Or(e){try{document.cookie=`${e}=; max-age=0; SameSite=strict; path=/`}catch(t){}}var Lr={getSessionId:()=>null,isEphemeral:()=>!1,destroy:()=>{}};function rn(e){var t,n,r,o,l,i,s;if(typeof window=="undefined")return Lr;let c=We(e==null?void 0:e.apiKey),u=(t=e==null?void 0:e.cookieName)!=null?t:Ut(e==null?void 0:e.apiKey),a=`${He}${c}`,d=`${He}_tomb${c}`,g=((n=e==null?void 0:e.cookieTTLDays)!=null?n:Ar)*24*60*60,m=w=>w&&w.length>0?w:null,p=()=>{var w,I;return c&&!(e!=null&&e.cookieName)&&gt(d)===null?(I=(w=m(Zt(Sr)))!=null?w:m(gt(He)))!=null?I:m(en(He)):null},f=(s=(i=(l=(o=(r=m(Zt(u)))!=null?r:m(gt(a)))!=null?o:m(en(a)))!=null?l:p())!=null?i:m(e==null?void 0:e.ssrSessionId))!=null?s:xr();kr(u,f,g);let A=Qt(a,f),C=_r(u),L=A?!1:Er(a,f),y=!A&&!C&&!L;return{getSessionId:()=>f,isEphemeral:()=>y,destroy:()=>{f=null,Or(u),Ir(a),Cr(a),c&&!(e!=null&&e.cookieName)&&Qt(d,"1")}}}function Pe(e){return Math.min(6e4,1e3*2**Math.min(e,6))}function vt(e){if(e.ok===!0)return"delivered";let{status:t}=e;return typeof t!="number"?"retry":t>=200&&t<300?"delivered":t>=400&&t<500&&t!==429?"dropped":"retry"}function on(e,t){try{let n=localStorage.getItem(e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?(localStorage.removeItem(e),r.slice(-t)):[]}catch(n){return[]}}function Ee(e,t,n){try{let r=(()=>{try{let l=localStorage.getItem(n);if(!l)return[];let i=JSON.parse(l);return Array.isArray(i)?i:[]}catch(l){return[]}})(),o=new Map;for(let l of r)o.set(l.id,l);for(let l of e)o.set(l.id,l);localStorage.setItem(n,JSON.stringify([...o.values()].slice(-t)))}catch(r){}}function sn(e,t){try{let n=localStorage.getItem(t);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;let o=new Set(e),l=r.filter(i=>!o.has(i.id));if(l.length===r.length)return;l.length===0?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(l))}catch(n){}}var Tr=500,Rr=56*1024;function an(e){return`_snt_retry_${e.slice(0,12)}`}var Pr={push:()=>{},flush:()=>{},destroy:()=>{}};function Dr(e){var t,n,r;if(typeof window=="undefined")return Pr;let o=(t=e.flushIntervalMs)!=null?t:5e3,l=(n=e.maxBatchSize)!=null?n:20,i=(r=e.maxRetrySize)!=null?r:100,s=e.ingestUrl,c=e.apiKey,u=an(c),a=[],d=new Set,g=[],m=v=>{for(let b of v)p.delete(b),!d.has(b)&&(d.add(b),g.push(b));for(;g.length>Tr;){let b=g.shift();b&&d.delete(b)}sn(v,u)},p=new Set,f=()=>{for(;a.length>i;){let v=a.shift();v&&p.delete(v.id)}},A=v=>{d.has(v.id)||p.has(v.id)||(p.add(v.id),a.push(v),f())},C=v=>{for(let b of v)d.has(b.id)||(p.add(b.id),a.push(b));f()},L=on(u,i);for(let v of L)A(v);let y=0,w=0,I=(v,b=!0)=>{if(v.length===0)return;let k=JSON.stringify(v),O=v.map(J=>J.id),E;try{E=fetch(s,{method:"POST",keepalive:!0,body:k,headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`}})}catch(J){Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w);return}let oe=J=>{if(vt(J)!=="retry"){if(!J.ok&&b){let ee=v.filter(te=>te.eventType!=="pageview");if(ee.length>0&&ee.length<v.length){m(v.filter(te=>te.eventType==="pageview").map(te=>te.id)),I(ee,!1);return}}m(O),w=0,y=0;return}Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w)};E instanceof Promise?E.then(oe).catch(()=>{Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w)}):oe(E)},N=typeof TextEncoder!="undefined"?new TextEncoder:null,x=v=>N?N.encode(v).length:v.length,D=v=>{let b=[],k=2;for(let O of v){let E=x(JSON.stringify(O))+1;if(b.length>0&&k+E>Rr||b.length>=l)break;b.push(O),k+=E}return b},K=()=>{try{if(Date.now()<y)return;for(;a.length>0&&!(Date.now()<y);){let v=a.filter(k=>!d.has(k.id));if(a.length=0,v.length===0)break;let b=D(v);if(b.length===0)break;b.length<v.length&&a.push(...v.slice(b.length)),I(b)}}catch(v){}},j=!0,Z=null;Z=setInterval(()=>{j&&K()},o);let q=()=>{document.visibilityState==="hidden"&&K()},U=()=>{K()};return document.addEventListener("visibilitychange",q),window.addEventListener("pagehide",U),{push(v){A(v),a.length>=l&&K()},flush:K,destroy(){j=!1,Z!==null&&(clearInterval(Z),Z=null),document.removeEventListener("visibilitychange",q),window.removeEventListener("pagehide",U),K()}}}var Mr=200;function ln(e){return`_snt_goal_retry_${e.slice(0,12)}`}var Br={send:()=>{},flush:()=>{},destroy:()=>{}};function Nr(e){var t,n,r;if(typeof window=="undefined")return Br;let o=(t=e.flushIntervalMs)!=null?t:5e3,l=(n=e.maxRetrySize)!=null?n:100,i=(r=e.maxPerFlush)!=null?r:5,s=ln(e.apiKey),c=[],u=new Set,a=new Set,d=[],g=0,m=0,p=!1,f=x=>{for(u.delete(x.id),a.has(x.id)||(a.add(x.id),d.push(x.id));d.length>Mr;){let D=d.shift();D&&a.delete(D)}sn([x.id],s)},A=x=>{Ee([x],l,s),!a.has(x.id)&&!u.has(x.id)&&(u.add(x.id),c.push(x)),Date.now()>=g&&(m++,g=Date.now()+Pe(m))},C=x=>{let D;try{D=fetch(e.url,{method:"POST",keepalive:!0,body:x.body,headers:e.headers})}catch(j){A(x);return}let K=j=>{var Z;let q=vt(j);if(q==="retry"){A(x);return}q==="dropped"&&((Z=e.onDrop)==null||Z.call(e,x,j.status)),f(x),m=0,g=0};D instanceof Promise?D.then(K).catch(()=>A(x)):K(D)},L=()=>{try{if(p||Date.now()<g)return;let x=0;for(;c.length>0&&x<i&&!(Date.now()<g);){let D=c.shift();u.delete(D.id),!a.has(D.id)&&(x++,C(D))}}catch(x){}},y=on(s,l);for(let x of y)u.has(x.id)||(u.add(x.id),c.push(x));y.length>0&&Ee(y,l,s);let w=setInterval(L,o),I=()=>{document.visibilityState==="hidden"&&L()},N=()=>L();return document.addEventListener("visibilitychange",I),window.addEventListener("pagehide",N),{send(x){if(!p&&!(a.has(x.id)||u.has(x.id))){if(Date.now()<g){Ee([x],l,s),u.add(x.id),c.push(x);return}C(x)}},flush:L,destroy(){clearInterval(w),document.removeEventListener("visibilitychange",I),window.removeEventListener("pagehide",N),L(),p=!0}}}var $r=1800*1e3;function Je(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function Kr(e=$r,t){let n=new Map,r=`_snt_asgn${We(t)}_`,o=(c,u)=>`${r}${encodeURIComponent(c)}:${encodeURIComponent(u)}`,l=c=>{let u=c.slice(r.length),a=u.indexOf(":");if(a<0)return null;try{return{componentId:decodeURIComponent(u.slice(0,a)),segment:decodeURIComponent(u.slice(a+1))}}catch(d){return null}},i=()=>{try{let c=[];for(let u=0;u<localStorage.length;u++){let a=localStorage.key(u);a!=null&&a.startsWith(r)&&c.push(a)}return c}catch(c){return[]}},s=c=>c.assignedAt+(c.ttlMs&&c.ttlMs>0?c.ttlMs:e)<Date.now();return typeof window!="undefined"&&(()=>{for(let c of i())try{let u=localStorage.getItem(c);if(!u)continue;let a=JSON.parse(u);if(s(a)){localStorage.removeItem(c);continue}let d=l(c);if(!d)continue;n.set(Je(d.componentId,d.segment),a)}catch(u){}})(),{get(c,u){let a=n.get(Je(c,u));return a?s(a)?(n.delete(Je(c,u)),null):a:null},set(c,u,a){let d=Je(c,u);n.set(d,a);try{localStorage.setItem(o(c,u),JSON.stringify(a))}catch(g){}},clear(){n.clear();for(let c of i())try{localStorage.removeItem(c)}catch(u){}}}}var Xe="_snt_snap:",jr=["low","medium","high"];function De(e){try{let t=localStorage.getItem(Xe+e);if(!t)return null;let n=JSON.parse(t);return!n||typeof n!="object"||n.v!==1||typeof n.persona!="string"||typeof n.band!="string"||!jr.includes(n.band)||typeof n.slots!="object"||n.slots===null||Array.isArray(n.slots)||!(n.layoutOrder===null||Array.isArray(n.layoutOrder))||typeof n.savedAt!="number"||!(n.slotConfig===void 0||typeof n.slotConfig=="object"&&n.slotConfig!==null&&!Array.isArray(n.slotConfig))?null:n}catch(t){return null}}function Me(e,t){try{localStorage.setItem(Xe+e,JSON.stringify(t))}catch(n){}}var ht="[sentient] No API key configured \u2014 nothing is being learned. Set NEXT_PUBLIC_SENTIENT_API_KEY or pass localMode: true for local development.",cn="[sentient] Local mode \u2014 decisions are simulated on-device and nothing is sent over the network. Add an API key to learn from real traffic.",tn=!1,Ve=!1;function Gr(){var e;try{return(e=new URLSearchParams(window.location.search).get("sentient_persona"))!=null?e:void 0}catch(t){return}}function Ur(e){var t;let n=rn({ssrSessionId:e.ssrSessionId,apiKey:e.apiKey}),r=(t=n.getSessionId())!=null?t:"local",o=Gr(),l=Promise.resolve().then(()=>(Xt(),Yt)).then(a=>{let d=a;return d.LOCAL_ENGINE_AVAILABLE?(tn||(tn=!0,console.info(cn)),d):(Ve||(Ve=!0,console.error(ht)),null)}).catch(()=>(Ve||(Ve=!0,console.error(ht)),null)),i=null,s={low:.15,medium:.5,high:.85},c=(()=>{var a;if(e.initialPersona)return _({},e.initialPersona);let d=De(e.apiKey||"local");return d?{persona:d.persona,confidence:(a=s[d.band])!=null?a:.15}:null})();function u(a){let d=document.documentElement;d.dataset.sentientPersona===void 0&&(d.dataset.sentientPersona=a.persona,d.dataset.sentientConfidence=we(a.confidence))}return{isLocal:!0,async decide(a){var d,g,m;let p=await l;if(!p)return null;let f=p.createLocalEngine({sessionId:r,forcedPersona:o}).decide(a);return i=be(_({},f),{layoutOrder:(g=(d=f.layoutOrder)!=null?d:i==null?void 0:i.layoutOrder)!=null?g:null,slots:_(_({},(m=i==null?void 0:i.slots)!=null?m:{}),f.slots)}),Me(e.apiKey||"local",{v:1,persona:i.persona,band:we(i.confidence),slots:i.slots,layoutOrder:i.layoutOrder,savedAt:Date.now()}),u(f),f},getSlotResult(a){var d,g,m;return(m=(g=i==null?void 0:i.slots[a])!=null?g:(d=e.initialSlots)==null?void 0:d[a])!=null?m:null},getPersona(){let a=i!=null?i:c;return a?{persona:a.persona,confidence:a.confidence,band:we(a.confidence)}:null},async assign(a,d){var g;let m=await l;return!m||!d||d.length===0?d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null:{variantId:(g=m.createLocalEngine({sessionId:r,forcedPersona:o}).decide({components:[{id:a,variantIds:d}]}).assignments[a])!=null?g:d[0],assignmentTtlMs:0}},track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,fetchWeights:()=>Promise.resolve([]),getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>n.destroy()}}function Be(e,t,n,r){let o=[];{let l=!1,i=[],s=()=>{if(l)return;let c=Date.now();for(i.push(c);i.length>0&&c-i[0]>500;)i.shift();i.length>=3&&(l=!0,e("rage_click"))};t.addEventListener("click",s),o.push(()=>t.removeEventListener("click",s))}{let l=!1,i=s=>{if(l||!(s.target instanceof Node)||!t.contains(s.target)&&t!==s.target)return;l=!0;let c=typeof window!="undefined"?window.getSelection():null,u=c?c.toString().length:0;e("text_copy",{selectionLength:u})};document.addEventListener("copy",i),o.push(()=>document.removeEventListener("copy",i))}{let l=!1,i=!1,s=null,c=()=>{s!==null&&(clearTimeout(s),s=null)},u=()=>{l||!i||(c(),s=setTimeout(()=>{!l&&i&&(l=!0,e("scroll_hesitation"))},3e3))},a=()=>{c(),u()},d=m=>{for(let p of m)i=p.intersectionRatio>.3,i?u():c()},g=new IntersectionObserver(d,{threshold:[.3]});g.observe(t),window.addEventListener("scroll",a,{passive:!0}),o.push(()=>{g.disconnect(),window.removeEventListener("scroll",a),c()})}if((r==null?void 0:r.tabLoss)!==!1){let l=!1,i=n!=null?n:Date.now(),s=()=>{if(l||document.visibilityState!=="hidden")return;let c=Date.now()-i;c<15e3&&(l=!0,e("tab_loss",{timeOnPage:c}))};document.addEventListener("visibilitychange",s),o.push(()=>document.removeEventListener("visibilitychange",s))}return()=>{for(let l of o)l()}}var un="https://api.sentient-ui.com/v1/events",re=new Map,dn=null;function zr(e){return"value"in e||"currency"in e||"externalId"in e||"metadata"in e||"weight"in e||"stepIndex"in e}var qr=3;function mt(){return nn()}function Ye(){var e;if(typeof window!="undefined")return((e=window.location)==null?void 0:e.pathname)||void 0}function Fr(){let e=new WeakMap,t=new Map,n=!1,r=(s,c,u)=>{let a=s.get(c);return u===null?a?!0:(s.set(c,new Set),!1):a?a.has(u)?!0:(a.add(u),!1):(s.set(c,new Set([u])),!1)},o=typeof window!="undefined"&&"event"in window,l=()=>{if(!o)return;let s=window.event;return typeof Event=="function"&&s instanceof Event?s:void 0},i=()=>{if(o){Promise.resolve().then(()=>{n=!1,t.clear()});return}let s=!1,c=()=>{s||(s=!0,n=!1,t.clear())};if(setTimeout(c,0),typeof MessageChannel=="function"){let u=new MessageChannel;u.port1.onmessage=()=>{u.port1.close(),u.port2.close(),c()},u.port2.postMessage(0)}};return{firedBefore(s,c){let u=l();if(u){let d=e.get(u);return d||(d=new Map,e.set(u,d)),r(d,s,c)}let a=r(t,s,c);return!a&&!n&&(n=!0,i()),a}}}var fn=new Set;function Wr(e,t,n){let r=typeof window=="undefined"?null:window.history;if(!r)return()=>{};let o=!1,l,i=()=>{if(o)return;let u=Ye();!u||u===l||(l=u,e.track({projectId:t,componentId:"__page__",eventType:"pageview",payload:{}}),n(`${t}:${u}`))},s=[];for(let u of["pushState","replaceState"]){let a=r[u],d=function(...g){let m=a.apply(this,g);return i(),m};r[u]=d,s.push([u,a,d])}window.addEventListener("popstate",i);let c=Ye();return c&&fn.has(`${t}:${c}`)?l=c:i(),()=>{if(!o){o=!0,window.removeEventListener("popstate",i);for(let[u,a,d]of s)r[u]===d&&(r[u]=a)}}}var Re={track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,assign:()=>Promise.resolve(null),decide:()=>Promise.resolve(null),getSlotResult:()=>null,getPersona:()=>null,fetchWeights:()=>Promise.resolve([]),getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>{}};function Hr(){try{return Ht(window.location.search)}catch(e){return{utmParams:{},clickIds:{}}}}function pn(e){return e.replace(/\/events\/?$/,"")}function Se(){return typeof navigator!="undefined"&&navigator.globalPrivacyControl===!0?!0:[typeof navigator!="undefined"?navigator.doNotTrack:void 0,typeof window!="undefined"?window.doNotTrack:void 0,typeof navigator!="undefined"?navigator.msDoNotTrack:void 0].some(e=>e==="1"||e==="yes")}function bt(e){var t;if(typeof window=="undefined")return;let n=e!=null?e:dn;if(!n){console.warn("[sentient] grantConsent() called before init()");return}let r=re.get(n);if(!r){console.warn("[sentient] grantConsent() called before init()");return}let{config:o,upgrade:l,reinit:i}=r;if(!l){r.upgradeBlockedReason&&console.warn(r.upgradeBlockedReason);return}if(o.respectDoNotTrack!==!1&&Se())return;let s=(i!=null?i:Ne)(be(_({},o),{consent:!0}));l(s);let c=(t=re.get(n))==null?void 0:t.dispose;re.set(n,{config:be(_({},o),{consent:!0}),upgrade:null,dispose:c})}function Jr(e){var t;let n=e.preConsentBehavior==="statistical_winner",r=pn((t=e.ingestUrl)!=null?t:un),o={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`},l=new Map,i=new Map,s={track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,fetchWeights:()=>Promise.resolve([]),assign(a,d,g){if(!n)return Promise.resolve(null);let m=l.get(a);return m?Promise.resolve(m):yt(i,a,async()=>{try{let p=new URLSearchParams({componentId:a});for(let C of d!=null?d:[])p.append("variantIds[]",C);let f=await fetch(`${r}/winner?${p.toString()}`,{headers:o});if(!f.ok)return d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null;let A={variantId:(await f.json()).variantId,assignmentTtlMs:0};return l.set(a,A),A}catch(p){return d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null}})},decide:()=>Promise.resolve(null),getSlotResult:()=>null,getPersona:()=>null,getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>{}},c={track:a=>s.track(a),goal:((a,d,g,m)=>s.goal(a,d,g,m)),componentGoal:(a,d,g)=>s.componentGoal(a,d,g),identify:a=>s.identify(a),getAssignment:(a,d)=>s.getAssignment(a,d),assign:(a,d,g,m)=>s.assign(a,d,g,m),decide:a=>s.decide(a),getSlotResult:a=>s.getSlotResult(a),getPersona:()=>s.getPersona(),fetchWeights:()=>s.fetchWeights(),getGraph:()=>s.getGraph(),dispose:()=>s.dispose(),destroy:()=>s.destroy()};function u(a){s=a}return{proxy:c,setInner:u}}function yt(e,t,n){let r=e.get(t);if(r)return r;let o=(async()=>{try{return await n()}finally{e.delete(t)}})();return e.set(t,o),o}function Ne(e){var t,n,r,o,l,i,s,c,u;if(typeof window=="undefined")return Re;dn=e.apiKey||"local";let a=re.get(e.apiKey||"local");if(a!=null&&a.dispose)try{a.dispose()}catch(h){}let d=e.respectDoNotTrack!==!1&&Se(),g=e.consent===!1||d,m=typeof e.apiKey=="string"&&e.apiKey.startsWith("pk_");if(e.localMode===!0||!m&&e.localMode!==!1)return re.set(e.apiKey||"local",{config:e,upgrade:null,upgradeBlockedReason:"[sentient] grantConsent(): this client is keyless/local \u2014 there is no hosted client to upgrade to. Configure a pk_ API key to enable tracking."}),g?Re:Ur(e);if(g){if(!e.apiKey||!e.apiKey.startsWith("pk_"))return e.preConsentBehavior==="statistical_winner"&&console.warn("[sentient] init() called with an invalid apiKey \u2014 expected a pk_ public key. SDK disabled."),re.set(e.apiKey||"local",{config:e,upgrade:null,upgradeBlockedReason:"[sentient] grantConsent(): the client was initialized with an invalid apiKey (expected a pk_ public key) \u2014 consent cannot enable tracking."}),Re;let{proxy:h,setInner:S}=Jr(e);return re.set(e.apiKey,{config:e,upgrade:d?null:S}),h}if(!e.apiKey||!e.apiKey.startsWith("pk_"))return console.warn("[sentient] init() called with an invalid apiKey \u2014 expected a pk_ public key. SDK disabled."),Re;if(e.ingestUrl==="")return console.warn("[sentient] init() called with an empty ingestUrl. SDK disabled."),Re;let p=(t=e.ingestUrl)!=null?t:un,f=Date.now(),A=rn({ssrSessionId:e.ssrSessionId,apiKey:e.apiKey}),C=Kr(void 0,e.apiKey),L=Dr({ingestUrl:p,apiKey:e.apiKey}),y=pn(p),w={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`},I=new Set,N=Nr({url:`${y}/goals`,apiKey:e.apiKey,headers:w,onDrop:(h,S)=>{if(!e.debug){if(I.has(S))return;I.add(S)}console.warn(`[sentient] goal dropped (HTTP ${S}) \u2014 this will not be retried. `+(S===400?"The session was not found: call init() and let the session upsert complete before firing goals.":S===401||S===403?"Check the API key and that this origin is on the project allowlist.":"See the response status for the cause."),h)}}),x=qt((n=navigator.userAgent)!=null?n:""),D=window.location.origin,K=Ft((r=document.referrer)!=null?r:"",D),j=(o=e.sessionSegment)!=null?o:`${x}:${K}`,Z=new Map,q=new Map,U=new Map,v=null,b=h=>{for(let S of h)U.has(S.id)||U.set(S.id,pt(S))};if(e.initialSlots)for(let[h,S]of Object.entries(e.initialSlots))U.set(h,S);let k=De(e.apiKey);if(k)for(let[h,S]of Object.entries(k.slots))U.has(h)||U.set(h,S);let O={low:.15,medium:.5,high:.85};if(e.initialPersona)v=_({},e.initialPersona);else{let h=document.documentElement.dataset;h.sentientPersona?v={persona:h.sentientPersona,confidence:(i=O[(l=h.sentientConfidence)!=null?l:"low"])!=null?i:.15}:k&&(v={persona:k.persona,confidence:(s=O[k.band])!=null?s:.15})}if(e.initialAssignments)for(let[h,S]of Object.entries(e.initialAssignments))C.set(h,j,{variantId:S,assignedAt:Date.now(),segment:j,confidence:1});let E=Promise.resolve(),oe=A.getSessionId();if(oe){let h=Wt((c=document.referrer)!=null?c:""),{utmParams:S,clickIds:M}=Hr(),Q=_(_(_({sessionId:oe,deviceClass:x,trafficSource:K,referrerDomain:h,utmParams:S,clickIds:M,timeOfDay:Jt(new Date),dayOfWeek:["sun","mon","tue","wed","thu","fri","sat"][new Date().getDay()],ephemeral:A.isEphemeral(),automation:typeof navigator!="undefined"&&navigator.webdriver===!0||zt((u=navigator.userAgent)!=null?u:"")},e.userId?{userId:e.userId}:{}),e.persona?{persona:e.persona}:{}),e.country?{country:e.country}:{}),F=async()=>{for(let T=0;;T++){try{let B=await fetch(`${y}/sessions`,{method:"POST",keepalive:!0,body:JSON.stringify(Q),headers:w});if(B.status===402){console.warn("[SentientUI] Session limit exceeded for this project. The bandit will stop learning until the limit resets. Upgrade at sentient-ui.com/pricing");return}if(B.ok||vt(B)==="dropped")return}catch(B){}if(T>=qr){console.warn("[SentientUI] Could not register the session after retries. Conversions in this visit may not be recorded.");return}await new Promise(B=>setTimeout(B,Pe(T+1)))}};try{E=F()}catch(T){}}e.debug&&(console.log("[sentient] initialized",{context:e.context}),window.__sentient={client:null,queue:L});let J=Fr(),ee=null,te=!1,ie={goal(h,S={},M=1,Q=0){var F,T,B,V,Y,ve,fe;let Oe=A.getSessionId();if(!Oe)return;let X=zr(S)?S:{metadata:S},Le=[h,(F=X.externalId)!=null?F:"",(T=X.stepIndex)!=null?T:Q,(B=X.weight)!=null?B:M].join("\0"),R=X.value!==void 0?`${X.value}\0${(V=X.currency)!=null?V:""}`:null;if(J.firedBefore(Le,R)){e.debug&&console.log(`[sentient] goal("${h}") already recorded for this action \u2014 not sent twice`);return}let le=mt(),ze={sessionId:Oe,name:h,metadata:(Y=X.metadata)!=null?Y:{},weight:(ve=X.weight)!=null?ve:M,stepIndex:(fe=X.stepIndex)!=null?fe:Q,goalId:le,value:X.value,currency:X.currency,externalId:X.externalId};e.debug&&console.log("[sentient] goal",ze);let W={id:le,body:JSON.stringify(ze)};E.then(()=>N.send(W))},componentGoal(h,S,M){var Q,F,T;let B=A.getSessionId();if(!B)return;let V=C.get(h,j),Y=V?null:(Q=U.get(h))!=null?Q:null;if(!V&&Y===null){e.debug&&console.warn(`[sentient] componentGoal("${h}"): no assignment or slot decision yet \u2014 render its <Adaptive>/adaptive hook or call assign()/decide() before recording a goal.`);return}let ve=V?V.variantId:Vt(Y),fe={id:mt(),sessionId:B,projectId:e.apiKey,componentId:h,variantId:ve,eventType:"goal_achieved",goalType:S,payload:_({reward:(F=M==null?void 0:M.reward)!=null?F:1,goalValue:M==null?void 0:M.value,currency:M==null?void 0:M.currency},(T=M==null?void 0:M.metadata)!=null?T:{}),timestamp:Date.now(),timeInSession:Date.now()-f,path:Ye()};e.debug&&console.log("[sentient] componentGoal",fe),E.then(()=>L.push(fe))},identify(h){let S=A.getSessionId();S&&E.then(()=>{fetch(`${y}/sessions`,{method:"POST",keepalive:!0,body:JSON.stringify({sessionId:S,userId:h,ephemeral:A.isEphemeral()}),headers:w}).catch(()=>{})})},track(h){let S=A.getSessionId();if(!S)return;let M=be(_({path:Ye()},h),{id:mt(),sessionId:S,timestamp:Date.now(),timeInSession:Date.now()-f});e.debug&&console.log("[sentient] track",M),E.then(()=>L.push(M))},getAssignment(h,S){return C.get(h,S)},async assign(h,S,M,Q){let F=A.getSessionId();if(!F)return null;let T=C.get(h,j);if(T&&(S!=null&&S.length||T.content!==void 0)){let B=T.ttlMs&&T.ttlMs>0?Math.max(0,T.assignedAt+T.ttlMs-Date.now()):0;return{variantId:T.variantId,assignmentTtlMs:B,content:T.content}}return yt(Z,h,async()=>{await E;try{let B={sessionId:F,componentId:h,variantIds:S};Q!==void 0?B.agentDataByVariant=Q:M!==void 0&&(B.agentData=M);let V=await fetch(`${y}/assign`,{method:"POST",body:JSON.stringify(B),headers:w});if(!V.ok)return null;let Y=await V.json();return C.set(h,j,_({variantId:Y.variantId,assignedAt:Date.now(),segment:j,confidence:1,content:Y.content},Y.assignmentTtlMs&&Y.assignmentTtlMs>0?{ttlMs:Y.assignmentTtlMs}:{})),Y}catch(B){return null}})},async decide(h){var S,M;let Q=A.getSessionId();if(!Q)return null;let F=(S=h.slots)!=null?S:[],T={sessionId:Q};h.sections&&h.sections.length>0&&(T.sections=h.sections.map(V=>({id:V}))),T.components=(M=h.components)!=null?M:[],F.length>0&&(T.slots=F.map(ft)),h.slotsFrom==="registry"&&(T.slotsFrom="registry"),h.v&&(T.v=h.v),e.persona&&(T.persona=e.persona);let B=JSON.stringify(T);return yt(q,B,async()=>{var V,Y,ve,fe,Oe,X;await E;try{let Le=await fetch(`${y}/decide`,{method:"POST",body:B,headers:w});if(!Le.ok)return b(F),null;let R=await Le.json(),le={};for(let W of F){let pe=(V=R.slots)==null?void 0:V[W.id];if(pe!==void 0){le[W.id]=pe,U.set(W.id,pe);continue}let Lt=U.get(W.id);if(Lt!==void 0)le[W.id]=Lt;else{let Tt=pt(W);le[W.id]=Tt,U.set(W.id,Tt)}}if(R.slots)for(let[W,pe]of Object.entries(R.slots))W in le||(le[W]=pe,U.set(W,pe));let ze=v!=null&&v.persona!=="unknown";R.persona&&!(R.persona==="unknown"&&ze)?v={persona:R.persona,confidence:(Y=R.confidence)!=null?Y:0}:v||(v={persona:"unknown",confidence:0});for(let[W,pe]of Object.entries((ve=R.assignments)!=null?ve:{}))C.set(W,j,{variantId:pe,assignedAt:Date.now(),segment:j,confidence:1});return Me(e.apiKey,_(_({v:1,persona:v.persona,band:we(v.confidence),slots:Object.fromEntries(U),layoutOrder:(fe=R.layoutOrder)!=null?fe:null,savedAt:Date.now()},R.slotConfig?{slotConfig:R.slotConfig}:{}),R.palette?{palette:R.palette}:{})),_(_(_(_({layoutOrder:(Oe=R.layoutOrder)!=null?Oe:null,assignments:(X=R.assignments)!=null?X:{},slots:le,persona:v.persona,confidence:v.confidence},R.slotConfig?{slotConfig:R.slotConfig}:{}),R.goals?{goals:R.goals}:{}),R.sectionMap?{sectionMap:R.sectionMap}:{}),R.palette?{palette:R.palette}:{})}catch(Le){return b(F),null}})},getSlotResult(h){var S;return(S=U.get(h))!=null?S:null},getPersona(){return v?{persona:v.persona,confidence:v.confidence,band:we(v.confidence)}:null},async fetchWeights(){var h;try{let S=await fetch(`${y}/weights`,{headers:w});return S.ok?(h=(await S.json()).components)!=null?h:[]:[]}catch(S){return[]}},getGraph(){return{pageNodes:[],capturedAt:0}},dispose(){var h;ee==null||ee(),te=!0,L.destroy(),N.destroy(),((h=re.get(e.apiKey))==null?void 0:h.dispose)===ie.dispose&&re.delete(e.apiKey),e.debug&&console.log("[sentient] disposed")},destroy(){var h;ee==null||ee(),te=!0,L.destroy(),N.destroy(),A.destroy(),C.clear(),((h=re.get(e.apiKey))==null?void 0:h.dispose)===ie.dispose&&re.delete(e.apiKey);try{localStorage.removeItem(Xe+e.apiKey),localStorage.removeItem(an(e.apiKey)),localStorage.removeItem(ln(e.apiKey))}catch(S){}e.debug&&console.log("[sentient] destroyed")}};if(re.set(e.apiKey,{config:e,upgrade:null,dispose:ie.dispose}),ee=Wr(ie,e.apiKey,h=>{E.then(()=>{te||fn.add(h)})}),e.debug){let h=window;h.__sentient&&(h.__sentient.client=ie)}return ie}var Vr=["data-sentient-id","data-testid","data-test","data-id","data-name","data-cy"];function wt(e){var t;return((t=e.textContent)!=null?t:"").replace(/\s+/g," ").trim()}function Yr(e){return{tag:e.tagName.toLowerCase(),text:wt(e).slice(0,40)}}function gn(e){return e.replace(/["\\\]]/g,"\\$&")}function $e(e,t){try{return e.querySelectorAll(t).length===1}catch(n){return!1}}function mn(e,t){var n;let r=e.tagName.toLowerCase();if(!r)return null;let o=((n=e.getAttribute("class"))!=null?n:"").split(/\s+/).filter(s=>/^[a-zA-Z][\w-]*$/.test(s)),l=[r,...o.map(s=>`${r}.${s}`)];for(let s of l)if($e(t,s))return s;let i=e.parentElement;if(i&&i!==t){let s=mn(i,t);if(s){for(let d of l){let g=`${s} > ${d}`;if($e(t,g))return g}let c=Array.from(i.children).filter(d=>d.tagName.toLowerCase()===r),u=c.indexOf(e),a=c.some(d=>d!==e&&wt(d)!==wt(e));if(u>=0&&a){let d=`${s} > ${r}:nth-of-type(${u+1})`;if($e(t,d))return d}}}return null}function hn(e,t){let n=Yr(e),r=e.getAttribute("id");if(r&&$e(t,`#${gn(r)}`))return{v:1,id:r,fingerprint:n};for(let l of Vr){let i=e.getAttribute(l);if(i&&$e(t,`[${l}="${gn(i)}"]`))return{v:1,dataAttr:{name:l,value:i},fingerprint:n}}let o=mn(e,t);return o?{v:1,selector:o,fingerprint:n}:null}Te();var vn=["pricing","hero","social_proof","cta","features","faq","comparison","trust","navigation","generic"],Xr={banner:"hero",navigation:"navigation",contentinfo:"footer"};function Zr(e){let t=e.ariaRole?Xr[e.ariaRole.toLowerCase()]:void 0;if(t)return t;if(e.tag==="nav")return"navigation";if(e.tag==="footer")return"footer";if(e.tag==="header")return e.actionCount>=5?"navigation":"hero";let n=`${e.idClass} ${e.headingText}`.toLowerCase();return/\b(navbar|nav-bar|navigation|site-nav|main-nav|topbar|footer)\b/.test(n)?/footer/.test(n)?"footer":"navigation":/\b(hero|masthead|jumbotron)\b/i.test(e.idClass)?"hero":null}function Qr(e){return e.actionCount>=1&&e.textLength>0&&e.textLength<200?"cta":"generic"}var eo=[["pricing",/\b(pricing|price list|per month|\/mo|subscriptions?)\b|\bplans?\b(?=[^.]{0,40}(from|start|month|year|[$€£]))/i],["faq",/\bfaq\b|frequently asked|common questions?/i],["comparison",/\b(compare|comparison|versus)\b|\bvs\./i],["social_proof",/\b(reviews?|ratings?|testimonial|brands?|galler(y|ies)|logos)\b|trusted by|loved by|case stud|what our customers say/i],["trust",/\b(insurance|warrant(y|ies)|guarantees?|certifi|accredit|security|privacy|compliance|gdpr|encrypt)\b|why choose|about us|our team/i],["cta",/\b(book|booking|reserve|appointments?|newsletter|subscribe)\b|contact us|get in touch|opening hours/i],["features",/\b(features?|benefits?|capabilit|services?|repairs?|menus?|products?)\b|how it works|our process|what we (do|offer)|what you get/i]],St=[["pricing",/(?:[$€£]\s?\d[\d,.]*\s*(?:\/|per\s)\s*(?:mo|month|yr|year|seat|user))|(?:\b(?:starter|basic|pro|growth|premium|enterprise)\b[^.]{0,60}[$€£]\s?\d)/i],["social_proof",/(?:★{2,})|(?:\b\d(?:\.\d)?\s*(?:out of|\/)\s*5\b)|(?:\brated\b)|(?:["“][^"”]{20,160}["”]\s*[—–-]\s*[A-Z][a-z]+)/],["trust",/\b(?:money[- ]back guarantee|free returns?|returns? within|refund(?:s)? within|encrypted|soc ?2|iso ?27001|gdpr[- ]compliant|cancel anytime)\b/i],["comparison",/\b(?:vs|versus)\b\.?[^.!?]{0,80}\b(?:compare|comparison|plans?|features?|alternative)\b|\bhow (?:we|it) compares?\b/i]],yn={navigation:"navigation",footer:"navigation",hero:"hero",cta:"cta",generic:"generic"};function to(e){var t;let n=e.querySelector("h1, h2, h3");return((t=n==null?void 0:n.textContent)!=null?t:"").slice(0,160)}function bn(e){var t,n;let r=Zr(e);if(r)return{type:(t=yn[r])!=null?t:"generic",strength:"strong"};let o=`${e.idClass} ${e.headingText}`.toLowerCase();for(let[i,s]of eo)if(s.test(o))return{type:i,strength:"strong"};for(let[i,s]of St)if(s.test(e.bodyText))return{type:i,strength:"strong"};let l=Qr(e);return{type:(n=yn[l])!=null?n:"generic",strength:"weak"}}function wn(e){var t,n;let r=((t=e.textContent)!=null?t:"").replace(/\s+/g," ").trim(),o=e.getAttribute("role");return _({tag:e.tagName.toLowerCase(),idClass:`${e.id} ${String((n=e.className)!=null?n:"")}`,headingText:to(e),bodyText:r.slice(0,2e3),actionCount:e.querySelectorAll('a, button, [role="button"]').length,textLength:r.length},o?{ariaRole:o}:{})}Te();var no="section, header, footer, nav, main > div, [data-sentient-section]",ro=2e4;function oo(e){let t=Array.from(e.querySelectorAll(no)),n=t.filter(r=>t.filter(o=>o!==r&&r.contains(o)).length<2);return n.filter(r=>!n.some(o=>o!==r&&o.contains(r)))}function io(e,t,n,r){try{fetch(`${t}/v1/section-map`,{method:"POST",keepalive:!0,headers:{"content-type":"application/json",authorization:`Bearer ${e}`},body:JSON.stringify({pageUrl:n,sections:r})}).catch(()=>{})}catch(o){}}var Sn=()=>{};function An(e,t){var n,r,o,l,i,s,c,u,a,d,g,m;let p=(n=t.doc)!=null?n:typeof document!="undefined"?document:void 0;if(!p||typeof IntersectionObserver=="undefined"||Se()||!t.apiKey||!t.apiKey.startsWith("pk_"))return Sn;let f=((r=t.apiBase)!=null?r:"https://api.sentient-ui.com").replace(/\/+$/,"").replace(/\/v1$/,""),A=oo(p);if(A.length===0)return Sn;let C=new Map,L=[];for(let b of A){let k=b.getAttribute("data-sentient-type"),O=k&&vn.includes(k)?k:null,E=wn(b),oe=(l=O!=null?O:(o=t.typeOf)==null?void 0:o.call(t,b))!=null?l:bn(E).type,J=hn(b,p),ee=J?`nc-${oe}-${Gt(JSON.stringify({id:(i=J.id)!=null?i:null,dataAttr:(s=J.dataAttr)!=null?s:null,selector:(c=J.selector)!=null?c:null})).toString(36)}`:`nc-${oe}`;C.set(b,ee);let te=St.filter(([,ie])=>ie.test(E.bodyText)).map(([ie])=>ie);L.push(be(_({componentId:ee,semanticType:oe,source:O?"markup":"auto"},J?{locator:J}:{}),{observation:_(_({tag:E.tag,idClass:E.idClass.slice(0,200),headingText:E.headingText,textLength:E.textLength,actionCount:E.actionCount},E.ariaRole?{ariaRole:E.ariaRole}:{}),te.length>0?{patternFlags:te}:{})}))}let y=(g=(d=(a=(u=p.defaultView)!=null?u:typeof window!="undefined"?window:void 0)==null?void 0:a.location)==null?void 0:d.pathname)!=null?g:"/";io(t.apiKey,f,y,L);let w=new Map,I=b=>{let k=w.get(b);return k||(k={ms:0,scroll:0,enterAt:null,intersecting:!1},w.set(b,k)),k},N=new IntersectionObserver(b=>{for(let k of b){let O=C.get(k.target);if(!O)continue;let E=I(O);k.isIntersecting?(E.intersecting=!0,E.enterAt=Date.now(),k.intersectionRatio>E.scroll&&(E.scroll=k.intersectionRatio)):(E.intersecting=!1,E.enterAt!=null&&(E.ms+=Date.now()-E.enterAt,E.enterAt=null))}},{threshold:[0,.25,.5,.75,1]});for(let b of C.keys())N.observe(b);let x=()=>{let b=Date.now();for(let[k,O]of w)if(O.enterAt!=null&&(O.ms+=b-O.enterAt,O.enterAt=null),!(O.ms<=0)){try{e.track({projectId:t.apiKey,componentId:k,eventType:"dwell",payload:{dwell_time:Math.round(O.ms),scroll_depth:Number(O.scroll.toFixed(2))}})}catch(E){}O.ms=0}},D=()=>{if(p.hidden)x();else{let b=Date.now();for(let k of w.values())k.intersecting&&(k.enterAt=b)}},K=!1,j=b=>{if(x(),b!=null&&b.persisted){K=!0;return}try{N.disconnect()}catch(k){}},Z=b=>{if(!(b!=null&&b.persisted)||!K)return;K=!1;let k=Date.now();for(let O of w.values())O.enterAt=O.intersecting&&!p.hidden?k:null};p.addEventListener("visibilitychange",D);let q=(m=p.defaultView)!=null?m:typeof window!="undefined"?window:void 0;q==null||q.addEventListener("pagehide",j),q==null||q.addEventListener("pageshow",Z);let U=setInterval(()=>{if(p.hidden||K)return;x();let b=Date.now();for(let k of w.values())k.intersecting&&(k.enterAt=b)},ro),v=[];return t.microSignals&&[...C.entries()].forEach(([b,k],O)=>{v.push(Be((E,oe={})=>{try{e.track({projectId:t.apiKey,componentId:k,eventType:"micro_signal",payload:_({signalType:E},oe)})}catch(J){}},b,void 0,{tabLoss:O===0}))}),()=>{x(),clearInterval(U),p.removeEventListener("visibilitychange",D),q==null||q.removeEventListener("pagehide",j),q==null||q.removeEventListener("pageshow",Z);for(let b of v)b();try{N.disconnect()}catch(b){}}}var so=["landing","ecommerce","saas","marketplace"];function ao(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=Object.entries(e);if(t.length<1||t.length>4)return null;let n={};for(let[r,o]of t){if(!Array.isArray(o)||o.length<2||o.length>6||!o.every(l=>typeof l=="string"))return null;n[r]=o}return n}function lo(e){return!Array.isArray(e)||e.length<2||e.length>12||!e.every(t=>typeof t=="string")?null:e}function co(e){try{return e()}catch(t){return}}function Ze(e){if(typeof e!="object"||e===null)return null;let t=e;if(typeof t.apiKey!="string"||!t.apiKey.startsWith("pk_"))return null;let n=so.includes(t.context)?t.context:"landing",r={};if(typeof t.slots=="object"&&t.slots!==null&&!Array.isArray(t.slots))for(let[i,s]of Object.entries(t.slots)){if(typeof s!="object"||s===null)continue;let c=s,u=ao(c.dims);if(!u||c.target!==void 0&&typeof c.target!="string")continue;let a=c.arms!==void 0?lo(c.arms):null,d={dims:u};typeof c.target=="string"&&(d.target=c.target),a&&(d.arms=a),r[i]=d}let o={apiKey:t.apiKey,context:n,personaAttributes:t.personaAttributes===!0,slots:r};typeof t.consent=="boolean"&&(o.consent=t.consent),(t.preConsentBehavior==="statistical_winner"||t.preConsentBehavior==="control")&&(o.preConsentBehavior=t.preConsentBehavior),t.debug===!0&&(o.debug=!0),typeof t.registry=="boolean"&&(o.registry=t.registry),typeof t.editorSrc=="string"&&(o.editorSrc=t.editorSrc),typeof t.apiBase=="string"&&(o.apiBase=t.apiBase),typeof t.sectionCapture=="boolean"&&(o.sectionCapture=t.sectionCapture);let l=typeof t.persona=="function"?co(t.persona):t.persona;if(typeof l=="string"&&l.trim()!==""&&(o.persona=l),Array.isArray(t.sections)){let i=t.sections.filter(s=>typeof s=="string"&&s.trim()!=="").slice(0,50);i.length>=2&&(o.sections=i)}return o}function Qe(e){var n,r,o;let t=(r=(n=e.defaultView)!=null?n:typeof window!="undefined"?window:void 0)==null?void 0:r.location;return(o=t==null?void 0:t.pathname)!=null?o:""}function uo(e,t){var n;if(t.tag&&e.tagName.toLowerCase()!==t.tag.toLowerCase())return!1;if(t.text){let r=((n=e.textContent)!=null?n:"").replace(/\s+/g," ").trim().toLowerCase(),o=t.text.replace(/\s+/g," ").trim().toLowerCase();if(!(r===o||r.startsWith(o)||o.startsWith(r)))return!1}return!0}function xn(e,t){return!!(e!=null&&e.urlMatch)&&!Qe(t).includes(e.urlMatch)}var fo=/^[a-zA-Z_][-a-zA-Z0-9_]*$/;function ge(e,t){var o;if(e.urlMatch&&!Qe(t).includes(e.urlMatch))return null;let n=[];if(e.id){let l=t.getElementById(e.id);n=l?[l]:[]}if(n.length===0&&((o=e.dataAttr)!=null&&o.name)&&fo.test(e.dataAttr.name))try{let l=e.dataAttr.value.replace(/["\\]/g,"\\$&");n=Array.from(t.querySelectorAll(`[${e.dataAttr.name}="${l}"]`))}catch(l){n=[]}if(n.length===0&&e.selector)try{n=Array.from(t.querySelectorAll(e.selector))}catch(l){n=[]}if(n.length!==1)return null;let r=n[0];return e.fingerprint&&!uo(r,e.fingerprint)?null:r}var kn={color:"color",background:"background",fontSize:"font-size",fontWeight:"font-weight",textAlign:"text-align",padding:"padding",margin:"margin",borderRadius:"border-radius",width:"width",height:"height",maxWidth:"max-width",border:"border",boxShadow:"box-shadow",opacity:"opacity",lineHeight:"line-height",letterSpacing:"letter-spacing",textTransform:"text-transform",gap:"gap",fontFamily:"font-family"},po=/^(rgb|rgba|hsl|hsla|calc|var|min|max|clamp)$/i;function En(e){var r;if(e.trim().length===0||/[;{}<>]/.test(e))return!1;let t=/([A-Za-z-]*)\(/g,n;for(;(n=t.exec(e))!==null;)if(!po.test((r=n[1])!=null?r:""))return!1;return!0}var Cn=/^https:\/\//i,_n=new Map,me=null;function go(e){return e.replace(/["\\]/g,"\\$&")}function mo(e){var t;(!me||!me.isConnected)&&(me=e.querySelector("style[data-sentient-ops]"),me||(me=e.createElement("style"),me.setAttribute("data-sentient-ops",""),((t=e.head)!=null?t:e.documentElement).appendChild(me))),me.textContent=[..._n.entries()].map(([n,r])=>`[data-snt-e="${go(n)}"]{${r}}`).join(`
2
- `)}function In(e,t,n,r){var s;let o=!1,l=(s=t.moveBefore)!=null?s:t.moveAfter;if(l){let c=ge(l,r);!c||c===e||c.parentElement!==e.parentElement||!e.parentElement?o=!0:t.moveBefore?e.parentElement.insertBefore(e,c):e.parentElement.insertBefore(e,c.nextSibling)}typeof t.text=="string"&&(e.textContent=t.text),typeof t.href=="string"&&Cn.test(t.href)&&e.setAttribute("href",t.href),typeof t.imageSrc=="string"&&Cn.test(t.imageSrc)&&e.setAttribute("src",t.imageSrc),typeof t.imageAlt=="string"&&e.setAttribute("alt",t.imageAlt);let i=[];if(t.hidden&&i.push("display:none !important"),t.style)for(let[c,u]of Object.entries(t.style)){let a=kn[c];a&&typeof u=="string"&&En(u)&&i.push(`${a}:${u.trim()} !important`)}return i.length>0&&(e.setAttribute("data-snt-e",n),_n.set(n,i.join(";")),mo(r)),{anchorMiss:o}}var Ke="data-sentient-block-arm",se=null;function je(e){se=e!=null?e:null}var ue="data-sentient-blocks-hid",et={none:"0",sm:"8px",md:"16px",lg:"24px"},At={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch",between:"space-between"},On={sm:"0.875em",md:"1em",lg:"1.25em"},ho={sm:"1.25em",md:"1.5em",lg:"2em"},yo={sm:"6px 14px",md:"10px 20px",lg:"14px 28px"},Ln={sm:"8px",md:"16px",lg:"32px"},vo={square:"1 / 1",landscape:"4 / 3",wide:"16 / 9"},bo={normal:"400",medium:"500",bold:"700"};function ce(e,t){for(let[n,r]of Object.entries(t))r!==void 0&&e.style.setProperty(n,r);return e}function Tn(e){return{opacity:e==="muted"?"0.7":void 0,"font-weight":e==="accent"?"600":void 0}}function Rn(e,t){var n,r,o,l,i,s,c,u,a,d,g,m;try{switch(e.type){case"stack":case"grid":{let p=t.createElement("div");if(e.type==="stack"){let f=e;ce(p,{display:"flex","flex-direction":f.direction,gap:(r=et[(n=f.gap)!=null?n:"md"])!=null?r:et.md,"align-items":f.align?At[f.align]:void 0,"justify-content":f.justify?At[f.justify]:void 0,"flex-wrap":f.wrap?"wrap":void 0})}else{let f=e,A=(l=et[(o=f.gap)!=null?o:"md"])!=null?l:et.md;ce(p,{display:"grid","grid-template-columns":`repeat(auto-fit, minmax(max(200px, calc((100% - ${f.columns-1} * ${A}) / ${f.columns})), 1fr))`,gap:A,"align-items":f.align?At[f.align]:void 0})}for(let f of(i=e.children)!=null?i:[]){let A=Rn(f,t);A&&p.appendChild(A)}return p}case"text":{let p=t.createElement("p");return p.textContent=e.value,ce(p,ne({margin:"0","font-size":e.size?On[e.size]:void 0,"font-weight":e.weight?bo[e.weight]:void 0,"text-align":e.align},Tn(e.tone)))}case"heading":{let p=t.createElement(`h${e.level}`);return p.textContent=e.value,ce(p,{margin:"0","font-size":ho[(s=e.size)!=null?s:"md"],"text-align":e.align})}case"button":{let p=t.createElement("a");p.textContent=e.label,p.href=e.href,e.tag&&p.setAttribute("data-sentient-tag",e.tag);let f=(c=e.emphasis)!=null?c:"primary";return ce(p,{display:"inline-block",padding:yo[(u=e.size)!=null?u:"md"],"border-radius":(a=se==null?void 0:se.radius)!=null?a:"8px",font:"inherit","font-size":e.size?On[e.size]:void 0,"text-decoration":f==="ghost"?"underline":"none",cursor:"pointer",background:f==="primary"?(d=se==null?void 0:se.primaryBg)!=null?d:"#111827":"transparent",color:f==="primary"?(g=se==null?void 0:se.primaryText)!=null?g:"#ffffff":"inherit",border:f==="secondary"?"1px solid currentColor":"none"})}case"link":{let p=t.createElement("a");return p.textContent=e.label,p.href=e.href,e.tag&&p.setAttribute("data-sentient-tag",e.tag),ce(p,{color:"inherit","text-decoration":"underline"})}case"image":{let p=t.createElement("img");return p.src=e.src,p.alt=e.alt,ce(p,{display:"block","max-width":"100%","aspect-ratio":e.ratio&&e.ratio!=="auto"?vo[e.ratio]:void 0,"object-fit":e.fit,width:e.ratio&&e.ratio!=="auto"?"100%":void 0})}case"badge":{let p=t.createElement("span");return p.textContent=e.value,ce(p,ne({display:"inline-block",padding:"2px 10px","border-radius":"999px","font-size":"0.75em",border:"1px solid currentColor"},Tn(e.tone)))}case"spacer":return ce(t.createElement("div"),{height:(m=Ln[e.size])!=null?m:Ln.md});default:return null}}catch(p){return null}}function Pn(e,t,n,r){try{let o=new Set;for(let i of Array.from(e.children)){let s=i.getAttribute(Ke);s!==null&&(t[s]===void 0?i.remove():o.add(s))}for(let[i,s]of Object.entries(t)){if(o.has(i))continue;let c=Rn(s,r);if(!c)continue;let u=r.createElement("div");u.setAttribute(Ke,i),u.style.display="none",u.appendChild(c),e.appendChild(u)}let l=n!==void 0&&t[n]!==void 0;for(let i of Array.from(e.children)){let s=i.getAttribute(Ke),c=i;s!==null?c.style.display=l&&s===n?"":"none":l?c.hasAttribute(ue)||(c.setAttribute(ue,c.style.display),c.style.display="none"):c.hasAttribute(ue)&&(c.style.display=c.getAttribute(ue),c.removeAttribute(ue))}}catch(o){}}function wo(e){try{for(let t of Array.from(e.children)){let n=t;if(n.getAttribute(Ke)!==null){n.remove();continue}n.hasAttribute(ue)&&(n.style.display=n.getAttribute(ue),n.removeAttribute(ue))}}catch(t){}}function tt(e,t){try{let n=new Set;for(let r of Array.from(e.querySelectorAll(`[${Ke}]`)))r.parentElement&&n.add(r.parentElement);for(let r of Array.from(e.querySelectorAll(`[${ue}]`)))r.parentElement&&n.add(r.parentElement);for(let r of n)t.has(r)||wo(r)}catch(n){}}function xt(e,t){if(!e)return[t.documentElement];try{return Array.from(t.querySelectorAll(e))}catch(n){return[]}}function nt(e,t,n){n.documentElement.setAttribute("data-sentient-persona",e),n.documentElement.setAttribute("data-sentient-confidence",t)}function rt(e,t,n){var r;for(let[o,l]of Object.entries(t)){let i=e[o];if(!i||typeof i=="string")continue;let s=xt(l.target,n);for(let c of s)for(let[u,a]of Object.entries(i))(r=l.dims[u])!=null&&r.includes(a)&&c.setAttribute(`data-${u}`,a)}}function ot(e,t,n){for(let[r,o]of Object.entries(t)){let l=e[r];if(typeof l!="string"||!o.arms||!o.arms.includes(l))continue;let i=xt(o.target,n);for(let s of i)s.setAttribute("data-sentient-arm",l)}}function it(e,t,n,r){var s,c;let o=new Set,l=(s=r==null?void 0:r.contentAndOps)!=null?s:!0,i=[];for(let[u,a]of Object.entries(t)){if(xn(a.locator,n))continue;let d;if(a.locator){let m=ge(a.locator,n);d=m?[m]:[]}else d=xt(a.target,n);(a.locator||a.target)&&d.length===0&&i.push(u);let g=e[u];for(let m of d){if(g!==void 0)if(typeof g=="string")m.setAttribute("data-sentient-arm",g),l&&((c=r==null?void 0:r.onApplied)==null||c.call(r,u,g,m));else for(let[p,f]of Object.entries(g))m.setAttribute(`data-${p}`,f);a.blocks&&!Ao(n)&&(Pn(m,a.blocks,typeof g=="string"?g:void 0,n),o.add(m)),l&&(typeof a.content=="string"&&(m.textContent=a.content),a.ops&&In(m,a.ops,u,n).anchorMiss&&!i.includes(u)&&i.push(u))}}return tt(n,o),i}var So=/bot|crawler|spider|crawling|googlebot|bingbot|duckduckbot|baiduspider|yandexbot|slurp|gptbot|claudebot|anthropic|perplexity|ccbot|applebot|headlesschrome/i;function Ao(e){var t,n,r;try{let o=(n=(t=e.defaultView)!=null?t:typeof window!="undefined"?window:void 0)==null?void 0:n.navigator;return o?o.webdriver===!0?!0:So.test((r=o.userAgent)!=null?r:""):!1}catch(o){return!1}}var xo=800;function st(e,t,n){let r=[];return n.forEach(({slotId:o,arm:l,el:i},s)=>{r.push(Be((g,m={})=>{try{e.track({projectId:t,componentId:o,variantId:l,eventType:"micro_signal",payload:ne({signalType:g},m)})}catch(p){}},i,void 0,{tabLoss:s===0}));let c=null,u=0,a=()=>{u=Date.now(),c=setTimeout(()=>{try{e.track({projectId:t,componentId:o,variantId:l,eventType:"cursor_signal",payload:{hoverDuration:Date.now()-u}})}catch(g){}c=null},xo)},d=()=>{c!==null&&(clearTimeout(c),c=null)};i.addEventListener("mouseenter",a),i.addEventListener("mouseleave",d),r.push(()=>{i.removeEventListener("mouseenter",a),i.removeEventListener("mouseleave",d),c!==null&&clearTimeout(c)})}),()=>{for(let o of r)o()}}function ko(e,t){if(!e)return!1;if(e==="/")return t==="/";let n=e.endsWith("/")?e.slice(0,-1):e;return t===n||t.startsWith(`${n}/`)}function Mn(e){return e?`_snt_fired_goals_${e.slice(0,12)}`:"_snt_fired_goals"}var Eo="_snt_fired_goals";function Bn(e,t){try{e==null||e.sessionStorage.removeItem(Mn(t)),e==null||e.sessionStorage.removeItem(Eo)}catch(n){}}function Dn(e){var t;return[(t=e.slotId)!=null?t:"",e.goalId,e.event,e.locator?JSON.stringify(e.locator):""].join("|")}function Co(e,t){try{let n=e==null?void 0:e.sessionStorage.getItem(t);if(!n)return new Set;let r=JSON.parse(n);return Array.isArray(r)?new Set(r.filter(o=>typeof o=="string")):new Set}catch(n){return new Set}}function _o(e,t,n){try{e==null||e.sessionStorage.setItem(t,JSON.stringify([...n]))}catch(r){}}function at(e,t,n,r){var C,L;let o=(C=n.defaultView)!=null?C:typeof window!="undefined"?window:null,l=Mn(r),i=Co(o,l),s=y=>{let w=Dn(y);if(!i.has(w))try{y.slotId?t.componentGoal(y.slotId,y.goalId):t.goal(y.goalId),i.add(w),_o(o,l,i)}catch(I){}},c=e.filter(y=>y.event==="click"),u=e.filter(y=>y.event==="form_submit"),a=e.filter(y=>y.event==="url_reached"),d=e.filter(y=>y.event==="scroll_depth"),g=(y,w)=>{if(!y.locator)return!1;let I=ge(y.locator,n);return!!I&&(I===w||I.contains(w))},m=y=>{let w=y.target;if(!(!w||typeof w.closest!="function"))for(let I of c)g(I,w)&&s(I)},p=y=>{let w=y.target;if(w)for(let I of u)g(I,w)&&s(I)},f=()=>{if(a.length===0)return;let y=Qe(n);for(let w of a)w.urlPattern&&ko(w.urlPattern,y)&&s(w)},A=()=>{var I;let y=n.documentElement,w=y.scrollHeight>0?(y.scrollTop+y.clientHeight)/y.scrollHeight:0;for(let N of d)w>=((I=N.threshold)!=null?I:.75)&&s(N);d.every(N=>i.has(Dn(N)))&&n.removeEventListener("scroll",A)};return n.addEventListener("click",m,!0),n.addEventListener("submit",p,!0),(L=n.defaultView)==null||L.addEventListener("popstate",f),f(),d.length>0&&(n.addEventListener("scroll",A,{passive:!0}),A()),{checkUrl:f,teardown:()=>{var y;n.removeEventListener("click",m,!0),n.removeEventListener("submit",p,!0),(y=n.defaultView)==null||y.removeEventListener("popstate",f),d.length>0&&n.removeEventListener("scroll",A)}}}var Nn="__snt_editor_token";function $n(){try{return typeof sessionStorage!="undefined"?sessionStorage.getItem(Nn):null}catch(e){return null}}function Kn(e){try{sessionStorage.setItem(Nn,e)}catch(t){}}var Et="0.21.0",Hn=5e3,Io=50,Jn=(()=>{try{if(typeof window=="undefined")return[];let e=window.SentientSnippet;return Array.isArray(e==null?void 0:e.q)?e.q:[]}catch(e){return[]}})(),H=null,P=null,de={},ye=null,G=null,he=null,z=null,ae=null,$=null,Ae=null,jn=!1,kt=null,lt=null,ut=null,Ce=!1,Ge=!1,ke=!1;function Vn(e,t){let n,r=new Promise(o=>{n=setTimeout(()=>o(null),t)});return Promise.race([e,r]).then(o=>(clearTimeout(n),o),o=>{throw clearTimeout(n),o})}function xe(e,...t){e!=null&&e.debug&&console.log("[sentient-snippet]",...t)}function _e(e,t){return H?(H.personaAttributes&&$&&nt($.persona,$.band,e),rt(de,H.slots,e),ot(de,H.slots,e),ye?it(de,ye,e,t):(tt(e,new Set),[])):[]}function Yn(e){var n;let t=new Map;for(let r of(n=H==null?void 0:H.sections)!=null?n:[])try{let o=e.querySelectorAll(r);o.length===1&&t.set(r,o[0])}catch(o){}return t}function Ct(e,t){try{if(!e||e.length<2||new Set(e).size!==e.length)return;let n=Yn(t);if(n.size!==e.length)return;let r=[];for(let i of e){let s=n.get(i);if(!s)return;r.push(s)}let o=r[0].parentNode;if(!o||!r.every(i=>i.parentNode===o))return;let l=r.slice().sort((i,s)=>i.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let i=0;i<r.length;i++){let s=r[i];l[i]!==s&&(o.insertBefore(s,l[i]),l.splice(l.indexOf(s),1),l.splice(i,0,s))}}catch(n){}}function Xn(e){return e.apiBase?`${e.apiBase.replace(/\/+$/,"")}/v1/events`:void 0}function Oo(e,t){var n;if(t.length!==0)try{let r=(n=e.apiBase)!=null?n:"https://api.sentient-ui.com";fetch(`${r}/v1/locator-miss`,{method:"POST",keepalive:!0,headers:{"content-type":"application/json",authorization:`Bearer ${e.apiKey}`},body:JSON.stringify({slots:t})}).catch(()=>{})}catch(r){}}function Ie(){return!!(H&&P&&H.sectionCapture!==!1&&(H.consent!==!1||Ge)&&!Se())}function Lo(){if(!P||!H||!Ie()||ae)return;let e=[];_e(document,{contentAndOps:Ce,onApplied:(t,n,r)=>e.push({slotId:t,arm:n,el:r})}),It();try{z==null||z(),z=st(P,H.apiKey,e)}catch(t){}}function It(){if(typeof document=="undefined"||!Ie())return;let e;try{if(lt&&lt.length>0){let t=new Map;for(let n of lt){if(n.urlMatch!==window.location.pathname)continue;let r=ge(n.locator,document);r&&t.set(r,n.type)}t.size>0&&(e=n=>{var r;return(r=t.get(n))!=null?r:null})}}catch(t){}try{ae=An(P,ne({apiKey:H.apiKey,apiBase:H.apiBase,doc:document,microSignals:!0},e?{typeOf:e}:{})),ut=window.location.pathname}catch(t){}}function Ot(){try{let e=[];if(z==null||z(),z=null,_e(document,{contentAndOps:Ce,onApplied:(t,n,r)=>e.push({slotId:t,arm:n,el:r})}),Ct(Ae,document),e.length>0&&Ie())try{z=st(P,H.apiKey,e)}catch(t){}try{typeof window!="undefined"&&ut!==null&&window.location.pathname!==ut&&Ie()&&(ae==null||ae(),ae=null,It())}catch(t){}}catch(e){}}function Gn(){kt===null&&(kt=setTimeout(()=>{kt=null,Ot();try{G==null||G.checkUrl()}catch(e){}},Io))}function _t(){if(!(jn||typeof window=="undefined"||typeof history=="undefined")){jn=!0;try{let e=t=>{let n=history[t];history[t]=function(r,o,l){let i=n.call(this,r,o,l!=null?l:null);return Gn(),i}};e("pushState"),e("replaceState"),window.addEventListener("popstate",Gn)}catch(e){}}}function ct(e){let t={};for(let[n,r]of Object.entries(e.slots))try{t[n]=r.target?document.querySelectorAll(r.target).length:1}catch(o){t[n]=0}return t}function Zn(e){return new URLSearchParams(e).get("sentient_editor")}function To(){try{let e=Array.from(document.getElementsByTagName("script")),t=/(^|\/)snippet(\.global)?\.js(\?|$)/,n=e.find(r=>t.test(r.src));if(n!=null&&n.src)return n.src.replace(t,"$1editor.global.js$3")}catch(e){}return null}function Ro(e,t){var n,r,o,l;try{window.__sentientEditor={token:t,apiBase:(n=e.apiBase)!=null?n:"https://api.sentient-ui.com"};try{let c=document.createElement("meta");c.name="referrer",c.content="no-referrer",c.setAttribute("data-sentient-editor",""),((r=document.head)!=null?r:document.documentElement).appendChild(c)}catch(c){}let i=(o=e.editorSrc)!=null?o:To();if(!i){zn();return}let s=document.createElement("script");s.src=i,s.async=!0,s.onerror=()=>zn(),((l=document.head)!=null?l:document.documentElement).appendChild(s)}catch(i){}}var Un="sentient-editor-load-notice",Qn={position:"fixed",bottom:"16px",zIndex:"2147483647",background:"#111827",color:"#fff",boxShadow:"0 10px 34px rgba(0,0,0,0.45)"};function zn(){var e,t;try{if(typeof document=="undefined"||document.getElementById(Un))return;(e=document.querySelector('meta[name="referrer"][data-sentient-editor]'))==null||e.remove();let n=document.createElement("div");n.id=Un,n.textContent="Couldn\u2019t load the editor \u2014 check your connection and reopen it from your dashboard.",Object.assign(n.style,Qn,{right:"16px",maxWidth:"320px",padding:"14px 16px",borderRadius:"14px",font:"13px/1.45 system-ui, sans-serif",border:"1px solid rgba(245,158,11,0.6)",cursor:"pointer"}),n.addEventListener("click",()=>n.remove()),((t=document.body)!=null?t:document.documentElement).appendChild(n),setTimeout(()=>n.remove(),1e4)}catch(n){}}function er(e){let t=new URLSearchParams(e).get("sentient_preview");if(!t)return null;let n={};for(let r of t.split("|")){let o=r.indexOf(":"),l=o===-1?"":r.slice(0,o),i=o===-1?"":r.slice(o+1);if(!(!l||!i))if(i.includes("=")){let s={};for(let c of i.split(",")){let[u,a]=c.split("=");u&&a&&(s[u]=a)}Object.keys(s).length&&(n[l]=s)}else n[l]=i}return Object.keys(n).length?n:null}function tr(e){try{return new URLSearchParams(e).get("sentient_persona")||null}catch(t){return null}}var qn="sentient-persona-preview-banner";function Fn(e,t){var n;try{if(typeof document=="undefined"||document.getElementById(qn))return;let r=e.charAt(0).toUpperCase()+e.slice(1).replace(/[_-]+/g," "),o=document.createElement("div");o.id=qn,o.setAttribute("role","status"),Object.assign(o.style,Qn,{left:"50%",transform:"translateX(-50%)",display:"flex",alignItems:"center",gap:"12px",padding:"10px 14px",borderRadius:"999px",font:"13px/1 system-ui, sans-serif",border:"1px solid rgba(255,255,255,0.14)"});let l=document.createElement("span");l.textContent=t?`\u201C${e}\u201D isn\u2019t in your personas \u2014 showing the default experience`:`Previewing as ${r}`;let i=document.createElement("button");i.type="button",i.textContent="Exit preview",Object.assign(i.style,{cursor:"pointer",border:"1px solid rgba(255,255,255,0.3)",background:"transparent",color:"#fff",font:"inherit",padding:"4px 10px",borderRadius:"999px"}),i.addEventListener("click",()=>{try{let s=new URL(window.location.href);s.searchParams.delete("sentient_persona"),window.location.href=s.pathname+s.search+s.hash}catch(s){}}),o.appendChild(l),o.appendChild(i),((n=document.body)!=null?n:document.documentElement).appendChild(o)}catch(r){}}async function Po(e,t){var u,a,d,g,m,p,f,A,C,L;let n=(u=e.apiBase)!=null?u:"https://api.sentient-ui.com",o=((a=e.registry)!=null?a:Object.keys(e.slots).length===0)?{persona:t,slotsFrom:"registry"}:{persona:t,slots:Object.entries(e.slots).map(([y,w])=>({id:y,dims:w.dims}))},l=await Vn(fetch(`${n}/v1/explain`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e.apiKey}`},body:JSON.stringify(o)}).then(y=>y.ok?y.json():null).catch(()=>null),Hn);if(!l){Ue(e),xe(e,"persona preview: explain unavailable \u2014 page left as-is");return}let i=l;de=(d=i.slots)!=null?d:{},ye=(g=i.slotConfig)!=null?g:null,je(i.palette);let s=(f=(p=(m=i.personaAttributes)==null?void 0:m.persona)!=null?p:i.persona)!=null?f:t,c=(C=(A=i.personaAttributes)==null?void 0:A.confidence)!=null?C:"high";$={persona:s,band:c},_e(document),Ce=!0,_t(),Ue(e),i.recognized===!1?Fn(t,!0):Fn((L=i.personaDisplay)!=null?L:s)}function Ue(e){let t={goal(n,r){try{P==null||P.goal(n,r)}catch(o){}},componentGoal(n,r){try{P==null||P.componentGoal(n,r)}catch(o){}},grantConsent(){try{!P&&ke?(P=Ne({apiKey:e.apiKey,context:e.context,consent:!0,preConsentBehavior:e.preConsentBehavior,debug:e.debug,persona:e.persona,ingestUrl:Xn(e)}),he&&he.length>0&&(G==null||G.teardown(),G=at(he,P,document,e.apiKey))):(bt(e.apiKey),P&&he&&he.length>0&&(G==null||G.teardown(),G=at(he,P,document,e.apiKey))),ke=!1}catch(n){}Ge=!0;try{Lo()}catch(n){}},revokeConsent(){try{ae==null||ae(),ae=null,ut=null,z==null||z(),z=null,G==null||G.teardown(),G=null,Bn(typeof window!="undefined"?window:null,e.apiKey),Ge=!1,ke=!0,P==null||P.destroy(),P=null}catch(n){}},reapply:Ot,getState(){var n,r;try{return{apiKey:e.apiKey,persona:(n=$==null?void 0:$.persona)!=null?n:null,band:(r=$==null?void 0:$.band)!=null?r:null,slots:de,matchCounts:ct(e),consent:!ke&&(e.consent!==!1||Ge)}}catch(o){return{apiKey:e.apiKey,persona:null,band:null,slots:{},matchCounts:{},consent:!1}}}};window.SentientSnippet=t;for(let n of Jn.splice(0))try{n[0]==="goal"&&t.goal(n[1],n[2])}catch(r){}}function Wn(){var e;try{if(typeof window=="undefined")return;let t=window;if(typeof((e=t.SentientSnippet)==null?void 0:e.goal)=="function")return;let n=()=>{};t.SentientSnippet={goal:n,componentGoal:n,grantConsent:n,revokeConsent:n,reapply:n,getState:()=>({apiKey:"",persona:null,band:null,slots:{},matchCounts:{},consent:!1})},Jn.length=0}catch(t){}}async function nr(){var e;try{let t=Ze(window.sentient);if(!t){Wn();return}H=t,Ce=!1,Ae=null,je(null),Ge=!1,ke=!1,he=null;let n=typeof window!="undefined"?Zn(window.location.search):null;if(n){Kn(n);try{let f=new URL(window.location.href);f.searchParams.delete("sentient_editor"),window.history.replaceState(null,"",f.pathname+f.search+f.hash)}catch(f){}}let r=n!=null?n:$n();if(r){Ro(t,r),Ue(t),xe(t,"editor mode");return}let o=typeof window!="undefined"?er(window.location.search):null;if(o){de=o,$=null,_e(document),_t(),Ue(t),xe(t,"preview mode",o);return}let l=typeof window!="undefined"?tr(window.location.search):null;if(l){await Po(t,l),xe(t,"persona preview",l);return}let i=(e=t.registry)!=null?e:Object.keys(t.slots).length===0,s=De(t.apiKey);s&&($={persona:s.persona,band:s.band},de=s.slots,s.slotConfig&&(ye=s.slotConfig),s.palette&&je(s.palette),_e(document,{contentAndOps:!1}),s.layoutOrder&&(Ae=s.layoutOrder,Ct(Ae,document)));let c=Ne({apiKey:t.apiKey,context:t.context,consent:t.consent,preConsentBehavior:t.preConsentBehavior,debug:t.debug,persona:t.persona,ingestUrl:Xn(t)});P=c,Ue(t),_t();let u=Object.entries(t.slots).map(([f,A])=>({id:f,dims:A.dims})),a=Et!=="0.0.0-dev"?{v:Et}:{},d=Array.from(Yn(document).keys()),g=c.decide(ne(ne(ne({slots:u},a),d.length>=2?{sections:d}:{}),i?{slotsFrom:"registry"}:{})),m=await Vn(g,Hn),p=f=>{var L,y,w,I,N,x;let A=c.getPersona();A?$={persona:A.persona,band:A.band}:f.persona&&($={persona:f.persona,band:"low"}),de=f.slots,i?ye=(L=f.slotConfig)!=null?L:null:f.slotConfig&&(ye=f.slotConfig),f.palette&&je(f.palette),Ae=(y=f.layoutOrder)!=null?y:Ae;let C=()=>{let D=[];if(Oo(t,_e(document,{onApplied:(K,j,Z)=>D.push({slotId:K,arm:j,el:Z})})),Ct(Ae,document),Ce=!0,Ie())try{z==null||z(),z=st(P,t.apiKey,D)}catch(K){}};if(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",C,{once:!0}):C(),he=(w=f.goals)!=null?w:null,f.goals&&f.goals.length>0&&t.consent!==!1&&P)try{G==null||G.teardown(),G=at(f.goals,P,document,t.apiKey)}catch(D){}lt=(I=f.sectionMap)!=null?I:null,Ie()&&It(),xe(t,"applied",{persona:$,slots:de,matches:ct(t)}),!ke&&Me(t.apiKey,ne(ne({v:1,persona:(N=$==null?void 0:$.persona)!=null?N:f.persona,band:(x=$==null?void 0:$.band)!=null?x:"low",slots:f.slots,layoutOrder:f.layoutOrder,savedAt:Date.now()},ye?{slotConfig:ye}:{}),f.palette?{palette:f.palette}:{}))};if(!m){xe(t,"decide timeout/null \u2014 snapshot state stands",ct(t)),g.then(f=>{!f||Ce||ke||P!==c||(p(f),xe(t,"late decide applied",ct(t)))}).catch(()=>{});return}p(m)}catch(t){Wn()}}if(typeof window!="undefined"&&window.sentient){let e=window;e.__sentientInitialized||(e.__sentientInitialized=!0,Promise.resolve().then(()=>{nr()}))}return ar(Do);})();
1
+ "use strict";var SentientSnippet=(()=>{var Fe=Object.defineProperty;var or=Object.getOwnPropertyDescriptor;var ir=Object.getOwnPropertyNames,Pt=Object.getOwnPropertySymbols;var Mt=Object.prototype.hasOwnProperty,sr=Object.prototype.propertyIsEnumerable;var Dt=(e,t,n)=>t in e?Fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Q=(e,t)=>{for(var n in t||(t={}))Mt.call(t,n)&&Dt(e,n,t[n]);if(Pt)for(var n of Pt(t))sr.call(t,n)&&Dt(e,n,t[n]);return e};var Bt=(e,t)=>()=>(e&&(t=e(e=0)),t);var Nt=(e,t)=>{for(var n in t)Fe(e,n,{get:t[n],enumerable:!0})},ar=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ir(t))!Mt.call(e,o)&&o!==n&&Fe(e,o,{get:()=>t[o],enumerable:!(r=or(t,o))||r.enumerable});return e};var lr=e=>ar(Fe({},"__esModule",{value:!0}),e);var cr,ur,dr,$t,fr,pr,Kt,_,be,Te=Bt(()=>{"use strict";cr=Object.defineProperty,ur=Object.defineProperties,dr=Object.getOwnPropertyDescriptors,$t=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,pr=Object.prototype.propertyIsEnumerable,Kt=(e,t,n)=>t in e?cr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_=(e,t)=>{for(var n in t||(t={}))fr.call(t,n)&&Kt(e,n,t[n]);if($t)for(var n of $t(t))pr.call(t,n)&&Kt(e,n,t[n]);return e},be=(e,t)=>ur(e,dr(t))});var Xt={};Nt(Xt,{LOCAL_ENGINE_AVAILABLE:()=>wr,createLocalEngine:()=>Sr});function Sr(e){throw new Error("[sentient] createLocalEngine is not available in production builds. The local engine only exists under the `development` export condition.")}var wr,Zt=Bt(()=>{"use strict";wr=!1});var Mo={};Nt(Mo,{applyPersonaAttributes:()=>rt,applyRegistrySlots:()=>st,applySlotArms:()=>it,applySlotAttributes:()=>ot,parseEditorToken:()=>Qn,parsePersonaPreview:()=>nr,parsePreview:()=>tr,parseSnippetConfig:()=>Qe,reapply:()=>Lt,run:()=>rr,version:()=>ze});Te();var gr=["buyer","researcher","deal_seeker","browser"];var mr={buyer:"Buyer",researcher:"Researcher",deal_seeker:"Deal seeker",browser:"Browser",unknown:"Unknown"};function We(e){return Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join("|")}function jt(e){if(e.length===0)return null;let t={};for(let n of e.split("|")){let r=n.indexOf("=");if(r<=0||r!==n.lastIndexOf("=")||r===n.length-1)return null;let o=n.slice(0,r);if(o in t)return null;t[o]=n.slice(r+1)}return t}function pt(e){var t,n,r;if(e.arms)return typeof e.baseline=="string"?e.baseline:(t=e.arms[0])!=null?t:"";if(e.baseline!==void 0&&typeof e.baseline=="object")return We(e.baseline);if(typeof e.baseline=="string")return e.baseline;let o={};for(let[l,i]of Object.entries((n=e.dims)!=null?n:{}))o[l]=(r=i[0])!=null?r:"";return We(o)}function Gt(e,t){var n,r;return e.dims!=null?(r=(n=jt(t))!=null?n:jt(pt(e)))!=null?r:{}:t}function Ut(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=t+((t<<1)+(t<<4)+(t<<7)+(t<<8)+(t<<24))>>>0;return t}function we(e){return e>=.3?e<.7?"medium":"high":"low"}var $o=gr.map(e=>({key:e,displayName:mr[e]}));function He(e){return e?`_${e.slice(0,12)}`:""}var hr="_snt_uid";function zt(e){return`${hr}${He(e)}`}var yr=["GPTBot","ChatGPT-User","OAI-SearchBot","ClaudeBot","Claude-User","Claude-SearchBot","PerplexityBot","Perplexity-User","Google-Extended","Applebot-Extended","Meta-ExternalAgent","Bytespider","CCBot","Amazonbot","cohere-ai","Diffbot"];function qt(e){return vr(e)!==null}function vr(e){var t;if(!e)return null;let n=e.toLowerCase();return(t=yr.find(r=>n.includes(r.toLowerCase())))!=null?t:null}function Ft(e){let t=e.toLowerCase();return/ipad|tablet|playbook|kindle|silk/.test(t)?"tablet":/mobi|iphone|ipod|android.*mobile|phone/.test(t)?"mobile":"desktop"}function Wt(e,t){if(!e)return"direct";try{let n=new URL(e);if(t)try{if(new URL(t).host===n.host)return"direct"}catch(o){}let r=n.hostname.toLowerCase();return/(^|\.)(google|bing|duckduckgo|yahoo)\./.test(r)?"search":/(^|\.)(twitter\.com|x\.com|facebook\.com|linkedin\.com|reddit\.com|t\.co)$/.test(r)?"social":"referral"}catch(n){return"direct"}}function Ht(e){if(!e)return null;try{return new URL(e).hostname}catch(t){return null}}var br=["gclid","gbraid","wbraid","fbclid","ttclid","msclkid","twclid","li_fat_id"];function Vt(e){let t={},n={};try{let r=typeof e=="string"||e instanceof URLSearchParams?new URLSearchParams(e):Object.entries(e).flatMap(([o,l])=>{let i=Array.isArray(l)?l[0]:l;return i===void 0?[]:[[o,i]]});for(let[o,l]of r)o.startsWith("utm_")?o in t||(t[o]=l):br.includes(o)&&(o in n||(n[o]=l))}catch(r){}return{utmParams:t,clickIds:n}}function Jt(e){let t=e.getHours();return t<6?"night":t<12?"morning":t<18?"afternoon":"evening"}function gt(e){return _(_(_({id:e.id},e.arms?{arms:[...e.arms]}:{}),e.dims?{dims:Object.fromEntries(Object.entries(e.dims).map(([t,n])=>[t,[...n]]))}:{}),e.baseline!==void 0?{baseline:e.baseline}:{})}function mt(e){let t=gt(e);return Gt(t,pt(t))}function Yt(e){return typeof e=="string"?e:We(e)}Te();function rn(){try{if(typeof crypto!="undefined"&&typeof crypto.randomUUID=="function")return crypto.randomUUID()}catch(e){}try{if(typeof crypto!="undefined"&&typeof crypto.getRandomValues=="function"){let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t="";for(let n=0;n<16;n++)t+=e[n].toString(16).padStart(2,"0"),(n===3||n===5||n===7||n===9)&&(t+="-");return t}}catch(e){}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Ar="_snt_uid",xr=365,Ve="_snt_uid";function kr(){return rn()}function Qt(e){try{let t=document.cookie.match(new RegExp(`(?:^|; )${e}=([^;]*)`));return t?decodeURIComponent(t[1]):null}catch(t){return null}}function Er(e,t,n){try{document.cookie=`${e}=${encodeURIComponent(t)}; max-age=${n}; SameSite=strict; path=/`}catch(r){}}function ht(e){try{return localStorage.getItem(e)}catch(t){return null}}function en(e,t){try{return localStorage.setItem(e,t),!0}catch(n){return!1}}function tn(e){try{return sessionStorage.getItem(e)}catch(t){return null}}function Cr(e,t){try{return sessionStorage.setItem(e,t),!0}catch(n){return!1}}function _r(e){try{sessionStorage.removeItem(e)}catch(t){}}function Ir(e){try{return document.cookie=`${e}_probe=1; max-age=1; SameSite=strict; path=/`,document.cookie.indexOf(`${e}_probe=1`)!==-1}catch(t){return!1}}function Or(e){try{localStorage.removeItem(e)}catch(t){}}function Lr(e){try{document.cookie=`${e}=; max-age=0; SameSite=strict; path=/`}catch(t){}}var Tr={getSessionId:()=>null,isEphemeral:()=>!1,destroy:()=>{}};function on(e){var t,n,r,o,l,i,s;if(typeof window=="undefined")return Tr;let c=He(e==null?void 0:e.apiKey),u=(t=e==null?void 0:e.cookieName)!=null?t:zt(e==null?void 0:e.apiKey),a=`${Ve}${c}`,d=`${Ve}_tomb${c}`,g=((n=e==null?void 0:e.cookieTTLDays)!=null?n:xr)*24*60*60,m=w=>w&&w.length>0?w:null,p=()=>{var w,I;return c&&!(e!=null&&e.cookieName)&&ht(d)===null?(I=(w=m(Qt(Ar)))!=null?w:m(ht(Ve)))!=null?I:m(tn(Ve)):null},f=(s=(i=(l=(o=(r=m(Qt(u)))!=null?r:m(ht(a)))!=null?o:m(tn(a)))!=null?l:p())!=null?i:m(e==null?void 0:e.ssrSessionId))!=null?s:kr();Er(u,f,g);let A=en(a,f),C=Ir(u),L=A?!1:Cr(a,f),y=!A&&!C&&!L;return{getSessionId:()=>f,isEphemeral:()=>y,destroy:()=>{f=null,Lr(u),Or(a),_r(a),c&&!(e!=null&&e.cookieName)&&en(d,"1")}}}function Pe(e){return Math.min(6e4,1e3*2**Math.min(e,6))}function wt(e){if(e.ok===!0)return"delivered";let{status:t}=e;return typeof t!="number"?"retry":t>=200&&t<300?"delivered":t>=400&&t<500&&t!==429?"dropped":"retry"}function sn(e,t){try{let n=localStorage.getItem(e);if(!n)return[];let r=JSON.parse(n);return Array.isArray(r)?(localStorage.removeItem(e),r.slice(-t)):[]}catch(n){return[]}}function Ee(e,t,n){try{let r=(()=>{try{let l=localStorage.getItem(n);if(!l)return[];let i=JSON.parse(l);return Array.isArray(i)?i:[]}catch(l){return[]}})(),o=new Map;for(let l of r)o.set(l.id,l);for(let l of e)o.set(l.id,l);localStorage.setItem(n,JSON.stringify([...o.values()].slice(-t)))}catch(r){}}function an(e,t){try{let n=localStorage.getItem(t);if(!n)return;let r=JSON.parse(n);if(!Array.isArray(r))return;let o=new Set(e),l=r.filter(i=>!o.has(i.id));if(l.length===r.length)return;l.length===0?localStorage.removeItem(t):localStorage.setItem(t,JSON.stringify(l))}catch(n){}}var Rr=500,Pr=56*1024;function ln(e){return`_snt_retry_${e.slice(0,12)}`}var Dr={push:()=>{},flush:()=>{},destroy:()=>{}};function Mr(e){var t,n,r;if(typeof window=="undefined")return Dr;let o=(t=e.flushIntervalMs)!=null?t:5e3,l=(n=e.maxBatchSize)!=null?n:20,i=(r=e.maxRetrySize)!=null?r:100,s=e.ingestUrl,c=e.apiKey,u=ln(c),a=[],d=new Set,g=[],m=v=>{for(let b of v)p.delete(b),!d.has(b)&&(d.add(b),g.push(b));for(;g.length>Rr;){let b=g.shift();b&&d.delete(b)}an(v,u)},p=new Set,f=()=>{for(;a.length>i;){let v=a.shift();v&&p.delete(v.id)}},A=v=>{d.has(v.id)||p.has(v.id)||(p.add(v.id),a.push(v),f())},C=v=>{for(let b of v)d.has(b.id)||(p.add(b.id),a.push(b));f()},L=sn(u,i);for(let v of L)A(v);let y=0,w=0,I=(v,b=!0)=>{if(v.length===0)return;let k=JSON.stringify(v),O=v.map(V=>V.id),E;try{E=fetch(s,{method:"POST",keepalive:!0,body:k,headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`}})}catch(V){Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w);return}let oe=V=>{if(wt(V)!=="retry"){if(!V.ok&&b){let te=v.filter(ne=>ne.eventType!=="pageview");if(te.length>0&&te.length<v.length){m(v.filter(ne=>ne.eventType==="pageview").map(ne=>ne.id)),I(te,!1);return}}m(O),w=0,y=0;return}Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w)};E instanceof Promise?E.then(oe).catch(()=>{Ee(v,i,u),C(v),w++,y=Date.now()+Pe(w)}):oe(E)},N=typeof TextEncoder!="undefined"?new TextEncoder:null,x=v=>N?N.encode(v).length:v.length,D=v=>{let b=[],k=2;for(let O of v){let E=x(JSON.stringify(O))+1;if(b.length>0&&k+E>Pr||b.length>=l)break;b.push(O),k+=E}return b},K=()=>{try{if(Date.now()<y)return;for(;a.length>0&&!(Date.now()<y);){let v=a.filter(k=>!d.has(k.id));if(a.length=0,v.length===0)break;let b=D(v);if(b.length===0)break;b.length<v.length&&a.push(...v.slice(b.length)),I(b)}}catch(v){}},j=!0,Z=null;Z=setInterval(()=>{j&&K()},o);let q=()=>{document.visibilityState==="hidden"&&K()},U=()=>{K()};return document.addEventListener("visibilitychange",q),window.addEventListener("pagehide",U),{push(v){A(v),a.length>=l&&K()},flush:K,destroy(){j=!1,Z!==null&&(clearInterval(Z),Z=null),document.removeEventListener("visibilitychange",q),window.removeEventListener("pagehide",U),K()}}}var Br=200;function cn(e){return`_snt_goal_retry_${e.slice(0,12)}`}var Nr={send:()=>{},flush:()=>{},destroy:()=>{}};function $r(e){var t,n,r;if(typeof window=="undefined")return Nr;let o=(t=e.flushIntervalMs)!=null?t:5e3,l=(n=e.maxRetrySize)!=null?n:100,i=(r=e.maxPerFlush)!=null?r:5,s=cn(e.apiKey),c=[],u=new Set,a=new Set,d=[],g=0,m=0,p=!1,f=x=>{for(u.delete(x.id),a.has(x.id)||(a.add(x.id),d.push(x.id));d.length>Br;){let D=d.shift();D&&a.delete(D)}an([x.id],s)},A=x=>{Ee([x],l,s),!a.has(x.id)&&!u.has(x.id)&&(u.add(x.id),c.push(x)),Date.now()>=g&&(m++,g=Date.now()+Pe(m))},C=x=>{let D;try{D=fetch(e.url,{method:"POST",keepalive:!0,body:x.body,headers:e.headers})}catch(j){A(x);return}let K=j=>{var Z;let q=wt(j);if(q==="retry"){A(x);return}q==="dropped"&&((Z=e.onDrop)==null||Z.call(e,x,j.status)),f(x),m=0,g=0};D instanceof Promise?D.then(K).catch(()=>A(x)):K(D)},L=()=>{try{if(p||Date.now()<g)return;let x=0;for(;c.length>0&&x<i&&!(Date.now()<g);){let D=c.shift();u.delete(D.id),!a.has(D.id)&&(x++,C(D))}}catch(x){}},y=sn(s,l);for(let x of y)u.has(x.id)||(u.add(x.id),c.push(x));y.length>0&&Ee(y,l,s);let w=setInterval(L,o),I=()=>{document.visibilityState==="hidden"&&L()},N=()=>L();return document.addEventListener("visibilitychange",I),window.addEventListener("pagehide",N),{send(x){if(!p&&!(a.has(x.id)||u.has(x.id))){if(Date.now()<g){Ee([x],l,s),u.add(x.id),c.push(x);return}C(x)}},flush:L,destroy(){clearInterval(w),document.removeEventListener("visibilitychange",I),window.removeEventListener("pagehide",N),L(),p=!0}}}var Kr=1800*1e3;function Je(e,t){return`${encodeURIComponent(e)}:${encodeURIComponent(t)}`}function jr(e=Kr,t){let n=new Map,r=`_snt_asgn${He(t)}_`,o=(c,u)=>`${r}${encodeURIComponent(c)}:${encodeURIComponent(u)}`,l=c=>{let u=c.slice(r.length),a=u.indexOf(":");if(a<0)return null;try{return{componentId:decodeURIComponent(u.slice(0,a)),segment:decodeURIComponent(u.slice(a+1))}}catch(d){return null}},i=()=>{try{let c=[];for(let u=0;u<localStorage.length;u++){let a=localStorage.key(u);a!=null&&a.startsWith(r)&&c.push(a)}return c}catch(c){return[]}},s=c=>c.assignedAt+(c.ttlMs&&c.ttlMs>0?c.ttlMs:e)<Date.now();return typeof window!="undefined"&&(()=>{for(let c of i())try{let u=localStorage.getItem(c);if(!u)continue;let a=JSON.parse(u);if(s(a)){localStorage.removeItem(c);continue}let d=l(c);if(!d)continue;n.set(Je(d.componentId,d.segment),a)}catch(u){}})(),{get(c,u){let a=n.get(Je(c,u));return a?s(a)?(n.delete(Je(c,u)),null):a:null},set(c,u,a){let d=Je(c,u);n.set(d,a);try{localStorage.setItem(o(c,u),JSON.stringify(a))}catch(g){}},clear(){n.clear();for(let c of i())try{localStorage.removeItem(c)}catch(u){}}}}var Ze="_snt_snap:",Gr=["low","medium","high"];function De(e){try{let t=localStorage.getItem(Ze+e);if(!t)return null;let n=JSON.parse(t);return!n||typeof n!="object"||n.v!==1||typeof n.persona!="string"||typeof n.band!="string"||!Gr.includes(n.band)||typeof n.slots!="object"||n.slots===null||Array.isArray(n.slots)||!(n.layoutOrder===null||Array.isArray(n.layoutOrder))||typeof n.savedAt!="number"||!(n.slotConfig===void 0||typeof n.slotConfig=="object"&&n.slotConfig!==null&&!Array.isArray(n.slotConfig))?null:n}catch(t){return null}}function Me(e,t){try{localStorage.setItem(Ze+e,JSON.stringify(t))}catch(n){}}var vt="[sentient] No API key configured \u2014 nothing is being learned. Set NEXT_PUBLIC_SENTIENT_API_KEY or pass localMode: true for local development.",un="[sentient] Local mode \u2014 decisions are simulated on-device and nothing is sent over the network. Add an API key to learn from real traffic.",nn=!1,Ye=!1;function Ur(){var e;try{return(e=new URLSearchParams(window.location.search).get("sentient_persona"))!=null?e:void 0}catch(t){return}}function zr(e){var t;let n=on({ssrSessionId:e.ssrSessionId,apiKey:e.apiKey}),r=(t=n.getSessionId())!=null?t:"local",o=Ur(),l=Promise.resolve().then(()=>(Zt(),Xt)).then(a=>{let d=a;return d.LOCAL_ENGINE_AVAILABLE?(nn||(nn=!0,console.info(un)),d):(Ye||(Ye=!0,console.error(vt)),null)}).catch(()=>(Ye||(Ye=!0,console.error(vt)),null)),i=null,s={low:.15,medium:.5,high:.85},c=(()=>{var a;if(e.initialPersona)return _({},e.initialPersona);let d=De(e.apiKey||"local");return d?{persona:d.persona,confidence:(a=s[d.band])!=null?a:.15}:null})();function u(a){let d=document.documentElement;d.dataset.sentientPersona===void 0&&(d.dataset.sentientPersona=a.persona,d.dataset.sentientConfidence=we(a.confidence))}return{isLocal:!0,async decide(a){var d,g,m;let p=await l;if(!p)return null;let f=p.createLocalEngine({sessionId:r,forcedPersona:o}).decide(a);return i=be(_({},f),{layoutOrder:(g=(d=f.layoutOrder)!=null?d:i==null?void 0:i.layoutOrder)!=null?g:null,slots:_(_({},(m=i==null?void 0:i.slots)!=null?m:{}),f.slots)}),Me(e.apiKey||"local",{v:1,persona:i.persona,band:we(i.confidence),slots:i.slots,layoutOrder:i.layoutOrder,savedAt:Date.now()}),u(f),f},getSlotResult(a){var d,g,m;return(m=(g=i==null?void 0:i.slots[a])!=null?g:(d=e.initialSlots)==null?void 0:d[a])!=null?m:null},getPersona(){let a=i!=null?i:c;return a?{persona:a.persona,confidence:a.confidence,band:we(a.confidence)}:null},async assign(a,d){var g;let m=await l;return!m||!d||d.length===0?d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null:{variantId:(g=m.createLocalEngine({sessionId:r,forcedPersona:o}).decide({components:[{id:a,variantIds:d}]}).assignments[a])!=null?g:d[0],assignmentTtlMs:0}},track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,fetchWeights:()=>Promise.resolve([]),getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>n.destroy()}}function Be(e,t,n,r){let o=[];{let l=!1,i=[],s=()=>{if(l)return;let c=Date.now();for(i.push(c);i.length>0&&c-i[0]>500;)i.shift();i.length>=3&&(l=!0,e("rage_click"))};t.addEventListener("click",s),o.push(()=>t.removeEventListener("click",s))}{let l=!1,i=s=>{if(l||!(s.target instanceof Node)||!t.contains(s.target)&&t!==s.target)return;l=!0;let c=typeof window!="undefined"?window.getSelection():null,u=c?c.toString().length:0;e("text_copy",{selectionLength:u})};document.addEventListener("copy",i),o.push(()=>document.removeEventListener("copy",i))}{let l=!1,i=!1,s=null,c=()=>{s!==null&&(clearTimeout(s),s=null)},u=()=>{l||!i||(c(),s=setTimeout(()=>{!l&&i&&(l=!0,e("scroll_hesitation"))},3e3))},a=()=>{c(),u()},d=m=>{for(let p of m)i=p.intersectionRatio>.3,i?u():c()},g=new IntersectionObserver(d,{threshold:[.3]});g.observe(t),window.addEventListener("scroll",a,{passive:!0}),o.push(()=>{g.disconnect(),window.removeEventListener("scroll",a),c()})}if((r==null?void 0:r.tabLoss)!==!1){let l=!1,i=n!=null?n:Date.now(),s=()=>{if(l||document.visibilityState!=="hidden")return;let c=Date.now()-i;c<15e3&&(l=!0,e("tab_loss",{timeOnPage:c}))};document.addEventListener("visibilitychange",s),o.push(()=>document.removeEventListener("visibilitychange",s))}return()=>{for(let l of o)l()}}var dn="https://api.sentient-ui.com/v1/events",re=new Map,fn=null;function qr(e){return"value"in e||"currency"in e||"externalId"in e||"metadata"in e||"weight"in e||"stepIndex"in e}var Fr=3;function yt(){return rn()}function Xe(){var e;if(typeof window!="undefined")return((e=window.location)==null?void 0:e.pathname)||void 0}function Wr(){let e=new WeakMap,t=new Map,n=!1,r=(s,c,u)=>{let a=s.get(c);return u===null?a?!0:(s.set(c,new Set),!1):a?a.has(u)?!0:(a.add(u),!1):(s.set(c,new Set([u])),!1)},o=typeof window!="undefined"&&"event"in window,l=()=>{if(!o)return;let s=window.event;return typeof Event=="function"&&s instanceof Event?s:void 0},i=()=>{if(o){Promise.resolve().then(()=>{n=!1,t.clear()});return}let s=!1,c=()=>{s||(s=!0,n=!1,t.clear())};if(setTimeout(c,0),typeof MessageChannel=="function"){let u=new MessageChannel;u.port1.onmessage=()=>{u.port1.close(),u.port2.close(),c()},u.port2.postMessage(0)}};return{firedBefore(s,c){let u=l();if(u){let d=e.get(u);return d||(d=new Map,e.set(u,d)),r(d,s,c)}let a=r(t,s,c);return!a&&!n&&(n=!0,i()),a}}}var pn=new Set;function Hr(e,t,n){let r=typeof window=="undefined"?null:window.history;if(!r)return()=>{};let o=!1,l,i=()=>{if(o)return;let u=Xe();!u||u===l||(l=u,e.track({projectId:t,componentId:"__page__",eventType:"pageview",payload:{}}),n(`${t}:${u}`))},s=[];for(let u of["pushState","replaceState"]){let a=r[u],d=function(...g){let m=a.apply(this,g);return i(),m};r[u]=d,s.push([u,a,d])}window.addEventListener("popstate",i);let c=Xe();return c&&pn.has(`${t}:${c}`)?l=c:i(),()=>{if(!o){o=!0,window.removeEventListener("popstate",i);for(let[u,a,d]of s)r[u]===d&&(r[u]=a)}}}var Re={track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,assign:()=>Promise.resolve(null),decide:()=>Promise.resolve(null),getSlotResult:()=>null,getPersona:()=>null,fetchWeights:()=>Promise.resolve([]),getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>{}};function Vr(){try{return Vt(window.location.search)}catch(e){return{utmParams:{},clickIds:{}}}}function gn(e){return e.replace(/\/events\/?$/,"")}function Se(){return typeof navigator!="undefined"&&navigator.globalPrivacyControl===!0?!0:[typeof navigator!="undefined"?navigator.doNotTrack:void 0,typeof window!="undefined"?window.doNotTrack:void 0,typeof navigator!="undefined"?navigator.msDoNotTrack:void 0].some(e=>e==="1"||e==="yes")}function St(e){var t;if(typeof window=="undefined")return;let n=e!=null?e:fn;if(!n){console.warn("[sentient] grantConsent() called before init()");return}let r=re.get(n);if(!r){console.warn("[sentient] grantConsent() called before init()");return}let{config:o,upgrade:l,reinit:i}=r;if(!l){r.upgradeBlockedReason&&console.warn(r.upgradeBlockedReason);return}if(o.respectDoNotTrack!==!1&&Se())return;let s=(i!=null?i:Ne)(be(_({},o),{consent:!0}));l(s);let c=(t=re.get(n))==null?void 0:t.dispose;re.set(n,{config:be(_({},o),{consent:!0}),upgrade:null,dispose:c})}function Jr(e){var t;let n=e.preConsentBehavior==="statistical_winner",r=gn((t=e.ingestUrl)!=null?t:dn),o={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`},l=new Map,i=new Map,s={track:()=>{},goal:()=>{},componentGoal:()=>{},identify:()=>{},getAssignment:()=>null,fetchWeights:()=>Promise.resolve([]),assign(a,d,g){if(!n)return Promise.resolve(null);let m=l.get(a);return m?Promise.resolve(m):bt(i,a,async()=>{try{let p=new URLSearchParams({componentId:a});for(let C of d!=null?d:[])p.append("variantIds[]",C);let f=await fetch(`${r}/winner?${p.toString()}`,{headers:o});if(!f.ok)return d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null;let A={variantId:(await f.json()).variantId,assignmentTtlMs:0};return l.set(a,A),A}catch(p){return d!=null&&d[0]?{variantId:d[0],assignmentTtlMs:0}:null}})},decide:()=>Promise.resolve(null),getSlotResult:()=>null,getPersona:()=>null,getGraph:()=>({pageNodes:[],capturedAt:0}),dispose:()=>{},destroy:()=>{}},c={track:a=>s.track(a),goal:((a,d,g,m)=>s.goal(a,d,g,m)),componentGoal:(a,d,g)=>s.componentGoal(a,d,g),identify:a=>s.identify(a),getAssignment:(a,d)=>s.getAssignment(a,d),assign:(a,d,g,m)=>s.assign(a,d,g,m),decide:a=>s.decide(a),getSlotResult:a=>s.getSlotResult(a),getPersona:()=>s.getPersona(),fetchWeights:()=>s.fetchWeights(),getGraph:()=>s.getGraph(),dispose:()=>s.dispose(),destroy:()=>s.destroy()};function u(a){s=a}return{proxy:c,setInner:u}}function bt(e,t,n){let r=e.get(t);if(r)return r;let o=(async()=>{try{return await n()}finally{e.delete(t)}})();return e.set(t,o),o}function Ne(e){var t,n,r,o,l,i,s,c,u;if(typeof window=="undefined")return Re;fn=e.apiKey||"local";let a=re.get(e.apiKey||"local");if(a!=null&&a.dispose)try{a.dispose()}catch(h){}let d=e.respectDoNotTrack!==!1&&Se(),g=e.consent===!1||d,m=typeof e.apiKey=="string"&&e.apiKey.startsWith("pk_");if(e.localMode===!0||!m&&e.localMode!==!1)return re.set(e.apiKey||"local",{config:e,upgrade:null,upgradeBlockedReason:"[sentient] grantConsent(): this client is keyless/local \u2014 there is no hosted client to upgrade to. Configure a pk_ API key to enable tracking."}),g?Re:zr(e);if(g){if(!e.apiKey||!e.apiKey.startsWith("pk_"))return e.preConsentBehavior==="statistical_winner"&&console.warn("[sentient] init() called with an invalid apiKey \u2014 expected a pk_ public key. SDK disabled."),re.set(e.apiKey||"local",{config:e,upgrade:null,upgradeBlockedReason:"[sentient] grantConsent(): the client was initialized with an invalid apiKey (expected a pk_ public key) \u2014 consent cannot enable tracking."}),Re;let{proxy:h,setInner:S}=Jr(e);return re.set(e.apiKey,{config:e,upgrade:d?null:S}),h}if(!e.apiKey||!e.apiKey.startsWith("pk_"))return console.warn("[sentient] init() called with an invalid apiKey \u2014 expected a pk_ public key. SDK disabled."),Re;if(e.ingestUrl==="")return console.warn("[sentient] init() called with an empty ingestUrl. SDK disabled."),Re;let p=(t=e.ingestUrl)!=null?t:dn,f=Date.now(),A=on({ssrSessionId:e.ssrSessionId,apiKey:e.apiKey}),C=jr(void 0,e.apiKey),L=Mr({ingestUrl:p,apiKey:e.apiKey}),y=gn(p),w={"Content-Type":"application/json",Authorization:`Bearer ${e.apiKey}`},I=new Set,N=$r({url:`${y}/goals`,apiKey:e.apiKey,headers:w,onDrop:(h,S)=>{if(!e.debug){if(I.has(S))return;I.add(S)}console.warn(`[sentient] goal dropped (HTTP ${S}) \u2014 this will not be retried. `+(S===400?"The session was not found: call init() and let the session upsert complete before firing goals.":S===401||S===403?"Check the API key and that this origin is on the project allowlist.":"See the response status for the cause."),h)}}),x=Ft((n=navigator.userAgent)!=null?n:""),D=window.location.origin,K=Wt((r=document.referrer)!=null?r:"",D),j=(o=e.sessionSegment)!=null?o:`${x}:${K}`,Z=new Map,q=new Map,U=new Map,v=null,b=h=>{for(let S of h)U.has(S.id)||U.set(S.id,mt(S))};if(e.initialSlots)for(let[h,S]of Object.entries(e.initialSlots))U.set(h,S);let k=De(e.apiKey);if(k)for(let[h,S]of Object.entries(k.slots))U.has(h)||U.set(h,S);let O={low:.15,medium:.5,high:.85};if(e.initialPersona)v=_({},e.initialPersona);else{let h=document.documentElement.dataset;h.sentientPersona?v={persona:h.sentientPersona,confidence:(i=O[(l=h.sentientConfidence)!=null?l:"low"])!=null?i:.15}:k&&(v={persona:k.persona,confidence:(s=O[k.band])!=null?s:.15})}if(e.initialAssignments)for(let[h,S]of Object.entries(e.initialAssignments))C.set(h,j,{variantId:S,assignedAt:Date.now(),segment:j,confidence:1});let E=Promise.resolve(),oe=A.getSessionId();if(oe){let h=Ht((c=document.referrer)!=null?c:""),{utmParams:S,clickIds:M}=Vr(),ee=_(_(_(_({sessionId:oe,deviceClass:x,trafficSource:K,referrerDomain:h,utmParams:S,clickIds:M,timeOfDay:Jt(new Date),dayOfWeek:["sun","mon","tue","wed","thu","fri","sat"][new Date().getDay()],ephemeral:A.isEphemeral(),automation:typeof navigator!="undefined"&&navigator.webdriver===!0||qt((u=navigator.userAgent)!=null?u:"")},e.userId?{userId:e.userId}:{}),e.persona?{persona:e.persona}:{}),e.country?{country:e.country}:{}),e.sdk?{sdk:e.sdk.name,sdkVersion:e.sdk.version}:{}),F=async()=>{for(let T=0;;T++){try{let B=await fetch(`${y}/sessions`,{method:"POST",keepalive:!0,body:JSON.stringify(ee),headers:w});if(B.status===402){console.warn("[SentientUI] Session limit exceeded for this project. The bandit will stop learning until the limit resets. Upgrade at sentient-ui.com/pricing");return}if(B.ok||wt(B)==="dropped")return}catch(B){}if(T>=Fr){console.warn("[SentientUI] Could not register the session after retries. Conversions in this visit may not be recorded.");return}await new Promise(B=>setTimeout(B,Pe(T+1)))}};try{E=F()}catch(T){}}e.debug&&(console.log("[sentient] initialized",{context:e.context}),window.__sentient={client:null,queue:L});let V=Wr(),te=null,ne=!1,ie={goal(h,S={},M=1,ee=0){var F,T,B,J,Y,ve,fe;let Oe=A.getSessionId();if(!Oe)return;let X=qr(S)?S:{metadata:S},Le=[h,(F=X.externalId)!=null?F:"",(T=X.stepIndex)!=null?T:ee,(B=X.weight)!=null?B:M].join("\0"),R=X.value!==void 0?`${X.value}\0${(J=X.currency)!=null?J:""}`:null;if(V.firedBefore(Le,R)){e.debug&&console.log(`[sentient] goal("${h}") already recorded for this action \u2014 not sent twice`);return}let le=yt(),qe={sessionId:Oe,name:h,metadata:(Y=X.metadata)!=null?Y:{},weight:(ve=X.weight)!=null?ve:M,stepIndex:(fe=X.stepIndex)!=null?fe:ee,goalId:le,value:X.value,currency:X.currency,externalId:X.externalId};e.debug&&console.log("[sentient] goal",qe);let W={id:le,body:JSON.stringify(qe)};E.then(()=>N.send(W))},componentGoal(h,S,M){var ee,F,T;let B=A.getSessionId();if(!B)return;let J=C.get(h,j),Y=J?null:(ee=U.get(h))!=null?ee:null;if(!J&&Y===null){e.debug&&console.warn(`[sentient] componentGoal("${h}"): no assignment or slot decision yet \u2014 render its <Adaptive>/adaptive hook or call assign()/decide() before recording a goal.`);return}let ve=J?J.variantId:Yt(Y),fe={id:yt(),sessionId:B,projectId:e.apiKey,componentId:h,variantId:ve,eventType:"goal_achieved",goalType:S,payload:_({reward:(F=M==null?void 0:M.reward)!=null?F:1,goalValue:M==null?void 0:M.value,currency:M==null?void 0:M.currency},(T=M==null?void 0:M.metadata)!=null?T:{}),timestamp:Date.now(),timeInSession:Date.now()-f,path:Xe()};e.debug&&console.log("[sentient] componentGoal",fe),E.then(()=>L.push(fe))},identify(h){let S=A.getSessionId();S&&E.then(()=>{fetch(`${y}/sessions`,{method:"POST",keepalive:!0,body:JSON.stringify({sessionId:S,userId:h,ephemeral:A.isEphemeral()}),headers:w}).catch(()=>{})})},track(h){let S=A.getSessionId();if(!S)return;let M=be(_({path:Xe()},h),{id:yt(),sessionId:S,timestamp:Date.now(),timeInSession:Date.now()-f});e.debug&&console.log("[sentient] track",M),E.then(()=>L.push(M))},getAssignment(h,S){return C.get(h,S)},async assign(h,S,M,ee){let F=A.getSessionId();if(!F)return null;let T=C.get(h,j);if(T&&(S!=null&&S.length||T.content!==void 0)){let B=T.ttlMs&&T.ttlMs>0?Math.max(0,T.assignedAt+T.ttlMs-Date.now()):0;return{variantId:T.variantId,assignmentTtlMs:B,content:T.content}}return bt(Z,h,async()=>{await E;try{let B={sessionId:F,componentId:h,variantIds:S};ee!==void 0?B.agentDataByVariant=ee:M!==void 0&&(B.agentData=M);let J=await fetch(`${y}/assign`,{method:"POST",body:JSON.stringify(B),headers:w});if(!J.ok)return null;let Y=await J.json();return C.set(h,j,_({variantId:Y.variantId,assignedAt:Date.now(),segment:j,confidence:1,content:Y.content},Y.assignmentTtlMs&&Y.assignmentTtlMs>0?{ttlMs:Y.assignmentTtlMs}:{})),Y}catch(B){return null}})},async decide(h){var S,M;let ee=A.getSessionId();if(!ee)return null;let F=(S=h.slots)!=null?S:[],T={sessionId:ee};h.sections&&h.sections.length>0&&(T.sections=h.sections.map(J=>({id:J}))),T.components=(M=h.components)!=null?M:[],F.length>0&&(T.slots=F.map(gt)),h.slotsFrom==="registry"&&(T.slotsFrom="registry"),h.v&&(T.v=h.v),e.persona&&(T.persona=e.persona);let B=JSON.stringify(T);return bt(q,B,async()=>{var J,Y,ve,fe,Oe,X;await E;try{let Le=await fetch(`${y}/decide`,{method:"POST",body:B,headers:w});if(!Le.ok)return b(F),null;let R=await Le.json(),le={};for(let W of F){let pe=(J=R.slots)==null?void 0:J[W.id];if(pe!==void 0){le[W.id]=pe,U.set(W.id,pe);continue}let Tt=U.get(W.id);if(Tt!==void 0)le[W.id]=Tt;else{let Rt=mt(W);le[W.id]=Rt,U.set(W.id,Rt)}}if(R.slots)for(let[W,pe]of Object.entries(R.slots))W in le||(le[W]=pe,U.set(W,pe));let qe=v!=null&&v.persona!=="unknown";R.persona&&!(R.persona==="unknown"&&qe)?v={persona:R.persona,confidence:(Y=R.confidence)!=null?Y:0}:v||(v={persona:"unknown",confidence:0});for(let[W,pe]of Object.entries((ve=R.assignments)!=null?ve:{}))C.set(W,j,{variantId:pe,assignedAt:Date.now(),segment:j,confidence:1});return Me(e.apiKey,_(_({v:1,persona:v.persona,band:we(v.confidence),slots:Object.fromEntries(U),layoutOrder:(fe=R.layoutOrder)!=null?fe:null,savedAt:Date.now()},R.slotConfig?{slotConfig:R.slotConfig}:{}),R.palette?{palette:R.palette}:{})),_(_(_(_({layoutOrder:(Oe=R.layoutOrder)!=null?Oe:null,assignments:(X=R.assignments)!=null?X:{},slots:le,persona:v.persona,confidence:v.confidence},R.slotConfig?{slotConfig:R.slotConfig}:{}),R.goals?{goals:R.goals}:{}),R.sectionMap?{sectionMap:R.sectionMap}:{}),R.palette?{palette:R.palette}:{})}catch(Le){return b(F),null}})},getSlotResult(h){var S;return(S=U.get(h))!=null?S:null},getPersona(){return v?{persona:v.persona,confidence:v.confidence,band:we(v.confidence)}:null},async fetchWeights(){var h;try{let S=await fetch(`${y}/weights`,{headers:w});return S.ok?(h=(await S.json()).components)!=null?h:[]:[]}catch(S){return[]}},getGraph(){return{pageNodes:[],capturedAt:0}},dispose(){var h;te==null||te(),ne=!0,L.destroy(),N.destroy(),((h=re.get(e.apiKey))==null?void 0:h.dispose)===ie.dispose&&re.delete(e.apiKey),e.debug&&console.log("[sentient] disposed")},destroy(){var h;te==null||te(),ne=!0,L.destroy(),N.destroy(),A.destroy(),C.clear(),((h=re.get(e.apiKey))==null?void 0:h.dispose)===ie.dispose&&re.delete(e.apiKey);try{localStorage.removeItem(Ze+e.apiKey),localStorage.removeItem(ln(e.apiKey)),localStorage.removeItem(cn(e.apiKey))}catch(S){}e.debug&&console.log("[sentient] destroyed")}};if(re.set(e.apiKey,{config:e,upgrade:null,dispose:ie.dispose}),te=Hr(ie,e.apiKey,h=>{E.then(()=>{ne||pn.add(h)})}),e.debug){let h=window;h.__sentient&&(h.__sentient.client=ie)}return ie}var Yr=["data-sentient-id","data-testid","data-test","data-id","data-name","data-cy"];function At(e){var t;return((t=e.textContent)!=null?t:"").replace(/\s+/g," ").trim()}function Xr(e){return{tag:e.tagName.toLowerCase(),text:At(e).slice(0,40)}}function mn(e){return e.replace(/["\\\]]/g,"\\$&")}function $e(e,t){try{return e.querySelectorAll(t).length===1}catch(n){return!1}}function hn(e,t){var n;let r=e.tagName.toLowerCase();if(!r)return null;let o=((n=e.getAttribute("class"))!=null?n:"").split(/\s+/).filter(s=>/^[a-zA-Z][\w-]*$/.test(s)),l=[r,...o.map(s=>`${r}.${s}`)];for(let s of l)if($e(t,s))return s;let i=e.parentElement;if(i&&i!==t){let s=hn(i,t);if(s){for(let d of l){let g=`${s} > ${d}`;if($e(t,g))return g}let c=Array.from(i.children).filter(d=>d.tagName.toLowerCase()===r),u=c.indexOf(e),a=c.some(d=>d!==e&&At(d)!==At(e));if(u>=0&&a){let d=`${s} > ${r}:nth-of-type(${u+1})`;if($e(t,d))return d}}}return null}function yn(e,t){let n=Xr(e),r=e.getAttribute("id");if(r&&$e(t,`#${mn(r)}`))return{v:1,id:r,fingerprint:n};for(let l of Yr){let i=e.getAttribute(l);if(i&&$e(t,`[${l}="${mn(i)}"]`))return{v:1,dataAttr:{name:l,value:i},fingerprint:n}}let o=hn(e,t);return o?{v:1,selector:o,fingerprint:n}:null}Te();var bn=["pricing","hero","social_proof","cta","features","faq","comparison","trust","navigation","generic"],Zr={banner:"hero",navigation:"navigation",contentinfo:"footer"};function Qr(e){let t=e.ariaRole?Zr[e.ariaRole.toLowerCase()]:void 0;if(t)return t;if(e.tag==="nav")return"navigation";if(e.tag==="footer")return"footer";if(e.tag==="header")return e.actionCount>=5?"navigation":"hero";let n=`${e.idClass} ${e.headingText}`.toLowerCase();return/\b(navbar|nav-bar|navigation|site-nav|main-nav|topbar|footer)\b/.test(n)?/footer/.test(n)?"footer":"navigation":/\b(hero|masthead|jumbotron)\b/i.test(e.idClass)?"hero":null}function eo(e){return e.actionCount>=1&&e.textLength>0&&e.textLength<200?"cta":"generic"}var to=[["pricing",/\b(pricing|price list|per month|\/mo|subscriptions?)\b|\bplans?\b(?=[^.]{0,40}(from|start|month|year|[$€£]))/i],["faq",/\bfaq\b|frequently asked|common questions?/i],["comparison",/\b(compare|comparison|versus)\b|\bvs\./i],["social_proof",/\b(reviews?|ratings?|testimonial|brands?|galler(y|ies)|logos)\b|trusted by|loved by|case stud|what our customers say/i],["trust",/\b(insurance|warrant(y|ies)|guarantees?|certifi|accredit|security|privacy|compliance|gdpr|encrypt)\b|why choose|about us|our team/i],["cta",/\b(book|booking|reserve|appointments?|newsletter|subscribe)\b|contact us|get in touch|opening hours/i],["features",/\b(features?|benefits?|capabilit|services?|repairs?|menus?|products?)\b|how it works|our process|what we (do|offer)|what you get/i]],xt=[["pricing",/(?:[$€£]\s?\d[\d,.]*\s*(?:\/|per\s)\s*(?:mo|month|yr|year|seat|user))|(?:\b(?:starter|basic|pro|growth|premium|enterprise)\b[^.]{0,60}[$€£]\s?\d)/i],["social_proof",/(?:★{2,})|(?:\b\d(?:\.\d)?\s*(?:out of|\/)\s*5\b)|(?:\brated\b)|(?:["“][^"”]{20,160}["”]\s*[—–-]\s*[A-Z][a-z]+)/],["trust",/\b(?:money[- ]back guarantee|free returns?|returns? within|refund(?:s)? within|encrypted|soc ?2|iso ?27001|gdpr[- ]compliant|cancel anytime)\b/i],["comparison",/\b(?:vs|versus)\b\.?[^.!?]{0,80}\b(?:compare|comparison|plans?|features?|alternative)\b|\bhow (?:we|it) compares?\b/i]],vn={navigation:"navigation",footer:"navigation",hero:"hero",cta:"cta",generic:"generic"};function no(e){var t;let n=e.querySelector("h1, h2, h3");return((t=n==null?void 0:n.textContent)!=null?t:"").slice(0,160)}function wn(e){var t,n;let r=Qr(e);if(r)return{type:(t=vn[r])!=null?t:"generic",strength:"strong"};let o=`${e.idClass} ${e.headingText}`.toLowerCase();for(let[i,s]of to)if(s.test(o))return{type:i,strength:"strong"};for(let[i,s]of xt)if(s.test(e.bodyText))return{type:i,strength:"strong"};let l=eo(e);return{type:(n=vn[l])!=null?n:"generic",strength:"weak"}}function Sn(e){var t,n;let r=((t=e.textContent)!=null?t:"").replace(/\s+/g," ").trim(),o=e.getAttribute("role");return _({tag:e.tagName.toLowerCase(),idClass:`${e.id} ${String((n=e.className)!=null?n:"")}`,headingText:no(e),bodyText:r.slice(0,2e3),actionCount:e.querySelectorAll('a, button, [role="button"]').length,textLength:r.length},o?{ariaRole:o}:{})}Te();var ro="section, header, footer, nav, main > div, [data-sentient-section]",oo=2e4;function io(e){let t=Array.from(e.querySelectorAll(ro)),n=t.filter(r=>t.filter(o=>o!==r&&r.contains(o)).length<2);return n.filter(r=>!n.some(o=>o!==r&&o.contains(r)))}function so(e,t,n,r){try{fetch(`${t}/v1/section-map`,{method:"POST",keepalive:!0,headers:{"content-type":"application/json",authorization:`Bearer ${e}`},body:JSON.stringify({pageUrl:n,sections:r})}).catch(()=>{})}catch(o){}}var An=()=>{};function xn(e,t){var n,r,o,l,i,s,c,u,a,d,g,m;let p=(n=t.doc)!=null?n:typeof document!="undefined"?document:void 0;if(!p||typeof IntersectionObserver=="undefined"||Se()||!t.apiKey||!t.apiKey.startsWith("pk_"))return An;let f=((r=t.apiBase)!=null?r:"https://api.sentient-ui.com").replace(/\/+$/,"").replace(/\/v1$/,""),A=io(p);if(A.length===0)return An;let C=new Map,L=[];for(let b of A){let k=b.getAttribute("data-sentient-type"),O=k&&bn.includes(k)?k:null,E=Sn(b),oe=(l=O!=null?O:(o=t.typeOf)==null?void 0:o.call(t,b))!=null?l:wn(E).type,V=yn(b,p),te=V?`nc-${oe}-${Ut(JSON.stringify({id:(i=V.id)!=null?i:null,dataAttr:(s=V.dataAttr)!=null?s:null,selector:(c=V.selector)!=null?c:null})).toString(36)}`:`nc-${oe}`;C.set(b,te);let ne=xt.filter(([,ie])=>ie.test(E.bodyText)).map(([ie])=>ie);L.push(be(_({componentId:te,semanticType:oe,source:O?"markup":"auto"},V?{locator:V}:{}),{observation:_(_({tag:E.tag,idClass:E.idClass.slice(0,200),headingText:E.headingText,textLength:E.textLength,actionCount:E.actionCount},E.ariaRole?{ariaRole:E.ariaRole}:{}),ne.length>0?{patternFlags:ne}:{})}))}let y=(g=(d=(a=(u=p.defaultView)!=null?u:typeof window!="undefined"?window:void 0)==null?void 0:a.location)==null?void 0:d.pathname)!=null?g:"/";so(t.apiKey,f,y,L);let w=new Map,I=b=>{let k=w.get(b);return k||(k={ms:0,scroll:0,enterAt:null,intersecting:!1},w.set(b,k)),k},N=new IntersectionObserver(b=>{for(let k of b){let O=C.get(k.target);if(!O)continue;let E=I(O);k.isIntersecting?(E.intersecting=!0,E.enterAt=Date.now(),k.intersectionRatio>E.scroll&&(E.scroll=k.intersectionRatio)):(E.intersecting=!1,E.enterAt!=null&&(E.ms+=Date.now()-E.enterAt,E.enterAt=null))}},{threshold:[0,.25,.5,.75,1]});for(let b of C.keys())N.observe(b);let x=()=>{let b=Date.now();for(let[k,O]of w)if(O.enterAt!=null&&(O.ms+=b-O.enterAt,O.enterAt=null),!(O.ms<=0)){try{e.track({projectId:t.apiKey,componentId:k,eventType:"dwell",payload:{dwell_time:Math.round(O.ms),scroll_depth:Number(O.scroll.toFixed(2))}})}catch(E){}O.ms=0}},D=()=>{if(p.hidden)x();else{let b=Date.now();for(let k of w.values())k.intersecting&&(k.enterAt=b)}},K=!1,j=b=>{if(x(),b!=null&&b.persisted){K=!0;return}try{N.disconnect()}catch(k){}},Z=b=>{if(!(b!=null&&b.persisted)||!K)return;K=!1;let k=Date.now();for(let O of w.values())O.enterAt=O.intersecting&&!p.hidden?k:null};p.addEventListener("visibilitychange",D);let q=(m=p.defaultView)!=null?m:typeof window!="undefined"?window:void 0;q==null||q.addEventListener("pagehide",j),q==null||q.addEventListener("pageshow",Z);let U=setInterval(()=>{if(p.hidden||K)return;x();let b=Date.now();for(let k of w.values())k.intersecting&&(k.enterAt=b)},oo),v=[];return t.microSignals&&[...C.entries()].forEach(([b,k],O)=>{v.push(Be((E,oe={})=>{try{e.track({projectId:t.apiKey,componentId:k,eventType:"micro_signal",payload:_({signalType:E},oe)})}catch(V){}},b,void 0,{tabLoss:O===0}))}),()=>{x(),clearInterval(U),p.removeEventListener("visibilitychange",D),q==null||q.removeEventListener("pagehide",j),q==null||q.removeEventListener("pageshow",Z);for(let b of v)b();try{N.disconnect()}catch(b){}}}var ao=["landing","ecommerce","saas","marketplace"];function lo(e){if(typeof e!="object"||e===null||Array.isArray(e))return null;let t=Object.entries(e);if(t.length<1||t.length>4)return null;let n={};for(let[r,o]of t){if(!Array.isArray(o)||o.length<2||o.length>6||!o.every(l=>typeof l=="string"))return null;n[r]=o}return n}function co(e){return!Array.isArray(e)||e.length<2||e.length>12||!e.every(t=>typeof t=="string")?null:e}function uo(e){try{return e()}catch(t){return}}function Qe(e){if(typeof e!="object"||e===null)return null;let t=e;if(typeof t.apiKey!="string"||!t.apiKey.startsWith("pk_"))return null;let n=ao.includes(t.context)?t.context:"landing",r={};if(typeof t.slots=="object"&&t.slots!==null&&!Array.isArray(t.slots))for(let[i,s]of Object.entries(t.slots)){if(typeof s!="object"||s===null)continue;let c=s,u=lo(c.dims);if(!u||c.target!==void 0&&typeof c.target!="string")continue;let a=c.arms!==void 0?co(c.arms):null,d={dims:u};typeof c.target=="string"&&(d.target=c.target),a&&(d.arms=a),r[i]=d}let o={apiKey:t.apiKey,context:n,personaAttributes:t.personaAttributes===!0,slots:r};typeof t.consent=="boolean"&&(o.consent=t.consent),(t.preConsentBehavior==="statistical_winner"||t.preConsentBehavior==="control")&&(o.preConsentBehavior=t.preConsentBehavior),t.debug===!0&&(o.debug=!0),typeof t.registry=="boolean"&&(o.registry=t.registry),typeof t.editorSrc=="string"&&(o.editorSrc=t.editorSrc),typeof t.apiBase=="string"&&(o.apiBase=t.apiBase),typeof t.sectionCapture=="boolean"&&(o.sectionCapture=t.sectionCapture);let l=typeof t.persona=="function"?uo(t.persona):t.persona;if(typeof l=="string"&&l.trim()!==""&&(o.persona=l),Array.isArray(t.sections)){let i=t.sections.filter(s=>typeof s=="string"&&s.trim()!=="").slice(0,50);i.length>=2&&(o.sections=i)}return o}function et(e){var n,r,o;let t=(r=(n=e.defaultView)!=null?n:typeof window!="undefined"?window:void 0)==null?void 0:r.location;return(o=t==null?void 0:t.pathname)!=null?o:""}function fo(e,t){var n;if(t.tag&&e.tagName.toLowerCase()!==t.tag.toLowerCase())return!1;if(t.text){let r=((n=e.textContent)!=null?n:"").replace(/\s+/g," ").trim().toLowerCase(),o=t.text.replace(/\s+/g," ").trim().toLowerCase();if(!(r===o||r.startsWith(o)||o.startsWith(r)))return!1}return!0}function kn(e,t){return!!(e!=null&&e.urlMatch)&&!et(t).includes(e.urlMatch)}var po=/^[a-zA-Z_][-a-zA-Z0-9_]*$/;function ge(e,t){var o;if(e.urlMatch&&!et(t).includes(e.urlMatch))return null;let n=[];if(e.id){let l=t.getElementById(e.id);n=l?[l]:[]}if(n.length===0&&((o=e.dataAttr)!=null&&o.name)&&po.test(e.dataAttr.name))try{let l=e.dataAttr.value.replace(/["\\]/g,"\\$&");n=Array.from(t.querySelectorAll(`[${e.dataAttr.name}="${l}"]`))}catch(l){n=[]}if(n.length===0&&e.selector)try{n=Array.from(t.querySelectorAll(e.selector))}catch(l){n=[]}if(n.length!==1)return null;let r=n[0];return e.fingerprint&&!fo(r,e.fingerprint)?null:r}var En={color:"color",background:"background",fontSize:"font-size",fontWeight:"font-weight",textAlign:"text-align",padding:"padding",margin:"margin",borderRadius:"border-radius",width:"width",height:"height",maxWidth:"max-width",border:"border",boxShadow:"box-shadow",opacity:"opacity",lineHeight:"line-height",letterSpacing:"letter-spacing",textTransform:"text-transform",gap:"gap",fontFamily:"font-family"},go=/^(rgb|rgba|hsl|hsla|calc|var|min|max|clamp)$/i;function Cn(e){var r;if(e.trim().length===0||/[;{}<>]/.test(e))return!1;let t=/([A-Za-z-]*)\(/g,n;for(;(n=t.exec(e))!==null;)if(!go.test((r=n[1])!=null?r:""))return!1;return!0}var _n=/^https:\/\//i,In=new Map,me=null;function mo(e){return e.replace(/["\\]/g,"\\$&")}function ho(e){var t;(!me||!me.isConnected)&&(me=e.querySelector("style[data-sentient-ops]"),me||(me=e.createElement("style"),me.setAttribute("data-sentient-ops",""),((t=e.head)!=null?t:e.documentElement).appendChild(me))),me.textContent=[...In.entries()].map(([n,r])=>`[data-snt-e="${mo(n)}"]{${r}}`).join(`
2
+ `)}function On(e,t,n,r){var s;let o=!1,l=(s=t.moveBefore)!=null?s:t.moveAfter;if(l){let c=ge(l,r);!c||c===e||c.parentElement!==e.parentElement||!e.parentElement?o=!0:t.moveBefore?e.parentElement.insertBefore(e,c):e.parentElement.insertBefore(e,c.nextSibling)}typeof t.text=="string"&&(e.textContent=t.text),typeof t.href=="string"&&_n.test(t.href)&&e.setAttribute("href",t.href),typeof t.imageSrc=="string"&&_n.test(t.imageSrc)&&e.setAttribute("src",t.imageSrc),typeof t.imageAlt=="string"&&e.setAttribute("alt",t.imageAlt);let i=[];if(t.hidden&&i.push("display:none !important"),t.style)for(let[c,u]of Object.entries(t.style)){let a=En[c];a&&typeof u=="string"&&Cn(u)&&i.push(`${a}:${u.trim()} !important`)}return i.length>0&&(e.setAttribute("data-snt-e",n),In.set(n,i.join(";")),ho(r)),{anchorMiss:o}}var Ke="data-sentient-block-arm",se=null;function je(e){se=e!=null?e:null}var ue="data-sentient-blocks-hid",tt={none:"0",sm:"8px",md:"16px",lg:"24px"},kt={start:"flex-start",center:"center",end:"flex-end",stretch:"stretch",between:"space-between"},Ln={sm:"0.875em",md:"1em",lg:"1.25em"},yo={sm:"1.25em",md:"1.5em",lg:"2em"},vo={sm:"6px 14px",md:"10px 20px",lg:"14px 28px"},Tn={sm:"8px",md:"16px",lg:"32px"},bo={square:"1 / 1",landscape:"4 / 3",wide:"16 / 9"},wo={normal:"400",medium:"500",bold:"700"};function ce(e,t){for(let[n,r]of Object.entries(t))r!==void 0&&e.style.setProperty(n,r);return e}function Rn(e){return{opacity:e==="muted"?"0.7":void 0,"font-weight":e==="accent"?"600":void 0}}function Pn(e,t){var n,r,o,l,i,s,c,u,a,d,g,m;try{switch(e.type){case"stack":case"grid":{let p=t.createElement("div");if(e.type==="stack"){let f=e;ce(p,{display:"flex","flex-direction":f.direction,gap:(r=tt[(n=f.gap)!=null?n:"md"])!=null?r:tt.md,"align-items":f.align?kt[f.align]:void 0,"justify-content":f.justify?kt[f.justify]:void 0,"flex-wrap":f.wrap?"wrap":void 0})}else{let f=e,A=(l=tt[(o=f.gap)!=null?o:"md"])!=null?l:tt.md;ce(p,{display:"grid","grid-template-columns":`repeat(auto-fit, minmax(max(200px, calc((100% - ${f.columns-1} * ${A}) / ${f.columns})), 1fr))`,gap:A,"align-items":f.align?kt[f.align]:void 0})}for(let f of(i=e.children)!=null?i:[]){let A=Pn(f,t);A&&p.appendChild(A)}return p}case"text":{let p=t.createElement("p");return p.textContent=e.value,ce(p,Q({margin:"0","font-size":e.size?Ln[e.size]:void 0,"font-weight":e.weight?wo[e.weight]:void 0,"text-align":e.align},Rn(e.tone)))}case"heading":{let p=t.createElement(`h${e.level}`);return p.textContent=e.value,ce(p,{margin:"0","font-size":yo[(s=e.size)!=null?s:"md"],"text-align":e.align})}case"button":{let p=t.createElement("a");p.textContent=e.label,p.href=e.href,e.tag&&p.setAttribute("data-sentient-tag",e.tag);let f=(c=e.emphasis)!=null?c:"primary";return ce(p,{display:"inline-block",padding:vo[(u=e.size)!=null?u:"md"],"border-radius":(a=se==null?void 0:se.radius)!=null?a:"8px",font:"inherit","font-size":e.size?Ln[e.size]:void 0,"text-decoration":f==="ghost"?"underline":"none",cursor:"pointer",background:f==="primary"?(d=se==null?void 0:se.primaryBg)!=null?d:"#111827":"transparent",color:f==="primary"?(g=se==null?void 0:se.primaryText)!=null?g:"#ffffff":"inherit",border:f==="secondary"?"1px solid currentColor":"none"})}case"link":{let p=t.createElement("a");return p.textContent=e.label,p.href=e.href,e.tag&&p.setAttribute("data-sentient-tag",e.tag),ce(p,{color:"inherit","text-decoration":"underline"})}case"image":{let p=t.createElement("img");return p.src=e.src,p.alt=e.alt,ce(p,{display:"block","max-width":"100%","aspect-ratio":e.ratio&&e.ratio!=="auto"?bo[e.ratio]:void 0,"object-fit":e.fit,width:e.ratio&&e.ratio!=="auto"?"100%":void 0})}case"badge":{let p=t.createElement("span");return p.textContent=e.value,ce(p,Q({display:"inline-block",padding:"2px 10px","border-radius":"999px","font-size":"0.75em",border:"1px solid currentColor"},Rn(e.tone)))}case"spacer":return ce(t.createElement("div"),{height:(m=Tn[e.size])!=null?m:Tn.md});default:return null}}catch(p){return null}}function Dn(e,t,n,r){try{let o=new Set;for(let i of Array.from(e.children)){let s=i.getAttribute(Ke);s!==null&&(t[s]===void 0?i.remove():o.add(s))}for(let[i,s]of Object.entries(t)){if(o.has(i))continue;let c=Pn(s,r);if(!c)continue;let u=r.createElement("div");u.setAttribute(Ke,i),u.style.display="none",u.appendChild(c),e.appendChild(u)}let l=n!==void 0&&t[n]!==void 0;for(let i of Array.from(e.children)){let s=i.getAttribute(Ke),c=i;s!==null?c.style.display=l&&s===n?"":"none":l?c.hasAttribute(ue)||(c.setAttribute(ue,c.style.display),c.style.display="none"):c.hasAttribute(ue)&&(c.style.display=c.getAttribute(ue),c.removeAttribute(ue))}}catch(o){}}function So(e){try{for(let t of Array.from(e.children)){let n=t;if(n.getAttribute(Ke)!==null){n.remove();continue}n.hasAttribute(ue)&&(n.style.display=n.getAttribute(ue),n.removeAttribute(ue))}}catch(t){}}function nt(e,t){try{let n=new Set;for(let r of Array.from(e.querySelectorAll(`[${Ke}]`)))r.parentElement&&n.add(r.parentElement);for(let r of Array.from(e.querySelectorAll(`[${ue}]`)))r.parentElement&&n.add(r.parentElement);for(let r of n)t.has(r)||So(r)}catch(n){}}function Et(e,t){if(!e)return[t.documentElement];try{return Array.from(t.querySelectorAll(e))}catch(n){return[]}}function rt(e,t,n){n.documentElement.setAttribute("data-sentient-persona",e),n.documentElement.setAttribute("data-sentient-confidence",t)}function ot(e,t,n){var r;for(let[o,l]of Object.entries(t)){let i=e[o];if(!i||typeof i=="string")continue;let s=Et(l.target,n);for(let c of s)for(let[u,a]of Object.entries(i))(r=l.dims[u])!=null&&r.includes(a)&&c.setAttribute(`data-${u}`,a)}}function it(e,t,n){for(let[r,o]of Object.entries(t)){let l=e[r];if(typeof l!="string"||!o.arms||!o.arms.includes(l))continue;let i=Et(o.target,n);for(let s of i)s.setAttribute("data-sentient-arm",l)}}function st(e,t,n,r){var s,c;let o=new Set,l=(s=r==null?void 0:r.contentAndOps)!=null?s:!0,i=[];for(let[u,a]of Object.entries(t)){if(kn(a.locator,n))continue;let d;if(a.locator){let m=ge(a.locator,n);d=m?[m]:[]}else d=Et(a.target,n);(a.locator||a.target)&&d.length===0&&i.push(u);let g=e[u];for(let m of d){if(g!==void 0)if(typeof g=="string")m.setAttribute("data-sentient-arm",g),l&&((c=r==null?void 0:r.onApplied)==null||c.call(r,u,g,m));else for(let[p,f]of Object.entries(g))m.setAttribute(`data-${p}`,f);a.blocks&&!xo(n)&&(Dn(m,a.blocks,typeof g=="string"?g:void 0,n),o.add(m)),l&&(typeof a.content=="string"&&(m.textContent=a.content),a.ops&&On(m,a.ops,u,n).anchorMiss&&!i.includes(u)&&i.push(u))}}return nt(n,o),i}var Ao=/bot|crawler|spider|crawling|googlebot|bingbot|duckduckbot|baiduspider|yandexbot|slurp|gptbot|claudebot|anthropic|perplexity|ccbot|applebot|headlesschrome/i;function xo(e){var t,n,r;try{let o=(n=(t=e.defaultView)!=null?t:typeof window!="undefined"?window:void 0)==null?void 0:n.navigator;return o?o.webdriver===!0?!0:Ao.test((r=o.userAgent)!=null?r:""):!1}catch(o){return!1}}var ko=800;function at(e,t,n){let r=[];return n.forEach(({slotId:o,arm:l,el:i},s)=>{r.push(Be((g,m={})=>{try{e.track({projectId:t,componentId:o,variantId:l,eventType:"micro_signal",payload:Q({signalType:g},m)})}catch(p){}},i,void 0,{tabLoss:s===0}));let c=null,u=0,a=()=>{u=Date.now(),c=setTimeout(()=>{try{e.track({projectId:t,componentId:o,variantId:l,eventType:"cursor_signal",payload:{hoverDuration:Date.now()-u}})}catch(g){}c=null},ko)},d=()=>{c!==null&&(clearTimeout(c),c=null)};i.addEventListener("mouseenter",a),i.addEventListener("mouseleave",d),r.push(()=>{i.removeEventListener("mouseenter",a),i.removeEventListener("mouseleave",d),c!==null&&clearTimeout(c)})}),()=>{for(let o of r)o()}}function Eo(e,t){if(!e)return!1;if(e==="/")return t==="/";let n=e.endsWith("/")?e.slice(0,-1):e;return t===n||t.startsWith(`${n}/`)}function Bn(e){return e?`_snt_fired_goals_${e.slice(0,12)}`:"_snt_fired_goals"}var Co="_snt_fired_goals";function Nn(e,t){try{e==null||e.sessionStorage.removeItem(Bn(t)),e==null||e.sessionStorage.removeItem(Co)}catch(n){}}function Mn(e){var t;return[(t=e.slotId)!=null?t:"",e.goalId,e.event,e.locator?JSON.stringify(e.locator):""].join("|")}function _o(e,t){try{let n=e==null?void 0:e.sessionStorage.getItem(t);if(!n)return new Set;let r=JSON.parse(n);return Array.isArray(r)?new Set(r.filter(o=>typeof o=="string")):new Set}catch(n){return new Set}}function Io(e,t,n){try{e==null||e.sessionStorage.setItem(t,JSON.stringify([...n]))}catch(r){}}function lt(e,t,n,r){var C,L;let o=(C=n.defaultView)!=null?C:typeof window!="undefined"?window:null,l=Bn(r),i=_o(o,l),s=y=>{let w=Mn(y);if(!i.has(w))try{y.slotId?t.componentGoal(y.slotId,y.goalId):t.goal(y.goalId),i.add(w),Io(o,l,i)}catch(I){}},c=e.filter(y=>y.event==="click"),u=e.filter(y=>y.event==="form_submit"),a=e.filter(y=>y.event==="url_reached"),d=e.filter(y=>y.event==="scroll_depth"),g=(y,w)=>{if(!y.locator)return!1;let I=ge(y.locator,n);return!!I&&(I===w||I.contains(w))},m=y=>{let w=y.target;if(!(!w||typeof w.closest!="function"))for(let I of c)g(I,w)&&s(I)},p=y=>{let w=y.target;if(w)for(let I of u)g(I,w)&&s(I)},f=()=>{if(a.length===0)return;let y=et(n);for(let w of a)w.urlPattern&&Eo(w.urlPattern,y)&&s(w)},A=()=>{var I;let y=n.documentElement,w=y.scrollHeight>0?(y.scrollTop+y.clientHeight)/y.scrollHeight:0;for(let N of d)w>=((I=N.threshold)!=null?I:.75)&&s(N);d.every(N=>i.has(Mn(N)))&&n.removeEventListener("scroll",A)};return n.addEventListener("click",m,!0),n.addEventListener("submit",p,!0),(L=n.defaultView)==null||L.addEventListener("popstate",f),f(),d.length>0&&(n.addEventListener("scroll",A,{passive:!0}),A()),{checkUrl:f,teardown:()=>{var y;n.removeEventListener("click",m,!0),n.removeEventListener("submit",p,!0),(y=n.defaultView)==null||y.removeEventListener("popstate",f),d.length>0&&n.removeEventListener("scroll",A)}}}var $n="__snt_editor_token";function Kn(){try{return typeof sessionStorage!="undefined"?sessionStorage.getItem($n):null}catch(e){return null}}function jn(e){try{sessionStorage.setItem($n,e)}catch(t){}}var ze="0.22.0",dt=ze!=="0.0.0-dev"?{name:"snippet",version:ze}:void 0,Vn=5e3,Oo=50,Jn=(()=>{try{if(typeof window=="undefined")return[];let e=window.SentientSnippet;return Array.isArray(e==null?void 0:e.q)?e.q:[]}catch(e){return[]}})(),H=null,P=null,de={},ye=null,G=null,he=null,z=null,ae=null,$=null,Ae=null,Gn=!1,Ct=null,ct=null,ft=null,Ce=!1,Ge=!1,ke=!1;function Yn(e,t){let n,r=new Promise(o=>{n=setTimeout(()=>o(null),t)});return Promise.race([e,r]).then(o=>(clearTimeout(n),o),o=>{throw clearTimeout(n),o})}function xe(e,...t){e!=null&&e.debug&&console.log("[sentient-snippet]",...t)}function _e(e,t){return H?(H.personaAttributes&&$&&rt($.persona,$.band,e),ot(de,H.slots,e),it(de,H.slots,e),ye?st(de,ye,e,t):(nt(e,new Set),[])):[]}function Xn(e){var n;let t=new Map;for(let r of(n=H==null?void 0:H.sections)!=null?n:[])try{let o=e.querySelectorAll(r);o.length===1&&t.set(r,o[0])}catch(o){}return t}function _t(e,t){try{if(!e||e.length<2||new Set(e).size!==e.length)return;let n=Xn(t);if(n.size!==e.length)return;let r=[];for(let i of e){let s=n.get(i);if(!s)return;r.push(s)}let o=r[0].parentNode;if(!o||!r.every(i=>i.parentNode===o))return;let l=r.slice().sort((i,s)=>i.compareDocumentPosition(s)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1);for(let i=0;i<r.length;i++){let s=r[i];l[i]!==s&&(o.insertBefore(s,l[i]),l.splice(l.indexOf(s),1),l.splice(i,0,s))}}catch(n){}}function Zn(e){return e.apiBase?`${e.apiBase.replace(/\/+$/,"")}/v1/events`:void 0}function Lo(e,t){var n;if(t.length!==0)try{let r=(n=e.apiBase)!=null?n:"https://api.sentient-ui.com";fetch(`${r}/v1/locator-miss`,{method:"POST",keepalive:!0,headers:{"content-type":"application/json",authorization:`Bearer ${e.apiKey}`},body:JSON.stringify({slots:t})}).catch(()=>{})}catch(r){}}function Ie(){return!!(H&&P&&H.sectionCapture!==!1&&(H.consent!==!1||Ge)&&!Se())}function To(){if(!P||!H||!Ie()||ae)return;let e=[];_e(document,{contentAndOps:Ce,onApplied:(t,n,r)=>e.push({slotId:t,arm:n,el:r})}),Ot();try{z==null||z(),z=at(P,H.apiKey,e)}catch(t){}}function Ot(){if(typeof document=="undefined"||!Ie())return;let e;try{if(ct&&ct.length>0){let t=new Map;for(let n of ct){if(n.urlMatch!==window.location.pathname)continue;let r=ge(n.locator,document);r&&t.set(r,n.type)}t.size>0&&(e=n=>{var r;return(r=t.get(n))!=null?r:null})}}catch(t){}try{ae=xn(P,Q({apiKey:H.apiKey,apiBase:H.apiBase,doc:document,microSignals:!0},e?{typeOf:e}:{})),ft=window.location.pathname}catch(t){}}function Lt(){try{let e=[];if(z==null||z(),z=null,_e(document,{contentAndOps:Ce,onApplied:(t,n,r)=>e.push({slotId:t,arm:n,el:r})}),_t(Ae,document),e.length>0&&Ie())try{z=at(P,H.apiKey,e)}catch(t){}try{typeof window!="undefined"&&ft!==null&&window.location.pathname!==ft&&Ie()&&(ae==null||ae(),ae=null,Ot())}catch(t){}}catch(e){}}function Un(){Ct===null&&(Ct=setTimeout(()=>{Ct=null,Lt();try{G==null||G.checkUrl()}catch(e){}},Oo))}function It(){if(!(Gn||typeof window=="undefined"||typeof history=="undefined")){Gn=!0;try{let e=t=>{let n=history[t];history[t]=function(r,o,l){let i=n.call(this,r,o,l!=null?l:null);return Un(),i}};e("pushState"),e("replaceState"),window.addEventListener("popstate",Un)}catch(e){}}}function ut(e){let t={};for(let[n,r]of Object.entries(e.slots))try{t[n]=r.target?document.querySelectorAll(r.target).length:1}catch(o){t[n]=0}return t}function Qn(e){return new URLSearchParams(e).get("sentient_editor")}function Ro(){try{let e=Array.from(document.getElementsByTagName("script")),t=/(^|\/)snippet(\.global)?\.js(\?|$)/,n=e.find(r=>t.test(r.src));if(n!=null&&n.src)return n.src.replace(t,"$1editor.global.js$3")}catch(e){}return null}function Po(e,t){var n,r,o,l;try{window.__sentientEditor={token:t,apiBase:(n=e.apiBase)!=null?n:"https://api.sentient-ui.com"};try{let c=document.createElement("meta");c.name="referrer",c.content="no-referrer",c.setAttribute("data-sentient-editor",""),((r=document.head)!=null?r:document.documentElement).appendChild(c)}catch(c){}let i=(o=e.editorSrc)!=null?o:Ro();if(!i){qn();return}let s=document.createElement("script");s.src=i,s.async=!0,s.onerror=()=>qn(),((l=document.head)!=null?l:document.documentElement).appendChild(s)}catch(i){}}var zn="sentient-editor-load-notice",er={position:"fixed",bottom:"16px",zIndex:"2147483647",background:"#111827",color:"#fff",boxShadow:"0 10px 34px rgba(0,0,0,0.45)"};function qn(){var e,t;try{if(typeof document=="undefined"||document.getElementById(zn))return;(e=document.querySelector('meta[name="referrer"][data-sentient-editor]'))==null||e.remove();let n=document.createElement("div");n.id=zn,n.textContent="Couldn\u2019t load the editor \u2014 check your connection and reopen it from your dashboard.",Object.assign(n.style,er,{right:"16px",maxWidth:"320px",padding:"14px 16px",borderRadius:"14px",font:"13px/1.45 system-ui, sans-serif",border:"1px solid rgba(245,158,11,0.6)",cursor:"pointer"}),n.addEventListener("click",()=>n.remove()),((t=document.body)!=null?t:document.documentElement).appendChild(n),setTimeout(()=>n.remove(),1e4)}catch(n){}}function tr(e){let t=new URLSearchParams(e).get("sentient_preview");if(!t)return null;let n={};for(let r of t.split("|")){let o=r.indexOf(":"),l=o===-1?"":r.slice(0,o),i=o===-1?"":r.slice(o+1);if(!(!l||!i))if(i.includes("=")){let s={};for(let c of i.split(",")){let[u,a]=c.split("=");u&&a&&(s[u]=a)}Object.keys(s).length&&(n[l]=s)}else n[l]=i}return Object.keys(n).length?n:null}function nr(e){try{return new URLSearchParams(e).get("sentient_persona")||null}catch(t){return null}}var Fn="sentient-persona-preview-banner";function Wn(e,t){var n;try{if(typeof document=="undefined"||document.getElementById(Fn))return;let r=e.charAt(0).toUpperCase()+e.slice(1).replace(/[_-]+/g," "),o=document.createElement("div");o.id=Fn,o.setAttribute("role","status"),Object.assign(o.style,er,{left:"50%",transform:"translateX(-50%)",display:"flex",alignItems:"center",gap:"12px",padding:"10px 14px",borderRadius:"999px",font:"13px/1 system-ui, sans-serif",border:"1px solid rgba(255,255,255,0.14)"});let l=document.createElement("span");l.textContent=t?`\u201C${e}\u201D isn\u2019t in your personas \u2014 showing the default experience`:`Previewing as ${r}`;let i=document.createElement("button");i.type="button",i.textContent="Exit preview",Object.assign(i.style,{cursor:"pointer",border:"1px solid rgba(255,255,255,0.3)",background:"transparent",color:"#fff",font:"inherit",padding:"4px 10px",borderRadius:"999px"}),i.addEventListener("click",()=>{try{let s=new URL(window.location.href);s.searchParams.delete("sentient_persona"),window.location.href=s.pathname+s.search+s.hash}catch(s){}}),o.appendChild(l),o.appendChild(i),((n=document.body)!=null?n:document.documentElement).appendChild(o)}catch(r){}}async function Do(e,t){var u,a,d,g,m,p,f,A,C,L;let n=(u=e.apiBase)!=null?u:"https://api.sentient-ui.com",o=((a=e.registry)!=null?a:Object.keys(e.slots).length===0)?{persona:t,slotsFrom:"registry"}:{persona:t,slots:Object.entries(e.slots).map(([y,w])=>({id:y,dims:w.dims}))},l=await Yn(fetch(`${n}/v1/explain`,{method:"POST",headers:{"content-type":"application/json",authorization:`Bearer ${e.apiKey}`},body:JSON.stringify(o)}).then(y=>y.ok?y.json():null).catch(()=>null),Vn);if(!l){Ue(e),xe(e,"persona preview: explain unavailable \u2014 page left as-is");return}let i=l;de=(d=i.slots)!=null?d:{},ye=(g=i.slotConfig)!=null?g:null,je(i.palette);let s=(f=(p=(m=i.personaAttributes)==null?void 0:m.persona)!=null?p:i.persona)!=null?f:t,c=(C=(A=i.personaAttributes)==null?void 0:A.confidence)!=null?C:"high";$={persona:s,band:c},_e(document),Ce=!0,It(),Ue(e),i.recognized===!1?Wn(t,!0):Wn((L=i.personaDisplay)!=null?L:s)}function Ue(e){let t={goal(n,r){try{P==null||P.goal(n,r)}catch(o){}},componentGoal(n,r){try{P==null||P.componentGoal(n,r)}catch(o){}},grantConsent(){try{!P&&ke?(P=Ne(Q({apiKey:e.apiKey,context:e.context,consent:!0,preConsentBehavior:e.preConsentBehavior,debug:e.debug,persona:e.persona,ingestUrl:Zn(e)},dt?{sdk:dt}:{})),he&&he.length>0&&(G==null||G.teardown(),G=lt(he,P,document,e.apiKey))):(St(e.apiKey),P&&he&&he.length>0&&(G==null||G.teardown(),G=lt(he,P,document,e.apiKey))),ke=!1}catch(n){}Ge=!0;try{To()}catch(n){}},revokeConsent(){try{ae==null||ae(),ae=null,ft=null,z==null||z(),z=null,G==null||G.teardown(),G=null,Nn(typeof window!="undefined"?window:null,e.apiKey),Ge=!1,ke=!0,P==null||P.destroy(),P=null}catch(n){}},reapply:Lt,getState(){var n,r;try{return{apiKey:e.apiKey,persona:(n=$==null?void 0:$.persona)!=null?n:null,band:(r=$==null?void 0:$.band)!=null?r:null,slots:de,matchCounts:ut(e),consent:!ke&&(e.consent!==!1||Ge)}}catch(o){return{apiKey:e.apiKey,persona:null,band:null,slots:{},matchCounts:{},consent:!1}}}};window.SentientSnippet=t;for(let n of Jn.splice(0))try{n[0]==="goal"&&t.goal(n[1],n[2])}catch(r){}}function Hn(){var e;try{if(typeof window=="undefined")return;let t=window;if(typeof((e=t.SentientSnippet)==null?void 0:e.goal)=="function")return;let n=()=>{};t.SentientSnippet={goal:n,componentGoal:n,grantConsent:n,revokeConsent:n,reapply:n,getState:()=>({apiKey:"",persona:null,band:null,slots:{},matchCounts:{},consent:!1})},Jn.length=0}catch(t){}}async function rr(){var e;try{let t=Qe(window.sentient);if(!t){Hn();return}H=t,Ce=!1,Ae=null,je(null),Ge=!1,ke=!1,he=null;let n=typeof window!="undefined"?Qn(window.location.search):null;if(n){jn(n);try{let f=new URL(window.location.href);f.searchParams.delete("sentient_editor"),window.history.replaceState(null,"",f.pathname+f.search+f.hash)}catch(f){}}let r=n!=null?n:Kn();if(r){Po(t,r),Ue(t),xe(t,"editor mode");return}let o=typeof window!="undefined"?tr(window.location.search):null;if(o){de=o,$=null,_e(document),It(),Ue(t),xe(t,"preview mode",o);return}let l=typeof window!="undefined"?nr(window.location.search):null;if(l){await Do(t,l),xe(t,"persona preview",l);return}let i=(e=t.registry)!=null?e:Object.keys(t.slots).length===0,s=De(t.apiKey);s&&($={persona:s.persona,band:s.band},de=s.slots,s.slotConfig&&(ye=s.slotConfig),s.palette&&je(s.palette),_e(document,{contentAndOps:!1}),s.layoutOrder&&(Ae=s.layoutOrder,_t(Ae,document)));let c=Ne(Q({apiKey:t.apiKey,context:t.context,consent:t.consent,preConsentBehavior:t.preConsentBehavior,debug:t.debug,persona:t.persona,ingestUrl:Zn(t)},dt?{sdk:dt}:{}));P=c,Ue(t),It();let u=Object.entries(t.slots).map(([f,A])=>({id:f,dims:A.dims})),a=ze!=="0.0.0-dev"?{v:ze}:{},d=Array.from(Xn(document).keys()),g=c.decide(Q(Q(Q({slots:u},a),d.length>=2?{sections:d}:{}),i?{slotsFrom:"registry"}:{})),m=await Yn(g,Vn),p=f=>{var L,y,w,I,N,x;let A=c.getPersona();A?$={persona:A.persona,band:A.band}:f.persona&&($={persona:f.persona,band:"low"}),de=f.slots,i?ye=(L=f.slotConfig)!=null?L:null:f.slotConfig&&(ye=f.slotConfig),f.palette&&je(f.palette),Ae=(y=f.layoutOrder)!=null?y:Ae;let C=()=>{let D=[];if(Lo(t,_e(document,{onApplied:(K,j,Z)=>D.push({slotId:K,arm:j,el:Z})})),_t(Ae,document),Ce=!0,Ie())try{z==null||z(),z=at(P,t.apiKey,D)}catch(K){}};if(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",C,{once:!0}):C(),he=(w=f.goals)!=null?w:null,f.goals&&f.goals.length>0&&t.consent!==!1&&P)try{G==null||G.teardown(),G=lt(f.goals,P,document,t.apiKey)}catch(D){}ct=(I=f.sectionMap)!=null?I:null,Ie()&&Ot(),xe(t,"applied",{persona:$,slots:de,matches:ut(t)}),!ke&&Me(t.apiKey,Q(Q({v:1,persona:(N=$==null?void 0:$.persona)!=null?N:f.persona,band:(x=$==null?void 0:$.band)!=null?x:"low",slots:f.slots,layoutOrder:f.layoutOrder,savedAt:Date.now()},ye?{slotConfig:ye}:{}),f.palette?{palette:f.palette}:{}))};if(!m){xe(t,"decide timeout/null \u2014 snapshot state stands",ut(t)),g.then(f=>{!f||Ce||ke||P!==c||(p(f),xe(t,"late decide applied",ut(t)))}).catch(()=>{});return}p(m)}catch(t){Hn()}}if(typeof window!="undefined"&&window.sentient){let e=window;e.__sentientInitialized||(e.__sentientInitialized=!0,Promise.resolve().then(()=>{rr()}))}return lr(Mo);})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentientui/snippet",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "private": false,
5
5
  "description": "SentientUI Style-rung snippet for non-React sites — persona attributes and adaptive style tokens from one script tag",
6
6
  "license": "MIT",
@@ -24,7 +24,7 @@
24
24
  "tsx": "^4.19.2",
25
25
  "typescript": "^5.7.2",
26
26
  "vitest": "^2.1.8",
27
- "@sentientui/core": "0.25.0"
27
+ "@sentientui/core": "0.26.0"
28
28
  },
29
29
  "scripts": {
30
30
  "build": "tsup",