{"version":3,"file":"Examples.c4GLGw0F.mjs","names":["React.forwardRef","useState","useRef","useCallback","input"],"sources":["https:/framerusercontent.com/modules/hI8timTlk8Fd762eIxi0/slkoCsyKxQigbCO9Bbjr/ae1wERNQB.js","https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/N14x3qUdWnhnbVBomMAn/n0SwM6PxB324X09KSsfQ/Examples.js"],"sourcesContent":["// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 6.75 6.75 L 0 13.5 Z\" fill-opacity=\"var(--1m6trwb, 0)\" fill=\"var(--21h8s6, rgb(0, 0, 0))\" height=\"13.5px\" id=\"OlkiCjwZW\" transform=\"translate(13.5 5.25)\" width=\"6.75px\"/><path d=\"M 0 0 L 9.75 0\" fill=\"transparent\" height=\"1px\" id=\"nWAnBTbCm\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(3.75 12)\" width=\"9.75px\"/><path d=\"M 0 0 L 6.75 6.75 L 0 13.5 Z\" fill=\"transparent\" height=\"13.5px\" id=\"cdRxwCHPX\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--pgex8v, 1.5)\" stroke=\"var(--21h8s6, rgb(0, 0, 0))\" transform=\"translate(13.5 5.25)\" width=\"6.75px\"/></svg>';const getProps=({alpha,color,height,id,width,width1,...props})=>{return{...props,ezTt3ayMo:color??props.ezTt3ayMo??\"rgb(0, 0, 0)\",lschgej4H:width1??props.lschgej4H??1.5,qxTvv_EBh:alpha??props.qxTvv_EBh};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,ezTt3ayMo,lschgej4H,qxTvv_EBh,...restProps}=getProps(props);const href=useSVGTemplate(\"388653749\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-XkIxc\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1m6trwb\":qxTvv_EBh,\"--21h8s6\":ezTt3ayMo,\"--pgex8v\":lschgej4H,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-XkIxc { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"ezTt3ayMo\":\"color\",\"lschgej4H\":\"width1\",\"qxTvv_EBh\":\"alpha\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Right\",\"color\":{\"type\":\"variable\",\"value\":\"21h8s6\"},\"set\":{\"localId\":\"vectorSet/NGVKdicsm\",\"id\":\"NGVKdicsm\",\"moduleId\":\"omX0gWFPqDwhaiWwf6ab\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-XkIxc\");Icon.displayName=\"Arrow Right\";export default Icon;addPropertyControls(Icon,{ezTt3ayMo:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Color\",type:ControlType.Color},lschgej4H:{defaultValue:1.5,displayStepper:true,hidden:false,max:6,min:0,step:.5,title:\"Width\",type:ControlType.Number},qxTvv_EBh:{defaultValue:0,displayStepper:true,hidden:false,max:1,min:0,step:.1,title:\"Alpha\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerVector\":\"{\\\"name\\\":\\\"Arrow Right\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"21h8s6\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/NGVKdicsm\\\",\\\"id\\\":\\\"NGVKdicsm\\\",\\\"moduleId\\\":\\\"omX0gWFPqDwhaiWwf6ab\\\"}}\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"ezTt3ayMo\\\":\\\"color\\\",\\\"lschgej4H\\\":\\\"width1\\\",\\\"qxTvv_EBh\\\":\\\"alpha\\\"}\",\"framerIntrinsicWidth\":\"24\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"true\",\"framerImmutableVariables\":\"true\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useCallback,useEffect,useRef}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";// Learn more: https://www.framer.com/developers/overrides/\nconst useStore=createStore({background:\"#0099FF\"});export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}export function ShowOtherServiceField(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const wrapperRef=useRef(null);const setRefs=useCallback(node=>{wrapperRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;const wrapper=wrapperRef.current;if(!wrapper)return;const serviceSelect=wrapper.querySelector('select[name=\"Service Needed\"]');const otherServiceField=wrapper.querySelector(\"#other-service-field\");if(!serviceSelect||!otherServiceField)return;const otherServiceInput=otherServiceField.querySelector('input[name=\"Other Service Details\"], textarea[name=\"Other Service Details\"]');const initialDisplay=otherServiceField.style.display;const syncVisibility=()=>{const shouldShow=serviceSelect.value===\"Other (Please Specify)\";otherServiceField.style.display=shouldShow?initialDisplay||\"\":\"none\";otherServiceField.setAttribute(\"aria-hidden\",shouldShow?\"false\":\"true\");if(!shouldShow&&otherServiceInput){otherServiceInput.value=\"\";otherServiceInput.dispatchEvent(new Event(\"input\",{bubbles:true}));otherServiceInput.dispatchEvent(new Event(\"change\",{bubbles:true}));}};syncVisibility();serviceSelect.addEventListener(\"change\",syncVisibility);serviceSelect.addEventListener(\"input\",syncVisibility);return()=>{serviceSelect.removeEventListener(\"change\",syncVisibility);serviceSelect.removeEventListener(\"input\",syncVisibility);otherServiceField.style.display=initialDisplay;otherServiceField.removeAttribute(\"aria-hidden\");};},[]);return /*#__PURE__*/_jsx(Component,{ref:setRefs,...props});});}export function SubmitEstimateToFormspree(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const wrapperRef=useRef(null);const pendingSubmissionRef=useRef(false);const setRefs=useCallback(node=>{wrapperRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;const wrapper=wrapperRef.current;if(!wrapper)return;const form=wrapper instanceof HTMLFormElement?wrapper:wrapper.querySelector(\"form\");if(!form)return;const submitButton=form.querySelector('button[type=\"submit\"], button:not([type]), input[type=\"submit\"]');const servicesNeededOptions=form.querySelector(\"#services-needed-options\");const serviceCheckboxes=servicesNeededOptions?Array.from(servicesNeededOptions.querySelectorAll('input[type=\"checkbox\"]')):[];const otherServiceCheckbox=servicesNeededOptions?.querySelector('input[type=\"checkbox\"][name=\"Other (Please Specify)\"]');const otherServiceField=form.querySelector(\"#other-service-field\");const otherServiceInput=otherServiceField?.querySelector('input[name=\"Other Service Details\"], textarea[name=\"Other Service Details\"]');const mediaLinkInput=form.querySelector('input[name=\"Photo or Video Link\"]');const initialDisplay=otherServiceField?.style.display??\"\";const originalButtonDisabled=submitButton?.disabled??false;const originalButtonAriaBusy=submitButton?.getAttribute(\"aria-busy\")??null;const mediaTrigger=(()=>{if(!mediaLinkInput)return null;const mediaScope=mediaLinkInput.closest(\"label\")??mediaLinkInput.closest(\"div\")??form;const candidates=Array.from(mediaScope.querySelectorAll(\"label, div, span, p, a\"));return candidates.find(candidate=>{const text=candidate.textContent?.trim()??\"\";return/upload photos or videos|sube fotos o videos/i.test(text);})??mediaScope;})();const mediaFileInput=document.createElement(\"input\");mediaFileInput.type=\"file\";mediaFileInput.multiple=true;mediaFileInput.name=\"Media Attachment\";mediaFileInput.accept=\"image/*,video/*,.pdf,.doc,.docx,.txt,.rtf,.xls,.xlsx,.csv\";mediaFileInput.style.display=\"none\";form.appendChild(mediaFileInput);const isSpanishUpload=/sube fotos o videos/i.test(mediaTrigger?.textContent??\"\");const filesFallbackText=isSpanishUpload?\"Ning\\xfan archivo seleccionado\":\"No files selected\";const removeFileText=isSpanishUpload?\"Eliminar\":\"Remove\";const attachmentList=document.createElement(\"div\");attachmentList.style.display=\"flex\";attachmentList.style.flexDirection=\"column\";attachmentList.style.gap=\"4px\";attachmentList.style.marginTop=\"4px\";let queuedMediaFiles=[];const renderAttachmentList=()=>{attachmentList.replaceChildren();if(queuedMediaFiles.length===0){const fallback=document.createElement(\"div\");fallback.textContent=filesFallbackText;fallback.style.fontSize=\"12px\";fallback.style.lineHeight=\"1.3\";fallback.style.opacity=\"0.8\";attachmentList.appendChild(fallback);return;}queuedMediaFiles.forEach((file,index)=>{const row=document.createElement(\"div\");row.style.display=\"flex\";row.style.alignItems=\"center\";row.style.justifyContent=\"space-between\";row.style.gap=\"8px\";row.style.fontSize=\"12px\";row.style.lineHeight=\"1.3\";row.style.opacity=\"0.9\";const fileName=document.createElement(\"span\");fileName.textContent=file.name;fileName.style.overflow=\"hidden\";fileName.style.textOverflow=\"ellipsis\";fileName.style.whiteSpace=\"nowrap\";fileName.style.flex=\"1\";const removeButton=document.createElement(\"button\");removeButton.type=\"button\";removeButton.textContent=removeFileText;removeButton.style.fontSize=\"11px\";removeButton.style.border=\"none\";removeButton.style.background=\"transparent\";removeButton.style.padding=\"0\";removeButton.style.cursor=\"pointer\";removeButton.style.opacity=\"0.8\";removeButton.style.color=\"inherit\";removeButton.addEventListener(\"click\",event=>{event.preventDefault();event.stopPropagation();queuedMediaFiles=queuedMediaFiles.filter((_,queuedIndex)=>queuedIndex!==index);renderAttachmentList();});row.append(fileName,removeButton);attachmentList.appendChild(row);});};if(mediaTrigger){mediaTrigger.style.cursor=\"pointer\";mediaTrigger.appendChild(attachmentList);}renderAttachmentList();let successTimeoutId=0;let successFadeTimeoutId=0;let invalidMessageTimeoutId=0;let spinnerAnimation=null;let isActive=true;let spinnerElement=null;let labelTextNode=null;let labelHostElement=null;let originalLabelText=\"\";let originalLabelOpacity=null;let originalLabelTransition=null;if(submitButton instanceof HTMLButtonElement){const walker=document.createTreeWalker(submitButton,NodeFilter.SHOW_TEXT);let currentNode=walker.nextNode();while(currentNode){const textNode=currentNode;if(textNode.textContent&&textNode.textContent.trim()){labelTextNode=textNode;break;}currentNode=walker.nextNode();}if(labelTextNode){labelHostElement=labelTextNode.parentElement;originalLabelText=labelTextNode.textContent??\"\";}else{labelHostElement=submitButton;originalLabelText=submitButton.textContent??\"\";}}else{originalLabelText=submitButton?.value??\"\";}if(labelHostElement){originalLabelOpacity=labelHostElement.style.opacity||null;originalLabelTransition=labelHostElement.style.transition||null;}const setLabelText=text=>{if(!submitButton)return;if(submitButton instanceof HTMLInputElement){submitButton.value=text;return;}if(labelTextNode){labelTextNode.textContent=text;return;}submitButton.textContent=text;};const removeSpinner=()=>{spinnerAnimation?.cancel();spinnerAnimation=null;if(spinnerElement?.parentNode){spinnerElement.parentNode.removeChild(spinnerElement);}spinnerElement=null;};const restoreLabelVisualState=()=>{if(!labelHostElement)return;labelHostElement.style.opacity=originalLabelOpacity??\"\";labelHostElement.style.transition=originalLabelTransition??\"\";};const restoreButtonState=()=>{if(!submitButton)return;if(successTimeoutId){window.clearTimeout(successTimeoutId);successTimeoutId=0;}if(successFadeTimeoutId){window.clearTimeout(successFadeTimeoutId);successFadeTimeoutId=0;}if(invalidMessageTimeoutId){window.clearTimeout(invalidMessageTimeoutId);invalidMessageTimeoutId=0;}removeSpinner();restoreLabelVisualState();setLabelText(originalLabelText);submitButton.disabled=originalButtonDisabled;if(originalButtonAriaBusy===null){submitButton.removeAttribute(\"aria-busy\");}else{submitButton.setAttribute(\"aria-busy\",originalButtonAriaBusy);}};const setButtonSubmittingState=()=>{if(!submitButton)return;if(invalidMessageTimeoutId){window.clearTimeout(invalidMessageTimeoutId);invalidMessageTimeoutId=0;}removeSpinner();restoreLabelVisualState();submitButton.disabled=true;submitButton.setAttribute(\"aria-busy\",\"true\");setLabelText(\"Submitting\");if(submitButton instanceof HTMLButtonElement){const spinner=document.createElement(\"span\");spinner.setAttribute(\"aria-hidden\",\"true\");spinner.style.display=\"inline-block\";spinner.style.width=\"0.75em\";spinner.style.height=\"0.75em\";spinner.style.border=\"1.5px solid currentColor\";spinner.style.borderTopColor=\"transparent\";spinner.style.borderRadius=\"999px\";spinner.style.marginInlineStart=\"0.4em\";spinner.style.verticalAlign=\"middle\";spinner.style.pointerEvents=\"none\";const spinnerParent=labelHostElement??submitButton;spinnerParent.appendChild(spinner);spinnerElement=spinner;spinnerAnimation=spinner.animate([{transform:\"rotate(0deg)\"},{transform:\"rotate(360deg)\"}],{duration:700,iterations:Infinity,easing:\"linear\"});}};const setButtonSuccessState=()=>{if(!submitButton)return;removeSpinner();restoreLabelVisualState();submitButton.disabled=true;submitButton.setAttribute(\"aria-busy\",\"false\");const successMessage=window.matchMedia(\"(max-width: 1199.98px)\").matches?\"Thank you! We’ll contact you shortly.\":\"Thank you! Your estimate request has been received. We’ll contact you shortly.\";setLabelText(successMessage);};const showInvalidMessage=()=>{if(!submitButton||pendingSubmissionRef.current)return;removeSpinner();restoreLabelVisualState();setLabelText(\"Please complete all required fields.\");if(invalidMessageTimeoutId){window.clearTimeout(invalidMessageTimeoutId);}invalidMessageTimeoutId=window.setTimeout(()=>{if(!isActive||pendingSubmissionRef.current)return;setLabelText(originalLabelText);},2200);};const onMediaTriggerTap=event=>{event.preventDefault();if(pendingSubmissionRef.current)return;mediaFileInput.click();};const onMediaFileChange=()=>{const selectedFiles=Array.from(mediaFileInput.files??[]);if(selectedFiles.length>0){queuedMediaFiles=[...queuedMediaFiles,...selectedFiles];}mediaFileInput.value=\"\";renderAttachmentList();};const syncOtherServiceVisibility=()=>{if(!otherServiceField)return;const shouldShow=Boolean(otherServiceCheckbox?.checked);otherServiceField.style.display=shouldShow?initialDisplay||\"\":\"none\";otherServiceField.setAttribute(\"aria-hidden\",shouldShow?\"false\":\"true\");if(!shouldShow&&otherServiceInput){otherServiceInput.value=\"\";otherServiceInput.dispatchEvent(new Event(\"input\",{bubbles:true}));otherServiceInput.dispatchEvent(new Event(\"change\",{bubbles:true}));}};const onSubmitCapture=async event=>{if(pendingSubmissionRef.current){event.preventDefault();return;}const hasSelectedService=serviceCheckboxes.some(checkbox=>{return checkbox.checked;});if(!hasSelectedService){event.preventDefault();form.reportValidity();showInvalidMessage();return;}if(!form.checkValidity()){event.preventDefault();form.reportValidity();showInvalidMessage();return;}event.preventDefault();pendingSubmissionRef.current=true;setButtonSubmittingState();try{const formData=new FormData(form);formData.delete(\"Media Attachment\");queuedMediaFiles.forEach(file=>{formData.append(\"Media Attachment\",file);});const getServiceName=input=>{const explicitName=input.name?.trim();if(explicitName)return explicitName;const wrappingLabel=input.closest(\"label\");if(wrappingLabel){const labelText=wrappingLabel.textContent?.replace(/\\s+/g,\" \").trim();if(labelText)return labelText;}if(input.id){const linkedLabel=form.querySelector(`label[for=\"${input.id}\"]`);const linkedLabelText=linkedLabel?.textContent?.replace(/\\s+/g,\" \").trim();if(linkedLabelText)return linkedLabelText;}return\"\";};const selectedServiceLabels=serviceCheckboxes.filter(checkbox=>{return checkbox.checked;}).map(checkbox=>{const input=checkbox;return getServiceName(input);}).filter(label=>label.length>0);serviceCheckboxes.forEach(checkbox=>{const input=checkbox;if(input.name){formData.delete(input.name);}});selectedServiceLabels.forEach(label=>{formData.append(\"Service Needed\",`${label} — NEEDED`);});const response=await fetch(\"https://formspree.io/f/mrpzpvvk\",{method:\"POST\",headers:{Accept:\"application/json\"},body:formData});if(!response.ok){if(!isActive)return;restoreButtonState();pendingSubmissionRef.current=false;return;}form.reset();mediaFileInput.value=\"\";queuedMediaFiles=[];renderAttachmentList();syncOtherServiceVisibility();setButtonSuccessState();pendingSubmissionRef.current=false;successTimeoutId=window.setTimeout(()=>{if(!isActive)return;if(labelHostElement){labelHostElement.style.transition=\"opacity 260ms ease\";labelHostElement.style.opacity=\"0\";}successFadeTimeoutId=window.setTimeout(()=>{if(!isActive)return;setLabelText(originalLabelText);restoreLabelVisualState();submitButton.disabled=originalButtonDisabled;if(originalButtonAriaBusy===null){submitButton.removeAttribute(\"aria-busy\");}else{submitButton.setAttribute(\"aria-busy\",originalButtonAriaBusy);}},260);},5e3);return;}catch(_error){// Keep existing form values intact on failure.\nif(!isActive)return;restoreButtonState();pendingSubmissionRef.current=false;}finally{if(isActive&&!successTimeoutId&&!successFadeTimeoutId){pendingSubmissionRef.current=false;}}};syncOtherServiceVisibility();serviceCheckboxes.forEach(checkbox=>{checkbox.addEventListener(\"change\",syncOtherServiceVisibility);checkbox.addEventListener(\"input\",syncOtherServiceVisibility);});mediaTrigger?.addEventListener(\"click\",onMediaTriggerTap);mediaTrigger?.addEventListener(\"touchend\",onMediaTriggerTap);mediaFileInput.addEventListener(\"change\",onMediaFileChange);form.addEventListener(\"submit\",onSubmitCapture,true);return()=>{serviceCheckboxes.forEach(checkbox=>{checkbox.removeEventListener(\"change\",syncOtherServiceVisibility);checkbox.removeEventListener(\"input\",syncOtherServiceVisibility);});mediaTrigger?.removeEventListener(\"click\",onMediaTriggerTap);mediaTrigger?.removeEventListener(\"touchend\",onMediaTriggerTap);mediaFileInput.removeEventListener(\"change\",onMediaFileChange);if(mediaTrigger){mediaTrigger.style.cursor=\"\";}if(attachmentList.parentNode){attachmentList.parentNode.removeChild(attachmentList);}if(mediaFileInput.parentNode){mediaFileInput.parentNode.removeChild(mediaFileInput);}form.removeEventListener(\"submit\",onSubmitCapture,true);isActive=false;restoreButtonState();if(otherServiceField){otherServiceField.style.display=initialDisplay;otherServiceField.removeAttribute(\"aria-hidden\");}};},[]);return /*#__PURE__*/_jsx(Component,{ref:setRefs,...props});});}export function PremiumButtonSheen(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const elementRef=useRef(null);const setRefs=useCallback(node=>{elementRef.current=node;if(typeof ref===\"function\"){ref(node);}else if(ref){ref.current=node;}},[ref]);useEffect(()=>{if(typeof window===\"undefined\")return;const host=elementRef.current;if(!host)return;const existingOverlay=host.querySelector('[data-premium-sheen=\"true\"]');if(existingOverlay)return;const originalPosition=host.style.position;const originalOverflow=host.style.overflow;const computedPosition=window.getComputedStyle(host).position;if(!originalPosition&&computedPosition===\"static\"){host.style.position=\"relative\";}if(!originalOverflow){host.style.overflow=\"hidden\";}const overlay=document.createElement(\"span\");overlay.setAttribute(\"data-premium-sheen\",\"true\");overlay.setAttribute(\"aria-hidden\",\"true\");overlay.style.position=\"absolute\";overlay.style.inset=\"0\";overlay.style.pointerEvents=\"none\";overlay.style.overflow=\"hidden\";overlay.style.borderRadius=\"inherit\";overlay.style.zIndex=\"1\";const sheen=document.createElement(\"span\");sheen.setAttribute(\"aria-hidden\",\"true\");sheen.style.position=\"absolute\";sheen.style.top=\"-30%\";sheen.style.left=\"-42%\";sheen.style.width=\"24%\";sheen.style.height=\"160%\";sheen.style.transform=\"translateX(0) rotate(22deg)\";sheen.style.transformOrigin=\"center\";sheen.style.background=\"linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.2) 50%, rgba(255,255,255,0) 100%)\";sheen.style.filter=\"blur(1.5px)\";sheen.style.opacity=\"0\";sheen.style.willChange=\"transform, opacity\";overlay.appendChild(sheen);host.appendChild(overlay);let intervalId=0;let activeAnimation=null;let hoverAnimation=null;const originalTransform=host.style.transform;const originalTransition=host.style.transition;const runSweep=()=>{activeAnimation?.cancel();sheen.style.opacity=\"0\";activeAnimation=sheen.animate([{transform:\"translateX(0) rotate(22deg)\",opacity:0},{transform:\"translateX(360%) rotate(22deg)\",opacity:.32,offset:.5},{transform:\"translateX(520%) rotate(22deg)\",opacity:0}],{duration:820,easing:\"cubic-bezier(0.24, 0.08, 0.18, 1)\",iterations:1});};const getHoverScale=()=>{if(host.id===\"homepage-estimate-primary\"&&window.matchMedia(\"(max-width: 809.98px)\").matches){return 1.04;}return 1.1;};const onMouseEnter=()=>{runSweep();const hoverScale=getHoverScale();hoverAnimation?.cancel();hoverAnimation=host.animate([{transform:\"scale(1)\"},{transform:`scale(${hoverScale})`}],{duration:200,easing:\"cubic-bezier(0.44, 0, 0.56, 1)\",fill:\"forwards\",composite:\"add\"});};const onMouseLeave=()=>{const hoverScale=getHoverScale();hoverAnimation?.cancel();hoverAnimation=host.animate([{transform:`scale(${hoverScale})`},{transform:\"scale(1)\"}],{duration:200,easing:\"cubic-bezier(0.44, 0, 0.56, 1)\",fill:\"forwards\",composite:\"add\"});};host.addEventListener(\"mouseenter\",onMouseEnter);host.addEventListener(\"mouseleave\",onMouseLeave);intervalId=window.setInterval(runSweep,9e3);return()=>{if(intervalId){window.clearInterval(intervalId);}host.removeEventListener(\"mouseenter\",onMouseEnter);host.removeEventListener(\"mouseleave\",onMouseLeave);activeAnimation?.cancel();hoverAnimation?.cancel();if(overlay.parentNode===host){host.removeChild(overlay);}host.style.transform=originalTransform;host.style.transition=originalTransition;host.style.position=originalPosition;host.style.overflow=originalOverflow;};},[]);return /*#__PURE__*/_jsx(Component,{ref:setRefs,...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"PremiumButtonSheen\":{\"type\":\"reactHoc\",\"name\":\"PremiumButtonSheen\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SubmitEstimateToFormspree\":{\"type\":\"reactHoc\",\"name\":\"SubmitEstimateToFormspree\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ShowOtherServiceField\":{\"type\":\"reactHoc\",\"name\":\"ShowOtherServiceField\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Examples.map"],"mappings":"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"}