UNPKG

react-pretty-box

Version:

React-Pretty-Box is a ReactJS 18 library that enhances image viewing in web applications. It enables zoom functionality for single images or galleries, allowing users to explore visuals in greater detail. With intuitive controls like pinch-to-zoom and pan

32 lines (30 loc) 166 kB
(function(it,T){typeof exports=="object"&&typeof module<"u"?T(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],T):T((it=typeof globalThis<"u"?globalThis:it||self).reactPrettyBox={},it.React)})(this,function(it,T){"use strict";var Gi=document.createElement("style");function Qr(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const i in t)if(i!=="default"){const n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:()=>t[i]})}}return e.default=t,Object.freeze(e)}Gi.textContent=`.single-image-pretty-box,.image-gallery-pretty-box,.product-gallery-pretty-box,.mosaic-gallery-pretty-box{position:fixed;z-index:2000;width:auto;height:auto;top:0;left:0;bottom:0;right:0;padding:1rem 4.615rem;display:flex;justify-content:center;align-items:center;overflow:hidden;font:optional}.single-image-pretty-box .single-image,.image-gallery-pretty-box .single-image,.product-gallery-pretty-box .single-image,.mosaic-gallery-pretty-box .single-image{cursor:auto;z-index:30;display:flex;justify-content:center;position:relative}.single-image-pretty-box .single-image figcaption,.image-gallery-pretty-box .single-image figcaption,.product-gallery-pretty-box .single-image figcaption,.mosaic-gallery-pretty-box .single-image figcaption{font-size:.875rem;position:absolute;z-index:1;bottom:20px;left:50%;transform:translate(-50%);background-color:#0006;padding:1rem;color:#fff}img{width:auto}.bg-backdrop{background-color:#0000004d;-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);position:fixed;z-index:10;width:100%;height:100%;top:0;left:0;bottom:0;right:0}.close-button{position:absolute;top:5%;right:2%;width:2.5rem;height:2.5rem;display:grid;place-content:center;background-color:#0000001a;-webkit-backdrop-filter:blur(.2rem);backdrop-filter:blur(.2rem);border-radius:.25rem;z-index:25;color:#fff;transition:all .3s ease-in-out;border:0;cursor:pointer}.close-button svg{width:2rem;height:2rem}.close-button:hover{background-color:#ef4444}.left-button,.right-button{position:absolute;width:2.5rem;height:2.5rem;display:grid;place-content:center;background-color:#0000001a;-webkit-backdrop-filter:blur(.2rem);backdrop-filter:blur(.2rem);border-radius:.25rem;z-index:25;color:#fff;transition:all .3s ease-in-out;border:0;cursor:pointer}.left-button:hover,.right-button:hover{background-color:#1a6eaf}.left-button[disabled],.right-button[disabled]{cursor:not-allowed}.left-button[disabled]:hover,.right-button[disabled]:hover{background-color:#00000026}.left-button{transform:translateY(-50%);top:50%;left:2%}.right-button{transform:translateY(-50%);top:50%;right:2%}.error-container{display:flex;align-items:flex-start;padding:1rem;border:1px solid #b91c1c;border-radius:.25rem;background-color:#fef2f2;color:#b91c1c;border-radius:10px}.error-container .error-icon{margin-right:1rem;fill:currentColor}.error-container .error-content{flex:1 0 90%}.error-container .error-title{margin:0 0 .5rem;font-size:1.1rem}.error-container .error-message{margin:0 0 1rem}.error-container .error-suggestions{margin:0;padding-left:1.5rem}@media only screen and (max-width: 767px){.close-button{left:50%;bottom:5%;top:auto;right:auto;transform:translate(-50%)}.left-button,.right-button{top:auto;bottom:5%}.single-image-pretty-box,.image-gallery-pretty-box,.product-gallery-pretty-box,.mosaic-gallery-pretty-box{padding:1.25rem}.single-image-pretty-box .single-image,.image-gallery-pretty-box .single-image,.product-gallery-pretty-box .single-image,.mosaic-gallery-pretty-box .single-image{margin:.5rem;height:-moz-fit-content;height:fit-content}.error-container .error-icon{width:10%;flex:1 0 10%}}.single-image{cursor:zoom-in;display:block;overflow:hidden;height:100%}.single-image .image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.single-image figcaption{font-size:.875rem;color:#999;border-radius:.3125rem}.single-image.is-circled{border-radius:50%}.single-image.is-rounded{border-radius:.3125rem}.single-image.has-shadow{box-shadow:0 2px 20px #0000004d}@media only screen and (max-width: 767px){.single-image-pretty-box{padding:1rem}.single-image-pretty-box .single-image{height:-moz-fit-content;height:fit-content}.single-image-pretty-box .single-image figcaption{width:90%;margin:0 auto;text-align:center;white-space:normal;word-break:break-word}}.image-gallery-wrap{display:grid}.image-gallery-wrap .image-gallery{cursor:zoom-in;margin:0}.image-gallery-wrap .image-gallery .image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.image-gallery-wrap .image-gallery .image.is-circled{border-radius:50%}.image-gallery-wrap .image-gallery .image.is-rounded{border-radius:.3125rem}.image-gallery-wrap .image-gallery .image.has-shadow{box-shadow:0 2px 20px #0000004d}.image-gallery-wrap.squared>.image-gallery{aspect-ratio:1}.image-gallery-wrap.squared>.image-gallery img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.image-gallery-masonry-wrap .image-gallery-masonry{cursor:zoom-in;margin:0}.image-gallery-masonry-wrap .image-gallery-masonry .image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.image-gallery-masonry-wrap .image-gallery-masonry .image.is-circled{border-radius:50%}.image-gallery-masonry-wrap .image-gallery-masonry .image.is-rounded{border-radius:.3125rem}.image-gallery-masonry-wrap .image-gallery-masonry .image.has-shadow{box-shadow:0 2px 20px #0000004d}@media only screen and (max-width: 767px){.image-gallery-prettybox{padding:1rem}.image-gallery-prettybox .image-gallery{height:-moz-fit-content;height:fit-content;margin:0}.image-gallery-prettybox .image-gallery figcaption{width:90%;margin:0 auto}}.product-gallery-wrap{display:grid;grid-template-columns:repeat(4,1fr)}.product-gallery-wrap .image{width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;height:100%}.product-gallery-wrap .image.is-circled{border-radius:50%}.product-gallery-wrap .image.is-rounded{border-radius:.3125rem}.product-gallery-wrap .image.has-shadow{box-shadow:0 2px 20px #0000004d}.product-gallery-wrap .main-product-gallery{cursor:zoom-in;margin:0}.product-gallery-wrap .main-product-gallery .image{width:100%}.product-gallery-wrap .main-product-gallery:first-child{grid-column:span 4}.product-gallery-wrap .carousel-product-image{display:flex;height:-moz-fit-content;height:fit-content;grid-column:span 4/span 4;overflow-x:auto;scroll-snap-type:x proximity}.product-gallery-wrap .carousel-product-image .product-gallery{cursor:zoom-in;margin:0;width:6rem;flex-shrink:0;scroll-snap-align:start}.product-gallery-wrap .carousel-product-image .product-gallery:not(:first-child){margin-left:1rem}.product-gallery-wrap .carousel-product-image .carousel-item{cursor:zoom-in;width:100%;height:100%;-o-object-position:center;object-position:center;-o-object-fit:cover;object-fit:cover}.product-gallery-wrap .carousel-product-image::-webkit-scrollbar{height:4px}.product-gallery-wrap .carousel-product-image::-webkit-scrollbar-track{box-shadow:#bbb;border-radius:10px}.product-gallery-wrap .carousel-product-image::-webkit-scrollbar-thumb{background-color:#8dc4ec80;border-radius:10px}.product-gallery-wrap .carousel-product-image::-webkit-scrollbar-thumb:hover{background-color:#298bcebf}.product-gallery-wrap.is-vertical{display:flex;height:24rem;overflow:hidden}.product-gallery-wrap.is-vertical .main-product-gallery{height:24rem;width:75%}.product-gallery-wrap.is-vertical .main-product-gallery img{height:100%;width:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.product-gallery-wrap.is-vertical .carousel-product-image{display:flex;height:24rem;width:25%;scroll-snap-type:y var(--tw-scroll-snap-strictness);scroll-snap-align:start;flex-direction:column}.product-gallery-wrap.is-vertical .carousel-product-image>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(0px * var(--tw-space-x-reverse));margin-left:calc(0px * calc(1 - var(--tw-space-x-reverse)));--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.product-gallery-wrap.is-vertical .carousel-product-image{overflow-y:auto;scroll-behavior:smooth}.product-gallery-wrap.is-vertical .carousel-product-image .product-gallery{width:100%}.product-gallery-wrap.is-vertical .carousel-product-image::-webkit-scrollbar{width:.25rem;border-radius:.375rem}.product-gallery-wrap.is-vertical .carousel-product-image::-webkit-scrollbar-track{background-color:#e2e8f033}.product-gallery-wrap.is-vertical .carousel-product-image::-webkit-scrollbar-thumb{background-color:#8dc4ec80;border-radius:.75rem;-webkit-transition-property:all;transition-property:all;transition-duration:.3s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.product-gallery-wrap.is-vertical .carousel-product-image::-webkit-scrollbar-thumb:hover{background-color:#298bce80}.carousel-gallery-container{position:relative;overflow:hidden}.carousel-gallery-container .carousel-gallery-wrap{display:flex;overflow-x:scroll;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.carousel-gallery-container .carousel-gallery-wrap .carousel-item{cursor:zoom-in;margin:0}.carousel-gallery-container .carousel-gallery-wrap .image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.carousel-gallery-container .carousel-gallery-wrap .image.is-circled{border-radius:50%}.carousel-gallery-container .carousel-gallery-wrap .image.is-rounded{border-radius:.3125rem}.carousel-gallery-container .carousel-gallery-wrap .image.has-shadow{box-shadow:0 2px 20px #0000004d}.carousel-gallery-container .carousel-gallery-wrap.squared>.carousel-item{aspect-ratio:1}.carousel-gallery-container .carousel-gallery-wrap.squared>.carousel-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.carousel-gallery-container .carousel-gallery-wrap::-webkit-scrollbar{height:4px}.carousel-gallery-container .carousel-gallery-wrap::-webkit-scrollbar-track{box-shadow:#bbb;border-radius:10px}.carousel-gallery-container .carousel-gallery-wrap::-webkit-scrollbar-thumb{background-color:#8dc4ec80;border-radius:10px}.carousel-gallery-container .carousel-gallery-wrap::-webkit-scrollbar-thumb:hover{background-color:#298bcebf}@media only screen and (max-width: 767px){.image-gallery-prettybox{padding:1rem}.image-gallery-prettybox .image-gallery{display:block;height:-moz-fit-content;height:fit-content;top:50%;transform:translateY(-50%)}.image-gallery-prettybox .image-gallery figcaption{width:90%;margin:0 auto}}.mosaic-gallery-wrap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,auto);position:relative}.mosaic-gallery-wrap .mosaic-gallery{cursor:zoom-in;margin:0}.mosaic-gallery-wrap .mosaic-gallery:first-child{grid-column:span 2;grid-row:span 2}.mosaic-gallery-wrap .mosaic-gallery:nth-child(2){grid-column:span 1;grid-row:span 2}.mosaic-gallery-wrap .mosaic-gallery .image{-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;width:100%;height:100%}.mosaic-gallery-wrap .mosaic-gallery .image.is-circled{border-radius:50%}.mosaic-gallery-wrap .mosaic-gallery .image.is-rounded{border-radius:.3125rem}.mosaic-gallery-wrap .mosaic-gallery .image.has-shadow{box-shadow:0 2px 20px #0000004d}.mosaic-gallery-wrap .more-images{border:2px solid #fff;border-radius:20px;background-color:#0000001a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:inline-block;padding:.5rem .75rem;position:absolute;z-index:1;right:.75rem;bottom:.75rem;font-size:.875rem;color:#fff;font-weight:400;line-height:1;cursor:pointer;transition:all .25s ease-in-out}.mosaic-gallery-wrap .more-images:hover{transform:scale(1.1)}.mosaic-gallery-wrap.squared>.mosaic-gallery{aspect-ratio:1}.mosaic-gallery-wrap.squared>.mosaic-gallery img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}@media only screen and (max-width: 767px){.mosaic-gallery-wrap{grid-template-columns:repeat(2,minmax(0,1fr))}.mosaic-gallery-prettybox{padding:1rem}.mosaic-gallery-prettybox .mosaic-gallery{display:block;height:-moz-fit-content;height:fit-content;top:50%;transform:translateY(-50%)}.mosaic-gallery-prettybox .mosaic-gallery figcaption{width:90%;margin:0 auto}}.slider-gallery-wrap{position:relative;width:100%;overflow:hidden;aspect-ratio:16/9}.slider-gallery-wrap img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center}.slider-gallery-wrap .title-overlay{position:absolute;bottom:0;left:0;right:0;padding:1rem;font-size:1.25rem;font-weight:700;background-color:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;text-align:center}.slider-gallery-wrap .prev-btn,.slider-gallery-wrap .next-btn{position:absolute;background-color:#0003;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:all .25s ease-in-out;display:grid;place-content:center;color:#fff;border-radius:8px;line-height:1;padding:.5rem;top:50%;transform:translateY(-50%)}.slider-gallery-wrap .prev-btn:hover,.slider-gallery-wrap .next-btn:hover{background-color:#0006}.slider-gallery-wrap .prev-btn{left:.5rem}.slider-gallery-wrap .next-btn{right:.5rem}.slider-gallery-wrap .slider-dots{position:absolute;bottom:5rem;left:50%;transform:translate(-50%);display:flex;gap:8px}.slider-gallery-wrap .slider-dots .dot{width:.75rem;height:.5rem;border-radius:4px;background-color:#e2e8f080;transition:all .25s ease-in-out}.slider-gallery-wrap .slider-dots .dot:hover{background-color:#7dd3fc}.slider-gallery-wrap .slider-dots .dot.is-active{width:1.75rem;background-color:#0ea5e9} /*$vite$:1*/`,document.head.appendChild(Gi);const Re=Qr(T);var Zi,Ne={exports:{}},Kt={},Ji,Qi,me={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */function ts(){return Ji||(Ji=1,process.env.NODE_ENV!=="production"&&function(){function t(v){if(v==null)return null;if(typeof v=="function")return v.$$typeof===Ul?null:v.displayName||v.name||null;if(typeof v=="string")return v;switch(v){case k:return"Fragment";case S:return"Portal";case D:return"Profiler";case E:return"StrictMode";case z:return"Suspense";case X:return"SuspenseList"}if(typeof v=="object")switch(typeof v.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),v.$$typeof){case N:return(v.displayName||"Context")+".Provider";case V:return(v._context.displayName||"Context")+".Consumer";case Y:var A=v.render;return(v=v.displayName)||(v=(v=A.displayName||A.name||"")!==""?"ForwardRef("+v+")":"ForwardRef"),v;case ct:return(A=v.displayName||null)!==null?A:t(v.type)||"Memo";case rt:A=v._payload,v=v._init;try{return t(v(A))}catch{}}return null}function e(v){return""+v}function i(v){try{e(v);var A=!1}catch{A=!0}if(A){var L=(A=console).error,$=typeof Symbol=="function"&&Symbol.toStringTag&&v[Symbol.toStringTag]||v.constructor.name||"Object";return L.call(A,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",$),e(v)}}function n(){}function r(v){if(Hi===void 0)try{throw Error()}catch(L){var A=L.stack.trim().match(/\n( *(at )?)/);Hi=A&&A[1]||"",Kr=-1<L.stack.indexOf(` at`)?" (<anonymous>)":-1<L.stack.indexOf("@")?"@unknown:0:0":""}return` `+Hi+v+Kr}function o(v,A){if(!v||Ki)return"";var L=qi.get(v);if(L!==void 0)return L;Ki=!0,L=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var $;$=Dt.H,Dt.H=null,function(){if(Ve===0){g=console.log,p=console.info,f=console.warn,x=console.error,y=console.group,b=console.groupCollapsed,j=console.groupEnd;var O={configurable:!0,enumerable:!0,value:n,writable:!0};Object.defineProperties(console,{info:O,log:O,warn:O,error:O,group:O,groupCollapsed:O,groupEnd:O})}Ve++}();try{var H={DetermineComponentFrameRoot:function(){try{if(A){var O=function(){throw Error()};if(Object.defineProperty(O.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(O,[])}catch(at){var Ht=at}Reflect.construct(v,[],O)}else{try{O.call()}catch(at){Ht=at}v.call(O.prototype)}}else{try{throw Error()}catch(at){Ht=at}(O=v())&&typeof O.catch=="function"&&O.catch(function(){})}}catch(at){if(at&&Ht&&typeof at.stack=="string")return[at.stack,Ht.stack]}return[null,null]}};H.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var B=Object.getOwnPropertyDescriptor(H.DetermineComponentFrameRoot,"name");B&&B.configurable&&Object.defineProperty(H.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var M=H.DetermineComponentFrameRoot(),yt=M[0],Xt=M[1];if(yt&&Xt){var R=yt.split(` `),tt=Xt.split(` `);for(M=B=0;B<R.length&&!R[B].includes("DetermineComponentFrameRoot");)B++;for(;M<tt.length&&!tt[M].includes("DetermineComponentFrameRoot");)M++;if(B===R.length||M===tt.length)for(B=R.length-1,M=tt.length-1;1<=B&&0<=M&&R[B]!==tt[M];)M--;for(;1<=B&&0<=M;B--,M--)if(R[B]!==tt[M]){if(B!==1||M!==1)do if(B--,0>--M||R[B]!==tt[M]){var st=` `+R[B].replace(" at new "," at ");return v.displayName&&st.includes("<anonymous>")&&(st=st.replace("<anonymous>",v.displayName)),typeof v=="function"&&qi.set(v,st),st}while(1<=B&&0<=M);break}}}finally{Ki=!1,Dt.H=$,function(){if(--Ve==0){var O={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Vt({},O,{value:g}),info:Vt({},O,{value:p}),warn:Vt({},O,{value:f}),error:Vt({},O,{value:x}),group:Vt({},O,{value:y}),groupCollapsed:Vt({},O,{value:b}),groupEnd:Vt({},O,{value:j})})}0>Ve&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=L}return R=(R=v?v.displayName||v.name:"")?r(R):"",typeof v=="function"&&qi.set(v,R),R}function s(v){if(v==null)return"";if(typeof v=="function"){var A=v.prototype;return o(v,!(!A||!A.isReactComponent))}if(typeof v=="string")return r(v);switch(v){case z:return r("Suspense");case X:return r("SuspenseList")}if(typeof v=="object")switch(v.$$typeof){case Y:return v=o(v.render,!1);case ct:return s(v.type);case rt:A=v._payload,v=v._init;try{return s(v(A))}catch{}}return""}function a(){var v=Dt.A;return v===null?null:v.getOwner()}function l(){var v=t(this.type);return Gr[v]||(Gr[v]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),(v=this.props.ref)!==void 0?v:null}function u(v,A,L,$,H,B){if(typeof v=="string"||typeof v=="function"||v===k||v===D||v===E||v===z||v===X||v===ft||typeof v=="object"&&v!==null&&(v.$$typeof===rt||v.$$typeof===ct||v.$$typeof===N||v.$$typeof===V||v.$$typeof===Y||v.$$typeof===zl||v.getModuleId!==void 0)){var M=A.children;if(M!==void 0)if($)if(Xi(M)){for($=0;$<M.length;$++)c(M[$],v);Object.freeze&&Object.freeze(M)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else c(M,v)}else M="",(v===void 0||typeof v=="object"&&v!==null&&Object.keys(v).length===0)&&(M+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."),v===null?$="null":Xi(v)?$="array":v!==void 0&&v.$$typeof===w?($="<"+(t(v.type)||"Unknown")+" />",M=" Did you accidentally export a JSX literal instead of a component?"):$=typeof v,console.error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",$,M);if(Hr.call(A,"key")){M=t(v);var yt=Object.keys(A).filter(function(R){return R!=="key"});$=0<yt.length?"{key: someKey, "+yt.join(": ..., ")+": ...}":"{key: someKey}",Zr[M+$]||(yt=0<yt.length?"{"+yt.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,$,M,yt,M),Zr[M+$]=!0)}if(M=null,L!==void 0&&(i(L),M=""+L),function(R){if(Hr.call(R,"key")){var tt=Object.getOwnPropertyDescriptor(R,"key").get;if(tt&&tt.isReactWarning)return!1}return R.key!==void 0}(A)&&(i(A.key),M=""+A.key),"key"in A)for(var Xt in L={},A)Xt!=="key"&&(L[Xt]=A[Xt]);else L=A;return M&&function(R,tt){function st(){qr||(qr=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",tt))}st.isReactWarning=!0,Object.defineProperty(R,"key",{get:st,configurable:!0})}(L,typeof v=="function"?v.displayName||v.name||"Unknown":v),function(R,tt,st,O,Ht,at){return st=at.ref,R={$$typeof:w,type:R,key:tt,props:at,_owner:Ht},(st!==void 0?st:null)!==null?Object.defineProperty(R,"ref",{enumerable:!1,get:l}):Object.defineProperty(R,"ref",{enumerable:!1,value:null}),R._store={},Object.defineProperty(R._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(R,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.freeze&&(Object.freeze(R.props),Object.freeze(R)),R}(v,M,B,0,a(),L)}function c(v,A){if(typeof v=="object"&&v&&v.$$typeof!==Wl){if(Xi(v))for(var L=0;L<v.length;L++){var $=v[L];h($)&&d($,A)}else if(h(v))v._store&&(v._store.validated=1);else if(v===null||typeof v!="object"?L=null:L=typeof(L=ut&&v[ut]||v["@@iterator"])=="function"?L:null,typeof L=="function"&&L!==v.entries&&(L=L.call(v))!==v)for(;!(v=L.next()).done;)h(v.value)&&d(v.value,A)}}function h(v){return typeof v=="object"&&v!==null&&v.$$typeof===w}function d(v,A){if(v._store&&!v._store.validated&&v.key==null&&(v._store.validated=1,A=function(H){var B="",M=a();return M&&(M=t(M.type))&&(B=` Check the render method of \``+M+"`."),B||(H=t(H))&&(B=` Check the top-level render call using <`+H+">."),B}(A),!Jr[A])){Jr[A]=!0;var L="";v&&v._owner!=null&&v._owner!==a()&&(L=null,typeof v._owner.tag=="number"?L=t(v._owner.type):typeof v._owner.name=="string"&&(L=v._owner.name),L=" It was passed a child from "+L+".");var $=Dt.getCurrentStack;Dt.getCurrentStack=function(){var H=s(v.type);return $&&(H+=$()||""),H},console.error('Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',A,L),Dt.getCurrentStack=$}}var g,p,f,x,y,b,j,P=T,w=Symbol.for("react.transitional.element"),S=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),E=Symbol.for("react.strict_mode"),D=Symbol.for("react.profiler"),V=Symbol.for("react.consumer"),N=Symbol.for("react.context"),Y=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),X=Symbol.for("react.suspense_list"),ct=Symbol.for("react.memo"),rt=Symbol.for("react.lazy"),ft=Symbol.for("react.offscreen"),ut=Symbol.iterator,Ul=Symbol.for("react.client.reference"),Dt=P.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Hr=Object.prototype.hasOwnProperty,Vt=Object.assign,zl=Symbol.for("react.client.reference"),Xi=Array.isArray,Ve=0;n.__reactDisabledLog=!0;var Hi,Kr,qr,Ki=!1,qi=new(typeof WeakMap=="function"?WeakMap:Map),Wl=Symbol.for("react.client.reference"),Gr={},Zr={},Jr={};me.Fragment=k,me.jsx=function(v,A,L,$,H){return u(v,A,L,!1,0,H)},me.jsxs=function(v,A,L,$,H){return u(v,A,L,!0,0,H)}}()),me}var m=(Qi||(Qi=1,process.env.NODE_ENV==="production"?Ne.exports=function(){if(Zi)return Kt;Zi=1;var t=Symbol.for("react.transitional.element"),e=Symbol.for("react.fragment");function i(n,r,o){var s=null;if(o!==void 0&&(s=""+o),r.key!==void 0&&(s=""+r.key),"key"in r)for(var a in o={},r)a!=="key"&&(o[a]=r[a]);else o=r;return r=o.ref,{$$typeof:t,type:n,key:s,ref:r!==void 0?r:null,props:o}}return Kt.Fragment=e,Kt.jsx=i,Kt.jsxs=i,Kt}():Ne.exports=ts()),Ne.exports);const $e=T.createContext({});function Fe(t){const e=T.useRef(null);return e.current===null&&(e.current=t()),e.current}const Be=typeof window<"u",tn=Be?T.useLayoutEffect:T.useEffect,ge=T.createContext(null),Oe=T.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});class es extends Re.Component{getSnapshotBeforeUpdate(e){const i=this.props.childRef.current;if(i&&e.isPresent&&!this.props.isPresent){const n=i.offsetParent,r=n instanceof HTMLElement&&n.offsetWidth||0,o=this.props.sizeRef.current;o.height=i.offsetHeight||0,o.width=i.offsetWidth||0,o.top=i.offsetTop,o.left=i.offsetLeft,o.right=r-o.width-o.left}return null}componentDidUpdate(){}render(){return this.props.children}}function is({children:t,isPresent:e,anchorX:i}){const n=T.useId(),r=T.useRef(null),o=T.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:s}=T.useContext(Oe);return T.useInsertionEffect(()=>{const{width:a,height:l,top:u,left:c,right:h}=o.current;if(e||!r.current||!a||!l)return;const d=i==="left"?`left: ${c}`:`right: ${h}`;r.current.dataset.motionPopId=n;const g=document.createElement("style");return s&&(g.nonce=s),document.head.appendChild(g),g.sheet&&g.sheet.insertRule(` [data-motion-pop-id="${n}"] { position: absolute !important; width: ${a}px !important; height: ${l}px !important; ${d}px !important; top: ${u}px !important; } `),()=>{document.head.removeChild(g)}},[e]),m.jsx(es,{isPresent:e,childRef:r,sizeRef:o,children:Re.cloneElement(t,{ref:r})})}const ns=({children:t,initial:e,isPresent:i,onExitComplete:n,custom:r,presenceAffectsLayout:o,mode:s,anchorX:a})=>{const l=Fe(os),u=T.useId(),c=T.useCallback(d=>{l.set(d,!0);for(const g of l.values())if(!g)return;n&&n()},[l,n]),h=T.useMemo(()=>({id:u,initial:e,isPresent:i,custom:r,onExitComplete:c,register:d=>(l.set(d,!1),()=>l.delete(d))}),o?[Math.random(),c]:[i,c]);return T.useMemo(()=>{l.forEach((d,g)=>l.set(g,!1))},[i]),Re.useEffect(()=>{!i&&!l.size&&n&&n()},[i]),s==="popLayout"&&(t=m.jsx(is,{isPresent:i,anchorX:a,children:t})),m.jsx(ge.Provider,{value:h,children:t})};function os(){return new Map}function en(t=!0){const e=T.useContext(ge);if(e===null)return[!0,null];const{isPresent:i,onExitComplete:n,register:r}=e,o=T.useId();T.useEffect(()=>{if(t)return r(o)},[t]);const s=T.useCallback(()=>t&&n&&n(o),[o,n,t]);return!i&&n?[!1,s]:[!0]}const fe=t=>t.key||"";function nn(t){const e=[];return T.Children.forEach(t,i=>{T.isValidElement(i)&&e.push(i)}),e}const J=({children:t,custom:e,initial:i=!0,onExitComplete:n,presenceAffectsLayout:r=!0,mode:o="sync",propagate:s=!1,anchorX:a="left"})=>{const[l,u]=en(s),c=T.useMemo(()=>nn(t),[t]),h=s&&!l?[]:c.map(fe),d=T.useRef(!0),g=T.useRef(c),p=Fe(()=>new Map),[f,x]=T.useState(c),[y,b]=T.useState(c);tn(()=>{d.current=!1,g.current=c;for(let w=0;w<y.length;w++){const S=fe(y[w]);h.includes(S)?p.delete(S):p.get(S)!==!0&&p.set(S,!1)}},[y,h.length,h.join("-")]);const j=[];if(c!==f){let w=[...c];for(let S=0;S<y.length;S++){const k=y[S],E=fe(k);h.includes(E)||(w.splice(S,0,k),j.push(k))}return o==="wait"&&j.length&&(w=j),b(nn(w)),x(c),null}process.env.NODE_ENV!=="production"&&o==="wait"&&y.length>1&&console.warn(`You're attempting to animate multiple children within AnimatePresence, but its mode is set to "wait". This will lead to odd visual behaviour.`);const{forceRender:P}=T.useContext($e);return m.jsx(m.Fragment,{children:y.map(w=>{const S=fe(w),k=!(s&&!l)&&(c===y||h.includes(S));return m.jsx(ns,{isPresent:k,initial:!(d.current&&!i)&&void 0,custom:e,presenceAffectsLayout:r,mode:o,onExitComplete:k?void 0:()=>{if(!p.has(S))return;p.set(S,!0);let E=!0;p.forEach(D=>{D||(E=!1)}),E&&(P==null||P(),b(g.current),s&&(u==null||u()),n&&n())},anchorX:a,children:w},S)})})};function Ie(t,e){t.indexOf(e)===-1&&t.push(e)}function Ue(t,e){const i=t.indexOf(e);i>-1&&t.splice(i,1)}const Q=t=>t;let Rt=Q,vt=Q;process.env.NODE_ENV!=="production"&&(Rt=(t,e)=>{t||typeof console>"u"||console.warn(e)},vt=(t,e)=>{if(!t)throw new Error(e)});const rs=!1;function ze(t){let e;return()=>(e===void 0&&(e=t()),e)}const Nt=(t,e,i)=>{const n=e-t;return n===0?1:(i-t)/n};class We{constructor(){this.subscriptions=[]}add(e){return Ie(this.subscriptions,e),()=>Ue(this.subscriptions,e)}notify(e,i,n){const r=this.subscriptions.length;if(r)if(r===1)this.subscriptions[0](e,i,n);else for(let o=0;o<r;o++){const s=this.subscriptions[o];s&&s(e,i,n)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}const ht=t=>1e3*t,mt=t=>t/1e3;function on(t,e){return e?t*(1e3/e):0}const rn=new Set;function ye(t,e,i){t||rn.has(e)||(console.warn(e),rn.add(e))}const ss=ze(()=>window.ScrollTimeline!==void 0);class as{constructor(e){this.stop=()=>this.runAll("stop"),this.animations=e.filter(Boolean)}get finished(){return Promise.all(this.animations.map(e=>"finished"in e?e.finished:e))}getAll(e){return this.animations[0][e]}setAll(e,i){for(let n=0;n<this.animations.length;n++)this.animations[n][e]=i}attachTimeline(e,i){const n=this.animations.map(r=>ss()&&r.attachTimeline?r.attachTimeline(e):typeof i=="function"?i(r):void 0);return()=>{n.forEach((r,o)=>{r&&r(),this.animations[o].stop()})}}get time(){return this.getAll("time")}set time(e){this.setAll("time",e)}get speed(){return this.getAll("speed")}set speed(e){this.setAll("speed",e)}get startTime(){return this.getAll("startTime")}get duration(){let e=0;for(let i=0;i<this.animations.length;i++)e=Math.max(e,this.animations[i].duration);return e}runAll(e){this.animations.forEach(i=>i[e]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class ls extends as{then(e,i){return Promise.all(this.animations).then(e).catch(i)}}function _e(t,e){return t?t[e]||t.default||t:void 0}const Ye=2e4;function sn(t){let e=0,i=t.next(e);for(;!i.done&&e<Ye;)e+=50,i=t.next(e);return e>=Ye?1/0:e}function Xe(t){return typeof t=="function"}function an(t,e){t.timeline=e,t.onfinish=null}const He=t=>Array.isArray(t)&&typeof t[0]=="number",cs={linearEasing:void 0};function us(t,e){const i=ze(t);return()=>{var n;return(n=cs[e])!==null&&n!==void 0?n:i()}}const ve=us(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),ln=(t,e,i=10)=>{let n="";const r=Math.max(Math.round(e/i),2);for(let o=0;o<r;o++)n+=t(Nt(0,r-1,o))+", ";return`linear(${n.substring(0,n.length-2)})`};function cn(t){return!!(typeof t=="function"&&ve()||!t||typeof t=="string"&&(t in Ke||ve())||He(t)||Array.isArray(t)&&t.every(cn))}const qt=([t,e,i,n])=>`cubic-bezier(${t}, ${e}, ${i}, ${n})`,Ke={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:qt([0,.65,.55,1]),circOut:qt([.55,0,1,.45]),backIn:qt([.31,.01,.66,-.59]),backOut:qt([.33,1.53,.69,.99])};function un(t,e){return t?typeof t=="function"&&ve()?ln(t,e):He(t)?qt(t):Array.isArray(t)?t.map(i=>un(i,e)||Ke.easeOut):Ke[t]:void 0}const xe=["read","resolveKeyframes","update","preRender","render","postRender"],hn={value:null};function dn(t,e){let i=!1,n=!0;const r={delta:0,timestamp:0,isProcessing:!1},o=()=>i=!0,s=xe.reduce((p,f)=>(p[f]=function(x,y){let b=new Set,j=new Set,P=!1,w=!1;const S=new WeakSet;let k={delta:0,timestamp:0,isProcessing:!1},E=0;function D(N){S.has(N)&&(V.schedule(N),x()),E++,N(k)}const V={schedule:(N,Y=!1,z=!1)=>{const X=z&&P?b:j;return Y&&S.add(N),X.has(N)||X.add(N),N},cancel:N=>{j.delete(N),S.delete(N)},process:N=>{k=N,P?w=!0:(P=!0,[b,j]=[j,b],b.forEach(D),y&&hn.value&&hn.value.frameloop[y].push(E),E=0,b.clear(),P=!1,w&&(w=!1,V.process(N)))}};return V}(o,e?f:void 0),p),{}),{read:a,resolveKeyframes:l,update:u,preRender:c,render:h,postRender:d}=s,g=()=>{const p=performance.now();i=!1,r.delta=n?1e3/60:Math.max(Math.min(p-r.timestamp,40),1),r.timestamp=p,r.isProcessing=!0,a.process(r),l.process(r),u.process(r),c.process(r),h.process(r),d.process(r),r.isProcessing=!1,i&&e&&(n=!1,t(g))};return{schedule:xe.reduce((p,f)=>{const x=s[f];return p[f]=(y,b=!1,j=!1)=>(i||(i=!0,n=!0,r.isProcessing||t(g)),x.schedule(y,b,j)),p},{}),cancel:p=>{for(let f=0;f<xe.length;f++)s[xe[f]].cancel(p)},state:r,steps:s}}const{schedule:F,cancel:xt,state:_,steps:qe}=dn(typeof requestAnimationFrame<"u"?requestAnimationFrame:Q,!0),{schedule:Ge}=dn(queueMicrotask,!1);let be;function hs(){be=void 0}const dt={now:()=>(be===void 0&&dt.set(_.isProcessing||rs?_.timestamp:performance.now()),be),set:t=>{be=t,queueMicrotask(hs)}},lt={x:!1,y:!1};function pn(){return lt.x||lt.y}function mn(t,e){const i=function(r,o,s){if(r instanceof EventTarget)return[r];if(typeof r=="string"){const a=document.querySelectorAll(r);return a?Array.from(a):[]}return Array.from(r)}(t),n=new AbortController;return[i,{passive:!0,...e,signal:n.signal},()=>n.abort()]}function gn(t){return!(t.pointerType==="touch"||pn())}function fn(t,e){const i=`${e}PointerCapture`;if(t.target instanceof Element&&i in t.target&&t.pointerId!==void 0)try{t.target[i](t.pointerId)}catch{}}const yn=(t,e)=>!!e&&(t===e||yn(t,e.parentElement)),Ze=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,ds=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]),Gt=new WeakSet;function vn(t){return e=>{e.key==="Enter"&&t(e)}}function Je(t,e){t.dispatchEvent(new PointerEvent("pointer"+e,{isPrimary:!0,bubbles:!0}))}function xn(t){return Ze(t)&&!pn()}function ps(t,e,i={}){const[n,r,o]=mn(t,i),s=a=>{const l=a.currentTarget;if(!l||!xn(a)||Gt.has(l))return;Gt.add(l),fn(a,"set");const u=e(l,a),c=(g,p)=>{l.removeEventListener("pointerup",h),l.removeEventListener("pointercancel",d),fn(g,"release"),xn(g)&&Gt.has(l)&&(Gt.delete(l),typeof u=="function"&&u(g,{success:p}))},h=g=>{const p=!!g.isTrusted&&(f=g,x=l instanceof Element?l.getBoundingClientRect():{left:0,top:0,right:window.innerWidth,bottom:window.innerHeight},f.clientX<x.left||f.clientX>x.right||f.clientY<x.top||f.clientY>x.bottom);var f,x;c(g,!p&&(!(l instanceof Element)||yn(l,g.target)))},d=g=>{c(g,!1)};l.addEventListener("pointerup",h,r),l.addEventListener("pointercancel",d,r),l.addEventListener("lostpointercapture",d,r)};return n.forEach(a=>{let l=!1;var u;(a=i.useGlobalTarget?window:a)instanceof HTMLElement&&(l=!0,u=a,ds.has(u.tagName)||u.tabIndex!==-1||a.getAttribute("tabindex")!==null||(a.tabIndex=0)),a.addEventListener("pointerdown",s,r),l&&a.addEventListener("focus",c=>((h,d)=>{const g=h.currentTarget;if(!g)return;const p=vn(()=>{if(Gt.has(g))return;Je(g,"down");const f=vn(()=>{Je(g,"up")});g.addEventListener("keyup",f,d),g.addEventListener("blur",()=>Je(g,"cancel"),d)});g.addEventListener("keydown",p,d),g.addEventListener("blur",()=>g.removeEventListener("keydown",p),d)})(c,r),r)}),o}class ms{constructor(e,i={}){this.version="12.5.0",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(n,r=!0)=>{const o=dt.now();this.updatedAt!==o&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(n),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),r&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(e),this.owner=i.owner}setCurrent(e){var i;this.current=e,this.updatedAt=dt.now(),this.canTrackVelocity===null&&e!==void 0&&(this.canTrackVelocity=(i=this.current,!isNaN(parseFloat(i))))}setPrevFrameValue(e=this.current){this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt}onChange(e){return process.env.NODE_ENV!=="production"&&ye(!1,'value.onChange(callback) is deprecated. Switch to value.on("change", callback).'),this.on("change",e)}on(e,i){this.events[e]||(this.events[e]=new We);const n=this.events[e].add(i);return e==="change"?()=>{n(),F.read(()=>{this.events.change.getSize()||this.stop()})}:n}clearListeners(){for(const e in this.events)this.events[e].clear()}attach(e,i){this.passiveEffect=e,this.stopPassiveEffect=i}set(e,i=!0){i&&this.passiveEffect?this.passiveEffect(e,this.updateAndNotify):this.updateAndNotify(e,i)}setWithVelocity(e,i,n){this.set(i),this.prev=void 0,this.prevFrameValue=e,this.prevUpdatedAt=this.updatedAt-n}jump(e,i=!0){this.updateAndNotify(e),this.prev=e,this.prevUpdatedAt=this.prevFrameValue=void 0,i&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return this.current}getPrevious(){return this.prev}getVelocity(){const e=dt.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||e-this.updatedAt>30)return 0;const i=Math.min(this.updatedAt-this.prevUpdatedAt,30);return on(parseFloat(this.current)-parseFloat(this.prevFrameValue),i)}start(e){return this.stop(),new Promise(i=>{this.hasAnimated=!0,this.animation=e(i),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function Zt(t,e){return new ms(t,e)}const bn=T.createContext({strict:!1}),wn={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"]},$t={};for(const t in wn)$t[t]={isEnabled:e=>wn[t].some(i=>!!e[i])};const gs=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 we(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||gs.has(t)}let jn=t=>!we(t);try{(Sn=require("@emotion/is-prop-valid").default)&&(jn=t=>t.startsWith("on")?!we(t):Sn(t))}catch{}var Sn;function fs(t){if(typeof Proxy>"u")return t;const e=new Map;return new Proxy((...i)=>(process.env.NODE_ENV!=="production"&&ye(!1,"motion() is deprecated. Use motion.create() instead."),t(...i)),{get:(i,n)=>n==="create"?t:(e.has(n)||e.set(n,t(n)),e.get(n))})}const je=T.createContext({});function Se(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}function Jt(t){return typeof t=="string"||Array.isArray(t)}const Qe=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],ti=["initial",...Qe];function Pe(t){return Se(t.animate)||ti.some(e=>Jt(t[e]))}function Pn(t){return!!(Pe(t)||t.variants)}function ys(t){const{initial:e,animate:i}=function(n,r){if(Pe(n)){const{initial:o,animate:s}=n;return{initial:o===!1||Jt(o)?o:void 0,animate:Jt(s)?s:void 0}}return n.inherit!==!1?r:{}}(t,T.useContext(je));return T.useMemo(()=>({initial:e,animate:i}),[Tn(e),Tn(i)])}function Tn(t){return Array.isArray(t)?t.join(" "):t}const vs=Symbol.for("motionComponentSymbol");function Ft(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function xs(t,e,i){return T.useCallback(n=>{n&&t.onMount&&t.onMount(n),e&&(n?e.mount(n):e.unmount()),i&&(typeof i=="function"?i(n):Ft(i)&&(i.current=n))},[e])}const ei=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),kn="data-"+ei("framerAppearId"),Cn=T.createContext({});function bs(t,e,i,n,r){var o,s;const{visualElement:a}=T.useContext(je),l=T.useContext(bn),u=T.useContext(ge),c=T.useContext(Oe).reducedMotion,h=T.useRef(null);n=n||l.renderer,!h.current&&n&&(h.current=n(t,{visualState:e,parent:a,props:i,presenceContext:u,blockInitialAnimation:!!u&&u.initial===!1,reducedMotionConfig:c}));const d=h.current,g=T.useContext(Cn);!d||d.projection||!r||d.type!=="html"&&d.type!=="svg"||function(y,b,j,P){const{layoutId:w,layout:S,drag:k,dragConstraints:E,layoutScroll:D,layoutRoot:V}=b;y.projection=new j(y.latestValues,b["data-framer-portal-id"]?void 0:En(y.parent)),y.projection.setOptions({layoutId:w,layout:S,alwaysMeasureLayout:!!k||E&&Ft(E),visualElement:y,animationType:typeof S=="string"?S:"both",initialPromotionConfig:P,layoutScroll:D,layoutRoot:V})}(h.current,i,r,g);const p=T.useRef(!1);T.useInsertionEffect(()=>{d&&p.current&&d.update(i,u)});const f=i[kn],x=T.useRef(!!f&&!(!((o=window.MotionHandoffIsComplete)===null||o===void 0)&&o.call(window,f))&&((s=window.MotionHasOptimisedAnimation)===null||s===void 0?void 0:s.call(window,f)));return tn(()=>{d&&(p.current=!0,window.MotionIsMounted=!0,d.updateFeatures(),Ge.render(d.render),x.current&&d.animationState&&d.animationState.animateChanges())}),T.useEffect(()=>{d&&(!x.current&&d.animationState&&d.animationState.animateChanges(),x.current&&(queueMicrotask(()=>{var y;(y=window.MotionHandoffMarkAsComplete)===null||y===void 0||y.call(window,f)}),x.current=!1))}),d}function En(t){if(t)return t.options.allowProjection!==!1?t.projection:En(t.parent)}function ws({preloadedFeatures:t,createVisualElement:e,useRender:i,useVisualState:n,Component:r}){var o,s;function a(u,c){let h;const d={...T.useContext(Oe),...u,layoutId:js(u)},{isStatic:g}=d,p=ys(u),f=n(u,g);if(!g&&Be){(function(y,b){const j=T.useContext(bn).strict;if(process.env.NODE_ENV!=="production"&&b&&j){const P="You have rendered a `motion` component within a `LazyMotion` component. This will break tree shaking. Import and render a `m` component instead.";y.ignoreStrict?Rt(!1,P):vt(!1,P)}})(d,t);const x=function(y){const{drag:b,layout:j}=$t;if(!b&&!j)return{};const P={...b,...j};return{MeasureLayout:b!=null&&b.isEnabled(y)||j!=null&&j.isEnabled(y)?P.MeasureLayout:void 0,ProjectionNode:P.ProjectionNode}}(d);h=x.MeasureLayout,p.visualElement=bs(r,f,d,e,x.ProjectionNode)}return m.jsxs(je.Provider,{value:p,children:[h&&p.visualElement?m.jsx(h,{visualElement:p.visualElement,...d}):null,i(r,u,xs(f,p.visualElement,c),f,g,p.visualElement)]})}t&&function(u){for(const c in u)$t[c]={...$t[c],...u[c]}}(t),a.displayName=`motion.${typeof r=="string"?r:`create(${(s=(o=r.displayName)!==null&&o!==void 0?o:r.name)!==null&&s!==void 0?s:""})`}`;const l=T.forwardRef(a);return l[vs]=r,l}function js({layoutId:t}){const e=T.useContext($e).id;return e&&t!==void 0?e+"-"+t:t}const An=t=>e=>typeof e=="string"&&e.startsWith(t),ii=An("--"),Ss=An("var(--"),ni=t=>!!Ss(t)&&Ps.test(t.split("/*")[0].trim()),Ps=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,Qt={},Bt=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],Tt=new Set(Bt);function Ln(t,{layout:e,layoutId:i}){return Tt.has(t)||t.startsWith("origin")||(e||i!==void 0)&&(!!Qt[t]||t==="opacity")}const K=t=>!!(t&&t.getVelocity),Mn=(t,e)=>e&&typeof t=="number"?e.transform(t):t,gt=(t,e,i)=>i>e?e:i<t?t:i,Ot={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},te={...Ot,transform:t=>gt(0,1,t)},Te={...Ot,default:1},ee=t=>({test:e=>typeof e=="string"&&e.endsWith(t)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${t}`}),bt=ee("deg"),pt=ee("%"),C=ee("px"),Ts=ee("vh"),ks=ee("vw"),Dn={...pt,parse:t=>pt.parse(t)/100,transform:t=>pt.transform(100*t)},Cs={borderWidth:C,borderTopWidth:C,borderRightWidth:C,borderBottomWidth:C,borderLeftWidth:C,borderRadius:C,radius:C,borderTopLeftRadius:C,borderTopRightRadius:C,borderBottomRightRadius:C,borderBottomLeftRadius:C,width:C,maxWidth:C,height:C,maxHeight:C,top:C,right:C,bottom:C,left:C,padding:C,paddingTop:C,paddingRight:C,paddingBottom:C,paddingLeft:C,margin:C,marginTop:C,marginRight:C,marginBottom:C,marginLeft:C,backgroundPositionX:C,backgroundPositionY:C},Es={rotate:bt,rotateX:bt,rotateY:bt,rotateZ:bt,scale:Te,scaleX:Te,scaleY:Te,scaleZ:Te,skew:bt,skewX:bt,skewY:bt,distance:C,translateX:C,translateY:C,translateZ:C,x:C,y:C,z:C,perspective:C,transformPerspective:C,opacity:te,originX:Dn,originY:Dn,originZ:C},Vn={...Ot,transform:Math.round},oi={...Cs,...Es,zIndex:Vn,size:C,fillOpacity:te,strokeOpacity:te,numOctaves:Vn},As={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},Ls=Bt.length;function ri(t,e,i){const{style:n,vars:r,transformOrigin:o}=t;let s=!1,a=!1;for(const l in e){const u=e[l];if(Tt.has(l))s=!0;else if(ii(l))r[l]=u;else{const c=Mn(u,oi[l]);l.startsWith("origin")?(a=!0,o[l]=c):n[l]=c}}if(e.transform||(s||i?n.transform=function(l,u,c){let h="",d=!0;for(let g=0;g<Ls;g++){const p=Bt[g],f=l[p];if(f===void 0)continue;let x=!0;if(x=typeof f=="number"?f===(p.startsWith("scale")?1:0):parseFloat(f)===0,!x||c){const y=Mn(f,oi[p]);x||(d=!1,h+=`${As[p]||p}(${y}) `),c&&(u[p]=y)}}return h=h.trim(),c?h=c(u,d?"":h):d&&(h="none"),h}(e,t.transform,i):n.transform&&(n.transform="none")),a){const{originX:l="50%",originY:u="50%",originZ:c=0}=o;n.transformOrigin=`${l} ${u} ${c}`}}const si=()=>({style:{},transform:{},transformOrigin:{},vars:{}});function Rn(t,e,i){for(const n in e)K(e[n])||Ln(n,i)||(t[n]=e[n])}function Ms(t,e){const i={};return Rn(i,t.style||{},t),Object.assign(i,function({transformTemplate:n},r){return T.useMemo(()=>{const o=si();return ri(o,r,n),Object.assign({},o.vars,o.style)},[r])}(t,e)),i}function Ds(t,e){const i={},n=Ms(t,e);return t.drag&&t.dragListener!==!1&&(i.draggable=!1,n.userSelect=n.WebkitUserSelect=n.WebkitTouchCallout="none",n.touchAction=t.drag===!0?"none":"pan-"+(t.drag==="x"?"y":"x")),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(i.tabIndex=0),i.style=n,i}const Vs=["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 ai(t){return typeof t=="string"&&!t.includes("-")&&!!(Vs.indexOf(t)>-1||/[A-Z]/u.test(t))}const Rs={offset:"stroke-dashoffset",array:"stroke-dasharray"},Ns={offset:"strokeDashoffset",array:"strokeDasharray"};function Nn(t,e,i){return typeof t=="string"?t:C.transform(e+i*t)}function li(t,{attrX:e,attrY:i,attrScale:n,originX:r,originY:o,pathLength:s,pathSpacing:a=1,pathOffset:l=0,...u},c,h){if(ri(t,u,h),c)return void(t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox));t.attrs=t.style,t.style={};const{attrs:d,style:g,dimensions:p}=t;d.transform&&(p&&(g.transform=d.transform),delete d.transform),p&&(r!==void 0||o!==void 0||g.transform)&&(g.transformOrigin=function(f,x,y){return`${Nn(x,f.x,f.width)} ${Nn(y,f.y,f.height)}`}(p,r!==void 0?r:.5,o!==void 0?o:.5)),e!==void 0&&(d.x=e),i!==void 0&&(d.y=i),n!==void 0&&(d.scale=n),s!==void 0&&function(f,x,y=1,b=0,j=!0){f.pathLength=1;const P=j?Rs:Ns;f[P.offset]=C.transform(-b);const w=C.transform(x),S=C.transform(y);f[P.array]=`${w} ${S}`}(d,s,a,l,!1)}const $n=()=>({...si(),attrs:{}}),ci=t=>typeof t=="string"&&t.toLowerCase()==="svg";function $s(t,e,i,n){const r=T.useMemo(()=>{const o=$n();return li(o,e,ci(n),t.transformTemplate),{...o.attrs,style:{...o.style}}},[e]);if(t.style){const o={};Rn(o,t.style,t),r.style={...o,...r.style}}return r}function Fs(t=!1){return(e,i,n,{latestValues:r},o)=>{const s=(ai(e)?$s:Ds)(i,r,o,e),a=function(h,d,g){const p={};for(const f in h)f==="values"&&typeof h.values=="object"||(jn(f)||g===!0&&we(f)||!d&&!we(f)||h.draggable&&f.startsWith("onDrag"))&&(p[f]=h[f]);return p}(i,typeof e=="string",t),l=e!==T.Fragment?{...a,...s,ref:n}:{},{children:u}=i,c=T.useMemo(()=>K(u)?u.get():u,[u]);return T.createElement(e,{...l,children:c})}}function Fn(t){const e=[{},{}];return t==null||t.values.forEach((i,n)=>{e[0][n]=i.get(),e[1][n]=i.getVelocity()}),e}function ui(t,e,i,n){if(typeof e=="function"){const[r,o]=Fn(n);e=e(i!==void 0?i:t.custom,r,o)}if(typeof e=="string"&&(e=t.variants&&t.variants[e]),typeof e=="function"){const[r,o]=Fn(n);e=e(i!==void 0?i:t.custom,r,o)}return e}const hi=t=>Array.isArray(t),Bs=t=>!!(t&&typeof t=="object"&&t.mix&&t.toValue),Os=t=>hi(t)?t[t.length-1]||0:t;function ke(t){const e=K(t)?t.get():t;return Bs(e)?e.toValue():e}const Bn=t=>(e,i)=>{const n=T.useContext(je),r=T.useContext(ge),o=()=>function({scrapeMotionValuesFromProps:s,createRenderState:a,onUpdate:l},u,c,h){const d={latestValues:Is(u,c,h,s),renderState:a()};return l&&(d.onMount=g=>l({props:u,current:g,...d}),d.onUpdate=g=>l(g)),d}(t,e,n,r);return i?o():Fe(o)};function Is(t,e,i,n){const r={},o=n(t,{});for(const d in o)r[d]=ke(o[d]);let{initial:s,animate:a}=t;const l=Pe(t),u=Pn(t);e&&u&&!l&&t.inherit!==!1&&(s===void 0&&(s=e.initial),a===void 0&&(a=e.animate));let c=!!i&&i.initial===!1;c=c||s===!1;const h=c?a:s;if(h&&typeof h!="boolean"&&!Se(h)){const d=Array.isArray(h)?h:[h];for(let g=0;g<d.length;g++){const p=ui(t,d[g]);if(p){const{transitionEnd:f,transition:x,...y}=p;for(const b in y){let j=y[b];Array.isArray(j)&&(j=j[c?j.length-1:0]),j!==null&&(r[b]=j)}for(const b in f)r[b]=f[b]}}}return r}function di(t,e,i){var n;const{style:r}=t,o={};for(const s in r)(K(r[s])||e.style&&K(e.style[s])||Ln(s,t)||((n=i==null?void 0:i.getValue(s))===null||n===void 0?void 0:n.liveStyle)!==void 0)&&(o[s]=r[s]);return o}const Us={useVisualState:Bn({scrapeMotionValuesFromProps:di,createRenderState:si})};function On(t,e){try{e.dimensions=typeof t.getBBox=="function"?t.get