{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js", "ssg:https://framerusercontent.com/modules/Z7W0nR93oDA0ww3oOjR8/Ek6hdyC7N0hvEfTgS47e/ShimmerGrid_Prod.js", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/7qT0r3So12155VV5Jq5x/Video.js"],
  "sourcesContent": ["import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,animate}from\"framer-motion\";const ALIGNMENT={left:0,top:0,center:.5,right:1,bottom:1};/**\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n */export default function FollowCursor(props){const{smoothing,enabled,horizontalAlignment,verticalAlignment,transition}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const movementTransition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const springX=useSpring(mouseX,movementTransition);const springY=useSpring(mouseY,movementTransition);const ref=useRef(null);const parentRef=useRef(null);const transformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousStyleTransformRef=useRef(null);const isInitializedRef=useRef(false);const previousScrollXRef=useRef(0);const previousScrollYRef=useRef(0);const opacityRef=useRef(1);const currentOpacityRef=useRef(0);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas)return;animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=(hasSpringRef.current?springX.get():mouseX.get()).toFixed(3);const yValue=(hasSpringRef.current?springY.get():mouseY.get()).toFixed(3);// Get computed styles to capture all existing transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const transform=calculateTransform(parentRef.current,computedStyle,xValue,yValue,previousXRef.current,previousYRef.current,previousStyleTransformRef.current);const opacity=currentOpacityRef.current*opacityRef.current;transformRef.current=transform;styleRef.current.textContent=`\n\t\t\t\t[data-followcursor=\"${id}\"] { \n\t\t\t\t\ttransform: ${transform} !important;\n\t\t\t\t\t${opacity<.995?`opacity: ${opacity} !important;`:\"\"}\n\t\t\t\t}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;previousStyleTransformRef.current=parentRef.current.style.transform;};if(ref.current){const container=ref.current.parentElement;if(container){const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-followcursor\",id);}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current)return;let setSpringsInstantly=false;// When initialized for the first time, animate opacity\nif(!isInitializedRef.current){isInitializedRef.current=true;animate(currentOpacityRef.current,enabled?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});setSpringsInstantly=true;}// Get the element's position without transforms\nconst computedStyle=window.getComputedStyle(parentRef.current);const matrix=new DOMMatrix(computedStyle.transform);const rect=parentRef.current.getBoundingClientRect();// Subtract the transform translation to get the original position\nconst originalLeft=rect.left-matrix.m41;const originalTop=rect.top-matrix.m42;// Add scroll offsets to mouse position\nconst scrollX=window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.pageYOffset||document.documentElement.scrollTop;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;const mouseXPos=event.clientX+scrollX-(originalLeft+scrollX)-ALIGNMENT[horizontalAlignment]*rect.width;const mouseYPos=event.clientY+scrollY-(originalTop+scrollY)-ALIGNMENT[verticalAlignment]*rect.height;mouseX.set(mouseXPos);mouseY.set(mouseYPos);if(setSpringsInstantly){springX.jump(mouseXPos);springY.jump(mouseYPos);}};// Add scroll event handler to update position\nconst handleScroll=()=>{if(!parentRef.current||!isInitializedRef.current)return;const scrollX=window.scrollX||window.pageXOffset||document.documentElement.scrollLeft;const scrollY=window.scrollY||window.pageYOffset||document.documentElement.scrollTop;// Calculate scroll delta\nconst deltaX=scrollX-previousScrollXRef.current;const deltaY=scrollY-previousScrollYRef.current;// Update previous scroll positions\npreviousScrollXRef.current=scrollX;previousScrollYRef.current=scrollY;// Update position using scroll delta\nmouseX.set(mouseX.get()+deltaX);mouseY.set(mouseY.get()+deltaY);};window.addEventListener(\"mousemove\",handleMouseMove);window.addEventListener(\"scroll\",handleScroll);return()=>{window.removeEventListener(\"mousemove\",handleMouseMove);window.removeEventListener(\"scroll\",handleScroll);};},[enabled]);useEffect(()=>{if(!styleRef.current||!parentRef.current)return;const computedStyle=window.getComputedStyle(parentRef.current);opacityRef.current=parseFloat(computedStyle.opacity)||1;animate(currentOpacityRef.current,enabled&&isInitializedRef.current?1:0,{...transition,onUpdate:latest=>{currentOpacityRef.current=latest;}});},[enabled,transition]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}FollowCursor.displayName=\"Follow Cursor\";addPropertyControls(FollowCursor,{enabled:{type:ControlType.Boolean,defaultValue:true},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},horizontalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"left\",\"center\",\"right\"],optionTitles:[\"Left\",\"Center\",\"Right\"],displaySegmentedControl:true,title:\"Alignment\"},verticalAlignment:{type:ControlType.Enum,defaultValue:\"center\",options:[\"top\",\"center\",\"bottom\"],optionTitles:[\"Top\",\"Center\",\"Bottom\"],displaySegmentedControl:true,title:\" \"},transition:{type:ControlType.Transition,defaultValue:{type:\"spring\",duration:.2,bounce:0},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";const generateInstanceId=()=>{const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;};function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,previousX,previousY,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const translateTransform=`translate(${finalX}px, ${finalY}px)`;let transform=translateTransform;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${translateTransform} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${translateTransform} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FollowCursor\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutHeight\":\"any\",\"framerIntrinsicHeight\":\"200\",\"framerSupportedLayoutWidth\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FollowCursor_Prod.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import FollowCursor from\"https://framerusercontent.com/modules/QbIURI1CrWibjjH7k1PR/2vNdLnvQNPcA8uP12d7k/FollowCursor_Prod.js\";import{cubicBezier}from\"framer-motion\";const ease=cubicBezier(.7,0,.7,1);var Pattern;(function(Pattern){Pattern[\"Grid\"]=\"grid\";Pattern[\"Checkerboard\"]=\"checkerboard\";Pattern[\"HorizontalLines\"]=\"horizontalLines\";Pattern[\"VerticalLines\"]=\"verticalLines\";Pattern[\"DiagonalLines\"]=\"diagonalLines\";Pattern[\"Dots\"]=\"dots\";Pattern[\"Triangles\"]=\"triangles\";Pattern[\"Custom\"]=\"custom\";})(Pattern||(Pattern={}));const IMAGE_SIZING_MAP={fill:\"cover\",fit:\"contain\",stretch:\"100% 100%\"};const POSITION_MAP={topLeft:\"0 0\",topCenter:\"50% 0\",topRight:\"100% 0\",left:\"0 50%\",center:\"50% 50%\",right:\"100% 50%\",bottomLeft:\"0 100%\",bottomCenter:\"50% 100%\",bottomRight:\"100% 100%\"};/**\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerDisableUnlink\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 400\n */export default function ShimmerGrid({color,hoverColor,hoverSize,hoverShape,patternPreset,flip,lineWidth,customPatternImage,customPatternSizing,tileSize,customPatternMode,customPatternPosition,dotSize,radius,smoothing,style}){const isCanvas=RenderTarget.current()===RenderTarget.canvas;const isCustom=patternPreset===\"custom\";const bgPosition=isCustom&&customPatternSizing!==\"stretch\"?POSITION_MAP[customPatternPosition]:POSITION_MAP.center;let bgImage=\"\";let bgSize=`${tileSize}px ${tileSize}px`;let bgRepeat=\"repeat\";switch(patternPreset){case\"grid\":bgImage=`repeating-conic-gradient(at ${lineWidth}px ${lineWidth}px, [color] 0deg 90deg, transparent 90deg 180deg, [color] 180deg 360deg)`;break;case\"checkerboard\":bgImage=flip?`repeating-conic-gradient([color] 0% 25%, transparent 0% 50%)`:`repeating-conic-gradient(transparent 0% 25%, [color] 0% 50%)`;break;case\"horizontalLines\":bgImage=`linear-gradient(to top, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"verticalLines\":bgImage=`linear-gradient(to left, [color] ${lineWidth}px, transparent ${lineWidth}px)`;break;case\"diagonalLines\":const w=lineWidth/2;const sideLength=getSideLength(tileSize*2);bgImage=`linear-gradient(to top ${flip?\"left\":\"right\"}, [color] ${w}px, transparent ${w}px, transparent calc(50% - ${w}px), [color] calc(50% - ${w}px), [color] calc(50% + ${w}px), transparent calc(50% + ${w}px), transparent calc(100% - ${w}px), [color] calc(100% - ${w}px), [color] 100%)`;bgSize=`${sideLength}px ${sideLength}px`;break;case\"dots\":bgImage=`radial-gradient([color] ${dotSize/2-.4}px, transparent ${dotSize/2+.4}px)`;break;case\"triangles\":bgImage=`linear-gradient(${flip?-45:45}deg, transparent calc(50% - 0.1px), [color] calc(50% + 0.1px))`;break;case\"custom\":bgImage=`url(\"${customPatternImage?.src}\")`;if(customPatternSizing!==\"tile\"){bgRepeat=\"no-repeat\";bgSize=IMAGE_SIZING_MAP[customPatternSizing];}break;}let hoverStyle={};let hoverSizeValue=hoverSize;if(hoverShape===\"glow\"){const gradientPoints=[];for(let i=0;i<15;i++){const normalized=mapRange(i,0,14,0,1);gradientPoints.push(`rgba(255, 255, 255, ${ease(1-normalized)}) ${mapRange(i,0,14,0,100)}%`);}hoverStyle={maskImage:`radial-gradient(closest-side, ${gradientPoints.join(\", \")})`};hoverSizeValue=hoverSize*2;}else if(hoverShape===\"circle\"){hoverStyle={borderRadius:\"50%\"};}return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",borderRadius:radius,overflow:\"hidden\",backgroundImage:isCustom?\"\":bgImage.replace(/\\[color\\]/g,color),backgroundSize:bgSize,backgroundPosition:bgPosition,backgroundRepeat:bgRepeat,...style},children:[isCustom&&/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,backgroundColor:color,maskImage:bgImage,maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:customPatternMode}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",inset:0,maskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),maskSize:bgSize,maskPosition:bgPosition,maskRepeat:bgRepeat,maskMode:isCustom?customPatternMode:undefined,WebkitMaskImage:isCustom?bgImage:bgImage.replace(/\\[color\\]/g,\"white\"),WebkitMaskSize:bgSize,WebkitMaskPosition:bgPosition,WebkitMaskRepeat:bgRepeat,WebkitMaskMode:isCustom?customPatternMode:undefined},children:/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:isCanvas?\"50%\":0,left:isCanvas?\"50%\":0,transform:isCanvas?\"translate(-50%, -50%)\":undefined,width:hoverSizeValue,height:hoverSizeValue,backgroundColor:hoverColor,...hoverStyle},children:/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},children:/*#__PURE__*/_jsx(FollowCursor,{enabled:true,smoothing:smoothing,horizontalAlignment:\"center\",verticalAlignment:\"center\"})})})})]});}ShimmerGrid.displayName=\"Shimmer Grid\";addPropertyControls(ShimmerGrid,{color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 0.5)\"},hoverColor:{type:ControlType.Color,defaultValue:\"#FFF\"},hoverSize:{type:ControlType.Number,defaultValue:400,min:1,max:2e3,step:1},hoverShape:{type:ControlType.Enum,defaultValue:\"glow\",options:[\"glow\",\"circle\"],optionTitles:[\"Glow\",\"Circle\"],displaySegmentedControl:true,title:\"Shape\"},patternPreset:{type:ControlType.Enum,defaultValue:\"grid\",options:Object.values(Pattern),optionTitles:[\"Grid\",\"Checkerboard\",\"Horizontal Lines\",\"Vertical Lines\",\"Diagonal Lines\",\"Dots\",\"Triangles\",\"Custom\"],title:\"Pattern\"},customPatternImage:{type:ControlType.ResponsiveImage,title:\"Image\",hidden:props=>props.patternPreset!==\"custom\"},customPatternSizing:{type:ControlType.Enum,defaultValue:\"tile\",options:[\"fill\",\"fit\",\"stretch\",\"tile\"],optionTitles:[\"Fill\",\"Fit\",\"Stretch\",\"Tile\"],title:\"Sizing\",hidden:props=>props.patternPreset!==\"custom\"},flip:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.patternPreset!==\"checkerboard\"&&props.patternPreset!==\"triangles\"&&props.patternPreset!==\"diagonalLines\"},lineWidth:{type:ControlType.Number,defaultValue:2,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"horizontalLines\"&&props.patternPreset!==\"verticalLines\"&&props.patternPreset!==\"diagonalLines\"&&props.patternPreset!==\"grid\"},tileSize:{type:ControlType.Number,defaultValue:50,min:1,step:1,hidden:props=>props.patternPreset===\"custom\"&&props.customPatternSizing!==\"tile\"},dotSize:{type:ControlType.Number,defaultValue:10,min:1,step:1,displayStepper:true,hidden:props=>props.patternPreset!==\"dots\"},customPatternPosition:{type:ControlType.Enum,defaultValue:\"center\",options:[\"topLeft\",\"topCenter\",\"topRight\",\"left\",\"center\",\"right\",\"bottomLeft\",\"bottomCenter\",\"bottomRight\"],optionTitles:[\"Top Left\",\"Top Center\",\"Top Right\",\"Left\",\"Center\",\"Right\",\"Bottom Left\",\"Bottom Center\",\"Bottom Right\"],title:\"Position\",hidden:props=>props.patternPreset!==\"custom\"||props.customPatternSizing===\"stretch\"},customPatternMode:{type:ControlType.Enum,defaultValue:\"alpha\",options:[\"alpha\",\"luminance\"],optionTitles:[\"Alpha\",\"Luminance\"],title:\"Mode\",hidden:props=>props.patternPreset!==\"custom\"},smoothing:{type:ControlType.Number,defaultValue:0,min:0,max:100,step:1},radius:{type:ControlType.BorderRadius,defaultValue:\"0px\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});function getSideLength(hypotenuseLength){// Check if input is a valid number\nif(typeof hypotenuseLength!==\"number\"||isNaN(hypotenuseLength)||hypotenuseLength<=0){return hypotenuseLength;}// Calculate the side length using the Pythagorean theorem\n// In a right isosceles triangle: side\u00B2 + side\u00B2 = hypotenuse\u00B2\n// So, side\u00B2 = hypotenuse\u00B2 / 2\nconst sideLength=Math.sqrt(Math.pow(hypotenuseLength,2)/2);// Round the result to 2 decimal places\nreturn Number(sideLength.toFixed(2));}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ShimmerGrid\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"400\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ShimmerGrid_Prod.map", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map", "import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget,RenderTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius,useRenderTarget}from\"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\";// https://framer.com/m/framer/default-utils.js@^0.45.0\nimport{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));const defaultVideo=\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\";// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const isPlayingRef=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const video=videoRef.current;if(!video)return;video.preload=\"auto\"// makes sure browsers don't throttle: https://html.spec.whatwg.org/multipage/media.html#:~:text=When%20the%20media%20resource%20is%20playing%2C%20hints%20to%20the%20user%20agent%20that%20bandwidth%20is%20to%20be%20considered%20scarce%2C%20e.g.%20suggesting%20throttling%20the%20download%20so%20that%20the%20media%20data%20is%20obtained%20at%20the%20slowest%20possible%20rate%20that%20still%20maintains%20consistent%20playback.\n;const isPlaying=video.currentTime>0&&video.onplaying&&!video.paused&&!video.ended&&video.readyState>=video.HAVE_CURRENT_DATA;if(!isPlaying&&video&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;isPlayingRef.current=true;video.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();isPlayingRef.current=false;},[]);return{play,pause,setProgress,isPlaying:isPlayingRef};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks \u201CPlay\u201D.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{// default props\nsrcType=\"URL\",srcUrl,srcFile=\"\",posterEnabled=false,controls=false,playing=true,loop=true,muted=true,playsinline=true,restartOnEnter=false,objectFit=\"cover\",backgroundColor=\"rgba(0,0,0,0)\",radius=0,volume=25,startTime:startTimeProp=0,poster,playing:playingProp,progress,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const renderTarget=useRenderTarget();const isStaticRenderer=isOnCanvas||renderTarget===RenderTarget.export;const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isStaticRenderer won\u2019t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isStaticRenderer?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isStaticRenderer?true:useInView(videoRef);const isCloseToViewport=isStaticRenderer?false:useInView(videoRef,{margin:\"10%\",once:true});// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress,isPlaying}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isStaticRenderer)return;if(autoplayBehavior===\"on-viewport\")return;if(playingProp)play();else pause();},[autoplayBehavior,playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isStaticRenderer)return;// this also explicitly retries playing for videos that play on-mount, which could fail if they're not muted for example\nif(isInViewport&&playingProp&&autoplayBehavior!==\"no-autoplay\")play();if(autoplayBehavior!==\"on-viewport\")return;pause();},[autoplayBehavior,isInViewport,playingProp]);useEffect(()=>{if(!isOnCanvas||poster||posterEnabled||startTime||!videoRef.current)return;// forces a poster to show up when the video is in an iframe; this is needed when `poster` changes\nvideoRef.current.currentTime=.01;},[posterEnabled,poster,startTime]);/**\n     * The Video component has some effects that sync the video element with props\n     * like `startTime`, `progress`, etc. React calls these effects whenever these\n     * props change. However, it also calls them on the first mount, and this is\n     * troublesome \u2013 if we\u2019re doing SSR, and the user changed the video state before\n     * the video was hydrated, the initial `useEffect` call will reset the video\n     * state. To avoid this, we use this flag.\n     */const isMountedAndReadyForProgressChanges=useRef(false);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges.current){isMountedAndReadyForProgressChanges.current=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress??0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That\u2019s because\n// `startTime` == start == changing it shouldn\u2019t affect the current\n// progress\n(rawProgressValue??0)||// Then why fall back to `startTime` when `progress` doesn\u2019t exist,\n// you might ask? Now, that\u2019s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the \u201CStart Time\u201D in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don\u2019t know, and it\n//   always supported it, so let\u2019s not break it\n(startTime??0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isStaticRenderer\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume??0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{const video=videoRef.current;if(!video)return;if(video.currentTime<.3&&startTime>0)setProgress((startTime??0)*.01);if(// when the component updates (e.g. only srcFile/url changes), and the video was already playing, keep playing\nisPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport)play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked?.(e),onPause:e=>onPause?.(e),onPlay:e=>onPlay?.(e),onEnded:e=>onEnd?.(e),autoPlay:isPlaying.current||autoplayBehavior===\"on-mount\"||playingProp&&autoplayBehavior===\"on-viewport\"&&isInViewport,preload:isPlaying.current?\"auto\":isStaticRenderer&&!poster?\"metadata\":autoplayBehavior!==\"on-mount\"&&!isCloseToViewport?\"none\":// `autoplay` overrides this too\n\"metadata\",poster:posterEnabled&&!srcFile&&srcUrl===defaultVideo?\"https://framerusercontent.com/images/5ILRvlYXf72kHSVHqpa3snGzjU.jpg\":posterEnabled&&poster?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isStaticRenderer?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",defaultValue:\"https://framerusercontent.com/assets/MLWPbW1dUQawJLhhun3dBwpgJak.mp4\",hidden(props){return props.srcType===\"Upload\";}},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},...borderRadiusControl,posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\"Image\",hidden:({posterEnabled})=>!posterEnabled,description:\"We recommend adding a poster. [Learn more](https://www.framer.com/help/articles/how-are-videos-optimized-in-framer/).\"},backgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0,0,0,0)\"},startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted,defaultValue:25},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"112\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map"],
  "mappings": "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",
  "names": ["ALIGNMENT", "FollowCursor", "props", "smoothing", "enabled", "horizontalAlignment", "verticalAlignment", "transition", "isCanvas", "RenderTarget", "id", "generateInstanceId", "movementTransition", "mapRange", "mouseX", "useMotionValue", "mouseY", "springX", "useSpring", "springY", "ref", "pe", "parentRef", "transformRef", "styleRef", "hasSpringRef", "previousXRef", "previousYRef", "previousStyleTransformRef", "isInitializedRef", "previousScrollXRef", "previousScrollYRef", "opacityRef", "currentOpacityRef", "ue", "animationFrameId", "updateTransform", "xValue", "yValue", "computedStyle", "window", "transform", "calculateTransform", "opacity", "container", "parent", "handleMouseMove", "event", "setSpringsInstantly", "animate", "latest", "matrix", "rect", "originalLeft", "originalTop", "scrollX", "scrollY", "mouseXPos", "mouseYPos", "handleScroll", "deltaX", "deltaY", "p", "addPropertyControls", "ControlType", "CHARACTERS", "se", "result", "i", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "element", "previousX", "previousY", "previousStyleTransform", "computedTransform", "styleTransform", "finalX", "finalY", "translateTransform", "invertTransform", "transformString", "func", "valuesString", "values", "v", "invertNumber", "_", "sign", "num", "unit", "rotateValues", "ease", "cubicBezier", "Pattern", "IMAGE_SIZING_MAP", "POSITION_MAP", "ShimmerGrid", "color", "hoverColor", "hoverSize", "hoverShape", "patternPreset", "flip", "lineWidth", "customPatternImage", "customPatternSizing", "tileSize", "customPatternMode", "customPatternPosition", "dotSize", "radius", "smoothing", "style", "isCanvas", "RenderTarget", "isCustom", "bgPosition", "bgImage", "bgSize", "bgRepeat", "w", "sideLength", "getSideLength", "hoverStyle", "hoverSizeValue", "gradientPoints", "i", "normalized", "mapRange", "u", "p", "FollowCursor", "addPropertyControls", "ControlType", "props", "hypotenuseLength", "value", "fromLow", "fromHigh", "toLow", "toHigh", "percentage", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "isBrowserSafari", "navigator", "userAgent", "useIsBrowserSafari", "se", "useRenderTarget", "se", "RenderTarget", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "usePadding", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingControl", "ObjectFitType", "SrcType", "defaultVideo", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "usePlaybackControls", "videoRef", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "requestingPlay", "pe", "isPlayingRef", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "video", "e", "pause", "useAutoplayBehavior", "playingProp", "muted", "loop", "playsinline", "controls", "initialPlayingProp", "ye", "hasPlayingPropChanged", "setHasPlayingPropChanged", "behavesAsGif", "autoplay", "X", "srcType", "srcUrl", "srcFile", "posterEnabled", "playing", "restartOnEnter", "objectFit", "backgroundColor", "radius", "volume", "startTimeProp", "poster", "progress", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "renderTarget", "useRenderTarget", "isStaticRenderer", "RenderTarget", "borderRadius", "useRadius", "autoplayBehavior", "isInViewport", "useInView", "isCloseToViewport", "startTime", "isPlaying", "ue", "isMountedAndReadyForProgressChanges", "rawProgressValue", "isMotionValue", "value", "useOnEnter", "useOnExit", "src", "se", "fragment", "handleReady", "capitalizeFirstLetter", "titleCase", "objectFitOptions", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents"]
}
