webim-adapter 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,12 +83,12 @@ Error generating stack: `+e.message+`
83
83
  color: inherit; background: var(--page-surface, #f2f2f2);
84
84
  border: 1px solid var(--page-border, rgba(148, 163, 184, 0.5));
85
85
  }
86
- `}),_e?(0,B.jsxs)(`div`,{style:{position:`relative`,width:me*he,maxWidth:`100%`,margin:`0 auto`},children:[Ee?De(-1):null,(0,B.jsx)(`div`,{style:{overflow:`hidden`},children:Te}),Ee?De(1):null]}):(0,B.jsxs)(B.Fragment,{children:[Ee?De(-1):null,Te,Ee?De(1):null]}),(0,B.jsx)(hr,{running:ye,every:ce+le,slide:le,step:be?-1:1,index:M,total:ge,home:xe,setIndex:N,setAnimate:P})]})}function hr({running:e,every:t,slide:n,step:r,index:i,total:a,home:o,setIndex:s,setAnimate:c}){(0,l.useEffect)(()=>{if(!e)return;let n=setInterval(()=>{c(!0),s(e=>e+r)},t);return()=>clearInterval(n)},[e,t,r,s,c]),(0,l.useEffect)(()=>{c(!1),s(o)},[o,s,c]);let u=r>0?i>=a:i<=0;return(0,l.useEffect)(()=>{if(!u||i===o)return;let e=setTimeout(()=>{c(!1),s(o)},n);return()=>clearTimeout(e)},[u,i,n,o,s,c]),null}var gr={small:380,medium:560,large:820,full:`100%`};function _r({dialogId:e=``,trigger:t=`button`,triggerLabel:n=`Open`,openOn:r=`trigger`,delay:i=0,size:a=`medium`,title:o=``,showClose:s=!0,backdropClose:c=!0,position:u=`center`,actions:d=[],showCloseAction:f=!1,closeLabel:p=`Close`,actionsAlign:m=`right`,linked:h,style:g,nodeRef:_,inert:v=!1}){let[y,b]=(0,l.useState)(!1),x=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(v||!e)return;let t=t=>{t.target.closest?.(`a[href="#${e}"], [data-webim-open="${e}"]`)&&(t.preventDefault(),b(!0))};return document.addEventListener(`click`,t),()=>document.removeEventListener(`click`,t)},[v,e]),(0,l.useEffect)(()=>{if(v||r!==`load`)return;let e=setTimeout(()=>b(!0),Math.max(0,Number(i)||0)*1e3);return()=>clearTimeout(e)},[v,r,i]),(0,l.useEffect)(()=>{if(v||!y)return;let e=e=>e.key===`Escape`&&b(!1);document.addEventListener(`keydown`,e);let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,x.current?.focus?.(),()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=t}},[v,y]);let S=gr[a]??gr.medium,C=e=>{let t={padding:`9px 16px`,borderRadius:6,cursor:`pointer`,fontSize:14,fontFamily:`inherit`,textDecoration:`none`,display:`inline-block`,...{primary:{background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`,border:`1px solid transparent`},outline:{background:`transparent`,color:`inherit`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},text:{background:`transparent`,color:`inherit`,border:`1px solid transparent`},danger:{background:`#dc2626`,color:`#ffffff`,border:`1px solid transparent`}}[e.variant??`primary`]??{}};return e.href&&!v?(0,B.jsx)(`a`,{href:e.href,target:e.target||void 0,rel:e.target===`_blank`?`noopener noreferrer`:void 0,style:t,children:e.label},e.key):(0,B.jsx)(`button`,{type:`button`,onClick:()=>!v&&b(!1),style:t,children:e.label},e.key)},w=Array.isArray(d)?d:[],T=w.filter(e=>e.side===`left`),E=w.filter(e=>e.side!==`left`),D=f===!0?C({key:`__close`,label:p||`Close`,variant:`outline`}):null,O=T.length||E.length||D?(0,B.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`14px 20px`,borderTop:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,justifyContent:T.length?`space-between`:m===`left`?`flex-start`:m===`center`?`center`:`flex-end`},children:[T.length>0&&(0,B.jsx)(`div`,{style:{display:`flex`,gap:8},children:T.map(C)}),(0,B.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[D,E.map(C)]})]}):null,A=(0,B.jsxs)(`div`,{ref:x,role:`dialog`,"aria-modal":v?void 0:`true`,"aria-label":o||void 0,tabIndex:-1,onClick:e=>e.stopPropagation(),style:{width:typeof S==`number`?`min(${S}px, 100%)`:S,maxHeight:v?void 0:`85vh`,overflowY:v?void 0:`auto`,borderRadius:12,background:`var(--page-surface, #ffffff)`,color:`var(--page-text, #111827)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,boxShadow:v?`none`:`0 24px 64px rgba(15, 23, 42, 0.35)`,outline:`none`,...k(g)},children:[(o||s!==!1)&&(0,B.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`16px 20px`,borderBottom:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},children:[(0,B.jsx)(`span`,{style:{fontWeight:700,fontSize:17,flexGrow:1,fontFamily:`var(--page-heading-font, inherit)`},children:o}),s!==!1&&(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:()=>!v&&b(!1),style:{background:`transparent`,border:0,color:`inherit`,cursor:`pointer`,fontSize:20,lineHeight:1,padding:2,opacity:.7},children:`✕`})]}),(0,B.jsx)(`div`,{style:{padding:20},children:h?.content}),O]});return(0,B.jsxs)(`div`,{ref:_,id:e||void 0,style:v?void 0:{display:`contents`},children:[t===`button`&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>!v&&b(!0),style:{padding:`10px 18px`,border:0,borderRadius:6,cursor:`pointer`,fontSize:15,fontFamily:`inherit`,background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`},children:n}),v?(0,B.jsx)(`div`,{style:{marginTop:t===`button`?12:0},children:A}):y&&(0,B.jsx)(`div`,{onClick:c===!1?void 0:()=>b(!1),style:{position:`fixed`,inset:0,zIndex:2147483e3,display:`flex`,alignItems:u===`top`?`flex-start`:`center`,justifyContent:`center`,padding:20,paddingTop:u===`top`?`8vh`:20,background:`rgba(15, 23, 42, 0.55)`,backdropFilter:`blur(2px)`},children:A})]})}var vr={PageRoot:Qe,CalendarBlock:dr,LogoCarousel:mr,DialogBlock:_r,Section:$e,Container:et,Heading:tt,TextBlock:mt,ButtonBlock:_t,ImageBlock:vt,Spacer:wt,Divider:Tt,BoxBlock:Et,SliderBlock:Mt,CanvasSlider:Nt,TabsBlock:Xt,QuickStack:Cn,CollectionList:wn,CollectionSearch:Tn,BreadcrumbsBlock:En,PaginationBlock:Dn,StepperBlock:zn,SocialLinksBlock:Rn,ThemeModeBlock:Mn,ScrollTopBlock:In,OrgChartBlock:Zn,TableBlock:rr,IconBlock:Ut,MapBlock:Vt,MasonryBlock:Gt,AccordionBlock:Zt,NavbarBlock:Yt,ListBlock:pt,TextSpan:it,QuoteBlock:ft,TextLink:gt,RichTextBlock:ut,RichContentBlock:ut,VideoBlock:yt,YouTubeBlock:xt,IframeBlock:St,EmbedBlock:Ct,FormBlock:dn,FormLabel:gn,FormInput:_n,FormTextarea:vn,FormCheckbox:e=>(0,B.jsx)(yn,{kind:`checkbox`,...e}),FormRadio:e=>(0,B.jsx)(yn,{kind:`radio`,...e}),FormSelect:bn,FormFile:xn,FormRecaptcha:hn,FormSubmit:Sn},yr={id:`auth`,label:`Accounts`,category:`Apps`,keys:[`SiteLoginForm`,`SiteAccountMenu`],ssr:`shell`,settings:[`site.authRedirect`]},br=(0,l.createContext)({user:null,status:`idle`,ensure:()=>{},refresh:()=>{},signOut:()=>{}});function xr(e,t){return t?/^https?:\/\//i.test(t)?t:`${e.replace(/\/+$/,``)}${t.startsWith(`/`)?t:`/${t}`}`:``}function Sr(e){let t=e&&typeof e==`object`?e[`site.session`]:null,n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>typeof e==`string`?e.trim():``,i=r(n.url),a=r(n.mePath),o=r(n.logoutPath);return{mode:n.mode===`custom`||n.mode===`off`?n.mode:`system`,url:i,mePath:a,logoutPath:o,meUrl:xr(i,a),logoutUrl:xr(i,o),loginPage:r(n.loginPage),userPath:r(n.userPath),auth:n.auth===`bearer`?`bearer`:`cookies`,tokenKey:r(n.tokenKey)||`webim_session_token`}}function Cr(e,t){if(!t)return e??null;let n=e;for(let e of t.split(`.`)){if(!n||typeof n!=`object`)return null;n=n[e]}return n??null}function wr(e){try{return window.localStorage.getItem(e)||``}catch{return``}}function Tr(e){try{window.localStorage.removeItem(e)}catch{}}var Er=()=>{let e=(0,l.useContext)(br);return(0,l.useEffect)(()=>{e.ensure()},[e]),e};function Dr({children:e,initialUser:t,disabled:n,apiUrl:r,tenant:i}){let a=(0,l.useContext)(Me),o=r||a?.apiUrl||`/api`,s=i||a?.tenant||``,c=(0,l.useMemo)(()=>Sr(a?.settings),[a?.settings]),[u,d]=(0,l.useState)(t??null),[f,p]=(0,l.useState)(t?`user`:n?`guest`:`idle`),m=(0,l.useRef)(!1),h=(0,l.useCallback)((e,t)=>fetch(`${o}${e}`,{...t,credentials:`include`,headers:{"content-type":`application/json`,...s?{"x-tenant":s}:{},...t?.headers}}),[o,s]),g=(0,l.useCallback)(e=>(d(e),p(e?`user`:`guest`),e),[]),_=(0,l.useCallback)(()=>{if(n)return Promise.resolve(null);if(c.mode===`off`)return Promise.resolve(g(null));if(c.mode===`custom`){let e=c.auth===`bearer`?wr(c.tokenKey):``;return!c.meUrl||c.auth===`bearer`&&!e?Promise.resolve(g(null)):fetch(c.meUrl,{...c.auth===`bearer`?{headers:{authorization:`Bearer ${e}`}}:{credentials:`include`}}).then(e=>e.ok?e.json():null).then(e=>{let t=Cr(e,c.userPath);return g(t&&typeof t==`object`?t:null)}).catch(()=>g(null))}return h(`/site/me`).then(e=>e.ok?e.json():null).then(e=>g(e?.payload??null)).catch(()=>g(null))},[h,c,n,g]),v=(0,l.useCallback)(()=>{if(c.mode===`off`)return g(null),Promise.resolve();if(c.mode===`custom`){let e=c.auth===`bearer`?wr(c.tokenKey):``;return(c.logoutUrl?fetch(c.logoutUrl,{method:`post`,...c.auth===`bearer`?{headers:e?{authorization:`Bearer ${e}`}:{}}:{credentials:`include`}}).catch(()=>{}):Promise.resolve()).then(()=>{c.auth===`bearer`&&Tr(c.tokenKey),g(null)})}return h(`/site/logout`,{method:`post`}).catch(()=>{}).then(()=>{g(null)})},[h,c,g]),y=(0,l.useCallback)(()=>{m.current||n||t||(m.current=!0,p(`loading`),_())},[n,t,_]),b=(0,l.useMemo)(()=>({user:u,status:f,ensure:y,refresh:_,signOut:v}),[u,f,y,_,v]);return(0,l.useEffect)(()=>{n||typeof window>`u`||(window.webim={...window.webim,user:u,status:f,loginUrl:c.loginPage||null,requireUser:()=>m.current||t?Promise.resolve(u):_(),refresh:_,signOut:v},window.dispatchEvent(new CustomEvent(`webim:session`,{detail:{user:u,status:f}})))},[n,u,f,t,c.loginPage,_,v]),(0,B.jsx)(br.Provider,{value:b,children:e})}function Or({when:e,children:t}){let{status:n}=Er();return!e||e===`always`?t:n===`idle`||n===`loading`?null:e===`user`==(n===`user`)?t:null}function kr({mode:e=`login`,redirect:t,emailLabel:n=`Email`,passwordLabel:r=`Password`,nameLabel:i=`Name`,submitLabel:a,style:o,nodeRef:s,inert:c,linked:u,show:d}){let{tenant:f,apiUrl:p,settings:m}=(0,l.useContext)(Me),[h,g]=(0,l.useState)(`form`),[_,v]=(0,l.useState)(``),[y,b]=(0,l.useState)(!1),x=e===`register`,S=c?d||`form`:h,C=e=>typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)?e:``,w=async e=>{if(e.preventDefault(),c)return;let n=new FormData(e.currentTarget);b(!0),v(``);try{let e=await fetch(`${p||`/api`}/site/${x?`register`:`login`}`,{method:`post`,headers:{"content-type":`application/json`,...f?{"x-tenant":f}:{}},credentials:`same-origin`,body:JSON.stringify({email:n.get(`email`),password:n.get(`password`),...x?{name:n.get(`name`)||``}:{}})}),r=await e.json().catch(()=>null);if(!e.ok||r?.success===!1){v(r?.error?.message||`Sign-in failed`),g(`error`),b(!1);return}if(g(`success`),typeof window<`u`){let e=C(t)||C(new URLSearchParams(window.location.search).get(`next`))||C(m?.[`site.authRedirect`])||C(m?.[`apps.auth.redirect`])||`/`;window.location.assign(e)}}catch{v(`Sign-in failed`),g(`error`),b(!1)}};return(0,B.jsxs)(`div`,{ref:s,style:{display:`grid`,gap:12,maxWidth:360,...k(o)},children:[(0,B.jsxs)(`form`,{onSubmit:w,style:{display:S===`form`?`grid`:`none`,gap:10},children:[x?(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[i,(0,B.jsx)(`input`,{name:`name`,type:`text`,style:en,...nn(c)})]}):null,(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[n,(0,B.jsx)(`input`,{name:`email`,type:`email`,required:!c,style:en,...nn(c)})]}),(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[r,(0,B.jsx)(`input`,{name:`password`,type:`password`,required:!c,style:en,...nn(c)})]}),(0,B.jsx)(`button`,{type:c?`button`:`submit`,disabled:y||void 0,style:{...qe,border:0,padding:`10px 22px`,borderRadius:8,fontSize:15,fontWeight:600,cursor:`pointer`,opacity:y?.6:1},children:a||(x?`Create account`:`Sign in`)}),_?(0,B.jsx)(`p`,{style:{margin:0,fontSize:14,color:`#dc2626`},children:_}):null]}),(0,B.jsx)(`div`,{style:{display:S===`success`?`block`:`none`},children:u?.success??null}),(0,B.jsx)(`div`,{style:{display:S===`error`?`block`:`none`},children:u?.error??null})]})}function Ar({greeting:e=`Hi`,signOutLabel:t=`Sign out`,showEmail:n=!1,style:r,nodeRef:i,inert:a,linked:o,show:s}){let{user:c,status:l,signOut:u}=Er(),d=a?s||`user`:l,f=a?{name:`Ada Lovelace`,email:`ada@example.com`}:c;return d===`loading`?(0,B.jsx)(`div`,{ref:i,style:{minHeight:24,...k(r)}}):d===`user`?(0,B.jsxs)(`div`,{ref:i,style:{display:`flex`,alignItems:`center`,gap:10,...k(r)},children:[(0,B.jsxs)(`span`,{style:{...$t,fontWeight:600},children:[e,` `,f?.name||f?.email||``]}),n&&f?.email?(0,B.jsx)(`span`,{style:{...$t,opacity:.7},children:f.email}):null,(0,B.jsx)(`button`,{type:`button`,onClick:a?void 0:u,style:{...qe,border:0,padding:`8px 16px`,borderRadius:8,fontSize:14,cursor:a?`default`:`pointer`},...nn(a),children:t})]}):(0,B.jsx)(`div`,{ref:i,style:{display:`flex`,alignItems:`center`,gap:10,...k(r)},children:o?.signedOut??null})}var jr={id:`consent`,label:`Cookie consent`,category:`Apps`,keys:[`CookieConsent`],ssr:`shell`,settings:[]},Mr=`webim.cookie_consent`;function Nr(){try{let e=window.localStorage.getItem(Mr),t=e?JSON.parse(e):null;return t?.choice===`accepted`||t?.choice===`declined`?t.choice:``}catch{return``}}function Pr(e){try{document.querySelectorAll(`.webim-page`).forEach(t=>t.setAttribute(`data-webim-consent`,e))}catch{}}function Fr(e){try{window.localStorage.setItem(Mr,JSON.stringify({choice:e,at:new Date().toISOString()}))}catch{}Pr(e);try{window.dispatchEvent(new CustomEvent(`webim:consent`,{detail:{choice:e}}))}catch{}}var Ir={bottom:{left:0,right:0,bottom:0},top:{left:0,right:0,top:0},"bottom-left":{left:16,bottom:16,maxWidth:400},"bottom-right":{right:16,bottom:16,maxWidth:400}};function Lr({message:e,acceptLabel:t,rejectLabel:n,showReject:r,linkLabel:i,linkHref:a,position:o,linked:s,style:c,nodeRef:u,inert:d}){let[f,p]=(0,l.useState)(!!d),[m,h]=(0,l.useState)(null),g=e=>{h(e),typeof u==`function`&&u(e)};if((0,l.useEffect)(()=>{if(d)return;let e=Nr();e?Pr(e):p(!0)},[d,m]),!f)return null;let _=e=>()=>{d||(Fr(e),p(!1))},v=Ir[o]??Ir.bottom,y={appearance:`none`,font:`inherit`,fontSize:14,fontWeight:600,padding:`8px 16px`,borderRadius:8,cursor:d?`default`:`pointer`,whiteSpace:`nowrap`};return(0,B.jsxs)(`div`,{ref:g,role:`region`,"aria-label":`Cookie consent`,style:{...d?{position:`relative`}:{position:`fixed`,zIndex:2147483e3,...v},display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:12,padding:16,background:`var(--page-surface, #f2f2f2)`,color:`var(--page-text, #111827)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.4))`,borderRadius:o===`bottom`||o===`top`?0:12,boxShadow:`0 8px 30px rgba(15, 23, 42, 0.18)`,fontSize:14,lineHeight:1.5,...k(c)},children:[(0,B.jsxs)(`div`,{style:{flex:`1 1 260px`,minWidth:0},children:[s?.content??(e||`We use cookies to run this site and to understand how it is used.`),i&&a?(0,B.jsxs)(B.Fragment,{children:[` `,(0,B.jsx)(`a`,{href:a,onClick:d?e=>e.preventDefault():void 0,style:{color:`var(--page-accent, inherit)`,textDecoration:`underline`},children:i})]}):null]}),(0,B.jsxs)(`div`,{style:{display:`flex`,gap:8,flexShrink:0},children:[r===!1?null:(0,B.jsx)(`button`,{type:`button`,onClick:_(`declined`),style:{...y,background:`transparent`,color:`inherit`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.6))`},children:n||`Decline`}),(0,B.jsx)(`button`,{type:`button`,onClick:_(`accepted`),style:{...y,background:`var(--page-accent, #111827)`,color:`var(--page-accent-text, #ffffff)`,border:`1px solid transparent`},children:t||`Accept`})]})]})}var Rr={id:`language`,label:`Language`,category:`Apps`,keys:[`SiteLanguagePicker`],ssr:`prefetch`,settings:[`locales`]},zr={id:`search`,label:`Search`,category:`Apps`,keys:[`SiteSearch`],ssr:`prefetch`,settings:[]},Br=50,Vr=2e3;function Hr(){return typeof window>`u`?``:new URLSearchParams(window.location.search).get(`q`)??``}function Ur(e,t){let n=e?.data??{},r=[];for(let e of Object.values(n)){let t=e==null?``:Ve(e);if(t&&r.push(t),r.join(` `).length>Vr)break}return r.join(` `).slice(0,Vr).toLocaleLowerCase(t||void 0)}function Wr({placeholder:e=`Search…`,buttonLabel:t=`Search`,showButton:n=!0,live:r=!1,layout:i=`inline`,includePages:a=!0,collections:o=[],limit:s=10,emptyText:c=`Nothing found`,hint:u=``,style:d,nodeRef:f,inert:p=!1,sample:m=!1}){let{tenant:h,apiUrl:g,locale:_}=(0,l.useContext)(Me),[v,y]=(0,l.useState)(()=>Hr()),[b,x]=(0,l.useState)(()=>Hr()),[S,C]=(0,l.useState)(null),[w,T]=(0,l.useState)(!1),E=(0,l.useRef)(null),D=i===`popup`;(0,l.useEffect)(()=>{let e=()=>{let e=Hr();y(e),x(e)};return window.addEventListener(`popstate`,e),window.addEventListener(`webim:urlchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`webim:urlchange`,e)}},[]),(0,l.useEffect)(()=>{if(!r)return;let e=setTimeout(()=>{y(b),b.trim()&&T(!0)},200);return()=>clearTimeout(e)},[r,b]),(0,l.useEffect)(()=>{if(!D)return;let e=e=>{E.current&&!E.current.contains(e.target)&&T(!1)},t=e=>e.key===`Escape`&&T(!1);return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[D]),(0,l.useEffect)(()=>{let e=!0,t=h?{"x-tenant":h}:{},n=e=>fetch(`${g}${e}`,{headers:t}).then(e=>e.json()).then(e=>e?.payload).catch(()=>null),r=[a?n(`/site/pages`).then(e=>({kind:`page`,rows:Array.isArray(e)?e:[]})):null,...(Array.isArray(o)?o:[]).filter(Boolean).map(e=>n(`/dynamic/${encodeURIComponent(e)}?all=1${_?`&locale=${encodeURIComponent(_)}`:``}`).then(t=>({kind:`entry`,slug:e,rows:Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[]})))].filter(Boolean);return Promise.all(r).then(t=>e&&C(t)),()=>{e=!1}},[g,h,_,a,JSON.stringify(o)]);let O=v.trim().toLocaleLowerCase(_||void 0),A=[];if(O&&S)for(let e of S)if(e.kind===`page`)for(let t of e.rows){if(t?.access&&t.access!==`public`)continue;let e=String(t?.title??``);`${e} ${t?.slug??``}`.toLocaleLowerCase(_||void 0).includes(O)&&A.push({key:`page:${t.slug}`,title:e||t.slug,url:`/${t.slug}`,kind:`page`})}else for(let t of e.rows){if(!Ur(t,_).includes(O))continue;let n=t?.data??{},r=Ve(n.name)||`Untitled`,i=Ve(n.slug);A.push({key:`entry:${t.id}`,title:r,url:i?`/${e.slug}/${i}`:`/${e.slug}`,kind:`entry`})}let j=A.slice(0,Math.min(Math.max(1,s),Br)),ee=e=>{if(p){e.preventDefault(),y(b),T(!0);return}if(typeof window>`u`||!window.history?.pushState)return;e.preventDefault();let t=new URLSearchParams(window.location.search);b.trim()?t.set(`q`,b.trim()):t.delete(`q`),t.delete(`page`);let n=t.toString();window.history.pushState({},``,`${window.location.pathname}${n?`?${n}`:``}`),window.dispatchEvent(new Event(`webim:urlchange`)),T(!0)},M=m&&!O?[{key:`sample-1`,title:`About us`,url:`/about`,kind:`page`},{key:`sample-2`,title:`Spring collection`,url:`/blog/spring`,kind:`entry`}]:null,N=M??j,te=!M&&O&&S&&!j.length,P=!D||w&&(N.length>0||te),F=N.length>0&&(0,B.jsx)(`ul`,{style:{listStyle:`none`,margin:0,padding:0,display:`flex`,flexDirection:`column`,gap:2},children:N.map(e=>(0,B.jsx)(`li`,{children:(0,B.jsxs)(`a`,{href:p?void 0:e.url,style:{display:`block`,padding:`10px 12px`,borderRadius:6,color:`inherit`,textDecoration:`none`,border:D?0:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},children:[(0,B.jsx)(`span`,{style:{display:`block`,fontWeight:600},children:e.title}),(0,B.jsx)(`span`,{style:{display:`block`,fontSize:12,opacity:.6},children:e.url})]})},e.key))});return(0,B.jsx)(`div`,{ref:f,style:{width:`100%`,...k(d)},children:(0,B.jsxs)(`div`,{ref:E,style:{position:`relative`},children:[(0,B.jsxs)(`form`,{method:`get`,onSubmit:ee,style:{display:`flex`,gap:8,alignItems:`center`},children:[(0,B.jsx)(`input`,{type:`search`,name:`q`,value:b,placeholder:e,onChange:e=>x(e.target.value),onFocus:()=>O&&T(!0),style:{...en,flexGrow:1,minWidth:0}}),n!==!1&&(0,B.jsx)(`button`,{type:`submit`,style:{padding:`10px 16px`,border:0,borderRadius:6,cursor:`pointer`,fontSize:14,fontFamily:`inherit`,background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`},children:t})]}),u&&(0,B.jsx)(`div`,{style:{fontSize:13,opacity:.65,marginTop:6},children:u}),P&&(0,B.jsxs)(`div`,{style:D?{position:`absolute`,top:`100%`,left:0,right:0,zIndex:30,marginTop:6,padding:6,maxHeight:320,overflowY:`auto`,borderRadius:8,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,background:`var(--page-surface, #f2f2f2)`,boxShadow:`0 12px 32px rgba(15, 23, 42, 0.18)`}:{marginTop:14},children:[F,te&&(0,B.jsx)(`div`,{style:{fontSize:14,opacity:.65,padding:D?`10px 12px`:0},children:c})]})]})})}function Gr(e){let t=e?.locales,n=[typeof t?.default==`string`&&t.default.trim()?t.default.trim():``,...Array.isArray(t?.enabled)?t.enabled:[]].filter(e=>typeof e==`string`&&e.trim());return[...new Set(n.map(e=>e.trim()))]}var Kr=e=>e&&e.charAt(0).toUpperCase()+e.slice(1);function qr(e,t){let n=String(e??``).toUpperCase();if(t===`code`)return n;let r=``;try{r=Kr(new Intl.DisplayNames([e],{type:`language`}).of(e)??``)}catch{}return!r||r.toUpperCase()===n?n:t===`both`?`${n} — ${r}`:r}function Jr(e,t){let n=t?``:`?locale=${encodeURIComponent(e)}`;if(typeof window>`u`)return n||`?`;try{let n=new URL(window.location.href);return t?n.searchParams.delete(`locale`):n.searchParams.set(`locale`,e),n.searchParams.delete(`page`),`${n.pathname}${n.search}${n.hash}`}catch{return n||`/`}}function Yr({variant:e,display:t,separator:n,label:r,style:i,nodeRef:a,inert:o}){let s=(0,l.useContext)(Me),c=Gr(s?.settings),u=c[0]??``,d=c.includes(s?.locale)?s.locale:u,f={display:`inline-flex`,alignItems:`center`,gap:8,...k(i)};if(c.length<2)return o?(0,B.jsx)(`div`,{ref:a,style:{...f,padding:`8px 12px`,border:`1px dashed rgba(100, 116, 139, 0.45)`,borderRadius:6,color:`rgba(100, 116, 139, 0.8)`,fontSize:12},children:`Add site languages in Settings → Languages`}):null;let p=r?(0,B.jsx)(`span`,{style:{opacity:.7},children:r}):null;return e===`inline`?(0,B.jsxs)(`div`,{ref:a,style:f,children:[p,c.map((e,r)=>(0,B.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[r>0&&(0,B.jsx)(`span`,{style:{opacity:.4},children:n??`·`}),(0,B.jsx)(`a`,{href:Jr(e,e===u),hrefLang:e,"aria-current":e===d?`true`:void 0,onClick:o?e=>e.preventDefault():void 0,style:{color:e===d?`var(--page-accent, inherit)`:`inherit`,fontWeight:e===d?600:400,textDecoration:`none`,cursor:o?`default`:`pointer`},children:qr(e,t)})]},e))]}):(0,B.jsxs)(`div`,{ref:a,style:f,children:[p,(0,B.jsx)(`select`,{"aria-label":r||`Language`,value:d,onChange:o?void 0:e=>{let t=e.target.value;window.location.assign(Jr(t,t===u))},onKeyDown:o?e=>e.preventDefault():void 0,style:{font:`inherit`,color:`inherit`,background:`var(--page-surface, transparent)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.4))`,borderRadius:6,padding:`4px 8px`,cursor:o?`default`:`pointer`},children:c.map(e=>(0,B.jsx)(`option`,{value:e,children:qr(e,t)},e))})]})}var Xr=[yr,Rr,jr,zr],Zr={SiteLoginForm:kr,SiteAccountMenu:Ar,SiteLanguagePicker:Yr,CookieConsent:Lr,SiteSearch:Wr};new Set(Xr.filter(e=>e.ssr===`shell`).flatMap(e=>e.keys));var Qr=`0.185.1`,$r=`4.2.0`,ei=`https://cdn.jsdelivr.net/npm`,ti=`${ei}/three@${Qr}/+esm`,ni=`${ei}/@google/model-viewer@${$r}/dist/model-viewer.min.js`,ri=e=>import(e),ii=new Map;function ai(e){if(ii.has(e))return ii.get(e);if(typeof window>`u`)return new Promise(()=>{});let t=ri(e).catch(t=>{throw ii.delete(e),t});return ii.set(e,t),t}var oi=()=>ai(ti),si=e=>ai(`${ei}/three@${Qr}/examples/jsm/${e}/+esm`);function ci(){return typeof window<`u`&&window.customElements?.get(`model-viewer`)?Promise.resolve(null):ai(ni)}var li=()=>typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,ui=(e=2)=>Math.min(typeof window>`u`?1:window.devicePixelRatio||1,e);function di(e,t){let n=0,r=0,i=0,a=!0,o=e=>{n=requestAnimationFrame(o),i||=e;let a=r?(e-r)/1e3:0;r=e,t(a,(e-i)/1e3)},s=()=>{n&&cancelAnimationFrame(n),n=0,r=0},c=()=>{let e=a&&document.visibilityState!==`hidden`;e&&!n?n=requestAnimationFrame(o):!e&&n&&s()};t(0,0);let l=typeof IntersectionObserver>`u`?null:new IntersectionObserver(e=>{a=e.some(e=>e.isIntersecting),c()},{rootMargin:`120px`});return l&&e&&l.observe(e),document.addEventListener(`visibilitychange`,c),c(),()=>{s(),l?.disconnect(),document.removeEventListener(`visibilitychange`,c)}}function fi(e,t,n={}){let r={radius:n.distance??4,polar:n.polar??Math.PI/2.4,azimuth:n.azimuth??.6,target:n.target??{x:0,y:0,z:0}},i={...r},a=n.minDistance??.4,o=n.maxDistance??200,s=n.damping??.12,c=.05,l=null,u=e=>{e.button!==void 0&&e.button!==0||(l={x:e.clientX,y:e.clientY,id:e.pointerId},t.setPointerCapture?.(e.pointerId))},d=e=>{if(!l||e.pointerId!==l.id)return;let t=e.clientX-l.x,n=e.clientY-l.y;l={...l,x:e.clientX,y:e.clientY},i.azimuth-=t*.006,i.polar=Math.max(c,Math.min(Math.PI-c,i.polar-n*.006)),e.preventDefault()},f=e=>{l&&e.pointerId===l.id&&t.releasePointerCapture?.(e.pointerId),l=null},p=e=>{n.enableZoom!==!1&&(e.preventDefault(),i.radius=Math.max(a,Math.min(o,i.radius*(1+Math.sign(e.deltaY)*.12))))};return t.addEventListener(`pointerdown`,u),t.addEventListener(`pointermove`,d),t.addEventListener(`pointerup`,f),t.addEventListener(`pointercancel`,f),t.addEventListener(`wheel`,p,{passive:!1}),{update:()=>{r.radius+=(i.radius-r.radius)*s,r.polar+=(i.polar-r.polar)*s,r.azimuth+=(i.azimuth-r.azimuth)*s;let t=Math.sin(r.polar);e.position.set(r.target.x+r.radius*t*Math.sin(r.azimuth),r.target.y+r.radius*Math.cos(r.polar),r.target.z+r.radius*t*Math.cos(r.azimuth)),e.lookAt(r.target.x,r.target.y,r.target.z)},dragging:()=>!!l,autoSpin:(e,t)=>{!l&&e&&(i.azimuth+=e*t)},frame:(e,t)=>{i.radius=Math.max(a,Math.min(o,e)),r.radius=i.radius,t&&(r.target={...t},i.target={...t})},dispose:()=>{t.removeEventListener(`pointerdown`,u),t.removeEventListener(`pointermove`,d),t.removeEventListener(`pointerup`,f),t.removeEventListener(`pointercancel`,f),t.removeEventListener(`wheel`,p)}}}var pi=(e,t)=>Number.isFinite(Number(e))&&Number(e)>0?Number(e):t,mi=(e,t)=>(Number.isFinite(Number(e))?Number(e):t)/100,hi=e=>(Number.isFinite(Number(e))?Number(e):0)*Math.PI/180,gi=e=>typeof e==`string`&&!!e.trim();function _i({label:e,note:t,height:n,nodeRef:r,style:i}){return(0,B.jsxs)(`div`,{ref:r,style:{...k(i),minHeight:pi(n,320),display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:6,border:`1px dashed rgba(148,163,184,.55)`,borderRadius:10,background:`rgba(148,163,184,.08)`,...fe,color:`rgba(100,116,139,.95)`,fontSize:13,textAlign:`center`,padding:16},children:[(0,B.jsx)(`div`,{style:{fontWeight:600},children:e}),t?(0,B.jsx)(`div`,{style:{fontSize:11,opacity:.8,maxWidth:320},children:t}):null]})}function vi({src:e,poster:t,alt:n,height:r,bg:i,autoRotate:a,rotateDelay:o,cameraControls:s,ar:c,exposure:u,shadow:d,fieldOfView:f,environment:p,style:m,nodeRef:h,inert:g}){let[_,v]=(0,l.useState)(typeof window<`u`&&!!window.customElements?.get(`model-viewer`)),[y,b]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(_||!e)return;let t=!0;return ci().then(()=>t&&v(!0),()=>t&&b(!0)),()=>{t=!1}},[_,e]);let x={display:`block`,width:`100%`,minHeight:pi(r,360),height:pi(r,360),backgroundColor:i||`transparent`,...k(m)};if(!e)return g?(0,B.jsx)(_i,{nodeRef:h,style:m,height:r,label:`3D Model`,note:`Pick a .glb or .gltf file in the Settings panel.`}):(0,B.jsx)(`div`,{ref:h,style:x});if(y)return(0,B.jsx)(`div`,{ref:h,style:{...x,display:`flex`,alignItems:`center`,justifyContent:`center`},children:t?(0,B.jsx)(`img`,{src:t,alt:n||``,style:{maxWidth:`100%`,maxHeight:`100%`}}):null});let S=e=>e?``:void 0,C=a!==!1;return(0,B.jsx)(`model-viewer`,{ref:h,src:e,alt:n||`A 3D model`,poster:t||void 0,style:x,"camera-controls":S(!g&&s!==!1),"auto-rotate":S(C&&!li()),"auto-rotate-delay":C?String(pi(o,0)):void 0,"rotation-per-second":`18deg`,ar:S(!g&&c===!0),"ar-modes":`webxr scene-viewer quick-look`,"shadow-intensity":String(mi(d,100)),exposure:String(mi(u,100)),"field-of-view":f?`${Number(f)}deg`:void 0,"environment-image":p&&p!==`neutral`?p:`neutral`,"interaction-prompt":g?`none`:void 0,loading:`lazy`,"touch-action":`pan-y`,children:t?(0,B.jsx)(`img`,{slot:`poster`,src:t,alt:n||``,style:{width:`100%`,height:`100%`,objectFit:`contain`}}):null})}var yi=[`attribute vec2 p;`,`void main() { gl_Position = vec4(p, 0.0, 1.0); }`].join(`
87
- `),bi=[`precision highp float;`,`uniform vec2 u_res;`,`uniform float u_time;`,`uniform vec2 u_mouse;`,`uniform vec3 u_a;`,`uniform vec3 u_b;`,`uniform vec3 u_c;`,`uniform float u_scale;`,``,`float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }`,`float noise(vec2 p){`,` vec2 i = floor(p); vec2 f = fract(p);`,` vec2 u = f * f * (3.0 - 2.0 * f);`,` return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x),`,` mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);`,`}`,`float fbm(vec2 p){`,` float v = 0.0; float a = 0.5;`,` for (int i = 0; i < 5; i++) { v += a * noise(p); p *= 2.02; a *= 0.5; }`,` return v;`,`}`,``].join(`
88
- `),xi={gradient:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 sp = (gl_FragCoord.xy - 0.5 * u_res) / min(u_res.x, u_res.y);`,` float t = u_time * 0.25;`,` float d1 = length(sp - vec2(sin(t) * 0.4, cos(t * 0.8) * 0.3) - u_mouse * 0.25);`,` float d2 = length(sp + vec2(cos(t * 1.1) * 0.45, sin(t * 0.7) * 0.35));`,` vec3 col = mix(u_a, u_b, smoothstep(0.0, 1.0, d1 * u_scale));`,` col = mix(col, u_c, smoothstep(0.0, 1.2, d2 * u_scale) * 0.65);`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
86
+ `}),_e?(0,B.jsxs)(`div`,{style:{position:`relative`,width:me*he,maxWidth:`100%`,margin:`0 auto`},children:[Ee?De(-1):null,(0,B.jsx)(`div`,{style:{overflow:`hidden`},children:Te}),Ee?De(1):null]}):(0,B.jsxs)(B.Fragment,{children:[Ee?De(-1):null,Te,Ee?De(1):null]}),(0,B.jsx)(hr,{running:ye,every:ce+le,slide:le,step:be?-1:1,index:M,total:ge,home:xe,setIndex:N,setAnimate:P})]})}function hr({running:e,every:t,slide:n,step:r,index:i,total:a,home:o,setIndex:s,setAnimate:c}){(0,l.useEffect)(()=>{if(!e)return;let n=setInterval(()=>{c(!0),s(e=>e+r)},t);return()=>clearInterval(n)},[e,t,r,s,c]),(0,l.useEffect)(()=>{c(!1),s(o)},[o,s,c]);let u=r>0?i>=a:i<=0;return(0,l.useEffect)(()=>{if(!u||i===o)return;let e=setTimeout(()=>{c(!1),s(o)},n);return()=>clearTimeout(e)},[u,i,n,o,s,c]),null}var gr={small:380,medium:560,large:820,full:`100%`};function _r({dialogId:e=``,trigger:t=`button`,triggerLabel:n=`Open`,openOn:r=`trigger`,delay:i=0,size:a=`medium`,title:o=``,showClose:s=!0,backdropClose:c=!0,position:u=`center`,actions:d=[],showCloseAction:f=!1,closeLabel:p=`Close`,actionsAlign:m=`right`,linked:h,style:g,nodeRef:_,inert:v=!1}){let[y,b]=(0,l.useState)(!1),x=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(v||!e)return;let t=t=>{t.target.closest?.(`a[href="#${e}"], [data-webim-open="${e}"]`)&&(t.preventDefault(),b(!0))};return document.addEventListener(`click`,t),()=>document.removeEventListener(`click`,t)},[v,e]),(0,l.useEffect)(()=>{if(v||r!==`load`)return;let e=setTimeout(()=>b(!0),Math.max(0,Number(i)||0)*1e3);return()=>clearTimeout(e)},[v,r,i]),(0,l.useEffect)(()=>{if(v||!y)return;let e=e=>e.key===`Escape`&&b(!1);document.addEventListener(`keydown`,e);let t=document.body.style.overflow;return document.body.style.overflow=`hidden`,x.current?.focus?.(),()=>{document.removeEventListener(`keydown`,e),document.body.style.overflow=t}},[v,y]);let S=gr[a]??gr.medium,C=e=>{let t={padding:`9px 16px`,borderRadius:6,cursor:`pointer`,fontSize:14,fontFamily:`inherit`,textDecoration:`none`,display:`inline-block`,...{primary:{background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`,border:`1px solid transparent`},outline:{background:`transparent`,color:`inherit`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},text:{background:`transparent`,color:`inherit`,border:`1px solid transparent`},danger:{background:`#dc2626`,color:`#ffffff`,border:`1px solid transparent`}}[e.variant??`primary`]??{}};return e.href&&!v?(0,B.jsx)(`a`,{href:e.href,target:e.target||void 0,rel:e.target===`_blank`?`noopener noreferrer`:void 0,style:t,children:e.label},e.key):(0,B.jsx)(`button`,{type:`button`,onClick:()=>!v&&b(!1),style:t,children:e.label},e.key)},w=Array.isArray(d)?d:[],T=w.filter(e=>e.side===`left`),E=w.filter(e=>e.side!==`left`),D=f===!0?C({key:`__close`,label:p||`Close`,variant:`outline`}):null,O=T.length||E.length||D?(0,B.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`14px 20px`,borderTop:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,justifyContent:T.length?`space-between`:m===`left`?`flex-start`:m===`center`?`center`:`flex-end`},children:[T.length>0&&(0,B.jsx)(`div`,{style:{display:`flex`,gap:8},children:T.map(C)}),(0,B.jsxs)(`div`,{style:{display:`flex`,gap:8},children:[D,E.map(C)]})]}):null,A=(0,B.jsxs)(`div`,{ref:x,role:`dialog`,"aria-modal":v?void 0:`true`,"aria-label":o||void 0,tabIndex:-1,onClick:e=>e.stopPropagation(),style:{width:typeof S==`number`?`min(${S}px, 100%)`:S,maxHeight:v?void 0:`85vh`,overflowY:v?void 0:`auto`,borderRadius:12,background:`var(--page-surface, #ffffff)`,color:`var(--page-text, #111827)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,boxShadow:v?`none`:`0 24px 64px rgba(15, 23, 42, 0.35)`,outline:`none`,...k(g)},children:[(o||s!==!1)&&(0,B.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:12,padding:`16px 20px`,borderBottom:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},children:[(0,B.jsx)(`span`,{style:{fontWeight:700,fontSize:17,flexGrow:1,fontFamily:`var(--page-heading-font, inherit)`},children:o}),s!==!1&&(0,B.jsx)(`button`,{type:`button`,"aria-label":`Close`,onClick:()=>!v&&b(!1),style:{background:`transparent`,border:0,color:`inherit`,cursor:`pointer`,fontSize:20,lineHeight:1,padding:2,opacity:.7},children:`✕`})]}),(0,B.jsx)(`div`,{style:{padding:20},children:h?.content}),O]});return(0,B.jsxs)(`div`,{ref:_,id:e||void 0,style:v?void 0:{display:`contents`},children:[t===`button`&&(0,B.jsx)(`button`,{type:`button`,onClick:()=>!v&&b(!0),style:{padding:`10px 18px`,border:0,borderRadius:6,cursor:`pointer`,fontSize:15,fontFamily:`inherit`,background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`},children:n}),v?(0,B.jsx)(`div`,{style:{marginTop:t===`button`?12:0},children:A}):y&&(0,B.jsx)(`div`,{onClick:c===!1?void 0:()=>b(!1),style:{position:`fixed`,inset:0,zIndex:2147483e3,display:`flex`,alignItems:u===`top`?`flex-start`:`center`,justifyContent:`center`,padding:20,paddingTop:u===`top`?`8vh`:20,background:`rgba(15, 23, 42, 0.55)`,backdropFilter:`blur(2px)`},children:A})]})}function vr({dropdownId:e=``,trigger:t=`button`,triggerLabel:n=`Menu`,openOn:r=`hover`,align:i=`left`,panelWidth:a=``,offset:o=8,editorOpen:s=!0,linked:c,style:u,nodeRef:d,inert:f=!1}){let[p,m]=(0,l.useState)(!1),h=(0,l.useRef)(null),g=(0,l.useRef)(null),_=r!==`click`,v=()=>{g.current&&clearTimeout(g.current),g.current=null},y=()=>{v(),g.current=setTimeout(()=>m(!1),160)};(0,l.useEffect)(()=>{if(f||!e)return;let t=`[data-webim-toggle="${e}"]`,n=e=>{e.target.closest?.(t)&&(e.preventDefault(),v(),m(e=>!e))},r=e=>{e.target.closest?.(t)&&(v(),m(!0))},i=e=>{let n=e.target.closest?.(t);!n||e.relatedTarget&&n.contains(e.relatedTarget)||y()};return document.addEventListener(`click`,n),_&&(document.addEventListener(`mouseover`,r),document.addEventListener(`mouseout`,i)),()=>{document.removeEventListener(`click`,n),document.removeEventListener(`mouseover`,r),document.removeEventListener(`mouseout`,i)}},[f,e,_]),(0,l.useEffect)(()=>{if(f||!p)return;let t=t=>{h.current?.contains(t.target)||e&&t.target.closest?.(`[data-webim-toggle="${e}"]`)||m(!1)},n=e=>e.key===`Escape`&&m(!1);return document.addEventListener(`mousedown`,t),document.addEventListener(`keydown`,n),()=>{document.removeEventListener(`mousedown`,t),document.removeEventListener(`keydown`,n)}},[f,p,e]),(0,l.useEffect)(()=>v,[]);let b=Number(a)>0?Number(a):null,x=f?s!==!1:p,S=(0,B.jsx)(`div`,{style:{position:`absolute`,top:`calc(100% + ${Number(o)||0}px)`,...i===`right`?{right:0}:i===`center`?{left:`50%`,transform:`translateX(-50%)`}:{left:0},zIndex:60,display:x?`block`:`none`,minWidth:b??240,width:b??void 0,maxWidth:`92vw`,padding:14,borderRadius:10,background:`var(--page-surface, #ffffff)`,color:`var(--page-text, inherit)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,boxShadow:`0 16px 44px rgba(15, 23, 42, 0.22)`,...k(u)},children:c?.content??null});return(0,B.jsxs)(`div`,{ref:e=>{h.current=e,d&&d(e)},id:e||void 0,onMouseEnter:!f&&_?()=>{v(),m(!0)}:void 0,onMouseLeave:!f&&_?y:void 0,style:{position:`relative`,display:`inline-block`},children:[t!==`none`&&(0,B.jsxs)(`button`,{type:`button`,"aria-haspopup":`true`,"aria-expanded":f?void 0:p,onClick:()=>!f&&m(e=>!e),style:{padding:`9px 16px`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,borderRadius:6,cursor:`pointer`,fontSize:15,fontFamily:`inherit`,background:`var(--page-surface, transparent)`,color:`inherit`,display:`inline-flex`,alignItems:`center`,gap:6},children:[n,(0,B.jsx)(`span`,{"aria-hidden":`true`,style:{fontSize:10,opacity:.7},children:`▾`})]}),S]})}var yr={PageRoot:Qe,CalendarBlock:dr,LogoCarousel:mr,DialogBlock:_r,DropdownBlock:vr,Section:$e,Container:et,Heading:tt,TextBlock:mt,ButtonBlock:_t,ImageBlock:vt,Spacer:wt,Divider:Tt,BoxBlock:Et,SliderBlock:Mt,CanvasSlider:Nt,TabsBlock:Xt,QuickStack:Cn,CollectionList:wn,CollectionSearch:Tn,BreadcrumbsBlock:En,PaginationBlock:Dn,StepperBlock:zn,SocialLinksBlock:Rn,ThemeModeBlock:Mn,ScrollTopBlock:In,OrgChartBlock:Zn,TableBlock:rr,IconBlock:Ut,MapBlock:Vt,MasonryBlock:Gt,AccordionBlock:Zt,NavbarBlock:Yt,ListBlock:pt,TextSpan:it,QuoteBlock:ft,TextLink:gt,RichTextBlock:ut,RichContentBlock:ut,VideoBlock:yt,YouTubeBlock:xt,IframeBlock:St,EmbedBlock:Ct,FormBlock:dn,FormLabel:gn,FormInput:_n,FormTextarea:vn,FormCheckbox:e=>(0,B.jsx)(yn,{kind:`checkbox`,...e}),FormRadio:e=>(0,B.jsx)(yn,{kind:`radio`,...e}),FormSelect:bn,FormFile:xn,FormRecaptcha:hn,FormSubmit:Sn},br={id:`auth`,label:`Accounts`,category:`Apps`,keys:[`SiteLoginForm`,`SiteAccountMenu`],ssr:`shell`,settings:[`site.authRedirect`]},xr=(0,l.createContext)({user:null,status:`idle`,ensure:()=>{},refresh:()=>{},signOut:()=>{}});function Sr(e,t){return t?/^https?:\/\//i.test(t)?t:`${e.replace(/\/+$/,``)}${t.startsWith(`/`)?t:`/${t}`}`:``}function Cr(e){let t=e&&typeof e==`object`?e[`site.session`]:null,n=t&&typeof t==`object`&&!Array.isArray(t)?t:{},r=e=>typeof e==`string`?e.trim():``,i=r(n.url),a=r(n.mePath),o=r(n.logoutPath);return{mode:n.mode===`custom`||n.mode===`off`?n.mode:`system`,url:i,mePath:a,logoutPath:o,meUrl:Sr(i,a),logoutUrl:Sr(i,o),loginPage:r(n.loginPage),userPath:r(n.userPath),auth:n.auth===`bearer`?`bearer`:`cookies`,tokenKey:r(n.tokenKey)||`webim_session_token`}}function wr(e,t){if(!t)return e??null;let n=e;for(let e of t.split(`.`)){if(!n||typeof n!=`object`)return null;n=n[e]}return n??null}function Tr(e){try{return window.localStorage.getItem(e)||``}catch{return``}}function Er(e){try{window.localStorage.removeItem(e)}catch{}}var Dr=()=>{let e=(0,l.useContext)(xr);return(0,l.useEffect)(()=>{e.ensure()},[e]),e};function Or({children:e,initialUser:t,disabled:n,apiUrl:r,tenant:i}){let a=(0,l.useContext)(Me),o=r||a?.apiUrl||`/api`,s=i||a?.tenant||``,c=(0,l.useMemo)(()=>Cr(a?.settings),[a?.settings]),[u,d]=(0,l.useState)(t??null),[f,p]=(0,l.useState)(t?`user`:n?`guest`:`idle`),m=(0,l.useRef)(!1),h=(0,l.useCallback)((e,t)=>fetch(`${o}${e}`,{...t,credentials:`include`,headers:{"content-type":`application/json`,...s?{"x-tenant":s}:{},...t?.headers}}),[o,s]),g=(0,l.useCallback)(e=>(d(e),p(e?`user`:`guest`),e),[]),_=(0,l.useCallback)(()=>{if(n)return Promise.resolve(null);if(c.mode===`off`)return Promise.resolve(g(null));if(c.mode===`custom`){let e=c.auth===`bearer`?Tr(c.tokenKey):``;return!c.meUrl||c.auth===`bearer`&&!e?Promise.resolve(g(null)):fetch(c.meUrl,{...c.auth===`bearer`?{headers:{authorization:`Bearer ${e}`}}:{credentials:`include`}}).then(e=>e.ok?e.json():null).then(e=>{let t=wr(e,c.userPath);return g(t&&typeof t==`object`?t:null)}).catch(()=>g(null))}return h(`/site/me`).then(e=>e.ok?e.json():null).then(e=>g(e?.payload??null)).catch(()=>g(null))},[h,c,n,g]),v=(0,l.useCallback)(()=>{if(c.mode===`off`)return g(null),Promise.resolve();if(c.mode===`custom`){let e=c.auth===`bearer`?Tr(c.tokenKey):``;return(c.logoutUrl?fetch(c.logoutUrl,{method:`post`,...c.auth===`bearer`?{headers:e?{authorization:`Bearer ${e}`}:{}}:{credentials:`include`}}).catch(()=>{}):Promise.resolve()).then(()=>{c.auth===`bearer`&&Er(c.tokenKey),g(null)})}return h(`/site/logout`,{method:`post`}).catch(()=>{}).then(()=>{g(null)})},[h,c,g]),y=(0,l.useCallback)(()=>{m.current||n||t||(m.current=!0,p(`loading`),_())},[n,t,_]),b=(0,l.useMemo)(()=>({user:u,status:f,ensure:y,refresh:_,signOut:v}),[u,f,y,_,v]);return(0,l.useEffect)(()=>{n||typeof window>`u`||(window.webim={...window.webim,user:u,status:f,loginUrl:c.loginPage||null,requireUser:()=>m.current||t?Promise.resolve(u):_(),refresh:_,signOut:v},window.dispatchEvent(new CustomEvent(`webim:session`,{detail:{user:u,status:f}})))},[n,u,f,t,c.loginPage,_,v]),(0,B.jsx)(xr.Provider,{value:b,children:e})}function kr({when:e,children:t}){let{status:n}=Dr();return!e||e===`always`?t:n===`idle`||n===`loading`?null:e===`user`==(n===`user`)?t:null}function Ar({mode:e=`login`,redirect:t,emailLabel:n=`Email`,passwordLabel:r=`Password`,nameLabel:i=`Name`,submitLabel:a,style:o,nodeRef:s,inert:c,linked:u,show:d}){let{tenant:f,apiUrl:p,settings:m}=(0,l.useContext)(Me),[h,g]=(0,l.useState)(`form`),[_,v]=(0,l.useState)(``),[y,b]=(0,l.useState)(!1),x=e===`register`,S=c?d||`form`:h,C=e=>typeof e==`string`&&e.startsWith(`/`)&&!e.startsWith(`//`)?e:``,w=async e=>{if(e.preventDefault(),c)return;let n=new FormData(e.currentTarget);b(!0),v(``);try{let e=await fetch(`${p||`/api`}/site/${x?`register`:`login`}`,{method:`post`,headers:{"content-type":`application/json`,...f?{"x-tenant":f}:{}},credentials:`same-origin`,body:JSON.stringify({email:n.get(`email`),password:n.get(`password`),...x?{name:n.get(`name`)||``}:{}})}),r=await e.json().catch(()=>null);if(!e.ok||r?.success===!1){v(r?.error?.message||`Sign-in failed`),g(`error`),b(!1);return}if(g(`success`),typeof window<`u`){let e=C(t)||C(new URLSearchParams(window.location.search).get(`next`))||C(m?.[`site.authRedirect`])||C(m?.[`apps.auth.redirect`])||`/`;window.location.assign(e)}}catch{v(`Sign-in failed`),g(`error`),b(!1)}};return(0,B.jsxs)(`div`,{ref:s,style:{display:`grid`,gap:12,maxWidth:360,...k(o)},children:[(0,B.jsxs)(`form`,{onSubmit:w,style:{display:S===`form`?`grid`:`none`,gap:10},children:[x?(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[i,(0,B.jsx)(`input`,{name:`name`,type:`text`,style:en,...nn(c)})]}):null,(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[n,(0,B.jsx)(`input`,{name:`email`,type:`email`,required:!c,style:en,...nn(c)})]}),(0,B.jsxs)(`label`,{style:{...$t,display:`grid`,gap:6},children:[r,(0,B.jsx)(`input`,{name:`password`,type:`password`,required:!c,style:en,...nn(c)})]}),(0,B.jsx)(`button`,{type:c?`button`:`submit`,disabled:y||void 0,style:{...qe,border:0,padding:`10px 22px`,borderRadius:8,fontSize:15,fontWeight:600,cursor:`pointer`,opacity:y?.6:1},children:a||(x?`Create account`:`Sign in`)}),_?(0,B.jsx)(`p`,{style:{margin:0,fontSize:14,color:`#dc2626`},children:_}):null]}),(0,B.jsx)(`div`,{style:{display:S===`success`?`block`:`none`},children:u?.success??null}),(0,B.jsx)(`div`,{style:{display:S===`error`?`block`:`none`},children:u?.error??null})]})}function jr({greeting:e=`Hi`,signOutLabel:t=`Sign out`,showEmail:n=!1,style:r,nodeRef:i,inert:a,linked:o,show:s}){let{user:c,status:l,signOut:u}=Dr(),d=a?s||`user`:l,f=a?{name:`Ada Lovelace`,email:`ada@example.com`}:c;return d===`loading`?(0,B.jsx)(`div`,{ref:i,style:{minHeight:24,...k(r)}}):d===`user`?(0,B.jsxs)(`div`,{ref:i,style:{display:`flex`,alignItems:`center`,gap:10,...k(r)},children:[(0,B.jsxs)(`span`,{style:{...$t,fontWeight:600},children:[e,` `,f?.name||f?.email||``]}),n&&f?.email?(0,B.jsx)(`span`,{style:{...$t,opacity:.7},children:f.email}):null,(0,B.jsx)(`button`,{type:`button`,onClick:a?void 0:u,style:{...qe,border:0,padding:`8px 16px`,borderRadius:8,fontSize:14,cursor:a?`default`:`pointer`},...nn(a),children:t})]}):(0,B.jsx)(`div`,{ref:i,style:{display:`flex`,alignItems:`center`,gap:10,...k(r)},children:o?.signedOut??null})}var Mr={id:`consent`,label:`Cookie consent`,category:`Apps`,keys:[`CookieConsent`],ssr:`shell`,settings:[]},Nr=`webim.cookie_consent`;function Pr(){try{let e=window.localStorage.getItem(Nr),t=e?JSON.parse(e):null;return t?.choice===`accepted`||t?.choice===`declined`?t.choice:``}catch{return``}}function Fr(e){try{document.querySelectorAll(`.webim-page`).forEach(t=>t.setAttribute(`data-webim-consent`,e))}catch{}}function Ir(e){try{window.localStorage.setItem(Nr,JSON.stringify({choice:e,at:new Date().toISOString()}))}catch{}Fr(e);try{window.dispatchEvent(new CustomEvent(`webim:consent`,{detail:{choice:e}}))}catch{}}var Lr={bottom:{left:0,right:0,bottom:0},top:{left:0,right:0,top:0},"bottom-left":{left:16,bottom:16,maxWidth:400},"bottom-right":{right:16,bottom:16,maxWidth:400}};function Rr({message:e,acceptLabel:t,rejectLabel:n,showReject:r,linkLabel:i,linkHref:a,position:o,linked:s,style:c,nodeRef:u,inert:d}){let[f,p]=(0,l.useState)(!!d),[m,h]=(0,l.useState)(null),g=e=>{h(e),typeof u==`function`&&u(e)};if((0,l.useEffect)(()=>{if(d)return;let e=Pr();e?Fr(e):p(!0)},[d,m]),!f)return null;let _=e=>()=>{d||(Ir(e),p(!1))},v=Lr[o]??Lr.bottom,y={appearance:`none`,font:`inherit`,fontSize:14,fontWeight:600,padding:`8px 16px`,borderRadius:8,cursor:d?`default`:`pointer`,whiteSpace:`nowrap`};return(0,B.jsxs)(`div`,{ref:g,role:`region`,"aria-label":`Cookie consent`,style:{...d?{position:`relative`}:{position:`fixed`,zIndex:2147483e3,...v},display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:12,padding:16,background:`var(--page-surface, #f2f2f2)`,color:`var(--page-text, #111827)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.4))`,borderRadius:o===`bottom`||o===`top`?0:12,boxShadow:`0 8px 30px rgba(15, 23, 42, 0.18)`,fontSize:14,lineHeight:1.5,...k(c)},children:[(0,B.jsxs)(`div`,{style:{flex:`1 1 260px`,minWidth:0},children:[s?.content??(e||`We use cookies to run this site and to understand how it is used.`),i&&a?(0,B.jsxs)(B.Fragment,{children:[` `,(0,B.jsx)(`a`,{href:a,onClick:d?e=>e.preventDefault():void 0,style:{color:`var(--page-accent, inherit)`,textDecoration:`underline`},children:i})]}):null]}),(0,B.jsxs)(`div`,{style:{display:`flex`,gap:8,flexShrink:0},children:[r===!1?null:(0,B.jsx)(`button`,{type:`button`,onClick:_(`declined`),style:{...y,background:`transparent`,color:`inherit`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.6))`},children:n||`Decline`}),(0,B.jsx)(`button`,{type:`button`,onClick:_(`accepted`),style:{...y,background:`var(--page-accent, #111827)`,color:`var(--page-accent-text, #ffffff)`,border:`1px solid transparent`},children:t||`Accept`})]})]})}var zr={id:`language`,label:`Language`,category:`Apps`,keys:[`SiteLanguagePicker`],ssr:`prefetch`,settings:[`locales`]},Br={id:`search`,label:`Search`,category:`Apps`,keys:[`SiteSearch`],ssr:`prefetch`,settings:[]},Vr=50,Hr=2e3;function Ur(){return typeof window>`u`?``:new URLSearchParams(window.location.search).get(`q`)??``}function Wr(e,t){let n=e?.data??{},r=[];for(let e of Object.values(n)){let t=e==null?``:Ve(e);if(t&&r.push(t),r.join(` `).length>Hr)break}return r.join(` `).slice(0,Hr).toLocaleLowerCase(t||void 0)}function Gr({placeholder:e=`Search…`,buttonLabel:t=`Search`,showButton:n=!0,live:r=!1,layout:i=`inline`,includePages:a=!0,collections:o=[],limit:s=10,emptyText:c=`Nothing found`,hint:u=``,style:d,nodeRef:f,inert:p=!1,sample:m=!1}){let{tenant:h,apiUrl:g,locale:_}=(0,l.useContext)(Me),[v,y]=(0,l.useState)(()=>Ur()),[b,x]=(0,l.useState)(()=>Ur()),[S,C]=(0,l.useState)(null),[w,T]=(0,l.useState)(!1),E=(0,l.useRef)(null),D=i===`popup`;(0,l.useEffect)(()=>{let e=()=>{let e=Ur();y(e),x(e)};return window.addEventListener(`popstate`,e),window.addEventListener(`webim:urlchange`,e),()=>{window.removeEventListener(`popstate`,e),window.removeEventListener(`webim:urlchange`,e)}},[]),(0,l.useEffect)(()=>{if(!r)return;let e=setTimeout(()=>{y(b),b.trim()&&T(!0)},200);return()=>clearTimeout(e)},[r,b]),(0,l.useEffect)(()=>{if(!D)return;let e=e=>{E.current&&!E.current.contains(e.target)&&T(!1)},t=e=>e.key===`Escape`&&T(!1);return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[D]),(0,l.useEffect)(()=>{let e=!0,t=h?{"x-tenant":h}:{},n=e=>fetch(`${g}${e}`,{headers:t}).then(e=>e.json()).then(e=>e?.payload).catch(()=>null),r=[a?n(`/site/pages`).then(e=>({kind:`page`,rows:Array.isArray(e)?e:[]})):null,...(Array.isArray(o)?o:[]).filter(Boolean).map(e=>n(`/dynamic/${encodeURIComponent(e)}?all=1${_?`&locale=${encodeURIComponent(_)}`:``}`).then(t=>({kind:`entry`,slug:e,rows:Array.isArray(t)?t:Array.isArray(t?.data)?t.data:[]})))].filter(Boolean);return Promise.all(r).then(t=>e&&C(t)),()=>{e=!1}},[g,h,_,a,JSON.stringify(o)]);let O=v.trim().toLocaleLowerCase(_||void 0),A=[];if(O&&S)for(let e of S)if(e.kind===`page`)for(let t of e.rows){if(t?.access&&t.access!==`public`)continue;let e=String(t?.title??``);`${e} ${t?.slug??``}`.toLocaleLowerCase(_||void 0).includes(O)&&A.push({key:`page:${t.slug}`,title:e||t.slug,url:`/${t.slug}`,kind:`page`})}else for(let t of e.rows){if(!Wr(t,_).includes(O))continue;let n=t?.data??{},r=Ve(n.name)||`Untitled`,i=Ve(n.slug);A.push({key:`entry:${t.id}`,title:r,url:i?`/${e.slug}/${i}`:`/${e.slug}`,kind:`entry`})}let j=A.slice(0,Math.min(Math.max(1,s),Vr)),ee=e=>{if(p){e.preventDefault(),y(b),T(!0);return}if(typeof window>`u`||!window.history?.pushState)return;e.preventDefault();let t=new URLSearchParams(window.location.search);b.trim()?t.set(`q`,b.trim()):t.delete(`q`),t.delete(`page`);let n=t.toString();window.history.pushState({},``,`${window.location.pathname}${n?`?${n}`:``}`),window.dispatchEvent(new Event(`webim:urlchange`)),T(!0)},M=m&&!O?[{key:`sample-1`,title:`About us`,url:`/about`,kind:`page`},{key:`sample-2`,title:`Spring collection`,url:`/blog/spring`,kind:`entry`}]:null,N=M??j,te=!M&&O&&S&&!j.length,P=!D||w&&(N.length>0||te),F=N.length>0&&(0,B.jsx)(`ul`,{style:{listStyle:`none`,margin:0,padding:0,display:`flex`,flexDirection:`column`,gap:2},children:N.map(e=>(0,B.jsx)(`li`,{children:(0,B.jsxs)(`a`,{href:p?void 0:e.url,style:{display:`block`,padding:`10px 12px`,borderRadius:6,color:`inherit`,textDecoration:`none`,border:D?0:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`},children:[(0,B.jsx)(`span`,{style:{display:`block`,fontWeight:600},children:e.title}),(0,B.jsx)(`span`,{style:{display:`block`,fontSize:12,opacity:.6},children:e.url})]})},e.key))});return(0,B.jsx)(`div`,{ref:f,style:{width:`100%`,...k(d)},children:(0,B.jsxs)(`div`,{ref:E,style:{position:`relative`},children:[(0,B.jsxs)(`form`,{method:`get`,onSubmit:ee,style:{display:`flex`,gap:8,alignItems:`center`},children:[(0,B.jsx)(`input`,{type:`search`,name:`q`,value:b,placeholder:e,onChange:e=>x(e.target.value),onFocus:()=>O&&T(!0),style:{...en,flexGrow:1,minWidth:0}}),n!==!1&&(0,B.jsx)(`button`,{type:`submit`,style:{padding:`10px 16px`,border:0,borderRadius:6,cursor:`pointer`,fontSize:14,fontFamily:`inherit`,background:`var(--page-accent, #4f46e5)`,color:`var(--page-accent-text, #ffffff)`},children:t})]}),u&&(0,B.jsx)(`div`,{style:{fontSize:13,opacity:.65,marginTop:6},children:u}),P&&(0,B.jsxs)(`div`,{style:D?{position:`absolute`,top:`100%`,left:0,right:0,zIndex:30,marginTop:6,padding:6,maxHeight:320,overflowY:`auto`,borderRadius:8,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.35))`,background:`var(--page-surface, #f2f2f2)`,boxShadow:`0 12px 32px rgba(15, 23, 42, 0.18)`}:{marginTop:14},children:[F,te&&(0,B.jsx)(`div`,{style:{fontSize:14,opacity:.65,padding:D?`10px 12px`:0},children:c})]})]})})}function Kr(e){let t=e?.locales,n=[typeof t?.default==`string`&&t.default.trim()?t.default.trim():``,...Array.isArray(t?.enabled)?t.enabled:[]].filter(e=>typeof e==`string`&&e.trim());return[...new Set(n.map(e=>e.trim()))]}var qr=e=>e&&e.charAt(0).toUpperCase()+e.slice(1);function Jr(e,t){let n=String(e??``).toUpperCase();if(t===`code`)return n;let r=``;try{r=qr(new Intl.DisplayNames([e],{type:`language`}).of(e)??``)}catch{}return!r||r.toUpperCase()===n?n:t===`both`?`${n} — ${r}`:r}function Yr(e,t){let n=t?``:`?locale=${encodeURIComponent(e)}`;if(typeof window>`u`)return n||`?`;try{let n=new URL(window.location.href);return t?n.searchParams.delete(`locale`):n.searchParams.set(`locale`,e),n.searchParams.delete(`page`),`${n.pathname}${n.search}${n.hash}`}catch{return n||`/`}}function Xr({variant:e,display:t,separator:n,label:r,style:i,nodeRef:a,inert:o}){let s=(0,l.useContext)(Me),c=Kr(s?.settings),u=c[0]??``,d=c.includes(s?.locale)?s.locale:u,f={display:`inline-flex`,alignItems:`center`,gap:8,...k(i)};if(c.length<2)return o?(0,B.jsx)(`div`,{ref:a,style:{...f,padding:`8px 12px`,border:`1px dashed rgba(100, 116, 139, 0.45)`,borderRadius:6,color:`rgba(100, 116, 139, 0.8)`,fontSize:12},children:`Add site languages in Settings → Languages`}):null;let p=r?(0,B.jsx)(`span`,{style:{opacity:.7},children:r}):null;return e===`inline`?(0,B.jsxs)(`div`,{ref:a,style:f,children:[p,c.map((e,r)=>(0,B.jsxs)(`span`,{style:{display:`inline-flex`,alignItems:`center`,gap:8},children:[r>0&&(0,B.jsx)(`span`,{style:{opacity:.4},children:n??`·`}),(0,B.jsx)(`a`,{href:Yr(e,e===u),hrefLang:e,"aria-current":e===d?`true`:void 0,onClick:o?e=>e.preventDefault():void 0,style:{color:e===d?`var(--page-accent, inherit)`:`inherit`,fontWeight:e===d?600:400,textDecoration:`none`,cursor:o?`default`:`pointer`},children:Jr(e,t)})]},e))]}):(0,B.jsxs)(`div`,{ref:a,style:f,children:[p,(0,B.jsx)(`select`,{"aria-label":r||`Language`,value:d,onChange:o?void 0:e=>{let t=e.target.value;window.location.assign(Yr(t,t===u))},onKeyDown:o?e=>e.preventDefault():void 0,style:{font:`inherit`,color:`inherit`,background:`var(--page-surface, transparent)`,border:`1px solid var(--page-border, rgba(148, 163, 184, 0.4))`,borderRadius:6,padding:`4px 8px`,cursor:o?`default`:`pointer`},children:c.map(e=>(0,B.jsx)(`option`,{value:e,children:Jr(e,t)},e))})]})}var Zr=[br,zr,Mr,Br],Qr={SiteLoginForm:Ar,SiteAccountMenu:jr,SiteLanguagePicker:Xr,CookieConsent:Rr,SiteSearch:Gr};new Set(Zr.filter(e=>e.ssr===`shell`).flatMap(e=>e.keys));var $r=`0.185.1`,ei=`4.2.0`,ti=`https://cdn.jsdelivr.net/npm`,ni=`${ti}/three@${$r}/+esm`,ri=`${ti}/@google/model-viewer@${ei}/dist/model-viewer.min.js`,ii=e=>import(e),ai=new Map;function oi(e){if(ai.has(e))return ai.get(e);if(typeof window>`u`)return new Promise(()=>{});let t=ii(e).catch(t=>{throw ai.delete(e),t});return ai.set(e,t),t}var si=()=>oi(ni),ci=e=>oi(`${ti}/three@${$r}/examples/jsm/${e}/+esm`);function li(){return typeof window<`u`&&window.customElements?.get(`model-viewer`)?Promise.resolve(null):oi(ri)}var ui=()=>typeof window<`u`&&!!window.matchMedia?.(`(prefers-reduced-motion: reduce)`).matches,di=(e=2)=>Math.min(typeof window>`u`?1:window.devicePixelRatio||1,e);function fi(e,t){let n=0,r=0,i=0,a=!0,o=e=>{n=requestAnimationFrame(o),i||=e;let a=r?(e-r)/1e3:0;r=e,t(a,(e-i)/1e3)},s=()=>{n&&cancelAnimationFrame(n),n=0,r=0},c=()=>{let e=a&&document.visibilityState!==`hidden`;e&&!n?n=requestAnimationFrame(o):!e&&n&&s()};t(0,0);let l=typeof IntersectionObserver>`u`?null:new IntersectionObserver(e=>{a=e.some(e=>e.isIntersecting),c()},{rootMargin:`120px`});return l&&e&&l.observe(e),document.addEventListener(`visibilitychange`,c),c(),()=>{s(),l?.disconnect(),document.removeEventListener(`visibilitychange`,c)}}function pi(e,t,n={}){let r={radius:n.distance??4,polar:n.polar??Math.PI/2.4,azimuth:n.azimuth??.6,target:n.target??{x:0,y:0,z:0}},i={...r},a=n.minDistance??.4,o=n.maxDistance??200,s=n.damping??.12,c=.05,l=null,u=e=>{e.button!==void 0&&e.button!==0||(l={x:e.clientX,y:e.clientY,id:e.pointerId},t.setPointerCapture?.(e.pointerId))},d=e=>{if(!l||e.pointerId!==l.id)return;let t=e.clientX-l.x,n=e.clientY-l.y;l={...l,x:e.clientX,y:e.clientY},i.azimuth-=t*.006,i.polar=Math.max(c,Math.min(Math.PI-c,i.polar-n*.006)),e.preventDefault()},f=e=>{l&&e.pointerId===l.id&&t.releasePointerCapture?.(e.pointerId),l=null},p=e=>{n.enableZoom!==!1&&(e.preventDefault(),i.radius=Math.max(a,Math.min(o,i.radius*(1+Math.sign(e.deltaY)*.12))))};return t.addEventListener(`pointerdown`,u),t.addEventListener(`pointermove`,d),t.addEventListener(`pointerup`,f),t.addEventListener(`pointercancel`,f),t.addEventListener(`wheel`,p,{passive:!1}),{update:()=>{r.radius+=(i.radius-r.radius)*s,r.polar+=(i.polar-r.polar)*s,r.azimuth+=(i.azimuth-r.azimuth)*s;let t=Math.sin(r.polar);e.position.set(r.target.x+r.radius*t*Math.sin(r.azimuth),r.target.y+r.radius*Math.cos(r.polar),r.target.z+r.radius*t*Math.cos(r.azimuth)),e.lookAt(r.target.x,r.target.y,r.target.z)},dragging:()=>!!l,autoSpin:(e,t)=>{!l&&e&&(i.azimuth+=e*t)},frame:(e,t)=>{i.radius=Math.max(a,Math.min(o,e)),r.radius=i.radius,t&&(r.target={...t},i.target={...t})},dispose:()=>{t.removeEventListener(`pointerdown`,u),t.removeEventListener(`pointermove`,d),t.removeEventListener(`pointerup`,f),t.removeEventListener(`pointercancel`,f),t.removeEventListener(`wheel`,p)}}}var mi=(e,t)=>Number.isFinite(Number(e))&&Number(e)>0?Number(e):t,hi=(e,t)=>(Number.isFinite(Number(e))?Number(e):t)/100,gi=e=>(Number.isFinite(Number(e))?Number(e):0)*Math.PI/180,_i=e=>typeof e==`string`&&!!e.trim();function vi({label:e,note:t,height:n,nodeRef:r,style:i}){return(0,B.jsxs)(`div`,{ref:r,style:{...k(i),minHeight:mi(n,320),display:`flex`,flexDirection:`column`,alignItems:`center`,justifyContent:`center`,gap:6,border:`1px dashed rgba(148,163,184,.55)`,borderRadius:10,background:`rgba(148,163,184,.08)`,...fe,color:`rgba(100,116,139,.95)`,fontSize:13,textAlign:`center`,padding:16},children:[(0,B.jsx)(`div`,{style:{fontWeight:600},children:e}),t?(0,B.jsx)(`div`,{style:{fontSize:11,opacity:.8,maxWidth:320},children:t}):null]})}function yi({src:e,poster:t,alt:n,height:r,bg:i,autoRotate:a,rotateDelay:o,cameraControls:s,ar:c,exposure:u,shadow:d,fieldOfView:f,environment:p,style:m,nodeRef:h,inert:g}){let[_,v]=(0,l.useState)(typeof window<`u`&&!!window.customElements?.get(`model-viewer`)),[y,b]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(_||!e)return;let t=!0;return li().then(()=>t&&v(!0),()=>t&&b(!0)),()=>{t=!1}},[_,e]);let x={display:`block`,width:`100%`,minHeight:mi(r,360),height:mi(r,360),backgroundColor:i||`transparent`,...k(m)};if(!e)return g?(0,B.jsx)(vi,{nodeRef:h,style:m,height:r,label:`3D Model`,note:`Pick a .glb or .gltf file in the Settings panel.`}):(0,B.jsx)(`div`,{ref:h,style:x});if(y)return(0,B.jsx)(`div`,{ref:h,style:{...x,display:`flex`,alignItems:`center`,justifyContent:`center`},children:t?(0,B.jsx)(`img`,{src:t,alt:n||``,style:{maxWidth:`100%`,maxHeight:`100%`}}):null});let S=e=>e?``:void 0,C=a!==!1;return(0,B.jsx)(`model-viewer`,{ref:h,src:e,alt:n||`A 3D model`,poster:t||void 0,style:x,"camera-controls":S(!g&&s!==!1),"auto-rotate":S(C&&!ui()),"auto-rotate-delay":C?String(mi(o,0)):void 0,"rotation-per-second":`18deg`,ar:S(!g&&c===!0),"ar-modes":`webxr scene-viewer quick-look`,"shadow-intensity":String(hi(d,100)),exposure:String(hi(u,100)),"field-of-view":f?`${Number(f)}deg`:void 0,"environment-image":p&&p!==`neutral`?p:`neutral`,"interaction-prompt":g?`none`:void 0,loading:`lazy`,"touch-action":`pan-y`,children:t?(0,B.jsx)(`img`,{slot:`poster`,src:t,alt:n||``,style:{width:`100%`,height:`100%`,objectFit:`contain`}}):null})}var bi=[`attribute vec2 p;`,`void main() { gl_Position = vec4(p, 0.0, 1.0); }`].join(`
87
+ `),xi=[`precision highp float;`,`uniform vec2 u_res;`,`uniform float u_time;`,`uniform vec2 u_mouse;`,`uniform vec3 u_a;`,`uniform vec3 u_b;`,`uniform vec3 u_c;`,`uniform float u_scale;`,``,`float hash(vec2 p){ return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453123); }`,`float noise(vec2 p){`,` vec2 i = floor(p); vec2 f = fract(p);`,` vec2 u = f * f * (3.0 - 2.0 * f);`,` return mix(mix(hash(i), hash(i + vec2(1.0, 0.0)), u.x),`,` mix(hash(i + vec2(0.0, 1.0)), hash(i + vec2(1.0, 1.0)), u.x), u.y);`,`}`,`float fbm(vec2 p){`,` float v = 0.0; float a = 0.5;`,` for (int i = 0; i < 5; i++) { v += a * noise(p); p *= 2.02; a *= 0.5; }`,` return v;`,`}`,``].join(`
88
+ `),Si={gradient:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 sp = (gl_FragCoord.xy - 0.5 * u_res) / min(u_res.x, u_res.y);`,` float t = u_time * 0.25;`,` float d1 = length(sp - vec2(sin(t) * 0.4, cos(t * 0.8) * 0.3) - u_mouse * 0.25);`,` float d2 = length(sp + vec2(cos(t * 1.1) * 0.45, sin(t * 0.7) * 0.35));`,` vec3 col = mix(u_a, u_b, smoothstep(0.0, 1.0, d1 * u_scale));`,` col = mix(col, u_c, smoothstep(0.0, 1.2, d2 * u_scale) * 0.65);`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
89
89
  `),waves:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` float t = u_time * 0.5;`,` float y = uv.y * u_scale;`,` float w = sin((uv.x * 6.0) + t) * 0.08 + sin((uv.x * 11.0) - (t * 1.3)) * 0.05;`,` float band = smoothstep(0.0, 1.0, y + w + (u_mouse.y * 0.1));`,` vec3 col = mix(u_a, u_b, band);`,` col += u_c * (0.12 * smoothstep(0.02, 0.0, abs(y + w - 0.5)));`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
90
90
  `),plasma:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 p = (uv - 0.5) * u_scale * 3.0 + u_mouse * 0.3;`,` float t = u_time * 0.2;`,` float n = fbm(p + vec2(fbm(p + t), fbm(p - t)));`,` vec3 col = mix(u_a, u_b, smoothstep(0.25, 0.75, n));`,` col = mix(col, u_c, smoothstep(0.6, 0.95, n));`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
91
91
  `),grid:[`void main(){`,` vec2 uv = gl_FragCoord.xy / u_res;`,` vec2 sp = (gl_FragCoord.xy - 0.5 * u_res) / min(u_res.x, u_res.y);`,` float t = u_time * 0.15;`,` vec2 g = sp * (8.0 * u_scale);`,` g.y += t;`,` vec2 f = abs(fract(g) - 0.5);`,` float line = smoothstep(0.48, 0.5, max(f.x, f.y));`,` float glow = 1.0 - smoothstep(0.0, 0.9, length(sp - u_mouse * 0.4));`,` vec3 col = mix(u_a, u_b, line);`,` col += u_c * glow * 0.35;`,` gl_FragColor = vec4(col, 1.0);`,`}`].join(`
92
- `)};function Si(e,t){let n=/^#?([0-9a-f]{6})$/i.exec(String(e??``).trim());if(!n)return t;let r=parseInt(n[1],16);return[(r>>16&255)/255,(r>>8&255)/255,(r&255)/255]}function Ci(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(t||`Shader failed to compile`)}return r}function wi({preset:e,code:t,colorA:n,colorB:r,colorC:i,speed:a,scale:o,height:s,interactive:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),m=(0,l.useRef)(null),h=(0,l.useRef)(null),[g,_]=(0,l.useState)(``);(0,l.useEffect)(()=>()=>{let e=h.current;h.current=null,e?.getExtension(`WEBGL_lose_context`)?.loseContext()},[]);let v=typeof t==`string`&&t.trim()?t:xi[e]??xi.gradient,y=String(n??``),b=String(r??``),x=String(i??``),S=mi(a,100),C=Math.max(.05,mi(o,100));return(0,l.useEffect)(()=>{let e=p.current,t=m.current;if(!e||!t)return;let n=h.current??=e.getContext(`webgl`,{antialias:!0,alpha:!0,premultipliedAlpha:!1});if(!n){_(`WebGL is not available in this browser`);return}let r=null;try{let e=Ci(n,n.VERTEX_SHADER,yi),t=Ci(n,n.FRAGMENT_SHADER,bi+v);if(r=n.createProgram(),n.attachShader(r,e),n.attachShader(r,t),n.linkProgram(r),!n.getProgramParameter(r,n.LINK_STATUS))throw Error(n.getProgramInfoLog(r)||`Link failed`);_(``)}catch(e){_(e?.message||`Shader failed to compile`);return}n.useProgram(r);let i=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,i),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),n.STATIC_DRAW);let a=n.getAttribLocation(r,`p`);n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0);let o=e=>n.getUniformLocation(r,e),s={res:o(`u_res`),time:o(`u_time`),mouse:o(`u_mouse`),a:o(`u_a`),b:o(`u_b`),c:o(`u_c`),scale:o(`u_scale`)},l={x:0,y:0},u=t=>{let n=e.getBoundingClientRect();!n.width||!n.height||(l.x=((t.clientX-n.left)/n.width-.5)*2,l.y=(.5-(t.clientY-n.top)/n.height)*2)};c!==!1&&t.addEventListener(`pointermove`,u);let d=()=>{let r=ui(),i=Math.max(1,Math.round(t.clientWidth*r)),a=Math.max(1,Math.round(t.clientHeight*r));(e.width!==i||e.height!==a)&&(e.width=i,e.height=a,n.viewport(0,0,i,a))},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let g=li(),w={a:Si(y,[.35,.4,.95]),b:Si(b,[.05,.06,.16]),c:Si(x,[.95,.35,.6])},T={};return T.stop=di(t,(t,r)=>{d(),n.uniform2f(s.res,e.width,e.height),n.uniform1f(s.time,(g?0:r)*S),n.uniform2f(s.mouse,l.x,l.y),n.uniform3fv(s.a,w.a),n.uniform3fv(s.b,w.b),n.uniform3fv(s.c,w.c),n.uniform1f(s.scale,C),n.drawArrays(n.TRIANGLES,0,3),g&&T.stop?.()}),()=>{T.stop?.(),f?.disconnect(),t.removeEventListener(`pointermove`,u),n.deleteProgram(r),n.deleteBuffer(i)}},[v,y,b,x,S,C,c]),(0,B.jsxs)(`div`,{ref:e=>{m.current=e,typeof d==`function`&&d(e)},style:{position:`relative`,minHeight:pi(s,320),overflow:`hidden`,...k(u)},children:[(0,B.jsx)(`canvas`,{ref:p,style:{display:`block`,width:`100%`,height:`100%`,position:`absolute`,inset:0}}),g&&f?(0,B.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:12,background:`rgba(15,23,42,.75)`,...fe,color:`#fecaca`,fontSize:11,whiteSpace:`pre-wrap`,overflow:`auto`},children:g}):null]})}function Ti(e,t){let n=new e.Scene,r=new e.BoxGeometry;r.deleteAttribute(`uv`);let i=new e.Mesh(r,new e.MeshBasicMaterial({side:e.BackSide,color:6710886}));i.scale.setScalar(12),n.add(i);let a=(t,i,a,o,s,c,l,u)=>{let d=new e.Mesh(r,new e.MeshBasicMaterial);d.material.color.setHex(t),d.material.color.multiplyScalar(i),d.position.set(a,o,s),d.scale.set(c,l,u),n.add(d)};a(16777215,4,0,6,0,10,.5,10),a(16777215,1.4,-6,1,2,.4,6,6),a(16777215,1,6,1,-2,.4,6,6);let o=new e.PMREMGenerator(t),s=o.fromScene(n,.04);return o.dispose(),r.dispose(),n.traverse(e=>e.material?.dispose?.()),s.texture}var Ei=new Map;function Di(e){if(Ei.has(e))return Ei.get(e);let t=si(`loaders/GLTFLoader.js`).then(t=>new Promise((n,r)=>{new t.GLTFLoader().load(e,e=>n(e.scene),void 0,r)})).catch(t=>{throw Ei.delete(e),t});return Ei.set(e,t),t}function Oi(e,t){let n=new e.Box3().setFromObject(t);if(n.isEmpty())return t;let r=n.getSize(new e.Vector3),i=n.getCenter(new e.Vector3),a=Math.max(r.x,r.y,r.z)||1,o=new e.Group;return t.position.sub(i),t.scale.multiplyScalar(1/a),t.position.multiplyScalar(1/a),o.add(t),o}var ki={box:e=>new e.BoxGeometry(1,1,1,1,1,1),sphere:e=>new e.SphereGeometry(.62,48,32),torus:e=>new e.TorusGeometry(.5,.2,24,64),knot:e=>new e.TorusKnotGeometry(.44,.15,128,24),cone:e=>new e.ConeGeometry(.55,1.1,48),cylinder:e=>new e.CylinderGeometry(.45,.45,1.1,48),plane:e=>new e.PlaneGeometry(1.4,1.4),capsule:e=>new e.CapsuleGeometry(.35,.6,8,32)},Ai=(e,t)=>Number.isFinite(Number(e))?Number(e):t;function H({objects:e,background:t,cameraDistance:n,fov:r,autoRotate:i,spinSpeed:a,controls:o,ground:s,height:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),[m,h]=(0,l.useState)(!1),g=Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):[],_=JSON.stringify(g),v=i!==!1&&!li(),y=o!==!1&&!f;return(0,l.useEffect)(()=>{let e=p.current;if(!e)return;let i=!0,o=null;return oi().then(c=>{if(!i||!e)return;let l=new c.WebGLRenderer({antialias:!0,alpha:!t});l.setPixelRatio(ui()),l.shadowMap.enabled=s!==!1,l.shadowMap.type=c.PCFSoftShadowMap,l.outputColorSpace=c.SRGBColorSpace,l.toneMapping=c.ACESFilmicToneMapping,l.domElement.style.display=`block`,l.domElement.style.width=`100%`,l.domElement.style.height=`100%`,e.appendChild(l.domElement);let u=new c.Scene;t&&(u.background=new c.Color(t)),u.environment=Ti(c,l);let d=new c.PerspectiveCamera(Ai(r,45),1,.1,400),f=fi(d,l.domElement,{distance:Ai(n,5),enableZoom:y}),p=new c.DirectionalLight(16777215,2.2);p.position.set(4,7,5),p.castShadow=s!==!1,p.shadow.mapSize.set(1024,1024),p.shadow.camera.near=.5,p.shadow.camera.far=30,u.add(p,new c.AmbientLight(16777215,.35));let m=[],h=new c.Group,_=(e,t)=>{let n=Ai(t.scale,1);e.position.set(Ai(t.x,0),Ai(t.y,0),Ai(t.z,0)),e.rotation.set(hi(t.rx),hi(t.ry),hi(t.rz)),e.scale.setScalar(n>0?n:1),e.userData.spin=hi(t.spin)};for(let e of g){if(e.shape===`model`){if(!gi(e.src))continue;let t=new c.Group;_(t,e),h.add(t),Di(e.src).then(e=>{if(!i)return;let n=Oi(c,e.clone(!0));n.traverse(e=>{e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)}),t.add(n)},()=>{});continue}let t=(ki[e.shape]??ki.box)(c),n=new c.MeshStandardMaterial({color:/^#?[0-9a-f]{6}$/i.test(String(e.color??``))?e.color:`#6366f1`,metalness:Math.min(1,Math.max(0,mi(e.metalness,10))),roughness:Math.min(1,Math.max(0,mi(e.roughness,35))),transparent:mi(e.opacity,100)<1,opacity:Math.min(1,Math.max(0,mi(e.opacity,100))),flatShading:e.flat===!0,wireframe:e.wireframe===!0,side:e.shape===`plane`?c.DoubleSide:c.FrontSide}),r=new c.Mesh(t,n);_(r,e),r.castShadow=!0,r.receiveShadow=!0,h.add(r),m.push(t,n)}u.add(h);let b=null;if(s!==!1){let e=new c.ShadowMaterial({opacity:.22}),t=new c.PlaneGeometry(60,60);b=new c.Mesh(t,e),b.rotation.x=-Math.PI/2,b.position.y=Ai(s===!0?0:s,-.85),b.receiveShadow=!0,u.add(b),m.push(t,e)}let x=()=>{let t=Math.max(1,e.clientWidth),n=Math.max(1,e.clientHeight);l.setSize(t,n,!1),d.aspect=t/n,d.updateProjectionMatrix()},S=typeof ResizeObserver>`u`?null:new ResizeObserver(x);S?.observe(e),x();let C=hi(Number.isFinite(Number(a))?a:20),w=di(e,e=>{f.autoSpin(v?C:0,e),f.update();for(let t of h.children)t.userData.spin&&(t.rotation.y+=t.userData.spin*e);l.render(u,d)});o=()=>{w(),S?.disconnect(),f.dispose();for(let e of m)e.dispose?.();u.environment?.dispose?.(),l.dispose(),l.domElement.remove()}},()=>{i&&h(!0)}),()=>{i=!1,o?.()}},[_,t,n,r,v,a,y,s]),m&&f?(0,B.jsx)(_i,{nodeRef:d,style:u,height:c,label:`3D Scene`,note:`The 3D engine could not be loaded. Check the connection and try again.`}):(0,B.jsx)(`div`,{ref:e=>{p.current=e,typeof d==`function`&&d(e)},style:{minHeight:pi(c,380),height:pi(c,380),overflow:`hidden`,touchAction:y?`pan-y`:void 0,...k(u)}})}function U({code:e,height:t,background:n,style:r,nodeRef:i,inert:a}){let o=(0,l.useRef)(null),[s,c]=(0,l.useState)(``);return(0,l.useEffect)(()=>{let t=o.current;if(a||!t||typeof e!=`string`||!e.trim())return;let r=!0,i=null;return oi().then(a=>{if(!r||!t)return;let o=new a.WebGLRenderer({antialias:!0,alpha:!n});o.setPixelRatio(ui()),o.outputColorSpace=a.SRGBColorSpace,o.domElement.style.display=`block`,o.domElement.style.width=`100%`,o.domElement.style.height=`100%`,t.appendChild(o.domElement);let s=new a.Scene;n&&(s.background=new a.Color(n));let l=new a.PerspectiveCamera(45,1,.1,1e3);l.position.set(0,1.2,4);let u=null;try{u=Function(`ctx`,`"use strict";\n${e}`)({THREE:a,scene:s,camera:l,renderer:o,canvas:o.domElement,host:t})}catch(e){c(e?.message||String(e))}let d=()=>{let e=Math.max(1,t.clientWidth),n=Math.max(1,t.clientHeight);o.setSize(e,n,!1),l.aspect=e/n,l.updateProjectionMatrix()},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let p=!1,m=di(t,(e,t)=>{if(!p&&typeof u?.frame==`function`)try{u.frame(e,t)}catch(e){p=!0,c(e?.message||String(e))}o.render(s,l)});i=()=>{m(),f?.disconnect();try{u?.dispose?.()}catch{}o.dispose(),o.domElement.remove()}}),()=>{r=!1,i?.()}},[e,a,n]),a?(0,B.jsx)(_i,{nodeRef:i,style:r,height:t,label:`three.js`,note:typeof e==`string`&&e.trim()?`Custom scene code runs in Preview and on the published page.`:`Open the code editor in the Settings panel to write your scene.`}):(0,B.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`&&i(e)},style:{minHeight:pi(t,380),height:pi(t,380),overflow:`hidden`,position:`relative`,touchAction:`pan-y`,...k(r)},children:s?(0,B.jsx)(`div`,{style:{position:`absolute`,left:8,top:8,right:8,padding:`6px 8px`,borderRadius:6,background:`rgba(127,29,29,.85)`,...fe,color:`#fee2e2`,fontSize:11},children:s}):null})}var ji={ModelViewerBlock:vi,ShaderBlock:wi,SceneBlock:H,ThreeCanvasBlock:U},Mi=new Map;function Ni(e){if(Mi.has(e))return Mi.get(e);let t=URL.createObjectURL(new Blob([e],{type:`text/javascript`})),n=import(t).finally(()=>URL.revokeObjectURL(t));return Mi.set(e,n),n}function Pi(e){let t=e&&typeof e==`object`?e.builder_plugins:null,n=t&&typeof t==`object`?t.plugins:null;return n&&typeof n==`object`?n:{}}async function Fi(e,t){let n=await Ni(e);return(Array.isArray(n?.default?.blocks)?n.default.blocks:[]).find(e=>e?.id===t&&typeof e.mount==`function`)??null}var Ii={padding:`10px 12px`,border:`1px dashed rgba(148, 163, 184, 0.5)`,borderRadius:8,fontSize:12,opacity:.6};function Li({pluginId:e,blockId:t,props:n,style:r,nodeRef:i}){let a=(0,l.useContext)(Me),o=Pi(a?.settings)[e],s=(0,l.useRef)(null),c=(0,l.useRef)(null),u={tenant:a?.tenant??``,apiUrl:a?.apiUrl??`/api`,locale:a?.locale??``,settings:a?.settings??null},d=(0,l.useRef)(u);d.current=u;let f=JSON.stringify(n??{});return(0,l.useEffect)(()=>{let e=s.current;if(!o?.code||!e)return;let n=!0;return Fi(o.code,t).then(e=>{if(!(!n||!e||!s.current)){c.current=e;try{e.mount(s.current,JSON.parse(f),d.current)}catch{c.current=null}}}).catch(()=>{}),()=>{n=!1;let t=c.current;c.current=null;try{t?.unmount?.(e)}catch{}e&&(e.innerHTML=``)}},[o?.code,t]),(0,l.useEffect)(()=>{let e=c.current,t=s.current;if(!(!e||!t))try{e.update?e.update(t,JSON.parse(f),d.current):(e.unmount?.(t),t.innerHTML=``,e.mount(t,JSON.parse(f),d.current))}catch{}},[f]),o?(0,B.jsx)(`div`,{ref:i,style:k(r),children:(0,B.jsx)(`div`,{ref:s})}):(0,B.jsxs)(`div`,{ref:i,style:{...Ii,...k(r)},children:[`Plugin “`,e,`” is not installed`]})}var Ri={...vr,...Zr,...ji,PluginBlock:Li};function zi(e,t,n,r=new Set,i=void 0){let a=t[e];if(!a||a.hidden)return null;let o=a.type?.resolvedName,s=i?.mapProps?i.mapProps(a.props??{},o):a.props??{};if(o===`ComponentInstance`){let t=a.props?.componentId,o=n?.[t];if(!o?.template||r.has(t))return null;let s=new Set(r).add(t);return(0,B.jsx)(l.Fragment,{children:zi(o.template.rootId,o.template.nodes,n,s,i)},e)}let c=Ri[o];if(!c)return null;let u=(a.nodes??[]).map(e=>zi(e,t,n,r,i)).filter(Boolean),d=Object.entries(a.linkedNodes??{}),f=d.length?Object.fromEntries(d.map(([e,a])=>[e,zi(a,t,n,r,i)])):void 0,p=(0,B.jsx)(c,{...s,...o===`CollectionList`?{templateId:a.linkedNodes?.card}:null,linked:f,nodeRef:t=>{t&&(t.setAttribute(`data-wb`,e),ie(t,s),re(t,i?.events===!1?[]:s.events))},children:u.length?u:void 0},e);return s.when&&s.when!==`always`?(0,B.jsx)(Or,{when:s.when,children:p},e):p}var Bi=e=>Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(` `),Vi=e=>`.webim-page[data-webim-mode="light"] { ${Object.entries(be(e.light)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }
93
- .webim-page[data-webim-mode="dark"] { ${Object.entries(be(e.dark)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }`;function Hi({blocks:e,theme:t,components:n,mode:r=`auto`,style:i,custom:a,animations:o,tenant:s,apiUrl:c,datasets:u,locale:d,direction:f,settings:p,siteUser:m}){let g=a?.js?.trim();if((0,l.useEffect)(()=>{if(!g)return;let e=document.createElement(`script`);return e.text=g,document.body.appendChild(e),()=>e.remove()},[g]),!e?.ROOT)return null;let _={lang:d||void 0,dir:Ae(f,d)},y=`.webim-page, .webim-page *, .webim-page *::before, .webim-page *::after { box-sizing: border-box; }`,b={minHeight:`100%`,display:`flex`,flexDirection:`column`},x=zi(`ROOT`,e,n),S=(0,l.useMemo)(()=>({render:(t,r)=>zi(t,e,n,void 0,{mapProps:r})}),[e,n]),C=ue(e,n),w=le(e,n),E=a?.css?.trim(),D=T(o),O=ye(t),k=[O.font,O.headingFont].filter(e=>typeof e==`string`&&e.trim()&&e!==`inherit`&&!ge[e]),A=[...new Set([...v(e,n),...k])].map(e=>(0,B.jsx)(`link`,{rel:`stylesheet`,precedence:`default`,href:h(e)},e)),j=Vi(O);return r===`auto`?(0,B.jsx)(Me.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null},children:(0,B.jsx)(Dr,{initialUser:m,children:(0,B.jsx)(Ne.Provider,{value:u??null,children:(0,B.jsx)(Le.Provider,{value:S,children:(0,B.jsxs)(`div`,{..._,className:`webim-page`,style:{...b,...xe(t),...i},children:[(0,B.jsx)(`style`,{children:`.webim-page { ${Bi(be(O.light))} }
94
- @media (prefers-color-scheme: dark) { .webim-page { ${Bi(be(O.dark))} } }`}),(0,B.jsx)(`style`,{children:j}),A,(0,B.jsx)(`style`,{children:y}),C&&(0,B.jsx)(`style`,{children:C}),w&&(0,B.jsx)(`style`,{children:w}),E&&(0,B.jsx)(`style`,{children:E}),x]})})})})}):(0,B.jsx)(Me.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null},children:(0,B.jsx)(Dr,{initialUser:m,children:(0,B.jsx)(Ne.Provider,{value:u??null,children:(0,B.jsx)(Le.Provider,{value:S,children:(0,B.jsxs)(`div`,{..._,className:`webim-page`,style:{...b,...we(t,r),...i},children:[A,(0,B.jsx)(`style`,{children:j}),(0,B.jsx)(`style`,{children:y}),C&&(0,B.jsx)(`style`,{children:C}),w&&(0,B.jsx)(`style`,{children:w}),D&&(0,B.jsx)(`style`,{children:D}),D&&(0,B.jsx)(`style`,{children:D}),E&&(0,B.jsx)(`style`,{children:E}),x]})})})})})}function Ui({bundle:e,mode:t=`auto`,style:n}){return e?.blocks?.ROOT?(0,B.jsx)(Hi,{blocks:e.blocks,theme:e.theme,components:e.components,custom:e.custom,animations:e.animations,tenant:e.tenant,apiUrl:e.apiUrl,datasets:e.datasets,locale:e.locale,direction:e.direction,settings:e.settings,mode:R(t,e.scheme),style:n}):null}function Wi({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a,mode:o=`auto`,style:s,fallback:c=null,errorFallback:u=null,onLoad:d,onError:f}){let[p,m]=(0,l.useState)({status:`loading`}),h=(0,l.useRef)({onLoad:d,onError:f});return h.current={onLoad:d,onError:f},(0,l.useEffect)(()=>{let o=!0;return m({status:`loading`}),De({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a}).then(e=>{o&&(m({status:`ready`,bundle:e}),h.current.onLoad?.(e))}).catch(e=>{o&&(m({status:`error`,error:e}),h.current.onError?.(e))}),()=>{o=!1}},[e,t,n,r,i,a]),p.status===`loading`?c:p.status===`error`?typeof u==`function`?u(p.error):u:(0,B.jsx)(Ui,{bundle:p.bundle,mode:o,style:s})}function Gi(e,t={}){let n=(0,u.createRoot)(e);return n.render((0,B.jsx)(Wi,{apiUrl:t.apiUrl||t.api,tenant:t.tenant,slug:t.slug,locale:t.locale||void 0,token:t.token||void 0,mode:t.mode||`auto`,onError:e=>console.error(`[webim-embed]`,t.slug,e)})),n}function Ki(e=document){for(let t of e.querySelectorAll(`[data-webim-page]:not([data-webim-mounted])`))t.setAttribute(`data-webim-mounted`,``),Gi(t,t.dataset)}var qi=document.currentScript,Ji=()=>{if(Ki(),qi?.dataset.slug){let e=document.createElement(`div`);e.setAttribute(`data-webim-mounted`,``),qi.parentElement&&qi.parentElement!==document.head?qi.insertAdjacentElement(`beforebegin`,e):document.body.appendChild(e),Gi(e,qi.dataset)}};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Ji,{once:!0}):Ji(),window.WebimEmbed={mount:Gi,scan:Ki}})();
92
+ `)};function Ci(e,t){let n=/^#?([0-9a-f]{6})$/i.exec(String(e??``).trim());if(!n)return t;let r=parseInt(n[1],16);return[(r>>16&255)/255,(r>>8&255)/255,(r&255)/255]}function wi(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){let t=e.getShaderInfoLog(r);throw e.deleteShader(r),Error(t||`Shader failed to compile`)}return r}function Ti({preset:e,code:t,colorA:n,colorB:r,colorC:i,speed:a,scale:o,height:s,interactive:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),m=(0,l.useRef)(null),h=(0,l.useRef)(null),[g,_]=(0,l.useState)(``);(0,l.useEffect)(()=>()=>{let e=h.current;h.current=null,e?.getExtension(`WEBGL_lose_context`)?.loseContext()},[]);let v=typeof t==`string`&&t.trim()?t:Si[e]??Si.gradient,y=String(n??``),b=String(r??``),x=String(i??``),S=hi(a,100),C=Math.max(.05,hi(o,100));return(0,l.useEffect)(()=>{let e=p.current,t=m.current;if(!e||!t)return;let n=h.current??=e.getContext(`webgl`,{antialias:!0,alpha:!0,premultipliedAlpha:!1});if(!n){_(`WebGL is not available in this browser`);return}let r=null;try{let e=wi(n,n.VERTEX_SHADER,bi),t=wi(n,n.FRAGMENT_SHADER,xi+v);if(r=n.createProgram(),n.attachShader(r,e),n.attachShader(r,t),n.linkProgram(r),!n.getProgramParameter(r,n.LINK_STATUS))throw Error(n.getProgramInfoLog(r)||`Link failed`);_(``)}catch(e){_(e?.message||`Shader failed to compile`);return}n.useProgram(r);let i=n.createBuffer();n.bindBuffer(n.ARRAY_BUFFER,i),n.bufferData(n.ARRAY_BUFFER,new Float32Array([-1,-1,3,-1,-1,3]),n.STATIC_DRAW);let a=n.getAttribLocation(r,`p`);n.enableVertexAttribArray(a),n.vertexAttribPointer(a,2,n.FLOAT,!1,0,0);let o=e=>n.getUniformLocation(r,e),s={res:o(`u_res`),time:o(`u_time`),mouse:o(`u_mouse`),a:o(`u_a`),b:o(`u_b`),c:o(`u_c`),scale:o(`u_scale`)},l={x:0,y:0},u=t=>{let n=e.getBoundingClientRect();!n.width||!n.height||(l.x=((t.clientX-n.left)/n.width-.5)*2,l.y=(.5-(t.clientY-n.top)/n.height)*2)};c!==!1&&t.addEventListener(`pointermove`,u);let d=()=>{let r=di(),i=Math.max(1,Math.round(t.clientWidth*r)),a=Math.max(1,Math.round(t.clientHeight*r));(e.width!==i||e.height!==a)&&(e.width=i,e.height=a,n.viewport(0,0,i,a))},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let g=ui(),w={a:Ci(y,[.35,.4,.95]),b:Ci(b,[.05,.06,.16]),c:Ci(x,[.95,.35,.6])},T={};return T.stop=fi(t,(t,r)=>{d(),n.uniform2f(s.res,e.width,e.height),n.uniform1f(s.time,(g?0:r)*S),n.uniform2f(s.mouse,l.x,l.y),n.uniform3fv(s.a,w.a),n.uniform3fv(s.b,w.b),n.uniform3fv(s.c,w.c),n.uniform1f(s.scale,C),n.drawArrays(n.TRIANGLES,0,3),g&&T.stop?.()}),()=>{T.stop?.(),f?.disconnect(),t.removeEventListener(`pointermove`,u),n.deleteProgram(r),n.deleteBuffer(i)}},[v,y,b,x,S,C,c]),(0,B.jsxs)(`div`,{ref:e=>{m.current=e,typeof d==`function`&&d(e)},style:{position:`relative`,minHeight:mi(s,320),overflow:`hidden`,...k(u)},children:[(0,B.jsx)(`canvas`,{ref:p,style:{display:`block`,width:`100%`,height:`100%`,position:`absolute`,inset:0}}),g&&f?(0,B.jsx)(`div`,{style:{position:`absolute`,inset:0,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:12,background:`rgba(15,23,42,.75)`,...fe,color:`#fecaca`,fontSize:11,whiteSpace:`pre-wrap`,overflow:`auto`},children:g}):null]})}function Ei(e,t){let n=new e.Scene,r=new e.BoxGeometry;r.deleteAttribute(`uv`);let i=new e.Mesh(r,new e.MeshBasicMaterial({side:e.BackSide,color:6710886}));i.scale.setScalar(12),n.add(i);let a=(t,i,a,o,s,c,l,u)=>{let d=new e.Mesh(r,new e.MeshBasicMaterial);d.material.color.setHex(t),d.material.color.multiplyScalar(i),d.position.set(a,o,s),d.scale.set(c,l,u),n.add(d)};a(16777215,4,0,6,0,10,.5,10),a(16777215,1.4,-6,1,2,.4,6,6),a(16777215,1,6,1,-2,.4,6,6);let o=new e.PMREMGenerator(t),s=o.fromScene(n,.04);return o.dispose(),r.dispose(),n.traverse(e=>e.material?.dispose?.()),s.texture}var Di=new Map;function Oi(e){if(Di.has(e))return Di.get(e);let t=ci(`loaders/GLTFLoader.js`).then(t=>new Promise((n,r)=>{new t.GLTFLoader().load(e,e=>n(e.scene),void 0,r)})).catch(t=>{throw Di.delete(e),t});return Di.set(e,t),t}function ki(e,t){let n=new e.Box3().setFromObject(t);if(n.isEmpty())return t;let r=n.getSize(new e.Vector3),i=n.getCenter(new e.Vector3),a=Math.max(r.x,r.y,r.z)||1,o=new e.Group;return t.position.sub(i),t.scale.multiplyScalar(1/a),t.position.multiplyScalar(1/a),o.add(t),o}var Ai={box:e=>new e.BoxGeometry(1,1,1,1,1,1),sphere:e=>new e.SphereGeometry(.62,48,32),torus:e=>new e.TorusGeometry(.5,.2,24,64),knot:e=>new e.TorusKnotGeometry(.44,.15,128,24),cone:e=>new e.ConeGeometry(.55,1.1,48),cylinder:e=>new e.CylinderGeometry(.45,.45,1.1,48),plane:e=>new e.PlaneGeometry(1.4,1.4),capsule:e=>new e.CapsuleGeometry(.35,.6,8,32)},H=(e,t)=>Number.isFinite(Number(e))?Number(e):t;function U({objects:e,background:t,cameraDistance:n,fov:r,autoRotate:i,spinSpeed:a,controls:o,ground:s,height:c,style:u,nodeRef:d,inert:f}){let p=(0,l.useRef)(null),[m,h]=(0,l.useState)(!1),g=Array.isArray(e)?e.filter(e=>e&&typeof e==`object`):[],_=JSON.stringify(g),v=i!==!1&&!ui(),y=o!==!1&&!f;return(0,l.useEffect)(()=>{let e=p.current;if(!e)return;let i=!0,o=null;return si().then(c=>{if(!i||!e)return;let l=new c.WebGLRenderer({antialias:!0,alpha:!t});l.setPixelRatio(di()),l.shadowMap.enabled=s!==!1,l.shadowMap.type=c.PCFSoftShadowMap,l.outputColorSpace=c.SRGBColorSpace,l.toneMapping=c.ACESFilmicToneMapping,l.domElement.style.display=`block`,l.domElement.style.width=`100%`,l.domElement.style.height=`100%`,e.appendChild(l.domElement);let u=new c.Scene;t&&(u.background=new c.Color(t)),u.environment=Ei(c,l);let d=new c.PerspectiveCamera(H(r,45),1,.1,400),f=pi(d,l.domElement,{distance:H(n,5),enableZoom:y}),p=new c.DirectionalLight(16777215,2.2);p.position.set(4,7,5),p.castShadow=s!==!1,p.shadow.mapSize.set(1024,1024),p.shadow.camera.near=.5,p.shadow.camera.far=30,u.add(p,new c.AmbientLight(16777215,.35));let m=[],h=new c.Group,_=(e,t)=>{let n=H(t.scale,1);e.position.set(H(t.x,0),H(t.y,0),H(t.z,0)),e.rotation.set(gi(t.rx),gi(t.ry),gi(t.rz)),e.scale.setScalar(n>0?n:1),e.userData.spin=gi(t.spin)};for(let e of g){if(e.shape===`model`){if(!_i(e.src))continue;let t=new c.Group;_(t,e),h.add(t),Oi(e.src).then(e=>{if(!i)return;let n=ki(c,e.clone(!0));n.traverse(e=>{e.isMesh&&(e.castShadow=!0,e.receiveShadow=!0)}),t.add(n)},()=>{});continue}let t=(Ai[e.shape]??Ai.box)(c),n=new c.MeshStandardMaterial({color:/^#?[0-9a-f]{6}$/i.test(String(e.color??``))?e.color:`#6366f1`,metalness:Math.min(1,Math.max(0,hi(e.metalness,10))),roughness:Math.min(1,Math.max(0,hi(e.roughness,35))),transparent:hi(e.opacity,100)<1,opacity:Math.min(1,Math.max(0,hi(e.opacity,100))),flatShading:e.flat===!0,wireframe:e.wireframe===!0,side:e.shape===`plane`?c.DoubleSide:c.FrontSide}),r=new c.Mesh(t,n);_(r,e),r.castShadow=!0,r.receiveShadow=!0,h.add(r),m.push(t,n)}u.add(h);let b=null;if(s!==!1){let e=new c.ShadowMaterial({opacity:.22}),t=new c.PlaneGeometry(60,60);b=new c.Mesh(t,e),b.rotation.x=-Math.PI/2,b.position.y=H(s===!0?0:s,-.85),b.receiveShadow=!0,u.add(b),m.push(t,e)}let x=()=>{let t=Math.max(1,e.clientWidth),n=Math.max(1,e.clientHeight);l.setSize(t,n,!1),d.aspect=t/n,d.updateProjectionMatrix()},S=typeof ResizeObserver>`u`?null:new ResizeObserver(x);S?.observe(e),x();let C=gi(Number.isFinite(Number(a))?a:20),w=fi(e,e=>{f.autoSpin(v?C:0,e),f.update();for(let t of h.children)t.userData.spin&&(t.rotation.y+=t.userData.spin*e);l.render(u,d)});o=()=>{w(),S?.disconnect(),f.dispose();for(let e of m)e.dispose?.();u.environment?.dispose?.(),l.dispose(),l.domElement.remove()}},()=>{i&&h(!0)}),()=>{i=!1,o?.()}},[_,t,n,r,v,a,y,s]),m&&f?(0,B.jsx)(vi,{nodeRef:d,style:u,height:c,label:`3D Scene`,note:`The 3D engine could not be loaded. Check the connection and try again.`}):(0,B.jsx)(`div`,{ref:e=>{p.current=e,typeof d==`function`&&d(e)},style:{minHeight:mi(c,380),height:mi(c,380),overflow:`hidden`,touchAction:y?`pan-y`:void 0,...k(u)}})}function ji({code:e,height:t,background:n,style:r,nodeRef:i,inert:a}){let o=(0,l.useRef)(null),[s,c]=(0,l.useState)(``);return(0,l.useEffect)(()=>{let t=o.current;if(a||!t||typeof e!=`string`||!e.trim())return;let r=!0,i=null;return si().then(a=>{if(!r||!t)return;let o=new a.WebGLRenderer({antialias:!0,alpha:!n});o.setPixelRatio(di()),o.outputColorSpace=a.SRGBColorSpace,o.domElement.style.display=`block`,o.domElement.style.width=`100%`,o.domElement.style.height=`100%`,t.appendChild(o.domElement);let s=new a.Scene;n&&(s.background=new a.Color(n));let l=new a.PerspectiveCamera(45,1,.1,1e3);l.position.set(0,1.2,4);let u=null;try{u=Function(`ctx`,`"use strict";\n${e}`)({THREE:a,scene:s,camera:l,renderer:o,canvas:o.domElement,host:t})}catch(e){c(e?.message||String(e))}let d=()=>{let e=Math.max(1,t.clientWidth),n=Math.max(1,t.clientHeight);o.setSize(e,n,!1),l.aspect=e/n,l.updateProjectionMatrix()},f=typeof ResizeObserver>`u`?null:new ResizeObserver(d);f?.observe(t),d();let p=!1,m=fi(t,(e,t)=>{if(!p&&typeof u?.frame==`function`)try{u.frame(e,t)}catch(e){p=!0,c(e?.message||String(e))}o.render(s,l)});i=()=>{m(),f?.disconnect();try{u?.dispose?.()}catch{}o.dispose(),o.domElement.remove()}}),()=>{r=!1,i?.()}},[e,a,n]),a?(0,B.jsx)(vi,{nodeRef:i,style:r,height:t,label:`three.js`,note:typeof e==`string`&&e.trim()?`Custom scene code runs in Preview and on the published page.`:`Open the code editor in the Settings panel to write your scene.`}):(0,B.jsx)(`div`,{ref:e=>{o.current=e,typeof i==`function`&&i(e)},style:{minHeight:mi(t,380),height:mi(t,380),overflow:`hidden`,position:`relative`,touchAction:`pan-y`,...k(r)},children:s?(0,B.jsx)(`div`,{style:{position:`absolute`,left:8,top:8,right:8,padding:`6px 8px`,borderRadius:6,background:`rgba(127,29,29,.85)`,...fe,color:`#fee2e2`,fontSize:11},children:s}):null})}var Mi={ModelViewerBlock:yi,ShaderBlock:Ti,SceneBlock:U,ThreeCanvasBlock:ji},Ni=new Map;function Pi(e){if(Ni.has(e))return Ni.get(e);let t=URL.createObjectURL(new Blob([e],{type:`text/javascript`})),n=import(t).finally(()=>URL.revokeObjectURL(t));return Ni.set(e,n),n}function Fi(e){let t=e&&typeof e==`object`?e.builder_plugins:null,n=t&&typeof t==`object`?t.plugins:null;return n&&typeof n==`object`?n:{}}async function Ii(e,t){let n=await Pi(e);return(Array.isArray(n?.default?.blocks)?n.default.blocks:[]).find(e=>e?.id===t&&typeof e.mount==`function`)??null}var Li={padding:`10px 12px`,border:`1px dashed rgba(148, 163, 184, 0.5)`,borderRadius:8,fontSize:12,opacity:.6};function Ri({pluginId:e,blockId:t,props:n,style:r,nodeRef:i}){let a=(0,l.useContext)(Me),o=Fi(a?.settings)[e],s=(0,l.useRef)(null),c=(0,l.useRef)(null),u={tenant:a?.tenant??``,apiUrl:a?.apiUrl??`/api`,locale:a?.locale??``,settings:a?.settings??null},d=(0,l.useRef)(u);d.current=u;let f=JSON.stringify(n??{});return(0,l.useEffect)(()=>{let e=s.current;if(!o?.code||!e)return;let n=!0;return Ii(o.code,t).then(e=>{if(!(!n||!e||!s.current)){c.current=e;try{e.mount(s.current,JSON.parse(f),d.current)}catch{c.current=null}}}).catch(()=>{}),()=>{n=!1;let t=c.current;c.current=null;try{t?.unmount?.(e)}catch{}e&&(e.innerHTML=``)}},[o?.code,t]),(0,l.useEffect)(()=>{let e=c.current,t=s.current;if(!(!e||!t))try{e.update?e.update(t,JSON.parse(f),d.current):(e.unmount?.(t),t.innerHTML=``,e.mount(t,JSON.parse(f),d.current))}catch{}},[f]),o?(0,B.jsx)(`div`,{ref:i,style:k(r),children:(0,B.jsx)(`div`,{ref:s})}):(0,B.jsxs)(`div`,{ref:i,style:{...Li,...k(r)},children:[`Plugin “`,e,`” is not installed`]})}var zi={...yr,...Qr,...Mi,PluginBlock:Ri};function Bi(e,t,n,r=new Set,i=void 0){let a=t[e];if(!a||a.hidden)return null;let o=a.type?.resolvedName,s=i?.mapProps?i.mapProps(a.props??{},o):a.props??{};if(o===`ComponentInstance`){let t=a.props?.componentId,o=n?.[t];if(!o?.template||r.has(t))return null;let s=new Set(r).add(t);return(0,B.jsx)(l.Fragment,{children:Bi(o.template.rootId,o.template.nodes,n,s,i)},e)}let c=zi[o];if(!c)return null;let u=(a.nodes??[]).map(e=>Bi(e,t,n,r,i)).filter(Boolean),d=Object.entries(a.linkedNodes??{}),f=d.length?Object.fromEntries(d.map(([e,a])=>[e,Bi(a,t,n,r,i)])):void 0,p=(0,B.jsx)(c,{...s,...o===`CollectionList`?{templateId:a.linkedNodes?.card}:null,linked:f,nodeRef:t=>{t&&(t.setAttribute(`data-wb`,e),ie(t,s),re(t,i?.events===!1?[]:s.events))},children:u.length?u:void 0},e);return s.when&&s.when!==`always`?(0,B.jsx)(kr,{when:s.when,children:p},e):p}var Vi=e=>Object.entries(e).map(([e,t])=>`${e}: ${t};`).join(` `),Hi=e=>`.webim-page[data-webim-mode="light"] { ${Object.entries(be(e.light)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }
93
+ .webim-page[data-webim-mode="dark"] { ${Object.entries(be(e.dark)).map(([e,t])=>`${e}: ${t} !important;`).join(` `)} }`;function Ui({blocks:e,theme:t,components:n,mode:r=`auto`,style:i,custom:a,animations:o,tenant:s,apiUrl:c,datasets:u,locale:d,direction:f,settings:p,siteUser:m}){let g=a?.js?.trim();if((0,l.useEffect)(()=>{if(!g)return;let e=document.createElement(`script`);return e.text=g,document.body.appendChild(e),()=>e.remove()},[g]),!e?.ROOT)return null;let _={lang:d||void 0,dir:Ae(f,d)},y=`.webim-page, .webim-page *, .webim-page *::before, .webim-page *::after { box-sizing: border-box; }`,b={minHeight:`100%`,display:`flex`,flexDirection:`column`},x=Bi(`ROOT`,e,n),S=(0,l.useMemo)(()=>({render:(t,r)=>Bi(t,e,n,void 0,{mapProps:r})}),[e,n]),C=ue(e,n),w=le(e,n),E=a?.css?.trim(),D=T(o),O=ye(t),k=[O.font,O.headingFont].filter(e=>typeof e==`string`&&e.trim()&&e!==`inherit`&&!ge[e]),A=[...new Set([...v(e,n),...k])].map(e=>(0,B.jsx)(`link`,{rel:`stylesheet`,precedence:`default`,href:h(e)},e)),j=Hi(O);return r===`auto`?(0,B.jsx)(Me.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null},children:(0,B.jsx)(Or,{initialUser:m,children:(0,B.jsx)(Ne.Provider,{value:u??null,children:(0,B.jsx)(Le.Provider,{value:S,children:(0,B.jsxs)(`div`,{..._,className:`webim-page`,style:{...b,...xe(t),...i},children:[(0,B.jsx)(`style`,{children:`.webim-page { ${Vi(be(O.light))} }
94
+ @media (prefers-color-scheme: dark) { .webim-page { ${Vi(be(O.dark))} } }`}),(0,B.jsx)(`style`,{children:j}),A,(0,B.jsx)(`style`,{children:y}),C&&(0,B.jsx)(`style`,{children:C}),w&&(0,B.jsx)(`style`,{children:w}),E&&(0,B.jsx)(`style`,{children:E}),x]})})})})}):(0,B.jsx)(Me.Provider,{value:{tenant:s||``,apiUrl:c||`/api`,locale:d||``,settings:p??null},children:(0,B.jsx)(Or,{initialUser:m,children:(0,B.jsx)(Ne.Provider,{value:u??null,children:(0,B.jsx)(Le.Provider,{value:S,children:(0,B.jsxs)(`div`,{..._,className:`webim-page`,style:{...b,...we(t,r),...i},children:[A,(0,B.jsx)(`style`,{children:j}),(0,B.jsx)(`style`,{children:y}),C&&(0,B.jsx)(`style`,{children:C}),w&&(0,B.jsx)(`style`,{children:w}),D&&(0,B.jsx)(`style`,{children:D}),D&&(0,B.jsx)(`style`,{children:D}),E&&(0,B.jsx)(`style`,{children:E}),x]})})})})})}function Wi({bundle:e,mode:t=`auto`,style:n}){return e?.blocks?.ROOT?(0,B.jsx)(Ui,{blocks:e.blocks,theme:e.theme,components:e.components,custom:e.custom,animations:e.animations,tenant:e.tenant,apiUrl:e.apiUrl,datasets:e.datasets,locale:e.locale,direction:e.direction,settings:e.settings,mode:R(t,e.scheme),style:n}):null}function Gi({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a,mode:o=`auto`,style:s,fallback:c=null,errorFallback:u=null,onLoad:d,onError:f}){let[p,m]=(0,l.useState)({status:`loading`}),h=(0,l.useRef)({onLoad:d,onError:f});return h.current={onLoad:d,onError:f},(0,l.useEffect)(()=>{let o=!0;return m({status:`loading`}),De({apiUrl:e,tenant:t,slug:n,locale:r,preview:i,token:a}).then(e=>{o&&(m({status:`ready`,bundle:e}),h.current.onLoad?.(e))}).catch(e=>{o&&(m({status:`error`,error:e}),h.current.onError?.(e))}),()=>{o=!1}},[e,t,n,r,i,a]),p.status===`loading`?c:p.status===`error`?typeof u==`function`?u(p.error):u:(0,B.jsx)(Wi,{bundle:p.bundle,mode:o,style:s})}function Ki(e,t={}){let n=(0,u.createRoot)(e);return n.render((0,B.jsx)(Gi,{apiUrl:t.apiUrl||t.api,tenant:t.tenant,slug:t.slug,locale:t.locale||void 0,token:t.token||void 0,mode:t.mode||`auto`,onError:e=>console.error(`[webim-embed]`,t.slug,e)})),n}function qi(e=document){for(let t of e.querySelectorAll(`[data-webim-page]:not([data-webim-mounted])`))t.setAttribute(`data-webim-mounted`,``),Ki(t,t.dataset)}var Ji=document.currentScript,Yi=()=>{if(qi(),Ji?.dataset.slug){let e=document.createElement(`div`);e.setAttribute(`data-webim-mounted`,``),Ji.parentElement&&Ji.parentElement!==document.head?Ji.insertAdjacentElement(`beforebegin`,e):document.body.appendChild(e),Ki(e,Ji.dataset)}};document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,Yi,{once:!0}):Yi(),window.WebimEmbed={mount:Ki,scan:qi}})();