2 lines
15 KiB
JavaScript
2 lines
15 KiB
JavaScript
import{jsxs as t,jsx as r}from"react/jsx-runtime";import{createContext as n,useContext as e,useMemo as o,Fragment as a,createElement as s,useRef as i,useCallback as u,useLayoutEffect as l,useEffect as c,useInsertionEffect as f,forwardRef as d}from"react";const p=(t,r,n)=>n>r?r:n<t?t:n,m=n({}),g=n({strict:!1}),h=n({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"}),y=n({});function v(t){return null!==t&&"object"==typeof t&&"function"==typeof t.start}function b(t){return"string"==typeof t||Array.isArray(t)}const w=["initial","animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"];function x(t){return v(t.animate)||w.some(r=>b(t[r]))}function S(t){const{initial:r,animate:n}=function(t,r){if(x(t)){const{initial:r,animate:n}=t;return{initial:!1===r||b(r)?r:void 0,animate:b(n)?n:void 0}}return!1!==t.inherit?r:{}}(t,e(y));return o(()=>({initial:r,animate:n}),[T(r),T(n)])}function T(t){return Array.isArray(t)?t.join(" "):t}const R=(t=>r=>"string"==typeof r&&r.startsWith(t))("--"),M={test:t=>"number"==typeof t,parse:parseFloat,transform:t=>t},O={...M,transform:t=>p(0,1,t)},P={...M,default:1},L=t=>Math.round(1e5*t)/1e5,W=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;const k=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,A=(t,r)=>n=>Boolean("string"==typeof n&&k.test(n)&&n.startsWith(t)||r&&!function(t){return null==t}(n)&&Object.prototype.hasOwnProperty.call(n,r)),B=(t,r,n)=>e=>{if("string"!=typeof e)return e;const[o,a,s,i]=e.match(W);return{[t]:parseFloat(o),[r]:parseFloat(a),[n]:parseFloat(s),alpha:void 0!==i?parseFloat(i):1}},I={...M,transform:t=>Math.round((t=>p(0,255,t))(t))},C={test:A("rgb","red"),parse:B("red","green","blue"),transform:({red:t,green:r,blue:n,alpha:e=1})=>"rgba("+I.transform(t)+", "+I.transform(r)+", "+I.transform(n)+", "+L(O.transform(e))+")"};const j={test:A("#"),parse:function(t){let r="",n="",e="",o="";return t.length>5?(r=t.substring(1,3),n=t.substring(3,5),e=t.substring(5,7),o=t.substring(7,9)):(r=t.substring(1,2),n=t.substring(2,3),e=t.substring(3,4),o=t.substring(4,5),r+=r,n+=n,e+=e,o+=o),{red:parseInt(r,16),green:parseInt(n,16),blue:parseInt(e,16),alpha:o?parseInt(o,16)/255:1}},transform:C.transform},E=t=>({test:r=>"string"==typeof r&&r.endsWith(t)&&1===r.split(" ").length,parse:parseFloat,transform:r=>`${r}${t}`}),$=E("deg"),F=E("%"),V=E("px"),X=(()=>({...F,parse:t=>F.parse(t)/100,transform:t=>F.transform(100*t)}))(),Y={test:A("hsl","hue"),parse:B("hue","saturation","lightness"),transform:({hue:t,saturation:r,lightness:n,alpha:e=1})=>"hsla("+Math.round(t)+", "+F.transform(L(r))+", "+F.transform(L(n))+", "+L(O.transform(e))+")"},D={test:t=>C.test(t)||j.test(t)||Y.test(t),parse:t=>C.test(t)?C.parse(t):Y.test(t)?Y.parse(t):j.parse(t),transform:t=>"string"==typeof t?t:t.hasOwnProperty("red")?C.transform(t):Y.transform(t),getAnimatableNone:t=>{const r=D.parse(t);return r.alpha=0,D.transform(r)}},H=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;const N="number",Z="color",z=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function U(t){const r=t.toString(),n=[],e={color:[],number:[],var:[]},o=[];let a=0;const s=r.replace(z,t=>(D.test(t)?(e.color.push(a),o.push(Z),n.push(D.parse(t))):t.startsWith("var(")?(e.var.push(a),o.push("var"),n.push(t)):(e.number.push(a),o.push(N),n.push(parseFloat(t))),++a,"${}")).split("${}");return{values:n,split:s,indexes:e,types:o}}function q(t){return U(t).values}function _(t){const{split:r,types:n}=U(t),e=r.length;return t=>{let o="";for(let a=0;a<e;a++)if(o+=r[a],void 0!==t[a]){const r=n[a];o+=r===N?L(t[a]):r===Z?D.transform(t[a]):t[a]}return o}}const G=t=>"number"==typeof t?0:D.test(t)?D.getAnimatableNone(t):t;const J={test:function(t){return isNaN(t)&&"string"==typeof t&&(t.match(W)?.length||0)+(t.match(H)?.length||0)>0},parse:q,createTransformer:_,getAnimatableNone:function(t){const r=q(t);return _(t)(r.map(G))}},K=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Q=(()=>new Set(K))(),tt={...M,transform:Math.round},rt={borderWidth:V,borderTopWidth:V,borderRightWidth:V,borderBottomWidth:V,borderLeftWidth:V,borderRadius:V,radius:V,borderTopLeftRadius:V,borderTopRightRadius:V,borderBottomRightRadius:V,borderBottomLeftRadius:V,width:V,maxWidth:V,height:V,maxHeight:V,top:V,right:V,bottom:V,left:V,padding:V,paddingTop:V,paddingRight:V,paddingBottom:V,paddingLeft:V,margin:V,marginTop:V,marginRight:V,marginBottom:V,marginLeft:V,backgroundPositionX:V,backgroundPositionY:V,...{rotate:$,rotateX:$,rotateY:$,rotateZ:$,scale:P,scaleX:P,scaleY:P,scaleZ:P,skew:$,skewX:$,skewY:$,distance:V,translateX:V,translateY:V,translateZ:V,x:V,y:V,z:V,perspective:V,transformPerspective:V,opacity:O,originX:X,originY:X,originZ:V},zIndex:tt,fillOpacity:O,strokeOpacity:O,numOctaves:tt},nt=(t,r)=>r&&"number"==typeof t?r.transform(t):t,et=t=>Boolean(t&&t.getVelocity);function ot(t,r){return r.max===r.min?0:t/(r.max-r.min)*100}const at={correct:(t,r)=>{if(!r.target)return t;if("string"==typeof t){if(!V.test(t))return t;t=parseFloat(t)}return`${ot(t,r.target.x)}% ${ot(t,r.target.y)}%`}},st={correct:(t,{treeScale:r,projectionDelta:n})=>{const e=t,o=J.parse(t);if(o.length>5)return e;const a=J.createTransformer(t),s="number"!=typeof o[0]?1:0,i=n.x.scale*r.x,u=n.y.scale*r.y;o[0+s]/=i,o[1+s]/=u;const l=(c=i)+(u-c)*.5;var c;return"number"==typeof o[2+s]&&(o[2+s]/=l),"number"==typeof o[3+s]&&(o[3+s]/=l),a(o)}},it={borderRadius:{...at,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:at,borderTopRightRadius:at,borderBottomLeftRadius:at,borderBottomRightRadius:at,boxShadow:st};function ut(t,{layout:r,layoutId:n}){return Q.has(t)||t.startsWith("origin")||(r||void 0!==n)&&(!!it[t]||"opacity"===t)}const lt={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},ct=K.length;function ft(t,r,n){const{style:e,vars:o,transformOrigin:a}=t;let s=!1,i=!1;for(const t in r){const n=r[t];if(Q.has(t))s=!0;else if(R(t))o[t]=n;else{const r=nt(n,rt[t]);t.startsWith("origin")?(i=!0,a[t]=r):e[t]=r}}if(r.transform||(s||n?e.transform=function(t,r,n){let e="",o=!0;for(let a=0;a<ct;a++){const s=K[a],i=t[s];if(void 0===i)continue;let u=!0;if(u="number"==typeof i?i===(s.startsWith("scale")?1:0):0===parseFloat(i),!u||n){const t=nt(i,rt[s]);u||(o=!1,e+=`${lt[s]||s}(${t}) `),n&&(r[s]=t)}}return e=e.trim(),n?e=n(r,o?"":e):o&&(e="none"),e}(r,t.transform,n):e.transform&&(e.transform="none")),i){const{originX:t="50%",originY:r="50%",originZ:n=0}=a;e.transformOrigin=`${t} ${r} ${n}`}}const dt=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function pt(t,r,n){for(const e in r)et(r[e])||ut(e,n)||(t[e]=r[e])}function mt(t,r){const n={};return pt(n,t.style||{},t),Object.assign(n,function({transformTemplate:t},r){return o(()=>{const n={style:{},transform:{},transformOrigin:{},vars:{}};return ft(n,r,t),Object.assign({},n.vars,n.style)},[r])}(t,r)),n}function gt(t,r){const n={},e=mt(t,r);return t.drag&&!1!==t.dragListener&&(n.draggable=!1,e.userSelect=e.WebkitUserSelect=e.WebkitTouchCallout="none",e.touchAction=!0===t.drag?"none":"pan-"+("x"===t.drag?"y":"x")),void 0===t.tabIndex&&(t.onTap||t.onTapStart||t.whileTap)&&(n.tabIndex=0),n.style=e,n}const ht={offset:"stroke-dashoffset",array:"stroke-dasharray"},yt={offset:"strokeDashoffset",array:"strokeDasharray"};function vt(t,{attrX:r,attrY:n,attrScale:e,pathLength:o,pathSpacing:a=1,pathOffset:s=0,...i},u,l,c){if(ft(t,i,l),u)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:f,style:d}=t;f.transform&&(d.transform=f.transform,delete f.transform),(d.transform||f.transformOrigin)&&(d.transformOrigin=f.transformOrigin??"50% 50%",delete f.transformOrigin),d.transform&&(d.transformBox=c?.transformBox??"fill-box",delete f.transformBox),void 0!==r&&(f.x=r),void 0!==n&&(f.y=n),void 0!==e&&(f.scale=e),void 0!==o&&function(t,r,n=1,e=0,o=!0){t.pathLength=1;const a=o?ht:yt;t[a.offset]=V.transform(-e);const s=V.transform(r),i=V.transform(n);t[a.array]=`${s} ${i}`}(f,o,a,s,!1)}const bt=()=>({style:{},transform:{},transformOrigin:{},vars:{},attrs:{}});function wt(t,r,n,e){const a=o(()=>{const n={style:{},transform:{},transformOrigin:{},vars:{},attrs:{}};var o;return vt(n,r,"string"==typeof(o=e)&&"svg"===o.toLowerCase(),t.transformTemplate,t.style),{...n.attrs,style:{...n.style}}},[r]);if(t.style){const r={};pt(r,t.style,t),a.style={...r,...a.style}}return a}const xt=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function St(t){return t.startsWith("while")||t.startsWith("drag")&&"draggable"!==t||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||xt.has(t)}let Tt=t=>!St(t);try{"function"==typeof(Rt=require("@emotion/is-prop-valid").default)&&(Tt=t=>t.startsWith("on")?!St(t):Rt(t))}catch{}var Rt;const Mt=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function Ot(t){return"string"==typeof t&&!t.includes("-")&&!!(Mt.indexOf(t)>-1||/[A-Z]/u.test(t))}function Pt(t,r,n,{latestValues:e},i,u=!1){const l=(Ot(t)?wt:gt)(r,e,i,t),c=function(t,r,n){const e={};for(const o in t)"values"===o&&"object"==typeof t.values||(Tt(o)||!0===n&&St(o)||!r&&!St(o)||t.draggable&&o.startsWith("onDrag"))&&(e[o]=t[o]);return e}(r,"string"==typeof t,u),f=t!==a?{...c,...l,ref:n}:{},{children:d}=r,p=o(()=>et(d)?d.get():d,[d]);return s(t,{...f,children:p})}const Lt=n(null);function Wt(t,r,n,e){if("function"==typeof r){const[n,e]=[{},{}];r=r(t.custom,n,e)}if("string"==typeof r&&(r=t.variants&&t.variants[r]),"function"==typeof r){const[n,e]=[{},{}];r=r(t.custom,n,e)}return r}function kt(t){return et(t)?t.get():t}function At(t,r,n,e){const o={},a=e(t,{});for(const t in a)o[t]=kt(a[t]);let{initial:s,animate:i}=t;const u=x(t),l=function(t){return Boolean(x(t)||t.variants)}(t);r&&l&&!u&&!1!==t.inherit&&(void 0===s&&(s=r.initial),void 0===i&&(i=r.animate));let c=!!n&&!1===n.initial;c=c||!1===s;const f=c?i:s;if(f&&"boolean"!=typeof f&&!v(f)){const r=Array.isArray(f)?f:[f];for(let n=0;n<r.length;n++){const e=Wt(t,r[n]);if(e){const{transitionEnd:t,transition:r,...n}=e;for(const t in n){let r=n[t];if(Array.isArray(r)){r=r[c?r.length-1:0]}null!==r&&(o[t]=r)}for(const r in t)o[r]=t[r]}}}return o}const Bt=t=>(r,n)=>{const o=e(y),a=e(Lt),s=()=>function({scrapeMotionValuesFromProps:t,createRenderState:r},n,e,o){return{latestValues:At(n,e,o,t),renderState:r()}}(t,r,o,a);return n?s():function(t){const r=i(null);return null===r.current&&(r.current=t()),r.current}(s)};function It(t,r,n){const{style:e}=t,o={};for(const a in e)(et(e[a])||r.style&&et(r.style[a])||ut(a,t)||void 0!==n?.getValue(a)?.liveStyle)&&(o[a]=e[a]);return o}const Ct=Bt({scrapeMotionValuesFromProps:It,createRenderState:dt});const jt=Bt({scrapeMotionValuesFromProps:function(t,r,n){const e=It(t,r,n);for(const n in t)if(et(t[n])||et(r[n])){e[-1!==K.indexOf(n)?"attr"+n.charAt(0).toUpperCase()+n.substring(1):n]=t[n]}return e},createRenderState:bt}),Et="undefined"!=typeof window,$t={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Ft={};for(const t in $t)Ft[t]={isEnabled:r=>$t[t].some(t=>!!r[t])};const Vt=Symbol.for("motionComponentSymbol");function Xt(t){return t&&"object"==typeof t&&Object.prototype.hasOwnProperty.call(t,"current")}function Yt(t,r,n){return u(e=>{e&&t.onMount&&t.onMount(e),r&&(e?r.mount(e):r.unmount()),n&&("function"==typeof n?n(e):Xt(n)&&(n.current=e))},[r])}const Dt="data-"+"framerAppearId".replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase();const Ht=n({}),Nt=Et?l:c;function Zt(t,r,n,o,a){const{visualElement:s}=e(y),u=e(g),l=e(Lt),d=e(h).reducedMotion,p=i(null);o=o||u.renderer,!p.current&&o&&(p.current=o(t,{visualState:r,parent:s,props:n,presenceContext:l,blockInitialAnimation:!!l&&!1===l.initial,reducedMotionConfig:d}));const m=p.current,v=e(Ht);!m||m.projection||!a||"html"!==m.type&&"svg"!==m.type||function(t,r,n,e){const{layoutId:o,layout:a,drag:s,dragConstraints:i,layoutScroll:u,layoutRoot:l,layoutCrossfade:c}=r;t.projection=new n(t.latestValues,r["data-framer-portal-id"]?void 0:zt(t.parent)),t.projection.setOptions({layoutId:o,layout:a,alwaysMeasureLayout:Boolean(s)||i&&Xt(i),visualElement:t,animationType:"string"==typeof a?a:"both",initialPromotionConfig:e,crossfade:c,layoutScroll:u,layoutRoot:l})}(p.current,n,a,v);const b=i(!1);f(()=>{m&&b.current&&m.update(n,l)});const w=n[Dt],x=i(Boolean(w)&&!window.MotionHandoffIsComplete?.(w)&&window.MotionHasOptimisedAnimation?.(w));return Nt(()=>{m&&(b.current=!0,window.MotionIsMounted=!0,m.updateFeatures(),m.scheduleRenderMicrotask(),x.current&&m.animationState&&m.animationState.animateChanges())}),c(()=>{m&&(!x.current&&m.animationState&&m.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{window.MotionHandoffMarkAsComplete?.(w)}),x.current=!1),m.enteringChildren=void 0)}),m}function zt(t){if(t)return!1!==t.options.allowProjection?t.projection:zt(t.parent)}function Ut(n,{forwardMotionProps:o=!1}={},a,s){const i=Ot(n)?jt:Ct;function u(a,u){let l;const c={...e(h),...a,layoutId:qt(a)},{isStatic:f}=c,d=S(a),p=i(a,f);if(!f&&Et){e(g).strict;const t=function(t){const{drag:r,layout:n}=Ft;if(!r&&!n)return{};const e={...r,...n};return{MeasureLayout:r?.isEnabled(t)||n?.isEnabled(t)?e.MeasureLayout:void 0,ProjectionNode:e.ProjectionNode}}(c);l=t.MeasureLayout,d.visualElement=Zt(n,p,c,s,t.ProjectionNode)}return t(y.Provider,{value:d,children:[l&&d.visualElement?r(l,{visualElement:d.visualElement,...c}):null,Pt(n,a,Yt(p,d.visualElement,u),p,f,o)]})}u.displayName=`motion.${"string"==typeof n?n:`create(${n.displayName??n.name??""})`}`;const l=d(u);return l[Vt]=n,l}function qt({layoutId:t}){const r=e(m).id;return r&&void 0!==t?r+"-"+t:t}function _t(t,r){return Ut(t,r)}const Gt=_t("div");export{Gt as MotionDiv};
|