"use strict";(()=>{var Ct=Object.defineProperty;var wt=(t,e,o)=>e in t?Ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o;var G=(t,e,o)=>(wt(t,typeof e!="symbol"?e+"":e,o),o);var x="fs-attributes";var j="animation";var q="cmsattribute";var W="cmscore";var y="cmssort";var h="support";var X=async(...t)=>{var o;let e=[];for(let s of t){let r=await((o=window.fsAttributes[s])==null?void 0:o.loading);e.push(r)}return e};var d=class{static activateAlerts(){this.alertsActivated=!0}static alert(e,o){if(this.alertsActivated&&window.alert(e),o==="error")throw new Error(e)}};G(d,"alertsActivated",!1);var w=()=>{};function S(t,e,o,s){return t?(t.addEventListener(e,o,s),()=>t.removeEventListener(e,o,s)):w}var k="w--current";var N={dropdown:"w-dropdown",dropdownToggle:"w-dropdown-toggle",dropdownList:"w-dropdown-list"};var P=(t,e)=>(Array.isArray(e)||(e=[e]),e.map(s=>t.dispatchEvent(new Event(s,{bubbles:!0}))).every(s=>s));var z=t=>t instanceof Element;var Q=t=>t instanceof HTMLSelectElement;var $=t=>t!=null;var B=t=>typeof t=="string",K=t=>typeof t=="number";function J(t,e,o){var r;let s=window.fsAttributes[t];return s.destroy=o||w,(r=s.resolve)==null||r.call(s,e),e}var _=(t,e="1",o="iife")=>{let r=`${t}${o==="esm"?".esm":""}.js`;return`https://cdn.jsdelivr.net/npm/@finsweet/attributes-${t}@${e}/${r}`};var It=_(j,"1","esm"),Z=async()=>{let{fsAttributes:t}=window;t.animation||(t.animation={});let{animation:e}=t;if(e.import)return e.import;try{return e.import=import(It),e.import}catch(o){d.alert(`${o}`,"error");return}};var Rt=_(W,"1"),tt=async()=>{let{fsAttributes:t}=window;t.cmscore||(t.cmscore={});let{cmscore:e}=t;if(e.import)return e.import;try{return e.import=import(Rt),e.import.then(o=>{o&&(e.version||(e.version=o.version))}),e.import}catch(o){d.alert(`${o}`,"error");return}};var Lt=`${x}-${h}`,et=async()=>{var r;let{fsAttributes:t,location:e}=window,{host:o,searchParams:s}=new URL(e.href);return!o.includes("webflow.io")||!s.has(Lt)?!1:(r=t.import)==null?void 0:r.call(t,h,"1")};var I=t=>e=>`${t}${e?`-${e}`:""}`,U=t=>{let e=(r,i,n)=>{let c=t[r],{key:l,values:p}=c,a;if(!i)return`[${l}]`;let m=p==null?void 0:p[i];B(m)?a=m:a=m(n&&"instanceIndex"in n?n.instanceIndex:void 0);let u=n&&"caseInsensitive"in n&&n.caseInsensitive?"i":"";if(!(n!=null&&n.operator))return`[${l}="${a}"${u}]`;switch(n.operator){case"prefixed":return`[${l}^="${a}"${u}]`;case"suffixed":return`[${l}$="${a}"${u}]`;case"contains":return`[${l}*="${a}"${u}]`}};function o(r,i){let n=e("element",r,i),c=(i==null?void 0:i.scope)||document;return i!=null&&i.all?[...c.querySelectorAll(n)]:c.querySelector(n)}return[e,o,(r,i)=>{let n=t[i];return n?r.getAttribute(n.key):null}]};var R={preventLoad:{key:`${x}-preventload`},debugMode:{key:`${x}-debug`},src:{key:"src",values:{finsweet:"@finsweet/attributes"}},dev:{key:`${x}-dev`}},[H,to]=U(R);var ot=t=>{let{currentScript:e}=document,o={};if(!e)return{attributes:o,preventsLoad:!1};let r={preventsLoad:B(e.getAttribute(R.preventLoad.key)),attributes:o};for(let i in t){let n=e.getAttribute(t[i]);r.attributes[i]=n}return r};var rt=({scriptAttributes:t,attributeKey:e,version:o,init:s})=>{var c;Dt(),(c=window.fsAttributes)[e]||(c[e]={});let{preventsLoad:r,attributes:i}=ot(t),n=window.fsAttributes[e];n.version=o,n.init=s,r||(window.Webflow||(window.Webflow=[]),window.Webflow.push(()=>s(i)))},Dt=()=>{let t=vt();if(window.fsAttributes&&!Array.isArray(window.fsAttributes)){V(window.fsAttributes,t);return}let e=Mt(t);V(e,t),Nt(e),window.fsAttributes=e,window.FsAttributes=window.fsAttributes,et()},Mt=t=>{let e={cms:{},push(...o){var s,r;for(let[i,n]of o)(r=(s=this[i])==null?void 0:s.loading)==null||r.then(n)},async import(o,s){let r=e[o];return r||new Promise(i=>{let n=document.createElement("script");n.src=_(o,s),n.async=!0,n.onload=()=>{let[c]=V(e,[o]);i(c)},document.head.append(n)})},destroy(){var o,s;for(let r of t)(s=(o=window.fsAttributes[r])==null?void 0:o.destroy)==null||s.call(o)}};return e},vt=()=>{let t=H("src","finsweet",{operator:"contains"}),e=H("dev");return[...document.querySelectorAll(`script${t}, script${e}`)].reduce((r,i)=>{var c;let n=i.getAttribute(R.dev.key)||((c=i.src.match(/[\w-. ]+(?=(\.js)$)/))==null?void 0:c[0]);return n&&!r.includes(n)&&r.push(n),r},[])},V=(t,e)=>e.map(s=>{let r=t[s];return r||(t[s]={},r=t[s],r.loading=new Promise(i=>{r.resolve=n=>{i(n),delete r.resolve}}),r)}),Nt=t=>{let e=Array.isArray(window.fsAttributes)?window.fsAttributes:[];t.push(...e)};var st="1.13.1";var T=`fs-${y}`,Kt="list",Ut="trigger",Ot="dropdown-label",ht="scroll-anchor",kt="field",Pt="type",$t="easing",Ht="duration",Vt="asc",Yt="desc",Ft="reverse",E={element:{key:`${T}-element`,values:{list:I(Kt),trigger:I(Ut),dropdownLabel:I(Ot),scrollAnchor:I(ht)}},field:{key:`${T}-${kt}`},type:{key:`${T}-${Pt}`,values:{date:"date"}},easing:{key:`${T}-${$t}`},duration:{key:`${T}-${Ht}`},ascClass:{key:`${T}-${Vt}`},descClass:{key:`${T}-${Yt}`},reverse:{key:`${T}-${Ft}`,values:{true:"true"}}},[nt,L]=U(E),it=`${T}_asc`,ct=`${T}_desc`;var{field:{key:Gt},type:{key:jt}}=E,at=(t,e)=>{t.on("shouldcollectprops",async o=>{for(let s of o)s.collectProps({fieldKey:Gt,typeKey:jt})}),t.on("shouldsort",async()=>{await e(!0)})};var D="role";var lt="tabindex";var Y="aria-selected",pt="aria-haspopup",mt="aria-multiselectable";var ut="aria-sort";var dt=(t,e=!0)=>{e&&t.focus(),P(t,["click","mouseup"])};var ft=t=>{if(!!t)return parseFloat(t.replace(/[^0-9.-]+/g,""))};function g(t){return t==null?void 0:t.trim().toLowerCase()}var C=async(t,{direction:e,sortKey:o,addingItems:s})=>{let{items:r,staticItems:i}=t;if(!(!!e&&!!o&&r.some(({props:c})=>o in c)))t.restoreItemsOrder();else{r.sort((c,l)=>{let p=c.props[o],a=l.props[o],[m]=(p==null?void 0:p.values)||[],[u]=(a==null?void 0:a.values)||[];if(!m)return 1;if(!u)return-1;let{type:f}=p,A=f==="date";if(A||f==="number"){let[M,v]=[m,u].map(F=>A?new Date(F).getTime():ft(F));return!K(M)||isNaN(M)?1:!K(v)||isNaN(v)?-1:e==="asc"?M-v:v-M}let b={numeric:!0,sensitivity:"base"};return e==="asc"?m.localeCompare(u,void 0,b):u.localeCompare(m,void 0,b)});for(let c of i){let l=r.indexOf(c);l<0||!K(c.staticIndex)||(r.splice(l,1),r.splice(c.staticIndex,0,c))}}s||(await t.switchPage(1,!1),t.scrollToAnchor(),await t.renderItems())};var{ascClass:{key:Wt},descClass:{key:Xt},reverse:{key:zt,values:Qt}}=E,Et=(t,e,o)=>{let s=new Map,r=!1,i,n,c,l=async a=>{await C(e,{sortKey:c,direction:n,addingItems:a})},p=t.map(a=>(Jt(a,s,o),S(a,"click",async u=>{if(u.preventDefault(),r)return;r=!0;let f=s.get(a);if(!f){r=!1;return}c=f.sortKey,n=Zt(f.direction,f.reverse),i&&a!==i&&Tt(i,void 0,s),i=a,Tt(a,n,s),await l(),r=!1})));return{sortItems:l,cleanup:()=>{for(let a of p)a()}}},Jt=(t,e,o)=>{let s=t.getAttribute(E.field.key);if(!s)return;let r=g(s),i=t.getAttribute(zt)===Qt.true,n=t.getAttribute(Wt),c=t.getAttribute(Xt),l={sortKey:r,reverse:i,cssClasses:{asc:n||o.asc,desc:c||o.desc}};t.setAttribute(D,"columnheader"),t.setAttribute(lt,"0"),St(t),e.set(t,l),At(t,l)},At=(...[t,{cssClasses:e}])=>{for(let o of Object.values(e))t.classList.remove(o)},St=(t,e)=>{t.setAttribute(ut,e?e==="asc"?"ascending":"descending":"none")},Tt=(t,e,o)=>{let s=o.get(t);if(!s)return;let{cssClasses:r}=s;At(t,s),e&&t.classList.add(r[e]),St(t,e),s.direction=e},Zt=(t,e)=>t?t==="desc"?"asc":"desc":e?"desc":"asc";var{dropdownToggle:te,dropdownList:ee}=N,bt=(t,e)=>{let o=t.querySelector(`.${te}`),s=t.querySelector(`.${ee}`);if(!o||!s){d.alert("The cmssort Dropdown is missing a toggle or a list.","error");return}se(o,s);let r=re(o),i=oe(s);if(!i){d.alert("The cmssort Dropdown doesn't have any option.","error");return}let n=!1,c,l,p=async m=>{await C(e,{direction:l,sortKey:c,addingItems:m})},a=S(s,"click",async m=>{if(m.preventDefault(),n)return;n=!0;let{target:u}=m;if(!z(u)){n=!1;return}let f=u.closest("a");if(!f){n=!1;return}let A=i.find(({element:b})=>b===f);if(!A||A.selected){n=!1;return}let O=i.find(({selected:b})=>b);O&&(O.selected=!1),A.selected=!0,{sortKey:c,direction:l}=A,ne(i),r==null||r.updateContent(A),dt(o),await p(),n=!1});return{sortItems:p,cleanup:()=>{a()}}},oe=t=>{let e=[],o=t.querySelectorAll("a");if(!!o.length){for(let s of o){s.setAttribute(D,"option");let r=s.getAttribute(E.field.key),i,n;r&&(r.endsWith("-asc")?(n="asc",i=r.slice(0,-4)):r.endsWith("-desc")?(n="desc",i=r.slice(0,-5)):(n="asc",i=r)),i&&(i=g(i)),e.push({element:s,sortKey:i,direction:n,selected:!1})}return e}},re=t=>{let e=L("dropdownLabel",{operator:"prefixed",scope:t});if(!e)return;let o=e.innerHTML;return{element:e,originalHTML:o,updateContent:({element:r,sortKey:i})=>{e.innerHTML=i?r.innerHTML:o}}},se=(t,e)=>{t.setAttribute(pt,"listbox"),e.setAttribute(D,"listbox"),e.setAttribute(mt,"false")},ne=t=>{for(let{element:e,selected:o}of t){if(o){e.setAttribute(Y,"true"),e.classList.add(k);continue}e.removeAttribute(Y),e.classList.remove(k)}};var yt=async(t,e)=>{let[o,s]=xt(t.value),r=!1,i=async p=>{await C(e,{direction:s,sortKey:o,addingItems:p})},n=S(t,"change",async()=>{r||(r=!0,[o,s]=xt(t.value),await i(),r=!1)});o&&await i();let c=t.closest("form"),l=S(c,"submit",ie);return{sortItems:i,cleanup:()=>{n(),l()}}},ie=t=>(t.preventDefault(),t.stopImmediatePropagation(),!1),xt=t=>{let e,o;return t.endsWith("-asc")?(o="asc",e=t.slice(0,-4)):t.endsWith("-desc")?(o="desc",e=t.slice(0,-5)):(o="asc",e=t),e=g(e),[e,o]};var{element:{key:ce},field:{key:ae},type:{key:le},duration:{key:pe},easing:{key:me},ascClass:{key:ue},descClass:{key:de}}=E,_t=async(t,e)=>{let o=t.getInstanceIndex(ce),s=L("trigger",{instanceIndex:o,all:!0});if(!s.length)return;let{items:r}=t;for(let a of r)a.collectProps({fieldKey:ae,typeKey:le});if(e.addListAnimation(t,{durationKey:pe,easingKey:me}),!t.scrollAnchor){let a=L("scrollAnchor",{instanceIndex:o});a&&(t.scrollAnchor=a)}let i={asc:t.getAttribute(ue)||it,desc:t.getAttribute(de)||ct},[n]=s,c=Q(n),l=n.closest(`.${N.dropdown}`),p=c?await yt(n,t):l?bt(l,t):Et(s,t,i);if(!!p)return at(t,p.sortItems),p.cleanup};var gt=async()=>{let t=await tt();if(!t)return[];await X(q);let e=t.createCMSListInstances([nt("element","list",{operator:"prefixed"})]),o=(await Promise.all(e.map(s=>_t(s,t)))).filter($);return J(y,e,()=>{var s;for(let r of e)(s=r.destroy)==null||s.call(r);for(let r of o)r()})};rt({init:gt,version:st,attributeKey:y});Z();})();