{"version":3,"file":"TileLoop.Dr7LkSWf.mjs","names":["React.useContext","React.useMemo","React.Fragment","React.forwardRef","useRef","React.useId","RichText","useRef"],"sources":["https:/framerusercontent.com/modules/feRCINenqgyIv8Qklwkk/K6m1zFfGl8gRg7Ss07bR/uDxppVYLF.js","https:/framerusercontent.com/modules/H7g140SBv9ApSs758NoX/t4BVJwoNENya8RSoXPmu/TileLoop.js"],"sourcesContent":["// Generated by Framer (6ae8a13)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"dJSil4evJ\",\"oqup_2Ia8\"];const serializationHash=\"framer-mfrBO\";const variantClassNames={dJSil4evJ:\"framer-v-1qcuqf3\",oqup_2Ia8:\"framer-v-1qwfk3d\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const PJg4GJv3M=undefined;const stoJgiXQb=undefined;const transition1={delay:0,duration:.15,ease:[.2,0,.8,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const humanReadableVariantMap={Active:\"oqup_2Ia8\",Default:\"dJSil4evJ\"};const Variants=motion.create(React.Fragment);const getProps=({click,height,id,title,width,...props})=>{return{...props,PJg4GJv3M:click??props.PJg4GJv3M,stoJgiXQb:title??props.stoJgiXQb??\"Everything\",variant:humanReadableVariantMap[props.variant]??props.variant??\"dJSil4evJ\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,stoJgiXQb,PJg4GJv3M,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"dJSil4evJ\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1h0uwbl=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(PJg4GJv3M){const res=await PJg4GJv3M(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1qcuqf3\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"dJSil4evJ\",onTap:onTap1h0uwbl,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"var(--token-0e265964-3b5f-4619-8a47-8ae64abaca2e)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,...style},variants:{oqup_2Ia8:{\"--border-color\":\"var(--token-a27a7b7e-d581-4569-8a12-67ce3b228e8b)\"}},...addPropertyOverrides({oqup_2Ia8:{\"data-framer-name\":\"Active\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7QXJjaGl2by1yZWd1bGFy\",\"--framer-font-family\":'\"Archivo\", \"Archivo Placeholder\", sans-serif',\"--framer-font-size\":\"13.5px\",\"--framer-letter-spacing\":\"-0.15px\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d2ab585a-90d9-4a93-bda7-db30791a3639))\"},children:\"Title\"})}),className:\"framer-1k7wrxj\",fonts:[\"FS;Archivo-regular\"],layoutDependency:layoutDependency,layoutId:\"DibgSP_cR\",style:{\"--extracted-r6o4lv\":\"var(--token-d2ab585a-90d9-4a93-bda7-db30791a3639)\"},text:stoJgiXQb,variants:{oqup_2Ia8:{\"--extracted-r6o4lv\":\"var(--token-ba2f84d9-fafd-4fe1-a077-1160cbaab4a0)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({oqup_2Ia8:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"RlM7QXJjaGl2by1yZWd1bGFy\",\"--framer-font-family\":'\"Archivo\", \"Archivo Placeholder\", sans-serif',\"--framer-font-size\":\"13.5px\",\"--framer-letter-spacing\":\"-0.15px\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-ba2f84d9-fafd-4fe1-a077-1160cbaab4a0))\"},children:\"Title\"})})}},baseVariant,gestureVariant)})})})})});});const css=[\".framer-mfrBO.framer-1l1wis6, .framer-mfrBO .framer-1l1wis6 { display: block; }\",\".framer-mfrBO.framer-1qcuqf3 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; padding: 7px 14px 7px 14px; position: relative; width: min-content; }\",\".framer-mfrBO .framer-1k7wrxj { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",'.framer-mfrBO[data-border=\"true\"]::after, .framer-mfrBO [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"oqup_2Ia8\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"stoJgiXQb\":\"title\",\"PJg4GJv3M\":\"click\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FrameruDxppVYLF=withCSS(Component,css,\"framer-mfrBO\");export default FrameruDxppVYLF;FrameruDxppVYLF.displayName=\"FilterPill\";FrameruDxppVYLF.defaultProps={height:200,width:200};addPropertyControls(FrameruDxppVYLF,{variant:{options:[\"dJSil4evJ\",\"oqup_2Ia8\"],optionTitles:[\"Default\",\"Active\"],title:\"Variant\",type:ControlType.Enum},stoJgiXQb:{defaultValue:\"Everything\",title:\"Title\",type:ControlType.String},onstoJgiXQbChange:{changes:\"stoJgiXQb\",type:ControlType.ChangeHandler},PJg4GJv3M:{title:\"Click\",type:ControlType.EventHandler}});addFonts(FrameruDxppVYLF,[{explicitInter:true,fonts:[{cssFamilyName:\"Archivo\",source:\"fontshare\",style:\"normal\",uiFamilyName:\"Archivo\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/YSKLU24545WP65XCD7ZVOFPD6AKR3JSM/SPF276V6UKGPA6W5ZNFTEWBJXRSQNXCR/7BTLO3ZVFMNDGT63YATXTEALTKTYZUZG.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameruDxppVYLF\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"oqup_2Ia8\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicHeight\":\"200\",\"framerVariables\":\"{\\\"stoJgiXQb\\\":\\\"title\\\",\\\"PJg4GJv3M\\\":\\\"click\\\"}\",\"framerIntrinsicWidth\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./uDxppVYLF.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef}from\"react\";/**\n * TileLoop — silent autoplaying background loop for a project tile.\n * Takes a direct .mp4 URL (Cloudinary). Renders nothing when empty,\n * so the poster underneath shows through.\n *\n * @framerSupportedLayoutWidth any\n * @framerSupportedLayoutHeight any\n * @framerIntrinsicWidth 600\n * @framerIntrinsicHeight 338\n */export default function TileLoop(props){const{url,style}=props;const ref=useRef(null);useEffect(()=>{const v=ref.current;if(!v)return;v.muted=true;v.play().catch(()=>{});},[url]);if(!url)return null;return /*#__PURE__*/_jsx(\"video\",{ref:ref,src:url,autoPlay:true,loop:true,muted:true,playsInline:true,preload:\"metadata\",style:{...style,width:\"100%\",height:\"100%\",objectFit:\"cover\",display:\"block\",pointerEvents:\"none\"}});}TileLoop.defaultProps={url:\"\"};addPropertyControls(TileLoop,{url:{type:ControlType.String,title:\"Loop URL\",placeholder:\"Connect to a CMS field\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"TileLoop\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any\",\"framerIntrinsicHeight\":\"338\",\"framerIntrinsicWidth\":\"600\",\"framerSupportedLayoutHeight\":\"any\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./TileLoop.map"],"mappings":"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"}