@wix/interact 2.2.0 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-CzRuJxn8.js");exports.Interact=e.a;exports.add=e.b;exports.generate=e.g;exports.remove=e.r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index-C0nIxDnf.js");exports.Interact=e.a;exports.add=e.b;exports.generate=e.g;exports.remove=e.r;
2
2
  //# sourceMappingURL=index.js.map
package/dist/cjs/react.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react"),P=require("../index-CzRuJxn8.js");var q={exports:{}},$={};var Se;function dr(){if(Se)return $;Se=1;var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,j=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,x={key:!0,ref:!0,__self:!0,__source:!0};function R(_,f,T){var c,b={},E=null,L=null;T!==void 0&&(E=""+T),f.key!==void 0&&(E=""+f.key),f.ref!==void 0&&(L=f.ref);for(c in f)m.call(f,c)&&!x.hasOwnProperty(c)&&(b[c]=f[c]);if(_&&_.defaultProps)for(c in f=_.defaultProps,f)b[c]===void 0&&(b[c]=f[c]);return{$$typeof:y,type:_,key:E,ref:L,props:b,_owner:j.current}}return $.Fragment=w,$.jsx=R,$.jsxs=R,$}var W={};var Ce;function vr(){return Ce||(Ce=1,process.env.NODE_ENV!=="production"&&(function(){var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),_=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),Q=Symbol.iterator,je="@@iterator";function xe(e){if(e===null||typeof e!="object")return null;var r=Q&&e[Q]||e[je];return typeof r=="function"?r:null}var k=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];ke("error",e,t)}}function ke(e,r,t){{var n=k.ReactDebugCurrentFrame,o=n.getStackAddendum();o!==""&&(r+="%s",t=t.concat([o]));var u=t.map(function(i){return String(i)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var De=!1,Fe=!1,Ae=!1,Ie=!1,$e=!1,ee;ee=Symbol.for("react.module.reference");function We(e){return!!(typeof e=="string"||typeof e=="function"||e===m||e===x||$e||e===j||e===T||e===c||Ie||e===L||De||Fe||Ae||typeof e=="object"&&e!==null&&(e.$$typeof===E||e.$$typeof===b||e.$$typeof===R||e.$$typeof===_||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Ye(e,r,t){var n=e.displayName;if(n)return n;var o=r.displayName||r.name||"";return o!==""?t+"("+o+")":t}function re(e){return e.displayName||"Context"}function O(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case m:return"Fragment";case w:return"Portal";case x:return"Profiler";case j:return"StrictMode";case T:return"Suspense";case c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:var r=e;return re(r)+".Consumer";case R:var t=e;return re(t._context)+".Provider";case f:return Ye(e,e.render,"ForwardRef");case b:var n=e.displayName||null;return n!==null?n:O(e.type)||"Memo";case E:{var o=e,u=o._payload,i=o._init;try{return O(i(u))}catch{return null}}}return null}var S=Object.assign,A=0,te,ne,ae,ie,oe,ue,se;function le(){}le.__reactDisabledLog=!0;function Le(){{if(A===0){te=console.log,ne=console.info,ae=console.warn,ie=console.error,oe=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}}function Me(){{if(A--,A===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:ie}),group:S({},e,{value:oe}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}A<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var J=k.ReactCurrentDispatcher,B;function M(e,r,t){{if(B===void 0)try{throw Error()}catch(o){var n=o.stack.trim().match(/\n( *(at )?)/);B=n&&n[1]||""}return`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Y=require("react"),P=require("../index-C0nIxDnf.js");var q={exports:{}},$={};var Se;function dr(){if(Se)return $;Se=1;var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.fragment"),m=Object.prototype.hasOwnProperty,j=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,x={key:!0,ref:!0,__self:!0,__source:!0};function R(_,f,T){var c,b={},E=null,L=null;T!==void 0&&(E=""+T),f.key!==void 0&&(E=""+f.key),f.ref!==void 0&&(L=f.ref);for(c in f)m.call(f,c)&&!x.hasOwnProperty(c)&&(b[c]=f[c]);if(_&&_.defaultProps)for(c in f=_.defaultProps,f)b[c]===void 0&&(b[c]=f[c]);return{$$typeof:y,type:_,key:E,ref:L,props:b,_owner:j.current}}return $.Fragment=w,$.jsx=R,$.jsxs=R,$}var W={};var Ce;function vr(){return Ce||(Ce=1,process.env.NODE_ENV!=="production"&&(function(){var h=Y,y=Symbol.for("react.element"),w=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),j=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),R=Symbol.for("react.provider"),_=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),T=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),E=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),Q=Symbol.iterator,je="@@iterator";function xe(e){if(e===null||typeof e!="object")return null;var r=Q&&e[Q]||e[je];return typeof r=="function"?r:null}var k=h.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function d(e){{for(var r=arguments.length,t=new Array(r>1?r-1:0),n=1;n<r;n++)t[n-1]=arguments[n];ke("error",e,t)}}function ke(e,r,t){{var n=k.ReactDebugCurrentFrame,o=n.getStackAddendum();o!==""&&(r+="%s",t=t.concat([o]));var u=t.map(function(i){return String(i)});u.unshift("Warning: "+r),Function.prototype.apply.call(console[e],console,u)}}var De=!1,Fe=!1,Ae=!1,Ie=!1,$e=!1,ee;ee=Symbol.for("react.module.reference");function We(e){return!!(typeof e=="string"||typeof e=="function"||e===m||e===x||$e||e===j||e===T||e===c||Ie||e===L||De||Fe||Ae||typeof e=="object"&&e!==null&&(e.$$typeof===E||e.$$typeof===b||e.$$typeof===R||e.$$typeof===_||e.$$typeof===f||e.$$typeof===ee||e.getModuleId!==void 0))}function Ye(e,r,t){var n=e.displayName;if(n)return n;var o=r.displayName||r.name||"";return o!==""?t+"("+o+")":t}function re(e){return e.displayName||"Context"}function O(e){if(e==null)return null;if(typeof e.tag=="number"&&d("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case m:return"Fragment";case w:return"Portal";case x:return"Profiler";case j:return"StrictMode";case T:return"Suspense";case c:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case _:var r=e;return re(r)+".Consumer";case R:var t=e;return re(t._context)+".Provider";case f:return Ye(e,e.render,"ForwardRef");case b:var n=e.displayName||null;return n!==null?n:O(e.type)||"Memo";case E:{var o=e,u=o._payload,i=o._init;try{return O(i(u))}catch{return null}}}return null}var S=Object.assign,A=0,te,ne,ae,ie,oe,ue,se;function le(){}le.__reactDisabledLog=!0;function Le(){{if(A===0){te=console.log,ne=console.info,ae=console.warn,ie=console.error,oe=console.group,ue=console.groupCollapsed,se=console.groupEnd;var e={configurable:!0,enumerable:!0,value:le,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}A++}}function Me(){{if(A--,A===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:S({},e,{value:te}),info:S({},e,{value:ne}),warn:S({},e,{value:ae}),error:S({},e,{value:ie}),group:S({},e,{value:oe}),groupCollapsed:S({},e,{value:ue}),groupEnd:S({},e,{value:se})})}A<0&&d("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var J=k.ReactCurrentDispatcher,B;function M(e,r,t){{if(B===void 0)try{throw Error()}catch(o){var n=o.stack.trim().match(/\n( *(at )?)/);B=n&&n[1]||""}return`
2
2
  `+B+e}}var G=!1,V;{var Ve=typeof WeakMap=="function"?WeakMap:Map;V=new Ve}function fe(e,r){if(!e||G)return"";{var t=V.get(e);if(t!==void 0)return t}var n;G=!0;var o=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var u;u=J.current,J.current=null,Le();try{if(r){var i=function(){throw Error()};if(Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(p){n=p}Reflect.construct(e,[],i)}else{try{i.call()}catch(p){n=p}e.call(i.prototype)}}else{try{throw Error()}catch(p){n=p}e()}}catch(p){if(p&&n&&typeof p.stack=="string"){for(var a=p.stack.split(`
3
3
  `),v=n.stack.split(`
4
4
  `),s=a.length-1,l=v.length-1;s>=1&&l>=0&&a[s]!==v[l];)l--;for(;s>=1&&l>=0;s--,l--)if(a[s]!==v[l]){if(s!==1||l!==1)do if(s--,l--,l<0||a[s]!==v[l]){var g=`
package/dist/cjs/web.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../index-CzRuJxn8.js");function i(){let s=!1,r=!1;return class extends HTMLElement{_internals;controller;constructor(){if(super(),this.controller=new n.I(this,void 0,{useFirstChild:!0}),this._internals=null,this.attachInternals&&(this._internals=this.attachInternals(),!s)){s=!0;try{this._internals.states.add("test"),this._internals.states.delete("test")}catch{r=!0}}}connectedCallback(){this.connect()}disconnectedCallback(){this.disconnect({removeFromCache:!0})}connect(e){this.controller.connected||this.controller.connect(e)}disconnect(e){this.controller.disconnect(e)}toggleEffect(e,t,l){l!==null&&(r&&(e=`--${e}`),this._internals&&!l?t==="toggle"?this._internals.states.has(e)?this._internals.states.delete(e):this._internals.states.add(e):t==="add"?this._internals.states.add(e):t==="remove"?this._internals.states.delete(e):t==="clear"&&this._internals.states.clear():this.controller?.toggleEffect(e,t,l,!0))}getActiveEffects(){if(this._internals){const e=Array.from(this._internals.states);return r?e.map(t=>t.replace(/^--/g,"")):e}return this.controller?.getActiveEffects()||[]}}}function a(){if(!customElements.get("interact-element")){const s=i();return customElements.define("interact-element",s),!0}return!1}n.a.defineInteractElement=a;exports.Interact=n.a;exports.add=n.b;exports.generate=n.g;exports.remove=n.r;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../index-C0nIxDnf.js");function i(){let s=!1,r=!1;return class extends HTMLElement{_internals;controller;constructor(){if(super(),this.controller=new n.I(this,void 0,{useFirstChild:!0}),this._internals=null,this.attachInternals&&(this._internals=this.attachInternals(),!s)){s=!0;try{this._internals.states.add("test"),this._internals.states.delete("test")}catch{r=!0}}}connectedCallback(){this.connect()}disconnectedCallback(){this.disconnect({removeFromCache:!0})}connect(e){this.controller.connected||this.controller.connect(e)}disconnect(e){this.controller.disconnect(e)}toggleEffect(e,t,l){l!==null&&(r&&(e=`--${e}`),this._internals&&!l?t==="toggle"?this._internals.states.has(e)?this._internals.states.delete(e):this._internals.states.add(e):t==="add"?this._internals.states.add(e):t==="remove"?this._internals.states.delete(e):t==="clear"&&this._internals.states.clear():this.controller?.toggleEffect(e,t,l,!0))}getActiveEffects(){if(this._internals){const e=Array.from(this._internals.states);return r?e.map(t=>t.replace(/^--/g,"")):e}return this.controller?.getActiveEffects()||[]}}}function a(){if(!customElements.get("interact-element")){const s=i();return customElements.define("interact-element",s),!0}return!1}n.a.defineInteractElement=a;exports.Interact=n.a;exports.add=n.b;exports.generate=n.g;exports.remove=n.r;
2
2
  //# sourceMappingURL=web.js.map
package/dist/es/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a as r, b as s, g as t, r as o } from "../index-ByLXasWO.mjs";
1
+ import { a as r, b as s, g as t, r as o } from "../index-CJl_iRUI.mjs";
2
2
  export {
3
3
  r as Interact,
4
4
  s as add,
package/dist/es/react.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import W from "react";
2
- import { b as cr, r as Oe } from "../index-ByLXasWO.mjs";
3
- import { a as mr, g as Tr } from "../index-ByLXasWO.mjs";
2
+ import { b as cr, r as Oe } from "../index-CJl_iRUI.mjs";
3
+ import { a as mr, g as Tr } from "../index-CJl_iRUI.mjs";
4
4
  var N = { exports: {} }, I = {};
5
5
  var Ce;
6
6
  function vr() {
package/dist/es/web.js CHANGED
@@ -1,5 +1,5 @@
1
- import { I as l, a } from "../index-ByLXasWO.mjs";
2
- import { b as m, g, r as _ } from "../index-ByLXasWO.mjs";
1
+ import { I as l, a } from "../index-CJl_iRUI.mjs";
2
+ import { b as m, g, r as _ } from "../index-CJl_iRUI.mjs";
3
3
  function i() {
4
4
  let n = !1, s = !1;
5
5
  return class extends HTMLElement {
@@ -4,7 +4,7 @@
4
4
  `)}
5
5
  }`];if(o.length){const d=`[data-interact-key="${l}"] ${r}`,m=i?U(d,i):d;g.push(`@media (prefers-reduced-motion: no-preference) { ${m} {
6
6
  transition: ${o.join(", ")};
7
- } }`)}return g}function A(t,e){const n=(t||[]).filter(i=>e[i]?.type==="media"&&e[i].predicate).map(i=>e[i].predicate).join(") and ("),s=n&&`(${n})`;return s&&window.matchMedia(s)}function $(t,e){for(const n of t||[]){const s=e[n];if(s?.type==="selector"&&s.predicate)return s.predicate}}const V={rangeStart:{name:"cover",offset:{value:0,unit:"percentage"}},rangeEnd:{name:"cover",offset:{value:100,unit:"percentage"}}};function Xt(t,e){const n=t?.name??V.rangeStart.name,s=e?.name??t?.name??V.rangeEnd.name,r={name:n,offset:t?.offset||V.rangeStart.offset},i={name:s,offset:e?.offset||V.rangeEnd.offset};return{startOffset:r,endOffset:i}}function P(t){if("keyframeEffect"in t&&!t.keyframeEffect.name&&"effectId"in t&&(t.keyframeEffect.name=t.effectId),"duration"in t)return{id:"",...t};const{rangeStart:e,rangeEnd:n,...s}=t,{startOffset:r,endOffset:i}=Xt(e,n);return{id:"",startOffset:r,endOffset:i,...s}}function O(t,e,n){let s=t.get(e);s||(s=new Set,t.set(e,s)),s.add(n)}function W(t,e){t.get(e)?.forEach(s=>{const{source:r,target:i,cleanup:o}=s;o();const c=r===e?i:r;t.get(c)?.delete(s)}),t.delete(e)}const Ut={root:null,rootMargin:"0px 0px -10% 0px",threshold:[0]},Jt={root:null,rootMargin:"0px",threshold:[0]},Zt=.2;function en(t){const e=t.trim().split(/\s+/),n=e[0],s=e.length>1?e[1]:e[0],r=i=>i.startsWith("-")?i.slice(1):parseFloat(i)?`-${i}`:i;return`${r(n)} 0px ${r(s)}`}const D={},k=new WeakMap,ee=new WeakSet,R=new WeakMap;let Ve={},H=null;function tn(t){Ve=t}function je(t,e,n){k.get(t)?.forEach(({source:r,handler:i})=>{r===t&&i(e,n)})}function Ce(){return H||(H=new IntersectionObserver(t=>{t.forEach(e=>{const n=e.target;e.isIntersecting||je(n,!1,!0)})},Jt),H)}function Ye(t,e=!1){const n=JSON.stringify({...t,isSafeMode:e});if(D[n])return D[n];const s=t.threshold??Zt,r=e?Ut:{root:null,rootMargin:t.inset?en(t.inset):"0px",threshold:s},i=new IntersectionObserver(o=>{o.forEach(c=>{const l=c.target,f=!ee.has(l);if(f&&(ee.add(l),t.useSafeViewEnter&&!c.isIntersecting)){I.measure(()=>{const a=c.boundingClientRect.height,u=c.rootBounds?.height;if(!u)return;const h=Array.isArray(t.threshold)?Math.min(...t.threshold):t.threshold;h&&a*h>u&&I.mutate(()=>{i.unobserve(l);const d=Ye(t,!0);R.set(l,d),d.observe(l)})});return}(c.isIntersecting||!f)&&je(l,c.isIntersecting)})},r);return D[n]=i,i}function nn(t,e,n,s={},{reducedMotion:r,selectorCondition:i,animation:o}={}){const c={...Ve,...s},l=n.triggerType||"once",f=o||ne(e,P(n),void 0,r);if(!f)return;const a=Ye(c);l!=="once"&&f.persist?.();let u=!0,h=!1,g;g={source:t,target:e,handler:(p,y)=>{if(!(i&&!e.matches(i)))if(l==="once"){if(p&&!h){h=!0,k.get(t)?.delete(g),k.get(e)?.delete(g);const v=k.get(t);(!v||v.size===0)&&((R.get(t)||a).unobserve(t),ee.delete(t)),f.play(()=>{const w=()=>{e.dataset.interactEnter="start"};if(f.isCSS){I.mutate(()=>{requestAnimationFrame(w)});const b=()=>{I.mutate(()=>{e.dataset.interactEnter="done"})};f.onFinish(b),f.onAbort(b)}else I.mutate(w)})}}else l==="alternate"?u&&p?(u=!1,f.play()):u||f.reverse():l==="repeat"?p?(f.progress(0),f.play()):y&&(f.pause(),f.progress(0)):l==="state"&&(p?f.play():y&&f.pause())},cleanup:()=>{(R.get(t)||a).unobserve(t),(l==="repeat"||l==="state")&&Ce().unobserve(t),f.cancel(),ee.delete(t),R.delete(t)}},O(k,t,g),O(k,e,g),R.set(t,a),a.observe(t),(l==="repeat"||l==="state")&&Ce().observe(t)}function sn(t){W(k,t)}function rn(){H=null,Object.keys(D).forEach(t=>delete D[t])}const Ae={add:nn,remove:sn,setOptions:tn,reset:rn};function Be(t,e){return Object.assign(Object.create(e),t)}function on(t,e,n,s){let r=t*(1-n)+e*n;if(s){const i=r-t;Math.abs(i)<s&&(r=t+s*Math.sign(i));const o=e-r;if(Math.abs(o)<s)return e}return r}function cn(t){let e=!1;return function(){e||(e=!0,window.requestAnimationFrame(()=>{e=!1,t()}))}}function ke(t,e){let n=0;return function(){n&&window.clearTimeout(n),n=window.setTimeout(()=>{n=0,t()},e)}}function an(t,e){const n=t.match(/^calc\s*\(\s*(-?\d+((px)|([lsd]?vh)|([lsd]?vw)))\s*\+\s*(-?\d+((px)|([lsd]?vh)|([lsd]?vw)))\s*\)\s*$/);return te(n[1],e)+te(n[6],e)}function te(t,e){return t?/^-?\d+px$/.test(t)?parseInt(t):/^-?\d+[lsd]?vh$/.test(t)?parseInt(t)*e.viewportHeight/100:/^-?\d+[lsd]?vw$/.test(t)?parseInt(t)*e.viewportWidth/100:/^calc\s*\(\s*-?\d+((px)|([lsd]?vh)|([lsd]?vw))\s*\+\s*-?\d+((px)|([lsd]?vh)|([lsd]?vw))\s*\)\s*$/.test(t)?an(t,e):parseInt(t)||0:0}function q(t,e,n){const{name:s,offset:r=0}=t,{start:i,end:o}=n,c=o-i,l=r/100;let f,a;return s==="entry"?(f=i-e,a=Math.min(e,c)):s==="entry-crossing"?(f=i-e,a=c):s==="contain"?(f=Math.min(o-e,i),a=Math.abs(e-c)):s==="exit"?(f=Math.max(i,o-e),a=Math.min(e,c)):s==="exit-crossing"?(f=i,a=c):s==="cover"&&(f=i-e,a=c+e),f+l*a|0}function oe(t,e,n,s,r){let i=0;const o={start:e,end:n};return t.forEach((c,l)=>{i+=c.offset;const f=c.sticky;if(f){if("end"in f&&t[l-1]?.element){const h=((r?c.element.offsetWidth:c.element.offsetHeight)||0)+f.end-s,g=i+h-c.offset,d=g<o.start,m=!d&&g<=n;let p=0;(d||m)&&(p=c.offset,o.end+=p),d&&(o.start+=p)}if("start"in f){const a=i-f.start,u=a<o.start,h=!u&&a<=o.end;let g=0;const d=t[l-1]?.element;if(d){if(u||h){const m=(r?d.offsetWidth:d.offsetHeight)||0,p=c.offset,y=(r?c.element.offsetWidth:c.element.offsetHeight)||0;g=m-(p+y),i+=g,o.end+=g}u&&(o.start+=g)}}}}),o}function fn(t,e,n,s,r,i){const{start:o,end:c,duration:l}=t;let f=o,a=c,u=t.startRange,h=t.endRange,g;if(typeof l=="string"){u={name:l,offset:0},h={name:l,offset:100},f=q(u,n,e),a=q(h,n,e),g=a-f;const d=oe(i,f,a,n,s);f=d.start,a=d.end}else{if(u||o?.name){u=u||o;const d=te(u.add,r),m=q({...u,offset:0},n,e),p=q({...u,offset:100},n,e),y=oe(i,m,p,n,s);f=y.start+u.offset/100*(y.end-y.start)+d}if(h||c?.name){h=h||c;const d=te(h.add,r),m=q({...h,offset:0},n,e),p=q({...h,offset:100},n,e),y=oe(i,m,p,n,s);a=y.start+h.offset/100*(y.end-y.start)+d}else typeof l=="number"&&(a=f+l)}return!g&&!l&&(g=a-f),{...t,start:f,end:a,startRange:u,endRange:h,duration:g||l}}function ln(t){return t.position==="sticky"}function un(t,e,n){return t.position==="fixed"&&(!e||e===window.document.body||e===n)}function dn(t,e){return parseInt(e?t.left:t.top)}function hn(t,e){return parseInt(e?t.right:t.bottom)}function mn(t,e,n){n&&(t.style.position="static");const s=(e?t.offsetLeft:t.offsetTop)||0;return n&&(t.style.position=null),s}function pn(t,e){let n;const s=dn(t,e),r=hn(t,e),i=!isNaN(s),o=!isNaN(r);return(i||o)&&(n={},i&&(n.start=s),o&&(n.end=r)),n}function j(t,e,n,s,r){const i=t[0].viewSource,o=[];let c=(s?i.offsetWidth:i.offsetHeight)||0,l=0,f=i;for(;f;){const u=window.getComputedStyle(f),h=ln(u),g=h?pn(u,s):void 0,d=mn(f,s,h);if((!g||!("end"in g))&&(l+=d),o.push({element:f,offset:d,sticky:g}),f=f.offsetParent,un(u,f,e))break;if(f===e){o.push({element:f,offset:0});break}}return o.reverse(),t.map(u=>({...fn(u,{start:l,end:l+c},n,s,r,o)}))}const _e=100,gn={horizontal:!1,observeViewportEntry:!0,viewportRootMargin:"7% 7%",observeViewportResize:!1,observeSourcesResize:!1,observeContentResize:!1};function vn(t,e,n,s){let r=0;return t>=e&&t<=n?r=s?(t-e)/s:1:t>n&&(r=1),r}function qe(t,e){return t===window?e?window.document.documentElement.clientWidth:window.document.documentElement.clientHeight:e?t.clientWidth:t.clientHeight}function yn(){return{viewportWidth:window.document.documentElement.clientWidth,viewportHeight:window.document.documentElement.clientHeight}}function En(t){const e=Be(t,gn),n=e.root,s=e.horizontal,r=new WeakMap;let i=qe(n,s),o,c,l,f,a;const u=[],h=yn();if(e.scenes=Object.values(t.scenes.reduce((m,p,y)=>{const v=p.groupId?`group-${p.groupId}`:String(y);return m[v]?m[v].push(p):m[v]=[p],m},{})).flatMap(m=>(m.every(p=>p.viewSource&&(typeof p.duration=="string"||p.start?.name))?(m=j(m,n,i,s,h),(e.observeSourcesResize||e.observeContentResize)&&u.push(m)):m.forEach(p=>{p.end==null&&(p.end=p.start+p.duration),p.duration==null&&(p.duration=p.end-p.start)}),m)),e.scenes.forEach((m,p)=>{m.index=p}),u.length){const m=new Map;window.ResizeObserver&&(l=new window.ResizeObserver(function(p){p.forEach(y=>{const v=m.get(y.target),w=j(v,n,i,s,h);w.forEach((b,S)=>{e.scenes[b.index]=w[S]}),u.splice(u.indexOf(v),1,w)})}),u.forEach(p=>{l.observe(p[0].viewSource,{box:"border-box"}),m.set(p[0].viewSource,p)}),e.observeContentResize&&e.contentRoot&&new window.ResizeObserver(ke(()=>{const y=u.map(v=>{const w=j(v,n,i,s,h);return w.forEach((b,S)=>{e.scenes[b.index]=w[S]}),w});u.length=0,u.push(...y),u.forEach(v=>{m.set(v[0].viewSource,v)})},_e)).observe(e.contentRoot,{box:"border-box"})),e.observeViewportResize&&(f=ke(function(){i=qe(n,s);const p=u.map(y=>{const v=j(y,n,i,s,h);return v.forEach((w,b)=>{e.scenes[w.index]=v[b]}),v});u.length=0,u.push(...p),u.forEach(y=>{m.set(y[0].viewSource,y)})},_e),n===window?window.addEventListener("resize",f):window.ResizeObserver&&(a=new window.ResizeObserver(f),a.observe(n,{box:"border-box"})))}e.observeViewportEntry&&window.IntersectionObserver&&(c=new window.IntersectionObserver(function(m){m.forEach(p=>{(r.get(p.target)||[]).forEach(y=>{y.disabled=!p.isIntersecting})})},{root:n===window?window.document:n,rootMargin:e.viewportRootMargin,threshold:0}),e.scenes.forEach(m=>{if(m.viewSource){let p=r.get(m.viewSource);p||(p=[],r.set(m.viewSource,p),c.observe(m.viewSource)),p.push(m)}}));function g({p:m,vp:p}){m=+m.toFixed(1);const y=+p.toFixed(4);if(m!==o){for(let v of e.scenes)if(!v.disabled){const{start:w,end:b,duration:S}=v,T=vn(m,w,b,S);v.effect(v,T,y)}o=m}}function d(){e.scenes.forEach(m=>m.destroy?.()),c&&(c.disconnect(),c=null),l&&(l.disconnect(),l=null),f&&(a?(a.disconnect(),a=null):window.removeEventListener("resize",f))}return{tick:g,destroy:d}}const wn={transitionActive:!1,transitionFriction:.9,transitionEpsilon:1,velocityActive:!1,velocityMax:1};class bn{constructor(e={}){this.config=Be(e,wn),this.progress={p:0,prevP:0,vp:0},this.currentProgress={p:0,prevP:0,vp:0},this._lerpFrameId=0,this.effect=null;const n=!this.config.root||this.config.root===window.document.body;this.config.root=n?window:this.config.root,this.config.contentRoot=this.config.contentRoot||(n?window.document.body:this.config.root.firstElementChild),this.config.resetProgress=this.config.resetProgress||this.resetProgress.bind(this),this._measure=this.config.measure||(()=>{const s=this.config.root;this.progress.p=this.config.horizontal?s.scrollX||s.scrollLeft||0:s.scrollY||s.scrollTop||0}),this._trigger=cn(()=>{this._measure?.(),this.tick(!0)})}start(){this.setupEffect(),this.setupEvent(),this.resetProgress(),this.tick()}pause(){this.removeEvent()}resetProgress(e={}){const n=this.config.root,s=e.x||e.x===0?e.x:n.scrollX||n.scrollLeft||0,r=e.y||e.y===0?e.y:n.scrollY||n.scrollTop||0,i=this.config.horizontal?s:r;this.progress.p=i,this.progress.prevP=i,this.progress.vp=0,this.config.transitionActive&&(this.currentProgress.p=i,this.currentProgress.prevP=i,this.currentProgress.vp=0),e&&this.config.root.scrollTo(s,r)}tick(e){const n=this.config.transitionActive;n&&this.lerp();const s=n?this.currentProgress:this.progress;if(this.config.velocityActive){const r=s.p-s.prevP,i=r<0?-1:1;s.vp=Math.min(this.config.velocityMax,Math.abs(r))/this.config.velocityMax*i}this.effect.tick(s),n&&s.p!==this.progress.p&&(e&&this._lerpFrameId&&window.cancelAnimationFrame(this._lerpFrameId),this._lerpFrameId=window.requestAnimationFrame(()=>this.tick())),s.prevP=s.p}lerp(){this.currentProgress.p=on(this.currentProgress.p,this.progress.p,+(1-this.config.transitionFriction).toFixed(3),this.config.transitionEpsilon)}destroy(){this.pause(),this.removeEffect()}setupEvent(){this.removeEvent(),this.config.root.addEventListener("scroll",this._trigger)}removeEvent(){this.config.root.removeEventListener("scroll",this._trigger)}setupEffect(){this.removeEffect(),this.effect=En(this.config)}removeEffect(){this.effect&&this.effect.destroy(),this.effect=null}}const le=new WeakMap;let Ke=()=>({});function Sn(t){Ke=t}function Tn(t,e,n,s,{reducedMotion:r}){if(r)return;const i={trigger:"view-progress",element:t},o=P(n);let c;if("ViewTimeline"in window){const f=ve(e,o,i);f&&(f.play(),c=()=>{f.ready.then(()=>{f.cancel()})})}else{const f=Ne(e,o,i);if(f){const a=Array.isArray(f)?f:[f],u=new bn({viewSource:t,scenes:a,observeViewportEntry:!1,observeViewportResize:!1,observeSourcesResize:!0,root:document.body,...Ke()});c=()=>{u.destroy()},Promise.all(a.map(h=>h.ready||Promise.resolve())).then(()=>{u.start()})}}if(!c)return;const l={source:t,target:e,cleanup:c};O(le,t,l),O(le,e,l)}function In(t){W(le,t)}const On={add:Tn,remove:In,registerOptionsGetter:Sn};function xe(t,e,n){return Math.min(Math.max(t,n),e)}function Me(t){let e=!1;return function(){if(!e)return e=!0,window.requestAnimationFrame(()=>{e=!1,t()})}}function Cn(t){let e=t,n=0,s=0;if(e.offsetParent)do n+=e.offsetLeft,s+=e.offsetTop,e=e.offsetParent;while(e);return{left:n,top:s,width:t.offsetWidth,height:t.offsetHeight}}function An(){const t=window.devicePixelRatio;let e=!1;if(t===1)return!1;document.body.addEventListener("pointerdown",s=>{e=s.offsetX!==10},{once:!0});const n=new PointerEvent("pointerdown",{clientX:10});return document.body.dispatchEvent(n),e}function kn(){return new Promise(t=>{const e=window.scrollY;let n=!1,s;function r(){document.body.addEventListener("pointerdown",c=>{s===void 0?s=c.offsetY:n=c.offsetY===s},{once:!0});const o=new PointerEvent("pointerdown",{clientY:500});document.body.dispatchEvent(o)}function i(){window.scrollY!==e&&(window.removeEventListener("scroll",i),r(),t(n))}r(),window.addEventListener("scroll",i),window.scrollY>0&&window.scrollBy(0,-1)})}function _n(t){kn().then(e=>{t.fixRequired=e,e&&(window.addEventListener("scroll",t.scrollHandler),t.scrollHandler())})}let Y=0;const J=new Set;function qn(){const t=n=>{for(let s of n.changedTouches)J.add(s.identifier)},e=n=>{for(let s of n.changedTouches)J.delete(s.identifier)};return document.addEventListener("touchstart",t,{passive:!0}),document.addEventListener("touchend",e,{passive:!0}),function(){J.clear(),document.removeEventListener("touchstart",t),document.removeEventListener("touchend",e)}}function xn(t,e){if("onscrollend"in window)return t.addEventListener("scrollend",e),function(){t.removeEventListener("scrollend",e)};let n=0,s;Y||(s=qn()),Y+=1;function r(i){clearTimeout(n),n=setTimeout(()=>{J.size?setTimeout(r,100):(e(i),n=0)},100)}return t.addEventListener("scroll",r),function(){t.removeEventListener("scroll",r),Y-=1,Y||s()}}function Mn(t,e,n){return{x(s){const r=t.left-n.x+t.width/2,i=r>=e.width/2,o=(i?r:e.width-r)*2,c=i?0:r-o/2;return(s-c)/o},y(s){const r=t.top-n.y+t.height/2,i=r>=e.height/2,o=(i?r:e.height-r)*2,c=i?0:r-o/2;return(s-c)/o}}}function Ln(t,e){this.x=window.scrollX,this.y=window.scrollY,requestAnimationFrame(()=>t&&t(e))}function $n(t){t.rect.width=window.document.documentElement.clientWidth,t.rect.height=window.document.documentElement.clientHeight}function Pn(t){const e=new ResizeObserver(n=>{n.forEach(s=>{t.rect.width=s.borderBoxSize[0].inlineSize,t.rect.height=s.borderBoxSize[0].blockSize})});return e.observe(t.root,{box:"border-box"}),e}function Fn(t){let e=!1,n={x:t.rect.width/2,y:t.rect.height/2,vx:0,vy:0},s,r,i,o,c;const l={x:0,y:0};t.scenes.forEach(a=>{a.target&&a.centeredToTarget&&(a.transform=Mn(Cn(a.target),t.rect,l),e=!0),t.root?r=Pn(t):(i=$n.bind(null,t),window.addEventListener("resize",i))}),s=function(a){for(let u of t.scenes)if(!u.disabled){const h=u.transform?.x(a.x)||a.x/t.rect.width,g=u.transform?.y(a.y)||a.y/t.rect.height,d=+xe(0,1,h).toPrecision(4),m=+xe(0,1,g).toPrecision(4),p={x:a.vx,y:a.vy};t.allowActiveEvent&&(a.active=h<=1&&g<=1&&h>=0&&g>=0),u.effect(u,{x:d,y:m},p,a.active)}Object.assign(n,a)},e&&(o=Ln.bind(l,s,n),c=xn(document,o));function f(){t.scenes.forEach(a=>a.destroy?.()),c?.(),r?(r.disconnect(),r=null):(window.removeEventListener("resize",i),i=null),s=null,n=null}return{tick:s,destroy:f}}const Rn=1e3/60*3;let B;function Hn(){M.x=window.scrollX,M.y=window.scrollY}const M={x:0,y:0,scrollHandler:Hn,fixRequired:void 0};class zn{constructor(e={}){this.config={...e},this.effect=null,this._nextTick=null,this._nextTransitionTick=null,this._startTime=0;let n;this.config.transitionDuration?n=this.config.noThrottle?()=>this.transition():Me(()=>this.transition()):n=this.config.noThrottle?()=>(this.tick(),null):Me(()=>{this.tick()}),this.config.rect=this.config.root?{width:this.config.root.offsetWidth,height:this.config.root.offsetHeight}:{width:window.document.documentElement.clientWidth,height:window.document.documentElement.clientHeight},this.progress={x:this.config.rect.width/2,y:this.config.rect.height/2,vx:0,vy:0},this.previousProgress={...this.progress},this.currentProgress=null;const s=r=>{const i=this.config.root?r.offsetX:r.x,o=this.config.root?r.offsetY:r.y;this.progress.vx=i-this.progress.x,this.progress.vy=o-this.progress.y,this.progress.x=i,this.progress.y=o,this._nextTick=n()};if(this._pointerLeave=()=>{this.progress.active=!1,this.progress.vx=0,this.progress.vy=0,this._nextTick=n()},this._pointerEnter=()=>{this.progress.active=!0,this._nextTick=n()},this.config.root){B=typeof B=="boolean"?B:An();const r=B?window.devicePixelRatio:1;typeof M.fixRequired>"u"&&_n(M),this._measure=i=>{if(i.target!==this.config.root){const o=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:i.x*r+M.x,clientY:i.y*r+M.y});i.stopPropagation(),this.config.root.dispatchEvent(o)}else s(i)}}else this._measure=s}start(){this.setupEffect(),this.setupEvent()}pause(){this.removeEvent()}tick(){this.effect.tick(this.progress)}transition(){const e=this.config.transitionDuration,n=this.config.transitionEasing||(o=>o),s=performance.now();let r=!1;const i=o=>{const c=(o-this._startTime)/e,l=n(Math.min(1,c));r&&(this.progress.vx=0,this.progress.vy=0,r=!1),this.currentProgress=Object.entries(this.progress).reduce((f,[a,u])=>(a==="active"?f[a]=u:f[a]=this.previousProgress[a]+(u-this.previousProgress[a])*l,f),this.currentProgress||{}),c<1&&(this._nextTransitionTick=requestAnimationFrame(i),r=o-this._startTime>Rn),this.effect.tick(this.currentProgress)};return this._startTime?(this._nextTransitionTick&&cancelAnimationFrame(this._nextTransitionTick),Object.assign(this.previousProgress,this.currentProgress),this._startTime=s,i(s)):this._startTime=s,this._nextTransitionTick}destroy(){this.pause(),this.removeEffect(),this._nextTick&&cancelAnimationFrame(this._nextTick),this._nextTransitionTick&&cancelAnimationFrame(this._nextTransitionTick)}setupEvent(){this.removeEvent();const e=this.config.root||window;e.addEventListener("pointermove",this._measure,{passive:!0}),this.config.eventSource&&this.config.eventSource.addEventListener("pointermove",this._measure,{passive:!0}),this.config.allowActiveEvent&&(e.addEventListener("pointerleave",this._pointerLeave,{passive:!0}),e.addEventListener("pointerenter",this._pointerEnter,{passive:!0}),this.config.eventSource&&(this.config.eventSource.addEventListener("pointerleave",this._pointerLeave,{passive:!0}),this.config.eventSource.addEventListener("pointerenter",this._pointerEnter,{passive:!0})))}removeEvent(){const e=this.config.root||window;e.removeEventListener("pointermove",this._measure),this.config.eventSource&&this.config.eventSource.removeEventListener("pointermove",this._measure),this.config.allowActiveEvent&&(e.removeEventListener("pointerleave",this._pointerLeave),e.removeEventListener("pointerenter",this._pointerEnter),this.config.eventSource&&(this.config.eventSource.removeEventListener("pointerleave",this._pointerLeave),this.config.eventSource.removeEventListener("pointerenter",this._pointerEnter)))}setupEffect(){this.removeEffect(),this.effect=Fn(this.config)}removeEffect(){this.effect&&this.effect.destroy(),this.effect=null}}const ue=new WeakMap;let Qe=()=>({});function Dn(t){Qe=t}function Gn(t,e,n,s={},{reducedMotion:r}){if(r)return;const i={trigger:"pointer-move",element:t,axis:s.axis??"y"},o=Ne(e,P(n),i);if(o){const c=Array.isArray(o)?o:[o],l=new zn({root:s.hitArea==="self"?t:void 0,scenes:c,...Qe()}),a={source:t,target:e,cleanup:()=>{l.destroy()}};O(ue,t,a),O(ue,e,a),Promise.all(c.map(u=>u.ready||Promise.resolve())).then(()=>{l.start()})}}function Nn(t){W(ue,t)}const Wn={add:Gn,remove:Nn,registerOptionsGetter:Dn},de=new WeakMap;function Vn(t,e,n,s,{reducedMotion:r,selectorCondition:i,animation:o}){const c=o||ne(e,P(n),void 0,r);if(!c)return;const l=()=>{i&&!e.matches(i)||c.play()},a={source:t,target:e,cleanup:()=>{c.cancel(),t.removeEventListener("animationend",l)}};O(de,t,a),O(de,e,a),t.addEventListener("animationend",l)}function jn(t){W(de,t)}const Yn={add:Vn,remove:jn};function Bn(t,e,n=!1,s,r,i){const o=i||ne(t,P(e),void 0,n);if(!o)return null;let c=!0;const l=e.triggerType||"alternate";return f=>{if(s&&!t.matches(s))return;const a=!r,u=r?.enter?.includes(f.type),h=r?.leave?.includes(f.type);if(u||a){if(l==="alternate"||l==="state")c?(c=!1,o.play()):l==="alternate"?o.reverse():l==="state"&&(o.playState==="running"?o.pause():o.playState!=="finished"&&o.play());else{if(o.progress(0),delete t.dataset.interactEnter,o.isCSS){const g=()=>{I.mutate(()=>{t.dataset.interactEnter="done"})};o.onFinish(g),o.onAbort(g)}o.play()}return}h&&(l==="alternate"?o.reverse():l==="repeat"?(o.cancel(),I.mutate(()=>{delete t.dataset.interactEnter})):l==="state"&&o.playState==="running"&&o.pause())}}function Kn(t,e,{effectId:n,listContainer:s,listItemSelector:r,stateAction:i},o,c){const l=!!s,f=i??"toggle",a=f==="toggle";return u=>{if(o&&!t.matches(o))return;const h=l?t.closest(`${s} > ${r||""}:has(:scope)`):void 0,g=!c,d=c?.enter?.includes(u.type),m=c?.leave?.includes(u.type);g?e.toggleEffect(n,f,h):(d&&e.toggleEffect(n,a?"add":f,h),m&&a&&e.toggleEffect(n,"remove",h))}}const he=new WeakMap;function Le(t,e){return n=>{const s=n;t.contains(s.relatedTarget)||e(s)}}function Qn(t){return e=>{const n=e;n.pointerType&&t(n)}}function Xn(t){return e=>{const n=e;n.code==="Space"?(n.preventDefault(),t(n)):n.code==="Enter"&&t(n)}}const Un={focusin:(t,e)=>Le(t,e),focusout:(t,e)=>Le(t,e),click:(t,e)=>Qn(e),keydown:(t,e)=>Xn(e)};function Jn(t,e,n){const s=Un[t];return s?s(e,n):r=>n(r)}function Zn(t){return typeof t=="object"&&!Array.isArray(t)&&("enter"in t||"leave"in t)}function es(t){if(typeof t=="string")return{toggle:[t]};if(Array.isArray(t))return{toggle:[...t]};if(Zn(t)){const e=t.enter?[...t.enter]:[],n=t.leave?[...t.leave]:[];return{enter:e,leave:n}}return{}}function ts(t){return!!(t.enter?.length||t.leave?.length)}function ns(t){return ts(t)?{enter:t.enter??[],leave:t.leave??[]}:void 0}function ss(t,e,n,s,{reducedMotion:r,targetController:i,selectorCondition:o,animation:c}){const l=es(s.eventConfig),f=n.transition||n.transitionProperties,a=ns(l);let u,h=!1;if(f?u=Kn(e,i,n,o,a):(u=Bn(e,n,r,o,a,c),h=n.triggerType==="once"),!u)return;const g=u,d=new AbortController;function m(v,w,b){const S=Jn(w,t,g);v.addEventListener(w,S,{...b,signal:d.signal})}const y={source:t,target:e,cleanup:()=>{d.abort()}};if(O(he,t,y),O(he,e,y),a){const v=l.enter,w=l.leave;v.forEach(T=>{T==="focusin"&&(t.tabIndex=0),m(t,T,{passive:!0,once:h})});const b=!n.stateAction||n.stateAction==="toggle";(f?b:n.triggerType!=="once")&&w.forEach(T=>{if(T==="focusout"){m(t,T,{once:h});return}m(t,T,{passive:!0})})}else(l.toggle??[]).forEach(w=>{m(t,w,{once:h,passive:w!=="keydown"})})}function is(t){W(he,t)}const z={add:ss,remove:is},me={click:["click"],activate:["click","keydown"],hover:{enter:["mouseenter"],leave:["mouseleave"]},interest:{enter:["mouseenter","focusin"],leave:["mouseleave","focusout"]}},$e={click:me.activate,hover:me.interest};function K(t){const e=me[t];return(n,s,r,i,o)=>{const c=o?.allowA11yTriggers&&t in $e?$e[t]:e;z.add(n,s,r,{eventConfig:c},o??{})}}const _={viewEnter:Ae,hover:{add:K("hover"),remove:z.remove},click:{add:K("click"),remove:z.remove},pageVisible:Ae,animationEnd:Yn,viewProgress:On,pointerMove:Wn,activate:{add:K("activate"),remove:z.remove},interest:{add:K("interest"),remove:z.remove}};function rs(t){return t.replace(/\[([-\w]+)]/g,"[]")}class E{static defineInteractElement;dataCache;addedInteractions;mediaQueryListeners;listInteractionsCache;controllers;static forceReducedMotion=!1;static allowA11yTriggers=!0;static instances=[];static controllerCache=new Map;static sequenceCache=new Map;static elementSequenceMap=new WeakMap;constructor(){this.dataCache={effects:{},sequences:{},conditions:{},interactions:{}},this.addedInteractions={},this.mediaQueryListeners=new Map,this.listInteractionsCache={},this.controllers=new Set}init(e,n){if(typeof window>"u"||!window.customElements)return;const s=n?.useCustomElement??!!E.defineInteractElement;this.dataCache=cs(e,s);const r=E.defineInteractElement?.();s&&r===!1?document.querySelectorAll("interact-element").forEach(i=>{i.connect()}):E.controllerCache.forEach((i,o)=>i.connect(o))}destroy(){for(const e of this.controllers)e.disconnect();for(const[,e]of this.mediaQueryListeners.entries())e.mql.removeEventListener("change",e.handler);this.mediaQueryListeners.clear(),this.addedInteractions={},this.listInteractionsCache={},this.controllers.clear(),this.dataCache={effects:{},sequences:{},conditions:{},interactions:{}},E.instances.splice(E.instances.indexOf(this),1)}setController(e,n){this.controllers.add(n),E.setController(e,n)}deleteController(e,n=!1){const s=E.controllerCache.get(e);this.clearInteractionStateForKey(e),this.clearMediaQueryListenersForKey(e),s&&n&&(this.controllers.delete(s),E.deleteController(e))}has(e){return!!this.get(e)}get(e){const n=rs(e);return this.dataCache.interactions[n]}clearMediaQueryListenersForKey(e){for(const[n,s]of this.mediaQueryListeners.entries())s.key===e&&(s.mql.removeEventListener("change",s.handler),this.mediaQueryListeners.delete(n))}clearInteractionStateForKey(e){(this.get(e)?.interactionIds||[]).forEach(r=>{const i=C(r,e);delete this.addedInteractions[i]});const s=`${e}::seq::`;for(const r of E.sequenceCache.keys())r.startsWith(s)&&(E.sequenceCache.delete(r),delete this.addedInteractions[r])}setupMediaQueryListener(e,n,s,r){this.mediaQueryListeners.has(e)||(n.addEventListener("change",r),this.mediaQueryListeners.set(e,{mql:n,handler:r,key:s}))}static create(e,n){const s=new E;return E.instances.push(s),s.init(e,n),s}static destroy(){E.controllerCache.forEach(e=>{e.disconnect()}),E.instances.length=0,E.controllerCache.clear(),E.sequenceCache.clear(),E.elementSequenceMap=new WeakMap}static setup(e){e.scrollOptionsGetter&&_.viewProgress.registerOptionsGetter?.(e.scrollOptionsGetter),e.pointerOptionsGetter&&_.pointerMove.registerOptionsGetter?.(e.pointerOptionsGetter),e.viewEnter&&_.viewEnter.setOptions(e.viewEnter),e.allowA11yTriggers!==void 0&&(E.allowA11yTriggers=e.allowA11yTriggers)}static getInstance(e){return E.instances.find(n=>n.has(e))}static getController(e){return e?E.controllerCache.get(e):void 0}static setController(e,n){E.controllerCache.set(e,n)}static deleteController(e){E.controllerCache.delete(e)}static registerEffects=Ht;static getSequence(e,n,s,r){const i=E.sequenceCache.get(e);if(i)return i;const o=Kt(n,s,r);return E.sequenceCache.set(e,o),E._registerSequenceElements(s,o),o}static addToSequence(e,n,s,r){const i=E.sequenceCache.get(e);if(!i)return!1;const c=We(n,r).map((l,f)=>({index:s[f]??i.animationGroups.length,group:l}));return i.addGroups(c),E._registerSequenceElements(n,i),!0}static _registerSequenceElements(e,n){for(const{target:s}of e){const r=Array.isArray(s)?s:s instanceof HTMLElement?[s]:[];for(const i of r){let o=E.elementSequenceMap.get(i);o||(o=new Set,E.elementSequenceMap.set(i,o)),o.add(n)}}}static removeFromSequences(e){for(const n of e){const s=E.elementSequenceMap.get(n);if(s){for(const r of s)r.removeGroups(i=>i.animations.some(o=>o.effect?.target===n));E.elementSequenceMap.delete(n)}}}}let os=0;function G(t,{asCombinator:e=!1,addItemFilter:n=!1,useFirstChild:s=!1}={}){if(t.listContainer){const r=`${n&&t.listItemSelector?` > ${t.listItemSelector}`:""}`;return t.selector?`${t.listContainer}${r} ${t.selector}`:`${t.listContainer}${r||" > *"}`}else if(t.selector)return t.selector;return s?e?"> :first-child":":scope > :first-child":""}function Pe(t){return"sequenceId"in t&&!("effects"in t)}function ce(t,e){return t[e]||(t[e]={triggers:[],effects:{},sequences:{},interactionIds:new Set,selectors:new Set}),t[e]}function cs(t,e=!1){const n=t.conditions||{},s={};return t.interactions?.forEach(r=>{const i=r.key,o=++os,{effects:c,sequences:l,...f}=r;if(!i){console.error(`Interaction ${o} is missing a key for source element.`);return}ce(s,i);const a=c?Array.from(c):[];a.reverse();const u=l?.map(d=>{if(Pe(d)){const p=t.sequences?.[d.sequenceId];return p?{...p,...d}:(console.warn(`Interact: Sequence "${d.sequenceId}" not found in config`),d)}const m=d;return m.sequenceId||(m.sequenceId=x()),m}),h={...f,effects:a.length>0?a:void 0,sequences:u};s[i].triggers.push(h),s[i].selectors.add(G(h,{useFirstChild:e}));const g=h.listContainer;a.forEach(d=>{let m=d.key;if(!m&&d.effectId){const w=t.effects[d.effectId];w&&(m=w.key)}d.effectId||(d.effectId=x()),m=m||i,d.key=m;const p=d.effectId;if(g&&d.listContainer&&(m!==i||d.listContainer!==g))return;const y=`${i}::${m}::${p}::${o}`;if(d.interactionId=y,s[i].interactionIds.add(y),m===i)return;const v=ce(s,m);v.effects[y]||(v.effects[y]=[],v.interactionIds.add(y)),v.effects[y].push({...f,effect:d}),v.selectors.add(G(d,{useFirstChild:e}))}),u?.forEach(d=>{if(!d||Pe(d))return;const m=d,p=m.sequenceId||x(),y=m.effects;for(const v of y){v.effectId||(v.effectId=x());let w=v.key;if(!w&&v.effectId){const b=t.effects[v.effectId];b&&(w=b.key)}if(w=w||i,w!==i){const b=ce(s,w),S=`${w}::seq::${p}::${o}`;b.sequences[S]||(b.sequences[S]=[],b.interactionIds.add(S)),b.sequences[S].push({...f,sequence:m}),b.selectors.add(G(v,{useFirstChild:e}))}}})}),{effects:t.effects||{},sequences:t.sequences||{},conditions:n,interactions:s}}function pe(t,e,n){if(t.listContainer){const s=e.querySelector(t.listContainer);return s?t.selector?Array.from(s.querySelectorAll(t.selector)):Array.from(s.children):(console.warn(`Interact: No container found for list container "${t.listContainer}"`),[])}if(t.selector){const s=e.querySelectorAll(t.selector);if(s.length>0)return Array.from(s);console.warn(`Interact: No elements found for selector "${t.selector}"`)}return n?e.firstElementChild:e}function ge(t,e){return e.map(n=>t.selector?n.querySelector(t.selector):n).filter(Boolean)}function Xe(t,e,n,s,r,i,o,c){return[o?ge(t,o):pe(t,n,s),c?ge(e,c):pe(e,r,i)]}function Ue(t,e,n,s,r,i,o){const c=Array.isArray(s),l=Array.isArray(r);c?s.forEach((f,a)=>{const u=l?r[a]:r;u&&Fe(t,f,e.trigger,u,n,e.params,i,o)}):(l?r:[r]).forEach(a=>{Fe(t,s,e.trigger,a,n,e.params,i,o)})}function Je(t,e,n,s,r){const i={},o=[];(s.effects||[]).forEach(c=>{const l=c.effectId,f={...n.dataCache.effects[l]||{},...c,effectId:l},a=f.key,u=C(c.interactionId,t);if(i[u]||n.addedInteractions[u]&&!r)return;const h=A(f.conditions||[],n.dataCache.conditions);if(h&&n.setupMediaQueryListener(u,h,t,()=>{e.update()}),!h||h.matches){i[u]=!0;const g=a&&C(a,t);let d;if(g){if(d=E.getController(g),!d)return;f.listContainer&&d.watchChildList(f.listContainer)}else d=e;const[m,p]=Xe(s,f,e.element,e.useFirstChild,d.element,d.useFirstChild,r);if(!m||!p)return;n.addedInteractions[u]=!0;const y=g||s.key,v=$(f.conditions||[],n.dataCache.conditions);o.push([y,s,f,m,p,v,d.useFirstChild])}}),o.reverse().forEach(c=>{Ue(...c)}),fs(t,e,n,s,r)}function as(t){return"sequenceId"in t&&!("effects"in t)}function Ze(t,e,n,s,r,i,o){const c=A(t.conditions||[],r.dataCache.conditions);if(c&&r.setupMediaQueryListener(e,c,i.updateKey,i.onUpdate),c&&!c.matches)return null;const l=t.effects||[],f=[];let a=!1;for(const u of l){const h=u.effectId,d={...h?r.dataCache.effects[h]||{}:{},...u},m=A(d.conditions||[],r.dataCache.conditions);if(m){const T=`${e}::${h||"eff"}`;r.setupMediaQueryListener(T,m,i.updateKey,i.onUpdate)}if(m&&!m.matches)continue;const p=d.key,y=p&&C(p,n);let v;if(y){if(v=E.getController(y),!v)return null}else v=s;const w=y||n;let b;if(o&&w===o.controllerKey&&d.listContainer===o.listContainer?(b=ge(d,o.elements),b.length>0&&(a=!0)):b=pe(d,v.element,v.useFirstChild),!b||Array.isArray(b)&&b.length===0)return null;const S=P(d);f.push({target:b,options:S})}return o&&!a?null:f.length>0?f:null}function et(t,e,n){const i=(t.useFirstChild?t.element.firstElementChild:t.element)?.querySelector(e);if(!i)return n.map((c,l)=>l);const o=Array.from(i.children);return n.map(c=>{const l=o.indexOf(c);return l>=0?l:o.length})}function fs(t,e,n,s,r){s.sequences?.forEach(i=>{let o;if(as(i)){const g=n.dataCache.sequences[i.sequenceId];if(!g){console.warn(`Interact: Sequence "${i.sequenceId}" not found in cache`);return}o={...g,...i}}else o=i;const c=o.sequenceId||x(),l=C(`${t}::seq::${c}`,t);if(n.addedInteractions[l]&&!r)return;const f=r&&s.listContainer?{controllerKey:t,listContainer:s.listContainer,elements:r}:void 0,a=Ze(o,l,t,e,n,{updateKey:t,onUpdate:()=>e.update()},f);if(!a)return;if(r&&n.addedInteractions[l]){const g=et(e,s.listContainer,r);E.addToSequence(l,a,g,{reducedMotion:E.forceReducedMotion});return}const u=E.getSequence(l,o,a,{reducedMotion:E.forceReducedMotion});n.addedInteractions[l]=!0;const h=$(s.conditions||[],n.dataCache.conditions);_[s.trigger]?.add(e.element,e.element,{triggerType:o.triggerType},s.params||{},{reducedMotion:E.forceReducedMotion,selectorCondition:h,animation:u,allowA11yTriggers:E.allowA11yTriggers})})}function ls(t,e,n,s,r){const i=n.get(t)?.sequences||{};Object.keys(i).forEach(c=>{i[c].some(({sequence:f,...a})=>{const u=A(a.conditions||[],n.dataCache.conditions);if(u&&!u.matches)return!1;const h=a.key&&C(a.key,t),g=E.getController(h);if(!g)return!0;const d=f.sequenceId||x(),m=C(`${h}::seq::${d}`,h);if(n.addedInteractions[m]&&!r)return!0;const y=Ze(f,m,h,g,n,{updateKey:t,onUpdate:()=>e.update()},r&&s?{controllerKey:t,listContainer:s,elements:r}:void 0);if(!y)return!0;if(r&&n.addedInteractions[m]){const b=et(e,s,r);return E.addToSequence(m,y,b,{reducedMotion:E.forceReducedMotion}),!0}const v=E.getSequence(m,f,y,{reducedMotion:E.forceReducedMotion});n.addedInteractions[m]=!0;const w=$(a.conditions||[],n.dataCache.conditions);return _[a.trigger]?.add(g.element,g.element,{triggerType:f.triggerType},a.params||{},{reducedMotion:E.forceReducedMotion,selectorCondition:w,animation:v,allowA11yTriggers:E.allowA11yTriggers}),!0})})}function tt(t,e,n,s,r){const i=n.get(t),o=i?.effects||{},c=Object.keys(o),l=[];c.forEach(a=>{const u=C(a,t);if(n.addedInteractions[u]&&!r)return;o[a].some(({effect:g,...d})=>{const m=A(d.conditions||[],n.dataCache.conditions);if(m&&!m.matches)return!1;const p=g.effectId,y={...n.dataCache.effects[p]||{},...g,effectId:p};if(s&&y.listContainer!==s)return!1;const v=A(y.conditions||[],n.dataCache.conditions);if(v&&n.setupMediaQueryListener(u,v,t,()=>{e.update()}),!v||v.matches){const w=d.key&&C(d.key,t),b=E.getController(w);if(!b)return!0;y.listContainer&&e.watchChildList(y.listContainer);const[S,T]=Xe(d,y,b.element,b.useFirstChild,e.element,e.useFirstChild,void 0,r);if(!S||!T)return!0;n.addedInteractions[u]=!0;const F=$(y.conditions||[],n.dataCache.conditions);return l.push([t,d,y,S,T,F,e.useFirstChild]),!0}return!1})}),l.reverse().forEach(a=>{Ue(...a)}),ls(t,e,n,s,r);const f=Object.keys(i?.sequences||{}).length>0;return c.length>0||f}function Fe(t,e,n,s,r,i,o,c){let l;if(r.transition||r.transitionProperties){const f={key:t,effectId:r.effectId,transition:r.transition,properties:r.transitionProperties,childSelector:G(r,{asCombinator:!0,addItemFilter:!0,useFirstChild:c}),selectorCondition:o};if(l=E.getController(t),!l)return;l.renderStyle(Qt(f))}_[n]?.add(e,s,r,i,{reducedMotion:E.forceReducedMotion,targetController:l,selectorCondition:o,allowA11yTriggers:E.allowA11yTriggers})}function us(t){const e=t.key,n=E.getInstance(e);if(!n)return console.warn(`No instance found for key: ${e}`),E.setController(e,t),!1;const{triggers:s=[]}=n?.get(e)||{},r=s.length>0;n.setController(e,t),s.forEach((o,c)=>{const l=A(o.conditions,n.dataCache.conditions);if(l){const f=`${e}::trigger::${c}`;n.setupMediaQueryListener(f,l,e,()=>{t.update()})}(!l||l.matches)&&(o.listContainer&&t.watchChildList(o.listContainer),Je(e,t,n,o))});let i=!1;return n&&(i=tt(e,t,n)),r||i}function ds(t,e,n){const s=t.key,r=E.getInstance(s);if(r){const{triggers:i=[]}=r?.get(s)||{};i.forEach((o,c)=>{if(o.listContainer!==e)return;const l=A(o.conditions,r.dataCache.conditions);if(l){const f=`${s}::listTrigger::${e}::${c}`;r.setupMediaQueryListener(f,l,s,()=>{t.update()})}(!l||l.matches)&&Je(s,t,r,o,n)}),tt(s,t,r,e,n)}}function hs(t,e=!1){const n=t.key,s=E.getInstance(n);if(!s)return;const r=[...s.get(n)?.selectors.values()||[]].filter(Boolean).join(",");let i;r?(i=[...t.element.querySelectorAll(r)],t.useFirstChild||i.push(t.element)):i=[t.element],nt(i),s.deleteController(n,e)}function nt(t){const e=Object.values(_);for(const n of t)for(const s of e)s.remove(n);E.removeFromSequences(t)}const ae="interactEffect";class st{element;key;connected;sheet;useFirstChild;_observers;constructor(e,n,s){this.element=e,this.key=n,this.connected=!1,this.sheet=null,this._observers=new WeakMap,this.useFirstChild=s?.useFirstChild??!1}connect(e){if(this.connected)return;const n=this.element.dataset.interactKey;if(e=e||this.key||n,!e){console.warn("Interact: No key provided");return}n!==e&&(n&&console.warn(`Interact: Key mismatch between element ${n} and parameter ${e}, updating element key`),this.element.dataset.interactKey=e),this.key=e,this.connected=us(this)}disconnect({removeFromCache:e=!1}={}){if((this.key||this.element.dataset.interactKey)&&hs(this,e),this.sheet){const s=document.adoptedStyleSheets.indexOf(this.sheet);document.adoptedStyleSheets.splice(s,1)}this._observers=new WeakMap,this.sheet=null,this.connected=!1}update(){this.disconnect(),this.connect()}renderStyle(e){if(!this.sheet)this.sheet=new CSSStyleSheet,this.sheet.replaceSync(e.join(`
7
+ } }`)}return g}function A(t,e){const n=(t||[]).filter(i=>e[i]?.type==="media"&&e[i].predicate).map(i=>e[i].predicate).join(") and ("),s=n&&`(${n})`;return s&&window.matchMedia(s)}function $(t,e){for(const n of t||[]){const s=e[n];if(s?.type==="selector"&&s.predicate)return s.predicate}}const V={rangeStart:{name:"cover",offset:{value:0,unit:"percentage"}},rangeEnd:{name:"cover",offset:{value:100,unit:"percentage"}}};function Xt(t,e){const n=t?.name??V.rangeStart.name,s=e?.name??t?.name??V.rangeEnd.name,r={name:n,offset:t?.offset||V.rangeStart.offset},i={name:s,offset:e?.offset||V.rangeEnd.offset};return{startOffset:r,endOffset:i}}function P(t){if("keyframeEffect"in t&&!t.keyframeEffect.name&&"effectId"in t&&(t.keyframeEffect.name=t.effectId),"duration"in t)return{id:"",...t};const{rangeStart:e,rangeEnd:n,...s}=t,{startOffset:r,endOffset:i}=Xt(e,n);return{id:"",startOffset:r,endOffset:i,...s}}function O(t,e,n){let s=t.get(e);s||(s=new Set,t.set(e,s)),s.add(n)}function W(t,e){t.get(e)?.forEach(s=>{const{source:r,target:i,cleanup:o}=s;o();const c=r===e?i:r;t.get(c)?.delete(s)}),t.delete(e)}const Ut={root:null,rootMargin:"0px 0px -10% 0px",threshold:[0]},Jt={root:null,rootMargin:"0px",threshold:[0]},Zt=.2;function en(t){const e=t.trim().split(/\s+/),n=e[0],s=e.length>1?e[1]:e[0],r=i=>i.startsWith("-")?i.slice(1):parseFloat(i)?`-${i}`:i;return`${r(n)} 0px ${r(s)}`}const D={},k=new WeakMap,ee=new WeakSet,R=new WeakMap;let Ve={},H=null;function tn(t){Ve=t}function je(t,e,n){k.get(t)?.forEach(({source:r,handler:i})=>{r===t&&i(e,n)})}function Ce(){return H||(H=new IntersectionObserver(t=>{t.forEach(e=>{const n=e.target;e.isIntersecting||je(n,!1,!0)})},Jt),H)}function Ye(t,e=!1){const n=JSON.stringify({...t,isSafeMode:e});if(D[n])return D[n];const s=t.threshold??Zt,r=e?Ut:{root:null,rootMargin:t.inset?en(t.inset):"0px",threshold:s},i=new IntersectionObserver(o=>{o.forEach(c=>{const l=c.target,f=!ee.has(l);if(f&&(ee.add(l),t.useSafeViewEnter&&!c.isIntersecting)){I.measure(()=>{const a=c.boundingClientRect.height,u=c.rootBounds?.height;if(!u)return;const h=Array.isArray(t.threshold)?Math.min(...t.threshold):t.threshold;h&&a*h>u&&I.mutate(()=>{i.unobserve(l);const d=Ye(t,!0);R.set(l,d),d.observe(l)})});return}(c.isIntersecting||!f)&&je(l,c.isIntersecting)})},r);return D[n]=i,i}function nn(t,e,n,s={},{reducedMotion:r,selectorCondition:i,animation:o}={}){const c={...Ve,...s},l=n.triggerType||"once",f=o||ne(e,P(n),void 0,r);if(!f)return;const a=Ye(c);l!=="once"&&f.persist?.();let u=!0,h=!1,g;g={source:t,target:e,handler:(p,y)=>{if(!(i&&!e.matches(i)))if(l==="once"){if(p&&!h){h=!0,k.get(t)?.delete(g),k.get(e)?.delete(g);const v=k.get(t);(!v||v.size===0)&&((R.get(t)||a).unobserve(t),ee.delete(t)),f.play(()=>{const w=()=>{e.dataset.interactEnter="start"};if(f.isCSS){I.mutate(()=>{requestAnimationFrame(w)});const b=()=>{I.mutate(()=>{e.dataset.interactEnter="done"})};f.onFinish(b),f.onAbort(b)}else I.mutate(w)})}}else l==="alternate"?u&&p?(u=!1,f.play()):u||f.reverse():l==="repeat"?p?(f.progress(0),f.play()):y&&(f.pause(),f.progress(0)):l==="state"&&(p?f.play():y&&f.pause())},cleanup:()=>{(R.get(t)||a).unobserve(t),(l==="repeat"||l==="state")&&Ce().unobserve(t),f.cancel(),ee.delete(t),R.delete(t)}},O(k,t,g),O(k,e,g),R.set(t,a),a.observe(t),(l==="repeat"||l==="state")&&Ce().observe(t)}function sn(t){W(k,t)}function rn(){H=null,Object.keys(D).forEach(t=>delete D[t])}const Ae={add:nn,remove:sn,setOptions:tn,reset:rn};function Be(t,e){return Object.assign(Object.create(e),t)}function on(t,e,n,s){let r=t*(1-n)+e*n;if(s){const i=r-t;Math.abs(i)<s&&(r=t+s*Math.sign(i));const o=e-r;if(Math.abs(o)<s)return e}return r}function cn(t){let e=!1;return function(){e||(e=!0,window.requestAnimationFrame(()=>{e=!1,t()}))}}function ke(t,e){let n=0;return function(){n&&window.clearTimeout(n),n=window.setTimeout(()=>{n=0,t()},e)}}function an(t,e){const n=t.match(/^calc\s*\(\s*(-?\d+((px)|([lsd]?vh)|([lsd]?vw)))\s*\+\s*(-?\d+((px)|([lsd]?vh)|([lsd]?vw)))\s*\)\s*$/);return te(n[1],e)+te(n[6],e)}function te(t,e){return t?/^-?\d+px$/.test(t)?parseInt(t):/^-?\d+[lsd]?vh$/.test(t)?parseInt(t)*e.viewportHeight/100:/^-?\d+[lsd]?vw$/.test(t)?parseInt(t)*e.viewportWidth/100:/^calc\s*\(\s*-?\d+((px)|([lsd]?vh)|([lsd]?vw))\s*\+\s*-?\d+((px)|([lsd]?vh)|([lsd]?vw))\s*\)\s*$/.test(t)?an(t,e):parseInt(t)||0:0}function q(t,e,n){const{name:s,offset:r=0}=t,{start:i,end:o}=n,c=o-i,l=r/100;let f,a;return s==="entry"?(f=i-e,a=Math.min(e,c)):s==="entry-crossing"?(f=i-e,a=c):s==="contain"?(f=Math.min(o-e,i),a=Math.abs(e-c)):s==="exit"?(f=Math.max(i,o-e),a=Math.min(e,c)):s==="exit-crossing"?(f=i,a=c):s==="cover"&&(f=i-e,a=c+e),f+l*a|0}function oe(t,e,n,s,r){let i=0;const o={start:e,end:n};return t.forEach((c,l)=>{i+=c.offset;const f=c.sticky;if(f){if("end"in f&&t[l-1]?.element){const h=((r?c.element.offsetWidth:c.element.offsetHeight)||0)+f.end-s,g=i+h-c.offset,d=g<o.start,m=!d&&g<=n;let p=0;(d||m)&&(p=c.offset,o.end+=p),d&&(o.start+=p)}if("start"in f){const a=i-f.start,u=a<o.start,h=!u&&a<=o.end;let g=0;const d=t[l-1]?.element;if(d){if(u||h){const m=(r?d.offsetWidth:d.offsetHeight)||0,p=c.offset,y=(r?c.element.offsetWidth:c.element.offsetHeight)||0;g=m-(p+y),i+=g,o.end+=g}u&&(o.start+=g)}}}}),o}function fn(t,e,n,s,r,i){const{start:o,end:c,duration:l}=t;let f=o,a=c,u=t.startRange,h=t.endRange,g;if(typeof l=="string"){u={name:l,offset:0},h={name:l,offset:100},f=q(u,n,e),a=q(h,n,e),g=a-f;const d=oe(i,f,a,n,s);f=d.start,a=d.end}else{if(u||o?.name){u=u||o;const d=te(u.add,r),m=q({...u,offset:0},n,e),p=q({...u,offset:100},n,e),y=oe(i,m,p,n,s);f=y.start+u.offset/100*(y.end-y.start)+d}if(h||c?.name){h=h||c;const d=te(h.add,r),m=q({...h,offset:0},n,e),p=q({...h,offset:100},n,e),y=oe(i,m,p,n,s);a=y.start+h.offset/100*(y.end-y.start)+d}else typeof l=="number"&&(a=f+l)}return!g&&!l&&(g=a-f),{...t,start:f,end:a,startRange:u,endRange:h,duration:g||l}}function ln(t){return t.position==="sticky"}function un(t,e,n){return t.position==="fixed"&&(!e||e===window.document.body||e===n)}function dn(t,e){return parseInt(e?t.left:t.top)}function hn(t,e){return parseInt(e?t.right:t.bottom)}function mn(t,e,n){n&&(t.style.position="static");const s=(e?t.offsetLeft:t.offsetTop)||0;return n&&(t.style.position=null),s}function pn(t,e){let n;const s=dn(t,e),r=hn(t,e),i=!isNaN(s),o=!isNaN(r);return(i||o)&&(n={},i&&(n.start=s),o&&(n.end=r)),n}function j(t,e,n,s,r){const i=t[0].viewSource,o=[];let c=(s?i.offsetWidth:i.offsetHeight)||0,l=0,f=i;for(;f;){const u=window.getComputedStyle(f),h=ln(u),g=h?pn(u,s):void 0,d=mn(f,s,h);if((!g||!("end"in g))&&(l+=d),o.push({element:f,offset:d,sticky:g}),f=f.offsetParent,un(u,f,e))break;if(f===e){o.push({element:f,offset:0});break}}return o.reverse(),t.map(u=>({...fn(u,{start:l,end:l+c},n,s,r,o)}))}const _e=100,gn={horizontal:!1,observeViewportEntry:!0,viewportRootMargin:"7% 7%",observeViewportResize:!1,observeSourcesResize:!1,observeContentResize:!1};function vn(t,e,n,s){let r=0;return t>=e&&t<=n?r=s?(t-e)/s:1:t>n&&(r=1),r}function qe(t,e){return t===window?e?window.document.documentElement.clientWidth:window.document.documentElement.clientHeight:e?t.clientWidth:t.clientHeight}function yn(){return{viewportWidth:window.document.documentElement.clientWidth,viewportHeight:window.document.documentElement.clientHeight}}function En(t){const e=Be(t,gn),n=e.root,s=e.horizontal,r=new WeakMap;let i=qe(n,s),o,c,l,f,a;const u=[],h=yn();if(e.scenes=Object.values(t.scenes.reduce((m,p,y)=>{const v=p.groupId?`group-${p.groupId}`:String(y);return m[v]?m[v].push(p):m[v]=[p],m},{})).flatMap(m=>(m.every(p=>p.viewSource&&(typeof p.duration=="string"||p.start?.name))?(m=j(m,n,i,s,h),(e.observeSourcesResize||e.observeContentResize)&&u.push(m)):m.forEach(p=>{p.end==null&&(p.end=p.start+p.duration),p.duration==null&&(p.duration=p.end-p.start)}),m)),e.scenes.forEach((m,p)=>{m.index=p}),u.length){const m=new Map;window.ResizeObserver&&(l=new window.ResizeObserver(function(p){p.forEach(y=>{const v=m.get(y.target),w=j(v,n,i,s,h);w.forEach((b,S)=>{e.scenes[b.index]=w[S]}),u.splice(u.indexOf(v),1,w)})}),u.forEach(p=>{l.observe(p[0].viewSource,{box:"border-box"}),m.set(p[0].viewSource,p)}),e.observeContentResize&&e.contentRoot&&new window.ResizeObserver(ke(()=>{const y=u.map(v=>{const w=j(v,n,i,s,h);return w.forEach((b,S)=>{e.scenes[b.index]=w[S]}),w});u.length=0,u.push(...y),u.forEach(v=>{m.set(v[0].viewSource,v)})},_e)).observe(e.contentRoot,{box:"border-box"})),e.observeViewportResize&&(f=ke(function(){i=qe(n,s);const p=u.map(y=>{const v=j(y,n,i,s,h);return v.forEach((w,b)=>{e.scenes[w.index]=v[b]}),v});u.length=0,u.push(...p),u.forEach(y=>{m.set(y[0].viewSource,y)})},_e),n===window?window.addEventListener("resize",f):window.ResizeObserver&&(a=new window.ResizeObserver(f),a.observe(n,{box:"border-box"})))}e.observeViewportEntry&&window.IntersectionObserver&&(c=new window.IntersectionObserver(function(m){m.forEach(p=>{(r.get(p.target)||[]).forEach(y=>{y.disabled=!p.isIntersecting})})},{root:n===window?window.document:n,rootMargin:e.viewportRootMargin,threshold:0}),e.scenes.forEach(m=>{if(m.viewSource){let p=r.get(m.viewSource);p||(p=[],r.set(m.viewSource,p),c.observe(m.viewSource)),p.push(m)}}));function g({p:m,vp:p}){m=+m.toFixed(1);const y=+p.toFixed(4);if(m!==o){for(let v of e.scenes)if(!v.disabled){const{start:w,end:b,duration:S}=v,T=vn(m,w,b,S);v.effect(v,T,y)}o=m}}function d(){e.scenes.forEach(m=>m.destroy?.()),c&&(c.disconnect(),c=null),l&&(l.disconnect(),l=null),f&&(a?(a.disconnect(),a=null):window.removeEventListener("resize",f))}return{tick:g,destroy:d}}const wn={transitionActive:!1,transitionFriction:.9,transitionEpsilon:1,velocityActive:!1,velocityMax:1};class bn{constructor(e={}){this.config=Be(e,wn),this.progress={p:0,prevP:0,vp:0},this.currentProgress={p:0,prevP:0,vp:0},this._lerpFrameId=0,this.effect=null;const n=!this.config.root||this.config.root===window.document.body;this.config.root=n?window:this.config.root,this.config.contentRoot=this.config.contentRoot||(n?window.document.body:this.config.root.firstElementChild),this.config.resetProgress=this.config.resetProgress||this.resetProgress.bind(this),this._measure=this.config.measure||(()=>{const s=this.config.root;this.progress.p=this.config.horizontal?s.scrollX||s.scrollLeft||0:s.scrollY||s.scrollTop||0}),this._trigger=cn(()=>{this._measure?.(),this.tick(!0)})}start(){this.setupEffect(),this.setupEvent(),this.resetProgress(),this.tick()}pause(){this.removeEvent()}resetProgress(e={}){const n=this.config.root,s=e.x||e.x===0?e.x:n.scrollX||n.scrollLeft||0,r=e.y||e.y===0?e.y:n.scrollY||n.scrollTop||0,i=this.config.horizontal?s:r;this.progress.p=i,this.progress.prevP=i,this.progress.vp=0,this.config.transitionActive&&(this.currentProgress.p=i,this.currentProgress.prevP=i,this.currentProgress.vp=0),e&&this.config.root.scrollTo(s,r)}tick(e){const n=this.config.transitionActive;n&&this.lerp();const s=n?this.currentProgress:this.progress;if(this.config.velocityActive){const r=s.p-s.prevP,i=r<0?-1:1;s.vp=Math.min(this.config.velocityMax,Math.abs(r))/this.config.velocityMax*i}this.effect.tick(s),n&&s.p!==this.progress.p&&(e&&this._lerpFrameId&&window.cancelAnimationFrame(this._lerpFrameId),this._lerpFrameId=window.requestAnimationFrame(()=>this.tick())),s.prevP=s.p}lerp(){this.currentProgress.p=on(this.currentProgress.p,this.progress.p,+(1-this.config.transitionFriction).toFixed(3),this.config.transitionEpsilon)}destroy(){this.pause(),this.removeEffect()}setupEvent(){this.removeEvent(),this.config.root.addEventListener("scroll",this._trigger)}removeEvent(){this.config.root.removeEventListener("scroll",this._trigger)}setupEffect(){this.removeEffect(),this.effect=En(this.config)}removeEffect(){this.effect&&this.effect.destroy(),this.effect=null}}const le=new WeakMap;let Ke=()=>({});function Sn(t){Ke=t}function Tn(t,e,n,s,{reducedMotion:r}){if(r)return;const i={trigger:"view-progress",element:t},o=P(n);let c;if("ViewTimeline"in window){const f=ve(e,o,i);f&&(f.play(),c=()=>{f.ready.then(()=>{f.cancel()})})}else{const f=Ne(e,o,i);if(f){const a=Array.isArray(f)?f:[f],u=new bn({viewSource:t,scenes:a,observeViewportEntry:!1,observeViewportResize:!1,observeSourcesResize:!0,root:document.body,...Ke()});c=()=>{u.destroy()},Promise.all(a.map(h=>h.ready||Promise.resolve())).then(()=>{u.start()})}}if(!c)return;const l={source:t,target:e,cleanup:c};O(le,t,l),O(le,e,l)}function In(t){W(le,t)}const On={add:Tn,remove:In,registerOptionsGetter:Sn};function xe(t,e,n){return Math.min(Math.max(t,n),e)}function Me(t){let e=!1;return function(){if(!e)return e=!0,window.requestAnimationFrame(()=>{e=!1,t()})}}function Cn(t){let e=t,n=0,s=0;if(e.offsetParent)do n+=e.offsetLeft,s+=e.offsetTop,e=e.offsetParent;while(e);return{left:n,top:s,width:t.offsetWidth,height:t.offsetHeight}}function An(){const t=window.devicePixelRatio;let e=!1;if(t===1)return!1;document.body.addEventListener("pointerdown",s=>{e=s.offsetX!==10},{once:!0});const n=new PointerEvent("pointerdown",{clientX:10});return document.body.dispatchEvent(n),e}function kn(){return new Promise(t=>{const e=window.scrollY;let n=!1,s;function r(){document.body.addEventListener("pointerdown",c=>{s===void 0?s=c.offsetY:n=c.offsetY===s},{once:!0});const o=new PointerEvent("pointerdown",{clientY:500});document.body.dispatchEvent(o)}function i(){window.scrollY!==e&&(window.removeEventListener("scroll",i),r(),t(n))}r(),window.addEventListener("scroll",i),window.scrollY>0&&window.scrollBy(0,-1)})}function _n(t){kn().then(e=>{t.fixRequired=e,e&&(window.addEventListener("scroll",t.scrollHandler),t.scrollHandler())})}let Y=0;const J=new Set;function qn(){const t=n=>{for(let s of n.changedTouches)J.add(s.identifier)},e=n=>{for(let s of n.changedTouches)J.delete(s.identifier)};return document.addEventListener("touchstart",t,{passive:!0}),document.addEventListener("touchend",e,{passive:!0}),function(){J.clear(),document.removeEventListener("touchstart",t),document.removeEventListener("touchend",e)}}function xn(t,e){if("onscrollend"in window)return t.addEventListener("scrollend",e),function(){t.removeEventListener("scrollend",e)};let n=0,s;Y||(s=qn()),Y+=1;function r(i){clearTimeout(n),n=setTimeout(()=>{J.size?setTimeout(r,100):(e(i),n=0)},100)}return t.addEventListener("scroll",r),function(){t.removeEventListener("scroll",r),Y-=1,Y||s()}}function Mn(t,e,n){return{x(s){const r=t.left-n.x+t.width/2,i=r>=e.width/2,o=(i?r:e.width-r)*2,c=i?0:r-o/2;return(s-c)/o},y(s){const r=t.top-n.y+t.height/2,i=r>=e.height/2,o=(i?r:e.height-r)*2,c=i?0:r-o/2;return(s-c)/o}}}function Ln(t,e){this.x=window.scrollX,this.y=window.scrollY,requestAnimationFrame(()=>t&&t(e))}function $n(t){t.rect.width=window.document.documentElement.clientWidth,t.rect.height=window.document.documentElement.clientHeight}function Pn(t){const e=new ResizeObserver(n=>{n.forEach(s=>{t.rect.width=s.borderBoxSize[0].inlineSize,t.rect.height=s.borderBoxSize[0].blockSize})});return e.observe(t.root,{box:"border-box"}),e}function Fn(t){let e=!1,n={x:t.rect.width/2,y:t.rect.height/2,vx:0,vy:0},s,r,i,o,c;const l={x:0,y:0};t.scenes.forEach(a=>{a.target&&a.centeredToTarget&&(a.transform=Mn(Cn(a.target),t.rect,l),e=!0),t.root?r=Pn(t):(i=$n.bind(null,t),window.addEventListener("resize",i))}),s=function(a){for(let u of t.scenes)if(!u.disabled){const h=u.transform?.x(a.x)||a.x/t.rect.width,g=u.transform?.y(a.y)||a.y/t.rect.height,d=+xe(0,1,h).toPrecision(4),m=+xe(0,1,g).toPrecision(4),p={x:a.vx,y:a.vy};t.allowActiveEvent&&(a.active=h<=1&&g<=1&&h>=0&&g>=0),u.effect(u,{x:d,y:m},p,a.active)}Object.assign(n,a)},e&&(o=Ln.bind(l,s,n),c=xn(document,o));function f(){t.scenes.forEach(a=>a.destroy?.()),c?.(),r?(r.disconnect(),r=null):(window.removeEventListener("resize",i),i=null),s=null,n=null}return{tick:s,destroy:f}}const Rn=1e3/60*3;let B;function Hn(){M.x=window.scrollX,M.y=window.scrollY}const M={x:0,y:0,scrollHandler:Hn,fixRequired:void 0};class zn{constructor(e={}){this.config={...e},this.effect=null,this._nextTick=null,this._nextTransitionTick=null,this._startTime=0;let n;this.config.transitionDuration?n=this.config.noThrottle?()=>this.transition():Me(()=>this.transition()):n=this.config.noThrottle?()=>(this.tick(),null):Me(()=>{this.tick()}),this.config.rect=this.config.root?{width:this.config.root.offsetWidth,height:this.config.root.offsetHeight}:{width:window.document.documentElement.clientWidth,height:window.document.documentElement.clientHeight},this.progress={x:this.config.rect.width/2,y:this.config.rect.height/2,vx:0,vy:0},this.previousProgress={...this.progress},this.currentProgress=null;const s=r=>{const i=this.config.root?r.offsetX:r.x,o=this.config.root?r.offsetY:r.y;this.progress.vx=i-this.progress.x,this.progress.vy=o-this.progress.y,this.progress.x=i,this.progress.y=o,this._nextTick=n()};if(this._pointerLeave=()=>{this.progress.active=!1,this.progress.vx=0,this.progress.vy=0,this._nextTick=n()},this._pointerEnter=()=>{this.progress.active=!0,this._nextTick=n()},this.config.root){B=typeof B=="boolean"?B:An();const r=B?window.devicePixelRatio:1;typeof M.fixRequired>"u"&&_n(M),this._measure=i=>{if(i.target!==this.config.root){const o=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:i.x*r+M.x,clientY:i.y*r+M.y});i.stopPropagation(),this.config.root.dispatchEvent(o)}else s(i)}}else this._measure=s}start(){this.setupEffect(),this.setupEvent()}pause(){this.removeEvent()}tick(){this.effect.tick(this.progress)}transition(){const e=this.config.transitionDuration,n=this.config.transitionEasing||(o=>o),s=performance.now();let r=!1;const i=o=>{const c=(o-this._startTime)/e,l=n(Math.min(1,c));r&&(this.progress.vx=0,this.progress.vy=0,r=!1),this.currentProgress=Object.entries(this.progress).reduce((f,[a,u])=>(a==="active"?f[a]=u:f[a]=this.previousProgress[a]+(u-this.previousProgress[a])*l,f),this.currentProgress||{}),c<1&&(this._nextTransitionTick=requestAnimationFrame(i),r=o-this._startTime>Rn),this.effect.tick(this.currentProgress)};return this._startTime?(this._nextTransitionTick&&cancelAnimationFrame(this._nextTransitionTick),Object.assign(this.previousProgress,this.currentProgress),this._startTime=s,i(s)):this._startTime=s,this._nextTransitionTick}destroy(){this.pause(),this.removeEffect(),this._nextTick&&cancelAnimationFrame(this._nextTick),this._nextTransitionTick&&cancelAnimationFrame(this._nextTransitionTick)}setupEvent(){this.removeEvent();const e=this.config.root||window;e.addEventListener("pointermove",this._measure,{passive:!0}),this.config.eventSource&&this.config.eventSource.addEventListener("pointermove",this._measure,{passive:!0}),this.config.allowActiveEvent&&(e.addEventListener("pointerleave",this._pointerLeave,{passive:!0}),e.addEventListener("pointerenter",this._pointerEnter,{passive:!0}),this.config.eventSource&&(this.config.eventSource.addEventListener("pointerleave",this._pointerLeave,{passive:!0}),this.config.eventSource.addEventListener("pointerenter",this._pointerEnter,{passive:!0})))}removeEvent(){const e=this.config.root||window;e.removeEventListener("pointermove",this._measure),this.config.eventSource&&this.config.eventSource.removeEventListener("pointermove",this._measure),this.config.allowActiveEvent&&(e.removeEventListener("pointerleave",this._pointerLeave),e.removeEventListener("pointerenter",this._pointerEnter),this.config.eventSource&&(this.config.eventSource.removeEventListener("pointerleave",this._pointerLeave),this.config.eventSource.removeEventListener("pointerenter",this._pointerEnter)))}setupEffect(){this.removeEffect(),this.effect=Fn(this.config)}removeEffect(){this.effect&&this.effect.destroy(),this.effect=null}}const ue=new WeakMap;let Qe=()=>({});function Dn(t){Qe=t}function Gn(t,e,n,s={},{reducedMotion:r}){if(r)return;const i={trigger:"pointer-move",element:t,axis:s.axis??"y"},o=Ne(e,P(n),i);if(o){const c=Array.isArray(o)?o:[o],l=new zn({root:s.hitArea==="self"?t:void 0,scenes:c,...Qe()}),a={source:t,target:e,cleanup:()=>{l.destroy()}};O(ue,t,a),O(ue,e,a),Promise.all(c.map(u=>u.ready||Promise.resolve())).then(()=>{l.start()})}}function Nn(t){W(ue,t)}const Wn={add:Gn,remove:Nn,registerOptionsGetter:Dn},de=new WeakMap;function Vn(t,e,n,s,{reducedMotion:r,selectorCondition:i,animation:o}){const c=o||ne(e,P(n),void 0,r);if(!c)return;const l=()=>{i&&!e.matches(i)||c.play()},a={source:t,target:e,cleanup:()=>{c.cancel(),t.removeEventListener("animationend",l)}};O(de,t,a),O(de,e,a),t.addEventListener("animationend",l)}function jn(t){W(de,t)}const Yn={add:Vn,remove:jn};function Bn(t,e,n=!1,s,r,i){const o=i||ne(t,P(e),void 0,n);if(!o)return null;let c=!0;const l=e.triggerType||"alternate";return f=>{if(s&&!t.matches(s))return;const a=!r,u=r?.enter?.includes(f.type),h=r?.leave?.includes(f.type);if(u||a){if(l==="alternate"||l==="state")c?(c=!1,o.play()):l==="alternate"?o.reverse():l==="state"&&(o.playState==="running"?o.pause():o.playState!=="finished"&&o.play());else{if(o.progress(0),delete t.dataset.interactEnter,o.isCSS){const g=()=>{I.mutate(()=>{t.dataset.interactEnter="done"})};o.onFinish(g),o.onAbort(g)}o.play()}return}h&&(l==="alternate"?o.reverse():l==="repeat"?(o.cancel(),I.mutate(()=>{delete t.dataset.interactEnter})):l==="state"&&o.playState==="running"&&o.pause())}}function Kn(t,e,{effectId:n,listContainer:s,listItemSelector:r,stateAction:i},o,c){const l=!!s,f=i??"toggle",a=f==="toggle";return u=>{if(o&&!t.matches(o))return;const h=l?t.closest(`${s} > ${r||""}:has(:scope)`):void 0,g=!c,d=c?.enter?.includes(u.type),m=c?.leave?.includes(u.type);g?e.toggleEffect(n,f,h):(d&&e.toggleEffect(n,a?"add":f,h),m&&a&&e.toggleEffect(n,"remove",h))}}const he=new WeakMap;function Le(t,e){return n=>{const s=n;t.contains(s.relatedTarget)||e(s)}}function Qn(t){return e=>{const n=e;n.pointerType&&t(n)}}function Xn(t){return e=>{const n=e;n.code==="Space"?(n.preventDefault(),t(n)):n.code==="Enter"&&t(n)}}const Un={focusin:(t,e)=>Le(t,e),focusout:(t,e)=>Le(t,e),click:(t,e)=>Qn(e),keydown:(t,e)=>Xn(e)};function Jn(t,e,n){const s=Un[t];return s?s(e,n):r=>n(r)}function Zn(t){return typeof t=="object"&&!Array.isArray(t)&&("enter"in t||"leave"in t)}function es(t){if(typeof t=="string")return{toggle:[t]};if(Array.isArray(t))return{toggle:[...t]};if(Zn(t)){const e=t.enter?[...t.enter]:[],n=t.leave?[...t.leave]:[];return{enter:e,leave:n}}return{}}function ts(t){return!!(t.enter?.length||t.leave?.length)}function ns(t){return ts(t)?{enter:t.enter??[],leave:t.leave??[]}:void 0}function ss(t,e,n,s,{reducedMotion:r,targetController:i,selectorCondition:o,animation:c}){const l=es(s.eventConfig),f=n.transition||n.transitionProperties,a=ns(l);let u,h=!1;if(f?u=Kn(e,i,n,o,a):(u=Bn(e,n,r,o,a,c),h=n.triggerType==="once"),!u)return;const g=u,d=new AbortController;function m(v,w,b){const S=Jn(w,t,g);v.addEventListener(w,S,{...b,signal:d.signal})}const y={source:t,target:e,cleanup:()=>{d.abort()}};if(O(he,t,y),O(he,e,y),a){const v=l.enter,w=l.leave;v.forEach(T=>{T==="focusin"&&(t.tabIndex=0),m(t,T,{passive:!0,once:h})});const b=!n.stateAction||n.stateAction==="toggle";(f?b:n.triggerType!=="once")&&w.forEach(T=>{if(T==="focusout"){m(t,T,{once:h});return}m(t,T,{passive:!0})})}else(l.toggle??[]).forEach(w=>{m(t,w,{once:h,passive:w!=="keydown"})})}function is(t){W(he,t)}const z={add:ss,remove:is},me={click:["click"],activate:["click","keydown"],hover:{enter:["mouseenter"],leave:["mouseleave"]},interest:{enter:["mouseenter","focusin"],leave:["mouseleave","focusout"]}},$e={click:me.activate,hover:me.interest};function K(t){const e=me[t];return(n,s,r,i,o)=>{const c=o?.allowA11yTriggers&&t in $e?$e[t]:e;z.add(n,s,r,{eventConfig:c},o??{})}}const _={viewEnter:Ae,hover:{add:K("hover"),remove:z.remove},click:{add:K("click"),remove:z.remove},pageVisible:Ae,animationEnd:Yn,viewProgress:On,pointerMove:Wn,activate:{add:K("activate"),remove:z.remove},interest:{add:K("interest"),remove:z.remove}};function rs(t){return t.replace(/\[([-\w]+)]/g,"[]")}class E{static defineInteractElement;dataCache;addedInteractions;mediaQueryListeners;listInteractionsCache;controllers;static forceReducedMotion=!1;static allowA11yTriggers=!0;static instances=[];static controllerCache=new Map;static sequenceCache=new Map;static elementSequenceMap=new WeakMap;constructor(){this.dataCache={effects:{},sequences:{},conditions:{},interactions:{}},this.addedInteractions={},this.mediaQueryListeners=new Map,this.listInteractionsCache={},this.controllers=new Set}init(e,n){if(typeof window>"u"||!window.customElements)return;const s=n?.useCustomElement??!!E.defineInteractElement;this.dataCache=cs(e,s);const r=E.defineInteractElement?.();s&&r===!1?document.querySelectorAll("interact-element").forEach(i=>{i.connect()}):E.controllerCache.forEach((i,o)=>i.connect(o))}destroy(){for(const e of this.controllers)e.disconnect();for(const[,e]of this.mediaQueryListeners.entries())e.mql.removeEventListener("change",e.handler);this.mediaQueryListeners.clear(),this.addedInteractions={},this.listInteractionsCache={},this.controllers.clear(),this.dataCache={effects:{},sequences:{},conditions:{},interactions:{}},E.instances.splice(E.instances.indexOf(this),1)}setController(e,n){this.controllers.add(n),E.setController(e,n)}deleteController(e,n=!1){const s=E.controllerCache.get(e);this.clearInteractionStateForKey(e),this.clearMediaQueryListenersForKey(e),s&&n&&(this.controllers.delete(s),E.deleteController(e))}has(e){return!!this.get(e)}get(e){const n=rs(e);return this.dataCache.interactions[n]}clearMediaQueryListenersForKey(e){for(const[n,s]of this.mediaQueryListeners.entries())s.key===e&&(s.mql.removeEventListener("change",s.handler),this.mediaQueryListeners.delete(n))}clearInteractionStateForKey(e){(this.get(e)?.interactionIds||[]).forEach(r=>{const i=C(r,e);delete this.addedInteractions[i]});const s=`${e}::seq::`;for(const r of E.sequenceCache.keys())r.startsWith(s)&&(E.sequenceCache.delete(r),delete this.addedInteractions[r])}setupMediaQueryListener(e,n,s,r){this.mediaQueryListeners.has(e)||(n.addEventListener("change",r),this.mediaQueryListeners.set(e,{mql:n,handler:r,key:s}))}static create(e,n){const s=new E;return E.instances.push(s),s.init(e,n),s}static destroy(){E.controllerCache.forEach(e=>{e.disconnect()}),E.instances.length=0,E.controllerCache.clear(),E.sequenceCache.clear(),E.elementSequenceMap=new WeakMap}static setup(e){e.scrollOptionsGetter&&_.viewProgress.registerOptionsGetter?.(e.scrollOptionsGetter),e.pointerOptionsGetter&&_.pointerMove.registerOptionsGetter?.(e.pointerOptionsGetter),e.viewEnter&&_.viewEnter.setOptions(e.viewEnter),e.allowA11yTriggers!==void 0&&(E.allowA11yTriggers=e.allowA11yTriggers)}static getInstance(e){const n=E.instances.find(s=>s.has(e));return n||console.warn(`Interact: Instance for key "${e}" not found`),n}static getController(e){const n=e?E.controllerCache.get(e):void 0;return n||console.warn(`Interact: Controller for key "${e}" not found`),n}static setController(e,n){E.controllerCache.set(e,n)}static deleteController(e){E.controllerCache.delete(e)}static registerEffects=Ht;static getSequence(e,n,s,r){const i=E.sequenceCache.get(e);if(i)return i;const o=Kt(n,s,r);return E.sequenceCache.set(e,o),E._registerSequenceElements(s,o),o}static addToSequence(e,n,s,r){const i=E.sequenceCache.get(e);if(!i)return!1;const c=We(n,r).map((l,f)=>({index:s[f]??i.animationGroups.length,group:l}));return i.addGroups(c),E._registerSequenceElements(n,i),!0}static _registerSequenceElements(e,n){for(const{target:s}of e){const r=Array.isArray(s)?s:s instanceof HTMLElement?[s]:[];for(const i of r){let o=E.elementSequenceMap.get(i);o||(o=new Set,E.elementSequenceMap.set(i,o)),o.add(n)}}}static removeFromSequences(e){for(const n of e){const s=E.elementSequenceMap.get(n);if(s){for(const r of s)r.removeGroups(i=>i.animations.some(o=>o.effect?.target===n));E.elementSequenceMap.delete(n)}}}}let os=0;function G(t,{asCombinator:e=!1,addItemFilter:n=!1,useFirstChild:s=!1}={}){if(t.listContainer){const r=`${n&&t.listItemSelector?` > ${t.listItemSelector}`:""}`;return t.selector?`${t.listContainer}${r} ${t.selector}`:`${t.listContainer}${r||" > *"}`}else if(t.selector)return t.selector;return s?e?"> :first-child":":scope > :first-child":""}function Pe(t){return"sequenceId"in t&&!("effects"in t)}function ce(t,e){return t[e]||(t[e]={triggers:[],effects:{},sequences:{},interactionIds:new Set,selectors:new Set}),t[e]}function cs(t,e=!1){const n=t.conditions||{},s={};return t.interactions?.forEach(r=>{const i=r.key,o=++os,{effects:c,sequences:l,...f}=r;if(!i){console.error(`Interaction ${o} is missing a key for source element.`);return}ce(s,i);const a=c?Array.from(c):[];a.reverse();const u=l?.map(d=>{if(Pe(d)){const p=t.sequences?.[d.sequenceId];return p?{...p,...d}:(console.warn(`Interact: Sequence "${d.sequenceId}" not found in config`),d)}const m=d;return m.sequenceId||(m.sequenceId=x()),m}),h={...f,effects:a.length>0?a:void 0,sequences:u};s[i].triggers.push(h),s[i].selectors.add(G(h,{useFirstChild:e}));const g=h.listContainer;a.forEach(d=>{let m=d.key;if(!m&&d.effectId){const w=t.effects[d.effectId];w&&(m=w.key)}d.effectId||(d.effectId=x()),m=m||i,d.key=m;const p=d.effectId;if(g&&d.listContainer&&(m!==i||d.listContainer!==g))return;const y=`${i}::${m}::${p}::${o}`;if(d.interactionId=y,s[i].interactionIds.add(y),m===i)return;const v=ce(s,m);v.effects[y]||(v.effects[y]=[],v.interactionIds.add(y)),v.effects[y].push({...f,effect:d}),v.selectors.add(G(d,{useFirstChild:e}))}),u?.forEach(d=>{if(!d||Pe(d))return;const m=d,p=m.sequenceId||x(),y=m.effects;for(const v of y){v.effectId||(v.effectId=x());let w=v.key;if(!w&&v.effectId){const b=t.effects[v.effectId];b&&(w=b.key)}if(w=w||i,w!==i){const b=ce(s,w),S=`${w}::seq::${p}::${o}`;b.sequences[S]||(b.sequences[S]=[],b.interactionIds.add(S)),b.sequences[S].push({...f,sequence:m}),b.selectors.add(G(v,{useFirstChild:e}))}}})}),{effects:t.effects||{},sequences:t.sequences||{},conditions:n,interactions:s}}function pe(t,e,n){if(t.listContainer){const s=e.querySelector(t.listContainer);return s?t.selector?Array.from(s.querySelectorAll(t.selector)):Array.from(s.children):(console.warn(`Interact: No container found for list container "${t.listContainer}"`),[])}if(t.selector){const s=e.querySelectorAll(t.selector);if(s.length>0)return Array.from(s);console.warn(`Interact: No elements found for selector "${t.selector}"`)}return n?e.firstElementChild:e}function ge(t,e){return e.map(n=>t.selector?n.querySelector(t.selector):n).filter(Boolean)}function Xe(t,e,n,s,r,i,o,c){return[o?ge(t,o):pe(t,n,s),c?ge(e,c):pe(e,r,i)]}function Ue(t,e,n,s,r,i,o){const c=Array.isArray(s),l=Array.isArray(r);c?s.forEach((f,a)=>{const u=l?r[a]:r;u&&Fe(t,f,e.trigger,u,n,e.params,i,o)}):(l?r:[r]).forEach(a=>{Fe(t,s,e.trigger,a,n,e.params,i,o)})}function Je(t,e,n,s,r){const i={},o=[];(s.effects||[]).forEach(c=>{const l=c.effectId,f={...n.dataCache.effects[l]||{},...c,effectId:l},a=f.key,u=C(c.interactionId,t);if(i[u]||n.addedInteractions[u]&&!r)return;const h=A(f.conditions||[],n.dataCache.conditions);if(h&&n.setupMediaQueryListener(u,h,t,()=>{e.update()}),!h||h.matches){i[u]=!0;const g=a&&C(a,t);let d;if(g){if(d=E.getController(g),!d)return;f.listContainer&&d.watchChildList(f.listContainer)}else d=e;const[m,p]=Xe(s,f,e.element,e.useFirstChild,d.element,d.useFirstChild,r);if(!m||!p)return;n.addedInteractions[u]=!0;const y=g||s.key,v=$(f.conditions||[],n.dataCache.conditions);o.push([y,s,f,m,p,v,d.useFirstChild])}}),o.reverse().forEach(c=>{Ue(...c)}),fs(t,e,n,s,r)}function as(t){return"sequenceId"in t&&!("effects"in t)}function Ze(t,e,n,s,r,i,o){const c=A(t.conditions||[],r.dataCache.conditions);if(c&&r.setupMediaQueryListener(e,c,i.updateKey,i.onUpdate),c&&!c.matches)return null;const l=t.effects||[],f=[];let a=!1;for(const u of l){const h=u.effectId,d={...h?r.dataCache.effects[h]||{}:{},...u},m=A(d.conditions||[],r.dataCache.conditions);if(m){const T=`${e}::${h||"eff"}`;r.setupMediaQueryListener(T,m,i.updateKey,i.onUpdate)}if(m&&!m.matches)continue;const p=d.key,y=p&&C(p,n);let v;if(y){if(v=E.getController(y),!v)return null}else v=s;const w=y||n;let b;if(o&&w===o.controllerKey&&d.listContainer===o.listContainer?(b=ge(d,o.elements),b.length>0&&(a=!0)):b=pe(d,v.element,v.useFirstChild),!b||Array.isArray(b)&&b.length===0)return null;const S=P(d);f.push({target:b,options:S})}return o&&!a?null:f.length>0?f:null}function et(t,e,n){const i=(t.useFirstChild?t.element.firstElementChild:t.element)?.querySelector(e);if(!i)return n.map((c,l)=>l);const o=Array.from(i.children);return n.map(c=>{const l=o.indexOf(c);return l>=0?l:o.length})}function fs(t,e,n,s,r){s.sequences?.forEach(i=>{let o;if(as(i)){const g=n.dataCache.sequences[i.sequenceId];if(!g){console.warn(`Interact: Sequence "${i.sequenceId}" not found in cache`);return}o={...g,...i}}else o=i;const c=o.sequenceId||x(),l=C(`${t}::seq::${c}`,t);if(n.addedInteractions[l]&&!r)return;const f=r&&s.listContainer?{controllerKey:t,listContainer:s.listContainer,elements:r}:void 0,a=Ze(o,l,t,e,n,{updateKey:t,onUpdate:()=>e.update()},f);if(!a)return;if(r&&n.addedInteractions[l]){const g=et(e,s.listContainer,r);E.addToSequence(l,a,g,{reducedMotion:E.forceReducedMotion});return}const u=E.getSequence(l,o,a,{reducedMotion:E.forceReducedMotion});n.addedInteractions[l]=!0;const h=$(s.conditions||[],n.dataCache.conditions);_[s.trigger]?.add(e.element,e.element,{triggerType:o.triggerType},s.params||{},{reducedMotion:E.forceReducedMotion,selectorCondition:h,animation:u,allowA11yTriggers:E.allowA11yTriggers})})}function ls(t,e,n,s,r){const i=n.get(t)?.sequences||{};Object.keys(i).forEach(c=>{i[c].some(({sequence:f,...a})=>{const u=A(a.conditions||[],n.dataCache.conditions);if(u&&!u.matches)return!1;const h=a.key&&C(a.key,t),g=E.getController(h);if(!g)return!0;const d=f.sequenceId||x(),m=C(`${h}::seq::${d}`,h);if(n.addedInteractions[m]&&!r)return!0;const y=Ze(f,m,h,g,n,{updateKey:t,onUpdate:()=>e.update()},r&&s?{controllerKey:t,listContainer:s,elements:r}:void 0);if(!y)return!0;if(r&&n.addedInteractions[m]){const b=et(e,s,r);return E.addToSequence(m,y,b,{reducedMotion:E.forceReducedMotion}),!0}const v=E.getSequence(m,f,y,{reducedMotion:E.forceReducedMotion});n.addedInteractions[m]=!0;const w=$(a.conditions||[],n.dataCache.conditions);return _[a.trigger]?.add(g.element,g.element,{triggerType:f.triggerType},a.params||{},{reducedMotion:E.forceReducedMotion,selectorCondition:w,animation:v,allowA11yTriggers:E.allowA11yTriggers}),!0})})}function tt(t,e,n,s,r){const i=n.get(t),o=i?.effects||{},c=Object.keys(o),l=[];c.forEach(a=>{const u=C(a,t);if(n.addedInteractions[u]&&!r)return;o[a].some(({effect:g,...d})=>{const m=A(d.conditions||[],n.dataCache.conditions);if(m&&!m.matches)return!1;const p=g.effectId,y={...n.dataCache.effects[p]||{},...g,effectId:p};if(s&&y.listContainer!==s)return!1;const v=A(y.conditions||[],n.dataCache.conditions);if(v&&n.setupMediaQueryListener(u,v,t,()=>{e.update()}),!v||v.matches){const w=d.key&&C(d.key,t),b=E.getController(w);if(!b)return!0;y.listContainer&&e.watchChildList(y.listContainer);const[S,T]=Xe(d,y,b.element,b.useFirstChild,e.element,e.useFirstChild,void 0,r);if(!S||!T)return!0;n.addedInteractions[u]=!0;const F=$(y.conditions||[],n.dataCache.conditions);return l.push([t,d,y,S,T,F,e.useFirstChild]),!0}return!1})}),l.reverse().forEach(a=>{Ue(...a)}),ls(t,e,n,s,r);const f=Object.keys(i?.sequences||{}).length>0;return c.length>0||f}function Fe(t,e,n,s,r,i,o,c){let l;if(r.transition||r.transitionProperties){const f={key:t,effectId:r.effectId,transition:r.transition,properties:r.transitionProperties,childSelector:G(r,{asCombinator:!0,addItemFilter:!0,useFirstChild:c}),selectorCondition:o};if(l=E.getController(t),!l)return;l.renderStyle(Qt(f))}_[n]?.add(e,s,r,i,{reducedMotion:E.forceReducedMotion,targetController:l,selectorCondition:o,allowA11yTriggers:E.allowA11yTriggers})}function us(t){const e=t.key,n=E.getInstance(e);if(!n)return console.warn(`No instance found for key: ${e}`),E.setController(e,t),!1;const{triggers:s=[]}=n?.get(e)||{},r=s.length>0;n.setController(e,t),s.forEach((o,c)=>{const l=A(o.conditions,n.dataCache.conditions);if(l){const f=`${e}::trigger::${c}`;n.setupMediaQueryListener(f,l,e,()=>{t.update()})}(!l||l.matches)&&(o.listContainer&&t.watchChildList(o.listContainer),Je(e,t,n,o))});let i=!1;return n&&(i=tt(e,t,n)),r||i}function ds(t,e,n){const s=t.key,r=E.getInstance(s);if(r){const{triggers:i=[]}=r?.get(s)||{};i.forEach((o,c)=>{if(o.listContainer!==e)return;const l=A(o.conditions,r.dataCache.conditions);if(l){const f=`${s}::listTrigger::${e}::${c}`;r.setupMediaQueryListener(f,l,s,()=>{t.update()})}(!l||l.matches)&&Je(s,t,r,o,n)}),tt(s,t,r,e,n)}}function hs(t,e=!1){const n=t.key,s=E.getInstance(n);if(!s)return;const r=[...s.get(n)?.selectors.values()||[]].filter(Boolean).join(",");let i;r?(i=[...t.element.querySelectorAll(r)],t.useFirstChild||i.push(t.element)):i=[t.element],nt(i),s.deleteController(n,e)}function nt(t){const e=Object.values(_);for(const n of t)for(const s of e)s.remove(n);E.removeFromSequences(t)}const ae="interactEffect";class st{element;key;connected;sheet;useFirstChild;_observers;constructor(e,n,s){this.element=e,this.key=n,this.connected=!1,this.sheet=null,this._observers=new WeakMap,this.useFirstChild=s?.useFirstChild??!1}connect(e){if(this.connected)return;const n=this.element.dataset.interactKey;if(e=e||this.key||n,!e){console.warn("Interact: No key provided");return}n!==e&&(n&&console.warn(`Interact: Key mismatch between element ${n} and parameter ${e}, updating element key`),this.element.dataset.interactKey=e),this.key=e,this.connected=us(this)}disconnect({removeFromCache:e=!1}={}){if((this.key||this.element.dataset.interactKey)&&hs(this,e),this.sheet){const s=document.adoptedStyleSheets.indexOf(this.sheet);document.adoptedStyleSheets.splice(s,1)}this._observers=new WeakMap,this.sheet=null,this.connected=!1}update(){this.disconnect(),this.connect()}renderStyle(e){if(!this.sheet)this.sheet=new CSSStyleSheet,this.sheet.replaceSync(e.join(`
8
8
  `)),document.adoptedStyleSheets.push(this.sheet);else{let n=this.sheet.cssRules.length;for(const s of e)try{this.sheet.insertRule(s,n),n++}catch(r){console.error(r)}}}toggleEffect(e,n,s,r){if(s===null)return;if(!r&&this.element.toggleEffect){this.element.toggleEffect(e,n,s);return}const i=new Set(this.element.dataset[ae]?.split(" ")||[]);n==="toggle"?i.has(e)?i.delete(e):i.add(e):n==="add"?i.add(e):n==="remove"?i.delete(e):n==="clear"&&i.clear(),(s||this.element).dataset[ae]=Array.from(i).join(" ")}getActiveEffects(){const n=(this.element.dataset[ae]||"").trim();return n?n.split(/\s+/):[]}watchChildList(e){const n=this.element.querySelector(e);if(n){let s=this._observers.get(n);s||(s=new MutationObserver(this._childListChangeHandler.bind(this,e)),this._observers.set(n,s),s.observe(n,{childList:!0}))}}_childListChangeHandler(e,n){const s=this.key||this.element.dataset.interactKey,r=[],i=[];n.forEach(o=>{o.removedNodes.forEach(c=>{c instanceof HTMLElement&&r.push(c)}),o.addedNodes.forEach(c=>{c instanceof HTMLElement&&i.push(c)})}),nt(r),s&&ds(this,e,i)}}function ms(t,e){new st(t,e).connect()}function ps(t){const e=E.getController(t);e&&e.disconnect({removeFromCache:!0})}const gs=(t,e,n,s)=>{let i=`[data-interact-key="${t.replace(/"/g,"'")}"]`;const o=G(e,{asCombinator:!0,useFirstChild:s});return o&&(i=`${i} ${o}`),n&&(i=U(i,n)),i};function vs(t,e=!1){const n=[],s=new Set;return t.interactions.forEach(({key:r,selector:i,listContainer:o,listItemSelector:c,trigger:l,effects:f,conditions:a})=>{l==="viewEnter"&&f?.forEach(h=>{const g=h?.effectId&&t.effects[h.effectId]||h;if(!(!g.triggerType||g.triggerType==="once"))return;const{key:m,selector:p,listContainer:y,listItemSelector:v,conditions:w}=g;if(!(!m||m===r)||!(!p&&!i||p===i)||!(!y&&!o||y===o)||!(!v&&!c||v===c))return;const ye=t.conditions||{},Ee=$(w,ye),se=$(a,ye);if(!(!Ee&&!se||Ee===se))return;const ie=gs(r,g,se,e);s.has(ie)||(s.add(ie),n.push(`@media (prefers-reduced-motion: no-preference) {
9
9
  ${ie}:not([data-interact-enter]) {
10
10
  visibility: hidden;
@@ -15,4 +15,4 @@
15
15
  }
16
16
  }`))})}),n.join(`
17
17
  `)}exports.I=st;exports.a=E;exports.b=ms;exports.g=vs;exports.r=ps;
18
- //# sourceMappingURL=index-CzRuJxn8.js.map
18
+ //# sourceMappingURL=index-C0nIxDnf.js.map